專利名稱:第2層虛擬專用網(wǎng)絡(luò)中繼系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種通過(guò)一個(gè)公用網(wǎng)絡(luò)的VPN(Virtual Private Network,虛擬專用網(wǎng)絡(luò))中繼系統(tǒng)。
背景技術(shù):
近來(lái),一個(gè)企業(yè)等已經(jīng)越來(lái)越多地通過(guò)經(jīng)由因特網(wǎng)連接跨國(guó)家分散的基站來(lái)構(gòu)成一個(gè)虛擬網(wǎng)絡(luò)(VPN)。隨著這個(gè)趨勢(shì),提供VPN連接服務(wù)的電信公司網(wǎng)絡(luò)/供應(yīng)商網(wǎng)絡(luò)的數(shù)目一直在增加。
當(dāng)前有兩種VPN連接形式一種其中使用第3層來(lái)連接基站的形式(在下文中稱作一個(gè)“第3層-VPN”),和一種其中使用第2層來(lái)連接基站的形式(在下文中稱作一個(gè)“第2層-VPN”)。
在一個(gè)第3層-VPN中,使用一個(gè)第3層來(lái)連接基站,而在一個(gè)第2層-VPN中,使用一個(gè)第2層來(lái)連接基站。
在一個(gè)第2層-VPN中,由于基站可以被連接而無(wú)需把協(xié)議限制為一個(gè)在一個(gè)VPN內(nèi)使用的第3層協(xié)議,所以和一個(gè)第3層-VPN網(wǎng)絡(luò)相比可以構(gòu)成一個(gè)更加靈活的虛擬網(wǎng)絡(luò)。因此,可以預(yù)見(jiàn),電信公司/供應(yīng)商對(duì)一個(gè)第2層-VPN的需要、以及對(duì)一種用于在IP網(wǎng)絡(luò)或MPLS網(wǎng)絡(luò)中實(shí)現(xiàn)一個(gè)高速第2層-VPN的技術(shù)的需要在將來(lái)將會(huì)增加,其中IP網(wǎng)絡(luò)或MPLS網(wǎng)絡(luò)都是用于現(xiàn)有因特網(wǎng)的基礎(chǔ)結(jié)構(gòu)。
用于允許一個(gè)第2層-VPN的現(xiàn)有技術(shù)描述如下。
-L2TP(第2層嵌套協(xié)議)(Layer 2 Tunneling Protocol)
L2TP是一種其中可以通過(guò)由一個(gè)PPP/L2TP/UDP的首部封裝一個(gè)幀來(lái)在一個(gè)IP網(wǎng)絡(luò)中構(gòu)成一個(gè)VPN的協(xié)議。由于PPP是一種其中各種第3層幀和一MAC幀可以被封裝的協(xié)議,所以可以通過(guò)使用這個(gè)協(xié)議實(shí)現(xiàn)一個(gè)第2層-VPN。
然而,由于L2TP需要一個(gè)復(fù)雜的過(guò)程,例如,L2TP需要序列號(hào)管理,所以不推薦把L2TP應(yīng)用到一個(gè)用于一個(gè)電信公司/供應(yīng)商等的高速網(wǎng)絡(luò)。
-使用第2層-交換機(jī)的VLAN(Virtual LAN,虛擬局域網(wǎng))配置VLAN是一種其中可以通過(guò)由一個(gè)VLAN的首部封裝一個(gè)幀和在該首部中插入一個(gè)作為用于標(biāo)識(shí)VLAN的標(biāo)識(shí)符的VID來(lái)把一個(gè)VPN分成各個(gè)LAN的協(xié)議。可以通過(guò)使用這個(gè)協(xié)議實(shí)現(xiàn)一個(gè)第2層-VPN。
然而,由于VLAN在一個(gè)比IP更低級(jí)的層中操作,所以VLAN不能被使用在一個(gè)IP中。
-LANE(LAN仿真)LANE是一種用于在一個(gè)ATM中仿真一個(gè)LAN的技術(shù)。然而,由于LANE僅僅在一個(gè)ATM中操作,所以LANE不能被應(yīng)用于由一個(gè)不同于ATM的網(wǎng)絡(luò)構(gòu)成的一個(gè)電信公司網(wǎng)絡(luò)。
如上所述,上面所述的協(xié)議中沒(méi)有一個(gè)可以在一個(gè)由MPLS(Multi-Protocol Label Switching,多協(xié)議標(biāo)簽交換)或一個(gè)IP構(gòu)成的電信公司網(wǎng)絡(luò)中實(shí)現(xiàn)一個(gè)高速的第2層-VPN。特別地,由于因?yàn)橐粋€(gè)復(fù)雜過(guò)程使得一個(gè)L2TP不能以高速操作、并且在VLAN(如下所述的VLAN是一個(gè)在IEEE802.1Q中規(guī)定的VLAN協(xié)議)或LANE中在一個(gè)比IP層更低級(jí)的層中操作,所以不能通過(guò)利用一個(gè)IP網(wǎng)絡(luò)的協(xié)議來(lái)構(gòu)成一個(gè)VPN。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)目的是實(shí)現(xiàn)一個(gè)用于在由IP或MPLS構(gòu)成的一個(gè)網(wǎng)絡(luò)中使用一個(gè)第2層來(lái)以高速連接多個(gè)站點(diǎn)的VPN。
本發(fā)明中的中繼系統(tǒng)通過(guò)經(jīng)由一個(gè)公用網(wǎng)絡(luò)連接第一和第二個(gè)第2層網(wǎng)絡(luò)來(lái)構(gòu)成一個(gè)VPN。該系統(tǒng)包括一個(gè)連接建立單元,通過(guò)把第一個(gè)第2層網(wǎng)絡(luò)與第二個(gè)第2層網(wǎng)絡(luò)相關(guān)來(lái)建立一個(gè)MPLS連接;一個(gè)存儲(chǔ)單元,存儲(chǔ)在連接到該系統(tǒng)的第一個(gè)第2層網(wǎng)絡(luò)和該MPLS連接之間的對(duì)應(yīng)關(guān)系;一個(gè)發(fā)送單元,在從第一個(gè)第2層網(wǎng)絡(luò)接收到一幀時(shí)從存儲(chǔ)單元獲得一個(gè)MPLS連接,并把該幀發(fā)送到MPLS連接;以及一個(gè)廣播單元,用于當(dāng)對(duì)應(yīng)于從第一個(gè)第2層網(wǎng)絡(luò)接收的幀的一個(gè)MPLS連接沒(méi)有被存儲(chǔ)在存儲(chǔ)單元中時(shí),廣播該幀。
根據(jù)本發(fā)明,由于使用了一個(gè)MPLS而且中繼所需的處理數(shù)目被最小化,所以可以構(gòu)成一個(gè)能使用一個(gè)MPLS中繼設(shè)備(MPLS中繼設(shè)備是用于IP中繼的基礎(chǔ)設(shè)施)的VPN中繼系統(tǒng),其中MPLS是一種作為與一個(gè)IP協(xié)議兼容的方法在市場(chǎng)上已被接受的協(xié)議,用于提高IP中繼速度,IP協(xié)議是一個(gè)因特網(wǎng)協(xié)議。
圖1顯示了在本發(fā)明第一個(gè)優(yōu)選實(shí)施例中的第2層-VPN實(shí)現(xiàn)設(shè)備和邊沿節(jié)點(diǎn)的配置(No.1);圖2顯示了在本發(fā)明第一個(gè)優(yōu)選實(shí)施例中的第2層-VPN實(shí)現(xiàn)設(shè)備和邊沿節(jié)點(diǎn)的配置(No.2);圖3顯示了在本發(fā)明第二個(gè)優(yōu)選實(shí)施例中的第2層-VPN實(shí)現(xiàn)設(shè)備和邊沿節(jié)點(diǎn)的配置(No.1);圖4顯示了在本發(fā)明第二個(gè)優(yōu)選實(shí)施例中的第2層-VPN實(shí)現(xiàn)設(shè)備和邊沿節(jié)點(diǎn)的配置(No.2);圖5顯示了本發(fā)明優(yōu)選實(shí)施例中的獲悉功能(learning function)(No.1);圖6顯示了本發(fā)明優(yōu)選實(shí)施例中的獲悉功能(No.2);圖7顯示了本發(fā)明優(yōu)選實(shí)施例中的獲悉功能(No.3);圖8顯示了本發(fā)明優(yōu)選實(shí)施例中的獲悉功能(No.4);圖9顯示了本發(fā)明優(yōu)選實(shí)施例中的獲悉功能(No.5);
圖10顯示了本發(fā)明優(yōu)選實(shí)施例中的獲悉功能(No.6);圖11顯示了本發(fā)明優(yōu)選實(shí)施例中的獲悉功能(No.7);圖12顯示了第一個(gè)優(yōu)選實(shí)施例中的一個(gè)特定示例(No.1);圖13顯示了第一個(gè)優(yōu)選實(shí)施例中的一個(gè)特定示例(No.2);圖14顯示了第一個(gè)優(yōu)選實(shí)施例中的一個(gè)特定示例(No.3);圖15顯示了第一個(gè)優(yōu)選實(shí)施例中的一個(gè)特定示例(No.4);圖16顯示了第一個(gè)優(yōu)選實(shí)施例中的一個(gè)特定示例(No.5);圖17顯示了第一個(gè)優(yōu)選實(shí)施例中的一個(gè)特定示例(No.6);圖18顯示了第一個(gè)優(yōu)選實(shí)施例中的一個(gè)特定示例(No.7);圖19顯示了第一個(gè)優(yōu)選實(shí)施例中的一個(gè)特定示例(No.8);圖20顯示了第一個(gè)優(yōu)選實(shí)施例中的一個(gè)特定示例(No.9);圖21顯示了第一個(gè)優(yōu)選實(shí)施例中的一個(gè)特定示例(No.10);圖22顯示了第一個(gè)優(yōu)選實(shí)施例中的一個(gè)特定示例(No.11);圖23顯示了第一個(gè)優(yōu)選實(shí)施例中的一個(gè)特定示例(No.12);圖24是一個(gè)序列圖表,顯示了用于在第一個(gè)優(yōu)選實(shí)施例的特定示例中建立一個(gè)LSP的過(guò)程;圖25是一個(gè)顯示了幀轉(zhuǎn)發(fā)的序列圖表(No.1);圖26是一個(gè)顯示了幀轉(zhuǎn)發(fā)的序列圖表(No.2);圖27顯示了當(dāng)建立一個(gè)VPN連接LSP 20時(shí)將在一個(gè)轉(zhuǎn)發(fā)面(forwardingplane)上生成的一個(gè)標(biāo)簽表10;圖28顯示了生成一個(gè)控制面(control plane)的一個(gè)LSP反向轉(zhuǎn)換表25;圖29顯示了被建立以構(gòu)成如圖12所示的VPN的邊沿-連接LSP1和VPN-連接LSP 20;圖30是一個(gè)序列圖表,顯示了用于在第二個(gè)優(yōu)選實(shí)施例的特定示例中建立一個(gè)LSP的過(guò)程;圖31是一個(gè)顯示了幀轉(zhuǎn)發(fā)的序列圖表(No.1);
圖32是一個(gè)顯示了幀轉(zhuǎn)發(fā)的序列圖表(No.2);圖33是一個(gè)序列圖表,顯示了用于在第三個(gè)優(yōu)選實(shí)施例的特定示例中建立一個(gè)LSP的過(guò)程;圖34是一個(gè)顯示了幀轉(zhuǎn)發(fā)的序列圖表(No.1);以及圖35是一個(gè)顯示了幀轉(zhuǎn)發(fā)的序列圖表(No.2)。
具體實(shí)施例方式
在下面的說(shuō)明書(shū)中,一個(gè)在由一個(gè)IP或MPLS構(gòu)成的網(wǎng)絡(luò)中以高速連接多個(gè)站點(diǎn)的VPN被稱作一個(gè)“第2層-VPN”。
在下面的說(shuō)明書(shū)中,假定像如圖1所示的邊沿節(jié)點(diǎn)(1)那樣,一個(gè)邊沿節(jié)點(diǎn)包括一個(gè)交換結(jié)構(gòu)以及一個(gè)或多個(gè)容納一個(gè)端口的端口容納單元(portaccomodation unit),而且各個(gè)容納單元連接到交換結(jié)構(gòu)。連接到一個(gè)用戶網(wǎng)絡(luò)(專用網(wǎng)絡(luò))的一個(gè)端口容納單元和連接到一個(gè)MPLS網(wǎng)絡(luò)的一個(gè)端口容納單元分別被稱作一個(gè)“線路容納單元”和一個(gè)“MPLS網(wǎng)絡(luò)容納單元”。
圖1和2顯示了在本發(fā)明第一個(gè)優(yōu)選實(shí)施例中的第2層-VPN實(shí)現(xiàn)設(shè)備和邊沿節(jié)點(diǎn)的配置。
特別地,圖1顯示了在第2層-VPN中繼系統(tǒng)中在一個(gè)MPLS網(wǎng)絡(luò)的邊沿節(jié)點(diǎn)之間建立的LSP(MPLS連接)。圖2顯示了如圖1所示的邊沿節(jié)點(diǎn)的基本配置。圖2顯示了在一個(gè)MPLS網(wǎng)絡(luò)的入口處的一個(gè)節(jié)點(diǎn)(在下文中簡(jiǎn)單地稱作一個(gè)“入口節(jié)點(diǎn)”)的配置、和在MPLS網(wǎng)絡(luò)的出口處的一個(gè)節(jié)點(diǎn)(在下文中簡(jiǎn)單地稱作一個(gè)“出口節(jié)點(diǎn)”)的配置,其中該入口節(jié)點(diǎn)從一個(gè)用戶網(wǎng)絡(luò)中接收一幀,出口節(jié)點(diǎn)把從入口節(jié)點(diǎn)接收的幀通過(guò)MPLS網(wǎng)絡(luò)中繼到一個(gè)用戶網(wǎng)絡(luò)。
圖1顯示了一個(gè)其中在分別是入口和出口節(jié)點(diǎn)的邊沿節(jié)點(diǎn)(1)和(2)之間建立一個(gè)連接的狀態(tài)。一個(gè)邊沿節(jié)點(diǎn)包括一個(gè)線路容納單元、一個(gè)作為一個(gè)用于在線路上進(jìn)行交換的連接設(shè)備的交換結(jié)構(gòu)、和一個(gè)MPLS網(wǎng)絡(luò)容納單元。在圖1中,在邊沿節(jié)點(diǎn)之間的一個(gè)LSP被建立在每個(gè)邊沿節(jié)點(diǎn)的線路容納單元和另一個(gè)邊沿節(jié)點(diǎn)的輸出端口之間。特別地,當(dāng)建立一個(gè)LSP時(shí),每個(gè)邊沿節(jié)點(diǎn)的線路容納單元被設(shè)置為一個(gè)發(fā)送源,而且另一個(gè)邊沿節(jié)點(diǎn)的端口被指定為一個(gè)發(fā)送目的地。
作為一條MPLS路徑的一個(gè)邊沿連接LSP1被建立在邊沿節(jié)點(diǎn)之間,而且作為在一個(gè)入口節(jié)點(diǎn)的線路容納單元和一個(gè)出口節(jié)點(diǎn)的端口之間的一條路徑的一個(gè)VPN連接LSP4被建立在邊沿連接LSP1中。在這種情況下,一個(gè)MPLS與作為一個(gè)因特網(wǎng)協(xié)議的一個(gè)IP協(xié)議兼容,而且是作為用于提高IP中繼速度的方法在市場(chǎng)上被接受了的一個(gè)協(xié)議。
邊沿連接LSP是一個(gè)在邊沿節(jié)點(diǎn)之間相互建立的LSP(MPLS連接)。邊沿連接LSP是在所有邊沿之間使用一個(gè)現(xiàn)有的用于LSP建立的協(xié)議、諸如一個(gè)LDP(Label Distribution Protocol,標(biāo)簽分配協(xié)議)以完全網(wǎng)狀(full mesh)而建立的。
如圖2所示的邊沿節(jié)點(diǎn)管理表2管理由每個(gè)邊沿節(jié)點(diǎn)建立的邊沿連接LSP1。特別地,邊沿管理表2管理一個(gè)LSP連接目的地邊沿的第3層地址、一個(gè)用于一個(gè)邊沿連接LSP1的發(fā)送標(biāo)簽、和有關(guān)邊沿連接LSP1的信息、諸如一個(gè)用于邊沿連接LSP的輸出端口等。
一個(gè)VPN定義表3定義一個(gè)屬于每個(gè)端口(在下文中,一個(gè)物理接口或捆綁多個(gè)物理接口的一個(gè)邏輯接口被稱作一個(gè)“端口”)的VPN。
如圖1所示的VPN連接LSP4被建立在MPLS網(wǎng)絡(luò)中一個(gè)邊沿節(jié)點(diǎn)的每個(gè)線路容納單元和另一個(gè)邊沿節(jié)點(diǎn)的線路容納單元中的一個(gè)端口之間。
使用如圖2所示的VPN管理表5,每個(gè)邊沿節(jié)點(diǎn)管理在屬于每個(gè)VPN的一個(gè)網(wǎng)絡(luò)中的端口。特別地,每個(gè)邊沿節(jié)點(diǎn)管理在屬于每個(gè)VPN的一個(gè)網(wǎng)絡(luò)中的所有端口和容納這些端口的邊沿節(jié)點(diǎn)的一個(gè)第3層地址列表。如果該列表包括另一個(gè)邊沿節(jié)點(diǎn)中的一個(gè)端口,則每個(gè)邊沿節(jié)點(diǎn)管理一個(gè)用于LSP的、作為有關(guān)一個(gè)用于該端口的VPN連接LSP4的信息的發(fā)送標(biāo)簽。
使用如圖2所示的L2路由表6,每個(gè)邊沿節(jié)點(diǎn)管理用于一個(gè)具有一個(gè)MAC地址(在連接到一個(gè)邊沿節(jié)點(diǎn)的一個(gè)專用網(wǎng)絡(luò)中使用的一個(gè)第2層協(xié)議的地址)的節(jié)點(diǎn)的路由。這個(gè)表邏輯上被劃分用于每個(gè)VPN。如果輸出目的地是一個(gè)本地端口(一個(gè)本地節(jié)點(diǎn)的線路容納單元的端口),則該端口的標(biāo)識(shí)符被登記作為路由信息。如果輸出目的地是另一個(gè)邊沿節(jié)點(diǎn)的端口,則有關(guān)輸出目的地的VPN連接LSP4和邊沿連接LSP1的信息(一個(gè)發(fā)送標(biāo)簽、一個(gè)輸出端口等)被登記下來(lái)。
如圖2所示的L2轉(zhuǎn)發(fā)單元7檢查一幀的一對(duì)發(fā)送源MAC地址(在下文中被稱作“發(fā)送源MAC”)和接收端口是否已經(jīng)被獲悉作為一個(gè)路由,并且基于一個(gè)發(fā)送目的地MAC地址(在下文中被稱作“發(fā)送目的地MAC”)確定一個(gè)路由。特別地,當(dāng)接收到一幀時(shí),單元7從一個(gè)VPN定義表3中獲得一個(gè)對(duì)應(yīng)于接收端口的VPN,并且使用一個(gè)發(fā)送源MAC從一個(gè)用于該VPN的L2路由表6中檢索數(shù)據(jù)。如果檢索失敗,則單元7判斷該路由沒(méi)有被登記,并且通知一個(gè)路由登記單元8該路由未登記。
L2轉(zhuǎn)發(fā)單元7進(jìn)一步使用發(fā)送目的地MAC從該表中檢索數(shù)據(jù),并且獲得有關(guān)一個(gè)輸出目的地的信息,特別是一個(gè)本地端口或者有關(guān)一個(gè)輸出目的地的VPN連接LSP4/邊沿連接LSP1的信息。如果檢索失敗,則單元7把該幀傳送到一個(gè)稍后描述的VPN內(nèi)的廣播單元12。
如果輸出目的地是一個(gè)本地端口,則L2轉(zhuǎn)發(fā)單元7把該幀發(fā)送到該端口。如果輸出目的地是一個(gè)LSP,則單元7把該幀傳送到一個(gè)標(biāo)簽添加單元9。
一個(gè)路由登記單元8使用來(lái)自于L2轉(zhuǎn)發(fā)單元7的路由未登記通知作為一個(gè)觸發(fā)信號(hào),在用于一個(gè)對(duì)應(yīng)于該端口的VPN的L2路由表6中登記一對(duì)發(fā)送源MAC和接收端口作為一個(gè)新路由。
此外,路由登記單元8從VPN管理表5中獲得容納一個(gè)用于該VPN的端口的所有邊沿節(jié)點(diǎn)的一個(gè)列表,并且向每個(gè)邊沿節(jié)點(diǎn)的路由登記單元8通知VPN的標(biāo)識(shí)符、發(fā)送源MAC、接收端口的標(biāo)識(shí)符和邊沿節(jié)點(diǎn)的第3層地址的一個(gè)組合作為一個(gè)新路由。
當(dāng)收到該通知時(shí),每個(gè)邊沿節(jié)點(diǎn)分別從VPN管理表5和邊沿節(jié)點(diǎn)管理表2中獲得有關(guān)一個(gè)對(duì)應(yīng)于被通知的端口的VPN連接LSP4的信息、和有關(guān)一個(gè)對(duì)應(yīng)于被通知的第3層地址(IP地址)的邊沿連接LSP1的信息,并且在L2路由表6中登記這兩個(gè)信息。
標(biāo)簽添加單元9基于從L2路由表6中獲得的信息把一個(gè)標(biāo)簽附加到該幀上。一個(gè)標(biāo)簽表10用一個(gè)標(biāo)簽、一個(gè)發(fā)送標(biāo)簽、隨后的中繼段信息等指定用于每個(gè)所接收標(biāo)簽的一個(gè)路由和一個(gè)中繼處理、諸如一幀的標(biāo)簽操作(在下文中,添加/刪除/替換被稱作一個(gè)“標(biāo)簽操作”)。該VPN的出口節(jié)點(diǎn)的標(biāo)簽表10還指定一個(gè)輸出目的地端口和標(biāo)簽刪除。
一個(gè)標(biāo)簽轉(zhuǎn)發(fā)單元11為從一個(gè)MPLS網(wǎng)絡(luò)容納單元中的一個(gè)端口接收的一個(gè)幀使用該幀的標(biāo)簽來(lái)查看該標(biāo)簽表10,基于所獲得的信息執(zhí)行該幀的標(biāo)簽操作,并且輸出該幀到一個(gè)輸出端口。一個(gè)VPN的出口節(jié)點(diǎn)依據(jù)該表刪除該標(biāo)簽。
VPN內(nèi)的廣播單元12把該幀廣播到該VPN的除一個(gè)接收端口以外的所有端口。特別地,單元12從VPN管理表5中獲得在該VPN中的端口的一個(gè)列表,同時(shí)把該幀廣播到用于該VPN的所有本地端口和用于該VPN的另一個(gè)邊沿節(jié)點(diǎn)的端口。當(dāng)把該幀發(fā)送到另一個(gè)邊沿節(jié)點(diǎn)的端口時(shí),單元12還進(jìn)一步查看邊沿節(jié)點(diǎn)管理表2,并且獲得與輸出目的地的VPN連接LSP4和邊沿連接LSP1有關(guān)的信息。如果輸出目的地是一個(gè)本地端口,則單元12發(fā)送該幀而沒(méi)有執(zhí)行其它任何處理。如果輸出目的地是一個(gè)LSP,則單元12把該幀傳送到標(biāo)簽添加單元9。
該幀由現(xiàn)有技術(shù)、諸如一個(gè)處理器、一個(gè)廣播服務(wù)器等再現(xiàn)。如果使用了一個(gè)廣播服務(wù)器,則該服務(wù)器還可以被安裝在一個(gè)邊沿節(jié)點(diǎn)的外部。
然而,只有當(dāng)路由登記單元8沒(méi)有在L2路由表6中存儲(chǔ)所接收的MAC幀的目的地時(shí)才執(zhí)行這個(gè)廣播。這是因?yàn)樵谶@種狀態(tài)下這個(gè)MAC幀應(yīng)該被發(fā)送到哪兒是未知的。因此,在這種情況下,MAC幀被發(fā)送到該VPN的所有發(fā)送目的地端口。
這個(gè)優(yōu)選實(shí)施例假定這樣一個(gè)網(wǎng)絡(luò),在該網(wǎng)絡(luò)中操作一個(gè)現(xiàn)有的IP路由選擇協(xié)議、諸如BGP、OSPF等、和一個(gè)現(xiàn)有的MPLS控制協(xié)議、諸如LDP等,而且每個(gè)邊沿節(jié)點(diǎn)可以以一個(gè)IP或MPLS相互連接。首先,為幀中繼作準(zhǔn)備,這個(gè)優(yōu)選實(shí)施例中的設(shè)備定義了一個(gè)VPN,并且在邊沿節(jié)點(diǎn)之間建立了一個(gè)LSP。特別地,執(zhí)行下列操作。
-現(xiàn)有的LSP建立單元(諸如一個(gè)LDP等)建立一個(gè)用于相互連接邊沿節(jié)點(diǎn)的邊沿連接LSP1,并且在用于每個(gè)連接目的地的邊沿節(jié)點(diǎn)管理表2中登記有關(guān)邊沿連接LSP1的信息、諸如一個(gè)第3層地址(IP地址)、用于邊沿連接LSP1的一個(gè)發(fā)送標(biāo)簽、一個(gè)輸出端口等。一個(gè)MPLS網(wǎng)絡(luò)的節(jié)點(diǎn)在標(biāo)簽表10中登記用于每個(gè)標(biāo)簽的一個(gè)路由以及標(biāo)簽操作。
-在把在一個(gè)本地節(jié)點(diǎn)的線路容納單元中的每個(gè)端口(在下文中被稱作一個(gè)“本地端口”)與一個(gè)VPN相關(guān)、并且在VPN定義表3中登記了對(duì)應(yīng)關(guān)系之后,每個(gè)邊沿節(jié)點(diǎn)通過(guò)規(guī)定的協(xié)商獲得與在由另一個(gè)邊沿節(jié)點(diǎn)容納的每一個(gè)端口和VPN之間的對(duì)應(yīng)關(guān)系有關(guān)的信息,并且在容納一個(gè)屬于該VPN的端口的每個(gè)線路容納單元和屬于與由一個(gè)本地邊沿節(jié)點(diǎn)容納的一個(gè)VPN相同的VPN的另一個(gè)邊沿節(jié)點(diǎn)的所有端口之間建立一個(gè)LSP(VPN連接LSP4)當(dāng)建立一個(gè)LSP時(shí),每個(gè)邊沿節(jié)點(diǎn)在用于每個(gè)VPN的VPN管理表5中登記另一個(gè)邊沿節(jié)點(diǎn)的端口的一個(gè)列表、與一個(gè)對(duì)應(yīng)于每個(gè)端口的VPN連接LSP4有關(guān)的信息、和一個(gè)本地邊沿節(jié)點(diǎn)的端口的一個(gè)列表。
同時(shí),每個(gè)邊沿節(jié)點(diǎn)生成標(biāo)簽表10,它指定了由另一個(gè)邊沿節(jié)點(diǎn)所建立的VPN連接LSP4中的標(biāo)簽刪除。
在如上所述的準(zhǔn)備之后,當(dāng)從一個(gè)本地端口接收一幀時(shí),每個(gè)邊沿節(jié)點(diǎn)執(zhí)行下列幀中繼操作。
(1)在使用VPN定義表3識(shí)別了一個(gè)對(duì)應(yīng)于接收端口的VPN之后,L2轉(zhuǎn)發(fā)單元7使用該幀的發(fā)送源MAC作為一個(gè)關(guān)鍵字從一個(gè)用于該VPN的L2路由表6中檢索數(shù)據(jù)。
如果檢索成功,則單元7執(zhí)行過(guò)程(2)。
如果檢索失敗,則單元7通知路由登記單元8該路由未登記。當(dāng)接收了該通知時(shí),單元8在用于一個(gè)對(duì)應(yīng)于該端口的VPN的一個(gè)L2路由表6中登記一對(duì)發(fā)送源MAC和接收端口。同時(shí),單元8從VPN管理表5中獲得具有一個(gè)屬于與該VPN相同的VPN的端口的邊沿節(jié)點(diǎn)的一個(gè)列表,并且向每個(gè)邊沿節(jié)點(diǎn)通知VPN的標(biāo)識(shí)符、發(fā)送源MAC、接收端口的標(biāo)識(shí)符、和邊沿節(jié)點(diǎn)的第3層地址的一個(gè)組合作為該VPN的新路由。
當(dāng)收到該通知時(shí),每個(gè)邊沿節(jié)點(diǎn)基于被通知的內(nèi)容查看VPN管理表5和邊沿節(jié)點(diǎn)管理表2,獲得有關(guān)一個(gè)用于該第3層的邊沿連接LSP1的信息、并且在用于每個(gè)VPN的一個(gè)L2路由表21中登記該信息以及被通知的內(nèi)容。
(2)L2轉(zhuǎn)發(fā)單元7進(jìn)一步使用該幀的發(fā)送目的地MAC作為一個(gè)關(guān)鍵字從對(duì)應(yīng)于該VPN的L2路由表6中檢索數(shù)據(jù)。
如果檢索成功,則單元7從該表中獲得有關(guān)輸出目的地的信息。如果輸出目的地是一個(gè)本地端口,則該信息與該端口的標(biāo)識(shí)符有關(guān)。如果輸出目的地是一個(gè)LSP,則該信息與用于邊沿連接LSP1/VPN連接LSP4的發(fā)送標(biāo)簽和一個(gè)輸出端口有關(guān)。
如果檢索失敗了,則VPN內(nèi)的廣播單元12分別從VPN管理表5和邊沿節(jié)點(diǎn)管理表2中獲得在該VPN中的輸出目的地本地端口的一個(gè)列表和有關(guān)輸出目的地VPN連接LSP4/邊沿連接LSP1的信息,并且把該幀廣播到每個(gè)輸出目的地。
(3)此外,如果輸出目的地是一個(gè)本地端口,則L2轉(zhuǎn)發(fā)單元7把該幀發(fā)送到該端口。如果輸出目的地是一個(gè)LSP,則標(biāo)簽添加單元9添加用于邊沿連接LSP/VPN連接LSP的發(fā)送標(biāo)簽,并且把該幀發(fā)送到LSP。
當(dāng)從一個(gè)MPLS網(wǎng)絡(luò)容納單元的端口收到該幀時(shí),每個(gè)邊沿節(jié)點(diǎn)執(zhí)行下列幀中繼操作。
(4)一個(gè)標(biāo)簽轉(zhuǎn)發(fā)單元11使用該幀的標(biāo)簽查看該標(biāo)簽表10,依據(jù)所獲得的信息刪除該幀的標(biāo)簽,并且把該幀輸出到一個(gè)輸出端口。
如上所述,這個(gè)優(yōu)選實(shí)施例中的設(shè)備可以執(zhí)行通過(guò)一個(gè)發(fā)送源MAC進(jìn)行的地址獲悉、通過(guò)一個(gè)發(fā)送目的地MAC進(jìn)行的路由確定、和在未獲悉發(fā)送目的地MAC時(shí)在該VPN內(nèi)的廣播,并且借此可以構(gòu)成一個(gè)第2層-VPN。
由于轉(zhuǎn)發(fā)面處理過(guò)程是一個(gè)簡(jiǎn)單的、用于使用該幀的具有一個(gè)固定長(zhǎng)度的參數(shù)查看一個(gè)表、并且執(zhí)行方向確定和首部添加/刪除的處理過(guò)程,所以該處理過(guò)程的速度可以被很容易地提高。
圖3和4顯示了在本發(fā)明第二個(gè)優(yōu)選實(shí)施例中的第2層-VPN實(shí)現(xiàn)設(shè)備和邊沿節(jié)點(diǎn)的配置。特別地,圖3顯示了在本發(fā)明的第2層-VPN系統(tǒng)中在一個(gè)MPLS網(wǎng)絡(luò)的邊沿節(jié)點(diǎn)之間建立的LSP。圖4顯示了如圖3所示的邊沿節(jié)點(diǎn)的基本配置,并且顯示了在一個(gè)MPLS網(wǎng)絡(luò)的入口處的一個(gè)節(jié)點(diǎn)(在下文中被簡(jiǎn)單地稱作一個(gè)“入口節(jié)點(diǎn)”)的配置、和在該MPLS網(wǎng)絡(luò)的出口處的一個(gè)節(jié)點(diǎn)(在下文中被簡(jiǎn)單地稱作一個(gè)“出口節(jié)點(diǎn)”)的配置,其中該入口節(jié)點(diǎn)從一個(gè)用戶網(wǎng)絡(luò)中接收一幀,出口節(jié)點(diǎn)把從入口節(jié)點(diǎn)接收的幀通過(guò)MPLS網(wǎng)絡(luò)中繼到用戶網(wǎng)絡(luò)。
只有不同于第一個(gè)優(yōu)選實(shí)施例的部分描述如下。
一個(gè)VPN連接LSP20被相互以完全網(wǎng)狀地建立在MPLS網(wǎng)絡(luò)中的一個(gè)邊沿節(jié)點(diǎn)的每個(gè)線路容納單元的一個(gè)端口和一個(gè)邊沿節(jié)點(diǎn)的該線路容納單元的一個(gè)端口之間。
使用一個(gè)L2路由表21,每個(gè)邊沿節(jié)點(diǎn)管理一個(gè)用于一個(gè)具有一個(gè)MAC地址的邊沿節(jié)點(diǎn)的路由。在這個(gè)優(yōu)選實(shí)施例中,這個(gè)表邏輯上被劃分用于每個(gè)端口。如果一個(gè)輸出目的地是一個(gè)本地端口,則該端口的標(biāo)識(shí)符被登記作為路由信息。如果輸出目的地是另一個(gè)邊沿節(jié)點(diǎn)的端口,則有關(guān)輸出目的地的VPN連接LSP20/邊沿連接LSP1的信息(一個(gè)發(fā)送標(biāo)簽、一個(gè)輸出端口等)被登記下來(lái)。
一個(gè)L2轉(zhuǎn)發(fā)單元22檢查一幀的一對(duì)發(fā)送源MAC地址(在下文中被稱作“發(fā)送源MAC”)和接收端口是否已經(jīng)被獲悉作為一個(gè)路由,并且基于一個(gè)發(fā)送目的地MAC地址(在下文中被稱作“發(fā)送目的地MAC”)確定一個(gè)路由。
特別地,當(dāng)接收到一幀時(shí),單元22從VPN定義表3中獲得一個(gè)對(duì)應(yīng)于接收端口的VPN,并且使用一個(gè)發(fā)送源MAC從一個(gè)用于一個(gè)接收端口的L2路由表21中檢索數(shù)據(jù)。如果檢索失敗,則單元22判斷該路由沒(méi)有被登記,并且通知一個(gè)入口路由登記單元23該路由未登記。
L2轉(zhuǎn)發(fā)單元22進(jìn)一步使用一個(gè)發(fā)送目的地MAC從該表中檢索數(shù)據(jù),并且獲得有關(guān)一個(gè)輸出目的地的信息,特別是一個(gè)本地端口或者有關(guān)一個(gè)輸出目的地的VPN連接LSP20/邊沿連接LSP1的信息。如果檢索失敗,則單元22把該幀傳送到一個(gè)VPN內(nèi)的廣播單元12。
如果輸出目的地是一個(gè)本地端口,則L2轉(zhuǎn)發(fā)單元22把該幀發(fā)送到該端口而沒(méi)有執(zhí)行其它任何處理。如果輸出目的地是一個(gè)LSP,則單元22把該幀傳送到一個(gè)標(biāo)簽添加單元9。
一個(gè)入口路由登記單元23使用來(lái)自于L2轉(zhuǎn)發(fā)單元22的路由未登記通知作為一個(gè)觸發(fā)信號(hào),在用于一個(gè)對(duì)應(yīng)于該端口的VPN的L2路由表21中登記一對(duì)發(fā)送源MAC和接收端口作為一個(gè)新路由。
LSP反向轉(zhuǎn)換表25是這樣一個(gè)表,每個(gè)邊沿節(jié)點(diǎn)通過(guò)這個(gè)表把來(lái)自于另一個(gè)邊沿節(jié)點(diǎn)中的一個(gè)端口的、用于一個(gè)本地端口的一個(gè)VPN連接LSP 20與有關(guān)該反向VPN連接LSP 20和邊沿連接LSP1的信息相關(guān)。
路由登記確認(rèn)單元26使用該幀的發(fā)送源MAC從用于一個(gè)輸出端口的一個(gè)L2路由表21中檢索數(shù)據(jù)。如果檢索失敗,則單元26通知一個(gè)出口路由登記單元27該路由未登記。
出口路由登記單元27使用來(lái)自于路由登記確認(rèn)單元26的路由未登記通知作為一個(gè)觸發(fā)信號(hào),登記用于一個(gè)具有發(fā)送源MAC的邊沿節(jié)點(diǎn)的一個(gè)路由。特別地,單元27通過(guò)基于該幀的接收標(biāo)簽查看LSP反向轉(zhuǎn)換表25,從LSP反向轉(zhuǎn)換表25中獲得作為所接收的VPN連接LSP 20的返回路由的VPN連接LSP 20和邊沿連接LSP1,并且在用于一個(gè)輸出目的地端口的L2路由表21中登記這些連接。
如在先前描述的優(yōu)選實(shí)施例中那樣,在這個(gè)優(yōu)選實(shí)施例的設(shè)備中,操作一個(gè)現(xiàn)有的IP路由選擇協(xié)議、諸如BGP、OSPF等、和一個(gè)現(xiàn)有的MPLS控制協(xié)議、諸如LDP等,而且每個(gè)邊沿節(jié)點(diǎn)可以以一個(gè)IP或MPLS相互連接。
首先,為幀中繼作準(zhǔn)備,這個(gè)優(yōu)選實(shí)施例中的設(shè)備定義了一個(gè)VPN,并且在邊沿節(jié)點(diǎn)之間建立了一個(gè)LSP。特別地,執(zhí)行下列操作。
-現(xiàn)有的LSP建立單元(諸如一個(gè)LDP等)建立一個(gè)用于相互連接邊沿節(jié)點(diǎn)的邊沿連接LSP1,并且在用于每個(gè)連接目的地邊沿節(jié)點(diǎn)的邊沿節(jié)點(diǎn)管理表2中登記有關(guān)一個(gè)邊沿連接LSP1的信息、諸如一個(gè)第3層地址、用于一個(gè)邊沿連接LSP1的一個(gè)發(fā)送標(biāo)簽、一個(gè)輸出端口等。在一個(gè)MPLS網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)在標(biāo)簽表10中登記用于每個(gè)標(biāo)簽的一個(gè)路由以及標(biāo)簽操作。
-在把一個(gè)本地節(jié)點(diǎn)的線路容納單元的每個(gè)端口(在下文中被稱作一個(gè)“本地端口”)與一個(gè)VPN相關(guān)、并且在VPN定義表3中登記了這個(gè)對(duì)應(yīng)關(guān)系之后,每個(gè)邊沿節(jié)點(diǎn)通過(guò)規(guī)定的協(xié)商獲得與在由另一個(gè)邊沿節(jié)點(diǎn)容納的每一個(gè)端口和VPN之間的對(duì)應(yīng)關(guān)系有關(guān)的信息,并且在屬于該VPN的每個(gè)本地端口和屬于與由每個(gè)本地節(jié)點(diǎn)容納的VPN相同的VPN的另一個(gè)邊沿節(jié)點(diǎn)的所有端口之間建立一個(gè)LSP(VPN連接LSP20)。
當(dāng)建立一個(gè)LSP時(shí),每個(gè)邊沿節(jié)點(diǎn)在用于每個(gè)VPN的VPN管理表5中登記在另一個(gè)邊沿節(jié)點(diǎn)中的端口的一個(gè)列表、與一個(gè)對(duì)應(yīng)于每個(gè)端口的VPN連接LSP20有關(guān)的信息、和在一個(gè)本地邊沿節(jié)點(diǎn)中的端口的一個(gè)列表。
同時(shí),每個(gè)邊沿節(jié)點(diǎn)生成標(biāo)簽表10,它指定了由另一個(gè)邊沿節(jié)點(diǎn)建立的一個(gè)VPN連接LSP20的標(biāo)簽刪除。
在如上所述的準(zhǔn)備之后,當(dāng)從一個(gè)本地端口接收到一幀時(shí),每個(gè)邊沿節(jié)點(diǎn)執(zhí)行下列幀中繼操作。
(1)在使用VPN定義表3識(shí)別了一個(gè)對(duì)應(yīng)于接收端口的VPN之后,L2轉(zhuǎn)發(fā)單元22使用該幀的發(fā)送源MAC作為一個(gè)關(guān)鍵字從用于一個(gè)接收端口的L2路由表21中檢索數(shù)據(jù)。
如果檢索成功,則單元22繼續(xù)一個(gè)隨后的處理,而不執(zhí)行其它任何處理。
如果檢索失敗,則單元22通知入口路由登記單元23該路由未登記。當(dāng)接收了該通知時(shí),單元23在用于該端口的一個(gè)L2路由表21中登記一對(duì)發(fā)送源MAC和接收端口。
(2)L2轉(zhuǎn)發(fā)單元22進(jìn)一步使用該幀的發(fā)送目的地MAC作為一個(gè)關(guān)鍵字從對(duì)應(yīng)于該VPN的一個(gè)L2路由表21中檢索數(shù)據(jù)。
如果檢索成功,則單元22從該表中獲得有關(guān)一個(gè)輸出目的地的信息。如果輸出目的地是一個(gè)本地端口,則該信息與該端口的標(biāo)識(shí)符有關(guān)。如果輸出目的地是一個(gè)LSP,則該信息與用于邊沿連接LSP1和VPN連接LSP4的發(fā)送標(biāo)簽和一個(gè)輸出端口有關(guān)。
如果檢索失敗了,則VPN內(nèi)的廣播單元12從VPN管理表5中獲得在該VPN中的端口的一個(gè)列表,并且把該幀廣播到用于該端口的所有本地端口和VPN連接LSP20。
(3)此外,如果輸出目的地是一個(gè)本地端口,則L2轉(zhuǎn)發(fā)單元22把該幀發(fā)送到該端口。如果輸出目的地是一個(gè)LSP,則標(biāo)簽添加單元9把用于邊沿連接LSP和VPN連接LSP的發(fā)送標(biāo)簽添加到該幀上,然后把該幀發(fā)送到LSP。
當(dāng)從一個(gè)MPLS網(wǎng)絡(luò)容納單元的端口收到該幀時(shí),每個(gè)邊沿節(jié)點(diǎn)執(zhí)行下列幀中繼操作。
(1)一個(gè)標(biāo)簽轉(zhuǎn)發(fā)單元23基于該幀的標(biāo)簽查看標(biāo)簽表10,并且確定一個(gè)輸出端口。同時(shí),單元23依據(jù)所獲得的信息刪除該幀的標(biāo)簽。
(2)一個(gè)路由登記確認(rèn)單元26使用在標(biāo)簽刪除之后的該幀的發(fā)送源MAC作為一個(gè)關(guān)鍵字,從用于由標(biāo)簽轉(zhuǎn)發(fā)單元23獲得的一個(gè)輸出目的地端口的L2路由表中檢索數(shù)據(jù)。如果檢索成功,則單元23輸出該幀,而不執(zhí)行其它任何處理。
如果檢索失敗,則單元23通知出口路由登記單元27該路由未登記。當(dāng)收到該通知時(shí),出口路由登記單元27從LSP反向轉(zhuǎn)換表25獲得作為所接收的VPN連接LSP 20的返回路由的VPN連接LSP 20和邊沿連接LSP1,并且把這些連接和被通知的發(fā)送源MAC成對(duì)地在用于VPN的L2路由表21中進(jìn)行登記。
如上所述,由于根據(jù)本發(fā)明第二個(gè)優(yōu)選實(shí)施例中的設(shè)備可以執(zhí)行通過(guò)一個(gè)發(fā)送源MAC進(jìn)行的地址獲悉、通過(guò)一個(gè)發(fā)送目的地MAC進(jìn)行的路由確定、和在未獲悉發(fā)送目的地MAC時(shí)在該VPN內(nèi)的廣播,所以可以構(gòu)成一個(gè)第2層-VPN。
由于轉(zhuǎn)發(fā)面處理過(guò)程是一個(gè)簡(jiǎn)單的、用于使用該幀的具有一個(gè)固定長(zhǎng)度的參數(shù)查看一個(gè)表、并且執(zhí)行方向確定和首部添加/刪除的處理過(guò)程,所以該處理過(guò)程的速度可以被很容易地提高。
第三個(gè)優(yōu)選實(shí)施例描述如下。
一個(gè)L2轉(zhuǎn)發(fā)單元31檢查一幀的一對(duì)發(fā)送源MAC地址(在下文中被稱作“發(fā)送源MAC”)和接收端口是否已經(jīng)被獲悉作為一個(gè)路由,并且基于一個(gè)發(fā)送目的地MAC地址(在下文中被稱作“發(fā)送目的地MAC”)確定一個(gè)路由。
特別地,當(dāng)接收到一幀時(shí),單元31從VPN定義表3中獲得一個(gè)對(duì)應(yīng)于接收端口的VPN,并且使用一個(gè)發(fā)送源MAC從一個(gè)用于一個(gè)接收端口的L2路由表21中檢索數(shù)據(jù)。如果檢索失敗,則單元31判斷該路由沒(méi)有被登記,并且通知一個(gè)路由登記單元32該路由未登記。
L2轉(zhuǎn)發(fā)單元31進(jìn)一步使用發(fā)送目的地MAC從該表中檢索數(shù)據(jù),并且獲得有關(guān)一個(gè)輸出目的地的信息,特別是一個(gè)本地端口或者有關(guān)一個(gè)輸出目的地的VPN連接LSP20和邊沿連接LSP1的信息。如果檢索失敗,則單元31把該幀傳送到一個(gè)VPN內(nèi)的廣播單元12。
如果輸出目的地是一個(gè)本地端口,則L2轉(zhuǎn)發(fā)單元31把該幀發(fā)送到該端口,而不執(zhí)行其它任何處理。如果輸出目的地是一個(gè)LSP,則單元31把該幀傳送到一個(gè)標(biāo)簽添加單元9。
路由登記單元32使用來(lái)自于L2轉(zhuǎn)發(fā)單元7的路由未登記通知作為一個(gè)觸發(fā)信號(hào),在用于一個(gè)對(duì)應(yīng)于該端口的VPN的L2路由表21中登記這對(duì)發(fā)送源MAC和接收端口作為一個(gè)新路由。
此外,路由登記單元32從VPN管理表5中獲得容納用于該VPN的端口的所有邊沿節(jié)點(diǎn)的第3層地址的列表,并且向每個(gè)邊沿節(jié)點(diǎn)通知該VPN的標(biāo)識(shí)符、發(fā)送源MAC、接收端口的標(biāo)識(shí)符、和邊沿節(jié)點(diǎn)的第3層地址的一個(gè)組合作為一個(gè)新路由。
當(dāng)收到該通知時(shí),每個(gè)邊沿節(jié)點(diǎn)分別從VPN管理表5和邊沿節(jié)點(diǎn)管理表2中獲得有關(guān)一個(gè)對(duì)應(yīng)于被通知的端口的VPN連接LSP4的信息、和有關(guān)對(duì)應(yīng)于被通知的第3層地址的邊沿連接LSP1的信息,并且在L2路由表6中登記這兩個(gè)信息。
假定一個(gè)在其中邊沿節(jié)點(diǎn)可以以一個(gè)IP或MPLS相互連接的網(wǎng)絡(luò),由于操作一個(gè)現(xiàn)有的IP路由選擇協(xié)議、諸如BGP、OSPF等、和一個(gè)現(xiàn)有的MPLS控制協(xié)議、諸如LDP等,所以可以實(shí)現(xiàn)這個(gè)優(yōu)選實(shí)施例中的設(shè)備。
首先,為幀中繼作準(zhǔn)備,這個(gè)優(yōu)選實(shí)施例中的設(shè)備定義了一個(gè)VPN,并且建立了一個(gè)LSP。特別地,執(zhí)行下列操作。
-現(xiàn)有的LSP建立單元(諸如一個(gè)LDP等)在邊沿節(jié)點(diǎn)之間建立一個(gè)用于相互連接邊沿節(jié)點(diǎn)的邊沿連接LSP1,并且在用于每個(gè)連接目的地邊沿節(jié)點(diǎn)的邊沿節(jié)點(diǎn)管理表2中登記有關(guān)該邊沿連接LSP1的信息、諸如一個(gè)第3層地址、用于該邊沿連接LSP1的一個(gè)發(fā)送標(biāo)簽、一個(gè)輸出端口等。在一個(gè)MPLS網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)在標(biāo)簽表10中登記用于每個(gè)標(biāo)簽的一個(gè)路由以及標(biāo)簽操作。
-在把在一個(gè)本地節(jié)點(diǎn)中的線路容納單元的每個(gè)端口(在下文中被稱作一個(gè)“本地端口”)與一個(gè)VPN相關(guān)、并且在VPN定義表3中登記了這個(gè)對(duì)應(yīng)關(guān)系之后,每個(gè)邊沿節(jié)點(diǎn)通過(guò)某些協(xié)商獲得與在由另一個(gè)邊沿節(jié)點(diǎn)容納的每一個(gè)端口和該VPN之間的對(duì)應(yīng)關(guān)系有關(guān)的信息,并且在屬于該VPN的每個(gè)本地端口和屬于與由一個(gè)本地節(jié)點(diǎn)容納的VPN相同的VPN的另一個(gè)邊沿節(jié)點(diǎn)的所有端口之間建立一個(gè)LSP(VPN連接LSP20)。
當(dāng)建立一個(gè)LSP時(shí),每個(gè)邊沿節(jié)點(diǎn)在用于每個(gè)VPN的VPN管理表5中登記另一個(gè)邊沿節(jié)點(diǎn)的端口的一個(gè)列表、與一個(gè)對(duì)應(yīng)于每個(gè)端口的VPN連接LSP20有關(guān)的信息、和一個(gè)本地節(jié)點(diǎn)的端口的一個(gè)列表。
同時(shí),每個(gè)邊沿節(jié)點(diǎn)生成標(biāo)簽表10,它指定了由另一個(gè)邊沿節(jié)點(diǎn)所建立的VPN連接LSP20的標(biāo)簽刪除。
在如上所述的準(zhǔn)備之后,當(dāng)從一個(gè)本地端口接收到一幀時(shí),每個(gè)邊沿節(jié)點(diǎn)執(zhí)行下列幀中繼操作。
(1)在使用VPN定義表3識(shí)別了對(duì)應(yīng)于一個(gè)接收端口的一個(gè)VPN之后,L2轉(zhuǎn)發(fā)單元31使用該幀的發(fā)送源MAC作為一個(gè)關(guān)鍵字從用于一個(gè)接收端口的L2路由表12中檢索數(shù)據(jù)。
如果檢索成功,則單元31繼續(xù)一個(gè)隨后的處理,而不執(zhí)行其它任何處理。
如果檢索失敗,則單元31通知路由登記單元32該路由未登記。當(dāng)接收了該通知時(shí),單元32在用于一個(gè)接收端口的L2路由表21中登記一對(duì)發(fā)送源MAC和接收端口。同時(shí),單元32從VPN管理表5中獲得具有一個(gè)屬于與該VPN相同的VPN的端口的邊沿節(jié)點(diǎn)的一個(gè)列表,并且向每個(gè)邊沿節(jié)點(diǎn)通知VPN的標(biāo)識(shí)符、發(fā)送源MAC、接收端口的標(biāo)識(shí)符、和邊沿節(jié)點(diǎn)的第3層地址的一個(gè)組合作為該VPN的一個(gè)新路由。
當(dāng)收到該通知時(shí),每個(gè)邊沿節(jié)點(diǎn)使用被通知的第3層地址獲得有關(guān)用于該第3層的邊沿連接LSP1的信息、并且在用于每個(gè)端口的一個(gè)L2路由表21中登記該信息以及被通知的內(nèi)容。
(2)L2轉(zhuǎn)發(fā)單元31進(jìn)一步使用該幀的發(fā)送目的地MAC作為一個(gè)關(guān)鍵字從對(duì)應(yīng)于該VPN的一個(gè)L2路由表21中檢索數(shù)據(jù)。
如果檢索成功,則單元31從該表中獲得有關(guān)輸出目的地的信息。如果輸出目的地是一個(gè)本地端口,則該信息與該端口的標(biāo)識(shí)符有關(guān)。如果輸出目的地是一個(gè)LSP,則該信息與用于邊沿連接LSP1和VPN連接LSP20的發(fā)送標(biāo)簽和一個(gè)輸出端口有關(guān)。
如果檢索失敗了,則VPN內(nèi)的廣播單元12分別從VPN管理表5和邊沿節(jié)點(diǎn)管理表2中獲得在該VPN中的端口的一個(gè)列表、和有關(guān)在該VPN中的輸出目的地VPN連接LSP20和邊沿連接LSP1的信息,并且把該幀廣播到用于該端口的所有本地端口和VPN連接LSP20。
(3)此外,如果輸出目的地是一個(gè)本地端口,則L2轉(zhuǎn)發(fā)單元31把該幀發(fā)送到該端口。如果輸出目的地是一個(gè)LSP,則標(biāo)簽添加單元9添加用于邊沿連接LSP和VPN連接LSP的發(fā)送標(biāo)簽,然后把該幀發(fā)送到LSP。
如在現(xiàn)有的MPLS中那樣,在從一個(gè)入口節(jié)點(diǎn)發(fā)送該幀之后,在圖1和2中未顯示的、在MPLS網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)基于該標(biāo)簽確定路徑方向,并且把該幀中繼直到出口節(jié)點(diǎn)。
當(dāng)從一個(gè)MPLS網(wǎng)絡(luò)容納單元的端口收到該幀時(shí),出口節(jié)點(diǎn)執(zhí)行下列幀中繼操作。
(4)標(biāo)簽轉(zhuǎn)發(fā)單元11基于該幀的標(biāo)簽查看該標(biāo)簽表10,依據(jù)所獲得的信息刪除該幀的標(biāo)簽,并且把該幀輸出到出口端口。
如上所述,由于根據(jù)本發(fā)明第二個(gè)優(yōu)選實(shí)施例中的設(shè)備可以執(zhí)行通過(guò)一個(gè)發(fā)送源MAC進(jìn)行的地址獲悉、通過(guò)一個(gè)發(fā)送目的地MAC進(jìn)行的路由確定、和在未獲悉發(fā)送目的地MAC時(shí)在該VPN內(nèi)的廣播,所以可以構(gòu)成一個(gè)第2層-VPN。
由于轉(zhuǎn)發(fā)面處理過(guò)程是一個(gè)簡(jiǎn)單的、用于使用該幀的具有一個(gè)固定長(zhǎng)度的參數(shù)查看一個(gè)表、并且執(zhí)行方向確定和首部添加/刪除的處理過(guò)程,所以該處理過(guò)程的速度可以被很容易地提高。
第四個(gè)優(yōu)選實(shí)施例描述如下。
一個(gè)VPN定義表50把一幀的VLAN標(biāo)識(shí)符(VID)與一個(gè)VPN和一個(gè)接收邏輯端口(在下文中與一個(gè)VID相關(guān)的一個(gè)邏輯端口被這樣稱呼)相關(guān)聯(lián)。
一個(gè)L2轉(zhuǎn)發(fā)單元41檢查一幀的一對(duì)發(fā)送源MAC地址(在下文中被稱作“發(fā)送源MAC”)和接收端口是否已經(jīng)被獲悉作為一個(gè)路由,并且基于一個(gè)發(fā)送目的地MAC地址(在下文中被稱作“發(fā)送目的地MAC”)確定一個(gè)路由。
特別地,當(dāng)接收到該幀時(shí),單元41從一個(gè)VPN定義表40中獲得對(duì)應(yīng)于該幀的VID的一個(gè)VPN,并且使用一個(gè)發(fā)送源MAC從用于該VPN的一個(gè)L2路由表6中檢索數(shù)據(jù)。如果檢索失敗,則單元41通知路由登記單元8該路由未登記。
單元41進(jìn)一步使用發(fā)送目的地MAC從該表中檢索數(shù)據(jù),并且獲得有關(guān)一個(gè)輸出目的地的信息,特別是一個(gè)本地端口或者有關(guān)一個(gè)輸出目的地的VPN連接LSP4和邊沿連接LSP1的信息。如果檢索失敗,則單元41把該幀傳送到VPN內(nèi)的廣播單元12。
如果輸出目的地是一個(gè)本地端口,則單元41把該幀發(fā)送到該端口,而不執(zhí)行其它任何處理。如果輸出目的地是一個(gè)LSP,則單元41把該幀傳送到標(biāo)簽添加單元9。
一個(gè)標(biāo)簽表42在輸出一幀時(shí)用一個(gè)標(biāo)簽、一個(gè)輸出目的地端口、和附加到該幀上的一個(gè)VLAN標(biāo)識(shí)符(VID)指定該幀的標(biāo)簽刪除。
標(biāo)簽轉(zhuǎn)發(fā)單元43使用在該幀中的標(biāo)簽查看一個(gè)標(biāo)簽表42,并且基于所獲得的信息刪除該幀的標(biāo)簽。同時(shí),單元43在標(biāo)簽刪除之后獲得一個(gè)將被附加到一個(gè)輸出幀上的VLAN標(biāo)識(shí)符,其通過(guò)VID重寫(xiě)到該幀中的VLAN首部。
在這種情況下,假定這樣一個(gè)網(wǎng)絡(luò),在該網(wǎng)絡(luò)中操作一個(gè)現(xiàn)有的IP路由選擇協(xié)議、諸如BGP、OSPF等、和一個(gè)現(xiàn)有的MPLS控制協(xié)議、諸如LDP等,而且每個(gè)邊沿節(jié)點(diǎn)可以通過(guò)一個(gè)IP或MPLS相互連接。
為幀中繼作準(zhǔn)備,這個(gè)優(yōu)選實(shí)施例中的設(shè)備定義一個(gè)VPN并且建立一個(gè)LSP。特別地,執(zhí)行下列操作。
-現(xiàn)有的LSP建立單元(諸如一個(gè)LDP等)在邊沿節(jié)點(diǎn)之間建立一個(gè)用于相互連接邊沿節(jié)點(diǎn)的邊沿連接LSP1,并且在用于每個(gè)連接目的地邊沿節(jié)點(diǎn)的邊沿節(jié)點(diǎn)管理表2中登記有關(guān)該邊沿連接LSP1的信息、諸如一個(gè)第3層地址、用于該邊沿連接LSP1的一個(gè)發(fā)送標(biāo)簽、一個(gè)輸出端口等。在一個(gè)MPLS網(wǎng)絡(luò)中的節(jié)點(diǎn)在標(biāo)簽表42中登記用于每個(gè)標(biāo)簽的一個(gè)路由以及標(biāo)簽操作。
-在把一個(gè)VLAN標(biāo)識(shí)符(VID)與一個(gè)VPN相關(guān)聯(lián)、并且在一個(gè)VPN定義表40中登記這個(gè)對(duì)應(yīng)關(guān)系之后,每個(gè)邊沿節(jié)點(diǎn)在一個(gè)本地節(jié)點(diǎn)的每個(gè)線路容納單元和另一個(gè)邊沿節(jié)點(diǎn)的所有端口之間建立一個(gè)LSP(VPN連接LSP4)。
當(dāng)建立一個(gè)LSP時(shí),每個(gè)邊沿節(jié)點(diǎn)在用于每個(gè)VPN的VPN管理表5中登記在另一個(gè)邊沿節(jié)點(diǎn)中的端口的一個(gè)列表、與對(duì)應(yīng)于每個(gè)端口的一個(gè)VPN連接LSP4有關(guān)的信息、和在一個(gè)本地節(jié)點(diǎn)中的端口的一個(gè)列表。
同時(shí),每個(gè)邊沿節(jié)點(diǎn)生成標(biāo)簽表42,它指定了由另一個(gè)邊沿節(jié)點(diǎn)所建立的VPN連接LSP4中的標(biāo)簽刪除。
在如上所述的準(zhǔn)備之后,當(dāng)從一個(gè)本地端口接收到一幀時(shí),每個(gè)邊沿節(jié)點(diǎn)執(zhí)行下列幀中繼操作。
(1)在使用VPN定義表40識(shí)別了對(duì)應(yīng)于該幀的VID的一個(gè)VPN之后,L2轉(zhuǎn)發(fā)單元41使用該幀的發(fā)送源MAC作為一個(gè)關(guān)鍵字從用于該VPN的L2路由表6中檢索數(shù)據(jù)。
如果檢索成功,則單元41繼續(xù)處理過(guò)程(2),而不執(zhí)行其它任何處理。
如果檢索失敗,則單元41通知路由登記單元8該路由未登記。當(dāng)接收了該通知時(shí),單元8在用于該VPN的一個(gè)L2路由表6中登記一對(duì)發(fā)送源MAC和接收端口。同時(shí),單元8從VPN管理表5中獲得具有一個(gè)屬于與該VPN相同的VPN的端口的邊沿節(jié)點(diǎn)的一個(gè)列表,并且向每個(gè)邊沿節(jié)點(diǎn)通知VPN的標(biāo)識(shí)符、發(fā)送源MAC、接收端口的標(biāo)識(shí)符、和邊沿節(jié)點(diǎn)的第3層地址的一個(gè)組合作為該VPN的一個(gè)新路由。
當(dāng)收到該通知時(shí),每個(gè)邊沿節(jié)點(diǎn)在一個(gè)L2路由表6中登記被通知的路由。
(2)L2轉(zhuǎn)發(fā)單元41進(jìn)一步使用該幀的發(fā)送目的地MAC作為一個(gè)關(guān)鍵字從對(duì)應(yīng)于該VPN的一個(gè)L2路由表6中檢索數(shù)據(jù)。
如果檢索成功,則單元41從該表中獲得有關(guān)輸出目的地的信息。如果輸出目的地是一個(gè)本地端口,則該信息與該端口的標(biāo)識(shí)符有關(guān)。如果輸出目的地是一個(gè)LSP,則該信息與用于邊沿連接LSP1和VPN連接LSP20的發(fā)送標(biāo)簽和一個(gè)輸出端口有關(guān)。
如果檢索失敗了,則VPN內(nèi)的廣播單元12分別從VPN管理表5和邊沿節(jié)點(diǎn)管理表2中獲得在該VPN中的輸出目的地本地端口的一個(gè)列表、和有關(guān)輸出目的地VPN連接LSP4/邊沿連接LSP1的信息,并且把該幀廣播到每個(gè)輸出目的地。
(3)此外,如果輸出目的地是一個(gè)本地端口,則L2轉(zhuǎn)發(fā)單元41把該幀轉(zhuǎn)發(fā)到該端口。如果輸出目的地是一個(gè)LSP,則標(biāo)簽添加單元9添加用于邊沿連接LSP和VPN連接LSP的發(fā)送標(biāo)簽,然后發(fā)送該幀。
當(dāng)從一個(gè)MPLS網(wǎng)絡(luò)容納單元的端口收到該幀時(shí),每個(gè)邊沿節(jié)點(diǎn)執(zhí)行下列幀中繼操作。
(4)標(biāo)簽轉(zhuǎn)發(fā)單元43使用該幀的標(biāo)簽查看標(biāo)簽表42,并且基于所獲得的信息刪除該幀的標(biāo)簽。同時(shí),單元43把包括從該表中獲得的VID的一個(gè)VLAN首部附加到該幀上,并且把該幀輸出到一個(gè)輸出幀。
如上所述,由于本發(fā)明中的設(shè)備可以執(zhí)行通過(guò)一個(gè)發(fā)送源MAC進(jìn)行的地址獲悉、通過(guò)一個(gè)發(fā)送目的地MAC進(jìn)行的路由確定、和在未確定發(fā)送目的地MAC時(shí)在該VPN內(nèi)的廣播,所以可以在一個(gè)第2層中構(gòu)成一個(gè)VPN連接的VLANs。
由于轉(zhuǎn)發(fā)面處理過(guò)程是一個(gè)簡(jiǎn)單的、用于使用該幀的具有一個(gè)固定長(zhǎng)度的參數(shù)查看一個(gè)表、并且執(zhí)行方向確定和首部添加/刪除的處理過(guò)程,所以該處理過(guò)程的速度可以被很容易地提高。
第五個(gè)優(yōu)選實(shí)施例描述如下。
一個(gè)L2轉(zhuǎn)發(fā)單元52檢查一幀的一對(duì)發(fā)送源MAC地址(在下文中被稱作“發(fā)送源MAC”)和接收端口是否已經(jīng)被獲悉作為一個(gè)路由,并且基于一個(gè)發(fā)送目的地MAC地址(在下文中被稱作“發(fā)送目的地MAC”)確定一個(gè)路由。
特別地,當(dāng)接收到該幀時(shí),單元52從一個(gè)VPN定義表50中獲得一個(gè)對(duì)應(yīng)于該幀的VID的VPN和一個(gè)接收邏輯端口,并且使用一個(gè)發(fā)送源MAC從用于該接收邏輯端口的一個(gè)L2路由表21中檢索數(shù)據(jù)。如果檢索失敗,則單元52通知入口路由登記單元23該路由未登記。
單元52進(jìn)一步使用發(fā)送目的地MAC從該表中檢索數(shù)據(jù),并且獲得有關(guān)一個(gè)輸出目的地的信息,特別是一個(gè)本地邏輯端口或者有關(guān)一個(gè)輸出目的地的VPN連接LSP4/邊沿連接LSP1的信息。如果檢索失敗,則如下所述,單元52把該幀傳送到VPN內(nèi)的廣播單元12。
如果輸出目的地是一個(gè)邏輯本地端口,則單元52把該幀發(fā)送到該端口,而不執(zhí)行其它任何處理。如果輸出目的地是一個(gè)LSP,則單元52把該幀傳送到標(biāo)簽添加單元9。
入口路由登記單元23使用來(lái)自于L2轉(zhuǎn)發(fā)單元52的路由未登記通知作為一個(gè)觸發(fā)信號(hào),在用于一個(gè)對(duì)應(yīng)于該邏輯端口的VPN的一個(gè)L2路由表21中登記一對(duì)發(fā)送源MAC和接收邏輯端口作為一個(gè)新路由。
在這種情況下,假定這樣一個(gè)網(wǎng)絡(luò),在該網(wǎng)絡(luò)中操作一個(gè)現(xiàn)有的IP路由選擇協(xié)議、諸如BGP、OSPF等、和一個(gè)現(xiàn)有的MPLS控制協(xié)議、諸如LDP等,而且每個(gè)邊沿節(jié)點(diǎn)可以以一個(gè)IP或MPLS相互連接。
為幀中繼作準(zhǔn)備,這個(gè)優(yōu)選實(shí)施例中的設(shè)備定義一個(gè)VPN并且建立一個(gè)LSP。特別地,執(zhí)行下列操作。
-現(xiàn)有的LSP建立單元(諸如一個(gè)LDP等)在邊沿節(jié)點(diǎn)之間建立一個(gè)用于相互連接邊沿節(jié)點(diǎn)的邊沿連接LSP1,并且在用于每個(gè)連接目的地邊沿節(jié)點(diǎn)的邊沿節(jié)點(diǎn)管理表2中登記有關(guān)該邊沿連接LSP1的信息、諸如一個(gè)第3層地址、用于該邊沿連接LSP1的一個(gè)發(fā)送標(biāo)簽、一個(gè)輸出端口等。在一個(gè)MPLS網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)在標(biāo)簽表10中登記用于每個(gè)標(biāo)簽的一個(gè)路由以及標(biāo)簽操作。
-在把一個(gè)VLAN標(biāo)識(shí)符(VID)與一個(gè)VPN和一個(gè)邏輯端口相關(guān)聯(lián)、并且在VPN定義表50中登記這個(gè)對(duì)應(yīng)關(guān)系之后,每個(gè)邊沿節(jié)點(diǎn)在屬于該VPN的每個(gè)邏輯端口和另一個(gè)邊沿節(jié)點(diǎn)的所有邏輯端口之間建立一個(gè)LSP(VPN連接LSP20)。
當(dāng)建立一個(gè)LSP時(shí),每個(gè)邊沿節(jié)點(diǎn)在用于每個(gè)VPN的VPN管理表5中登記在另一個(gè)邊沿節(jié)點(diǎn)中的邏輯端口的一個(gè)列表、與一個(gè)對(duì)應(yīng)于每個(gè)邏輯端口的VPN連接LSP20有關(guān)的信息、和在一個(gè)本地節(jié)點(diǎn)中的邏輯端口的一個(gè)列表。
同時(shí),每個(gè)邊沿節(jié)點(diǎn)生成標(biāo)簽表10,它指定了由另一個(gè)邊沿節(jié)點(diǎn)所建立的VPN連接LSP20的標(biāo)簽刪除。
在上面的準(zhǔn)備之后,從一個(gè)邏輯本地端口接收到一幀的邊沿節(jié)點(diǎn)執(zhí)行以下的幀中繼操作。
(1)在使用VPN定義表50識(shí)別了一個(gè)對(duì)應(yīng)于接收邏輯邏輯端口的VPN之后,L2轉(zhuǎn)發(fā)單元52使用該幀的發(fā)送源MAC作為一個(gè)關(guān)鍵字從用于一個(gè)接收邏輯端口的L2路由表21中檢索數(shù)據(jù)。
如果檢索成功,則單元52繼續(xù)一個(gè)隨后的處理,而不執(zhí)行其它任何處理。
如果檢索失敗,則單元52通知入口路由登記單元23該路由未登記。當(dāng)接收了該通知時(shí),單元23在用于該邏輯端口的L2路由表21中登記這對(duì)發(fā)送源MAC和接收邏輯端口。
(2)L2轉(zhuǎn)發(fā)單元52進(jìn)一步使用該幀的發(fā)送目的地MAC作為一個(gè)關(guān)鍵字從對(duì)應(yīng)于該接收本地端口的一個(gè)L2路由表21中檢索數(shù)據(jù)。
如果檢索成功,則單元52從該表中獲得有關(guān)一個(gè)輸出目的地的信息。如果輸出目的地是一個(gè)邏輯本地端口,則該信息與該端口的標(biāo)識(shí)符有關(guān)。如果輸出目的地是一個(gè)LSP,則該信息與用于邊沿連接LSP1和VPN連接LSP20的發(fā)送標(biāo)簽和一個(gè)輸出邏輯端口標(biāo)簽有關(guān)。
如果檢索失敗,則VPN內(nèi)的廣播單元12從VPN管理表5中獲得在該VPN中的邏輯端口的一個(gè)列表,并且把該幀廣播到用于該邏輯端口的所有邏輯本地端口和VPN連接LSP20。
(3)此外,如果輸出目的地是一個(gè)本地端口,則L2轉(zhuǎn)發(fā)單元52把該幀發(fā)送到該端口。如果輸出目的地是一個(gè)LSP,則標(biāo)簽添加單元9添加用于邊沿連接LSP和VPN連接LSP的發(fā)送標(biāo)簽,然后把該幀發(fā)送到LSP。
當(dāng)從一個(gè)MPLS網(wǎng)絡(luò)容納單元的端口收到該幀時(shí),每個(gè)邊沿節(jié)點(diǎn)執(zhí)行下列幀中繼操作。
(4)標(biāo)簽轉(zhuǎn)發(fā)單元23使用該幀的標(biāo)簽查看標(biāo)簽表10,并且基于所獲得的信息刪除該幀的標(biāo)簽。同時(shí),單元23把包括從該表中獲得的VID的一個(gè)VLAN首部附加到該幀上。
(5)路由登記確認(rèn)單元26從用于一個(gè)從標(biāo)簽轉(zhuǎn)發(fā)單元23中獲得的輸出目的地端口的一個(gè)L2路由表21中檢索數(shù)據(jù)。如果檢索成功,則單元26輸出該幀,而不執(zhí)行其它任何處理。
如果檢索失敗,則單元26通知出口路由登記單元27該路由未登記。當(dāng)收到該通知時(shí),出口路由登記單元27從LSP反向轉(zhuǎn)換表25中獲得對(duì)應(yīng)于所接收的VPN連接LSP 20的反向VPN連接LSP 20和邊沿連接LSP1,并且把這些連接和被通知的發(fā)送源MAC成對(duì)地在用于由標(biāo)簽轉(zhuǎn)發(fā)單元23獲得的一個(gè)輸出端口的L2路由表21中進(jìn)行登記。
如上所述,本發(fā)明中的設(shè)備可以執(zhí)行通過(guò)一個(gè)發(fā)送源MAC進(jìn)行的地址獲悉、通過(guò)一個(gè)發(fā)送目的地MAC進(jìn)行的路由確定、和在未獲悉發(fā)送目的地MAC時(shí)在該VPN內(nèi)的廣播,并且可以在一個(gè)第2層中構(gòu)成一個(gè)VPN連接的VLANs。
由于轉(zhuǎn)發(fā)面處理過(guò)程是一個(gè)簡(jiǎn)單的、用于使用該幀的具有一個(gè)固定長(zhǎng)度的參數(shù)查看一個(gè)表、并且執(zhí)行方向確定和首部添加/刪除的處理過(guò)程,所以該處理過(guò)程的速度可以被很容易地提高。
第六個(gè)優(yōu)選實(shí)施例描述如下。
一個(gè)L2轉(zhuǎn)發(fā)單元61檢查一幀的一對(duì)發(fā)送源MAC地址(在下文中被稱作“發(fā)送源MAC”)和接收端口是否已經(jīng)被獲悉作為一個(gè)路由,并且基于一個(gè)發(fā)送目的地MAC地址(在下文中被稱作“發(fā)送目的地MAC”)確定一個(gè)路由。
特別地,當(dāng)接收到該幀時(shí),單元61從一個(gè)VPN定義表50中獲得一個(gè)對(duì)應(yīng)于該幀的VID的VPN和一個(gè)接收邏輯端口,并且使用一個(gè)發(fā)送源MAC從用于該接收邏輯端口的一個(gè)L2路由表21中檢索數(shù)據(jù)。如果檢索失敗,則單元61通知路由登記單元8該路由未登記。
單元61進(jìn)一步使用發(fā)送目的地MAC從該表中檢索數(shù)據(jù),并且獲得有關(guān)一個(gè)輸出目的地的信息,特別是一個(gè)本地端口或者有關(guān)一個(gè)輸出目的地的VPN連接LSP20和邊沿連接LSP1的信息。如果檢索失敗,則單元61把該幀傳送到VPN內(nèi)的廣播單元12(將稍后描述)。
如果輸出目的地是一個(gè)本地端口,則單元61把該幀發(fā)送到該端口,而不執(zhí)行其它任何處理。如果輸出目的地是一個(gè)LSP,則單元61把該幀傳送到標(biāo)簽添加單元9。
在這種情況下,假定這樣一個(gè)網(wǎng)絡(luò),在該網(wǎng)絡(luò)中操作一個(gè)現(xiàn)有的IP路由選擇協(xié)議、諸如BGP、OSPF等、和一個(gè)現(xiàn)有的MPLS控制協(xié)議、諸如LDP等,而且每個(gè)邊沿節(jié)點(diǎn)可以以一個(gè)IP或MPLS相互連接。
為幀中繼作準(zhǔn)備,這個(gè)優(yōu)選實(shí)施例中的設(shè)備定義一個(gè)VPN并且建立一個(gè)LSP。特別地,執(zhí)行下列操作。
-現(xiàn)有的LSP建立單元(諸如一個(gè)LDP等)在邊沿節(jié)點(diǎn)之間建立一個(gè)用于相互連接邊沿節(jié)點(diǎn)的邊沿連接LSP1,并且在用于每個(gè)連接目的地邊沿節(jié)點(diǎn)的邊沿節(jié)點(diǎn)管理表2中登記有關(guān)該邊沿連接LSP1的信息、諸如一個(gè)第3層地址、用于該邊沿連接LSP1的一個(gè)發(fā)送標(biāo)簽、一個(gè)輸出端口等。在MPLS網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)在標(biāo)簽表10中登記用于每個(gè)標(biāo)簽的一個(gè)路由以及標(biāo)簽操作。
-在把一個(gè)VLAN標(biāo)識(shí)符(VID)與一個(gè)VPN相關(guān)聯(lián)、并且在VPN定義表3中登記這個(gè)對(duì)應(yīng)關(guān)系之后,每個(gè)邊沿節(jié)點(diǎn)在屬于該VPN的每個(gè)邏輯端口和另一個(gè)邊沿節(jié)點(diǎn)的所有邏輯端口之間建立一個(gè)LSP(VPN連接LSP20)。
當(dāng)建立一個(gè)LSP時(shí),每個(gè)邊沿節(jié)點(diǎn)在用于每個(gè)VPN的VPN管理表5中登記在另一個(gè)邊沿節(jié)點(diǎn)中的邏輯端口的一個(gè)列表、與對(duì)應(yīng)于每個(gè)邏輯端口的一個(gè)VPN連接LSP20有關(guān)的信息、和在一個(gè)本地節(jié)點(diǎn)中的邏輯端口的一個(gè)列表。
同時(shí),每個(gè)邊沿節(jié)點(diǎn)生成標(biāo)簽表10,它指定了由另一個(gè)邊沿節(jié)點(diǎn)所建立的VPN連接LSP20的標(biāo)簽刪除。
在如上所述的準(zhǔn)備之后,當(dāng)從一個(gè)本地端口接收到一幀時(shí),每個(gè)邊沿節(jié)點(diǎn)執(zhí)行下列幀中繼操作。
(1)在使用VPN定義表3識(shí)別了一個(gè)對(duì)應(yīng)于接收邏輯端口的VPN之后,L2轉(zhuǎn)發(fā)單元61使用該幀的發(fā)送源MAC作為一個(gè)關(guān)鍵字從用于該接收端口的L2路由表21中檢索數(shù)據(jù)。
如果檢索成功,則單元61繼續(xù)一個(gè)隨后的處理過(guò)程,而不執(zhí)行其它任何處理。
如果檢索失敗,則單元61通知路由登記單元8該路由未登記。當(dāng)接收了該通知時(shí),單元8在用于一個(gè)對(duì)應(yīng)于該端口的VPN的L2路由表21中登記這對(duì)發(fā)送源MAC和接收端口。同時(shí),單元61從VPN管理表5中獲得具有一個(gè)屬于與該VPN相同的VPN的端口的邊沿節(jié)點(diǎn)的一個(gè)列表,并且向每個(gè)邊沿節(jié)點(diǎn)通知VPN的標(biāo)識(shí)符、發(fā)送源MAC、接收端口的標(biāo)識(shí)符、和邊沿節(jié)點(diǎn)的第3層地址的一個(gè)組合。
當(dāng)收到該通知時(shí),每個(gè)邊沿節(jié)點(diǎn)在L2路由表中登記被通知的路由。
(2)L2轉(zhuǎn)發(fā)單元55進(jìn)一步使用該幀的發(fā)送目的地MAC作為一個(gè)關(guān)鍵字從對(duì)應(yīng)于該VPN的一個(gè)L2路由表21中檢索數(shù)據(jù)。
如果檢索成功,則單元55從該表中獲得有關(guān)輸出目的地的信息。如果輸出目的地是一個(gè)本地端口,則該信息與該端口的標(biāo)識(shí)符有關(guān)。如果輸出目的地是一個(gè)LSP,則該信息與用于邊沿連接LSP1和VPN連接LSP20的發(fā)送標(biāo)簽和一個(gè)輸出端口有關(guān)。
如果檢索失敗了,則VPN內(nèi)的廣播單元12分別從VPN管理表5和邊沿節(jié)點(diǎn)管理表2中獲得在該VPN中的端口的一個(gè)列表、和有關(guān)輸出目的地VPN連接LSP20/邊沿連接LSP1的多條信息的一個(gè)列表,并且把該幀廣播到用于該端口的所有本地端口和VPN連接LSP20。
(3)此外,如果輸出目的地是一個(gè)本地端口,則L2轉(zhuǎn)發(fā)單元55把該幀發(fā)送到該端口。如果輸出目的地是一個(gè)LSP,則標(biāo)簽添加單元9添加用于邊沿連接LSP和VPN連接LSP的發(fā)送標(biāo)簽,然后把該幀發(fā)送到LSP。
當(dāng)從一個(gè)MPLS網(wǎng)絡(luò)容納單元的端口收到該幀時(shí),每個(gè)邊沿節(jié)點(diǎn)執(zhí)行下列幀中繼操作。
(4)標(biāo)簽轉(zhuǎn)發(fā)單元11使用該幀的標(biāo)簽查看標(biāo)簽表10,并且依據(jù)所獲得的信息刪除該標(biāo)簽。同時(shí),單元11把包括從該表中獲得的VID的一個(gè)VLAN首部附加到該幀上,并且把該幀輸出到一個(gè)輸出端口。
如上所述,本發(fā)明中的設(shè)備可以執(zhí)行通過(guò)一個(gè)發(fā)送源MAC進(jìn)行的地址獲悉、通過(guò)一個(gè)發(fā)送目的地MAC進(jìn)行的路由確定、和在未獲悉發(fā)送目的地MAC時(shí)在該VPN內(nèi)的廣播,并且可以在一個(gè)第2層中構(gòu)成一個(gè)VPN連接的VLANs。
由于轉(zhuǎn)發(fā)面處理過(guò)程是一個(gè)簡(jiǎn)單的、用于使用該幀的具有一個(gè)固定長(zhǎng)度的參數(shù)查看一個(gè)表、并且執(zhí)行方向確定和首部添加/刪除的處理過(guò)程,所以該處理過(guò)程的速度可以被很容易地提高。
圖5到11顯示了在本發(fā)明優(yōu)選實(shí)施例中的獲悉功能。
本發(fā)明優(yōu)選實(shí)施例中的一個(gè)特征是一個(gè)MAC地址的獲悉功能。
由于,通常,橋接器(其在兩個(gè)不同的網(wǎng)絡(luò)之間橋接一個(gè)邊沿節(jié)點(diǎn))是一個(gè)第2層中繼設(shè)備,所以在一個(gè)LAN內(nèi)廣播一個(gè)中繼幀(具體地說(shuō),到所有端口)。然而,當(dāng)收到一個(gè)中繼目標(biāo)幀時(shí),橋接器通常預(yù)先在一個(gè)作為高速緩存的轉(zhuǎn)發(fā)表中登記一對(duì)該幀的發(fā)送源MAC地址(臨時(shí)被描述為MAC#A)和該幀的接收端口(暫時(shí)被描述為端口#1-1)。這意味著橋接器已經(jīng)獲悉了具有MAC#A的一個(gè)終端在端口#1-1中被容納。在這個(gè)獲悉之后,當(dāng)收到用于MAC#A的一幀時(shí),基于存儲(chǔ)在轉(zhuǎn)發(fā)表中的內(nèi)容,一幀被單點(diǎn)傳送和中繼到端口#1-1(而不是把該幀廣播到所有端口)。
如果一個(gè)終端A行進(jìn),則通常橋接器可以更新位置信息。如果終端A停止或如果終端A很少通信,則繼續(xù)在轉(zhuǎn)發(fā)表中存儲(chǔ)終端A的信息是對(duì)表容量的浪費(fèi)。因此,定時(shí)器管理通常被應(yīng)用于這個(gè)表,而且有關(guān)一個(gè)持續(xù)一特定時(shí)間周期沒(méi)有發(fā)送幀的終端的信息通常被從該表中刪掉。
以上所述的獲悉功能是現(xiàn)有技術(shù),其在圖6到圖8中進(jìn)行了顯示。然而,在像這個(gè)優(yōu)選實(shí)施例這樣通過(guò)一個(gè)核心網(wǎng)絡(luò)(MPLS網(wǎng)絡(luò)等)的配置中,由于以下問(wèn)題使得一個(gè)現(xiàn)有的獲悉單元不能在沒(méi)有修改的情況下就被使用。
特別地,盡管在邊沿#1和邊沿#2之間(參見(jiàn)圖9),邊沿#1的端口xxx應(yīng)該被獲悉作為有關(guān)終端A的位置信息,但是由于端口xxx屬于邊沿#1,所以邊沿#2不能獲悉端口xxx。
因此,在本發(fā)明的第二個(gè)優(yōu)選實(shí)施例中,通過(guò)一條路徑(LSP)的獲悉而不是通過(guò)接收一個(gè)幀的端口xxx的獲悉被應(yīng)用于邊沿#2。
特別地,在邊沿#2中進(jìn)行如下表登記。
-終端A的MAC地址和在端口xxx和yyy之間建立的一個(gè)LSP被成對(duì)登記在一個(gè)轉(zhuǎn)發(fā)表中。由于在MPLS中的路徑(LSP)是單向的,所以在該表中進(jìn)行登記必須注意方向。可以象在一個(gè)現(xiàn)有的橋接器中那樣在邊沿#1中進(jìn)行表登記。
通過(guò)一個(gè)LSP從邊沿#1接收一幀的邊沿#2的操作概括如下。
邊沿#2識(shí)別由終端A從LSP-1發(fā)送到終端B的一幀的接收(從LSP-1接收一幀可以通過(guò)一個(gè)附加到該幀上的標(biāo)簽來(lái)識(shí)別)。當(dāng)該接收被識(shí)別時(shí),一對(duì)MAC地址和LSP-1r被登記在一個(gè)表中,作為對(duì)終端A的獲悉。在這種情況下,由于LSP-1r是LSP-1的反向版本。這是因?yàn)橐粭lMPLS路徑是單向的。
這樣,當(dāng)在將來(lái)為終端A從終端B接收一幀時(shí),邊沿#2可以查看該轉(zhuǎn)發(fā)表,可以獲得LSP-1r作為對(duì)應(yīng)于MAC-DA(=地址#A)的發(fā)送目的地LSP,并且可以發(fā)送到該LSP(參見(jiàn)圖10)。
在第一個(gè)優(yōu)選實(shí)施例中的獲悉與以上所述的獲悉稍有不同。
特別地,在邊沿#2中進(jìn)行如下表登記(參見(jiàn)圖11)。
-終端A的MAC地址和在一個(gè)線路容納單元與端口xxx之間建立的一個(gè)LSP被成對(duì)登記在一個(gè)轉(zhuǎn)發(fā)表中。由于MPLS路徑(LSP)是單向的,所以在該表中進(jìn)行登記必須注意方向。
通過(guò)一個(gè)LSP從邊沿#1接收一幀的邊沿#2的操作概括如下。
邊沿#2可以識(shí)別為終端B從終端A從LSP-1發(fā)送的一幀的接收。然而,由于LSP-1是從邊沿#1的線路容納單元發(fā)送的,所以邊沿#2不能從該幀中判斷該幀是從哪個(gè)端口發(fā)送的(由于線路容納單元容納多個(gè)端口,所以邊沿#2不能判斷該幀是從邊沿#1的哪個(gè)端口發(fā)送的)。
因此,有關(guān)終端A的獲悉僅僅在邊沿#1中執(zhí)行,而且邊沿#1通知邊沿#2所獲悉的內(nèi)容。換句話說(shuō),在邊沿#2中不執(zhí)行通過(guò)一中繼幀的獲悉。
因此,邊沿#2在該表中登記這對(duì)MAC地址A和LSP-1r。在這種情況下,LSP-1r被建立在邊沿#2的線路容納單元和邊沿#1的端口xxx之間。
這樣,當(dāng)在將來(lái)為終端A從終端B接收一幀時(shí),邊沿#2可以查看一個(gè)轉(zhuǎn)發(fā)表,可以獲得LSP-1r作為對(duì)應(yīng)于MAC-DA(地址#A)的發(fā)送目的地LSP,并且可以發(fā)送到該LSP。
在第一個(gè)優(yōu)選實(shí)施例中,在一個(gè)線路容納單元和一個(gè)端口之間建立一個(gè)LSP,而在第二個(gè)優(yōu)選實(shí)施例中在端口之間建立一個(gè)LSP。因此,在第一個(gè)優(yōu)選實(shí)施例中所需要的LSP的數(shù)目可以被減少。
圖12到23顯示了第一個(gè)優(yōu)選實(shí)施例中的特定例子。
如圖12所示,在這個(gè)特定例子中,連接用戶網(wǎng)絡(luò)#100-1和#100-3以構(gòu)成一個(gè)VPN(VPN#100),而且連接用戶網(wǎng)絡(luò)#200-1、#200-2-1、#200-2-2和#200-3以構(gòu)成另一個(gè)VPN(VPN#200)。在這種情況下,假定在圖12中所示的邊沿節(jié)點(diǎn)A、B和C的第3層地址分別為A、B和C。
以下在這個(gè)特定例子中,將假定在如圖12到23所示的電信公司MPLS網(wǎng)絡(luò)中的節(jié)點(diǎn)之間的所有鏈接應(yīng)為一個(gè)PPP而給出說(shuō)明(本發(fā)明沒(méi)有限制一個(gè)鏈路層)。
VPN定義和LSP建立(為幀中繼作準(zhǔn)備)首先,描述為在這個(gè)優(yōu)選實(shí)施例的第2層-VPN系統(tǒng)中的用戶網(wǎng)絡(luò)之間的幀中繼作準(zhǔn)備而執(zhí)行的、LSP建立和VPN定義的流程。
-建立邊沿連接LSP
-生成邊沿節(jié)點(diǎn)管理表在邊沿節(jié)點(diǎn)A、B和C之間由一個(gè)現(xiàn)有的LSP建立單元(諸如LDP等)建立用于互相連接邊沿節(jié)點(diǎn)的邊沿連接LSP1,并且在一個(gè)控制面的邊沿節(jié)點(diǎn)管理表2中登記所建立的LSP(參見(jiàn)圖13)。
在該表中,將在一幀被發(fā)送到LSP時(shí)被附加到該幀上的一個(gè)標(biāo)簽和一個(gè)輸出端口被作為L(zhǎng)SP參數(shù)登記下來(lái)。盡管在一個(gè)MPLS網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)(不同于一個(gè)邊沿節(jié)點(diǎn)的節(jié)點(diǎn))也建立這樣的一個(gè)表,但是在圖13中省略了對(duì)不同于邊沿節(jié)點(diǎn)A的節(jié)點(diǎn)的描述。
圖14顯示了所建立的邊沿連接LSP1(僅僅顯示了在邊沿節(jié)點(diǎn)A和B之間的LSP1。在邊沿節(jié)點(diǎn)A和C之間的LSP1被省略了)。
-生成標(biāo)簽表在每個(gè)MPLS網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)(邊沿節(jié)點(diǎn)和在一個(gè)MPLS網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn))基于所建立的LSP生成一個(gè)轉(zhuǎn)發(fā)面的標(biāo)簽表10。
圖15顯示了所生成的標(biāo)簽表10(僅僅顯示了在邊沿節(jié)點(diǎn)A和B之間的LSP1。在邊沿節(jié)點(diǎn)A和C之間的LSP1被省略了)。
在圖15中,在LSP中這樣生成一個(gè)表,以便在剛好在一個(gè)出口節(jié)點(diǎn)(在圖14中顯示的MPLS中繼節(jié)點(diǎn)ab2和ba2)之前的一個(gè)節(jié)點(diǎn)中刪除一個(gè)標(biāo)簽?,F(xiàn)有MPLS的一個(gè)規(guī)范是在剛好在一個(gè)出口節(jié)點(diǎn)之前的一個(gè)節(jié)點(diǎn)中刪除一個(gè)標(biāo)簽。盡管在一些現(xiàn)有MPLS規(guī)范中,在出口節(jié)點(diǎn)中刪除一個(gè)標(biāo)簽,但是假定在剛好在一個(gè)出口節(jié)點(diǎn)之前的一個(gè)節(jié)點(diǎn)中刪除一個(gè)標(biāo)簽對(duì)這個(gè)優(yōu)選實(shí)施例中的特定例子及隨后的優(yōu)選實(shí)施例中的例子進(jìn)行說(shuō)明。
-VPN定義和建立VPN連接LSP-生成VPN定義表基于在圖12中顯示的用戶網(wǎng)絡(luò)和VPN定義,把一個(gè)所屬的VPN與在一個(gè)邊沿節(jié)點(diǎn)中的每個(gè)端口相關(guān)聯(lián)。圖16顯示了一個(gè)描述了這種對(duì)應(yīng)關(guān)系的VPN定義表3。
-建立VPN連接LSP每個(gè)邊沿節(jié)點(diǎn)通過(guò)某些協(xié)商獲得與在由另一個(gè)邊沿節(jié)點(diǎn)容納的端口和一個(gè)VPN之間的對(duì)應(yīng)關(guān)系有關(guān)的信息,并且在容納一個(gè)屬于該VPN的端口的每個(gè)線路容納單元、和在屬于與由一本地節(jié)點(diǎn)容納的VPN相同的VPN的另一個(gè)節(jié)點(diǎn)中的所有端口之間建立一個(gè)LSP(VPN連接LSP4)。
盡管在這個(gè)優(yōu)選實(shí)施例可以通過(guò)一種任意方法實(shí)現(xiàn)該協(xié)商和VPN連接LSP4建立,但是在這個(gè)例子中假定應(yīng)該通過(guò)向由邊沿連接LSP1連接的所有邊沿節(jié)點(diǎn)進(jìn)行如下通知來(lái)建立一個(gè)VPN連接LSP4。
-通知內(nèi)容(圖17)在每個(gè)節(jié)點(diǎn)中的一個(gè)本地端口的標(biāo)識(shí)符、該端口所屬于的一個(gè)VPN、用于分配給該端口的一個(gè)VPN連接LSP4的一個(gè)發(fā)送標(biāo)簽、和一個(gè)本地節(jié)點(diǎn)的第3層地址的一個(gè)組合。
-通知方法一個(gè)現(xiàn)有的MPLS-VPN控制協(xié)議重新被定義以便包括以上所述的組合作為一條控制消息。
-圖17顯示了通知消息的一個(gè)例子(有關(guān)邊沿節(jié)點(diǎn)B的端口#2的一則通知的例子)。
每一個(gè)被通知的邊沿節(jié)點(diǎn)A、B和C在容納屬于該VPN的一個(gè)端口的每個(gè)線路容納單元、和屬于與由一本地節(jié)點(diǎn)容納的VPN相同的VPN的另一個(gè)節(jié)點(diǎn)的所有端口之間建立一個(gè)VPN連接LSP 4。所建立的VPN連接LSP 4被保存在一個(gè)VPN管理表5中(圖18)。
圖19顯示了當(dāng)建立一個(gè)VPN連接LSP4時(shí)在一個(gè)轉(zhuǎn)發(fā)面上生成的一個(gè)標(biāo)簽表10。
盡管在這個(gè)例子中假定在一個(gè)MPLS網(wǎng)絡(luò)中(其中在該MPLS網(wǎng)絡(luò)中一個(gè)VPN連接LSP標(biāo)簽和一個(gè)邊沿節(jié)點(diǎn)連接LSP標(biāo)簽被堆疊,并且從一個(gè)MPLS網(wǎng)絡(luò)的入口節(jié)點(diǎn)中繼到出口節(jié)點(diǎn))在中繼時(shí)僅僅查看一個(gè)出口節(jié)點(diǎn)的標(biāo)簽表一次,但是每個(gè)邊沿節(jié)點(diǎn)還是可以獨(dú)立地準(zhǔn)備一個(gè)對(duì)應(yīng)于每個(gè)標(biāo)簽堆的表,并且可以在中繼時(shí)查看每個(gè)表。
如果該設(shè)備包括多個(gè)線路容納單元/MPLS網(wǎng)絡(luò)容納單元,而且如果這多個(gè)容納單元由一個(gè)交換結(jié)構(gòu)在一個(gè)出口節(jié)點(diǎn)中連接,則采用這樣一個(gè)中繼表單/表方案,以便使得一個(gè)標(biāo)簽表也可以在一個(gè)接收MPLS網(wǎng)絡(luò)容納單元中被查看,一幀的標(biāo)簽也可以被替換為用于在該設(shè)備輸出端上的一個(gè)容納單元的一個(gè)轉(zhuǎn)發(fā)標(biāo)簽,而且該標(biāo)簽表還可以再次在輸出端上的容納單元中被查看。
圖20顯示了由以上所述的處理過(guò)程生成的邊沿連接LSP1和VPN連接LSP4,以構(gòu)成在圖12中所示的VPN。在圖20中,僅僅描述了用來(lái)構(gòu)成VP#200的LSP,而用來(lái)構(gòu)成VPN#100的LSP被省略了。
在入口節(jié)點(diǎn)(邊沿節(jié)點(diǎn)A)中的MAC幀中繼過(guò)程由于在以上所述的準(zhǔn)備之后在收到后面的從一個(gè)用戶網(wǎng)絡(luò)#200-1從端口#2發(fā)送的幀時(shí),邊沿節(jié)點(diǎn)A從線路容納單元的端口接收一幀,所以邊沿節(jié)點(diǎn)A使用一個(gè)L2轉(zhuǎn)發(fā)單元7和一個(gè)標(biāo)簽添加單元9在下面的轉(zhuǎn)發(fā)面中中繼該幀。
-發(fā)送目的地MAC00aabb000001-發(fā)送源MAC00bbaa000002在這一點(diǎn)上假定到發(fā)送目的地MAC的路由還沒(méi)有被登記在一個(gè)L2路由表6中。
-L2轉(zhuǎn)發(fā)單元(邊沿節(jié)點(diǎn)A)邊沿節(jié)點(diǎn)A的L2轉(zhuǎn)發(fā)單元7的處理過(guò)程描述如下。
-識(shí)別對(duì)應(yīng)于接收端口的VPN單元7使用VPN定義表3獲得VPN#200,作為對(duì)應(yīng)于一個(gè)接收端口#2的一個(gè)VPN的標(biāo)識(shí)符。
-有關(guān)發(fā)送源MAC的路由獲悉檢查單元7使用一幀的發(fā)送源MAC作為一個(gè)關(guān)鍵字從用于VPN#200的一個(gè)L2路由表6中檢索數(shù)據(jù)。
如果檢索成功,則單元7繼續(xù)一個(gè)隨后的處理過(guò)程,而不執(zhí)行其它任何操作。在這種情況下,由于用于一個(gè)MAC地址00bbaa000002的一個(gè)路由沒(méi)有被登記在L2路由表6中,所以檢索失敗。因此,單元7通知路由登記單元32該路由未登記。然后,路由登記單元32執(zhí)行下列處理過(guò)程,并且在該VPN中的所有L2路由表6中登記用于該發(fā)送源MAC的路由。
(i)單元7在用于VPN#200的一個(gè)L2路由表6(圖21)中登記一對(duì)發(fā)送源MAC和接收端口。
(ii)單元7從VPN管理表5(圖18)中獲得具有一個(gè)屬于VPN#200的端口的一個(gè)邊沿節(jié)點(diǎn)的第3層地址(B、C)。
(iii)單元7向節(jié)點(diǎn)B和C通知下列組合作為在該VPN中的一個(gè)新路由。
{VPN#200,發(fā)送源MAC,端口#2,第3層地址(A)}在由邊沿節(jié)點(diǎn)B和C收到該通知時(shí),邊沿節(jié)點(diǎn)B和C中的每一個(gè)從VPN管理表5(圖18)中獲得被通知的第3層地址A和對(duì)應(yīng)于端口#2的一個(gè)VPN連接LSP4發(fā)送標(biāo)簽,并且從邊沿節(jié)點(diǎn)管理表2(圖13)中獲得用于地址A的一個(gè)邊沿連接LSP發(fā)送標(biāo)簽和一個(gè)輸出端口。然后,每個(gè)邊沿節(jié)點(diǎn)在用于VPN#200的L2路由表6(圖21)中登記該數(shù)據(jù)。如果一個(gè)特定條目的地址是一個(gè)LSP,則在圖21中所示的標(biāo)簽操作字段指定標(biāo)簽添加。在這種情況下,當(dāng)從節(jié)點(diǎn)A側(cè)觀看時(shí),節(jié)點(diǎn)B和C橫跨一個(gè)MPLS網(wǎng)絡(luò)。因此,指定了標(biāo)簽添加。
盡管每個(gè)L2路由表邏輯上把一個(gè)發(fā)送目的地MAC與分別用于每個(gè)VPN的一個(gè)輸出目的地相關(guān)聯(lián),如圖21所示,但是通過(guò)還在一個(gè)表檢索關(guān)鍵字中包括一個(gè)VPN標(biāo)識(shí)符,多個(gè)L2路由表還可以被物理地組合成一個(gè)表。
-地址檢索單元7使用一幀的發(fā)送目的地MAC作為一個(gè)關(guān)鍵字從用于VPN#200的一個(gè)L2路由表6中檢索數(shù)據(jù)。如果檢索成功,則單元7獲得一個(gè)輸出目的地本地端口或是有關(guān)一個(gè)邊沿連接LSP和VPN連接LSP4的信息。在這種情況下,用于一個(gè)MAC地址00aabb000001的一個(gè)路由還沒(méi)有被登記在L2路由表6中,而且檢索失敗。因此,單元7把該幀傳送到VPN內(nèi)的廣播單元12。
VPN內(nèi)的廣播單元12把該幀廣播到在該VPN中的所有端口。盡管在這個(gè)優(yōu)選實(shí)施例可以使用一個(gè)任意的廣播單元,但是在這個(gè)例子中一個(gè)入口節(jié)點(diǎn)復(fù)制一個(gè)幀,并且把該幀發(fā)送到在該VPN中的所有端口。
特別地,VPN內(nèi)的廣播單元12查看VPN管理表5(圖18),并且獲得屬于VPN#200的本地端口號(hào)的一個(gè)列表、以及與用于另一個(gè)節(jié)點(diǎn)中的端口的VPN連接LSP有關(guān)的多條信息的一個(gè)列表。在這種情況下,單元12獲得下列內(nèi)容。
(1)本地端口(#2)端口#2的列表(2)VPN連接LSP的列表-用于邊沿節(jié)點(diǎn)B=發(fā)送標(biāo)簽(B200-2-1)的端口#1的VPN連接LSP4-用于邊沿節(jié)點(diǎn)B=發(fā)送標(biāo)簽(B200-2-2)的端口#2的VPN連接LSP4-用于邊沿節(jié)點(diǎn)C=發(fā)送標(biāo)簽(B200-3-2)的端口#2的VPN連接LSP4單元12進(jìn)一步查看邊沿節(jié)點(diǎn)管理表2(圖13),并且獲得與容納廣播目的地的每個(gè)邊沿節(jié)點(diǎn)有關(guān)的多條邊沿連接LSP1發(fā)送信息的一個(gè)列表。
-用于邊沿節(jié)點(diǎn)B(發(fā)送標(biāo)簽(ab1)=輸出端口=(#10))的邊沿連接LSP1-用于邊沿節(jié)點(diǎn)C(發(fā)送標(biāo)簽(ac1)=輸出端口=(#10))的邊沿連接LSP1VPN內(nèi)的廣播單元12進(jìn)一步再現(xiàn)該幀并發(fā)送到在VPN#200中所獲得的所有輸出目的地中除接收端口#2之外的三個(gè)輸出目的地。
-輸出幀(邊沿節(jié)點(diǎn)A)VPN內(nèi)的發(fā)送單元12把該幀發(fā)送到所獲得的所有輸出目的地。在這種情況下,如果輸出目的地是一個(gè)本地端口,則單元12發(fā)送該幀而不執(zhí)行其它任何處理。如果輸出目的地是一個(gè)LSP,則標(biāo)簽添加單元9把一個(gè)標(biāo)簽附加到該幀的頂部并且發(fā)送該幀。圖22A和22B分別顯示了由一個(gè)用戶發(fā)送的一MAC幀和在標(biāo)簽添加之后的幀格式。在圖22B中所示的Shim首部是當(dāng)在一個(gè)PPP鏈路中使用一個(gè)現(xiàn)有的MPLS時(shí)在一個(gè)第3層首部之前附加的首部。在這個(gè)例子中,在由VPN內(nèi)的廣播單元12復(fù)制的每一幀的如圖22A所示的MAC首部之前,如下堆疊和附加一個(gè)標(biāo)簽。
-在第一Shim首部中的標(biāo)簽用于邊沿連接LSP1的發(fā)送標(biāo)簽-在第二Shim首部中的標(biāo)簽用于VPN連接LSP4的發(fā)送標(biāo)簽因此附加到每一幀上的標(biāo)簽顯示如下(按照從頂端開(kāi)始第二個(gè)Shim和第一個(gè)Shim的次序)-用于邊沿節(jié)點(diǎn)B的端口#1的幀(ab1)和(B200-2-1)-用于邊沿節(jié)點(diǎn)B的端口#2的幀(ab1)和(B200-2-2)-用于邊沿節(jié)點(diǎn)C的端口#2的幀(ab2)和(C200-2-2)在一個(gè)Shim首部的每一字段Exp、S和TTL中,象在現(xiàn)有的MPLS中那樣指定一個(gè)適當(dāng)?shù)闹怠?br>
在MPLS中繼節(jié)點(diǎn)中的MPLS幀中繼過(guò)程被發(fā)送到邊沿節(jié)點(diǎn)B的端口#1的一幀在一個(gè)MPLS網(wǎng)絡(luò)中的中繼過(guò)程描述如下。
-具有標(biāo)簽的幀的中繼(節(jié)點(diǎn)ab1和ab2)象在現(xiàn)有的MPLS中繼過(guò)程中那樣,在邊沿節(jié)點(diǎn)之間的通道上的一個(gè)MPLS中繼節(jié)點(diǎn)ab1使用標(biāo)簽轉(zhuǎn)發(fā)單元11查看該節(jié)點(diǎn)的標(biāo)簽表10(圖15),因此用(ab2)代替在第一個(gè)Shim首部中的一個(gè)標(biāo)簽,并且把該幀從端口#1發(fā)送到節(jié)點(diǎn)ab2。
類(lèi)似地,在邊沿節(jié)點(diǎn)之間的通道上的一個(gè)MPLS中繼節(jié)點(diǎn)ab2使用標(biāo)簽轉(zhuǎn)發(fā)單元11查看該節(jié)點(diǎn)的標(biāo)簽表10(圖15),因此刪除第一個(gè)Shim首部(Shim首部,包括一個(gè)標(biāo)簽值ab2),并且把該幀從端口#1發(fā)送到節(jié)點(diǎn)B。
圖22C顯示了在刪除第一個(gè)Shim首部之后的幀格式。
在出口節(jié)點(diǎn)(邊沿節(jié)點(diǎn)B)中的MPLS幀中繼過(guò)程在出口節(jié)點(diǎn)B中的幀中繼描述如下。
-標(biāo)簽轉(zhuǎn)發(fā)單元(邊沿節(jié)點(diǎn)B)在從一個(gè)MPLS網(wǎng)絡(luò)容納單元的端口收到一幀時(shí),邊沿節(jié)點(diǎn)B查看標(biāo)簽表10(圖19),因此,刪除第一個(gè)Shim首部(Shim首部,包括一個(gè)標(biāo)簽值B200-2-1),并且從端口#1中發(fā)送該幀。
通過(guò)當(dāng)在VPN#200中向目的地廣播時(shí)把以上所述的過(guò)程應(yīng)用到所有復(fù)制的幀,可以在VPN#200內(nèi)部實(shí)現(xiàn)幀廣播。
接下來(lái),描述在如上所述的、邊沿節(jié)點(diǎn)B響應(yīng)于從用戶網(wǎng)絡(luò)#200-1發(fā)送的幀,從端口#1接收從用戶網(wǎng)絡(luò)#200-2-1發(fā)送的一MAC幀的情況下的一個(gè)中繼過(guò)程。
這個(gè)MAC幀的地址-發(fā)送目的地MAC00bbaa000002-發(fā)送源MAC00aabb000001在入口節(jié)點(diǎn)(邊沿節(jié)點(diǎn)B)中的MPLS幀中繼過(guò)程在從一個(gè)線路容納單元的端口收到一幀時(shí),邊沿節(jié)點(diǎn)B使用L2轉(zhuǎn)發(fā)單元7和標(biāo)簽添加單元9如下在一個(gè)轉(zhuǎn)發(fā)面中中繼該幀。
-L2轉(zhuǎn)發(fā)單元(邊沿節(jié)點(diǎn)B)-識(shí)別對(duì)應(yīng)于接收端口的VPNL2轉(zhuǎn)發(fā)單元使用VPN定義表3獲得VPN#200,作為對(duì)應(yīng)于接收端口#1的一個(gè)VPN的標(biāo)識(shí)符。
-有關(guān)發(fā)送源MAC的路由獲悉檢查該單元使用該幀的發(fā)送源MAC作為一個(gè)關(guān)鍵字從用于VPN#200的一個(gè)L2路由表6中檢索數(shù)據(jù)。
如果檢索成功,則該單元繼續(xù)一個(gè)隨后的處理過(guò)程,而不執(zhí)行其它任何操作。然而,在這種情況下,由于用于MAC地址00aabb000001的一個(gè)路由還沒(méi)有被登記在L2路由表6中,因此檢索失敗,象在有關(guān)邊沿節(jié)點(diǎn)A的轉(zhuǎn)發(fā)單元的發(fā)送源MAC的路由獲悉檢查中那樣,路由登記單元32在該VPN中的所有路由表6中登記用于該發(fā)送源MAC的一個(gè)路由。圖23顯示了登記結(jié)果。
-地址檢索該單元使用該幀的發(fā)送目的地MAC作為一個(gè)關(guān)鍵字從用于VPN#200的L2路由表6中檢索數(shù)據(jù)。如果檢索成功,則該單元獲得一個(gè)輸出目的地的本地端口或是有關(guān)邊沿連接LSP和VPN連接LSP4的信息。如果檢索失敗,則該單元把該幀傳送到VPN內(nèi)的廣播單元12。
在這種情況下,由于一個(gè)MAC地址00bbaa000002已經(jīng)被登記在L2路由表6(圖23)中了,所以檢索成功。因此,該單元獲得有關(guān)一個(gè)輸出目的地的邊沿連接LSP的信息(標(biāo)簽值ba1和輸出端口#10)以及有關(guān)VPN連接LSP4的信息(標(biāo)簽值A(chǔ)200-1-2)。
-輸出幀(邊沿節(jié)點(diǎn)B)該單元把該幀發(fā)送到所獲得的輸出目的地。在這種情況下,如果輸出目的地是一個(gè)本地端口,則該單元發(fā)送該幀而不執(zhí)行其它任何處理。如果輸出目的地是一個(gè)LSP,則標(biāo)簽添加單元9把一個(gè)標(biāo)簽附加到該幀的頂部并且發(fā)送該幀。在這個(gè)例子中,由于輸出目的地是一個(gè)LSP,所以該單元按從頂端開(kāi)始的標(biāo)簽值ba1和A200-1-2的次序在一個(gè)第3層首部之前附加一個(gè)Shim首部,如在轉(zhuǎn)發(fā)單元的操作中那樣。
在MPLS中繼節(jié)點(diǎn)中的MPLS幀中繼過(guò)程-具有標(biāo)簽的幀的中繼(節(jié)點(diǎn)ba1和ba2)如在一個(gè)MPLS中繼節(jié)點(diǎn)中一個(gè)MPLS幀中繼過(guò)程的具有一個(gè)標(biāo)簽的幀中繼中那樣,在邊沿節(jié)點(diǎn)之間的通道上的MPLS中繼節(jié)點(diǎn)ba1和ba2通過(guò)現(xiàn)有的MPLS中繼過(guò)程刪除第一個(gè)Shim首部,并且把該幀發(fā)送到節(jié)點(diǎn)A。
在出口節(jié)點(diǎn)(邊沿節(jié)點(diǎn)A)中的MPLS幀中繼過(guò)程-標(biāo)簽轉(zhuǎn)發(fā)單元(邊沿節(jié)點(diǎn)A)在從一個(gè)MPLS網(wǎng)絡(luò)容納單元的端口收到一幀時(shí),邊沿節(jié)點(diǎn)B使用標(biāo)簽轉(zhuǎn)發(fā)單元11查看標(biāo)簽表10(圖19),因此刪除第一個(gè)Shim首部(Shim首部,包括標(biāo)簽值A(chǔ)200-1-2),并且從端口#2發(fā)送該幀。
如上所述,由于根據(jù)本發(fā)明的設(shè)備可以執(zhí)行通過(guò)一個(gè)發(fā)送源MAC進(jìn)行的地址獲悉、通過(guò)一個(gè)發(fā)送目的地MAC進(jìn)行的路由確定、和在未獲悉發(fā)送目的地MAC時(shí)在該VPN內(nèi)的廣播,所以可以構(gòu)成一個(gè)第2層-VPN。
由于轉(zhuǎn)發(fā)面處理過(guò)程是一個(gè)簡(jiǎn)單的、用于使用該幀的具有一個(gè)固定長(zhǎng)度的參數(shù)查看一個(gè)表、并且執(zhí)行方向確定和首部添加/刪除的處理過(guò)程,所以該處理過(guò)程的速度可以被很容易地提高。
圖24是一個(gè)序列圖表,顯示了在第一個(gè)優(yōu)選實(shí)施例的特定示例中直到LSP建立的一個(gè)過(guò)程。
首先,假定中繼節(jié)點(diǎn)ab1和ab2被安裝在邊沿節(jié)點(diǎn)A和B之間。邊沿節(jié)點(diǎn)A和B中每一個(gè)開(kāi)始一個(gè)現(xiàn)有的LSP建立單元。然后,節(jié)點(diǎn)A和B中的每一個(gè)生成一個(gè)邊沿節(jié)點(diǎn)管理表2。然后,邊沿節(jié)點(diǎn)A/B和中繼節(jié)點(diǎn)ab1/ab2中的每一個(gè)生成一個(gè)標(biāo)簽表10。這樣,在邊沿節(jié)點(diǎn)A和B之間建立一個(gè)邊沿連接LSP1。
然后,邊沿節(jié)點(diǎn)A和B中每一個(gè)生成一個(gè)VPN定義表3,并且進(jìn)行協(xié)商以建立一個(gè)VPN連接LSP。在協(xié)商之后每個(gè)節(jié)點(diǎn)生成一個(gè)VPN管理表5。然后,邊沿節(jié)點(diǎn)A和B中每一個(gè)生成一個(gè)標(biāo)簽表10,并且建立一個(gè)VPN連接LSP4。在第一個(gè)優(yōu)選實(shí)施例中,這個(gè)VPN連接LSP4把一個(gè)始發(fā)邊沿節(jié)點(diǎn)的線路容納單元連接到一個(gè)終止邊沿節(jié)點(diǎn)的端口。
圖25和26是顯示了幀轉(zhuǎn)發(fā)的序列圖表。
首先,在收到一MAC幀時(shí),作為一個(gè)入口節(jié)點(diǎn)的邊沿節(jié)點(diǎn)A使用L2轉(zhuǎn)發(fā)單元7從VPN定義表3中獲得對(duì)應(yīng)于接收端口的一個(gè)VPN的標(biāo)識(shí)符。在此,VPN標(biāo)識(shí)符被假定為A。然后,檢查路由獲悉。特別地,查看用于VPN-A的一個(gè)L2路由表6,并且檢索發(fā)送源MAC是否被登記了。如果檢索失敗,則把一個(gè)路由登記請(qǐng)求發(fā)布到路由登記單元8,而且檢索該地址。如果檢索成功,則僅僅檢索該地址。
在路由登記請(qǐng)求中,路由登記單元8通過(guò)查看用于VPN-A的L2路由表6在用于VPN-A的L2路由表6中登記發(fā)送源MAC的位置信息。在這種情況下,登記發(fā)送源MAC和接收端口。然后,查看VPN管理表5,和具有一個(gè)端口VPN-A的所有節(jié)點(diǎn)的第3層地址。在這時(shí)候,生成一個(gè)第3層地址列表。然后,向每一個(gè)所獲得的第3層地址通知發(fā)送源MAC的位置信息。這個(gè)通知的內(nèi)容包括VPN標(biāo)識(shí)符A、發(fā)送源MAC、接收端口、和接收節(jié)點(diǎn)的第3層地址。響應(yīng)于來(lái)自邊沿節(jié)點(diǎn)A的該通知,作為一個(gè)出口節(jié)點(diǎn)的邊沿節(jié)點(diǎn)B通過(guò)使用路由登記單元8查看VPN管理表5,獲得一個(gè)用于通知目的地端口的發(fā)送標(biāo)簽。特別地,獲得用于一個(gè)VPN連接LSP4的一個(gè)發(fā)送標(biāo)簽。然后,通過(guò)查看邊沿節(jié)點(diǎn)管理表2獲得用于通知源節(jié)點(diǎn)/端口的發(fā)送標(biāo)簽。特別地,獲得一個(gè)用于一個(gè)邊沿連接LSP1的發(fā)送標(biāo)簽和一個(gè)發(fā)送端口。然后,被通知的MAC的位置信息被登記在用于VPN-A的L2路由表6中。特別地,登記一個(gè)MAC、一個(gè)用于節(jié)點(diǎn)A的邊沿連接LSP1發(fā)送標(biāo)簽、一個(gè)發(fā)送端口和一個(gè)用于一個(gè)被通知的端口的VPN連接LSP4發(fā)送標(biāo)簽。
如果在路由獲悉檢查中檢索了用于VPN-A的L2路由表6并且獲得了一個(gè)發(fā)送源MAC,則L2轉(zhuǎn)發(fā)單元7執(zhí)行地址檢索而不發(fā)布登記請(qǐng)求。
在地址檢索中,查看用于VPN-A的L2路由表6,并且檢索是否已經(jīng)登記了發(fā)送源MAC。如果檢索成功,而且如果輸出目的地是另一個(gè)節(jié)點(diǎn),則獲得一個(gè)用于一個(gè)VPN連接LSP4的發(fā)送標(biāo)簽、一個(gè)用于一個(gè)邊沿連接LSP1的發(fā)送標(biāo)簽和一個(gè)發(fā)送端口。如果輸出目的地是一個(gè)本地端口,則獲得一個(gè)發(fā)送目的地端口。然后,在幀輸出中判斷該輸出端口是否為一個(gè)本地端口。如果輸出端口是一個(gè)本地端口,則發(fā)送該幀而不執(zhí)行其它任何處理。如果輸出端口不是一個(gè)本地端口,則標(biāo)簽添加單元9把一個(gè)標(biāo)簽附加到該幀上并且發(fā)送該幀。
如果在地址檢索中斷定發(fā)送源MAC還沒(méi)有被登記(檢索失敗),則把一個(gè)廣播請(qǐng)求發(fā)布到VPN內(nèi)的廣播單元12。在收到該廣播請(qǐng)求時(shí),VPN內(nèi)的廣播單元12通過(guò)查看VPN管理表5獲得在VPN-A中的所有端口列表,并且獲得有關(guān)每一個(gè)所獲得端口的發(fā)送信息。特別地,單元12判斷輸出目的地端口是否為一個(gè)本地端口。如果輸出目的地端口是一個(gè)本地端口,則單元12獲得一個(gè)輸出目的地端口。如果輸出目的地端口不是一個(gè)本地端口,則單元12從VPN管理表5中獲得用于每個(gè)端口的一個(gè)VPN連接LSP4發(fā)送標(biāo)簽,并且進(jìn)一步通過(guò)查看邊沿節(jié)點(diǎn)管理表2獲得用于一個(gè)容納每個(gè)端口的節(jié)點(diǎn)的邊沿連接LSP發(fā)送標(biāo)簽/端口。這個(gè)所獲得的信息包括一個(gè)用于一個(gè)邊沿連接LSP1的發(fā)送標(biāo)簽、一個(gè)發(fā)送端口和一個(gè)發(fā)送目的地端口。在獲得有關(guān)所有這些端口的發(fā)送信息之后,單元12為在VPN-A中的除一個(gè)接收端口以外的所有端口復(fù)制該幀。然后,流程繼續(xù)到幀輸出。
在幀輸出中,如果輸出端口是一個(gè)本地端口,則發(fā)送該幀而不執(zhí)行其它任何處理。如果輸出端口不是一個(gè)本地端口,則標(biāo)簽添加單元9把一個(gè)標(biāo)簽附加到該幀上并且發(fā)送該幀。
在收到具有一個(gè)標(biāo)簽的該幀時(shí),一個(gè)出口節(jié)點(diǎn)的標(biāo)簽轉(zhuǎn)發(fā)單元11從標(biāo)簽表10中獲得對(duì)應(yīng)于該標(biāo)簽的用于發(fā)送的信息。特別地,單元11獲得一個(gè)輸出目的地端口并且執(zhí)行一個(gè)標(biāo)簽操作。然后,單元11刪除該標(biāo)簽并且發(fā)送該幀。
第二個(gè)優(yōu)選實(shí)施例中的一個(gè)特定例子描述如下。
這個(gè)優(yōu)選實(shí)施例中的特定例子假定建立與如圖12中所示的VPN相同的VPN。
-VPN定義和LSP建立(為幀中繼作準(zhǔn)備)首先,描述在這個(gè)優(yōu)選實(shí)施例的第2層-VPN系統(tǒng)中的用戶網(wǎng)絡(luò)之間的幀中繼作之前執(zhí)行的LSP建立和VPN定義的流程。
-建立邊沿連接LSP-生成邊沿節(jié)點(diǎn)管理表一個(gè)現(xiàn)有的LSP建立單元(諸如LDP等)在邊沿節(jié)點(diǎn)A、B和C之間建立用于互相連接邊沿節(jié)點(diǎn)的邊沿連接LSP1,并且在一個(gè)控制面的邊沿節(jié)點(diǎn)管理表2中登記所建立的LSP。
在邊沿節(jié)點(diǎn)管理表2中,存儲(chǔ)在把一幀發(fā)送到LSP時(shí)被附加到該幀上的一個(gè)標(biāo)簽和輸出端口。盡管在一個(gè)MPLS網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)(不同于一個(gè)邊沿節(jié)點(diǎn)的節(jié)點(diǎn))也生成這樣一個(gè)表,但是在圖13中省略了不同于邊沿節(jié)點(diǎn)的節(jié)點(diǎn)。
-生成標(biāo)簽表在每個(gè)MPLS網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)(邊沿節(jié)點(diǎn)和在一個(gè)MPLS網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn))使用所生成的LSP生成一個(gè)轉(zhuǎn)發(fā)面的標(biāo)簽表10。
-VPN定義和建立VPN連接LSP-生成VPN定義表基于在圖12中顯示的用戶網(wǎng)絡(luò)和VPN定義,把一個(gè)所屬的VPN與在邊沿節(jié)點(diǎn)中的每個(gè)端口相關(guān)聯(lián)。
-建立VPN連接LSP每個(gè)邊沿節(jié)點(diǎn)通過(guò)規(guī)定的協(xié)商獲得與在由另一個(gè)邊沿節(jié)點(diǎn)容納的端口和該VPN之間的對(duì)應(yīng)關(guān)系有關(guān)的信息,并且在該節(jié)點(diǎn)和在屬于與由一本地節(jié)點(diǎn)容納的VPN相同的VPN的另一個(gè)節(jié)點(diǎn)中的所有端口之間建立一個(gè)雙向的LSP(VPN連接LSP4)。
象在第一個(gè)優(yōu)選實(shí)施例中那樣,一個(gè)任意的單元可以指導(dǎo)該協(xié)商并且建立一個(gè)VPN連接LSP20。在VPN管理表5中登記所建立的VPN連接LSP4,同時(shí)在LSP反向轉(zhuǎn)換表25中為每個(gè)接收標(biāo)簽登記與VPN連接LSP4的反向VPN連接LSP4和一個(gè)邊沿連接LSP1有關(guān)的信息,特別是一個(gè)用于反向VPN連接LSP4的發(fā)送標(biāo)簽、一個(gè)用于一個(gè)邊沿連接LSP1的發(fā)送標(biāo)簽、和一個(gè)輸出端口。
圖27和28分別顯示了當(dāng)建立一個(gè)VPN連接LSP4時(shí)在一個(gè)轉(zhuǎn)發(fā)面上生成的一個(gè)標(biāo)簽表10、以及在一個(gè)控制面上生成的一個(gè)LSP反向轉(zhuǎn)換表25。
圖29顯示了由迄今為止描述的處理過(guò)程建立的邊沿連接LSP1和VPN連接LSP4,以構(gòu)成如圖12中所示的VPN。
在圖29中,僅僅顯示了用來(lái)構(gòu)成VP#200的LSP,而用來(lái)構(gòu)成VPN#100的LSP被省略了。
在入口節(jié)點(diǎn)(邊沿節(jié)點(diǎn)A)中的MAC幀中繼過(guò)程在如上所述的準(zhǔn)備之后在從端口#2收到下列從一個(gè)用戶網(wǎng)絡(luò)#200-1發(fā)送的MAC幀時(shí),由于邊沿節(jié)點(diǎn)A已經(jīng)從一個(gè)線路容納單元的端口接收了一幀,所以邊沿節(jié)點(diǎn)A如下使用L2轉(zhuǎn)發(fā)單元55和標(biāo)簽添加單元9在一個(gè)轉(zhuǎn)發(fā)面中中繼該幀。
-發(fā)送目的地MAC00aabb000001-發(fā)送源MAC00bbaa000002此刻假定用于發(fā)送目的地MAC的一個(gè)路由還沒(méi)有被登記在一個(gè)L2路由表21中。
-L2轉(zhuǎn)發(fā)單元(邊沿節(jié)點(diǎn)A)邊沿節(jié)點(diǎn)A的L2轉(zhuǎn)發(fā)單元55的處理過(guò)程描述如下。
-識(shí)別對(duì)應(yīng)于接收端口的VPNL2轉(zhuǎn)發(fā)單元55從VPN定義表3中獲得VPN#200,作為對(duì)應(yīng)于接收端口#2的一個(gè)VPN的標(biāo)識(shí)符。
-有關(guān)發(fā)送源MAC的路由獲悉檢查單元55使用發(fā)送源MAC作為一個(gè)關(guān)鍵字從用于接收端口#2的一個(gè)L2路由表21中檢索數(shù)據(jù)。
如果檢索成功,則流程繼續(xù)到一個(gè)隨后的地址檢索,而不執(zhí)行其它任何處理。然而,在這種情況下,用于一個(gè)MAC地址00bbaa000002的一個(gè)路由還沒(méi)有被登記在L2路由表21中,因此檢索失敗。因此,邊沿節(jié)點(diǎn)A通知一個(gè)入口路由登記單元23該路由未登記。入口路由登記單元23執(zhí)行下列處理過(guò)程,并且在用于接收端口的L2路由表21中登記用于該發(fā)送源MAC的路由。
單元55在用于一個(gè)接收端口#2的L2路由表21中登記一對(duì)發(fā)送源MAC和接收端口。
-地址檢索單元55使用該幀的發(fā)送目的地MAC作為一個(gè)關(guān)鍵字從用于端口#2的L2路由表21中檢索數(shù)據(jù)。
如果檢索成功,則單元55獲得一個(gè)輸出目的地的本地端口、或是有關(guān)邊沿連接LSP和VPN連接LDP4的信息。然而,在這種情況下,用于一個(gè)MAC地址00aabb000001的一個(gè)路由還沒(méi)有被登記在L2路由表21中,因此檢索失敗。因此,單元55把該幀傳送到VPN內(nèi)的廣播單元12。
VPN內(nèi)的廣播單元12把該幀廣播到在該VPN中的所有端口。盡管在這個(gè)優(yōu)選實(shí)施例可以使用一個(gè)任意的廣播單元,但是在這個(gè)例子中,一個(gè)入口節(jié)點(diǎn)復(fù)制該幀,并且把該幀發(fā)送到所有端口。
特別地,VPN內(nèi)的廣播單元12查看VPN管理表5,并且獲得屬于VPN#200的一個(gè)本地端口號(hào)以及有關(guān)在另一個(gè)節(jié)點(diǎn)中的端口的信息。
(i)本地端口(#2)端口#2的列表(ii)VPN連接LSP的列表-用于邊沿節(jié)點(diǎn)B的端口#1的VPN連接LSP20-用于邊沿節(jié)點(diǎn)B的端口#2的VPN連接LSP20-用于邊沿節(jié)點(diǎn)C的端口#2的VPN連接LSP20單元12進(jìn)一步查看邊沿節(jié)點(diǎn)管理表2,并且獲得有關(guān)與容納廣播目的地端口的每個(gè)邊沿節(jié)點(diǎn)有關(guān)的邊沿連接LSP1發(fā)送信息的多條信息的一個(gè)列表。
-用于邊沿節(jié)點(diǎn)B的邊沿連接LSP1發(fā)送標(biāo)簽(ab1)和輸出端口(#10)-用于邊沿節(jié)點(diǎn)C的邊沿連接LSP1發(fā)送標(biāo)簽(ac1)和輸出端口(#10)此外,VPN內(nèi)的廣播單元12復(fù)制該幀,并把該幀發(fā)送到在VPN#200中所獲得的所有輸出目的地中除接收端口#2之外的三個(gè)輸出目的地。
-幀輸出(邊沿節(jié)點(diǎn)A)單元12把該幀發(fā)送到所獲得的所有輸出目的地。在這種情況下,如果輸出目的地是一個(gè)本地端口,則發(fā)送該幀而不執(zhí)行其它任何處理。如果輸出目的地是一個(gè)LSP,則標(biāo)簽添加單元9把一個(gè)標(biāo)簽附加到該幀的頂部并且發(fā)送該幀。
在MPLS中繼節(jié)點(diǎn)中的MPLS幀中繼過(guò)程被發(fā)送到邊沿節(jié)點(diǎn)B的端口#1的一幀在一個(gè)MPLS網(wǎng)絡(luò)中的中繼過(guò)程描述如下。
-具有標(biāo)簽的幀的中繼(節(jié)點(diǎn)ab1和ab2)象在現(xiàn)有的MPLS中繼過(guò)程中那樣,在邊沿節(jié)點(diǎn)之間的通道上的一個(gè)MPLS中繼節(jié)點(diǎn)ab1使用標(biāo)簽轉(zhuǎn)發(fā)單元11查看該節(jié)點(diǎn)的標(biāo)簽表10,因此用(ab2)代替在第一個(gè)Shim首部中的一個(gè)標(biāo)簽,并且把該幀從端口#1發(fā)送到節(jié)點(diǎn)ab2。
類(lèi)似地,在邊沿節(jié)點(diǎn)之間的通道上的一個(gè)MPLS中繼節(jié)點(diǎn)ab2使用標(biāo)簽轉(zhuǎn)發(fā)單元11查看該節(jié)點(diǎn)的標(biāo)簽表10,因此刪除第一個(gè)Shim首部(Shim首部,包括一個(gè)標(biāo)簽值ab2),并且把該幀從端口#1發(fā)送到節(jié)點(diǎn)B。
在出口節(jié)點(diǎn)(邊沿節(jié)點(diǎn)B )中的MPLS幀中繼過(guò)程在出口節(jié)點(diǎn)B中的幀中繼描述如下。
-標(biāo)簽轉(zhuǎn)發(fā)單元(邊沿節(jié)點(diǎn)B)在從一個(gè)MPLS網(wǎng)絡(luò)容納單元的端口收到一幀時(shí),邊沿節(jié)點(diǎn)B使用標(biāo)簽轉(zhuǎn)發(fā)單元11查看標(biāo)簽表10,因此,刪除第一個(gè)Shim首部,并且還獲得一個(gè)相應(yīng)的輸出端口。
-路由登記確認(rèn)單元(邊沿節(jié)點(diǎn)B)路由登記確認(rèn)單元26從用于由標(biāo)簽轉(zhuǎn)發(fā)單元(邊沿節(jié)點(diǎn)B)獲得的一個(gè)輸出端口的一個(gè)L2路由表21中檢索數(shù)據(jù)。如果檢索失敗,則單元26通知出口路由登記單元27該路由未登記。因?yàn)樵谶@種情況下,當(dāng)被通知該路由未登記時(shí)檢索失敗,所以出口路由登記單元27從LSP反向轉(zhuǎn)換表25中計(jì)算所接收的VPN連接LSP4的反向VPN連接LSP4和一個(gè)邊沿連接LSP1,并且在用于該端口的L2路由表2中登記這些連接,而且從端口#1發(fā)送該幀。
通過(guò)當(dāng)在VPN#200中向目的地廣播時(shí)把以上所述的過(guò)程應(yīng)用到所有復(fù)制的幀,可以在VPN#200中實(shí)現(xiàn)幀廣播。
接下來(lái),描述了在邊沿節(jié)點(diǎn)B響應(yīng)于從用戶網(wǎng)絡(luò)#200-1中發(fā)送的幀,從端口#1接收從用戶網(wǎng)絡(luò)#200-2-1發(fā)送的一MAC幀的情況下的一個(gè)中繼過(guò)程。
這個(gè)MAC幀的地址
-發(fā)送目的地MAC00bbaa000002-發(fā)送源MAC00aabb000001在入口節(jié)點(diǎn)(邊沿節(jié)點(diǎn)B )中的MPLS幀中繼過(guò)程在從一個(gè)線路容納單元的端口收到一幀時(shí),邊沿節(jié)點(diǎn)B如下使用L2轉(zhuǎn)發(fā)單元55和標(biāo)簽添加單元9在一個(gè)轉(zhuǎn)發(fā)面中中繼該幀。
-L2轉(zhuǎn)發(fā)單元(邊沿節(jié)點(diǎn)B)-識(shí)別對(duì)應(yīng)于接收端口的VPN該單元從VPN定義表3中獲得VPN#200,作為對(duì)應(yīng)于一個(gè)接收端口#1的一個(gè)VPN的標(biāo)識(shí)符。
-有關(guān)發(fā)送源MAC的路由獲悉檢查該單元使用該幀的發(fā)送源MAC作為一個(gè)關(guān)鍵字從用于VPN#200的一個(gè)L2路由表21中檢索數(shù)據(jù)。
如果檢索成功,則該單元繼續(xù)一個(gè)隨后的處理過(guò)程,而不執(zhí)行其它任何操作。然而,在這種情況下,由于用于一個(gè)MAC地址00aabb000001的一個(gè)路由還沒(méi)有被登記在L2路由表21中,因此檢索失敗。因此,象在有關(guān)發(fā)送源MAC的路由獲悉檢查中那樣,路由登記單元8在用于屬于該VPN的每個(gè)端口的L2路由表21中登記用于該發(fā)送源MAC的路由。
-地址檢索該單元使用該幀的發(fā)送目的地MAC作為一個(gè)關(guān)鍵字從用于VPN#200的L2路由表21中檢索數(shù)據(jù)。
如果檢索成功,則該單元獲得一個(gè)輸出目的地的本地端口或是有關(guān)邊沿連接LSP/VPN連接LSP4的信息。如果檢索失敗,則該單元把該幀發(fā)送到VPN內(nèi)的廣播單元12。
在這種情況下,由于一個(gè)MAC地址00bbaa000002已經(jīng)被登記在L2路由表21中了,所以檢索成功。因此,該單元獲得有關(guān)一個(gè)輸出目的地的邊沿連接LSP的信息(標(biāo)簽值ba1和輸出端口#10)以及有關(guān)VPN連接LSP4的信息。
-輸出幀(邊沿節(jié)點(diǎn)B)該單元把該幀發(fā)送到所獲得的輸出目的地。在這種情況下,如果輸出目的地是一個(gè)本地端口,則該單元發(fā)送該幀而不執(zhí)行其它任何處理。如果輸出目的地是一個(gè)LSP,則標(biāo)簽添加單元9把一個(gè)標(biāo)簽附加到該幀的頭部并且發(fā)送該幀。在這個(gè)例子中,由于輸出目的地是一個(gè)LSP,所以該單元在一個(gè)第3層首部之前附加一個(gè)Shim首部。
在MPLS中繼節(jié)點(diǎn)中的MPLS幀中繼過(guò)程-具有標(biāo)簽的幀的中繼(節(jié)點(diǎn)ba1和ba2)如在具有一個(gè)標(biāo)簽的幀中繼中那樣(節(jié)點(diǎn)ab1和ab2),在邊沿節(jié)點(diǎn)之間的通道上的每一個(gè)MPLS中繼節(jié)點(diǎn)ba1和ba2通過(guò)現(xiàn)有的MPLS中繼過(guò)程刪除第一個(gè)Shim首部,并且把該幀發(fā)送到節(jié)點(diǎn)B。
在出口節(jié)點(diǎn)(邊沿節(jié)點(diǎn)A)中的MPLS幀中繼過(guò)程-標(biāo)簽轉(zhuǎn)發(fā)單元(邊沿節(jié)點(diǎn)A)在從一個(gè)MPLS網(wǎng)絡(luò)容納單元的端口收到該幀時(shí),邊沿節(jié)點(diǎn)B使用標(biāo)簽轉(zhuǎn)發(fā)單元11查看標(biāo)簽表10,因此,刪除第一個(gè)Shim首部,并且還獲得一個(gè)相應(yīng)的輸出端口。
-路由登記確認(rèn)單元(邊沿節(jié)點(diǎn)B)路由登記確認(rèn)單元26使用該幀的發(fā)送源MAC作為一個(gè)關(guān)鍵字從用于由標(biāo)簽轉(zhuǎn)發(fā)單元(邊沿節(jié)點(diǎn)A)獲得的一個(gè)輸出端口的L2路由表21中檢索數(shù)據(jù)。如果檢索失敗,則單元26通知出口路由登記單元27該路由未登記。在這種情況下,由于檢索成功,所以單元26從端口#2發(fā)送該幀而不執(zhí)行其它任何處理。
如上所述,本發(fā)明中的系統(tǒng)可以執(zhí)行通過(guò)一個(gè)發(fā)送源MAC進(jìn)行的地址獲悉、通過(guò)一個(gè)發(fā)送目的地MAC進(jìn)行的路由確定、和在未獲悉發(fā)送目的地MAC時(shí)在該VPN內(nèi)的廣播,因此可以構(gòu)成一個(gè)第2層-VPN。
由于轉(zhuǎn)發(fā)面處理過(guò)程是一個(gè)簡(jiǎn)單的、用于使用該幀的具有一個(gè)固定長(zhǎng)度的參數(shù)查看一個(gè)表、并且執(zhí)行方向確定和首部添加/刪除的處理過(guò)程,所以該處理過(guò)程的速度可以被很容易地提高。
圖30是一個(gè)序列圖表,顯示了在第二個(gè)優(yōu)選實(shí)施例的特定示例中直到建立一個(gè)LSP的一個(gè)過(guò)程。
在這個(gè)例子假定中繼節(jié)點(diǎn)ab1和ab2被安裝在邊沿節(jié)點(diǎn)A和B之間。首先,邊沿節(jié)點(diǎn)A和B中每一個(gè)開(kāi)始一個(gè)現(xiàn)有的LSP建立單元。然后,節(jié)點(diǎn)A和B中的每一個(gè)生成一個(gè)邊沿節(jié)點(diǎn)管理表2。然后,邊沿節(jié)點(diǎn)A/B和中繼節(jié)點(diǎn)ab1/ab2中的每一個(gè)生成一個(gè)標(biāo)簽表10。這樣,在邊沿節(jié)點(diǎn)A和B之間建立一個(gè)邊沿連接LSP1。
然后,邊沿節(jié)點(diǎn)A和B中每一個(gè)生成一個(gè)VPN定義表3,并且邊沿節(jié)點(diǎn)A和B協(xié)商以建立一個(gè)VPN連接LSP。然后,邊沿節(jié)點(diǎn)A和B中的每一個(gè)生成一個(gè)VPN管理表5。然后,邊沿節(jié)點(diǎn)A和B中的每一個(gè)生成一個(gè)LSP反向轉(zhuǎn)換表25。通過(guò)每個(gè)節(jié)點(diǎn)生成一個(gè)標(biāo)簽表10,建立了一個(gè)VPN連接LSP20。特別地,在一個(gè)邊沿節(jié)點(diǎn)的入口節(jié)點(diǎn)的端口和出口節(jié)點(diǎn)的端口之間建立一個(gè)連接。
圖31和32是顯示幀轉(zhuǎn)發(fā)的序列圖表。
首先,當(dāng)作為一個(gè)入口節(jié)點(diǎn)的邊沿節(jié)點(diǎn)A收到一MAC幀時(shí),一個(gè)L2轉(zhuǎn)發(fā)單元22通過(guò)查看VPN定義表3開(kāi)始獲得對(duì)應(yīng)于接收端口的一個(gè)VPN的標(biāo)識(shí)符。在這個(gè)例子中,VPN標(biāo)識(shí)符被假定為A。
然后,在路由獲悉檢查中,通過(guò)查看用于一個(gè)接收端口的一個(gè)L2路由表2檢索發(fā)送源MAC是否已經(jīng)被登記了。如果檢索成功,則流程繼續(xù)到地址檢索。如果檢索失敗,則把一個(gè)路由登記請(qǐng)求發(fā)布到入口路由登記單元23,而且流程繼續(xù)到地址檢索。
入口路由登記單元23在用于一個(gè)接收端口的L2路由表21中登記該發(fā)送源MAC的位置信息。特別地,單元23登記發(fā)送源MAC和接收端口。
在地址檢索中,通過(guò)查看用于一個(gè)接收端口的L2路由表21檢索該發(fā)送源MAC是否已經(jīng)被登記了。如果檢索成功,則流程繼續(xù)到幀輸出。在這種情況下,如果輸出目的地是另一個(gè)節(jié)點(diǎn),則一個(gè)用于一個(gè)VPN連接LSP20的發(fā)送標(biāo)簽、一個(gè)用于一邊沿連接LSP1的發(fā)送標(biāo)簽、和一個(gè)發(fā)送端口被發(fā)送到一個(gè)幀輸出。如果輸出目的地是一個(gè)本地端口,則一個(gè)發(fā)送端口被發(fā)送到一個(gè)幀輸出。
如果在發(fā)送源MAC是否已經(jīng)被登記的檢索中斷定檢索失敗,則把一個(gè)廣播請(qǐng)求發(fā)布到VPN內(nèi)的廣播單元12。VPN內(nèi)的廣播單元12從VPN管理表5中獲得在VPN-A中的所有端口列表,并且獲得多條有關(guān)所獲得的所有端口的發(fā)送信息。特別地,判斷每個(gè)輸出端口的輸出目的地端口是否為一個(gè)本地端口。如果輸出目的地端口是一個(gè)本地端口,則獲得一個(gè)發(fā)送目的地端口作為發(fā)送信息。如果輸出目的地端口不是一個(gè)本地端口,則從VPN管理表5中獲得用于該端口的一個(gè)VPN連接LSP20發(fā)送標(biāo)簽,并且進(jìn)一步通過(guò)查看邊沿節(jié)點(diǎn)管理表2獲得用于一個(gè)容納每個(gè)端口的節(jié)點(diǎn)的發(fā)送標(biāo)簽/端口。這個(gè)所獲得的信息包括一個(gè)用于一個(gè)邊沿連接LSP1的發(fā)送標(biāo)簽、一個(gè)發(fā)送端口和一個(gè)發(fā)送目的地端口。然后,在獲得有關(guān)所有這些端口的發(fā)送信息之后,為在VPN-A中的所有端口復(fù)制該幀。然后,流程繼續(xù)到幀輸出。
如果在地址檢索中斷定發(fā)送目的地MAC被登記了,則在幀輸出中判斷輸出目的地端口是否為一個(gè)本地端口。如果輸出目的地端口是一個(gè)本地端口,則發(fā)送該幀。如果輸出目的地端口不是一個(gè)本地端口,則標(biāo)簽添加單元把一個(gè)標(biāo)簽附加到該幀上并且發(fā)送該幀。如果該幀也被廣播了,則在幀輸出中判斷輸出目的地端口是否為一個(gè)本地端口。如果輸出目的地端口是一個(gè)本地端口,則發(fā)送該幀。如果輸出目的地端口不是一個(gè)本地端口,則標(biāo)簽添加單元把一個(gè)標(biāo)簽附加到該幀上并且發(fā)送該幀。
在收到該幀時(shí),一個(gè)出口節(jié)點(diǎn)使用標(biāo)簽轉(zhuǎn)發(fā)單元11從標(biāo)簽表10中獲得對(duì)應(yīng)于所接收幀的標(biāo)簽的、用于發(fā)送的信息。在這種情況下,獲得一個(gè)輸出目的地端口,并且執(zhí)行一個(gè)標(biāo)簽操作。然后,刪除一個(gè)用于在端口之間傳送的標(biāo)簽,而且路由登記確認(rèn)單元26從用于一個(gè)輸出目的地端口的L2路由表21中檢索該發(fā)送源MAC是否被登記了。如果檢索成功,則輸出該幀。如果檢索失敗,則把一個(gè)路由登記請(qǐng)求發(fā)布到出口路由登記單元27。
出口路由登記單元27通過(guò)查看LSP反向轉(zhuǎn)換表25獲得用于一個(gè)所接收的VPN連接LSP20的反向LSP的發(fā)送標(biāo)簽/端口。在這種情況下,獲得一個(gè)用于一個(gè)邊沿連接LSP1的發(fā)送標(biāo)簽、一個(gè)發(fā)送端口、一個(gè)用于一個(gè)VPN連接LSP20的發(fā)送標(biāo)簽等。然后,在用于一個(gè)輸出目的地端口的L2路由表21中登記該發(fā)送源MAC的位置信息。特別地,登記發(fā)送源MAC和接收端口。在這種情況下,路由登記單元26查看用于一個(gè)輸出目的地端口L2路由表21。
第三個(gè)優(yōu)選實(shí)施例中的一個(gè)特定例子描述如下。
這個(gè)優(yōu)選實(shí)施例中的特定例子假定與如圖12中所示相同的VPN建立。
VPN定義和LSP建立(為幀中繼作準(zhǔn)備)首先,描述為在本發(fā)明的第2層-VPN系統(tǒng)中的用戶網(wǎng)絡(luò)之間的幀中繼作準(zhǔn)備而執(zhí)行的、LSP建立和VPN定義的流程。
-建立邊沿連接LSP-生成邊沿節(jié)點(diǎn)管理表一個(gè)現(xiàn)有的LSP生成單元(諸如一個(gè)LDP等)在邊沿節(jié)點(diǎn)A、B和C之間預(yù)先建立用于互相連接邊沿節(jié)點(diǎn)的一個(gè)邊沿連接LSP1,并且在一個(gè)控制面的邊沿節(jié)點(diǎn)管理表2中登記所生成的LSP。
在該表中,把在發(fā)送一個(gè)幀到LSP時(shí)被附加到該幀上的一個(gè)標(biāo)簽和一個(gè)輸出端口存儲(chǔ)作為L(zhǎng)SP參數(shù)。盡管在一個(gè)MPLS網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)(不同于一個(gè)邊沿節(jié)點(diǎn)的節(jié)點(diǎn))也生成這樣一個(gè)表,但是在圖13中省略了對(duì)不同于邊沿節(jié)點(diǎn)的節(jié)點(diǎn)的描述。
-生成標(biāo)簽表在每個(gè)MPLS網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)(邊沿節(jié)點(diǎn)和在一個(gè)MPLS網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn))基于所生成的LSP生成一個(gè)轉(zhuǎn)發(fā)面的標(biāo)簽表10。
-VPN定義和建立VPN連接LSP-生成VPN定義表基于在圖12中顯示的用戶網(wǎng)絡(luò)和VPN定義,把一個(gè)所屬的VPN與在一個(gè)邊沿節(jié)點(diǎn)中的每個(gè)端口相關(guān)聯(lián)。
-建立VPN連接LSP每個(gè)邊沿節(jié)點(diǎn)通過(guò)某些協(xié)商獲得與在由另一個(gè)邊沿節(jié)點(diǎn)容納的端口和一個(gè)VPN之間的對(duì)應(yīng)關(guān)系有關(guān)的信息,并且在由一個(gè)本地節(jié)點(diǎn)容納的一個(gè)VPN和在屬于該VPN的另一個(gè)節(jié)點(diǎn)中的所有端口之間建立一個(gè)雙向的LSP(VPN連接LSP20)。
象在第一個(gè)優(yōu)選實(shí)施例中那樣,一個(gè)任意的單元可以指導(dǎo)該協(xié)商,并且可以建立該VPN連接LSP20。每個(gè)邊沿節(jié)點(diǎn)在VPN管理表5中登記所建立的VPN連接LSP20,并且進(jìn)一步在用于每個(gè)接收標(biāo)簽的LSP反向轉(zhuǎn)換表25中登記與VPN連接LSP20的反向VPN連接LSP20和一個(gè)邊沿連接LSP1有關(guān)的信息,特別是一個(gè)用于一個(gè)反向VPN連接LSP20的發(fā)送標(biāo)簽、一個(gè)用于一個(gè)邊沿連接LSP1的發(fā)送標(biāo)簽、和一個(gè)輸出端口。
圖27和28分別顯示了當(dāng)生成一個(gè)VPN連接LSP20時(shí)將在一個(gè)轉(zhuǎn)發(fā)面中生成的一個(gè)標(biāo)簽表10、以及在一個(gè)控制面中生成的一個(gè)LSP反向轉(zhuǎn)換表25。
圖29顯示了被建立以構(gòu)成如圖12所示的VPN的一個(gè)邊沿連接LSP1和一個(gè)VPN連接LSP20。在圖29中,僅僅顯示了用來(lái)構(gòu)成VPN#200的LSP,而用來(lái)構(gòu)成VPN#100的LSP被省略了。
在入口節(jié)點(diǎn)(邊沿節(jié)點(diǎn)A)中的MAC幀中繼過(guò)程在如上所述的準(zhǔn)備之后在從端口#2收到下列從一個(gè)用戶網(wǎng)絡(luò)#200-1發(fā)送的MAC幀時(shí),由于邊沿節(jié)點(diǎn)A已經(jīng)從一個(gè)線路容納單元中的端口接收了一幀,所以邊沿節(jié)點(diǎn)A如下使用L2轉(zhuǎn)發(fā)單元22和標(biāo)簽添加單元9在一個(gè)轉(zhuǎn)發(fā)面中中繼該幀。
-發(fā)送目的地MAC00aabb000001-發(fā)送源MAC00bbaa000002此刻假定用于發(fā)送目的地MAC的一個(gè)路由還沒(méi)有被登記在一個(gè)L2路由表21中。
-L2轉(zhuǎn)發(fā)單元(邊沿節(jié)點(diǎn)A)邊沿節(jié)點(diǎn)A的L2轉(zhuǎn)發(fā)單元22的處理過(guò)程描述如下。
-識(shí)別對(duì)應(yīng)于接收端口的VPN從VPN定義表3中獲得VPN#200,作為一個(gè)對(duì)應(yīng)于接收端口#2的VPN的標(biāo)識(shí)符。
-有關(guān)發(fā)送源MAC的路由獲悉檢查L(zhǎng)2轉(zhuǎn)發(fā)單元22使用該發(fā)送源MAC作為一個(gè)關(guān)鍵字從用于接收端口#2的一個(gè)L2路由表21中檢索數(shù)據(jù)。
如果檢索成功,則流程繼續(xù)一個(gè)隨后的地址檢索,而不執(zhí)行其它任何處理。然而,在這種情況下,用于一個(gè)MAC地址00bbaa000002的一個(gè)路由還沒(méi)有被登記在L2路由表21中,并且檢索失敗。因此,向路由登記單元8通知該路由未登記。路由登記單元8執(zhí)行下列處理過(guò)程,并且在用于所有屬于該VPN的端口的L2路由表21中登記用于該發(fā)送源MAC的路由。
-單元22在用于一個(gè)接收端口的L2路由表21中登記一對(duì)發(fā)送源MAC和接收端口。
-單元22從VPN管理表5中獲得具有一個(gè)屬于VPN#200的端口的一個(gè)邊沿節(jié)點(diǎn)的第3層地址(B和C)。
-單元22向節(jié)點(diǎn)B和C通知下列組合作為在該VPN中的一個(gè)新路由。
{VPN#200、發(fā)送源MAC、端口#2、和第3層地址(A)}在收到該通知時(shí),邊沿節(jié)點(diǎn)B和C中的每一個(gè)從VPN管理表5(圖18)中獲得用于一個(gè)對(duì)應(yīng)于被通知的端口#2的VPN連接LSP20的一個(gè)發(fā)送標(biāo)簽,并且從邊沿節(jié)點(diǎn)管理表2(圖13)中獲得用于地址A的一個(gè)邊沿連接LSP發(fā)送標(biāo)簽和一個(gè)輸出端口。邊沿節(jié)點(diǎn)B和C中的每一個(gè)在用于所有屬于VPN#200的端口的一個(gè)L2路由表(圖21)中登記多個(gè)數(shù)據(jù)。
-地址檢索單元22使用該幀的發(fā)送目的地MAC作為一個(gè)關(guān)鍵字從用于端口#2的L2路由表21中檢索數(shù)據(jù)。
如果檢索成功,則單元22獲得一個(gè)輸出目的地的本地端口或是有關(guān)邊沿連接LSP/VPN連接LSP4的信息。然而,在這種情況下,由于用于一個(gè)MAC地址00aabb000001的一個(gè)路由還沒(méi)有被登記在L2路由表21中,因此檢索失敗。因此,單元22把該幀傳送到VPN內(nèi)的廣播單元12。
VPN內(nèi)的廣播單元12把該幀廣播到在該VPN中的所有端口。盡管在這個(gè)優(yōu)選實(shí)施例可以使用一個(gè)任意的廣播單元,但是在這個(gè)例子中,一個(gè)入口節(jié)點(diǎn)復(fù)制該幀,并且把該幀發(fā)送到在該VPN中的所有端口。
特別地,VPN內(nèi)的廣播單元12查看VPN管理表5,并且獲得屬于VPN#200的一個(gè)本地端口號(hào)以及有關(guān)在另一個(gè)節(jié)點(diǎn)中的端口的信息。
(i)本地端口(#2)端口#2的列表(ii)VPN連接LSP的列表-用于邊沿節(jié)點(diǎn)B的端口#1的VPN連接LSP20-用于邊沿節(jié)點(diǎn)B的端口#2的VPN連接LSP20-用于邊沿節(jié)點(diǎn)C的端口#2的VPN連接LSP20單元12進(jìn)一步查看邊沿節(jié)點(diǎn)管理表2,并且獲得與容納一個(gè)廣播目的地端口的每個(gè)邊沿節(jié)點(diǎn)有關(guān)的多條邊沿連接LSP1發(fā)送信息的一個(gè)列表。
-用于邊沿節(jié)點(diǎn)B的邊沿連接LSP1發(fā)送標(biāo)簽(ab1)和輸出端口(#10)-用于邊沿節(jié)點(diǎn)C的邊沿連接LSP1發(fā)送標(biāo)簽(ac1)和輸出端口(#10)此外,VPN內(nèi)的廣播單元12復(fù)制該幀,并發(fā)送該幀到在VPN#200中所獲得的所有輸出目的地中除接收端口#2之外的三個(gè)輸出目的地。
-幀輸出(邊沿節(jié)點(diǎn)A)單元12把該幀發(fā)送到所獲得的所有輸出目的地。在這種情況下,如果輸出目的地是一個(gè)本地端口,則發(fā)送該幀而不執(zhí)行其它任何處理。如果輸出目的地是一個(gè)LSP,則標(biāo)簽添加單元9把一個(gè)標(biāo)簽附加到該幀的頂部并且發(fā)送該幀。
在MPLS中繼節(jié)點(diǎn)中的MPLS幀中繼過(guò)程被發(fā)送到邊沿節(jié)點(diǎn)B的端口#1的一個(gè)幀在一個(gè)MPLS網(wǎng)絡(luò)中的中繼過(guò)程描述如下。
-具有標(biāo)簽的幀的中繼(節(jié)點(diǎn)ab1和ab2)象在現(xiàn)有的MPLS中繼過(guò)程中那樣,在邊沿節(jié)點(diǎn)之間的通道上的一個(gè)MPLS中繼節(jié)點(diǎn)ab1使用標(biāo)簽轉(zhuǎn)發(fā)單元11查看該節(jié)點(diǎn)的標(biāo)簽表10,因此用(ab2)代替在第一個(gè)Shim首部中的一個(gè)標(biāo)簽,并且把該幀從端口#1發(fā)送到節(jié)點(diǎn)ab2。
類(lèi)似地,在邊沿節(jié)點(diǎn)之間的通道上的一個(gè)MPLS中繼節(jié)點(diǎn)ab2使用標(biāo)簽轉(zhuǎn)發(fā)單元11查看該節(jié)點(diǎn)的標(biāo)簽表10,因此刪除第一個(gè)Shim首部(Shim首部,包括一個(gè)標(biāo)簽值ab2),并且把該幀從端口#1發(fā)送到節(jié)點(diǎn)B。
在出口節(jié)點(diǎn)(邊沿節(jié)點(diǎn)B)中的MPLS幀中繼過(guò)程在出口節(jié)點(diǎn)B中的幀中繼描述如下。
-標(biāo)簽轉(zhuǎn)發(fā)單元(邊沿節(jié)點(diǎn)B)在從一個(gè)MPLS網(wǎng)絡(luò)容納單元的端口收到一幀時(shí),邊沿節(jié)點(diǎn)B使用標(biāo)簽轉(zhuǎn)發(fā)單元11查看標(biāo)簽表10,因此,刪除第一個(gè)Shim首部,并且還從輸出端口#1中發(fā)送該幀。
通過(guò)當(dāng)在VPN#200中向目的地廣播時(shí)把以上所述的過(guò)程應(yīng)用到所有復(fù)制的幀,可以在VPN#200中實(shí)現(xiàn)幀廣播。
接下來(lái),描述了在邊沿節(jié)點(diǎn)B響應(yīng)于從用戶網(wǎng)絡(luò)#200-1發(fā)送的幀,從端口#1接收從用戶網(wǎng)絡(luò)#200-2-1發(fā)送的一MAC幀的情況下的一個(gè)中繼過(guò)程。
這個(gè)MAC幀的地址-發(fā)送目的地MAC00bbaa000002-發(fā)送源MAC00aabb000001在入口節(jié)點(diǎn)(邊沿節(jié)點(diǎn)B)中的MPLS幀中繼過(guò)程在從一個(gè)線路容納單元的端口收到一幀時(shí),邊沿節(jié)點(diǎn)B如下使用L2轉(zhuǎn)發(fā)單元31和標(biāo)簽添加單元9在一個(gè)轉(zhuǎn)發(fā)面中中繼該幀。
-L2轉(zhuǎn)發(fā)單元(邊沿節(jié)點(diǎn)B)-識(shí)別對(duì)應(yīng)于接收端口的VPN該單元從VPN定義表3中獲得VPN#200,作為對(duì)應(yīng)于接收端口#1的一個(gè)VPN的標(biāo)識(shí)符。
-有關(guān)發(fā)送源MAC的路由獲悉檢查該單元使用該幀的發(fā)送源MAC作為一個(gè)關(guān)鍵字從用于VPN#200的一個(gè)L2路由表21中檢索數(shù)據(jù)。
如果檢索成功,則該單元繼續(xù)一個(gè)隨后的處理過(guò)程,而不執(zhí)行其它任何操作。然而,在這種情況下,由于用于一個(gè)MAC地址00aabb000001的一個(gè)路由還沒(méi)有被登記在L2路由表21中,因此檢索失敗。因此,象在有關(guān)發(fā)送源MAC的路由獲悉檢查中那樣,路由登記單元8在用于屬于該VPN的每個(gè)端口的L2路由表21中登記用于該發(fā)送源MAC的一個(gè)路由。
-地址檢索該單元使用該幀的發(fā)送目的地MAC作為一個(gè)關(guān)鍵字從用于VPN#200的L2路由表21中檢索數(shù)據(jù)。
如果檢索成功,則該單元獲得一個(gè)輸出目的地的本地端口或是有關(guān)邊沿連接LSP/VPN連接LSP4的信息。如果檢索失敗,則該單元把該幀傳送到VPN內(nèi)的廣播單元12。
在這種情況下,由于一個(gè)MAC地址00bbaa000002已經(jīng)被登記在L2路由表21中了,所以檢索成功。因此,該單元獲得有關(guān)一個(gè)輸出目的地的邊沿連接LSP的信息(標(biāo)簽值ba1和輸出端口#10)以及有關(guān)VPN連接LSP20的信息。
-幀輸出(邊沿節(jié)點(diǎn)B)單元12把該幀發(fā)送到所獲得的輸出目的地。在這種情況下,如果輸出目的地是一個(gè)本地端口,則該單元發(fā)送該幀而不執(zhí)行其它任何處理。如果輸出目的地是一個(gè)LSP,則標(biāo)簽添加單元9把一個(gè)標(biāo)簽附加到該幀的頂部并且發(fā)送該幀。在這個(gè)例子中,由于輸出目的地是一個(gè)LSP,所以該單元在一個(gè)第2層首部之前附加一個(gè)Shim首部。
在MPLS中繼節(jié)點(diǎn)中的MPLS幀中繼過(guò)程-具有標(biāo)簽的幀的中繼(節(jié)點(diǎn)ba1和ba2)如在具有一個(gè)標(biāo)簽的幀中繼(節(jié)點(diǎn)ab1和ab2)中那樣,在邊沿節(jié)點(diǎn)之間的通道上的每一個(gè)MPLS中繼節(jié)點(diǎn)ba1和ba2通過(guò)現(xiàn)有的MPLS中繼過(guò)程刪除第一個(gè)Shim首部,并且把該幀發(fā)送到節(jié)點(diǎn)A。
在出口節(jié)點(diǎn)(邊沿節(jié)點(diǎn)A )中的MPLS幀中繼過(guò)程-標(biāo)簽轉(zhuǎn)發(fā)單元(邊沿節(jié)點(diǎn)A)在從一個(gè)MPLS網(wǎng)絡(luò)容納單元的端口收到該幀時(shí),邊沿節(jié)點(diǎn)B使用標(biāo)簽轉(zhuǎn)發(fā)單元11查看標(biāo)簽表10,因此,刪除第一個(gè)Shim首部,并且還獲得一個(gè)相應(yīng)的輸出端口。
如上所述,本發(fā)明中的系統(tǒng)可以執(zhí)行通過(guò)一個(gè)發(fā)送源MAC進(jìn)行的地址獲悉、通過(guò)一個(gè)發(fā)送目的地MAC進(jìn)行的路由確定、和在未獲悉發(fā)送目的地MAC時(shí)在該VPN內(nèi)的廣播,因此可以構(gòu)成一個(gè)第2層-VPN。
由于轉(zhuǎn)發(fā)面處理過(guò)程是一個(gè)簡(jiǎn)單的、用于使用該幀的具有一個(gè)固定長(zhǎng)度的參數(shù)查看一個(gè)表、并且執(zhí)行方向確定和首部添加/刪除的處理過(guò)程,所以該處理過(guò)程的速度可以被很容易地提高。
圖33是一個(gè)序列圖表,顯示了在第三個(gè)優(yōu)選實(shí)施例的特定示例中直到建立一個(gè)LSP的一個(gè)過(guò)程。
在這個(gè)例子中,假定中繼節(jié)點(diǎn)ab1和ab2被安裝在邊沿節(jié)點(diǎn)A和B之間。首先,邊沿節(jié)點(diǎn)A和B中的每一個(gè)開(kāi)始一個(gè)現(xiàn)有的LSP建立單元。然后,節(jié)點(diǎn)A和B中的每一個(gè)生成一個(gè)邊沿節(jié)點(diǎn)管理表2。然后,邊沿節(jié)點(diǎn)A/B和中繼節(jié)點(diǎn)ab1/ab2中的每一個(gè)生成一個(gè)標(biāo)簽表10。這樣,在邊沿節(jié)點(diǎn)A和B之間建立一個(gè)邊沿連接LSP1。
然后,邊沿節(jié)點(diǎn)A和B中的每一個(gè)生成一個(gè)VPN定義表3,并且邊沿節(jié)點(diǎn)A和B協(xié)商以建立一個(gè)VPN連接LSP。然后,邊沿節(jié)點(diǎn)A和B中的每一個(gè)進(jìn)一步生成一個(gè)VPN管理表5。然后,邊沿節(jié)點(diǎn)A/B和中繼節(jié)點(diǎn)ab1/ab2中的每一個(gè)生成一個(gè)標(biāo)簽表10。通過(guò)每個(gè)節(jié)點(diǎn)生成一個(gè)標(biāo)簽表10,建立了一個(gè)VPN連接LSP20。這個(gè)VPN連接LSP20連接邊沿節(jié)點(diǎn)A的端口和邊沿節(jié)點(diǎn)B的端口。
圖34和35顯示了說(shuō)明幀轉(zhuǎn)發(fā)的序列圖表。
首先,當(dāng)作為一個(gè)入口節(jié)點(diǎn)的邊沿節(jié)點(diǎn)A收到一MAC幀時(shí),一個(gè)L2轉(zhuǎn)發(fā)單元31通過(guò)查看VPN定義表3獲得對(duì)應(yīng)于接收端口的一個(gè)VPN的標(biāo)識(shí)符。在這個(gè)例子中,VPN標(biāo)識(shí)符被假定為A。然后,流程繼續(xù)到路由獲悉檢查。在路由獲悉檢查中,首先,通過(guò)查看用于一個(gè)接收端口的一個(gè)L2路由表2檢索該發(fā)送源MAC是否已經(jīng)被登記了。如果檢索成功,則流程繼續(xù)到地址檢索。如果檢索失敗,則把一個(gè)路由登記請(qǐng)求發(fā)布到路由登記單元32,而且流程繼續(xù)到地址檢索。
路由登記單元32在用于一個(gè)接收端口的L2路由表21中登記該發(fā)送源MAC的位置信息。在這種情況下,登記發(fā)送源MAC和接收端口。然后,單元32獲得具有一個(gè)在VPN-A中的端口的所有節(jié)點(diǎn)的第3層地址。在這種情況下,生成一個(gè)第3層地址列表。單元32向每一個(gè)所獲得的第3層地址通知發(fā)送源MAC的位置信息。在這種情況下,該通知包括VPN標(biāo)識(shí)A、一個(gè)發(fā)送源MAC、一個(gè)接收端口、和一個(gè)接收節(jié)點(diǎn)的第3層地址。
在收到該通知時(shí),一個(gè)出口節(jié)點(diǎn)使用路由登記單元32從VPN管理表5中獲得一個(gè)用于一個(gè)通知源端口的發(fā)送標(biāo)簽。特別地,獲得用于一個(gè)VPN連接LSP20的一個(gè)發(fā)送標(biāo)簽。單元32進(jìn)一步從邊沿節(jié)點(diǎn)管理表2獲得用于一個(gè)通知源的發(fā)送標(biāo)簽/端口。在這種情況下,獲得一個(gè)用于一個(gè)邊沿連接LSP1的發(fā)送標(biāo)簽和一個(gè)發(fā)送端口。然后,單元32在用于VPN-A的一個(gè)L2路由表21中登記被通知給用于所有屬于VPN-A的端口的L2路由表21的一個(gè)MAC的位置信息。在這種情況下,登記一個(gè)MAC、一個(gè)端口、一個(gè)用于節(jié)點(diǎn)A的邊沿連接1發(fā)送標(biāo)簽、一個(gè)發(fā)送端口、和一個(gè)用于一個(gè)被通知的端口的VPN連接LSP20發(fā)送標(biāo)簽。
在邊沿節(jié)點(diǎn)A中,在地址檢索中,通過(guò)查看用于一個(gè)接收端口的一個(gè)L2路由表21,檢索該發(fā)送目的地MAC是否已經(jīng)被登記了。如果檢索成功,則流程繼續(xù)到幀輸出。如果在幀輸出中輸出目的地是另一個(gè)節(jié)點(diǎn),則一個(gè)用于一個(gè)VPN連接LSP20的發(fā)送標(biāo)簽、一個(gè)用于一個(gè)邊沿連接LSP1的發(fā)送標(biāo)簽、和一個(gè)發(fā)送端口被確定下來(lái)。如果輸出目的地是一個(gè)本地端口,則確定一個(gè)發(fā)送端口。
如果在發(fā)送目的地MAC是否已經(jīng)被登記的檢索中斷定檢索失敗,則把一個(gè)廣播請(qǐng)求發(fā)布到VPN內(nèi)的廣播單元12。VPN內(nèi)的廣播單元12從VPN管理表5中獲得在VPN-A中的所有端口列表,并且獲得有關(guān)所獲得的所有端口的發(fā)送信息。特別地,單元12為每個(gè)輸出端口判斷輸出目的地端口是否為一個(gè)本地端口。如果輸出目的地端口是一個(gè)本地端口,則單元12獲得一個(gè)發(fā)送目的地端口作為發(fā)送信息。如果輸出目的地端口不是一個(gè)本地端口,則單元12從VPN管理表5中獲得用于該端口的一個(gè)VPN連接LSP20發(fā)送標(biāo)簽作為發(fā)送信息,并且進(jìn)一步通過(guò)查看邊沿節(jié)點(diǎn)管理表2獲得用于一個(gè)容納每個(gè)端口的節(jié)點(diǎn)的發(fā)送標(biāo)簽/端口。這個(gè)所獲得的信息包括一個(gè)用于一個(gè)邊沿連接LSP1的發(fā)送標(biāo)簽、一個(gè)發(fā)送端口和一個(gè)發(fā)送目的地端口。然后,在獲得有關(guān)所有這些端口的發(fā)送信息之后,單元12為在VPN-A中的所有端口復(fù)制該幀。然后,流程繼續(xù)到幀輸出。
在幀輸出中判斷一待發(fā)送幀的輸出目的地端口是否為一個(gè)本地端口。如果輸出目的地是一個(gè)本地端口,則單元12發(fā)送該幀。如果輸出目的地不是一個(gè)本地端口,則標(biāo)簽添加單元9把一個(gè)標(biāo)簽附加到一幀上并且發(fā)送該幀。
在收到該幀時(shí),一個(gè)出口節(jié)點(diǎn)使用標(biāo)簽轉(zhuǎn)發(fā)單元11從標(biāo)簽表10中獲得對(duì)應(yīng)于該標(biāo)簽的、有關(guān)轉(zhuǎn)發(fā)的信息。特別地,單元11獲得一個(gè)輸出目的地端口并且執(zhí)行一個(gè)標(biāo)簽操作。然后,單元12刪除該不必要的標(biāo)簽并且發(fā)送該幀。
以上所述的所有L2標(biāo)簽表中、第一個(gè)和第二個(gè)優(yōu)選實(shí)施例中的L2標(biāo)簽表在以下方面不同第一個(gè)優(yōu)選實(shí)施例具有一個(gè)以VPN標(biāo)識(shí)符為單位的L2路由表,而第二個(gè)優(yōu)選實(shí)施例具有一個(gè)以端口為單位的L2路由表。
這個(gè)差別是由于以下事實(shí)在前者中在一個(gè)線路容納單元和一個(gè)端口之間建立一個(gè)LSP,而在后者中在端口之間建立一個(gè)LSP。特別地,盡管不論是哪種情況,一個(gè)地址檢索過(guò)程都是通過(guò)查看一個(gè)L2路由表來(lái)確定一個(gè)地址。
-在后者中,系統(tǒng)必須具有一個(gè)以端口為單位的LSP,是因?yàn)榧词拱l(fā)送目的地端口是相同的,一個(gè)LSP的地址也會(huì)依據(jù)一個(gè)接收端口而改變。
-而在前者中,如果系統(tǒng)具有一個(gè)以VPN為單位的LSP,則是可以接受的,是因?yàn)橹挥挟?dāng)一接收的幀所屬的VPN的號(hào)碼已知時(shí)才可以指定一個(gè)發(fā)送目的地LSP。
盡管在第一個(gè)到第三個(gè)優(yōu)選實(shí)施例中,在一個(gè)邊沿節(jié)點(diǎn)內(nèi)部執(zhí)行一個(gè)本地中繼過(guò)程而不附加一個(gè)標(biāo)簽,以便不考慮該中繼是否為本地中繼或在節(jié)點(diǎn)之間的中繼而統(tǒng)一一個(gè)標(biāo)簽添加/刪除過(guò)程,在本地中繼中在該設(shè)備內(nèi)部也可以暫時(shí)地附加一個(gè)L2標(biāo)簽,而且該L2標(biāo)簽還可以在發(fā)送之前被刪除。做為選擇,在本地中繼中,可以建立與在節(jié)點(diǎn)之間的中繼的LSP相同的LSP(特別地,在第一個(gè)優(yōu)選實(shí)施例中,可以在線路容納單元和一個(gè)設(shè)備的一個(gè)端口之間建立一個(gè)VPN連接LSP,而在第二個(gè)和第三個(gè)優(yōu)選實(shí)施例中,可以在一個(gè)設(shè)備的端口之間建立一個(gè)VPN連接LSP)。
盡管在第一個(gè)到第三個(gè)優(yōu)選實(shí)施例中,在一個(gè)入口節(jié)點(diǎn)中執(zhí)行VPN廣播,以便降低一個(gè)入口節(jié)點(diǎn)的處理負(fù)荷,例如,還可以準(zhǔn)備另一個(gè)節(jié)點(diǎn)(例如,用于專門(mén)執(zhí)行一個(gè)廣播過(guò)程的一個(gè)特殊節(jié)點(diǎn)),而且該節(jié)點(diǎn)也可以執(zhí)行廣播過(guò)程。
盡管在第二優(yōu)選實(shí)施例中,一個(gè)入口/出口路由登記單元僅僅在用于一個(gè)接收端口的一個(gè)L2路由表中登記路由選擇信息,但是路由選擇信息不僅可以被登記在用于一個(gè)接收端口的表中,而且還可以被登記在用于該設(shè)備的所有端口中、在與一個(gè)接收VPN相同的VPN中的所有端口的一個(gè)表中。特別地,入口/出口路由登記單元不僅可以在用于一個(gè)接收端口的一個(gè)L2路由表中執(zhí)行登記,而且還可以執(zhí)行以下過(guò)程。
-該單元獲得在與一個(gè)接收VPN相同的VPN中的所有端口。
-該單元提取在該設(shè)備的VPN中的所有端口的一個(gè)列表。
-該單元在用于這些端口的一個(gè)L2路由表中登記路由選擇信息。
在第一個(gè)到第三個(gè)優(yōu)選實(shí)施例中,按以下次序進(jìn)行流程。
1.路由獲悉2.地址檢索然而,該次序還可以被顛倒。特別地,還可以按以下次序進(jìn)行該流程。
1.地址檢索2.路由獲悉盡管在第四個(gè)、第五個(gè)和第六個(gè)優(yōu)選實(shí)施例中,一個(gè)入口邊沿節(jié)點(diǎn)把一個(gè)Shim首部附加到從一個(gè)用戶網(wǎng)絡(luò)接收的具有VLAN首部的一幀上,而且發(fā)送直到一個(gè)出口邊沿節(jié)點(diǎn)而不執(zhí)行其它任何處理,以便通過(guò)減少在一個(gè)MPLS網(wǎng)絡(luò)中的首部長(zhǎng)度節(jié)省帶寬,該入口還可以刪除該VLAN首部,而且出口邊沿節(jié)點(diǎn)還可以再次附加該VLAN首部。
在第四個(gè)、第五個(gè)和第六個(gè)優(yōu)選實(shí)施例中,為了連接每個(gè)分配有一個(gè)不同VID的VLAN網(wǎng)絡(luò),一個(gè)入口邊沿節(jié)點(diǎn)還可以把從一個(gè)用戶網(wǎng)絡(luò)接收的具有VLAN首部的幀中的VLAN首部刪除,而且一個(gè)出口邊沿節(jié)點(diǎn)還可以再次附加一個(gè)包括有分配給一個(gè)連接目的地VLAN網(wǎng)絡(luò)的VID的VLAN首部。
做為選擇,一個(gè)入口邊沿節(jié)點(diǎn)可以把一個(gè)Shim首部附加到從一個(gè)用戶接收的具有一個(gè)VLAN首部的一幀上,而不從該幀中刪除該VLAN首部,并且把該幀發(fā)送直到出口邊沿節(jié)點(diǎn),而出口邊沿節(jié)點(diǎn)還可以用分配給一個(gè)連接目的地VLAN網(wǎng)絡(luò)的一個(gè)VID替換該VLAN首部的VID(字段)。
依據(jù)本發(fā)明,通過(guò)使用一個(gè)現(xiàn)有的MPLS網(wǎng)絡(luò)連接由一個(gè)VPN連接的用戶網(wǎng)絡(luò)、以及用本發(fā)明的邊沿節(jié)點(diǎn)代替該邊沿節(jié)點(diǎn),可以構(gòu)成一個(gè)第2層-VPN網(wǎng)絡(luò)。該第2層-VPN網(wǎng)絡(luò)還可以執(zhí)行通過(guò)一個(gè)中繼橋接器中繼發(fā)送源MAC進(jìn)行的地址獲悉、通過(guò)一個(gè)地址MAC進(jìn)行的路由確定、和在地址MAC未確定時(shí)在一個(gè)VPN內(nèi)部的廣播。
由于轉(zhuǎn)發(fā)面處理過(guò)程是一個(gè)簡(jiǎn)單的、用于使用該幀的具有一個(gè)固定長(zhǎng)度的參數(shù)查看一個(gè)表、并且執(zhí)行方向確定和首部添加/刪除的處理過(guò)程,所以該處理過(guò)程的速度可以被很容易地提高。
權(quán)利要求
1.一種用于通過(guò)一個(gè)公用網(wǎng)絡(luò)連接第一個(gè)和第二個(gè)第2層網(wǎng)絡(luò)并進(jìn)行幀中繼的中繼系統(tǒng),其中第一個(gè)和第二個(gè)第2層網(wǎng)絡(luò)是虛擬專用網(wǎng)絡(luò),該中繼系統(tǒng)包括連接建立單元,把第一個(gè)第2層網(wǎng)絡(luò)與第二個(gè)第2層網(wǎng)絡(luò)相關(guān)聯(lián),并且建立一個(gè)MPLS連接;存儲(chǔ)單元,當(dāng)從第一個(gè)第2層網(wǎng)絡(luò)接收一幀時(shí)存儲(chǔ)在連接到該系統(tǒng)的第一個(gè)第2層網(wǎng)絡(luò)和MPLS連接之間的對(duì)應(yīng)關(guān)系;發(fā)送單元,在從第一個(gè)第2層網(wǎng)絡(luò)收到一幀時(shí),從該存儲(chǔ)單元中獲得一個(gè)MPLS連接并且發(fā)送該幀;以及廣播單元,如果對(duì)應(yīng)于從第一個(gè)第2層網(wǎng)絡(luò)接收的幀的一個(gè)MPLS連接沒(méi)有被存儲(chǔ)在該存儲(chǔ)單元中,則廣播該幀。
2.如權(quán)利要求1所述的中繼系統(tǒng),其特征在于把一個(gè)物理接口或者一個(gè)邏輯接口稱作一個(gè)端口,在第一個(gè)第2層網(wǎng)絡(luò)連接到的一個(gè)中繼系統(tǒng)的一個(gè)線路容納單元、和第二個(gè)第2層網(wǎng)絡(luò)連接到的一個(gè)中繼系統(tǒng)的一個(gè)輸出端口之間建立該MPLS連接。
3.如權(quán)利要求1所述的中繼系統(tǒng),其特征在于把一個(gè)物理接口或者一個(gè)邏輯接口稱作一個(gè)端口,在容納第一個(gè)VLAN的一個(gè)線路容納單元和容納第二個(gè)VLAN的一個(gè)邏輯端口之間建立該MPLS連接。
4.如權(quán)利要求1所述的中繼系統(tǒng),其特征在于把一個(gè)物理接口或者一個(gè)邏輯接口稱作一個(gè)端口,在第一個(gè)第2層網(wǎng)絡(luò)連接到的一個(gè)中繼系統(tǒng)的一個(gè)輸入端口、和第二個(gè)第2層網(wǎng)絡(luò)連接到的一個(gè)中繼系統(tǒng)的一個(gè)輸出端口之間建立該MPLS連接。
5.如權(quán)利要求1所述的中繼系統(tǒng),其特征在于把一個(gè)物理接口或者一個(gè)邏輯接口稱作一個(gè)端口,在對(duì)應(yīng)于在收到一個(gè)幀時(shí)識(shí)別的一個(gè)第2層網(wǎng)絡(luò)的存儲(chǔ)單元的存儲(chǔ)信息中,登記在在該幀中的一個(gè)發(fā)送源地址和一個(gè)接收端口之間的對(duì)應(yīng)關(guān)系,同時(shí)把該對(duì)應(yīng)關(guān)系通知給其中每個(gè)都具有一個(gè)對(duì)應(yīng)于公用網(wǎng)絡(luò)中的該第2層網(wǎng)絡(luò)的一個(gè)端口的所有邊沿節(jié)點(diǎn),并且登記在發(fā)送源地址和用于接收端口的MPLS連接之間的對(duì)應(yīng)關(guān)系。
6.如權(quán)利要求1所述的中繼系統(tǒng),其特征在于把一個(gè)物理接口或者一個(gè)邏輯接口稱作一個(gè)端口,在從一個(gè)MPLS連接收到一幀時(shí),把在該幀中的一個(gè)發(fā)送源地址和一個(gè)MPLS連接相關(guān)聯(lián)并且登記下來(lái),其中該MPLS連接具有一個(gè)發(fā)送目的地和一個(gè)發(fā)送源分別作為該連接的一個(gè)發(fā)送源端口和該連接的一個(gè)輸出目的地端口。
7.如權(quán)利要求1所述的中繼系統(tǒng),在從公用網(wǎng)絡(luò)收到一幀時(shí),獲得對(duì)應(yīng)于在該幀中的一個(gè)標(biāo)簽的一個(gè)輸出目的地,刪除該標(biāo)簽,并且發(fā)送該幀。
8.如權(quán)利要求1所述的中繼系統(tǒng),其特征在于如果第一個(gè)第2層網(wǎng)絡(luò)和第二個(gè)第2層網(wǎng)絡(luò)都在由IEEE802.1Q(IEEE802.1Q虛擬LAN)規(guī)定的一個(gè)VLAN中進(jìn)行操作,而且如果一個(gè)物理接口或者一個(gè)邏輯接口被稱作一個(gè)端口,則在容納第一個(gè)VLAN的一個(gè)邏輯端口和容納第二個(gè)VLAN的一個(gè)邏輯端口之間建立該MPLS連接。
9.如權(quán)利要求1所述的中繼系統(tǒng),其特征在于該公用網(wǎng)絡(luò)是一個(gè)MPLS網(wǎng)絡(luò)。
10.如權(quán)利要求1所述的中繼系統(tǒng),其特征在于該幀是一MAC幀。
11.一種用于通過(guò)一個(gè)公用網(wǎng)絡(luò)連接第一個(gè)和第二個(gè)第2層網(wǎng)絡(luò)并進(jìn)行幀中繼的中繼方法,其中該第一個(gè)和第二個(gè)第2層網(wǎng)絡(luò)是虛擬專用網(wǎng)絡(luò),該中繼方法包括把第一個(gè)第2層網(wǎng)絡(luò)與第二個(gè)第2層網(wǎng)絡(luò)相關(guān)聯(lián),并且建立一個(gè)MPLS連接;當(dāng)從第一個(gè)第2層網(wǎng)絡(luò)接收一幀時(shí)存儲(chǔ)在連接到該系統(tǒng)的第一個(gè)第2層網(wǎng)絡(luò)和MPLS連接之間的對(duì)應(yīng)關(guān)系;在從第一個(gè)第2層網(wǎng)絡(luò)中收到一幀時(shí),從存儲(chǔ)單元中獲得一個(gè)MPLS連接并且發(fā)送該幀;以及如果對(duì)應(yīng)于從第一個(gè)第2層網(wǎng)絡(luò)接收的幀的一個(gè)MPLS連接沒(méi)有被存儲(chǔ)在存儲(chǔ)單元中,則廣播該幀。
12.如權(quán)利要求11所述的中繼方法,其特征在于把一個(gè)物理接口或者一個(gè)邏輯接口稱作一個(gè)端口,在第一個(gè)第2層網(wǎng)絡(luò)連接到的一個(gè)中繼系統(tǒng)的一個(gè)線路容納單元、和第二個(gè)第2層網(wǎng)絡(luò)連接到的一個(gè)中繼系統(tǒng)的一個(gè)輸出端口之間建立該MPLS連接。
13.如權(quán)利要求11所述的中繼方法,其特征在于把一個(gè)物理接口或者一個(gè)邏輯接口稱作一個(gè)端口,在容納第一個(gè)VLAN的一個(gè)線路容納單元和容納第二個(gè)VLAN的一個(gè)邏輯端口之間建立該MPLS連接。
14.如權(quán)利要求11所述的中繼方法,其特征在于把一個(gè)物理接口或者一個(gè)邏輯接口稱作一個(gè)端口,在第一個(gè)第2層網(wǎng)絡(luò)連接到的一個(gè)中繼系統(tǒng)的一個(gè)輸入端口、和第二個(gè)第2層網(wǎng)絡(luò)連接到的一個(gè)中繼系統(tǒng)的一個(gè)輸出端口之間建立該MPLS連接。
15.如權(quán)利要求11所述的中繼方法,其特征在于把一個(gè)物理接口或者一個(gè)邏輯接口稱作一個(gè)端口,在對(duì)應(yīng)于在收到一個(gè)幀時(shí)識(shí)別的一個(gè)第2層網(wǎng)絡(luò)的存儲(chǔ)單元的存儲(chǔ)信息中,登記在在該幀中的一個(gè)發(fā)送源地址和一個(gè)接收端口之間的對(duì)應(yīng)關(guān)系,同時(shí)把該對(duì)應(yīng)關(guān)系通知給其中每個(gè)都具有一個(gè)對(duì)應(yīng)于公用網(wǎng)絡(luò)中的該第2層網(wǎng)絡(luò)的一個(gè)端口的所有邊沿節(jié)點(diǎn),并且登記在發(fā)送源地址和用于接收端口的MPLS連接之間的對(duì)應(yīng)關(guān)系。
16.如權(quán)利要求11所述的中繼方法,其特征在于把一個(gè)物理接口或者一個(gè)邏輯接口稱作一個(gè)端口,在從一個(gè)MPLS連接收到一幀時(shí),把在該幀中的一個(gè)發(fā)送源地址和一個(gè)MPLS連接相關(guān)聯(lián)并且登記下來(lái),其中該MPLS連接具有一個(gè)發(fā)送目的地和一個(gè)發(fā)送源分別作為該連接的一個(gè)發(fā)送源端口和該連接的一個(gè)輸出目的地端口。
17.如權(quán)利要求11所述的中繼方法,其特征在于在從公用網(wǎng)絡(luò)中收到一幀時(shí),中繼系統(tǒng)獲得對(duì)應(yīng)于在該幀中的一個(gè)標(biāo)簽的一個(gè)輸出目的地,刪除該標(biāo)簽,并且發(fā)送該幀。
18.如權(quán)利要求11所述的中繼方法,其特征在于如果第一個(gè)第2層網(wǎng)絡(luò)和第二個(gè)第2層網(wǎng)絡(luò)都在由IEEE802.1Q(IEEE802.1Q虛擬LAN)規(guī)定的一個(gè)VLAN中進(jìn)行操作,而且如果一個(gè)物理接口或者一個(gè)邏輯接口被稱作一個(gè)端口,則在容納第一個(gè)VLAN的一個(gè)邏輯端口和容納第二個(gè)VLAN的一個(gè)邏輯端口之間建立該MPLS連接。
19.如權(quán)利要求11所述的中繼方法,其特征在于該公用網(wǎng)絡(luò)是一個(gè)MPLS網(wǎng)絡(luò)。
20.如權(quán)利要求11所述的中繼方法,其特征在于該幀是一MAC幀。
全文摘要
一種中繼系統(tǒng)。從一個(gè)本地專用網(wǎng)絡(luò)連接到的(在一個(gè)線路容納單元中的)一個(gè)端口輸入的一MAC幀被進(jìn)一步輸入到一個(gè)L2轉(zhuǎn)發(fā)單元7。通過(guò)查看一個(gè)VPN定義表3或一個(gè)L2路由表6判斷所接收的MAC幀應(yīng)該被傳送到何處,而且該MAC幀被輸出到一個(gè)本地端口或是在把一個(gè)標(biāo)簽附加到該MAC幀上之后該MAC幀被發(fā)送到一個(gè)MPLS網(wǎng)絡(luò)。如果沒(méi)有獲得一個(gè)發(fā)送目的地,則把所接收的MAC幀的MAC地址和一個(gè)輸入端口相關(guān)聯(lián),并且在一個(gè)路由登記單元中存儲(chǔ)該對(duì)應(yīng)關(guān)系用于以后的橋接。做為選擇,把該MAC幀廣播到不同于該接收端口的所有端口。
文檔編號(hào)H04L12/56GK1405986SQ02142710
公開(kāi)日2003年3月26日 申請(qǐng)日期2002年9月18日 優(yōu)先權(quán)日2001年9月18日
發(fā)明者久保田真, 鶴岡哲明 申請(qǐng)人:富士通株式會(huì)社