IPV4报头详细分析

IPV4报头详细分析

分别是IPV4和IPV6的包头结构图
IPV4数据包
1.Version:可以区分IPV4与IPV6法人协议版本号,IPV4是0100,IPV6是0110,大小否是四个字节(半位),而值得注意的是IPV4与IPV6头部除了版本字段位置相同外再无其他是一样的,因此,两个协议不能直接互操作。
2、IHL(Internet header length) :保存IPV4头部中32位字的数量,包括任何选项(options),由于是4位,所以IPV4头部被限制为最多15个32位字,用8位字换算即相当于60字节。如果没有选项(后面会解释)的加入,字段的正常值为5,即20字节。IPV6中不存在这个字段,其头部长度固定为40字节,IPV4的两倍。
3.Type of Service :服务类型字段(TOS)共8位长的字段被分为两个部分,前六位被称为区分服务字段(DS字段),后两位是显示拥塞通知(ECN)字段或指示位,在QS中用到。
4.Total length:IPV4数据报的总长度,通过这个字段和上边说过的IHL字段,我们知道数据报的数据部分从哪里开始,以及它的长度。由于他是一个16位的字段,所以IPV4数据报的最大长度(包括头部)位65535字节,数据报长度等于Total length - IHL
5.Identification : 标识符,大小16位,在三层把流量区分开来,可以类比于动态端口号,与流量一一对应,同一种流量在网络层的标识符就是相同的,用于流量分片。
6.Flags:标记位,大小3位,分为三部分,保留位(reserved bit),分片位(Don’t fragment)为1代表数据未分片,为0则未分片,更多位(more fragment),例如分片数据报共100个,则前99个的MF都等于1,标识后面还有分片数据包,100的MF等于0,标识分片数据包的结束,同时开启排序,但并不一定数据包的排序在整个分片数据报传递后开始,因为数据包的收发可能后发先至。
7.Fragment Offest :分片偏移,大小13位,用来重排序。第一个分片数据报文偏移为0,第二个为第一个数据报文的大小,以此类推,第n个为前n-1个数据报文的大小之和。
8.TTL : Time to Live大小8位,用于设置一个数据报文可经过的路由器的数量上限,可路由的次数,IP数据报文防环的底线,单位为s对应生存跳数,而不是跳数。由于原来路由器性能差的时候常需要1s才能转发数据,故设置了255s作为上限,不符合现在路由器转发数据几十毫秒的时代,IPV6已经改善,改为Hop limit。
9.Protocol : 标识上一层的协议号(0-255)8为大小,用于识别封装的协议是否为一种传输层协议。
10.Header checksum :头部校验(16位)和计算数据帧的完整性,TTL不参与校验,随路由次数一直改变,IPV6删除该字段,由于各层也在校验数据帧的完整性。
11.Source address :源IP(32位)。
12.destination address :目标IP(32位),这里可以发现IPV4数据报的每一行大小都是32位。
13.options :松散路由,严格路由,路由记录,时间戳。
14.Padding:通过可选字段后面添0来补足32位保证options,padding之和为0 32或32的倍数。

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: IPv4报头中的TTL字段用于防止数据包无穷尽地穿过网络。TTL表示生存时间,每经过一个路由器,TTL的值就会减1,当TTL的值为0时,数据包将被丢弃。这样可以防止数据包在网络中无限循环,从而保证网络的正常运行。 ### 回答2: 在IPv4报头中,用于防止数据包无穷尽地穿过网络的字段是“生存时间(TTL)”。TTL的作用是限制数据包在网络中能够传输的最大跳数,从而防止数据包在网络中无限制地循环传输,避免网络拥塞和浪费带宽资源。 每当一个数据包通过一个路由器时,TTL值就会减少1。当TTL值为0时,这个数据包就会被丢弃,并向源主机发送一个“时间超时”(Time Exceeded)的ICMP错误消息。 TTL值在IPv4中使用8位二进制数字来表示,最大可达255。一般情况下,TTL被设置为默认值64,但是在不同的网络环境中,TTL值可能会被设置为不同的数值。 除了用于防止数据包无限穿越网络外,TTL值还可以用于诊断网络故障。通过检查传输过程中不同路由器接收到的TTL值,可以确定数据包所经过的路由器数量,从而排查网络故障和优化网络拓扑结构。 ### 回答3: IPv4报头中的TTL(Time To Live)字段用于防止数据包无穷尽地穿过网络。 当一个IPv4数据包被发送到网络中时,TTL值将会被设置为一个初始值,通常是64。每经过一个路由器,TTL的值就会减少1,这样做的目的是为了防止数据包无限制地在网络中传递。一旦TTL的值降低到0,路由器就会将数据包丢弃,这个操作被称为“TTL Exceeded”(TTL超时)。这样可以确保数据包不会在网络中无限制地循环传递,从而浪费网络带宽资源和网络资源。 TTL是IPv4报头中非常重要的一个字段,它对防止网络拥堵和防止网络拒绝服务攻击等方面都非常有用。同时,TTL字段的设置和有效使用对于一个网络管理员来说也非常重要。在调整网络路由器的参数时,需要根据网络状况、数据包的大小和带宽等因素来合理地设置TTL的初始值和衰减值,以更好地优化网络性能和保障网络安全。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值