网络通信中报文的封装转发方法

文档序号:7687296阅读:679来源:国知局
专利名称:网络通信中报文的封装转发方法
技术领域
本发明涉及一种网络通信中报文的封装转发方法,尤其涉及一种网络通信中通用路由封装(GREGeneral Router Encapsulation)协议报文的封装转发方法。
在现有技术中,VPN通常是采用GRE协议来实现的,GRE协议是在协议层之间采用了一种隧道(Tunnel)技术,隧道是一个虚拟的点对点的连接,可以看成是仅支持点对点连接的虚拟接口,这个接口提供了一条通路使封装的数据报文能够在这个通路上传输,并且在一个隧道的两端分别对数据报文进行封装及解封装。
目前隧道技术中所应用的GRE协议的主要功能和技术主要有以下几个方面可以令使用多协议的本地网通过单一协议的骨干网传输,如图1所示在路由器(Router)A和B之间建立隧道,并选择GRE协议对报文进行封装,这样便使得运行以太网协议(IPX)的网络Group1和Group2可以进行通信,运行互联网协议(IPInternet Protocol)的网络Term1和Term2之间也可以进行通信,且两者之间互不影响。
扩大了IPX网络的工作范围基于IPX数据包最多可以转发16次,即经过16个路由器,而在隧道技术中由于IPX报文被完整的封装起来,只在对端才解封装,所以在隧道两端看上去该报文相当于只经过一个路由器。
将一些不能连续的子网连接起来,如图2所示Group1和Group2是两个分别在北京和上海的novell子网,运行IPX协议,如果需要通过Internet将Group1和Group2连接起来,则可以通过建立隧道使Group1和Group2间通过广域网(WAN)网建立起VPN,实现二者间的网间通信。
在建立起VPN后,下一步便是GRE协议报文的封装转发。具体过程如下网络设备的接口板接收到一个GRE协议报文后,会将GRE协议报文发到主控板,由主控板根据对应隧道接口信息对GRE协议报文进行封装,封装后的报文再发送到相应的接口板上,由接口板转发该报文。虽然上述的转发方式实现了GRE协议报文的封装和转发,但却存在有如下的缺点
1.如果主控板上报文流量比较大,则会严重影响报文的转发效率,同时也会因占用许多主控板的中央处理器(CPU)资源,而影响主控板对其他报文的处理效率。
2.GRE协议报文在网络设备的主控板与接口板间转发,会大大增加因通信失败而导致报文丢失的机率。
本发明的目的是这样实现的;网络通信中报文的封装转发方法,包括(1)网络设备中的主控板将封装报文所需要的相关信息广播至中接口板;(2)接口板应用上述相关信息对报文进行封装;(3)将封装的报文由接口板转发。
所述的报文为通用路由封装(GRE)协议报文。
所述的封装报文所需要的相关信息为所创建的用于转发GRE协议报文的隧道(Tunnel)接口的相关信息。
所述步骤(2)中的接口板应用上述相关信息对报文进行封装,包括(41)接口板根据所接收的通用路封装(GRE)协议报文中的相关信息确定相应的Tunnel接口信息;
(42)接口板根据相应的Tunnel接口信息对接收到GRE协议报文进行封装。
所述的对报文进行封装包括对GRE协议报文在隧道源端的加封装过程和在隧道对端的解封装过程。
所述的在隧道源端的加封装过程为将隧道的源地址、目的地址和隧道标识加至报文中。
所述的在隧道对端的解封装过程包括(71)判断GRE协议报文的源地址、目的地址和隧道标识是否为该隧道的源地址、目的地址和隧道标识,如果是,执行步骤(72),否则,执行步骤(73);(72)将GRE协议报文的源地址、目的地址和隧道标识去掉;(73)丢弃该GRE协议报文。
所述的步骤(41)包括(81)接口板接收GRE协议报文;(82)获取报GRE协议报文所承载的源地址和目的地址;(83)根据该源地址和目的地址查找并确定对应Tunnel接口信息。
由上述技术方案可以看出,本发明采用了网络设备接口板接收到GRE报文直接在接口板进行封装、转发,而没有发送给主控板进行封装转发的报文封装转发方式,省去了主控板和接口板通信这一环节,减少了因通信失败而导致报文丢失的可能;同时,大大地提高了GRE协议报文的转发效率,并节省了主控板的CPU资源。


