国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種快速更新地址解析協(xié)議的方法

      文檔序號(hào):7626258閱讀:173來(lái)源:國(guó)知局
      專利名稱:一種快速更新地址解析協(xié)議的方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),尤其涉及一種在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化的情況下快速更新地址解析協(xié)議(ARP,Address Resolution Protocol)的方法。
      背景技術(shù)
      在以太網(wǎng)(Ethernet)中,多個(gè)網(wǎng)絡(luò)設(shè)備通過(guò)交換機(jī)彼此相連并進(jìn)行通信。交換機(jī)是由一個(gè)標(biāo)準(zhǔn)化機(jī)制的生成樹(shù)協(xié)議(STP,Spanning Tree Protocol)來(lái)管理的。STP是一種二層管理協(xié)議,通過(guò)有選擇性地阻塞網(wǎng)絡(luò)冗余鏈路來(lái)達(dá)到消除網(wǎng)絡(luò)二層環(huán)路的目的,從而有效地抑制廣播風(fēng)暴的產(chǎn)生。與此同時(shí),STP還具備鏈路備份功能,當(dāng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化或網(wǎng)絡(luò)發(fā)生故障時(shí),可重新計(jì)算生成樹(shù)信息并設(shè)置相應(yīng)的交換機(jī)的端口狀態(tài)。
      另外,在以太網(wǎng)中,一個(gè)網(wǎng)絡(luò)設(shè)備要和另一個(gè)網(wǎng)絡(luò)設(shè)備進(jìn)行直接通信,除了需要知道目標(biāo)設(shè)備的網(wǎng)絡(luò)層邏輯地址外,例如IP地址,還要知道目標(biāo)設(shè)備的第二層物理地址,例如Mac地址,ARP協(xié)議的基本功能就是通過(guò)目標(biāo)設(shè)備的IP地址,查詢目標(biāo)設(shè)備的Mac地址,以保證通信的順利進(jìn)行。也就是說(shuō),ARP提供IP地址和硬件Mac地址之間的映射關(guān)系,這種映射關(guān)系可通過(guò)設(shè)備自身ARP報(bào)文的動(dòng)態(tài)學(xué)習(xí)來(lái)獲取。此外,對(duì)于當(dāng)前很多支持虛擬局域網(wǎng)(VLAN,Virtual LAN)的三層交換機(jī)來(lái)說(shuō),ARP表項(xiàng)還包括VLAN以及以太網(wǎng)端口等信息在內(nèi)的一些其它信息,也就是說(shuō),ARP表項(xiàng)還可以綁定交換機(jī)的端口信息。
      通常情況下,網(wǎng)絡(luò)拓?fù)浒l(fā)生變化時(shí),STP會(huì)重新計(jì)算生成樹(shù)信息,于是交換機(jī)端口的狀態(tài)會(huì)隨之改變,由于ARP表項(xiàng)和端口綁定,所以網(wǎng)絡(luò)設(shè)備學(xué)習(xí)到的動(dòng)態(tài)ARP表項(xiàng)會(huì)變成無(wú)效的,于是端口收到STP網(wǎng)絡(luò)拓?fù)涓淖兊南⒑?,?huì)將其它端口學(xué)習(xí)到的與狀態(tài)改變的端口相關(guān)的ARP表項(xiàng)全部刪除,同時(shí)將網(wǎng)絡(luò)拓?fù)涓淖兊南⑾蚱渌丝趥鞑ィ捎贏RP表項(xiàng)被刪除,所以會(huì)立即主動(dòng)觸發(fā)動(dòng)態(tài)ARP的重新學(xué)習(xí)和更新,然而其它端口隨后又傳來(lái)拓?fù)涓淖兊南?,剛剛學(xué)習(xí)到的ARP表項(xiàng)又被全部刪除,于是又會(huì)主動(dòng)觸發(fā)ARP的重新學(xué)習(xí)和更新,如此重復(fù)直至找到合適的交換機(jī)端口,建立重新穩(wěn)定的通信為止。
      于是,交換機(jī)在這個(gè)過(guò)程中會(huì)頻繁地收到拓?fù)涓淖兊南?,?dòng)態(tài)ARP的表項(xiàng)也會(huì)被頻繁刪除,由于動(dòng)態(tài)ARP的觸發(fā)和學(xué)習(xí)都必須由CPU完成,如果ARP表項(xiàng)被頻繁刪除,那么重新觸發(fā)和學(xué)習(xí)會(huì)占用交換機(jī)大量的CPU時(shí)間,而且受CPU處理能力的限制,在網(wǎng)絡(luò)比較復(fù)雜的情況下,可能無(wú)法在短時(shí)間內(nèi)學(xué)到所有的ARP表項(xiàng),導(dǎo)致網(wǎng)絡(luò)出現(xiàn)閃斷。另外,由于ARP的主動(dòng)請(qǐng)求是廣播報(bào)文,在復(fù)雜的網(wǎng)絡(luò)內(nèi),如果所有ARP都被刪除,在短時(shí)間內(nèi)會(huì)觸發(fā)大量的ARP請(qǐng)求,從而導(dǎo)致網(wǎng)絡(luò)內(nèi)ARP廣播報(bào)文的泛濫。

      發(fā)明內(nèi)容
      有鑒于此,本發(fā)明的目的在于提供一種快速更新ARP的方法,使用該方法可以改進(jìn)在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化或網(wǎng)絡(luò)發(fā)生故障時(shí)ARP的更新機(jī)制,節(jié)約CPU的時(shí)間,避免網(wǎng)絡(luò)中廣播報(bào)文的泛濫,從而提高ARP的收斂能力和網(wǎng)絡(luò)穩(wěn)定性。
      為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提供一種快速更新ARP的方法,在交換機(jī)的端口狀態(tài)發(fā)生變化時(shí),該方法包括A、保留端口狀態(tài)發(fā)生變化的交換機(jī)的ARP表項(xiàng);B、該交換機(jī)獲取與端口狀態(tài)變化相關(guān)的設(shè)備的Mac地址以及Mac地址所攜帶的該交換機(jī)的端口信息;C、該交換機(jī)根據(jù)Mac地址查找有相同Mac地址信息的ARP表項(xiàng),并用端口信息更新ARP表項(xiàng)的端口信息。
      所述步驟A可以進(jìn)一步包括
      將交換機(jī)上與端口狀態(tài)變化相關(guān)的ARP表項(xiàng)設(shè)為不可用。
      所述步驟B可以包括該交換機(jī)轉(zhuǎn)發(fā)以太網(wǎng)報(bào)文時(shí),獲取報(bào)文所攜帶的Mac地址以及所經(jīng)過(guò)的該交換機(jī)的端口信息。
      所述步驟B可以包括交換機(jī)以與端口狀態(tài)變化相關(guān)的設(shè)備的Mac地址為目的Mac地址,單播該目的Mac地址并采用廣播發(fā)送的方式主動(dòng)觸發(fā)ARP請(qǐng)求,并獲取應(yīng)答消息中的Mac地址和應(yīng)答消息所經(jīng)過(guò)的該交換機(jī)的端口信息。
      所述步驟A可以進(jìn)一步包括對(duì)該交換機(jī)上與端口狀態(tài)變化相關(guān)的ARP表項(xiàng)進(jìn)行標(biāo)記;所述交換機(jī)采用單播目的Mac地址、廣播發(fā)送的方式主動(dòng)觸發(fā)ARP請(qǐng)求,可以包括對(duì)有標(biāo)記的ARP表項(xiàng),交換機(jī)采用單播目的Mac地址、廣播發(fā)送的方式主動(dòng)觸發(fā)有標(biāo)記的ARP請(qǐng)求。
      所述步驟A還可以進(jìn)一步包括啟動(dòng)一個(gè)定時(shí)器;所述主動(dòng)觸發(fā)有標(biāo)記的ARP請(qǐng)求,包括以定時(shí)器的定時(shí)為時(shí)間間隔,分批主動(dòng)觸發(fā)有標(biāo)記的ARP請(qǐng)求。
      以上所述交換機(jī)可以為分布式交換機(jī)。
      所述交換機(jī)為分布式交換機(jī)時(shí),所述步驟A可以包括保留主控板上的ARP表項(xiàng),刪除接口板上的ARP表項(xiàng)和Mac表項(xiàng);所述步驟B可以包括B1、接口板轉(zhuǎn)發(fā)報(bào)文,對(duì)Mac進(jìn)行學(xué)習(xí),獲取報(bào)文的Mac地址以及端口信息并發(fā)送給主控板;B2、主控板更新Mac表,并通知ARP,ARP根據(jù)更新消息中攜帶的Mac地址信息查找有相同Mac地址的ARP表項(xiàng),并用端口信息更新ARP表項(xiàng)的端口信息。
      該方法還可以進(jìn)一步包括主控板更新ARP表項(xiàng)之后同步端口所在的接口板,接口板下發(fā)硬件Mac表并獲取Mac索引,該索引與主控板傳入的Mac索引值不一致時(shí),同步主控板更新,主控板收到接口板更新消息,修改ARP表項(xiàng)的Mac索引,并更新主機(jī)路由,同步所有接口板。
      另外,所述步驟A可以包括對(duì)主控板上與端口狀態(tài)改變相關(guān)的ARP表項(xiàng)進(jìn)行標(biāo)記,同時(shí)啟動(dòng)定時(shí)器;所述步驟B可以包括以定時(shí)器的定時(shí)為時(shí)間間隔,對(duì)主控板上有標(biāo)記的ARP表項(xiàng)采用單播目的Mac、廣播發(fā)送的方式主動(dòng)觸發(fā)ARP請(qǐng)求,接口板接到應(yīng)答消息后,獲取應(yīng)答消息中的Mac地址和端口信息;所述步驟C包括接口板根據(jù)應(yīng)答消息用端口信息更新接口板和主控板的ARP表項(xiàng)的端口信息,同時(shí)清除標(biāo)記。
      所述交換機(jī)還可以是集中式交換機(jī)。
      一種快速更新地址解析協(xié)議ARP表項(xiàng)的方法,在交換機(jī)的端口狀態(tài)發(fā)生變化時(shí),該方法包括a.保留交換機(jī)上與端口狀態(tài)變化相關(guān)的ARP表項(xiàng),并將ARP表項(xiàng)設(shè)為不可用;b、該交換機(jī)轉(zhuǎn)發(fā)以太網(wǎng)報(bào)文時(shí),獲取與端口狀態(tài)變化相關(guān)的設(shè)備的Mac地址以及Mac地址所攜帶的該交換機(jī)的端口信息;c、該交換機(jī)根據(jù)Mac地址查找有相同Mac地址信息的ARP表項(xiàng),并用Mac地址所攜帶的該交換機(jī)的端口信息更新該交換機(jī)的ARP表項(xiàng)的端口信息。
      一種快速更新地址解析協(xié)議ARP表項(xiàng)的方法,在交換機(jī)的端口狀態(tài)發(fā)生變化時(shí),該方法包括I、保留交換機(jī)上的與端口狀態(tài)變化相關(guān)的ARP表項(xiàng),并對(duì)ARP表項(xiàng)設(shè)置標(biāo)記,同時(shí)啟動(dòng)定時(shí)器;II、定時(shí)器超時(shí)時(shí),交換機(jī)采用單播目的Mac地址、廣播發(fā)送的方式主動(dòng)觸發(fā)有標(biāo)記的ARP請(qǐng)求,并獲取應(yīng)答ARP請(qǐng)求的消息所經(jīng)過(guò)的該交換機(jī)的端口信息;III、交換機(jī)根據(jù)目的Mac地址查找有相同Mac地址信息的ARP表項(xiàng),并用Mac地址所攜帶的該交換機(jī)的端口信息更新交換機(jī)的ARP表項(xiàng)的端口信息。
      從以上技術(shù)方案可以看到,本發(fā)明所提供的一種快速更新ARP的方法具有以下有益效果1、不直接刪除動(dòng)態(tài)ARP表項(xiàng),避免短時(shí)問(wèn)觸發(fā)大量的ARP請(qǐng)求所造成的網(wǎng)絡(luò)內(nèi)廣播報(bào)文的泛濫;2、通過(guò)Mac學(xué)習(xí)更新ARP表項(xiàng),省略了主動(dòng)觸發(fā)ARP請(qǐng)求及接收ARP應(yīng)答的處理流程,節(jié)約了CPU時(shí)間,并且Mac學(xué)習(xí)能力要強(qiáng)于ARP的學(xué)習(xí)能力,因此相比于ARP的主動(dòng)觸發(fā)請(qǐng)求,提高了更新效率和ARP的收斂能力,對(duì)于網(wǎng)絡(luò)閃斷的問(wèn)題也有所緩解;3、對(duì)于不能通過(guò)Mac學(xué)習(xí)更新的ARP表項(xiàng),采用單播目的Mac、廣播發(fā)送的方式進(jìn)行請(qǐng)求,避免廣播報(bào)文泛濫。


      圖1是根據(jù)本發(fā)明實(shí)施例一網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時(shí)在分布式交換機(jī)上對(duì)原有ARP表項(xiàng)的處理流程圖;圖2是根據(jù)本發(fā)明實(shí)施例一在分布式交換機(jī)上通過(guò)Mac學(xué)習(xí)來(lái)更新ARP的操作流程圖;圖3是根據(jù)本發(fā)明實(shí)施例一在分布式交換機(jī)上通過(guò)Mac學(xué)習(xí)來(lái)更新ARP的實(shí)現(xiàn)示意圖;圖4是根據(jù)本發(fā)明實(shí)施例一在分布式交換機(jī)上不通過(guò)Mac學(xué)習(xí)來(lái)更新ARP的操作流程圖;圖5是根據(jù)本發(fā)明實(shí)施例二網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時(shí)在分布式交換機(jī)上更新ARP的操作流程圖;圖6是根據(jù)本發(fā)明實(shí)施例三網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時(shí)在集中式交換機(jī)上更新ARP的操作流程圖。
      具體實(shí)施例方式
      為了使本發(fā)明的優(yōu)點(diǎn)和特征更加清楚明白,下面結(jié)合附圖及示例性實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
      當(dāng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化或網(wǎng)絡(luò)發(fā)生故障時(shí),STP重新計(jì)算生成樹(shù)信息并修改端口狀態(tài),端口狀態(tài)變化后,必然引起與之相關(guān)的ARP的變化,現(xiàn)有技術(shù)對(duì)此的處理是刪除所有與端口狀態(tài)改變相關(guān)的ARP表項(xiàng),ARP表項(xiàng)刪除后,會(huì)觸發(fā)動(dòng)態(tài)ARP的重新學(xué)習(xí)和更新,這種做法會(huì)占用交換機(jī)大量的CPU時(shí)間,并容易產(chǎn)生網(wǎng)絡(luò)中廣播報(bào)文的泛濫和網(wǎng)絡(luò)閃斷。對(duì)此,本發(fā)明不直接刪除動(dòng)態(tài)ARP表項(xiàng),只將ARP表項(xiàng)的出端口信息設(shè)為無(wú)效值,同時(shí)將ARP表項(xiàng)設(shè)為不可用;在二層Mac地址學(xué)習(xí)的同時(shí),查找是否具有相同的VLAN及Mac信息的ARP表項(xiàng),并根據(jù)Mac表項(xiàng)的端口信息更新ARP表項(xiàng)的出端口;對(duì)于不能通過(guò)Mac學(xué)習(xí)更新的ARP表項(xiàng),仍采用動(dòng)態(tài)ARP學(xué)習(xí)的方式更新。
      下面分別以網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時(shí),本發(fā)明所提供的ARP的更新方法在分布式交換機(jī)和集中式交換機(jī)的具體實(shí)現(xiàn)為例對(duì)本發(fā)明作詳細(xì)的說(shuō)明。
      首先,描述本發(fā)明的ARP更新在分布式交換機(jī)的具體實(shí)現(xiàn)。分布式交換機(jī)的單板包括主控板、接口板、背板等,其中主控板保留全局的所有IP地址、ARP表項(xiàng)、VLAN、Mac表項(xiàng)等信息,而接口板只保留其中的一部分信息。由于該實(shí)施例中采用的交換機(jī)是分布式交換機(jī),ARP協(xié)議在此交換機(jī)上的處理是接口板完成ARP報(bào)文的處理及動(dòng)態(tài)ARP的學(xué)習(xí),學(xué)習(xí)之后下發(fā)硬件Mac表以獲取Mac表索引,然后同步主控板;主控板收到接口板同步消息之后更新ARP表,并根據(jù)ARP表的IP地址、VLAN信息、端口信息、Mac索引等生成主機(jī)路由,然后廣播到所有接口板,接口板收到此消息后將主機(jī)路由下發(fā)硬件,于是就可以實(shí)現(xiàn)網(wǎng)絡(luò)通信。
      實(shí)施例一參見(jiàn)圖1,當(dāng)發(fā)生網(wǎng)絡(luò)拓?fù)涓淖儠r(shí),本發(fā)明首先會(huì)對(duì)現(xiàn)有的ARP做如下處理步驟101、主控板上STP重新計(jì)算生成樹(shù)信息并修改交換機(jī)的端口狀態(tài),然后將此端口狀態(tài)改變的消息通知給所有與此端口相關(guān)的ARP;步驟102、主控板上的ARP收到端口狀態(tài)改變的消息后,遍歷所有的動(dòng)態(tài)ARP表項(xiàng),將與此端口相關(guān)的ARP表項(xiàng)的出端口設(shè)為無(wú)效值,表項(xiàng)屬性設(shè)為不可用,同時(shí)廣播刪除主機(jī)路由的消息,接口板收到刪除消息后下發(fā)硬件刪除主機(jī)路由;步驟103、主控板廣播刪除與端口狀態(tài)改變相關(guān)的ARP表項(xiàng)的消息,接口板收到該消息之后刪除與此端口相關(guān)的ARP表項(xiàng),同時(shí)下發(fā)硬件刪除Mac表;這一步驟之后,接口板上的ARP表項(xiàng)被刪除,而主控板上還保有ARP表項(xiàng)。
      步驟104、STP通知?jiǎng)h除所有與此端口相關(guān)的Mac表項(xiàng)。
      從上述步驟可以看到,本發(fā)明不同于現(xiàn)有技術(shù)的是,本發(fā)明不刪除主控板上的ARP,而只是刪除接口板上的ARP表項(xiàng)。這樣做的目的是避免刪除所有的ARP引起大量ARP的觸發(fā)請(qǐng)求。
      刪除接口板上的ARP表項(xiàng)以后,主控板上的ARP表項(xiàng)也是不可用的,所以需要重新學(xué)習(xí)ARP以獲得主機(jī)路由。于是,參見(jiàn)圖2和圖3,本發(fā)明通過(guò)Mac學(xué)習(xí)來(lái)更新ARP,具體操作步驟如下步驟201、雖然刪除了接口板上的ARP和Mac表項(xiàng),但是網(wǎng)絡(luò)上的流量還在,于是接口板會(huì)繼續(xù)轉(zhuǎn)發(fā)以太網(wǎng)報(bào)文,轉(zhuǎn)發(fā)的以太網(wǎng)報(bào)文會(huì)攜帶源Mac地址和源IP地址,并且會(huì)在經(jīng)過(guò)交換機(jī)的端口時(shí)攜帶端口信息,在轉(zhuǎn)發(fā)時(shí),由于接口板Mac表項(xiàng)被刪除,所以會(huì)觸發(fā)Mac進(jìn)行學(xué)習(xí),此時(shí)如果發(fā)現(xiàn)Mac表項(xiàng)為新表項(xiàng)或者有修改,則發(fā)送消息給主控板以通知主控板更新,并在消息中攜帶新的Mac表索引信息(圖3所示的過(guò)程1);步驟202、主控板收到接口板發(fā)來(lái)的更新消息后,更新主控板上的Mac表項(xiàng),同時(shí)通知主控板上的ARP進(jìn)行更新;
      步驟203、主控板上的ARP收到更新消息后,根據(jù)此消息中的VLAN和Mac地址信息以及端口信息,查找所有相應(yīng)的ARP表項(xiàng),并更新這些所有相應(yīng)ARP表項(xiàng)的出端口及Mac索引信息;于是在網(wǎng)絡(luò)拓?fù)涓淖儠r(shí)設(shè)為無(wú)效的出端口以及表項(xiàng)就被更新掉,更新之后的ARP就可以創(chuàng)建主機(jī)路由,網(wǎng)絡(luò)就可以正常通信了。
      步驟204、在主控板上,ARP根據(jù)主控板上原來(lái)所保有的IP、VLAN信息及新獲取的端口、Mac索引信息創(chuàng)建主機(jī)路由,并同步所有的接口板,接口板將此主機(jī)路由下發(fā)硬件(圖3所示的過(guò)程2)。
      這樣在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時(shí),ARP的更新就完成了。
      特別地,在步驟203中,主控板更新ARP表項(xiàng)之后,同步接口板,接口板下發(fā)硬件Mac表并獲取Mac表索引(圖3所示的過(guò)程3),并判斷此索引值是否與主控板傳給接口板的Mac索引值一致,如果不一致則仍需對(duì)主控板進(jìn)行更新(圖3所示的過(guò)程4),主控板收到接口板的更新消息后,修改ARP表項(xiàng)的Mac索引,并更新主機(jī)路由,同步所有接口板(圖3所示的過(guò)程5);如果一致,則可以直接執(zhí)行步驟204。
      另外,在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)改變,STP修改端口狀態(tài)后,接口板底層主機(jī)路由被刪除,這時(shí)有可能發(fā)生無(wú)法通過(guò)Mac學(xué)習(xí)來(lái)更新ARP的情況,此時(shí),仍然采用ARP主動(dòng)觸發(fā)的方式進(jìn)行更新,但是不同于現(xiàn)有技術(shù)主動(dòng)觸發(fā)ARP請(qǐng)求、ARP廣播報(bào)文的方式,而是采用單播目的Mac地址的方式,這種情況下的處理方式參見(jiàn)圖4,具體的操作過(guò)程如下步驟401、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)改變時(shí),接口板底層主機(jī)路由已經(jīng)被刪除,這時(shí)如果不能通過(guò)觸發(fā)Mac學(xué)習(xí)來(lái)更新ARP的話,那么接口板會(huì)上送主控板CPU觸發(fā)ARP請(qǐng)求;步驟402、因?yàn)橹骺匕迳系腁RP保留有Mac地址,所以觸發(fā)ARP請(qǐng)求時(shí)以此為單播Mac為目的Mac地址,并采用廣播發(fā)送的方式;由于ARP請(qǐng)求時(shí)廣播的不是廣播地址,而是Mac地址,所以網(wǎng)絡(luò)中與此Mac地址無(wú)關(guān)的設(shè)備會(huì)過(guò)濾掉這個(gè)廣播,不會(huì)造成CPU的負(fù)擔(dān),也避免網(wǎng)絡(luò)內(nèi)廣播報(bào)文的泛濫。
      步驟403、接口板收到ARP的應(yīng)答后,根據(jù)應(yīng)答消息分別更新接口板及主控板ARP的表項(xiàng),創(chuàng)建相應(yīng)主機(jī)路由并下發(fā)接口板硬件。
      通過(guò)以上步驟,就可以實(shí)現(xiàn)在不能通過(guò)Mac學(xué)習(xí)更新ARP的情況下,采用單播目的Mac廣播發(fā)送的方式實(shí)現(xiàn)ARP的更新。
      從以上描述可以看出,本發(fā)明所提供的方法在發(fā)生網(wǎng)絡(luò)拓?fù)渥兓瘯r(shí),不刪除分布式交換機(jī)主控板上的ARP,只刪掉接口板上的ARP,并且通過(guò)Mac學(xué)習(xí)來(lái)更新ARP,對(duì)于不能通過(guò)Mac學(xué)習(xí)更新的ARP表項(xiàng),采用單播目的Mac廣播發(fā)送的方式進(jìn)行更新,從而節(jié)約CPU的時(shí)間,避免廣播報(bào)文的泛濫。
      實(shí)施例二以上描述了網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)變化時(shí)通過(guò)Mac學(xué)習(xí)更新ARP的情況,即不刪除主控板上的ARP表項(xiàng),僅將其修改為不可用,而刪除接口板上的ARP表項(xiàng),并且通過(guò)Mac學(xué)習(xí)更新ARP表項(xiàng)。然而,本發(fā)明也可以采用另外一種處理方式,即對(duì)主控板和接口板ARP表項(xiàng)都不作修改和刪除,也不刪除底層主機(jī)路由,而是根據(jù)交換機(jī)的能力分批發(fā)起ARP的主動(dòng)觸發(fā)請(qǐng)求來(lái)完成網(wǎng)絡(luò)拓?fù)涓淖儠r(shí)ARP的更新,其具體的操作流程參見(jiàn)圖5,操作步驟如下步驟501、當(dāng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時(shí),在主控板上對(duì)STP狀態(tài)改變的端口對(duì)應(yīng)的ARP表項(xiàng)進(jìn)行標(biāo)記,同時(shí)啟動(dòng)一個(gè)定時(shí)器;在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時(shí),如果所有與端口狀態(tài)改變相關(guān)的ARP表項(xiàng)同時(shí)主動(dòng)觸發(fā)ARP請(qǐng)求,那么交換機(jī)的CPU能力有限,不能同時(shí)處理這么多的請(qǐng)求,容易造成網(wǎng)絡(luò)閃斷和數(shù)據(jù)包的丟失,于是這里設(shè)置一個(gè)定時(shí)器,定時(shí)器的作用就是在ARP表項(xiàng)較多的情況下,避免所有與端口狀態(tài)改變相關(guān)的ARP表項(xiàng)同時(shí)主動(dòng)觸發(fā),而是在每次定時(shí)器超時(shí)時(shí),根據(jù)交換機(jī)的能力主動(dòng)觸發(fā)一定數(shù)量的ARP請(qǐng)求。
      步驟502、定時(shí)器超時(shí)時(shí),在主控板上遍歷ARP表項(xiàng),對(duì)有標(biāo)記的ARP表項(xiàng)主動(dòng)觸發(fā)ARP請(qǐng)求,ARP請(qǐng)求采用單播目的Mac,廣播發(fā)送的方式;
      該步驟就是在定時(shí)器超時(shí)時(shí),對(duì)有標(biāo)記的ARP主動(dòng)觸發(fā)一定數(shù)量的ARP請(qǐng)求,并且由于并沒(méi)有刪除ARP表項(xiàng)和Mac表項(xiàng),所以該請(qǐng)求可以采取單播目的Mac地址,廣播發(fā)送的方式。
      步驟503、接口板接到ARP的應(yīng)答后,根據(jù)應(yīng)答消息分別更新接口板及主控板的ARP表項(xiàng),同時(shí)更新主機(jī)路由,并清除標(biāo)記。
      這樣,在網(wǎng)絡(luò)拓?fù)浒l(fā)生變化時(shí),整個(gè)ARP更新的過(guò)程就結(jié)束了。
      以上以ARP更新在分布式交換機(jī)上的實(shí)現(xiàn)為例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,下面再描述一下本發(fā)明提供的ARP更新方法在集中式交換機(jī)上的具體實(shí)現(xiàn)。
      實(shí)施例三集中式交換機(jī)不同于分布式交換機(jī)之處在于集中式交換機(jī)中不分主控板和接口板,就是一塊板子,于是ARP更新在集中式交換機(jī)上的實(shí)現(xiàn)可以省略主控板與接口板之間的通訊,所以更新更為簡(jiǎn)單,參見(jiàn)圖6,當(dāng)發(fā)生網(wǎng)絡(luò)拓?fù)渥兓瘯r(shí),具體的ARP更新步驟如下步驟601、STP重新計(jì)算生成樹(shù)信息并修改交換機(jī)的端口狀態(tài),然后,將此端口狀態(tài)改變的消息通知給ARP;步驟602、ARP收到這個(gè)消息后,遍歷所有動(dòng)態(tài)ARP表項(xiàng),將與此端口相關(guān)的ARP表項(xiàng)的出端口設(shè)為無(wú)效,表項(xiàng)屬性設(shè)為不可用,同時(shí)刪除主機(jī)路由;步驟603、STP通知Mac刪除所有與此端口相關(guān)的Mac表項(xiàng);由于刪除了Mac表項(xiàng),所以交換機(jī)在繼續(xù)轉(zhuǎn)發(fā)以太網(wǎng)報(bào)文時(shí)Mac會(huì)學(xué)習(xí),由于沒(méi)有刪除ARP表項(xiàng),所以可以通過(guò)Mac學(xué)習(xí)來(lái)更新ARP表項(xiàng)。
      步驟604、交換機(jī)繼續(xù)轉(zhuǎn)發(fā)以太網(wǎng)報(bào)文,Mac對(duì)報(bào)文的源Mac地址進(jìn)行學(xué)習(xí),并在經(jīng)過(guò)交換機(jī)端口時(shí)攜帶所經(jīng)過(guò)的端口信息,如果發(fā)現(xiàn)ARP表項(xiàng)中的Mac表項(xiàng)為新表項(xiàng)或者有修改,例如發(fā)現(xiàn)端口信息發(fā)生變化,則更新Mac表項(xiàng),并通知ARP進(jìn)行更新;步驟605、ARP收到更新消息后,根據(jù)此消息中的VLAN及Mac地址信息查找所有含有相同VLAN和Mac地址信息的ARP表項(xiàng),并利用Mac地址所攜帶的交換機(jī)的端口信息更新ARP表項(xiàng)的出端口信息;于是,ARP表項(xiàng)就更新完畢,ARP表項(xiàng)更新之后,會(huì)根據(jù)原有的IP、VLAN、Mac信息和新更新的端口信息創(chuàng)建主機(jī)路由,并下發(fā)硬件。
      當(dāng)然,在集中式交換機(jī)上同樣會(huì)發(fā)生無(wú)法通過(guò)Mac學(xué)習(xí)來(lái)更新ARP的情況,這時(shí),主動(dòng)觸發(fā)ARP請(qǐng)求,由于沒(méi)有刪除ARP表項(xiàng)只是將其設(shè)為不可用,出端口信息設(shè)為無(wú)效,所以ARP表項(xiàng)中保留了Mac地址,所以觸發(fā)ARP請(qǐng)求時(shí),以此單播Mac地址為目的Mac地址,并采用廣播發(fā)送的方式,收到ARP應(yīng)答時(shí),ARP的應(yīng)答消息會(huì)在經(jīng)過(guò)交換機(jī)端口時(shí),攜帶該端口信息,于是就可以根據(jù)這個(gè)端口信息更新ARP表項(xiàng),于是ARP表項(xiàng)就可以創(chuàng)建相應(yīng)的主機(jī)路由并下發(fā)硬件。
      另外,在集中式交換機(jī)上,無(wú)論是否可以采用Mac學(xué)習(xí)來(lái)更新ARP表項(xiàng),都可以采用ARP主動(dòng)觸發(fā)請(qǐng)求,單播目的Mac地址并廣播發(fā)送的方式來(lái)更新ARP表項(xiàng),具體實(shí)現(xiàn)過(guò)程與實(shí)施例二中描述的分布式交換機(jī)上的類似網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時(shí),對(duì)與交換機(jī)上端口狀態(tài)改變相對(duì)應(yīng)的ARP表項(xiàng)進(jìn)行標(biāo)記,同時(shí)啟動(dòng)一個(gè)定時(shí)器,定時(shí)器超時(shí)時(shí),根據(jù)交換機(jī)的能力主動(dòng)觸發(fā)一定數(shù)量的ARP請(qǐng)求,ARP請(qǐng)求仍然采用單播目的Mac地址并廣播發(fā)送的方式,收到ARP應(yīng)答消息之后,根據(jù)應(yīng)答消息中攜帶的交換機(jī)的端口信息更新ARP表項(xiàng)的出端口信息,于是ARP表項(xiàng)就可以創(chuàng)建相應(yīng)的主機(jī)路由并下發(fā)硬件了。
      以上分別以ARP更新在分布式交換機(jī)和集中式交換機(jī)上的實(shí)現(xiàn)為例,對(duì)本發(fā)明作了詳細(xì)的描述,從以上描述可以看到,無(wú)論是在哪種交換機(jī)上更新ARP,都是不刪除ARP表項(xiàng)而是對(duì)其進(jìn)行保留,于是可以避免頻繁刪除ARP給交換機(jī)CPU帶來(lái)的負(fù)擔(dān),另外,采用Mac學(xué)習(xí)更新ARP表項(xiàng),或者在不能通過(guò)Mac學(xué)習(xí)更新的情況下,采用單播目的Mac、廣播發(fā)送的方式主動(dòng)觸發(fā)ARP請(qǐng)求又可以避免ARP廣播報(bào)文的泛濫。
      以上雖然以網(wǎng)絡(luò)拓?fù)渥兓瘯r(shí)ARP更新分別在分布式交換機(jī)和集中式交換機(jī)上的具體實(shí)現(xiàn)為例,對(duì)本發(fā)明所提供的方法進(jìn)行了詳細(xì)的說(shuō)明,然而,本發(fā)明所提供的方法同樣適用于其它情況。
      權(quán)利要求
      1.一種快速更新地址解析協(xié)議ARP表項(xiàng)的方法,其特征在于,在交換機(jī)的端口狀態(tài)發(fā)生變化時(shí),該方法包括A、保留端口狀態(tài)發(fā)生變化的交換機(jī)的ARP表項(xiàng);B、該交換機(jī)獲取與端口狀態(tài)變化相關(guān)的設(shè)備的Mac地址以及Mac地址所攜帶的該交換機(jī)的端口信息;C、該交換機(jī)根據(jù)Mac地址查找有相同Mac地址信息的ARP表項(xiàng),并用端口信息更新ARP表項(xiàng)的端口信息。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A進(jìn)一步包括將交換機(jī)上與端口狀態(tài)變化相關(guān)的ARP表項(xiàng)設(shè)為不可用。
      3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟B包括該交換機(jī)轉(zhuǎn)發(fā)以太網(wǎng)報(bào)文時(shí),獲取報(bào)文所攜帶的Mac地址以及所經(jīng)過(guò)的該交換機(jī)的端口信息。
      4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟B包括交換機(jī)以與端口狀態(tài)變化相關(guān)的設(shè)備的Mac地址為目的Mac地址,單播該目的Mac地址并采用廣播發(fā)送的方式主動(dòng)觸發(fā)ARP請(qǐng)求,并獲取應(yīng)答消息中的Mac地址和應(yīng)答消息所經(jīng)過(guò)的該交換機(jī)的端口信息。
      5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述步驟A進(jìn)一步包括對(duì)該交換機(jī)上與端口狀態(tài)變化相關(guān)的ARP表項(xiàng)進(jìn)行標(biāo)記;對(duì)有標(biāo)記的ARP表項(xiàng),交換機(jī)采用單播目的Mac地址、廣播發(fā)送的方式主動(dòng)觸發(fā)。
      6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述步驟A進(jìn)一步包括啟動(dòng)一個(gè)定時(shí)器;以定時(shí)器的定時(shí)為時(shí)間間隔,分批主動(dòng)觸發(fā)有標(biāo)記的ARP請(qǐng)求。
      7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述交換機(jī)為分布式交換機(jī)。
      8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述步驟A包括保留主控板上的ARP表項(xiàng),刪除接口板上的ARP表項(xiàng)和Mac表項(xiàng);所述步驟B包括B1、接口板轉(zhuǎn)發(fā)報(bào)文,對(duì)Mac進(jìn)行學(xué)習(xí),獲取報(bào)文的Mac地址以及端口信息并發(fā)送給主控板;B2、主控板更新Mac表,并通知ARP,ARP根據(jù)更新消息中攜帶的Mac地址信息查找有相同Mac地址的ARP表項(xiàng),并用端口信息更新ARP表項(xiàng)的端口信息。
      9.根據(jù)權(quán)利要求8所述的方法,其特征在于,該方法進(jìn)一步包括步驟D主控板更新ARP表項(xiàng)之后同步端口所在的接口板,接口板下發(fā)硬件Mac表并獲取Mac索引,該索引與主控板傳入的Mac索引值不一致時(shí),同步主控板更新,主控板收到接口板更新消息,修改ARP表項(xiàng)的Mac索引,并更新主機(jī)路由,同步所有接口板。
      10.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述步驟A包括對(duì)主控板上與端口狀態(tài)改變相關(guān)的ARP表項(xiàng)進(jìn)行標(biāo)記,同時(shí)啟動(dòng)定時(shí)器;所述步驟B包括以定時(shí)器的定時(shí)為時(shí)間間隔,對(duì)主控板上有標(biāo)記的ARP表項(xiàng)采用單播目的Mac、廣播發(fā)送的方式主動(dòng)觸發(fā)ARP請(qǐng)求,接口板接到應(yīng)答消息后,獲取應(yīng)答消息中的Mac地址和端口信息;所述步驟C包括接口板根據(jù)應(yīng)答消息用端口信息更新接口板和主控板的ARP表項(xiàng)的端口信息,同時(shí)清除標(biāo)記。
      11.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述交換機(jī)為集中式交換機(jī)。
      12.一種快速更新地址解析協(xié)議ARP表項(xiàng)的方法,其特征在于,在交換機(jī)的端口狀態(tài)發(fā)生變化時(shí),該方法包括a.保留交換機(jī)上與端口狀態(tài)變化相關(guān)的ARP表項(xiàng),并將ARP表項(xiàng)設(shè)為不可用;b、該交換機(jī)轉(zhuǎn)發(fā)以太網(wǎng)報(bào)文時(shí),獲取與端口狀態(tài)變化相關(guān)的設(shè)備的Mac地址以及Mac地址所攜帶的該交換機(jī)的端口信息;c、該交換機(jī)根據(jù)Mac地址查找有相同Mac地址信息的ARP表項(xiàng),并用Mac地址所攜帶的該交換機(jī)的端口信息更新該交換機(jī)的ARP表項(xiàng)的端口信息。
      13.一種快速更新地址解析協(xié)議ARP表項(xiàng)的方法,其特征在于,在交換機(jī)的端口狀態(tài)發(fā)生變化時(shí),該方法包括I、保留交換機(jī)上的與端口狀態(tài)變化相關(guān)的ARP表項(xiàng),并對(duì)ARP表項(xiàng)設(shè)置標(biāo)記,同時(shí)啟動(dòng)定時(shí)器;II、定時(shí)器超時(shí)時(shí),交換機(jī)采用單播目的Mac地址、廣播發(fā)送的方式主動(dòng)觸發(fā)有標(biāo)記的ARP請(qǐng)求,并獲取應(yīng)答ARP請(qǐng)求的消息所經(jīng)過(guò)的該交換機(jī)的端口信息;III、交換機(jī)根據(jù)目的Mac地址查找有相同Mac地址信息的ARP表項(xiàng),并用Mac地址所攜帶的該交換機(jī)的端口信息更新交換機(jī)的ARP表項(xiàng)的端口信息。
      全文摘要
      本發(fā)明公開(kāi)一種快速更新ARP的方法,該方法包括,在交換機(jī)的端口狀態(tài)發(fā)生變化時(shí),保留端口狀態(tài)發(fā)生變化的交換機(jī)的ARP表項(xiàng);該交換機(jī)獲取與端口狀態(tài)變化相關(guān)的設(shè)備的Mac地址以及Mac地址所攜帶的該交換機(jī)的端口信息;該交換機(jī)根據(jù)Mac地址查找有相同Mac地址信息的ARP表項(xiàng),并用該端口信息更新ARP表項(xiàng)的端口信息。應(yīng)用本發(fā)明提供的方法,可以節(jié)約CPU時(shí)間,提高ARP的收斂能力和效率,同時(shí)避免ARP主動(dòng)觸發(fā)請(qǐng)求造成的網(wǎng)絡(luò)內(nèi)廣播報(bào)文的泛濫。
      文檔編號(hào)H04L12/56GK1764193SQ20051011505
      公開(kāi)日2006年4月26日 申請(qǐng)日期2005年11月23日 優(yōu)先權(quán)日2005年11月23日
      發(fā)明者滕利明 申請(qǐng)人:杭州華為三康技術(shù)有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1