4.2 地址解析协议ARP、IP数据报格式、IP层分组转发流程

IP地址与硬件地址
  • IP地址是网络层以上使用的,硬件地址是“数据链路层”和“物理层”使用的。
  • 数据帧在路由器间传送时,IP地址不变,“物理地址”每经过一个路由器都会改变。
地址解析协议ARP
  • ARP解决“同一局域网”上的主机或路由器间的IP地址和硬件地址的映射问题。
  • 每个主机都设有“ARP高速缓存”,存放“IP地址”到“物理地址”的映射表,并动态更新。
  • 获取物理地址:主机A的“ARP进程”在本局域网上广播一个“ARP请求分组”,其中包含A的IP地址和硬件地址,B的IP地址。
    主机B收下请求分组,记录下A的IP地址和物理地址映射,并向A发送“响应分组”,其中包含B的硬件地址。
  • ARP高速缓存中的“映射项目”都有固定的“生存时间”,超时项目会被删除,下次请求时更新,保证反应网络的最新状态。
IP数据报格式
  • 首部的前一部分是“固定长度”20字节,后一部分是长度可变的“可选字段”,最大40字节。
  • 首部长度不是4字节的整倍数时,需要将首部填充为4字节的整倍数。
  • 如果IP数据报长度超过“数据链路层”的MTU值,IP数据报会被分片处理。
  • IP协议规定,Internet中的所有主机和路由器,必须能够接受长度不超过576字节的数据报。
  • 版本:IP协议的版本,通信双方必须一致,目前广泛使用的版本号是IPv4。
  • 首部长度:占4位,单位是32位字,最小值是5(20字节),最大值是15(60字节)。
  • 区分服务:用来获得更好的服务,一般不使用。
  • 总长度:首部和数据长度之和。
  • 标识:每产生一个数据报,计数器加1,赋给标识字段。当数据报被分片时,用来标识同一个数据报。
  • 标志:MF=1表示“还有分片”,MF=0表示“这是数据报分片中最后一个”。DF=1表示“不能分片”。
  • 片偏移:表示较长的分组在分片后,某片在原分组中的相对位置,以8个字节为单位。
  • 生存时间TTL:由发出数据报的源点设置,防止数据报无限制地在网络中“兜圈子”。现在是“跳数限制”,最大值是255,即最多经过255个路由器,每经过一个路由器,数值减1,为0时丢弃。
  • 协议:指出此数据报携带的数据使用何种协议,以使目的主机的IP层知道应将数据部分上交给哪个处理过程。
  • 首部检验和:只检验数据报的首部,不包括数据部分。
    每经过一个路由器,都要重新计算“首部检验和”。因为首部的某些字段(如生存时间、片偏移等)会发生变化。
IP层转发分组的流程
  • 从一个路由器转发到下一个路由器。
  • 路由表中,每个项目最主要的两个信息:(目的网络地址,下一跳地址)。
  • Internet对所有分组转发都是基于“目的主机所在的网络”,但同时允许对特定的目的主机指明一个路由。
  • 默认路由:可以减少“路由表所占空间”和“搜索路由表所用时间”。
  • 转发过程:从数据报首部得到目的IP地址D,网络地址N。
    如果N与此路由器直接相连,则直接交付目的主机(将IP地址转为硬件地址,IP数据报封装成MAC帧,然后发送)。
    否则查路由表,找出下一跳地址。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容