什么是VLAN?圖文詳解_第1頁
什么是VLAN?圖文詳解_第2頁
什么是VLAN?圖文詳解_第3頁
什么是VLAN?圖文詳解_第4頁
什么是VLAN?圖文詳解_第5頁
已閱讀5頁,還剩22頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、什么是VLAN? VLAN(Virtual LAN),翻譯成中文是“虛擬局域網”。LAN可以是由少數幾臺家用計算機構成的網絡,也可以是數以百計的計算機構成的企業網絡。VLAN所指的LAN特指使用路由器分割的網絡也就是廣播域。在此讓我們先復習一下廣播域的概念。廣播域,指的是廣播幀(目標MAC地址全部為1)所能傳遞到的范圍,亦即能夠直接通信的范圍。嚴格地說,并不僅僅是廣播幀,多播幀(Multicast Frame)和目標不明的單播幀(Unknown Unicast Frame)也能在同一個廣播域中暢行無阻。本來,二層交換機只能構建單一的廣播域,不過使用VLAN功能后,它能夠將網絡分割成多個廣播域。

2、未分割廣播域時那么,為什么需要分割廣播域呢?那是因為,如果僅有一個廣播域,有可能會影響到網絡整體的傳輸性能。具體原因,請參看附圖加深理解。BA交換機1交換機2交換機3交換機4交換機5圖中,是一個由5臺二層交換機(交換機15)連接了大量客戶機構成的網絡。假設這時,計算機A需要與計算機B通信。在基于以太網的通信中,必須在數據幀中指定目標MAC地址才能正常通信,因此計算機A必須先廣播“ARP請求(ARP Request)信息”,來嘗試獲取計算機B的MAC地址。交換機1收到廣播幀(ARP請求)后,會將它轉發給除接收端口外的其他所有端口,也就是Flooding了。接著,交換機2收到廣播幀后也會Flood

3、ing。交換機3、4、5也還會Flooding。最終ARP請求會被轉發到同一網絡中的所有客戶機上。交換機1交換機2交換機3交換機4交換機5ARP RequestBroadcast廣播幀會傳播到網絡中的每一臺主機,并且對每一臺計算機的CPU造成負擔。請大家注意一下,這個ARP請求原本是為了獲得計算機B的MAC地址而發出的。也就是說:只要計算機B能收到就萬事大吉了。可是事實上,數據幀卻傳遍整個網絡,導致所有的計算機都收到了它。如此一來,一方面廣播信息消耗了網絡整體的帶寬,另一方面,收到廣播信息的計算機還要消耗一部分CPU時間來對它進行處理。造成了網絡帶寬和CPU運算能力的大量無謂消耗。廣播信息是那

4、么經常發出的嗎?讀到這里,您也許會問:廣播信息真是那么頻繁出現的嗎?答案是:是的!實際上廣播幀會非常頻繁地出現。利用TCP/IP協議棧通信時,除了前面出現的ARP外,還有可能需要發出DHCP、RIP等很多其他類型的廣播信息。ARP廣播,是在需要與其他主機通信時發出的。當客戶機請求DHCP服務器分配IP地址時,就必須發出DHCP的廣播。而使用RIP作為路由協議時,每隔30秒路由器都會對鄰近的其他路由器廣播一次路由信息。RIP以外的其他路由協議使用多播傳輸路由信息,這也會被交換機轉發(Flooding)。除了TCP/IP以外,NetBEUI、IPX和Apple Talk等協議也經常需要用到廣播。例

5、如在Windows下雙擊打開“網絡計算機”時就會發出廣播(多播)信息。(Windows XP除外)總之,廣播就在我們身邊。下面是一些常見的廣播通信:l ARP請求:建立IP地址和MAC地址的映射關系。l RIP:一種路由協議。l DHCP:用于自動設定IP地址的協議。l NetBEUI:Windows下使用的網絡協議。l IPX:Novell Netware使用的網絡協議。l Apple Talk:蘋果公司的Macintosh計算機使用的網絡協議。如果整個網絡只有一個廣播域,那么一旦發出廣播信息,就會傳遍整個網絡,并且對網絡中的主機帶來額外的負擔。因此,在設計LAN時,需要注意如何才能有效地分

6、割廣播域。廣播域的分割與VLAN的必要性分割廣播域時,一般都必須使用到路由器。使用路由器后,可以以路由器上的網絡接口(LAN Interface)為單位分割廣播域。但是,通常情況下路由器上不會有太多的網絡接口,其數目多在14個左右。隨著寬帶連接的普及,寬帶路由器(或者叫IP共享器)變得較為常見,但是需要注意的是,它們上面雖然帶著多個(一般為4個左右)連接LAN一側的網絡接口,但那實際上是路由器內置的交換機,并不能分割廣播域。況且使用路由器分割廣播域的話,所能分割的個數完全取決于路由器的網絡接口個數,使得用戶無法自由地根據實際需要分割廣播域。與路由器相比,二層交換機一般帶有多個網絡接口。因此如果

