一种利用BGP实现QoS的方法及装置转让专利

申请号 : CN200910250707.7

文献号 : CN101729422A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张宇弟贾欣武

申请人 : 杭州华三通信技术有限公司

摘要 :

本发明公开了一种利用BGP实现QoS的方法,包括以下步骤:入口LER接收所述出口LER发送的BGP路由通告报文,所述BGP路由通告报文携带到达目的IP地址的数据流对应的EXP值;所述入口LER建立所述EXP值与目的IP地址的对应关系表项;入口LER接收数据流后,根据所述数据流的目的IP地址查找所述对应关系表项,确定对应的EXP值,将所述EXP值作为所述数据流的标签。本发明中,在MPLS L3VPN组网中灵活的体现路由通告侧PE的QoS需求进行端到端QoS部署,同时QoS部署的成本和灵活性都明显改善。

权利要求 :

1.一种利用边界网关协议BGP实现服务质量QoS的方法,应用于多协议标签交换MPLS网络中,所述MPLS网络包括出口标签边缘路由器LER和入口LER,其特征在于,所述方法包括以下步骤:所述入口LER接收所述出口LER发送的BGP路由通告报文,所述BGP路由通告报文携带通过MPLS到达目的IP地址的数据流对应的EXP值;

所述入口LER建立所述EXP值与目的IP地址的对应关系表项;

所述入口LER接收数据流后,根据所述数据流的目的IP地址查找所述对应关系表项,确定对应的EXP值,将所述EXP值设置到所述数据流的标签中。

2.如权利要求1所述的方法,其特征在于,所述BGP路由通告报文携带通过MPLS到达目的IP地址的数据流对应的EXP值,具体为:所述出口LER在Update报文的MP_REACH_NLRI属性中的lable字段中设置所述EXP。

3.如权利要求1所述的方法,其特征在于,所述将EXP值设置到所述数据流的标签中,具体包括:所述入口LER将所述EXP值依次设置到MPLS报文头的私网标签和公网标签中,通过MPLS网络向所述出口LER转发。

4.如权利要求3所述的方法,其特征在于,所述将EXP值设置到所述数据流的标签中,之后还包括:所述出口LER接收所述数据流,去除公网标签;

所述出口LER根据所述私网标签确定目的IP地址属于的虚拟私有网VPN;

所述出口LER去除所述私网标签,获得数据流,发送到目的IP地址。

5.如权利要求1所述的方法,其特征在于,还包括:

所述出口LER增加新的目的IP地址,或改变到达目的IP地址的数据流的服务等级时,重新向所述入口LER发送BGP路由通告报文,以更新EXP值与目的IP地址的对应关系表项。

6.一种利用边界网关协议BGP实现服务质量QoS的系统,应用于多协议标签交换MPLS网络中,所述MPLS网络包括出口标签边缘路由器LER和入口LER,其特征在于,所述出口LER,用于向所述入口LER发送的BGP路由通告报文,所述BGP路由通告报文携带通过MPLS到达目的IP地址的数据流对应的EXP值;

所述入口LER,用于接收所述出口LER发送的BGP路由通告报文,建立所述EXP值与目的IP地址的对应关系表项;当接收数据流后,根据所述数据流的目的IP地址查找所述对应关系表项,确定对应的EXP值,将所述EXP值设置到所述数据流的标签中,向所述出口LER转发。

7.一种入口标签边缘路由器LER,应用于多协议标签交换MPLS网络中,所述MPLS网络包括出口标签边缘路由器LER和入口LER,其特征在于,包括:接收模块,用于接收所述出口LER发送的BGP路由通告报文,所述BGP路由通告报文携带通过MPLS到达目的IP地址的数据流对应的EXP值;

建立模块,与所述接收模块连接,用于建立所述EXP值与目的IP地址的对应关系表项;

转发模块,与所述建立模块连接,用于接收数据流后,根据所述数据流的目的IP地址查找所述对应关系表项,确定对应的EXP值,将所述EXP值设置到所述数据流的标签中,向所述出口LER转发。

8.如权利要求7所述的LER,其特征在于,所述转发模块,具体用于将所述EXP值依次设置到MPLS报文头的私网标签和公网标签中,通过MPLS网络向所述出口LER转发。

