日期:2014-05-16  浏览次数:20692 次

新手请教:IP reassembly 和 IP defrag 的区别
这方面我是新手,被这两个概念搞的混的不行,请大家指教

------解决方案--------------------
你把1000个字节拆成10个由100多个字节组成的数据帧,就叫defrag.

你再把刚刚拆成的数据帧组成原来的1000个字节,就叫reassembly.

IP不IP,那是应用场合。

------解决方案--------------------
IP数据包中的组包和分包操作
------解决方案--------------------
UDP要求包小于64K,过长需要拆分,TCP没有限制
------解决方案--------------------
IP reassembly 

assembly 是组合。集合的意思,前面加一个re前缀,是重新,再次的意思,也就是重新组合起来

和 

IP defrag 

fragment 是 段的意思,de前缀是 解,分解的意思,也就是分成一段段,

这两个词语应该是个相对的过程。

你发送报文的时候,由于报文很大,而链路层MAC层又有报文大小的限制,比如 1512字节,那么上层就要把很大的报文分成很多个 1512字节, 这就是 defrag,也就是分解

而这些报文一一到了网络的另一端,那边需要逆着这个过程,将这么多个1512字节的报文组合在一起,形成 发送端上层意欲发送的完整内容, 这个过程就是 reassembly,重新组合起来

在网络栈 也就是 tcp/ip 七层角度看来, 接收端就是将发送端做的事情颠倒过来,发送端分解,接收端就组合,发送端的MAC层将4bit转成5bit,或将8bit转换成10bit到达phy物理层,之后bit流到信号线上,那么接收端的phy物理层就将信号线上的数据,由10bit转换成8bit,由5bit转换成4bit给到MAC层,数据流向上层,

就是 对着干。。