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