CN105471747B - 一种智能路由器选路方法和装置 - Google Patents
一种智能路由器选路方法和装置 Download PDFInfo
- Publication number
- CN105471747B CN105471747B CN201510828560.0A CN201510828560A CN105471747B CN 105471747 B CN105471747 B CN 105471747B CN 201510828560 A CN201510828560 A CN 201510828560A CN 105471747 B CN105471747 B CN 105471747B
- Authority
- CN
- China
- Prior art keywords
- routing
- intelligent
- index table
- sublist
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/74591—Address table lookup; Address filtering using content-addressable memories [CAM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明适用于数据通信领域,提供了一种智能路由器选路方法和装置,所述方法包括:根据待路由转发的数据报文中所携带的目的地址,查找所述基本路由表,获得在所述二维索引表中的行号;其中,基本路由表中存储有各目的地址和相应的目的地址在所述二维索引表中的行号;根据选路策略到所述智能选路表中对应类型的子表中查找相应的二维索引表中的列号;根据获取的二维索引表中的行号和列号,查找所述二维索引表获得映射值;根据所述映射值在接口映射表中查找下一跳的网络地址。智能选路改变传统路由表只能基于目的地址进行转发的方式,扩展智能规则,通过二者的结合,实现智能转发。
Description
技术领域
本发明属于数据通信领域,尤其涉及一种智能路由器选路方法和装置。
背景技术
传统的互联网路由器是根据数据包目的地址进行路由转发的,这种路由器的一般只利用目的地址对数据包进行分类。然而,越来越多互联网应用对路由器提出了更高的要求,例如策略路由、路由路径的安全性、流量工程、服务质量等。由于传统路由器架构的缺陷,使得路由器提供更高级别的服务上很难有所创新和发展。
出于对网络性能和可靠性的考虑,网络中两个节点之间存在多条路径是非常普遍的。但是,对于拥有两条或两条以上路径的路由器,如何既保证使用最佳路径选择,同时又保证多条链路带宽被充分利用,提高网络利用效率,传统路由器实现困难。
互联网已经进入应用为王的时代,运营商如何为客户提供高质量的网络服务?如何按应用指定线路资源,做到随需应变?对于运营商的优质线路,如果运行P2P应用就是浪费,目前各运营商采用人工方式将认为需要通向优质线路的IP,或者IP网段在路由器上设置静态路由,进行流量牵引。这种采用人工方式将不同IP网段的报文通过静态路由的方式发送到对应的线路上,人工工作量大,每天手工修改路由;主动性少,只有被投诉,才知道IP。而且不够智能,遗漏多,关键应用IP未进入优质线路;同时浪费多,非关键应用IP进入优质线路。因此基于应用进行智能选路是有必要的。
在出口网关路由设备上,让P2P,迅雷等占带宽的业务走带宽较大,但质量不高的链路,让网页及其他关键的业务流量走高质量链路,即根据数据流所属的应用类别(如P2P、视频、网页)来选择路由,在传统路由器中实现困难。
在多路径的路由设备上,经常出现访问某一网络的资源,即使存在直接路由的情况下,由于为了实现负载均衡,跨过多个不同网络到达目的。如访问一台路由器有两条链路,一条电信,一条联通,由于实现负载均衡,经常出现访问联通资源的数据从电信出口出去,造成跨运营商访问。造成时延大,用户感知也很差。
发明内容
本发明实施例的目的在于提供一种智能路由器选路方法和装置,以解决现有技术在尽量保证最快链路的前提下,合理利用链路多路径,使得网络路由将变得更有效率的问题。
本发明实施例是这样实现的,一方面,本发明实施例提供了一种智能路由器选路方法,智能路由系统中存储有基本路由表、智能选路表、二维索引表和接口映射表,所述方法包括以下步骤:
根据待路由转发的数据报文中所携带的目的地址,查找所述基本路由表,获得在所述二维索引表中的行号;其中,基本路由表中存储有各目的地址和相应的目的地址在所述二维索引表中的行号;
根据选路策略到所述智能选路表中对应类型的子表中查找相应的二维索引表中的列号;
根据获取的二维索引表中的行号和列号,查找所述二维索引表获得映射值;
根据所述映射值在接口映射表中查找下一跳的网络地址。
优选的,所述智能选路表中对应类型的子表包括:应用选路子表和源地址子表,其中,应用选路子表中存储不同传输协议所对应的二维索引表中的列号;源地址子表中存储数据报文中不同源地址所对应的二维索引表中的列号。
优选的,所述二维索引表的不同列对应不同的传输要求,所述传输要求包括时延最低、剩余带宽最大、剩余带宽次之和/或剩余带宽小;其中,所述传输要求对应所述应用选路子表中不同传输协议和/或所述传输要求对应所述源地址子表中不同的源地址。
优选的,所述选路策略具体包括:
按照应用选路子表和源地址子表优先级从高到低进行查找,若查找到符合条件的结果,即结束二维索引表中的列号的查找;或者,
按照源地址子表和应用选路子表优先级从高到低进行查找,若查找到符合条件的结果,即结束二维索引表中的列号的查找。
优选的,所述基本路由表和智能路由表存储在三重内容寻址存储器TCAM中;所述二维索引表和接口映射表存储在静态随机存取存储器SRAM中。
优选的,根据查找出的多个下一跳的网络地址生成到达目的地址的路径,指定探测报文测试所述路径;并在探测报文反馈路径存在链路故障时,自动进行切换,并将流量分配到合适的路径上。
另一方面,本发明实施例还提供了一种智能路由器选路装置,其特征在于,所述智能路由器选路装置包括基本路由表查询模块、智能选路表查询模块、二维索引表查询模块、接口映射表查询模块和存储模块,具体的:
所述存储模块,用于存储有基本路由表、智能选路表、二维索引表和接口映射表;
所述基本路由表查询模块,用于根据待路由转发的数据报文中所携带的目的地址,查找所述基本路由表,获得在所述二维索引表中的行号;其中,基本路由表中存储有各目的地址和相应的目的地址在所述二维索引表中的行号;
所述智能选路表查询模块,用于根据选路策略到所述智能选路表中对应类型的子表中查找相应的二维索引表中的列号;
所述二维索引表查询模块,用于根据获取的二维索引表中的行号和列号,查找所述二维索引表获得映射值;
所述接口映射表查询模块,用于根据所述映射值在接口映射表中查找下一跳的网络地址。
优选的,所述存储模块具体包括三重内容寻址存储器TCAM和静态随机存取存储器SRAM,则:
所述基本路由表和智能路由表存储在TCAM中;所述二维索引表和接口映射表存储在SRAM中。
优选的,所述智能路由器选路装置还包括探测模块,具体的:
所述探测模块用于探测故障路径,并在出现链路故障时,自动进行切换,并将流量分配到合适的路径上。
本发明实施例提供的一种智能路由器选路方法和装置的有益效果包括:智能选路改变传统路由表只能基于目的地址进行转发的方式,扩展智能规则,通过二者的结合,实现智能转发。使得不同类型的应用走不同的路径进行转发,也可实现依据实时更新的地址库进行转发,另外还可实现基于源地址进行安全检查和转发。智能选路系统可根据需要进一步扩充选路规则,扩充时只需增加相应的智能规则表。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种智能路由器选路方法系统交互图;
图2是本发明实施例提供的一种智能路由器选路方法的流程示意图;
图3是本发明实施例提供的一种智能路由器选路装置的流程示意图;
图4是本发明实施例提供的一种智能路由系统转发面路由结构示意图;
图5是本发明实施例提供的一种智能路由系统控制面路由结构示意图;
图6是本发明实施例提供的一种智能路由方法路由查找流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
如图1所示,常规的路由器包括控制平面以及转发平面。控制平面主要集中在控制平面软件的运行、相关资源产生以及使用等;转发平面包含转发行为,比如查表,转发表报文等。链路失效、节点故障等都能引起网络拓扑的变化,网络中的流量也在时时变化,到达同一个目的地的最佳路径都会因为这些情况的改变而变得不再是最佳,因此IP协议要想对收到的数据报文作出正确地转发决定,必须要有一张能实时反映网络拓扑,甚至流量状况的路由表。控制平面就是让路由器能够拥有一张这样的路由表,转发平面实现尽量快速的对数据报文进行转发。路由器转发面和控制面相互配合,才能更好的完成转发任务。
传统互联网路由器转发报文根据报文的目的IP地址进行路由转发,这种一维路由有很多局限性,新的业务对路由器提出了更高的要求。采用智能路由,可以解决一维路由的诸多问题。智能路由为更灵活地控制转发分组,将其他选路其他信息加入路由体系,使转发表表项结构变为二维,转发时先匹配目的前缀保证可达性,同时实现基于多维度的转发。
智能路由系统如果需要兼容原有路由系统,可以采用在现有路由器中扩展一块智能路由板卡,对所有需要路由的业务数据,使其经过智能路由板卡,由智能路由板卡进行转发,这样可以不修改原有的系统,实现智能路由转发。对于可进行修改的路由系统,可在交换板卡或者接口板卡中直接随板实现。智能路由系统的转发平面、控制平面和智能路由处理交互图如图1所示。在各种板卡中实现的方式类似,后面的描述中,不区分不同板卡的形式,统一按照智能路由系统进行描述。
在智能路由系统中,进行转发时的路由条目,除目的地址之外,还需要判断其他因素,这些因素包括应用类型、时延最短、路径最短、源地址、地址库等信息。因此,智能路由系统中的转发面路由表是一个二维索引表,目的地址形成二维索引表的行,其他因素信息形成二维索引表的列。转发时根据行和列信息,查找下一跳接口,进行转发。接下来将通过多个实施例从各个角度、各个层面阐述如何实现本发明。
实施例一
本发明实施例提供的一种智能路由器选路法,智能路由系统中存储有基本路由表、智能选路表、二维索引表和接口映射表,如图2所示,所述方法包括以下步骤:
在步骤201中,根据待路由转发的数据报文中所携带的目的地址,查找所述基本路由表,获得在所述二维索引表中的行号。
其中,基本路由表中存储有各目的地址和相应的目的地址在所述二维索引表中的行号。如图4所示,是本发明实施例提供的智能路由器所使用的各表的关联关系图,其中,基本路由表的一种表格方式可参考图4中基本路由表所示。
在步骤202中,根据选路策略到所述智能选路表中对应类型的子表中查找相应的二维索引表中的列号。
在本发明实施例所提出的智能路由器中,对于数据的转发,除了基于现有技术所运用的目的地址之外,还需要匹配智能选路信息,通过这两部分信息组成的二维索引表内容确定转发出接口。智能选路信息由多张表组成,可根据需要进行扩展,初步定义了应用选路表、地址库表和源地址表等(如图4中智能选路表所示)。
在步骤203中,根据获取的二维索引表中的行号和列号,查找所述二维索引表获得映射值。
在步骤204中,根据所述映射值在接口映射表中查找下一跳的网络地址。
本发明实施例所提出的智能选路改变传统路由表只能基于目的地址进行转发的方式,扩展智能规则,通过二者的结合,实现智能转发。使得不同类型的应用走不同的路径进行转发,也可实现依据实时更新的地址库进行转发,另外还可实现基于源地址进行安全检查和转发。智能选路系统可根据需要进一步扩充选路规则,扩充时只需增加相应的智能规则表。
结合本发明实施例,在步骤201-204中所涉及的查找,具体在是现实还可以描述为匹配过程,具体的:如果匹配规则为固定字段,则直接采用数据+掩码的方式进行匹配;如果匹配的是位置不固定的特征字段,则通过正则表达式匹配的方式进行匹配。匹配成功后,则选取该应用类型对应的路径优先级。所述优先级在本发明实施例中还表现为“行号”和“列号”。
相比较现有的路由器的选路方式,在本发明实施例一中通过增加智能选路表、二维索引表和接口映射表的方式,提供了一种选路策略更为合理的方法,因此,结合本发明实施例,存在一种优选的方案,所述智能选路表中对应类型的子表包括:应用选路子表和源地址子表,其中,应用选路子表中存储不同传输协议所对应的二维索引表中的列号;源地址子表中存储数据报文中不同源地址所对应的二维索引表中的列号。
基于源地址选路方式,在源地址选路表中,通过匹配具体的源地址,获取相应的路径优先级,源地址信息可通过配置或者导入配置方式实现。利用智能路由系统,源地址检查功能可以部署在网络的中间,即中间的路由器也可以参与到安全检查的过程中来,这使得整个网络抵御攻击的能力变强,防范更加有针对性。另外,基于源地址选路可方便实现策略路由,对数据流量转发路径进行灵活控制。
结合本发明实施例,存在一种可扩展方案,其中,所述二维索引表的不同列对应不同的传输要求,所述传输要求包括时延最低、剩余带宽最大、剩余带宽次之和/或剩余带宽小;其中,所述传输要求对应所述应用选路子表中不同传输协议和/或所述传输要求对应所述源地址子表中不同的源地址。
结合本发明实施例,存在一种可扩展方案,其中,所述选路策略具体包括:
按照应用选路子表和源地址子表优先级从高到低进行查找,若查找到符合条件的结果,即结束二维索引表中的列号的查找;或者,
按照源地址子表和应用选路子表优先级从高到低进行查找,若查找到符合条件的结果,即结束二维索引表中的列号的查找。
结合本发明实施例,存在一种可扩展方案,其中,所述基本路由表和智能路由表存储在三重内容寻址存储器TCAM中;所述二维索引表和接口映射表存储在静态随机存取存储器SRAM中。
实施例二
如图3所示为本发明实施例提供的一种智能路由器选路装置,所述智能路由器选路装置包括基本路由表查询模块11、智能选路表查询模块12、二维索引表查询模块13、接口映射表查询模块14和存储模块15,具体的:
所述存储模块15,用于存储有基本路由表、智能选路表、二维索引表和接口映射表;
所述基本路由表查询模块11,用于根据待路由转发的数据报文中所携带的目的地址,查找所述基本路由表,获得在所述二维索引表中的行号;其中,基本路由表中存储有各目的地址和相应的目的地址在所述二维索引表中的行号;
所述智能选路表查询模块12,用于根据选路策略到所述智能选路表中对应类型的子表中查找相应的二维索引表中的列号;
所述二维索引表查询模块13,用于根据获取的二维索引表中的行号和列号,查找所述二维索引表获得映射值;
所述接口映射表查询模块14,用于根据所述映射值在接口映射表中查找下一跳的网络地址。
智能选路改变传统路由表只能基于目的地址进行转发的方式,扩展智能规则,通过二者的结合,实现智能转发。使得不同类型的应用走不同的路径进行转发,也可实现依据实时更新的地址库进行转发,另外还可实现基于源地址进行安全检查和转发。智能选路系统可根据需要进一步扩充选路规则,扩充时只需增加相应的智能规则表。
结合本发明实施例,存在一种可扩展方案,其中,所述存储模块15具体包括三重内容寻址存储器TCAM和静态随机存取存储器SRAM,则:
所述基本路由表和智能路由表存储在TCAM中;所述二维索引表和接口映射表存储在SRAM中。
结合本发明实施例,存在一种可扩展方案,其中,所述智能路由器选路装置还包括探测模块,具体的:
所述探测模块用于探测故障路径,并在出现链路故障时,自动进行切换,并将流量分配到合适的路径上。
值得说明的是,上述装置和系统内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
实施例三
本发明实施例基于实施例一及实施例二所提供的一种智能路由器选路方法和装置基础上,进一步提供了其中所涉及的智能路由及优先级设定。具体的:
在智能路由系统中,每一条路由存在多条路径,不同下一跳的顺序,表示了不同路径的优先级。对每一条的第一个下一跳表示基于最短时延确定的路径,第二个下一跳表示剩余带宽最大路径的下一跳,第三个及以后的下一跳依次表示剩余带宽依次减少的路径。智能路由系统可以配置选择固定的不同路径数目,如果一条路由中仅有一条路径或者少于配置的不同路径数目,则路径不足部分与最后一条路径下一跳相同。
对于剩余带宽的动态变化,智能路由系统对剩余带宽的大小需要每5分钟(可设置)进行一次更新。
对于智能路由系统中的第一条时延最短路径,则需要在接收到数据包后,通过对每一条路由远端目的地进行探测,探测从哪条链路转发时延最小。时延最小路径缺省5分钟后老化,当时延最小路径表项老化后,后续报文要重新进行探测。
智能选路功能可以在时延最小链路上设置剩余带宽阈值,一旦此链路的剩余带宽达到设置的带宽阈值时,将产生告警,后续匹配到此目的网段的流量将会选择第二条链路(剩余带宽最大)进行转发。
智能选路功能通过设置阈值方式,弥补了自动探测方式因大部分流量从某一条时延最小的链路转发而导致其它链路空闲的缺陷,使智能选路功能更加适用于现网复杂的网络环境。
实施例四
本发明实施例基于实施例一及实施例二所提供的一种智能路由器选路方法和装置基础上,进一步提供了其中所涉及的智能路由系统转发面转发路由表,具体的:
和传统转发表不同,智能路由系统转发表存储了一个规则集合,每个规则是一个(目的网络地址,智能选路信息,下一跳)三元组,当某个报文到达时,匹配的规则是:首先按目的网络地址最长匹配,得到一个与这个目的网络地址相关联的规则的子集合,然后再在这个子集合里匹配智能选路信息,得到路径的优先级,输出这个优先级对应的下一跳接口即可。对于转发面表项,采用二维路由转发表结构,由两个存储在TCAM中的表,和两个存储在SRAM中的表组成,不同表项存储位置不同,主要考虑到查询效率,TCAM查询效率高,速度快,但资源有限,存储在SRAM中的表项无需多次查找,可直接根据关键字获取。
(1)表项结构设计
智能路由表转发表结构示意图如图4所示,包含基本路由表、智能选路表、二维索引表和接口映射表。
基本路由表:在TCAM中的一个表项,存储目的网络地址信息,与传统路由表类似;
智能选路表:在TCAM中的一个或多个表格,存储智能选路信息;
二维索引表:在SRAM中的一个二维表格,存储经过索引的下一跳信息;
接口映射表:在SRAM中的一个表格,存储索引号和下一跳信息之间的映射信息。
(2)表项查询操作
对于每一条规则(目的地址,智能选路信息,下一跳),目的地址存储在基本路由表中,智能选路信息存储在智能选路表中。通过目的地址,基本路由表会输出一个行号,通过智能选路信息,智能选路信息表会输出一个列号。通过行号和列号,我们可以访问二维索引表中的一个单元格(就是智能选路信息和目的地址对应的下一跳在接口映射表的行号),二维索引表会输出一个索引号。通过索引号查找接口映射表,可以得到下一跳信息。如图4,对于规则(1.1.2.0,ftp应用,1.1.0.3),目的地址1.1.2.0网段存储在基本路由表中并对应第一行(以0行为基数),ftp应用存储在智能选路表中的应用选路表并对应第2列。在二维索引表中,第1行、第2列的单元格的索引号为2。在接口映射表中,索引号2对应的下一跳信息为1/0/2接口,下一跳地址为1.1.0.3。
为了解决某些情况下,根据智能选路信息和目的地址在二维索引表中找不到下一跳索引情况,对每一个目的地址都分配一个默认下一跳映射值,此时就使用这个默认下一跳映射值去找下一跳信息。通过这种方法既解决了二维索引表中空索引带来的转发不确定因素,还可以兼容传统的路由转发表,而不需要对传统转发表做大的改动。
(3)表项更新操作
表项更新分为表项添加、删除以及内容更新。添加先分别根据目的地址和智能选路信息在对应的表中查找,找到则记下对应行号或者列号,找不到则新增表项,分配新的行号或者列号,同时在SRAM里面对下一跳也进行类似操作,找到或者新分配下一跳对应的索引,根据目的路由的行号和智能选路信息的列号把索引填到SRAM的二维索引表中。删除就是分别根据目的地址和智能选路信息在对应的表中查找,删除找到的表项信息。更新主要是更新下一跳映射表,操作比较简单。
实施例五
本发明实施例基于实施例一及实施例二所提供的一种智能路由器选路方法和装置基础上,进一步提供了其中所涉及的智能路由系统控制面路由表,具体的:
智能路由系统控制面路由表采用二维路由结构。传统一维路由系统主要通过二叉树来存储路由信息,对于智能路由系统路由,需要考虑扩展为二维二叉树结构。二维路由中的目的地址仍然按照二叉树存储,每个节点下,再下挂一个二叉树子树,子树中的节点,保存转发路径信息。将一维路由<dest>转换成二维路由<dest,*>,可达到二维路由存储兼容一维路由存储的效果。在控制面的存储结构如图5所示。
路由表的存储设计上,确定了目的地址查找优先级高于其他选路信息的查找优先级。在传统路由中,存在很多路由地址对应一个下一跳的情况,考虑到智能路由的相似性,智能路由表也存在类似问题。因为智能路由系统采用了二级二叉树存储,对内存空间的消耗比传统路由大,为了减少对内存的消耗,可以考虑对下一跳进行整合。下一跳整合中利用索引机制,每个下一跳分配一个索引,二叉树中只保存该下一跳相关信息的索引,然后再单独建一个表,保存下一跳索引以及下一跳相关信息。与转发面转发表中的接口映射表类似。
智能选路二维路由在进行精确查找时,先访问目的地址二叉树,进行目的地址精确匹配,找到对应节点后,访问该节点下的选路信息二叉树,进行选路信息精确匹配。
二维路由在进行最长匹配时,如图6所示智能路由系统路由查找流程图,先访问目的地址二叉树,进行目的地址最长匹配,找到对应目的地址节点后,访问该节点下的选路信息二叉树,进行选路信息匹配,选路信息匹配成功则结束,匹配不成功,需要回溯到次长目的地址节点,访问该节点下的选路信息二叉树,再次进行选路信息匹配。
控制面的智能路由查找,由于要经过两次avl树查找,因此查找时间,是一维路由查找的两倍。对于控制面来说,这个查找效率也是可以满足要求的。
控制面向转发面路由信息的同步,只需在原有信息的基础上增加选路信息。由于一维路由<dest>可转换成二维路由<dest,*>,因此二维路由的同步也是可以兼容一维路由的。
二级二叉树的添加,先根据路由目的地址在目的二叉树中查找目的节点,如果找到相关目的节点,再在对应选路信息二叉树中根据选路信息查找节点,找到就更新,找不到就添加一个节点;找不到目的节点,就添加一个目的节点,然后再创建一个智能选路信息二叉树,把选路信息节点添加进去。更新就是根据目的IP和选路信息查找对应的节点,找到就更新出接口、下一跳等相关信息;找不到就不操作。删除也是先进行二级二叉树查找,找不到对应节点,直接返回;找到对应节点,先删除选路信息二叉树节点,如果选路信息节点二叉树为空,则删除该二叉树,然后删除目的地址二叉树对应节点,删除完毕,如果目的地址二叉树为空,则删除该树。
实施例六
本发明实施例基于实施例一及实施例二所提供的一种智能路由器选路方法和装置基础上,进一步提供了其中所涉及的智能路由系统中的其他配置,具体的:
智能路由表主要静态配置方式如下。
(1)接口智能选路配置:在原来配置基础上,增加该接口的智能选路方式,如选择基于应用类型、基于时延、基于源地址、基于地址库等方式。
(2)全局静态智能选路配置:基于设备,配置全局的智能选路方式,目的可以减少接口配置的工作量。
(3)智能选路信息生成:应用类型库、地址库和源地址通过静态配置生成,最好从外部导入相应的文件产生,另外可通过SDN设备掌控网络分配信息,路由器设备可通过某种方式,从SDN设备上,获取相关地址,然后结合本地接口,产生本地智能选路信息。
实施例七
本发明实施例基于实施例一及实施例二所提供的一种智能路由器选路方法和装置基础上,进一步提供了其中所涉及的智能选路方式,具体的:
在智能路由系统中,对于数据的转发,除了基于目的地址之外,还需要匹配智能选路信息,通过这两部分组成的智能路由表内容确定转发出接口。通过实现智能路由表,对传统的一维路由表进行扩充,提升网络的可靠性、兼容性和可部署性。智能选路信息由多张表组成,可根据需要进行扩展,初步定义了应用表、地址库表和源地址表等。
基于应用选路实现方式,在应用选路表项中,包含应用类型、匹配规则、路径优先级序列号,在进行匹配时,如果匹配规则为固定字段,如UDP、TCP端口和类型等,则直接采用数据+掩码的方式进行匹配;如果匹配的是位置不固定的特征字段,则需要通过正则表达式匹配的方式进行匹配。匹配成功后,则选取该应用类型对应的路径优先级序列号,如P2P类型优先级设定为5,语音H323等类型优先级设定为1。基于应用的选路方式,可一次性对常用的类型进行配置,或者从外部进行导入配置。
基于地址库选路实现方式,在地址库选路表中,通过匹配具体的目的地址,进行数据包的目的地址转换,并获取相应的路径优先级。地址库信息可通过配置或者导入配置方式实现。主要用于处理同一服务具备多个网络服务器(如不同运营商)支持时,启用地址库路由,让不同网络数据尽量在同一网络转发,避免跨网络运行服务,造成时延高、体验差。
基于源地址选路方式,在源地址选路表中,通过匹配具体的源地址,获取相应的路径优先级。源地址信息可通过配置或者导入配置方式实现。传统网络大多都把安全检查功能放在边界路由器上。但是,对于越来越大规模的网络攻击,边界路由器的资源显得越来越紧缺。利用智能路由系统,源地址检查功能可以部署在网络的中间,即中间的路由器也可以参与到安全检查的过程中来,这使得整个网络抵御攻击的能力变强,防范更加有针对性。另外,基于源地址选路可方便实现策略路由,对数据流量转发路径进行灵活控制。
根据智能路由的智能选路特性,可以将流量分配到最合适的路径上去,避免普通转发或者负载均衡容易导致的网络拥塞,不能保护优先级高的用户数据流,以及不能保证高优先级数据流在全网的可靠传输。通过利用智能路由,可以显式地指定探测报文行走的路径,从而很容易诊断路径上的设备的状态,提高网络的可诊断性。通过利用智能路由,对于同一个目的地具有多条路径时,当探测到故障时,路由器可以马上切换到其他路径上去。利用智能路由,路由器可以很容易根据源地址进行链路控制和策略路由。通过对现有路由器的扩展板卡,即可实现智能选路,保护了现网投资,减少改造成本。
实施例八
本发明实施例基于实施例一及实施例二所提供的一种智能路由器选路方法和装置基础上,进一步提供了其中所涉及的智能选路表生成,具体的:
在智能路由系统中,转发路由表的结构分为四张表一起组成,四张表为基本路由表、智能转发表、二维索引表和接口表。
基本路由表和普通路由表类似,以目的地址和掩码为关键字形成路由条目,查找基本路由表,每一条路由条目包含二维索引表中的一个行号,在路由表中还包含一个匹配种类的字段,主要包含以下几种方式:基于应用选路方式、基于地址库选路方式和基于源地址选路方式,其他方式可以根据需要进行扩充。基本路由表用于根据数据包目的地址最长匹配,得到一个与这个目的地址相关联的二维索引表中下一跳子集合。
智能转发表为根据匹配种类形成的智能规则表,该表由多张表组成,包含应用选路表、地址库表和源地址表等。应用选路表中包含应用类型、匹配规则、路径优先级、接口等信息;地址库表包含目的地址、等价地址、路径优先级等信息;源地址表包含源IP地址、路径优先级等信息。智能转发表中各表项通过查找获取路径优先级,该优先级值对应二维索引表中列值。
二维索引表为根据行号和列号获取接口索引,行号根据基本路由表目的地址获得,列号为每条路径优先级,优先级高则排在最前面,依此类推,关于优先级的定义可根据需要进行定义,在本发明中,第一列表示时延最低的路由,优先级值为0,第二列及以后,表示剩余带宽依次减小,优先级为从1开始增加。二维索引表中行和列对应的数值表示下一跳的索引,没有采用具体下一跳接口形式,由于下一跳个数及管理信息较多,因此采用索引的方式。
接口表表示具体物理接口信息、接口数据流量统计等。二维索引表中值和接口表索引值对应,二维索引表中通过索引查找出接口表,找到出接口的详细信息。
智能选路改变传统路由表只能基于目的地址进行转发的方式,扩展智能规则,通过二者的结合,实现智能转发。使得不同类型的应用走不同的路径进行转发,也可实现依据实时更新的地址库进行转发,另外还可实现基于源地址进行安全检查和转发。智能选路系统可根据需要进一步扩充选路规则,扩充时只需增加相应的智能规则表。
当从设备接口收到数据包时,对于需要三层转发的数据包发送给智能路由系统进行处理,在智能路由系统中,根据目的地址最长匹配,从基本路由表中得到一个与这个目的地址相关联的条目,即二维索引表的行号;然后检查该条目需要匹配的规则,在智能规则表中进行匹配。如果同时需要匹配多条规则,则分别和智能规则表中的多个表进行匹配,选取优先级最高的路径优先级作为最终的数据转发路由的优先级,即二维索引表的列号。获取二维索引表的行号和列号后,查询二维索引表获取下一跳索引,根据该索引在出接口表中的找到对应的出接口信息,进行数据转发,同时对出接口的转发数据进行相应的统计。
实施例九
本发明实施例基于实施例一及实施例二所提供的一种智能路由器选路方法和装置基础上,进一步提供了其中所涉及的多条路径及下一跳,具体的:
路由的多路径通过各种路由协议计算多条路径产生,需要对传统路由协议进行修改,除计算最短路径外,还需计算尽量节点不重合的第二短到第n短路径(n为配置的不同路径数目),组成一条路由的多条路径。如果路径条目数不够,则后面优先级低的路径重合。对于特定要求的路由,可通过探测多条路径后,将其放在固定位置。例如如果需要加强时延最短路径要求,可在选取的n条路径中,探测各条路径的时延,将时延最短确定为优先级最高,其他路径按照最短或者剩余带宽等规则组织。
具体步骤如下:
在每一条路由中,具有n个下一跳,这n个下一跳来源于多条路径,为保证和现有路由协议一致,智能路由系统在获取网络节点路由信息后,按以下步骤计算一条路由的多条路径:
(1)计算某一条路由的最短路径,作为路由的第一条路径;
(2)除首尾节点外,排除已成为路由路径的节点,在剩余节点中计算最短路径;
(3)第二步中,如果网络不连通,则加入其中的关键节点,形成连通网络,计算最短路径;
(4)如果第三步中有多个关键节点,则分别加入,计算多个最短路径后,分别选取所需数目的路径;
(5)重复步骤2~4,直至选取所需的路径数目。
按照以上方法,对所有路由计算n条路径。如果不能获取到所需的n条路径数目,则在路由下一跳中优先级较高的填为获取的路径,不足部分和最后一条路径索引相同。
实施例十
本发明实施例基于实施例一及实施例二所提供的一种智能路由器选路方法和装置基础上,进一步提供了其中所涉及的多路径优先级属性与获取,具体的:
在二维索引表中每一条路由具有多个不同优先级路径对应的下一跳索引,各路径优先级定义如下:第一列优先级为0对应多条路径中时延最小路径,第二列及以后路径优先级数值从1开始递增,表示剩余带宽逐渐减小,优先级数值越大,优先级越低。
在根据最短路径计算出n条路径后,通过snmp获取每一条路径上节点相应转发接口的剩余带宽,每一条路径所有节点中最小剩余带宽作为该路径剩余带宽。路径剩余带宽越大,路径优先级越高。每一条路由的多条路径中的第2个到第n+1个下一跳,按照剩余带宽大小顺序依次填入。
由于剩余带宽的动态变化,剩余带宽的大小需要每5分钟(可设置)进行一次更新。
对于智能路由系统中的第一条时延最短路径,则需要在接收到数据包后,通过对每一条路由远端目的地进行探测,探测从哪条链路转发时延最小,详细过程如下:
1、当用户访问外网的报文到达智能路由系统后,智能路由系统首先查找报文中的目的IP地址。
2、查找到报文的目的IP后,智能路由系统会从n条选定的路径发送ICMP报文对这目的地址进行探测,通常是每条链路发送4个ICMP报文。发送ICMP报文的源地址为出接口地址,目的地址为用户报文的目的IP地址。
3、通过汇总4个ICMP报文的平均值,智能路由系统会计算从每条链路发送ICMP报文到目的IP的时延,从中选择时延最小的链路为用户报文转发时延最小的链路。
4、确定最小时延路径后,将其下一跳作为该路由优先级为0的路径下一跳,后续需要时延最小的报文都会选择从此链路转发。
当然以上转发是在时延最佳出接口没有老化的情况下(缺省为5分钟),当时延最佳出接口表项老化后,后续报文要重新进行探测。
智能选路功能可以在时延最小链路上设置剩余带宽阈值,一旦此链路的剩余带宽达到设置的带宽阈值时,将产生告警,后续匹配到此目的网段的流量将会选择其他链路(剩余带宽较大)进行转发。
智能选路功能通过设置阈值方式,弥补了自动探测方式因大部分流量从某一条时延最小的链路转发而导致其它链路空闲的缺陷,使智能选路功能更加适用于现网复杂的网络环境。
通过智能路由系统可实现一旦一条链路出现拥塞之前,可自动将流量切换到其他链路上。从而链路拥塞及带宽利用不均,保障网络的畅通。
智能选路系统通过基于源地址、基于应用的选路、基于自动更新的地址库选路、基于时延探测等方式。实现基于应用、基于地址库、基于链路状况的选路效果。
智能路由系统通过计算多条路径,可实现真正的多路径传输,另外当探测到故障时,智能路由系统可以马上切换到保护路径上去。利用智能选路系统,还可实现源地址检查功能,使得整个网络抵御攻击的能力变强。
本领域普通技术人员还可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,包括ROM/RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种智能路由器选路方法,其特征在于,智能路由系统中存储有基本路由表、智能选路表、二维索引表和接口映射表,所述方法包括:
根据待路由转发的数据报文中所携带的目的地址,查找所述基本路由表,获得在所述二维索引表中的行号;其中,基本路由表中存储有各目的地址和相应的目的地址在所述二维索引表中的行号;
根据选路策略到所述智能选路表中对应类型的子表中查找相应的二维索引表中的列号;
根据获取的二维索引表中的行号和列号,查找所述二维索引表获得映射值;
根据所述映射值在接口映射表中查找下一跳的网络地址;
根据查找出的多个下一跳的网络地址生成到达目的地址的路径,指定探测报文测试所述路径;并在探测报文反馈路径存在链路故障时,自动进行切换,并将流量分配到合适的路径上;
所述智能选路表中对应类型的子表包括:应用选路子表和源地址子表,其中,应用选路子表中存储不同传输协议所对应的二维索引表中的列号;源地址子表中存储数据报文中不同源地址所对应的二维索引表中的列号。
2.根据权利要求1所述的智能路由器选路方法,其特征在于,所述二维索引表的不同列对应不同的传输要求,所述传输要求包括时延最低、剩余带宽最大、剩余带宽次之和/或剩余带宽小;其中,所述传输要求对应所述应用选路子表中不同传输协议和/或所述传输要求对应所述源地址子表中不同的源地址。
3.根据权利要求1所述的智能路由器选路方法,其特征在于,所述选路策略具体包括:
按照应用选路子表和源地址子表优先级从高到低进行查找,若查找到符合 条件的结果,即结束二维索引表中的列号的查找;或者,
按照源地址子表和应用选路子表优先级从高到低进行查找,若查找到符合 条件的结果,即结束二维索引表中的列号的查找。
4.根据权利要求1-3任一所述的智能路由器选路方法,其特征在于,所述基本路由表和智能路由表存储在三重内容寻址存储器TCAM中;所述二维索引表和接口映射表存储在静态随机存取存储器SRAM中。
5.一种智能路由器选路装置,其特征在于,所述智能路由器选路装置包括基本路由表查询模块、智能选路表查询模块、二维索引表查询模块、接口映射表查询模块和存储模块,具体的:
所述存储模块,用于存储有基本路由表、智能选路表、二维索引表和接口映射表;
所述基本路由表查询模块,用于根据待路由转发的数据报文中所携带的目的地址,查找所述基本路由表,获得在所述二维索引表中的行号;其中,基本路由表中存储有各目的地址和相应的目的地址在所述二维索引表中的行号;
所述智能选路表查询模块,用于根据选路策略到所述智能选路表中对应类型的子表中查找相应的二维索引表中的列号;
所述二维索引表查询模块,用于根据获取的二维索引表中的行号和列号,查找所述二维索引表获得映射值;
所述接口映射表查询模块,用于根据所述映射值在接口映射表中查找下一跳的网络地址;
所述存储模块具体包括三重内容寻址存储器TCAM和静态随机存取存储器SRAM,则:
所述基本路由表和智能路由表存储在TCAM中;所述二维索引表和接口映射表存储在SRAM中。
6.根据权利要求5所述的智能路由器选路装置,其特征在于,所述智能路由器选路装置还包括探测模块,具体的:
所述探测模块用于探测故障路径,并在出现链路故障时,自动进行切换,并将流量分配到合适的路径上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510828560.0A CN105471747B (zh) | 2015-11-25 | 2015-11-25 | 一种智能路由器选路方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510828560.0A CN105471747B (zh) | 2015-11-25 | 2015-11-25 | 一种智能路由器选路方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105471747A CN105471747A (zh) | 2016-04-06 |
CN105471747B true CN105471747B (zh) | 2019-04-16 |
Family
ID=55609040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510828560.0A Active CN105471747B (zh) | 2015-11-25 | 2015-11-25 | 一种智能路由器选路方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105471747B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107465614A (zh) * | 2016-06-06 | 2017-12-12 | 中兴通讯股份有限公司 | 一种实现边界网关协议二维路由的方法和装置 |
CN109861915A (zh) * | 2017-11-30 | 2019-06-07 | 中兴通讯股份有限公司 | 转发表操作的方法、装置、计算机设备及可读存储介质 |
CN110943847B (zh) * | 2018-09-21 | 2021-06-18 | 比亚迪股份有限公司 | 车载网络接入设备、列车和信息交互系统 |
CN110620693A (zh) * | 2019-09-27 | 2019-12-27 | 南京铁道职业技术学院 | 一种基于物联网的铁路沿线车站路由远程重启控制系统及方法 |
CN114500374B (zh) * | 2020-11-12 | 2023-07-14 | 中国科学院声学研究所 | 一种采用随路改变目的地址的报文路由转发方法 |
CN113904798B (zh) * | 2021-08-27 | 2024-03-22 | 长沙星融元数据技术有限公司 | Ip报文的多元组过滤方法、系统、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101060482A (zh) * | 2007-03-31 | 2007-10-24 | 华为技术有限公司 | 一种路由查找方法和转发系统 |
CN101127691A (zh) * | 2006-08-17 | 2008-02-20 | 王玉鹏 | 一种在网络处理器上实现的基于流的策略路由的方法 |
CN101695160A (zh) * | 2009-10-20 | 2010-04-14 | 清华大学 | 基于策略路由的流定向传输方法 |
CN103780493A (zh) * | 2014-01-20 | 2014-05-07 | 清华大学 | 数据转发方法及系统 |
US8880666B2 (en) * | 2010-10-29 | 2014-11-04 | At&T Intellectual Property I, L.P. | Method, policy request router, and machine-readable hardware storage device to select a policy server based on a network condition to receive policy requests for a duration |
-
2015
- 2015-11-25 CN CN201510828560.0A patent/CN105471747B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127691A (zh) * | 2006-08-17 | 2008-02-20 | 王玉鹏 | 一种在网络处理器上实现的基于流的策略路由的方法 |
CN101060482A (zh) * | 2007-03-31 | 2007-10-24 | 华为技术有限公司 | 一种路由查找方法和转发系统 |
CN101695160A (zh) * | 2009-10-20 | 2010-04-14 | 清华大学 | 基于策略路由的流定向传输方法 |
US8880666B2 (en) * | 2010-10-29 | 2014-11-04 | At&T Intellectual Property I, L.P. | Method, policy request router, and machine-readable hardware storage device to select a policy server based on a network condition to receive policy requests for a duration |
CN103780493A (zh) * | 2014-01-20 | 2014-05-07 | 清华大学 | 数据转发方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105471747A (zh) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105471747B (zh) | 一种智能路由器选路方法和装置 | |
EP2614618B1 (en) | Automated traffic engineering for multi-protocol label switching (mpls) with link utilization as feedback into the tie-breaking mechanism | |
US20180359174A1 (en) | Control device discovery in networks having separate control and forwarding devices | |
CN106411736B (zh) | 一种面向软件定义卫星网络的节点资源发现策略优化方法 | |
JP5745169B2 (ja) | コンテンツ処理方法、コンテンツ処理デバイス、およびコンテンツ処理システム | |
KR101473783B1 (ko) | 터널링을 이용한 다이나믹 서비스 체이닝 제어 방법 및 장치 | |
CN106375231A (zh) | 一种流量切换方法、设备及系统 | |
CN104601485B (zh) | 网络流量的分配方法及实现网络流量分配的路由方法 | |
CN107370673B (zh) | 一种网络中建立转发路径的方法、控制器及系统 | |
US20180324097A1 (en) | Method for Implementing Load Balancing, Apparatus, and Network System | |
CN103346969A (zh) | 基于OpenFlow实现动态组播生成树路径调整的方法 | |
Jo et al. | A simulation and emulation study of SDN-based multipath routing for fat-tree data center networks | |
CN101986622B (zh) | 一种pce状态属性的自动识别方法及系统 | |
CN105721321B (zh) | 一种等价多路径的出接口更新方法及装置 | |
KR101460048B1 (ko) | 태깅을 이용한 다이나믹 서비스 체이닝 제어 방법 및 장치 | |
CN106534360A (zh) | 一种基于软件定义的内容中心网络路由方法 | |
CN104022911A (zh) | 一种融合型内容分发网络的内容路由管理方法 | |
CN111147372B (zh) | 下行报文发送、转发方法和装置 | |
CN101159695A (zh) | 链路选择方法和设备 | |
CN109246624A (zh) | 一种组播转发方法及相关设备 | |
CN108494601A (zh) | 层次化确定网络中的多约束双路径路由方法 | |
WO2017084448A1 (zh) | 一种网络系统及网络运行方法 | |
CN104580165A (zh) | 智慧协同网络中的一种协作缓存方法 | |
CN107872388A (zh) | 用于实现报文转发的方法、装置和系统 | |
CN107070790A (zh) | 一种路由学习方法及路由设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190508 Address after: 430074 No. 6, High-tech Fourth Road, Donghu High-tech Development Zone, Wuhan City, Hubei Province Patentee after: Fenghuo Communication Science &. Technology Co., Ltd. Address before: 430074 3rd Floor, Optical Communication Building, 67 Guanggu Pioneer Street, Donghu Development Zone, Wuhan City, Hubei Province Patentee before: Wuhan Fenghuo Network Co., Ltd. |