(chap4 IP协议)IP分割处理
Posted thefist11
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(chap4 IP协议)IP分割处理相关的知识,希望对你有一定的参考价值。
1. 数据链路不同,每种数据链路的最大传输单元(MTU)都不尽相同。
2. IP报文的分片与重组
任何一台主机都有必要对IP分片(IP Fragmentation)进行相应的处理。分片往往在网络上遇到比较大的报文无法一下子发送出去时才会进行处理。
- 经过分片之后的IP数据报在被重组的时候,只能由目标主机进行。
- 路由器虽然做分片但不会进行重组。这样的处理是由诸多方面的因素造成的。例如,现实当中无法保证IP数据报是否经由同一个路径传送。因此,途中即使等待片刻,数据包也有可能无法到达目的地。此外,拆分之后的每个分片也有可能会在途中丢失。
eg. UDP下,4342字节的IP数据报分成3个分片发送(以太网的默认MTU是1500字节,这种分片处理只要路由器认为有必要,会周而复始地进行)
3. 路径MTU发现(Path MTU Discovery)
3.1 场景
-
路由器的处理负荷加重。随着时代的变迁,计算机网络的物理传输速度不断上升。这些高速的链路,对路由器和计算机网络提出了更高的要求。
-
随着对网络安全的要求提高,路由器需要做的其他处理也越来越多,如网络过滤"等。因此,只要允许,是不希望由路由器进行IP数据包的分片处理的。
-
在分片处理中,一旦某个分片丢失,则会造成整个IP数据报作废。为了避免此类问题,TCP的初期设计还曾使用过更小’的分片进行传输。其结果是网路的利用率明显下降。
3.2 定义
指从发送端主机到接收端主机之间不需要分片时最大MTU的大小。即路径中存在的所有数据链路中最小的 MTU。而路径MTU发现从发送主机按照路径MTU的大小将数据报分片后进行发送。
- 进行路径MTU发现,就可以避免在中途的路由器上进行分片处理,也可以在TCP中发送更大的包。
3.3 工作原理
step1. 首先在发送端主机发送IP数据报时将其首部的分片禁止标志位设置为1。根据这个标志位,途中的路由器即使遇到需要分片才能处理的大包,也不会去分片,而是将包丢弃。
step2. 通过一个ICMP的不可达消息将数据链路上MTU的值给发送主机。
step3. 下一次,从发送给同一个目标主机的IP数据报获得ICMP所通知的MTU值以后,将它设置为当前 MTU。发送主机根据这个 MTU对数据报进行分片处理。
step4. 如此反复,直到数据报被发送到目标主机为止没有再收到任何ICMP,就认为最后一次ICMP所通知的 MTU即是一个合适的MTU值。
step5. 当MTU的值比较多时,最少可以缓存约10分钟。在这10分钟内使用刚刚求得的 MTU,但过了这10分钟以后则重新根据链路上的 MTU做一次路径MTU发现。
eg. 在TCP中如果采用路径 MTU发现,IP层则不会再进行分片处理。
以上是关于(chap4 IP协议)IP分割处理的主要内容,如果未能解决你的问题,请参考以下文章