偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

基于VLAN的二三層轉(zhuǎn)發(fā)

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
VLAN是為解決以太網(wǎng)的廣播問題和安全性而提出的一種協(xié)議,它在以太網(wǎng)幀的基礎(chǔ)上增加了VLAN頭,用VLAN ID把用戶劃分為更小的工作組,限制不同工作組間的用戶二層互訪,每個工作組就是一個虛擬局域網(wǎng)。虛擬局域網(wǎng)的好處是可以限制廣播范圍,并能夠形成虛擬工作組,動態(tài)管理網(wǎng)絡(luò)。

MAC地址

MAC(Media Access Control,介質(zhì)訪問控制)地址是網(wǎng)絡(luò)設(shè)備的硬件標(biāo)識,具有唯一性。MAC地址也稱為物理地址或硬件地址,由網(wǎng)絡(luò)設(shè)備制造商生產(chǎn)時燒入NIC(網(wǎng)絡(luò)接口控制器)中。MAC地址長48比特,分成塊ID和設(shè)備ID兩部分,前24位是OUI(Organizationally unique identifier,機構(gòu)唯一標(biāo)識符),后24位由廠商自行分配。MAC地址采用點分十六進(jìn)制表示,如圖1所示。

 

 

 MAC地址格式

MAC地址通常分為:

單播MAC地址:單播MAC地址唯一標(biāo)識以太網(wǎng)上的一個終端,該地址固化在硬件(如網(wǎng)卡)內(nèi)部。

組播MAC地址:首字節(jié)最后一位為1(通常以0x01開頭)的MAC地址,標(biāo)志一組設(shè)備。

廣播MAC地址:48位全1的MAC地址,標(biāo)志本網(wǎng)段內(nèi)所有設(shè)備。

網(wǎng)絡(luò)中按照大字節(jié)序傳輸報文(即先傳輸高字節(jié)),而字節(jié)內(nèi)先傳輸?shù)臀槐忍?。因此,若發(fā)送的首位比特為0就是單播,否則為組播或廣播。

MAC地址按生存期也可分為:

動態(tài)MAC地址:交換機在網(wǎng)絡(luò)中通過數(shù)據(jù)幀學(xué)習(xí)到,有老化時間,MAC地址和端口的對應(yīng)關(guān)系會隨著設(shè)備所連的交換機的端口的變化而變化。交換機關(guān)電重啟后會消失,需重新學(xué)習(xí)。

靜態(tài)MAC地址:通過配置產(chǎn)生,不會被老化,MAC地址和端口的對應(yīng)關(guān)系始終不變,但交換機關(guān)電重啟后也會消失,需重新配置。

永久MAC地址:通過配置產(chǎn)生,不會被老化,MAC地址和端口的對應(yīng)關(guān)系始終不變,且交換機關(guān)電重啟后也不會消失。

沖突域和廣播域

沖突域(物理層):不同主機或設(shè)備同時發(fā)出的幀可能會互相沖突的網(wǎng)絡(luò)區(qū)域。一條導(dǎo)線上所有工作站的集合,或一個物理網(wǎng)段上所有節(jié)點的集合,或以太網(wǎng)上競爭同一帶寬的節(jié)點的集合都是一個沖突域。當(dāng)沖突發(fā)生時,傳送的幀可能遭到破壞或干擾,發(fā)生沖突的主機將根據(jù)802.3以太網(wǎng)的CSMA/CD規(guī)則在一段隨機的時間內(nèi)停止發(fā)送后續(xù)幀。其缺點是每臺主機得到的可用帶寬很低,當(dāng)沖突域內(nèi)主機設(shè)備數(shù)量增加時,網(wǎng)絡(luò)沖突將成倍增加,信息傳輸安全得不到保證。集線器連接的各設(shè)備就是一個典型沖突域,如圖2所示。

 

 

典型的HUB構(gòu)成的沖突域

廣播域(數(shù)據(jù)鏈路層):網(wǎng)絡(luò)中能接收任一設(shè)備發(fā)出的廣播幀的所有設(shè)備集合。所有需要接收其他廣播的節(jié)點被劃分為同一廣播域或邏輯網(wǎng)段。連接在HUB和傳統(tǒng)交換機端口上的所有節(jié)點構(gòu)成一個廣播域。當(dāng)交換機收到廣播幀時,它將該幀轉(zhuǎn)發(fā)到自己除接收該幀的端口外的每一個端口,每個連接設(shè)備都會接收并處理該幀。

隨著網(wǎng)絡(luò)規(guī)模的擴大,廣播域中廣播報文相遇的次數(shù)也隨之增加。所有這些廣播報文會嚴(yán)重影響網(wǎng)絡(luò)性能,若管理不當(dāng),甚至?xí)?dǎo)致整個網(wǎng)絡(luò)的崩潰。

集線器、交換機、路由器

* 集線器

以太網(wǎng)集線器(HUB)從任一端口收到以太網(wǎng)數(shù)據(jù)幀后,都會將該幀廣播到其它所有端口。集線器對應(yīng)物理層,不同端口所連接的設(shè)備同時傳數(shù)據(jù)時會引起沖突,故其沖突域和廣播域是所有端口,既不能隔離沖突域也不能隔離廣播域。非交換式HUB不能劃分物理網(wǎng)段,因為它沒有劃分沖突域。

* 網(wǎng)橋和交換機

網(wǎng)橋和交換機位于數(shù)據(jù)鏈路層,基于MAC地址進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。網(wǎng)橋和交換機的每個物理端口屬于一個沖突域,所有端口在一個廣播域。兩者均能隔離沖突域,但不能隔離廣播域,不能阻止廣播并對網(wǎng)絡(luò)進(jìn)行邏輯分段。

網(wǎng)橋與交換機有以下不同之處:

網(wǎng)橋只有少數(shù)幾個端口;交換機卻可有上百個端口。

網(wǎng)橋速度比交換機慢,交換機采用硬件ASIC芯片進(jìn)行線速轉(zhuǎn)發(fā)交換,比網(wǎng)橋速度快。

網(wǎng)橋采取存儲轉(zhuǎn)發(fā)的機制,等收到全部數(shù)據(jù)后再進(jìn)行轉(zhuǎn)發(fā);而交換機除存儲機制外還有直接轉(zhuǎn)發(fā)機制,只需幀頭到達(dá)處理后就可轉(zhuǎn)發(fā),不必等到所有數(shù)據(jù)都到達(dá),故交換機處理速度比網(wǎng)橋快些。

鑒于網(wǎng)橋的局限性,現(xiàn)代交換LAN中已很少使用網(wǎng)橋。

* 路由器

路由器位于網(wǎng)絡(luò)層,可以隔離沖突域和廣播域。每個子網(wǎng)(subnet)屬于一個廣播域,不同子網(wǎng)間不能發(fā)送廣播。因此,對廣播進(jìn)行控制就必須使用路由器(或具有路由功能的三層交換機)。使用路由器后,可以路由器上的網(wǎng)絡(luò)接口(LAN Interface)為單位分割廣播域。

一般使用路由器和交換機把LAN分段為大量更小的沖突域和廣播域。傳統(tǒng)交換機對LAN分段的方法如圖3所示。

 

 

傳統(tǒng)LAN的分割

雖然交換機可縮小沖突域的規(guī)模(每個端口就是一個沖突域),但連接到交換機的所有端口的主機仍然處于一個廣播域中。傳統(tǒng)交換機相連構(gòu)成的一個廣播域內(nèi)廣播幀的轉(zhuǎn)發(fā)過程如圖4所示。

 

 

傳統(tǒng)交換機上的廣播

圖中是一個由5臺二層交換機(SW1~5)連接了大量客戶主機構(gòu)成的網(wǎng)絡(luò)。假設(shè)主機PC1要與主機PC2通信。以太網(wǎng)通信中必須在數(shù)據(jù)幀中指定目標(biāo)MAC地址才能正常通信,故PC1必須先廣播ARP請求信息,來嘗試獲取PC2的MAC地址。交換機SW1收到ARP廣播幀后,將其轉(zhuǎn)發(fā)到除入幀端口外的其他所有端口,于是SW2和SW3收到廣播幀,它們也將幀轉(zhuǎn)發(fā)到各自的所有端口……最終同一網(wǎng)絡(luò)中與交換機相連的所有主機(PC2-PC8)都接收到該ARP請求??梢?,本應(yīng)發(fā)往PC2的ARP請求擴散至整個網(wǎng)絡(luò),不僅消耗了網(wǎng)絡(luò)整體帶寬,而且收到廣播幀的主機還要消耗一部分CPU時間對其進(jìn)行處理。在網(wǎng)絡(luò)規(guī)模較大時,大量廣播幀將嚴(yán)重影響網(wǎng)絡(luò)性能,造成廣播風(fēng)暴問題。此外,由于整個網(wǎng)絡(luò)在一個廣播域,所有用戶都能不受控制地直接訪問和影響網(wǎng)絡(luò)所有部分,進(jìn)而威脅到網(wǎng)絡(luò)安全性。

默認(rèn)情況下,路由器不轉(zhuǎn)發(fā)廣播流量,因此可用于分割廣播域。用路由器創(chuàng)建廣播域?qū)p少廣播流量,并為單播通訊提供更多的帶寬,每個路由器端口都連接到單獨的網(wǎng)絡(luò),廣播流量僅限于發(fā)出該廣播的LAN網(wǎng)段內(nèi)。但通常路由器網(wǎng)絡(luò)接口較少(1~4個左右),所能分割的廣播域個數(shù)有限,且路由器相對交換機成本也較高。而二層交換機一般帶有多個網(wǎng)絡(luò)接口,若能用其分割廣播域,則會大大提高網(wǎng)絡(luò)設(shè)計的自由度。

VLAN

VLAN(Vitual Local Area Network,虛擬局域網(wǎng))是將物理網(wǎng)絡(luò)劃分成多個邏輯局域網(wǎng)的技術(shù)。一個VLAN就是一個廣播域,亦即一個邏輯子網(wǎng),在其內(nèi)的站點可位于不同物理LAN上,但站點間像在同一個普通局域網(wǎng)上那樣自由通信而不受物理位置的限制。利用VLAN技術(shù),網(wǎng)絡(luò)管理者可根據(jù)實際應(yīng)用需要,在二層交換機上把同一物理局域網(wǎng)中的用戶邏輯劃分成不同廣播域,使具有相同需求或業(yè)務(wù)的用戶處于同一廣播域,不同需求或業(yè)務(wù)的用戶處于不同的廣播域。

