CN104836738B - 路由硬件表项资源管理方法、装置及网络设备 - Google Patents

路由硬件表项资源管理方法、装置及网络设备 Download PDF

Info

Publication number
CN104836738B
CN104836738B CN201510154130.5A CN201510154130A CN104836738B CN 104836738 B CN104836738 B CN 104836738B CN 201510154130 A CN201510154130 A CN 201510154130A CN 104836738 B CN104836738 B CN 104836738B
Authority
CN
China
Prior art keywords
routing
class
hardware
route
encap
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
CN201510154130.5A
Other languages
English (en)
Other versions
CN104836738A (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.)
Ruijie Networks Co Ltd
Original Assignee
Beijing Star Net Ruijie Networks 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 Beijing Star Net Ruijie Networks Co Ltd filed Critical Beijing Star Net Ruijie Networks Co Ltd
Priority to CN201510154130.5A priority Critical patent/CN104836738B/zh
Publication of CN104836738A publication Critical patent/CN104836738A/zh
Application granted granted Critical
Publication of CN104836738B publication Critical patent/CN104836738B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/20Hop count for routing purposes, e.g. TTL
    • 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
    • H04L45/745Address table lookup; Address filtering
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]
    • 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
    • H04L45/745Address table lookup; Address filtering
    • H04L45/748Address table lookup; Address filtering using longest matching prefix

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及计算机网络领域,公开了一种路由硬件表项资源管理方法、装置及网络设备。基于邻接路由是否能与网络路由相关联将邻接路由细分为主机类邻接路由和路由类邻接路由,并设置为主机类邻接路由间尽可能地共享ENCAP硬件表项/NHOP硬件表项以节省大量路由硬件表项资源,同时仍按照普通路由处理逻辑为路由类邻接路由和网络路由设置更为严格的共享条件,以避免产生大量额外的路由硬件表项更新任务而导致系统性能恶化。应用本发明,可在用户无感知的情况下自动共享路由硬件表项资源、提高可接入的邻接节点数,更加人性化地解决邻接节点接入数受限于硬件表项容量的问题。

Description

