IP协议详解

IP首部(IPv4)

在这里插入图片描述

IP首部最小是20个字节,最大是60个字节

第一个4字节

  1. 版本号(Version),4位;用于标识IP协议版本,IPv4是0100,IPv6是0110,也就是二进制的4和6。
  2. 首部长度(Internet Header Length),4位;用于标识首部的长度,单位为4字节(32位),所以首部长度最大值为:(2^4 - 1) * 4 = 60字节,但一般只推荐使用20字节的固定长度。
  3. 服务类型(Type Of Service),8位;用于标识IP包的优先级,但现在并未使用。
  4. 总长度(Total Length),16位;标识IP数据报的总长度,最大为:2^16 -1 = 65535字节。

第二个4字节主要与分片相关

  1. 标识(Identification),16位;用于标识IP数据报,如果因为数据链路层帧数据段长度限制(也就是MTU,支持的最大传输单元),IP数据报需要进行分片发送,则每个分片的IP数据报标识都是一致的。
  2. 标志(Flag),3位,但目前只有2位有意义;最低位为MF,MF=1代表后面还有分片的数据报,MF=0代表当前数据报已是最后的数据报。次低位为DF,DF=1代表不能分片,DF=0代表可以分片。
  3. 片偏移(Fragment Offset),13位;代表某个分片在原始数据中的相对位置。

第三个4字节

  1. 生存时间(TTL),8位;以前代表IP数据报最大的生存时间,现在标识IP数据报可以经过的路由器数。
  2. 协议(Protocol),8位;代表上层传输层协议的类型,1代表ICMP,2代表IGMP,6代表TCP,17代表UDP。
  3. 校验和(Header Checksum),16位;用于验证数据完整性,计算方法为,首先将校验和位置零,然后将每16位二进制反码求和即为校验和,最后写入校验和位置。

第四个4字节

  1. 源IP地址

第五个4字节

  1. 目的IP地址

选项

IPv4最后一个选项字段是可变长的可选信息。这部分最多包含40个字节,因此IP头部最长是60字节(其中还包含前面讨论的20字节的固定部分)。可用的IP选项包括:

  1. 记录路由,告诉数据报途径的所有路由器都将自己的IP地址填入IP头部的选项部分,这样就可以跟踪数据报的传递路径。
  2. 时间戳,告诉每个路由器都将数据报被转发的时间填入IP头部的选项部分,这样就可以测量途径路由之间数据报传输时间。
  3. 松散源路由选择,指定一个路由器IP地址列表,数据报发送过程必须经过其中所有的路由器。
  4. 严格源路由选择,和松散源路由选择类似,不过数据报只能经过被指定的路由器。

IP分片

IP分片的概念

IP分片是网络上传输IP报文的一种技术手段。IP协议在传输数据包时,将数据报文分为若干分片进行传输,并在目标系统中进行重组。这一过程称为分片(fragmentation)。

IP分片的原因

每一种物理网络都会规定链路层数据帧的最大长度,称为链路层MTU。IP协议在传输数据报时,若IP数据报长度大于MTU,则将数据报文分为若干分片进行传输,并在目标系统中进行重组。比如说,在以太网环境中可传输最大IP数据报大小(MTU)为1500字节。如果要传输的数据帧大小超过1500字节,即数据长度大于1472(1500-20-8=1472,普通数据报)字节,则需要分片之后进行传输
在这里插入图片描述

IP分片的具体实现

IP数据报进行分片之后,当它到达目的站时,由目的端的IP层来进行组装。IP分片和完整IP报文差不多拥有相同的IP头。ID域对于每个分片都是一致的,具有同一个ID的IP分片将会重新组装。13位片偏移则记录了某IP片相对整个包的位置。中间的3位标志则标志着该分片后面是否还有新的分片,这三个标志就组成了IP分片的所有信息,接受方就可以利用这些信息对IP数据进行重新组织。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值