在未設(shè)置任何Vlan的二層交換機上,任何廣播幀都會被轉(zhuǎn)發(fā)給除接收端口外的所有其他端口。配置Vlan后,當(dāng)交換機屬于某Vlan的一個端口收到廣播幀后,為保證同屬一個Vlan的所有主機都收到該廣播幀,交換機必須按照如下原則轉(zhuǎn)發(fā):

1) 發(fā)送給本交換機中同一個Vlan中的其它端口;

2) 發(fā)送給本交換機的包含該Vlan的所有匯聚鏈路,以便其它交換機上同一Vlan的端口也發(fā)送該幀。

圖5給出交換機上創(chuàng)建兩個Vlan后,主機發(fā)出的廣播幀被轉(zhuǎn)發(fā)的示例。為便于說明,以紅、藍(lán)兩色識別不同Vlan(實際使用中以Vlan ID來區(qū)分)。其中端口1、2屬于紅色Vlan,端口3、4屬于藍(lán)色Vlan。

 

 

Vlan分割廣播域

可見,從PC1發(fā)出的廣播幀僅被轉(zhuǎn)發(fā)給同一Vlan內(nèi)的其他端口,即同屬于紅色Vlan的端口2,而不會再轉(zhuǎn)發(fā)給屬于藍(lán)色Vlan的端口。就這樣,Vlan通過限制廣播幀轉(zhuǎn)發(fā)的范圍分割廣播域,進(jìn)而改善網(wǎng)絡(luò)效率和安全性。

Vlan可理解為在邏輯上將一臺交換機分割成數(shù)臺虛擬交換機,且這些虛擬交換機互不相通。Vlan是廣播域,而通常兩個廣播域間由路由器連接,廣播域間來往的數(shù)據(jù)幀由路由器中繼。因此,Vlan間的通信也需要路由器(或三層交換機)提供中繼服務(wù),即“Vlan間路由”。在Vlan之間配置路由器,使Vlan內(nèi)部流量仍通過原來Vlan的內(nèi)部二層網(wǎng)絡(luò)進(jìn)行,從一個Vlan到另一Vlan的通信流量通過路由進(jìn)行三層轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)到目的網(wǎng)絡(luò)后再通過二層交換網(wǎng)絡(luò)把數(shù)據(jù)幀最終發(fā)送給目的主機。路由器不轉(zhuǎn)發(fā)以太網(wǎng)廣播幀,故Vlan間配置的路由器不會改變劃分Vlan所達(dá)到的隔離廣播的目的。

VLAN幀格式

* 以太網(wǎng)V2 MAC幀格式

以太網(wǎng)MAC幀格式有兩種標(biāo)準(zhǔn),即DIX(DEC,Intel,Xerox) Ethernet V2標(biāo)準(zhǔn)(RFC894)和IEEE 802.3標(biāo)準(zhǔn)。圖6所示的是常用的以太網(wǎng)V2的MAC幀格式(事實標(biāo)準(zhǔn)):


以太網(wǎng)V2的MAC幀格式

以太網(wǎng)幀在鏈路層傳輸,故源和目的MAC地址又稱鏈路層地址(link layer address),也稱L2地址、二層地址或硬件地址。

類型(Type)字段表明上層使用什么協(xié)議。常用協(xié)議類型值如表1所示:

表1 常用協(xié)議類型值

表1 常用協(xié)議類型值#p#

數(shù)據(jù)(Data)字段為幀承載的數(shù)據(jù)內(nèi)容,由一個上層協(xié)議的協(xié)議數(shù)據(jù)單元PDU構(gòu)成。數(shù)據(jù)長度在46~1500之間,若上層協(xié)議數(shù)據(jù)單元長度少于46 字節(jié),則必須填充該字段的其余部分,以保證MAC幀長度不小于64字節(jié)。

可見,一個以太網(wǎng)幀長范圍為64~1518字節(jié)。

注意:發(fā)包工具如Testcenter設(shè)置發(fā)包長度時會將CRC考慮在內(nèi),即幀長包含CRC的4字節(jié);而抓包工具如Wireshark顯示的幀長不包括CRC字段。

* 帶VLAN的以太網(wǎng)幀格式

IEEE 802.1Q(俗稱Dot One Q)標(biāo)準(zhǔn)在以太網(wǎng)數(shù)據(jù)幀中“發(fā)送源MAC地址”與“類別域(Type Field)”之間附加4字節(jié)的Vlan識別信息(標(biāo)簽),如圖7所示:

 

 

插入Vlan后的以太網(wǎng)幀格式

TPID(Tag Protocol Identifier,標(biāo)簽協(xié)議標(biāo)識)值規(guī)定為0x8100。設(shè)備缺省采用協(xié)議規(guī)定的TPID值,交換機通過TPID來確定數(shù)據(jù)幀是否附加基于IEEE802.1Q的VLAN信息。

TCI(Tag Control Information,標(biāo)簽控制信息)字段分為Pri、CFI和VLAN三部分。Pri表示報文優(yōu)先級(也稱1p優(yōu)先級、COS或1q優(yōu)先級),CFI(Canonical Format Indicator)標(biāo)識MAC地址在不同傳輸介質(zhì)中是否以標(biāo)準(zhǔn)格式進(jìn)行封裝,通常為0(標(biāo)準(zhǔn)格式)。Vlan ID標(biāo)識該報文所屬的VLAN編號,取值范圍為 0~4095,一般0和4095保留(中興設(shè)備Vid=0表示priority-tagged幀)。

在交換網(wǎng)絡(luò)環(huán)境中,以太網(wǎng)幀有兩種格式:有些幀未附加四字節(jié)標(biāo)簽,稱為未標(biāo)記幀(ungtagged frame),有些幀附加四字節(jié)標(biāo)簽,稱為帶標(biāo)記幀(tagged frame)。

在基于端口劃分的Vlan中,每個802.1Q端口都會分配一個默認(rèn)的Vlan ID,稱為PVID(Port Vlan ID)或端口默認(rèn)Vlan ID(default Vid),CISCO稱之為native Vlan。端口接收到的所有untagged幀都認(rèn)為屬于端口默認(rèn)Vlan ID,并在端口默認(rèn)Vlan ID內(nèi)轉(zhuǎn)發(fā)。

注意,插入或剝除Vlan標(biāo)簽時均會對數(shù)據(jù)幀重新計算CRC。

VLAN鏈路與端口

* VLAN鏈路類型

Vlan內(nèi)的鏈路可分為:

接入鏈路(Access Link,或稱訪問鏈路):將沒有也無法識別Vlan標(biāo)簽的設(shè)備(如用戶主機)連接到配置Vlan的交換機端口。它只能傳送不帶標(biāo)簽(untagged)的以太網(wǎng)幀,且只與一個Vlan關(guān)聯(lián)。

匯聚鏈路(Trunk Link,或稱干道鏈路、中繼鏈路) :連接兩個能夠識別Vlan標(biāo)簽的設(shè)備(如交換機),可傳輸發(fā)往多個Vlan的帶標(biāo)簽(tagged)幀,可與多個Vlan相關(guān)聯(lián)。

混合鏈路(Hybrid Link):既可傳送不帶標(biāo)簽的幀,也可傳送帶標(biāo)簽的幀。但對于一個特定Vlan,傳送的所有幀必須類型相同,即對于一個Vlan,傳送的幀要么不帶標(biāo)簽,要么攜帶相同標(biāo)簽。

顯示三種鏈路的區(qū)別:

 

 

Vlan鏈路類型

規(guī)劃企業(yè)級網(wǎng)絡(luò)時,很有可能會遇到隸屬同一部門的用戶分散在同一座建筑中不同樓層的情況,此時可能需要考慮如何跨越多臺交換機設(shè)置Vlan。如在下圖所示網(wǎng)絡(luò)中,通過匯聚鏈路將不同樓層的四臺主機設(shè)置為同一Vlan。

 

 

匯聚鏈路

如圖所示,PC1發(fā)送的數(shù)據(jù)幀從SW1經(jīng)過匯聚鏈路到達(dá)SW2時,幀內(nèi)附加了表示屬于紅色Vlan的標(biāo)簽。SW2收到數(shù)據(jù)幀后,檢查Vlan標(biāo)簽發(fā)現(xiàn)該幀屬于紅色Vlan,故剝除標(biāo)簽后根據(jù)需要(單播、廣播或組播)將復(fù)原的數(shù)據(jù)幀轉(zhuǎn)發(fā)給其他屬于紅色Vlan的端口。

若不使用匯聚鏈路,則需在兩臺交換機上各設(shè)一個紅、藍(lán)Vlan專用接口并用網(wǎng)線互聯(lián)(接入鏈路)。但建筑樓層間的縱向布線比較麻煩,一般不能由基層管理人員隨意進(jìn)行。而且,VLAN越多,樓層間(嚴(yán)格地說是交換機間)互聯(lián)所需的端口越多,端口利用率低,也限制網(wǎng)絡(luò)的擴展。

匯聚鏈路承載多個Vlan的數(shù)據(jù),負(fù)載較重,故匯聚鏈路必須支持100Mbps以上的傳輸速度。

默認(rèn)情況下,匯聚鏈路會轉(zhuǎn)發(fā)交換機上所有Vlan的數(shù)據(jù),亦即匯聚鏈路同時屬于交換機上所有的Vlan。實際應(yīng)用中可能并不需要轉(zhuǎn)發(fā)所有Vlan數(shù)據(jù),因此為減輕交換機負(fù)載并減少帶寬浪費,用戶可設(shè)定限制能經(jīng)由匯聚鏈路互聯(lián)的Vlan。

VLAN端口類型

根據(jù)對Vlan幀的識別情況,交換機端口的類型(模式)分為Access端口、Trunk端口及Hybrid端口。

Access端口:交換機上連接用戶主機的端口,只能連接接入鏈路。Access端口只屬于一個Vlan,且僅向該Vlan轉(zhuǎn)發(fā)數(shù)據(jù)幀。該Vlan的Vid = 端口PVid,故Vlan內(nèi)所有端口都處于untagged狀態(tài)。Access端口在從主機接收幀時,給幀加上Tag標(biāo)簽;在向主機發(fā)送幀時,將幀中的Tag標(biāo)簽剝掉。

Trunk端口:交換機上與其他交換機或路由器連接的端口,只能連接匯聚鏈路。Trunk端口允許多個Vlan的帶標(biāo)簽幀通過,在收發(fā)幀時保留Tag標(biāo)簽。在它所屬的這些Vlan中,對于Vid = 端口PVid的Vlan,它處于Untagged port狀態(tài);對于Vid ≠ 端口PVid的Vlan,它處于Tagged port狀態(tài)。