路由硬件表项资源管理方法、装置及网络设备
技术领域
本发明涉及计算机网络领域,具体地,涉及一种路由硬件表项资源管理方法、一种路由硬件表项资源管理装置以及一种网络设备。
背景技术
本申请中的术语“邻接(adjacent)”请参照RFC1812中对于“adjacent”的相关定义,指无需经过任何IP路由器即可到达。相应地,本申请中的术语“邻接设备”指路由无需经过任何IP路由器即可到达的设备。一个邻接设备可能具有多个IP地址,可认为每个IP对应于一个邻接节点。术语“邻接信息”指基于每个邻接节点的MAC地址、IP地址、出口(即L3Port,在RFC 1812中被描述为network interface)等信息。术语“邻接路由”指基于邻接信息生成的路由,具有下一跳的IP与报文最终目的IP(即路由前缀)相同的特征。术语“网络路由”,也称为网段路由,通常具有报文最终目的IP为网段的特征,即通常具有非全长路由前缀。本申请中,将一网络路由的下一跳IP和一邻接路由的路由前缀相同的情况,称为该网络路由和该邻接路由相关联。如无明确其他理解,本申请中的IP或IP地址均指32位的IPv4地址或128位的IPv6地址(隐式地或显示地包含其子网掩码长度信息)。
虚拟局域网(VLAN)是局域网部署中最具生命力的组网技术。图1示出了虚拟局域网数据中心的多虚拟机场景的示意图。如图1所示,应用虚拟局域网技术,在数据中心的任意物理设备(例如服务器)120和/或130上可部署多个虚拟机(即多个邻接节点)。图1中以示例的形式示出了数据中心的一台交换机/网关(例如三层交换机)110,以及作为其邻接设备的物理设备120和物理设备130。邻接设备120上部署有3个虚拟机121、122、123。邻接设备130上部署有2个虚拟机131、132。虚拟机121、122、123、131和132中每一者具有各自的IP地址。对于交换机/网关110来说,每个虚拟机都是其邻接节点。虚拟局域网在带宽使用效率、组网灵活性、网络安全性等方面具有很大优势,并且通过虚拟局域网能够方便地实现用户增加、删除和移动,可大幅提高网络管理效率。虚拟局域网还可在局域网内成员间提供低延迟通信。为了使本发明的重点突出,图1仅是一个最简化的示例,事实上,数据中心可有多种部署方案,数据中心可包括一个或多个交换机/网关,每个邻接设备上可部署一个或多个虚拟机,相同邻接设备上部署的不同虚拟机可连接至相同交换机/网关或者不同交换机/网关。本申请中的相应分析和技术方案可适用于多种部署方案中多种交换机/网关的路由硬件表项管理。
对于交换机/网关而言,每条路由信息可被存储在路由硬件表中以用于报文转发。路由硬件表主要包括前缀硬件表、NHOP(Next Hop)硬件表和ENCAP(Encapsulation)表。在报文转发过程中,由前缀硬件表项导向NHOP硬件表项,再由NHOP硬件表项导向ENCAP硬件表项,从而获得完整的路由信息。
前缀硬件表用于存储路由前缀。HOST硬件表和LPM硬件表可被统称为前缀硬件表,其中HOST硬件表存储全长路由前缀(如子网掩码长度为32的IPv4路由前缀、子网掩码长度为128的IPv6路由前缀),LPM硬件表可存储全长或非全长路由前缀。前缀硬件表中的每个表项还包括用于存储该路由的NHOP表项的索引。NHOP硬件表用于存储路由下一跳的出口、行为等。NHOP硬件表中的每个表项还包括用于存储该路由的ENCAP表项的索引。ENCAP硬件表用于存储路由报文的封装信息,通常为下一跳的MAC地址(一般为48位)。表项的索引可以是该表项在相应硬件表中的序号。
如本领域技术人员所知道的,每个路由硬件表的容量都是有限的,因此数据中心可支持的虚拟机接入数受限于路由硬件表的容量。又因为前缀硬件表的容量通常远大于ENCAP硬件表和NHOP硬件表,所以ENCAP硬件表项资源和NHOP硬件表项资源被视为限制虚拟机接入数的瓶颈。
按照现有技术中的普通路由处理逻辑,只有下一跳IP地址相同(对于支持VRF(Virtual Routing Forwarding)的设备,还要求VRF信息相同)的若干路由才能共享相同ENCAP硬件表项和相同NHOP硬件表项。由于各个虚拟机的IP地址不同,所以基于各个虚拟机的邻接信息生成的邻接路由要占用不同的ENCAP硬件表项和NHOP硬件表项。
为克服这一瓶颈,研发人员进行了多方面的探索。其中,研发人员开发出一种支持ARP(Address Resolution Protocol)扩展功能的芯片,具体为:
S1,将路由下一跳的MAC地址高有效位保存在ENCAP硬件表中,将路由下一跳的MAC地址低有效位保存在HOST硬件表中;
S2,当芯片执行路由查找时,只需从ENCAP硬件表获取下一跳的MAC地址高有效位,而从HOST硬件表获取MAC地址低有效位,即可得到完整的MAC地址。
由于上述ARP扩展功能并不需要从ENCAP硬件表中获取MAC地址低有效位,使得下一跳的MAC地址高有效位相同而低有效位不同的若干邻接路由有了共享相同ENCAP硬件表项的可能。理论上,例如,如果ENCAP硬件表中存储MAC地址高44位而HOST硬件表中存储MAC地址低4位,则ENCAP硬件表中可写入的路由封装信息数量可增加至16倍。
此外,如果ENCAP硬件表项共享而NHOP硬件表项不共享,则NHOP硬件表项资源很可能成为制约虚拟机接入数的瓶颈,因此可对每个路由的ENCAP硬件表项和NHOP硬件表项采用相同的共享策略,使得共享相同ENCAP硬件表项的若干路由也共享相同NHOP硬件表项,以更彻底地解决虚拟机接入数受限的问题。在这种共享策略下,下一跳的MAC地址高有效位相同而且下一跳的出口相同的不同路由有可能共享相同ENCAP硬件表项和相同NHOP硬件表项。
对ARP扩展功能进行分析,可以看出其存在如下应用限制:
(1)只可对路由前缀存储在HOST硬件表中的路由应用ARP扩展功能;
(2)下一跳的MAC地址高有效位相同的路由才可能共享ENCAP硬件表项,对于希望同时共享NHOP硬件表项的路由,其下一跳出口也必须相同;
(3)不支持ECMP(Equal-Cost Multipath routing,等价多路径)和WCMP(WeightedCost Multipath,加权多路径)。
而对于虚拟局域网,可发现其数据中心的多个虚拟机的MAC地址高位通常相同,而且这些虚拟机对应的邻接路由具有可被存储在HOST硬件表中的全长IP路由前缀、通常具有相同出口并且是非ECMP/WCMP路由,所以恰好可满足ARP扩展功能的要求。因此ARP扩展功能为解决数据中心可接入的多虚拟机数受限于ENCAP硬件表和NHOP硬件表容量的问题带来了启示。
虽然目前已有个别厂商的设备尝试通过利用ARP扩展功能来增加在数据中心可接入的虚拟机数,但这些设备存在很大不足。例如某公司的某高端系列数据中心交换机,其支持以下两种工作模式:普通模式和ARP扩展模式。普通模式下不使用ARP扩展功能,按照现有技术中的普通路由处理逻辑来处理路由;ARP扩展模式下开启ARP扩展功能。用户使用相应设备时,需要进行额外的操作以在上述两种模式间进行切换,并且在上述两种模式间进行切换时,还必须通过更改配置、保存配置并重启后才能生效,这会影响用户的正常业务,以及带来非常不便利的用户体验。
发明内容
发明人经过对ARP扩展功能进行深入分析后认为,目前市面上支持ARP扩展功能的交换机等网络设备必须进行模式区分的原因很可能在于其ARP扩展模式在一些场景下的应用效果可能并不理想,同时发明人提出了一种不需进行额外切换、能适用于多种场景的、并且在节省硬件表项资源的同时几乎不影响系统整体性能的方法,还提出了用于实现该方法的装置和网络设备(诸如交换机)。
本发明公开了一种路由硬件表项资源管理方法,该方法包括:将路由识别为第一类路由和第二类路由中的一者,所述第一类路由包括网络路由和路由类邻接路由,所述路由类邻接路由是能与至少一个所述网络路由相关联的邻接路由,所述第二类路由包括主机类邻接路由,所述主机类邻接路由是不能与任何一个所述网络路由相关联的邻接路由;使具有相同第一信息的多个第一类路由共享相同的ENCAP硬件表项,所述第一信息包括下一跳IP地址;使具有相同第二信息的多个第二类路由共享相同的ENCAP硬件表项,所述第二信息包括下一跳MAC地址的部分有效位。
优选地,使用以所述第一信息为KEY的数据库管理第一类路由的ENCAP硬件表项;以及使用以所述第二信息为KEY的数据库管理第二类路由的ENCAP硬件表项。
优选地,所述具有相同第一信息的多个第一类路由还共享相同的NHOP硬件表项;所述具有相同第二信息的多个第二类路由还共享相同的NHOP硬件表项,所述第二信息还包括下一跳出口。
优选地,使用以所述第一信息为KEY的数据库管理第一类路由的ENCAP硬件表项和NHOP硬件表项;以及使用以所述第二信息为KEY的数据库管理第二类路由的ENCAP硬件表项和NHOP硬件表项。
优选地,在VRF被支持的情况下,所述第一信息还包括下一跳VRF信息。
优选地,当新识别的网络路由关联至已被识别为主机类邻接路由的路由,将该已被识别为主机类邻接路由的路由重新识别为路由类邻接路由。
优选地,当与已被识别为路由类邻接路由的路由相关联的所有网络路由都被移除后,将该已被识别为路由类邻接路由的路由仍然重新识别为路由类邻接路由;或者当与已被识别为路由类邻接路由的路由相关联的所有网络路由都被移除后,将该已被识别为路由类邻接路由的路由重新识别为主机类邻接路由。
优选地,按照普通路由处理逻辑处理所述第一类路由;按照ARP扩展功能处理逻辑处理所述第二类路由。
优选地,所述部分有效位指高有效位。
优选地,所述第一类路由中的每一者的ENCAP硬件表项中的内容包括该第一类路由的完整的所述下一跳MAC地址;所述第二类路由中的每一者的ENCAP硬件表项中的内容包括该第二类路由的所述下一跳MAC地址的所述部分有效位。
优选地,所述第二类路由中的每一者的HOST硬件表项中的内容包括该第二类路由的所述下一跳MAC地址的除包含在所述第一消息中的所述部分有效位外的其他有效位。
本发明还公开了一种路由硬件表项资源管理装置,该装置包括:路由识别模块,用于将路由识别为第一类路由和第二类路由中的一者,所述第一类路由包括网络路由和路由类邻接路由,所述路由类邻接路由是能与至少一个所述网络路由相关联的邻接路由,所述第二类路由包括主机类邻接路由,所述主机类邻接路由是不能与任何一个所述网络路由相关联的邻接路由;第一路由处理模块,用于使具有相同第一信息的多个第一类路由共享相同的ENCAP硬件表项,所述第一信息包括下一跳IP地址;第二路由处理模块,用于使具有相同第二信息的多个第二类路由共享相同的ENCAP硬件表项,所述第二信息包括下一跳MAC地址的部分有效位。
优选地,所述第一路由处理模块使用以所述第一信息为KEY的数据库管理第一类路由的ENCAP硬件表项;以及所述第二路由处理模块使用以所述第二信息为KEY的数据库管理第二类路由的ENCAP硬件表项。
优选地,所述第一路由处理模块还用于使所述具有相同第一信息的多个第一类路由共享相同的NHOP硬件表项;所述第二路由处理模块还用于使所述具有相同第二信息的多个第二类路由共享相同的NHOP硬件表项,所述第二信息还包括下一跳出口。
优选地,所述第一路由处理模块使用以所述第一信息为KEY的数据库管理第一类路由的ENCAP硬件表项和NHOP硬件表项;以及所述第二路由处理模块使用以所述第二信息为KEY的数据库管理第二类路由的ENCAP硬件表项和NHOP硬件表项。
优选地,在VRF被支持的情况下,所述第一信息还包括下一跳VRF信息。
优选地,当新识别的网络路由关联至已被识别为主机类邻接路由的路由,所述路由识别模块还用于将该已被识别为主机类邻接路由的路由重新识别为路由类邻接路由。
优选地,当与已被识别为路由类邻接路由的路由相关联的所有网络路由都被移除后,所述路由识别模块还用于将该已被识别为路由类邻接路由的路由仍然重新识别为路由类邻接路由;或者当与已被识别为路由类邻接路由的路由相关联的所有网络路由都被移除后,所述路由识别模块还用于将该已被识别为路由类邻接路由的路由重新识别为主机类邻接路由。
优选地,所述第一路由处理模块按照普通路由处理逻辑处理所述第一类路由;所述第二路由处理模块按照ARP扩展功能处理逻辑处理所述第二类路由。
优选地,所述部分有效位指高有效位
优选地,所述第一类路由中的每一者的ENCAP硬件表项中的内容包括该第一类路由的完整的所述下一跳MAC地址;所述第二类路由中的每一者的ENCAP硬件表项中的内容包括该第二类路由的所述下一跳MAC地址的所述部分有效位。
优选地,所述第二类路由中的每一者的HOST硬件表项中的内容包括该第二类路由的所述下一跳MAC地址的除包含在所述第一消息中的所述部分有效位外的其他有效位。
本发明还公开了一种网络设备,所述网络设备包括如上所述的路由硬件表项资源管理装置
通过上述技术方案,基于邻接路由是否能与网络路由相关联将邻接路由细分为主机类邻接路由和路由类邻接路由,一方面使得主机类邻接路由间尽可能地共享ENCAP硬件表项(可能还有NHOP硬件表项)以节省大量路由硬件表项资源,另一方面仍按照诸如普通路由处理逻辑中所采用的方式为路由类邻接路由和网络路由设置更为严格的共享条件,以避免产生大量额外的路由硬件表项更新任务而导致系统性能恶化。应用本发明,可在用户无感知的情况下自动共享路由硬件表项资源、提高可接入的邻接节点数,更加人性化地解决邻接节点接入数受限于硬件表项容量的问题。
本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1示出了虚拟局域网数据中心的多虚拟机场景的示意图。
图2根据本发明一种实施方式的用于管理路由硬件表项的方法的示意图。
图3根据本发明优选实施方式的用于管理路由硬件表项的方法的示意图。
图4示出了根据本发明优选实施方式的用于管理路由硬件表项的示意框图。
图5结合图4示出了根据本发明优选实施方式的添加邻接路由的流程图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
以下先对现有技术中使用ARP扩展功能时可能出现的缺陷进行深入分析。
缺陷一,可能出现使用ARP扩展功能处理邻接路由后数据中心可接入的虚拟机数比对使用普通路由处理逻辑处理所有路由时可支持的虚拟机数量减小的情况,以下将举例分析。为使描述简要,下列分析过程中,假设相应设备为不支持VRF的设备。本领域技术人员可理解的是,对支持VRF的设备的分析是类似的。
表1
路由前缀 路由类型 下一跳IP
1.0.0.1/32 邻接路由 1.0.0.1/32
2.0.0.0/8 网络路由 1.0.0.1/32
表1中示出了两条类型不同的路由信息。表中第1列示出了路由的前缀,其中斜线后的数字表示该IP地址的子网掩码长度,均为十进制(如无特别说明,本申请中均采用该表示方式表示IP地址);第2列示出了路由的类型;第3列示出了路由的下一跳的IP地址。如果均采用现有技术中的普通路由处理逻辑对这两条路由进行处理,由于其下一跳IP都为1.0.0.1/32,所以这两条路由可以共享相同ENCAP硬件表项和相同NHOP硬件表项。
但如果对其中的邻接路由使用ARP扩展功能,同时由于具有非全长路由前缀的网络路由(也是非邻接路由)2.0.0.0/8不支持ARP扩展功能,所以只能使用普通路由处理逻辑处理网络路由2.0.0.0/8。这种情况下,由于这两条ENCAP硬件表项的共享条件不同,无法共享相同的ENCAP硬件表项,而要占用两个ENCAP硬件表项。从而,可能导致使用ARP扩展模式时可接入的虚拟机数小于使用普通路由处理逻辑时可接入的虚拟机数量。
缺陷二,可能出现导致系统性能严重恶化的情况,以下将举例分析。同样,下列分析过程中,假设相应设备为不支持VRF的设备,并仅以同时要求共享ENCAP和NHOP硬件表项的情况为例进行分析。本领域技术人员可以理解的是,对支持VRF的设备,或者仅要求共享ENCAP硬件表项的情况,其分析类似。
表2
表2中的前3列分别表示路由的前缀、类型、下一跳的IP地址,第4列示出了路由的下一跳的出口号,第5列示出了路由的下一跳的MAC地址(16进制表示)。表2中示出了3条路由,包括2条邻接路由和1条网络路由(也是非邻接路由),其中网络路由2.0.0.0/8关联至邻接路由1.0.0.1/32。
可将表2中的3条路由都设置为基于下一跳MAC地址的高44位和出口是否相同确定是否同享相同ENCAP硬件表项和相同NHOP硬件表项。根据表2所示的信息,这3条路由可共享相同ENCAP硬件表项和相同NHOP硬件表项。此外,由于网络路由不能使用ARP扩展功能,所以被共享的ENCAP硬件表项中存储的MAC地址为网络路由2.0.0.0/8的完整MAC地址(即0x1111.1111.1111)。
针对表2的情况,如果邻接节点1.0.0.1/32的MAC地址高有效位发生变化,例如,该邻接节点承载的全部业务被从MAC地址为0x1111.1111.1111的邻接设备搬移到例如MAC地址为0x1111.1111.1131的邻接设备,此时,这三条路由的相应信息如表3所示:
表3
邻接路由1.0.0.1/32和与其关联的网络路由(例如网络路由2.0.0.0/8)将无法继续与邻接路由1.0.0.2/32共享相同ENCAP硬件表项和相同NHOP硬件表项,通常这种情况下需要申请新的ENCAP硬件表项和NHOP硬件表项以存储邻接路由1.0.0.1/32和与其关联的网络路由(例如网络路由2.0.0.0/8)的相应路由信息。这导致需要相应地对用于存储邻接路由1.0.0.1/32的路由前缀和用于存储与该邻接路由相关联的网络路由(例如网络路由2.0.0.0/8)的路由前缀的前缀硬件表项中的NHOP表项索引进行更新。而在实际中,可能有多个(例如上万个)网络路由关联到邻接路由1.0.0.1/32,则用于存储这些网络路由的路由前缀的前缀硬件表项都需要被更新,这至少将带来以下两个问题:
1)需要长时间占用处理器资源以用于更新硬件表项;
2)更新完成之前,交换机/路由器无法正常转发IP报文,产生转发面丢包。
基于上述分析,可以清楚地看到如果简单地针对所有邻接路由使用ARP扩展功能可能无法达到节省资源的目的,特别可能严重影响系统性能,这也使得相应网络设备(例如作为网关的交换机或者核心层交换机等)需要根据是否支持ARP扩展功能被设置成分别用于应对不同应用场景的多种工作模式。而模式切换操作不仅影响正常业务,也不利于用户获得良好体验。
为解决上述问题,本发明提出基于不同邻接路由的特点对邻接路由进行细分、并基于细分后的路由类型确定路由共享硬件表项的条件的方法、装置以及网络设备,以在几乎不影响系统性能的情况下提高可接入的邻接节点数,同时避免额外的切换操作、提升用户体验。
图2根据本发明一种实施方式的用于管理路由硬件表项的方法的示意图。
S201,路由可被识别为第一类路由和第二类路由中的一者。第一类路由包括网络路由和路由类邻接路由,所述路由类邻接路由指能与至少一个网络路由相关联的邻接路由。第二类路由包括主机类邻接路由,所述主机类邻接路由指不能与任何一个网络路由关联的邻接路由。
S202,基于路由的第一信息确定多个第一类路由能否共享相同的ENCAP硬件表项。ENCAP硬件表可指用于存储路由的封装信息的硬件表,该硬件表也可具有其他命名方式。第一信息可包括(例如,仅包括)下一跳IP地址。
多个(包括两个或两个以上)第一类路由的第一信息相同,则该多个第一类路由的封装信息(通常包括完整的封装信息)可被存储在同一个ENCAP硬件表项中;对于任意两个第一类路由,如果其第一信息不相同,则这两个第一类路由的封装信息需要被分别存储在不同的ENCAP硬件表项中。
对于支持VRF的设备,所述第一信息还包括下一跳的VRF信息。
当然,本领域技术人员可也根据需要将第一信息设置为除包括IP地址外还包括其他信息。
S203,基于路由的第二信息确定多个第二类路由能否共享相同的ENCAP硬件表项。第二信息可包括(例如,仅包括)下一跳MAC地址的部分有效位(例如,高有效位)。
多个(包括两个或两个以上)第二类路由的第二信息相同,则该多个第二类路由的封装信息可被存储在同一个ENCAP硬件表项中;对于任意两个第二类路由,如果其第二信息不相同,则这两个第二类路由的封装信息被分别存储在不同的ENCAP硬件表项中。针对第二类路由中的每一者,在ENCAP硬件表项中所存储的下一跳MAC地址可以是不完整的,例如,仅为包含在该第二信息中的部分有效位(例如,高有效位),并且可将其下一跳MAC地址的其他有效位存储在该路由的其他路由硬件表项(例如,HOST硬件表项)中。
在路由查找过程中,针对第二类路由中的每一者,可从该路由的ENCAP硬件表项(无论是否被共享)中获取其下一跳MAC地址的部分有效位,而通过其他途径(例如,该路由的HOST硬件表项)获取其下一跳MAC地址的其他有效位,从而可获得完整的下一跳MAC地址。
通过采用如图2所示的方法,可有效节省诸如数据中心交换机的ENCAP硬件表项,增加ENCAP硬件表可支持的接入数。图2所示的实施方式未考虑NHOP硬件表的管理,即可按照本领域技术人员所知的任何适用的方法管理NHOP硬件表。但如之前所分析的,如果只节省ENCAP硬件表项,而仍按照现有技术管理NHOP硬件表项(例如无论针对何种路由都基于下一跳IP确定不同路由是否可共享NHOP硬件表项),则NHOP硬件表项可能成为限制可接入虚拟机数的瓶颈。因此,根据本发明,优选地,可在节省ENCAP硬件表项的同时考虑节省NHOP硬件表项,以更彻底地解决接入受限问题。
图3根据本发明优选实施方式的用于管理路由硬件表项的方法的示意图。图3所示的流程与图2类似,最主要的扩展在于将NHOP硬件表项纳入考虑范围。
S301,路由可被识别为第一类路由和第二类路由中的一者。第一类路由包括网络路由和路由类邻接路由,所述路由类邻接路由指能与至少一个网络路由相关联的邻接路由。第二类路由包括主机类邻接路由,所述主机类邻接路由指不能与任何一个网络路由关联的邻接路由。
S302,基于路由的第一信息确定多个第一类路由能否共享相同的ENCAP硬件表项和NHOP硬件表项。NHOP硬件表可指用于存储路由的下一跳出口、行为等信息的硬件表,该硬件表也可具有其他命名方式。第一信息可包括(例如,仅包括)下一跳IP地址。
多个(包括两个或两个以上)第一类路由的第一信息相同,则该多个第一类路由的封装信息(通常包括完整的封装信息)可被存储在相同ENCAP硬件表项中,同样地,该多个第一类路由的下一跳出口、行为等可被存储在相同NHOP硬件表项中;对于任意两个第一类路由,如果其第一信息不相同,则这两个第一类路由的封装信息需要被分别存储在不同的ENCAP硬件表项中,同样地,其下一跳出口、行为等被分别存储在不同的NHOP硬件表项中。
对于支持VRF的设备,所述第一信息还包括下一跳的VRF信息。
当然,本领域技术人员可也根据需要将第一信息设置为除包括IP地址外还包括其他信息。
S303,基于路由的第二信息确定多个第二类路由能否共享相同的ENCAP硬件表项和NHOP硬件表项。第二信息可包括(例如,仅包括)下一跳MAC地址的部分有效位(例如,高有效位)和下一跳出口。
多个(包括两个或两个以上)第二类路由的第二信息相同,则该多个第二类路由的封装信息可被存储在相同ENCAP硬件表项中,同样地,该多个第二类路由的下一跳出口、行为等信息可被存储在相同的NHOP硬件表项中;对于任意两个第二类路由,如果其第二信息不相同,则这两个第二类路由的封装信息需要被分别存储在不同的ENCAP硬件表项中,同样地,其下一跳出口、行为等信息也被分别存储在不同的NHOP硬件表项中。针对第二类路由中的每一者,在ENCAP硬件表项中所存储的下一跳MAC地址可以是不完整的,例如,仅为包含在该第二信息中的部分有效位(例如,高有效位),并且可将其下一跳MAC地址的其他有效位存储在该路由的其他路由硬件表项(例如,HOST硬件表项)中。
当然,本领域技术人员可也根据需要将第二信息设置为除包括下一跳MAC地址高有效位和出口外还包括其他信息。
可利用现有芯片中的ARP扩展功能实现上述方法,也可通过其他手段实现上述功能。
可结合表4,对图3所示的实施方式的优点进行进一步描述。为使分析简要,可设置如下背景条件:第一信息为下一跳IP地址,第二信息为下一跳MAC地址的高44位和出口。
表4中各列从左到右依次用于示出路由的前缀、类型、下一跳IP、下一跳MAC和下一跳出口。
表4
根据上述分析可以看出,网络路由2.0.0.0/8关联至邻接路由1.0.0.1/32,邻接路由1.0.0.1/32为路由类邻接路由,所以路由2.0.0.0/8和1.0.0.1/32被识别为第一类路由。由于这两条第一类路由的下一跳IP相同,所以根据图3所示的实施方式,它们可共享相同的ENCAP硬件表项和NHOP硬件表项。如果邻接节点1.0.0.1/32的MAC地址发生变化(例如,因为业务搬移),例如从0x1111.1111.1111变为0x1111.1111.1131,可将由这两条路由共享的ENCAP硬件表项中的MAC地址更新为0x1111.1111.1131,而不需申请新的ENCAP硬件表项和NHOP硬件表项,从而也不需更新前缀硬件表中的NHOP表项索引。
邻接路由1.0.0.2/32和1.0.0.3/32不与任何网络路由关联,所以邻接路由1.0.0.2/32和1.0.0.3/32为主机类邻接路由,都被识别为第二类路由。由于这两条第二类路由下一跳MAC地址的高44位和出口均相同,所以它们可共享相同ENCAP硬件表项和相同NHOP硬件表项。如果其中任意一个主机类邻接路由的下一跳MAC地址高44位发生变化、导致这两条邻接路由不能再共享相同ENCAP硬件表项和相同NHOP硬件表项,例如假设邻接路由1.0.0.2/32的MAC地址变为0x1111.1111.1121,则邻接路由1.0.0.2/32可申请新的ENCAP硬件表项和NHOP硬件表项以用于存储其封装信息和下一跳出口等信息,并更新邻接路由1.0.0.2/32的HOST硬件表项中的NHOP硬件表项索引。因为没有网络路由关联至第二类路由1.0.0.2/32,所以第二类路由1.0.0.2/32的下一跳MAC地址变化不会引起大量硬件表项更新任务,几乎不增加处理器的负荷。
上述参考图3所进行的分析也适用于图2,区别仅在于上述过程中是否考虑NHOP硬件表项。针对图2,如果不考虑节省NHOP硬件表项,则可按照现有技术管理NHOP硬件表项。这种情况下,第一类路由可基于下一跳IP确定是否共享ENCAP硬件表项,第二类路由可基于下一跳MAC地址高44位确定是否共享ENCAP硬件表项,而任何类型的路由都可基于下一跳IP确定是否共享NHOP硬件表项。此时,假如共享ENCAP硬件表项的多个第二类邻接路由中的某个第二类邻接路由的MAC地址高有效位发生变化以致不能继续与其他第二类邻接路由共享该ENCAP硬件表项,则MAC地址高有效位发生变化的这个主机类邻接路由可申请新的ENCAP硬件表项,并且只需相应地更新其NHOP硬件表项中的ENCAP硬件表项索引。
图4示出了根据本发明优选实施方式的用于管理路由硬件表项的示意框图。
控制器401用于执行路由类型识别、数据库操作、硬件表项读写等操作。
ENCAP-self数据库402和NHOP-self数据库403分别用于管理一部分路由的ENCAP硬件表项和NHOP硬件表项,其中ENCAP-self数据库402和NHOP-self数据库403均以路由下一跳的IP地址为KEY。ENCAP-self数据库402和NHOP-self数据库403中的每条记录包括该记录对应的路由的下一跳的IP地址。
ENCAP-share数据库404和NHOP-share数据库405分别用于管理另一部分路由的ENCAP硬件表项和NHOP硬件表项,ENCAP-share数据库404和NHOP-share数据库405均以路由下一跳的MAC地址的高有效位和出口为KEY。ENCAP-share数据库404和NHOP-share数据库405中的每条记录包括该记录对应的路由的下一跳的MAC地址高有效位和出口。
ENCAP硬件表406和NHOP硬件表407分别用于存储路由的封装信息和下一跳出口、行为等信息。HOST硬件表408用于存储邻接路由的路由前缀,LPM硬件表409用于存储网络路由的路由前缀。
图5结合图4对根据本发明一种优选实施方式的添加邻接路由的过程进行介绍。在控制器401中,如果第一路由被识别为邻接路由(S501),则在ENCAP-self数据库402和NHOP-self数据库403中进行查找(S502),以确定是否存在与第一路由KEY(即下一跳的IP地址)相同的记录(将该记录对应的路由称为第二路由)(S503)。如果ENCAP-self数据库402和NHOP-self数据库403中存在与第一路由KEY(即下一跳的IP地址)相同的记录,则第一路由被识别为路由类邻接路由,复用这两个数据库中与其KEY相同的记录(即与第二路由对应的记录),并在ENCAP硬件表406和NHOP硬件表407中分别与第二路由共享相同的硬件表项(S504)。本申请中不同路由间“共享”硬件表项和现有技术中不同路由间“共享”硬件表项中“共享”的含义基本相同。例如,在此处,根据需要,第一路由与第二路由共享相同ENCAP硬件表项/NHOP硬件表项可包括:不对ENCAP硬件表406/NHOP硬件表407进行操作;或者将第一路由的封装信息(例如,包括下一跳的完整MAC地址)写入之前用于存储第二路由的封装信息的ENCAP硬件表项/将第一路由的出口、行为等写入之前用于存储第二路由的出口、行为等的NHOP硬件表项。通常,当第一路由对应的邻接节点的邻接信息(例如MAC地址/下一跳出口等)发生变化时,需要将变化后的内容写入之前用于存储第二路由的相应表项,即更新相应表项;而当第一路由对应的邻接节点的邻接信息没有发生变化时,可不对相应硬件表执行写操作。当然,某些实施方式中,在后一种情况下,虽然不会改变表项中的内容,仍可选择将第一路由的相应信息写入相应表项。本领域技术人员可理解的是,这类实施细节,不用于限制本发明的保护范围。
如果ENCAP-self数据库402和NHOP-self数据库403中不存在与第一路由KEY(即下一跳的IP地址)相同的记录,则第一路由被识别为主机类邻接路由,并继续在ENCAP-share数据库404和NHOP-share数据库405中进行查找(S505),以确定是否存在与第一路由KEY(即下一跳的MAC地址高有效位和出口)相同的记录(将该记录对应的路由称为第三路由)(S506)。如果ENCAP-share数据库404和NHOP-share数据库405中存在与第一路由KEY(即下一跳的MAC地址高有效位和出口)相同的记录,则复用这两个数据库中与其KEY相同的记录(即与第三路由对应的记录),并在ENCAP硬件表406/NHOP硬件表407中分别与第三路由共享相同硬件表项(S507)。如果ENCAP-share数据库404和NHOP-share数据库405中不存在与第一路由KEY(即下一跳的MAC地址高有效位和出口)相同的记录,则在ENCAP-share数据库404和NHOP-share数据库405中分别申请新的记录以记录第一路由的相关信息,并且在ENCAP硬件表406和NHOP硬件表407中申请新的表项,以分别存储第一路由的封装信息(例如,包括下一跳MAC地址的高有效位)和第一路由的出口、行为等(S508)。
在写路由硬件表的过程中,如果在ENCAP硬件表406中写入的是MAC地址的部分有效位,则可将该MAC地址的其他有效位写入HOST硬件表408中的相应表项。
下文对网络路由的添加过程进行简单说明。通常总是先建立邻接路由,后建立与该邻接路由相关联的网络路由。
如果新路由被识别为网络路由(第四路由),并且在ENCAP-self数据库402和NHOP-self数据库403中找到KEY(即下一跳的IP地址)相同的记录(将该记录对应的路由称为第五路由),则第四路由复用这两个数据库中与其KEY相同的记录(即与第五路由对应的记录),并在ENCAP硬件表406和NHOP硬件表407中分别与第五路由共享相同的硬件表项。如果新路由被识别为网络路由的路由并且关联到已被识别为主机类邻接路由的第七路由(该新路由为第六路由),可将第七路由重新识别为路由类邻接路由,在ENCAP-self数据库402和NHOP-self数据库403数据库中申请新的记录以分别记录第七路由的封装信息(例如,包括下一跳的完整MAC地址)和下一跳出口、行为等,并将第七路由从ENCAP-share数据库404和NHOP-share数据库405中删除(如果之前在ENCAP-share数据库404和NHOP-share数据库405中第七路由与其他路由复用同一记录,则删除第七路由并不意味着删除该记录)。此时,第六路由可复用ENCAP-self数据库402和NHOP-self数据库403数据库中与第七路由对应的记录,并在ENCAP硬件表406和NHOP硬件表407中分别与第七路由共享相同的硬件表项。当与已被识别为路由类邻接路由的第八路由相关联的所有网络路由都被删除时,可根据不同网络部署情况采用不同处理方法。在一些情况下,可认为第八路由已经不能与网络路由相关联,因此将第八路由重新识别为主机类邻接路由,从ENCAP-self数据库402和NHOP-self数据库403中删除第八路由,并且按以上描述的处理被识别为主机类邻接路由的方法(从S505开始)处理第八路由。在另一些情况下,可认为第八路由仅是暂时未网络路由相关联,后续仍可与网络路由相关联,因此为避免后续记录反复迁移,仍然将第八路由识别为路由类邻接路由,并且仍使用ENCAP-share数据库404和NHOP-share数据库405管理第八路由的相应记录。
本发明还公开了一种路由硬件表项资源管理装置,该装置包括:路由识别模块,用于将路由识别为第一类路由和第二类路由中的一者,所述第一类路由包括网络路由和路由类邻接路由,所述路由类邻接路由是能与至少一个所述网络路由相关联的邻接路由,所述第二类路由包括主机类邻接路由,所述主机类邻接路由是不能与任何一个所述网络路由相关联的邻接路由;第一路由处理模块,用于使具有相同第一信息的多个第一类路由共享相同的ENCAP硬件表项,所述第一信息包括下一跳IP地址;第二路由处理模块,用于使具有相同第二信息的多个第二类路由共享相同的ENCAP硬件表项,所述第二信息包括下一跳MAC地址的部分有效位。
优选地,所述第一路由处理模块使用以所述第一信息为KEY的数据库管理第一类路由的ENCAP硬件表项;以及所述第二路由处理模块使用以所述第二信息为KEY的数据库管理第二类路由的ENCAP硬件表项。
优选地,所述第一路由处理模块还用于使所述具有相同第一信息的多个第一类路由共享相同的NHOP硬件表项;所述第二路由处理模块还用于使所述具有相同第二信息的多个第二类路由共享相同的NHOP硬件表项,所述第二信息还包括下一跳出口。
优选地,所述第一路由处理模块使用以所述第一信息为KEY的数据库管理第一类路由的ENCAP硬件表项和NHOP硬件表项;以及所述第二路由处理模块使用以所述第二信息为KEY的数据库管理第二类路由的ENCAP硬件表项和NHOP硬件表项。
优选地,在VRF被支持的情况下,所述第一信息还包括下一跳VRF信息。
优选地,当新识别的网络路由关联至已被识别为主机类邻接路由的路由,所述路由识别模块还用于将该已被识别为主机类邻接路由的路由重新识别为路由类邻接路由。
优选地,当与已被识别为路由类邻接路由的路由相关联的所有网络路由都被移除后,所述路由识别模块还用于将该已被识别为路由类邻接路由的路由仍然重新识别为路由类邻接路由;或者当与已被识别为路由类邻接路由的路由相关联的所有网络路由都被移除后,所述路由识别模块还用于将该已被识别为路由类邻接路由的路由重新识别为主机类邻接路由。
优选地,所述第一路由处理模块按照普通路由处理逻辑处理所述第一类路由;所述第二路由处理模块按照ARP扩展功能处理逻辑处理所述第二类路由。
优选地,所述部分有效位指高有效位
优选地,所述第一类路由中的每一者的ENCAP硬件表项中的内容包括该第一类路由的完整的所述下一跳MAC地址;所述第二类路由中的每一者的ENCAP硬件表项中的内容包括该第二类路由的所述下一跳MAC地址的所述部分有效位。
优选地,所述第二类路由中的每一者的HOST硬件表项中的内容包括该第二类路由的所述下一跳MAC地址的除包含在所述第一消息中的所述部分有效位外的其他有效位。
以上示出的路由硬件表项资源管理方法和装置可在诸如三层及以上交换机等网络设备中实施。
上述方法、装置和网络设备,不仅适用于数据中心多虚拟机场景,也同样适用于使用批量购置的终端设备的情况。批量购置的终端设备可能是由同个厂商的同批次产品,其MAC地址一般呈现出连续性的特征。对于交换机/网关而言,这些终端可被视为主机类邻接节点,并且其MAC地址可具有高有效位相同的特征,所生成的邻接路由通常具有相同出口。因此,本发明可用于该场景,以提高可接入的终端设备数。
上述方法、装置和网络设备,不仅适用于现有芯片中的ARP扩展功能,还可应用于双栈(IPv4和IPv6)共存的网络。在双栈共存的网络中,对于交换机而言,同一主机承载的基于IPv4的一个或多个节点以及基于IPv6的一个或多个节点都可被视为主机类邻接节点,并且其MAC地址和出口相同。因此,同一个主机承载的各个节点可共享相同的ENCAP硬件表项和NHOP硬件表项,提高硬件表项资源的利用率,提高双栈接入数。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。

