Openstack巨型帧调整实践

  

<强>巨型帧(巨帧)

  

IEEE 802.3以太网标准仅规定支持1500字节的帧MTU,总计1518字节的帧大小。(使用IEEE 802.1 q VLAN/QoS标签时,增加至1522字节)而巨型帧往往采用9000字节的帧MTU、合计9018/9022Byte的帧大小。

  

目前巨型帧尚未成为官方的IEEE 802.3以太网标准的一部分,所以不同硬件厂商的设备支持程度可能不尽相同。

  

使用巨型帧,增大的有效报文长度提升了带宽使用效率的提升(如下图)。与此同时,增长的报文也带来传输时延的增加,时延敏感型数据并不适合使用巨型帧传输。

  

 Openstack巨型帧调整实践“> </p>
  <p> <>强中子中的MTU配置项</强> </p>
  <p> <img src=   

12。自我。physnet_mtus=[]

  

13。

  

14。def get_mtu(自我,physical_network=None):

  

15。返回p_utils.get_deployment_physnet_mtu ()

  

16。

  

17。类FlatTypeDriver (helpers.BaseTypeDriver):

  

18岁。…

  

19。def get_mtu(自我,physical_network):

  

20。超级(FlatTypeDriver,自我).get_mtu seg_mtu=()

  

21。mtu=[]

  

22。如果seg_mtu比;0:

  

23。mtu.append (seg_mtu)

  

24。如果physical_network自我。physnet_mtus:

  

25。mtu.append (int (self.physnet_mtus [physical_network]))

  

26。返回最小(mtu)如果其他mtu 0

  

27。

  

28。类VlanTypeDriver (helpers.SegmentTypeDriver):

  

29……

  

30。def get_mtu(自我,physical_network):

  

31。超级(VlanTypeDriver,自我).get_mtu seg_mtu=()

  

32。mtu=[]

  

33。如果seg_mtu比;0:

  

34。mtu.append (seg_mtu)

  

35。如果physical_network自我。physnet_mtus:

  

36。mtu.append (int (self.physnet_mtus [physical_network]))

  

37。返回最小(mtu)如果其他mtu 0

  

日内瓦、Gre、Vxlan类型网络,则根据global_physnet_mtu与path_mtu中选取最小的可用MTU值,减去各类型报文头部开销,获取实际可用MTU值。

Openstack巨型帧调整实践