7、能使用它分割廣播域,那么無疑運用上的靈活性會大大提高。用于在二層交換機上分割廣播域的技術,就是VLAN。通過利用VLAN,我們可以自由設計廣播域的構成,提高網絡設計的自由度。實現VLAN的機制實現VLAN的機制在理解了“為什么需要VLAN”之后,接下來讓我們來了解一下交換機是如何使用VLAN分割廣播域的。首先,在一臺未設置任何VLAN的二層交換機上,任何廣播幀都會被轉發給除接收端口外的所有其他端口(Flooding)。例如,計算機A發送廣播信息后,會被轉發給端口2、3、4。1234交換機廣播幀交換機收到廣播幀后,轉發到除接收端口外的其他所有端口。這時,如果在交換機上生成紅、藍兩個VLAN;同時

8、設置端口1、2屬于紅色VLAN、端口3、4屬于藍色VLAN。再從A發出廣播幀的話,交換機就只會把它轉發給同屬于一個VLAN的其他端口也就是同屬于紅色VLAN的端口2,不會再轉發給屬于藍色VLAN的端口。同樣,C發送廣播信息時,只會被轉發給其他屬于藍色VLAN的端口,不會被轉發給屬于紅色VLAN的端口。1234交換機廣播幀交換機收到廣播幀后,只轉發到屬于同一VLAN的其他端口。廣播域廣播幀廣播域就這樣,VLAN通過限制廣播幀轉發的范圍分割了廣播域。上圖中為了便于說明,以紅、藍兩色識別不同的VLAN,在實際使用中則是用“VLAN ID”來區分的。直觀地描述VLAN如果要更為直觀地描述VLAN的話,

9、我們可以把它理解為將一臺交換機在邏輯上分割成了數臺交換機。在一臺交換機上生成紅、藍兩個VLAN,也可以看作是將一臺交換機換做一紅一藍兩臺虛擬的交換機。1234交換機在紅、藍兩個VLAN之外生成新的VLAN時,可以想象成又添加了新的交換機。但是,VLAN生成的邏輯上的交換機是互不相通的。因此,在交換機上設置VLAN后,如果未做其他處理,VLAN間是無法通信的。明明接在同一臺交換機上,但卻偏偏無法通信這個事實也許讓人難以接受。但它既是VLAN方便易用的特征,又是使VLAN令人難以理解的原因。需要VLAN間通信時怎么辦那么,當我們需要在不同的VLAN間通信時又該如何是好呢?請大家再次回憶一下:VLA

10、N是廣播域。而通常兩個廣播域之間由路由器連接,廣播域之間來往的數據包都是由路由器中繼的。因此,VLAN間的通信也需要路由器提供中繼服務,這被稱作“VLAN間路由”。VLAN間路由,可以使用普通的路由器,也可以使用三層交換機。其中的具體內容,等有機會再細說吧。在這里希望大家先記住不同VLAN間互相通信時需要用到路由功能。VLAN的訪問鏈接交換機的端口交換機的端口,可以分為以下兩種:l 訪問鏈接(Access Link)l 匯聚鏈接(Trunk Link)接下來就讓我們來依次學習這兩種不同端口的特征。這一講,首先學習“訪問鏈接”。訪問鏈接訪問鏈接,指的是“只屬于一個VLAN,且僅向該VLAN轉發數

11、據幀”的端口。在大多數情況下,訪問鏈接所連的是客戶機。通常設置VLAN的順序是:l 生成VLANl 設定訪問鏈接(決定各端口屬于哪一個VLAN)設定訪問鏈接的手法,可以是事先固定的、也可以是根據所連的計算機而動態改變設定。前者被稱為“靜態VLAN”、后者自然就是“動態VLAN”了。靜態VLAN靜態VLAN又被稱為基于端口的VLAN(Port Based VLAN)。顧名思義,就是明確指定各端口屬于哪個VLAN的設定方法。1234交換機端口VLAN11234122VLAN2將交換機的每個端口靜態指派給VLANVLAN1由于需要一個個端口地指定,因此當網絡中的計算機數目超過一定數字(比如數百臺)后

12、,設定操作就會變得煩雜無比。并且,客戶機每次變更所連端口,都必須同時更改該端口所屬VLAN的設定這顯然不適合那些需要頻繁改變拓補結構的網絡。動態VLAN另一方面,動態VLAN則是根據每個端口所連的計算機,隨時改變端口所屬的VLAN。這就可以避免上述的更改設定之類的操作。動態VLAN可以大致分為3類:l 基于MAC地址的VLAN(MAC Based VLAN)l 基于子網的VLAN(Subnet Based VLAN)l 基于用戶的VLAN(User Based VLAN)其間的差異,主要在于根據OSI參照模型哪一層的信息決定端口所屬的VLAN。基于MAC地址的VLAN,就是通過查詢并記錄端口所