Claims (23)

1.一种路由硬件表项资源管理方法,该方法包括:
将路由识别为第一类路由和第二类路由中的一者,所述第一类路由包括网络路由和路由类邻接路由,所述路由类邻接路由是能与至少一个所述网络路由相关联的邻接路由,所述第二类路由包括主机类邻接路由,所述主机类邻接路由是不能与任何一个所述网络路由相关联的邻接路由;其中,将一网络路由的下一跳IP和一邻接路由的路由前缀相同的情况,称为该网络路由和该邻接路由相关联,邻接路由指基于邻接信息生成的路由,具有下一跳的IP与报文最终目的IP相同的特征,网络路由指具有报文最终目的IP为网段的路由;
使具有相同第一信息的多个第一类路由共享相同的ENCAP硬件表项,所述第一信息包括下一跳IP地址,其中ENCAP硬件表项用于存储路由报文的封装信息;
使具有相同第二信息的多个第二类路由共享相同的ENCAP硬件表项,所述第二信息包括下一跳MAC地址的部分有效位。
2.根据权利要求1所述的方法,其特征在于,
使用以所述第一信息为KEY的数据库管理第一类路由的ENCAP硬件表项;以及
使用以所述第二信息为KEY的数据库管理第二类路由的ENCAP硬件表项。
3.根据权利要求1所述的方法,其特征在于,
所述具有相同第一信息的多个第一类路由还共享相同的NHOP硬件表项,其中,NHOP硬件表项用于存储路由下一跳的出口、行为;
所述具有相同第二信息的多个第二类路由还共享相同的NHOP硬件表项,所述第二信息还包括下一跳出口。
4.根据权利要求3所述的方法,其特征在于,
使用以所述第一信息为KEY的数据库管理第一类路由的ENCAP硬件表项和NHOP硬件表项;以及
使用以所述第二信息为KEY的数据库管理第二类路由的ENCAP硬件表项和NHOP硬件表项。
5.根据权利要求1所述的方法,其特征在于,在VRF被支持的情况下,所述第一信息还包括下一跳VRF信息。
6.根据权利要求1所述的方法,其特征在于,当新识别的网络路由关联至已被识别为主机类邻接路由的路由,将该已被识别为主机类邻接路由的路由重新识别为路由类邻接路由。
7.根据权利要求1所述的方法,其特征在于,当与已被识别为路由类邻接路由的路由相关联的所有网络路由都被移除后,将该已被识别为路由类邻接路由的路由仍然重新识别为路由类邻接路由;或者当与已被识别为路由类邻接路由的路由相关联的所有网络路由都被移除后,将该已被识别为路由类邻接路由的路由重新识别为主机类邻接路由。
8.根据权利要求1所述的方法,其特征在于,所述部分有效位指高有效位。
9.根据权利要求1-8中任一所述的方法,其特征在于,
按照普通路由处理逻辑处理所述第一类路由;
按照ARP扩展功能处理逻辑处理所述第二类路由,其中,所述ARP扩展功能用于将路由下一跳的MAC地址高有效位保存在ENCAP硬件表中,将路由下一跳的MAC地址低有效位保存在HOST硬件表中,当芯片执行路由查找时,只需从ENCAP硬件表获取下一跳的MAC地址高有效位,而从HOST硬件表获取MAC地址低有效位,即可得到完整的MAC地址。
10.根据权利要求1-8中任一所述的方法,其特征在于,
所述第一类路由中的每一者的ENCAP硬件表项中的内容包括该第一类路由的完整的所述下一跳MAC地址;
所述第二类路由中的每一者的ENCAP硬件表项中的内容包括该第二类路由的所述下一跳MAC地址的所述部分有效位。
11.根据权利要求10所述的方法,其特征在于,
所述第二类路由中的每一者的HOST硬件表项中的内容包括该第二类路由的所述下一跳MAC地址的除包含在所述第一信息中的所述部分有效位外的其他有效位,其中,HOST硬件表项存储全长路由前缀。
12.一种路由硬件表项资源管理装置,该装置包括:
路由识别模块,用于将路由识别为第一类路由和第二类路由中的一者,所述第一类路由包括网络路由和路由类邻接路由,所述路由类邻接路由是能与至少一个所述网络路由相关联的邻接路由,所述第二类路由包括主机类邻接路由,所述主机类邻接路由是不能与任何一个所述网络路由相关联的邻接路由;其中,将一网络路由的下一跳IP和一邻接路由的路由前缀相同的情况,称为该网络路由和该邻接路由相关联,邻接路由指基于邻接信息生成的路由,具有下一跳的IP与报文最终目的IP相同的特征,网络路由指具有报文最终目的IP为网段的路由;
第一路由处理模块,用于使具有相同第一信息的多个第一类路由共享相同的ENCAP硬件表项,所述第一信息包括下一跳IP地址,其中ENCAP硬件表项用于存储路由报文的封装信息;
第二路由处理模块,用于使具有相同第二信息的多个第二类路由共享相同的ENCAP硬件表项,所述第二信息包括下一跳MAC地址的部分有效位。
13.根据权利要求12所述的装置,其特征在于,
所述第一路由处理模块使用以所述第一信息为KEY的数据库管理第一类路由的ENCAP硬件表项;以及
所述第二路由处理模块使用以所述第二信息为KEY的数据库管理第二类路由的ENCAP硬件表项。
14.根据权利要求12所述的装置,其特征在于,
所述第一路由处理模块还用于使所述具有相同第一信息的多个第一类路由共享相同的NHOP硬件表项,其中,NHOP硬件表项用于存储路由下一跳的出口、行为;
所述第二路由处理模块还用于使所述具有相同第二信息的多个第二类路由共享相同的NHOP硬件表项,所述第二信息还包括下一跳出口。
15.根据权利要求14所述的装置,其特征在于,
所述第一路由处理模块使用以所述第一信息为KEY的数据库管理第一类路由的ENCAP硬件表项和NHOP硬件表项;以及
所述第二路由处理模块使用以所述第二信息为KEY的数据库管理第二类路由的ENCAP硬件表项和NHOP硬件表项。
16.根据权利要求12所述装置,其特征在于,在VRF被支持的情况下,所述第一信息还包括下一跳VRF信息。
17.根据权利要求12所述的装置,其特征在于,当新识别的网络路由关联至已被识别为主机类邻接路由的路由,所述路由识别模块还用于将该已被识别为主机类邻接路由的路由重新识别为路由类邻接路由。
18.根据权利要求12所述的装置,其特征在于,当与已被识别为路由类邻接路由的路由相关联的所有网络路由都被移除后,所述路由识别模块还用于将该已被识别为路由类邻接路由的路由仍然重新识别为路由类邻接路由;或者当与已被识别为路由类邻接路由的路由相关联的所有网络路由都被移除后,所述路由识别模块还用于将该已被识别为路由类邻接路由的路由重新识别为主机类邻接路由。
19.根据权利要求12所述的装置,其特征在于,所述部分有效位指高有效位。
20.根据权利要求12-19中任一所述的装置,其特征在于,
所述第一路由处理模块按照普通路由处理逻辑处理所述第一类路由;
所述第二路由处理模块按照ARP扩展功能处理逻辑处理所述第二类路由,其中,所述ARP扩展功能用于将路由下一跳的MAC地址高有效位保存在ENCAP硬件表中,将路由下一跳的MAC地址低有效位保存在HOST硬件表中,当芯片执行路由查找时,只需从ENCAP硬件表获取下一跳的MAC地址高有效位,而从HOST硬件表获取MAC地址低有效位,即可得到完整的MAC地址。
21.根据权利要求12-19中任一所述的装置,其特征在于,
所述第一类路由中的每一者的ENCAP硬件表项中的内容包括该第一类路由的完整的所述下一跳MAC地址;
所述第二类路由中的每一者的ENCAP硬件表项中的内容包括该第二类路由的所述下一跳MAC地址的所述部分有效位。
22.根据权利要求21所述的装置,其特征在于,
所述第二类路由中的每一者的HOST硬件表项中的内容包括该第二类路由的所述下一跳MAC地址的除包含在所述第一信息中的所述部分有效位外的其他有效位,其中,HOST硬件表项存储全长路由前缀。
23.一种网络设备,其特征在于,所述网络设备包括如权利要求12-22中任一项所述的路由硬件表项资源管理装置。
CN201510154130.5A 2015-04-02 2015-04-02 路由硬件表项资源管理方法、装置及网络设备 Active CN104836738B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510154130.5A CN104836738B (zh) 2015-04-02 2015-04-02 路由硬件表项资源管理方法、装置及网络设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510154130.5A CN104836738B (zh) 2015-04-02 2015-04-02 路由硬件表项资源管理方法、装置及网络设备

