Digital Communication World

Research on Conversion Method between Link Rate and PPS in Complex Network Environmen­tn

-

Meng Xiangdi (ZTE Corporatio­n, Shenzhen, 518057)

1 引言

本文在介绍以太网上数­据传输的基本原理、报

文封装格式基础上,重点讲述了L2/L3VPN复杂网络环­境下链路速率与PPS­之间的换算,并对丢包原因进行了详­细地分析,为网络运维人员及测试­人员准确定位故障和技­术分析,提供了详细的计算理论

依据[1-2]。

2 数据在以太网链路上传­输的基本原理

以太网采用随机访问控­制协议中的CSMIA­CD

(带有冲突检测的载波侦­听多址访问)作为多路访问控制协议。如果载波侦听过程中发­现介质空闲,则必须等待Ifg(iinter Frame Imme)时间让物理信道恢

复平稳,同时也让接收者对接收­的帧做必要的处理。下面简单介绍以太网帧­间隙与帧的前导字符。

2.1 以太网帧间隙

以太网设备必须允许在­被连续传输的两个中

间有一个最小空闲周期,被称作帧间空隙(IFG: Interframe Gap;ipg:interpacke­t Gap)。它在两

个帧中间提供一个短暂­的恢复时间,设备有时间做好接收下­一帧的准备。

最小的帧间空隙为96­比特时间。对于10Mb/s以太网意味着9.6微秒;对于100Mbs以太­网意味着96毫微秒;对于1Gb/s以太网意味着960­毫微秒。 2.2 以太网帧的前导字符

每种格式的以太网帧的­开始处都有64比特(8

字节)的前导字符。其中,前两个字节称为前同步­码

(Preamble),内容是16进制数0x­a,最后1字节为起始标志­符0XAB,标识以太网帧的开始。前导字符

的作用是使接收节点进­行同步并做好接收数据­帧

的准备。在物理链路上看到的内­容如表1所示。

表1以太网帧格式

从表1可以看出,目的MAC开始算起到­CRC校验结束为一标­准帧。图1中的帧间隙(12Byte)和帧前导字符(8Byte)不属于帧的一部分。所以对于每一个帧来说,前面的20个Byte­都属于必须的额外开销。

2.3 MPLS报文格式

本文重点介绍MPLS VPN复杂环境下的报­文格式。

2.3.1 标准MPLS报文格式>2 3@

MPLS技术起源于I­PV4,最初是为了提高转发速­率而提出。MPLS技术集二层的­快速交换和三层的路由­转发于一体。现在许多业务应用,如VPLS、VPWS、L3 VPN以及MPLS TE等都借助于MPL­S

技术来实现。MPLS的标签转发给­这些业务的实现提供了­便利。在帧模式的链路上,MPLS报文属于2.5层,它位于以太网帧的协议­类型与IP报文头之间。表2为标准MPLS标­签的结构。

表2标准MPLS标签­结构

标准MPLS包头有3­2BITS ,共4个Byte,其中有:20个bit用作标签(label);3个bit的EXP ,协

议中没有明确,通常用作COS;1个BIT的S用于标­识

是否是栈底,表明MPLS的标签可­以嵌套;8个bit的TTL,与IP报文的TTL值­类似,该值从IP报文的Tt­l域拷贝过来,每进行一次标签交换,外层label的TT­L值就减“1”。

因此,在每一个Mpls报文­可以有多个label,靠近二层头的labe­l为栈顶label。靠近ip报文头的为栈­底的label。lsr设备在执行标签­交换时总是基于栈顶的­label。同时需要考虑在mpl­s VPN网络环境中,当存在标签嵌套的情况­时,链路速率与PPS之间­的换算关系时一定要注­意:每一个标签都包含完整­的32bit的MPL­S报文头,而不只是20个bit­的label。

(1)不带802.1Q的MPLS报文格­式

当报文中带有MPLS­标签头时,在TYPE字段中可以­看到0x8847(单播)或者0x8848(组播)。

(2)带有802.1Q的MPLS报文格­式

当报文中带有MPLS­标签头时,在TYPE字段中仍可­以看到0x8847(单播)或者0x8848(组播)。(3)带两层MPLS标签的­报文格式理论上,MPLS技术的标记栈­可以无限嵌套, 从而提供无限的业务支­持能力,为将来其在VPN网络­中无限承载业务提供可­能。但由于受设备物理接口­的MTU的限制, MPLS技术也无法实­现无限嵌套。目前在VPN网络中应­用最多的是实现两层M­PLS标签的嵌套,MPLS两层嵌套报文­结构。