图1为隧道技术的应用环境示意图A;图2为隧道技术的应用环境示意图B;图3为本发明的具体实施方式
流程图。
对于实际物理接口已经建立了通用的数据结构结构,该通用数据结构忽略了各个接口之间的差异,并且采用注册函数的方式屏蔽了链路层之间的差异,因此对于隧道接口也采用该通用数据结构,保证对上层协议(IP,IPX)的透明性。对于隧道接口,该通用数据结构中存储了通过命令行设置隧道接口的所有属性,如隧道源地址(tunnel source)、隧道对端地址(tunnel destination)、隧道标识(tunnel key)、封装形式等,封装形式目前为GRE协议封装形式。隧道接口是否有效是通过判断隧道对端地址的路由是否可达确定的。
上述隧道接口建立后,便可以通过该隧道接口转发GRE协议报文,本发明提供了一种针对隧道接口的GRE协议报文的封装转发方法,以提高GRE协议报文的转发效率。
本发明所述的网络通信中报文的封装转发方法的具体实施方案叙述如下,参见图3,包括步骤1网络设备中的主控板将封装GRE协议报文所需要的相关信息广播至接口板,即当创建隧道接口时便将隧道接口的相关信息广播至网络设备的接口板;相关信息主要包括隧道的源地址、目的地址和隧道标识等信息,接口板对接收的GRE协议报文进行封装时需要用到该信息;步骤2接口板接收GRE协议报文时,获取报GRE协议报文所承载的源地址和目的地址;步骤3根据所获取的源地址和目的地址查找并确定对应隧道接口信息,即查找该GRE协议报文是通过哪个隧道接口向外发送;确定隧道接口信息可以将报文的源地址、目的地址与各个隧道接口信息进行匹配,以确定该GRE协议报文转发过程中所应用的隧道接口。
步骤4接口板根据相应的隧道接口信息对接收到GRE协议报文进行封装;所述的封装包括对GRE协议报文在隧道源端的加封装过程和在隧道对端的解封装过程,其中在隧道源端的加封装过程为将隧道的源地址、目的地址和隧道标识加至报文中;
在隧道对端的解封装过程包括判断GRE协议报文的源地址、目的地址和隧道标识是否为该隧道的源地址、目的地址和隧道标识,以确定是否为该隧道应该接收的报文,如果是,将GRE协议报文的源地址、目的地址和隧道标识去掉,否则,丢弃隧道对端发来的GRE协议报文,以确保隧道的安全性;步骤5将经过接口板封装后的GRE协议报文由接口板找到相应的出接口中,并转发出去。
本发明所提供的技术实施方案中,GRE协议报文的封装、转发工作均由接口板完成,省去了报文在主控与接口板间转发的通信环节,提高了GRE协议报文的转发效率,并节省了主控板的CPU资源,同时,也提高了GRE协议报文转发的成功率。
权利要求
1.一种网络通信中报文的封装转发方法,其特征在于,该方法包括(1)网络设备中的主控板将封装报文所需要的相关信息广播至接口板;(2)接口板应用上述相关信息对报文进行封装;(3)将封装的报文由接口板转发。
2.根据权利要求1所述的网络通信中报文的封装转发方法,其特征在于步骤(1)中所述的报文为通用路由封装(GRE)协议报文。
3.根据权利要求2所述的网络通信中报文的封装转发方法,其特征在于步骤(1)及步骤(2)中所述的相关信息为所创建的用于转发GRE协议报文的隧道(Tunnel)接口的相关信息。
4.根据权利要求3所述的网络通信中报文的封装转发方法,其特征在于步骤(2)所述的接口板应用上述相关信息对报文进行封装,包括(41)接口板根据所接收的通用路封装(GRE)协议报文中的相关信息确定相应的Tunnel接口信息;(42)接口板根据相应的Tunnel接口信息对接收到GRE协议报文进行封装。
5.根据权利要求2所述的网络通信中报文的封装转发方法,其特征在于所述的对报文进行封装的过程包括对GRE协议报文在隧道源端的加封装过程和在隧道对端的解封装过程。
6.根据权利要求5所述的网络通信中报文的封装转发方法,其特征在于所述的在隧道源端的加封装过程为将隧道的源地址、目的地址和隧道标识加至报文中。
7.根据权利要求5所述的网络通信中报文的封装转发方法,其特征在于所述的在隧道对端的解封装过程包括(71)判断GRE协议报文的源地址、目的地址和隧道标识是否为该隧道的源地址、目的地址和隧道标识;(72)如果是,则将GRE协议报文的源地址、目的地址和隧道标识去掉;(73)如果不是,则丢弃该GRE协议报文。
8.根据权利要求4所述的网络通信中报文的封装转发方法,其特征在于所述步骤(41)包括(81)接口板接收GRE协议报文;(82)获取GRE协议报文所承载的源地址和目的地址;(83)根据该源地址和目的地址查找并确定对应Tunnel接口信息。
全文摘要
本发明涉及一种网络通信中报文的封装转发方法,该方法包括首先,网络设备中的主控板将封装GRE协议报文所需要的隧道接口信息广播至接口板,隧道接口信息包括隧道的源地址、目的地址和隧道标识;然后,接口板应用上述隧道接口信息对该GRE协议报文进行封装;最后,接口板将封装的报文由接口板转发出去。本发明由于采用了网络设备接口板接收到GRE协议报文后直接在接口板进行封装、转发,而没有发送给主控板进行封装转发的报文封装转发方式,省去了主控板和接口板通信这一环节,减少了因通信失败而导致报文丢失的可能;同时,大大地提高了GRE协议报文的转发效率,并节省了主控板的CPU资源。
文档编号H04Q3/00GK1412988SQ0211784
公开日2003年4月23日 申请日期2002年5月22日 优先权日2002年5月22日
发明者阴元斌 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1