亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種邊緣設備報文轉發(fā)時的mac學習方法及邊緣設備的制作方法

文檔序號:7982657閱讀:299來源:國知局
一種邊緣設備報文轉發(fā)時的mac學習方法及邊緣設備的制作方法
【專利摘要】本發(fā)明提供一種邊緣設備報文轉發(fā)時的媒體接入控制(MAC)地址學習方法以及邊緣設備,該方法用于以太網(wǎng)虛擬化(EVI)網(wǎng)絡中的服務器端邊緣設備(ED)以及客戶端ED。即:在服務器端邊緣設備(ED)和客戶端ED之間建立備用隧道。服務器端ED和客戶端ED利用備用隧道接收未知單播報文,對該報文進行MAC學習后再進行相應的報文轉發(fā)。應用本發(fā)明方案,由于邊緣設備是通過備用隧道轉發(fā)未知單播流量,并在轉發(fā)的過程中學習MAC地址,既可以達到MAC學習的目的,又可以有效地抑制報文的泛洪。
【專利說明】—種邊緣設備報文轉發(fā)時的MAC學習方法及邊緣設備
【技術領域】
[0001]本發(fā)明涉及通信【技術領域】,特別涉及一種邊緣設備報文轉發(fā)時的MAC學習方法及邊緣設備。
【背景技術】
[0002]以太網(wǎng)連接虛擬化(EthernetVirtual Interconnection, EVI)網(wǎng)絡是一種可以將異地部署的多個站點網(wǎng)絡連接起來的網(wǎng)絡,是基于虛擬鏈路實現(xiàn)各站點網(wǎng)絡之間二層互聯(lián)的系統(tǒng)。EVI網(wǎng)絡利用先進的“MAC in IP”技術,實現(xiàn)基于IP核心網(wǎng)的二層虛擬專用網(wǎng)絡(L2VPN)技術。
[0003]EVI網(wǎng)絡通常由核心網(wǎng)絡、交疊網(wǎng)絡和若干站點網(wǎng)絡等組成。
[0004]其中,核心網(wǎng)絡主要由IP路由設備承載的提供站點網(wǎng)絡之間互聯(lián)的網(wǎng)絡,是公網(wǎng),主要進行隧道報文的IP轉發(fā)。
[0005]交疊網(wǎng)絡是站點邊緣設備之間建立的虛擬網(wǎng)絡,實現(xiàn)虛擬局域網(wǎng)(Virtual LocalArea Network, VLAN)在不同站點之間的擴展,提供站點網(wǎng)絡之間的二層互聯(lián)。
[0006]站點網(wǎng)絡由一臺或多臺邊緣設備(Edge Device, ED)連接到核心網(wǎng)絡的具有獨立業(yè)務功能的二層網(wǎng)絡,其邊緣設備可以提供站點之間的二層交換功能。
[0007]在現(xiàn)有的EVI網(wǎng)絡中,ED之間通常采用全連接架構,即:各個ED之間分別建立隧道。站點之間的媒體接入控制(Media Access Control, MAC)地址是通過中間系統(tǒng)到中間系統(tǒng)(Intermediate System-1ntermediate System, ISIS)協(xié)議來發(fā)布的。比如:某個站點的ED新學習到站點內的某個MAC,可以采用ISIS協(xié)議并通過隧道將該MAC泛洪給其它所有的ED。但如果需要發(fā)布的MAC地址數(shù)量非常龐大,可能會造成報文的丟失,以至對端無法學習到MAC地址。此外,各站點用戶互訪時,如果某ED在自身MAC表中無法查詢到報文目的MAC地址,該報文就是一個未知單播報文。對此,ED可以采用EVI Flooding或EVI NoFlooding兩種模式處理。對于EVI Flooding模式,ED會將未知單播報文泛洪給其它所有的ED,這同樣會因為泛洪帶來丟失報文或占用資源等缺陷。而對于EVI No Flooding模式,ED直接將未知單播報文丟棄,這將導致訪問的失敗。

【發(fā)明內容】

