- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IP报头无敌详解.pdf
IP 协议:无连接不可靠网络的数据报协议 Joseph 笔记
IPv4 报头:
报头长度:20-60 字节bytes
白色部分为固定头部部分 (20 bytes),绿色option 选项部分为可选部分。
固定头部大小计算:
4bit + 4bit + 8bit + 16bit +16bit + 3bit + 13bit + 8bit +8bit + 16bit + 32bit(源
IP) + 32bit (目IP) = 160bit = 20byte
所以IP 头必须大于等于20byte,最大为60byte 意味着Option 选项部分取值范围0-40bits
1、VER (版本):用于区分不同IP 版本。如IPv4、IPv5、IPv6,用4bit 表示,IPV4=0100
2、HLEN (头部长度):因为头部长度不固定(Option 可选部分不固定),所以需要标识该分
组的头部长度多少,用4bit 表示,以4byte 为单位,取值范围:5-15,即20-40byte (其
他字段也是类似的计算方式,因为bit 位是不够表示该字段的值)
3、Service type (Type of Service 服务类型:TOS ):用来指定特殊的报文处理方式,又划分为
IP precedenc 和D/T/R 和reserve 保留字段,RFC2474 的ToS 取消了IP precedence 字段而使
用了DSCP,QoS 里有描述,给QoS 用来打标签。TOS 字段历史:
DSCP:区分服务代码点
4 、Total Length (总长度):整个IP 分组的长度,可用总长度减去头部长度获得实际报文数据
的长度,取值范围0-65535byte,链路只允许1500byte,所以一般都需要MTU 分片
5、Identification (ID:标识符):通常与标记字段和分片偏移字段一起用于 IP 报文的分片。
当原始报文大小超过 MTU,那么就必须将原始数据进行分片。每个被分片的报文大小不
得超过 MTU,而这个字段还将在通一原始文件被分片的报文上打上相同的标记,一边接
收设备可以识别出属于同一个报文的分片,“类似于进程号”,有时候电信会用他来识别流
量是否是同一台主机(因为做了PAT 后源ip 都是一样的)
6、Flags (标记):第1 位没有被使用,第2 位D 是不分片位(DF),当DF 位设置为1 时,表
示路由器不能对报文进行分片处理,第 3 位 M 表示还有后继分片(MF),当路由器对报
分进行分片时,除了最后一个分片的MF 位设置为0 外,其他所有分片的MF 位均设置1,
以便接收者直到收到MF 位为0 的分片为止
7、Fragmentation offset (分片偏移):标识某个分片在分组中的位置.
数据为何要分片(MTU):任何一个物理网络都有一个最大的传输单元,物理介质传输的
能力是有限制的,不可能一次可传无限的数据帧。
以太网最大的帧长为1518, IP 报文1500byte + 帧头18byte = 1518byte
注意:Ethernet 以太网跟802.3 以太网有所区别,802.3 是由IEEE 指定的标准,比较复
杂用的比较少,网卡一般两种都支持。
IP 数据包的MTU 值在各种物理线路环境下对应的MTU 取值:(注意:不包含帧头和尾)
8、Time to live (TTL :生存时间):也就是跳数的大小,即数据包能传多少跳
如ping 命令里的TTL,根据操作系统的不同TTL 默认最大取值也会有所不同, linxu 为
TTL=255,win98 为TTL=128,win7 为TTL=64 这都是由应用程序自由决定的。
注意:TTL 并不是一个真正时间值,因为分组的往返所花的时间 (包括线路、路由器处理
的时间),到底要设置TTL 为多少是非常的困难的,所以用跳数来表示,而实际的往返时
间计算保存在ICMP 所封装的数据里。如下图的time=2ms 才是真正的往返时间
最后的接收者是不需要检查该包的TTL 值是否为0,因为没再转发的必要。
注意:该显示的TTL 值是响应方的TTL 值 (响应方发送的响应包的TTL 值,通过中间减跳
后的最终显示在发送者终端上),而不是你自己的TTL 值,所以通
文档评论(0)