專利名稱:鄰居表項(xiàng)的處理方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種鄰居表項(xiàng)的處理方法及裝置。
背景技術(shù):
鄰居發(fā)現(xiàn)(NeighborDiscovery, ND)協(xié)議是 IPv6 (Internet ProtocolVersion6,網(wǎng)絡(luò)協(xié)議第6版)協(xié)議的一個(gè)基本的組成部分,它包括路由器的前綴發(fā)現(xiàn)、地址解析、鄰居不可達(dá)檢測(cè)、重定向等功能,實(shí)現(xiàn)了在IPv4 (Internet Protocol Version4,網(wǎng)絡(luò)協(xié)議第4版)中的地址解析協(xié)議(Address Resolut ion Protocol, ARP)、網(wǎng)絡(luò)控制消息協(xié)議(Internet ControlMessage Protocol, ICMP)中的路由器發(fā)現(xiàn)部分、重定向協(xié)議的所有功能,并具有鄰居不可達(dá)檢測(cè)機(jī)制,而IPv4協(xié)議中并沒有相應(yīng)的鄰居不可達(dá)檢測(cè)機(jī)制。源節(jié)點(diǎn)通過發(fā)送多播的鄰居請(qǐng)求(Neighbor Solicitation,NS)消息(Message)要求目標(biāo)節(jié)點(diǎn)返回其鏈路層地址(link-layer address)來完成地址解析。鄰居請(qǐng)求消息被多播發(fā)送到目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的多播地址,目標(biāo)節(jié)點(diǎn)單播鄰居通告(Neighbor Advertisement,NA)消息給源節(jié)點(diǎn),鄰居通告消息中包含目標(biāo)節(jié)點(diǎn)的鏈路層地址。由于源節(jié)點(diǎn)在發(fā)送鄰居請(qǐng)求消息時(shí)攜帶自己的鏈路層地址,所以一個(gè)請(qǐng)求-應(yīng)答過程就可以使雙方都獲取到對(duì)方的鏈路層地址,從而進(jìn)行正常的鄰居表操作,如將對(duì)方的信息加入到自己的鄰居表中建立新的鄰居表項(xiàng),或修改原有鄰居表項(xiàng)等,完成動(dòng)態(tài)鄰居表(鄰居緩存表)學(xué)習(xí)。鄰居表中包含有鄰居不可達(dá)檢測(cè)算法維護(hù)的信息。鄰居可達(dá)性狀態(tài)可以包括以下5種取值:不完整性(INCOMPLETE)、可達(dá)性(REACHABLE)、失效性(STALE)、延遲(DELAY)和探測(cè)(PR0BE)。具體地,鄰居緩存表項(xiàng)狀態(tài)遷移如下:I) INCOMPLETE—>REACHABLE:節(jié)點(diǎn)主動(dòng)發(fā)送NS消息進(jìn)行某個(gè)鄰居節(jié)點(diǎn)的鏈路層地址學(xué)習(xí),如果收到其他節(jié)點(diǎn)發(fā)送的NA消息,該NA消息對(duì)應(yīng)的鄰居表項(xiàng)的狀態(tài)遷移為REACHABLE,否則刪除該鄰居節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)。2) STALE:節(jié)點(diǎn)收到對(duì)端的NS消息后生成該NS消息對(duì)應(yīng)的鄰居表項(xiàng)的狀態(tài)。3) REACHABLE—>STALE:在收到某個(gè)鄰居表項(xiàng)的可達(dá)確認(rèn)后,如果ReachableTime毫秒內(nèi)沒有流量使用該鄰居表項(xiàng),該鄰居表項(xiàng)的狀態(tài)遷移為STALE。4) STALE—>DELAY—>PR0BE—>REACHABLE:當(dāng)某個(gè)鄰居表項(xiàng)處于 STALE 狀態(tài)時(shí),如果有流量使用該鄰居表項(xiàng),則會(huì)觸發(fā)延時(shí)一段時(shí)間后重新確認(rèn)該鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)的鏈路層地址,如果收到該鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)的NA消息,則該鄰居表項(xiàng)的狀態(tài)遷移為REACHABLE,否則刪除該鄰居表項(xiàng)。5) STALE—〉老化刪除:如果某個(gè)鄰居表項(xiàng)長期處于STALE狀態(tài),即長時(shí)間無流量使用該鄰居表項(xiàng),那么一段時(shí)間后,該鄰居表項(xiàng)老化刪除。鄰居發(fā)現(xiàn)協(xié)議通過鄰居不可達(dá)檢測(cè)機(jī)制實(shí)現(xiàn)無用表項(xiàng)的刪除,按照生存期定時(shí)刪除無用表項(xiàng)?,F(xiàn)有的系統(tǒng)中每 個(gè)鄰居表項(xiàng)都是維持固定時(shí)間,一旦有大量臨時(shí)鄰居表項(xiàng)申請(qǐng),很可能導(dǎo)致鄰居表項(xiàng)超限。或者,如果有網(wǎng)絡(luò)攻擊,惡意偽造并發(fā)送大量的請(qǐng)求消息,也會(huì)導(dǎo)致鄰居表項(xiàng)超限。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種鄰居表項(xiàng)的處理方法及裝置,提高鄰居表項(xiàng)資源的利用率。為實(shí)現(xiàn)上述目的,本發(fā)明第一方面提供了一種鄰居表項(xiàng)的處理方法,所述方法包括:統(tǒng)計(jì)當(dāng)前鄰居表中的當(dāng)前鄰居表項(xiàng)數(shù)量;當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量增加時(shí),將所述當(dāng)前鄰居表項(xiàng)數(shù)量與預(yù)設(shè)鄰居表項(xiàng)閾值相比較,如果所述當(dāng)前鄰居表項(xiàng)數(shù)量大于所述預(yù)設(shè)鄰居表項(xiàng)閾值,縮短新申請(qǐng)表項(xiàng)和已有表項(xiàng)的維持時(shí)間;當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量減少時(shí),將所述當(dāng)前鄰居表項(xiàng)數(shù)量與所述預(yù)設(shè)鄰居表項(xiàng)閾值相比較,如果所述當(dāng)前鄰居表項(xiàng)數(shù)量小于所述預(yù)設(shè)鄰居表項(xiàng)閾值,增加新申請(qǐng)表項(xiàng)的維持時(shí)間;當(dāng)所述當(dāng)前鄰居表中有鄰居表項(xiàng)的存在時(shí)間超過所述維持時(shí)間時(shí),向所述存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)對(duì)應(yīng)的第一節(jié)點(diǎn)發(fā)送檢測(cè)信號(hào);如果在預(yù)設(shè)時(shí)間閾值內(nèi)接收到所述第一節(jié)點(diǎn)對(duì)所述檢測(cè)信號(hào)的響應(yīng),則增加該第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)的維持時(shí)間并重新開始計(jì)算該第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)的存在時(shí)間,否則,將該第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)刪除。結(jié)合第一方面,在第一方面的第一種可能的實(shí)施方式中,所述縮短已有表項(xiàng)的維持時(shí)間為:將所述已有表項(xiàng)所剩余的維持時(shí)間減少一半;所述縮短新申請(qǐng)表項(xiàng)的維持時(shí)間為:將所述新申請(qǐng)表項(xiàng)的初始維持時(shí)間減少一半;
所述增加新申請(qǐng)表項(xiàng)的維持時(shí)間為:將所述新申請(qǐng)表項(xiàng)的初始維持時(shí)間增加一倍。結(jié)合第一方面,在第一方面的第二種可能的實(shí)施方式中,所述方法還包括:設(shè)定N個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi,1=1,2,3,…,N,其中,TH1〈TH2〈TH3〈…〈THN,N為預(yù)設(shè)正整數(shù);如果所述當(dāng)前鄰居表項(xiàng)數(shù)量M與所述N個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi的關(guān)系為:THi〈M〈THi+l,M為正整數(shù),則當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量增加時(shí),將所述當(dāng)前鄰居表項(xiàng)數(shù)量與下一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi+Ι相比較,當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量大于下一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi+Ι時(shí),縮短新申請(qǐng)表項(xiàng)和已有表項(xiàng)的維持時(shí)間;當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量減少時(shí),將所述當(dāng)前鄰居表項(xiàng)數(shù)量與前一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi相比較,當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量小于前一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi時(shí),增加新申請(qǐng)表項(xiàng)的維持時(shí)間。結(jié)合第一方面,在第一方面的第三種可能的實(shí)施方式中,在所述增加該第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)的維持時(shí)間之后,還包括:判斷增加后的該第一節(jié)點(diǎn)對(duì)應(yīng)的當(dāng)前鄰居表項(xiàng)的維持時(shí)間是否超過最大維持時(shí)間,如果是,則將該第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)的維持時(shí)間調(diào)整為最大維持時(shí)間。結(jié)合第一方面,在第一方面的第四種可能的實(shí)施方式中,在所述增加新申請(qǐng)表項(xiàng)的維持時(shí)間之后,還包括:判斷增加后的所述新申請(qǐng)表項(xiàng)的維持時(shí)間是否超過最大維持時(shí)間,如果是,則將所述新申請(qǐng)表項(xiàng)的維持時(shí)間調(diào)整為最大維持時(shí)間。結(jié)合第一方面,在第一方面的第五種可能的實(shí)施方式中,所述鄰居表項(xiàng)的存在時(shí)間從所述鄰居表項(xiàng)的狀態(tài)變?yōu)镾TALE時(shí)開始計(jì)算;或者所述鄰居表項(xiàng)的存在時(shí)間從生成所述鄰居表項(xiàng)時(shí)開始計(jì)算。第二方面,本發(fā)明還提供了一種鄰居表項(xiàng)的處理裝置,所述裝置包括統(tǒng)計(jì)單元、調(diào)整單元、檢測(cè)單元、第一處理單元和第二處理單元,其中:所述統(tǒng)計(jì)單元,用于統(tǒng)計(jì)當(dāng)前鄰居表中的當(dāng)前鄰居表項(xiàng)數(shù)量;所述調(diào)整單元,用于當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量增加時(shí),將所述當(dāng)前鄰居表項(xiàng)數(shù)量與預(yù)設(shè)鄰居表項(xiàng)閾值相比較,如果所述當(dāng)前鄰居表項(xiàng)數(shù)量大于所述預(yù)設(shè)鄰居表項(xiàng)閾值,縮短新申請(qǐng)表項(xiàng)和已有表項(xiàng)的維持時(shí)間;或者所述調(diào)整單元用于當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量減少時(shí),將所述當(dāng)前鄰居表項(xiàng)數(shù)量與所述預(yù)設(shè)鄰居表項(xiàng)閾值相比較,如果所述當(dāng)前鄰居表項(xiàng)數(shù)量小于所述預(yù)設(shè)鄰居表項(xiàng)閾值,增加新申請(qǐng)表項(xiàng)的維持時(shí)間;所述檢測(cè)單元,用于確定所述當(dāng)前鄰居表中的各鄰居表項(xiàng)的存在時(shí)間是否超過所述維持時(shí)間,如果是,則發(fā)送檢測(cè)信號(hào)至所述存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)對(duì)應(yīng)的第一節(jié)點(diǎn),如果在預(yù)設(shè)時(shí)間閾值內(nèi)接收到所述第一節(jié)點(diǎn)對(duì)所述檢測(cè)信號(hào)的響應(yīng),則觸發(fā)所述第一處理單元,否則觸發(fā)所述第二處理單元;所述第一處 理單元,用于在受到所述檢測(cè)單元觸發(fā)時(shí),增加所述第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)的維持時(shí)間并重新開始計(jì)算該第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)的存在時(shí)間;所述第二處理單元,用于在受到所述檢測(cè)單元觸發(fā)時(shí),刪除所述第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)。結(jié)合第二方面,在第二方面的第一種可能的實(shí)施方式中,所述調(diào)整單元用于當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量增加并大于預(yù)設(shè)鄰居表項(xiàng)閾值時(shí),將所述已有表項(xiàng)所剩余的維持時(shí)間減少一半;或所述調(diào)整單元用于當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量增加并大于預(yù)設(shè)鄰居表項(xiàng)閾值時(shí),將所述新申請(qǐng)表項(xiàng)的初始維持時(shí)間減少一半;或所述調(diào)整單元用于當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量減少并小于預(yù)設(shè)鄰居表項(xiàng)閾值時(shí),將所述新申請(qǐng)表項(xiàng)的初始維持時(shí)間增加一倍。結(jié)合第二方面,在第二方面的第二種可能的實(shí)施方式中,所述處理裝置還包括設(shè)置單元,其中:所述設(shè)置單元,與所述統(tǒng)計(jì)單元和調(diào)整單元相連接,用于設(shè)定N個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi,1=1,2,3,…,化其中”耵^擬^擬十“^順州為預(yù)設(shè)正整數(shù);所述統(tǒng)計(jì)單元還用于確定統(tǒng)計(jì)到的所述當(dāng)前鄰居表項(xiàng)數(shù)量M與所述N個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi的關(guān)系:THi〈M〈THi+l,M為正整數(shù);所述調(diào)整單元用于當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量增加時(shí),將所述當(dāng)前鄰居表項(xiàng)數(shù)量與下一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi+Ι相比較,當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量大于下一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi+Ι時(shí),縮短新申請(qǐng)表項(xiàng)和已有表項(xiàng)的維持時(shí)間;
或者所述調(diào)整單元用于當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量減少時(shí),將所述當(dāng)前鄰居表項(xiàng)數(shù)量與前一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi相比較,當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量小于前一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi時(shí),增加新申請(qǐng)表項(xiàng)的維持時(shí)間。結(jié)合第二方面,在第二方面的第三種可能的實(shí)施方式中,所述處理裝置還包括第一判斷單元,所述第一判斷單元與所述調(diào)整單元相連接,用于判斷經(jīng)過所述調(diào)整單元調(diào)整后的所述新申請(qǐng)表項(xiàng)的維持時(shí)間是否超過最大維持時(shí)間,如果是,則觸發(fā)所述調(diào)整單元將所述新申請(qǐng)表項(xiàng)的維持時(shí)間調(diào)整為最大維持時(shí)間。結(jié)合第二方面,在第二方面的第四種可能的實(shí)施方式中,所述處理裝置還包括第二判斷單元,所述第二判斷單元與所述第一處理單元相連接,用于判斷經(jīng)過所述第一處理單元調(diào)整后的該第一節(jié)點(diǎn)對(duì)應(yīng)的當(dāng)前鄰居表項(xiàng)的維持時(shí)間是否超過最大維持時(shí)間,如果是,則觸發(fā)所述第一處理單元將該第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)的維持時(shí)間調(diào)整為最大維持時(shí)間。結(jié)合第二方面,在第二方面的第五種可能的實(shí)施方式中,所述鄰居表項(xiàng)的存在時(shí)間從所述鄰居表項(xiàng)的狀態(tài)變?yōu)镾TALE時(shí)開始計(jì)算;或者所述鄰居表項(xiàng)的存在時(shí)間從生成所述鄰居表項(xiàng)時(shí)開始計(jì)算。本發(fā)明提供的鄰居表項(xiàng)的處理方法及裝置,根據(jù)系統(tǒng)的壓力,智能調(diào)整鄰居表項(xiàng)的維持時(shí)間,盡早老化掉無效的鄰居表項(xiàng),從而迅速刪除掉無效的鄰居表項(xiàng),減少系統(tǒng)資源的壓力,避免因網(wǎng)絡(luò)攻擊或大量流動(dòng)的臨時(shí)表項(xiàng)的維持時(shí)間過長導(dǎo)致系統(tǒng)無法正常工作,防攻擊效果明顯,從而對(duì)設(shè)備的表項(xiàng)資源進(jìn)行合理有效地保護(hù)。
圖1為本發(fā)明實(shí)施例一提供的鄰居表項(xiàng)處理方法流程圖;圖2為本發(fā)明實(shí)施例二提供的鄰居表項(xiàng)處理方法流程圖;圖3為本發(fā)明實(shí)施例三提供的鄰居表項(xiàng)處理裝置示意圖;圖4為本發(fā)明實(shí)施例四提供的鄰居表項(xiàng)處理裝置示意圖;圖5為本發(fā)明實(shí)施例五提供的鄰居表項(xiàng)的處理裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。一個(gè)節(jié)點(diǎn)的鄰居表用來表明與它相鄰的其他設(shè)備或節(jié)點(diǎn)的關(guān)系,鄰居表包括最近向該節(jié)點(diǎn)發(fā)送過流量的鄰居節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng),由各種ND消息觸發(fā)產(chǎn)生或更新。ND消息包括源鏈路層地址(I ink-layer address)、目標(biāo)鏈路層地址、前綴信息、重定向頭和最大傳輸單元等信息。如果節(jié)點(diǎn)需要與其他節(jié)點(diǎn)進(jìn)行通信,則通過請(qǐng)求-應(yīng)答過程獲取到對(duì)方的鏈路層地址等信息,這些信息保存在節(jié)點(diǎn)的鄰居表中。所述鏈路層地址可以是媒體接入控制 MAC (Media Access Control)地址。對(duì)于長期失效的鄰居表項(xiàng),一般通過鄰居不可達(dá)檢測(cè)機(jī)制,按照生存期定時(shí)將該些無效的鄰居表項(xiàng)刪除,鄰居表項(xiàng)的生存期的長短由維持時(shí)間決定。當(dāng)某個(gè)鄰居表項(xiàng)的狀態(tài)變?yōu)镾TALE時(shí),開始生存期的計(jì)時(shí)。在該鄰居表項(xiàng)的生存期超時(shí)之前,節(jié)點(diǎn)應(yīng)該在默認(rèn)路由器列表和前綴列表中保持鄰居表項(xiàng)。當(dāng)某個(gè)鄰居表項(xiàng)的生存期超時(shí)時(shí),則將該無用的鄰居表項(xiàng)刪除。即,如果某個(gè)鄰居表項(xiàng)長期處于STALE狀態(tài),即長時(shí)間無流量使用該鄰居表項(xiàng),則將該鄰居表項(xiàng)刪除。針對(duì)現(xiàn)有的鄰居表項(xiàng)維持時(shí)間固定,無法根據(jù)實(shí)際情況自動(dòng)調(diào)節(jié)維持時(shí)間,從而可能導(dǎo)致鄰居表項(xiàng)超限,尤其是在設(shè)備出現(xiàn)故障、遇到攻擊或處于流動(dòng)性強(qiáng)等的應(yīng)用場(chǎng)景時(shí),出現(xiàn)表項(xiàng)資源利用率差的問題,本發(fā)明實(shí)施例提供的鄰居表項(xiàng)的處理方法及裝置,通過統(tǒng)計(jì)節(jié)點(diǎn)的鄰居表項(xiàng)的總數(shù)量以監(jiān)測(cè)系統(tǒng)的壓力,從而根據(jù)系統(tǒng)的壓力,智能調(diào)整鄰居表項(xiàng)的維持時(shí)間,使得無效的鄰居表項(xiàng)可以迅速被老化和刪除,減少系統(tǒng)資源的壓力。在本發(fā)明中,節(jié)點(diǎn)可以是具有轉(zhuǎn)發(fā)功能的支持IPv6業(yè)務(wù)的路由器、交換機(jī)等轉(zhuǎn)發(fā)設(shè)備,或者具有發(fā)送消息或發(fā)送流量功能的主機(jī)、手機(jī)等終端設(shè)備。本發(fā)明的鄰居表項(xiàng)的處理方法可用于這些有申請(qǐng)鄰居表項(xiàng)且在鄰居表項(xiàng)超時(shí)后能夠向申請(qǐng)端重新檢測(cè)的設(shè)備中,尤其適合在流動(dòng)性較強(qiáng)的大型聚會(huì)、存在網(wǎng)絡(luò)攻擊或設(shè)備故障等的場(chǎng)景,可以迅速地刪除無效的鄰居表項(xiàng),減輕設(shè)備系統(tǒng)資源的壓力,合理利用設(shè)備的表項(xiàng)資源。實(shí)施例一圖1是本實(shí)施例提供的鄰居表項(xiàng)的處理方法流程圖,如圖1所示,本發(fā)明的鄰居表項(xiàng)的處理方法包括:SIO1、節(jié)點(diǎn)統(tǒng)計(jì)當(dāng)前鄰居表中的當(dāng)前鄰居表項(xiàng)數(shù)量。鄰居表是一組有關(guān)單個(gè)鄰居的表項(xiàng),即為鄰居緩存表,這些鄰居接收到了最新的數(shù)據(jù)流。每個(gè)鄰居表項(xiàng)的信息包括:鄰居表項(xiàng)對(duì)應(yīng)鄰居節(jié)點(diǎn)的數(shù)據(jù)鏈路層地址、指示該鄰居節(jié)點(diǎn)是路由器還是主機(jī)的標(biāo)志、指向任何排隊(duì)等待完成地址解析數(shù)據(jù)包的指針。每個(gè)鄰居表項(xiàng)還可以包括鄰居不可達(dá)檢測(cè)算法所使用的信息。鄰居不可達(dá)檢測(cè)算法所使用的信息包括:可達(dá)狀態(tài)、探測(cè)無應(yīng)答的次數(shù)以及下一次鄰居不可達(dá)檢測(cè)發(fā)送的時(shí)間。具體地,在鄰居表的學(xué)習(xí)過程中,節(jié)點(diǎn)將自身的鏈路層地址(比如MAC地址)、自身的IP地址、自身的節(jié)點(diǎn)名稱等地址配置信息通過ND協(xié)議中的NS消息發(fā)送給網(wǎng)絡(luò)內(nèi)的其他節(jié)點(diǎn)。接收到該NS消息的節(jié)點(diǎn)將自身的鏈路層地址、自身的IP地址、自身的節(jié)點(diǎn)名稱等配置信息通過ND協(xié)議中的NA消息返回給發(fā)送NS消息的節(jié)點(diǎn)。這樣,發(fā)送NS消息的節(jié)點(diǎn)以及網(wǎng)絡(luò)內(nèi)其他節(jié)點(diǎn)就可以知道對(duì)方的地址配置信息,從而根據(jù)地址配置信息進(jìn)行鄰居表操作,如將對(duì)方的地址配置信息加入到自己的鄰居表中建立新的鄰居表項(xiàng),或修改原有鄰居表項(xiàng)等,完成動(dòng)態(tài)鄰居表學(xué)習(xí)。對(duì)于作為節(jié)點(diǎn)的終端設(shè)備,需要監(jiān)測(cè)是否存在增加或減少的鄰居表項(xiàng),并統(tǒng)計(jì)在節(jié)點(diǎn)維護(hù)的鄰居表上的鄰居表項(xiàng)的總數(shù)量。其中,終端設(shè)備可以是交換機(jī)、路由器等轉(zhuǎn)發(fā)設(shè)備,也可以是主機(jī)、手機(jī)等終端。S102、根據(jù)當(dāng)前鄰居表項(xiàng)數(shù)量與預(yù)設(shè)鄰居表項(xiàng)閾值的大小關(guān)系,縮短或增加所述當(dāng)前鄰居表項(xiàng)的維持時(shí)間。具體地,利用作為節(jié)點(diǎn)的終端設(shè)備統(tǒng)計(jì)到的當(dāng)前鄰居表項(xiàng)數(shù)量來調(diào)整所述當(dāng)前鄰居表項(xiàng)的維持時(shí)間。當(dāng)所述節(jié)點(diǎn)的當(dāng)前鄰居表項(xiàng)數(shù)量增加時(shí),將所述節(jié)點(diǎn)的當(dāng)前鄰居表項(xiàng)數(shù)量與預(yù)設(shè)鄰居表項(xiàng)閾值相比較,當(dāng)所述節(jié)點(diǎn)的當(dāng)前鄰居表項(xiàng)數(shù)量大于所述預(yù)設(shè)鄰居表項(xiàng)閾值時(shí),縮短所述節(jié)點(diǎn)的新申請(qǐng)表項(xiàng)和所述節(jié)點(diǎn)中已有表項(xiàng)的維持時(shí)間。
或者,當(dāng)所述節(jié)點(diǎn)的當(dāng)前鄰居表項(xiàng)數(shù)量減少時(shí),將所述節(jié)點(diǎn)的當(dāng)前鄰居表項(xiàng)數(shù)量與所述預(yù)設(shè)鄰居表項(xiàng)閾值相比較,當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量小于所述預(yù)設(shè)鄰居表項(xiàng)閾值時(shí),增加所述節(jié)點(diǎn)的新申請(qǐng)表項(xiàng)的維持時(shí)間。具體地,預(yù)設(shè)鄰居表項(xiàng)閾值可以根據(jù)實(shí)際需要或以往經(jīng)驗(yàn)進(jìn)行設(shè)定,通??梢允穷A(yù)設(shè)鄰居表項(xiàng)的數(shù)量或者當(dāng)前鄰居表項(xiàng)的數(shù)量占該鄰居表可以容納的鄰居表項(xiàng)的總數(shù)量的百分比來表示。S103、確定所述節(jié)點(diǎn)的當(dāng)前鄰居表中的各鄰居表項(xiàng)的存在時(shí)間是否超過所述各鄰居表項(xiàng)對(duì)應(yīng)的維持時(shí)間,如果是,則進(jìn)入S104,發(fā)送檢測(cè)信號(hào)至所述存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)。當(dāng)當(dāng)前鄰居表中的鄰居表項(xiàng)的狀態(tài)變?yōu)镾TALE時(shí),開始計(jì)算該狀態(tài)變?yōu)镾TABLE的鄰居表項(xiàng)的存在時(shí)間。如果此時(shí)有流量使用該狀態(tài)變?yōu)镾TABLE的鄰居表項(xiàng),則該鄰居表項(xiàng)的狀態(tài)會(huì)由STALE狀態(tài)遷移至DELAY,觸發(fā)延時(shí)一段時(shí)間后,遷移為PR0BE,節(jié)點(diǎn)發(fā)送NS消息至該鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)以重新確認(rèn)該鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)的鏈路層地址,如果在預(yù)設(shè)時(shí)間內(nèi)收到該鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)回應(yīng)的NA消息,則該鄰居表項(xiàng)的狀態(tài)遷移為REACHABLE。如果在可達(dá)時(shí)間ReachableTime內(nèi)沒有流量使用該鄰居表項(xiàng),該鄰居表項(xiàng)的狀態(tài)遷移為STALE,重新開始計(jì)算該鄰居表項(xiàng)的存在時(shí)間??蛇_(dá)時(shí)間ReachableTime是預(yù)設(shè)的鄰居表項(xiàng)可達(dá)狀態(tài)的時(shí)間,通常約為30s。當(dāng)然,由于惡意節(jié)點(diǎn)所請(qǐng)求生成的鄰居表項(xiàng)通常不會(huì)有用戶進(jìn)行實(shí)際使用,經(jīng)過ReachableTime時(shí)間之后該鄰居表項(xiàng)的狀態(tài)即會(huì)從REACHABLE變?yōu)镾TALE,因而,在實(shí)際使用時(shí)也可以從生成鄰居表項(xiàng)時(shí)開始計(jì)算存在時(shí)間,即計(jì)算鄰居表項(xiàng)的整個(gè)生存時(shí)間。當(dāng)某一個(gè)鄰居表項(xiàng)的存在時(shí)間超過所述維持時(shí)間,表明該鄰居表項(xiàng)長期處于STALE狀態(tài),即長時(shí)間無流量使用該鄰居表項(xiàng),則節(jié)點(diǎn)發(fā)送檢測(cè)信號(hào)至該鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)。檢測(cè)信號(hào)具體可以為NS消息。S105、確定是否在預(yù)設(shè)時(shí)間閾值內(nèi)接收到該鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)對(duì)所述檢測(cè)信號(hào)的響應(yīng),如果是,則進(jìn)入S106,增加該鄰居表項(xiàng)的維持時(shí)間并重新開始計(jì)算該鄰居表項(xiàng)的存在時(shí)間,否則進(jìn)入S107,將所述鄰居表項(xiàng)刪除。正常用戶終端(節(jié)點(diǎn))在接收到檢測(cè)信號(hào)時(shí),會(huì)發(fā)送作為回應(yīng)的NA消息至所述發(fā)出檢測(cè)信號(hào)的節(jié)點(diǎn)。如果在預(yù)設(shè)時(shí)間閾值內(nèi)接收到對(duì)所述檢測(cè)信號(hào)回應(yīng)的NA消息,表明仍有流量在使用該鄰居表項(xiàng),則將該鄰居表項(xiàng)的狀態(tài)遷移為REACHABLE,并增加該鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)的鄰居表項(xiàng)的維持時(shí)間。對(duì)于其他未涉及的已有鄰居表項(xiàng)的維持時(shí)間不做變更。如果在預(yù)設(shè)時(shí)間閾值內(nèi)未接收到該鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)回應(yīng)的NA消息,表明該鄰居表項(xiàng)為無效表項(xiàng),則刪除該無效的鄰居表項(xiàng)。其中,預(yù)設(shè)時(shí)間閾值可根據(jù)實(shí)際需要或以往經(jīng)驗(yàn)進(jìn)行設(shè)定。在增加了所述節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)的維持時(shí)間后,即重新開始計(jì)算該鄰居表項(xiàng)的存在時(shí)間,返回S103,確定所述節(jié)點(diǎn)的當(dāng)前鄰居表中的各鄰居表項(xiàng)的存在時(shí)間是否超過所述維持時(shí)間,當(dāng)該鄰居表項(xiàng)的存在時(shí)間超過所述維持時(shí)間時(shí),則進(jìn)入S104,發(fā)送檢測(cè)信號(hào)至所述存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)。對(duì)于正常用戶的鄰居表項(xiàng),只需要通過幾次檢測(cè)-回應(yīng)過程后,就可以將維持時(shí)間增大到較大的維持時(shí)間。而對(duì)于故障節(jié)點(diǎn)或者惡意節(jié)點(diǎn),由于不會(huì)回應(yīng)檢測(cè)信號(hào),在其鄰居表項(xiàng)的存在時(shí)間超過維持時(shí)間時(shí),即會(huì)被刪除。而且,通過S102的調(diào)整,越臨近額定的鄰居表項(xiàng)項(xiàng)數(shù)上限時(shí),各鄰居表項(xiàng)的維持時(shí)間越短,能夠迅速地刪除無效節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)。實(shí)施例二圖2是本實(shí)施例提供的鄰居表項(xiàng)的處理方法流程圖,如圖2所示,所述鄰居表項(xiàng)的處理方法包括:S201、設(shè)定N個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THyi=U 3,…,N,其中,TH1CTH2Cffl3〈…<THN,N為預(yù)設(shè)正整數(shù)。同樣地,預(yù)設(shè)鄰居表項(xiàng)閾值THi可以是預(yù)設(shè)鄰居表項(xiàng)的數(shù)量或者用當(dāng)前鄰居表項(xiàng)的數(shù)量占該鄰居表可以容納的鄰居表項(xiàng)的總數(shù)量的百分比來表示,且預(yù)設(shè)鄰居表項(xiàng)閾值可以根據(jù)實(shí)際需要和以往經(jīng)驗(yàn)進(jìn)行增減。當(dāng)然,預(yù)設(shè)鄰居表項(xiàng)閾值還可以針對(duì)鄰居表項(xiàng)數(shù)量的增減分開設(shè)置為不同的閾值,也就是說,鄰居表項(xiàng)數(shù)量增加時(shí)采用的閾值可以與鄰居表項(xiàng)數(shù)量減少時(shí)的不同。S202、節(jié)點(diǎn)統(tǒng)計(jì)當(dāng)前鄰居表中的當(dāng)前鄰居表項(xiàng)數(shù)量。S202中統(tǒng)計(jì)的過程與實(shí)施例一中SlOl相同,于此不再贅述。在此過程中,可以確定當(dāng)前鄰居表項(xiàng)數(shù)量M與所述N個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi的關(guān)系,即在TH^MCfflw中可以確定i的值,從而確定當(dāng)前鄰居表項(xiàng)數(shù)量M介于哪兩個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值之間,M為預(yù)設(shè)正整數(shù)。如果當(dāng)前鄰居表項(xiàng)數(shù)量增加,則進(jìn)入S203,否則,進(jìn)入S205。S203、判斷所述當(dāng)前鄰居表項(xiàng)數(shù)量是否超過下一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi+1,如果是,則進(jìn)入S204,縮短新申請(qǐng)表項(xiàng)的維持時(shí)間和該鄰居表中已有表項(xiàng)的維持時(shí)間。當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量增加至超過其下一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi+1時(shí),在當(dāng)前的維持時(shí)間的基礎(chǔ)上縮短該鄰居表中已有表項(xiàng)的維持時(shí)間和新申請(qǐng)表項(xiàng)的維持時(shí)間。新申請(qǐng)表項(xiàng)的維持時(shí)間是指節(jié)點(diǎn)分配給新增節(jié)點(diǎn)的維持時(shí)間,該維持時(shí)間會(huì)根據(jù)當(dāng)前鄰居表項(xiàng)數(shù)量進(jìn)行調(diào)整。也就是說,當(dāng)前鄰居表項(xiàng)數(shù)量處于不同的鄰居表項(xiàng)閾值區(qū)間時(shí),節(jié)點(diǎn)分配給新增節(jié)點(diǎn)的維持時(shí)間也有所不同,當(dāng)前鄰居表項(xiàng)數(shù)量越多,分配給新增節(jié)點(diǎn)的維持時(shí)間越短。可選地,縮短該鄰居表中已有表項(xiàng)的維持時(shí)間具體為將該鄰居表中已有表項(xiàng)剩余的維持時(shí)間減少一半,所述已有表項(xiàng)剩余的維持時(shí)間為節(jié)點(diǎn)分配給當(dāng)前已有表項(xiàng)的初始維持時(shí)間與已有表項(xiàng)生存時(shí)間的差值。縮短新申請(qǐng)表項(xiàng)的維持時(shí)間具體為將節(jié)點(diǎn)分配給新申請(qǐng)表項(xiàng)的初始維持時(shí)間減少一半。當(dāng)然,具體的維持時(shí)間的變化量可以根據(jù)實(shí)際老化速度的需要進(jìn)行設(shè)定,例如可以將節(jié)點(diǎn)分配給新申請(qǐng)表項(xiàng)的初始維持時(shí)間減少為原來的2/3、1/3等其他預(yù)定的值。S205、判斷所述當(dāng)前鄰居表項(xiàng)數(shù)量是否小于前一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi,如果是,則進(jìn)入S206,增加新申請(qǐng)表項(xiàng)的維持時(shí)間。當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量減少時(shí),將所述當(dāng)前鄰居表項(xiàng)數(shù)量與前一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi相比較,當(dāng)鄰居表項(xiàng)的總數(shù)量減少至小于其前一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi時(shí),在當(dāng)前的新申請(qǐng)表項(xiàng)的維持 時(shí)間的基礎(chǔ)上增加新申請(qǐng)表項(xiàng)的維持時(shí)間。
新申請(qǐng)表項(xiàng)的維持時(shí)間是指節(jié)點(diǎn)分配給新增節(jié)點(diǎn)的維持時(shí)間,該維持時(shí)間會(huì)根據(jù)當(dāng)前鄰居表項(xiàng)數(shù)量進(jìn)行調(diào)整。也就是說,當(dāng)前鄰居表項(xiàng)數(shù)量處于不同的鄰居表項(xiàng)閾值區(qū)間時(shí),節(jié)點(diǎn)分配給新增節(jié)點(diǎn)的維持時(shí)間也有所不同,當(dāng)前鄰居表項(xiàng)數(shù)量越小,分配給新增節(jié)點(diǎn)的維持時(shí)間越長??蛇x地,在增加新申請(qǐng)表項(xiàng)的維持時(shí)間之后,還包括:判斷增加后的所述新申請(qǐng)表項(xiàng)的維持時(shí)間是否超過預(yù)設(shè)的最大維持時(shí)間,如果超過,則將所述新申請(qǐng)表項(xiàng)的維持時(shí)間調(diào)整為最大維持時(shí)間。當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量減少至小于其前一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi時(shí),在當(dāng)前的新申請(qǐng)表項(xiàng)的維持時(shí)間的基礎(chǔ)上增加新申請(qǐng)表項(xiàng)的維持時(shí)間,并判斷增加后的所述新申請(qǐng)表項(xiàng)的維持時(shí)間是否超過鄰居表項(xiàng)的最大維持時(shí)間,如果是,則將所述新申請(qǐng)表項(xiàng)的維持時(shí)間調(diào)整為最大維持時(shí)間。對(duì)于已有表項(xiàng)的維持時(shí)間不做變更。S207、確定所述節(jié)點(diǎn)的當(dāng)前鄰居表中的各鄰居表項(xiàng)的存在時(shí)間是否超過所述各鄰居表項(xiàng)對(duì)應(yīng)的維持時(shí)間,如果是,則進(jìn)入S208,發(fā)送檢測(cè)信號(hào)至所述存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)。S207判斷過程與實(shí)施例一中S103相同,于此不再贅述。S209、確定是否在預(yù)設(shè)時(shí)間閾值內(nèi)接收到所述存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)對(duì)所述檢測(cè)信號(hào)的響應(yīng),如果是,則進(jìn)入S210,否則進(jìn)入S211,將所述存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)刪除。對(duì)于正常用戶終端在接收到檢測(cè)信號(hào)時(shí),會(huì)發(fā)送作為回應(yīng)的NA消息至所述發(fā)出所述檢測(cè)信號(hào)的節(jié)點(diǎn)。如果在預(yù)設(shè)時(shí)間閾值內(nèi)接收到所述存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)回應(yīng)的NA消息,表明仍有流量在使用該鄰居表項(xiàng),則將該鄰居表項(xiàng)的狀態(tài)遷移為REACHABLE,并進(jìn)入S210,增加該存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)對(duì)應(yīng)的維持時(shí)間。對(duì)于其他未涉及的已有鄰居表項(xiàng)的維持時(shí)間不做變更。
`
可選地,在S210增加該存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)的維持時(shí)間之后,還包括:判斷所述存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)的維持時(shí)間是否超過預(yù)設(shè)最大維持時(shí)間,如果超過,則將所述鄰居表項(xiàng)的維持時(shí)間調(diào)整為最大維持時(shí)間。如果在預(yù)設(shè)時(shí)間閾值內(nèi)未接收到所述存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)回應(yīng)的NA消息,表明該存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)為無效表項(xiàng),則刪除該存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)。舉個(gè)例子,如果一個(gè)設(shè)備容納鄰居表項(xiàng)的額定項(xiàng)數(shù)為A,設(shè)定預(yù)設(shè)鄰居表項(xiàng)閾值包括:1^=40%, TH2=50%, TH3=60%, TH4=70%, THs=75%, TH6=80%, TH7=85%, TH8=90%, TH9=95%。節(jié)點(diǎn)分配給新申請(qǐng)的鄰居表項(xiàng)的初始維持時(shí)間為8192秒,在鄰居表項(xiàng)的總數(shù)量小于40%A時(shí),對(duì)于新申請(qǐng)的或已有的鄰居表項(xiàng)初始的維持時(shí)間均為8192秒。隨著鄰居表項(xiàng)數(shù)量的增加,當(dāng)超過預(yù)設(shè)鄰居表項(xiàng)閾值THl時(shí),觸發(fā)原有鄰居表項(xiàng)剩余的維持時(shí)間減少一半,以及分配給新申請(qǐng)的維持時(shí)間減少一半。此時(shí),由于經(jīng)過了一段時(shí)間,原有鄰居表項(xiàng)已經(jīng)存在了,還剩下2000秒的維持時(shí)間,將其縮短到1000秒,對(duì)于新申請(qǐng)的鄰居表項(xiàng),將初始的維持時(shí)間縮短到4096秒。如果鄰居表項(xiàng)的數(shù)量繼續(xù)增加,當(dāng)超過下一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值TH2時(shí),則再將新申請(qǐng)鄰居表項(xiàng)的初始的維持時(shí)間減少一半為2048秒,以及將原有鄰居表項(xiàng)剩余的維持時(shí)間減少一半,如剩余800秒則縮短到400秒。依次類推,當(dāng)鄰居表項(xiàng)數(shù)量分別超過TH3,TH4, TH5, TH6, TH7, TH8, TH9時(shí),新申請(qǐng)的鄰居表項(xiàng)的初始的維持時(shí)間分別為1024,512,256,128,64,32,16 秒。如果某個(gè)鄰居表項(xiàng)的存在時(shí)間超過所述維持時(shí)間,節(jié)點(diǎn)對(duì)該存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)發(fā)起檢測(cè)后得到響應(yīng),則對(duì)該存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)的原維持時(shí)間增加一倍,但是增加后的維持時(shí)間不能超過最大維持時(shí)間,并重新開始計(jì)算該鄰居表項(xiàng)的存在時(shí)間。比如表項(xiàng)數(shù)量為上限的50%時(shí),一個(gè)鄰居表項(xiàng)創(chuàng)建后維持時(shí)間為2048秒,該鄰居表項(xiàng)超時(shí)后節(jié)點(diǎn)對(duì)該鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)(如某個(gè)用戶終端)發(fā)起檢測(cè),該鄰居表項(xiàng)對(duì)應(yīng)的用戶終端響應(yīng)了該檢測(cè),那么該鄰居表項(xiàng)的維持時(shí)間變?yōu)?096。如果4096秒后,終端用戶又一次響應(yīng)了檢測(cè),則維持時(shí)間增大到最長的8192秒,之后不再增長。假如存在網(wǎng)絡(luò)攻擊或者某臺(tái)網(wǎng)絡(luò)設(shè)備有故障,瞬間對(duì)同一個(gè)被請(qǐng)求節(jié)點(diǎn)申請(qǐng)了大量鄰居表項(xiàng),被請(qǐng)求節(jié)點(diǎn)在短時(shí)間內(nèi)的鄰居表項(xiàng)數(shù)量達(dá)到鄰居表項(xiàng)的預(yù)設(shè)閾值的95%以上,那么對(duì)于每個(gè)新申請(qǐng)的攻擊表項(xiàng)的維持時(shí)間只有16秒或更少,很快就可以超期,由于攻擊源不會(huì)響應(yīng)檢測(cè)消息,大量無效的鄰居表項(xiàng)就可以被及時(shí)刪除,能很好的保護(hù)鄰居表項(xiàng)數(shù)量不會(huì)超限。如果攻擊持續(xù)存在,正常的用戶表項(xiàng)在超過維持時(shí)間時(shí)接收到檢測(cè)信號(hào),并對(duì)該檢測(cè)信號(hào)進(jìn)行回應(yīng),被請(qǐng)求節(jié)點(diǎn)在接收到回應(yīng)后,增大該鄰居表項(xiàng)的維持時(shí)間。這樣,經(jīng)過多次對(duì)檢測(cè)信號(hào)進(jìn)行回應(yīng),維持時(shí)間可以增加到一個(gè)較大的值,只有攻擊的表項(xiàng)維持時(shí)間很短,不會(huì)對(duì)正常用戶造成頻繁檢測(cè)的壓力。由于大量無效表項(xiàng)被刪除,被請(qǐng)求節(jié)點(diǎn)的鄰居表項(xiàng)數(shù)量逐漸減少,當(dāng)鄰居表項(xiàng)的總數(shù)量小于TH9時(shí),增加新申請(qǐng)的鄰居表項(xiàng)的初始的維持時(shí)間為32秒,對(duì)于已有鄰居表項(xiàng)的維持時(shí)間不作變更。當(dāng)鄰居表項(xiàng)數(shù)量逐漸減少后,新申請(qǐng)的鄰居表項(xiàng)的初始的維持時(shí)間逐次增加一倍,當(dāng)維持時(shí)間增大到最長的8192秒后,不再增長。以上是對(duì)本發(fā)明所提供的鄰居表項(xiàng)的處理方法進(jìn)行的詳細(xì)描述,下面對(duì)本發(fā)明提供的鄰居表項(xiàng)的處理裝置進(jìn)行詳細(xì)描述。實(shí)施例三本發(fā)明提供的鄰居表項(xiàng)的處理裝置可以集成在終端設(shè)備上,所述終端設(shè)備可以是交換機(jī)、路由器等轉(zhuǎn)發(fā)設(shè)備,也可以是主機(jī)、手機(jī)等終端。圖3是本實(shí)施例提供的鄰居表項(xiàng)的處理裝置示意圖,如圖3所示,本發(fā)明的鄰居表項(xiàng)的處理裝置包括:統(tǒng)計(jì)單元10、調(diào)整單元20、檢測(cè)單元30、第一處理單元40和第二處理單元50。統(tǒng)計(jì)單元10用于統(tǒng)計(jì)當(dāng)前鄰居表中的當(dāng)前鄰居表項(xiàng)數(shù)量。鄰居表是一組有關(guān)單個(gè)鄰居的表項(xiàng),即為鄰居緩存表,這些鄰居接收到了最新的數(shù)據(jù)流。每個(gè)鄰居表項(xiàng)的信息包括:某個(gè)鄰居節(jié)點(diǎn)的鏈路層地址、指示鄰居節(jié)點(diǎn)是路由器還是主機(jī)的標(biāo)志、指向任何排隊(duì)等待完成地址解析的數(shù)據(jù)包的指針。鄰居表項(xiàng)還可以包括:鄰居不達(dá)檢測(cè)算法所使用的信息。該鄰居不達(dá)檢測(cè)算法所使用的信息可以包括:該鄰居表項(xiàng)對(duì)應(yīng)的鄰居節(jié)點(diǎn)的可達(dá)狀態(tài)、該鄰居表項(xiàng)對(duì)應(yīng)的鄰居節(jié)點(diǎn)的探測(cè)無應(yīng)答的次數(shù)以及向該鄰居表項(xiàng)對(duì)應(yīng)的鄰居節(jié)點(diǎn)發(fā)出下一次鄰居不達(dá)檢測(cè)的時(shí)間。具體地,在鄰居表的學(xué)習(xí)過程中,節(jié)點(diǎn)將自身的鏈路層地址、自身的IP地址、自身的節(jié)點(diǎn)名稱等地址配置信息通過ND協(xié)議中的NS消息發(fā)送給網(wǎng)絡(luò)內(nèi)的其他節(jié)點(diǎn)。接收到該NS消息的節(jié)點(diǎn)將自身的鏈路層地址、自身的IP地址、自身的節(jié)點(diǎn)名稱等配置信息通過ND協(xié)議中的NA消息返回給發(fā)送所述NS消息的節(jié)點(diǎn),這樣,所述發(fā)送NS消息的節(jié)點(diǎn)以及網(wǎng)絡(luò)內(nèi)其他節(jié)點(diǎn)就可以知道對(duì)方的地址配置信息,從而根據(jù)地址配置信息進(jìn)行鄰居表操作,如將對(duì)方的地址配置信息加入到自己的鄰居表中建立新的鄰居表項(xiàng),或修改原有鄰居表項(xiàng)等,完成動(dòng)態(tài)鄰居表學(xué)習(xí)。統(tǒng)計(jì)單元10監(jiān)測(cè)節(jié)點(diǎn)自身的鄰居表是否存在增加或減少的鄰居表項(xiàng),并統(tǒng)計(jì)在其鄰居表上的鄰居表項(xiàng)的總數(shù)量。調(diào)整單元20用于根據(jù)所述當(dāng)前鄰居表項(xiàng)數(shù)量與預(yù)設(shè)鄰居表項(xiàng)閾值的大小關(guān)系,縮短或增加所述當(dāng)前鄰居表項(xiàng)的維持時(shí)間。具體地,調(diào)整單元20利用統(tǒng)計(jì)單元10統(tǒng)計(jì)到的當(dāng)前鄰居表項(xiàng)數(shù)量來調(diào)整所述當(dāng)前鄰居表項(xiàng)的維持時(shí)間。當(dāng)統(tǒng)計(jì)單元10統(tǒng)計(jì)到所述當(dāng)前鄰居表項(xiàng)數(shù)量增加時(shí),調(diào)整單元20將所述當(dāng)前鄰居表項(xiàng)數(shù)量與預(yù)設(shè)鄰居表項(xiàng)閾值相比較,當(dāng)統(tǒng)計(jì)單元10統(tǒng)計(jì)的所述當(dāng)前鄰居表項(xiàng)數(shù)量大于預(yù)設(shè)鄰居表項(xiàng)閾值時(shí),則縮短新申請(qǐng)表項(xiàng)和已有表項(xiàng)的維持時(shí)間。或者,當(dāng)統(tǒng)計(jì)單元10統(tǒng)計(jì)到所述當(dāng)前鄰居表項(xiàng)數(shù)量減少時(shí),調(diào)整單元20將所述當(dāng)前鄰居表項(xiàng)數(shù)量與所述預(yù)設(shè)鄰居表項(xiàng)閾值相比較,當(dāng)統(tǒng)計(jì)單元10統(tǒng)計(jì)的所述當(dāng)前鄰居表項(xiàng)的總數(shù)量是否小于預(yù)設(shè)鄰居表項(xiàng)閾值時(shí),則增加新申請(qǐng)表項(xiàng)的維持時(shí)間。具體地,預(yù)設(shè)鄰居表項(xiàng)閾值可以根據(jù)實(shí)際需要或以往經(jīng)驗(yàn)進(jìn)行設(shè)定,通??梢允穷A(yù)設(shè)鄰居表項(xiàng)的數(shù)量或者當(dāng)前鄰居表項(xiàng)的數(shù)量占該鄰居表可以容納的鄰居表項(xiàng)的總數(shù)量的百分比來表示。檢測(cè)單元30用于確定所述當(dāng)前鄰居表中的各鄰居表項(xiàng)的存在時(shí)間是否超過所述各鄰居表項(xiàng)對(duì)應(yīng)的維持時(shí)間,如果是,檢測(cè)單元30發(fā)送檢測(cè)信號(hào)至所述存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn),如果在預(yù)設(shè)時(shí)間閾值內(nèi)接收到所述存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)對(duì)所述檢測(cè)信號(hào)的響應(yīng),則觸發(fā)第一處理單元40,否則觸發(fā)第二處理單元50。第一處理單元40用于在受到檢測(cè)單元30觸發(fā)時(shí),增加所述存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)的維持時(shí)間并重設(shè)該存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)的存在時(shí)間。第二處理單元50用于在受到檢測(cè)單元30觸發(fā)時(shí),刪除所述存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)。當(dāng)當(dāng)前鄰居表中的某個(gè)鄰居表項(xiàng)的狀態(tài)變?yōu)镾TALE時(shí),檢測(cè)單元30開始計(jì)算該鄰居表項(xiàng)的存在時(shí)間。如果此時(shí)有流量使用該鄰居表項(xiàng),則該鄰居表項(xiàng)的狀態(tài)會(huì)由STALE狀態(tài)遷移至DELAY,觸發(fā)延時(shí)一段時(shí)間后,遷移為PR0BE,檢測(cè)單元30向該鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)發(fā)出NS消息以重新確認(rèn)該鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)的鏈路層地址,如果在預(yù)設(shè)時(shí)間閾值內(nèi)收到該鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)發(fā)出的NA消息,將該鄰居表項(xiàng)的狀態(tài)遷移為REACHABLE,如果在可達(dá)時(shí)間ReachableTime時(shí)間內(nèi)沒有流量使用該鄰居表項(xiàng),狀態(tài)遷移為STALE,重新開始計(jì)算鄰居表項(xiàng)的存在時(shí)間??蛇_(dá)時(shí)間ReachableTime是預(yù)設(shè)的鄰居表項(xiàng)可達(dá)狀態(tài)的時(shí)間,通常約為30s。當(dāng)然,由于惡意節(jié)點(diǎn)所請(qǐng)求生成的鄰居表項(xiàng)通常不會(huì)有用戶進(jìn)行實(shí)際使用,經(jīng)過ReachableTime時(shí)間之后該鄰居表項(xiàng)的狀態(tài)即會(huì)從REACHABLE變?yōu)镾TALE,因而,在實(shí)際使用時(shí)也可以從生成鄰居表項(xiàng)時(shí)開始計(jì)算存在時(shí)間,即計(jì)算鄰居表項(xiàng)的整個(gè)生存時(shí)間。當(dāng)某一個(gè)鄰居表項(xiàng)的存在時(shí)間超過所述維持時(shí)間,表明該鄰居表項(xiàng)長期處于STALE狀態(tài),即長時(shí)間無流量使用該鄰居表項(xiàng),則檢測(cè)單元30發(fā)送檢測(cè)信號(hào)(如NS消息)至該鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn),并判斷是否在預(yù)設(shè)時(shí)間閾值內(nèi)接收到鄰居表項(xiàng)對(duì)所述檢測(cè)信號(hào)的響應(yīng)。對(duì)于正常用戶終端在接收到檢測(cè)信號(hào)時(shí),會(huì)發(fā)送作為回應(yīng)的NA消息至所述發(fā)出檢測(cè)信號(hào)的節(jié)點(diǎn)。如果在預(yù)設(shè)時(shí)間閾值內(nèi),檢測(cè)單元30能接收到對(duì)所述檢測(cè)信號(hào)回應(yīng)的NA消息,表明仍有流量在使用該鄰居表項(xiàng),則第一處理單元40將該鄰居表項(xiàng)的狀態(tài)遷移為REACHABLE,并增加該鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)的鄰居表項(xiàng)的維持時(shí)間。對(duì)于其他未涉及的已有鄰居表項(xiàng)的維持時(shí)間,第一處理單元40不做變更。如果在預(yù)設(shè)時(shí)間閾值內(nèi),檢測(cè)單元30未接收到回應(yīng)的NA消息,表明該鄰居表項(xiàng)為無效表項(xiàng),則觸發(fā)第二處理單元50刪除該無效的鄰居表項(xiàng)。其中,預(yù)設(shè)時(shí)間閾值可根據(jù)實(shí)際需要或以往經(jīng)驗(yàn)進(jìn)行設(shè)定。第一處理單元40在增加了所述節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)的維持時(shí)間后,即重新開始計(jì)算該鄰居表項(xiàng)的存在時(shí)間,返回檢測(cè)單元30,確定所述節(jié)點(diǎn)的當(dāng)前鄰居表中的各鄰居表項(xiàng)的存在時(shí)間是否超過所述維持時(shí)間,當(dāng)該鄰居表項(xiàng)的存在時(shí)間超過所述維持時(shí)間時(shí),則發(fā)送檢測(cè)信號(hào)至所述存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)。對(duì)于正常用戶的鄰居表項(xiàng),只需 要通過幾次檢測(cè)-回應(yīng)過程后,就可以將維持時(shí)間增大到較大的維持時(shí)間。而對(duì)于故障節(jié)點(diǎn)或者惡意節(jié)點(diǎn),由于不會(huì)回應(yīng)檢測(cè)信號(hào),在其鄰居表項(xiàng)的存在時(shí)間超過維持時(shí)間時(shí),即會(huì)被刪除。而且,通過調(diào)整單元20的調(diào)整,越臨近額定的鄰居表項(xiàng)項(xiàng)數(shù)上限時(shí),各鄰居表項(xiàng)的維持時(shí)間越短,能夠迅速地刪除無效節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)。實(shí)施例四圖5是本實(shí)施例提供的鄰居表項(xiàng)的處理裝置示意圖,如圖5所示,所述鄰居表項(xiàng)的處理裝置包括:統(tǒng)計(jì)單元10、調(diào)整單元20、檢測(cè)單元30、第一處理單元40、第二處理單元50、設(shè)置單元60、第一判斷單元70和第二判斷單元80,與實(shí)施例三區(qū)別在于,本實(shí)施例的處理裝置還包括設(shè)置單元60、第一判斷單元70和第二判斷單元80。設(shè)置單元60與統(tǒng)計(jì)單元10和調(diào)整單元20相連接,用于設(shè)定N個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值 THi, i=l, 2,3,…,N,其中,TH1<TH2<TH3<-<THn, N 為預(yù)設(shè)正整數(shù)。其中,預(yù)設(shè)鄰居表項(xiàng)閾值THi可以是預(yù)設(shè)鄰居表項(xiàng)的數(shù)量或者用當(dāng)前鄰居表項(xiàng)的數(shù)量占該鄰居表可以容納的鄰居表項(xiàng)的總數(shù)量的百分比來表示,且預(yù)設(shè)鄰居表項(xiàng)閾值可以根據(jù)實(shí)際需要和以往經(jīng)驗(yàn)進(jìn)行增減。具體地,統(tǒng)計(jì)單元10還用于確定統(tǒng)計(jì)到的所述當(dāng)前鄰居表項(xiàng)數(shù)量M與所述N個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi的關(guān)系,即在TH^MCfflw中可以確定i的值,從而確定當(dāng)前鄰居表項(xiàng)數(shù)量M介于哪兩個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值之間,M為預(yù)設(shè)正整數(shù)。根據(jù)統(tǒng)計(jì)單元10的統(tǒng)計(jì)結(jié)果,當(dāng)統(tǒng)計(jì)的所述當(dāng)前鄰居表項(xiàng)數(shù)量增加時(shí),調(diào)整單元20具體用于將所述當(dāng)前鄰居表項(xiàng)數(shù)量與下一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi+1相比較,判斷所述鄰居表項(xiàng)的總數(shù)量是否超過下一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi+1,如果是,則縮短新申請(qǐng)表項(xiàng)和已有表項(xiàng)的維持時(shí)間。具體地,調(diào)整單元20在當(dāng)前的維持時(shí)間的基礎(chǔ)上縮短已有表項(xiàng)和新申請(qǐng)表項(xiàng)的維持時(shí)間。新申請(qǐng)表項(xiàng)的維持時(shí)間是指節(jié)點(diǎn)分配給新增節(jié)點(diǎn)的維持時(shí)間,該維持時(shí)間會(huì)通過調(diào)整單元20根據(jù)當(dāng)前鄰居表項(xiàng)數(shù)量進(jìn)行調(diào)整。也就是說,當(dāng)前鄰居表項(xiàng)數(shù)量處于不同的鄰居表項(xiàng)閾值區(qū)間時(shí),節(jié)點(diǎn)分配給新增節(jié)點(diǎn)的維持時(shí)間也有所不同,當(dāng)前鄰居表項(xiàng)數(shù)量越多,調(diào)整單元20調(diào)整后分配給新增節(jié)點(diǎn)的維持時(shí)間越短。當(dāng)統(tǒng)計(jì)單元10統(tǒng)計(jì)的所述當(dāng)前鄰居表項(xiàng)數(shù)量減少時(shí),調(diào)整單元20則將所述當(dāng)前鄰居表項(xiàng)數(shù)量與前一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi相比較,判斷所述鄰居表項(xiàng)的總數(shù)量是否小于前一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THitl當(dāng)鄰居表項(xiàng)的總數(shù)量減少至小于其前一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi時(shí),調(diào)整單元20在當(dāng)前的新申請(qǐng)表項(xiàng)的維持時(shí)間的基礎(chǔ)上增加新申請(qǐng)表項(xiàng)的維持時(shí)間。對(duì)于已有表項(xiàng)的維持時(shí)間,調(diào)整單元20不做變更。新申請(qǐng)表項(xiàng)的維持時(shí)間是指節(jié)點(diǎn)分配給新增節(jié)點(diǎn)的維持時(shí)間,該維持時(shí)間會(huì)通過調(diào)整單元20根據(jù)當(dāng)前鄰居表項(xiàng)數(shù)量進(jìn)行調(diào)整。也就是說,當(dāng)前鄰居表項(xiàng)數(shù)量處于不同的鄰居表項(xiàng)閾值區(qū)間時(shí),節(jié)點(diǎn)分配給新增節(jié)點(diǎn)的維持時(shí)間也有所不同,當(dāng)前鄰居表項(xiàng)數(shù)量越小,調(diào)整單元20調(diào)整后分配給新增節(jié)點(diǎn)的維持時(shí)間越長。可選地,本發(fā)明實(shí)施例的處理裝置還可以包括:第一判斷單元70。第一判斷單元70與調(diào)整單元20相連接,用于判斷通過調(diào)整單元20增加后的所述新申請(qǐng)表項(xiàng)的維持時(shí)間是否超過預(yù)設(shè)的最大維持時(shí)間,如果超過,則觸發(fā)調(diào)整單元20將所述新申請(qǐng)表項(xiàng)的維持時(shí)間調(diào)整為最大維持時(shí)間。當(dāng)檢測(cè)單元30確定到鄰居表項(xiàng)的存在時(shí)間超過所述維持時(shí)間時(shí),發(fā)送檢測(cè)信號(hào)至所述當(dāng)前鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn),如果在預(yù)設(shè)時(shí)間閾值內(nèi)接收到所述節(jié)點(diǎn)對(duì)所述檢測(cè)信號(hào)的響應(yīng),則觸發(fā)第一處理單元40,否則觸發(fā)第二處理單元50。對(duì)于正常用戶終端在接收到檢測(cè)信號(hào)時(shí),會(huì)發(fā)送作為回應(yīng)的NA消息至所述發(fā)出所述檢測(cè)信號(hào)的節(jié)點(diǎn)。如果檢測(cè)單元30在預(yù)設(shè)時(shí)間閾值內(nèi)接收到所述存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)回應(yīng)的NA消息,表明仍有流量在使用該鄰居表項(xiàng),則將該鄰居表項(xiàng)的狀態(tài)遷移為REACHABLE,觸發(fā)第一處理單元40增加該鄰居表項(xiàng)對(duì)應(yīng)的維持時(shí)間。對(duì)于其他未涉及的已有鄰居表項(xiàng)的維持時(shí)間不做變更??蛇x地,本發(fā)明實(shí)施例的處理裝置還可以包括:第二判斷單元80。第二判斷單元80與第一處理單元40相連接,用于判斷第一處理單元40增加后的該節(jié)點(diǎn)對(duì)應(yīng)的當(dāng)前鄰居表項(xiàng)的維持時(shí)間是否超過預(yù)設(shè)的最大維持時(shí)間,如果超過,則觸發(fā)第一處理單元40將所述鄰居表項(xiàng)的維持時(shí)間調(diào)整為最大維持時(shí)間。如果檢測(cè)單元30在預(yù)設(shè)時(shí)間閾值內(nèi)未接收到所述存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)對(duì)應(yīng)的節(jié)點(diǎn)回應(yīng)的NA消息,表明該存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)為無效表項(xiàng),則觸發(fā)第二處理單元50刪除該存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)。本發(fā)明可以有效地避免以下幾種情形導(dǎo)致設(shè)備鄰居表項(xiàng)超限的情況:(I)在流動(dòng)性比較強(qiáng)的大型聚會(huì)上,有大量的觀眾終端在不同設(shè)備之間來回切換,申請(qǐng)IPv6地址而不老化;(2)存在網(wǎng)絡(luò)攻擊時(shí),不斷模擬各種IPv6地址申請(qǐng);(3)當(dāng)某些設(shè)備存在故障,不斷錯(cuò)誤地申請(qǐng)IPv6地址。對(duì)于這些情況產(chǎn)生的無用表項(xiàng),經(jīng)過本發(fā)明智能調(diào)整維持時(shí)間后,能夠迅速刪除掉無效的表項(xiàng)。例如,在大型聚會(huì)的場(chǎng)景下,很多客戶手持終端流動(dòng),申請(qǐng)IP而不主動(dòng)老化。表項(xiàng)數(shù)量會(huì)逐步增長,到60%到80%時(shí),表項(xiàng)只會(huì)維持十幾分鐘到幾分鐘,會(huì)逐步老化掉,不會(huì)影響到穩(wěn)定的IPv6地址。綜上所述,本發(fā)明提供的鄰居表項(xiàng)的處理方法及裝置,可以根據(jù)系統(tǒng)的壓力,智能調(diào)整表項(xiàng)的維持時(shí)間,對(duì)設(shè)備的表項(xiàng)資源進(jìn)行合理有效地保護(hù);不會(huì)明顯增大原有正??蛻舳说膲毫?。對(duì)于能夠響應(yīng)檢測(cè)的用戶,同樣進(jìn)行智能調(diào)整,只需要多回應(yīng)幾個(gè)消息,就可以恢復(fù)到正常狀態(tài),減少對(duì)這些客戶端的影響和資源壓力。實(shí)施例五圖5為本發(fā)明實(shí)施例的鄰居表項(xiàng)的處理裝置的結(jié)構(gòu)組成示意圖。本發(fā)明實(shí)施例的鄰居表項(xiàng)的處理裝置可包括:處理器501、存儲(chǔ)器502、系統(tǒng)總線503和通信接口 504。處理器501、存儲(chǔ)器502和通信接口 504之間通過系統(tǒng)總線503連接并完成相互間的通信。處理器501可能為單核或多核中央處理單元(Central Processing Unit,CPU),或者為特定集成電路(Application Specific Integrated Circuit, ASIC),或者為被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。存儲(chǔ)器502可以為高速RAM存儲(chǔ)器,也可以為非易失性存儲(chǔ)器(non-volatilememory),例如至少一個(gè)磁盤存儲(chǔ)器。存儲(chǔ)器502用于存放程序505。具體的,程序505中可以包括程序代碼,所述程序代碼包括計(jì)算機(jī)執(zhí)行指令。當(dāng)鄰居表項(xiàng)的處理裝置運(yùn)行時(shí),處理器501運(yùn)行程序505,以執(zhí)行以下指令:統(tǒng)計(jì)當(dāng)前鄰居表中的當(dāng)前鄰居表項(xiàng)數(shù)量;當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量增加時(shí),將所述當(dāng)前鄰居表項(xiàng)數(shù)量與預(yù)設(shè)鄰居表項(xiàng)閾值相比較,如果所述當(dāng)前鄰居表項(xiàng)數(shù)量大于所述預(yù)設(shè)鄰居表項(xiàng)閾值,縮短新申請(qǐng)表項(xiàng)和已有表項(xiàng)的維持時(shí)間;當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量減少時(shí),將所述當(dāng)前鄰居表項(xiàng)數(shù)量與所述預(yù)設(shè)鄰居表項(xiàng)閾值相比較,如果所述當(dāng)前鄰居表項(xiàng)數(shù)量小于所述預(yù)設(shè)鄰居表項(xiàng)閾值,增加新申請(qǐng)表項(xiàng)的維持時(shí)間;當(dāng)所述當(dāng)前鄰居表中有鄰居表項(xiàng)的存在時(shí)間超過所述維持時(shí)間時(shí),向所述存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)對(duì)應(yīng)的第一節(jié)點(diǎn)發(fā)送檢測(cè)信號(hào);如果在預(yù)設(shè)時(shí)間閾值內(nèi)接收到所述第一節(jié)點(diǎn)對(duì)所述檢測(cè)信號(hào)的響應(yīng),則增加該第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)的維持時(shí)間并重新開始計(jì)算該第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)的存在時(shí)間,否則,將該第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)刪除。具體地,鄰居表項(xiàng)的處理裝置還根據(jù)所述指令執(zhí)行上述圖1,2所示的通信方法,具體在此不再贅述。在上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。專業(yè)人員應(yīng)該還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。以上所述的具體實(shí)施方式
,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施方式
而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種鄰居表項(xiàng)的處理方法,其特征在于,所述方法包括: 統(tǒng)計(jì)當(dāng)前鄰居表中的當(dāng)前鄰居表項(xiàng)數(shù)量; 當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量增加時(shí),將所述當(dāng)前鄰居表項(xiàng)數(shù)量與預(yù)設(shè)鄰居表項(xiàng)閾值相比較,如果所述當(dāng)前鄰居表項(xiàng)數(shù)量大于所述預(yù)設(shè)鄰居表項(xiàng)閾值,縮短新申請(qǐng)表項(xiàng)和已有表項(xiàng)的維持時(shí)間;當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量減少時(shí),將所述當(dāng)前鄰居表項(xiàng)數(shù)量與所述預(yù)設(shè)鄰居表項(xiàng)閾值相比較,如果所述當(dāng)前鄰居表項(xiàng)數(shù)量小于所述預(yù)設(shè)鄰居表項(xiàng)閾值,增加新申請(qǐng)表項(xiàng)的維持時(shí)間; 當(dāng)所述當(dāng)前鄰居表中有鄰居表項(xiàng)的存在時(shí)間超過所述維持時(shí)間時(shí),向所述存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)對(duì)應(yīng)的第一節(jié)點(diǎn)發(fā)送檢測(cè)信號(hào); 如果在預(yù)設(shè)時(shí)間閾值內(nèi)接收到所述第一節(jié)點(diǎn)對(duì)所述檢測(cè)信號(hào)的響應(yīng),則增加該第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)的維持時(shí)間并重新開始計(jì)算該第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)的存在時(shí)間,否貝U,將該第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)刪除。
2.根據(jù)權(quán)利要求1所述的鄰居表項(xiàng)的處理方法,其特征在于,所述縮短已有表項(xiàng)的維持時(shí)間為:將所述已有表項(xiàng)所剩余的維持時(shí)間減少一半; 所述縮短新申請(qǐng)表項(xiàng)的維持時(shí)間為:將所述新申請(qǐng)表項(xiàng)的初始維持時(shí)間減少一半; 所述增加新申請(qǐng)表項(xiàng)的維持時(shí)間為:將所述新申請(qǐng)表項(xiàng)的初始維持時(shí)間增加一倍。
3.根據(jù)權(quán)利要求1所述的鄰居表項(xiàng)的處理方法,其特征在于,所述方法還包括: 設(shè)定N個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi, i=l,2,3,…,N,其中,TH1Cffl2Cffl3O" <THN,N為預(yù)設(shè)正整數(shù); 如果所述當(dāng)前鄰居表項(xiàng)數(shù)量M與所述N個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi的關(guān)系為:TH^MCTHw, M為正整數(shù),則 當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量增加時(shí),將所述當(dāng)前鄰居表項(xiàng)數(shù)量與下一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi+1相比較,當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量大于下一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi+1時(shí),縮短新申請(qǐng)表項(xiàng)和已有表項(xiàng)的維持時(shí)間; 當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量減少時(shí),將所述當(dāng)前鄰居表項(xiàng)數(shù)量與前一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi相比較,當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量小于前一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi時(shí),增加新申請(qǐng)表項(xiàng)的維持時(shí)間。
4.根據(jù)權(quán)利要求1所述的鄰居表項(xiàng)的處理方法,其特征在于,在所述增加該第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)的維持時(shí)間之后,還包括: 判斷增加后的該第一節(jié)點(diǎn)對(duì)應(yīng)的當(dāng)前鄰居表項(xiàng)的維持時(shí)間是否超過最大維持時(shí)間,如果是,則將該第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)的維持時(shí)間調(diào)整為最大維持時(shí)間。
5.根據(jù)權(quán)利要求1所述的鄰居表項(xiàng)的處理方法,其特征在于,在所述增加新申請(qǐng)表項(xiàng)的維持時(shí)間之后,還包括: 判斷增加后的所述新申請(qǐng)表項(xiàng)的維持時(shí)間是否超過最大維持時(shí)間,如果是,則將所述新申請(qǐng)表項(xiàng)的維持時(shí)間調(diào)整為最大維持時(shí)間。
6.根據(jù)權(quán)利要求1所述的鄰居表項(xiàng)的處理方法,其特征在于,所述鄰居表項(xiàng)的存在時(shí)間從所述鄰居表項(xiàng)的狀態(tài)變?yōu)镾TALE時(shí)開始計(jì)算;或者 所述鄰居表項(xiàng)的存在時(shí)間從生成所述鄰居表項(xiàng)時(shí)開始計(jì)算。
7.一種鄰居表項(xiàng)的處理裝置,其特征在于,所述裝置包括統(tǒng)計(jì)單元、調(diào)整單元、檢測(cè)單元、第一處理單元和第二處理單元,其中: 所述統(tǒng)計(jì)單元,用于統(tǒng)計(jì)當(dāng)前鄰居表中的當(dāng)前鄰居表項(xiàng)數(shù)量; 所述調(diào)整單元,用于當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量增加時(shí),將所述當(dāng)前鄰居表項(xiàng)數(shù)量與預(yù)設(shè)鄰居表項(xiàng)閾值相比較,如果所述當(dāng)前鄰居表項(xiàng)數(shù)量大于所述預(yù)設(shè)鄰居表項(xiàng)閾值,縮短新申請(qǐng)表項(xiàng)和已有表項(xiàng)的維持時(shí)間;或者 所述調(diào)整單元用于當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量減少時(shí),將所述當(dāng)前鄰居表項(xiàng)數(shù)量與所述預(yù)設(shè)鄰居表項(xiàng)閾值相比較,如果所述當(dāng)前鄰居表項(xiàng)數(shù)量小于所述預(yù)設(shè)鄰居表項(xiàng)閾值,增加新申請(qǐng)表項(xiàng)的維持時(shí)間; 所述檢測(cè)單元,用于確定所述當(dāng)前鄰居表中的各鄰居表項(xiàng)的存在時(shí)間是否超過所述維持時(shí)間,如果是,則發(fā)送檢測(cè)信號(hào)至所述存在時(shí)間超過所述維持時(shí)間的鄰居表項(xiàng)對(duì)應(yīng)的第一節(jié)點(diǎn),如果在預(yù)設(shè)時(shí)間閾值內(nèi)接收到所述第一節(jié)點(diǎn)對(duì)所述檢測(cè)信號(hào)的響應(yīng),則觸發(fā)所述第一處理單元,否則觸發(fā)所述第二處理單元; 所述第一處理單元,用于在受到所述檢測(cè)單元觸發(fā)時(shí),增加所述第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)的維持時(shí)間并重新開始計(jì)算該第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)的存在時(shí)間; 所述第二處理單元,用于在受到所述檢測(cè)單元觸發(fā)時(shí),刪除所述第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)。
8.根據(jù)權(quán)利要求7所述的鄰居表項(xiàng)的處理裝置,其特征在于,所述調(diào)整單元用于當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量增加并大于預(yù)設(shè)鄰居表項(xiàng)閾值時(shí),將所述已有表項(xiàng)所剩余的維持時(shí)間減少一半;或 所述調(diào)整單元用于當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量增加并大于預(yù)設(shè)鄰居表項(xiàng)閾值時(shí),將所述新申請(qǐng)表項(xiàng)的初始 維持時(shí)間減少一半;或 所述調(diào)整單元用于當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量減少并小于預(yù)設(shè)鄰居表項(xiàng)閾值時(shí),將所述新申請(qǐng)表項(xiàng)的初始維持時(shí)間增加一倍。
9.根據(jù)權(quán)利要求7所述的鄰居表項(xiàng)的處理裝置,其特征在于,所述處理裝置還包括設(shè)置單元,其中: 所述設(shè)置單元,與所述統(tǒng)計(jì)單元和調(diào)整單元相連接,用于設(shè)定N個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi, i=l,2,3,…,N,其中,TH1CTH2Cffl3O" <THN,N 為預(yù)設(shè)正整數(shù); 所述統(tǒng)計(jì)單元還用于確定統(tǒng)計(jì)到的所述當(dāng)前鄰居表項(xiàng)數(shù)量M與所述N個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi的關(guān)系為正整數(shù); 所述調(diào)整單元用于當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量增加時(shí),將所述當(dāng)前鄰居表項(xiàng)數(shù)量與下一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi+1相比較,當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量大于下一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi+1時(shí),縮短新申請(qǐng)表項(xiàng)和已有表項(xiàng)的維持時(shí)間; 或者 所述調(diào)整單元用于當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量減少時(shí),將所述當(dāng)前鄰居表項(xiàng)數(shù)量與前一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi相比較,當(dāng)所述當(dāng)前鄰居表項(xiàng)數(shù)量小于前一個(gè)預(yù)設(shè)鄰居表項(xiàng)閾值THi時(shí),增加新申請(qǐng)表項(xiàng)的維持時(shí)間。
10.根據(jù)權(quán)利要求7所述的鄰居表項(xiàng)的處理裝置,其特征在于,所述處理裝置還包括第一判斷單元,所述第一判斷單元與所述調(diào)整單元相連接,用于判斷經(jīng)過所述調(diào)整單元調(diào)整后的所述新申請(qǐng)表項(xiàng)的維持時(shí)間是否超過最大維持時(shí)間,如果是,則觸發(fā)所述調(diào)整單元將所述新申請(qǐng)表項(xiàng)的維持時(shí)間調(diào)整為最大維持時(shí)間。
11.根據(jù)權(quán)利要求7所述的鄰居表項(xiàng)的處理裝置,其特征在于,所述處理裝置還包括第二判斷單元,所述第二判斷單元與所述第一處理單元相連接,用于判斷經(jīng)過所述第一處理單元調(diào)整后的該第一節(jié)點(diǎn)對(duì)應(yīng)的當(dāng)前鄰居表項(xiàng)的維持時(shí)間是否超過最大維持時(shí)間,如果是,則觸發(fā)所述第一處理單元將該第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)的維持時(shí)間調(diào)整為最大維持時(shí)間。
12.根據(jù)權(quán)利要求7所述的鄰居表項(xiàng)的處理裝置,其特征在于,所述鄰居表項(xiàng)的存在時(shí)間從所述鄰居表項(xiàng)的狀態(tài)變?yōu)镾TALE時(shí)開始計(jì)算;或者 所述鄰居表項(xiàng)的存在 時(shí)間從生成所述鄰居表項(xiàng)時(shí)開始計(jì)算。
全文摘要
本發(fā)明涉及一種鄰居表項(xiàng)的處理方法及裝置,所述方法包括統(tǒng)計(jì)當(dāng)前鄰居表中的鄰居表項(xiàng)數(shù)量;當(dāng)鄰居表項(xiàng)數(shù)量增加時(shí),判斷是否大于預(yù)設(shè)鄰居表項(xiàng)閾值,如果是,則縮短新申請(qǐng)表項(xiàng)和已有表項(xiàng)的維持時(shí)間;當(dāng)鄰居表項(xiàng)數(shù)量減少時(shí),判斷是否小于預(yù)設(shè)鄰居表項(xiàng)閾值,如果是,則增加新申請(qǐng)表項(xiàng)的維持時(shí)間;當(dāng)當(dāng)前鄰居表中有鄰居表項(xiàng)的存在時(shí)間超時(shí),向該超時(shí)的鄰居表項(xiàng)對(duì)應(yīng)的第一節(jié)點(diǎn)發(fā)送檢測(cè)信號(hào);如果在預(yù)設(shè)時(shí)間閾值內(nèi)接收到所述第一節(jié)點(diǎn)對(duì)檢測(cè)信號(hào)的響應(yīng),則增加該第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)的維持時(shí)間,否則,將該第一節(jié)點(diǎn)對(duì)應(yīng)的鄰居表項(xiàng)刪除。本發(fā)明能夠自動(dòng)調(diào)整鄰居表項(xiàng)的維持時(shí)間,刪除無效的鄰居表項(xiàng),減少系統(tǒng)資源的壓力,提高資源的利用率。
文檔編號(hào)H04L29/06GK103078799SQ201310031938
公開日2013年5月1日 申請(qǐng)日期2013年1月28日 優(yōu)先權(quán)日2013年1月28日
發(fā)明者陳耕, 王鳳梅 申請(qǐng)人:華為技術(shù)有限公司