APP下载

以太网中PPPoE连线下MTU值对网络性能的影响

2016-12-02梁利君张振荣

大众科技 2016年7期
关键词:网络设备字段字节

梁利君 张振荣

(广西大学计算机与电子信息学院,广西 南宁 530004)

以太网中PPPoE连线下MTU值对网络性能的影响

梁利君 张振荣

(广西大学计算机与电子信息学院,广西 南宁 530004)

电信运营商在BRAS最常用的是PPPoE协议。在网络设备测试中,MTU的值会影响网络性能的测试,在运用PPPoE的Ethernet网络里,MTU是影响性能测试的重要参数,文章通过对Ethernet及PPPoE帧的判断、分析,探讨了以太网中PPPoE情况下MTU值对网络性能的影响。

Ethernet帧;PPPoE;MTU;RFC2544

1 引言

MTU是网络接口上其中一个参数,但是设置不当,将会造成很多网络问题,造成网络卡,严重影响性能,影响客户感知。而运营商常用的是PPPoE方式上网,PPPoE拥有极好的网络管理模式和效率,MTU值的设置导致在PPPoE模式下网络性能降低的矛盾很突出,所以在网络测试中对于家庭网关待测物,需要正确设定MTU对用户感知网络性能是十分重要的。

2 Ethernet及其MTU值

图1 Ethernet_II的帧结构

图1是Ethernet_II的帧结构,以下是对Ethernet_II的帧中各字段的说明:

DMAC:

DMAC(Destination MAC)是目的物理地址。DMAC确切帧的目的地址。

SMAC:

SMAC(Source MAC)是源物理地址。SMAC字段识别发送帧的工作点。

Type:

占用2 byte,该类型字段用于识别数据字段中上层协议,确切说接受者根据该字段解释数据字段。

在以太网中共存多种网络协议,并且在Ethernet II的Type中设置对应的十六进制值,在局域网负责支持多种协议传输。

- Type取值为0x0800的帧表示IP protocol帧。

- Type取值为0x0806的帧表示ARP protocol帧。

- Type取值为0x0835的帧表示RARP protocol帧。

- Type字段取值为0x8137的帧表示IPX和SPX传输协议帧。

如图2,在wireshark中Type字段

图2 wireshark中Type字段

Data:

数据段的最小长度必为46 byte,因而帧长至少为64 byte,即使是传1 byte信息也至需要使用46 byte的数据段。

这也要求了 RFC2544 throughput 测试的最小帧长未 64 byte。

若该字段的信息少于46 byte,该字段的空余部分也要求进行填充。

数据字段的最大长度为1500 byte。

CRC:

CRC(Cyclic Redundancy Check)循环冗余校验字段,主要为错误检测。

一个发送包都包含Address字段、Type字段和Data字段的CRC码,最后将演算出的CRC码填入CRC字段。

Ethernet II类型以太网帧的最小长度为64字节(6+6+2+46+4),最大长度为1518字节(6+6+2+1500+4)。

另外,最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议承载上层数据报文的最大数据报大小(以byte为单位)。即是网络上传送的最大数据包。MTU的单位是byte。 极大多数网络设备的MTU都是1500。若本级设备的MTU比上联设备的MTU大,比较大的数据包会被拆开,因而很多数据包进行分片处理,形成较多碎片,丢包率提升,由于CPU处理更多冗余碎片,从而降低了网络速度。所以得到以下结论,把本级设备的MTU设成比上联网络的MTU小或相同,就可以减少丢包。

3 PPPoE模式中MTU值对throughput的影响

图3 PPPoE Payload报文中含义

如图3 PPPoE Payload报文中含义如下:

VER:长 4 byte。PPPoE版本必须设置为0x01。

Type:长4 byte。PPPoE版本必须设置为0x01。

Code:长8 byte。定义了PPPoE Discovery(0x8863)和PPPoE Session (0x8864)阶段。

Session_ID:长16 byte。是一个网络字节序的无符号值。其值位于 Discovery数据包中定义。对 PPPoE Session(0x8864)阶段来说该值是一个固定值,并与以太网Source_address和Destination_address一起定义了一个PPPoE Session。另外值0xFFFF为将来的使用保留,不允许使用。