13、連計算機上網卡的MAC地址來決定端口的所屬。假定有一個MAC地址“A”被交換機設定為屬于VLAN“10”,那么不論MAC地址為“A”的這臺計算機連在交換機哪個端口,該端口都會被劃分到VLAN10中去。計算機連在端口1時,端口1屬于VLAN10;而計算機連在端口2時,則是端口2屬于VLAN10。MACVLANA1BCD122VLAN2VLAN112341234MAC:AMAC:BMAC:CMAC:DMAC:CMAC:BMAC:AMAC:D即使計算機改變了所連接的端口,交換機仍會查出它的MAC地址,并正確指定端口所屬的VLAN。由于是基于MAC地址決定所屬VLAN的,因此可以理解為這是一種在OSI

14、的第二層設定訪問鏈接的辦法。但是,基于MAC地址的VLAN,在設定時必須調查所連接的所有計算機的MAC地址并加以登錄。而且如果計算機交換了網卡,還是需要更改設定?;谧泳W的VLAN,則是通過所連計算機的IP地址,來決定端口所屬VLAN的。不像基于MAC地址的VLAN,即使計算機因為交換了網卡或是其他原因導致MAC地址改變,只要它的IP地址不變,就仍可以加入原先設定的VLAN。網絡地址VLAN/241/242VLAN2VLAN112341234即使計算機改變了所連接的端口,交換機仍會通過IP地址正確指定端口所屬的VLAN。IP地址

15、IP地址IP地址IP地址IP地址IP地址IP地址IP地址IP地址因此,與基于MAC地址的VLAN相比,能夠更為簡便地改變網絡結構。IP地址是OSI參照模型中第三層的信息,所以我們可以理解為基于子網的VLAN是一種在OSI的第三層設定訪問鏈接的方法。基于用戶的VLAN,則是根據交換機各端口所連的計算機上當前登錄的用戶,來決定該端口屬于哪個VLAN。這里的用戶識別信息,一般是計算機操作系統登錄的用戶,比如可以是Windows

16、域中使用的用戶名。這些用戶名信息,屬于OSI第四層以上的信息??偟膩碚f,決定端口所屬VLAN時利用的信息在OSI中的層面越高,就越適于構建靈活多變的網絡。訪問鏈接的總結綜上所述,設定訪問鏈接的手法有靜態VLAN和動態VLAN兩種,其中動態VLAN又可以繼續細分成幾個小類。其中基于子網的VLAN和基于用戶的VLAN有可能是網絡設備廠商使用獨有的協議實現的,不同廠商的設備之間互聯有可能出現兼容性問題;因此在選擇交換機時,一定要注意事先確認。下表總結了靜態VLAN和動態VLAN的相關信息。種類解說靜態VLAN(基于端口的VLAN)將交換機的各端口固定指派給VLAN動態VLAN基于MAC地址的VLAN

17、根據各端口所連計算機的MAC地址設定基于子網的VLAN根據各端口所連計算機的IP地址設定基于用戶的VLAN根據端口所連計算機上登錄用戶設定VLAN的匯聚鏈接需要設置跨越多臺交換機的VLAN時到此為止,我們學習的都是使用單臺交換機設置VLAN時的情況。那么,如果需要設置跨越多臺交換機的VLAN時又如何呢?在規劃企業級網絡時,很有可能會遇到隸屬于同一部門的用戶分散在同一座建筑物中的不同樓層的情況,這時可能就需要考慮到如何跨越多臺交換機設置VLAN的問題了。假設有如下圖所示的網絡,且需要將不同樓層的A、C和B、D設置為同一個VLAN。交換機1交換機2ACBD這時最關鍵的就是“交換機1和交換機2該如何

18、連接才好呢?”最簡單的方法,自然是在交換機1和交換機2上各設一個紅、藍VLAN專用的接口并互聯了。交換機1交換機2ACBD每增加一個VLAN,都需要添加一條互聯網線,并且還需要額外的端口。但是,這個辦法從擴展性和管理效率來看都不好。例如,在現有網絡基礎上再新建VLAN時,為了讓這個VLAN能夠互通,就需要在交換機間連接新的網線。建筑物樓層間的縱向布線是比較麻煩的,一般不能由基層管理人員隨意進行。并且,VLAN越多,樓層間(嚴格地說是交換機間)互聯所需的端口也越來越多,交換機端口的利用效率低是對資源的一種浪費、也限制了網絡的擴展。為了避免這種低效率的連接方式,人們想辦法讓交換機間互聯的網線集中到