Hybrid端口:交換機上既可連接用戶主機又可連接其他交換機的端口,它既可連接接入鏈路又可連接匯聚鏈路。Hybrid 端口允許多個Vlan的幀通過,并可在出端口方向?qū)⒛承¬lan幀的Tag標(biāo)簽剝掉。

注意,Access、Trunk和Hybrid端口是廠家對某種端口的稱謂,并非IEEE802.1Q協(xié)議標(biāo)準(zhǔn)定義。

Access端口只屬于一個Vlan,PVid就是其所在Vlan,故不用設(shè)置;Trunk和Hybrid端口屬于多個Vlan,故需要設(shè)置PVid(缺省為1)。若設(shè)置端口PVid,則當(dāng)端口收到不帶Vlan Tag的數(shù)據(jù)幀時,對該幀加上Tag標(biāo)記(Vid設(shè)置為端口所屬的默認(rèn)Vlan編號)并轉(zhuǎn)發(fā)到屬于PVid的端口;當(dāng)端口發(fā)送Vlan Tag的數(shù)據(jù)幀時,若收幀的Vlan Tag和端口PVid相同,剝除Vlan Tag后再發(fā)送該幀。

Hybrid端口與Trunk端口在接收數(shù)據(jù)時處理方法相同,區(qū)別在于發(fā)送數(shù)據(jù)時:Hybrid端口允許多個Vlan的數(shù)據(jù)幀發(fā)送時不帶標(biāo)簽,而Trunk端口只允許默認(rèn)Vlan的數(shù)據(jù)幀發(fā)送時不帶標(biāo)簽。在同一交換機上Hybrid端口和Trunk端口不能并存,實際使用中可用Hybrid代替Trunk。

本Hybrid端口的PVid和相連的對端交換機Hybrid端口的PVid必須一致。

由于端口類型不同,交換機對幀的處理過程也不同。下表根據(jù)不同的端口類型分別介紹。

表2 不同端口類型的Vlan幀處理方式

表2 不同端口類型的Vlan幀處理方式

VLAN端口狀態(tài)

交換機端口可配置為屬于某個或某幾個Vlan。端口狀態(tài)指其在某個Vlan中的狀態(tài),該狀態(tài)決定端口接收到tagged或untagged幀時對該幀的處理方式。針對每個Vlan,端口有兩種狀態(tài),即Tagged port和Untagged port。同一端口可根據(jù)不同Vlan ID設(shè)置Tagged或Untagged。

當(dāng)為該端口配置其所屬的Vlan時,若該Vlan的Vid = 端口PVid時,則端口在此Vlan中處于Untagged port狀態(tài);若Vid ≠ 端口PVid,則端口在此Vlan中處于Tagged port狀態(tài)。

PVid只與報文的入口方向有關(guān),對于進(jìn)入交換機的無標(biāo)簽幀會打上進(jìn)入端口的PVid標(biāo)簽;交換機內(nèi)每個數(shù)據(jù)幀都帶標(biāo)簽。Tagged/Untagged只與幀的出口方向有關(guān),對于出端口為Untagged port的,轉(zhuǎn)發(fā)幀時要剝除幀中的標(biāo)簽,否則保留標(biāo)簽。

VLAN劃分方式

接入鏈路可事先設(shè)定,稱為“靜態(tài)Vlan”;也可根據(jù)所連主機而動態(tài)設(shè)定,稱為“動態(tài)Vlan”。

* 靜態(tài)VLAN

靜態(tài)Vlan又稱基于端口的Vlan (Port Based Vlan),即明確指定各端口屬于哪個Vlan,如下圖所示。

 

 

基于端口劃分Vlan

根據(jù)端口劃分Vlan因其簡單而最為常用。但由于需要逐個端口地指定Vlan,因此當(dāng)網(wǎng)絡(luò)中主機數(shù)目較多時,操作就變得非常煩雜。并且,主機每次變更所連端口時,必須同時更改該端口所屬Vlan的設(shè)定——這顯然不適合那些需要頻繁改變拓?fù)浣Y(jié)構(gòu)的網(wǎng)絡(luò)。

* 動態(tài)VLAN

動態(tài)Vlan主要有:

基于MAC地址的Vlan (MAC Based Vlan)

基于子網(wǎng)的Vlan (Subnet Based Vlan)

基于用戶的Vlan(User Based Vlan)

……

其差異主要在于根據(jù)OSI參照模型哪一層的信息決定端口所屬的Vlan。決定端口所屬Vlan時利用的信息在OSI中的層面越高,就越適于構(gòu)建靈活多變的網(wǎng)絡(luò)。

網(wǎng)絡(luò)設(shè)備廠商可能使用私有協(xié)議實現(xiàn)基于子網(wǎng)和基于用戶的Vlan,因此不同廠商的設(shè)備間互聯(lián)時可能出現(xiàn)兼容性問題。

* 基于MAC地址的VLAN

基于MAC地址的Vlan,就是通過查詢并記錄端口所連主機網(wǎng)卡的MAC地址來決定端口所屬Vlan。假定MAC-A地址被交換機設(shè)定為屬于Vlan10,則不論MAC-A地址的主機連在交換機哪個端口,該端口都會被劃分到Vlan10內(nèi),如下圖所示。

 

 

基于MAC地址劃分Vlan

基于MAC地址劃分Vlan,在初始設(shè)定時必須調(diào)查所連接的所有主機MAC地址并加以記錄,工作量很大。而且這種劃分方法會降低交換機執(zhí)行效率,因為交換機每個端口都可能存在很多個Vlan組的成員,這樣就無法限制廣播包。此外,若主機(如筆記本電腦)經(jīng)常更換網(wǎng)卡,則不得不經(jīng)常更改Vlan設(shè)定。

* 基于子網(wǎng)的VLAN

基于子網(wǎng)的Vlan,就是通過所連主機的IP地址來決定端口所屬Vlan。同一子網(wǎng)的所有數(shù)據(jù)幀屬于同一Vlan,從而將同一子網(wǎng)內(nèi)的用戶劃分在一個Vlan內(nèi)(與路由器相似)。即使主機MAC地址改變,只要其IP地址不變,就仍可加入原先設(shè)定的Vlan,如下圖所示。

 

 

基于子網(wǎng)劃分Vlan

基于IP子網(wǎng)劃分Vlan可按傳輸協(xié)議劃分網(wǎng)段,有利于針對具體應(yīng)用的服務(wù)來組織用戶。再者,用戶可在網(wǎng)絡(luò)內(nèi)部自由移動而不用重新配置主機,尤其是使用TCP/IP的用戶。

這種方法的缺點是效率,因為檢查每個數(shù)據(jù)包的網(wǎng)絡(luò)層地址比較費時。同時由于一個端口也可能存在多個Vlan的成員,對廣播報文也無法有效抑制。#p#

* 基于用戶的VLAN

基于用戶的Vlan,則是根據(jù)交換機各端口所連的主機上當(dāng)前登錄的用戶,來決定該端口屬于哪個Vlan。用戶識別信息一般是主機操作系統(tǒng)登錄的用戶,如Windows域中使用的用戶名。

* 基于協(xié)議的VLAN

基于協(xié)議的Vlan將物理網(wǎng)絡(luò)劃分為基于協(xié)議的邏輯Vlan。在端口接收幀時,它的Vlan由幀中的協(xié)議類型決定。例如,IP、IPX和Appletalk可能有各自獨立的Vlan,IP 廣播幀只被送到IP Vlan中的所有端口。

* 基于組播地址的VLAN

基于組播地址的Vlan由組播分組動態(tài)創(chuàng)建的。如每個組播分組對應(yīng)一個不同Vlan,保證組播數(shù)據(jù)幀只被那些連接到相應(yīng)組播分組成員的端口接收到。這種劃分方式效率不高,不適合局域網(wǎng)。但因其將Vlan擴大至廣域網(wǎng),故靈活性更高,且易于通過路由器進(jìn)行擴展。

* 基于策略的VLAN

基于策略的Vlan是Vlan的最基本的定義。每個輸入(無標(biāo)簽)幀都在策略數(shù)據(jù)庫查看,該數(shù)據(jù)庫決定該幀所屬的Vlan。如建立公司管理人員之間往來電子郵件的特別Vlan策略,以便不在其他地方被看見。

這種劃分方式最為靈活,具有自動配置能力,能夠把相關(guān)用戶連成一體,在邏輯劃分上稱為“關(guān)系網(wǎng)絡(luò)”。網(wǎng)絡(luò)管理員只需在網(wǎng)管軟件中確定劃分Vlan的規(guī)則(或?qū)傩?,則站點加入網(wǎng)絡(luò)時將會被“感知”,并被自動包含進(jìn)正確的Vlan中。同時,也可自動識別和跟蹤站點的移動和改變。

基于VLAN的轉(zhuǎn)發(fā)與路由

Vlan內(nèi)通信的主機同屬一個廣播域,主機之間的流量通過二層網(wǎng)絡(luò)直接轉(zhuǎn)發(fā);Vlan間通信的主機位于不同廣播域,主機無法直接通過ARP廣播請求到對方的地址,此時必須借助三層路由器來完成通信。

路由器可視為各個Vlan的網(wǎng)關(guān),因此通過路由器來互相通信的主機必須知道路由器的存在及其在本Vlan上的接口地址(默認(rèn)網(wǎng)關(guān))。在主機上配置默認(rèn)網(wǎng)關(guān)后,對于跨Vlan的通信,主機會自動尋找默認(rèn)網(wǎng)關(guān),并把報文交給默認(rèn)網(wǎng)關(guān)轉(zhuǎn)發(fā)而不是直接發(fā)給目的主機。

可見,當(dāng)報文的目的MAC地址是網(wǎng)關(guān)地址(路由器或三層交換機MAC地址)時,該報文為三層報文。

*  二層轉(zhuǎn)發(fā)

基于Vlan的二層轉(zhuǎn)發(fā)流程主要包括:確定和查找Vlan、查找和學(xué)習(xí)源MAC、查找目的MAC并轉(zhuǎn)發(fā)數(shù)據(jù)幀。

1) 確定和查找Vlan:交換機端口接收到一個數(shù)據(jù)幀時,首先通過TPID值判斷該幀是否帶標(biāo)簽[1]。

若是tagged幀,且Vid≠0,則在端口所屬的Vlan表中查找該幀標(biāo)簽中的Vid是否存在,若存在,則進(jìn)入下一步,否則丟棄該幀(或提交CPU處理);

若是tagged幀,且Vid=0(即priority幀[2]),則對該幀附加端口PVid使之成為tagged幀;

