TCP/IP/ICMP 学习实践

前言windows

在学习TCP分段与IP分片时、心有所感想把以前学习过的知识串联起来。网络

数据分段发生在传输层、分片发生在网络层。ide

相关术语:学习

MTU(Maximum Transmission Unit,MTU),最大传输单元大数据

     以太网和802.3对数据帧的长度都有一个限制,其最大 值分别是1500和1492个字节。链路层的这个特性称做MTU。spa

MSS(Maxitum Segment Size)最大分段大小的缩写,是TCP协议里面的一个概念blog

    MSS就是TCP数据包每次可以传输的最大数据分段。为了达到最佳的传输效能TCP协议在创建链接的时候一般要协商双方的MSS值。
get



1.分段的前提(TCP)it

    传输屋接收到上层传过来的数据若是 大于 > 1500-20-20(字节) 
io

2.分片的前提(IP)

    若是IP层有一个数据要发送,且数据的长度比链路层的 MTU还大,那么IP层就要进行分片(fragmentation),把数据报分红若

    干片,这样每个分片都小于MTU。


咱们知道一般:

   TCP/IP 报头 一般状况下为20字节.而ICMP 报头为8字节.

    请参考以下截图:

    IP报头                                                         

   

 wKiom1j3B6aj9l6-AADntaoNDeo634.png

  

  TCP报头                                                               

   wKioL1j3FXyCBaoKAADH-x7QRZo423.png


  ICMP 报头                                                            


  wKiom1j3DtigiFzTAACLMATkBPw129.png



实例演示:

 实现环境:windows 7

 咱们尝试验证一下 ICMP报文最大=1472字节=1500-20字节(IP报头)-8字节(ICMP报头),是否正确.

 

 命令:ping

 wKioL1j3D2vykxzcAABqHOAG7UQ286.png


 图-1

 wKioL1j3EQqjeLRAAABiPh_8jf0457.png


 图-2

 wKioL1j3EZqiZy9lAAA6KrHt8Mw937.png


  从上面2张图的结果,能够得出一个结果:

 ICMP报文最大=1472字节=1500-20字节(IP报头)-8字节(ICMP报头),是否正确的!

 而从另外一个角度来看若是咱们设定的 -l # 时,当中#>1472是没有意义的,由于数据

 到达网络层后将被进行自动分片、如图-3所示,此处再也不使用-f参数。

 

 图-3

 wKiom1j3E0OyCE6hAABURIXvQc0682.png

相关文章
相关标签/搜索