Length:长 16byte。该值是PPPoE的Payload长度。不包括以太网头部和PPPoE头部的长度。

Payload:PPPoE的Payload,包含0个或多个Tag。

以太网最大载荷为1500 byte,PPPOE头为6 byte,PPP 协议ID为2 byte ,所以PPP的MTU最大不能超过1492 byte。因而PPPOE的最大接收单元为1492,

PPPOE协议报头为6 byte,和14 byte Ethernet帧头里的4 byte对应。

在PPP Session阶段,PPP包封装在PPPOE以太帧中,以太包里的目的地址一样的,以太协议为0x8864,PPPOE头的 CODE必须为 0,SESSION_ID为发现阶段协商出的SEESION_ID值,PPPOE的负载是整个PPP包,PPP包前是两字节的PPP协议ID值。

数据净荷、TCP头部和IP头部构成PPP净荷,因而加起来不能超过PPPoE的最大尺寸1492字节,PPP、PPPoE和以太网头部不在1 492字节之内,属于额外开销:

1 492 + 2 + 6 + 18 = 1518字节

一个PPPOE会话包如图4:

图4 PPPOE会话报文

注意:由于PPPOE头是6byte,PPP协议ID号两byte,共占8个byte,而以太网的MTU值为1500,所以上层PPP负载数据不超过1492字节,所以PPP协商时协商的最大接收单元值不能超过1492byte,也就是相当于在PPPOE环境下的MTU是1492 byte。

4 RFC2544性能测试

Request For Comments(RFC)是负责收集Internet有关咨询的软件文件组织,大多的Internet标准协议都收录在RFC文件中。RFC英文译文为请求评议,在互联网行业标准中具有举足轻重的地位。

根据RFC2544是RFC组织对于网络连接设备性能评测的国际标准。

RFC2544中主要包含了吞吐量、时延、丢包率、背对背、系统时间、系统复位等不同网络设备的测试参数。其中的吞吐量是衡量网络设备处理数据包性能的最重要的参数。吞吐量的定义是在不丢包的情况下,待测物每秒所能转发的数据包数(最大流量)。

理论上,UDP的报文头最小8byte,TCP包的头开销需要20byte,因而UDP的开销比TCP小。UDP是尽最大努力交付,是面向报文的,不受拥挤控制,因而一般情况下RFC2544的吞吐量用UDP报文进行测试。

RFC2544标准要求在以太网中对一系列64、128、256、768、1024、1280、1518不同帧长的数据包进行转发的性能。如图5要求。

图5 不同网络速率帧的转发量pps

图6 千兆网络的不同帧长的吞吐量

如图5和图6所知,不同网络帧的转发量pps,得知帧长对吞吐量的影响;由于帧的前导符preamble 8byte和间隔IFG 12byte,至少有 20byte固定开销的原因,64byte的帧每秒最大传输1488095帧,千兆以太网最大吞吐量为761.9Mbit/s,待测物处理花费的时间相对较大,反而帧长越大,待测物处理花费的时间相对较小,1518最大传输81274帧,千兆以太网中的吞吐量为986.999Mbit/s,则吞吐量相对64 byte较大。

Ixia公司是一家领先的基于IP基础设施和服务的性能测试系统提供商,可帮助网络设备精准地确定网络容量,验证网络设备性能和客户体验质量(QoE)。Ixia数据流量和网络可视化解决方案帮助实现对运营中网络的智能监测。Ixia公司在国内外具有极高的威望与知名度。

IxNetwork实现IP路由和交换设备及宽带 接入设备的测试。支持业务流量生成及全面的协议 模拟:路由、MPLS、2/3层VPN、承载以太网、宽带接入和数据中心桥接等。

本文测试主要使用了IxNetwork进行RFC2544的测试。

而在本文在RFC2544 throughput 测试中,由于MTU分片以及测试时间的原因,本文只是选择了64,512,1492,1518 四种帧长测试,而待测物及其上联设备的MTU值为以太网的默认值1500。