19、一根上,這時使用的就是匯聚鏈接(Trunk Link)。何謂匯聚鏈接?匯聚鏈接(Trunk Link)指的是能夠轉發多個不同VLAN的通信的端口。匯聚鏈路上流通的數據幀,都被附加了用于識別分屬于哪個VLAN的特殊信息?,F在再讓我們回過頭來考慮一下剛才那個網絡如果采用匯聚鏈路又會如何呢?用戶只需要簡單地將交換機間互聯的端口設定為匯聚鏈接就可以了。這時使用的網線還是普通的UTP線,而不是什么其他的特殊布線。圖例中是交換機間互聯,因此需要用交叉線來連接。接下來,讓我們具體看看匯聚鏈接是如何實現跨越交換機間的VLAN的。A發送的數據幀從交換機1經過匯聚鏈路到達交換機2時,在數據幀上附加了表示屬于紅色V

20、LAN的標記。交換機2收到數據幀后,經過檢查VLAN標識發現這個數據幀是屬于紅色VLAN的,因此去除標記后根據需要將復原的數據幀只轉發給其他屬于紅色VLAN的端口。這時的轉送,是指經過確認目標MAC地址并與MAC地址列表比對后只轉發給目標MAC地址所連的端口。只有當數據幀是一個廣播幀、多播幀或是目標不明的幀時,它才會被轉發到所有屬于紅色VLAN的端口。藍色VLAN發送數據幀時的情形也與此相同。交換機1交換機2ACBD 數據數據數據Trunk LinkTrunk Link通過匯聚鏈路時,自動附加VLAN識別信息通過識別VLAN標識,轉發給相應的端口,同時去除VLAN標識,恢復成原始數據幀。通過匯

21、聚鏈路時附加的VLAN識別信息,有可能支持標準的“IEEE 802.1Q”協議,也可能是Cisco產品獨有的“ISL(Inter Switch Link)”。如果交換機支持這些規格,那么用戶就能夠高效率地構筑橫跨多臺交換機的VLAN。另外,匯聚鏈路上流通著多個VLAN的數據,自然負載較重。因此,在設定匯聚鏈接時,有一個前提就是必須支持100Mbps以上的傳輸速度。另外,默認條件下,匯聚鏈接會轉發交換機上存在的所有VLAN的數據。換一個角度看,可以認為匯聚鏈接(端口)同時屬于交換機上所有的VLAN。由于實際應用中很可能并不需要轉發所有VLAN的數據,因此為了減輕交換機的負載、也為了減少對帶寬的浪

22、費,我們可以通過用戶設定限制能夠經由匯聚鏈路互聯的VLAN。關于IEEE802.1Q和ISL的具體內容,將在下一講中提到。IEEE802.1Q與ISL匯聚方式在交換機的匯聚鏈接上,可以通過對數據幀附加VLAN信息,構建跨越多臺交換機的VLAN。附加VLAN信息的方法,最具有代表性的有:l IEEE802.1Ql ISL現在就讓我們看看這兩種協議分別如何對數據幀附加VLAN信息。IEEE802.1QIEEE802.1Q,俗稱“Dot One Q”,是經過IEEE認證的對數據幀附加VLAN識別信息的協議。在此,請大家先回憶一下以太網數據幀的標準格式。IEEE802.1Q所附加的VLAN識別信息,位

23、于數據幀中“發送源MAC地址”與“類別域(Type Field)”之間。具體內容為2字節的TPID和2字節的TCI,共計4字節。在數據幀中添加了4字節的內容,那么CRC值自然也會有所變化。這時數據幀上的CRC是插入TPID、TCI后,對包括它們在內的整個數據幀重新計算后所得的值。Ethernet Version 26Bytes6Bytes2Bytes461500Bytes4Bytes目標MAC地址發送源MAC地址CRC數據部分類型目標MAC地址發送源MAC地址CRC數據部分TPIDTCI類型6Bytes6Bytes2Bytes461500Bytes4BytesIEEE802.1Q0x81002

24、Bytes2Bytes內含12bit的VLAN標識CRC經過重新計算而當數據幀離開匯聚鏈路時,TPID和TCI會被去除,這時還會進行一次CRC的重新計算。TPID的值,固定為0x8100。交換機通過TPID,來確定數據幀內附加了基于IEEE802.1Q的VLAN信息。而實質上的VLAN ID,是TCI中的12位元。由于總共有12位,因此最多可供識別4096個VLAN。基于IEEE802.1Q附加的VLAN信息,就像在傳遞物品時附加的標簽。因此,它也被稱作“標簽型VLAN(Tagging VLAN)”。ISL(Inter Switch Link)ISL,是Cisco產品支持的一種與IEEE802

25、.1Q類似的、用于在匯聚鏈路上附加VLAN信息的協議。使用ISL后,每個數據幀頭部都會被附加26字節的“ISL包頭(ISL Header)”,并且在幀尾帶上通過對包括ISL包頭在內的整個數據幀進行計算后得到的4字節CRC值。換而言之,就是總共增加了30字節的信息。在使用ISL的環境下,當數據幀離開匯聚鏈路時,只要簡單地去除ISL包頭和新CRC就可以了。由于原先的數據幀及其CRC都被完整保留,因此無需重新計算CRC。Ethernet Version 2ISL6Bytes6Bytes2Bytes461500Bytes4Bytes目標MAC地址發送源MAC地址CRC數據部分類型6Bytes6Byte