9.一种出口标签边缘路由器LER,应用于多协议标签交换MPLS网络中,所述MPLS网络包括出口标签边缘路由器LER和入口LER,其特征在于,包括:路由通告发送模块,用于向所述入口LER发送的BGP路由通告报文,所述BGP路由通告报文携带通过MPLS到达目的IP地址的数据流对应的EXP值;

数据转发模块,用于接收所述携带公网标签和私网标签的数据流,去除公网标签;根据所述私网标签确定目的IP地址属于的虚拟私有网VPN;去除所述私网标签,获得原始数据流,发送到目的IP地址。

10.如权利要求9所述的LER,其特征在于,所述路由通告发送模块,具体用于在Up date报文的MP_REACH_NLRI属性中的lable字段中设置所述EXP。

11.如权利要求9所述的LER,其特征在于,所述路由通告发送模块,还用于增加新的目的IP地址,或改变到达目的IP地址的数据流的服务等级时,重新向所述入口LER发送BGP路由通告报文,以更新EXP值与目的IP地址的对应关系表项。

说明书 :

技术领域

本发明涉及通信技术领域,尤其涉及一种利用BGP实现QoS的方法及装置。

背景技术

MPLS(Multiprotocol Label Switching,多协议标签交换)QoS(Quality ofService,服务质量)是部署QoS业务的重要组成部分,在实际的MPLS组网中往往通过差分服务模型来实施QoS。
MPLS QoS与传统IP QoS的区别为:传统的IP QoS根据IP的优先级来判断业务的服务等级,实现差分服务;MPLS QoS则需要根据EXP(Experimental Use,实验使用)值区分不同的数据流,实现差分服务,保证语音、视频数据流的低延时、低丢包率,保证网络的高利用率。
MPLS QoS的功能是根据需要在PE(Provider Edge,服务提供商边缘路由器)上对数据流进行分类,例如,可以将EXP值为1的数据流分为一类,EXP值为2的数据流分为一类,对分类后的数据流进行流量监管和重标记。具体实现为:PE在给报文加Label时,把IP报文携带的IP优先级标记映射到标签的EXP域,由标签携带原来由IP携带的类型信息;在P路由器和PE之间,根据标签的EXP域,进行有差别的调度,如PQ(Priority Queuing,优先级排队)、WFQ(Weighted Fair Queuing,加权公平队列)、CBQ(Class BasedQueueing,基于类的队列)等,即在一条LSP(Label Switching Path,标签交换路径)上为携带标签的数据流提供有差别的QoS。
现有技术中,MPLS EXP域有两种填充方法:第一种是数据流进入MPLS网络转发时,将原报文头中的QoS信息,如IP DSCP(Differentiated ServicesCode Point,差分服务编码要点)、IP precedence(优先级)、802.1P等信息,复制到MPLS报文头中的EXP域;第二种是数据流进入MPLS网络转发时,网络管理员手动配置QoS策略将EXP域改写特定值。
如果网络管理员希望匹配某个FEC(Forwarding Equivalence Class,转发等价类)的数据流在转发时携带指定值,通常采用第二种方法,即在入口LER(Label Edge Router,标签边缘路由器)上配置QoS策略改写EXP值。其中FEC为具有相同特征(例如目的地相同或具有相同服务等级等)的报文,属于相同FEC的报文在MPLS网络中将获得完全相同的处理。
然而,现有技术缺乏部署的灵活性,同时无法解决QoS部署的需求。如图1所示,PE1作为路由发送端(数据流接收端、出口LER),其中,路由发送端是指PE1向PE2和PE3发送到达PE1的路由信息,数据流接收端是指接收来自PE2和PE3的数据流,出口LER是指PE1位于MPLS网络边缘,将来自PE2和PE3的数据流转发到IP网络。如果希望对于ip-prefix1对应的业务能够得到更高的优先服务,需要在私网路由接收侧PE(即入口LER,例如PE2和PE3)上进行手工QoS部署:如果来自CE2或CE3的数据流匹配前缀ip-prefix1,在MPLS头中填写指定的EXP值(对应更高优先服务)。
然而,当接收PE1私网路由通告的PE数量较多时,部署成本明显增加。当PE1对于通告的私网路由对应业务的QoS有变化时,这种变化需要在所有接收侧PE进行修改。可见,现有技术方案部署成本高,灵活性很差。