[0008]有鑒于此,本發(fā)明提供了一種邊緣設備報文轉發(fā)時的MAC學習方法及邊緣設備,可以不依靠ISIS協(xié)議發(fā)布MAC而同樣可能學習到MAC,盡量避免泛洪造成報文丟失及占用資源的缺陷。
[0009]為達到上述目的,本發(fā)明實施例的技術方案可以這樣實現(xiàn):
[0010]一種邊緣設備報文轉發(fā)時的MAC學習方法,該方法用于以太網(wǎng)虛擬化EVI網(wǎng)絡中的服務器端邊緣設備ED,所述服務器端ED和EVI網(wǎng)絡中的客戶端ED之間建立了主用隧道,在所述服務器端ED和客戶端ED之間還建立備用隧道,用于承載未知單播報文;該方法還包括:[0011]所述服務器端ED從備用隧道接收來自源客戶端ED發(fā)送的未知單播報文,所述未知單播報文攜帶有源客戶端ED的ED標識;所述服務器端ED對該報文的源MAC地址進行學習,將學習到的MAC地址、該服務器端ED和源客戶端ED之間的主用隧道所對應的出接口一并配置給自身的MAC表;
[0012]所述服務器端ED根據(jù)所述未知單播報文的目的MAC地址查詢MAC表,命中本地站點,則進行本地轉發(fā);命中遠端站點,則通過自身和該目的客戶端ED之間的備用隧道轉發(fā)出去;未命中,則在EVI實例內進行廣播。
[0013]針對上述發(fā)明目的,還提出一種實施例方案,可以這樣實現(xiàn):
[0014]一種邊緣設備報文轉發(fā)時的MAC學習方法,該方法用于以太網(wǎng)虛擬化EVI網(wǎng)絡中的客戶端邊緣設備ED,所述客戶端ED和服務器端ED之間建立了主用隧道,在所述客戶端ED與所述服務器端之間還建立備用隧道,用于承載未知單播報文;該方法還包括:
[0015]所述客戶端ED作為源客戶端ED發(fā)送未知單播報文時,將自身的ED標識添加到該未知單播報文中,并通過自身與服務器端ED之間建立的備用隧道發(fā)送給服務器端ED ;
[0016]所述客戶端ED作為目的客戶端ED從備用隧道接收到未知單播報文時,根據(jù)該未知單播報文攜帶的ED標識獲知源客戶端ED,并對該報文的源MAC地址進行學習,將學習到的MAC地址、目的客戶端ED自身和源客戶端ED之間的主用隧道所對應的出接口一并配置給MAC表;再根據(jù)所述未知單播報文的目的MAC地址查詢自身的MAC表,如果命中本地站點,則進行本地轉發(fā);如果未命中,則在本虛擬局域網(wǎng)VLAN內廣播。
[0017]針對上述發(fā)明目的,本發(fā)明實施例提出這樣一種方案:
[0018]一種邊緣設備,該設備為以太網(wǎng)虛擬化EVI網(wǎng)絡中的服務器端邊緣設備ED,包括主控單元、轉發(fā)單元和接口單元,所述服務器端ED和EVI網(wǎng)絡中的客戶端ED之間均建立了主用隧道;
[0019]所述轉發(fā)單元用于,在接口單元從備用隧道接收到來自源客戶端ED的未知單播報文時,所述未知單播報文攜帶有源客戶端ED的ED標識,對該報文的源MAC地址進行學習,并將學習到的MAC地址、該服務器端ED和源客戶端ED之間的主用隧道所對應的出接口一并配置給MAC表;還用于,根據(jù)所述未知單播報文的目的MAC地址查詢MAC表,命中本地站點,則通過接口單元進行本地轉發(fā);命中遠端站點,則通過接口單元并利用與目的客戶端ED之間的備用隧道轉發(fā)出去;未命中,則通過接口單元在EVI實例內進行廣播。
[0020]針對上述發(fā)明目的,本發(fā)明實施例還提出這樣一種方案:
[0021]一種邊緣設備,該設備為以太網(wǎng)虛擬化EVI網(wǎng)絡中的客戶端邊緣設備ED,包括主控單元、轉發(fā)單元和接口單元,所述客戶端ED和EVI網(wǎng)絡中的服務器端ED之間建立了主用隧道;
[0022]所述主控單元用于,在作為源客戶端ED發(fā)送未知單播報文時,將自身的ED標識添加到該未知單播報文中;
[0023]所述轉發(fā)單元用于,在作為源客戶端ED時,通過接口單元從與服務器端ED之間建立的備用隧道發(fā)送給服務器端ED ;在作為目的客戶端ED時,通過接口單元從備用隧道接收到服務器端ED轉發(fā)的未知單播報文,根據(jù)該未知單播報文攜帶的ED標識獲知源客戶端ED,對該報文的源MAC地址進行學習,將學習到的MAC地址、目的客戶端ED自身和源客戶端ED之間的主用隧道所對應的出接口一并配置給MAC表;還用于根據(jù)所述未知單播報文的目的MAC地址查詢MAC表,如果命中本地,則通過接口單元進行本地轉發(fā);如果未命中,則通過接口單元在本VLAN內進行廣播。
[0024]綜上所述,本發(fā)明提供了一種邊緣設備報文轉發(fā)時的MAC學習方法及邊緣設備,在服務器端ED和客戶端ED之間建立備用隧道,用于承載未知單播報文。服務器端ED和客戶端ED可以利用備用隧道來轉發(fā)未知單播報文,并在報文轉發(fā)的過程中達到MAC學習的目的,同時有效地抑制報文的泛洪。
【專利附圖】

