新一代数据中心网络的MTU技术难题

随着目前数据中心、云技术的发展,各种数据中心网络新技术层出不穷,给数据中心带来了新的变革,极大地提升了数据中心的网络处理性能。仔细观察不难发现,这些新的网络技术更多的是一种叠加技术,也就是在原有标准IPv4协议的基础上,再增加一些报文头或者字段,这些新增的报文部分为网络协议带来了更加丰富的含义。比如:隧道技术、VXLAN技术、虚拟化技术、802.1BR技术等等,这些网络技术无一例外的都要在原有标准IPv4协议报文的基础上再增加一些新的报文字段,这样组合的报文将比原来的更长,有些报文的长度超过了网络MTU数值,对网络设备的MTU和最大可接受数据帧都提出了新的要求。此时MTU方面会带来一系列的网络问题。本文就来说一说新的数据中心网络技术中遇到的MTU难题。 

 

MTU(Maximum Transmission Unit)最大传输单元,是指一种通信协议的某一层上面所能通过的最大数据包大小。这个参数通常与通信接口有关。MTU越大,则一个协议数据单元的承载的有效数据就越长,通信效率也越高。MTU越大,传送相同的用户数据所需的数据包个数也越低。但也不是MTU越大越好,因为MTU越大,传送一个数据包的延迟也越大;并且MTU越大,数据包中bit位发生错误的概率也越大。MTU越大,通信效率越高而传输延迟增大,所以要权衡通信效率和传输延迟选择合适的MTU。

 

首先,不同设备处理报文的长度能力是不同的,每个设备的MTU就是其能处理最大长度的报文,如果收到了超过其MTU的报文,那么要么进行分片转发,要么进行丢弃。在一个数据中心网络内部和外部,数据从源访问目的地址要经过很多跳设备。每个设备的MTU能力不同,在进行网络传输时候,数据报文必须要小于任何中间网络设备的MTU数值,否则报文会发生丢弃。在新的数据中心网络技术部署时,经常会遇到互通问题,一般都是因为新网络协议封装需要更多的字节,报文更长,大于了其转发经过设备的MTU。有些设备可以调整MTU,将MTU放大,如果是一些老型号设备,本身可支持的MTU就比较小,这时就会导致流量不同。此时,将给新的网络业务部署带来很大难度,尤其是很多设备在数据中心之外,属于广域网设备,无法进行调整,或者是负责广域网设备的运营商根本不会为某个数据中心去调整其工作的MTU数值,新的数据中心网络业务无法部署下去。

 

其次,数据中心里很多网络设备和服务器支持分片,就是当报文长度超过了设备的MTU时,直接可以对数据报文进行分片,然后将报文小于MTU的长度发送出去,这样可以将MTU设置的小一些,确保新的网络协议报文可以在沿路设备上通过。不过,这样做也有很大的缺点。在网络通讯中,需要尽量避免发生分片和重组,因为分片重组对网络性能影响较大,原来一个报文可以转发出去,现在需要至少两个报文,要增加相同报文头,还有数据帧间隙字节,这些都大大增加了网络开销。网络中应该尽量避免频繁出现这样的情况。数据包发送时选择合适的MTU大小对提高网络性能很有必要。新一代数据中心网络技术增加了数据报文分片的可能性,这在一定程度上降低了网络性能。为了保证网络性能,在新的数据中心网络部署时,增加端口速率,将千兆互联改为万兆互联,将万兆提升到40G或100G,通过增加网络链路带宽,消除分片带来的影响。当然如果整个网络的设备MTU数值都很大,就尽量将MTU设置大,减少分片情况出现。

 

第三,网络传输中的MTU是可以协商的,通过全路径的MTU发现机制,找到整条路径的最小MTU(也就是路径MTU),然后报文发送长度小于等于路径MTU,这就避免了数据传输过程中产生分片,从而提高数据转发性能。这个要求全路径上的设备都支持MTU协商,只要有一台不支持,也无法协商到最小MTU。还有MTU的协议发现机制还存在安全等方面的原因,经常并不能生效,这时候就需要根据网络的特性选择合理的MTU。如果在报文传送过程中分片是不可避免的,那么要想办法让重组尽量在终端进行,避免在转发路径中进行。还有很多网络设备,比如交换机,这些网络设备是通过硬件芯片转发的,并不支持硬件分片,只支持软件分片,即上交换机CPU的报文才能分片,这也给新的网络协议部署带来很大难题。交换机是数据中心网络里必不可少的设备,其不支持分片,那么经过其的所有流量都不能分片,必须要依靠服务器或者路由器设备进行分片,交换机默认允许特别长的报文通过,远大于一般设备的MTU,只是不能分片,这个限制也影响了很多新的网络协议部署。

 

小小的MTU给新的数据中心网络协议部署带来了极大难题,有时甚至找不到任何规避解决办法,除了换更高端的设备,很多时候因为MTU导致新的数据中心网络项目搁浅。在新的数据中心网络建设大潮来临之际,应该确定MTU的配置规范,在各个厂商都支持的情况下,尽量将MTU配置的大一些。为保证骨干网络、城域网络、接入网络的完美工作,MTU的数值一定要远大于以太网标准的基本要求,1500bytes。这个数值在新的网络协议中已经显得过小,很多封装网络协议都大大超过了1500bytes。根据了解,大部分的网络设备可以支持配置到1600bytes,这样可以保证大部分的封装报文通过。MTU问题是在新的数据中心网络技术发展过程中遇到的难题,很多人已经开始意识到了MTU问题的严重性。MTU问题需要运营商、数据中心、企业多方面的重视,并形成统一的使用标准,才能彻底解决MTU的问题。


上一篇:mysql数据库学习(7)--子查询


下一篇:记录EntityFramework增删改产生的SQL语句