專利名稱:報(bào)文轉(zhuǎn)發(fā)方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及局域網(wǎng)領(lǐng)域,特別涉及一種報(bào)文轉(zhuǎn)發(fā)方法和裝置。
背景技術(shù):
VPLS (Virtual Private Lan Service,虛擬專用局域網(wǎng)業(yè)務(wù))是一種基于MPLS (Multi-Protocol Label Switching,多協(xié)議標(biāo)簽交換)和二層虛擬專用網(wǎng) L2VPN(Layer 2 Virtual Private Network)的技術(shù),通過(guò)VPLS技術(shù)可虛擬出一個(gè)很大的以太網(wǎng)交換機(jī),基于MAC (Media Access Controll,介質(zhì)訪問(wèn)控制)地址進(jìn)行報(bào)文轉(zhuǎn)發(fā),從而可以實(shí)現(xiàn)多點(diǎn)到多點(diǎn)的VPN組網(wǎng)。目前基于MAC轉(zhuǎn)發(fā)的HVPLS (Hierarchical VPLS,分層虛擬專用局域網(wǎng)業(yè)務(wù))在很多地方已經(jīng)部署,隨著用戶的增加,MAC地址表大小也在增加,網(wǎng)絡(luò)需要擴(kuò)容,對(duì)設(shè)備的MAC地址存儲(chǔ)器容量和性能要求也越來(lái)越高。為了確保接入設(shè)備、中間設(shè)備以及網(wǎng)絡(luò)側(cè)設(shè)備的MAC地址存儲(chǔ)器容量和性能與不斷擴(kuò)容的網(wǎng)絡(luò)相匹配,提高VPLS城域以太網(wǎng)的容量,通常的做法就是提高設(shè)備的MAC地址存儲(chǔ)器的容量。在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問(wèn)題為了增加設(shè)備MAC地址表容量,需重新設(shè)計(jì)或修改硬件和軟件,增加研發(fā)和制造成本,網(wǎng)絡(luò)擴(kuò)容不僅要更換或者更新軟件,還需要更換或者擴(kuò)容硬件,費(fèi)用很高。
發(fā)明內(nèi)容
為了在保證通信效率的同時(shí)降低成本和維護(hù),本發(fā)明實(shí)施例提供了一種報(bào)文轉(zhuǎn)發(fā)方法和裝置。所述技術(shù)方案如下一種報(bào)文轉(zhuǎn)發(fā)方法,包括接收用戶報(bào)文;將所述用戶報(bào)文的源MAC地址轉(zhuǎn)換為虛擬MAC地址,并根據(jù)所述用戶報(bào)文的目的地址將轉(zhuǎn)換后的用戶報(bào)文轉(zhuǎn)發(fā)出去。一種報(bào)文轉(zhuǎn)發(fā)方法,包括接收用戶報(bào)文,判斷所述用戶報(bào)文的目的地址是否為虛擬MAC地址;如果所述用戶報(bào)文的目的地址為虛擬MAC地址,則根據(jù)所述虛擬MAC地址對(duì)應(yīng)的轉(zhuǎn)發(fā)表對(duì)所述用戶報(bào)文進(jìn)行轉(zhuǎn)發(fā)。一種報(bào)文轉(zhuǎn)發(fā)裝置,包括接收模塊,用于接收用戶報(bào)文;轉(zhuǎn)換模塊,用于將所述用戶報(bào)文的源MAC地址轉(zhuǎn)換為虛擬MAC地址;轉(zhuǎn)發(fā)模塊,用于根據(jù)所述用戶報(bào)文的目的地址將轉(zhuǎn)換后的用戶報(bào)文轉(zhuǎn)發(fā)出去。一種報(bào)文轉(zhuǎn)發(fā)裝置,包括接收模塊,用于接收用戶報(bào)文;判斷模塊,用于判斷所述用戶報(bào)文的目的地址是否為虛擬MAC地址;轉(zhuǎn)發(fā)模塊,用于當(dāng)所述判斷模塊判斷所述用戶報(bào)文的目的地址為虛擬MAC地址,則根據(jù)所述虛擬MAC地址對(duì)應(yīng)的轉(zhuǎn)發(fā)表對(duì)所述用戶報(bào)文進(jìn)行轉(zhuǎn)發(fā)。本發(fā)明實(shí)施例提供的技術(shù)方案的有益效果是通過(guò)在接收到報(bào)文時(shí),僅學(xué)習(xí)地址的指定比特位,并根據(jù)該指定比特位進(jìn)行轉(zhuǎn)發(fā), 使得在用戶設(shè)備較多的網(wǎng)絡(luò)中進(jìn)行報(bào)文轉(zhuǎn)發(fā)時(shí),不受硬件設(shè)備容量或能力的限制,避免了對(duì)設(shè)備MAC地址表的擴(kuò)容,簡(jiǎn)化了對(duì)各個(gè)用戶設(shè)備無(wú)規(guī)律的MAC地址的學(xué)習(xí)過(guò)程,在保證通信效率的同時(shí)降低成本和維護(hù)。
圖1是本發(fā)明實(shí)施例圖2是本發(fā)明實(shí)施例圖3是本發(fā)明實(shí)施例圖4是本發(fā)明實(shí)施例圖5是本發(fā)明實(shí)施例圖6是本發(fā)明實(shí)施例圖7是本發(fā)明實(shí)施例圖8是本發(fā)明實(shí)施例
提供的VPLS城域網(wǎng)的一種簡(jiǎn)化的架構(gòu)示意圖提供的一種報(bào)文轉(zhuǎn)發(fā)方法的流程圖提供的一種虛擬MAC地址的示例圖提供的一種報(bào)文轉(zhuǎn)發(fā)方法的流程圖提供的一種報(bào)文轉(zhuǎn)發(fā)方法的流程圖提供的一種報(bào)文轉(zhuǎn)發(fā)方法的流程圖提供的一種報(bào)文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖; 提供的一種報(bào)文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。實(shí)施例1在該實(shí)施例中,以圖1所示的HVPLS場(chǎng)景為例對(duì)本發(fā)明實(shí)施例提供的一種報(bào)文轉(zhuǎn)發(fā)方法進(jìn)行介紹,所述方法執(zhí)行主體為DSLAM(Digital Subscriber Line Access Multiplexer,數(shù)字用戶線接入復(fù)用器)。本領(lǐng)域技術(shù)人員可以理解,本實(shí)施例提供的所述報(bào)文轉(zhuǎn)發(fā)方法的執(zhí)行主體不只限于DSLAM,也可以由其他二層匯聚設(shè)備,如具有匯聚功能的交換機(jī)來(lái)執(zhí)行。參見(jiàn)圖2,所述報(bào)文轉(zhuǎn)發(fā)方法包括201、接收用戶報(bào)文;在本實(shí)施例中,網(wǎng)絡(luò)中一般部署有接入設(shè)備、中間設(shè)備和網(wǎng)絡(luò)側(cè)設(shè)備,其中,中間設(shè)備一般為具有VPLS能力的路由器。參見(jiàn)圖1,本發(fā)明實(shí)施例中的接入設(shè)備為DSLAM,中間設(shè)備為UPE (Underlayer Provider Edge,下層服務(wù)提供商邊緣設(shè)備)或SPE (Superstratum Provider Edge,上層服務(wù)提供商邊緣設(shè)備),網(wǎng)絡(luò)側(cè)設(shè)備為BRAS (Broadband Remote Access Server,寬帶遠(yuǎn)程接入服務(wù)器)。需要說(shuō)明的是,本實(shí)施例中所述的用戶報(bào)文可以為數(shù)據(jù)報(bào)文或協(xié)議報(bào)文。202、將所述用戶報(bào)文的源MAC地址轉(zhuǎn)換為虛擬MAC地址,并根據(jù)所述用戶報(bào)文的目的MAC地址,將轉(zhuǎn)換后的的用戶報(bào)文轉(zhuǎn)發(fā)出去。舉例來(lái)說(shuō),DSLAM從連接的用戶設(shè)備接收用戶報(bào)文,該用戶報(bào)文包含源MAC源MAC 地址和目的MAC目的地址。DSLAM將所述源MAC源MAC地址轉(zhuǎn)換為如圖3所示的虛擬MAC 地址,該虛擬MAC地址包含VMAC FLAG (虛擬MAC地址標(biāo)識(shí))、U/L (全球/本地)字段和I/G (組播地址標(biāo)志位)字段、接入設(shè)備標(biāo)識(shí)(DSLAM ID)字段、槽位號(hào)(SLOT ID)字段、接口號(hào)字段(PORT ID)和MAC標(biāo)識(shí)(MAC ID)字段。該虛擬MAC地址為48比特,與普通的MAC地址長(zhǎng)度相同。其中,所述虛擬MAC地址中的第42-47比特為VMAC FLAG,用于標(biāo)識(shí)本地址為虛擬MAC地址。此標(biāo)識(shí)可以由用戶任意設(shè)置,舉例來(lái)說(shuō),可以通過(guò)將VMACFLAG的第1位,也就是整個(gè)虛擬MAC地址的第47比特的值置為1來(lái)標(biāo)識(shí)該地址為虛擬MAC地址。所述虛擬 MAC地址的第41比特為U/L比特,該比特置1標(biāo)識(shí)該地址為本地管理地址,該比特置0則標(biāo)識(shí)此地址為全球通用地址。第40比特為組播地址標(biāo)志位(I/G字段),當(dāng)該比特置0標(biāo)識(shí)此地址為單播地址,該比特置1標(biāo)識(shí)此地址為組播地址。上述兩個(gè)字段遵從IEEE定義,本實(shí)施例不做特殊限定。所述虛擬MAC地址中的第M-39比特為DSLAM ID標(biāo)識(shí),該標(biāo)識(shí)的值可在實(shí)際工作中根據(jù)方便部署和維護(hù)隨意以任意設(shè)置,僅是給設(shè)備起的一個(gè)名字,如第一臺(tái)為0X0001,第二臺(tái)為0X0002等。所述虛擬MAC地址中的第0-23比特為槽位標(biāo)識(shí)SLOT ID字段、端口標(biāo)識(shí)PORT ID 字段和MAC ID字段。其中,SLOT ID字段和端口標(biāo)識(shí)PORT ID字段的值可以由DSLAM根據(jù)接收的所述用戶報(bào)文來(lái)自的接口自動(dòng)生成。而用戶MAC ID的值可以由DSLAM根據(jù)所述用戶報(bào)文來(lái)自的用戶設(shè)備來(lái)確定,例如,對(duì)于來(lái)自用戶設(shè)備1的用戶報(bào)文就將該字段的值設(shè)置為1,對(duì)于來(lái)自用戶設(shè)備2的用戶報(bào)文就將該字段的值設(shè)置為2。該MAC ID還可以根據(jù)用戶設(shè)備的接入順序來(lái)確定,例如,對(duì)于第一個(gè)接入的用戶設(shè)備就將該字段設(shè)置為1,對(duì)于第二個(gè)接入的用戶設(shè)備就將該字段設(shè)置為2,該設(shè)置方法由技術(shù)人員在配置DSLAM的時(shí)候進(jìn)行預(yù)設(shè),該MAC ID的設(shè)置方法可以有多種,本發(fā)明實(shí)施例不做具體限定。本領(lǐng)域技術(shù)人員可以理解,上述虛擬MAC地址的格式只是諸多的可以實(shí)現(xiàn)本發(fā)明的格式之一,對(duì)于任何能和來(lái)自用戶設(shè)備的用戶的MAC地址一一對(duì)應(yīng),并且能以少于48比特的長(zhǎng)度來(lái)標(biāo)識(shí)執(zhí)行本方法的DSLAM身份的虛擬MAC地址的格式都是可以的。需要說(shuō)明的是,目前一般部署方式,DSLAM —個(gè)接口下連接一個(gè)家庭網(wǎng)關(guān)(如家庭路由器),再用家庭網(wǎng)關(guān)可聯(lián)接多個(gè)用戶設(shè)備,如Voip電話,PC,IPTV機(jī)頂盒等用戶設(shè)備。舉例來(lái)說(shuō),在本實(shí)施例中,將所述用戶報(bào)文的源MAC地址轉(zhuǎn)換為虛擬MAC地址,具體包括當(dāng)DSLAM收到來(lái)自用戶設(shè)備的用戶報(bào)文后,讀取所述用戶報(bào)文的源MAC地址字段的值,然后根據(jù)本DSLAM自身的標(biāo)識(shí),以及所述用戶報(bào)文來(lái)自的接口將所述用戶報(bào)文的源 MAC地址轉(zhuǎn)換為虛擬MAC地址。由于所述虛擬MAC地址中的SLOT ID、PORT ID、MAC ID對(duì)于每一個(gè)DSLAM都是唯一的,因此生成的所述虛擬MAC地址也是唯一的。所述DSLAM還需要將所述用戶報(bào)文的MAC地址、轉(zhuǎn)換后的虛擬MAC地址以及二者之間的對(duì)應(yīng)關(guān)系儲(chǔ)存下來(lái), 以便后續(xù)使用。另外,需要說(shuō)明的是,DSLAM還可以是在用戶設(shè)備接入時(shí),為用戶設(shè)備進(jìn)行MAC地址和虛擬MAC地址的映射,并將所述用戶報(bào)文的MAC地址、轉(zhuǎn)換后的虛擬MAC地址以及二者之間的對(duì)應(yīng)關(guān)系儲(chǔ)存下來(lái),以便后續(xù)使用。由于對(duì)于同一個(gè)DSLAM,所述虛擬MAC地址的VMAC FLAG、U/L、I/G字段和DSLAMID 字段的值都是相同的,因此經(jīng)過(guò)同一個(gè)DSLAM轉(zhuǎn)換后的用戶報(bào)文的虛擬MAC地址的前M比特(虛擬MAC地址的第對(duì)-47位)都是相同的。這樣,對(duì)于VPLS網(wǎng)絡(luò)中的中間設(shè)備,例如本實(shí)施例中的UPE和SPE,在進(jìn)行地址學(xué)習(xí)的過(guò)程中只需要學(xué)習(xí)接收到的用戶報(bào)文的源MAC地址字段的前M比特,并生成包含這M比特的地址轉(zhuǎn)發(fā)表。由于這M比特就可以唯一地標(biāo)識(shí)所述接收的用戶報(bào)文來(lái)自的DSLAM,從而當(dāng)所述中間設(shè)備從網(wǎng)絡(luò)側(cè)設(shè)備收到用戶報(bào)文后,就可以根據(jù)所述用戶報(bào)文的目的地址字段中的虛擬MAC地址的前M比特將用戶報(bào)文轉(zhuǎn)發(fā)到相應(yīng)的DSLAM。由于每個(gè)中間設(shè)備,例如UPE和SPE對(duì)于每個(gè)DSLAM只需要學(xué)習(xí)24 比特的地址,從而對(duì)于來(lái)自同一 DSLAM的用戶報(bào)文只需要生成一條轉(zhuǎn)發(fā)表項(xiàng),相對(duì)于對(duì)同一 DSLAM連接的每個(gè)用戶設(shè)備的MAC地址都生成一條轉(zhuǎn)發(fā)表項(xiàng)而言,本實(shí)施例提供的報(bào)文轉(zhuǎn)發(fā)方法節(jié)省了中間設(shè)備MAC地址存儲(chǔ)器的存儲(chǔ)空間,節(jié)省了中間設(shè)備硬件擴(kuò)容所需的費(fèi)用,在保證通信效率的同時(shí)降低成本和維護(hù)費(fèi)用。本發(fā)明實(shí)施例提供的所述報(bào)文轉(zhuǎn)發(fā)方法進(jìn)一步包括203、當(dāng)收到的用戶報(bào)文的目的地址為虛擬MAC地址時(shí),將所述目的地址中的虛擬 MAC地址轉(zhuǎn)換為對(duì)應(yīng)的MAC地址,并根據(jù)所述MAC地址將所述用戶報(bào)文轉(zhuǎn)發(fā)出去。在本實(shí)施例中,由于網(wǎng)絡(luò)中的每個(gè)DSLAM都連接多個(gè)用戶設(shè)備,當(dāng)所述DSLAM從中間設(shè)備,例如UPE接收到用戶報(bào)文后,判斷所述用戶報(bào)文的目的地址是否為虛擬MAC地址, 例如,可以通過(guò)判斷所述用戶報(bào)文的目的地址字段的第一位是否為1,如果為1則表明目的地址字段為虛擬MAC地址。當(dāng)所述目的地址字段為虛擬MAC地址時(shí),DSLAM查詢本地存儲(chǔ)的虛擬MAC地址與MAC地址的對(duì)應(yīng)關(guān)系,得到所述虛擬MAC地址對(duì)應(yīng)的用戶設(shè)備的MAC地址,并根據(jù)該MAC地址將所述用戶報(bào)文轉(zhuǎn)發(fā)給對(duì)應(yīng)的用戶設(shè)備。在本實(shí)施例中,由于網(wǎng)絡(luò)中的每個(gè)DSLAM都連接多個(gè)用戶設(shè)備,在中間設(shè)備UPE 和SPE上僅對(duì)源MAC地址的指定比特位例如,本實(shí)施例中為前M比特進(jìn)行學(xué)習(xí),并生成轉(zhuǎn)發(fā)表,在后續(xù)轉(zhuǎn)發(fā)報(bào)文時(shí),僅根據(jù)轉(zhuǎn)發(fā)表向報(bào)文目的地址中指定比特位所指示的地址進(jìn)行轉(zhuǎn)發(fā),就可以直接將報(bào)文發(fā)送到用戶設(shè)備所屬的DSLAM上,并由DSLAM進(jìn)行進(jìn)一步的轉(zhuǎn)發(fā), DSLAM的轉(zhuǎn)發(fā)可以包括查詢本地的虛擬MAC地址與MAC地址的對(duì)應(yīng)關(guān)系,得到當(dāng)前用戶報(bào)文的目的地址中的虛擬MAC地址對(duì)應(yīng)的用戶設(shè)備MAC地址,并根據(jù)該MAC地址對(duì)該報(bào)文進(jìn)行轉(zhuǎn)發(fā),實(shí)施例2本發(fā)明實(shí)施例2提供一種報(bào)文轉(zhuǎn)發(fā)方法。在該實(shí)施例中,執(zhí)行主體為中間設(shè)備,所述中間設(shè)備例如為圖1中所示的UPE和SPE。參見(jiàn)圖4,本實(shí)施例提供的報(bào)文轉(zhuǎn)發(fā)方法包括401、接收用戶報(bào)文,判斷所述用戶報(bào)文的目的地址是否為虛擬MAC地址;該報(bào)文可以是來(lái)自用戶設(shè)備的數(shù)據(jù)報(bào)文或協(xié)議報(bào)文,還可以是來(lái)自網(wǎng)絡(luò)側(cè)的報(bào)文。在本實(shí)施例中,當(dāng)UPE或者SPE從DSLAM接收到用戶報(bào)文后,判斷所述用戶報(bào)文的目的地址字段是否為虛擬MAC地址,例如可以通過(guò)判斷所述用戶報(bào)文的目的地址的第一位是否為1來(lái)進(jìn)行判斷,如果為1則表明目的地址字段為虛擬MAC地址。402、如果所述用戶報(bào)文的目的地址為虛擬MAC地址,則根據(jù)所述虛擬MAC地址對(duì)應(yīng)的轉(zhuǎn)發(fā)表對(duì)所述用戶報(bào)文進(jìn)行轉(zhuǎn)發(fā);如果所述用戶報(bào)文的目的地址為虛擬MAC地址,則收到所述用戶報(bào)文的UPE或者 SPE查找本地的地址轉(zhuǎn)發(fā)表。舉例來(lái)說(shuō),如果在地址轉(zhuǎn)發(fā)表中查找到了對(duì)應(yīng)所述虛擬地址的前M比特的轉(zhuǎn)發(fā)表項(xiàng),則根據(jù)所述轉(zhuǎn)發(fā)表項(xiàng)將所述用戶報(bào)文轉(zhuǎn)發(fā)出去。如果在本地的地址轉(zhuǎn)發(fā)表中沒(méi)有查找到對(duì)應(yīng)所述虛擬地址的前M比特的轉(zhuǎn)發(fā)表項(xiàng),則所述UPE或者SPE將所述用戶報(bào)文廣播發(fā)送出去,這樣收到所述用戶報(bào)文的DSLAM可以將所用戶報(bào)文中的虛擬 MAC地址轉(zhuǎn)換為對(duì)應(yīng)的正常MAC地址,然后根據(jù)所述MAC地址轉(zhuǎn)發(fā)給對(duì)應(yīng)的用戶設(shè)備。如果所述用戶報(bào)文的目的地址為正常的MAC地址,則收到所述用戶報(bào)文的UPE或者SPE進(jìn)行正常的用戶報(bào)文轉(zhuǎn)發(fā),在此不再贅述。本實(shí)施例提供的報(bào)文轉(zhuǎn)發(fā)方法可以進(jìn)一步包括403、對(duì)于接收到的用戶報(bào)文中的源MAC地址字段中的虛擬MAC地址,如果轉(zhuǎn)發(fā)表中沒(méi)有對(duì)應(yīng)所述虛擬MAC地址的轉(zhuǎn)發(fā)表項(xiàng)時(shí),學(xué)習(xí)所述虛擬MAC地址生成對(duì)應(yīng)所述虛擬MAC 地址的轉(zhuǎn)發(fā)表項(xiàng)。具體來(lái)說(shuō),所述學(xué)習(xí)過(guò)程跟正常的MAC地址學(xué)習(xí)過(guò)程相同,區(qū)別就是只需要學(xué)習(xí)所述虛擬MAC地址的前對(duì)比特就可以了,從而在本地生成對(duì)應(yīng)所述虛擬地址的前M比特的轉(zhuǎn)發(fā)表項(xiàng)。這樣,當(dāng)所述UPE或者SPE再次接收到目的地址字段為所述虛擬MAC地址的用戶報(bào)文時(shí),就可以根據(jù)上述學(xué)習(xí)生成的對(duì)應(yīng)所述虛擬MAC地址的前對(duì)比特的轉(zhuǎn)發(fā)表項(xiàng)對(duì)所述用戶報(bào)文進(jìn)行轉(zhuǎn)發(fā)。本領(lǐng)域技術(shù)人員可以理解,本實(shí)施例中進(jìn)行虛擬MAC地址學(xué)習(xí)過(guò)程中學(xué)習(xí)MAC地址的哪些比特跟DSLAM上將用戶報(bào)文的源MAC地址轉(zhuǎn)換成虛擬MAC地址的方式有關(guān),如果DSLAM上轉(zhuǎn)換后的虛擬MAC地址使用多于或者少于M比特來(lái)對(duì)應(yīng)所述DSLAM, 則本實(shí)施中也學(xué)習(xí)相應(yīng)的比特位即可。本發(fā)明實(shí)施例提供的方法,通過(guò)中間設(shè)備在接收到來(lái)自接入設(shè)備的報(bào)文時(shí),僅學(xué)習(xí)該報(bào)文的特定比特位,并根據(jù)該指定比特位生成報(bào)文轉(zhuǎn)發(fā)表,使得網(wǎng)絡(luò)中的設(shè)備不受硬件設(shè)備容量或能力的限制,節(jié)省了中間設(shè)備MAC地址存儲(chǔ)器的存儲(chǔ)空間,從而降低了中間設(shè)備硬件擴(kuò)容所需的費(fèi)用,在保證通信效率的同時(shí)降低成本和維護(hù)費(fèi)用。實(shí)施例3圖5是本發(fā)明實(shí)施例提供的一種報(bào)文轉(zhuǎn)發(fā)方法的流程圖。在該實(shí)施例中,對(duì)報(bào)文發(fā)送、轉(zhuǎn)發(fā)的過(guò)程進(jìn)行詳細(xì)的描述,報(bào)文為數(shù)據(jù)報(bào)文,進(jìn)一步參見(jiàn)圖5,該過(guò)程中發(fā)生交互的設(shè)備包括發(fā)送報(bào)文的用戶設(shè)備、用戶設(shè)備所屬DSLAM,中間設(shè)備UPE、SPE、以及BRAS,參見(jiàn)圖5,該實(shí)施例的方法包括501、用戶設(shè)備發(fā)送用戶報(bào)文;具體來(lái)說(shuō),該用戶報(bào)文包含的源MAC地址為用戶設(shè)備的MAC地址,目的地址為通信對(duì)端的MAC地址。需要說(shuō)明的是,本實(shí)施例中,是以用戶設(shè)備已經(jīng)獲知通信對(duì)端的MAC地址為前提進(jìn)行描述的,針對(duì)戶設(shè)備不知道通信對(duì)端的MAC地址時(shí)的情況在后續(xù)實(shí)施例中進(jìn)行說(shuō)明。在本實(shí)施例中,該虛擬MAC地址格式的一個(gè)例子如圖3所示。該虛擬MAC地址各字段的含義和實(shí)施1中相同,在此不再贅述。502、DSLAM接收用戶設(shè)備發(fā)送的用戶報(bào)文,將所述用戶報(bào)文中的源MAC地址轉(zhuǎn)換為虛擬MAC地址,并將轉(zhuǎn)換后的用戶報(bào)文向UPE轉(zhuǎn)發(fā);舉例來(lái)說(shuō),DSLAM在用戶設(shè)備入網(wǎng)時(shí),對(duì)該用戶設(shè)備的源MAC地址進(jìn)行學(xué)習(xí),并根據(jù)預(yù)設(shè)規(guī)則將用戶的源MAC地址映射為虛擬MAC地址,其中所述虛擬MAC地址與實(shí)際的MAC 地址為一對(duì)一對(duì)應(yīng)。例如所述預(yù)設(shè)的規(guī)則可以以保存源MAC地址和虛擬MAC地址一一對(duì)應(yīng)關(guān)系的對(duì)應(yīng)表體現(xiàn)出來(lái)。這樣,當(dāng)DSLAM接收到來(lái)自該用戶設(shè)備的用戶報(bào)文時(shí),就可以根據(jù)該保存的對(duì)應(yīng)表中的源MAC地址和虛擬MAC地址的對(duì)應(yīng)關(guān)系將所述用戶報(bào)文的從源MAC地址映射轉(zhuǎn)換為虛擬MAC地址,然后將完成映射轉(zhuǎn)換的所述用戶報(bào)文轉(zhuǎn)發(fā)出去。上述映射轉(zhuǎn)換過(guò)程和轉(zhuǎn)換后的虛擬MAC地址的格式和上述實(shí)施例1和2中相同,在此不再贅述。需要說(shuō)明的是,DSLAM對(duì)從網(wǎng)絡(luò)側(cè)設(shè)備發(fā)來(lái)的用戶報(bào)文的源MAC地址不需要進(jìn)行映射。503、UPE接收到轉(zhuǎn)換后的所述用戶報(bào)文,判斷該用戶報(bào)文中包含的源MAC地址是否包含虛擬MAC地址,如果是,則該源MAC地址為虛擬MAC地址,執(zhí)行步驟504,如果否,則該源MAC地址不是虛擬MAC地址,執(zhí)行步驟505 ;需要說(shuō)明的是,對(duì)于網(wǎng)絡(luò)中的DSLAM或者其他的二層匯聚設(shè)備都支持虛擬MAC地址的情況,可以不需要判斷的步驟,而當(dāng)網(wǎng)絡(luò)中的DSLAM或者其他的二層匯聚設(shè)備中有的不支持MAC映射的情況,則該方法需包括判斷的步驟。504、UPE學(xué)習(xí)所述用戶報(bào)文的虛擬MAC地址的指定比特位,生成包括虛擬MAC地址的指定比特位的轉(zhuǎn)發(fā)表,并繼續(xù)向SPE轉(zhuǎn)發(fā)所述用戶報(bào)文,執(zhí)行506 ;具體地,UPE在包含虛擬MAC地址指定比特位的轉(zhuǎn)發(fā)表中查找對(duì)應(yīng)所述虛擬MAC 地址指定比特位的表項(xiàng),如果查找到對(duì)應(yīng)的表項(xiàng),則根據(jù)所述對(duì)應(yīng)的表項(xiàng)將所述用戶報(bào)文轉(zhuǎn)發(fā)出去;如果沒(méi)有查找到對(duì)應(yīng)的表項(xiàng),則學(xué)習(xí)所述用戶報(bào)文的虛擬MAC地址的指定比特位,生成包括虛擬MAC地址的指定比特位的轉(zhuǎn)發(fā)表,并繼續(xù)向SPE轉(zhuǎn)發(fā)所述用戶報(bào)文,執(zhí)行 506 ;其中,該轉(zhuǎn)發(fā)表包含的轉(zhuǎn)發(fā)表項(xiàng)保存接收到的所述用戶報(bào)文來(lái)自的UPE的接口與所述虛擬MAC地址指定比特位的對(duì)應(yīng)關(guān)系,當(dāng)后續(xù)接收到目的地址包括該指定比特位的用戶報(bào)文時(shí),將該用戶報(bào)文通過(guò)該指定比特位對(duì)應(yīng)的所述接口轉(zhuǎn)發(fā)出去。505、UPE所述用戶報(bào)文的目的地址向SPE正常轉(zhuǎn)發(fā)該用戶報(bào)文,執(zhí)行步驟506 ;由于經(jīng)過(guò)判斷,所述用戶報(bào)文的目的地址為正常的MAC地址而不是虛擬MAC地址, 則根據(jù)MAC地址轉(zhuǎn)發(fā)所述用戶報(bào)文。506 ;SPE接收所述用戶報(bào)文,判斷所述用戶報(bào)文中包含的源MAC地址是否為虛擬 MAC地址,如果是,則執(zhí)行507,如果否,則執(zhí)行步驟508 ;507,SPE學(xué)習(xí)虛擬MAC地址的指定比特位,生成轉(zhuǎn)發(fā)表,并根據(jù)所述用戶報(bào)文的目的地址向BRAS轉(zhuǎn)發(fā)該用戶報(bào)文,結(jié)束;網(wǎng)絡(luò)側(cè)BRAS接收到該轉(zhuǎn)換后的用戶報(bào)文后,通過(guò)路由表,進(jìn)行IP轉(zhuǎn)發(fā)。508、SPE根據(jù)所述用戶報(bào)文的目的地址向BRAS轉(zhuǎn)發(fā)所述用戶報(bào)文。當(dāng)用戶報(bào)文從BRAS向用戶設(shè)備轉(zhuǎn)發(fā)時(shí),接收到用戶報(bào)文的中間設(shè)備,判斷接收到的所述用戶報(bào)文的目的地址是否為虛擬MAC地址,如果是,則根據(jù)在上述步驟504學(xué)習(xí)到的轉(zhuǎn)發(fā)表轉(zhuǎn)發(fā)所述用戶報(bào)文,當(dāng)DSLAM接收到所述用戶報(bào)文時(shí),將所述用戶報(bào)文中的虛擬MAC 地址轉(zhuǎn)換為對(duì)應(yīng)的MAC地址,并根據(jù)MAC地址轉(zhuǎn)發(fā)表,將所述用戶報(bào)文轉(zhuǎn)發(fā)給該MAC地址指示的用戶設(shè)備。對(duì)于中間設(shè)備接收到的用戶報(bào)文的目的地址不是虛擬MAC地址時(shí),按照正常的轉(zhuǎn)發(fā)流程進(jìn)行轉(zhuǎn)發(fā),在此不再贅述。本發(fā)明實(shí)施例中的VPLS城域網(wǎng)中的各個(gè)節(jié)點(diǎn)(或中間設(shè)備)只學(xué)習(xí)虛擬MAC地址中指定比特位,生成一個(gè)轉(zhuǎn)發(fā)表項(xiàng),也就是將MAC地址進(jìn)行聚合,每個(gè)虛擬MAC地址的指定比特位代表一個(gè)運(yùn)營(yíng)商邊緣接入設(shè)備(DSLAM),且在轉(zhuǎn)發(fā)用戶報(bào)文時(shí),根據(jù)該轉(zhuǎn)發(fā)表項(xiàng)將用戶報(bào)文轉(zhuǎn)發(fā)到相應(yīng)運(yùn)營(yíng)商邊緣接入設(shè)備(DSLAM),同時(shí)大大降低了 MAC地址表容量。
本發(fā)明實(shí)施例提供的方法,通過(guò)中間設(shè)備在接收到來(lái)自接入設(shè)備的用戶報(bào)文時(shí), 僅學(xué)習(xí)該用戶報(bào)文中源MAC地址的特定比特位,并根據(jù)該指定比特位生成用戶報(bào)文轉(zhuǎn)發(fā)表,使得網(wǎng)絡(luò)中的設(shè)備不受硬件設(shè)備容量或能力的限制,節(jié)省了中間設(shè)備MAC地址存儲(chǔ)器的存儲(chǔ)空間,避免了對(duì)設(shè)備MAC地址表的擴(kuò)容,在保證通信效率的同時(shí)降低成本和維護(hù)。圖6是本發(fā)明實(shí)施例提供的一種報(bào)文轉(zhuǎn)發(fā)方法的流程圖。在該實(shí)施例中,用戶報(bào)文為協(xié)議報(bào)文,以該協(xié)議報(bào)文為ARP(Address Resolution Protocol,地址解析協(xié)議)協(xié)議報(bào)文為例進(jìn)行描述,還需要將報(bào)文中的源MAC地址字段轉(zhuǎn)換為虛擬MAC地址,從而保證ARP 協(xié)議的正常工作。在通信時(shí),當(dāng)用戶設(shè)備只知道通信對(duì)端的IP地址,需要通過(guò)ARP協(xié)議來(lái)獲取對(duì)端的MAC地址,并將對(duì)端的MAC地址作為目的地址包含在報(bào)文中。在此種場(chǎng)景下,參見(jiàn)圖6,該實(shí)施例包括601、用戶設(shè)備發(fā)送用戶報(bào)文;舉例來(lái)說(shuō),該用戶報(bào)文包含的源MAC地址為用戶設(shè)備的MAC地址,目的地址為通信對(duì)端的IP地址。在該實(shí)施例中,用戶設(shè)備并不知道通信對(duì)端的MAC地址,因此需要通過(guò)ARP 協(xié)議報(bào)文獲取MAC地址。602、DSLAM接收用戶設(shè)備發(fā)送的用戶報(bào)文,將所述用戶報(bào)文中的源MAC地址轉(zhuǎn)換為對(duì)應(yīng)的虛擬MAC地址,并將轉(zhuǎn)換后的用戶報(bào)文向UPE轉(zhuǎn)發(fā);需要說(shuō)明的是,由于協(xié)議報(bào)文的特殊性,需要對(duì)用戶報(bào)文攜帶的數(shù)據(jù)內(nèi)容進(jìn)行檢測(cè),并將用戶報(bào)文包內(nèi)的源MAC地址進(jìn)行轉(zhuǎn)換。603、UPE接收到所述轉(zhuǎn)換后的用戶報(bào)文,判斷該轉(zhuǎn)換后的用戶報(bào)文中包含的源 MAC地址是否為虛擬MAC地址,如果是,則執(zhí)行步驟604,如果否,則源MAC地址執(zhí)行步驟 605 ;本實(shí)施例中判斷該轉(zhuǎn)換后的用戶報(bào)文中包含的源MAC地址是否包含虛擬MAC地址的方法和實(shí)施例1-3中相同,在此不再贅述。604、UPE學(xué)習(xí)所述轉(zhuǎn)換后的用戶報(bào)文源MAC地址的指定比特位,生成轉(zhuǎn)發(fā)表,并向 SPE轉(zhuǎn)發(fā)該轉(zhuǎn)換后的用戶報(bào)文,執(zhí)行步驟606 ;其中,該轉(zhuǎn)發(fā)表包含用戶報(bào)文入口與指定比特位的對(duì)應(yīng)關(guān)系,當(dāng)后續(xù)接收到目的地址包括該指定比特位的用戶報(bào)文時(shí),將該用戶報(bào)文通過(guò)該指定比特位對(duì)應(yīng)的用戶報(bào)文入口轉(zhuǎn)發(fā)。UPE學(xué)習(xí)源MAC地址的指定比特位生成轉(zhuǎn)發(fā)表的方法和在前的實(shí)施例2和3中的方法相同,在此不再贅述。605、UPE根據(jù)所述轉(zhuǎn)換后的用戶報(bào)文的目的MAC地址向SPE正常轉(zhuǎn)發(fā)該用戶報(bào)文, 執(zhí)行步驟606 ;606 ;SPE接收轉(zhuǎn)換后的用戶報(bào)文,判斷該轉(zhuǎn)換后的用戶報(bào)文中包含的源MAC地址是否為虛擬MAC地址,如果是,則執(zhí)行步驟607,如果否,則執(zhí)行步驟608 ;607,SPE學(xué)習(xí)所述虛擬MAC地址的指定比特位,生成轉(zhuǎn)發(fā)表,并根據(jù)該轉(zhuǎn)換后的用戶報(bào)文的目的地址向BRAS轉(zhuǎn)發(fā)該用戶報(bào)文,結(jié)束;608、SPE根據(jù)轉(zhuǎn)換后的用戶報(bào)文的目的MAC地址向BRAS正常轉(zhuǎn)發(fā)該轉(zhuǎn)換后的用戶報(bào)文。該步驟604-608與步驟504-508原理類似,在此不再贅述。609 當(dāng)網(wǎng)絡(luò)側(cè)BRAS接收到該轉(zhuǎn)換后的用戶報(bào)文時(shí),生成應(yīng)答報(bào)文,并將該應(yīng)答報(bào)
10文反饋給用戶設(shè)備;具體地,該用戶報(bào)文為ARP請(qǐng)求報(bào)文,BRAS生成針對(duì)該ARP請(qǐng)求報(bào)文的ARP應(yīng)答報(bào)文,并將該ARP應(yīng)答報(bào)文反饋給用戶設(shè)備。在本實(shí)施例中,ARP應(yīng)答報(bào)文從BRAS反饋至DSLAM的過(guò)程與UPE或SPE進(jìn)行學(xué)習(xí)和轉(zhuǎn)發(fā)的過(guò)程相似,在此不再贅述,需要說(shuō)明的是,在步驟603時(shí),DSLAM對(duì)用戶報(bào)文包頭和包內(nèi)的MAC地址都進(jìn)行了轉(zhuǎn)換,因此,當(dāng)DSLAM接收到BRAS反饋的ARP應(yīng)答報(bào)文時(shí),也需要對(duì)應(yīng)答報(bào)文中的目的地址進(jìn)行轉(zhuǎn)換,則該過(guò)程還包括以下步驟610 當(dāng)DSLAM接收到應(yīng)答報(bào)文時(shí),將應(yīng)答報(bào)文包頭的虛擬MAC地址預(yù)和應(yīng)答報(bào)文包內(nèi)的虛擬MAC地址轉(zhuǎn)換為MAC地址,并將轉(zhuǎn)換后的應(yīng)答報(bào)文轉(zhuǎn)發(fā)給該用戶設(shè)備。通過(guò)在接收到報(bào)文時(shí),僅學(xué)習(xí)地址的指定比特位,并根據(jù)該指定比特位進(jìn)行報(bào)文轉(zhuǎn)發(fā),使得在用戶設(shè)備較多的網(wǎng)絡(luò)中進(jìn)行報(bào)文轉(zhuǎn)發(fā)時(shí),不受硬件設(shè)備容量或能力的限制,避免了對(duì)設(shè)備MAC地址表的擴(kuò)容,簡(jiǎn)化了對(duì)各個(gè)用戶設(shè)備無(wú)規(guī)律的MAC地址的學(xué)習(xí)過(guò)程,在保證通信效率的同時(shí)降低成本和維護(hù)。圖7是本發(fā)明實(shí)施例提供的一種報(bào)文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)圖,所述報(bào)文轉(zhuǎn)發(fā)裝置例如可以為DSLAM,也可以為其他二層匯聚設(shè)備,如具有匯聚功能的交換機(jī)。參見(jiàn)圖7,該報(bào)文轉(zhuǎn)發(fā)裝置包括接收模塊701,用于接收用戶報(bào)文;轉(zhuǎn)換模塊702,用于將所述用戶報(bào)文的源MAC地址轉(zhuǎn)換為虛擬MAC地址;轉(zhuǎn)發(fā)模塊703,用于根據(jù)所述用戶報(bào)文的目MAC地址將轉(zhuǎn)換后的用戶報(bào)文轉(zhuǎn)發(fā)出
去。舉例來(lái)說(shuō),所述轉(zhuǎn)換模塊702可以具體包括第一判斷子模塊,用于判斷所述用戶報(bào)文的源MAC地址是否為虛擬MAC地址;第一轉(zhuǎn)換子模塊,用于當(dāng)所述第一判斷子模塊判斷出所述用戶報(bào)文的源MAC地址為正常的MAC地址時(shí),將所述用戶報(bào)文的源MAC地址轉(zhuǎn)換為虛擬MAC地址。舉例來(lái)說(shuō),所述轉(zhuǎn)換模塊702可以具體包括第二判斷子模塊,用于判斷所述用戶報(bào)文包含的目的MAC地址是否為虛擬MAC地址;第二轉(zhuǎn)換子模塊,用于在所述第二判斷子模塊判斷出所述用戶報(bào)文的目的MAC地址為虛擬MAC地址時(shí),根據(jù)預(yù)設(shè)的映射轉(zhuǎn)換規(guī)則將所述虛擬MAC地址轉(zhuǎn)換為正常的MAC地址。舉例來(lái)說(shuō),所述轉(zhuǎn)換模塊702可以進(jìn)一步包括第三轉(zhuǎn)換子模塊,用于所述用戶報(bào)文為協(xié)議報(bào)文時(shí),如果所述協(xié)議報(bào)文中的源MAC 地址為正常的MAC地址時(shí),將所述協(xié)議報(bào)文包頭中的源MAC地址轉(zhuǎn)換為虛擬MAC地址,并將所述協(xié)議報(bào)文包內(nèi)的源MAC地址轉(zhuǎn)換為所述虛擬MAC地址;如果所述協(xié)議報(bào)文中的源MAC 地址為虛擬MAC地址時(shí),將所述協(xié)議報(bào)文包頭中的虛擬MAC地址轉(zhuǎn)換為正常的MAC地址,并將所述協(xié)議報(bào)文包內(nèi)的虛擬MAC地址轉(zhuǎn)換為正常的MAC地址。本實(shí)施例為對(duì)應(yīng)實(shí)施例1中的所述報(bào)文轉(zhuǎn)發(fā)方法的轉(zhuǎn)發(fā)裝置,對(duì)于轉(zhuǎn)發(fā)報(bào)文過(guò)程中的具體流程和步驟以及虛擬MAC地址的格式可以參考實(shí)施例1的描述,在此不再贅述。圖8是本發(fā)明實(shí)施例提供的一種報(bào)文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)圖,所述報(bào)文轉(zhuǎn)發(fā)裝置例如可以為圖1中所示的UPE和SPE等中間設(shè)備或路由器,本發(fā)明不做具體限定。參見(jiàn)圖8,該報(bào)文轉(zhuǎn)發(fā)裝置包括接收模塊801,用于接收用戶報(bào)文;判斷模塊802,用于判斷所述用戶報(bào)文的目的MAC地址是否為虛擬MAC地址;轉(zhuǎn)發(fā)模塊803,用于當(dāng)所述判斷模塊802判斷所述用戶報(bào)文的目的MAC地址為虛擬 MAC地址時(shí),根據(jù)所述虛擬MAC地址對(duì)應(yīng)的轉(zhuǎn)發(fā)表對(duì)所述用戶報(bào)文進(jìn)行轉(zhuǎn)發(fā)。進(jìn)一步地,所述轉(zhuǎn)發(fā)模塊803還用于當(dāng)所述判斷模塊802判斷所述用戶報(bào)文的目的MAC地址為正常的MAC地址時(shí),則根據(jù)所述正常的MAC地址對(duì)應(yīng)的轉(zhuǎn)發(fā)表對(duì)所述用戶報(bào)文進(jìn)行轉(zhuǎn)發(fā)。舉例來(lái)說(shuō),所述轉(zhuǎn)發(fā)模塊803可以具體包括轉(zhuǎn)發(fā)子模塊,用于當(dāng)所述判斷模塊802判斷所述用戶報(bào)文的目的MAC地址為虛擬 MAC地址時(shí),查找虛擬MAC地址轉(zhuǎn)發(fā)表,如果在虛擬MAC地址轉(zhuǎn)發(fā)表中查找到對(duì)應(yīng)所述虛擬 MAC地址的轉(zhuǎn)發(fā)表項(xiàng),則根據(jù)所述虛擬MAC地址的轉(zhuǎn)發(fā)表項(xiàng)對(duì)所述用戶報(bào)文進(jìn)行轉(zhuǎn)發(fā),如果沒(méi)有查找到對(duì)應(yīng)所述虛擬MAC地址的轉(zhuǎn)發(fā)表項(xiàng),則對(duì)所述用戶報(bào)文進(jìn)行廣播發(fā)送。虛擬MAC地址學(xué)習(xí)子模塊,用于如果對(duì)于接收到的用戶報(bào)文中的源MAC地址字段中的虛擬MAC地址,如果轉(zhuǎn)發(fā)表中沒(méi)有對(duì)應(yīng)所述虛擬MAC地址的轉(zhuǎn)發(fā)表項(xiàng)時(shí),學(xué)習(xí)所述虛擬 MAC地址生成對(duì)應(yīng)所述虛擬MAC地址的轉(zhuǎn)發(fā)表項(xiàng)。舉例來(lái)說(shuō),本實(shí)施例中的所述虛擬MAC地址包含虛擬MAC地址字段、接入設(shè)備標(biāo)識(shí)字段、槽位號(hào)字段、接口號(hào)字段和MAC標(biāo)識(shí)字段。由于對(duì)于同一個(gè)DSLAM,所述虛擬MAC 地址的VMAC FLAG、U/L、I/G字段和DSLAM ID字段的值都是相同的,因此經(jīng)過(guò)同一個(gè)DSLAM 轉(zhuǎn)換后的用戶報(bào)文的虛擬MAC地址的前M比特(虛擬MAC地址的第24-47位)都是相同的。這樣,對(duì)于VPLS網(wǎng)絡(luò)中的中間設(shè)備,例如本實(shí)施例中的UPE和SPE,在進(jìn)行地址學(xué)習(xí)的過(guò)程中只需要學(xué)習(xí)接收到的用戶報(bào)文的源MAC地址字段的前M比特,并生成包含這M比特的地址轉(zhuǎn)發(fā)表。由于這M比特就可以唯一地標(biāo)識(shí)所述接收的用戶報(bào)文來(lái)自的DSLAM,從而當(dāng)所述中間設(shè)備從網(wǎng)絡(luò)側(cè)設(shè)備收到用戶報(bào)文后,就可以根據(jù)所述用戶報(bào)文的目的地址字段中的虛擬MAC地址的前對(duì)比特將用戶報(bào)文轉(zhuǎn)發(fā)到相應(yīng)的DSLAM。由于每個(gè)中間設(shè)備,例如UPE和SPE對(duì)于每個(gè)DSLAM只需要學(xué)習(xí)M比特的地址,從而對(duì)于來(lái)自同一 DSLAM的用戶報(bào)文只需要生成一條轉(zhuǎn)發(fā)表項(xiàng),相對(duì)于對(duì)同一 DSLAM連接的每個(gè)用戶設(shè)備的MAC地址都生成一條轉(zhuǎn)發(fā)表項(xiàng)而言,本實(shí)施例提供的報(bào)文轉(zhuǎn)發(fā)方法節(jié)省了中間設(shè)備MAC地址存儲(chǔ)器的存儲(chǔ)空間,節(jié)省了中間設(shè)備硬件擴(kuò)容所需的費(fèi)用,在保證通信效率的同時(shí)降低成本和維護(hù)費(fèi)用。該實(shí)施例中的轉(zhuǎn)發(fā)裝置為對(duì)應(yīng)實(shí)施例1中的所述報(bào)文轉(zhuǎn)發(fā)方法的轉(zhuǎn)發(fā)裝置,對(duì)于轉(zhuǎn)發(fā)報(bào)文過(guò)程中的具體流程和步驟以及虛擬MAC地址的格式可以參考實(shí)施例1的描述,在此不再贅述。本發(fā)明所述的用戶設(shè)備可以為網(wǎng)絡(luò)中的個(gè)人電腦PC、GPRS (General Packet Radio krvice,通用分組無(wú)線服務(wù)技術(shù))服務(wù)支持節(jié)點(diǎn)、移動(dòng)終端等,本發(fā)明實(shí)施例不做具體限定。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過(guò)硬件來(lái)完成,也可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀
12存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤(pán)或光盤(pán)等。 以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和
原則之內(nèi),所作的任何修改、等同轉(zhuǎn)換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,包括接收用戶報(bào)文;將所述用戶報(bào)文的源MAC地址轉(zhuǎn)換為虛擬MAC地址,并根據(jù)所述用戶報(bào)文的目的地址將轉(zhuǎn)換后的用戶報(bào)文轉(zhuǎn)發(fā)出去。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述用戶報(bào)文的源MAC地址轉(zhuǎn)換為虛擬MAC地址,具體包括接收到來(lái)自用戶設(shè)備的用戶報(bào)文后,讀取所述用戶報(bào)文的源MAC地址字段的值,根據(jù)所述用戶報(bào)文來(lái)自的接口將所述用戶報(bào)文的源MAC地址轉(zhuǎn)換為虛擬MAC地址。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,當(dāng)所述報(bào)文為協(xié)議報(bào)文時(shí),將所述用戶報(bào)文的源MAC地址轉(zhuǎn)換為虛擬MAC地址,具體包括將所述協(xié)議報(bào)文包頭的源MAC地址轉(zhuǎn)換為虛擬MAC地址,并將所述所述協(xié)議報(bào)文包內(nèi)的源MAC地址轉(zhuǎn)換為所述虛擬MAC地址。
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的方法,其特征在于,所述接收用戶報(bào)文之后,還包括當(dāng)所述用戶報(bào)文的目的MAC地址為虛擬MAC地址時(shí),將所述用戶報(bào)文中的虛擬MAC地址轉(zhuǎn)換為對(duì)應(yīng)的MAC地址,并根據(jù)所述對(duì)應(yīng)的MAC地址將所述用戶報(bào)文轉(zhuǎn)發(fā)出去。
5.根據(jù)權(quán)利要求1-4任一項(xiàng)所述的方法,其特征在于,所述虛擬MAC地址包含虛擬 MAC地址標(biāo)識(shí)、U/L全球/本地字段和I/G組播地址標(biāo)志位字段、接入設(shè)備標(biāo)識(shí)字段、槽位號(hào)字段、接口號(hào)字段和MAC標(biāo)識(shí)字段。
6.一種報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,包括接收用戶報(bào)文,判斷所述用戶報(bào)文的目的MAC地址是否為虛擬MAC地址;如果所述用戶報(bào)文的目的MAC地址為虛擬MAC地址,則根據(jù)所述虛擬MAC地址對(duì)應(yīng)的轉(zhuǎn)發(fā)表對(duì)所述用戶報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述方法還包括對(duì)于接收到的用戶報(bào)文中的源MAC地址字段中的虛擬MAC地址,如果轉(zhuǎn)發(fā)表中沒(méi)有對(duì)應(yīng)所述虛擬MAC地址的轉(zhuǎn)發(fā)表項(xiàng)時(shí),學(xué)習(xí)所述虛擬MAC地址生成對(duì)應(yīng)所述虛擬MAC地址的轉(zhuǎn)發(fā)表項(xiàng)。
8.根據(jù)權(quán)利要求6或7所述的方法,其特征在于,所述虛擬MAC地址包含虛擬MAC地址標(biāo)識(shí)、U/L全球/本地字段和I/G組播地址標(biāo)志位字段、接入設(shè)備標(biāo)識(shí)字段、槽位號(hào)字段、 接口號(hào)字段和MAC標(biāo)識(shí)字段。
9.根據(jù)權(quán)利要求7或8所述的方法,其特征在于,所述學(xué)習(xí)所述虛擬MAC地址生成對(duì)應(yīng)所述虛擬MAC地址的轉(zhuǎn)發(fā)表項(xiàng)具體為學(xué)習(xí)所述用戶報(bào)文的源MAC地址字段中虛擬MAC地址的虛擬MAC地址標(biāo)識(shí)、U/L全球/ 本地字段和I/G組播地址標(biāo)志位字段。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述虛擬MAC地址的虛擬MAC地址標(biāo)識(shí)、 U/L全球/本地字段和I/G組播地址標(biāo)志位字段對(duì)于同一接入設(shè)備將源MAC地址轉(zhuǎn)換到虛擬MAC地的用戶報(bào)文都是相同的。
11.根據(jù)權(quán)利要求8-10任意一項(xiàng)所述的方法,其特征在于,其中所述虛擬MAC地址標(biāo)識(shí)、U/L全球/本地字段和I/G組播地址標(biāo)志位字段總長(zhǎng)度小于48比特。
12.根據(jù)權(quán)利要求8-10任意一項(xiàng)所述的方法,其特征在于,其中所述虛擬MAC地址標(biāo)識(shí)、U/L全球/本地字段和I/G組播地址標(biāo)志位字段總長(zhǎng)度為M比特。
13.一種報(bào)文轉(zhuǎn)發(fā)裝置,其特征在于,包括 接收模塊,用于接收用戶報(bào)文;轉(zhuǎn)換模塊,用于將所述用戶報(bào)文的源MAC地址轉(zhuǎn)換為虛擬MAC地址; 轉(zhuǎn)發(fā)模塊,用于根據(jù)所述用戶報(bào)文的目的MAC地址將轉(zhuǎn)換后的用戶報(bào)文轉(zhuǎn)發(fā)出去。
14.根據(jù)權(quán)利要求13所述的報(bào)文轉(zhuǎn)發(fā)裝置,其特征在于,所述轉(zhuǎn)換模塊包括 第一判斷子模塊,用于判斷所述用戶報(bào)文的源MAC地址是否為虛擬MAC地址; 第一轉(zhuǎn)換子模塊,用于當(dāng)所述第一判斷模塊判斷出所述用戶報(bào)文的源MAC地址為正常的MAC地址時(shí),將所述用戶報(bào)文的源MAC地址轉(zhuǎn)換為虛擬MAC地址。
15.根據(jù)權(quán)利要求13或14所述的報(bào)文轉(zhuǎn)發(fā)裝置,其特征在于,所述轉(zhuǎn)換模塊包括 第二判斷子模塊,用于判斷所述用戶報(bào)文包含的目的MAC地址是否為虛擬MAC地址; 第二轉(zhuǎn)換子模塊,用于在所述第二判斷子模塊判斷出所述用戶報(bào)文的目的MAC地址為虛擬MAC地址時(shí),根據(jù)預(yù)設(shè)的映射轉(zhuǎn)換規(guī)則將所述虛擬MAC地址轉(zhuǎn)換為正常的MAC地址。
16.根據(jù)權(quán)利要求13-15任意一項(xiàng)所述的報(bào)文轉(zhuǎn)發(fā)裝置,其特征在于,當(dāng)所述報(bào)文為協(xié)議報(bào)文時(shí),所述轉(zhuǎn)換模塊進(jìn)一步包括第三轉(zhuǎn)換子模塊,用于所述用戶報(bào)文為協(xié)議報(bào)文時(shí),如果所述協(xié)議報(bào)文中的源MAC地址為正常的MAC地址時(shí),將所述協(xié)議報(bào)文包頭中的源MAC地址轉(zhuǎn)換為虛擬MAC地址,并將所述協(xié)議報(bào)文包內(nèi)的源MAC地址轉(zhuǎn)換為所述虛擬MAC地址;如果所述協(xié)議報(bào)文中的源MAC地址為虛擬MAC地址時(shí),將所述協(xié)議報(bào)文包頭中的虛擬MAC地址轉(zhuǎn)換為正常的MAC地址,并將所述協(xié)議報(bào)文包內(nèi)的虛擬MAC地址轉(zhuǎn)換為正常的MAC地址。
17.一種報(bào)文轉(zhuǎn)發(fā)裝置,其特征在于,包括 接收模塊,用于接收用戶報(bào)文;判斷模塊,用于判斷所述用戶報(bào)文的目的MAC地址是否為虛擬MAC地址; 轉(zhuǎn)發(fā)模塊,用于當(dāng)所述判斷模塊判斷所述用戶報(bào)文的目的MAC地址為虛擬MAC地址,則根據(jù)所述虛擬MAC地址對(duì)應(yīng)的轉(zhuǎn)發(fā)表對(duì)所述用戶報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
18.根據(jù)權(quán)利要求17所述的報(bào)文轉(zhuǎn)發(fā)裝置,其特征在于,所述轉(zhuǎn)發(fā)模塊具體用于當(dāng)所述判斷模塊判斷所述用戶報(bào)文的目的MAC地址為虛擬MAC地址時(shí),查找虛擬MAC地址轉(zhuǎn)發(fā)表,如果在虛擬MAC地址轉(zhuǎn)發(fā)表中查找到對(duì)應(yīng)所述虛擬MAC地址的轉(zhuǎn)發(fā)表項(xiàng),則根據(jù)所述虛擬MAC地址的轉(zhuǎn)發(fā)表項(xiàng)對(duì)所述用戶報(bào)文進(jìn)行轉(zhuǎn)發(fā),如果沒(méi)有查找到對(duì)應(yīng)所述虛擬MAC地址的轉(zhuǎn)發(fā)表項(xiàng),則對(duì)所述用戶報(bào)文進(jìn)行廣播發(fā)送。
19.根據(jù)權(quán)利要求17或18所述的報(bào)文轉(zhuǎn)發(fā)裝置,其特征在于,所述轉(zhuǎn)發(fā)模塊進(jìn)一步包括虛擬MAC地址學(xué)習(xí)子模塊,用于如果對(duì)于接收到的用戶報(bào)文中的源MAC地址字段中的虛擬MAC地址,如果轉(zhuǎn)發(fā)表中沒(méi)有對(duì)應(yīng)所述虛擬MAC地址的轉(zhuǎn)發(fā)表項(xiàng)時(shí),學(xué)習(xí)所述虛擬MAC 地址生成對(duì)應(yīng)所述虛擬MAC地址的轉(zhuǎn)發(fā)表項(xiàng)。
全文摘要
本發(fā)明實(shí)施例提供了一種報(bào)文轉(zhuǎn)發(fā)方法和裝置,涉及領(lǐng)域局域網(wǎng),該方法包括接收用戶報(bào)文;將所述用戶報(bào)文的源MAC地址轉(zhuǎn)換為虛擬MAC地址,并根據(jù)所述用戶報(bào)文的目的MAC地址將轉(zhuǎn)換后的用戶報(bào)文轉(zhuǎn)發(fā)出去。該裝置包括接收模塊、轉(zhuǎn)換模塊和轉(zhuǎn)發(fā)模塊。還提供了一種報(bào)文轉(zhuǎn)發(fā)方法,該方法包括接收用戶報(bào)文,判斷所述用戶報(bào)文的目的MAC地址是否為虛擬MAC地址;如果所述用戶報(bào)文的目的MAC地址為虛擬MAC地址,則根據(jù)所述虛擬MAC地址對(duì)應(yīng)的轉(zhuǎn)發(fā)表對(duì)所述用戶報(bào)文進(jìn)行轉(zhuǎn)發(fā)。本發(fā)明通過(guò)中間設(shè)備在接收到來(lái)自接入設(shè)備的報(bào)文時(shí),僅學(xué)習(xí)該報(bào)文的特定比特位,并根據(jù)該指定比特位生成報(bào)文轉(zhuǎn)發(fā)表,使得網(wǎng)絡(luò)中的設(shè)備不受硬件設(shè)備容量或能力的限制,節(jié)省了中間設(shè)備MAC地址存儲(chǔ)器的存儲(chǔ)空間,從而降低了中間設(shè)備硬件擴(kuò)容所需的費(fèi)用,在保證通信效率的同時(shí)降低成本和維護(hù)費(fèi)用。
文檔編號(hào)H04L12/56GK102318290SQ201180001348
公開(kāi)日2012年1月11日 申請(qǐng)日期2011年7月29日 優(yōu)先權(quán)日2011年7月29日
發(fā)明者張永 申請(qǐng)人:華為技術(shù)有限公司