Publications (2)

Publication Number Publication Date
CN104836738A CN104836738A (zh) 2015-08-12
CN104836738B true CN104836738B (zh) 2018-05-22

Family

ID=53814383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510154130.5A Active CN104836738B (zh) 2015-04-02 2015-04-02 路由硬件表项资源管理方法、装置及网络设备

Country Status (1)

Country Link
CN (1) CN104836738B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105939265B (zh) * 2015-08-13 2019-05-07 杭州迪普科技股份有限公司 路由处理方法和装置
CN106209644B (zh) * 2016-07-25 2019-09-17 杭州迪普科技股份有限公司 一种基于等价路由的报文转发方法和装置
CN113472664B (zh) * 2020-03-31 2022-09-16 华为技术有限公司 一种路由信息存储的方法及装置
CN112637062B (zh) * 2020-12-22 2022-05-27 新华三技术有限公司合肥分公司 一种硬件转发表项同步方法及设备
CN115622934A (zh) * 2022-10-09 2023-01-17 苏州盛科通信股份有限公司 路由信息保存方法、装置、网络设备及可读存储介质
CN117651029B (zh) * 2024-01-29 2024-04-19 深圳市新蕾电子有限公司 下一跳资源的更新方法、装置、终端设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731356A (zh) * 2013-12-09 2014-04-16 福建星网锐捷网络有限公司 报文处理方法及装置
CN103997460A (zh) * 2014-06-04 2014-08-20 福建星网锐捷网络有限公司 实现QinQ路由终结的方法、交换芯片和交换机
CN104022973A (zh) * 2014-06-18 2014-09-03 福建星网锐捷网络有限公司 报文转发方法、交换模块、防火墙卡和交换机
CN104158743A (zh) * 2014-08-22 2014-11-19 福建星网锐捷网络有限公司 分布式路由器的报文跨卡转发方法及装置
EP1592181B1 (en) * 2003-02-03 2015-01-21 Nippon Telegraph And Telephone Corporation Optical network, optical edge router, program thereof, cut through method, and edge router

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1592181B1 (en) * 2003-02-03 2015-01-21 Nippon Telegraph And Telephone Corporation Optical network, optical edge router, program thereof, cut through method, and edge router
CN103731356A (zh) * 2013-12-09 2014-04-16 福建星网锐捷网络有限公司 报文处理方法及装置
CN103997460A (zh) * 2014-06-04 2014-08-20 福建星网锐捷网络有限公司 实现QinQ路由终结的方法、交换芯片和交换机
CN104022973A (zh) * 2014-06-18 2014-09-03 福建星网锐捷网络有限公司 报文转发方法、交换模块、防火墙卡和交换机
CN104158743A (zh) * 2014-08-22 2014-11-19 福建星网锐捷网络有限公司 分布式路由器的报文跨卡转发方法及装置