若是untagged幀,則對該幀附加端口PVid并指定優(yōu)先級使之成為tagged幀。

注:①為提高處理效率,交換機內(nèi)部所有數(shù)據(jù)幀均攜帶Vlan標(biāo)簽,以統(tǒng)一方式處理。故需對輸入交換機的數(shù)據(jù)幀進(jìn)行標(biāo)簽檢查并按需加上標(biāo)簽。

②802.1Q Vlan環(huán)境下,幀可分為tagged、untagged和priority-tagged三種。Tagged幀根據(jù)其攜帶的標(biāo)簽Vid進(jìn)行MAC學(xué)習(xí)轉(zhuǎn)發(fā)。Untagged和Priority-tagged幀進(jìn)入交換機端口后根據(jù)PVid進(jìn)行MAC學(xué)習(xí)轉(zhuǎn)發(fā)。

2) 查找和學(xué)習(xí)源MAC:交換機在MAC轉(zhuǎn)發(fā)表(Mac+Vid+Port)中查找收幀Vid對應(yīng)的源MAC表項,未找到則學(xué)習(xí)收幀源MAC (將“源MAC+Vid+Port”添加到MAC表中);若找到則更新該表項的老化時間。

注:MAC地址學(xué)習(xí)只學(xué)習(xí)單播地址,對于廣播和組播地址不進(jìn)行學(xué)習(xí)。組播MAC表項通過CPU配置建立。

3) 查找目的MAC:若目的MAC是廣播或組播,則在所屬的Vlan中廣播或組播;否則在MAC表中查找是否存在Vid對應(yīng)的目的MAC表項。

4) 轉(zhuǎn)發(fā)數(shù)據(jù)幀:若在MAC表中查找到完全匹配的DMAC+Vid表項,則將該幀轉(zhuǎn)發(fā)到表項中的相應(yīng)端口(若相應(yīng)端口為收幀端口,則應(yīng)丟棄該幀);否則向所屬Vlan內(nèi)除收包端口外的其他所有端口洪泛該幀(洪泛廣播的是未知單播幀而不是廣播幀)。

圖所示為二層轉(zhuǎn)發(fā)的一般流程。

 

 

二層轉(zhuǎn)發(fā)流程

【例】數(shù)據(jù)幀從PC1經(jīng)過一臺交換機轉(zhuǎn)發(fā)到與另一臺交換機相連的PC2并得到響應(yīng),如下圖所示。

 

 

PC1向PC2發(fā)送信息

假設(shè)兩臺交換機剛剛開機(此時MAC地址表為空),其具體的轉(zhuǎn)發(fā)過程如下:

①PC1發(fā)出的數(shù)據(jù)幀進(jìn)入交換機SW1的Access端口后,按照端口PVid加上Vid=100的標(biāo)簽。交換機將該幀源MAC地址存入MAC地址表(學(xué)習(xí)),并將該幀洪泛到Vid=100的所有端口(除入端口外);

②SW1的Trunk端口屬于Vid=100的Vlan,故接受這個標(biāo)記為100的Tagged數(shù)據(jù)幀;而該端口在Vid=100上為Tagged port,因此在發(fā)送數(shù)據(jù)幀出交換機SW1時,不改變Tagged幀的結(jié)構(gòu);

③Tagged幀到達(dá)交換機SW2的Trunk端口,由于Trunk端口擁有VID=100的Vlan,故接受該幀;該Trunk端口不改變Tagged幀的結(jié)構(gòu),而是學(xué)習(xí)源MAC地址后把該數(shù)據(jù)幀洪泛給所有Vid=100的端口(除入端口外);

④SW2的Access端口接收到該幀,剝除該幀的Tag標(biāo)簽后發(fā)送給PC2。

⑤PC2收到PC1發(fā)送的數(shù)據(jù)幀,并發(fā)送響應(yīng)幀給PC1。

⑥經(jīng)過與前述過程類似的轉(zhuǎn)發(fā),響應(yīng)幀到達(dá)交換機SW1。交換機發(fā)現(xiàn)該幀的目的MAC地址已在MAC地址表中,則僅轉(zhuǎn)發(fā)給PC1。

可見,收發(fā)雙方同屬一個Vlan的通信,一切處理均在二層網(wǎng)絡(luò)內(nèi)完成。

三層路由

* 路由器路由

使用路由器進(jìn)行Vlan間路由時,大致有以下兩種:

1) 用多個路由器端口分別與每個Vlan相連接。

2) 單個路由器接口與交換機的Trunk端口相連(稱為dot1Q連接),使多個Vlan共享同一條物理連接到路由器。

方式1將交換機上用于和路由器互聯(lián)的每個端口設(shè)為接入鏈路,再分別用網(wǎng)線與路由器上的獨立端口互聯(lián)。如下圖所示,交換機上有兩個Vlan,需在交換機上預(yù)留兩個端口用于與路由器互聯(lián);路由器上同樣需要有兩個端口;兩者之間用兩條網(wǎng)線分別連接。

 

 

每個Vlan一個物理連接

如圖,每個Vlan都要獨占一個交換機端口和一個路由器端口,并需重新布設(shè)一條網(wǎng)線。而路由器上通常LAN接口有限,這無疑帶來擴展性問題。

方式2將用于連接路由器的交換機端口設(shè)為匯聚端口,而路由器上的端口也必須支持匯聚鏈路。雙方用于匯聚鏈路的協(xié)議也必須相同。接著在路由器上定義對應(yīng)各Vlan的“子接口(Sub Interface)”。盡管實際與交換機連接的物理端口只有一個,但在理論上可將其分割為多個虛擬端口。如下圖所示。

 

 

Vlan Trunking

使用這種Vlan Trunking技術(shù),可使多個Vlan的業(yè)務(wù)流共享相同的物理連接,通過在匯聚鏈路上傳遞帶標(biāo)簽的幀來區(qū)分各Vlan的流量。通常情況下,Vlan間路由的流量不足以達(dá)到鏈路的線速度,使用Vlan Trunking的配置,可提高鏈路的帶寬利用率,節(jié)省端口資源以及簡化管理(網(wǎng)絡(luò)新增Vlan時只需在路由器上新設(shè)一個對應(yīng)新Vlan的子接口,無需重新布線)

【例】不同Vlan間通信時數(shù)據(jù)的流程,如下圖所示。

 

 

不同Vlan間通信流程

主機PC1通過通信目標(biāo)IP地址(192.168.2.1) 與子網(wǎng)掩碼計算比較發(fā)現(xiàn)PC2與本機不屬于同一網(wǎng)段,不能直接訪問。根據(jù)IP通信規(guī)則,PC1查找本機路由表尋找相應(yīng)的網(wǎng)關(guān)。在實際網(wǎng)絡(luò)中,主機通常只配置默認(rèn)網(wǎng)關(guān)(Default Gateway,GW),故PC1找到默認(rèn)網(wǎng)關(guān)。然后,PC1在本機ARP高速緩存中查找默認(rèn)網(wǎng)關(guān)(即路由器)的MAC地址,若沒有則向外廣播發(fā)送一個ARP請求幀,其目的MAC地址為全1,源MAC地址為本機MAC地址,請求的IP地址為網(wǎng)關(guān)192.168.1.100。從路由器返回的ARP單播應(yīng)答幀中得到路由器MAC地址R后,接下來就按圖中所示的步驟向PC2發(fā)送數(shù)據(jù)幀①,其目的MAC地址是路由器地址R、但目的IP地址仍是最終要通信的對象PC2的地址。

交換機在端口1上收到數(shù)據(jù)幀①后,檢索MAC地址表中與端口1同屬一個Vlan的表項。匯聚鏈路被視為屬于所有的Vlan,因此端口6也屬于檢索對象。檢索后交換機得知往MAC地址R發(fā)送數(shù)據(jù)幀時,需經(jīng)過端口6轉(zhuǎn)發(fā)。

從匯聚端口6發(fā)送數(shù)據(jù)幀時,會附加Vlan識別信息。圖中數(shù)據(jù)幀②被加上原屬的紅色Vlan標(biāo)簽后,進(jìn)入?yún)R聚鏈路。路由器收到數(shù)據(jù)幀②后,確認(rèn)其Vlan標(biāo)簽,交由負(fù)責(zé)紅色Vlan的子接口接收。

接著,根據(jù)路由器內(nèi)部的路由表,判斷該向哪里轉(zhuǎn)發(fā)。由于目標(biāo)網(wǎng)絡(luò)192.168.2.0/24屬于藍(lán)色Vlan,且該網(wǎng)絡(luò)通過子接口與路由器直連,因此只需從負(fù)責(zé)藍(lán)色Vlan的子接口轉(zhuǎn)發(fā)即可。此時數(shù)據(jù)幀的目的MAC地址被改成PC2的MAC地址;由于需要經(jīng)過匯聚鏈路轉(zhuǎn)發(fā),故附加屬于藍(lán)色Vlan的識別信息(數(shù)據(jù)幀③)。

交換機收到數(shù)據(jù)幀③后,根據(jù)Vlan標(biāo)簽從MAC地址表中檢索屬于藍(lán)色Vlan的表項。由于通信目標(biāo)PC2連接在端口3上且該端口為接入端口,因此交換機剝除數(shù)據(jù)幀的Vlan標(biāo)簽后(數(shù)據(jù)幀④)轉(zhuǎn)發(fā)給端口3,最終PC2成功收到PC1發(fā)來的數(shù)據(jù)幀。

可見,Vlan間通信時,即使雙方都連接在同一臺交換機上,也必須經(jīng)過“發(fā)送方→交換機→路由器→交換機→接收方”這樣一個流程。在進(jìn)行三層路由轉(zhuǎn)發(fā)時,數(shù)據(jù)包IP地址保持不變,MAC地址則在每個節(jié)點都會改變。

* 三層交換機路由

使用VLAN Trunking后,用傳統(tǒng)路由器進(jìn)行Vlan間路由在性能上存在一定的不足:由于路由器采用通用CPU,轉(zhuǎn)發(fā)完全依靠軟件處理,同時支持各種通信接口,給軟件帶來較大負(fù)擔(dān)。軟件要處理包括報文接收、校驗、查找路由、選項處理、報文分片等,導(dǎo)致性能不可能很高。就Vlan間路由而言,流量會集中到路由器和交換機互聯(lián)的匯聚鏈路部分,該部分容易成為速度瓶頸。

由于Vlan間通信比較簡單,只需查下路由表,所以可將交換機集成查路由表的專用芯片(ASIC),實現(xiàn)二層交換和三層路由的功能集成,即三層交換機(Layer 3 Switch)。

