處理路由下一跳的方法、裝置及網(wǎng)絡(luò)設(shè)備的制作方法
【專利摘要】本發(fā)明提供一種處理路由下一跳的方法、裝置及網(wǎng)絡(luò)設(shè)備。方法包括:當(dāng)確定在硬件路由表中添加對(duì)應(yīng)于雙棧用戶的第一鄰居的第一下一跳表項(xiàng)時(shí),確定硬件路由表中是否存在關(guān)鍵字與第一下一跳表項(xiàng)相同的下一跳表項(xiàng);如果不存在,則在硬件路由表中添加第一下一跳表項(xiàng),并設(shè)置第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得第一下一跳表項(xiàng)僅對(duì)應(yīng)第一鄰居;如果存在,則設(shè)置所述存在的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得所述存在的下一跳表項(xiàng)同時(shí)對(duì)應(yīng)于第一鄰居和第二鄰居;其中,第一鄰居是IPv4鄰居和IPv6鄰居中的一個(gè),第二鄰居是另一個(gè)。本發(fā)明技術(shù)方案可以實(shí)現(xiàn)IPv4鄰居和IPv6鄰居共享下一跳表項(xiàng),解決了硬件路由表中下一跳表項(xiàng)資源不足的問題。
【專利說明】處理路由下一跳的方法、裝置及網(wǎng)絡(luò)設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技木,尤其涉及ー種處理路由下一跳的方法、裝置及網(wǎng)絡(luò)設(shè)備?!颈尘凹夹g(shù)】
[0002]隨著互聯(lián)網(wǎng)協(xié)議版本6 (Internet Protocol Version6,簡(jiǎn)稱為IPv6)的推廣,互聯(lián)網(wǎng)協(xié)議版本4 (Internet Protocol Version4,簡(jiǎn)稱為IPv4)/IPv6雙棧用戶越來越多。在IPv4/IPv6雙棧應(yīng)用環(huán)境下,當(dāng)設(shè)備學(xué)習(xí)到IPv4鄰居后,在硬件路由表的下一跳表項(xiàng)資源中添加對(duì)應(yīng)的下一跳表項(xiàng),當(dāng)設(shè)備學(xué)習(xí)到IPv6鄰居后,同樣在硬件路由表的下一跳表項(xiàng)資源中添加對(duì)應(yīng)的下一跳表項(xiàng)。
[0003]在大匯聚扁平化網(wǎng)絡(luò)環(huán)境中,如果ー個(gè)IPv4/IPv6雙棧用戶上線,則在大匯聚網(wǎng)關(guān)設(shè)備上面就要為該用戶添加IPv4的下一跳表項(xiàng)和IPv6的下一跳表項(xiàng),這將導(dǎo)致大匯聚網(wǎng)關(guān)設(shè)備的硬件路由表中下一跳表項(xiàng)資源的不足。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供ー種處理路由下一跳的方法、裝置及網(wǎng)絡(luò)設(shè)備,用以實(shí)現(xiàn)IPv4鄰居和IPv6鄰居共享下ー跳表項(xiàng),解決硬件路由表中下一跳表項(xiàng)資源不足的問題。
[0005]第一方面提供ー種處理路由下一跳的方法,包括:
[0006]當(dāng)確定在硬件路由表中添加第一下一跳表項(xiàng)時(shí),確定所述硬件路由表中是否存在關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng);所述第一下一跳表項(xiàng)是指對(duì)應(yīng)于雙棧用戶的第一鄰居的下一跳表項(xiàng);
[0007]如果確定出所述硬件路由表中不存在關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng),在所述硬件路由表中添加所述第一下一跳表項(xiàng),并設(shè)置添加到所述硬件路由表中的所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得添加到所述硬件路由表中的所述第一下一跳表項(xiàng)僅對(duì)應(yīng)所述雙棧用戶的第一鄰居;
[0008]如果確定出所述硬件路由表中存在關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng),設(shè)置所述硬件路由表中存在的關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得所述硬件路由表中存在的關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng)同時(shí)對(duì)應(yīng)于所述雙棧用戶的第一鄰居和所述雙棧用戶的第二鄰居;
[0009]其中,所述雙棧用戶的第一鄰居是所述雙棧用戶的IPv4鄰居和IPv6鄰居中的一個(gè),所述雙棧用戶的第二鄰居是所述雙棧用戶的IPv4鄰居和IPv6鄰居中的另ー個(gè)。
[0010]第二方面提供ー種處理路由下一跳的裝置,包括:
[0011]確定模塊,用于在確定在硬件路由表中添加第一下一跳表項(xiàng)時(shí),確定所述硬件路由表中是否存在關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng);所述第一下一跳表項(xiàng)是指對(duì)應(yīng)于雙棧用戶的第一鄰居的下一跳表項(xiàng);
[0012]添加模塊,用于在所述確定模塊確定出所述硬件路由表中不存在關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng)時(shí),在所述硬件路由表中添加所述第一下一跳表項(xiàng),并設(shè)置添加到所述硬件路由表中的所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得添加到所述硬件路由表中的所述第一下一跳表項(xiàng)僅對(duì)應(yīng)所述雙棧用戶的第一鄰居;
[0013]第一狀態(tài)設(shè)置模塊,用于在所述確定模塊確定出所述硬件路由表中存在關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng)時(shí),設(shè)置所述硬件路由表中存在的關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得所述硬件路由表中存在的關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng)同時(shí)對(duì)應(yīng)于所述雙棧用戶的第一鄰居和所述雙棧用戶的第二鄰居;
[0014]其中,所述雙棧用戶的第一鄰居是所述雙棧用戶的IPv4鄰居和IPv6鄰居中的一個(gè),所述雙棧用戶的第二鄰居是所述雙棧用戶的IPv4鄰居和IPv6鄰居中的另一個(gè)。
[0015]第三方面提供一種網(wǎng)絡(luò)設(shè)備,包括本發(fā)明第二方面提供的任一處理路由下一跳的裝置
[0016]本發(fā)明提供的處理路由下一跳的方法、裝置及網(wǎng)絡(luò)設(shè)備,當(dāng)確定在硬件路由表中添加對(duì)應(yīng)于雙棧用戶的第一鄰居的第一下一跳表項(xiàng)時(shí),首先確定硬件路由表中是否存在關(guān)鍵字與該第一下一跳表項(xiàng)相同的下一跳表項(xiàng),如果確定硬件路由表中不存在關(guān)鍵字與該第一下一跳表項(xiàng)相同的下一跳表項(xiàng),則在硬件路由表中添加第一下一跳表項(xiàng),并通過設(shè)置第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得第一下一跳表項(xiàng)僅對(duì)應(yīng)于雙棧用戶的第一鄰居;如果確定硬件路由表中存在關(guān)鍵字與該第一下一跳表項(xiàng)相同的下一跳表項(xiàng),則不在硬件路由表中添加第一下一跳表項(xiàng),而是直接設(shè)置硬件路由表中存在的關(guān)鍵字與該第一下一跳表項(xiàng)相同的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得硬件路由表中存在的關(guān)鍵字與該第一下一跳表項(xiàng)相同的下一跳表項(xiàng)同時(shí)對(duì)應(yīng)于雙棧用戶的第一鄰居和第二鄰居,其中,雙棧用戶的第一鄰居是IPv4鄰居和IPv6鄰居中的一個(gè),而第二鄰居是IPv4鄰居和IPv6鄰居中的另一個(gè)。由此可見,本發(fā)明通過設(shè)置硬件路由表中下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),可以實(shí)現(xiàn)IPv4鄰居和IPv6鄰居共享同一下一跳表項(xiàng),有利于節(jié)約硬件路由表中的下一跳表項(xiàng)資源,在下一跳表項(xiàng)資源一定的情況下有利于帶動(dòng)更多的用戶。
【專利附圖】
【附圖說明】
[0017]圖1為本發(fā)明實(shí)施例提供的一種處理路由下一跳的方法流程圖;
[0018]圖2為本發(fā)明實(shí)施例提供的一種處理路由下一跳的裝置結(jié)構(gòu)示意圖;
[0019]圖3為本發(fā)明實(shí)施例提供的另一種處理路由下一跳的裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0020]圖1為本發(fā)明實(shí)施例提供的一種處理路由下一跳的方法流程圖。如圖1所示,所述方法包括:
[0021]101、當(dāng)確定在硬件路由表中添加第一下一跳表項(xiàng)時(shí),確定所述硬件路由表中是否存在關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng),所述第一下一跳表項(xiàng)是指對(duì)應(yīng)于雙棧用戶的第一鄰居的下一跳表項(xiàng);如果確定結(jié)果為否,即確定出所述硬件路由表中不存在關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng),執(zhí)行102 ;如果確定結(jié)果為是,即確定出所述硬件路由表中存在關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng),執(zhí)行103。
[0022]102、在所述硬件路由表中添加所述第一下一跳表項(xiàng),并設(shè)置添加到所述硬件路由表中的所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得添加到所述硬件路由表中的所述第一下一跳表項(xiàng)僅對(duì)應(yīng)所述雙棧用戶的第一鄰居。
[0023]103、設(shè)置所述硬件路由表中存在的關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得所述硬件路由表中存在的關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng)同時(shí)對(duì)應(yīng)于所述雙棧用戶的第一鄰居和所述雙棧用戶的第二鄰居;其中,所述雙棧用戶的第一鄰居是所述雙棧用戶的IPv4鄰居和IPv6鄰居中的一個(gè),所述雙棧用戶的第二鄰居是所述雙棧用戶的IPv4鄰居和IPv6鄰居中的另一個(gè)。
[0024]本實(shí)施例提供的方法適用于IPv4/IPv6雙棧應(yīng)用環(huán)境下對(duì)下一跳表項(xiàng)的處理。本實(shí)施例中的雙棧用戶是指既存在IPv4地址又存在IPv6地址的用戶,更有甚者,雙棧用戶可能存在多個(gè)IPv6臨時(shí)地址。對(duì)應(yīng)于雙棧用戶的IPv4地址的鄰居,可稱為IPv4鄰居;對(duì)應(yīng)于雙棧用戶的IPv6地址的鄰居,可稱為IPv6鄰居。
[0025]在本實(shí)施例中,無論是對(duì)對(duì)應(yīng)于IPv4鄰居的下一跳表項(xiàng)的處理,還是對(duì)對(duì)應(yīng)于IPv6鄰居的下一跳表項(xiàng)的處理,其處理過程均相同。為了描述上的統(tǒng)一和方便,本實(shí)施例以第一鄰居和第二鄰居代替雙棧用戶的IPv4鄰居和IPv6鄰居,其中,第一鄰居可以是雙棧用戶的IPv4鄰居和IPv6鄰居中的一個(gè),則第二鄰居就是雙棧用戶的IPv4鄰居和IPv6鄰居的另一個(gè)。具體來說,如果第一鄰居是IPv4鄰居,則第二鄰居是IPv6鄰居;如果第一鄰居是IPv6鄰居,則第二鄰居就是IPv4鄰居。同時(shí),為了簡(jiǎn)化描述,將對(duì)應(yīng)于雙棧用戶的第一鄰居的下一跳表項(xiàng)稱為第一下一跳表項(xiàng)。這里的“第一”并沒有個(gè)數(shù)和先后順序的限定,僅僅是為了便于描述。
[0026]則當(dāng)確定在硬件路由表中添加第一下一跳表項(xiàng)時(shí),處理路由下一跳的裝置首先確定硬件路由表中是否存在關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng)。其中,無論是對(duì)應(yīng)于IPv4鄰居的下一跳表項(xiàng)還是對(duì)應(yīng)于IPv6鄰居的下一跳表項(xiàng),所關(guān)注的字段主要包括:目的IP地址(dip),目的介質(zhì)訪問控制(Media Access Control,簡(jiǎn)稱為MAC)地址(dmac),出口(port),出 口所在的虛擬局域網(wǎng)(Virtual Local Area Network,簡(jiǎn)稱為 V1AN)和符合該下一跳表項(xiàng)的報(bào)文的轉(zhuǎn)發(fā)行為(action)。其中,目的IP地址是鄰居的IP地址;目的MAC地址是鄰居的MAC地址;出口是指設(shè)備上向鄰居發(fā)送報(bào)文的接口 ;出口所在VLAN是設(shè)備上向鄰居發(fā)送報(bào)文的接口所在的VLAN。對(duì)應(yīng)業(yè)務(wù)來說,dmac可以確定對(duì)應(yīng)的鄰居,因此下一跳表項(xiàng)實(shí)際關(guān)注的字段是dmac, port, vlan, action,這些字段也就是本實(shí)施例所述的下一跳表項(xiàng)的關(guān)鍵字。
[0027]具體的,處理路由下一跳的裝置可以將第一下一跳表項(xiàng)的關(guān)鍵字和硬件路由表中存在的各個(gè)下一跳表項(xiàng)的關(guān)鍵字進(jìn)行逐一比較,從而確定硬件路由表中是否存在關(guān)鍵字與第一下一跳表項(xiàng)相同的下一跳表項(xiàng)。在此說明,兩個(gè)下一跳表項(xiàng)的關(guān)鍵字相同是指兩個(gè)下一跳表項(xiàng)的dmac, port, vlan和action均相同。相應(yīng)的,關(guān)鍵字與第一下一跳表項(xiàng)相同的下一跳表項(xiàng)是指dmac, port, vlan和action均與第一下一跳表項(xiàng)相同的下一跳表項(xiàng)。
[0028]如果確定硬件路由表中不存在關(guān)鍵字與第一下一跳表項(xiàng)相同的下一跳表項(xiàng),說明硬件路由表中尚不存在該雙棧用戶對(duì)應(yīng)于任何鄰居的下一跳表項(xiàng),因此,處理路由下一跳的裝置在硬件路由表中添加第一下一跳表項(xiàng),并設(shè)置添加到硬件路由表中的第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得添加到硬件路由表中的第一下一跳表項(xiàng)僅對(duì)應(yīng)于雙棧用戶的第一鄰居。其中,因?yàn)榈谝幌乱惶眄?xiàng)是對(duì)應(yīng)于第一鄰居的下一跳表項(xiàng),并且此時(shí)硬件路由表中除了新添加的對(duì)應(yīng)于第一鄰居的下一跳表項(xiàng)(即第一下一跳表項(xiàng))之外,并不需要第二鄰居與第一鄰居共享該第一下一跳表項(xiàng),因此此時(shí)第一下一跳表項(xiàng)僅對(duì)應(yīng)于雙棧用戶的第一鄰居。例如,如果第一鄰居是IPv4鄰居,則處理路由下一跳的裝置可以設(shè)置第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)為I,標(biāo)識(shí)第一下一跳表項(xiàng)僅對(duì)應(yīng)于IPv4鄰居;如果第一鄰居是IPv6鄰居,貝Ij處理路由下一跳的裝置可以設(shè)置第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)為2,標(biāo)識(shí)第一下一跳表項(xiàng)僅對(duì)應(yīng)于IPv6鄰居。在此說明,處理路由下一跳的裝置設(shè)置第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得第一下一跳表項(xiàng)僅對(duì)應(yīng)于第一鄰居的方式并不限于上述舉例,狀態(tài)標(biāo)識(shí)還可以是其它的取值。
[0029]如果確定硬件路由表中存在關(guān)鍵字與第一下一跳表項(xiàng)相同的下一跳表項(xiàng),說明硬件路由表中已經(jīng)存在該雙棧用戶對(duì)應(yīng)于第二鄰居的下一跳表項(xiàng),為了使得第一鄰居和第二鄰居共享同一個(gè)下一跳表項(xiàng),則處理路由下一跳的裝置設(shè)置硬件路由表中存在的關(guān)鍵字與第一下一跳表項(xiàng)相同的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得硬件路由表中存在的關(guān)鍵字與第一下一跳表項(xiàng)相同的下一跳表項(xiàng)同時(shí)對(duì)應(yīng)于雙棧用戶的第一鄰居和雙棧用戶的第二鄰居,而不在硬件路由表中添加第一下一跳表項(xiàng),使得雙棧用戶的第一鄰居和第二鄰居共享同一下一跳表項(xiàng)。基于上述設(shè)置第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)為I或2的舉例,處理路由下一跳的裝置可以設(shè)置硬件路由表中存在的關(guān)鍵字與第一下一跳表項(xiàng)相同的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)為3,標(biāo)識(shí)該下一跳表項(xiàng)同時(shí)對(duì)應(yīng)于IPv4鄰居和IPv6鄰居,但并不限于此。
[0030]下面通過【具體實(shí)施方式】對(duì)本實(shí)施例提供的技術(shù)方案做進(jìn)一步說明。
[0031]首先,假設(shè)僅對(duì)應(yīng)于IPv4鄰居的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)為1,僅對(duì)應(yīng)于IPv6鄰居的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)為2,同時(shí)對(duì)應(yīng)于IPv4鄰居和IPv6鄰居的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)為3。
[0032]則對(duì)于第一鄰居為IPv4鄰居、第二鄰居為IPv6鄰居的應(yīng)用場(chǎng)景:如果硬件路由表中不存在對(duì)應(yīng)于IPv6鄰居的下一跳表項(xiàng),則當(dāng)需要在硬件路由表中添加對(duì)應(yīng)于IPv4鄰居的下一跳表項(xiàng)時(shí),直接在硬件路由表中添加對(duì)應(yīng)于IPv4鄰居的下一跳表項(xiàng),并設(shè)置狀態(tài)標(biāo)識(shí)為I ;如果硬件路由表中存在對(duì)應(yīng)于IPv6鄰居的下一跳表項(xiàng),此時(shí)該對(duì)應(yīng)于IPv6鄰居的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)為2,則當(dāng)需要在硬件路由表中添加對(duì)應(yīng)于IPv4鄰居的下一跳表項(xiàng)時(shí),直接將對(duì)應(yīng)于IPv6鄰居的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)設(shè)置為3,使得該下一跳表項(xiàng)同時(shí)對(duì)應(yīng)于IPv4鄰居和IPv6鄰居。
[0033]則對(duì)于第一鄰居為IPv6鄰居、第二鄰居為IPv4鄰居的應(yīng)用場(chǎng)景:如果硬件路由表中不存在對(duì)應(yīng)于IPv4鄰居的下一跳表項(xiàng),則當(dāng)需要在硬件路由表中添加對(duì)應(yīng)于IPv6鄰居的下一跳表項(xiàng)時(shí),直接在硬件路由表中添加對(duì)應(yīng)于IPv6鄰居的下一跳表項(xiàng),并設(shè)置狀態(tài)標(biāo)識(shí)為2 ;如果硬件路由表中存在對(duì)應(yīng)于IPv4鄰居的下一跳表項(xiàng),此時(shí)該對(duì)應(yīng)于IPv4鄰居的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)為1,則當(dāng)需要在硬件路由表中添加對(duì)應(yīng)于IPv6鄰居的下一跳表項(xiàng)時(shí),直接將對(duì)應(yīng)于IPv4鄰居的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)設(shè)置為3,使得該下一跳表項(xiàng)同時(shí)對(duì)應(yīng)于IPv4鄰居和IPv6鄰居。
[0034]下面簡(jiǎn)單介紹幾種確定需要在硬件路由表中添加第一下一跳表項(xiàng)的場(chǎng)景:
[0035]例如,當(dāng)學(xué)習(xí)到第一鄰居時(shí),確定需要在硬件路由表中添加對(duì)應(yīng)于第一鄰居的下一跳表項(xiàng)(即所述的第一下一跳表項(xiàng))。
[0036]又例如,當(dāng)?shù)谝秽従拥膱?bào)文轉(zhuǎn)發(fā)行為由丟棄(dorp)變?yōu)檗D(zhuǎn)發(fā)(fwd)時(shí),確定需要在硬件路由表中添加對(duì)應(yīng)于第一鄰居的下一跳表項(xiàng)(即所述的第一下一跳表項(xiàng))。
[0037]在本實(shí)施例中,通過設(shè)置硬件路由表中下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),可以實(shí)現(xiàn)IPv4鄰居和IPv6鄰居共享同一下一跳表項(xiàng),有利于節(jié)約硬件路由表中的下一跳表項(xiàng)資源,在下一跳表項(xiàng)資源一定的情況下有利于帶動(dòng)更多的用戶,尤其可以滿足大匯聚場(chǎng)景的需求。
[0038]進(jìn)一步,本實(shí)施例提供的處理路由下一跳的方法除了包括添加下一跳路由表項(xiàng)之夕卜,還包括下一跳路由表項(xiàng)的更新、刪除等操作。下面分別對(duì)更新和刪除下一跳表項(xiàng)的過程進(jìn)行說明。
[0039]對(duì)于下一跳表項(xiàng)的更新,觸發(fā)對(duì)下一跳表項(xiàng)進(jìn)行更新的因素很多,不同因素觸發(fā)的更新處理并不相同。例如,觸發(fā)對(duì)下一跳表項(xiàng)進(jìn)行更新的因素包括:鄰居的MAC地址發(fā)生變更,設(shè)備上發(fā)往鄰居的報(bào)文的出口(port)發(fā)生變更,出口所在線卡的ID (vid)發(fā)生變更,報(bào)文轉(zhuǎn)發(fā)行為(action)發(fā)生變更,等等。下面以對(duì)第一下一跳表項(xiàng)進(jìn)行更新為例,針對(duì)不同的觸發(fā)因素分別進(jìn)行說明。
[0040]當(dāng)確定第一鄰居的MAC地址發(fā)生變更時(shí),直接將硬件路由表中第一下一跳表項(xiàng)中的目的MAC地址更新為第一鄰居的變更后的目的MAC地址。
[0041]當(dāng)確定向第一鄰居發(fā)送報(bào)文的接口發(fā)生變更時(shí),將所述硬件路由表中所述第一下一跳表項(xiàng)中的出口更新為所述變更后的接口。
[0042]當(dāng)確定向第一鄰居發(fā)送報(bào)文的接口所在線卡的ID發(fā)生變更時(shí),將所述硬件路由表中所述第一下一跳表項(xiàng)中的出口所在線卡的ID更新為所述接口所在線卡的變更后的ID0
[0043]當(dāng)確定第一鄰居的報(bào)文轉(zhuǎn)發(fā)行為由轉(zhuǎn)發(fā)變更為丟棄時(shí),獲取所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí);如果所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)標(biāo)識(shí)所述第一下一跳表項(xiàng)僅對(duì)應(yīng)所述雙棧用戶的第一鄰居,則直接從所述硬件路由表中刪除所述第一下一跳表項(xiàng);如果所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)標(biāo)識(shí)所述第一下一跳表項(xiàng)同時(shí)對(duì)應(yīng)于所述雙棧用戶的第一鄰居和所述雙棧用戶的第二鄰居,則設(shè)置所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得所述第一下一跳表項(xiàng)僅對(duì)應(yīng)于所述雙棧用戶的第二鄰居;如果所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)標(biāo)識(shí)所述第一下一跳表項(xiàng)僅對(duì)應(yīng)于所述雙棧用戶的第二鄰居,則返回錯(cuò)誤。
[0044]具體的,第一鄰居的報(bào)文轉(zhuǎn)發(fā)行為由轉(zhuǎn)發(fā)變更為丟棄,說明需要將第一鄰居對(duì)應(yīng)的下一跳表項(xiàng)(即第一下一跳表項(xiàng))刪除。由于在本實(shí)施例中,第一下一跳表項(xiàng)可能同時(shí)對(duì)應(yīng)于第一鄰居和第二鄰居,于是需要基于第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)對(duì)第一下一跳表項(xiàng)進(jìn)行刪除。因此,在確定第一鄰居的報(bào)文轉(zhuǎn)發(fā)行為由轉(zhuǎn)發(fā)變更為丟棄時(shí),處理路由下一跳的裝置獲取所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí);然后判斷第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)所標(biāo)識(shí)的第一下一跳表項(xiàng)的狀態(tài)。如果所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)標(biāo)識(shí)所述第一下一跳表項(xiàng)僅對(duì)應(yīng)所述雙棧用戶的第一鄰居,說明第一下一跳表項(xiàng)沒有被第二鄰居共享,于是處理路由下一跳的裝置直接從所述硬件路由表中刪除所述第一下一跳表項(xiàng)。如果所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)標(biāo)識(shí)所述第一下一跳表項(xiàng)同時(shí)對(duì)應(yīng)于所述雙棧用戶的第一鄰居和所述雙棧用戶的第二鄰居,說明第一下一跳表項(xiàng)同時(shí)被第一鄰居和第二鄰居共享,雖然此時(shí)該第一下一跳表項(xiàng)不再對(duì)應(yīng)于第一鄰居,但該下一跳表項(xiàng)仍對(duì)應(yīng)于第二鄰居,于是處理路由下一跳的裝置不能從硬件表項(xiàng)中刪除該第一下一跳表項(xiàng),而僅是設(shè)置第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得第一下一跳表項(xiàng)僅對(duì)應(yīng)于雙棧用戶的第二鄰居。如果第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)標(biāo)識(shí)第一下一跳表項(xiàng)僅對(duì)應(yīng)于雙棧用戶的第二鄰居,意味著硬件路由表中并不存在第一鄰居對(duì)應(yīng)的下一跳表項(xiàng),但卻需要?jiǎng)h除第一鄰居對(duì)應(yīng)的下一跳表項(xiàng),所以會(huì)發(fā)生錯(cuò)誤。
[0045]對(duì)于下一跳表項(xiàng)的刪除,觸發(fā)對(duì)下一跳表項(xiàng)進(jìn)行刪除的因素很多,例如鏈路故障、表項(xiàng)老化等。下面以第一下一跳表項(xiàng)為例,說明對(duì)下一跳表項(xiàng)的刪除過程,包括:
[0046]當(dāng)確定要從所述硬件路由表中刪除所述第一下一跳表項(xiàng)時(shí),獲取所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí);如果所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)標(biāo)識(shí)所述第一下一跳表項(xiàng)僅對(duì)應(yīng)所述雙棧用戶的第一鄰居,則直接從所述硬件路由表中刪除所述第一下一跳表項(xiàng);如果所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)標(biāo)識(shí)所述第一下一跳表項(xiàng)同時(shí)對(duì)應(yīng)于所述雙棧用戶的第一鄰居和所述雙棧用戶的第二鄰居,則設(shè)置所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得所述第一下一跳表項(xiàng)僅對(duì)應(yīng)于所述雙棧用戶的第二鄰居;如果所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)標(biāo)識(shí)所述第一下一跳表項(xiàng)僅對(duì)應(yīng)于所述雙棧用戶的第二鄰居,則返回錯(cuò)誤。
[0047]下面通過【具體實(shí)施方式】對(duì)刪除下一跳表項(xiàng)的過程做進(jìn)一步說明。
[0048]首先,假設(shè)僅對(duì)應(yīng)于IPv4鄰居的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)為1,僅對(duì)應(yīng)于IPv6鄰居的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)為2,同時(shí)對(duì)應(yīng)于IPv4鄰居和IPv6鄰居的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)為3。
[0049]對(duì)于第一鄰居為IPv4鄰居,第二鄰居為IPv6鄰居的場(chǎng)景:當(dāng)刪除IPv4鄰居對(duì)應(yīng)的下一跳表項(xiàng)時(shí),查看該下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),如果需要?jiǎng)h除的該IPv4鄰居對(duì)應(yīng)的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)為1,說明硬件路由表中IPv4鄰居對(duì)應(yīng)的下一跳表項(xiàng)未被雙棧用戶的IPv6鄰居共享,于是直接從硬件路由表中刪除該IPv4鄰居對(duì)應(yīng)的下一跳表項(xiàng);如果需要?jiǎng)h除的該IPv4鄰居對(duì)應(yīng)的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)為3,說明硬件路由表中該IPv4鄰居對(duì)應(yīng)的下一跳表項(xiàng)同時(shí)被雙棧用戶的IPv4鄰居和IPv6鄰居共享,則此時(shí)不能刪除該下一跳表項(xiàng),而是通過將該下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)修改為2,使得該下一跳表項(xiàng)僅對(duì)應(yīng)于IPv6鄰居,從而實(shí)現(xiàn)刪除IPv4鄰居對(duì)應(yīng)的下一跳表項(xiàng)的目的;如果需要?jiǎng)h除的該IPv4鄰居對(duì)應(yīng)的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)為2,說明硬件路由表中的該下一跳表項(xiàng)僅對(duì)應(yīng)于IPv6鄰居,并未被IPv4鄰居共享,所以此時(shí)刪除對(duì)應(yīng)于IPv4鄰居的下一跳表項(xiàng)就會(huì)出錯(cuò),于是返回錯(cuò)誤。
[0050]對(duì)于第一鄰居為IPv6鄰居,第二鄰居為IPv4鄰居的場(chǎng)景:當(dāng)刪除IPv6鄰居對(duì)應(yīng)的下一跳表項(xiàng)時(shí),查看該下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),如果需要?jiǎng)h除的該IPv6鄰居對(duì)應(yīng)的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)為2,說明硬件路由表中IPv6鄰居對(duì)應(yīng)的下一跳表項(xiàng)未被雙棧用戶的IPv4鄰居共享,于是直接從硬件路由表中刪除該IPv6鄰居對(duì)應(yīng)的下一跳表項(xiàng);如果需要?jiǎng)h除的該IPv6鄰居對(duì)應(yīng)的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)為3,說明硬件路由表中該IPv6鄰居對(duì)應(yīng)的下一跳表項(xiàng)同時(shí)被雙棧用戶的IPv6鄰居和IPv4鄰居共享,則此時(shí)不能刪除該下一跳表項(xiàng),而是通過將該下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)修改為I,使得該下一跳表項(xiàng)僅對(duì)應(yīng)于IPv4鄰居,從而實(shí)現(xiàn)刪除IPv6鄰居對(duì)應(yīng)的下一跳表項(xiàng)的目的;如果需要?jiǎng)h除的該IPv6鄰居對(duì)應(yīng)的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)為1,說明硬件路由表中的該下一跳表項(xiàng)僅對(duì)應(yīng)于IPv4鄰居,并未被IPv6鄰居共享,所以此時(shí)刪除對(duì)應(yīng)于IPv6鄰居的下一跳表項(xiàng)就會(huì)出錯(cuò),于是返回錯(cuò)誤。
[0051]由上述可見,本實(shí)施例通過設(shè)置硬件路由表中下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),可以實(shí)現(xiàn)IPv4鄰居和IPv6鄰居共享同一下一跳表項(xiàng),有利于節(jié)約硬件路由表中的下一跳表項(xiàng)資源,在下一跳表項(xiàng)資源一定的情況下有利于帶動(dòng)更多的用戶,尤其可以滿足大匯聚場(chǎng)景的需求。同時(shí),本實(shí)施例通過修改硬件路由表中下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),實(shí)現(xiàn)對(duì)共享同一下一跳表項(xiàng)的更新和刪除等操作。
[0052]圖2為本發(fā)明實(shí)施例提供的一種處理路由下一跳的裝置結(jié)構(gòu)示意圖。如圖2所示,所述裝置包括:確定模塊21、添加模塊22和第一狀態(tài)設(shè)置模塊23。
[0053]確定模塊21,用于在確定在硬件路由表中添加第一下一跳表項(xiàng)時(shí),確定所述硬件路由表中是否存在關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng);所述第一下一跳表項(xiàng)是指對(duì)應(yīng)于雙棧用戶的第一鄰居的下一跳表項(xiàng)。
[0054]可選的,確定模塊21用于確定在硬件路由表中添加第一下一跳表項(xiàng),包括:確定模塊21具體用于在學(xué)習(xí)到所述第一鄰居時(shí),確定要在所述硬件路由表中添加所述第一下一跳表項(xiàng);和/或,在所述第一鄰居的報(bào)文轉(zhuǎn)發(fā)行為由丟棄變?yōu)檗D(zhuǎn)發(fā)時(shí),確定要在所述硬件路由表中添加所述第一下一跳表項(xiàng)。
[0055]添加模塊22,與確定模塊21連接,用于在確定模塊21確定出所述硬件路由表中不存在關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng)時(shí),在所述硬件路由表中添加所述第一下一跳表項(xiàng),并設(shè)置添加到所述硬件路由表中的所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得添加到所述硬件路由表中的所述第一下一跳表項(xiàng)僅對(duì)應(yīng)所述雙棧用戶的第一鄰居。
[0056]第一狀態(tài)設(shè)置模塊23,與確定模塊22連接,用于在確定模塊22確定出所述硬件路由表中存在關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng)時(shí),設(shè)置所述硬件路由表中存在的關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得所述硬件路由表中存在的關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng)同時(shí)對(duì)應(yīng)于所述雙棧用戶的第一鄰居和所述雙棧用戶的第二鄰居。
[0057]在本實(shí)施例中,所述雙棧用戶的第一鄰居是所述雙棧用戶的IPv4鄰居和IPv6鄰居中的一個(gè),所述雙棧用戶的第二鄰居是所述雙棧用戶的IPv4鄰居和IPv6鄰居中的另一個(gè)。
[0058]在本實(shí)施例中,所述第一下一跳表項(xiàng)的關(guān)鍵字包括:目的MAC地址、出口、出口所在VLAN和轉(zhuǎn)發(fā)行為,但不限于此。在此說明,兩個(gè)下一跳表項(xiàng)的關(guān)鍵字相同是指兩個(gè)下一跳表項(xiàng)的目的MAC地址、出口、出口所在VLAN和轉(zhuǎn)發(fā)行為均相同。相應(yīng)的,關(guān)鍵字與第一下一跳表項(xiàng)相同的下一跳表項(xiàng)是指目的MAC地址、出口、出口所在VLAN和轉(zhuǎn)發(fā)行為均與第一下一跳表項(xiàng)相同的下一跳表項(xiàng)。
[0059]上述確定模塊21、添加模塊22和第一狀態(tài)設(shè)置模塊23用于完成第一下一跳表項(xiàng)的添加操作。
[0060]進(jìn)一步,如圖3所示,所述裝置還包括:獲取模塊31、刪除模塊32、第二狀態(tài)設(shè)置模塊33和錯(cuò)誤處理模塊34。
[0061]獲取模塊31,用于在確定所述第一鄰居的報(bào)文轉(zhuǎn)發(fā)行為由轉(zhuǎn)發(fā)變更為丟棄時(shí)或者在確定要從所述硬件路由表中刪除所述第一下一跳表項(xiàng)時(shí),獲取所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)??蛇x的,獲取模塊31與第一狀態(tài)設(shè)置模塊23連接。
[0062]刪除模塊32,與獲取模塊31連接,用于在獲取模塊31獲取的所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)標(biāo)識(shí)所述第一下一跳表項(xiàng)僅對(duì)應(yīng)所述雙棧用戶的第一鄰居時(shí),直接從所述硬件路由表中刪除所述第一下一跳表項(xiàng)。
[0063]第二狀態(tài)設(shè)置模塊33,與獲取模塊31連接,用于在獲取模塊31獲取的所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)標(biāo)識(shí)所述第一下一跳表項(xiàng)同時(shí)對(duì)應(yīng)于所述雙棧用戶的第一鄰居和所述雙棧用戶的第二鄰居時(shí),設(shè)置所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得所述第一下一跳表項(xiàng)僅對(duì)應(yīng)于所述雙棧用戶的第二鄰居。
[0064]錯(cuò)誤處理模塊34,與獲取模塊31連接,用于在獲取模塊31獲取的所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)標(biāo)識(shí)所述第一下一跳表項(xiàng)僅對(duì)應(yīng)于所述雙棧用戶的第二鄰居時(shí),返回錯(cuò)誤。
[0065]上述獲取模塊31、刪除模塊32、第二狀態(tài)設(shè)置模塊33和錯(cuò)誤處理模塊34用于在第一鄰居的報(bào)文轉(zhuǎn)發(fā)行為由轉(zhuǎn)發(fā)變更為丟棄時(shí),完成對(duì)第一下一跳表項(xiàng)的更新操作。或者,上述獲取模塊31、刪除模塊32、第二狀態(tài)設(shè)置模塊33和錯(cuò)誤處理模塊34用于在需要從硬件路由表中刪除第一下一跳表項(xiàng)時(shí),完成對(duì)第一下一跳表項(xiàng)的刪除操作。
[0066]進(jìn)一步,如圖3所示,所述裝置還包括:更新模塊35。更新模塊35,用于在確定所述第一鄰居的MAC地址發(fā)生變更時(shí),將所述硬件路由表中所述第一下一跳表項(xiàng)中的目的MAC地址更新為所述第一鄰居的變更后的MAC地址;或者,在確定向所述第一鄰居發(fā)送報(bào)文的接口發(fā)生變更時(shí),將所述硬件路由表中所述第一下一跳表項(xiàng)中的出口更新為所述變更后的接口;或者,在確定向所述第一鄰居發(fā)送報(bào)文的接口所在線卡的ID發(fā)生變更時(shí),將所述硬件路由表中所述第一下一跳表項(xiàng)中的出口所在線卡的ID更新為所述接口所在線卡的變更后的ID??蛇x的,更新模塊34與添加模塊22連接。
[0067]上述更新模塊35具體完成由其它因素引起的第一下一跳表現(xiàn)的更新操作。
[0068]本實(shí)施例提供的處理路由下一跳的裝置的各功能模塊可用于執(zhí)行圖1所示方法實(shí)施例的流程,其具體工作原理不再贅述,詳見方法實(shí)施例的描述。
[0069]本實(shí)施例提供的處理路由下一跳的裝置,通過設(shè)置硬件路由表中下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),可以實(shí)現(xiàn)IPv4鄰居和IPv6鄰居共享同一下一跳表項(xiàng),有利于節(jié)約硬件路由表中的下一跳表項(xiàng)資源,在下一跳表項(xiàng)資源一定的情況下有利于帶動(dòng)更多的用戶。
[0070]本發(fā)明實(shí)施例提供一種網(wǎng)絡(luò)設(shè)備,包括上述實(shí)施例提供的處理理由下一跳的裝置。本實(shí)施例提供的網(wǎng)絡(luò)設(shè)備可以是大匯聚網(wǎng)絡(luò)中的網(wǎng)關(guān)設(shè)備,但不限于此。
[0071]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0072]最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
【權(quán)利要求】
1.ー種處理路由下一跳的方法,其特征在于,包括: 當(dāng)確定在硬件路由表中添加第一下一跳表項(xiàng)時(shí),確定所述硬件路由表中是否存在關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng);所述第一下一跳表項(xiàng)是指對(duì)應(yīng)于雙棧用戶的第一鄰居的下一跳表項(xiàng); 如果確定出所述硬件路由表中不存在關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng),在所述硬件路由表中添加所述第一下一跳表項(xiàng),并設(shè)置添加到所述硬件路由表中的所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得添加到所述硬件路由表中的所述第一下一跳表項(xiàng)僅對(duì)應(yīng)所述雙棧用戶的第一鄰居; 如果確定出所述硬件路由表中存在關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng),設(shè)置所述硬件路由表中存在的關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得所述硬件路由表中存在的關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng)同時(shí)對(duì)應(yīng)于所述雙棧用戶的第一鄰居和所述雙棧用戶的第二鄰居; 其中,所述雙棧用戶的第一鄰居是所述雙棧用戶的IPv4鄰居和IPv6鄰居中的ー個(gè),所述雙棧用戶的第二鄰居是所述雙棧用戶的IPv4鄰居和IPv6鄰居中的另ー個(gè)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 當(dāng)確定所述第一鄰居的報(bào)文轉(zhuǎn)發(fā)行為由轉(zhuǎn)發(fā)變更為丟棄時(shí)或者當(dāng)確定要從所述硬件路由表中刪除所述第一下一跳表項(xiàng)時(shí),獲取所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí); 如果所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)標(biāo)識(shí)所述第一下一跳表項(xiàng)僅對(duì)應(yīng)所述雙棧用戶的第一鄰居,則直接從所述硬件路由表中刪除所述第一下一跳表項(xiàng); 如果所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)標(biāo)識(shí)所述第一下一跳表項(xiàng)同時(shí)對(duì)應(yīng)于所述雙棧用戶的第一鄰居和所述雙棧用戶的第二鄰居,則設(shè)置所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得所述第一下一跳表項(xiàng)僅對(duì) 應(yīng)于所述雙棧用戶的第二鄰居; 如果所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)標(biāo)識(shí)所述第一下一跳表項(xiàng)僅對(duì)應(yīng)于所述雙棧用戶的第二鄰居,則返回錯(cuò)誤。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 當(dāng)確定所述第一鄰居的介質(zhì)訪問控制MAC地址發(fā)生變更時(shí),將所述硬件路由表中所述第一下一跳表項(xiàng)中的目的MAC地址更新為所述第一鄰居的變更后的MAC地址;或者 當(dāng)確定向所述第一鄰居發(fā)送報(bào)文的接ロ發(fā)生變更時(shí),將所述硬件路由表中所述第一下一跳表項(xiàng)中的出口更新為所述變更后的接ロ ;或者 當(dāng)確定向所述第一鄰居發(fā)送報(bào)文的接ロ所在線卡的標(biāo)識(shí)ID發(fā)生變更時(shí),將所述硬件路由表中所述第一下一跳表項(xiàng)中的出口所在線卡的ID更新為所述接ロ所在線卡的變更后的ID。
4.根據(jù)權(quán)利要求1或2或3所述的方法,其特征在于,所述確定在硬件路由表中添加第一下一跳表項(xiàng),包括: 當(dāng)學(xué)習(xí)到所述第一鄰居時(shí),確定要在所述硬件路由表中添加所述第一下一跳表項(xiàng);和/或 當(dāng)所述第一鄰居的報(bào)文轉(zhuǎn)發(fā)行為由丟棄變?yōu)檗D(zhuǎn)發(fā)時(shí),確定要在所述硬件路由表中添加所述第一下一跳表項(xiàng)。
5.根據(jù)權(quán)利要求1或2或3所述的方法,其特征在于,所述第一下一跳表項(xiàng)的關(guān)鍵字包括:目的MAC地址、出ロ、出ロ所在虛擬局域網(wǎng)VLAN和轉(zhuǎn)發(fā)行為。
6.ー種處理路由下一跳的裝置,其特征在于,包括: 確定模塊,用于在確定在硬件路由表中添加第一下一跳表項(xiàng)時(shí),確定所述硬件路由表中是否存在關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng);所述第一下一跳表項(xiàng)是指對(duì)應(yīng)于雙棧用戶的第一鄰居的下一跳表項(xiàng); 添加模塊,用于在所述確定模塊確定出所述硬件路由表中不存在關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng)時(shí),在所述硬件路由表中添加所述第一下一跳表項(xiàng),并設(shè)置添加到所述硬件路由表中的所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得添加到所述硬件路由表中的所述第一下一跳表項(xiàng)僅對(duì)應(yīng)所述雙棧用戶的第一鄰居; 第一狀態(tài)設(shè)置模塊,用于在所述確定模塊確定出所述硬件路由表中存在關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng)時(shí),設(shè)置所述硬件路由表中存在的關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得所述硬件路由表中存在的關(guān)鍵字與所述第一下一跳表項(xiàng)相同的下一跳表項(xiàng)同時(shí)對(duì)應(yīng)于所述雙棧用戶的第一鄰居和所述雙棧用戶的第二鄰居; 其中,所述雙棧用戶的第一鄰居是所述雙棧用戶的IPv4鄰居和IPv6鄰居中的ー個(gè),所述雙棧用戶的第二鄰居是所述雙棧用戶的IPv4鄰居和IPv6鄰居中的另ー個(gè)。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,還包括: 獲取模塊,用于在確定所述第一鄰居的報(bào)文轉(zhuǎn)發(fā)行為由轉(zhuǎn)發(fā)變更為丟棄時(shí)或者在確定要從所述硬件路由表中刪除所述第一下一跳表項(xiàng)時(shí),獲取所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí); 刪除模塊,用于在所述第一獲取模塊獲取的所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)標(biāo)識(shí)所述第一下一跳表項(xiàng)僅對(duì)應(yīng)所述 雙棧用戶的第一鄰居時(shí),直接從所述硬件路由表中刪除所述第一下一跳表項(xiàng); 第二狀態(tài)設(shè)置模塊,用于在所述第一獲取模塊獲取的所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)標(biāo)識(shí)所述第一下一跳表項(xiàng)同時(shí)對(duì)應(yīng)于所述雙棧用戶的第一鄰居和所述雙棧用戶的第二鄰居時(shí),設(shè)置所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí),使得所述第一下一跳表項(xiàng)僅對(duì)應(yīng)于所述雙棧用戶的第二鄰居; 錯(cuò)誤處理模塊,用于在所述第一獲取模塊獲取的所述第一下一跳表項(xiàng)的狀態(tài)標(biāo)識(shí)標(biāo)識(shí)所述第一下一跳表項(xiàng)僅對(duì)應(yīng)于所述雙棧用戶的第二鄰居時(shí),返回錯(cuò)誤。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,還包括: 更新模塊,用于在確定所述第一鄰居的介質(zhì)訪問控制MAC地址發(fā)生變更時(shí),將所述硬件路由表中所述第一下一跳表項(xiàng)中的目的MAC地址更新為所述第一鄰居的變更后的MAC地址;或者,在確定向所述第一鄰居發(fā)送報(bào)文的接ロ發(fā)生變更時(shí),將所述硬件路由表中所述第一下一跳表項(xiàng)中的出口更新為所述變更后的接ロ ;或者,在確定向所述第一鄰居發(fā)送報(bào)文的接ロ所在線卡的標(biāo)識(shí)ID發(fā)生變更時(shí),將所述硬件路由表中所述第一下一跳表項(xiàng)中的出ロ所在線卡的ID更新為所述接ロ所在線卡的變更后的ID。
9.根據(jù)權(quán)利要求6或7或8所述的裝置,其特征在于,所述確定模塊用于確定在硬件路由表中添加第一下一跳表項(xiàng),包括: 所述確定模塊具體用于在學(xué)習(xí)到所述第一鄰居時(shí),確定要在所述硬件路由表中添加所述第一下一跳表項(xiàng),和/或,在所述第一鄰居的報(bào)文轉(zhuǎn)發(fā)行為由丟棄變?yōu)檗D(zhuǎn)發(fā)時(shí),確定要在所述硬件路由表中添加所述第一下一跳表項(xiàng)。
10.根據(jù)權(quán)利要求6或7或8所述的裝置,其特征在于,所述第一下一跳表項(xiàng)的關(guān)鍵字包括:目的MAC地址、出ロ、出ロ所在虛擬局域網(wǎng)VLAN和轉(zhuǎn)發(fā)行為。
11.ー種網(wǎng)絡(luò)設(shè)備,其特征在于,包括權(quán)利要求6-10任ー項(xiàng)所述的處理路由下一跳的裝置。·
【文檔編號(hào)】H04L12/781GK103457864SQ201310378866
【公開日】2013年12月18日 申請(qǐng)日期:2013年8月27日 優(yōu)先權(quán)日:2013年8月27日
【發(fā)明者】陳杰, 熊昭榮 申請(qǐng)人:福建星網(wǎng)銳捷網(wǎng)絡(luò)有限公司