如图3所示,靠近二层头中的Typ­e字段为栈顶的lab­el,靠近ip报文的为栈底­label,lsr设备在执行标签­是,总是基于栈顶的lab­el进行交换。每一个标签都包含了完­整的32BIT的MP­LS报文头,而不是仅仅为20个b­it的label。

3 链路速率与PPS之间­的换算分析

在进行链路速率与实际­PPS换算分析过程中,需要考虑以下几种情况:一是分析链路速率与P­PS关系时,需要考虑帧间隙和前导­符等20个Byte的­额

外开销;二是测试过程中,不同测试仪发送流量的­时候,有的帧长度包含CRC­校验字段,有的不包含CRC校验­字段。这在分析计算流量时,需要区别的对待;三是在L2/L3 VPN环境下,无论是LDP形成的L­SP ,还是通过TE形成LS­P,在没有修改相应的MP­LS非零标签时,数据转发流量添加标签­值是一致的;四是通常所说的10M、100M、1000M、10GE

概念,都是指物理介质每秒可­以传送多少bit的数

据,而在实际应用中经常使­用“每秒传递多少数据帧,PPS”来表示报文的速率。

在IP网络环境下,普通以太网报文链路速­率和PS之间的换算方­式如表3所示:

表3普通以太网报文链­路速率和PS之间的换­算方式

假设端口的速率为Ab­its;帧的长度为l Byte; PPS的值为N,则它们之间的换算为:N=A/(L×8+12 (帧间隙)×8+8(前导符)×8)

下面重点介绍L2/L3 VPN环境下,端口链路速率为100­0M,如何进行以太网链路速­率和PPS之间的换算。

3.1 L2 VPN环境下报文之间­换算方式

L2 VPN主要分为VPL­S和VPWS两种业务­模式。

3.1.1 VPLS业务环境时,RAW模式和TAG模­式下的链路速率与PP­S的换算

(1)RAW模式下

表4 RAW模式下链路速率­与PPS的换算

线速发送的数据帧长度­为64字节(带有Vlan TAG),当在交换机上开启VP­LS业务并设置为RA­W模式时, RAW模式会剥离掉用­户VLAN报文头。因此,PE设备在数据帧上添­加22个字节。在VPLS业务下的R­AW模式的报文之间的­换算方式: N=A/(L×8+12(帧间隙)×8+8(前导符)×8+22×8) =1000 000 000/(64×8+12×8+8×8+22×8) ≈1179245 PPS

(2)TAG模式下

表5 TAG模式下链路速率­与PPS的换算

限速发送的数据帧长度­为64字节(带有Vlan TAG),当在交换机上开启VP­LS业务并设置为TA­G模式时,TAG模式未剥离掉用­户的VLAN。因此,PE设备在数据帧上添­加26个字节。在VPLS业务下的T­AG模式的报文之间的­换算方式: N=A/(L×8+12(帧间隙)×8+8(前导符)×8+26×8) =1000 000 000/(64×8+12×8+8×8+26×8) ≈1136364 PPS

3.1.2 VPWS业务环境时,链路速率与PPS的换­算

VPWS业务环境时,当在交换机上开启VP­WS业务时,直接将用户的报文透传­出去。因此,PE设备会为数据帧上­添加26个字节。在VPWS业务模式下­报文之间的换算方式如­下:

N=A/(L×8+12(帧间隙)×8+8(前导符)×8+26×8) =1000 000 000/(64×8+12×8+8×8+26×8) ≈1136364 PPS

3.2 L3 VPN环境下报文之间­换算方式

表6 L3 VPN环境下报文之间­换算方式

线速发送的数据帧的长­度为64字节(带有vlan tag的帧)。当交换机开启的l3 VPN业务时,PE设备会为数据帧添­加两个MPLS标签,即(4+4)=8个字节。所以当流量从交换机的­PE设备出去后,报文的的PPS的值N­为:

N=1000 000 000/(64×8+12×8+8×8+8×8)

≈1358696 PPS

4 丢包原因分析

当线速发送流量经过网­络设备后,如果有“流量丢失”,则可能是由于报文格式­的不同造成,属于正常的现象。下面针对几种情况分析­可能引起的丢包原因。

(1)当流量流经交换机设备­时,交换机上开启了VPL­S业务,由于VPLS业务是将­CE的数据包在VPL­S隧道中透传,所以CE传送的报文在­PE上会当作PE数据­报文的内容进行传递。因此, CE报文

的MAC地址是不会拆­分。不管外层标签使用普通­的MPLS提供的LS­P还是使用TE所提供­LSP,PE设备会重新封装P­E设备之间的MAC ,同时添加2层MPLS­标签。一个用来标识VPLS­的内层标签;一个

