什么是MTU(Maximum Transmission Unit)?MTU设置为多少合适? |
您所在的位置:网站首页 › 三菱c251最大值到多少 › 什么是MTU(Maximum Transmission Unit)?MTU设置为多少合适? |
文章目录
为什么需要MTU?为什么以太网MTU通常被设置为1500?超过MTU的报文如何进行分片?Jumbo帧与MTUTCP MSS与MTUPath MTU与MTU如何设置MTU
最大传输单元MTU(Maximum Transmission Unit,MTU),是指网络能够传输的最大数据包大小,以字节为单位。MTU的大小决定了发送端一次能够发送报文的最大字节数。如果MTU超过了接收端所能够承受的最大值,或者是超过了发送路径上途经的某台设备所能够承受的最大值,就会造成报文分片甚至丢弃,加重网络传输的负担。如果太小,那实际传送的数据量就会过小,影响传输效率。
为什么需要MTU?
网络中通常以数据包为单位进行信息传递,那么,一次传送多大的包合适、多大的包最高效就成为一个核心问题之一。如果包大小设置的很大,意味着报文中的有效数据也更多,通信效率更高,但传送一个数据包的延迟也越大,数据包中bit位发生错误的概率也越大。并且如果这个报文丢掉了,重传的代价也很大。如果包大小设置的过小,则意味传输相同的数据量,设备需要处理更多的报文,这样会极大的考验设备的线速转发能力。通过设置MTU来调节网络上数据包的大小,让不同的网络找到最适宜的MTU从而提高转发效率,这就是MTU的作用。 MTU是数据链路层的概念,指数据链路层对数据帧长度的限制。不同链路介质类型的网络有不同的默认MTU值,以下是一些常见网络的默认值: RFC标准定义以太网的默认MTU值为1500。那么这1500的取值是怎么来的呢? 早期的以太网使用共享链路的工作方式,为了保证CSMA/CD(载波多路复用/冲突检测)机制,所以规定了以太帧长度最小为64字节,最大为1518字节。最小64字节是为了保证最极端的冲突能被检测到,64字节是能被检测到的最小值;最大不超过1518字节是为了防止过长的帧传输时间过长而占用共享链路太长时间导致其他业务阻塞。所以规定以太网帧大小为64~1518字节,虽然技术不断发展,但协议一直没有更改。 以太网最大的数据帧是1518字节,这样刨去帧头14字节和帧尾CRC校验部分4字节,那么剩下承载上层IP报文的地方最大就只有1500字节,这个值就是以太网的默认MTU值。这个MTU就是网络层协议非常关心的地方,因为网络层协议比如IP协议会根据这个值来决定是否把上层传下来的数据进行分片,如果单个IP报文长度大于MTU,则会在发送出接口前被分片,被切割为小于或等于MTU长度的IP包。 在实际设置MTU值时,需要特别关注各厂商、产品对于MTU的定义。 超过MTU的报文如何进行分片? 以太网缺省MTU=1500字节,这是以太网接口对IP层的约束,如果IP层有1500字节数据需要发送,需要分片才能完成发送。 以主机发送一个数据载荷长度为2000字节的报文为例说明其分片的过程(假设出接口的MTU值为1500)。在网络层会对报文进行封装,其结构组成:IP头部20字节+数据载荷长度2000字节,报文封装后,整个报文长度为2020字节。在出接口进行转发的时候,发现IP报文的长度超过了MTU的值1500,因此要进行分片处理,详情见下图。 以太网经过几十年的发展,速度已经从最初的10M被提升到了上百G,速度提高了上万倍。在这样高速度的传输数据中,如果还是延续经典以太网的最大帧长不超过1518 字节的限制,那么在每秒中传输的数据包的个数将很大。由于每个数据包都需要网络设备来进行处理,由此带来的额外开销也将很大,而且这个开销随着网络速度的提高而愈加明显。 于是一些厂商提出了巨型帧(Jumbo Frame)的概念,把以太网的最大帧长扩展到了9K,相当于增强版的MTU,区别在于: Jumbo帧是在数据链路层进行处理的。MTU涉及的分片通常是在网络层进行。Jumbo帧长包括二层以太帧头及CRC部分。MTU一般不包括这部分,指的是三层IP报文部分的长度。在网络应用中,MTU最大值受限于Jumbo帧的最小值,MTU值至少要比Jumbo帧小18字节加大帧长的好处在于,减少了网络中数据包的个数,减轻了网络设备处理包头的额外开销。大量减少的帧数目也带来了性能的提高。Jumbo帧是一种厂商标准的超长帧格式,目前还没有获得IEEE标准委员会的认可,但是大多数的设备厂商都已经开始支持。 TCP MSS与MTU TCP MSS(Maximum Segment Size)是指TCP协议所允许的从对方收到的最大报文长度,即TCP数据包每次能够传输的最大数据分段,只包含TCP Payload,不包含TCP Header和TCP Option。MSS是TCP用来限制application层最大的发送字节数。为了达到最佳的传输效能,TCP协议在建立连接的时候通常要协商双方的MSS值,这个值TCP协议在实现的时候往往根据MTU值来计算(需要减去IP包头20字节和TCP包头20字节),所以通常MSS为1460=1500(MTU)- 20(IP Header) -20 (TCP Header)。 顾名思义,Path MTU就是指传输路径的MTU,无需分片就能穿过某路径的数据包最大长度。在从发送端到接收端的传输路径上,如果网元的MTU设置不一致,则决定该路径可用MTU的,其实是整条路径上的最小MTU值。以Path MTU作为IP包长发送数据,既高效又能避免分片。
在网络中,由于不同厂商,甚至同一厂商不同型号的设备,对MTU的定义和MTU分片机制不尽相同,常出现MTU引起的网络问题,例如协议对接不成功、部分网站或链接打不开、游戏卡顿等。因此对MTU进行合理的规格、部署至关重要。 其最基本的原则:对接的两个三层设备以太网接口MTU配置需要保持一致。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |