專利名稱::一種以太網(wǎng)交換機數(shù)據(jù)幀劃分虛擬局域網(wǎng)并轉(zhuǎn)發(fā)的方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及以太網(wǎng)通信技術(shù),具體涉及一種用來在以太網(wǎng)交換機上將數(shù)據(jù)幀劃分到不同的VLAN(VirtualLocalAreaNetwork,虛擬局域網(wǎng))并轉(zhuǎn)發(fā)的方法。
背景技術(shù):
:隨著因特網(wǎng)的高速發(fā)展,以太網(wǎng)網(wǎng)絡(luò)逐漸成為人們?nèi)粘9ぷ骱蜕钪斜夭豢缮俚墓ぞ?。而以太網(wǎng)交換設(shè)備作為組成以太網(wǎng)網(wǎng)絡(luò)必不可少的設(shè)備,在網(wǎng)絡(luò)中的數(shù)量與日俱增。隨著以太網(wǎng)交換設(shè)備數(shù)量的增多,網(wǎng)絡(luò)的組網(wǎng)越來越復(fù)雜,規(guī)模越來越大,這樣導(dǎo)致廣播域就可能越來越大,非常容易形成廣播風(fēng)暴,而使用VLAN是最常用的隔離廣播域的方法。同時,目前以太網(wǎng)交換設(shè)備的二層交換是由MAC地址轉(zhuǎn)發(fā)表來實現(xiàn)的。圖2是現(xiàn)有技術(shù)中以太網(wǎng)交換機數(shù)據(jù)幀實現(xiàn)轉(zhuǎn)發(fā)的流程圖。圖中1.1交換機從端口PORT收到一個數(shù)據(jù)幀;1.2先學(xué)習(xí)數(shù)據(jù)幀的源MAC地址及數(shù)據(jù)幀所應(yīng)屬于按協(xié)議、端口、子網(wǎng)或介質(zhì)訪問地址劃分的VLAN,以及數(shù)據(jù)幀進入交換設(shè)備的PORT,然后形成一個包含MAC地址、VLAN及PORT的表項;1.3交換機通過學(xué)習(xí)各個端口下的各個設(shè)備的源MAC地址,形成MAC地址表;1.4當(dāng)交換機在數(shù)據(jù)幀進行交換時,用數(shù)據(jù)幀的目的MAC地址來查找MAC地址表,獲得轉(zhuǎn)出PORT;1.5交換機將數(shù)據(jù)幀快速轉(zhuǎn)發(fā)到相應(yīng)的轉(zhuǎn)出P0RT,轉(zhuǎn)發(fā)完成。從上面流程可以看出VLAN不僅是常用隔離廣播域的方法,同時還是交換機二層轉(zhuǎn)發(fā)表的重要組成部分。目前最常用的VLAN劃分方法有按端口劃分、按協(xié)議劃分、按子網(wǎng)劃分、按MAC地址劃分。這些劃分方法各自有自己的應(yīng)用場景,但是對于目前運營商流行的QinQ(802.1Qin802.1Q)的組網(wǎng)方式中,按端口劃分、按協(xié)議劃分、按子網(wǎng)劃分、按MAC地址劃分VLAN的劃分方法已經(jīng)不能滿足轉(zhuǎn)發(fā)要求。如組網(wǎng)要求從交換機端口1進入的不帶VLANtag(VLAN標(biāo)簽,正EE802.1Q規(guī)定,由TPID、UserPriority、CFI、VLANID組成)的數(shù)據(jù)幀從端口2出去帶VLAN10的tag,端口1進入的帶VLAN100至200tag的數(shù)據(jù)幀從端口2出去帶QinQ雙層tag,內(nèi)層為VLAN100至200,外層為VLAN20,端口1進入的帶VLAN1000tag的數(shù)據(jù)幀從端口2出去還是帶VLAN1000的tag。顯然,現(xiàn)有的數(shù)據(jù)幀VLAN劃分并轉(zhuǎn)發(fā)的方法對這種需求是很難很方便的滿足的,因為這種場合下數(shù)據(jù)幀進入交換機的VLAN的劃分都是按照數(shù)據(jù)幀進入交換機的端口以及數(shù)據(jù)幀帶的VLANtag中的VLAN值或者是否帶VLANtag決定的。
發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是提供一種新的以太網(wǎng)交換機數(shù)據(jù)幀VLAN劃分并轉(zhuǎn)發(fā)的方法,實現(xiàn)在QinQ模式下的MAC地址學(xué)習(xí)與轉(zhuǎn)發(fā),以及添加和剝除VLANtag的方法。為了解決上述技術(shù)問題,本發(fā)明所釆用的技術(shù)方案的方法,其特征在于,根據(jù)數(shù)據(jù)幀進入交換機的PORT值與數(shù)據(jù)幀進入交換機時所帶的VLANtag建立的QinQVLAN表來進行VLAN的劃分并實現(xiàn)轉(zhuǎn)發(fā),包括以下步驟第一步,交換機從端口PORT收到一個數(shù)據(jù)幀,并從數(shù)據(jù)幀中分析出內(nèi)層VLANtag與外層VLANtag;第二步,根據(jù)數(shù)據(jù)幀進入PORT的值和數(shù)據(jù)幀的內(nèi)外層VLANtag,査找數(shù)據(jù)幀進入交換機的ingressQinQVLAN表,如果能得到一個新的VLAN,則轉(zhuǎn)第三步;否則按照協(xié)議、端口、子網(wǎng)或MAC進行VLAN劃分方法的轉(zhuǎn)發(fā)流程正常轉(zhuǎn)發(fā);第三步,以新的VLAN來學(xué)習(xí)數(shù)據(jù)幀的源MAC地址,形成包含有MAC地址、新的VLAN與PORT的MAC轉(zhuǎn)發(fā)表;第四步,以新的VLAN和數(shù)據(jù)幀的目的MAC地址來查找MAC轉(zhuǎn)發(fā)表,得到轉(zhuǎn)出PORT;第五步,根據(jù)轉(zhuǎn)出PORT和新的VLAN,在數(shù)據(jù)幀轉(zhuǎn)出交換機的egressQinQVLAN表中查找標(biāo)志是否是tag,如果是tag,則轉(zhuǎn)第六步;否則轉(zhuǎn)第七步;第六步,檢查判斷數(shù)據(jù)幀是否已經(jīng)是兩層VLANtag,如果是兩層tag,則保留該數(shù)據(jù)幀的外層VLANtag,直接轉(zhuǎn)第八步;否則在該數(shù)據(jù)幀上再添加一層VLAN值為新VLAN值的VLANtag,轉(zhuǎn)第八步;第七步,檢査判斷數(shù)據(jù)幀是否己經(jīng)是兩層VLANtag,如果是兩層tag,則剝掉該數(shù)據(jù)幀的外層VLANtag,轉(zhuǎn)第八步;否則直接轉(zhuǎn)第八步第八步,在轉(zhuǎn)出PORT上發(fā)送數(shù)據(jù)幀,轉(zhuǎn)發(fā)完成。所述第二步中的數(shù)據(jù)幀進入交換機的ingressQinQVLAN表,是指按照數(shù)據(jù)幀進入交換機的VLANtag進行劃分而形成的,包含有進入PORT、數(shù)據(jù)幀的內(nèi)層VLANtag、數(shù)據(jù)幀的外層VLANtag及用于交換機內(nèi)轉(zhuǎn)發(fā)的VLAN的QinQ表。所述第五步中的數(shù)據(jù)幀轉(zhuǎn)出交換機的egressQinQVLAN表,是指按照數(shù)據(jù)幀轉(zhuǎn)出交換機的VLANtag進行劃分而形成的,包含有轉(zhuǎn)出PORT、交換機內(nèi)轉(zhuǎn)發(fā)的VLAN及數(shù)據(jù)幀轉(zhuǎn)出時的tag標(biāo)志的QinQ表。所述按照數(shù)據(jù)幀進入交換機的VLANtag進行劃分,是指按照數(shù)據(jù)幀進入交換機時的PORT值及其所帶的內(nèi)外層VLANtag進行劃分。所述按照數(shù)據(jù)幀轉(zhuǎn)出交換機的VLANtag進行劃分,是指按照數(shù)據(jù)幀轉(zhuǎn)出交換機時的PORT值及其所帶的VLANtag進行劃分。采用本發(fā)明的技術(shù)方案,交換機在進行數(shù)據(jù)幀的VLAN劃分時,同時參照數(shù)據(jù)幀進入交換機PORT和數(shù)據(jù)幀原來帶的VLAN標(biāo)簽以及VLAN標(biāo)簽中的VLAN值。這種VLAN劃分方法讓數(shù)據(jù)幀的VLAN更加準(zhǔn)確,更加靈活,從而使得廣播域更小,減少了廣播包浪費的帶寬和減小了廣播包的洪泛范圍,而且且使得轉(zhuǎn)發(fā)流程更加清晰,網(wǎng)絡(luò)更加安全和易于故障定位。更重要的通過這種VLAN劃分方法可以將進入交換機的不同的業(yè)務(wù)(數(shù)據(jù)幀帶的VLAN標(biāo)簽)區(qū)分得更細(xì),可以根據(jù)不同的VLAN標(biāo)簽進行不同的管理和業(yè)務(wù)等級劃分。下面結(jié)合附圖與實施方式對本發(fā)明作進一步詳細(xì)的說明。圖1是本發(fā)明中所講到的以太網(wǎng)交換機與端口示意圖。圖2是現(xiàn)有技術(shù)中以太網(wǎng)交換機實現(xiàn)轉(zhuǎn)發(fā)的流程圖。圖3是本發(fā)明以太網(wǎng)交換機數(shù)據(jù)幀通過QinQVLAN表實現(xiàn)二層轉(zhuǎn)發(fā)流程圖。具體實施例方式下面結(jié)合附圖對在以太網(wǎng)交換機上實現(xiàn)按照端口加數(shù)據(jù)幀所帶的VLAN標(biāo)簽來劃分VLAN的方法和在這種VLAN劃分方法下的二層轉(zhuǎn)發(fā)流程做簡要說明。圖1是本發(fā)明中所講到的以太網(wǎng)交換機與端口示意圖,其有三個端口。以太網(wǎng)交換機上按照QinQVLAN表的劃分方法,舉例說明情況一,從交換機端口1進入的只帶VLAN10tag的數(shù)據(jù)幀從端口2出去還是只帶VLAN10的tag;情況二,端口1進入的只帶VLAN100tag的數(shù)據(jù)幀從端口2出去帶QinQ雙層tag,內(nèi)層的tag為VLAN100,外層的tag為VLAN20;情況三,端口l進入的帶QinQ雙層tag,內(nèi)層VLAN2000和外層VLAN1000雙tag的數(shù)據(jù)幀從端口2出去時還是帶內(nèi)層VLAN2000和外層VLANIOOO雙tag;情況四,端口2進入的帶QinQ雙層tag,內(nèi)層的tag為VLAN100,外層的tag為VLAN20的數(shù)據(jù)幀從端口1出去只帶一層VLAN100的tag。對情況一,數(shù)據(jù)幀從交換機的端口1進入,沒有帶VLAN標(biāo)簽,從端口2出去帶VLAN10的tag。這種情況下,這個數(shù)據(jù)幀在交換機中進行MAC學(xué)習(xí)和轉(zhuǎn)發(fā)的VLAN值可以設(shè)置為10,可以建立(PORT1+VLAN10)—VLAN10的ingressQinQVLAN表項和(PORT2+VLAN10)—untag的egressQinQVLAN表項。對情況二,端口1進入的只帶VLAN100tag的數(shù)據(jù)幀從端口2出去帶QinQ雙層tag,內(nèi)層的tag為VLAN100,外層的tag為VLAN20。這種情況下,這個數(shù)據(jù)幀在交換機中進行MAC學(xué)習(xí)和轉(zhuǎn)發(fā)的VLAN值可以設(shè)置為20,可以建(PORT1+inVLAN100)—VLAN20的ingressQinQVLAN表項和(PORT2+VLAN20)—tag的egressQinQVLAN表項。對情況三,端口1進入的帶QinQ雙層tag,內(nèi)層VLAN2000和外層VLAN1000雙tag的數(shù)據(jù)幀從端口2出去時還是帶內(nèi)層VLAN2000和外層VLAN1000雙tag,可以建立(PORT1+inVLAN2000+outVLAN1000)一VLAN1000的ingressQinQVLAN表項和(PORT2+VLAN1000)~*tag的egressQinQVLAN表項。對情況四,端口2進入的帶QinQ雙層tag,內(nèi)層的tag為VLAN100,外層的tag為VLAN20的數(shù)據(jù)幀從端口1出去只帶一層VLAN100的tag。這種情況下,這個數(shù)據(jù)幀在交換機中進行MAC學(xué)習(xí)和轉(zhuǎn)發(fā)的VLAN值可以設(shè)置為20,可以建立(PORT2+outVLAN20+inVLAN100)—VLAN20的ingressQinQVLAN表項和(PORT1+VLAN20)—untag的egressQinQVLAN表項。按照上面的要求,交換機上的ingresQinQVLAN表建立為:<table>tableseeoriginaldocumentpage8</column></row><table>交換機上的egresQinQVLAN表建立為:<table>tableseeoriginaldocumentpage8</column></row><table>圖3是在正確的建立了ingressQinQVLAN表和egressQinQVLAN表后,本發(fā)明以太網(wǎng)交換機數(shù)據(jù)幀通過QinQVLAN表實現(xiàn)二層轉(zhuǎn)發(fā)的流程圖,其與現(xiàn)有技術(shù)中實現(xiàn)太網(wǎng)交換機數(shù)據(jù)幀劃分VLAN并轉(zhuǎn)發(fā)的方法的區(qū)別在于本發(fā)明根據(jù)數(shù)據(jù)幀進入交換機的PORT值與數(shù)據(jù)幀進入交換機時所帶的VLANtag建立的QinQVLAN表來進行VLAN的劃分并實現(xiàn)轉(zhuǎn)發(fā)。圖中3.1數(shù)據(jù)幀從交換的PORTA進入交換機,進行了其他正常流程后,到達VLAN流程,再到3,2;3.2從數(shù)據(jù)幀所帶的VLAN標(biāo)簽中,取出外層VLANX,如果沒有帶外層標(biāo)簽則X取0,內(nèi)層VLANY,如果沒有帶內(nèi)層標(biāo)簽則Y取0,再到3.3;3.3根據(jù)PORTA、外層VLANX、內(nèi)層VLANY查找ingressQinQVLAN表,找到了并且得到VLAN為Z,則3.5,否則3.4;3.4按照其他VLAN劃分的流程進行MAC學(xué)習(xí)和轉(zhuǎn)發(fā);3.5根據(jù)數(shù)據(jù)幀的源MAC地址和VLANZ進行MAC地址學(xué)習(xí),再到3.6;3.6根據(jù)數(shù)據(jù)幀的目的MAC地址和VLANZ査找MAC表轉(zhuǎn)發(fā),得到出PORT為B,再到3.7;3.7根據(jù)PORTB和VLANZ査找egressVLAN表,得到的標(biāo)志是否為tag,是則3.8,否則3.10;3.8被轉(zhuǎn)發(fā)的數(shù)據(jù)幀是否已經(jīng)是兩層VLANtag,是則3J2,否則3.9;3.9給數(shù)據(jù)幀添加一層VLANtag,其VLAN值為Z,再到3.12;3.10被轉(zhuǎn)發(fā)的數(shù)據(jù)幀只有一層VLANtag,是則3.12,否則3.11;3.11剝除數(shù)據(jù)幀的外層VLANtag,再到3.12;3.12發(fā)送數(shù)據(jù)幀,轉(zhuǎn)發(fā)完成。權(quán)利要求1、一種以太網(wǎng)交換機數(shù)據(jù)幀劃分虛擬局域網(wǎng)并轉(zhuǎn)發(fā)的方法,其特征在于,根據(jù)數(shù)據(jù)幀進入交換機的端口值與數(shù)據(jù)幀進入交換機時所帶的虛擬局域網(wǎng)標(biāo)簽建立的虛擬局域網(wǎng)標(biāo)簽堆棧表來進行虛擬局域網(wǎng)的劃分并實現(xiàn)轉(zhuǎn)發(fā),包括以下步驟第一步,交換機從端口收到一個數(shù)據(jù)幀,并從數(shù)據(jù)幀中分析出內(nèi)層虛擬局域網(wǎng)標(biāo)簽與外層虛擬局域網(wǎng)標(biāo)簽;第二步,根據(jù)數(shù)據(jù)幀進入端口的值和數(shù)據(jù)幀的內(nèi)外層虛擬局域網(wǎng)的標(biāo)簽,查找數(shù)據(jù)幀進入交換機的虛擬局域網(wǎng)標(biāo)簽堆棧表,如果能得到一個新的虛擬局域網(wǎng),則轉(zhuǎn)第三步;否則按照協(xié)議、端口、子網(wǎng)或介質(zhì)訪問控制進行虛擬局域網(wǎng)劃分方法的轉(zhuǎn)發(fā)流程正常轉(zhuǎn)發(fā);第三步,以新的虛擬局域網(wǎng)來學(xué)習(xí)數(shù)據(jù)幀的源介質(zhì)訪問控制地址,形成包含有介質(zhì)訪問控制地址、新的虛擬局域網(wǎng)與端口的介質(zhì)訪問控制轉(zhuǎn)發(fā)表;第四步,以新的虛擬局域網(wǎng)和數(shù)據(jù)幀的目的介質(zhì)訪問控制地址來查找介質(zhì)訪問控制轉(zhuǎn)發(fā)表,得到轉(zhuǎn)出端口;第五步,根據(jù)轉(zhuǎn)出端口和新的虛擬局域網(wǎng),在數(shù)據(jù)幀轉(zhuǎn)出交換機的虛擬局域網(wǎng)標(biāo)簽堆棧表中查找標(biāo)志是否是標(biāo)簽,如果是標(biāo)簽,則轉(zhuǎn)第六步;否則轉(zhuǎn)第七步;第六步,檢查判斷數(shù)據(jù)幀是否已經(jīng)是兩層虛擬局域網(wǎng)標(biāo)簽,如果是兩層標(biāo)簽,則保留該數(shù)據(jù)幀的外層虛擬局域網(wǎng)標(biāo)簽,直接轉(zhuǎn)第八步;否則在該數(shù)據(jù)幀上再添加一層虛擬局域網(wǎng)值為新虛擬局域網(wǎng)值的虛擬局域網(wǎng)標(biāo)簽,轉(zhuǎn)第八步;第七步,檢查判斷數(shù)據(jù)幀是否已經(jīng)是兩層虛擬局域網(wǎng)標(biāo)簽,如果是兩層標(biāo)簽,則剝掉該數(shù)據(jù)幀的外層虛擬局域網(wǎng)標(biāo)簽,轉(zhuǎn)第八步;否則直接轉(zhuǎn)第八步;第八步,在轉(zhuǎn)出端口上發(fā)送數(shù)據(jù)幀,轉(zhuǎn)發(fā)完成。2、按照權(quán)利要求1所述的以太網(wǎng)交換機數(shù)據(jù)幀劃分虛擬局域網(wǎng)并轉(zhuǎn)發(fā)的方法,其特征在于所述第二步中的數(shù)據(jù)幀進入交換機的虛擬局域網(wǎng)標(biāo)簽堆棧表,是指按照數(shù)據(jù)幀進入交換機的虛擬局域網(wǎng)標(biāo)簽進行劃分而形成的,包含有端口、數(shù)據(jù)幀的內(nèi)層虛擬局域網(wǎng)標(biāo)簽、數(shù)據(jù)幀的外層虛擬局域網(wǎng)標(biāo)簽及用于交換機內(nèi)轉(zhuǎn)發(fā)的虛擬局域網(wǎng)的標(biāo)簽堆棧表。3、按照權(quán)利要求1所述的以太網(wǎng)交換機數(shù)據(jù)幀劃分虛擬局域網(wǎng)并轉(zhuǎn)發(fā)的方法,其特征在于所述第五步中的數(shù)據(jù)幀轉(zhuǎn)出交換機的虛擬局域網(wǎng)標(biāo)簽堆棧表,是指按照數(shù)據(jù)幀轉(zhuǎn)出交換機的虛擬局域網(wǎng)標(biāo)簽進行劃分而形成的,包含有端口、交換機內(nèi)轉(zhuǎn)發(fā)的虛擬局域網(wǎng)及數(shù)據(jù)幀轉(zhuǎn)出時的標(biāo)簽標(biāo)志的標(biāo)簽堆棧表。4、按照權(quán)利要求2所述的以太網(wǎng)交換機數(shù)據(jù)幀劃分虛擬局域網(wǎng)并轉(zhuǎn)發(fā)的方法,其特征在于所述的按照數(shù)據(jù)幀進入交換機的虛擬局域網(wǎng)標(biāo)簽進行劃分,是指按照數(shù)據(jù)幀進入交換機時的端口值及其所帶的內(nèi)外層虛擬局域網(wǎng)標(biāo)簽進行劃分。5、按照權(quán)利要求3所述的以太網(wǎng)交換機數(shù)據(jù)幀劃分虛擬局域網(wǎng)并轉(zhuǎn)發(fā)的方法,其特征在于所述的按照數(shù)據(jù)幀轉(zhuǎn)出交換機的虛擬局域網(wǎng)標(biāo)簽進行劃分,是指按照數(shù)據(jù)幀轉(zhuǎn)出交換機時的端口值及其所帶的虛擬局域網(wǎng)標(biāo)簽進行劃分。全文摘要本發(fā)明涉及一種以太網(wǎng)交換機數(shù)據(jù)幀劃分VLAN并轉(zhuǎn)發(fā)的方法。本發(fā)明根據(jù)數(shù)據(jù)幀進入交換機的端口PORT值與數(shù)據(jù)幀進入交換機時所帶的VLANtag建立的QinQVLAN表來進行VLAN的劃分并實現(xiàn)轉(zhuǎn)發(fā)。采用本發(fā)明的技術(shù)方案,交換機在進行數(shù)據(jù)幀的VLAN劃分時,同時參照數(shù)據(jù)幀進入交換機PORT和數(shù)據(jù)幀原來帶的VLAN標(biāo)簽以及VLAN標(biāo)簽中的VLAN值,這種VLAN劃分方法讓數(shù)據(jù)幀的VLAN更加準(zhǔn)確,更加靈活,從而使得廣播域更小,減少了廣播包浪費的帶寬和減小了廣播包的洪泛范圍,而且且使得轉(zhuǎn)發(fā)流程更加清晰,網(wǎng)絡(luò)更加安全和易于故障定位。更重要的通過這種VLAN劃分方法可以將進入交換機的不同的業(yè)務(wù)區(qū)分得更細(xì),可以根據(jù)不同的VLAN標(biāo)簽進行不同的管理和業(yè)務(wù)等級劃分。文檔編號H04L12/00GK101110764SQ20071007573公開日2008年1月23日申請日期2007年8月13日優(yōu)先權(quán)日2007年8月13日發(fā)明者楊自鵬申請人:中興通訊股份有限公司