高速数据链路控制数据的转发方法

文档序号:7628985阅读:119来源:国知局
专利名称:高速数据链路控制数据的转发方法
技术领域
本发明涉及数据通信技术,特别涉及到一种基于硬件路由表进行数据转发的网络设备转发高速数据链路控制(HDLC,High Level Data Link Control)数据的方法。
背景技术
数据通信系统可以由三大部分组成,即发送器、信道和接收器。在双向通信中,通信的每一方都具有发送器和接收器。当前使用较多的是采用七个部分的通用数据电路来描述的数据通信系统,如图1所示,其中,数据终端设备(DTE,Data Terminal Equipment)是指所有与网络端口相连的设备,包括简单终端、智能终端、同步终端、异步终端等等。数据电路终接设备(DCE,Data Circuit-Terminating Equipment)是指调制解调器、多路复用器或数字设备等等设备。
数据通信系统一个重要的任务是负责将数据以一定的编码格式在两个DTE之间准确传输,保证接收端DTE收到的数据与发送端DTE发送的数据相同。这种差错控制功能通常是由国际标准化组织(ISO)定义的数据链路层协议来实现的。
HDLC协议是由ISO颁布的一种面向比特的数据链路控制规程,是数据终端设备(DTE,Data Terminal Equipment)与数据电路终接设备(DCE,Data Circuit-Terminating Equipment)之间接口的数据链路层协议。目前,HDLC协议广泛用在软交换网络中,在实际应用过程中,仅仅需要配置软交换网络中的软交换路由器所使用的数据链路层封装为HDLC封装,所述软交换路由器就可以直接通过静态路由配置或者动态路由协议生成软件路由表,从而完成HDLC数据的转发处理,因此,使用软交换路由器转发HDLC数据时的配置非常简单。但是,使用上述根据软件路由表进行数据转发的方法转发HDLC数据的缺点是耗费时间较长,使数据通信系统的数据传输性能受到较大地影响。
为此,提出了基于硬件路由表的数据转发方法。由于硬件路由表中记录了目的网段、下一跳网络设备及本端接口之间的映射关系,网络设备可以根据所接收数据的目的地址所在的目的网段,直接找到转发当前数据的接口,从而可以大大提高路由器的转发速度。目前,常用的基于以太网交换内核的高速交换设备就可以支持基于硬件路由表的数据转发。然而,由于HDLC协议不具有可以进行两端网际协议(IP)地址协商功能的IP控制协议(IPCP),因而,在使用基于硬件路由表的网络设备转发HDLC数据时,无法将下一跳网络设备与本端的接口映射起来,从而导致所述基于硬件路由表的网络设备无法建立所述硬件路由表,从而不能进行HDLC数据的转发处理,影响HDLC协议在基于硬件路由表的网络设备,例如基于以太网交换内核的高速交换设备,中的正常应用。

