Ad Hoc Networks TOPIC THREE <IP Addressing and Internet Protocol>【Personal Notes】

  • 其他资料
  1. 知乎传送门:IP 基础知识全家桶
  2. 距离矢量和链路状态的对比

正文:

Classful IP Address Structure

在这里插入图片描述

在这里插入图片描述

  • network size: A>B>C
  • network number : C>B>A

在这里插入图片描述
IP地址:用来识别network interface的唯一地址

为什么IP地址分配给network interface而不是物理设备:一个物理设备可能有多个network interface(比如router)(识别物理设备的是network point of attachment (NPA) address, or MAC address or data link identifier.)

Private IP addresses

在这里插入图片描述

  • intro net IP address
  • Internet IP address

在这里插入图片描述

Router——connect different network

在这里插入图片描述
在这里插入图片描述

  • 两种路由协议
    1. routable protocol:可路由协议,也被称为路由协议,是那些封装信息和数据到包(比如IP)
    2. routing protocol:路由器会寻找每个packet最佳的路由路径

Internet Protocol(Routable Protocol)

  • 在不同的network中传输信息
    在这里插入图片描述

在这里插入图片描述

  • Two main function:
    1. packet forwarding
    2. 分割PDU

router在network layer增加header时做了什么


IP Datagram Structure

在这里插入图片描述

IHL: Internet header length。表明data起始位置(因为header里有可选内容,header的长度并不固定,所以需要记录length)
Total length:总长度(总长度最大64kb,因为最多记录216bits;最小20bytes)
TTL: 当前datagram的有效时长(现实中的设备时钟可能不同步,所以不使用时间戳而是规定可在不同network中传播的次数)
Protocol:Transport layer中适用哪种协议(TCP【Transmission Control Protocol】/ UDP【User Datagram Protocol】)

在这里插入图片描述


Fragmentation

保证IP datagram 能被所有网络中的network所处理
在这里插入图片描述

  1. ID:所有片段ID要相同
  2. offset
  3. MF:表示当前片段的last unit是否是原数据的尾部(而不是:是否还有片段,因为片段到达顺序不确定),1表示否;0表示是
  4. DF:表示当前数据能否被分段(设置选项1的原因是:可用来检测network最大容量),0表示可以分段;1表示不能

Summary

在这里插入图片描述

IP的特点:

  • 两大功能:发送数据表/ 分割数据表
  • 不受MTU(Maximum Transmission Unit)影响
  • 不能保证服务质量
  • 独立于物理网络:与终端结构(mechanism)无关
  • 是逻辑地址

IP Network Routing

在这里插入图片描述

自治系统(Autonomous System),即AS

根据实现方法分类:

  • source routing:每个节点根据预先选择的节点路径经行跳跃。
  • next-hop routing:每个节点只关心下一个

在计算机网络中,源路由允许数据包的发送者部分或完全指定数据包在网络中的路线。相反,在非源路由协议中,网络中的路由器根据数据包的目的地确定路径。

Default Route

  • end-system:出入经由一个router(该router为默认router)
  • 其他:出入经由不只一个router(此时需配置一个默认router)

Static Routing
在这里插入图片描述
Dynamic Routing

在这里插入图片描述
Convergence

整个网络中的路由器拥有统一的关于网络连接的更新信息
在这里插入图片描述


一. Distance Vector Protocols 距离向量协议

DV Algorithms

特点

  • 让每个路由器通过邻居路由器得知network中的其他节点
  • 获取全部信息后,根据DV Algorithms更新Routing Table,计算通向每个可能目的地的最短路径和下一跳
  • 信息将被广播,耗费时间
  • 难以“收敛”(整个网络中的路由器拥有统一的关于网络连接的更新信息)
  • 难以保留正确信息

在这里插入图片描述
方框:路由器
实线:network
数字:cost(在本图中,跳数不是评判cost的唯一标准,可能还包括电缆长度和带宽)

Routing Table
在这里插入图片描述
Updates
在这里插入图片描述
输入和输出
在这里插入图片描述