三層交換機的設(shè)計基于對IP路由的仔細(xì)分析,提取出IP路由中每個報文都必經(jīng)的簡化過程:

IP路由中絕大多數(shù)報文不包含IP選項,因此多數(shù)情況下無需處理報文IP選項;

不同的網(wǎng)絡(luò)報文長度不同,為支持各種異構(gòu)網(wǎng)絡(luò)的互連,IP實現(xiàn)了報文分片功能,但在全以太網(wǎng)環(huán)境中,數(shù)據(jù)幀(報文)長度固定,因此可裁減報文分片功能;

三層交換機采用與路由器最長地址掩碼匹配不同的方法,使用精確地址匹配的方式處理,有利于硬件實現(xiàn)快速查找;

三層交換機采用Cache方法,將最近經(jīng)常使用的主機路由放入硬件查找表。只有在該Cache中無法匹配到的條項才通過軟件轉(zhuǎn)發(fā)。這樣,只有每個流的第一個報文通過軟件轉(zhuǎn)發(fā),其后的大量數(shù)據(jù)流則在硬件中得以完成,極大提升轉(zhuǎn)發(fā)性能。

三層交換機的內(nèi)部結(jié)構(gòu)可參照下面的簡圖。

 

 

三層交換機內(nèi)部結(jié)構(gòu)簡圖

如圖,內(nèi)置的路由模塊與交換模塊相同,使用ASIC硬件處理路由。因此,與傳統(tǒng)的路由器相比,可實現(xiàn)高速路由。并且,路由與交換模塊由內(nèi)部匯聚鏈路連接,可確保相當(dāng)大的帶寬。

對應(yīng)到IP網(wǎng)絡(luò)模型中,每個Vlan對應(yīng)一個IP網(wǎng)段,三層交換機中的三層轉(zhuǎn)發(fā)引擎在各網(wǎng)段(Vlan)間轉(zhuǎn)發(fā)報文,實現(xiàn)Vlan之間的互通,因此三層交換機的路由功能通常叫做Vlan間路由(Inter-VLAN Routing)。

使用路由器連接時,一般需要在LAN接口上設(shè)置對應(yīng)各Vlan的子接口;三層交換機則是在內(nèi)部生成“VLAN接口(VLAN Interface)”,用于各Vlan收發(fā)數(shù)據(jù)。在Cisco的Catalyst系列交換機上,VLAN接口被稱為SVI(Switched Virtual Interface,交換虛擬接口)。三層交換機每創(chuàng)建一個Vlan就會自動生成一個SVI。在SVI接口設(shè)置默認(rèn)網(wǎng)關(guān)后,并將主機網(wǎng)關(guān)配置成與交換機SVI相同,即可實現(xiàn)不同Vlan間的路由。

使用三層交換機進(jìn)行Vlan間路由與使用匯聚鏈路連接路由器與交換機相似,即需經(jīng)過“發(fā)送方→交換模塊→路由模塊→交換模塊→接收方”的流程。

【例】假設(shè)網(wǎng)絡(luò)按圖19連接好后,所有設(shè)備均為初始狀態(tài),也未向外發(fā)送過任何報文。若PC1已知PC2的IP地址,則可通過ping命令發(fā)送ICMP報文來獲知PC1能否到達(dá)PC2。以下分析該過程。

 

 

ping流程網(wǎng)絡(luò)拓?fù)?/p>

⑴ PC1將自身IP和子網(wǎng)掩碼255.255.255.0相與得到網(wǎng)絡(luò)號1.1.1.0,將PC2的IP與子網(wǎng)掩碼相與得到網(wǎng)絡(luò)號2.2.2.0,得知PC2與自己不在同一網(wǎng)段。于是PC1檢索路由表得到默認(rèn)網(wǎng)關(guān)。PC1欲向網(wǎng)關(guān)傳遞信息,但此時PC1中ARP表為空,所以向默認(rèn)網(wǎng)關(guān)(交換機三層接口)發(fā)出ARP請求幀,請求網(wǎng)關(guān)MAC地址。該幀目的MAC地址為全1,源MAC地址為本機MAC地址,請求的IP地址為網(wǎng)關(guān)1.1.1.1;

⑵ SW收到ARP請求幀,對其附加端口PVid(10)的標(biāo)簽;

⑶ SW用ARP請求幀的Mac1和Vid10查找MAC轉(zhuǎn)發(fā)表,發(fā)現(xiàn)沒有該項,則進(jìn)行學(xué)習(xí),即在表中添加“Mac1—Vid10—Port1”的記錄;并將源IP和MAC的對應(yīng)關(guān)系(“1.1.1.2—Mac1”)記錄到ARP表,表明目的IP為1.1.1.2的數(shù)據(jù)幀轉(zhuǎn)發(fā)時目的MAC為Mac1,同時需路由到端口Port1;

⑷ ARP請求的目的地址是廣播地址,SW將其洪泛到該Vlan的每個端口(除入端口);同時SW自身截獲一份上送CPU(網(wǎng)關(guān)),發(fā)現(xiàn)是詢問自己的MAC,于是回復(fù)ARP單播應(yīng)答幀,目的MAC為PC1的Mac1,源MAC為網(wǎng)關(guān)的MAC地址GwMac1,源IP為1.1.1.1,目的IP為PC1的1.1.1.2;

⑸ PC1收到SW發(fā)來的ARP應(yīng)答幀,得到SW三層網(wǎng)關(guān)MAC地址,將“1.1.1.1—GwMac1”記錄到ARP表。PC1向SW發(fā)送ICMP請求幀,目的IP為PC2的IP(2.2.2.2),目的MAC為網(wǎng)關(guān)MAC,源IP和源MAC為PC1的;

⑹ SW收到ICMP請求幀,對其附加端口PVid(10)的標(biāo)簽,然后進(jìn)行源MAC地址學(xué)習(xí),發(fā)現(xiàn)二層轉(zhuǎn)發(fā)表有該條目,更新老化時間。因該幀目的MAC地址是網(wǎng)關(guān),SW送交三層路由處理。

⑺ 在三層首先檢查IP報文的版本、IP首部檢驗和TTL是否正確,若不正確則標(biāo)記丟棄并交由CPU處理;正確則在三層主機路由表(又稱L3表)中查找目的IP(即PC2的IP 2.2.2.2)。此時L3表中只包含與自己直連的32位地址(包括自身接口)及步驟⑶中ARP表學(xué)習(xí)后下發(fā)的PC1信息,而找不到PC2的信息。進(jìn)而按最長前綴匹配算法查找子網(wǎng)路由表(又稱Longest Prefix Match即LPM表)得到2.2.2.1目的網(wǎng)段的條目,下一跳的IP地址為 2.2.2.1;

⑻ 索引回L3表查找2.2.2.1,得到該條目,發(fā)現(xiàn)要提交CPU處理(CPU也需要看作是一個端口);

⑼ CPU沒有到PC2的路由,但PC2的目的IP屬于自己接口地址2.2.2.1的網(wǎng)段,故向接口Vlan20所包含的所有物理端口廣播一個ARP請求幀,源MAC地址為交換機接口的三層MAC地址GwMac2,源IP地址為2.2.2.1,請求IP地址2.2.2.2的MAC地址;#p#

⑽ PC2收到ARP請求,學(xué)習(xí)“2.2.2.1—GwMac2”加入ARP表;并回復(fù)ARP應(yīng)答幀,目的IP為交換機接口Vlan20的IP地址2.2.2.1,目的MAC為交換機接口Vlan20的MAC地址GwMac2;

⑾ SW收到PC2發(fā)送的ARP應(yīng)答幀,附加端口PVid(20)后在MAC表中查找“Mac2+Vid20”,沒找到則學(xué)習(xí)源地址,在MAC轉(zhuǎn)發(fā)表中添加PC2相關(guān)記錄。因該幀目的MAC為網(wǎng)關(guān)地址,故提交三層處理;

⑿ 三層首先檢查報文正確性,無誤則在L3表中查找目的IP。由于目的IP為本機,故上送CPU處理。CPU對報文處理后得到“2.2.2.2—Mac2”將相關(guān)信息加入ARP表(CPU下發(fā)給L3表進(jìn)行記錄)。

⒀ PC1向SW發(fā)送的第一個ICMP請求幀存儲在內(nèi)存中,此時交由CPU進(jìn)行IP報文頭部修改(TTL減1,FCS重新計算封裝)和MAC封裝(目的MAC地址改為PC2的MAC地址,源MAC地址改為SW三層MAC地址)并發(fā)送給PC2,如果超時則丟棄,CPU發(fā)送ICMP超時給PC1;

⒁ PC2收到PC1發(fā)來的ICMP請求后,回復(fù)ICMP應(yīng)答幀,目的IP為PC1的IP 1.1.1.2,同樣PC2發(fā)現(xiàn)該地址和自己不在同一子網(wǎng),需要網(wǎng)關(guān)進(jìn)行轉(zhuǎn)發(fā)。之前PC2已學(xué)習(xí)到交換機接口Vlan20的ARP,此時根據(jù)該ARP將ICMP應(yīng)答幀目的MAC地址填為網(wǎng)關(guān)MAC地址GwMac2發(fā)送出去。交換機收到幀后,發(fā)現(xiàn)目的MAC地址是網(wǎng)關(guān)地址,取出幀中的目的IP地址1.1.1.1查找路由。之前交換機已學(xué)習(xí)到該IP的路由,所以會查找到主機路由表中相應(yīng)的路由并將幀目的MAC地址換成Mac1,源MAC地址換成網(wǎng)關(guān)MAC地址GwMac2,發(fā)送到端口Port1上。最終,PC1就收到PC2的ICMP應(yīng)答。

⒂ 經(jīng)過以上流程后,PC1和PC2分別學(xué)到各自網(wǎng)關(guān)接口的ARP,交換機也有了分別到達(dá)PC1和PC2的路由。后續(xù)的報文不再通過路由,而直接由L3表中對應(yīng)的表項進(jìn)行硬件轉(zhuǎn)發(fā)。

注意,此例步驟說明相比“路由器路由”一節(jié)稍為詳細(xì),所補充的部分并非差異。

* VLAN間通信加速

Vlan間路由時,并非所有數(shù)據(jù)都需要經(jīng)過外部路由器或三層交換機的內(nèi)置路由模塊。例如,使用FTP(File Transfer Protocol,文件傳輸協(xié)議)傳輸容量為數(shù)兆字節(jié)以上的較大文件時,由于MTU(Maximum Transfer Unit,最大傳輸單元)的限制,IP協(xié)議會將數(shù)據(jù)分割成小塊后傳輸并在接收方重新組合。這些被分割的數(shù)據(jù)具有相同的源/目的IP地址和(TCP/UDP)端口號。這樣一連串?dāng)?shù)據(jù)流被稱為“流(Flow)”。只要將流最初的數(shù)據(jù)正確地路由以后,后繼數(shù)據(jù)理應(yīng)也會被同樣地路由,實際上無需路由器處理。