RFC2544参考里的测试时长建议为120s,测试次数至少为20次。按照此参数设置测试会相对准确。Frame Loss 的值设置为0。

本文测试主要是针对家庭用户网关,在城域网中家庭网关主要采用PPPoE模式上网。在测试之前需要架设好测试环境,保证网络可以ping通,然后进行相关参数的设置。

本文主要研究的PPPoE模式下WAN toLAN的吞吐量测试。在IxNetwork设置初始速率,在每次循环测试中利用二分法,不停上调或下调初始速率,寻找不丢包的情况下的最大吞吐量。

下图是用 IXIA 测试在 PPPoE模式下的 RFC 2544 throughput 吞吐量的测试结果,下图是上行和下行不同封包大小的吞吐量测试。

图7 PPPoE模式不同帧长的下行吞吐量

图8 PPPoE模式不同帧长的上行吞吐量

根据图7和图8的测试结果,显然得出在以太网中,下行速率随着帧长逐步增加,然而在 1492byte可以达到 976 Mbit/s,在 1518byte急剧下降为 83Mbit/s,同样上行速率也是随着帧长逐步递增,在1492byte达到978 Mbit/s ,而在1518 byte只有118 Mbit/s,都是由于MTU分片原理造成的。

PPPOE环境下的最佳MTU是1492 byte,由于PPP模式下PPP包头报文造成,如果设置1518byte过大的封包,网络会自动进行造成分片,造成设备CPU 额外的负担,从而影响真实的网络性能测试,影响客户对网络的感知程度。

5 小结

总之,PPPoE是当前城域网中应用最广泛的连线模式,在对城域网络对于家庭网关产品的测试中,要注意上联网络设备支持的 MTU值设置,否则严重影响网络设备的性能测试,无法对网络设备真实原因进行debug。

[1] David C,Plummer, etc. IETF RFC826: Ethernet Address Resolution Protocol:Orconverting network protocol addresses to 48 bit Ethernet address for transmission on Ethernet hardware. [EB/OL].http://www.ietf.org/rfc/rfc826. txt.1982-11.

[2] L.Mamakos, K. Lidl,etc.A Method for Transmitting PPP Over Ethernet (PPPoE)RFC2516-Informational.[EB/OL]. https://datatracker.ietf.org/doc/rfc2516/ .1999-02.

[3] W.Rechard Stevens,范建华.TCP/IP 详解(卷1):协议[M].北京:机械工业出版社, 2003.

[4] S. Bradner, J. McQuaid, etc. IETF RFC826 Benchmarking Methodology for Network Interconnect Devices Status of this Memo.[EB/OL].https://www.ietf.org/rfc/rfc2544.txt.1999-03.

The influence of MTU under the PPPoE mode

Internet Service Provider is most commonly used in BRAS PPPoE protocol. In the network equipment testing, the value of MTU affects the performance of the network, the use of PPPoE Ethernet in the network, MTU is the important parameters that affect performance testing Based on Ethernet and PPPoE frames judgment, analysis, discusses the Ethernet impact on network performance under PPPoE MTU value case.

Ethernet frame; PPPoE; MTU; RFC2544

TP393.03

A

1008-1151(2016)07-0001-03

2016-06-10

梁利君,女,广西大学计算机与电子信息学院硕士研究生,工程师,研究方向为城域网、PON网络、网络性能测试;张振荣,男,广西大学计算机与电子信息学院教授,博士,研究方向为光通信系统。

猜你喜欢

网络设备字段字节
图书馆中文图书编目外包数据质量控制分析
网络设备的安装与调试课程思政整体设计
No.8 字节跳动将推出独立出口电商APP
一种基于C# 的网络设备自动化登录工具的研制
No.10 “字节跳动手机”要来了?
简谈MC7字节码
CNMARC304字段和314字段责任附注方式解析
无正题名文献著录方法评述
基于列车监测网络设备的射频功放模块设计
基于三层交换技术架构数字化校园网络设备的配置与管理