TCP 分段和IP分片对比

来源:互联网 发布:下载站源码 编辑:程序博客网 时间:2024/06/06 16:31

tcp分段和ip分片的对比

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

首先,我们先从分片说起:

很多人分不清楚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层

         进行重组。

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

}转自http://hi.baidu.com/itboy0714/item/ca06efc228b9de40a8ba947c

原创粉丝点击