发明内容
为了解决上述技术问题,本发明提供了一种HDLC数据的转发方法,可以有效解决基于硬件路由表进行数据转发的网络设备不能转发HDLC数据的问题。
本发明所述的HDLC数据的转发方法,包括A、将当前接口与该接口的下一跳网络设备绑定;B、根据所述下一跳网络设备的地址,生成当前接口的地址映射表项;C、根据各个接口的地址映射表项配合静态路由配置或者动态路由协议算法生成本网络设备的硬件路由表;D、在接收到待转发的HDLC数据包后,根据所述硬件路由表,查找转发该数据包的对应接口,将该HDLC数据包转发出去。
本发明所述网络设备为基于以太网交换内核的高速交换设备。
步骤A所述将当前接口与该接口的下一跳网络设备绑定为建立当前接口的数据链路层地址与该接口下一跳网络设备网络层地址之间的对应关系。
本发明所述的网络层地址为下一跳网络设备的IP地址。
步骤B所述地址映射表项包括当前接口的数据链路层地址以及与之对应的下一跳网络设备的网络层地址。
步骤B在当前接口协议状态为启动时执行。
在步骤A所述将当前接口与下一跳网络设备绑定之前,进一步包括A1、判断当前接口是否已经与某个网络设备进行了绑定,如果是,则执行步骤A2;否则,结束本流程,继续执行步骤A;A2、判断与当前接口绑定的网络设备地址是否与步骤A所述下一跳网络设备地址相同,如果是,则结束本流程,继续执行步骤C;否则,执行步骤A3;A3、清除原有的绑定,然后结束本流程,继续执行步骤A。
步骤D进一步包括在当前接口的数据链路层去除HDLC的封装时,若当前接口已绑定了下一跳网络设备地址,则清除原有的绑定。
本发明所述清除原有的绑定包括解除当前接口的数据链路层地址与所述网络设备地址之间的对应关系;若当前接口已生成地址映射表项,则清除当前接口已生成的地址映射表项。
步骤D进一步包括在当前接口的协议状态由启动变为停止时,根据当前接口与该接口下一跳网络设备的绑定关系,清除已经生成的、当前接口的地址映射表项。
根据本发明的另一方面,本发明还提供了一种高速数据链路控制HDLC数据的转发方法,包括a、判断当前接口是否已经与某个网络设备进行了绑定,如果是,则执行步骤b;否则,执行步骤c;
b、判断与当前接口绑定的网络设备地址是否与步骤A所述下一跳网络设备地址相同,如果是,执行步骤d;否则,清除原有的绑定,然后执行步骤c;c、在当前接口协议状态为启动时,将当前接口与该接口的下一跳网络设备绑定,并根据所述下一跳网络设备的地址,生成当前接口的地址映射表项;d、根据各个接口的地址映射表项配合静态路由配置或者动态路由协议算法生成本网络设备的硬件路由表;e、在接收到待转发的HDLC数据包后,根据所述硬件路由表,查找转发该数据包的对应接口,将该HDLC数据包转发出去。
由此可以看出,本发明所述的HDLC数据的转发方法,通过将当前接口与该接口对应的下一跳网络设备绑定,可以生成当前接口的地址映射表项,从而可以进一步生成网络设备的硬件路由表。基于硬件路由表的网络设备可以依据生成的硬件路由表完成HDLC数据的转发,有效地解决基于硬件路由表的网络设备无法转发HDLC数据的问题,保证HDLC协议在基于硬件路由表的网络设备中的正常使用。
另外,由于本发明所述方法实现间断,因此易于在原有的HDLC协议的实现机制上扩展实现。


