专利名称:三层虚拟专用网转发报文的方法、系统和设备的利记博彩app
技术领域:
本发明涉及通信领域,特别涉及一种三层虚拟专用网转发报文的方法、系统和设备。
背景技术:
通过RTP协议承载语音的报文封装格式如图1所示。其中,语音编码器生成的语音数据被逐层封装成RTP(Real-time Transport Protocol,实时传输协议)、UDP(User DatagramProtocol,用户数据报协议)和IP(Internet Protocol,网络协议),这样语音帧头部长度达到40个字节,但是有效载荷只有15~30个字节,对于同一条语音流来说,在连续的语音包中存在较高的冗余度,要降低这种冗余度,提高带宽利用率,需要使用压缩算法。cRTP(Compressed Real-time Transport Protocol,压缩实时传输协议)是一种报文头压缩技术,通过cRTP可以将IP、UDP和RTP三个报文头部信息由40字节压缩至2~4字节,对于有效载荷仅15~30字节的RTP报文,极大的降低了报文的冗余度,提高了带宽的利用率。
通过cRTP进行报文头部压缩时,还需要在压缩端与解压端建立和维护Context(上下文信息),这样报文头部仅携带CID(Context Identification,上下文信息索引)等少量信息。在解压端可根据CID来索引相应的上下文,进而完全恢复报文头。如果发生丢包或包被损坏,解压端就无法正确地解压以及更新上下文信息,所以需要提供相应的机制去监测上下文错误,并对错误进行修复。cRTP可以发送CONTEXT_STATE(上下文更新请求)来修复上下文,但是链路上的往返时间会影响这种修复机制的效率。
对时延大、丢包率高及存在报文乱序的链路,cRTP需要频繁的发送FULL_HEADER报文以同步上下文,这样导致压缩效率降低,为了降低链路质量对压缩效率的影响,现有技术提出了EcRTP(Enhanced cRTP,增强的压缩实时传输协议)用于增强cRTP。
EcRTP主要通过压缩端向解压端更新会话环境的方式来增强cRTP对链路质量的鲁棒性,具体的增强主要体现在以下三个方面1)压缩端周期性发送扩展COMPRESSED_UDP报文,扩展后的COMPRESSED_UDP报文携带更多的头变化信息,例如携带绝对值,而不是变化值,以刷新解压端的上下文信息,避免两端上下文失步。
2)在不携带UDP校验和的情况下,增加cRTP头校验和字段,解压端可根据cRTP头校验和判断是否存在解压错误,从而进行“二次尝试(TWICE)”,使“TWICE”算法有效地发挥作用,减少上下文失步造成的丢包。
3)压缩端连续发送N+1个同步报文,避免同步报文丢失造成上下文失步。
通过cRTP压缩报文虽然能够减少报文头开销,提高带宽利用率,但是在报文经过的每个节点都需要对报文进行压缩/解压缩处理,然后再进行转发,这样对整个网络性能影响很大。基于这个问题,现有技术提供了一种在MPLS(Multi-protocol Lbel Switch,多协议标签交换)隧道上支持cRTP的技术——cRTP over MPLS。
在cRTP over MPLS网络中用两个PE(Provider Edge,运营商边界设备)间的一条MPLS隧道,模拟普通cRTP在两个相连设备间的点对点链接。这样MPLS网络中的P设备不用参与压缩/解压缩的处理,只需要在MPLS隧道入口的PE进行压缩,出口PE进行解压缩即可,提高了整个网络的处理能力。并且,cRTP是一种增值业务,用户已经建好的承载网络极有可能是不支持cRTP的,也不可能为了这个业务重新部署网络。所以就需要实现端到端的压缩,使中间节点不感知压缩业务,这样用户只需要在边缘节点部署相应设备就可以完成整个压缩业务,经济实用。
上述cRTP over MPLS技术用PWE3(Pseudo-Wire Emulation Edge to Edge,端到端虚拟线模拟)作为cRTP的载体,即cRTP隧道,其中PWE3控制字携带报文类型、长度等信息,以区分压缩报文的类型;一般情况下,cRTP over MPLS报文有两层MPLS标签,外层标签用于指定转发路径,内层标签用于标识PW(Pseudo Wire,虚拟线路)。
PWE3能够在PSN(Packet Switched Network,报文交换网络)上模拟电信通信业务,如T1租用线、FR(Frame Relay,帧中继)等,对于特定的业务,PWE3偏向于只提供最小程度和必要的功能去仿真相应保真度的连线。仿真中所需要的任何交换功能,都属于转发器的功能。任何需要借助净荷格式的转换或者操作,都由该业务的原处理单元完成。
PWE3的伪连线PW功能包括对信元、PDU(Protocol Data Unit,协议数据单元)、或者特定业务比特流的入端口封装,以及携带它们通过IP或者MPLS通道进行传输。在某些情况下还需要进行其它操作,如时序管理、对业务的有限程度特性与特征进行仿真等。
为了对原始业务行为以及特性进行仿真,PW提供下列一些功能1)对到达PE端口(物理或者逻辑的)的特定业务PDU或者电路数据进行格式封装;2)经过PSN通道承载封装好的业务数据;3)为PSN通道端点之间建立PW,交换、分配PW的识别符号;
4)在PW边缘对业务的信令、定时、时序以及其它部分进行管理;5)各种业务相关的状态以及告警管理。
以图2提供的PWE3网络模型为例,为了使CE(Custom Edge,客户边缘设备)能够在PSN网络上面通信,两个PE设备(PE1和PE2)需要提供一个或者多个PW伪连线,通过建立PSN通道来建立数据通道。对于核心网络来说,PW流量是不可见的,对于CE设备来说,核心网络也是透明的。CE1将原始数据(比如比特、信元、数据报文等)通过AC(Attached Circuit,附加电路)传送到PE1后,在PE1进行封装,封装为PW-PDU格式,然后通过下层PSN网络承载,传输给对端的PE2,由PE2进行解封装,并将解封装后的报文通过AC发送到目的设备CE2。
上述PE设备的功能除了对报文进行封装、解封装外,还包括对报文进行排序或者定时发送,以及PW伪连线技术需要的任何其它功能。
从上面的描述可以看出,PWE3提供的是一种端到端的业务,即从一条AC上传输的报文,缺省条件下只进入一条固定的PW,但在实际应用中,有可能从一条AC传输的报文需要通过多个PW到达不同的目的地,并且某些报文不能采用基于IP路由的三层VPN(Virtual PrivateNetwork,虚拟专用网络)技术,比如HC(Header Compression,报文头压缩)报文和需要传递额外控制信息的报文。
参见图3,L3VPN的一个AC接口绑定的VPN可以和远端多个PE上相同的VPN建立会话,为了使从同一个AC传输的报文可以根据需要映射到不同的PW上,在每个AC接口上都建立多个PW,而这种扩展方式将造成PW数量的增多,导致系统资源的严重浪费,对系统支持L3VPN压缩会话的规格和扩展性都会带来影响。
发明内容
为了将L3VPN流量映射到点到点压缩会话上,并节省需要的资源,本发明实施例提供了一种三层虚拟专用网转发报文的方法、系统和设备。所述技术方案如下一种三层虚拟专用网转发报文的方法,所述方法包括压缩端收到报文后,根据压缩协议对报文进行压缩,根据虚拟线路双层标签栈为压缩后的报文封装内层标签和外层标签,并将封装后的报文从所述报文对应的虚拟线路转发给中间设备;所述中间设备接收所述封装后的报文,根据所述报文的外层标签判断是否弹出所述外层标签,如果是,弹出所述外层标签,并将弹出所述外层标签后的报文发送给解压缩端;否则替换所述报文的外层标签,转发给下一个中间设备;
所述解压缩端收到报文后,根据压缩协议对所述报文进行解压缩,并将解压缩后的报文发送给对应的目的设备。
本发明实施例还提供了一种三层虚拟专用网转发报文的系统,所述系统包括压缩设备,用于接收报文,并根据压缩协议对报文进行压缩,根据虚拟线路双层标签栈为压缩后的报文封装内层标签和外层标签,从所述报文对应的虚拟线路转发封装后的报文;中间设备,用于接收所述压缩设备转发的报文,根据所述报文的外层标签判断是否弹出所述外层标签,如果是,弹出所述外层标签,转发弹出所述外层标签后的报文;否则替换所述报文的外层标签,并转发替换外层标签后的报文;解压设备,用于接收所述中间设备转发的报文,根据压缩协议对所述报文进行解压缩,并将解压缩后的报文发送给对应的目的设备。
进一步地,本发明实施例提供了一种压缩设备,所述设备包括接收模块,用于接收报文;报文处理模块,用于根据压缩协议对所述接收模块接收到的报文进行压缩,根据虚拟线路双层标签栈为压缩后的报文封装内层标签和外层标签;发送模块,用于从所述报文对应的虚拟线路转发所述报文处理模块封装后的报文。
进一步地,本发明实施例提供了一种解压缩设备,其特征在于,所述设备包括接收模块,用于接收中间设备转发的报文;解压缩模块,用于根据压缩协议对所述接收模块接收到的报文的内层标签查找对应的解压缩虚拟线路会话信息;从所述虚拟线路会话信息中得到压缩协议信息,根据所述压缩协议信息对报文进行解压缩;发送模块,用于将所述解压缩模块解压缩后的报文发送给对应的目的设备。
本发明实施例提供的技术方案的有益效果是本发明实施例通过使用L2VPN的PW转发压缩后的报文,减少了L3VPN流量建立点到点压缩会话时需要的会话数量,防止系统资源的浪费,并且具有良好的扩展性。
图1是现有技术提供的RTP报文的封装格式示意图;图2是现有技术提供的PWE3网络模型示意图;图3是现有技术提供的L3VPN点到多点组网示意图;图4是本发明实施例1提供的L3VPN点到多点组网示意图;
图5是本发明实施例1提供的三层虚拟专用网转发报文的方法流程图;图6是本发明实施例2提供的三层虚拟专用网转发报文的系统示意图;图7是本发明实施例3提供的压缩设备示意图;图8是本发明实施例4提供的解压缩设备示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例通过在骨干网和城域网上建立的PW隧道,将L3VPN的流量映射到对应的PW隧道上建立点到点压缩会话,节省了网络资源,并实现简单。
实施例1本发明实施例提供了一种三层虚拟专用网转发报文的方法,包括压缩端收到报文后,根据压缩协议对报文进行压缩,根据虚拟线路双层标签栈为压缩后的报文封装内层标签和外层标签,并将封装后的报文从报文对应的PW转发给中间设备;中间设备接收封装后的报文,根据报文的外层标签判断是否弹出外层标签,如果是,弹出外层标签,并将弹出外层标签后的报文发送给解压缩端;否则替换报文的外层标签,转发给下一个中间设备;解压缩端收到报文后,根据压缩协议对报文进行解压缩,并将解压缩后的报文发送给对应的目的设备。
参见图4,网络中包括用户端的CE1路由器、CE2路由器,压缩端PE路由器、解压缩端PE路由器和骨干网中的多个P路由器,以图5中的CE1路由器向CE2路由器发送报文为例,参见图5,上述三层虚拟专用网转发报文的方法包括以下步骤步骤101在骨干网和城域网上建立PW隧道,并设置PW标识,配置压缩协议。
其中,上述压缩协议包括对应该协议的压缩参数。
PW可以全局配置,也可以基于接口、虚接口、隧道口等配置,建立在PE路由器的接口或虚接口上,PW也可以虚拟出隧道口。
PW标识可以是路由器接口号、虚接口号、隧道口号或虚电路标识vc-id中的一种或几种,例如可以将接口号作为PW标识,也可以将接口号加vc-id作为PW标识,将配置的报文压缩协议和PW标识绑定到一起。
步骤102压缩端PE路由器收到来自CE1路由器的L3VPN报文后,根据CE接口得到对应的VPN信息,即报文属于哪个VPN;其中,CE接口指接收到该报文的接口。
步骤103根据得到的VPN信息查找该报文对应的VPN FIB(Forwarding InformationBase,转发信息库)表,得到BGP(Border Gataway Protocol,边界网关协议)nexthop(下一跳地址)。
其中,FIB表用于保存有效的路由信息,是路由器进行报文转发的前提和基础,FIB表项包括报文的目的地址、nexthop、出接口和转发标识等信息。
如果进行报文转发的是NP(Network Processor,网络处理器)等硬件处理器,则通过查FIB表得到公网隧道转发表的索引信息,如公网隧道索引token。
步骤104根据下一跳地址和VPN信息找到对应PW的peer(远端邻居节点)和VPN信息,进而查到该PW的会话信息。
找到对应PW的peer和VPN信息也就得到了该报文对应为哪个PW,进而得出该PW的会话信息,即找到从三层VPN转到二层VPN的对应关系。其中,会话信息为该PW对应的双层出标签,以及压缩协议和压缩参数信息。
如果进行报文转发的是NP等硬件处理器,则根据公网隧道索引token和VPN信息找到对应PW的公网隧道索引token和VPN信息。
步骤105从找到的PW会话信息中获得PW双层标签栈和压缩协议,以及该压缩协议对应的压缩参数,根据压缩协议和压缩参数对该报文进行压缩,根据PW双层标签栈对压缩后的报文进行封装。
封装后的报文中携带有压缩会话标识ID的PW控制字字段,具体封装的报文类型和填充的内容由具体压缩协议而定,压缩协议可以采用cRTP协议或EcRTP协议,也可以是IPHC(Internet Protocol Header Compression,IP首部压缩)或者ROHC(Robust HeaderCompression,鲁棒头标压缩)。
步骤106封装完成后,压缩端PE路由器将报文发送到骨干网中,骨干网的P路由器收到报文后,进行PW外层标签的交换,并转发报文。
封装完成后,压缩端PE路由器将报文发送到骨干网中,在骨干网的P路由器进行PW外层标签的交换,若骨干网的P路由器为倒数第二跳的路由器,则弹出外层标签,将只含有内层PW标签的报文转发给解压端PE路由器。其中,P路由器可以根据路由器的MPLS LSP转发表中的外层标签判断是否为倒数第二跳路由器,如果外层标签为3则是倒数第二跳路由器。
步骤107解压缩端PE路由器收到报文后,根据内层PW标签查标签映射表,获得PW标识。
步骤108通过PW标识查找报文对应的解压缩PW会话信息,得到对应的压缩协议,根据压缩协议进行报文解压缩,还原出原L3VPN报文。
步骤109根据解压缩端PW所属的VPN,查VPN FIB表找到报文输出接口,根据输出接口将报文发送到对应的CE2路由器,转发过程结束。
进一步地,上述方法中还可以包括下面的步骤如果解压缩端发生解压缩失败,或者需要压缩端同步压缩会话信息时,需要向压缩端发送回程报文,由于PW是双向建立的,只需根据解压缩PW的入公网侧的双层隧道将回程报文发送回压缩端即可,回程报文的转发流程和上面的流程类似,这里不再详述。
实施例2参见图6,本实施例提供了一种三层虚拟专用网转发报文的系统,包括压缩设备201,用于接收报文,并根据压缩协议对报文进行压缩,根据虚拟线路双层标签栈为压缩后的报文封装内层标签和外层标签,从报文对应的虚拟线路转发封装后的报文;中间设备202,用于接收压缩设备201转发的报文,根据报文的外层标签判断是否弹出外层标签,如果是,弹出外层标签,转发弹出外层标签后的报文;否则替换报文的外层标签,并转发替换外层标签后的报文;解压设备203,用于接收中间设备202转发的报文,根据压缩协议对报文进行解压缩,并将解压缩后的报文发送给对应的目的设备。
实施例3参见图7,本实施例提供了一种压缩设备,包括接收模块301,用于接收报文;报文处理模块302,用于根据压缩协议对接收模块301接收到的报文进行压缩,根据虚拟线路双层标签栈为压缩后的报文封装内层标签和外层标签;发送模块303,用于从报文对应的虚拟线路转发报文处理模块302封装后的报文。
其中,报文处理模块302包括会话信息获取单元302a,用于根据接收模块301接收报文的接口得到报文对应的虚拟专用网信息;根据虚拟专用网信息查找转发信息库,获取报文的边界网关协议的下一跳地址;根据该下一跳地址和虚拟专用网信息查找报文对应的虚拟线路会话信息;压缩与封装单元302b,用于从会话信息获取单元302a所获取的虚拟线路会话信息中得到虚拟线路双层标签栈和压缩协议;根据压缩协议对报文进行压缩,根据虚拟线路双层标签栈为压缩后的报文封装内层标签和外层标签。
实施例4参见图8,本实施例提供了一种解压缩设备,包括接收模块401,用于接收中间设备转发的报文;解压缩模块402,用于根据压缩协议对接收模块401接收到的报文的内层标签查找对应的解压缩虚拟线路会话信息;从虚拟线路会话信息中得到压缩协议信息,根据压缩协议信息对报文进行解压缩;发送模块403,用于将解压缩模块402解压缩后的报文发送给对应的目的设备。
以上实施例将L3VPN流量映射到L2VPN的PW上建立压缩会话,比采用L3VPN的BGP协议报文来协商压缩会话实现简单,减少L3VPN流量建立点到点压缩会话时需要的会话数量,防止系统资源的浪费,并且具有良好的扩展性。PW可以建立在全局模式下,也可以建立在接口、虚接口上,甚至PW可以虚拟出隧道口,作为PW隧道的一个标识。
本发明实施例可以用软件方式实现,相应的软件可以存储在可读取的存储介质上,例如计算机的硬盘、内存或光盘中。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种三层虚拟专用网转发报文的方法,其特征在于,所述方法包括压缩端收到报文后,根据压缩协议对报文进行压缩,根据虚拟线路双层标签栈为压缩后的报文封装内层标签和外层标签,并将封装后的报文从所述报文对应的虚拟线路转发给中间设备;所述中间设备接收所述封装后的报文,根据所述报文的外层标签判断是否弹出所述外层标签,如果是,弹出所述外层标签,并将弹出所述外层标签后的报文发送给解压缩端;否则替换所述报文的外层标签,转发给下一个中间设备;所述解压缩端收到报文后,根据压缩协议对所述报文进行解压缩,并将解压缩后的报文发送给对应的目的设备。
2.如权利要求1所述的三层虚拟专用网转发报文的方法,其特征在于,所述压缩端收到报文后,根据压缩协议对报文进行压缩,根据虚拟线路双层标签栈为压缩后的报文封装内层标签和外层标签的步骤包括压缩端收到报文后,根据接收所述报文的接口得到所述报文对应的虚拟专用网信息;根据所述虚拟专用网信息查找转发信息库,获取所述报文的边界网关协议的下一跳地址;根据所述下一跳地址和所述虚拟专用网信息查找所述报文对应的虚拟线路会话信息;从所述虚拟线路会话信息中获取虚拟线路双层标签栈和压缩协议;根据所述压缩协议对报文进行压缩,根据所述虚拟线路双层标签栈为压缩后的报文封装内层标签和外层标签。
3.如权利要求1所述的三层虚拟专用网转发报文的方法,其特征在于,所述解压缩端收到报文后,根据压缩协议对所述报文进行解压缩的步骤包括所述解压缩端收到报文后,根据报文的内层标签查找对应的解压缩虚拟线路会话信息;从所述虚拟线路会话信息中得到压缩协议信息,根据所述压缩协议信息对报文进行解压缩。
4.如权利要求1所述的三层虚拟专用网转发报文的方法,其特征在于,所述将解压缩后的报文发送给对应的目的设备的步骤包括所述解压缩端根据接收到的报文对应的虚拟线路得到对应的虚拟专用网,查转发信息库找到报文输出接口,在所述输出接口将解压后的报文发送到对应的目的设备。
5.如权利要求1所述的三层虚拟专用网转发报文的方法,其特征在于,所述虚拟线路是基于接口、虚接口、隧道口或全局配置的。
6.如权利要求1所述的三层虚拟专用网转发报文的方法,其特征在于,所述虚拟线路对应一个标识。
7.一种三层虚拟专用网转发报文的系统,其特征在于,所述系统包括压缩设备,用于接收报文,并根据压缩协议对报文进行压缩,根据虚拟线路双层标签栈为压缩后的报文封装内层标签和外层标签,从所述报文对应的虚拟线路转发封装后的报文;中间设备,用于接收所述压缩设备转发的报文,根据所述报文的外层标签判断是否弹出所述外层标签,如果是,弹出所述外层标签,转发弹出所述外层标签后的报文;否则替换所述报文的外层标签,并转发替换外层标签后的报文;解压设备,用于接收所述中间设备转发的报文,根据压缩协议对所述报文进行解压缩,并将解压缩后的报文发送给对应的目的设备。
8.一种压缩设备,其特征在于,所述设备包括接收模块,用于接收报文;报文处理模块,用于根据压缩协议对所述接收模块接收到的报文进行压缩,根据虚拟线路双层标签栈为压缩后的报文封装内层标签和外层标签;发送模块,用于从所述报文对应的虚拟线路转发所述报文处理模块封装后的报文。
9.如权利要求8所述的压缩设备,其特征在于,所述报文处理模块包括会话信息获取单元,用于根据所述接收模块接收所述报文的接口得到所述报文对应的虚拟专用网信息;根据所述虚拟专用网信息查找转发信息库,获取所述报文的边界网关协议的下一跳地址;根据所述下一跳地址和所述虚拟专用网信息查找所述报文对应的虚拟线路会话信息;压缩与封装单元,用于从所述会话信息获取单元所获取的虚拟线路会话信息中得到虚拟线路双层标签栈和压缩协议;根据所述压缩协议对报文进行压缩,根据所述虚拟线路双层标签栈为压缩后的报文封装内层标签和外层标签。
10.一种解压缩设备,其特征在于,所述设备包括接收模块,用于接收中间设备转发的报文;解压缩模块,用于根据压缩协议对所述接收模块接收到的报文的内层标签查找对应的解压缩虚拟线路会话信息;从所述虚拟线路会话信息中得到压缩协议信息,根据所述压缩协议信息对报文进行解压缩;发送模块,用于将所述解压缩模块解压缩后的报文发送给对应的目的设备。
全文摘要
本发明公开了一种三层虚拟专用网转发报文的方法、系统和设备,属于通信领域。所述方法包括压缩端根据压缩协议对报文进行压缩,根据虚拟线路双层标签栈为压缩后的报文封装内层标签和外层标签,并将封装后的报文从所述报文对应的虚拟线路转发给中间设备;所述中间设备替换所述报文的外层标签,并在倒数第二个设备弹出外层标签;解压缩端根据压缩协议对所述报文进行解压缩,并将解压缩后的报文发送给对应的目的设备。所述系统包括压缩设备、中间设备和解压设备。所述压缩设备包括接收模块、报文处理模块和发送模块。所述解压缩设备包括接收模块、解压缩模块和发送模块。本发明通过使用L2VPN的PW转发压缩后的报文,防止了系统资源的浪费。
文档编号H04L1/00GK101075937SQ20071012994
公开日2007年11月21日 申请日期2007年7月20日 优先权日2007年7月20日
发明者马朋, 子康 申请人:华为技术有限公司