现在的位置: 首页 > 综合 > 正文

TCP分段与IP分片详解

2013年08月03日 ⁄ 综合 ⁄ 共 706字 ⁄ 字号 评论关闭

在很多时候我们都会提到tcp重组和ip碎片重组,那么这个过程到底什么样子的呢?

当我们再考虑网络上的问题时,首先应该想到的是网络的分层结构,我们所说的分段、分片都要放到一次会话中去考虑,

我们知道进程间的通信发生在应用层,但是实际的数据传输确是发生在下面的基层,举个例子如下图:

 

   想要搞清楚分片脑子里就要有这么一个模型图,由图可以看到tcp处于传输层,ip处于网络层。另外我们还需要知道:

  1.IP分片产生的原因是网络层的MTU;TCP分段产生原因是MSS(最大报文段).

  2.IP分片由网络层完成,也在网络层进行重组;TCP分段是在传输层完成,并在传输层进行重组.   //透明性

  3.对于以太网,MSS为1460字节,而MUT往往会大于MSS.

   现在我们以这次会话为例子:

    客户和服务器进行通话,(1)连接建立之后进行tcp数据通信,我们来看一下传输层的处理:

   tcp建立三次握手,在建立握手的过程中产生合适的mss(具体的处理机制参见TCP/IP详解P257),这个mss肯定是<=网络层

   的最大路径MTU,然后tcp数据封装成ip数据包通过网络层发送,当服务器端传输层接收到tcp数据之后进行tcp重组。!!!ip数据包在

  传输过程中是不会发生分片的!!!

  我们得到这样一个结论:tcp数据在通信的时候是不会发生ip分片的

   (2)连接之后进行udp或icmp通信,由于udp数据采用不可靠的通信,所以他会直接把整个udp数据封装成ip数据包传送,如果

   MTU小于ip数据包包长,此时就会发生ip分片。关于ip分片可能会发生多次,因为网络中的MTU存在多个,然后到服务器端的ip层

   进行重组。

抱歉!评论已关闭.