图1为通用的数据通信系统结构示意图;图2为本发明所述基于硬件路由表进行数据转发的网络设备转发HDLC数据的方法流程图;图3为在图2所示步骤A之前检查当前端口是否与其他网络设备绑定的方法流程图;图4为本发明所述清除原有的绑定方法流程图。
具体实施例方式
为使发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
为了解决基于硬件路由表的网络设备无法转发HDLC数据的问题,本发明提供了一种HDLC数据的转发方法,如图2所示,该方法主要包括以下步骤A、在配置了当前接口的数据链路层封装类型为HDLC之后,将当前接口与该接口对应的下一跳网络设备绑定。
其中,所述网络设备可以是基于以太网交换内核的高速交换设备等等基于硬件路由表进行数据转发的网络设备。
本步骤所述将当前接口与下一跳网络设备绑定具体为建立当前接口的数据链路层地址与下一跳网络设备网络层地址之间的对应关系。所述的网络层地址可以是下一跳网络设备的IP地址或其他网络层地址。目前,可以使用对端地址映射命令建立当前接口的数据链路层地址与下一跳网络设备网络层地址之间的对应关系。例如,对基于以太网交换内核的高速交换设备而言,若所述网络层地址为网络设备的IP地址,则所述对端地址映射命令为map ip X.X.X.X,其中,X.X.X.X代表下一跳基于以太网交换内核的高速交换设备的IP地址。另外,在此过程中,不需要设置地址掩码,基于以太网交换内核的高速交换设备将自动设置掩码的长度为32位。
需要说明的是,为了保证数据转发的正确性,所述网络设备的每个接口仅允许与一个下一跳网络设备进行绑定。
另外,为了实现数据转发,在本步骤A中,除了要将当前接口与下一跳网络设备的地址绑定之外,还要进行本端地址配置。所述本端地址配置是指配置本网络设备自身的网络层地址。所述的本端地址配置可以在步骤A所述将当前接口与下一跳网络设备绑定之前或者之后进行,而不会超出本发明的保护范围。
B、根据与当前接口绑定的下一跳网络设备的地址,生成当前接口的地址映射表项。
所述地址映射表项包括当前接口的数据链路层地址以及与之对应的下一跳网络设备的网络层地址。每个网络设备的所有接口的地址映射表项组成本网络设备的地址映射表。
需要说明的是,步骤B可以在步骤A之后任何时候执行,但是仅仅在当前接口协议状态为“启动(UP)”时才有效,因此,为了节省系统资源,步骤B可以根据当前接口的协议状态选择在当前的接口协议状态为“UP”时执行。
C、根据各个接口的地址映射表项,配合静态路由配置或者动态路由协议算法生成本网络设备的硬件路由表。
所述硬件路由表记录了某个数据包目的终端所在的目的网段、与该目的网段对应的下一跳网络设备的网络层地址以及对应接口的数据链路层地址。
D、在接收到待转发的HDLC数据包后,根据该HDLC数据包内携带的目的地址,及本网络设备的硬件路由表,查找转发该数据包的对应接口,并通过接口将该HDLC数据包转发出去。
在本步骤中,转发HDLC数据包的过程具体包括D1、根据该HDLC数据包内携带的目的地址,得到该HDLC数据包目的终端所在的目的网段;D2、根据所述目的网段查找本网络设备的硬件路由表,得到与该目的网段对应的下一跳网络设备地址及对应接口的数据链路层地址;D3、根据对应接口的数据链路层地址,将所接收的HDLC数据包通过该接口转发到所述下一跳网络设备。
由此可以看出,通过本发明所述的HDLC数据转发方法,可以解决基于硬件路由表进行数据转发的网络设备不能进行HDLC数据转发处理的问题。
为了简化上述流程,步骤A中,在将当前接口与下一跳网络设备绑定之前,还可以进一步执行检查当前端口是否与其他网络设备绑定的过程。如图3所示,该过程主要包括A1、判断当前接口是否已经与某个网络设备进行了绑定,如果是,则执行步骤A2;否则,结束本流程,继续执行步骤A,即将当前接口与所述下一跳网络设备绑定;A2、判断与当前接口绑定的网络设备地址是否与步骤A所述下一跳网络设备地址相同,如果是,则结束本流程,继续执行步骤C,即根据各个接口的地址映射表项,配合静态路由配置或者动态路由协议算法生成本网络设备的硬件路由表;否则,执行步骤A3;A3、清除原有的绑定,然后结束本流程,继续执行步骤A,即将当前接口与步骤A所述下一跳网络设备绑定。
本步骤所述清除原有的绑定如图4所示,主要包括A31、解除当前接口的数据链路层地址与所述网络设备地址之间的对应关系;特别地,对基于以太网交换内核的高速交换设备而言,若所述网络层地址为网络设备的IP地址,则可以使用解除对端地址映射UNDO MAP IP命令解除当前接口的数据链路层地址与下一跳网络设备的IP地址的对应关系;A32、如果当前接口已生成地址映射表项,则清除当前接口已生成的地址映射表项。
通过上述步骤,可以在已存在相同地址映射表项的情况下,省去生成地址映射表项的步骤,有效地避免重复生成地址映射表项造成的资源浪费。
由于步骤B所述生成当前接口的地址映射表项可以在当前接口的协议状态变为“UP”时执行,因此,在步骤D进行HDLC数据转发的过程中,若当前接口的协议状态发生变化,例如,由“UP”变为“停止(DOWN)”状态时,本发明所述方法还需要根据当前接口与下一跳网络设备地址的映射关系,清除已经生成的当前接口的地址映射表项。
除此之外,在步骤D进行HDLC数据转发的过程中,本发明所述方法进一步包括若当前接口的数据链路层去除HDLC的封装,采用其他数据链路层协议时,如果当前接口已绑定了下一跳网络设备地址,则清除已有的绑定。其中,解除绑定的方法与步骤A3所采用的方法相同,即包括以下两个步骤A31、解除当前接口的数据链路层地址与其下一跳网络设备地址的对应关系;A32、如果当前接口存在地址映射表项,则清除当前接口已生成的地址映射表项。
权利要求
1.一种高速数据链路控制HDLC数据的转发方法,其特征在于,包括A、将当前接口与该接口的下一跳网络设备绑定;B、根据所述下一跳网络设备的地址,生成当前接口的地址映射表项;C、根据各个接口的地址映射表项配合静态路由配置或者动态路由协议算法生成本网络设备的硬件路由表;D、在接收到待转发的HDLC数据包后,根据所述硬件路由表,查找转发该数据包的对应接口,将该HDLC数据包转发出去。
2.根据权利要求1所述的方法,其特征在于,所述网络设备为基于以太网交换内核的高速交换设备。
3.根据权利要求1所述的方法,其特征在于,步骤A所述将当前接口与该接口的下一跳网络设备绑定为建立当前接口的数据链路层地址与该接口下一跳网络设备网络层地址之间的对应关系。
4.根据权利要求3所述的方法,其特征在于,所述的网络层地址为下一跳网络设备的IP地址。
5.根据权利要求1所述的方法,其特征在于,步骤B所述地址映射表项包括当前接口的数据链路层地址以及与之对应的下一跳网络设备的网络层地址。
6.根据权利要求1所述的方法,其特征在于,步骤B在当前接口协议状态为启动时执行。
7.根据权利要求1所述的方法,其特征在于,在步骤A所述将当前接口与下一跳网络设备绑定之前,进一步包括A1、判断当前接口是否已经与某个网络设备进行了绑定,如果是,则执行步骤A2;否则,结束本流程,继续执行步骤A;A2、判断与当前接口绑定的网络设备地址是否与步骤A所述下一跳网络设备地址相同,如果是,则结束本流程,继续执行步骤C;否则,执行步骤A3;A3、清除原有的绑定,然后结束本流程,继续执行步骤A。
8.根据权利要求1所述的方法,其特征在于,步骤D进一步包括在当前接口的数据链路层去除HDLC的封装时,若当前接口已绑定了下一跳网络设备地址,则清除原有的绑定。
9.根据权利要求7或8所述的方法,其特征在于,所述清除原有的绑定包括解除当前接口的数据链路层地址与所述网络设备地址之间的对应关系;若当前接口已生成地址映射表项,则清除当前接口已生成的地址映射表项。
10.根据权利要求1所述的方法,其特征在于,步骤D进一步包括在当前接口的协议状态由启动变为停止时,根据当前接口与该接口下一跳网络设备的绑定关系,清除已经生成的、当前接口的地址映射表项。
11.一种高速数据链路控制HDLC数据的转发方法,其特征在于,包括a、判断当前接口是否已经与某个网络设备进行了绑定,如果是,则执行步骤b;否则,执行步骤c;b、判断与当前接口绑定的网络设备地址是否与步骤A所述下一跳网络设备地址相同,如果是,执行步骤d;否则,清除原有的绑定,然后执行步骤c;c、在当前接口协议状态为启动时,将当前接口与该接口的下一跳网络设备绑定,并根据所述下一跳网络设备的地址,生成当前接口的地址映射表项;d、根据各个接口的地址映射表项配合静态路由配置或者动态路由协议算法生成本网络设备的硬件路由表;e、在接收到待转发的HDLC数据包后,根据所述硬件路由表,查找转发该数据包的对应接口,将该HDLC数据包转发出去。
12.根据权利要求11所述的方法,其特征在于,所述网络设备为基于以太网交换内核的高速交换设备。
13.根据权利要求11所述的方法,其特征在于,步骤c所述将当前接口与该接口的下一跳网络设备绑定为建立当前接口的数据链路层地址与该接口下一跳网络设备网络层地址之间的对应关系。
14.根据权利要求11所述的方法,其特征在于,步骤e进一步包括在当前接口的协议状态由启动变为停止时,根据当前接口与该接口下一跳网络设备的绑定关系,清除已经生成的、当前接口的地址映射表项。
15.根据权利要求11所述的方法,其特征在于,步骤e进一步包括在当前接口的数据链路层去除HDLC的封装时,若当前接口已绑定了下一跳网络设备地址,则清除原有的绑定。
16.根据权利要求15所述的方法,其特征在于,所述清除原有的绑定包括解除当前接口的数据链路层地址与所述网络设备地址之间的对应关系;若当前接口已生成地址映射表项,则清除当前接口已生成的地址映射表项。
全文摘要
本发明公开了一种HDLC数据的转发方法,在配置当前接口的数据链路层封装类型为HDLC封装之后包括将当前接口与其下一跳网络设备绑定;根据所述下一跳网络设备的地址,生成当前接口的地址映射表项;根据各个接口的地址映射表项配合静态路由配置或者动态路由协议算法生成本网络设备的硬件路由表;在接收到待转发的HDLC数据包后,根据该HDLC数据包内携带的目的地址及本网络设备的硬件路由表,查找转发该数据包的对应接口,并通过接口将该HDLC数据包转发出去,有效地解决基于硬件路由表的网络设备无法转发HDLC数据的问题,保证HDLC协议在基于硬件路由表的网络设备中的正常使用。
文档编号H04L29/06GK1777151SQ20051013057
公开日2006年5月24日 申请日期2005年12月14日 优先权日2005年12月14日
发明者陈方春 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1