專利名稱:獨(dú)立虛擬局域網(wǎng)學(xué)習(xí)方式下實(shí)現(xiàn)地址同步的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種獨(dú)立VLAN(虛擬局域網(wǎng))學(xué)習(xí)方式下實(shí)現(xiàn)地址同步的方法。
背景技術(shù):
在網(wǎng)絡(luò)通信中,為了便于通信網(wǎng)絡(luò)的管理,保證網(wǎng)絡(luò)通信的安全,通常需要對(duì)于以太網(wǎng)交換機(jī)等網(wǎng)絡(luò)接入設(shè)備的應(yīng)用進(jìn)行隔離,所采用的方法是為每個(gè)需要隔離的網(wǎng)絡(luò)接入設(shè)備分配一個(gè)VLAN ID(虛擬局域網(wǎng)標(biāo)識(shí)),本VLAN內(nèi)的用戶與外界的通信均需要通過(guò)該網(wǎng)絡(luò)接入設(shè)備實(shí)現(xiàn)。但是,隨著網(wǎng)絡(luò)通信的日益發(fā)展,網(wǎng)絡(luò)組網(wǎng)的日益龐大,組網(wǎng)所需要的VLAN ID也越來(lái)越多,而可以分配的VLAN ID資源又是有限的,因此當(dāng)網(wǎng)絡(luò)規(guī)模較大時(shí),可以提供的VLAN ID數(shù)目將無(wú)法滿足組網(wǎng)的需要。
為了解決上述問(wèn)題,在通信網(wǎng)絡(luò)中引入了Private VLAN(PVLAN,私有虛擬局域網(wǎng))技術(shù),該技術(shù)是目前應(yīng)用的一種具有二層隔離功能的VLAN管理方法,該方法提供了一種在較低層次(二層)可以聚合VLAN的手段,在PVLAN中包括一個(gè)primary VLAN(上層VLAN)和一個(gè)或多個(gè)secondary VLAN(二層VLAN)。
如圖1所示,二層交換機(jī)Quidway S2403和Quidway S3026分別通過(guò)上行端口5、6連接至三層交換機(jī)Quidway S3526的端口7、8;在QuidwayS3526上,認(rèn)為Quidway S2403接入的所有用戶都在VLAN5中,而Quidway S3026接入的所有用戶都在VLAN6中;這樣,在QuidwayS3526上,只需要為VLAN5和VLAN6配置相應(yīng)的IP(互聯(lián)網(wǎng)協(xié)議)網(wǎng)段即可。所述的VLAN5和VLAN6分別是標(biāo)識(shí)兩臺(tái)二層交換機(jī)QuidwayS2403和Quidway S3026的Primary VLAN;而VLAN1和VLAN2是VLAN5的Secondary VLAN,VLAN3和VLAN4是VLAN6的Secondary VLAN,每個(gè)端口的用戶都被Secondary VLAN在二層隔離,三層報(bào)文的互通需要通過(guò)上接的三層交換機(jī)Quidway S3526來(lái)轉(zhuǎn)發(fā)。
由上述描述可以看出,PVLAN的實(shí)質(zhì)是通過(guò)劃分多個(gè)VLAN,VLAN之間相互配合的方法來(lái)實(shí)現(xiàn)的。其中,secondary VLAN主要實(shí)現(xiàn)上行的功能,每個(gè)secondary VLAN都包含了至少一個(gè)用戶接入端口和一個(gè)上行端口,保證用戶的報(bào)文能夠上行,同時(shí)上行報(bào)文不能到達(dá)別的用戶。primary VLAN則主要實(shí)現(xiàn)了下行的功能,primary VLAN要包括PVLAN內(nèi)的所有端口,每個(gè)從上行端口下來(lái)的報(bào)文進(jìn)入交換機(jī)以后,都被當(dāng)做是primary VLAN內(nèi)的報(bào)文來(lái)處理,因此下行報(bào)文可以到達(dá)VLAN內(nèi)的任意一個(gè)用戶。即用戶的數(shù)據(jù)在secondary VLAN內(nèi)上行,又通過(guò)primaryVLAN下行。因此,PVLAN的建立既實(shí)現(xiàn)了在二層隔離用戶的目的,又節(jié)約了三層交換機(jī)上的VLAN ID資源,同時(shí)還節(jié)約了IP網(wǎng)段。
基于上述PVLAN的組網(wǎng)形式,目前交換機(jī)等網(wǎng)絡(luò)接入設(shè)備采用的地址組織模式通過(guò)包括以下兩種IVL(independent VLAN learning,獨(dú)立VLAN學(xué)習(xí))方式和SVL(shared VLAN learning,共享式VLAN學(xué)習(xí))方式;所述的IVL方式為每個(gè)VLAN內(nèi)部都有自己的MAC地址表,相同的MAC地址可以學(xué)習(xí)到不同的VLAN中去,所述的SVL方式所有VLAN共享MAC地址表,表項(xiàng)中不會(huì)存在多個(gè)相同的MAC地址。
SVL工作方式下的交換機(jī)由于所有的VLAN可以共享一個(gè)MAC地址表,因此占用的資源比較少;另外查地址表的時(shí)候不管VLAN信息,只要根據(jù)MAC地址查找到對(duì)應(yīng)的端口信息即可。但是SVL方式也有一個(gè)難以克服的缺點(diǎn)在組播方式下,相同目的的轉(zhuǎn)發(fā)表項(xiàng)在不同VLAN的轉(zhuǎn)發(fā)目的端口是不同的,所以限制了組播方式的應(yīng)用。而IVL方式雖然資源占用較多,但由于每個(gè)VLAN都有自己?jiǎn)为?dú)的轉(zhuǎn)發(fā)表,所以對(duì)組播的支持是沒(méi)有問(wèn)題的,這就使得IVL方式的工作模式有了較多的應(yīng)用。
在IVL方式下,使用MAC地址和VLAN ID為索引來(lái)查找某個(gè)轉(zhuǎn)發(fā)表項(xiàng),比如要在VLAN1中查找MAC1,而MAC1存在于VLAN2中,不存在于VLAN1中,此時(shí)的查表結(jié)果是未能命中,因此IVL方式的查表效率相對(duì)SVL方式來(lái)說(shuō)要低很多。
而且,當(dāng)使用IVL方式來(lái)實(shí)現(xiàn)PVLAN時(shí),假設(shè)用戶B的地址是從VLAN2上來(lái),屬于VLAN2,用戶A的地址是從VLAN1進(jìn)入的,屬于VLAN1。用戶A和B通信就會(huì)出現(xiàn)一個(gè)問(wèn)題,由A到B和由B到A的報(bào)文在交換機(jī)中是當(dāng)做廣播來(lái)處理的,如果在VLAN2內(nèi)還有別的用戶,那么由B到A的報(bào)文會(huì)被另外一個(gè)用戶收到,從B到A的報(bào)文更是會(huì)被所有的接入用戶接受到。因此,這種IVL方式的應(yīng)用產(chǎn)生兩個(gè)問(wèn)題一個(gè)是網(wǎng)絡(luò)設(shè)備的帶寬浪費(fèi)的問(wèn)題,所有的報(bào)文都是在作廣播,沒(méi)有利用交換機(jī)的優(yōu)勢(shì);第二個(gè)是網(wǎng)絡(luò)安全的問(wèn)題,一個(gè)用戶的報(bào)文可以被其它用戶收到,安全上無(wú)法得到保證。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種獨(dú)立VLAN學(xué)習(xí)方式下實(shí)現(xiàn)地址同步的方法,從而提高IVL方式下查找地址表的效率,防止網(wǎng)絡(luò)中產(chǎn)生大量的廣播報(bào)文,同時(shí)還可以提高了網(wǎng)絡(luò)通信的安全性能。
本發(fā)明的目的是這樣實(shí)現(xiàn)的一種獨(dú)立VLAN學(xué)習(xí)方式下實(shí)現(xiàn)地址同步的方法,包括增加獨(dú)立VLAN(虛擬局域網(wǎng))中接入地址的地址同步處理過(guò)程將接入地址添加至其接入端口默認(rèn)的VLAN中,同時(shí)將所述的接入地址添加至共享該接入地址的VLAN中,并將為該地址設(shè)置的地址標(biāo)志位置位,表示該接入地址接入的端口默認(rèn)的VLAN不是該VLAN;刪除獨(dú)立VLAN中接入地址的地址同步處理過(guò)程將接入地址從其接入端口默認(rèn)的VLAN(虛擬局域網(wǎng))的網(wǎng)絡(luò)接入設(shè)備中刪除,同時(shí)將該接入地址從共享該接入地址的VLAN中刪除。
所述的接入地址為MAC(介質(zhì)訪問(wèn)控制)地址,且所述的MAC地址以MAC地址表的形式存放于網(wǎng)絡(luò)接入設(shè)備中。
所述的增加獨(dú)立VLAN中接入地址的地址同步處理過(guò)程還包括將加入共享該接入地址的VLAN中的接入地址的老化時(shí)間設(shè)置為不老化。
本發(fā)明中,當(dāng)加入接入端口默認(rèn)VLAN中的接入地址的老化時(shí)間設(shè)置為不老化時(shí),所述的刪除獨(dú)立VLAN中接入地址的地址同步處理過(guò)程由用戶通過(guò)命令行執(zhí)行。
所述的獨(dú)立VLAN學(xué)習(xí)方式下實(shí)現(xiàn)地址同步的方法,還包括加入接入端口默認(rèn)VLAN中的接入地址的老化時(shí)間設(shè)置為可老化時(shí),所述的刪除獨(dú)立VLAN中接入地址的地址同步處理過(guò)程由該接入地址的老化定時(shí)器觸發(fā)執(zhí)行或由用戶通過(guò)命令行執(zhí)行。
所述的將該接入地址從共享該接入地址的VLAN中刪除進(jìn)一步包括確定共享該接入地址的VLAN;從確定VLAN的地址表中查找該接入地址;根據(jù)該接入地址的地址標(biāo)志位判斷是否為共享的接入地址,如果是,則刪除該接入地址,否則,不作處理。
所述的獨(dú)立VLAN包括PVLAN(私有虛擬局域網(wǎng))中的PrimaryVLAN(上層VLAN)和Secondary VLAN(二層VLAN)。
該方法還包括PVLAN建立時(shí)的地址同步過(guò)程遍歷Primary VLAN中的MAC地址表,并將其中老化時(shí)間為可老化的MAC地址刪除,將不可老化的MAC地址添加到Secondary VLAN的MAC地址表中,老化時(shí)間仍設(shè)置為不老化,同時(shí)將其地址標(biāo)志位置位;遍歷Secondary VLAN的MAC地址表,將其中老化時(shí)間為可老化的MAC地址刪除,將老化時(shí)間為不可老化且地址標(biāo)志位未置位的MAC地址添加到Primary VLAN的MAC地址表中,同時(shí)將其地址標(biāo)志位置位。
所述的增加獨(dú)立VLAN(虛擬局域網(wǎng))中接入地址的地址同步處理過(guò)程包括確定需要增加的MAC地址默認(rèn)的VLAN是Primary VLAN或SecondaryVLAN,并獲取所述VLAN對(duì)應(yīng)的Secondary VLAN或Primary VLAN;判斷對(duì)應(yīng)的Secondary VLAN或Primary VLAN中是否存在增加的MAC地址;如果不存在,則添加該MAC地址,且將地址標(biāo)志位置位;如果存在,則判斷該MAC地址的老化時(shí)間是否為不老化;如果為不老化,則進(jìn)一步判斷對(duì)應(yīng)的VLAN是Secondary VLAN還是Primary VLAN;如果是Secondary VLAN,則繼續(xù)判斷其他與本PrimaryVLAN對(duì)應(yīng)的Secondary VLAN中是否存在增加的MAC地址,并執(zhí)行相應(yīng)的操作,直到與本Primary VLAN對(duì)應(yīng)的所有SecondaryVLAN均被執(zhí)行完畢;如果對(duì)應(yīng)的VLAN是Primary VLAN,則過(guò)程結(jié)束;如果是可老化,則刪除存在的MAC地址,添加該MAC地址,且將該MAC地址標(biāo)志位置位。
所述的刪除獨(dú)立VLAN中接入地址的地址同步處理過(guò)程包括確定需要?jiǎng)h除的MAC地址默認(rèn)的VLAN是Primary VLAN或SecondaryVLAN,并獲取所述VLAN對(duì)應(yīng)的Secondary VLAN或Primary VLAN;
判斷對(duì)應(yīng)的Secondary VLAN或Primary VLAN中是否存在需要?jiǎng)h除的MAC地址;如果存在,則獲取該MAC地址的地址標(biāo)志位和老化時(shí)間,如果老化時(shí)間是不可老化,且地址標(biāo)志位置位,則刪除存在的MAC地址,否則,按不存在該MAC地址處理;如果不存在,則進(jìn)一步判斷對(duì)應(yīng)的VLAN是Secondary VLAN還是Primary VLAN;如果是Secondary VLAN,則繼續(xù)判斷其他與本Primary VLAN對(duì)應(yīng)的Secondary VLAN中是否存在需要?jiǎng)h除的MAC地址,并執(zhí)行相應(yīng)的操作,直到與本Primary VLAN對(duì)應(yīng)的所有Secondary VLAN均被執(zhí)行完畢;如果對(duì)應(yīng)的VLAN是Primary VLAN,則過(guò)程結(jié)束。
該方法還包括解除PVLAN中Primary VLAN與Secondary VLAN對(duì)應(yīng)關(guān)系時(shí),地址標(biāo)志位置位的MAC地址的刪除過(guò)程獲取需要解除PVLAN中Primary VLAN與Secondary VLAN對(duì)應(yīng)關(guān)系的Primary VLAN及其對(duì)應(yīng)的所有Secondary VLAN;遍歷Primary VLAN及其對(duì)應(yīng)的所有Secondary VLAN的MAC地址表,將老化時(shí)間為不可老化,且地址標(biāo)志位置位的MAC地址從MAC地址表中刪除。
所述的獨(dú)立VLAN學(xué)習(xí)方式下實(shí)現(xiàn)地址同步的方法,還包括
所述的增加獨(dú)立VLAN中接入地址的地址同步處理過(guò)程,是在增加接入地址的同時(shí)進(jìn)行;所述的刪除獨(dú)立VLAN中接入地址的地址同步處理過(guò)程是在刪除接入地址的同時(shí)進(jìn)行。
所述的增加獨(dú)立VLAN中接入地址的地址同步處理過(guò)程和刪除獨(dú)立VLAN中接入地址的地址同步處理過(guò)程為周期進(jìn)行,即周期性的確定PVLAN的Primary VLAN和Secondary VLAN中增加或刪除的接入地址,并在Primary VLAN與Secondary VLAN間進(jìn)行接入地址的同步處理。
由上述技術(shù)方案可以看出,本發(fā)明的實(shí)現(xiàn)保證了獨(dú)立VLAN學(xué)習(xí)方式下地址表中記錄的地址的同步性,即實(shí)現(xiàn)了在PVLAN中各個(gè)VLAN間MAC地址表的同步,避免了在網(wǎng)絡(luò)中出現(xiàn)大量的廣播報(bào)文,節(jié)省了有限的通信網(wǎng)絡(luò)資源,從而使通信網(wǎng)絡(luò)可以為用戶提供更大的帶寬資源;同時(shí),本發(fā)明的實(shí)現(xiàn)還提高了網(wǎng)絡(luò)通信的安全性能。另外,本發(fā)明的實(shí)現(xiàn)還大大提高了IVL方式下查找MAC地址表的效率,從而提高了通信網(wǎng)絡(luò)轉(zhuǎn)發(fā)報(bào)文的性能。
圖1為PVLAN的組網(wǎng)結(jié)構(gòu)示意圖;圖2為PVLAN中VLAN的管理示意圖;圖3為本發(fā)明建立PVLAN時(shí)的MAC地址同步操作過(guò)程;圖4為本發(fā)明中增加MAC地址的同步操作過(guò)程;圖5為本發(fā)明中刪除MAC地址的同步操作過(guò)程;
圖6為本發(fā)明中解除或改變PVLAN時(shí)的操作過(guò)程。
具體實(shí)施例方式
本發(fā)明的內(nèi)容前面已有敘述,現(xiàn)以PVLAN為例對(duì)本發(fā)明的具體實(shí)施方式
作進(jìn)一步說(shuō)明。在IVL(獨(dú)立VLAN學(xué)習(xí))模式下,PVAN的SecondaryVLAN中的主機(jī)與Primary VLAN中的服務(wù)器之間由于MAC地址的不共享,所以只能通過(guò)廣播的方式實(shí)現(xiàn)相互間的信息交換,網(wǎng)絡(luò)中大量的廣播報(bào)文必然影響網(wǎng)絡(luò)的性能顯然。為此,本發(fā)明需要解決的問(wèn)題是在IVL模式下實(shí)現(xiàn)Secondary VLAN與Primary VLAN之間MAC地址的共享,即保證同一個(gè)MAC地址同時(shí)在Secondary VLAN和Primary VLAN中存在,也就是說(shuō)一個(gè)用戶的MAC地址在添加到所在端口默認(rèn)VLAN中的同時(shí)必須添加到需要共享該MAC地址的其他VLAN中,我們可以將其他VLAN中存在的該MAC地址稱為“影子地址”,以方便下面的敘述。如圖2所示,對(duì)于局域網(wǎng)交換機(jī)LanSwitch的下行端口,1個(gè)MAC地址有1個(gè)影子地址;對(duì)于交換機(jī)LanSwitch的上行端口,1個(gè)MAC地址有n個(gè)影子地址,其中n為PrimaryVLAN包含的Secondary VLAN的個(gè)數(shù),本發(fā)明就是要使在IVL下的PVLAN中各個(gè)VLAN的MAC地址表實(shí)現(xiàn)同步,即所述的MAC地址與其影子地址在各VLAN中同時(shí)增加或刪除。
對(duì)MAC地址表中MAC地址的操作可以分為兩類靜態(tài)配置和動(dòng)態(tài)維護(hù)。靜態(tài)配置是用戶自動(dòng)對(duì)MAC地址表進(jìn)行添加、刪除和修改的操作。動(dòng)態(tài)維護(hù)則是交換機(jī)根據(jù)端口狀態(tài)和接收到報(bào)文的情況自動(dòng)進(jìn)行地址學(xué)習(xí)、老化和刪除的操作。MAC地址表中的MAC地址根據(jù)老化時(shí)間還可以分為兩大類可老化的和不可老化的。對(duì)于不可老化的地址,通常是通過(guò)用戶配置來(lái)維護(hù)的;可老化的地址則既可以由用戶配置也可以動(dòng)態(tài)維護(hù),如果這個(gè)地址在設(shè)定的時(shí)間間隔里一直沒(méi)有發(fā)送報(bào)文就會(huì)被交換機(jī)自動(dòng)刪除掉。
參照上述現(xiàn)有交換機(jī)中MAC地表的維護(hù)方式,本發(fā)明考慮從不可老化的MAC地址的同步處理和可老化的MAC地址的同步處理兩個(gè)方面解決IVL方式下PVLAN中的地址同步問(wèn)題。其中不可老化的MAC地址的添加和刪除都是由用戶配置觸發(fā)的,所以對(duì)于不可老化的MAC地址只要在用戶操作的時(shí)間點(diǎn)上進(jìn)行各VLAN的MAC地址表同步維護(hù)就可以了。如圖2中的用戶B,可以通過(guò)用戶配置將它的MAC地址添加到Primary VLAN和Secondary VLAN1中,地址狀態(tài)都設(shè)為不可老化,這樣在管理員刪除它們之前,用戶B都可以很好的開(kāi)展網(wǎng)絡(luò)業(yè)務(wù)。即在Primary VLAN中添加、刪除地址,則在所有的Secondary VLAN中添加、刪除影子地址;在Secondary VLAN中添加、刪除地址,則在Primary VLAN中添加、刪除影子地址。同時(shí),為了將一個(gè)VLAN中用戶配置的不可老化地址與影子地址區(qū)分開(kāi)來(lái),需要給每個(gè)地址增加一個(gè)地址標(biāo)志位,提高M(jìn)AC地址表維護(hù)的有效性。而對(duì)于可老化MAC地址,由于受系統(tǒng)動(dòng)態(tài)維護(hù)的影響,所以僅通過(guò)用戶配置操作無(wú)法實(shí)現(xiàn)各VLAN的MAC地址表的同步,而需要參考不可老化的MAC地址的處理過(guò)程,將影子地址的老化時(shí)間設(shè)置為不可老化,并在添加或刪除MAC地址時(shí)觸發(fā)影子地址的相應(yīng)處理過(guò)程。
下面結(jié)合附圖本發(fā)明的具體實(shí)現(xiàn)過(guò)程作進(jìn)一步說(shuō)明
在PVLAN建立的時(shí)候,為提高處理效率,考慮到現(xiàn)有動(dòng)態(tài)MAC地址可以通過(guò)報(bào)文重新學(xué)習(xí)到,所以可以先清除Primary VLAN及SecondaryVLAN中的所有可老化地址,僅保留涉其中由用戶配置的不可老化地址,并進(jìn)行地址同步操作;而且為避免影子地址再生成影子地址的情況,采用了首先將Primary VLAN中的不可老化的MAC地址同步到SecondaryVLAN,當(dāng)Secondary VLAN中的MAC地址同步到Primary VLAN時(shí)則檢查并排除MAC地址表中的影子地址,判斷MAC地址是否為影子地址的依據(jù)是該MAC地址的地址標(biāo)志位是否被置位,如果被置位,則確定為影子地址;現(xiàn)結(jié)合圖3對(duì)建立PVLAN時(shí)的各VLAN的MAC地址同步過(guò)程進(jìn)行詳細(xì)說(shuō)明步驟301在通信網(wǎng)絡(luò)中根據(jù)需要建立PVLAN,確定PVLAN包含的Primary VLAN和Secondary VLAN,同時(shí)確定所述各VLAN的MAC地址表索引;步驟302根據(jù)Primary VLAN的MAC地址表索引遍歷PrimaryVLAN的MAC地址表,獲取MAC地址的老化狀態(tài),即老化時(shí)間;步驟303判斷MAC地址的老化時(shí)間是否為不可老化,如果是,執(zhí)行步驟304,否則,執(zhí)行步驟305,以清除MAC地址表中老化時(shí)間為可老化的MAC地址;步驟304將不可老化的MAC地址添加到Primary VLAN下的所有Secondary VLAN的MAC地址表,且將地址標(biāo)志位置位,表示該MAC地址為影子地址,并執(zhí)行步驟306;
該步驟的目的是將Primary VLAN中的不可老化的MAC地址同步到與其對(duì)應(yīng)的所有Secondary VLAN中,同時(shí)為對(duì)增加和刪除MAC地址的有效管理,還將同步過(guò)去的MAC地址作了標(biāo)記,標(biāo)記為影子地址;步驟305刪除該可老化的MAC地址,并執(zhí)行步驟6,因?yàn)榭衫匣腗AC地址可以在地址學(xué)習(xí)過(guò)程中學(xué)習(xí)到,并在學(xué)習(xí)到時(shí)執(zhí)行相應(yīng)的同步操作過(guò)程,所以此處將其刪除;步驟306判斷Primary VLAN中的MAC地址表是否遍歷完畢,如果是,則執(zhí)行步驟307,否則,執(zhí)行步驟302,繼續(xù)遍歷該MAC地址表,獲取地址表中的下一個(gè)MAC地址;步驟307從Primary VLAN下的各個(gè)Secondary VLAN中依次確定本次需要遍歷的Secondary VLAN的MAC地址表;在PVLAN中一個(gè)Primary VLAN中通常包含多個(gè)Secondary VLAN,因此,首先需要確定需要遍歷的一個(gè)Secondary VLAN的MAC地址表索引;步驟308根據(jù)確定的MAC地址表索引遍歷該MAC地址表,獲取MAC地址的老化時(shí)間和地址標(biāo)志位;步驟309判斷MAC地址的老化時(shí)間是否為不可老化,如果是,執(zhí)行步驟311,否則,執(zhí)行步驟310;步驟310刪除該可老化的MAC地址,并執(zhí)行步驟313;步驟311判斷該不可老化的MAC地址的地址標(biāo)志位是否被置位,即是否是影子地址,如果是,執(zhí)行步驟313,否則,執(zhí)行步驟312;該步驟避免了影子地址再次生成新的影子地址;
步驟312將該不可老化的MAC地址添加到Primary VLAN的MAC地址表中,且將其地址標(biāo)志位置位,表示該MAC地址為影子地址;步驟3 13判斷是否遍歷完畢該Secondary VLAN的MAC地址表,如果是,執(zhí)行步驟314,否則,執(zhí)行步驟308;步驟314判斷是否遍歷完該P(yáng)rimary VLAN下所有的SecondaryVLAN的MAC地址表,如果是,PVLAN建立時(shí)的地址同步過(guò)程結(jié)束,否則繼續(xù)執(zhí)行步驟7。
建立PVLAN時(shí)的地址同步過(guò)程完成后,則需要確定建立后的PVLAN的Primary VLAN及Secondary VLAN中的MAC地址表的同步維持過(guò)程,本發(fā)明中PVLAN建立完成后,是根據(jù)用戶配置和動(dòng)態(tài)維護(hù)實(shí)現(xiàn)各個(gè)VLAN的MAC地址表的同步,而且無(wú)論是用戶配置還是動(dòng)態(tài)維護(hù)均為根據(jù)需要操作的地址信息實(shí)現(xiàn)對(duì)該地址的增加或刪除,并結(jié)合PVLAN的配置情況對(duì)各個(gè)VLAN的MAC地址進(jìn)行同步,需要操作的地址信息包括所屬的VLAN、MAC地址、老化時(shí)間、地址標(biāo)志位、使用的端口等。建立后的PVLAN的地址同步維持過(guò)程實(shí)際上包括添加MAC地址時(shí)的同步處理過(guò)程和刪除MAC地址時(shí)的同步處理過(guò)程。
所述的增加MAC地址時(shí)PVLAN的地址同步過(guò)程操作參見(jiàn)圖4,添加MAC地址可以是用戶進(jìn)行的地址添加操作,也可以是學(xué)習(xí)到新的MAC地址導(dǎo)致的地址添加操作,具體包括以下步驟
步驟401確定需要添加的MAC地址信息,包括需要添加的MAC地址的默認(rèn)的VLAN、MAC地址值、接入端口、地址標(biāo)志位、地址的老化時(shí)間等;步驟402根據(jù)需要添加的MAC地址的接入端口信息判斷添加的MAC地址默認(rèn)的VLAN是否為PVLAN中的Primary VLAN,如果是,執(zhí)行步驟404,否則,執(zhí)行步驟403;步驟403根據(jù)需要添加的MAC地址的端口信息判斷該MAC地址默認(rèn)的VLAN是否為PVLAN中的Secondary VLAN,如果是,執(zhí)行步驟410,否則,過(guò)程結(jié)束;即如果需要添加的MAC地址默認(rèn)的VLAN既不是Primary VLAN也不是Secondary VLAN,則本次添加MAC地址的同步過(guò)程結(jié)束;步驟404從該P(yáng)rimary VLAN對(duì)應(yīng)的所有Secondary VLAN中依次確定本次需要遍歷的Secondary VLAN的MAC地址表,并獲取該MAC地址表的索引;步驟405根據(jù)MAC地址索引遍歷該MAC地址表中的MAC地址,并判斷需要添加的MAC地址是否存在于該MAC地址表中,如果存在,執(zhí)行步驟406,否則,執(zhí)行步驟408;步驟406判斷存在于該MAC地址表中的需要添加的MAC地址的老化時(shí)間是否為不可老化,如果是,則執(zhí)行步驟409,否則,執(zhí)行步驟407;步驟407將需要添加的MAC地址從該MAC地址表中刪除,并執(zhí)行步驟408;
該步驟也可以直接將該MAC地址的老化時(shí)間設(shè)置為不可老化,為其設(shè)置地址標(biāo)志位,并置位,執(zhí)行步驟409;步驟408將需要添加的MAC地址添加到本次遍歷的SecondaryVLAN的MAC地址表中,將其老化時(shí)間設(shè)置為不可老化,地址標(biāo)志位置位,表示該地址為影子地址,并執(zhí)行步驟409;步驟409判斷Primary VLAN下的所有Secondary VLAN的MAC地址表是否均已遍歷完畢,如果是,則結(jié)束過(guò)程,否則,繼續(xù)執(zhí)行步驟404;步驟410獲取該Secondary VLAN對(duì)應(yīng)的Primary VLAN;步驟411判斷該P(yáng)rimary VLAN的MAC地址表中是否存在該需要添加的MAC地址,如果是,則執(zhí)行步驟412,否則,執(zhí)行步驟414;步驟412判斷該存在的MAC地址的地址老化時(shí)間是否為不可老化,如果是,結(jié)束過(guò)程,否則,執(zhí)行步驟413;步驟413刪除存在于Primary VLAN的MAC地址表中的該MAC地址,執(zhí)行步驟414;該步驟也可以直接將該MAC地址的老化時(shí)間設(shè)置為不可老化,為其設(shè)置地址標(biāo)志位,并置位,并結(jié)束地址同步過(guò)程;步驟414將需要添加的MAC地址添加到Primary VLAN的MAC地址表中,將其地址老化時(shí)間設(shè)置為不可老化,地址標(biāo)志位置位,表示該地址為影子地址。
所述的刪除MAC地址時(shí)PVLAN的地址同步過(guò)程操作參見(jiàn)圖5,刪除MAC地址可以是用戶進(jìn)行的地址刪除操作,也可以是系統(tǒng)中老化定時(shí)器超時(shí)時(shí)地址被老化掉導(dǎo)致的地址刪除操作,具體包括以下步驟步驟501確定需要?jiǎng)h除的MAC地址信息,包括需要?jiǎng)h除的MAC地址的默認(rèn)的VLAN、MAC地址值、接入端口、地址標(biāo)志位、地址的老化時(shí)間等;步驟502判斷的需要?jiǎng)h除的MAC地址默認(rèn)的VLAN是否為PVLAN中的Primary VLAN,如果是,執(zhí)行步驟504,否則,執(zhí)行步驟503;步驟503判斷需要?jiǎng)h除的MAC地址默認(rèn)的VLAN是否為PVLAN中的Secondary VLAN,如果是,執(zhí)行步驟509,否則,過(guò)程結(jié)束;步驟504從該P(yáng)rimary VLAN對(duì)應(yīng)的所有Secondary VLAN中依次確定本次需要遍歷的Secondary VLAN的MAC地址表,并獲取該MAC地址表的索引;步驟505根據(jù)MAC地址索引遍歷該MAC地址表中的MAC地址,并判斷需要?jiǎng)h除的MAC地址是否存在于該MAC地址表中,如果存在,執(zhí)行步驟506,否則,執(zhí)行步驟508;步驟506判斷存在于該MAC地址表中的需要?jiǎng)h除的MAC地址是否為老化時(shí)間設(shè)置為不可老化,且地址標(biāo)志位被置位(該MAC地址為影子地址),如果是,則執(zhí)行步驟507,否則,執(zhí)行步驟508;步驟507將需要?jiǎng)h除的MAC地址從該MAC地址表中刪除,并執(zhí)行步驟508;
步驟508判斷Primary VLAN下的所有Secondary VLAN的MAC地址表是否均已遍歷完畢,如果是,則結(jié)束過(guò)程,否則,繼續(xù)執(zhí)行步驟504;步驟509獲取該Secondary VLAN對(duì)應(yīng)的Primary VLAN;步驟510判斷該P(yáng)rimary VLAN的MAC地址表中是否存在該需要?jiǎng)h除的MAC地址,如果是,則執(zhí)行步驟511,否則,過(guò)程結(jié)束;步驟511判斷該存在的MAC地址是否為老化時(shí)間設(shè)置為不可老化,且地址標(biāo)志位被置位,如果不是,結(jié)束過(guò)程,否則,執(zhí)行步驟512;步驟512刪除存在于Primary VLAN的MAC地址表中的該MAC地址,過(guò)程結(jié)束。
總之,在向PVLAN中添加MAC地址時(shí),如果添加的MAC地址為Primary VLAN中的地址,則在其對(duì)應(yīng)的每個(gè)Secondary VLAN中增加該MAC地址的影子地址;如果是Secondary VLAN中的地址,則在其對(duì)應(yīng)的Primary VLAN中增加該MAC地址的影子地址;在刪除PVLAN中的MAC地址時(shí),如果刪除的MAC地址為Primary VLAN中的地址,則在其對(duì)應(yīng)的每個(gè)Secondary VLAN中刪除該MAC地址的影子地址;如果是SecondaryVLAN中的地址,則在其對(duì)應(yīng)的Primary VLAN中刪除該MAC地址的影子地址。
本發(fā)明的實(shí)現(xiàn)還包括解除或改變PVLAN中Primary VLAN和SecondaryVLAN映射關(guān)系時(shí),對(duì)Primary VLAN和Secondary VLAN的MAC地址表中影子地址的刪除操作,具體具體實(shí)現(xiàn)流程參見(jiàn)圖6,包括以下步驟
步驟601確定需要解除的PVLAN中Primary VLAN和SecondaryVLAN;步驟602依次遍歷PVLAN中各個(gè)VLAN的MAC地址表,獲取各個(gè)MAC地址的老化時(shí)間和地址標(biāo)志位;步驟603判斷該MAC地址是否為老化時(shí)間為不可老化,且地址標(biāo)志位被置位,如果是,則執(zhí)行步驟604,否則,執(zhí)行步驟605;步驟604刪除該MAC地址,并執(zhí)行步驟605;步驟605判斷當(dāng)前遍歷的MAC地址表是否遍歷完畢,如果是,過(guò)程結(jié)束,否則,執(zhí)行步驟606;步驟606獲取MAC地址表中的下一個(gè)MAC地址的老化時(shí)間和地址標(biāo)志位,并執(zhí)行步驟603。
經(jīng)過(guò)上述過(guò)程的描述,實(shí)現(xiàn)了當(dāng)解除改變PVLAN包含的VLAN時(shí),影子地址可以被有效地清除,以便于建立新的PVLAN,開(kāi)始新的地址同步過(guò)程。
權(quán)利要求
1.一種獨(dú)立VLAN學(xué)習(xí)方式下實(shí)現(xiàn)地址同步的方法,其特征在于包括增加獨(dú)立VLAN(虛擬局域網(wǎng))中接入地址的地址同步處理過(guò)程將接入地址添加至其接入端口默認(rèn)的VLAN中,同時(shí)將所述的接入地址添加至共享該接入地址的VLAN中,并將為該地址設(shè)置的地址標(biāo)志位置位,表示該接入地址接入的端口默認(rèn)的VLAN不是該VLAN;刪除獨(dú)立VLAN中接入地址的地址同步處理過(guò)程將接入地址從其接入端口默認(rèn)的VLAN(虛擬局域網(wǎng))的網(wǎng)絡(luò)接入設(shè)備中刪除,同時(shí)將該接入地址從共享該接入地址的VLAN中刪除。
2.根據(jù)權(quán)利要求1所述的獨(dú)立VLAN學(xué)習(xí)方式下實(shí)現(xiàn)地址同步的方法,其特征在于所述的接入地址為MAC(介質(zhì)訪問(wèn)控制)地址,且所述的MAC地址以MAC地址表的形式存放于網(wǎng)絡(luò)接入設(shè)備中。
3.根據(jù)權(quán)利要求1或2所述的獨(dú)立VLAN學(xué)習(xí)方式下實(shí)現(xiàn)地址同步的方法,其特征在于所述的增加獨(dú)立VLAN中接入地址的地址同步處理過(guò)程還包括將加入共享該接入地址的VLAN中的接入地址的老化時(shí)間設(shè)置為不老化。
4.根據(jù)權(quán)利要求3所述的獨(dú)立VLAN學(xué)習(xí)方式下實(shí)現(xiàn)地址同步的方法,其特征在于當(dāng)加入接入端口默認(rèn)VLAN中的接入地址的老化時(shí)間設(shè)置為不老化時(shí),所述的刪除獨(dú)立VLAN中接入地址的地址同步處理過(guò)程由用戶通過(guò)命令行執(zhí)行。
5.根據(jù)權(quán)利要求3所述的獨(dú)立VLAN學(xué)習(xí)方式下實(shí)現(xiàn)地址同步的方法,其特征在于加入接入端口默認(rèn)VLAN中的接入地址的老化時(shí)間設(shè)置為可老化時(shí),所述的刪除獨(dú)立VLAN中接入地址的地址同步處理過(guò)程由該接入地址的老化定時(shí)器觸發(fā)執(zhí)行或由用戶通過(guò)命令行執(zhí)行。
6.根據(jù)權(quán)利要求1或2所述的獨(dú)立VLAN學(xué)習(xí)方式下實(shí)現(xiàn)地址同步的方法,其特征在于所述的將該接入地址從共享該接入地址的VLAN中刪除進(jìn)一步包括確定共享該接入地址的VLAN;從確定VLAN的地址表中查找該接入地址;根據(jù)該接入地址的地址標(biāo)志位判斷是否為共享的接入地址,如果是,則刪除該接入地址,否則,不作處理。
7.根據(jù)權(quán)利要求1所述的獨(dú)立VLAN學(xué)習(xí)方式下實(shí)現(xiàn)地址同步的方法,其特征在于所述的獨(dú)立VLAN包括PVLAN(私有虛擬局域網(wǎng))中的Primary VLAN(上層VLAN)和Secondary VLAN(二層VLAN)。
8.根據(jù)權(quán)利要求7所述的獨(dú)立VLAN學(xué)習(xí)方式下實(shí)現(xiàn)地址同步的方法,其特征在于該方法還包括PVLAN建立時(shí)的地址同步過(guò)程遍歷Primary VLAN中的MAC地址表,并將其中老化時(shí)間為可老化的MAC地址刪除,將不可老化的MAC地址添加到Secondary VLAN的MAC地址表中,老化時(shí)間仍設(shè)置為不老化,同時(shí)將其地址標(biāo)志位置位;遍歷Secondary VLAN的MAC地址表,將其中老化時(shí)間為可老化的MAC地址刪除,將老化時(shí)間為不可老化且地址標(biāo)志位未置位的MAC地址添加到Primary VLAN的MAC地址表中,同時(shí)將其地址標(biāo)志位置位。
9.根據(jù)權(quán)利要求7所述的獨(dú)立VLAN學(xué)習(xí)方式下實(shí)現(xiàn)地址同步的方法,其特征在于,所述的增加獨(dú)立VLAN(虛擬局域網(wǎng))中接入地址的地址同步處理過(guò)程包括確定需要增加的MAC地址默認(rèn)的VLAN是Primary VLAN或SecondaryVLAN,并獲取所述VLAN對(duì)應(yīng)的Secondary VLAN或Primary VLAN;判斷對(duì)應(yīng)的Secondary VLAN或Primary VLAN中是否存在增加的MAC地址;如果不存在,則添加該MAC地址,且將地址標(biāo)志位置位;如果存在,則判斷該MAC地址的老化時(shí)間是否為不老化;如果為不老化,則進(jìn)一步判斷對(duì)應(yīng)的VLAN是Secondary VLAN還是Primary VLAN;如果是Secondary VLAN,則繼續(xù)判斷其他與本PrimaryVLAN對(duì)應(yīng)的Secondary VLAN中是否存在增加的MAC地址,并執(zhí)行相應(yīng)的操作,直到與本Primary VLAN對(duì)應(yīng)的所有SecondaryVLAN均被執(zhí)行完畢;如果對(duì)應(yīng)的VLAN是Primary VLAN,則過(guò)程結(jié)束;如果是可老化,則刪除存在的MAC地址,添加該MAC地址,且將該MAC地址標(biāo)志位置位。
10.根據(jù)權(quán)利要求7所述的獨(dú)立VLAN學(xué)習(xí)方式下實(shí)現(xiàn)地址同步的方法,其特征在于,所述的刪除獨(dú)立VLAN中接入地址的地址同步處理過(guò)程包括確定需要?jiǎng)h除的MAC地址默認(rèn)的VLAN是Primary VLAN或SecondaryVLAN,并獲取所述VLAN對(duì)應(yīng)的Secondary VLAN或Primary VLAN;判斷對(duì)應(yīng)的Secondary VLAN或Primary VLAN中是否存在需要?jiǎng)h除的MAC地址;如果存在,則獲取該MAC地址的地址標(biāo)志位和老化時(shí)間,如果老化時(shí)間是不可老化,且地址標(biāo)志位置位,則刪除存在的MAC地址,否則,按不存在該MAC地址處理;如果不存在,則進(jìn)一步判斷對(duì)應(yīng)的VLAN是Secondary VLAN還是Primary VLAN;如果是Secondary VLAN,則繼續(xù)判斷其他與本Primary VLAN對(duì)應(yīng)的Secondary VLAN中是否存在需要?jiǎng)h除的MAC地址,并執(zhí)行相應(yīng)的操作,直到與本Primary VLAN對(duì)應(yīng)的所有Secondary VLAN均被執(zhí)行完畢;如果對(duì)應(yīng)的VLAN是Primary VLAN,則過(guò)程結(jié)束。
11.根據(jù)權(quán)利要求7所述的獨(dú)立VLAN學(xué)習(xí)方式下實(shí)現(xiàn)地址同步的方法,其特征在于該方法還包括解除PVLAN中Primary VLAN與SecondaryVLAN對(duì)應(yīng)關(guān)系時(shí),地址標(biāo)志位置位的MAC地址的刪除過(guò)程獲取需要解除PVLAN中Primary VLAN與Secondary VLAN對(duì)應(yīng)關(guān)系的Primary VLAN及其對(duì)應(yīng)的所有Secondary VLAN;遍歷Primary VLAN及其對(duì)應(yīng)的所有Secondary VLAN的MAC地址表,將老化時(shí)間為不可老化,且地址標(biāo)志位置位的MAC地址從MAC地址表中刪除。
12.根據(jù)權(quán)利要求1或7所述的獨(dú)立VLAN學(xué)習(xí)方式下實(shí)現(xiàn)地址同步的方法,其特征在于所述的增加獨(dú)立VLAN中接入地址的地址同步處理過(guò)程,是在增加接入地址的同時(shí)進(jìn)行;所述的刪除獨(dú)立VLAN中接入地址的地址同步處理過(guò)程是在刪除接入地址的同時(shí)進(jìn)行。
13.根據(jù)權(quán)利要求1或7所述的獨(dú)立VLAN學(xué)習(xí)方式下實(shí)現(xiàn)地址同步的方法,其特征在于所述的增加獨(dú)立VLAN中接入地址的地址同步處理過(guò)程和刪除獨(dú)立VLAN中接入地址的地址同步處理過(guò)程為周期進(jìn)行,即周期性的確定PVLAN的Primary VLAN和Secondary VLAN中增加或刪除的接入地址,并在Primary VLAN與Secondary VLAN間進(jìn)行接入地址的同步處理。
全文摘要
本發(fā)明涉及一種獨(dú)立VLAN學(xué)習(xí)方式下實(shí)現(xiàn)地址同步的方法。該方法包括當(dāng)增加或刪除獨(dú)立VLAN(虛擬局域網(wǎng))中接入地址時(shí),同時(shí)在接入地址默認(rèn)的VLAN的地址表,以及共享該接入地址的VLAN的地址表中進(jìn)行該接入地址的增加或刪除操作。本發(fā)明的實(shí)現(xiàn)避免了在網(wǎng)絡(luò)中出現(xiàn)大量的廣播報(bào)文,節(jié)省了有限的通信網(wǎng)絡(luò)資源,從而使通信網(wǎng)絡(luò)可以為用戶提供更大的帶寬資源;同時(shí),本發(fā)明的實(shí)現(xiàn)還提高了網(wǎng)絡(luò)通信的安全性能。另外,本發(fā)明的實(shí)現(xiàn)還大大提高了IVL方式下查找MAC地址表的效率,從而提高了通信網(wǎng)絡(luò)轉(zhuǎn)發(fā)報(bào)文的性能。
文檔編號(hào)H04L12/24GK1581819SQ0314408
公開(kāi)日2005年2月16日 申請(qǐng)日期2003年7月31日 優(yōu)先權(quán)日2003年7月31日
發(fā)明者晉兆瓊, 劉建鋒 申請(qǐng)人:華為技術(shù)有限公司