26、s2Bytes461500Bytes4Bytes目標MAC地址發送源MAC地址CRC數據部分類型CRC4BytesISL包頭26Bytes包含VLAN編號保留原CRC不變對從ISL包頭到原CRC為止重新計算CRCISL有如用ISL包頭和新CRC將原數據幀整個包裹起來,因此也被稱為“封裝型VLAN(Encapsulated VLAN)”。需要注意的是,不論是IEEE802.1Q的“Tagging VLAN”,還是ISL的“Encapsulated VLAN”,都不是很嚴密的稱謂。不同的書籍與參考資料中,上述詞語有可能被混合使用,因此需要大家在學習時格外注意。并且由于ISL是Cisco獨有的協議,

27、因此只能用于Cisco網絡設備之間的互聯。VLAN間路由1VLAN間路由的必要性根據目前為止學習的知識,我們已經知道兩臺計算機即使連接在同一臺交換機上,只要所屬的VLAN不同就無法直接通信。接下來我們將要學習的就是如何在不同的VLAN間進行路由,使分屬不同VLAN的主機能夠互相通信。首先,先來復習一下為什么不同VLAN間不通過路由就無法通信。在LAN內的通信,必須在數據幀頭中指定通信目標的MAC地址。而為了獲取MAC地址,TCP/IP協議下使用的是ARP。ARP解析MAC地址的方法,則是通過廣播。也就是說,如果廣播報文無法到達,那么就無從解析MAC地址,亦即無法直接通信。計算機分屬不同的VLA

28、N,也就意味著分屬不同的廣播域,自然收不到彼此的廣播報文。因此,屬于不同VLAN的計算機之間無法直接互相通信。為了能夠在VLAN間通信,需要利用OSI參照模型中更高一層網絡層的信息(IP地址)來進行路由。關于路由的具體內容,以后有機會再詳細解說吧。路由功能,一般主要由路由器提供。但在今天的局域網里,我們也經常利用帶有路由功能的交換機三層交換機(Layer 3 Switch)來實現。接下來就讓我們分別看看使用路由器和三層交換機進行VLAN間路由時的情況。使用路由器進行VLAN間路由在使用路由器進行VLAN間路由時,與構建橫跨多臺交換機的VLAN時的情況類似,我們還是會遇到“該如何連接路由器與交換

29、機”這個問題。路由器和交換機的接線方式,大致有以下兩種:l 將路由器與交換機上的每個VLAN分別連接l 不論VLAN有多少個,路由器與交換機都只用一條網線連接最容易想到的,當然還是“把路由器和交換機以VLAN為單位分別用網線連接”了。將交換機上用于和路由器互聯的每個端口設為訪問鏈接,然后分別用網線與路由器上的獨立端口互聯。如下圖所示,交換機上有2個VLAN,那么就需要在交換機上預留2個端口用于與路由器互聯;路由器上同樣需要有2個端口;兩者之間用2條網線分別連接。交換機路由器連紅色VLAN的路由器端口連藍色VLAN的路由器端口如果采用這個辦法,大家應該不難想象它的擴展性很成問題。每增加一個新的V

30、LAN,都需要消耗路由器的端口和交換機上的訪問鏈接,而且還需要重新布設一條網線。而路由器,通常不會帶有太多LAN接口的。新建VLAN時,為了對應增加的VLAN所需的端口,就必須將路由器升級成帶有多個LAN接口的高端產品,這部分成本、還有重新布線所帶來的開銷,都使得這種接線法成為一種不受歡迎的辦法。那么,第二種辦法“不論VLAN數目多少,都只用一條網線連接路由器與交換機”呢?當使用一條網線連接路由器與交換機、進行VLAN間路由時,需要用到匯聚鏈接。具體實現過程為:首先將用于連接路由器的交換機端口設為匯聚鏈接,而路由器上的端口也必須支持匯聚鏈路。雙方用于匯聚鏈路的協議自然也必須相同。接著在路由器上

31、定義對應各個VLAN的“子接口(Sub Interface)”。盡管實際與交換機連接的物理端口只有一個,但在理論上我們可以把它分割為多個虛擬端口。VLAN將交換機從邏輯上分割成了多臺,因而用于VLAN間路由的路由器,也必須擁有分別對應各個VLAN的虛擬接口。交換機支持匯聚鏈路的路由器連接藍色VLAN的子接口匯聚鏈接連接紅色VLAN的子接口采用這種方法的話,即使之后在交換機上新建VLAN,仍只需要一條網線連接交換機和路由器。用戶只需要在路由器上新設一個對應新VLAN的子接口就可以了。與前面的方法相比,擴展性要強得多,也不用擔心需要升級LAN接口數不足的路由器或是重新布線。VLAN間路由2同一VL