三層交換機進(jìn)行高速Vlan間路由時,整個流的第一塊數(shù)據(jù)仍舊由交換模塊轉(zhuǎn)發(fā)→路由模塊路由→交換模塊轉(zhuǎn)發(fā)到目標(biāo)所連端口。這時,將第一塊數(shù)據(jù)路由結(jié)果記錄到緩存里保存下來。需記錄的信息有源/目的IP地址和(TCP/UDP)端口號、交換機收發(fā)端口號及轉(zhuǎn)發(fā)目標(biāo)MAC地址等。

同一個流的第二塊及后續(xù)的數(shù)據(jù)到達(dá)交換機后,直接通過查詢先前保存在緩存中的信息查出轉(zhuǎn)發(fā)端口號后即可轉(zhuǎn)發(fā)給目標(biāo)所連端口。這樣,就無需反復(fù)經(jīng)由內(nèi)部路由模塊中繼,而僅憑交換機內(nèi)部的緩存信息就足以判斷應(yīng)該轉(zhuǎn)發(fā)的端口。這時,交換機對數(shù)據(jù)幀進(jìn)行由路由器中繼時相似的處理,如改寫MAC地址、IP包頭中的TTL和Check Sum校驗碼信息等。

若Vlan間路由信息變化,路由模塊會發(fā)送控制信息給交換模塊,交換機重新建立轉(zhuǎn)發(fā)路徑,按照常規(guī)方式轉(zhuǎn)發(fā)。

通過在交換機上緩存路由結(jié)果,可實現(xiàn)以纜線速度(Wired Speed)接收發(fā)送方傳輸來的數(shù)據(jù)、并且能夠全速路由、轉(zhuǎn)發(fā)給接收方。

* 路由器和交換機配合構(gòu)建LAN

雖然三層交換機能提供比傳統(tǒng)型路由器更為高速的路由處理,但網(wǎng)絡(luò)中仍有使用路由器的必要性。其必要性主要表現(xiàn)在以下幾個方面:

用于與WAN連接。絕大多數(shù)三層交換機只配有LAN(以太網(wǎng))接口。少數(shù)高端交換機上也有用于連接WAN的串行接口或ATM接口,但大多數(shù)情況下連接WAN需要用到路由器。

保證網(wǎng)絡(luò)安全。在三層交換機上,通過數(shù)據(jù)包過濾也能確保一定程度的網(wǎng)絡(luò)安全。但使用路由器所提供的各種網(wǎng)絡(luò)安全功能(數(shù)據(jù)包過濾、基于IPSec構(gòu)建VPN、利用RADIUS進(jìn)行用戶認(rèn)證等),用戶可構(gòu)建更為安全可靠的網(wǎng)絡(luò)。

支持TCP/IP以外的網(wǎng)絡(luò)架構(gòu)。盡管TCP/IP已成為當(dāng)前主流的網(wǎng)絡(luò)協(xié)議架構(gòu),但還有不少網(wǎng)絡(luò)利用Novell Netware下的IPX/SPX或Macintosh下的Appletalk等網(wǎng)絡(luò)協(xié)議。三層交換機中,除部分高端機型外基本上只支持TCP/IP。路由器對于需要其他網(wǎng)絡(luò)協(xié)議的環(huán)境必不可少。

注:少數(shù)高端交換機也能支持上述路由器的功能。例如Cisco的Catalyst6500系列就可選擇與WAN連接的接口模塊;還有可選的基于IPSec實現(xiàn)VPN的模塊;并且也能支持TCP/IP以外的其他網(wǎng)絡(luò)協(xié)議。

下圖是一個路由器和交換機搭配構(gòu)建LAN的實例。

 

 

路由器和交換機搭配構(gòu)建局域網(wǎng)

利用在各樓層配置的二層交換機定義Vlan,連接TCP/IP客戶主機。各樓層間的Vlan間通信利用三層交換機的高速路由加以實現(xiàn)。若網(wǎng)絡(luò)環(huán)境要求高可靠性,還可考慮冗余配置三層交換機。與WAN的連接,則通過帶有各種網(wǎng)絡(luò)接口的路由器進(jìn)行,并通過路由器的數(shù)據(jù)包過濾和VPN等功能實現(xiàn)網(wǎng)絡(luò)安全。此外,使用路由器還能支持Novell Netware等TCP/IP之外的網(wǎng)絡(luò)。

通過使用Vlan構(gòu)建局域網(wǎng),用戶能夠不受物理鏈路的限制而自由地分割廣播域。通過路由器與三層交換機提供的Vlan間路由,能夠適應(yīng)靈活多變的網(wǎng)絡(luò)結(jié)構(gòu)。但由于利用Vlan容易導(dǎo)致網(wǎng)絡(luò)復(fù)雜化,因此也會造成整個網(wǎng)絡(luò)的組成難以把握。特別是由于數(shù)據(jù)流縱橫交錯,一旦發(fā)生故障時,準(zhǔn)確定位并排除故障會比較困難。

VLAN擴展

* VLAN Translation

Vlan轉(zhuǎn)換又稱Vlan翻譯或Vlan映射,它允許用于邊緣接入的不同以太網(wǎng)交換機的Vlan ID設(shè)置互相重疊,通過以太網(wǎng)交換機的Vlan轉(zhuǎn)換功能,將不同交換機的重復(fù)Vlan ID修改為不同的Vlan ID,并從上聯(lián)端口發(fā)送出去,從而在二層核心交換機中也實現(xiàn)用戶的隔離,以簡化邊緣接入交換機的設(shè)置。

例如PON系統(tǒng)中,通過Vlan轉(zhuǎn)換模式,OLT或ONU設(shè)備將上行以太網(wǎng)幀中用戶自行添加的Vlan標(biāo)簽(Vid可能不是其獨用的,可能在同一個系統(tǒng)內(nèi)有其他用戶使用相同的Vid)轉(zhuǎn)換為唯一的網(wǎng)絡(luò)側(cè)Vlan標(biāo)簽;并在下行方向執(zhí)行相反的操作。

* QinQ

隨著以太網(wǎng)技術(shù)在運營商網(wǎng)絡(luò)中的大量部署(城域以太網(wǎng)),利用IEEE 802.1Q Vlan對用戶進(jìn)行隔離和標(biāo)識受到很大限制。因為802.1Q定義的Vlan標(biāo)簽域僅能表示4096個Vlan(12比特),對于城域網(wǎng)中需要標(biāo)識的大量用戶捉襟見肘,于是QinQ技術(shù)應(yīng)運而生。

QinQ(也稱Stacked Vlan即Vlan堆疊或Double Vlan)技術(shù)出自IEEE 802.1ad標(biāo)準(zhǔn),是對基于IEEE 802.1Q封裝的隧道協(xié)議的形象稱呼。QinQ實現(xiàn)在原有802.1Q Vlan標(biāo)簽(內(nèi)層標(biāo)簽,也稱Customer Vlan,CVlan)之外再增加一個Vlan標(biāo)簽(外層標(biāo)簽,也稱Service Provider Vlan,SVlan),外層公網(wǎng)標(biāo)簽將內(nèi)層用戶私網(wǎng)標(biāo)簽屏蔽起來,使報文攜帶兩層Vlan標(biāo)簽穿越運營商骨干網(wǎng)絡(luò)(公網(wǎng)),到達(dá)用戶另一端網(wǎng)絡(luò)邊緣交換機時再剝除外層公網(wǎng)Vlan標(biāo)簽,還原出內(nèi)層用戶標(biāo)簽便于用戶進(jìn)行下一步的通信??梢?,QinQ技術(shù)不僅可有效拓展Vlan的數(shù)量空間(多達(dá)4096×4096個),而且可提供簡單的二層VPN(虛擬專用網(wǎng))隧道,特別適合以三層交換機為骨干的小型企業(yè)網(wǎng)或小型局域網(wǎng)。

* QinQ報文格式

QinQ報文封裝格式如下圖所示。公網(wǎng)傳輸時內(nèi)層Vlan標(biāo)簽為用戶私網(wǎng)Vlan標(biāo)簽,外層Vlan標(biāo)簽由運營商分配給用戶。私網(wǎng)Vlan標(biāo)簽被透明傳輸,故不同的用戶Vlan標(biāo)簽可重復(fù)使用,只需外層Vlan標(biāo)簽在公網(wǎng)上唯一即可。

 

 

QinQ報文封裝格式

某些廠商將QinQ報文外層標(biāo)簽的TPID值設(shè)置為0x9100或其他數(shù)值。為和這些設(shè)備互通,用戶應(yīng)可自行配置TPID值,使發(fā)送到公網(wǎng)中的QinQ幀攜帶的TPID值與其他廠商相同。由于TPID字段在以太網(wǎng)幀中所處位置與不帶Vlan標(biāo)簽的幀中協(xié)議類型(Type)字段所處位置相同,為避免造成網(wǎng)絡(luò)中數(shù)據(jù)幀轉(zhuǎn)發(fā)和接收混亂,不允許用戶將TPID值配置為常用協(xié)議類型值。

* QinQ封裝方式

QinQ封裝是指如何把單層Q報文轉(zhuǎn)換為雙層Q報文, 封裝主要發(fā)生在城域網(wǎng)面向用戶的UPE設(shè)備,一般在交換式的端口上進(jìn)行。根據(jù)不同的封裝依據(jù),QinQ可分為基于端口的QinQ、基于流的QinQ和路由子接口上進(jìn)行的特殊QinQ封裝。

* 基于端口的QinQ封裝

基于端口封裝指進(jìn)入一個端口的所有流量全部封裝一個外層Vlan。當(dāng)端口收到報文時,無論報文是否帶有Vlan標(biāo)簽,交換機都會為該報文附加本端口缺省Vlan的標(biāo)簽。若接收報文已帶標(biāo)簽,則該報文成為雙標(biāo)簽報文;若接收報文不帶標(biāo)簽(untagged),則該報文將攜帶本端口缺省Vlan標(biāo)簽?;诙丝诘腝inQ封裝容易實現(xiàn),故業(yè)界主流廠家的三層交換機都支持。其缺點是外層Vlan標(biāo)簽封裝方式死板,當(dāng)多個不同用戶或用戶網(wǎng)絡(luò)以不同的Vlan接入到同一個端口時無法區(qū)分用戶,即無法在一個端口上根據(jù)業(yè)務(wù)種類選擇多個外層標(biāo)簽,從而很難有效支持單端口多業(yè)務(wù)的靈活運營。