Routing Information Protocol (RIP)
  • 通过提供输入参数信息,提供了让网络中路由器发送更新的途径。借此每个路由器生成routing table
  • 是一种 interior gateway protocol (IGP),实现了DV Algorithms
  • 最多15跳 (16代表不可用/ 无限远)(因此适用于小型网络)

format
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

  • 一条信息最大512bytes (entry<dest, cost>)
  • 每个RIP响应最大25条entries(25个相邻节点),大于25需要更多的RIP
  • 当一个初始化的路由器出现,它将向邻居路由器发送request请求RIP信息,计算自己的routing table

UDP:User Datagram Protocol

  • 路由器定期向邻居发送自己包含routing table entries的响应;当收到请求,也会发送响应(即使没到发送周期)
  • 从相邻节点获得信息的途径:定期广播/ 发送请求(事件驱动)
1. 一些周期

在这里插入图片描述
在这里插入图片描述

  • 每隔30s路由器向邻居广播自己的路由表信息
  • 180秒未收到RIP更新:标为无限远
  • 又过了60秒:从routing table中删除
2. routing table 更新

如果收到的更新dest比已有的dest更大:将其标为无限远

3. routing table 结构
  • Destination IP Address(只包含net ID部分,因此不被网络内部的结构改变所影响)
  • Metric (hop count 1-15, 16 unreachable)(cost)
  • Next Hop, Advertising Router – split horizons
  • Timeout (seconds)
    在这里插入图片描述

  • 两种RIP routers
  1. 主动:周期性广播
  2. 被动:不发送更新

4. 存在的问题
场景一

B与C的连接断开,B将C修改为unreachable,在B广播更新前,B收到了A的过时的更新。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

出错原因:发出的更新信息只包含目标和cost
解决办法:Split Horizon 和 hold down


5. 解决办法
  • 减缓错误更新传播速度的方法,促进收敛(仍然无法完全避免成环)
    1. Split Horizon 水平分割:更新信息不包括接收方作为下一跳的条目
    2. Poison Reverse 毒性逆转:推迟unreachable的广播(两个广播周期)
    3. Triggered Updates 触发更新:发生事件时马上更新(不再等待30秒)
    4. Hold-Down Timer:等60秒再修改路由消息
6. Summary of RIP
  • 广播耗能
  • 跳数限制
  • 会成环
  • 只存储一条路径
  • 无安全保障
  • 收敛过慢
  • • Broadcasts (not scalable)
    • Infinity of 16 (not large enough)
    • Routing loops
    • Poor robustness – only one path to a destination is stored
    • Does not use variable length subnet masks - classful
    • Insecure
    • Reliance on fixed metrics to calculate routes
    • Slow convergence – instability when routes change rapidly

subnet masks:RIP不交换子网掩码信息
根据跳数计算距离,限制了route selection mechanism
timer ?


二. Link State Protocols 链路状态协议

在这里插入图片描述

Dijkstra’s Algorithm

在这里插入图片描述

  • Dijksra的算法是一个贪婪算法,时间复杂度是O(VLogV)(使用最小堆)。但是迪杰斯特拉算法在有负权值边的图中不适用,Bellman-Ford适合这样的图。在网络路由中,该算法会被用作距离向量路由算法。

  • Bellman-Ford也比迪杰斯特拉算法更简单和同时也适用于分布式系统。但Bellman-Ford的时间复杂度是O(VE),这要比迪杰斯特拉算法慢。(V为顶点的个数,E为边的个数

例子协议——Open Shortest Path First(OSPF)
  • OSPF所发送的LSAlink state advertisements)只包含link(到邻居的cost)——RIP发送的routing table包含了dest和cost
  • LSA只包含邻居的信息,而不是整个网络的路由信息
  • RIP选择跳数少的OSPF选择代价小的