32、AN內的通信接下來,我們繼續學習使用匯聚鏈路連接交換機與路由器時,VLAN間路由是如何進行的。如下圖所示,為各臺計算機以及路由器的子接口設定IP地址。交換機路由器端口的MAC地址:R連接藍色VLAN的子接口00/24匯聚鏈接連接紅色VLAN的子接口00/24123456A/24GW00B/24GW00C/24GW00D/24GW00紅色VLAN(VLAN ID=1)的網絡地址為

33、/24,藍色VLAN(VLAN ID=2)的網絡地址為/24。各計算機的MAC地址分別為A/B/C/D,路由器匯聚鏈接端口的MAC地址為R。交換機通過對各端口所連計算機MAC地址的學習,生成如下的MAC地址列表。端口MAC地址VLAN1A12B13C24D256R匯聚首先考慮計算機A與同一VLAN內的計算機B之間通信時的情形。計算機A發出ARP請求信息,請求解析B的MAC地址。交換機收到數據幀后,檢索MAC地址列表中與收信端口同屬一個VLAN的表項。結果發現,計算機B連接在端口2上,于是交換機將數據幀轉發給端口2,最終計算機B收到該幀。收發信雙方同屬

34、一個VLAN之內的通信,一切處理均在交換機內完成。交換機路由器端口的MAC地址:R連接藍色VLAN的子接口00/24匯聚鏈接連接紅色VLAN的子接口00/24123456A/24GW00B/24GW00C/24GW00D/24GW00數據幀源MAC:A;目標MAC:B源IP:/24目標IP:/24同一VLAN內的通信,處理均在交換機內

35、部完成不同VLAN間通信時數據的流程接下來是這一講的核心內容,不同VLAN間的通信。讓我們來考慮一下計算機A與計算機C之間通信時的情況。交換機路由器端口的MAC地址:R連接藍色VLAN的子接口,00/24連接紅色VLAN的子接口,00/24123456A/24GW00B/24GW00C/24GW00D/24GW00數據幀源MAC:A;目標MAC:R源IP:

36、/24目標IP:/24 數據幀 數據幀數據幀源MAC:R;目標MAC:C源IP:/24目標IP:/24計算機A從通信目標的IP地址()得出C與本機不屬于同一個網段。因此會向設定的默認網關(Default Gateway,GW)轉發數據幀。在發送數據幀之前,需要先用ARP獲取路由器的MAC地址。得到路由器的MAC地址R后,接下來就是按圖中所示的步驟發送往C去的數據幀。的數據幀中,目標MAC地址是路由器的地址R、但內含的目標IP地址仍是最終要通信的對象C的地址。這一部分的內容,涉及到局域網內經過路由器轉發時的通

37、信步驟,有機會再詳細解說吧。交換機在端口1上收到的數據幀后,檢索MAC地址列表中與端口1同屬一個VLAN的表項。由于匯聚鏈路會被看作屬于所有的VLAN,因此這時交換機的端口6也屬于被參照對象。這樣交換機就知道往MAC地址R發送數據幀,需要經過端口6轉發。從端口6發送數據幀時,由于它是匯聚鏈接,因此會被附加上VLAN識別信息。由于原先是來自紅色VLAN的數據幀,因此如圖中所示,會被加上紅色VLAN的識別信息后進入匯聚鏈路。路由器收到的數據幀后,確認其VLAN識別信息,由于它是屬于紅色VLAN的數據幀,因此交由負責紅色VLAN的子接口接收。接著,根據路由器內部的路由表,判斷該向哪里中繼。由于目標網

38、絡/24是藍色VLAN,且該網絡通過子接口與路由器直連,因此只要從負責藍色VLAN的子接口轉發就可以了。這時,數據幀的目標MAC地址被改寫成計算機C的目標地址;并且由于需要經過匯聚鏈路轉發,因此被附加了屬于藍色VLAN的識別信息。這就是圖中的數據幀。交換機收到的數據幀后,根據VLAN標識信息從MAC地址列表中檢索屬于藍色VLAN的表項。由于通信目標計算機C連接在端口3上、且端口3為普通的訪問鏈接,因此交換機會將數據幀除去VLAN識別信息后(數據幀)轉發給端口3,最終計算機C才能成功地收到這個數據幀。進行VLAN間通信時,即使通信雙方都連接在同一臺交換機上,也必須經過:發送

39、方交換機路由器交換機接收方這樣一個流程。三層交換機(1)使用路由器進行VLAN間路由時的問題現在,我們知道只要能提供VLAN間路由,就能夠使分屬不同VLAN的計算機互相通信。但是,如果使用路由器進行VLAN間路由的話,隨著VLAN之間流量的不斷增加,很可能導致路由器成為整個網絡的瓶頸。交換機使用被稱為ASIC(Application Specified Integrated Circuit)的專用硬件芯片處理數據幀的交換操作,在很多機型上都能實現以纜線速度(Wired Speed)交換。而路由器,則基本上是基于軟件處理的。即使以纜線速度接收到數據包,也無法在不限速的條件下轉發出去,因此會成為速