发明内容

本发明提供了一种利用BGP实现QoS的方法及装置,使特定的MPLSQoS组网部署成本降低,管理和调整灵活性都明显提高。
本发明提供了一种利用边界网关协议BGP实现服务质量QoS的方法,应用于多协议标签交换MPLS网络中,所述MPLS网络包括出口标签边缘路由器LER和入口LER,所述方法包括以下步骤:
所述入口LER接收所述出口LER发送的BGP路由通告报文,所述BGP路由通告报文携带通过MPLS到达目的IP地址的数据流对应的EXP值;
所述入口LER建立所述EXP值与目的IP地址的对应关系表项;
所述入口LER接收数据流后,根据所述数据流的目的IP地址查找所述对应关系表项,确定对应的EXP值,将所述EXP值设置到所述数据流的标签中。
所述BGP路由通告报文携带通过MPLS到达目的IP地址的数据流对应的EXP值,具体为:
所述出口LER在Update报文的MP_REACH_NLRI属性中的lable字段中设置所述EXP。
所述将EXP值设置到所述数据流的标签中,具体包括:
所述入口LER将所述EXP值依次设置到MPLS报文头的私网标签和公网标签中,通过MPLS网络向所述出口LER转发。
所述将EXP值设置到所述数据流的标签中,之后还包括:
所述出口LER接收所述数据流,去除公网标签;
所述出口LER根据所述私网标签确定目的IP地址属于的虚拟私有网VPN;
所述出口LER去除所述私网标签,获得数据流,发送到目的IP地址。
还包括:
所述出口LER增加新的目的IP地址,或改变到达目的IP地址的数据流的服务等级时,重新向所述入口LER发送BGP路由通告报文,以更新EXP值与目的IP地址的对应关系表项。
本发明提供了一种利用边界网关协议BGP实现服务质量QoS的系统,应用于多协议标签交换MPLS网络中,所述MPLS网络包括出口标签边缘路由器LER和入口LER,
所述出口LER,用于向所述入口LER发送的BGP路由通告报文,所述BGP路由通告报文携带通过MPLS到达目的IP地址的数据流对应的EXP值;
所述入口LER,用于接收所述出口LER发送的BGP路由通告报文,建立所述EXP值与目的IP地址的对应关系表项;当接收数据流后,根据所述数据流的目的IP地址查找所述对应关系表项,确定对应的EXP值,将所述EXP值设置到所述数据流的标签中,向所述出口LER转发。
本发明提供了一种入口标签边缘路由器LER,应用于多协议标签交换MPLS网络中,所述MPLS网络包括出口标签边缘路由器LER和入口LER,所述入口LER包括:
接收模块,用于接收所述出口LER发送的BGP路由通告报文,所述BGP路由通告报文携带通过MPLS到达目的IP地址的数据流对应的EXP值;
建立模块,与所述接收模块连接,用于建立所述EXP值与目的IP地址的对应关系表项;
转发模块,与所述建立模块连接,用于接收数据流后,根据所述数据流的目的IP地址查找所述对应关系表项,确定对应的EXP值,将所述EXP值设置到所述数据流的标签中,向所述出口LER转发。
所述转发模块,具体用于将所述EXP值依次设置到MPLS报文头的私网标签和公网标签中,通过MPLS网络向所述出口LER转发。
本发明提供了一种出口标签边缘路由器LER,应用于多协议标签交换MPLS网络中,所述MPLS网络包括出口标签边缘路由器LER和入口LER,出口LER包括:
路由通告发送模块,用于向所述入口LER发送的BGP路由通告报文,所述BGP路由通告报文携带通过MPLS到达目的IP地址的数据流对应的EXP值;
数据转发模块,用于接收所述携带公网标签和私网标签的数据流,去除公网标签;根据所述私网标签确定目的IP地址属于的虚拟私有网VPN;去除所述私网标签,获得原始数据流,发送到目的IP地址。
所述路由通告发送模块,具体用于在Update报文的MP_REACH_NLRI属性中的lable字段中设置所述EXP。
所述路由通告发送模块,还用于增加新的目的IP地址,或改变到达目的IP地址的数据流的服务等级时,重新向所述入口LER发送BGP路由通告报文,以更新EXP值与目的IP地址的对应关系表项。
与现有技术相比,本发明具有以下优点:
本发明中,在MPLS L3VPN组网中灵活的体现路由通告侧PE的QoS需求进行端到端QoS部署,同时QoS部署的成本和灵活性都明显改善。