【附圖說明】
[0025]圖1是本發(fā)明實施例一的系統(tǒng)結構圖。
[0026]圖2是本發(fā)明實施例一中服務器端ED的內部結構示意圖。
[0027]圖3是本發(fā)明實施例一中客戶端ED的內部結構示意圖。
[0028]圖4是本發(fā)明實施例二中的系統(tǒng)結構圖。
[0029]圖5是本發(fā)明實施例二中添加了 ED標識的報文格式。
【具體實施方式】
[0030]本發(fā)明實施例一提出一種解決方案,S卩:在以太網(wǎng)虛擬化(EVI)網(wǎng)絡中,邊緣設備(ED)進行報文轉發(fā)時,如果接收到遠端站點的單播報文,可以直接利用該報文進行MAC學習,并進行報文轉發(fā)。
[0031 ] 但,在MAC學習過程中,特別是初期階段,由于各ED未學習到遠端站點下掛主機的MAC地址,需要轉發(fā)的報文大多是未知單播報文,這就可能引起大量的未知單播報文泛洪的現(xiàn)象。比如:ED1站點內用戶設備CEl下掛的主機hostl要發(fā)送報文給ED2站點內CE2下掛的主機host2,但EDl事先并未學習到host2的MAC地址,自然無法根據(jù)MAC表命中目的MAC地址,那么該報文就是通常所說的未知單播報文。為了將報文發(fā)送給目的地,EDl可能會將該未知單播報文泛洪給EVI網(wǎng)絡中其他所有的ED設備。為了抑制這種泛洪,本發(fā)明實施例中,除了各個ED之間建立主用隧道,還在服務器端ED和客戶端ED之間建立了備用隧道,用于承載未知單播報文。這里所述主用隧道和備用隧道為EVI隧道。該EVI隧道的隧道類型是IP GRE隧道,用于承載EVI Link,一條隧道上可以承載多條EVI Link。EVI隧道是點到多點的自動隧道,本地站點通過一條EVI隧道可以和多個鄰居站點建立連接,其中每一個連接對應一個EVI Link。
[0032]另外,為了表明未知單播報文的來源,還在其中添加了源ED的ED標識,使接收到該報文的ED可以正確地學習MAC地址。因此,本發(fā)明實施例中,當源客戶端ED需要泛洪未知單播報文時,可以通過備用隧道將報文僅泛洪給服務器端ED,再由服務器端ED轉發(fā)給目的客戶端ED。同時,在報文轉發(fā)過程中,服務器端ED和客戶端ED都可以完成MAC學習。
[0033]圖1是本發(fā)明實施例一的系統(tǒng)架構示意圖。如圖1所示,該EVI網(wǎng)絡中包括一個服務器端ED,若干客戶端ED,各ED站點內有若干CE,每個CE下掛有若干主機。各個ED之間都建立了主用隧道,此外,服務器端ED和各個客戶端ED之間還建立了備用隧道,用于專門承載未知單播報文。這里,各ED和其下屬的CE構成的網(wǎng)絡就是站點網(wǎng)絡,各ED之間交互的公網(wǎng)就是核心網(wǎng)絡。
[0034]為了更好地說明本實施例方案,下面分別對服務器端ED和客戶端ED詳細描述。[0035]圖2是服務器端ED的內部結構示意圖。如圖2所示,服務器端ED包括:主控單元1011、轉發(fā)單元1012和接口單元1013。實際應用中,主控單元1011由CPU等硬件實現(xiàn);轉發(fā)單元1012與現(xiàn)有技術中的轉發(fā)單元一樣,保存有MAC硬件表,主要負責報文轉發(fā)時的地址查詢等工作;而接口單元1013主要指邊緣設備對外的接口,包括物理端口或邏輯接口。其中,
[0036]所述轉發(fā)單元1012用于,在接口單元1013從備用隧道接收到來自源客戶端ED的未知單播報文時,所述未知單播報文攜帶有源客戶端ED的ED標識,對該報文的源MAC地址進行學習,并將學習到的MAC地址、該服務器端ED和源客戶端ED之間的主用隧道所對應的出接口一并配置給MAC表;還用于,根據(jù)所述未知單播報文的目的MAC地址查詢MAC表,命中本地站點,則通過接口單元1013進行本地轉發(fā);命中遠端站點,則通過接口單元1013并利用與目的客戶端ED之間的備用隧道轉發(fā)出去;未命中,則通過接口單元1013在EVI實例內進行廣播。
[0037]也就是說,服務器端ED可以從備用隧道接收到的未知單播報文中學習到報文的源MAC地址,并在查詢MAC表之后進行相應的報文轉發(fā)。需要注意的是,服務器端ED雖然是從備用隧道接收到未知單播報文,但,是將源MAC地址以及主用隧道所對應的出接口這一對應關系配置到自身的MAC表。其原因是:服務器端ED —旦學習到源MAC地址后,如果后續(xù)要發(fā)送報文給該源MAC地址對應的設備時,此報文就應該是已知單播報文,無需再從備用隧道發(fā)送,直接從主用隧道發(fā)送,即根據(jù)MAC表中的主用隧道對應的出接口將報文發(fā)送出去。還需要注意的是,服務器端ED將未知單播報文轉發(fā)給遠端站點時,仍然需要從備用隧道發(fā)送,以便于遠端站點正確地學習MAC地址。
[0038]圖3是客戶端ED的內部結構示意圖。如圖2所示,客戶端ED也包括:主控單元1021、轉發(fā)單元1022和接口單元1023。實際應用中,主控單元1021由CPU等硬件實現(xiàn);轉發(fā)單元1022保存有MAC硬件表,主要負責報文轉發(fā)時的地址查詢等工作;而接口單元1023主要指邊緣設備對外的接口,包括物理端口或邏輯接口。其中,
[0039]所述主控單元1021用于,在作為源客戶端ED發(fā)送未知單播報文時,將自身的ED標識添加到該未知單播報文中;
[0040]所述轉發(fā)單元1022用于,在作為源客戶端ED時,通過接口單元1023從與服務器端ED之間建立的備用隧道發(fā)送給服務器端ED ;在作為目的客戶端ED時,通過接口單元1023從備用隧道接收到服務器端ED轉發(fā)的未知單播報文,根據(jù)該未知單播報文攜帶的ED標識獲知源客戶端ED,對該報文的源MAC地址進行學習,將學習到的MAC地址、目的客戶端ED自身和源客戶端ED之間的主用隧道所對應的出接口一并配置給MAC表;還用于根據(jù)所述未知單播報文的目的MAC地址查詢MAC表,如果命中本地,則通過接口單元1023進行本地轉發(fā);如果未命中,則通過接口單元1023在本VLAN內進行廣播。
[0041]也就是說,目的客戶端ED可以從備用隧道接收到的未知單播報文中學習到報文的源MAC地址,并在查詢MAC表之后進行相應的報文轉發(fā)。需要注意的是,目的客戶端ED雖然是從備用隧道接收到未知單播報文,但,是將源MAC地址以及自身與源客戶端ED之間的主用隧道所對應的出接口下發(fā)到自身的MAC表。其原因是:目的客戶端ED學習到的是源客戶端ED站點下掛主機MAC地址,但,是從目的客戶端ED與服務器端ED之間的備用隧道接收到的。如果目的客戶端后續(xù)直接利用該備用隧道回應報文,將無法正確地到達源客戶端ED,因此,在MAC學習時應該保存目的客戶端ED與源客戶端ED之間的主用隧道對應的出接口。
[0042]為了更好地描述本發(fā)明方案,下面再用一個實施例詳細說明。
[0043]以圖4為例,假設服務器端ED211站點內有CE221,下掛主機Host231,客戶端ED212站點內有CE222,下掛主機Host232,客戶端ED231站點內有CE223,下掛主機Host233,客戶端ED214站點內有CE224,下掛主機Host234。ED211?ED214兩兩之間建立了主用隧道,且服務器端ED211還分別與客戶端ED212?ED214之間建立了備用隧道,并在EVI隧道的基礎上建立EVI LINK連接。其中,EDl和ED2之間的連接為LINKl和LINK1-2,EDl和ED3之間的連接為LINK2和LINK2-2,EDl和ED4之間的連接為LINK3和LINK3-2。不管是主用隧道,還是備用隧道,可以采用現(xiàn)有的方法建立,比如建立IP GRE隧道等。
[0044]本實施例假設客戶端ED212站點內的主機Host232要訪問客戶端ED213站點內的主機Host233,而客戶端ED212之前還沒有學習到Host232和Host233的MAC地址,客戶端ED213之前沒有學習到Host232的MAC地址。
[0045]本實施例中的未知單播報文需要添加源客戶端ED的ED標識,添加后的報文格式如圖5所示。其中,“EV1-ED Indentifier”字段就是ED標識。實際應用中,各個ED可以事先配置ED標識。比如:可以將EDl的標識配置為idl,對應的地址為1.1.1.1 ;ED2的標識配置為id2,對應的地址為2.2.2.2 ;ED3的標識配置為id3,對應的地址為3.3.3.3 ;ED4的標識配置為id4,對應的地址為4.4.4.4。這里,所述的地址可以唯一標識EVI隧道的設備,因此根據(jù)未知單播報文中的ED標識,就可以通過對應的地址明確源客戶端ED。
[0046]下面分兩個階段介紹本發(fā)明實施例實現(xiàn)訪問的方案:
[0047]第一階段:CE222連接的Host232向CE223連接的Host233發(fā)送以太網(wǎng)報文。
[0048]步驟S1:CE222將來自Host232的以太網(wǎng)報文發(fā)送給ED212,所述以太網(wǎng)報文攜帶有源MAC地址和目的MAC地址。其中,源MAC地址為Host232的MAC地址,目的MAC地址為Host233 的 MAC 地址。
[0049]步驟S2:ED212進行MAC學習,ED212將以太網(wǎng)報文的源MAC地址、所屬VLAN和接收該以太網(wǎng)報文的端口保存在對應的EVI實例的MAC表中。
[0050]這里,ED212可以根據(jù)接收到的以太網(wǎng)報文所屬VLAN綁定的EVI實例確定對應的EVI實例。
[0051]步驟S3:ED212根據(jù)以太網(wǎng)報文的目的MAC地址在MAC表中未查找到匹配表項,則根據(jù)與服務器端ED211間的備用隧道將以太網(wǎng)報文頭封裝為Ethernet over IP GRE隧道報文,將自身的ED標識添加到該隧道報文。
[0052]如圖5所示為ED212發(fā)送的攜帶有ED標識的Ethernet over IP GRE隧道報文的報文格式。圖5中,IP GRE隧道頭包括IP報文頭和GRE報文頭。相對于圖5所示以太網(wǎng)報文所承載的IP報文的IP報文頭,IP GRE隧道頭中的IP報文頭可以看作隧道報文的外層IP報文頭,IP GRE隧道頭中的IP報文頭的源IP是ED212的IP地址,IP GRE隧道頭中的IP報文頭的目的IP地址是ED211的IP地址。GRE報文頭指示了承載的協(xié)議報文為以太網(wǎng)報文。
[0053]圖5所示的公網(wǎng)二層報文頭可看作外層以太網(wǎng)頭,公網(wǎng)二層報文的目的MAC是ED212連接的下一跳設備的MAC,如圖4所示設備P2 (若下一跳設備是ED211,則公網(wǎng)二層報文的目的MAC是ED211的MAC地址),公網(wǎng)二層報文的源MAC是ED211的虛接口 MAC,公網(wǎng)二層報文的VLANID是公網(wǎng)VLAN號。
[0054]步驟SI?步驟S3是Host232將以太網(wǎng)報文發(fā)送給邊緣設備ED212,ED212確定該報文為未知單播報文。
[0055]步驟S4:ED212將隧道報文通過備用隧道LINK1-2發(fā)送給服務器端ED211,所述隧道報文攜帶的源ED的標識為ED212的標識。
[0056]步驟S5:服務器端ED211從備用隧道LINK1-2收到攜帶源ED標識的隧道報文。
[0057]步驟S6:服務器端ED211將隧道報文的內層源MAC地址、所屬VLAN以及連接源ED的主用隧道的隧道接口配置到對應的EVI實例的MAC表的表項中。
[0058]ED211收到隧道報文后,去除公網(wǎng)二層報文頭和IP GRE隧道頭,根據(jù)以太網(wǎng)報文所屬VLAN確定EVI實例。ED211去除公網(wǎng)二層和IP GRE隧道頭的原理與已有IP GRE隧道頭終結原理大致相同,本實施例不再贅述。
[0059]本實施例中,服務器端ED211根據(jù)源客戶端ED標識確定隧道報文來自ED212,將ED212的主用隧道的隧道接口記錄在上述內層源MAC地址對應的表項;其中,該隧道接口就是ED211和ED212之間主用隧道對應的出接口??梢允侵甘舅淼澜涌诘乃淼浪饕?br> [0060]另外,實際應用中,服務器端ED211還可以從來自本地CE或主用隧道的報文中學習MAC地址。對于來自本地站點的報文,學習MAC地址的方法與現(xiàn)有技術相同,此處不再贅述。對于來自主用隧道的報文,也就是說,圖2中的主控單元1011進一步用于,在接口單元1013從主用隧道接收到來自源ED發(fā)送的已知單播報文時,對該報文的源MAC地址進行學習,將學習到的MAC地址、服務器端ED自身和源ED之間的主用隧道所對應的出接口一并配置到自身的MAC表。相應地,轉發(fā)單元1012進一步用于,根據(jù)所述已知單播報文的目的MAC地址查詢MAC表,如果命中本地站點(即本地站點下掛主機的MAC地址),則進行本地轉發(fā);如果未命中,則在本VLAN內廣播。
[0061]步驟S7:服務器端ED211根據(jù)以太網(wǎng)報文的目的MAC地址在EVI實例的MAC表查找到表項,且該表項包含隧道接口,根據(jù)隧道接口確定目的客戶端ED為ED213,則根據(jù)連接ED213的備用隧道封裝,將該以太網(wǎng)報文封裝為隧道報文并添加源ED的標識,即ED212的ED標識,通過備用隧道LINK2-2發(fā)送攜帶源ED標識的隧道報文給ED213。
[0062]本實施例中,如果服務器端ED211查找到的表項包含端口,則進行本地轉發(fā)即可。
[0063]本實施例中,如果服務器端ED211在對應的EVI實例的MAC表中沒有查找到匹配于以太網(wǎng)報文的目的MAC地址的表項,則需要在EVI實例內廣播,其方法為:服務器端ED211的轉發(fā)單元1012通過接口單元1013將在EVI實例的本地VLAN內廣播以太網(wǎng)報文,并且分別依據(jù)自身與除源ED外的其它所有客戶端ED建立的備用隧道,將以太網(wǎng)報文封裝為隧道報文,并添加源ED標識,分別發(fā)送給客戶端ED213和ED214。
[0064]步驟S8:ED213從備用隧道LINK2-2接收攜帶源ED標識的隧道報文。
[0065]步驟S9:ED213根據(jù)隧道報文攜帶的源ED標識獲知源ED為ED212,將內層以太網(wǎng)報文的源MAC地址、以太網(wǎng)報文所屬VLAN以及連接源客戶端ED的主用隧道的隧道接口配置在對應EVI實例的MAC表中。
[0066]這里,步驟S8和S9描述的客戶端ED213如何從備用隧道接收到的報文中學習MAC,實際應用中,客戶端ED213還可以從來自本地站點或主用隧道的報文中學習MAC地址。[0067]也就是說,如果從本地站點的報文中學習MAC地址,圖3中的轉發(fā)單元1022進一步用于,在客戶端ED接收到本地站點的單播報文時,對該報文進行源MAC地址學習,將學習到的MAC地址和接收該報文的端口一并保存在MAC表中。轉發(fā)單元1022還進一步用于,根據(jù)該報文的目的MAC地址查詢自身的MAC表,如果命中本地站點下的主機,則通過接口單元1023進行本地轉發(fā);如果命中遠端的服務器端ED或目的客戶端ED站點下的主機,則通過接口單元1023并利用自身與服務器端ED或目的客戶端ED之間的主用隧道轉發(fā);如果未命中,則將該單播報文作為未知單播報文處理。
[0068]如果從主用隧道的報文中學習MAC地址,圖3中的轉發(fā)單元1022進一步用于,在客戶端ED作為目的客戶端ED從主用隧道接收到來自源ED發(fā)送的已知單播報文,對該報文的源MAC地址進行學習,將學習到的MAC地址、該目的客戶端ED和源ED之間的主用隧道所對應的出接口一并配置給自身的MAC表。轉發(fā)單元1022還進一步用于,根據(jù)所述已知單播報文的目的MAC地址查詢MAC表,如果命中本地站點下掛的主機,則進行本地轉發(fā);如果未命中,則在本VLAN內廣播。
[0069]步驟SlO:ED213根據(jù)在對應EVI實例的MAC表中查找到以太網(wǎng)報文的目的MAC地址對應的端口,則將以太網(wǎng)報文通過該端口轉發(fā)到CE223。再由CE223轉發(fā)以太網(wǎng)報文至Host2330
[0070]本實施例中,假設ED213此前已經學習到Host233的MAC地址,本步驟自然可以命中。實際應用中,如果沒有命中,在EVI實例的本地VLAN內廣播以太網(wǎng)報文。這樣,CE223接收到該以太網(wǎng)報文,再轉發(fā)至Host233。
[0071]第二階段:Host233向Host232反饋報文。
[0072]步驟Hl:CE223將Host233發(fā)送的以太網(wǎng)報文發(fā)送給ED213,該以太網(wǎng)報文的源MAC地址為Host233的MAC地址,目的MAC地址為Host232的MAC地址。
[0073]步驟H2:ED213根據(jù)在EVI實例的MAC表中查找到以太網(wǎng)報文的目的MAC地址匹配的表項且該表項包含隧道接口,即ED213與ED212之間主用隧道的隧道接口。
[0074]步驟H3:ED213將以太網(wǎng)報文封裝為隧道報文,通過與ED212之間的主用隧道將響應報文發(fā)送給ED212。
[0075]這里,ED3可以根據(jù)隧道接口查詢隧道表項,獲取IP GRE隧道頭的源IP、目的IP,公網(wǎng)二層頭的公網(wǎng)VLAN、目的MAC、出端口等信息,封裝以太網(wǎng)報文并轉發(fā)出去。
[0076]步驟H4:ED212收到隧道報文,將隧道報文封裝為以太網(wǎng)報文,在EVI實例的MAC表查詢以太網(wǎng)報文的目的MAC匹配的表項,且該表項出接口為端口,從該端口轉發(fā)以太網(wǎng)報文至CE222。
[0077]CE222根據(jù)以太網(wǎng)目的MAC地址繼續(xù)轉發(fā)以太網(wǎng)報文至Host232。
[0078]由于此前在步驟S2中,ED212已經學習到CE222的MAC地址,本步驟可以命中,并獲知相應的端口,通過相應的端口,就可以將響應報文準確地發(fā)送給CE222,再由CE222轉發(fā)給Host232。至此,Host232已經成功地訪問了 Host233。在報文轉發(fā)到過程中,服務器端ED211、客戶端ED212和ED213直接利用流量報文進行了 MAC學習。
[0079]本發(fā)明實施例中,如果Host231與Host232間需要發(fā)送單播報文時,CE221將Host231發(fā)出的以太網(wǎng)單播報文轉給ED211,ED211在EVI實例的MAC表記錄以太網(wǎng)報文的源MAC、VLAN信息以及端口信息后,若EDl在EVI實例的MAC表中未查找到匹配于以太網(wǎng)報文的目的MAC的表項,則在EVI實例的本地VLAN內廣播以太網(wǎng)報文并通過連接各客戶端ED的主用隧道封裝隧道報文,將隧道報文通過各主用隧道發(fā)送到各客戶端ED。或者,ED211在EVI實例的本地VLAN內廣播以太網(wǎng)報文并通過連接各客戶端ED的備用隧道封裝隧道報文,將服務器ED的ED標識作為源ED標識插入隧道報文,將攜帶源ED標識的隧道報文通過備用隧道發(fā)送給各客戶端ED。
[0080]如果Host231需要發(fā)送廣播報文時,CE221將Host231發(fā)出的以太網(wǎng)廣播報文轉給ED211,ED211在EVI實例的MAC表記錄該以太網(wǎng)報文的源MAC、VLAN信息以及端口信息后,則在EVI實例的本地VLAN內廣播以太網(wǎng)報文并通過連接各客戶端ED的主用隧道封裝隧道報文,將隧道報文通過各主用隧道發(fā)送到各客戶端ED?;蛘?,ED211在EVI實例的本地VLAN內廣播以太網(wǎng)報文并通過連接各客戶端ED的備用隧道封裝隧道報文,將服務器ED的ED標識作為源ED標識插入隧道報文,將攜帶源ED標識的隧道報文通過備用隧道發(fā)送給各客戶端ED。
[0081]本實施例通過服務器端ED與客戶端ED間建立的備用隧道,不僅可以有效地抑制未知單播以太網(wǎng)報文的泛洪現(xiàn)象。還可以避免丟棄未知單播以太網(wǎng)報文,在抑制泛洪的同時還保證了報文的可靠傳輸。
[0082]以上舉較佳實施例,對本發(fā)明的目的、技術方案和優(yōu)點進行了進一步詳細說明,所應理解的是,以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。
【權利要求】
1.一種邊緣設備報文轉發(fā)時的MAC學習方法,該方法用于以太網(wǎng)虛擬化EVI網(wǎng)絡中的服務器端邊緣設備ED,所述服務器端ED和EVI網(wǎng)絡中的客戶端ED之間建立了主用隧道,其特征在于,在所述服務器端ED和客戶端ED之間還建立備用隧道,用于承載未知單播報文;該方法還包括: 所述服務器端ED從備用隧道接收來自源客戶端ED發(fā)送的未知單播報文,所述未知單播報文攜帶有源客戶端ED的ED標識;所述服務器端ED對該報文的源MAC地址進行學習,將學習到的MAC地址、該服務器端ED和源客戶端ED之間的主用隧道所對應的出接口一并配置給自身的MAC表; 所述服務器端ED根據(jù)所述未知單播報文的目的MAC地址查詢MAC表,命中本地站點,則進行本地轉發(fā);命中遠端站點,則通過自身和該目的客戶端ED之間的備用隧道轉發(fā)出去;未命中,則在EVI實例內進行廣播。
2.根據(jù)權利要求1所述的方法,其特征在于,所述在EVI實例內進行廣播的方法包括: 所述服務器端ED將所述未知單播報文在本地虛擬局域網(wǎng)VLAN內廣播,并分別從自身與除所述源客戶端ED外的其它所有客戶端ED建立的備用隧道轉發(fā)出去。
3.根據(jù)權利要求1所述的方法,其特征在于,該方法進一步包括: 所述服務器端ED從主用隧道接收到來自源客戶端ED發(fā)送的已知單播報文,對該報文的源MAC地址進行學習,將學習到的MAC地址、該服務器端ED和源客戶端ED之間的主用隧道所對應的出接口一并配置給自身的MAC表; 所述服務器端ED根據(jù)所述已知單播報文的目的MAC地址查詢MAC表,命中本地站點,則進行本地轉發(fā);未命中,則在本地虛擬局域網(wǎng)VLAN內廣播。
4.根據(jù)權利要求1所述的方法,其特征在于,該方法進一步包括: 所述服務器端ED接收到本地站點的單播報文,對該報文的源MAC地址進行學習,將學習到的MAC地址和端口一并配置給自身的MAC表;根據(jù)所述本地站點的單播報文的目的MAC地址查詢MAC表,未命中則在本地VLAN內廣播,并分別從自身與其它所有客戶端ED建立的主用隧道轉發(fā)出去,或者將服務器端ED的ED標識攜帶于該單播報文再分別從自身與其它所有客戶端ED建立的備用隧道轉發(fā)出去。
5.根據(jù)權利要求1所述的方法,其特征在于,該方法進一步包括: 所述服務器端ED接收到本地站點的廣播報文,對該報文的源MAC地址進行學習,將學習到的MAC地址和端口一并配置給自身的MAC表;在本地VLAN內廣播,并分別從自身與其它所有客戶端ED建立的備用隧道或主用隧道轉發(fā)出去。
6.一種邊緣設備報文轉發(fā)時的MAC學習方法,該方法用于以太網(wǎng)虛擬化EVI網(wǎng)絡中的客戶端邊緣設備ED,所述客戶端ED和服務器端ED之間建立了主用隧道,其特征在于,在所述客戶端ED與所述服務器端之間還建立備用隧道,用于承載未知單播報文;該方法還包括: 所述客戶端ED作為源客戶端ED發(fā)送未知單播報文時,將自身的ED標識添加到該未知單播報文中,并通過自身與服務器端ED之間建立的備用隧道發(fā)送給服務器端ED ; 所述客戶端ED作為目的客戶端ED從備用隧道接收到未知單播報文時,根據(jù)該未知單播報文攜帶的ED標識獲知源客戶端ED,并對該報文的源MAC地址進行學習,將學習到的MAC地址、目的客戶端ED自身和源客戶端ED之間的主用隧道所對應的出接口一并配置給MAC表;再根據(jù)所述未知單播報文的目的MAC地址查詢自身的MAC表,如果命中本地站點,則進行本地轉發(fā);如果未命中,則在本虛擬局域網(wǎng)VLAN內廣播。
7.根據(jù)權利要求6所述的方法,其特征在于,該方法進一步包括: 所述客戶端ED作為源客戶端ED接收到本地站點的單播報文時,對該報文進行源MAC地址學習,將學習到的MAC地址和接收該報文的端口一并保存在自身的MAC表中; 根據(jù)該報文的目的MAC地址查詢自身的MAC表,如果命中本地站點,則進行本地轉發(fā);如果命中服務器端ED或目的客戶端ED站點,則通過自身與服務器端ED或目的客戶端ED之間的主用隧道轉發(fā)出去;如果未命中,則將該單播報文作為未知單播報文處理。
8.根據(jù)權利要求6所述的方法,其特征在于,該方法進一步包括: 所述客戶端ED作為目的客戶端ED從主用隧道接收到來自源客戶端ED發(fā)送的已知單播報文,對該報文的源MAC地址進行學習,將學習到的MAC地址、目的客戶端ED自身和源客戶端ED之間的主用隧道所對應的出接口一并配置給MAC表; 所述目的客戶端ED根據(jù)所述已知單播報文的目的MAC地址查詢MAC表,如果命中本地站點,則進行本地轉發(fā);如果未命中,則在本VLAN內進行廣播。
9.一種邊緣設備,該設備為以太網(wǎng)虛擬化EVI網(wǎng)絡中的服務器端邊緣設備ED,包括主控單元、轉發(fā)單元和接口單元,所述服務器端ED和EVI網(wǎng)絡中的客戶端ED之間均建立了主用隧道,其特征在于, 所述轉發(fā)單元用于,在接口單元從備用隧道接收到來自源客戶端ED的未知單播報文時,所述未知單播報文攜帶有源客戶端ED的ED標識,對該報文的源MAC地址進行學習,并將學習到的MAC地址、該服務器端ED和源客戶端ED之間的主用隧道所對應的出接口一并配置給MAC表;還用于,根據(jù)所述未知單播報文的目的MAC地址查詢MAC表,命中本地站點,則通過接口單元進行本地轉發(fā);命中遠端站點,則通過接口單元并利用與目的客戶端ED之間的備用隧道轉發(fā)出去;未命中,則通過接口單元在EVI實例內進行廣播。
10.根據(jù)權利要求9所述的設備,其特征在于,所述通過接口單元在EVI實例內進行廣播為:轉發(fā)單元通過接口單元將所述未知單播報文在本VLAN內廣播,通過接口單元并利用與除源客戶端ED外的其它所有客戶端ED建立的備用隧道轉發(fā)出去。
11. 根據(jù)權利要求9所述的設備,其特征在于, 所述轉發(fā)單元進一步用于,在接口單元從主用隧道接收到來自源客戶端ED發(fā)送的已知單播報文時,對該報文的源MAC地址進行學習,將學習到的MAC地址、服務器端ED自身和源客戶端ED之間的主用隧道所對應的出接口一并配置給自身的MAC表;還用于,根據(jù)所述已知單播報文的目的MAC地址查詢MAC表,命中本地站點,則進行本地轉發(fā);未命中,則在本VLAN內廣播。
12.根據(jù)權利要求9所述的設備,其特征在于, 所述轉發(fā)單元還用于,通過所述接口單元接收到自身本地站點的單播報文時,對該單播報文的源MAC地址進行學習,將學習到的MAC地址和端口一并配置給自身的MAC表;根據(jù)所述本地站點的單播報文的目的MAC地址查詢MAC表,未命中則在本地VLAN內廣播,并分別從自身與其它所有客戶端ED建立的主用隧道轉發(fā)出去,或者將服務器端ED的ED標識攜帶于該單播報文再分別從自身與其它所有客戶端ED建立的備用隧道轉發(fā)出去。
13.根據(jù)權利要求9所述的方法,其特征在于,所述轉發(fā)單元還用于,在所述接口單元接收到自身本地站點的廣播報文時,對該報文的源MAC地址進行學習,將學習到的MAC地址和端口一并配置給自身的MAC表;在本地VLAN內廣播,并分別從自身與其它所有客戶端ED建立的備用隧道或主用隧道轉發(fā)出去。
14.一種邊緣設備,該設備為以太網(wǎng)虛擬化EVI網(wǎng)絡中的客戶端邊緣設備ED,包括主控單元、轉發(fā)單元和接口單元,所述客戶端ED和EVI網(wǎng)絡中的服務器端ED之間建立了主用隧道,其特征在于, 所述主控單元用于,在作為源客戶端ED發(fā)送未知單播報文時,將自身的ED標識添加到該未知單播報文中; 所述轉發(fā)單元用于,在作為源客戶端ED時,通過接口單元從與服務器端ED之間建立的備用隧道發(fā)送給服務器端ED ;在作為目的客戶端ED時,通過接口單元從備用隧道接收到服務器端ED轉發(fā)的未知單播報文,根據(jù)該未知單播報文攜帶的ED標識獲知源客戶端ED,對該報文的源MAC地址進行學習,將學習到的MAC地址、目的客戶端ED自身和源客戶端ED之間的主用隧道所對應的出接口一并配置給MAC表;還用于根據(jù)所述未知單播報文的目的MAC地址查詢MAC表,如果命中本地,則通過接口單元進行本地轉發(fā);如果未命中,則通過接口單元在本VLAN內進行廣播。
15.根據(jù)權利要求14所述的設備,其特征在于, 所述轉發(fā)單元進一步用于,在接口單元接收到本地站點的單播報文時,對該報文進行源MAC地址學習,將學習到的MAC地址和接收該報文的端口一并保存在MAC表中。
16.根據(jù)權利要求14所述的設備,其特征在于, 所述轉發(fā)單元進一步用于,在接口單元接收到本地站點的單播報文時,根據(jù)該報文的目的MAC地址查詢自身的MAC表,命中本地站點,則通過接口單元進行本地轉發(fā);命中遠端的服務器端ED或目的客戶端ED,則通過接口單元并利用自身與服務器端ED或目的客戶端ED之間的主用隧道轉發(fā);如果未命中,則將該單播報文作為未知單播報文處理。
17.根據(jù)權利要求14所述的設備,其特征在于, 所述轉發(fā)單元進一步用于,在客戶端ED作為目的客戶端ED從主用隧道接收到來自源客戶端ED發(fā)送的已知單播報文,對該報文的源MAC地址進行學習,將學習到的MAC地址、該目的客戶端ED和源客戶端ED之間的主用隧道所對應的出接口一并配置給自身的MAC表;還用于,根據(jù)所述已知單播報文的目的MAC地址查詢MAC表,如果命中本地站點,則進行本地轉發(fā);未命中,則在本VLAN內廣播。
【文檔編號】H04L12/741GK103685007SQ201210316996
【公開日】2014年3月26日 申請日期:2012年8月31日 優(yōu)先權日:2012年8月31日
【發(fā)明者】宋小恒, 鄭國良 申請人:杭州華三通信技術有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1