此外,基于端口封裝需增加鏈路,組網(wǎng)復(fù)雜,不利于擴展維護(hù)。

* 基于流的QinQ封裝

基于流的QinQ封裝先對進(jìn)入端口的數(shù)據(jù)進(jìn)行流分類,然后對于不同的數(shù)據(jù)流選擇是否插入外層標(biāo)簽以及插入何種外層標(biāo)簽,因此也稱靈活QinQ(Smart QinQ或Selective QinQ)。當(dāng)一些數(shù)據(jù)流(如組播)出口不添加外層標(biāo)簽,或單個端口根據(jù)內(nèi)層Vlan添加不同的外層標(biāo)簽時,就需要用到靈活QinQ。

靈活QinQ根據(jù)流分類方法又可細(xì)分如下:

1) 根據(jù)報文中的Vlan區(qū)間分流

當(dāng)同一用戶的不同業(yè)務(wù)使用不同Vlan時,可根據(jù)Vlan區(qū)間進(jìn)行分流,如PC上網(wǎng)Vlan范圍是101~200,IPTV的Vlan范圍是201~300,VoIP的Vlan范圍是301~400。面向用戶的設(shè)備收到用戶數(shù)據(jù)后,根據(jù)Vlan范圍,對上網(wǎng)業(yè)務(wù)插入100的外層標(biāo)簽,對IPTV插入300的外層標(biāo)簽,對VoIP插入500的外層標(biāo)簽。

2) 根據(jù)報文中的Vid+Priority分流

不同業(yè)務(wù)有不同優(yōu)先級,當(dāng)同一用戶的多種業(yè)務(wù)使用相同Vlan時,可根據(jù)不同業(yè)務(wù)的優(yōu)先級進(jìn)行區(qū)分,然后插入不同的外層標(biāo)簽。

3) 根據(jù)報文的目的IP地址分流

當(dāng)同一臺PC既包括上網(wǎng)業(yè)務(wù)又包括語音業(yè)務(wù)時,不同業(yè)務(wù)目的IP不同,可利用ACL對目的IP地址進(jìn)行分流,然后插入不同的外層標(biāo)簽。

4) 根據(jù)ETYPE進(jìn)行QinQ封裝

當(dāng)同一用戶既包括PPPOE的上網(wǎng)業(yè)務(wù),又包括IPOE的IPTV業(yè)務(wù)時,這些終端都通過一個Vlan上行,可根據(jù)PPPoE(0x8863/8864)和IPoE(0x0800)報文不同的ETYPE協(xié)議號作為QinQ的分流依據(jù)。

當(dāng)前靈活QinQ主要應(yīng)用于運營商接入網(wǎng)絡(luò)。在運營商網(wǎng)絡(luò)中給接入用戶分配一個Vlan,以便于追蹤問題和防止不同用戶間互訪,用外層標(biāo)簽區(qū)分用戶應(yīng)用;或在接入環(huán)境中用外層標(biāo)簽區(qū)分不同的接入地點,用內(nèi)外兩層標(biāo)簽唯一標(biāo)識一個接入用戶。

* 路由子接口QinQ封裝

QinQ封裝一般在交換式端口上直接進(jìn)行,但特殊情況下QinQ也可在路由子接口上進(jìn)行封裝。

當(dāng)核心網(wǎng)采用VLL/PWE3透傳用戶數(shù)據(jù)時,NPE設(shè)備上的路由子接口可根據(jù)用戶Vlan ID封裝外層Vlan,通過外層Vlan接入VLL/PWE3。可通過一個QinQ Stacking子接口來透傳多個標(biāo)識用戶的Vlan ID。

該方式也是基于流的QinQ封裝,但QinQ Stacking子接口只能與L2VPN(PWE3/VLL/VPLS)結(jié)合起來才有意義,不支持三層轉(zhuǎn)發(fā)功能。

* QinQ報文轉(zhuǎn)發(fā)

三層交換機連接用戶網(wǎng)絡(luò)的端口稱為Customer端口,連接骨干網(wǎng)的端口稱為Uplink端口,骨干網(wǎng)的邊緣接入設(shè)備稱為PE(Provider Edge)。一般用戶側(cè)網(wǎng)絡(luò)通過Trunk方式接入骨干邊緣交換機,骨干網(wǎng)絡(luò)內(nèi)Uplink端口通過Trunk方式對稱連接。

在通過QinQ實現(xiàn)簡單二層VPN的過程中,報文按如下方式轉(zhuǎn)發(fā):

 

 

QinQ報文轉(zhuǎn)發(fā)過程

當(dāng)報文從用戶側(cè)網(wǎng)絡(luò)1到達(dá)運營商骨干網(wǎng)邊緣交換機Switch A的Customer端口時,無論該報文是否攜帶標(biāo)簽,Switch A都基于端口PVid對其強行插入外層標(biāo)簽(Vid=10)。在骨干網(wǎng)絡(luò)內(nèi)部,報文沿著Vlan10的Trunk端口傳播,用戶私網(wǎng)標(biāo)簽在骨干網(wǎng)絡(luò)中保持透明狀態(tài),直至到達(dá)邊緣交換機Switch B。

Switch B發(fā)現(xiàn)與用戶網(wǎng)絡(luò)2相連的端口為Customer端口,按照傳統(tǒng)的802.1Q協(xié)議剝離外層標(biāo)簽,恢復(fù)成用戶的原始報文,轉(zhuǎn)發(fā)到用戶側(cè)網(wǎng)絡(luò)2,從而實現(xiàn)一個簡單二層VPN功能。PE接入點用外層SVlan隔離,安全且節(jié)省Vlan。對用戶的管理可基于外層SVlan和內(nèi)層CVlan唯一定位。

易知,若Vlan映射為C→S+C,則為Vlan堆疊;若Vlan映射為C→S,則為Vlan轉(zhuǎn)換。

注意,MAC地址學(xué)習(xí)、生成樹等均基于外層SVlan。

* QinQ優(yōu)缺點

利用QinQ提供接入業(yè)務(wù)時具有以下優(yōu)點:

Ÿ可解決日益緊缺的公網(wǎng)Vlan資源問題;

Ÿ用戶可規(guī)劃自己的私網(wǎng)Vlan ID,不會與公網(wǎng)Vlan ID沖突;

Ÿ提供一種較為簡單的二層VPN解決方案;

Ÿ使用戶網(wǎng)絡(luò)具有較高的獨立性,在服務(wù)提供商升級網(wǎng)絡(luò)時,用戶網(wǎng)絡(luò)不必更改原有配置;

Ÿ可按不同層次的Vlan ID區(qū)分不同的業(yè)務(wù),以區(qū)別提供不同的管道、QoS策略;

ŸQinQ技術(shù)上可多層嵌套,僅受以太網(wǎng)幀長度的限制,具有很好的擴充性。

但隨著用戶數(shù)量的增加,QinQ模型也會帶來可擴展性問題。某些用戶可能希望在分支機構(gòu)間傳輸數(shù)據(jù)時可攜帶自己的Vlan ID,這就使采用QinQ技術(shù)的管理服務(wù)提供商面臨以下兩個問題:第一個客戶的Vlan標(biāo)識可能與其他客戶沖突;服務(wù)提供商將受到客戶可使用標(biāo)識數(shù)量的嚴(yán)重限制。若允許用戶按他們自己的方式使用各自的Vlan ID空間,則核心網(wǎng)絡(luò)仍存在4096個Vlan的限制。

* PVlan(Cisco)

PVLAN(Private VLAN,私有VLAN)即所有工作站在同一個子網(wǎng)中,但工作站只能與自己的默認(rèn)網(wǎng)關(guān)通信。PVlan采用兩層Vlan隔離技術(shù),只有上層Vlan全局可見,下層Vlan互相隔離。若將交換機的每個端口劃為一個(下層)Vlan,則實現(xiàn)所有端口的隔離。

每個Private Vlan包含兩種Vlan:主Vlan(Primary Vlan)和輔助Vlan(Secondary Vlan),后者又分為隔離Vlan(Isolated Vlan)和團(tuán)體Vlan(Community Vlan)。

PVlan通信范圍:

主Vlan可與所有與之關(guān)聯(lián)的隔離Vlan、團(tuán)體Vlan通信。不同主Vlan之間的任何端口都不能互相通信(此處“互相通信”指二層連通性)。

團(tuán)體Vlan可與處于相同團(tuán)體Vlan內(nèi)的團(tuán)體端口通信,也可與PVlan中的混雜端口通信。 每個PVlan可有多個團(tuán)體Vlan。

隔離Vlan不可與處于相同隔離Vlan內(nèi)的其它隔離端口通信,只可與混雜端口通信。每個PVlan中只能有一個隔離Vlan。

相應(yīng)地,交換機物理端口有三種類型:

隔離端口(Isolated port),與用戶相連,屬于隔離Vlan。只可與混雜端口通信,彼此不能通信。

團(tuán)體端口(Community port),屬于團(tuán)體Vlan。不僅可與混雜端口通信,也可與同一團(tuán)體中的其它物理端口進(jìn)行通信。

混雜端口(Promiscuous port),與路由器或三層交換機接口相連,屬于主Vlan。它收到的流量可發(fā)往隔離端口和團(tuán)體端口。#p#

 

 

PVlan端口類型

如圖,port1、port2和port3三者之間互相隔離,不允許通信,只能與port6通信;port4和port5間可以通信,也可以與port6通信。所有端口只需分配共享一個IP地址。

PVlan的應(yīng)用對于保證接入網(wǎng)絡(luò)的數(shù)據(jù)通信安全性非常有效。所有用戶都接入PVlan,每個用戶一個Vlan,用戶間二層互相隔離。用戶只需與自己的默認(rèn)網(wǎng)關(guān)連接,一個PVlan不需要多個Vlan和IP子網(wǎng)就可提供具備二層數(shù)據(jù)通信安全性的連接。PVlan功能可保證同一個Vlan中的各個端口相互之間不能通信,但可穿過Trunk端口。這樣即使同一Vlan中的用戶,相互之間也不會受到廣播的影響。

對于上層交換機來說,可認(rèn)為下層交換機中只有幾個主Vlan,而不必關(guān)心主Vlan 中的端口實際所屬的Vlan,從而簡化配置并節(jié)省Vlan 資源。一個主Vlan中包含的所有Private Vlan處于同一個子網(wǎng)中,可節(jié)省子網(wǎng)數(shù)目和IP 地址資源。

