路由硬件表項(xiàng)資源管理方法、裝置及網(wǎng)絡(luò)設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域,具體地,設(shè)及一種路由硬件表項(xiàng)資源管理方法、一種 路由硬件表項(xiàng)資源管理裝置W及一種網(wǎng)絡(luò)設(shè)備。
【背景技術(shù)】
[0002] 本申請(qǐng)中的術(shù)語(yǔ)"鄰接(adjacent)"請(qǐng)參照RFC1812中對(duì)于"adjacent"的相關(guān) 定義,指無(wú)需經(jīng)過(guò)任何IP路由器即可到達(dá)。相應(yīng)地,本申請(qǐng)中的術(shù)語(yǔ)"鄰接設(shè)備"指路由無(wú) 需經(jīng)過(guò)任何IP路由器即可到達(dá)的設(shè)備。一個(gè)鄰接設(shè)備可能具有多個(gè)IP地址,可認(rèn)為每個(gè) IP對(duì)應(yīng)于一個(gè)鄰接節(jié)點(diǎn)。術(shù)語(yǔ)"鄰接信息"指基于每個(gè)鄰接節(jié)點(diǎn)的MAC地址、IP地址、出口 (即L3Port,在RFC1812中被描述為networkinte;rface)等信息。術(shù)語(yǔ)"鄰接路由"指基 于鄰接信息生成的路由,具有下一跳的IP與報(bào)文最終目的IP(即路由前綴)相同的特征。 術(shù)語(yǔ)"網(wǎng)絡(luò)路由",也稱(chēng)為網(wǎng)段路由,通常具有報(bào)文最終目的IP為網(wǎng)段的特征,即通常具有 非全長(zhǎng)路由前綴。本申請(qǐng)中,將一網(wǎng)絡(luò)路由的下一跳IP和一鄰接路由的路由前綴相同的情 況,稱(chēng)為該網(wǎng)絡(luò)路由和該鄰接路由相關(guān)聯(lián)。如無(wú)明確其他理解,本申請(qǐng)中的IP或IP地址均 指32位的IPv4地址或128位的IPv6地址(隱式地或顯示地包含其子網(wǎng)掩碼長(zhǎng)度信息)。
[0003] 虛擬局域網(wǎng)(VLAN)是局域網(wǎng)部署中最具生命力的組網(wǎng)技術(shù)。圖1示出了虛擬局 域網(wǎng)數(shù)據(jù)中屯、的多虛擬機(jī)場(chǎng)景的示意圖。如圖1所示,應(yīng)用虛擬局域網(wǎng)技術(shù),在數(shù)據(jù)中屯、的 任意物理設(shè)備(例如服務(wù)器)120和/或130上可部署多個(gè)虛擬機(jī)(即多個(gè)鄰接節(jié)點(diǎn))。圖 1中W示例的形式示出了數(shù)據(jù)中屯、的一臺(tái)交換機(jī)/網(wǎng)關(guān)(例如S層交換機(jī))110,W及作為 其鄰接設(shè)備的物理設(shè)備120和物理設(shè)備130。鄰接設(shè)備120上部署有3個(gè)虛擬機(jī)121、122、 123。鄰接設(shè)備130上部署有2個(gè)虛擬機(jī)131、132。虛擬機(jī)121、122、123、131和132中每一 者具有各自的IP地址。對(duì)于交換機(jī)/網(wǎng)關(guān)110來(lái)說(shuō),每個(gè)虛擬機(jī)都是其鄰接節(jié)點(diǎn)。虛擬局 域網(wǎng)在帶寬使用效率、組網(wǎng)靈活性、網(wǎng)絡(luò)安全性等方面具有很大優(yōu)勢(shì),并且通過(guò)虛擬局域網(wǎng) 能夠方便地實(shí)現(xiàn)用戶(hù)增加、刪除和移動(dòng),可大幅提高網(wǎng)絡(luò)管理效率。虛擬局域網(wǎng)還可在局域 網(wǎng)內(nèi)成員間提供低延遲通信。為了使本發(fā)明的重點(diǎn)突出,圖1僅是一個(gè)最簡(jiǎn)化的示例,事實(shí) 上,數(shù)據(jù)中屯、可有多種部署方案,數(shù)據(jù)中屯、可包括一個(gè)或多個(gè)交換機(jī)/網(wǎng)關(guān),每個(gè)鄰接設(shè)備 上可部署一個(gè)或多個(gè)虛擬機(jī),相同鄰接設(shè)備上部署的不同虛擬機(jī)可連接至相同交換機(jī)/網(wǎng) 關(guān)或者不同交換機(jī)/網(wǎng)關(guān)。本申請(qǐng)中的相應(yīng)分析和技術(shù)方案可適用于多種部署方案中多種 交換機(jī)/網(wǎng)關(guān)的路由硬件表項(xiàng)管理。
[0004] 對(duì)于交換機(jī)/網(wǎng)關(guān)而言,每條路由信息可被存儲(chǔ)在路由硬件表中W用于報(bào)文轉(zhuǎn) 發(fā)。路由硬件表主要包括前綴硬件表、NH0P(Next化P)硬件表和ENCAP巧ncapsulation) 表。在報(bào)文轉(zhuǎn)發(fā)過(guò)程中,由前綴硬件表項(xiàng)導(dǎo)向NH0P硬件表項(xiàng),再由NH0P硬件表項(xiàng)導(dǎo)向ENCAP 硬件表項(xiàng),從而獲得完整的路由信息。
[0005] 前綴硬件表用于存儲(chǔ)路由前綴。冊(cè)ST硬件表和LPM硬件表可被統(tǒng)稱(chēng)為前綴硬件 表,其中冊(cè)ST硬件表存儲(chǔ)全長(zhǎng)路由前綴(如子網(wǎng)掩碼長(zhǎng)度為32的IPv4路由前綴、子網(wǎng)掩 碼長(zhǎng)度為128的IPv6路由前綴),LPM硬件表可存儲(chǔ)全長(zhǎng)或非全長(zhǎng)路由前綴。前綴硬件表 中的每個(gè)表項(xiàng)還包括用于存儲(chǔ)該路由的NHOP表項(xiàng)的索引。NHOP硬件表用于存儲(chǔ)路由下一 跳的出口、行為等。NH0P硬件表中的每個(gè)表項(xiàng)還包括用于存儲(chǔ)該路由的ENCAP表項(xiàng)的索引。 ENCAP硬件表用于存儲(chǔ)路由報(bào)文的封裝信息,通常為下一跳的MAC地址(一般為48位)。表 項(xiàng)的索引可W是該表項(xiàng)在相應(yīng)硬件表中的序號(hào)。
[0006] 如本領(lǐng)域技術(shù)人員所知道的,每個(gè)路由硬件表的容量都是有限的,因此數(shù)據(jù)中屯、 可支持的虛擬機(jī)接入數(shù)受限于路由硬件表的容量。又因?yàn)榍熬Y硬件表的容量通常遠(yuǎn)大于 ENCAP硬件表和NHOP硬件表,所WENCAP硬件表項(xiàng)資源和NHOP硬件表項(xiàng)資源被視為限制虛 擬機(jī)接入數(shù)的瓶頸。
[0007] 按照現(xiàn)有技術(shù)中的普通路由處理邏輯,只有下一跳IP地址相同(對(duì)于支持 VRF(Vi;rtualRouting化rwarding)的設(shè)備,還要求VRF信息相同)的若干路由才能共享相 同ENCAP硬件表項(xiàng)和相同NHOP硬件表項(xiàng)。由于各個(gè)虛擬機(jī)的IP地址不同,所W基于各個(gè) 虛擬機(jī)的鄰接信息生成的鄰接路由要占用不同的ENCAP硬件表項(xiàng)和NHOP硬件表項(xiàng)。
[000引為克服該一瓶頸,研發(fā)人員進(jìn)行了多方面的探索。其中,研發(fā)人員開(kāi)發(fā)出一種支持ARP(A(MressResolutionProtocol)擴(kuò)展功能的巧片,具體為;
[0009] S1,將路由下一跳的MAC地址高有效位保存在ENCAP硬件表中,將路由下一跳的 MAC地址低有效位保存在冊(cè)ST硬件表中;
[0010] S2,當(dāng)巧片執(zhí)行路由查找時(shí),只需從ENCAP硬件表獲取下一跳的MAC地址高有效 位,而從冊(cè)ST硬件表獲取MAC地址低有效位,即可得到完整的MAC地址。
[001U由于上述ARP擴(kuò)展功能并不需要從ENCAP硬件表中獲取MAC地址低有效位,使得 下一跳的MAC地址高有效位相同而低有效位不同的若干鄰接路由有了共享相同ENCAP硬件 表項(xiàng)的可能。理論上,例如,如果ENCAP硬件表中存儲(chǔ)MAC地址高44位而冊(cè)ST硬件表中存 儲(chǔ)MAC地址低4位,則ENCAP硬件表中可寫(xiě)入的路由封裝信息數(shù)量可增加至16倍。
[0012] 此外,如果ENCAP硬件表項(xiàng)共享而NHOP硬件表項(xiàng)不共享,則NHOP硬件表項(xiàng)資源很 可能成為制約虛擬機(jī)接入數(shù)的瓶頸,因此可對(duì)每個(gè)路由的ENCAP硬件表項(xiàng)和NHOP硬件表項(xiàng) 采用相同的共享策略,使得共享相同ENCAP硬件表項(xiàng)的若干路由也共享相同NHOP硬件表 項(xiàng),W更徹底地解決虛擬機(jī)接入數(shù)受限的問(wèn)題。在該種共享策略下,下一跳的MAC地址高有 效位相同而且下一跳的出口相同的不同路由有可能共享相同ENCAP硬件表項(xiàng)和相同NHOP 硬件表項(xiàng)。
[0013] 對(duì)ARP擴(kuò)展功能進(jìn)行分析,可W看出其存在如下應(yīng)用限制:
[0014] (1)只可對(duì)路由前綴存儲(chǔ)在冊(cè)ST硬件表中的路由應(yīng)用ARP擴(kuò)展功能;
[00巧]似下一跳的MAC地址高有效位相同的路由才可能共享ENCAP硬件表項(xiàng),對(duì)于希望 同時(shí)共享NHOP硬件表項(xiàng)的路由,其下一跳出口也必須相同;
[0016] 做不支持ECMP巧qual-CostMultipathrouting,等價(jià)多路徑)和 WCMP(Wei曲tedCostMultipath,加權(quán)多路徑)。
[0017] 而對(duì)于虛擬局域網(wǎng),可發(fā)現(xiàn)其數(shù)據(jù)中屯、的多個(gè)虛擬機(jī)的MAC地址高位通常相同, 而且該些虛擬機(jī)對(duì)應(yīng)的鄰接路由具有可被存儲(chǔ)在冊(cè)ST硬件表中的全長(zhǎng)IP路由前綴、通常 具有相同出口并且是非ECMP/WCMP路由,所W恰好可滿(mǎn)足ARP擴(kuò)展功能的要求。因此ARP 擴(kuò)展功能為解決數(shù)據(jù)中屯、可接入的多虛擬機(jī)數(shù)受限于ENCAP硬件表和NHOP硬件表容量的 問(wèn)題帶來(lái)了啟示。
[001引雖然目前已有個(gè)別廠(chǎng)商的設(shè)備嘗試通過(guò)利用ARP擴(kuò)展功能來(lái)增加在數(shù)據(jù)中屯、可 接入的虛擬機(jī)數(shù),但該些設(shè)備存在很大不足。例如某公司的某高端系列數(shù)據(jù)中屯、交換機(jī),其 支持W下兩種工作模式;普通模式和ARP擴(kuò)展模式。普通模式下不使用ARP擴(kuò)展功能,按照 現(xiàn)有技術(shù)中的普通路由處理邏輯來(lái)處理路由;ARP擴(kuò)展模式下開(kāi)啟ARP擴(kuò)展功能。用戶(hù)使 用相應(yīng)設(shè)備時(shí),需要進(jìn)行額外的操作W在上述兩種模式間進(jìn)行切換,并且在上述兩種模式 間進(jìn)行切換時(shí),還必須通過(guò)更改配置、保存配置并重啟后才能生效,該會(huì)影響用戶(hù)的正常業(yè) 務(wù),W及帶來(lái)非常不便利的用戶(hù)體驗(yàn)。
【發(fā)明內(nèi)容】
[0019] 發(fā)明人經(jīng)過(guò)對(duì)ARP擴(kuò)展功能進(jìn)行深入分析后認(rèn)為,目前市面上支持ARP擴(kuò)展功能 的交換機(jī)等網(wǎng)絡(luò)設(shè)備必須進(jìn)行模式區(qū)分的原因很可能在于其ARP