40、度瓶頸。就VLAN間路由而言,流量會集中到路由器和交換機互聯的匯聚鏈路部分,這一部分尤其特別容易成為速度瓶頸。并且從硬件上看,由于需要分別設置路由器和交換機,在一些空間狹小的環境里可能連設置的場所都成問題。三層交換機(Layer 3 Switch)為了解決上述問題,三層交換機應運而生。三層交換機,本質上就是“帶有路由功能的(二層)交換機”。路由屬于OSI參照模型中第三層網絡層的功能,因此帶有第三層路由功能的交換機才被稱為“三層交換機”。關于三層交換機的內部結構,可以參照下面的簡圖。三層交換機路由模塊交換模塊內部是匯聚鏈路在一臺本體內,分別設置了交換機模塊和路由器模塊;而內置的路由模塊與交換模塊

41、相同,使用ASIC硬件處理路由。因此,與傳統的路由器相比,可以實現高速路由。并且,路由與交換模塊是匯聚鏈接的,由于是內部連接,可以確保相當大的帶寬。三層交換機(2)使用三層交換機進行VLAN間路由(VLAN內通信)在三層交換機內部數據究竟是怎樣傳播的呢?基本上,它和使用匯聚鏈路連接路由器與交換機時的情形相同。 假設有如下圖所示的4臺計算機與三層交換機互聯。當使用路由器連接時,一般需要在LAN接口上設置對應各VLAN的子接口;而三層交換機則是在內部生成“VLAN接口(VLAN Interface)”。VLAN接口,是用于各VLAN收發數據的接口。(注:在Cisco的Catalyst系列交換機上,

42、VLAN Interface被稱為SVISwitched Virtual Interface)路由模塊交換模塊A(MAC)/24GW00B(MAC)/24GW00C(MAC)/24GW00D(MAC)/24GW00紅色VLAN接口00/24藍色VLAN接口00/24源MAC:A;目標MAC:B源IP:目標IP:1234VLAN內通信在

43、交換模塊內部完成為了與使用路由器進行VLAN間路由對比,讓我們同樣來考慮一下計算機A與計算機B之間通信時的情況。首先是目標地址為B的數據幀被發到交換機;通過檢索同一VLAN的MAC地址列表發現計算機B連在交換機的端口2上;因此將數據幀轉發給端口2。使用三層交換機進行VLAN間路由(VLAN間通信)接下來設想一下計算機A與計算機C間通信時的情形。針對目標IP地址,計算機A可以判斷出通信對象不屬于同一個網絡,因此向默認網關發送數據(Frame 1)。交換機通過檢索MAC地址列表后,經由內部匯聚鏈接,將數據幀轉發給路由模塊。在通過內部匯聚鏈路時,數據幀被附加了屬于紅色VLAN的VLAN識別信息(Fr

44、ame 2)。路由模塊在收到數據幀時,先由數據幀附加的VLAN識別信息分辨出它屬于紅色VLAN,據此判斷由紅色VLAN接口負責接收并進行路由處理。因為目標網絡/24是直連路由器的網絡、且對應藍色VLAN;因此,接下來就會從藍色VLAN接口經由內部匯聚鏈路轉發回交換模塊。在通過匯聚鏈路時,這次數據幀被附加上屬于藍色VLAN的識別信息(Frame 3)。交換機收到這個幀后,檢索藍色VLAN的MAC地址列表,確認需要將它轉發給端口3。由于端口3是通常的訪問鏈接,因此轉發前會先將VLAN識別信息除去(Frame 4)。最終,計算機C成功地收到交換機轉發來的數據幀。路由模塊交換模塊

45、A(MAC)/24GW00B(MAC)/24GW00C(MAC)/24GW00D(MAC)/24GW00紅色VLAN接口00/24藍色VLAN接口00/24Frame 1源MAC:A;目標MAC:R源IP:目標IP:1234Frame 2附加紅色VLAN識別信息源MAC:A;目標MAC:R源IP:目標IP:192

46、.168.2.1Frame 3附加藍色VLAN識別信息源MAC:R;目標MAC:C源IP:目標IP:Frame 4源MAC:R;目標MAC:C源IP:目標IP:整體的流程,與使用外部路由器時的情況十分相似都需要經過發送方交換模塊路由模塊交換模塊接收方。加速VLAN間通信的手段流(Flow)根據到此為止的學習,我們已經知道VLAN間路由,必須經過外部的路由器或是三層交換機的內置路由模塊。但是,有時并不是所有的數據都需要經過路由器(或路由模塊)。例如,使用FTP(File Transfer Protocol)傳

