论文部分内容阅读
多协议标签交换(Multiprotocol Label Switching,MPLS)技术是一种新兴的IP骨干网技术,最初是由因特网工程任务组(Internet Engineering Task Force,IETF)提出的,其目的主要是为了提高路由器的IP转发效率。MPLS技术在无连接的IP网络中引入了可靠的、面向连接的标签交换机制,将三层IP转发技术和二层快速交换技术有机结合,创造出了适合在IP网络中快速交换数据包的方法,大大缩短了数据包在穿越网络时所产生的时延,符合当前各种新应用对网络的要求。
1.MPLS技术的优点
多协议标签交换(MPLS)用于快速数据包交换和路由的体系,它为网络数据流量提供了目标、路由地址、转发和交换等能力。更特殊的是,它具有管理各种不同形式通信流的机制,MPLS技术广泛应用于大型网络当中,具有以下优点:
(1)在MPLS网络中,路由器根据标签查找标签转发表转发IP数据包,省去了通过软件查找IP路由的繁琐过程,为数据穿越IP网络提供了一种高效方式。
(2)MPLS位于数据链路层和网络层之间,属于2.5层,它不但可以承载在多种数据链路层协议如PPP、ATM、帧中继以及以太网之上,还可以作为承载协议为网络层协议如IPv4、IPv6以及IPX等提供面向连接的服务。
(3)MPLS支持多标签和面向连接,广泛应用于虚拟专用网(VPN)、流量工程(TE)以及服务质量(QoS)等领域。
(4)MPLS具有良好的扩展性,兼容现有的各种主流网络技术,在MPLS网络基础上可以为客户提供各种增值服务。
MPLS作为网络的核心技术已经被大量运用到全国骨干网及各省市的城域网建设中,一些大型的园区网、企业网甚至也将MPLS技术用于组建VPN网络等应用中。比如光波长路由器间交换控制信息和建立光通路所用的协议将逐渐可以与IP层面的MPLS互通。
2.MPLS基本概念
2.1标签(Label)
MPLS标签是一个短而定长、只具有本地意义的标识符,用于唯一标识一个报文所属的转发等价类,一个标签只能代表一个转发等价类。有关转发等价类的定义将在下文中给予定义。
2.2标签交换路由器(Label Switching Router,LSR)
LSR处在MPLS网络的核心,是一台运行MPLS的核心交换机或路由器,其功能包括标签交换(SWAP)和标签分发。
2.3标签边缘路由器(Label Switching Edge Router,LER)
LER处在MPLS网络的边缘,负责与非MPLS网络相连,其功能包括标签压入(PUSH)、标签弹出(POP)和标签分发。
2.4转发等价类(Forwarding Equivalence Class,FEC)
FEC是具备共同特征的数据包,MPLS会按照相同的规则、相同的路径以及相同的待遇进行转发,路由表里的一条路由就是一个FEC,每个FEC拥有唯一的标签,所有属于同一个FEC的IP数据包都拥有相同的标签。
3.MPLS标签的结构、位置与识别
MPLS标签长32个比特,被划分为4个区域,位于数据链路层头部与网络层头部之间,具体包括如下几部分内容如图2所示:
Label:标签字段,占20个比特,范围从0到1048575。0到15是保留标签,不能随意使用,例如0表示显示空标签;3表示隐式空标签;1表示路由器报警标签;14表示OAM报警标签,其他0到15的保留标签功能暂时没有定义。标签字段是标签转发表的关键索引。
Exp:实验用字段,占3个比特,高位比特专用于QoS。
BoS:栈底字段,占1个比特,用于标识该标签是否是栈内的最后一个标签。当BoS字段取值为“1”时,表示该MPLS标签已经是栈内的最后一个标签,紧接其后的是网络层头部;相反的,当BoS字段取值为“0”时,表示该MPLS标签不是栈内的最后一个标签,紧接其后的还有下一层标签。标签栈中的标签数量没有限制,但本文所要讨论的BGP/MPLS VPN的标签数量只有两个。
TTL:生存周期字段,占8个比特,其作用与IP数据包中的TTL字段一样,用于避免数据包长时间逗留在网络中,其取值也来自于IP数据包的TTL字段,标签每经过一次交换,其TTL值就会减1,当TTL值减为0时,数据包将被丢弃。
路由器收到数据包后,需要先对二层头部信息进行解封装,然后进一步判断内部载荷的协议类型,也就是二层里面封装的是IP数据包还是MPLS标签包,从而对它进行正确的处理。为了实现这样的功能,二层协议采用了协议字段来指明其内部所承载的协议。
图 1MPLS标签结构和所处位置
4.MPLS标签转发过程
MPLS标签转发过程如图2所示。图中RTA想要访问RTF,RTA将数据封装在IP数据包里通过E0/0接口发往RTB,目的IP地址是20.1.56.6,RTB收到之后查询FIB表,发现去往20.1.56.0/24的IP数据包需要压上标签303,下一跳指向20.1.23.3,于是IP数据包在RTB从接口E1/0发往下一跳时就转换成了MPLS标签包,当MPLS标签包到达RTC时,RTC此刻不再查询FIB表,而是查询LFIB表,将标签303交换成404,再传递给RTD,RTD同样只查询LFIB表,这时RTD发现出标签成了“Pop tag”,意思是弹出标签,于是MPLS标签包在RTD从接口E3/0发往下一跳时就又经历了一次变换,变回了IP数据包,我们把这种现象叫做倒数第二跳弹出机制(PHP机制),它体现了MPLS的优化思想,当RTE收到IP数据包之后,只需要查一次表就可以實现转发,不需要先查LFIB表,再查FIB表了,因为20.1.56.0/24是RTE的直连路由,而RTE又处在MPLS网络的边缘,查询LFIB表进行标签转发没有任何意义,反而降低了转发效率。最终RTE会把IP数据包交付给RTF。
图 2MPLS标签转发过程
5.总结
随着ASIC技术的发展,路由查找速度已经不是阻碍网络发展的瓶颈。这使得MPLS在提高转发速度方面不再具备明显的优势。
但由于MPLS结合了IP网络强大的三层路由功能和传统二层网络高效的转发机制,在转发平面采用面向连接方式,与现有二层网络转发方式非常相似能够很容易地实现IP与ATM、帧中继等二层网络的无缝融合,并为流量工程 MPLS TE(Traffic Engineering)、MPLS VPN虚拟专用网(Virtual Private Network)和Any transport to MPLS相当于协议转换实现跨层协议的转换等应用提供更好的解决方案。MPLS继承了ATM技术的思想,但又不像ATM那样实现起来非常复杂,同时克服了IP转发的低效率,被誉为是IP技术和ATM技术的完美组合。[科]
1.MPLS技术的优点
多协议标签交换(MPLS)用于快速数据包交换和路由的体系,它为网络数据流量提供了目标、路由地址、转发和交换等能力。更特殊的是,它具有管理各种不同形式通信流的机制,MPLS技术广泛应用于大型网络当中,具有以下优点:
(1)在MPLS网络中,路由器根据标签查找标签转发表转发IP数据包,省去了通过软件查找IP路由的繁琐过程,为数据穿越IP网络提供了一种高效方式。
(2)MPLS位于数据链路层和网络层之间,属于2.5层,它不但可以承载在多种数据链路层协议如PPP、ATM、帧中继以及以太网之上,还可以作为承载协议为网络层协议如IPv4、IPv6以及IPX等提供面向连接的服务。
(3)MPLS支持多标签和面向连接,广泛应用于虚拟专用网(VPN)、流量工程(TE)以及服务质量(QoS)等领域。
(4)MPLS具有良好的扩展性,兼容现有的各种主流网络技术,在MPLS网络基础上可以为客户提供各种增值服务。
MPLS作为网络的核心技术已经被大量运用到全国骨干网及各省市的城域网建设中,一些大型的园区网、企业网甚至也将MPLS技术用于组建VPN网络等应用中。比如光波长路由器间交换控制信息和建立光通路所用的协议将逐渐可以与IP层面的MPLS互通。
2.MPLS基本概念
2.1标签(Label)
MPLS标签是一个短而定长、只具有本地意义的标识符,用于唯一标识一个报文所属的转发等价类,一个标签只能代表一个转发等价类。有关转发等价类的定义将在下文中给予定义。
2.2标签交换路由器(Label Switching Router,LSR)
LSR处在MPLS网络的核心,是一台运行MPLS的核心交换机或路由器,其功能包括标签交换(SWAP)和标签分发。
2.3标签边缘路由器(Label Switching Edge Router,LER)
LER处在MPLS网络的边缘,负责与非MPLS网络相连,其功能包括标签压入(PUSH)、标签弹出(POP)和标签分发。
2.4转发等价类(Forwarding Equivalence Class,FEC)
FEC是具备共同特征的数据包,MPLS会按照相同的规则、相同的路径以及相同的待遇进行转发,路由表里的一条路由就是一个FEC,每个FEC拥有唯一的标签,所有属于同一个FEC的IP数据包都拥有相同的标签。
3.MPLS标签的结构、位置与识别
MPLS标签长32个比特,被划分为4个区域,位于数据链路层头部与网络层头部之间,具体包括如下几部分内容如图2所示:
Label:标签字段,占20个比特,范围从0到1048575。0到15是保留标签,不能随意使用,例如0表示显示空标签;3表示隐式空标签;1表示路由器报警标签;14表示OAM报警标签,其他0到15的保留标签功能暂时没有定义。标签字段是标签转发表的关键索引。
Exp:实验用字段,占3个比特,高位比特专用于QoS。
BoS:栈底字段,占1个比特,用于标识该标签是否是栈内的最后一个标签。当BoS字段取值为“1”时,表示该MPLS标签已经是栈内的最后一个标签,紧接其后的是网络层头部;相反的,当BoS字段取值为“0”时,表示该MPLS标签不是栈内的最后一个标签,紧接其后的还有下一层标签。标签栈中的标签数量没有限制,但本文所要讨论的BGP/MPLS VPN的标签数量只有两个。
TTL:生存周期字段,占8个比特,其作用与IP数据包中的TTL字段一样,用于避免数据包长时间逗留在网络中,其取值也来自于IP数据包的TTL字段,标签每经过一次交换,其TTL值就会减1,当TTL值减为0时,数据包将被丢弃。
路由器收到数据包后,需要先对二层头部信息进行解封装,然后进一步判断内部载荷的协议类型,也就是二层里面封装的是IP数据包还是MPLS标签包,从而对它进行正确的处理。为了实现这样的功能,二层协议采用了协议字段来指明其内部所承载的协议。
图 1MPLS标签结构和所处位置
4.MPLS标签转发过程
MPLS标签转发过程如图2所示。图中RTA想要访问RTF,RTA将数据封装在IP数据包里通过E0/0接口发往RTB,目的IP地址是20.1.56.6,RTB收到之后查询FIB表,发现去往20.1.56.0/24的IP数据包需要压上标签303,下一跳指向20.1.23.3,于是IP数据包在RTB从接口E1/0发往下一跳时就转换成了MPLS标签包,当MPLS标签包到达RTC时,RTC此刻不再查询FIB表,而是查询LFIB表,将标签303交换成404,再传递给RTD,RTD同样只查询LFIB表,这时RTD发现出标签成了“Pop tag”,意思是弹出标签,于是MPLS标签包在RTD从接口E3/0发往下一跳时就又经历了一次变换,变回了IP数据包,我们把这种现象叫做倒数第二跳弹出机制(PHP机制),它体现了MPLS的优化思想,当RTE收到IP数据包之后,只需要查一次表就可以實现转发,不需要先查LFIB表,再查FIB表了,因为20.1.56.0/24是RTE的直连路由,而RTE又处在MPLS网络的边缘,查询LFIB表进行标签转发没有任何意义,反而降低了转发效率。最终RTE会把IP数据包交付给RTF。
图 2MPLS标签转发过程
5.总结
随着ASIC技术的发展,路由查找速度已经不是阻碍网络发展的瓶颈。这使得MPLS在提高转发速度方面不再具备明显的优势。
但由于MPLS结合了IP网络强大的三层路由功能和传统二层网络高效的转发机制,在转发平面采用面向连接方式,与现有二层网络转发方式非常相似能够很容易地实现IP与ATM、帧中继等二层网络的无缝融合,并为流量工程 MPLS TE(Traffic Engineering)、MPLS VPN虚拟专用网(Virtual Private Network)和Any transport to MPLS相当于协议转换实现跨层协议的转换等应用提供更好的解决方案。MPLS继承了ATM技术的思想,但又不像ATM那样实现起来非常复杂,同时克服了IP转发的低效率,被誉为是IP技术和ATM技术的完美组合。[科]