报文转发方法和装置的制作方法

文档序号:7895053阅读:90来源:国知局
专利名称:报文转发方法和装置的制作方法
技术领域
本发明涉及网络通信技术,特别涉及报文转发方法和装置。
背景技术
随着互联网业务的深入发展,许多大型企业、数据中心或者服务供应商在全国各地建立服务站点,这些站点能够独立提供全部的服务、并且为了用户能够获取全部服务,这些站点需要定期同步数据,这样,用户就可以直接访问就近的站点来获取全部的服务,提高了用户访问的速度。目前,各个站点之间都是通过专用线路进行互联,如上图I中的虚线所示,以保证连接的有效性。但是这些专用线路费用比较昂贵,为了有效节省成本,站点之间还可以适当地租用运营商的普通线路(称为非专用线路,其除了用于传输站点之间的业务之外,还承载运营商提供的其他服务),如图I中的实线所示,以分担专用线路上的流量。其中,专用线路经常用于传输一些实时性要求比较高、优先级比较重要的业务,比如语音等业务,以保证业务质量,而非专用线路,则相对而言,经常用于传输一些实时性要求不高、优先级相对比较低的业务,比如腾讯网站中的相册等业务。但是,在现有技术中,如何根据业务选择合适的线路进行转发是当前亟待解决的技术问题。

发明内容
本发明提供了报文转发方法和装置,以实现根据业务选择合适的线路进行转发。本发明提供的技术方案包括—种报文转发方法,该方法应用于网络站点,包括生成两个相互独立的公网路由表和私网路由表,所述公网路由表记录了作为公网路由的专用线路路由,所述私网路由表记录了作为私网路由的非专用线路路由;确定当前接收的数据报文是通过公网路由转发还是通过私网路由转发;在确定通过公网路由转发时,依据所述数据报文的目的IP地址在所述公网路由表中查找用于转发所述数据报文的公网路由,利用查找到的公网路由转发所述数据报文,结束当前流程; 在确定通过私网路由转发时,依据所述数据报文的目的IP地址在所述私网路由表中查找用于转发所述数据报文的私网路由,如果查找到,则利用查找到的私网路由转发所述数据报文,结束当前流程。一种报文转发装置,该装置应用于网络站点,包括路由表生成单元,用于生成两个相互独立的公网路由表和私网路由表,所述公网路由表记录了作为公网路由的专用线路路由,所述私网路由表记录了作为私网路由的非专用线路路由;报文处理单元,用于确定当前接收的数据报文是通过公网路由转发还是通过私网路由转发;在确定通过公网路由转发时,依据所述数据报文的目的IP地址在所述公网路由表中查找用于转发所述数据报文的公网路由,利用查找到的公网路由转发所述数据报文,结束当前流程;在确定通过私网路由转发时,依据所述数据报文的目的IP地址在所述私网路由表中查找用于转发所述数据报文的私网路由,如果查找到,则利用查找到的私网路由转发所述数据报文,结束当前流程。由以上技术方案可以看出,本发明中,通过生成两个相互独立的公网路由表和私网路由表,所述公网路由表记录了作为公网路由的专用线路路由,所述私网路由表记录了作为私网路由的非专用线路路由,使得站点在接收数据报文时,确定当前接收的数据报文是通过公网路由转发还是通过私网路由转发,如果是前者,则依据所述数据报文的目的IP地址在所述公网路由表中查找用于转发所述数据报文的公网路由,利用查找到的公网路由转发所述数据报文,结束当前流程;如果是后者,依据所述数据报文的目的IP地址在所述私网路由表中查找用于转发所述数据报文的私网路由,如果查找到,则利用查找到的私网 路由转发所述数据报文,结束当前流程,即实现了根据业务选择合适的线路进行转发。