47、輸容量為數MB以上的較大的文件時,由于MTU的限制,IP協議會將數據分割成小塊后傳輸、并在接收方重新組合。這些被分割的數據,“發送的目標”是完全相同的。發送目標相同,也就意味著同樣的目標IP地址、目標端口號(注:特別強調一下,這里指的是TCP/UDP端口)。自然,源IP地址、源端口號也應該相同。這樣一連串的數據流被稱為“流(Flow)”。只要將流最初的數據正確地路由以后,后繼的數據理應也會被同樣地路由。據此,后繼的數據不再需要路由器進行路由處理;通過省略反復進行的路由操作,可以進一步提高VLAN間路由的速度。路由模塊MAC地址:R交換模塊1234FTP客戶端IP:/24M

48、AC地址:AFTP服務器IP:/24MAC地址:BEther HeaderIP HeaderTCP HeaderDataCRC一連串流的以太幀頭、TCP/IP包頭都相同。路由的結果,也應該完全相同。目標MAC:R源MAC:B目標端口:2000源端口:21目標IP:源IP:加速VLAN間路由的機制接下來,讓我們具體考慮一下該如何使用三層交換機進行高速VLAN間路由。首先,整個流的第一塊數據,照常由交換機轉發路由器路由再次由交換機轉發到目標所連端口。這時,將第一塊數據路由的結果記錄到緩存里保存下來。需要記錄的信息有:l 目標IP地址

49、l 源IP地址l 目標TCP/UDP端口號l 源TCP/UDP端口號l 接收端口號(交換機)l 轉發端口號(交換機)l 轉發目標MAC地址等等。同一個流的第二塊以后的數據到達交換機后,直接通過查詢先前保存在緩存中的信息查出“轉發端口號”后就可以轉發給目標所連端口了。這樣一來,就不需要再一次次經由內部路由模塊中繼,而僅憑交換機內部的緩存信息就足以判斷應該轉發的端口。這時,交換機會對數據幀進行由路由器中繼時相似的處理,例如改寫MAC地址、IP包頭中的TTL和Check Sum校驗碼信息等,路由模塊MAC地址:R交換模塊1234FTP客戶端IP:/24MAC地址:AFTP服務器

50、IP:/24MAC地址:B路由的結果已被緩存下來1、同一個流的第二塊數據到達交換機。2、參照交換機上的緩存信息后,數據幀被轉發到相應的端口。3、如同經過路由器中繼一樣,部分數據包頭信息被改寫。從第二塊數據開始,路由模塊不再參與流的路由。通過在交換機上緩存路由結果,實現了以纜線速度(Wired Speed)接收發送方傳輸來數據的數據、并且能夠全速路由、轉發給接收方。需要注意的是,類似的加速VLAN間路由的手法多由各廠商獨有的技術所實現,并且該功能的稱謂也因廠商而異。例如,在Cisco的Catalyst系列交換機上,這種功能被稱為“多層交換(Multi Layer Switc

51、hing)”。另外,除了三層交換機的內部路由模塊,外部路由器中的某些機型也支持類似的高速VLAN間路由機制。傳統型路由器存在的意義路由器的必要性三層交換機的價格,在問世之初非常昂貴,但是現在它們的價格已經下降了許多。目前國外一些廉價機型的售價,折合成人民幣后僅為一萬多元,而且還在繼續下降中。既然三層交換機能夠提供比傳統型路由器更為高速的路由處理,那么網絡中還有使用路由器的必要嗎?答案是:“是”。使用路由器的必要性,主要表現在以下幾個方面:l 用于與WAN連接三層交換機終究是“交換機”。也就是說,絕大多數機型只配有LAN(以太網)接口。在少數高端交換機上也有用于連接WAN的串行接口或是ATM接口

52、,但在大多數情況下,連接WAN還是需要用到路由器。l 保證網絡安全在三層交換機上,通過數據包過濾也能確保一定程度的網絡安全。但是使用路由器所提供的各種網絡安全功能,用戶可以構建更為安全可靠的網絡。路由器提供的網絡安全功能中,除了最基本的數據包過濾功能外,還能基于IPSec構建VPN(Virtual Private Network)、利用RADIUS進行用戶認證等等。l 支持除TCP/IP以外的網絡架構盡管TCP/IP已經成為當前網絡協議架構的主流,但還有不少網絡利用Novell Netware下的IPX/SPX或Macintosh下的Appletalk等網絡協議。三層交換機中,除了部分高端機型外基本上還只支持TCP/IP。因此,在需要使用除TCP/IP之外其他網絡協議的環境下,路由器還是必不可少的。注:在少數高端交換機上,也能支持上述路由器的功能。例如Cisco的Catalyst6500系列,就可以選擇與WAN連接的接口模塊;還有可選的基于IPSec實現VPN的模塊;并且也能支持TCP

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論