PVlan通常用于企業(yè)內(nèi)部網(wǎng),用來阻斷連接到某些接口或接口組的網(wǎng)絡(luò)設(shè)備間的相互通信,但卻允許與默認(rèn)網(wǎng)關(guān)進(jìn)行通信。盡管各設(shè)備處于不同的PVlan中,但可使用相同的IP子網(wǎng)。

* SuperVlan

不同Vlan間通信需要通過三層路由進(jìn)行轉(zhuǎn)發(fā),而每個子網(wǎng)(Vlan)都需要設(shè)置一個路由地址。每分配一個子網(wǎng),就有三個IP地址(子網(wǎng)的網(wǎng)絡(luò)號、廣播地址和默認(rèn)網(wǎng)關(guān))被占用。同時,這種地址分配的固有約束也嚴(yán)重降低編址的靈活性,使許多閑置地址被浪費。為提高IP地址的利用率,Super VLAN超網(wǎng)應(yīng)運而生。

SuperVlan(又稱VLAN Aggregation,即Vlan聚合)把多個子Vlan(SubVlan)聚合成一個SuperVlan,這些SubVlan共同使用一個IP子網(wǎng)和默認(rèn)網(wǎng)關(guān)。通過VLAN聚合可使所有在同一子網(wǎng)上的終端用戶通過統(tǒng)一的路由(同一子網(wǎng)網(wǎng)段地址)而使用不同的廣播域。

利用SuperVlan技術(shù),只需為SuperVlan分配一個子網(wǎng)地址,并為每個用戶或子網(wǎng)建立一個SubVlan。所有SubVlan可靈活分配SuperVlan子網(wǎng)中的IP地址,使用SuperVlan的默認(rèn)網(wǎng)關(guān)。每個SubVlan都是一個獨立的廣播域,保證不同用戶之間的隔離;SubVlan間通信需要通過SuperVlan進(jìn)行路由。由于各個SubVlan不需要真正的子網(wǎng)網(wǎng)段,可有效提高IP利用率。這樣的子網(wǎng)可分配足夠小且擴展方便,無需重新定義子網(wǎng)大小。

SuperVlan內(nèi)的主機使用同一個網(wǎng)段的地址,共用同一個上行網(wǎng)關(guān)。即使是屬于不同SubVlan的主機,由于其地址同屬一個子網(wǎng),設(shè)備會認(rèn)為它們是二層互通的,會做二層轉(zhuǎn)發(fā),而不會送網(wǎng)關(guān)進(jìn)行三層轉(zhuǎn)發(fā)。而實際上SubVlan間在二層互相隔離,因此需要采用ARP代理(Proxy)來實現(xiàn)SubVlan間的互通。Subvlan之間以及和外部通信通過ARP代理,所有Subvlan內(nèi)主機發(fā)送的ARP請求都由SuperVlan的MAC地址作為ARP應(yīng)答。

注意,SuperVlan并不包含物理端口,可將其視作邏輯的三層概念——若干SubVlan的集合。對交換芯片來說SuperVlan是透明的,仍按芯片中的Vlan進(jìn)行轉(zhuǎn)發(fā)。在基于端口的Vlan中,二層通信時,無論收發(fā)都不會有針對SuperVlan的報文。即進(jìn)入SubVlan設(shè)備的數(shù)據(jù)幀會附加該SubVlan的標(biāo)簽,從Trunk端口發(fā)出時也不會改為SuperVlan的標(biāo)簽。

* ARP Proxy原理

一個物理網(wǎng)絡(luò)子網(wǎng)(Subnet)中的源主機向另一個物理網(wǎng)絡(luò)子網(wǎng)中的目的主機發(fā)送ARP request請求,和源主機直連的網(wǎng)關(guān)用自己接口的MAC地址代替目的主機回復(fù)ARP reply應(yīng)答,該過程稱為ARP代理。

ARP代理的基本過程如下:

源主機向另一物理網(wǎng)絡(luò)的子網(wǎng)中的目的主機發(fā)ARP請求;

與源主機網(wǎng)絡(luò)相連的網(wǎng)關(guān)已使能ARP代理功能,若存在到達(dá)目的主機的正常路由,則代替目的主機應(yīng)答自己接口的MAC地址;

源主機向目的主機發(fā)送的IP報文都發(fā)給路由器;

路由器對報文做正常的IP路由轉(zhuǎn)發(fā);

發(fā)往目的主機的IP報文通過網(wǎng)絡(luò),最終到達(dá)目的主機。

*  SubVlan間的三層互通

【例】SuperVlan 2包含SubVlan 21和SubVlan 22,分析PC1與PC2的互通過程(假設(shè)PC1的ARP表中無PC2對應(yīng)表項)。IP地址和MAC地址如下圖所示。

 

 

用ARP代理實現(xiàn)不同SubVlan間的三層互通

PC1要發(fā)送報文給PC2,則將PC2的IP地址(1.1.1.3)與自己所在網(wǎng)段1.1.1.0 /24進(jìn)行比較。由于SubVlan 21和SubVlan 22同屬一個SuperVlan所在子網(wǎng),于是發(fā)廣播ARP請求PC2的MAC地址;而PC2并不在SubVlan 21的廣播域內(nèi),無法接收到該ARP請求。當(dāng)PC1在二層發(fā)出的ARP請求在其廣播域內(nèi)沒有回應(yīng)時,交換機網(wǎng)關(guān)運行ARP代理,查找路由表并發(fā)現(xiàn)下一跳為直連路由接口(SubVlan 22),則在該接口發(fā)送一個ARP請求PC2的MAC地址;得到PC2回應(yīng)后,就把網(wǎng)關(guān)自己的MAC地址GwMac當(dāng)作PC2的MAC地址(實際是Mac2 )回給PC1 (不同設(shè)備實現(xiàn)略有不同)。之后,主機PC1要發(fā)給PC2的報文都發(fā)給交換機,由三層交換機做正常的三層轉(zhuǎn)發(fā)。

PC2回送給PC1的報文轉(zhuǎn)發(fā)過程和上述的PC1到PC2的報文流程類似。

* SuperVlan與外部的三層通信

【例】交換機1上配置SuperVlan 2、SubVlan 21和22,并有一個正常的Vlan 10。交換機2上配置兩個正常的Vlan 10和20。假設(shè)SuperVlan 2下SubVlan 21中的PC1想訪問交換機2下連的PC3,分析其上下行報文的轉(zhuǎn)發(fā)流程。

 

 

Super VLAN與外部的三層通信圖例

* 報文上行流程

PC1 (1.1.1.2/24)要訪問PC3(1.1.3.2/24),因為IP地址不在一個網(wǎng)段,故PC1發(fā)送ARP請求給自己的網(wǎng)關(guān),請求網(wǎng)關(guān)的MAC地址。SubVlan21收到ARP報文后,將其上送CPU。CPU查找SubVlan和SuperVlan的對應(yīng)關(guān)系,知道應(yīng)回應(yīng)SuperVlan2的MAC地址(不同設(shè)備實現(xiàn)可能略有不同),且知道回應(yīng)報文應(yīng)從SubVlan21發(fā)送給PC1。

PC1學(xué)到網(wǎng)關(guān)MAC地址后,開始發(fā)送目的MAC為SuperVlan2、目的IP為1.1.3.2的報文。SubVlan21收到報文后,檢測目的MAC后得知應(yīng)進(jìn)行三層轉(zhuǎn)發(fā),于是查找轉(zhuǎn)發(fā)路由表,發(fā)現(xiàn)下一跳地址為1.1.2.2,出接口為Vlan10,并通過ARP表項和MAC表項確定出端口,把報文發(fā)送給交換機2,交換機2根據(jù)正常的轉(zhuǎn)發(fā)流程把報文發(fā)送給PC3。

* 報文下行流程

PC3回應(yīng)的報文,在交換機2上按正常的轉(zhuǎn)發(fā)流程到達(dá)交換機1,此時交換機1查找轉(zhuǎn)發(fā)路由表表項,發(fā)現(xiàn)目的地址為PC1(1.1.1.2),對應(yīng)的出接口為SuperVlan2。但SuperVlan2未包含任何端口,那么如何確定報文的出端口呢?

仔細(xì)查看可發(fā)現(xiàn),盡管轉(zhuǎn)發(fā)路由表中1.1.1.2/24網(wǎng)段的出接口為SuperVlan2,但在ARP表中IP地址1.1.1.2對應(yīng)的出接口卻為SubVlan 21。而芯片真正用來構(gòu)建轉(zhuǎn)發(fā)表時所用的出接口應(yīng)是ARP表中對應(yīng)的SubVlan接口,通過在SubVlan下查找目的MAC地址即可找到正確的出端口。于是,PC3的回應(yīng)報文就可正常到達(dá)PC1。

注意,若位于一個SuperVlan內(nèi)的計算機運行基于廣播或組播的高層應(yīng)用,則這些應(yīng)用被限制在SubVlan內(nèi)。因此,應(yīng)仔細(xì)分析高層應(yīng)用,在沒有基于組播或廣播的應(yīng)用時才可使用SuperVlan。

責(zé)任編輯:林琳 來源: 博客園
相關(guān)推薦

2010-01-04 16:52:55

第三層交換機

2010-01-04 14:00:30

三層以太網(wǎng)交換機

2013-08-14 10:08:07

TrunkVLAN三層交換

2010-01-11 10:18:36

三層交換機配置

2010-01-12 15:41:46

華為以太網(wǎng)交換機

2018-03-22 12:31:40

2010-01-14 13:29:51

三層交換機基本特點

2010-01-06 14:19:12

三層交換機

2010-01-19 11:04:52

三層交換機

2010-01-12 17:20:45

三層交換機

2011-03-08 11:08:55

VLAN

2017-11-22 14:08:23

OVSVLAN虛擬化網(wǎng)

2025-06-13 10:05:00

VLAN網(wǎng)絡(luò)

2013-12-16 09:44:01

OpenDayLighSDN網(wǎng)絡(luò)轉(zhuǎn)發(fā)

2014-02-27 09:47:03

三層網(wǎng)絡(luò)轉(zhuǎn)發(fā)網(wǎng)絡(luò)拓?fù)?/a>

2013-05-23 10:58:38

三層交換機vlanvlan通信

2010-01-11 16:38:20

三層交換機配置實例

2010-02-22 17:26:03

三層交換機

2010-03-15 13:41:49

交換機

2017-11-17 06:06:23

交換機ASIC路由器
點贊
收藏

51CTO技術(shù)棧公眾號