CN108718277B - 基于路由表的报文转发方法与路由表维护方法及相关装置 - Google Patents

基于路由表的报文转发方法与路由表维护方法及相关装置 Download PDF

Info

Publication number
CN108718277B
CN108718277B CN201810323531.2A CN201810323531A CN108718277B CN 108718277 B CN108718277 B CN 108718277B CN 201810323531 A CN201810323531 A CN 201810323531A CN 108718277 B CN108718277 B CN 108718277B
Authority
CN
China
Prior art keywords
index
address
route
routing
host
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
Application number
CN201810323531.2A
Other languages
English (en)
Other versions
CN108718277A (zh
Inventor
王阳
廖以顺
章靠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Information Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201810323531.2A priority Critical patent/CN108718277B/zh
Publication of CN108718277A publication Critical patent/CN108718277A/zh
Application granted granted Critical
Publication of CN108718277B publication Critical patent/CN108718277B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5061Pools of addresses

Abstract

本公开实施例提出一种基于路由表的报文转发方法与路由表维护方法及相关装置,涉及通信技术领域。网络设备接收到主机路由时,若主机路由与待查询IP地址匹配,根据主机路由的接收端口和路由索引的出接口确定待处理路由索引,当待处理路由索引的标记位为第一设定值时,将主机路由记录到待处理路由索引的主机IP字段,避免浪费路由资源;网络设备基于所维护的路由表转发数据报文时,将与目的IP地址匹配的待查询IP地址对应的路由索引确定为目标路由索引,若目标路由索引的标记位为第一设定值且主机IP字段记录有目的IP地址,则基于目标路由索引的出接口转发数据报文,提高了报文转发的准确率。

Description

基于路由表的报文转发方法与路由表维护方法及相关装置
技术领域
本公开涉及通信技术领域,具体而言,涉及一种基于路由表的报文转发方法与路由表维护方法及相关装置。
背景技术
宽带远程接入服务器(Broadband Remote Access Server,BRAS)是一种面向宽带网络应用的接入网关,它位于骨干网的边缘层,是宽带接入网和骨干网之间的桥梁,提供基本的宽带接入手段和宽带接入网的管理功能。目前的BRAS组网中,不同的BRAS需要部署不同网段的地址池,以使不同BRAS从各自的地址池中给认证成功的主机分配IP地址,这样不同BRAS之间的地址池无法实现共享,地址池资源的利用率较低。
若组网中的所有BRAS使用相同网段的地址池,就会导致在出口的网络设备(例如,汇聚路由器ROUTE)上形成等价路由,网络设备无法确定基于哪条路由转发数据报文,便随机选择一条路由转发,造成报文转发出现差错;若BRAS将生成的主机路由全部引入到网络设备,网络设备对接收的每个主机路由生成对应的路由索引添加到路由表中,当数据报文到达网络设备时,网络设备能够准确对数据报文进行转发,但这种方式使得网络设备不仅需处理大量主机路由,导致路由资源的极大浪费,而且在接收到数据报文后查找路由的效率较低。
发明内容
本公开实施例的目的在于提供一种基于路由表的报文转发方法及相关装置,以在网络设备具有多条等价网段路由时能够确定基于哪条路由转发数据报文,从而提高报文转发的准确率。
本公开实施例的目的还在于提供一种路由表维护方法及相关装置,以解决多个BRAS使用相同网段的地址池时,网络设备需要处理大量主机路由,导致浪费大量路由资源的问题。
为了实现上述目的,本公开实施例采用的技术方案如下:
第一方面,本公开实施例提出一种基于路由表的报文转发方法,应用于网络设备,所述网络设备维护有路由表,所述方法包括:根据接收到的数据报文的目的IP地址查找所述路由表的路由索引,所述路由索引包括待查询IP地址及与所述待查询IP地址对应的出接口、标记位及主机IP字段;当所述目的IP地址与所述路由索引的待查询IP地址匹配时,确定与所述目的IP地址匹配的待查询IP地址对应的路由索引为目标路由索引;若所述目标路由索引的标记位为第一设定值且所述目标路由索引的主机IP字段中记录有所述目的IP地址,基于所述目标路由索引的出接口转发所述数据报文。
第二方面,本公开实施例还提出一种路由表维护方法,应用于网络设备,所述网络设备维护有初始路由表,所述初始路由表包括路由索引,所述路由索引包括待查询IP地址及与所述待查询IP地址对应的出接口、标记位及主机IP字段,所述方法包括:获取主机路由及所述主机路由的接收端口;若所述主机路由与所述待查询IP地址匹配,根据所述接收端口和所述出接口确定待处理路由索引;若所述待处理路由索引的标记位为第一设定值,将所述主机路由记录到所述待处理路由索引的主机IP字段中。
第三方面,本公开实施例还提出一种基于路由表的报文转发装置,应用于网络设备,所述网络设备中维护有路由表,所述装置包括:路由查找模块,用于根据接收到的数据报文的目的IP地址查找所述路由表的路由索引,所述路由索引包括待查询IP地址及与所述待查询IP地址对应的出接口、标记位及主机IP字段;当所述目的IP地址与所述路由索引的待查询IP地址匹配时,确定与所述目的IP地址匹配的待查询IP地址对应的路由索引为目标路由索引;报文处理模块,用于若所述目标路由索引的标记位为第一设定值且所述目标路由索引的主机IP字段中记录有所述目的IP地址,基于所述目标路由索引的出接口转发所述数据报文。
第四方面,本公开实施例还提出一种路由表维护装置,应用于网络设备,所述网络设备维护有初始路由表,所述初始路由表包括路由索引,所述路由索引包括待查询IP地址及与所述待查询IP地址对应的出接口、标记位及主机IP字段,所述装置包括:获取模块,用于获取主机路由及所述主机路由的接收端口;确定模块,用于若所述主机路由与所述待查询IP地址匹配,根据所述接收端口和所述出接口确定待处理路由索引;维护模块,用于若所述待处理路由索引的标记位为第一设定值,将所述主机路由记录到所述待处理路由索引的主机IP字段中。
第五方面,本公开实施例还提出一种网络设备,包括存储有计算机程序的计算机可读存储介质和处理器,所述计算机程序被所述处理器读取并运行时,实现上述第一方面或第二方面所述的方法。
第六方面,本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器读取并运行时,实现上述第一方面或第二方面所述的方法。
相对现有技术,本公开实施例具有以下有益效果:
一方面,在本公开实施例中,网络设备根据接收到的数据报文的目的IP地址查找路由表的路由索引,每一条路由索引包括待查询IP地址及与待查询IP地址对应的出接口、标记位及主机IP字段,当目的IP地址与该路由索引的待查询IP地址匹配时,确定与目的IP地址匹配的待查询IP地址对应的路由索引为目标路由索引,若目标路由索引的标记位为第一设定值且目标路由索引的主机IP字段中记录有该目的IP地址,则基于目标路由索引的出接口转发数据报文。因此,在本申请中,该网络设备在路由表中具有多条等价网段路由时,能够根据路由索引中的主机IP字段的信息来确定数据报文应该基于哪条路由转发,从而提高了报文转发的准确率。
另一方面,在本公开实施例中,网络设备通过获取主机路由及该主机路由的接收端口,若主机路由与待查询IP地址匹配,根据接收端口和出接口确定待处理路由索引,若待处理路由索引的标记位为第一设定值,将主机路由记录到待处理路由索引的主机IP字段中,而不需要根据该主机路由生成新的路由索引添加到初始路由表中,避免了当多个BRAS使用相同网段的地址池时,网络设备需要处理大量主机路由,导致浪费大量路由资源的问题。
本公开的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开实施例了解。本公开的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的应用环境示意图。
图2示出了本公开实施例所提供的路由表维护方法的流程示意图。
图3示出了本公开实施例所提供的初始路由表的示意图。
图4示出了本公开实施例所提供的主机路由记录到主机IP字段后的路由表的示意图。
图5示出了本公开实施例所提供的添加新的路由索引后的路由表的示意图。
图6示出了本公开实施例所提供的基于路由表的报文转发方法的流程示意图。
图7示出了本公开实施例所提供的路由表维护装置的功能模块示意图。
图8示出了本公开实施例所提供的基于路由表的报文转发装置的功能模块示意图。
图标:100-终端设备;200-接入设备;310-第一宽带远程接入服务器;320-第二宽带远程接入服务器;400-网络设备;500-路由表维护装置;600-基于路由表的报文转发装置;510-获取模块;520-确定模块;530-维护模块;610-路由查找模块;620-报文处理模块。
具体实施方式
下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图1所示,为本公开实施例所提供的一种应用环境示意图。一个或多个终端设备100可以通过接入设备200接入第一宽带远程接入服务器310或第二宽带远程接入服务器320,第一宽带远程接入服务器310或第二宽带远程接入服务器320对接入的终端设备100进行认证,并为通过认证的终端设备100分配主机路由(即IP地址),以使终端设备100可以正常访问网络资源。在本实施例中,第一宽带远程接入服务器310和第一宽带远程接入服务器310可以共用一个地址池,例如,都使用10.1.1.0这个网段的地址。第一宽带远程接入服务器310或第二宽带远程接入服务器320在生成主机路由后,将主机路由发送至网络设备400,网络设备400对主机路由进行处理;网络设备400在接收到数据报文时,基于所维护的路由表判断该数据报文应通过第一出接口还是第二出接口转发。
在本实施例中,该网络设备400可以是汇聚路由器;该接入设备200可以是接入层交换机,用于直接连接终端设备100;该终端设备100可以是个人电脑(Personal Computer,PC)、智能手机、平板电脑等。
需要说明的是,图1所示的第一宽带远程接入服务器310和第二宽带远程接入服务器320连接到网络设备400仅为一种示例,在实践中,网络设备400上还可以连接更多的宽带远程接入服务器,本申请对此也不做限制。
请参照图2,为本公开实施例所提供的路由表维护方法的流程示意图。该方法应用于图1所示的网络设备400中。需要说明的是,本公开实施例所述的路由表维护方法并不以图2以及以下所述的具体顺序为限制,应当理解,在其它实施例中,本公开实施例所述的路由表维护方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图2所示的流程进行详细阐述。
步骤S101,获取主机路由及主机路由的接收端口。
在本实施例中,第一宽带远程接入服务器310或第二宽带远程接入服务器320在终端设备100通过认证时,为终端设备100分配主机路由的同时,还会将主机路由发送到网络设备400;其中,第一宽带远程接入服务器310向网络设备400发送主机路由时,则该主机路由的接收端口为第一出接口port1;当第二宽带远程接入服务器320向网络设备400发送主机路由时,则该主机路由的接收端口为第二出接口port2。
步骤S102,判断主机路由与待查询IP地址是否匹配。
在本实施例中,该网络设备400维护有初始路由表,该初始路由表包括路由索引,该路由索引可以包括待查询IP地址及与该待查询IP地址对应的出接口、标记位及主机IP字段。例如,可以基于图1所示的应用场景,在网络设备400上预先配置图3所示的初始路由表,该初始路由表与现有的路由表的结构相比,新增了标记位和主机IP字段。其中,Index字段表示路由表中所包括的路由索引,每一行表示一条路由索引。可见,该初始路由表中包括两条路由索引(路由索引1和路由索引2),每条路由索引均包括Dip/Mask字段、NextHop字段、Interface字段、Tag字段及Hostip字段,路由索引1与第一宽带远程接入服务器310对应,路由索引2与第二宽带远程接入服务器320对应。应理解,图3示出的每条路由索引包括的字段仅是涉及数据转发的字段,即在实践中,该路由索引还可以包括其他更多的字段,本申请对此不做限定。
在本实施例中,Dip/Mask字段表示待查询IP地址和掩码,由于第一宽带远程接入服务器310和第二宽带远程接入服务器320共用一个网段路由,故路由索引1和路由索引2中的Dip/Mask字段相同,均设置为10.1.1.0/24;NextHop字段表示待查询IP地址对应的下一跳地址,路由索引1的NextHop字段为20.1.1.2,路由索引2的NextHop字段为30.1.1.2;Interface字段表示待查询IP地址对应的出接口,路由索引1的Interface字段为第一出接口port1,路由索引2的Interface字段为第二出接口port2;Tag字段表示标记位,标记位可以为第一设定值(例如,1)或第二设定值(例如,0),其中,标记位为第一设定值的路由索引是在手工配置静态路由时指定,标记位为第二设定值的路由索引则是在初始路由表的基础上生成的新的路由索引,本申请中称之为普通路由。Hostip字段表示主机IP字段,记录了待查询IP地址对应的实际主机路由有哪些。
在本实施例中,网络设备400在接收到主机路由时,将该主机路由与路由索引的Dip/Mask字段中的掩码进行“逻辑与”运算,得到一个网络地址,判断该网络地址与Dip/Mask字段中的待查询IP地址是否相同,若相同,则判断主机路由与待查询IP地址匹配,执行步骤S103;若不相同,则判断主机路由与待查询IP地址不匹配,执行步骤S106。例如,当接收的主机路由为10.1.1.2/32时,将该32位的主机路由10.1.1.2与初始路由表的路由索引1的掩码255.255.255.0进行“逻辑与”运算,得到一个网络地址10.1.1.0,与路由索引1记录的待查询IP地址10.1.1.0相同,可判定该主机路由与路由索引1的待查询IP地址匹配;当接收的主机路由为40.1.1.2/32,将该32位的主机路由40.1.1.2与初始路由表的路由索引1的掩码255.255.255.0进行“逻辑与”运算,得到一个网络地址40.1.1.0,与路由索引1记录的待查询IP地址10.1.1.0不相同,可判定主机路由与路由索引1记录的待查询IP地址不匹配;将该32位的主机路由40.1.1.2与初始路由表的路由索引2的Mask字段255.255.255.0进行“逻辑与”运算,得到一个网络地址40.1.1.0,与路由索引2记录的待查询IP地址10.1.1.0不相同,可判定主机路由与路由索引2记录的待查询IP地址也不匹配,即主机路由与路由索引1和路由索引2的待查询IP地址均不匹配。
步骤S103,若主机路由与待查询IP地址匹配,根据接收端口和出接口确定待处理路由索引。
在本实施例中,当接收的主机路由为10.1.1.2/32且主机路由的接收端口为第一出接口port1时,由于路由索引1的Interface字段(即出接口)为port1,故路由索引1为待处理路由索引;当接收的主机路由为10.1.1.3/32且主机路由的接收端口为第二出接口port2时,该主机路由虽与路由索引1记录的待查询IP地址10.1.1.0匹配,但由于主机路由的接收端口为第二出接口port2,故该路由索引1不是待处理路由索引;此时继续判断路由索引2是否为待处理路由索引,将该32位的主机路由10.1.1.3与路由索引2的掩码255.255.255.0进行“逻辑与”运算,得到一个网络地址10.1.1.0,故主机路由与路由索引2记录的待查询IP地址10.1.1.0匹配,路由索引2的Interface字段(即出接口)为port2,故路由索引2为待处理路由索引。
步骤S104,判断待处理路由索引的标记位是否为第一设定值。
例如,假设第一设定值为1,当路由索引1为待处理路由索引时,判断路由索引1的Tag字段的值是否为1,当路由索引2为待处理路由索引时,判断路由索引2的Tag字段的值是否为1;当Tag字段为1时,则执行步骤S105。
步骤S105,若待处理路由索引的标记位为第一设定值,将主机路由记录到待处理路由索引的主机IP字段中。
如图4所示,当接收到第一宽带远程接入服务器310发送的主机路由10.1.1.2时,确定路由索引1为待处理路由索引,由于路由索引1的标记位为第一设定值,故需要将该主机路由10.1.1.2记录到路由索引1的主机IP字段中;当接收到第二宽带远程接入服务器320发送的主机路由10.1.1.3时,确定路由索引2为待处理路由索引,由于路由索引2的标记位为第一设定值,故需要将该主机路由10.1.1.3记录到路由索引2的主机IP字段中。
可以理解,在本实施例中,当待处理路由索引的标记位为第一设定值时,则将主机路由记录到待处理路由索引的主机IP字段中;当待处理路由索引的标记位不为第一设定值时,而是第二设定值时,则根据主机路由在初始路由表中添加新的路由索引。
步骤S106,若主机路由与待查询IP地址不匹配,则在初始路由表中添加新的路由索引;其中,新的路由索引的待查询IP地址为该主机路由,新的路由索引的标记位为第二设定值,新的路由索引的出接口为接收端口,新的路由索引的主机IP字段为默认值。
在实践中,第一宽带远程接入服务器310和第二宽带远程接入服务器320上可以共用多个地址池,在此情况下,第一宽带远程接入服务器310或第二宽带远程接入服务器320给通过认证的终端设备100分配的主机路由可能不止10.1.1.0这个网段的IP地址,例如,第一宽带远程接入服务器310分配的主机路由可为40.1.1.2/32,第二宽带远程接入服务器320分配的主机路由可为40.1.1.3/32,在路由索引中没有40.1.1.0这个网络地址的情况下,该主机路由40.1.1.2/32或40.1.1.3/32与初始路由表中的路由索引1和路由索引2的待查询IP地址均不匹配,此时可在初始路由表中添加新的路由索引。如图5所示,当接收到主机路由40.1.1.2/32时,由于40.1.1.2与路由索引1和路由索引2的待查询IP地址均不匹配,则在初始路由表中添加路由索引3作为新的路由索引,其中,路由索引3的Dip/Mask字段为40.1.1.2/32,NextHop字段为20.1.1.2,Interface字段为port1,Tag字段为0,Hostip字段为默认值0.0.0.0;当接收到主机路由40.1.1.3/32时,由于40.1.1.3与路由索引1、路由索引2及路由索引3的待查询IP地址均不匹配,则在路由表中添加路由索引4作为新的路由索引,其中,路由索引4的Dip/Mask字段为40.1.1.3/32,NextHop字段为30.1.1.2,Interface字段为port2,Tag字段为0,Hostip字段为默认值0.0.0.0。
可以理解,在本实施例中,路由索引中的待查询IP地址可以是网络地址(例如,10.1.1.0),也可以是主机路由(例如,40.1.1.2),本申请对此不做限制。
需要说明的是,在本实施例中,该初始路由表应理解为网络设备400在接收到主机路由时所维护的路由表,而不仅限于图3所示的初始路由表,也即是说,图3、图4、图5都有可能成为网络设备400的初始路由表。
可见,在本申请中,当网络设备400接收的主机路由是10.1.1.0这个网段的地址时,网络设备400只需要将主机路由记录到路由索引1或路由索引2的主机IP字段中,而不用在路由表中生成新的路由索引,避免了浪费大量路由资源的问题。
进一步地,在本实施例中,该网络设备400还可以基于上述生成的路由表对接收的数据报文进行转发,如图6所示,为本公开实施例所提供的基于路由表的报文转发方法的流程示意图。需要说明的是,本公开实施例所述的基于路由表的报文转发方法并不以图6以及以下所述的具体顺序为限制,应当理解,在其它实施例中,本公开实施例所述的基于路由表的报文转发方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图6所示的流程进行详细阐述。
步骤S201,根据接收到的数据报文的目的IP地址查找路由表的路由索引;所述路由索引包括待查询IP地址及与待查询IP地址对应的出接口、标记位及主机IP字段。
在本实施例中,当网络设备400接收到某个数据报文时,将该数据报文中的目的IP地址提取出来,并根据目的IP地址查找路由表的路由索引,即将目的IP地址与路由索引的待查询IP地址进行比较。
步骤S202,判断目的IP地址是否与路由索引的待查询IP地址匹配。
在本实施例中,当目的IP地址与路由表的所有路由索引的目的网路地址都不匹配时,则执行步骤S203;当所述目的IP地址与所述路由索引的待查询IP地址匹配时,执行步骤S204。由于该目的IP地址通常是主机路由,而路由索引的待查询IP地址为网络地址,可将该目的IP地址与路由索引中的掩码进行“逻辑与”运算,得到一个网络地址,将该网络地址与路由索引的待查询IP地址进行比较,若一致,则确定该目的IP地址与该待查询IP地址匹配,若不一致,则确定该目的IP地址与该待查询IP地址不匹配。
步骤S203,当目的IP地址与路由表的所有路由索引的待查询IP地址都不匹配时,将数据报文丢弃。
在本实施例中,以图5所示的路由表为例,当接收的数据报文的目的IP地址为50.1.1.2时,网络设备400将50.1.1.2先后与路由索引1、路由索引2、路由索引3及路由索引4的掩码进行“逻辑与”运算,判断该目的IP地址与路由索引1、路由索引2、路由索引3及路由索引4的待查询IP地址都不匹配,无法确定该数据报文的转发路由,则将该数据报文丢弃。
步骤S204,当所述目的IP地址与所述路由索引的待查询IP地址匹配时,确定与所述目的IP地址匹配的待查询IP地址对应的路由索引为目标路由索引。
例如,将该目的IP地址与路由表中的各路由索引的待查询IP地址进行比较,若目的IP地址与路由索引1的待查询IP地址匹配,则路由索引1为目标路由索引;当目的IP地址与路由索引1的待查询IP地址不匹配,则将该目的IP地址继续与将路由索引2的待查询IP地址进行比较,若目的IP地址与路由索引2的待查询IP地址匹配,则路由索引2为目标路由索引。需要说明的是,在本实施例中,可以预先设置目的IP地址与各路由索引的待查询IP地址的比较顺序,例如,将目的IP地址先与路由索引1的待查询IP地址进行比较,若不匹配,再依次与路由索引2、路由索引3、路由索引4进行比较。
步骤S205,判断所述目标路由索引的标记位是否为第一设定值。
在本实施例中,当确定目标路由索引后,提取出目标路由索引的Tag字段(即标记位),并判断标记位是第一设定值还是第二设定值;当标记位为第二设定值时,执行步骤S206;当标记位为第一设定值时,执行步骤S207。
步骤S206,若所述目标路由索引的标记位为第二设定值,基于所述目标路由索引的出接口转发所述数据报文。
例如,当网络设备400接收的数据报文的目的IP地址为40.1.1.2时,可确定路由索引3为目标路由索引,由于路由索引3的标记位为0(即第二设定值),表明该路由索引3为一条普通路由,不需要查找主机IP字段中是否记录有该目的IP地址,直接根据该路由索引3的出接口(即第一出接口port1)转发该数据报文即可。
步骤S207,若所述目标路由索引的标记位为第一设定值,判断目标路由索引的主机IP字段中是否记录有目的IP地址。
在本实施例中,当目标路由索引的标记位为第一设定值时,可确定需要进一步查找目标路由索引的主机IP字段中是否记录有目的IP地址,如果目标路由索引的主机IP字段中记录有目的IP地址,则执行步骤S208;如果目标路由索引的主机IP字段中没有记录目的IP地址,则返回执行S201,继续查找该目标路由索引的下一条路由索引。
例如,当网络设备400接收的数据报文的目的IP地址为10.1.1.3时,可确定路由索引1为目标路由索引,由于路由索引1的标记位为1(即第一设定值),进一步查找路由索引1的主机IP字段,发现路由索引1的主机IP字段中的IP地址为0.0.0.0和10.1.1.2,没有记录该目的IP地址10.1.1.3,此时返回步骤S201,继续查找路由索引1的下一条路由索引,即查找路由索引2。由于目的IP地址10.1.1.3与路由索引2的掩码进行“逻辑与”运算后得到的网络地址10.1.1.0与路由索引2的待查询IP地址10.1.1.0相同,故确定路由索引2为目标网络地址;而路由索引2的标记位为1(即第一设定值),故需进一步查找路由索引2的主机IP字段,路由索引2的主机IP字段中的IP地址为0.0.0.0和10.1.1.3,即记录了该目的IP地址10.1.1.3,故执行步骤S207。
步骤S208,若所述目标路由索引的标记位为第一设定值且所述目标路由索引的主机IP字段中记录有所述目的IP地址,基于所述目标路由索引的出接口转发所述数据报文。
例如,当网络设备400接收的数据报文的目的IP地址为10.1.1.3时,经过路由查找后,确定路由索引2的主机IP字段中记录有该目的IP地址10.1.1.3,则基于路由索引2的出接口(即第二出接口port2)转发该数据报文。
可见,本申请中的路由表由于在路由索引中新增了两个字段,即Tag字段和主机IP字段,网络设备400在生成路由表时,对于在路由索引的待查询IP地址范围内的主机路由,只需记录到该路由索引的主机IP字段中,无需在路由表中添加新的路由索引,在一定程度上减少了路由资源的浪费,即采用本申请的路由表维护方法,在路由索引1和路由索引2的主机IP字段便可记录成千上万个主机路由,而采用现有的路由表维护方法,对于每个主机路由,路由表中都会生成一条新的路由索引,从而消耗大量的路由资源。同时,在本申请中,网络设备400基于路由表转发数据报文时,可以减少路由查找的次数以及报文转发的准确率,例如,若数据报文的目的IP地址与路由索引3的待查询IP地址匹配,与路由索引1和路由索引2的网络地址都不匹配,则经过3次路由查找就可找到与目的IP地址匹配的待查询IP地址,并根据主机IP字段记录的主机路由可以准确将数据报文转发出去;而现有技术的路由表如果仅记录等价网段路由,则无法区分接收的数据报文应该由哪一条路由进行转发,为了确定报文应该基于哪条路由转发,只能在接收到主机路由都对应生成新的路由索引;当进行路由查找时,网络设备400可能需要将目的IP地址与成千上万个主机路由相比较,才能找到与该目的IP地址匹配的待查询IP地址,故本申请相对现有技术来说,不仅提高了报文转发的准确率,而且减少了路由查找次数,提高了路由查找效率。
请参照图7,为本公开实施例所提供的路由表维护装置500的功能模块示意图。需要说明的是,本实施例所提供的路由表维护装置500,其基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。该路由表维护装置500包括获取模块510、确定模块520、维护模块530。
该获取模块510用于获取主机路由及所述主机路由的接收端口。
可以理解,该获取模块510可以执行上述步骤S101。
该确定模块520用于若所述主机路由与所述待查询IP地址匹配,根据所述接收端口和所述出接口确定待处理路由索引。
可以理解,该确定模块520可以执行上述步骤S102、步骤S103。
该维护模块530用于若所述待处理路由索引的标记位为第一设定值,将所述主机路由记录到所述待处理路由索引的主机IP字段中。
在本实施例中,该维护模块530还用于若所述主机路由与所述待查询IP地址不匹配,则在所述初始路由表中添加新的路由索引;其中,所述新的路由索引的待查询IP地址为所述主机路由,所述新的路由索引的标记位为第二设定值,所述新的路由索引的出接口为所述接收端口,所述新的路由索引的主机IP字段为默认值。
可以理解,该维护模块530可以执行上述步骤S104、步骤S105及步骤S106。
请参照图8,为本公开实施例所提供的基于路由表的报文转发装置600的功能模块示意图。需要说明的是,本实施例所提供的基于路由表的报文转发装置600,其基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。该基于路由表的报文转发装置600包括路由查找模块610、报文处理模块620。
该路由查找模块610用于根据接收到的数据报文的目的IP地址查找所述路由表的路由索引,所述路由索引包括待查询IP地址及与所述待查询IP地址对应的出接口、标记位及主机IP字段;当所述目的IP地址与所述路由索引的待查询IP地址匹配时,确定与所述目的IP地址匹配的待查询IP地址对应的路由索引为目标路由索引。
可以理解,该路由查找模块610可以执行上述步骤S201、步骤S202、步骤S204、步骤S205、步骤S207。
该报文处理模块620用于若所述目标路由索引的标记位为第一设定值且所述目标路由索引的主机IP字段中记录有所述目的IP地址,基于所述目标路由索引的出接口转发所述数据报文。
在本实施例中,该报文处理模块620还用于若所述目标路由索引的标记位为第二设定值,基于所述目标路由索引的出接口转发所述数据报文;当所述目的IP地址与所述路由表的所有路由索引的待查询IP地址都不匹配时,将所述数据报文丢弃。
可以理解,该报文处理模块620可以执行上述步骤S203、步骤S206、步骤S208。
综上所述,在本公开实施例中,一方面,网络设备接收到主机路由后,当判断主机路由与初始路由表的路由索引的待查询IP地址匹配时,根据主机路由的接收端口以及路由索引的出接口从初始路由表的路由索引中确定待处理路由索引,判断该待处理路由索引的标记位是否为第一设定值,如果是,则将主机路由记录到待处理路由索引的主机IP字段中;在主机路由与初始路由表的路由索引的待查询IP地址不匹配时,则根据该主机路由在初始路由表中添加新的路由索引,该新的路由索引的待查询IP地址为主机路由,标记位为第二设定值,出接口为主机路由的接收端口,主机IP字段为默认值。因此,在多个BRAS使用相同网段的地址池时,对于该地址池内的主机路由,网络设备不需要在路由表中生成新的路由索引,只需将主机路由记录到待处理路由索引的主机IP字段中,从而避免了浪费大量路由资源。
另一方面,网络设备在基于维护的路由表转发报文时,根据数据报文的目的IP地址查找路由表的路由索引,当所述目的IP地址与所述路由索引的待查询IP地址匹配时,确定与所述目的IP地址匹配的待查询IP地址对应的路由索引为目标路由索引,并判断目标路由索引的标记位为第一设定值还是第二设定值;若为第一设定值,则进一步判断目标路由索引的主机IP字段中是否记录有该目的IP地址,如果有记录,则基于该目标路由索引的出接口转发数据报文;若目标路由索引的标记位为第二设定值,则不需要判断主机IP字段中是否记录有该目的IP地址,直接基于该目标路由索引的出接口转发该数据报文;当目的IP地址与路由表中的所有路由索引的待查询IP地址都不匹配时,则路由查找失败,将该数据报文丢弃。因此,本申请所提供的基于路由表的报文转发方法,不仅可以保证报文转发的准确性,而且减少了路由查找的次数,提高了路由查找效率。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

Claims (8)

1.一种基于路由表的报文转发方法,应用于网络设备,所述网络设备维护有路由表,其特征在于,所述方法包括:
根据接收到的数据报文的目的IP地址查找所述路由表的路由索引,所述路由索引包括待查询IP地址及与所述待查询IP地址对应的出接口、标记位及主机IP字段;当所述目的IP地址与所述路由索引的待查询IP地址匹配时,确定与所述目的IP地址匹配的待查询IP地址对应的路由索引为目标路由索引;
若所述目标路由索引的标记位为第一设定值且所述目标路由索引的主机IP字段中记录有所述目的IP地址,基于所述目标路由索引的出接口转发所述数据报文;所述第一设定值表征需要查找所述目标路由索引的主机IP字段中是否记录有所述目的IP地址;
若所述目标路由索引的标记位为第二设定值,基于所述目标路由索引的出接口转发所述数据报文。
2.如权利要求1所述的基于路由表的报文转发方法,其特征在于,所述方法还包括:
当所述目的IP地址与所述路由表的所有路由索引的待查询IP地址都不匹配时,将所述数据报文丢弃。
3.一种路由表维护方法,应用于网络设备,其特征在于,所述网络设备维护有初始路由表,所述初始路由表包括路由索引,所述路由索引包括待查询IP地址及与所述待查询IP地址对应的出接口、标记位及主机IP字段,所述方法包括:
获取主机路由及所述主机路由的接收端口;
若所述主机路由与所述待查询IP地址匹配,根据所述接收端口和所述出接口确定待处理路由索引;
若所述待处理路由索引的标记位为第一设定值,将所述主机路由记录到所述待处理路由索引的主机IP字段中;
若所述主机路由与所述待查询IP地址不匹配,则在所述初始路由表中添加新的路由索引;其中,所述新的路由索引的待查询IP地址为所述主机路由,所述新的路由索引的标记位为第二设定值,所述新的路由索引的出接口为所述接收端口,所述新的路由索引的主机IP字段为默认值。
4.一种基于路由表的报文转发装置,应用于网络设备,所述网络设备中维护有路由表,其特征在于,所述装置包括:
路由查找模块,用于根据接收到的数据报文的目的IP地址查找所述路由表的路由索引,所述路由索引均包括待查询IP地址及与所述待查询IP地址对应的出接口、标记位及主机IP字段;当所述目的IP地址与所述路由索引的待查询IP地址匹配时,确定与所述目的IP地址匹配的待查询IP地址对应的路由索引为目标路由索引;
报文处理模块,用于若所述目标路由索引的标记位为第一设定值且所述目标路由索引的主机IP字段中记录有所述目的IP地址,基于所述目标路由索引的出接口转发所述数据报文;所述第一设定值表征需要查找所述目标路由索引的主机IP字段中是否记录有所述目的IP地址;
所述报文处理模块还用于若所述目标路由索引的标记位为第二设定值,基于所述目标路由索引的出接口转发所述数据报文。
5.如权利要求4所述的基于路由表的报文转发装置,其特征在于,所述报文处理模块还用于当所述目的IP地址与所述路由表的所有路由索引的待查询IP地址都不匹配时,将所述数据报文丢弃。
6.一种路由表维护装置,应用于网络设备,其特征在于,所述网络设备维护有初始路由表,所述初始路由表包括路由索引,所述路由索引包括待查询IP地址及与所述待查询IP地址对应的出接口、标记位及主机IP字段,所述装置包括:
获取模块,用于获取主机路由及所述主机路由的接收端口;
确定模块,用于若所述主机路由与所述待查询IP地址匹配,根据所述接收端口和所述出接口确定待处理路由索引;
维护模块,用于若所述待处理路由索引的标记位为第一设定值,将所述主机路由记录到所述待处理路由索引的主机IP字段中;
所述维护模块还用于若所述主机路由与所述待查询IP地址不匹配,则在所述初始路由表中添加新的路由索引;其中,所述新的路由索引的待查询IP地址为所述主机路由,所述新的路由索引的标记位为第二设定值,所述新的路由索引的出接口为所述接收端口,所述新的路由索引的主机IP字段为默认值。
7.一种网络设备,其特征在于,包括存储有计算机程序的计算机可读存储介质和处理器,所述计算机程序被所述处理器读取并运行时,实现如权利要求1-2任一项或权利要求3所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器读取并运行时,实现如权利要求1-2任一项或权利要求3所述的方法。
CN201810323531.2A 2018-04-11 2018-04-11 基于路由表的报文转发方法与路由表维护方法及相关装置 Active CN108718277B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810323531.2A CN108718277B (zh) 2018-04-11 2018-04-11 基于路由表的报文转发方法与路由表维护方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810323531.2A CN108718277B (zh) 2018-04-11 2018-04-11 基于路由表的报文转发方法与路由表维护方法及相关装置

Publications (2)

Publication Number Publication Date
CN108718277A CN108718277A (zh) 2018-10-30
CN108718277B true CN108718277B (zh) 2021-11-09

Family

ID=63898936

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810323531.2A Active CN108718277B (zh) 2018-04-11 2018-04-11 基于路由表的报文转发方法与路由表维护方法及相关装置

Country Status (1)

Country Link
CN (1) CN108718277B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7366283B2 (ja) * 2020-02-28 2023-10-20 新華三技術有限公司 ルート更新方法及び装置
CN112187636B (zh) * 2020-09-22 2022-08-16 锐捷网络股份有限公司 Ecmp路由的存储方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003063427A1 (en) * 2002-01-21 2003-07-31 Rockstorm Technologies Ab Method and system for fast ip routing lookup using forwarding tables with guaranteed compression rate and lookup performance
CN1874305A (zh) * 2006-03-22 2006-12-06 华为技术有限公司 一种ip路由选择方法
CN1885820A (zh) * 2005-06-21 2006-12-27 中兴通讯股份有限公司 一种路由转发表地址查找引擎装置
CN101094179A (zh) * 2007-07-16 2007-12-26 中兴通讯股份有限公司 一种多级索引路由查找方法及装置
CN102137024A (zh) * 2011-04-19 2011-07-27 福建星网锐捷网络有限公司 报文处理方法、出口路由设备及边界路由设备
CN106803809A (zh) * 2016-12-29 2017-06-06 杭州迪普科技股份有限公司 一种报文转发的方法和装置
CN107347035A (zh) * 2016-05-06 2017-11-14 华为技术有限公司 路由查找方法、装置、分配节点、查找节点及入口节点

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104901890B (zh) * 2015-06-24 2018-01-02 上海斐讯数据通信技术有限公司 一种sdn的路由生成、匹配方法和系统
CN106375231B (zh) * 2015-07-22 2019-11-05 华为技术有限公司 一种流量切换方法、设备及系统
US9806984B1 (en) * 2015-12-31 2017-10-31 EMC IP Holding Company LLC Separating network traffic among virtual servers
CN106161227B (zh) * 2016-06-27 2021-02-12 新华三技术有限公司 一种报文转发方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003063427A1 (en) * 2002-01-21 2003-07-31 Rockstorm Technologies Ab Method and system for fast ip routing lookup using forwarding tables with guaranteed compression rate and lookup performance
CN1885820A (zh) * 2005-06-21 2006-12-27 中兴通讯股份有限公司 一种路由转发表地址查找引擎装置
CN1874305A (zh) * 2006-03-22 2006-12-06 华为技术有限公司 一种ip路由选择方法
CN101094179A (zh) * 2007-07-16 2007-12-26 中兴通讯股份有限公司 一种多级索引路由查找方法及装置
CN102137024A (zh) * 2011-04-19 2011-07-27 福建星网锐捷网络有限公司 报文处理方法、出口路由设备及边界路由设备
CN107347035A (zh) * 2016-05-06 2017-11-14 华为技术有限公司 路由查找方法、装置、分配节点、查找节点及入口节点
CN106803809A (zh) * 2016-12-29 2017-06-06 杭州迪普科技股份有限公司 一种报文转发的方法和装置

Also Published As

Publication number Publication date
CN108718277A (zh) 2018-10-30

Similar Documents

Publication Publication Date Title
CN108259347B (zh) 一种报文传输方法和装置
CN110620727B (zh) 多环境下的网关自动路由方法及相关设备
US8073936B2 (en) Providing support for responding to location protocol queries within a network node
CN104734964B (zh) 报文处理方法、节点及系统
CN107046506B (zh) 一种报文处理方法、流分类器和业务功能实例
EP2869510B1 (en) Express header for packets with hierarchically structured variable-length identifiers
US10659361B2 (en) Packet processing
CN109743414B (zh) 利用冗余连接提高地址翻译可用性的方法及计算机可读存储介质
US11936615B2 (en) Mapping internet routing with anycast and utilizing such maps for deploying and operating anycast points of presence (PoPs)
CN107547346B (zh) 一种报文传输方法和装置
CN108718277B (zh) 基于路由表的报文转发方法与路由表维护方法及相关装置
US10313202B2 (en) Dynamically mapping network addresses
CN114143257A (zh) 一种生成表项的方法、发送报文的方法、设备及系统
CN111224878B (zh) 路由转发方法、装置、电子设备及存储介质
CN107147581B (zh) 路由表项的维护方法和装置
US20150370906A1 (en) System and method for mapping identifier with locator using bloom filter
US20230041395A1 (en) Method and Device for Processing Routing Table Entries
CN112565091A (zh) 一种报文转发方法、装置、存储介质及终端设备
CN109831378B (zh) 一种报文超时回应方法及装置
CN110213365B (zh) 基于用户分区的用户访问请求处理方法及电子设备
US9935916B2 (en) Dynamically mapping network addresses
CN109361618B (zh) 数据流量标记方法、装置、计算机设备及存储介质
CN107070797A (zh) 一种报文转发的方法及系统
CN112787932B (zh) 一种用于生成转发信息的方法、装置和系统
CN114257545A (zh) 一种报文转发方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230619

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right