路由器具有报文分片和重组的功能吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了路由器具有报文分片和重组的功能吗相关的知识,希望对你有一定的参考价值。

具有的。
路由器用于连接不同的网络,而每个网络中的能传输的最大包是由两端的路由器协商决定的。所以路由器是具有分片重组的。
再说下交换机,交换机中有个词是Jombo帧,这是指交换机能传输的最大帧, 所以交换机收到的包如果小于这个jombo帧,交换机都会直接转发,而这个打

包到路由器肯定会进行分片再传输。
目前以太网的数据包大小范围为:64-1540字节
目前交换机能支持的最大帧可达9K。
参考技术A

    在IPv4路由器上确实具有报文分片和重组的功能,根据下一跳的MTU会自动分片,到达目的地后由目标主机进行重组;

    在IPv6网络上已经取消了路由器的报文分片和重组的功能,这个功能由源主机来承担,它可以发送MTU探测数据包进行最小MTU探测,然后按照最小MTU发送数据包。

IP分片/TCP分段/正反向代理

重温下TCP/IP,工作第一年基本都在IP层混,IP分片很熟悉,但TCP分段现在想来还真没概念,可能是生疏了。在学习IP报文的时候我们知道,当IP报文大于MTU时,会进行分片,并在接收端进行重组。同样TCP报文段如果过长的话,在发送时也会进行分段,在接收时进行重组。


MTU(最大传输单元)


MTU是链路层中的网络对数据帧的一个限制,以以太网为例,MTU是1500个字节,也可能小于1500。一个IP数据报在以太网中传输,如果它的长度大于该MTU值,就要进行分片传输,使得每片数据报的长度小于MTU。分片传输的IP数据报不一定按序到达,但IP首部中的信息能让这些数据报片按序组装。IP数据报的分片与重组是在网络层进完成的。


MSS(最大分段大小)


MSS是TCP数据包每次能够传输的最大数据分段,TCP报文段的长度大于MSS时,要进行分段传输。TCP协议在建立连接的时候通常要协商双方的MSS值,每一方都有用于通告它期望接收的MSS选项(MSS选项只出现在SYN报文段中,即TCP三次握手的前两次)。MSS的值一般为MTU值减去两个首部大小(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes),所以如果用链路层以太网,MSS的值往往为1460。而Internet上标准的MTU为576,那么如果不设置,则MSS的默认值就为536个字节。很多时候,MSS的值最好取512的倍数。TCP报文段的分段与重组是在运输层完成的。


TCP分段

到了这里有一个问题自然就明了了,TCP分段的原因是MSS,IP分片的原因是MTU,由于一直有MSS<=MTU,很明显,分段后的每一段TCP报文段再加上IP首部后的长度不可能超过MTU,因此也就不需要在网络层进行IP分片了。因此TCP报文段很少会发生IP分片的情况。


UDP分段

再来看UDP数据报,由于UDP数据报不会自己进行分段,因此当长度超过了MTU时,会在网络层进行IP分片。同样,ICMP(在网络层中)同样会出现IP分片情况。


IP数据报分片后,只有第一片带有UDP首部或ICMP首部,其余的分片只有IP头部,到了端点后根据IP头部中的信息再网络层进行重组。而TCP报文段的每个分段中都有TCP首部,到了端点后根据TCP首部的信息在传输层进行重组。IP数据报分片后,只有到达目的地后才进行重组,而不是向其他网络协议,在下一站就要进行重组。


总结


UDP不会分段,就由IP来分;TCP会分段,当然就不用IP来分片。



华丽分割线



代理顾名思义就是相当于中间人这么一个概念。

正向代理 



所以,正向代理就是,我们知道要访问什么服务器,但是我们也知道无法直接访问,需要通过一个代理(中间人)去进行访问。需要配置代理服务器。


反向代理


比如我们想访问百度,可以直接访问,但百度在收到我们的访问请求后,可能根据访问资源的不同,将该请求转发给了不同的服务器进行处理。而我们并不知道该请求是否被转发,且不知道具体转发给谁了。 也就是说反向代理之后对用户来说是不可见的。



温故而知新,可以为师矣


以上是关于路由器具有报文分片和重组的功能吗的主要内容,如果未能解决你的问题,请参考以下文章

(chap4 IP协议)IP分割处理

IP报文为啥要分片和重组

IPv4如何实现IP报文的分片和重组

重组操作

IP报文分段时,为啥必须把头部复制到每个分段上

IP 层收发报文简要剖析3--ip输入报文分片重组