路由硬件表项资源管理方法、装置及网络设备的制造方法
【技术领域】
[0001] 本发明设及计算机网络领域,具体地,设及一种路由硬件表项资源管理方法、一种 路由硬件表项资源管理装置W及一种网络设备。
【背景技术】
[0002] 本申请中的术语"邻接(adjacent)"请参照RFC1812中对于"adjacent"的相关 定义,指无需经过任何IP路由器即可到达。相应地,本申请中的术语"邻接设备"指路由无 需经过任何IP路由器即可到达的设备。一个邻接设备可能具有多个IP地址,可认为每个 IP对应于一个邻接节点。术语"邻接信息"指基于每个邻接节点的MAC地址、IP地址、出口 (即L3Port,在RFC1812中被描述为networkinte;rface)等信息。术语"邻接路由"指基 于邻接信息生成的路由,具有下一跳的IP与报文最终目的IP(即路由前缀)相同的特征。 术语"网络路由",也称为网段路由,通常具有报文最终目的IP为网段的特征,即通常具有 非全长路由前缀。本申请中,将一网络路由的下一跳IP和一邻接路由的路由前缀相同的情 况,称为该网络路由和该邻接路由相关联。如无明确其他理解,本申请中的IP或IP地址均 指32位的IPv4地址或128位的IPv6地址(隐式地或显示地包含其子网掩码长度信息)。
[0003] 虚拟局域网(VLAN)是局域网部署中最具生命力的组网技术。图1示出了虚拟局 域网数据中屯、的多虚拟机场景的示意图。如图1所示,应用虚拟局域网技术,在数据中屯、的 任意物理设备(例如服务器)120和/或130上可部署多个虚拟机(即多个邻接节点)。图 1中W示例的形式示出了数据中屯、的一台交换机/网关(例如S层交换机)110,W及作为 其邻接设备的物理设备120和物理设备130。邻接设备120上部署有3个虚拟机121、122、 123。邻接设备130上部署有2个虚拟机131、132。虚拟机121、122、123、131和132中每一 者具有各自的IP地址。对于交换机/网关110来说,每个虚拟机都是其邻接节点。虚拟局 域网在带宽使用效率、组网灵活性、网络安全性等方面具有很大优势,并且通过虚拟局域网 能够方便地实现用户增加、删除和移动,可大幅提高网络管理效率。虚拟局域网还可在局域 网内成员间提供低延迟通信。为了使本发明的重点突出,图1仅是一个最简化的示例,事实 上,数据中屯、可有多种部署方案,数据中屯、可包括一个或多个交换机/网关,每个邻接设备 上可部署一个或多个虚拟机,相同邻接设备上部署的不同虚拟机可连接至相同交换机/网 关或者不同交换机/网关。本申请中的相应分析和技术方案可适用于多种部署方案中多种 交换机/网关的路由硬件表项管理。
[0004] 对于交换机/网关而言,每条路由信息可被存储在路由硬件表中W用于报文转 发。路由硬件表主要包括前缀硬件表、NH0P(Next化P)硬件表和ENCAP巧ncapsulation) 表。在报文转发过程中,由前缀硬件表项导向NH0P硬件表项,再由NH0P硬件表项导向ENCAP 硬件表项,从而获得完整的路由信息。
[0005] 前缀硬件表用于存储路由前缀。册ST硬件表和LPM硬件表可被统称为前缀硬件 表,其中册ST硬件表存储全长路由前缀(如子网掩码长度为32的IPv4路由前缀、子网掩 码长度为128的IPv6路由前缀),LPM硬件表可存储全长或非全长路由前缀。前缀硬件表 中的每个表项还包括用于存储该路由的NHOP表项的索引。NHOP硬件表用于存储路由下一 跳的出口、行为等。NH0P硬件表中的每个表项还包括用于存储该路由的ENCAP表项的索引。 ENCAP硬件表用于存储路由报文的封装信息,通常为下一跳的MAC地址(一般为48位)。表 项的索引可W是该表项在相应硬件表中的序号。
[0006] 如本领域技术人员所知道的,每个路由硬件表的容量都是有限的,因此数据中屯、 可支持的虚拟机接入数受限于路由硬件表的容量。又因为前缀硬件表的容量通常远大于 ENCAP硬件表和NHOP硬件表,所WENCAP硬件表项资源和NHOP硬件表项资源被视为限制虚 拟机接入数的瓶颈。
[0007] 按照现有技术中的普通路由处理逻辑,只有下一跳IP地址相同(对于支持 VRF(Vi;rtualRouting化rwarding)的设备,还要求VRF信息相同)的若干路由才能共享相 同ENCAP硬件表项和相同NHOP硬件表项。由于各个虚拟机的IP地址不同,所W基于各个 虚拟机的邻接信息生成的邻接路由要占用不同的ENCAP硬件表项和NHOP硬件表项。
[000引为克服该一瓶颈,研发人员进行了多方面的探索。其中,研发人员开发出一种支持ARP(A(MressResolutionProtocol)扩展功能的巧片,具体为;
[0009] S1,将路由下一跳的MAC地址高有效位保存在ENCAP硬件表中,将路由下一跳的 MAC地址低有效位保存在册ST硬件表中;
[0010] S2,当巧片执行路由查找时,只需从ENCAP硬件表获取下一跳的MAC地址高有效 位,而从册ST硬件表获取MAC地址低有效位,即可得到完整的MAC地址。
[001U由于上述ARP扩展功能并不需要从ENCAP硬件表中获取MAC地址低有效位,使得 下一跳的MAC地址高有效位相同而低有效位不同的若干邻接路由有了共享相同ENCAP硬件 表项的可能。理论上,例如,如果ENCAP硬件表中存储MAC地址高44位而册ST硬件表中存 储MAC地址低4位,则ENCAP硬件表中可写入的路由封装信息数量可增加至16倍。
[0012] 此外,如果ENCAP硬件表项共享而NHOP硬件表项不共享,则NHOP硬件表项资源很 可能成为制约虚拟机接入数的瓶颈,因此可对每个路由的ENCAP硬件表项和NHOP硬件表项 采用相同的共享策略,使得共享相同ENCAP硬件表项的若干路由也共享相同NHOP硬件表 项,W更彻底地解决虚拟机接入数受限的问题。在该种共享策略下,下一跳的MAC地址高有 效位相同而且下一跳的出口相同的不同路由有可能共享相同ENCAP硬件表项和相同NHOP 硬件表项。
[0013] 对ARP扩展功能进行分析,可W看出其存在如下应用限制:
[0014] (1)只可对路由前缀存储在册ST硬件表中的路由应用ARP扩展功能;
[00巧]似下一跳的MAC地址高有效位相同的路由才可能共享ENCAP硬件表项,对于希望 同时共享NHOP硬件表项的路由,其下一跳出口也必须相同;
[0016] 做不支持ECMP巧qual-CostMultipathrouting,等价多路径)和 WCMP(Wei曲tedCostMultipath,加权多路径)。
[0017] 而对于虚拟局域网,可发现其数据中屯、的多个虚拟机的MAC地址高位通常相同, 而且该些虚拟机对应的邻接路由具有可被存储在册ST硬件表中的全长IP路由前缀、通常 具有相同出口并且是非ECMP/WCMP路由,所W恰好可满足ARP扩展功能的要求。因此ARP 扩展功能为解决数据中屯、可接入的多虚拟机数受限于ENCAP硬件表和NHOP硬件表容量的 问题带来了启示。
[001引虽然目前已有个别厂商的设备尝试通过利用ARP扩展功能来增加在数据中屯、可 接入的虚拟机数,但该些设备存在很大不足。例如某公司的某高端系列数据中屯、交换机,其 支持W下两种工作模式;普通模式和ARP扩展模式。普通模式下不使用ARP扩展功能,按照 现有技术中的普通路由处理逻辑来处理路由;ARP扩展模式下开启ARP扩展功能。用户使 用相应设备时,需要进行额外的操作W在上述两种模式间进行切换,并且在上述两种模式 间进行切换时,还必须通过更改配置、保存配置并重启后才能生效,该会影响用户的正常业 务,W及带来非常不便利的用户体验。
【发明内容】
[0019] 发明人经过对ARP扩展功能进行深入分析后认为,目前市面上支持ARP扩展功能 的交换机等网络设备必须进行模式区分的原因很可能在于其ARP