IPv4数据报格式

  • IPv4是IP协议的第四个版本(版本1-3和版本5都未曾使用过)
  • IP地址不能反映任何有关主机位置的地理信息
  • 以前还有个逆地址解析协议RAPR(Reverse APR),它的作用是使只知道自己MAC地址的主机能通过RAPR找到其IP地址,而现在的DHCP(Dynamic Host Configuration Protocol)协议已经包含了RARP的功能,所以RARP已淘汰不用了
  • 在Internet中,允许一台主机有两个或两个以上IP地址,这两个IP地址的网络号必然不同。如果一台主机有两个或两个以上IP地址,说明这个主机属于两个或两个以上的逻辑网络。同一时刻一个合法的内网IP地址只能分配给一台主机,否则会引起IP地址冲突

IP数据报的格式

当IP数据报每经过一个路由器,生存时间TTL就减1,并重新计算首部检验和

  • 版本:占4位,IP协议的版本
  • 首部长度:占4位,以4字节为单位,0101就代表5个4字节,即20字节(不使用可选字段)
  • 区分服务:占8位,一般情况不使用这个字段
  • 总长度:占16位,指首部和数据之和的长度,以字节为单位,因此数据报最大长度为65535B。以太帧的最大传送单元为1500B,因此当一个IP数据报封装成帧时,总长度超过了1500B,就要分片(一片就是一个帧的数据部分)(每一片都有首部,并且都是20字节)
  • 标识(identification):占16位,是一个计数器。每产生一个数据报就+1,并赋值给标识字段,但它并不是"序号"(因为IP是无连接服务),同属一个数据报的数据报片用相同的标识,以便最后重装成原来的数据报。(目的主机根据IP首部中的标识、标志、片偏移字段来完成对片的重组)
  • 标志(flag):占3位,目前只有两位有意义。最低位是MF(more fragment),MF=1表示后面还有分片,MF=0表示最后一个分片,中间一位是DF(don't fragment),DF=0时才允许分片
  • 片偏移:占13位,指出较长的分组在分片后,某片在原分组的相对位置(相对于数据报的数据字段的起点),以8个字节为偏移单位,除了最后一个分片外,每个分片的长度一定是8B的整数倍
  • 生存时间(Time To Live,TTL):占8位,是数据报在网络中可通过的路由器数量的最大值(跳数限制),路由器在转发分组前,把TTL减1,若TTL被减为0,则该分组必须丢弃
  • 协议:占8位,指出分组携带的数据部分使用何种协议,即分组数据应上交给哪个协议处理。值为6表示TCP,为17表示UDP,1表示ICMP,89表示OSPF
  • 首部检验和:占16位,只检验分组首部(不是CRC检验码,是反码求和运算),不检验分组数据部分
  • 源地址字段:占4B,标识发送方的IP地址
  • 目的地址字段:占4B,标识接收方的IP地址
  • 选项字段:动态增加IP数据报功能,但实际上很少被使用,因此IPv6的IP数据报的首部长度(指的是基本首部)就做成固定的了
  • 填充:当IP分组首部长度不是4字节整数倍时,用填充字段填充

路由器转发分组的过程

网络利用率并非越高越好。根据排队论,网络利用率增大时,所引起的时延也会迅速增加

转发表里的两种特殊路由

主机路由的子网掩码是255.255.255.255

默认路由的子网掩码是0.0.0.0

相关推荐
猿小路1 天前
抓包工具-Wireshark
网络·测试工具·wireshark
Rabbit_QL1 天前
【网络设置】Docker 自定义网络深度解析:从踩坑到工程实践
网络·docker·容器
浩子智控1 天前
电子产品三防设计
网络·系统安全
我要升天!1 天前
Linux中《网络基础》
linux·运维·网络
安科瑞刘鸿鹏171 天前
工业自动化系统中抗晃电保护的协同控制研究
运维·网络·嵌入式硬件·物联网
ZStack开发者社区1 天前
ZStack Cloud 5.5.0正式发布
运维·服务器·网络
2501_945837431 天前
云服务器的防护体系构建之道
网络·安全
徐*红1 天前
物理层-传输介质:双绞线,同轴电缆,光纤,无线传输介质
网络
yuanmenghao1 天前
CAN系列 — (6) CAN FD 带宽、CPU、中断:工程上是如何一起算的?
网络·驱动开发·单片机·mcu·自动驾驶·信息与通信
纽格立科技1 天前
2025全球DRM数字广播战略实施全景——印尼篇(地缘特征主导下的数字骨干网构建)
网络·科技·音视频·信息与通信·传媒