附图说明

图1是现有技术中MPLS网络结构图;
图2是本发明中一种利用BGP实现服务质量QoS的方法流程图;
图3是本发明中NLRI信息格式示意图;
图4是本发明中一种入口标签边缘路由器LER结构图;
图5是本发明中另一种出口标签边缘路由器LER结构图。

具体实施方式

本发明提出了一种利用边界网关协议BGP实现服务质量QoS的方法,应用于多协议标签交换MPLS网络中,所述MPLS网络包括出口标签边缘路由器LER和入口LER,其中,LER包括但不限于路由器、3层交换机等。所述方法如图2所示,包括以下步骤:
步骤201,所述出口LER向所述入口LER发送BGP路由通告报文,所述BGP路由通告报文携带到达目的IP地址的数据流对应的EXP值;具体为:所述出口LER在Update报文的MP_REACH_NLRI属性中的lable字段中设置所述EXP。
另外,出口LER增加新的固的IP地址,或改变到达目的IP地址的数据流的服务等级时,重新向所述入口LER发送BGP路由通告报文,以更新EXP值与目的IP地址的对应关系表项。
步骤202,所述入口LER接收所述出口LER发送的BGP路由通告报文,从MP_REACH_NLRI属性中的lable字段中获取EXP,建立所述EXP值与目的IP地址的对应关系表项;
步骤203,所述入口LER接收数据流后,根据所述数据流的目的IP地址查找所述对应关系表项,确定对应的EXP值,将所述EXP值设置到所述数据流的标签中,即将所述EXP值依次设置到MPLS报文头的私网标签和公网标签中,通过MPLS网络向所述出口LER转发,在MPLS网络中根据公网标签中的EXP执行对应的转发优先策略。
步骤204,所述出口LER接收所述数据流,去除公网标签;根据所述私网标签确定目的IP地址属于的虚拟私有网VPN;去除所述私网标签,获得数据流,发送到目的IP地址。
下面以MPLS L3VPN(Level 3 virtual private network,三层虚拟私有网络)应用为例说明具体处理流程,仍以图1为例进行说明入口PE在收到私网路由后会记录标签值和EXP的对应关系,当有流量匹配该FEC进入MPLS域转发时就会用对应的MP_REACH_NLRI中的EXP值填写到数据报文的EXP中。例如,PE1针对vpn-instance(vpn实例)VPN1的ip-prefix1需要高优先级服务,在PE1向PE2和PE3通告BGP(Border Gateway Protocol,边界网关协议)路由时,在Update报文的MP_REACH_NLRI属性中的label字段设置EXP为非0值,具体值根据ip-prefix1的优先服务等级确定,假设设置为5。
MPLS L3VPN是服务提供商VPN解决方案中一种基于PE的L3VPN技术,使用BGP在服务提供商骨干网上发布VPN路由,使用MPLS在服务提供商骨干网上转发VPN报文。BGP是通过MP-BGP在进行NLRI(NetworkLayer Reachability Infbrmation,网络层可达信息)信息交换时会附加RD(RouteDistinguisher,路由标识)、标签等各种信息,格式如图3所示,标签为24个bit,与MPLS标签一样,前20bit为具体的标签值,3bit为EXP,1bit为栈底标记;前缀RD为64bit+IP前缀。
PE2和PE3在收到BGP路由EXP为5的标签路由时,在PE2接收到来自CE2或PE3接收到来自CE3的私网数据流时,不进行现有技术中的IP DSCP向标签EXP的复制,而是将通过私网路由协议BGP获得的EXP填写到MPLS报文头的私网标签中,即将MPLS报文头的私网标签中EXP填写为5;然后,将MPLS报文头的私网标签中的EXP值复制到MPLS报文头的公网标签中的EXP中,即MPLS报文头的公网标签中的EXP值来自私网标签,也为5,在整个MPLS域内转发时根据MPLS报文头的公网标签中的EXP值获得对应的服务。即入口LER直接从BGP的MP_REACH_NLRI信息中获得EXP值,不需要手动去一一指定。
其中,在路由发送端PE1的vpnv4视图下:
peer x.x.x.x vpn-instance vpnx ip-prefix ip-prefix 1 exp 5
命令解释:通告peer x.x.x.x指定VPNV4邻居,vpn-instance vpnx指定特定vrf,ip-prefix ip-prefix1指定特定前缀来确定需要优先处理的路由前缀。
在路由接收端PE2或PE3侧可通过如下参考命令实现。
VPNV4视图下:
Label-exp enable
命令解释:使能从BGP MP_REACH_NLRI中获取的EXP的特性
上例为MPLS L3VPN中利用BGP实现MPLS QoS的方法,在VPLS、Kompella方式的L2VPN、6PE(IPv6 Provider Edge,IPv6供应商边缘)中与此类似,完全可以利用本发明中的方法和思路,出口LER在为对应FEC分发标签时标识具体的EXP值,供入口LER在转发对应流量时利用,进而实现灵活的MPLS QoS部署。其中,6PE是IPv6过渡技术的一种应用,在现有IPv4网络中利用MPLS隧道技术为不同地方被分割的IPv6网络提供连通服务。
本发明提供了一种利用边界网关协议BGP实现服务质量QoS的系统,应用于多协议标签交换MPLS网络中,所述MPLS网络包括出口标签边缘路由器LER和入口LER,
所述出口LER,用于向所述入口LER发送的BGP路由通告报文,所述BGP路由通告报文携带通过MPLS到达目的IP地址的数据流对应的EXP值;
所述入口LER,用于接收所述出口LER发送的BGP路由通告报文,建立所述EXP值与目的IP地址的对应关系表项;当接收数据流后,根据所述数据流的目的IP地址查找所述对应关系表项,确定对应的EXP值,将所述EXP值设置到所述数据流的标签中,向所述出口LER转发。
本发明提供了一种入口标签边缘路由器LER,应用于多协议标签交换MPLS网络中,所述MPLS网络包括出口标签边缘路由器LER和入口LER,所述入口LER如图4所示,包括:
接收模块410,用于接收所述出口LER发送的BGP路由通告报文,所述BGP路由通告报文携带通过MPLS到达目的IP地址的数据流对应的EXP值;
建立模块420,与接收模块420连接,用于建立所述EXP值与目的IP地址的对应关系表项;
转发模块430,与建立模块420连接,用于接收数据流后,根据所述数据流的目的IP地址查找所述对应关系表项,确定对应的EXP值,将所述EXP值设置到所述数据流的标签中,向所述出口LER转发。
转发模块430,具体用于将所述EXP值依次设置到MPLS报文头的私网标签和公网标签中,通过MPLS网络向所述出口LER转发。
本发明提供了一种出口标签边缘路由器LER,应用于多协议标签交换MPLS网络中,所述MPLS网络包括出口标签边缘路由器LER和入口LER,出口LER如图5所示,包括:
路由通告发送模块510,用于向所述入口LER发送的BGP路由通告报文,所述BGP路由通告报文携带通过MPLS到达目的IP地址的数据流对应的EXP值;
数据转发模块520,用于接收所述携带公网标签和私网标签的数据流,去除公网标签;根据所述私网标签确定目的IP地址属于的虚拟私有网VPN;去除所述私网标签,获得原始数据流,发送到目的IP地址。
路由通告发送模块510,具体用于在Update报文的MP_REACH_NLRI属性中的lable字段中设置所述EXP。
路由通告发送模块510,还用于增加新的目的IP地址,或改变到达目的IP地址的数据流的服务等级时,重新向所述入口LER发送BGP路由通告报文,以更新EXP值与目的IP地址的对应关系表项。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。