Also Published As

Publication number Publication date
CN104836738A (zh) 2015-08-12

Similar Documents

Publication Publication Date Title
CN104836738B (zh) 路由硬件表项资源管理方法、装置及网络设备
US11151163B2 (en) Scalable spine nodes with partial replication of routing information in a network environment
US9627063B2 (en) Ternary content addressable memory utilizing common masks and hash lookups
US9467366B2 (en) Method and apparatus providing single-tier routing in a shortest path bridging (SPB) network
US7936764B1 (en) Method for optimizing IP route table size through IP route aggregation
US7990893B1 (en) Fast prefix-based network route filtering
US10284472B2 (en) Dynamic and compressed trie for use in route lookup
EP3777055B1 (en) Longest prefix matching
US8059658B1 (en) Method and system for automatic expansion and contraction of IP host forwarding database
US20030223421A1 (en) Atomic lookup rule set transition
CN105721303B (zh) 一种路由控制方法、网络设备及控制器
CN103795644B (zh) 策略表表项配置方法、装置及系统
US7599312B2 (en) Withdrawing multiple advertised routes based on a query defined in a withdraw message which may be of particular use in border gateway protocol
WO2004095784A2 (en) Method and apparatus for packet classification using hierarchical hash tables
US10567274B1 (en) Method, system, and apparatus for proxying intra-subnet traffic across multiple interfaces within networks
CN112532501B (zh) 主机物理地址处理方法和装置、计算机可读存储介质
CN104486229B (zh) 一种实现vpn网络报文转发的方法及设备
CN110557335B (zh) 三态内容寻址存储器tcam表项处理方法及装置
US7487255B2 (en) Routing cache management with route fragmentation
CN108199947B (zh) 指定转发者df选举方法及装置
CN106031104A (zh) 数据报文的转达方法、装置及设备
CN107547407A (zh) 报文传输方法、装置和实现装置
US10897422B2 (en) Hybrid routing table for routing network traffic
CN108400922B (zh) 虚拟局域网络配置系统与方法及其计算机可读存储介质
US10826822B2 (en) Label-based forwarding with enhanced scalability

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 juyuanzhou Industrial Park, 19 floor

Patentee after: RUIJIE NETWORKS Co.,Ltd.

Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 juyuanzhou Industrial Park, 19 floor

Patentee before: Beijing Star-Net Ruijie Networks Co.,Ltd.

CP01 Change in the name or title of a patent holder