图I为站点之间的组网示意图;图2为本发明实施例提供的方法流程图;图3为本发明实施例提供的报文转发装置结构图。
具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。在本发明提供的方法中,每一站点依据路由协议生成以下两个路由表公网路由表和私网路由表,其中,公网路由表包含的路由为专用线路上的路由,称为公网路由,而私网路由表包含的路由为非专用线路上的路由,称为私网路由。本发明中,公网路由表和私网路由表两者相互独立,其可通过虚拟专用网(VPN)路由转发(VRF)进行区分。所谓VRF,其与VPN——对应,主要是针对其对应的VPN中的路由转发,如此,可以得到公网路由表通过与专用线路相关联的VRF进行标识,其记录的公网路由为与专用线路相关联的VPN的路由,而私网路由表通过与非专用线路相关联的VRF标识,其记录的私网路由为与非专用线路相关联的VPN的路由。基于此,本发明中,每一站点在学习到路由时,如果该学习到的路由是与专用线路相关联的VPN的路由,则将该学习到的路由作为公网路由记录至公网路由表,而如果该学习到的路由是与非专用线路相关联的VPN的路由,则将该学习到的路由作为私网路由记录至私网路由表。其中,与专用线路相关联的VPN、以及与非专用线路相关联的VPN都是预先配置在站点上的。另外,在网络中,全网中的站点相互之间通过至少一条专用线路连接是必不可少的,而并非每一站点都租用非线路与其他站点连接,比如,图I所示的站点I与站点3,这两个站点之间仅存在两条专用线路连接,并没有非专用线路连接,如此,就可以知道,每一站点中的公网路由表记录了到达全网中每一站点的公网路由(记为全网路由),而私网路由表,相对而言,依赖于该站点是否有非专用线路连接而定,记录了其连接的非专用线路对应的私网路由(记为部分路由)。比如,图I中的站点1,其没有通过非专用线路与站点3至站点5连接,仅在与站点2之间采用了非专用线路,因此,站点I的私网路由表中,其不存在至站点3至站点5的路由,仅存在至站点2的路由。基于上面描述的公网路由表和私网路由表,则,本发明提供的第一种方法包括图2所示的流程。第一种方法参见图2,图2为本发明实施例提供的第一种方法流程图。如图2所示,该流程可包括以下步骤步骤201,接收数据报文。 步骤202,确定当前接收的数据报文是通过公网路由转发还是通过私网路由转发,如果是前者,则执行步骤203,如果是后者,则执行步骤204。这里,步骤202中的识别可依赖于访问控制列表(ACL)中的报文类型规则,其中,该报文类型规则为如果数据报文携带的优先级大于设定优先级,则确定数据报文通过公网路由转发,否则,确定数据报文通过私网路由转发。基于此,执行到本步骤202时,就先解析所述数据报文携带的优先级,利用该解析的优先级匹配所述报文类型规则,以确定步骤201接收的数据报文是通过公网路由转发还是通过私网路由转发。优选地,本发明中,通过公网路由转发的数据报文称为第一类报文,其可为一些实时性比较高、比较重要的业务报文,比如语音、视频等,为保证该类报文的服务质量,常通过专用线路传输该类报文。而通过私网路由转发的数据报文称为第二类报文,其相对第一类报文而言,可为一些实时性不是很高、不是很重要的业务报文,由于该类报文实时性要求、重要程度不高,为节省成本,没有必要利用专用线路传输,可通过非专用线路传输。步骤203,依据所述数据报文的目的IP地址在公网路由表中查找用于转发所述数据报文的公网路由,利用查找到的公网路由转发所述数据报文,结束当前流程。本发明中,公网路由表的路由至少包含出端口、目的IP地址。如此,执行到本步骤203时,就以所述数据报文的目的IP地址为关键字在所述公网路由表中查找,如果查找至IJ,则通过该关键字对应的出端口转发所述数据报文。这里,由于公网路由表的公网路由实质为专用链路上的路由,因此,在公网路由表中查找到的出端接口肯定为专用链路上的端口,即实现了通过专用链路传输上述第一类数据报文的目的。步骤204,依据所述数据报文的目的IP地址在私网路由表中查找用于转发所述数据报文的私网路由,如果查找到,则利用查找到的私网路由转发所述数据报文,结束当前流程,如果未查找到,则返回步骤203。本发明中,私网路由表的路由至少包含出接口、目的IP地址。如此,执行到本步骤204时,就以所述数据报文的目的IP地址为关键字在所述私网路由表中查找,如果查找至IJ,则通过该关键字对应的出端口转发所述数据报文;而如果查找不到,则返回步骤203。由于私网路由表的私网路由为非专用链路上的路由,因此,在私网路由表中查找到的出端口肯定为非专用链路上的端口,即实现了通过非专用线路传输上述第二类数据报文的目的。其中,本步骤204之所以在私网路由表中查找不到用于转发所述数据报文的路由时,还返回步骤203,主要是因为基于上面描述,公网路由表包含了全网路由,而私网路由表中只能包含全网中的部分路由,因此,本步骤204在私网路由表中查找不到的路由肯定能够在公网路由表找到,通过公网路由表中找到的路由转发该数据报文,以保证数据报文继续转发,避免业务中断。至此,完成图2所示的流程。
从图2所示的流程可以看出,本发明在站点接收到通过私网路由转发的数据报文即属于上述第二类报文的数据报文时,如果私网路由表中不存在用于转发该数据报文的私网路由,则就以所述数据报文的目的IP地址为关键字在所述公网路由表中查找,如果查找至IJ,则通过该关键字对应的出端口转发所述数据报文。由于私网路由表的私网路由为非专用链路上的路由,公网路由表的公网路由为专用链路上的路由,因此,可以得到本发明在站点接收到属于本应通过非专用线路转发的数据报文时,如果该站点当前不存在到达所述数据报文目的IP地址的非专用线路,则就以专用线路转发所述数据报文,由于站点之间的专用线路是必不可少的,因此,能够保证所述数据报文继续转发,避免业务中断。作为本发明实施例的一种扩展,本发明还提供了另外一种方法(记为第二种方法),下面进行描述第二种方法尽管本发明中的公网路由表和私网路由表两者相互独立,但是,为了保证站点的私网路由表在不存在用于转发数据报文(该数据报文属于上述第二类报文)的私网路由时还能继续保证该数据报文转发,本第二种方法就需要将该站点生成的公网路由表和私网路由表相互关联。本发明中,将公网路由表和私网路由表相互关联的一种优选方式为将公网路由表中的所有公网路由全部导入至私网路由表。由于公网路由表包含了全网路由,因此,将公网路由表中的所有公网路由导入私网路由表,就能保证私网路由表包含了全网路由,实现了站点在其私网路由表不存在用于转发数据报文(该数据报文属于第二类报文)的私网路由时还能继续保证该数据报文转发。下面通过一个实施例进行描述仍以图I为例,在图I中由于站点I和站点3之间不存在非专用线路,因此,站点I的私网路由表中就不存在站点I至站点3的私网路由即非专用线路路由,如果不执行该第二种方法,则当站点I接收到目的IP地址为站点3下连的服务端的IP地址、且属于上述第二类报文的数据报文时,由于站点I的私网路由表中不存在站点I至站点3的私网路由即非专用线路路由,就导致该数据报文无法转发。而通过本方法2,由于已将站点I的公网路由表中的路由导入至私网路由表,如此,尽管站点I的私网路由表中不存在站点I至站点3的私网路由即非专用线路路由,但是,站点I可以依据私网路由表中新导入的、且至所述数据报文目的IP地址的公网路由转发该数据报文,由于公网路由表中的路由为专用线路路由,因此,该至所述数据报文目的IP地址的路由为专用线路路由,则实现了 尽管该接收的数据报文属于第二类报文,应该通过私网路由即非专用线路路由转发,但是,由于站点I不存在该私网路由,只能通过公网路由转发,这保证了数据报文继续转发,避免业务中断。但是,第二种方法中,将公网路由表中的公网路由全部导入到私网路由表中,只能用在公网路由比较少、并且网络结构相对稳定且比较简单的情况,而如果公网路由比较多,则将公网路由导入到存放私网路由的私网路由表中,则必然会导致私网路由表中的路由数目急剧变大,同时,在公网路由发生变化时,还需要同步更新对应的公网路由并导入至私网路由表,这导致私网路由表的维护非常复杂。还有,在公网路由表中的公网路由导入到存放私网路由的私网路由表中之后,还可能存在以下情况出现到达同一目的IP地址的公网路由和私网路由,这样,会增加路由选择的难度,并且,处理这些目的IP地址相同的公网路由和私网路由会占用cpu大量的资源。以上对本发明提供的方法进行了描述,下面对本发明提供的装置进行描述参见图3,图3为本发明实施例提供的报文转发装置结构图。该装置应用于网络站点,如图3所示,该装置可包括路由表生成单元,用于生成两个相互独立的公网路由表和私网路由表,所述公网路由表记录了作为公网路由的专用线路路由,所述私网路由表记录了作为私网路由的非专用线路路由;报文处理单元,用于确定当前接收的数据报文是通过公网路由转发还是通过私网路由转发;在确定通过公网路由转发时,依据所述数据报文的目的IP地址在所述公网路由表中查找用于转发所述数据报文的公网路由,利用查找到的公网路由转发所述数据报文,结束当前流程;在确定通过私网路由转发时,依据所述数据报文的目的IP地址在所述私网路由表中查找用于转发所述数据报文的私网路由,如果查找到,则利用查找到的私网路由转发所述数据报文,结束当前流程。优选地,所述报文处理单元进一步在在未查找到用于转发所述数据报文的私网路由时,依据所述数据报文的目的IP地址在所述公网路由表中查找用于转发所述数据报文的公网路由,利用查找到的公网路由转发所述数据报文,结束当前流程。本发明中,所述报文处理单元通过以下子单元确定当前接收的数据报文是通过公网路由转发还是通过私网路由转发解析子单元,用于解析所述数据报文携带的优先级;确定子单元,用于利用所述优先级和访问控制列表ACL中的报文类型规则确定所述数据报文是通过公网路由转发还是通过私网路由转发;其中,所述报文类型规则为如果数据报文携带的优先级大于设定优先级,则确定数据报文通过公网路由转发,否则,确定数据报文通过私网路由转发。优选地,本发明中,所述公网路由表和私网路由表通过虚拟专用网VPN路由转发VRF区分,其中,所述公网路由表的标识为与专用线路相关联的VRF,其记录的公网路由为与专用线路相关联的VPN的路由,所述私网路由表的标识为与非专用线路相关联的VRF,其记录的私网路由为与非专用线路相关联的VPN的路由。其中,所述网络站点通过专用线路与全网中的其他站点相连,以及,所述网络站点有选择性地通过非专用线路与全网中的至少一个站点相连。由以上技术方案可以看出,本发明中,通过生成上述的公网路由表和私网路由表,使得站点在接收数据报文时,确定当前接收的数据报文是通过公网路由转发还是通过私网路由转发,如果是前者,则依据所述数据报文的目的IP地址在所述公网路由表中查找用于转发所述数据报文的公网路由,利用查找到的公网路由转发所述数据报文,结束当前流程;如果是后者,依据所述数据报文的目的IP地址在所述私网路由表中查找用于转发所述数据报文的私网路由,如果查找到,则利用查找到的私网路由转发所述数据报文,结束当前流程,即实现了根据业务选择合适的线路进行转发;进一步地,本发明中,在接收到属于第二类报文的数据报文时,则优先从私网路由表中选择用于转发所述数据报文的路由进行转发,而如果在私网路由表中选择不出用于转发所述数据报文的路由时,则再从用于转发第一类报文的公网路由表中查找用于转发所述数据报文的路由,以保证数据报文持续转发,避免业务中断。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.ー种报文转发方法,该方法应用于网络站点,其特征在于,该方法包括 生成两个相互独立的公网路由表和私网路由表,所述公网路由表记录了作为公网路由的专用线路路由,所述私网路由表记录了作为私网路由的非专用线路路由; 确定当前接收的数据报文是通过公网路由转发还是通过私网路由转发; 在确定通过公网路由转发时,依据所述数据报文的目的IP地址在所述公网路由表中查找用于转发所述数据报文的公网路由,利用查找到的公网路由转发所述数据报文,结束当前流程; 在确定通过私网路由转发时,依据所述数据报文的目的IP地址在所述私网路由表中查找用于转发所述数据报文的私网路由,如果查找到,则利用查找到的私网路由转发所述数据报文,结束当前流程。
2.根据权利要求I所述的方法,其特征在于,在未查找到用于转发所述数据报文的私网路由时,该方法进ー步包括 依据所述数据报文的目的IP地址在所述公网路由表中查找用于转发所述数据报文的公网路由,利用查找到的公网路由转发所述数据报文,结束当前流程。
3.根据权利要求I所述的方法,其特征在于,确定当前接收的数据报文是通过公网路由转发还是通过私网路由转发包括 解析所述数据报文携帯的优先级; 利用所述优先级和访问控制列表ACL中的报文类型规则确定所述数据报文是通过公网路由转发还是通过私网路由转发;其中,所述报文类型规则为如果数据报文携带的优先级大于设定优先级,则确定数据报文通过公网路由转发,否则,确定数据报文通过私网路由转发。
4.根据权利要求I至3任一所述的方法,其特征在于,所述公网路由表和私网路由表通过虚拟专用网VPN路由转发VRF区分,其中,所述公网路由表通过与专用线路相关联的VRF标识,其记录的公网路由为与专用线路相关联的VPN的路由,所述私网路由表通过与非专用线路相关联的VRF进行标识,其记录的私网路由为与非专用线路相关联的VPN的路由。
5.根据权利要求4所述的方法,其特征在于,所述网络站点通过专用线路与全网中的其他站点相连,以及,所述网络站点有选择性地通过非专用线路与全网中的至少ー个站点相连。
6.ー种报文转发装置,该装置应用于网络站点,其特征在于,该装置包括 路由表生成単元,用于生成两个相互独立的公网路由表和私网路由表,所述公网路由表记录了作为公网路由的专用线路路由,所述私网路由表记录了作为私网路由的非专用线路路由; 报文处理单元,用于确定当前接收的数据报文是通过公网路由转发还是通过私网路由转发; 在确定通过公网路由转发时,依据所述数据报文的目的IP地址在所述公网路由表中查找用于转发所述数据报文的公网路由,利用查找到的公网路由转发所述数据报文,结束当前流程; 在确定通过私网路由转发时,依据所述数据报文的目的IP地址在所述私网路由表中查找用于转发所述数据报文的私网路由,如果查找到,则利用查找到的私网路由转发所述数据报文,结束当前流程。
7.根据权利要求6所述的装置,其特征在干,所述报文处理单元进ー步在在未查找到用于转发所述数据报文的私网路由时,依据所述数据报文的目的IP地址在所述公网路由表中查找用于转发所述数据报文的公网路由,利用查找到的公网路由转发所述数据报文,结束当前流程。
8.根据权利要求6所述的装置,其特征在干,所述报文处理单元通过以下子単元确定当前接收的数据报文是通过公网路由转发还是通过私网路由转发 解析子単元,用于解析所述数据报文携帯的优先级; 确定子単元,用于利用所述优先级和访问控制列表ACL中的报文类型规则确定所述数据报文是通过公网路由转发还是通过私网路由转发;其中,所述报文类型规则为如果数据报文携帯的优先级大于设定优先级,则确定数据报文通过公网路由转发,否则,确定数据报文通过私网路由转发。
9.根据权利要求6至8任一所述的装置,其特征在于,所述公网路由表和私网路由表通过虚拟专用网VPN路由转发VRF区分,其中,所述公网路由表的标识为与专用线路相关联的VRF,其记录的公网路由为与专用线路相关联的VPN的路由,所述私网路由表的标识为与非专用线路相关联的VRF,其记录的私网路由为与非专用线路相关联的VPN的路由。
10.根据权利要求9所述的装置,其特征在于,所述网络站点通过专用线路与全网中的其他站点相连,以及,所述网络站点有选择性地通过非专用线路与全网中的至少ー个站点相连。
全文摘要
本发明提供了报文转发方法和装置。该方法应用于网络站点,包括生成两个相互独立的公网路由表和私网路由表,所述公网路由表记录了作为公网路由的专用线路路由,所述私网路由表记录了作为私网路由的非专用线路路由;确定当前接收的数据报文是通过公网路由转发还是通过私网路由转发;在确定通过公网路由转发时,依据所述数据报文的目的IP地址在所述公网路由表中查找用于转发所述数据报文的公网路由,利用查找到的公网路由转发所述数据报文,结束当前流程;在确定通过私网路由转发时,依据所述数据报文的目的IP地址在所述私网路由表中查找用于转发所述数据报文的私网路由,如果查找到,则利用查找到的私网路由转发所述数据报文,结束当前流程。
文档编号H04L12/56GK102664811SQ20121013917
公开日2012年9月12日 申请日期2012年5月4日 优先权日2012年5月4日
发明者于效强 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1