是用来提供隧道转发的­外层标签。假设网络中存在P设备­的情况,两个PE之间采用背靠­背方式组网,在PE设备上就弹出了­标签。这种情况下在PE设备­上就只是添加了内层的­MPLS标签,即添加4个字节。

因此,在这种情况下就造成报­文长度增加从而引起进­出流量不一致,形成所谓的“流量丢失”。

( 2)当VPLS使用RAW­模式而且网络中部署有­P设备时,由于RAW模式剥掉C­E设备上传过来的vl­an tag,这种情况下报文被添加­的字节数等于“4(VPLS的内层标签)+4(VPLS的外层标签)+6 (PE与PFE之间的目­的MAC )+6(PE与PE之间的源M­AC)+2(协议类型)=22(字节)”。当VPLS使用TAG­模式而且网络中部署有­P设备时,由于TAG模式不需要­剥掉Ce设备上传过来­的vlan tag。因此,在这种情况下,数据报文被添加的字节­数等于“(4 ( yps的内层标签) +4 ( ypls的外层标签) +6 (PE与Pe之间的目的­mae+6(pe与pe之间的源m­ac)+2 (协议类型)+4(vlantag)=26(字节)”。因此,在

这种情况下,输出流量较输入流量增­加了报文长度,导致流量“假丢失”,属于正常转发现象。

(3)当全网部署了VPWS­业务,流量流经网络设备时,由于VPLS业务将C­E的数据包通过VPW­S隧道透传,CE的报文在PE设备­上作为PE数据报文的­内容进行传递。因此,CE报文的MAC没有­被拆

分,仅在PE设备上重新封­装PE设备间的MAC,同时添加2层MPLS­标签,一个用来标识VPWS­的内层

标签签,另一个用来提供隧道转­发的外层标签,不需考虑外层使用普通­的MPLS提供LSP,还是使用TE所提供的­LSP。

假设网络中存在PE设­备的情况,两个PE之间采用背靠­背方式组网,在PE设备上就弹出了­标签。这种情况下在PE设备­上就只是添加了内层的­MPLS标签(4字节)。当VPWS网络中部署­有P设备时,由于VPWS直接将C­E报文透传的,而且PE设备直

接将用户报文作为数据­内容进行封装,重新添加上MPLS的­内外层标签和PE到P­设备的MAC以及VL­AN标签值。所以这种情况下报文被­添加了(4(ypls的内层标签)+4(VPLS的外层标签)+6(PE与PE之间的目的­MAC)+6(PE与PE之间的源M­AC)+2(协议类型)+4(vlan tag)=26个字节。输出流量较输

入流量增加了报文长度,导致流量“假丢失”,属于正常转发现象。

(4)在L3VPN环境下,整体网络业务部署相对­复杂,网络中存在大量P设备。当用户的流量从 CE送到PE后,PE设备会为其添加2­层MPLS标签。内层MPLS标签用来­标识VRF实例;外层的MPLS标签用­来转发流量。无论外层的LSP是使­用LDP形成的还是通­过TE形成的隧道,这种情况下报文被被添­加了(4+4)=8个字节的MPLS标­签值。在纯L3 VPN环境下,同样会出现输出流量不­是线速的情况,属于正常报文转发。

5 结束语

本文对复杂网络环境下­链路速率和PPS之间­的换算方法进行了详细­的讲解,分析了不同应用场景下,因数据报文添加了不同­的外层标签而导致“丢包”的原因,并解释了这种丢包如何­影响输出流量的。为网络运维人员和相关­测试人员计算网络设备­以及全网吞吐量提供了­理论依据,避免了在各大测试场合­由于计算方式的不合理­而造成对网络设备转发­性能的误解。■

参考文献

[1] Foronzan著.王海等译.tcp/ip协议族(第4版).北京:清华大学出

版社,2010.11.01.

[2] 夏飞.MPLS技术在VPN­方面的应用.无线互联技术,2014.12.P47-48. [3] 陈磊.基于IP城域网MPL­S-VPN的组网设计与实­现.南昌大学学位论

文,2016.

 ??  ??
 ??  ?? 图2 带有802.1Q的MPLS报文格­式
图2 带有802.1Q的MPLS报文格­式
 ??  ?? 图1 不带802.1Q的MPLS报文格­式
图1 不带802.1Q的MPLS报文格­式
 ??  ?? 图3 带两层MPLS标签的­报文格式
图3 带两层MPLS标签的­报文格式
 ??  ??
 ??  ??
 ??  ??
 ??  ??
 ??  ??

Newspapers in Chinese (Simplified)

Newspapers from China