工作步骤

  1. 结识邻居neighbours(连接到同一个链路的路由器) – discovery mechanism
  2. 邻接(虚拟的点对点连接)(从邻居关系中选出的为了交换路由信息而形成的关系)
  3. 发送LSA到邻接
  4. 在link state database中记录LSA并原封不动转发
  5. 通过将LSA泛洪,所有路由器将构建相同的链路状态数据库
  6. 每个路由器使用SPF算法计算一个无环图(SPF树),描述到每个已知目的地的最短(最低成本)路径
  7. 根据SPF树构建自己的routing table
    两个相邻的路由器通过发报文的形式成为邻居,邻居再相互发送链路状态信息形成邻接,之后各自根据SPF算出路由,放在OSPF路由表
1. OSPF 结构

在这里插入图片描述
LSA包括:

  1. node ID:谁生成的LSA
  2. Sequence number:判断是否首次收到当前LSA
  3. Dijkstra’s shortest path algorithm
  • Destination IP地址的不同导致发送对象类型的不同
2. OSPF 更新
  • LSA只发送一次,拓扑结构变化时才更新
  • OSPF十分“安静”,发送消息的频率更低(30mins)
  • 所有路由器广播完毕后,开始各自SPF
    在这里插入图片描述
3. Hello Messages
  • 周期广播
  • 建立邻接
4. 五种报文
  • Hello 问候:建立并维护邻居关系
  • DBD 数据库描述:发送链路状态头部信息
  • LSR 链路状态请求:把从DBD中找出需要的链路状态头部信息传给邻居,请求完整信息
  • LSU 链路状态更新:将LSR请求的头部信息对应的完整信息发给邻居
  • LSACK 链路状态确认应答:收到LSU报文后确认该报文
5. Scaling
           To be continued

Subnet

  • 定义:将network在内部分割
  • 优点
    1. 提供额外的灵活性,减少拥塞
    2. 使多个物理网络共享net ID
    3. 隐藏复杂性
    4. 对外界隐蔽,相对安全,隐私
子网掩码Subnet Masks
  • 表明了network中是否有subnet
  • 让路由器识别subnet ID
Construct

在这里插入图片描述
对于ABC三种IP的子网掩码:net ID全为1,host ID全为0

其他类型网络的子网掩码:

对外为一整体,所以net ID不变;使用host ID中的一部分作为subnet bits

为什么是2046个而不是2048:保留全1和全0的地址作为特殊用途(255.255.255.255/ 0.0.0.0)
主机号全为 1 指定某个网络下的所有主机,用于广播
主机号全为 0 指定某个网络

如何用IP地址表示整个网络/子网:将host ID部分用0替代

如何应用
  1. 估计subnet数量host数量
  2. 保留掩码bits
  3. 查找网络范围(也就是每个子网的host数量)

在这里插入图片描述


Variable Length Subnet Mask(VLSM)

支持不同大小的子网

情景一:分配子网【20+20+50】

在这里插入图片描述
将subnet No.2再分
在这里插入图片描述
在这里插入图片描述

情景二:已知IP求子网掩码

在这里插入图片描述

  1. 首先通过第一个字节的大小判断属于哪一类(ABC),得到net ID长度
  2. 斜线后的数等于net ID+subnet bits

Layer 2 / Layer 3 Address Usage

网络/子网里没有路由器,packet到达网络/子网后怎么找到目标主机:通过硬件地址(network point of attachment (NPA) address, or MAC address or data link identifier)

MAC Address

由设备制造商分配
在这里插入图片描述


Address Resolution Protocol (ARP)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
ARP请求是广播的;ARP应答是单播

为什么请求要广播:不知道目标IP的MAC;让其他设备记录发送者的IP和MAC,以备不时之需

Reverse Address Resolution Protocol(RARP)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
RARP请求包被广播;RARP应答包被单播


情景一:相同子网通信(通过链路层)

在这里插入图片描述

情景二:不同子网通信

在这里插入图片描述

设备如何知道目标是否在同一subnet下:通过子网掩码,得知subnet ID不同,所以属于不同子网

情景三

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值