IP报头无敌详解.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

tangtianbao1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档