一、為什么需要VLAN
1.1、什么是VLAN??
VLAN(Virtual LAN),翻譯成中文是“虛擬局域網(wǎng)”。LAN可以是由少數(shù)幾臺(tái)家用計(jì)算機(jī)構(gòu)成的網(wǎng)絡(luò),也可以是數(shù)以百計(jì)的計(jì)算機(jī)構(gòu)成的企業(yè)網(wǎng)絡(luò)。VLAN所指的LAN特指使用路由器分割的網(wǎng)絡(luò)——也就是廣播域。
在此讓我們先復(fù)習(xí)一下廣播域的概念。廣播域,指的是廣播幀(目標(biāo)MAC地址全部為1)所能傳遞到的范圍,亦即能夠直接通信的范圍。嚴(yán)格地說(shuō),并不僅僅是廣播幀,多播幀(Multicast Frame)和目標(biāo)不明的單播幀(Unknown Unicast Frame)也能在同一個(gè)廣播域中暢行無(wú)阻。
本來(lái),二層交換機(jī)只能構(gòu)建單一的廣播域,不過(guò)使用VLAN功能后,它能夠?qū)⒕W(wǎng)絡(luò)分割成多個(gè)廣播域。
1.2、未分割廣播域時(shí)將會(huì)發(fā)生什么?
那么,為什么需要分割廣播域呢?那是因?yàn)?,如果僅有一個(gè)廣播域,有可能會(huì)影響到網(wǎng)絡(luò)整體的傳輸性能。具體原因,請(qǐng)參看附圖加深理解。
圖中,是一個(gè)由5臺(tái)二層交換機(jī)(交換機(jī)1~5)連接了大量客戶(hù)機(jī)構(gòu)成的網(wǎng)絡(luò)。假設(shè)這時(shí),計(jì)算機(jī)A需要與計(jì)算機(jī)B通信。在基于以太網(wǎng)的通信中,必須在數(shù)據(jù)幀中指定目標(biāo)MAC地址才能正常通信,因此計(jì)算機(jī)A必須先廣播“ARP請(qǐng)求(ARP Request)信息”,來(lái)嘗試獲取計(jì)算機(jī)B的MAC地址。
交換機(jī)1收到廣播幀(ARP請(qǐng)求)后,會(huì)將它轉(zhuǎn)發(fā)給除接收端口外的其他所有端口,也就是Flooding了。接著,交換機(jī)2收到廣播幀后也會(huì)Flooding。交換機(jī)3、4、5也還會(huì)Flooding。最終ARP請(qǐng)求會(huì)被轉(zhuǎn)發(fā)到同一網(wǎng)絡(luò)中的所有客戶(hù)機(jī)上。
大家注意一下,這個(gè)ARP請(qǐng)求原本是為了獲得計(jì)算機(jī)B的MAC地址而發(fā)出的。也就是說(shuō):只要計(jì)算機(jī)B能收到就萬(wàn)事大吉了??墒鞘聦?shí)上,數(shù)據(jù)幀卻傳遍整個(gè)網(wǎng)絡(luò),導(dǎo)致所有的計(jì)算機(jī)都收到了它。如此一來(lái),一方面廣播信息消耗了網(wǎng)絡(luò)整體的帶寬,另一方面,收到廣播信息的計(jì)算機(jī)還要消耗一部分CPU時(shí)間來(lái)對(duì)它進(jìn)行處理。造成了網(wǎng)絡(luò)帶寬和CPU運(yùn)算能力的大量無(wú)謂消耗。
1.3、廣播信息是那么經(jīng)常發(fā)出的嗎?
讀到這里,你也許會(huì)問(wèn):廣播信息真是那么頻繁出現(xiàn)的嗎?
答案是:是的!實(shí)際上廣播幀會(huì)非常頻繁地出現(xiàn)。利用TCP/IP協(xié)議棧通信時(shí),除了前面出現(xiàn)的ARP外,還有可能需要發(fā)出DHCP、RIP等很多其他類(lèi)型的廣播信息。
ARP廣播,是在需要與其他主機(jī)通信時(shí)發(fā)出的。當(dāng)客戶(hù)機(jī)請(qǐng)求DHCP服務(wù)器分配IP地址時(shí),就必須發(fā)出DHCP的廣播。而使用RIP作為路由協(xié)議時(shí),每隔30秒路由器都會(huì)對(duì)鄰近的其他路由器廣播一次路由信息。RIP以外的其他路由協(xié)議使用多播傳輸路由信息,這也會(huì)被交換機(jī)轉(zhuǎn)發(fā)(Flooding)。除了TCP/IP以外,NetBEUI、IPX和Apple Talk等協(xié)議也經(jīng)常需要用到廣播。例如在Windows下雙擊打開(kāi)“網(wǎng)絡(luò)計(jì)算機(jī)”時(shí)就會(huì)發(fā)出廣播(多播)信息。(Windows?XP除外……)
總之,廣播就在我們身邊。下面是一些常見(jiàn)的廣播通信:
■ ARP請(qǐng)求:建立IP地址和MAC地址的映射關(guān)系。
■ RIP:一種路由協(xié)議。
■ DHCP:用于自動(dòng)設(shè)定IP地址的協(xié)議。
■ NetBEUI:Windows下使用的網(wǎng)絡(luò)協(xié)議。
■ IPX:Novell Netware使用的網(wǎng)絡(luò)協(xié)議。
■ Apple Talk:蘋(píng)果公司的Macintosh計(jì)算機(jī)使用的網(wǎng)絡(luò)協(xié)議。
如果整個(gè)網(wǎng)絡(luò)只有一個(gè)廣播域,那么一旦發(fā)出廣播信息,就會(huì)傳遍整個(gè)網(wǎng)絡(luò),并且對(duì)網(wǎng)絡(luò)中的主機(jī)帶來(lái)額外的負(fù)擔(dān)。因此,在設(shè)計(jì)LAN時(shí),需要注意如何才能有效地分割廣播域。
1.4、廣播域的分割與VLAN的必要性
分割廣播域時(shí),一般都必須使用到路由器。使用路由器后,可以以路由器上的網(wǎng)絡(luò)接口(LAN Interface)為單位分割廣播域。
但是,通常情況下路由器上不會(huì)有太多的網(wǎng)絡(luò)接口,其數(shù)目多在1~4個(gè)左右。隨著寬帶連接的普及,寬帶路由器(或者叫IP共享器)變得較為常見(jiàn),但是需要注意的是,它們上面雖然帶著多個(gè)(一般為4個(gè)左右)連接LAN一側(cè)的網(wǎng)絡(luò)接口,但那實(shí)際上是路由器內(nèi)置的交換機(jī),并不能分割廣播域。
況且使用路由器分割廣播域的話(huà),所能分割的個(gè)數(shù)完全取決于路由器的網(wǎng)絡(luò)接口個(gè)數(shù),使得用戶(hù)無(wú)法自由地根據(jù)實(shí)際需要分割廣播域。
與路由器相比,二層交換機(jī)一般帶有多個(gè)網(wǎng)絡(luò)接口。因此如果能使用它分割廣播域,那么無(wú)疑運(yùn)用上的靈活性會(huì)大大提高。
用于在二層交換機(jī)上分割廣播域的技術(shù),就是VLAN。通過(guò)利用VLAN,我們可以自由設(shè)計(jì)廣播域的構(gòu)成,提高網(wǎng)絡(luò)設(shè)計(jì)的自由度。
二、實(shí)現(xiàn)VLAN的機(jī)制
2.1、實(shí)現(xiàn)VLAN的機(jī)制
在理解了“為什么需要VLAN”之后,接下來(lái)讓我們來(lái)了解一下交換機(jī)是如何使用VLAN分割廣播域的。
首先,在一臺(tái)未設(shè)置任何VLAN的二層交換機(jī)上,任何廣播幀都會(huì)被轉(zhuǎn)發(fā)給除接收端口外的所有其他端口(Flooding)。例如,計(jì)算機(jī)A發(fā)送廣播信息后,會(huì)被轉(zhuǎn)發(fā)給端口2、3、4。
時(shí),如果在交換機(jī)上生成紅、藍(lán)兩個(gè)VLAN;同時(shí)設(shè)置端口1、2屬于紅色VLAN、端口3、4屬于藍(lán)色VLAN。再?gòu)腁發(fā)出廣播幀的話(huà),交換機(jī)就只會(huì)把它轉(zhuǎn)發(fā)給同屬于一個(gè)VLAN的其他端口——也就是同屬于紅色VLAN的端口2,不會(huì)再轉(zhuǎn)發(fā)給屬于藍(lán)色VLAN的端口。
同樣,C發(fā)送廣播信息時(shí),只會(huì)被轉(zhuǎn)發(fā)給其他屬于藍(lán)色VLAN的端口,不會(huì)被轉(zhuǎn)發(fā)給屬于紅色VLAN的端口。
就這樣,VLAN通過(guò)限制廣播幀轉(zhuǎn)發(fā)的范圍分割了廣播域。上圖中為了便于說(shuō)明,以紅、藍(lán)兩色識(shí)別不同的VLAN,在實(shí)際使用中則是用“VLAN ID”來(lái)區(qū)分的。
2.2、直觀地描述VLAN
如果要更為直觀地描述VLAN的話(huà),我們可以把它理解為將一臺(tái)交換機(jī)在邏輯上分割成了數(shù)臺(tái)交換機(jī)。在一臺(tái)交換機(jī)上生成紅、藍(lán)兩個(gè)VLAN,也可以看作是將一臺(tái)交換機(jī)換做一紅一藍(lán)兩臺(tái)虛擬的交換機(jī)。
紅、藍(lán)兩個(gè)VLAN之外生成新的VLAN時(shí),可以想象成又添加了新的交換機(jī)。
但是,VLAN生成的邏輯上的交換機(jī)是互不相通的。因此,在交換機(jī)上設(shè)置VLAN后,如果未做其他處理,VLAN間是無(wú)法通信的。
明明接在同一臺(tái)交換機(jī)上,但卻偏偏無(wú)法通信——這個(gè)事實(shí)也許讓人難以接受。但它既是VLAN方便易用的特征,又是使VLAN令人難以理解的原因。
2.3、需要VLAN間通信時(shí)怎么辦?
那么,當(dāng)我們需要在不同的VLAN間通信時(shí)又該如何是好呢?
請(qǐng)大家再次回憶一下:VLAN是廣播域。而通常兩個(gè)廣播域之間由路由器連接,廣播域之間來(lái)往的數(shù)據(jù)包都是由路由器中繼的。因此,VLAN間的通信也需要路由器提供中繼服務(wù),這被稱(chēng)作“VLAN間路由”。
VLAN間路由,可以使用普通的路由器,也可以使用三層交換機(jī)。其中的具體內(nèi)容,等有機(jī)會(huì)再細(xì)說(shuō)吧。在這里希望大家先記住不同VLAN間互相通信時(shí)需要用到路由功能。
三、VLAN的訪(fǎng)問(wèn)鏈接
3.1、交換機(jī)的端口
交換機(jī)的端口,可以分為以下兩種:
■ 訪(fǎng)問(wèn)鏈接(Access Link)
■ 匯聚鏈接(Trunk Link)
接下來(lái)就讓我們來(lái)依次學(xué)習(xí)這兩種不同端口的特征。這一講,首先學(xué)習(xí)“訪(fǎng)問(wèn)鏈接”。
3.2、訪(fǎng)問(wèn)鏈接
訪(fǎng)問(wèn)鏈接,指的是“只屬于一個(gè)VLAN,且僅向該VLAN轉(zhuǎn)發(fā)數(shù)據(jù)幀”的端口。在大多數(shù)情況下,訪(fǎng)問(wèn)鏈接所連的是客戶(hù)機(jī)。
通常設(shè)置VLAN的順序是:
●生成VLAN
●設(shè)定訪(fǎng)問(wèn)鏈接(決定各端口屬于哪一個(gè)VLAN)
設(shè)定訪(fǎng)問(wèn)鏈接的手法,可以是事先固定的、也可以是根據(jù)所連的計(jì)算機(jī)而動(dòng)態(tài)改變?cè)O(shè)定。前者被稱(chēng)為“靜態(tài)VLAN”、后者自然就是“動(dòng)態(tài)VLAN”了。
3.2.1、靜態(tài)VLAN
靜態(tài)VLAN又被稱(chēng)為基于端口的VLAN(Port Based VLAN)。顧名思義,就是明確指定各端口屬于哪個(gè)VLAN的設(shè)定方法。
于需要一個(gè)個(gè)端口地指定,因此當(dāng)網(wǎng)絡(luò)中的計(jì)算機(jī)數(shù)目超過(guò)一定數(shù)字(比如數(shù)百臺(tái))后,設(shè)定操作就會(huì)變得煩雜無(wú)比。并且,客戶(hù)機(jī)每次變更所連端口,都必須同時(shí)更改該端口所屬VLAN的設(shè)定——這顯然靜態(tài)VLAN不適合那些需要頻繁改變拓補(bǔ)結(jié)構(gòu)的網(wǎng)絡(luò)。
3.2.2、動(dòng)態(tài)VLAN
另一方面,動(dòng)態(tài)VLAN則是根據(jù)每個(gè)端口所連的計(jì)算機(jī),隨時(shí)改變端口所屬的VLAN。這就可以避免上述的更改設(shè)定之類(lèi)的操作。動(dòng)態(tài)VLAN可以大致分為3類(lèi):
● 基于MAC地址的VLAN(MAC Based VLAN)
● 基于子網(wǎng)的VLAN(Subnet Based VLAN)
● 基于用戶(hù)的VLAN(User Based VLAN)
其間的差異,主要在于根據(jù)OSI參照模型哪一層的信息決定端口所屬的VLAN。
①、基于MAC地址的VLAN,就是通過(guò)查詢(xún)并記錄端口所連計(jì)算機(jī)上網(wǎng)卡的MAC地址來(lái)決定端口的所屬。假定有一個(gè)MAC地址“A”被交換機(jī)設(shè)定為屬于VLAN“10”,那么不論MAC地址為“A”的這臺(tái)計(jì)算機(jī)連在交換機(jī)哪個(gè)端口,該端口都會(huì)被劃分到VLAN10中去。計(jì)算機(jī)連在端口1時(shí),端口1屬于VLAN10;而計(jì)算機(jī)連在端口2時(shí),則是端口2屬于VLAN10。
②、基于子網(wǎng)的VLAN,則是通過(guò)所連計(jì)算機(jī)的IP地址,來(lái)決定端口所屬VLAN的。不像基于MAC地址的VLAN,即使計(jì)算機(jī)因?yàn)榻粨Q了網(wǎng)卡或是其他原因?qū)е翸AC地址改變,只要它的IP地址不變,就仍可以加入原先設(shè)定的VLAN。
因此,與基于MAC地址的VLAN相比,能夠更為簡(jiǎn)便地改變網(wǎng)絡(luò)結(jié)構(gòu)。IP地址是OSI參照模型中第三層的信息,所以我們可以理解為基于子網(wǎng)的VLAN是一種在OSI的第三層設(shè)定訪(fǎng)問(wèn)鏈接的方法。
③、基于用戶(hù)的VLAN,則是根據(jù)交換機(jī)各端口所連的計(jì)算機(jī)上當(dāng)前登錄的用戶(hù),來(lái)決定該端口屬于哪個(gè)VLAN。這里的用戶(hù)識(shí)別信息,一般是計(jì)算機(jī)操作系統(tǒng)登錄的用戶(hù),比如可以是Windows域中使用的用戶(hù)名。這些用戶(hù)名信息,屬于OSI第四層以上的信息。
總的來(lái)說(shuō),決定端口所屬VLAN時(shí)利用的信息在OSI中的層面越高,就越適于構(gòu)建靈活多變的網(wǎng)絡(luò)。
3.2.3、訪(fǎng)問(wèn)鏈接的總結(jié)
綜上所述,設(shè)定訪(fǎng)問(wèn)鏈接的手法有靜態(tài)VLAN和動(dòng)態(tài)VLAN兩種,其中動(dòng)態(tài)VLAN又可以繼續(xù)細(xì)分成幾個(gè)小類(lèi)。
其中基于子網(wǎng)的VLAN和基于用戶(hù)的VLAN有可能是網(wǎng)絡(luò)設(shè)備廠商使用獨(dú)有的協(xié)議實(shí)現(xiàn)的,不同廠商的設(shè)備之間互聯(lián)有可能出現(xiàn)兼容性問(wèn)題;因此在選擇交換機(jī)時(shí),一定要注意事先確認(rèn)。
下表總結(jié)了靜態(tài)VLAN和動(dòng)態(tài)VLAN的相關(guān)信息。
?
種類(lèi) | 解說(shuō) | |
靜態(tài)VLAN(基于端口的VLAN) | ?將交換機(jī)的各端口固定指派給VLAN | |
動(dòng)態(tài)VLAN | ?基于MAC地址的VLAN | ?根據(jù)各端口所連計(jì)算機(jī)的MAC地址設(shè)定 |
?基于子網(wǎng)的VLAN | ?根據(jù)各端口所連計(jì)算機(jī)的IP地址設(shè)定 | |
?基于用戶(hù)的VLAN | ?根據(jù)端口所連計(jì)算機(jī)上登錄用戶(hù)設(shè)定 |
?
四、VLAN的匯聚鏈接
4.1、設(shè)置跨越多臺(tái)交換機(jī)的VLAN
到此為止,我們學(xué)習(xí)的都是使用單臺(tái)交換機(jī)設(shè)置VLAN時(shí)的情況。那么,如果需要設(shè)置跨越多臺(tái)交換機(jī)的VLAN時(shí)又如何呢?
在規(guī)劃企業(yè)級(jí)網(wǎng)絡(luò)時(shí),很有可能會(huì)遇到隸屬于同一部門(mén)的用戶(hù)分散在同一座建筑物中的不同樓層的情況,這時(shí)可能就需要考慮到如何跨越多臺(tái)交換機(jī)設(shè)置VLAN的問(wèn)題了。假設(shè)有如下圖所示的網(wǎng)絡(luò),且需要將不同樓層的A、C和B、D設(shè)置為同一個(gè)VLAN。
時(shí)最關(guān)鍵的就是“交換機(jī)1和交換機(jī)2該如何連接才好呢?”
最簡(jiǎn)單的方法,自然是在交換機(jī)1和交換機(jī)2上各設(shè)一個(gè)紅、藍(lán)VLAN專(zhuān)用的接口并互聯(lián)了。
是,這個(gè)辦法從擴(kuò)展性和管理效率來(lái)看都不好。例如,在現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)上再新建VLAN時(shí),為了讓這個(gè)VLAN能夠互通,就需要在交換機(jī)間連接新的網(wǎng)線(xiàn)。建筑物樓層間的縱向布線(xiàn)是比較麻煩的,一般不能由基層管理人員隨意進(jìn)行。并且,VLAN越多,樓層間(嚴(yán)格地說(shuō)是交換機(jī)間)互聯(lián)所需的端口也越來(lái)越多,交換機(jī)端口的利用效率低是對(duì)資源的一種浪費(fèi)、也限制了網(wǎng)絡(luò)的擴(kuò)展。
為了避免這種低效率的連接方式,人們想辦法讓交換機(jī)間互聯(lián)的網(wǎng)線(xiàn)集中到一根上,這時(shí)使用的就是匯聚鏈接(Trunk Link)。
4.2、何謂匯聚鏈接?
匯聚鏈接(Trunk Link)指的是能夠轉(zhuǎn)發(fā)多個(gè)不同VLAN的通信的端口。
匯聚鏈路上流通的數(shù)據(jù)幀,都被附加了用于識(shí)別分屬于哪個(gè)VLAN的特殊信息。
現(xiàn)在再讓我們回過(guò)頭來(lái)考慮一下剛才那個(gè)網(wǎng)絡(luò)如果采用匯聚鏈路又會(huì)如何呢?用戶(hù)只需要簡(jiǎn)單地將交換機(jī)間互聯(lián)的端口設(shè)定為匯聚鏈接就可以了。這時(shí)使用的網(wǎng)線(xiàn)還是普通的UTP線(xiàn),而不是什么其他的特殊布線(xiàn)。圖例中是交換機(jī)間互聯(lián),因此需要用交叉線(xiàn)來(lái)連接。
接下來(lái),讓我們具體看看匯聚鏈接是如何實(shí)現(xiàn)跨越交換機(jī)間的VLAN的。
①、A發(fā)送的數(shù)據(jù)幀從交換機(jī)1經(jīng)過(guò)匯聚鏈路到達(dá)交換機(jī)2時(shí),在數(shù)據(jù)幀上附加了表示屬于紅色VLAN的標(biāo)記。
②、交換機(jī)2收到數(shù)據(jù)幀后,經(jīng)過(guò)檢查VLAN標(biāo)識(shí)發(fā)現(xiàn)這個(gè)數(shù)據(jù)幀是屬于紅色VLAN的。
③、因此去除標(biāo)記后根據(jù)需要將復(fù)原的數(shù)據(jù)幀只轉(zhuǎn)發(fā)給其他屬于紅色VLAN的端口。
這時(shí)的轉(zhuǎn)送,是指經(jīng)過(guò)確認(rèn)目標(biāo)MAC地址并與MAC地址列表比對(duì)后只轉(zhuǎn)發(fā)給目標(biāo)MAC地址所連的端口。
只有當(dāng)數(shù)據(jù)幀是一個(gè)廣播幀、多播幀或是目標(biāo)不明的幀時(shí),它才會(huì)被轉(zhuǎn)發(fā)到所有屬于紅色VLAN的端口。
同理,藍(lán)色VLAN發(fā)送數(shù)據(jù)幀時(shí)的情形也與此相同。
通過(guò)匯聚鏈路時(shí)附加的VLAN識(shí)別信息,有可能支持標(biāo)準(zhǔn)的“IEEE 802.1Q”協(xié)議,也可能是Cisco產(chǎn)品獨(dú)有的“ISL(Inter Switch Link)”。如果交換機(jī)支持這些規(guī)格,那么用戶(hù)就能夠高效率地構(gòu)筑橫跨多臺(tái)交換機(jī)的VLAN。
另外,匯聚鏈路上流通著多個(gè)VLAN的數(shù)據(jù),自然負(fù)載較重。因此,在設(shè)定匯聚鏈接時(shí),有一個(gè)前提就是必須支持100Mbps以上的傳輸速度。
另外,默認(rèn)條件下,匯聚鏈接會(huì)轉(zhuǎn)發(fā)交換機(jī)上存在的所有VLAN的數(shù)據(jù)。換一個(gè)角度看,可以認(rèn)為匯聚鏈接(端口)同時(shí)屬于交換機(jī)上所有的VLAN。由于實(shí)際應(yīng)用中很可能并不需要轉(zhuǎn)發(fā)所有VLAN的數(shù)據(jù),因此為了減輕交換機(jī)的負(fù)載、也為了減少對(duì)帶寬的浪費(fèi),我們可以通過(guò)用戶(hù)設(shè)定限制能夠經(jīng)由匯聚鏈路互聯(lián)的VLAN。
關(guān)于IEEE802.1Q和ISL的具體內(nèi)容,將在下一講中提到。
五、VLAN的匯聚方式(IEEE802.1Q與ISL)
5.1、匯聚方式
在交換機(jī)的匯聚鏈接上,可以通過(guò)對(duì)數(shù)據(jù)幀附加VLAN信息,構(gòu)建跨越多臺(tái)交換機(jī)的VLAN。
附加VLAN信息的方法,最具有代表性的有:
● IEEE802.1Q
● ISL
現(xiàn)在就讓我們看看這兩種協(xié)議分別如何對(duì)數(shù)據(jù)幀附加VLAN信息。
5.2、IEEE802.1Q
IEEE802.1Q,俗稱(chēng)“Dot One Q”,是經(jīng)過(guò)IEEE認(rèn)證的對(duì)數(shù)據(jù)幀附加VLAN識(shí)別信息的協(xié)議。
在此,請(qǐng)大家先回憶一下以太網(wǎng)數(shù)據(jù)幀的標(biāo)準(zhǔn)格式。
IEEE802.1Q所附加的VLAN識(shí)別信息,位于數(shù)據(jù)幀中“發(fā)送源MAC地址”與“類(lèi)別域(Type Field)”之間。具體內(nèi)容為2字節(jié)的TPID和2字節(jié)的TCI,共計(jì)4字節(jié)。
在數(shù)據(jù)幀中添加了4字節(jié)的內(nèi)容,那么CRC值自然也會(huì)有所變化。這時(shí)數(shù)據(jù)幀上的CRC是插入TPID、TCI后,對(duì)包括它們?cè)趦?nèi)的整個(gè)數(shù)據(jù)幀重新計(jì)算后所得的值。
而當(dāng)數(shù)據(jù)幀離開(kāi)匯聚鏈路時(shí),TPID和TCI會(huì)被去除,這時(shí)還會(huì)進(jìn)行一次CRC的重新計(jì)算。
TPID的值,固定為0x8100。交換機(jī)通過(guò)TPID,來(lái)確定數(shù)據(jù)幀內(nèi)附加了基于IEEE802.1Q的VLAN信息。而實(shí)質(zhì)上的VLAN ID,是TCI中的12位元。由于總共有12位,因此最多可供識(shí)別4096個(gè)VLAN。
基于IEEE802.1Q附加的VLAN信息,就像在傳遞物品時(shí)附加的標(biāo)簽。因此,它也被稱(chēng)作“標(biāo)簽型VLAN(Tagging VLAN)”。
5.3、ISL(Inter Switch Link)
ISL,是Cisco產(chǎn)品支持的一種與IEEE802.1Q類(lèi)似的、用于在匯聚鏈路上附加VLAN信息的協(xié)議。
使用ISL后,每個(gè)數(shù)據(jù)幀頭部都會(huì)被附加26字節(jié)的“ISL包頭(ISL Header)”,并且在幀尾帶上通過(guò)對(duì)包括ISL包頭在內(nèi)的整個(gè)數(shù)據(jù)幀進(jìn)行計(jì)算后得到的4字節(jié)CRC值。換而言之,就是總共增加了30字節(jié)的信息。
在使用ISL的環(huán)境下,當(dāng)數(shù)據(jù)幀離開(kāi)匯聚鏈路時(shí),只要簡(jiǎn)單地去除ISL包頭和新CRC就可以了。由于原先的數(shù)據(jù)幀及其CRC都被完整保留,因此無(wú)需重新計(jì)算CRC。
ISL有如用ISL包頭和新CRC將原數(shù)據(jù)幀整個(gè)包裹起來(lái),因此也被稱(chēng)為“封裝型VLAN(Encapsulated VLAN)”。
需要注意的是,不論是IEEE802.1Q的“Tagging VLAN”,還是ISL的“Encapsulated VLAN”,都不是很?chē)?yán)密的稱(chēng)謂。不同的書(shū)籍與參考資料中,上述詞語(yǔ)有可能被混合使用,因此需要大家在學(xué)習(xí)時(shí)格外注意。
并且由于ISL是Cisco獨(dú)有的協(xié)議,因此只能用于Cisco網(wǎng)絡(luò)設(shè)備之間的互聯(lián)。
六、VLAN間路由
6.1、VLAN間路由的必要性
根據(jù)目前為止學(xué)習(xí)的知識(shí),我們已經(jīng)知道兩臺(tái)計(jì)算機(jī)即使連接在同一臺(tái)交換機(jī)上,只要所屬的VLAN不同就無(wú)法直接通信。
接下來(lái)我們將要學(xué)習(xí)的就是如何在不同的VLAN間進(jìn)行路由,使分屬不同VLAN的主機(jī)能夠互相通信。
首先,先來(lái)復(fù)習(xí)一下為什么不同VLAN間不通過(guò)路由就無(wú)法通信。在LAN內(nèi)的通信,必須在數(shù)據(jù)幀頭中指定通信目標(biāo)的MAC地址。而為了獲取MAC地址,TCP/IP協(xié)議下使用的是ARP。ARP解析MAC地址的方法,則是通過(guò)廣播。也就是說(shuō),如果廣播報(bào)文無(wú)法到達(dá),那么就無(wú)從解析MAC地址,亦即無(wú)法直接通信。
計(jì)算機(jī)分屬不同的VLAN,也就意味著分屬不同的廣播域,自然收不到彼此的廣播報(bào)文。因此,屬于不同VLAN的計(jì)算機(jī)之間無(wú)法直接互相通信。為了能夠在VLAN間通信,需要利用OSI參照模型中更高一層——網(wǎng)絡(luò)層的信息(IP地址)來(lái)進(jìn)行路由。關(guān)于路由的具體內(nèi)容,以后有機(jī)會(huì)再詳細(xì)解說(shuō)吧。
路由功能,一般主要由路由器提供。但在今天的局域網(wǎng)里,我們也經(jīng)常利用帶有路由功能的交換機(jī)——三層交換機(jī)(Layer 3 Switch)來(lái)實(shí)現(xiàn)。接下來(lái)就讓我們分別看看使用路由器和三層交換機(jī)進(jìn)行VLAN間路由時(shí)的情況。
6.2、使用路由器進(jìn)行VLAN間路由
在使用路由器進(jìn)行VLAN間路由時(shí),與構(gòu)建橫跨多臺(tái)交換機(jī)的VLAN時(shí)的情況類(lèi)似,我們還是會(huì)遇到“該如何連接路由器與交換機(jī)”這個(gè)問(wèn)題。路由器和交換機(jī)的接線(xiàn)方式,大致有以下兩種:
● 將路由器與交換機(jī)上的每個(gè)VLAN分別連接
● 不論VLAN有多少個(gè),路由器與交換機(jī)都只用一條網(wǎng)線(xiàn)連接
①、最容易想到的,當(dāng)然還是“把路由器和交換機(jī)以VLAN為單位分別用網(wǎng)線(xiàn)連接”了。將交換機(jī)上用于和路由器互聯(lián)的每個(gè)端口設(shè)為訪(fǎng)問(wèn)鏈接,然后分別用網(wǎng)線(xiàn)與路由器上的獨(dú)立端口互聯(lián)。如下圖所示,交換機(jī)上有2個(gè)VLAN,那么就需要在交換機(jī)上預(yù)留2個(gè)端口用于與路由器互聯(lián);路由器上同樣需要有2個(gè)端口;兩者之間用2條網(wǎng)線(xiàn)分別連接。
果采用這個(gè)辦法,大家應(yīng)該不難想象它的擴(kuò)展性很成問(wèn)題。每增加一個(gè)新的VLAN,都需要消耗路由器的端口和交換機(jī)上的訪(fǎng)問(wèn)鏈接,而且還需要重新布設(shè)一條網(wǎng)線(xiàn)。而路由器,通常不會(huì)帶有太多LAN接口的。新建VLAN時(shí),為了對(duì)應(yīng)增加的VLAN所需的端口,就必須將路由器升級(jí)成帶有多個(gè)LAN接口的高端產(chǎn)品,這部分成本、還有重新布線(xiàn)所帶來(lái)的開(kāi)銷(xiāo),都使得這種接線(xiàn)法成為一種不受歡迎的辦法。
②、那么,第二種辦法“不論VLAN數(shù)目多少,都只用一條網(wǎng)線(xiàn)連接路由器與交換機(jī)”呢?當(dāng)使用一條網(wǎng)線(xiàn)連接路由器與交換機(jī)、進(jìn)行VLAN間路由時(shí),需要用到匯聚鏈接。
具體實(shí)現(xiàn)過(guò)程為:首先將用于連接路由器的交換機(jī)端口設(shè)為匯聚鏈接,而路由器上的端口也必須支持匯聚鏈路。雙方用于匯聚鏈路的協(xié)議自然也必須相同。接著在路由器上定義對(duì)應(yīng)各個(gè)VLAN的“子接口(Sub Interface)”。盡管實(shí)際與交換機(jī)連接的物理端口只有一個(gè),但在理論上我們可以把它分割為多個(gè)虛擬端口。
LAN將交換機(jī)從邏輯上分割成了多臺(tái),因而用于VLAN間路由的路由器,也必須擁有分別對(duì)應(yīng)各個(gè)VLAN的虛擬接口。
采用這種方法的話(huà),即使之后在交換機(jī)上新建VLAN,仍只需要一條網(wǎng)線(xiàn)連接交換機(jī)和路由器。用戶(hù)只需要在路由器上新設(shè)一個(gè)對(duì)應(yīng)新VLAN的子接口就可以了。
與前面的方法相比,這種方法擴(kuò)展性要強(qiáng)得多,也不用擔(dān)心需要升級(jí)LAN接口數(shù)不足的路由器或是重新布線(xiàn)。
6.3、同一VLAN內(nèi)的通信時(shí)數(shù)據(jù)的流程
接下來(lái),我們繼續(xù)學(xué)習(xí)使用匯聚鏈路連接交換機(jī)與路由器時(shí),VLAN間路由是如何進(jìn)行的。如下圖所示,為各臺(tái)計(jì)算機(jī)以及路由器的子接口設(shè)定IP地址。
色VLAN(VLAN ID=1)的網(wǎng)絡(luò)地址為192.168.1.0/24,藍(lán)色VLAN(VLAN ID=2)的網(wǎng)絡(luò)地址為192.168.2.0/24。各計(jì)算機(jī)的MAC地址分別為A/B/C/D,路由器匯聚鏈接端口的MAC地址為R。交換機(jī)通過(guò)對(duì)各端口所連計(jì)算機(jī)MAC地址的學(xué)習(xí),生成如下的MAC地址列表。
端口 | MAC地址 | VLAN |
1 | A | 1 |
2 | B | 1 |
3 | C | 2 |
4 | D | 2 |
5 | - | - |
6 | R | 匯聚 |
首先考慮計(jì)算機(jī)A與同一VLAN內(nèi)的計(jì)算機(jī)B之間通信時(shí)的情形。
(1)、計(jì)算機(jī)A發(fā)出ARP請(qǐng)求信息,請(qǐng)求解析B的MAC地址。
(2)、交換機(jī)收到數(shù)據(jù)幀后,檢索MAC地址列表中與收信端口同屬一個(gè)VLAN的表項(xiàng)。
(3)、結(jié)果發(fā)現(xiàn),計(jì)算機(jī)B連接在端口2上,于是交換機(jī)將數(shù)據(jù)幀轉(zhuǎn)發(fā)給端口2,最終計(jì)算機(jī)B收到該幀。
收發(fā)信雙方同屬一個(gè)VLAN之內(nèi)的通信,一切處理均在交換機(jī)內(nèi)完成。
6.4、不同VLAN間通信時(shí)數(shù)據(jù)的流程
接下來(lái)是這一講的核心內(nèi)容,不同VLAN間的通信。讓我們來(lái)考慮一下計(jì)算機(jī)A與計(jì)算機(jī)C之間通信時(shí)的情況。
(1)、計(jì)算機(jī)A從通信目標(biāo)的IP地址(192.168.2.1)得出C與本機(jī)不屬于同一個(gè)網(wǎng)段。因此會(huì)向設(shè)定的默認(rèn)網(wǎng)關(guān)(Default Gateway,GW)轉(zhuǎn)發(fā)數(shù)據(jù)幀。在發(fā)送數(shù)據(jù)幀之前,需要先用ARP獲取路由器的MAC地址。
(2)、得到路由器的MAC地址R后,接下來(lái)就是按圖中所示的步驟發(fā)送往C去的數(shù)據(jù)幀。①的數(shù)據(jù)幀中,目標(biāo)MAC地址是路由器的地址R、但內(nèi)含的目標(biāo)IP地址仍是最終要通信的對(duì)象C的地址。這一部分的內(nèi)容,涉及到局域網(wǎng)內(nèi)經(jīng)過(guò)路由器轉(zhuǎn)發(fā)時(shí)的通信步驟,有機(jī)會(huì)再詳細(xì)解說(shuō)吧。
(3)、交換機(jī)在端口1上收到①的數(shù)據(jù)幀后,檢索MAC地址列表中與端口1同屬一個(gè)VLAN的表項(xiàng)。由于匯聚鏈路會(huì)被看作屬于所有的VLAN,因此這時(shí)交換機(jī)的端口6也屬于被參照對(duì)象。這樣交換機(jī)就知道往MAC地址R發(fā)送數(shù)據(jù)幀,需要經(jīng)過(guò)端口6轉(zhuǎn)發(fā)。
從端口6發(fā)送數(shù)據(jù)幀時(shí),由于它是匯聚鏈接,因此會(huì)被附加上VLAN識(shí)別信息。由于原先是來(lái)自紅色VLAN的數(shù)據(jù)幀,因此如圖中②所示,會(huì)被加上紅色VLAN的識(shí)別信息后進(jìn)入?yún)R聚鏈路。
(4)、路由器收到②的數(shù)據(jù)幀后,確認(rèn)其VLAN識(shí)別信息,由于它是屬于紅色VLAN的數(shù)據(jù)幀,因此交由負(fù)責(zé)紅色VLAN的子接口接收。
接著,根據(jù)路由器內(nèi)部的路由表,判斷該向哪里中繼。
由于目標(biāo)網(wǎng)絡(luò)192.168.2.0/24是藍(lán)色VLAN,且該網(wǎng)絡(luò)通過(guò)子接口與路由器直連,因此只要從負(fù)責(zé)藍(lán)色VLAN的子接口轉(zhuǎn)發(fā)就可以了。這時(shí),數(shù)據(jù)幀的目標(biāo)MAC地址被改寫(xiě)成計(jì)算機(jī)C的目標(biāo)地址;并且由于需要經(jīng)過(guò)匯聚鏈路轉(zhuǎn)發(fā),因此被附加了屬于藍(lán)色VLAN的識(shí)別信息。這就是圖中③的數(shù)據(jù)幀。
(5)、交換機(jī)收到③的數(shù)據(jù)幀后,根據(jù)VLAN標(biāo)識(shí)信息從MAC地址列表中檢索屬于藍(lán)色VLAN的表項(xiàng)。由于通信目標(biāo)——計(jì)算機(jī)C連接在端口3上、且端口3為普通的訪(fǎng)問(wèn)鏈接,因此交換機(jī)會(huì)將數(shù)據(jù)幀除去VLAN識(shí)別信息后(數(shù)據(jù)幀④)轉(zhuǎn)發(fā)給端口3,最終計(jì)算機(jī)C才能成功地收到這個(gè)數(shù)據(jù)幀。
進(jìn)行VLAN間通信時(shí),即使通信雙方都連接在同一臺(tái)交換機(jī)上,也必須經(jīng)過(guò):“發(fā)送方——交換機(jī)——路由器——交換機(jī)——接收方”這樣一個(gè)流程。
七、三層交換機(jī)
7.1、使用路由器進(jìn)行VLAN間路由時(shí)的問(wèn)題
現(xiàn)在,我們知道只要能提供VLAN間路由,就能夠使分屬不同VLAN的計(jì)算機(jī)互相通信。
但是,如果使用路由器進(jìn)行VLAN間路由的話(huà),隨著VLAN之間流量的不斷增加,很可能導(dǎo)致路由器成為整個(gè)網(wǎng)絡(luò)的瓶頸。
交換機(jī)使用被稱(chēng)為ASIC(Application Specified Integrated Circuit)的專(zhuān)用硬件芯片處理數(shù)據(jù)幀的交換操作,在很多機(jī)型上都能實(shí)現(xiàn)以纜線(xiàn)速度(Wired Speed)交換。而路由器,則基本上是基于軟件處理的。
使以纜線(xiàn)速度接收到數(shù)據(jù)包,也無(wú)法在不限速的條件下轉(zhuǎn)發(fā)出去,因此會(huì)成為速度瓶頸。就VLAN間路由而言,流量會(huì)集中到路由器和交換機(jī)互聯(lián)的匯聚鏈路部分,這一部分尤其特別容易成為速度瓶頸。
并且從硬件上看,由于需要分別設(shè)置路由器和交換機(jī),在一些空間狹小的環(huán)境里可能連設(shè)置的場(chǎng)所都成問(wèn)題。
7.2、三層交換機(jī)(Layer 3 Switch)
為了解決上述問(wèn)題,三層交換機(jī)應(yīng)運(yùn)而生。三層交換機(jī),本質(zhì)上就是“帶有路由功能的(二層)交換機(jī)”。路由屬于OSI參照模型中第三層網(wǎng)絡(luò)層的功能,因此帶有第三層路由功能的交換機(jī)才被稱(chēng)為“三層交換機(jī)”。
關(guān)于三層交換機(jī)的內(nèi)部結(jié)構(gòu),可以參照下面的簡(jiǎn)圖。
一臺(tái)本體內(nèi),分別設(shè)置了交換機(jī)模塊和路由器模塊;而內(nèi)置的路由模塊與交換模塊相同,使用ASIC硬件處理路由。因此,與傳統(tǒng)的路由器相比,可以實(shí)現(xiàn)高速路由。并且,路由與交換模塊是匯聚鏈接的,由于是內(nèi)部連接,可以確保相當(dāng)大的帶寬。
7.3、使用三層交換機(jī)進(jìn)行VLAN間路由(VLAN內(nèi)通信)
在三層交換機(jī)內(nèi)部數(shù)據(jù)究竟是怎樣傳播的呢?基本上,它和使用匯聚鏈路連接路由器與交換機(jī)時(shí)的情形相同。
假設(shè)有如下圖所示的4臺(tái)計(jì)算機(jī)與三層交換機(jī)互聯(lián)。當(dāng)使用路由器連接時(shí),一般需要在LAN接口上設(shè)置對(duì)應(yīng)各VLAN的子接口;而三層交換機(jī)則是在內(nèi)部生成“VLAN接口(VLAN Interface)”。VLAN接口,是用于各VLAN收發(fā)數(shù)據(jù)的接口。
注:在Cisco的Catalyst系列交換機(jī)上,VLAN?Interface被稱(chēng)為SVI——Switched?Virtual?Interface
了與使用路由器進(jìn)行VLAN間路由對(duì)比,讓我們同樣來(lái)考慮一下計(jì)算機(jī)A與計(jì)算機(jī)B之間通信時(shí)的情況。首先是目標(biāo)地址為B的數(shù)據(jù)幀被發(fā)到交換機(jī);通過(guò)檢索同一VLAN的MAC地址列表發(fā)現(xiàn)計(jì)算機(jī)B連在交換機(jī)的端口2上;因此將數(shù)據(jù)幀轉(zhuǎn)發(fā)給端口2。
7.4、使用三層交換機(jī)進(jìn)行VLAN間路由(VLAN間通信)
接下來(lái)設(shè)想一下計(jì)算機(jī)A與計(jì)算機(jī)C間通信時(shí)的情形。針對(duì)目標(biāo)IP地址,計(jì)算機(jī)A可以判斷出通信對(duì)象不屬于同一個(gè)網(wǎng)絡(luò),因此向默認(rèn)網(wǎng)關(guān)發(fā)送數(shù)據(jù)(Frame 1)。
交換機(jī)通過(guò)檢索MAC地址列表后,經(jīng)由內(nèi)部匯聚鏈接,將數(shù)據(jù)幀轉(zhuǎn)發(fā)給路由模塊。在通過(guò)內(nèi)部匯聚鏈路時(shí),數(shù)據(jù)幀被附加了屬于紅色VLAN的VLAN識(shí)別信息(Frame 2)。
路由模塊在收到數(shù)據(jù)幀時(shí),先由數(shù)據(jù)幀附加的VLAN識(shí)別信息分辨出它屬于紅色VLAN,據(jù)此判斷由紅色VLAN接口負(fù)責(zé)接收并進(jìn)行路由處理。因?yàn)槟繕?biāo)網(wǎng)絡(luò)192.168.2.0/24是直連路由器的網(wǎng)絡(luò)、且對(duì)應(yīng)藍(lán)色VLAN;
因此,接下來(lái)就會(huì)從藍(lán)色VLAN接口經(jīng)由內(nèi)部匯聚鏈路轉(zhuǎn)發(fā)回交換模塊。在通過(guò)匯聚鏈路時(shí),這次數(shù)據(jù)幀被附加上屬于藍(lán)色VLAN的識(shí)別信息(Frame 3)。
交換機(jī)收到這個(gè)幀后,檢索藍(lán)色VLAN的MAC地址列表,確認(rèn)需要將它轉(zhuǎn)發(fā)給端口3。由于端口3是通常的訪(fǎng)問(wèn)鏈接,因此轉(zhuǎn)發(fā)前會(huì)先將VLAN識(shí)別信息除去(Frame 4)。最終,計(jì)算機(jī)C成功地收到交換機(jī)轉(zhuǎn)發(fā)來(lái)的數(shù)據(jù)幀。
體的流程,與使用外部路由器時(shí)的情況十分相似——都需要經(jīng)過(guò)“發(fā)送方→交換模塊→路由模塊→交換模塊→接收方”這樣的流程。
八、加速VLAN間通信的手段
8.1、流(Flow)
根據(jù)到此為止的學(xué)習(xí),我們已經(jīng)知道VLAN間路由,必須經(jīng)過(guò)外部的路由器或是三層交換機(jī)的內(nèi)置路由模塊。但是,有時(shí)并不是所有的數(shù)據(jù)都需要經(jīng)過(guò)路由器(或路由模塊)。
例如,使用FTP(File Transfer Protocol)傳輸容量為數(shù)MB以上的較大的文件時(shí),由于MTU的限制,IP協(xié)議會(huì)將數(shù)據(jù)分割成小塊后傳輸、并在接收方重新組合。這些被分割的數(shù)據(jù),“發(fā)送的目標(biāo)”是完全相同的。發(fā)送目標(biāo)相同,也就意味著同樣的目標(biāo)IP地址、目標(biāo)端口號(hào)(注:特別強(qiáng)調(diào)一下,這里指的是TCP/UDP端口)。自然,源IP地址、源端口號(hào)也應(yīng)該相同。這樣一連串的數(shù)據(jù)流被稱(chēng)為“流(Flow)”。
要將流最初的數(shù)據(jù)正確地路由以后,后繼的數(shù)據(jù)理應(yīng)也會(huì)被同樣地路由。
據(jù)此,后繼的數(shù)據(jù)不再需要路由器進(jìn)行路由處理;通過(guò)省略反復(fù)進(jìn)行的路由操作,可以進(jìn)一步提高VLAN間路由的速度。
8.2、加速VLAN間路由的機(jī)制
接下來(lái),讓我們具體考慮一下該如何使用三層交換機(jī)進(jìn)行高速VLAN間路由。
首先,整個(gè)流的第一塊數(shù)據(jù),照常由交換機(jī)轉(zhuǎn)發(fā)→路由器路由→再次由交換機(jī)轉(zhuǎn)發(fā)到目標(biāo)所連端口。這時(shí),將第一塊數(shù)據(jù)路由的結(jié)果記錄到緩存里保存下來(lái)。需要記錄的信息有:
● 目標(biāo)IP地址
● 源IP地址
● 目標(biāo)TCP/UDP端口號(hào)
● 源TCP/UDP端口號(hào)
● 接收端口號(hào)(交換機(jī))
● 轉(zhuǎn)發(fā)端口號(hào)(交換機(jī))
● 轉(zhuǎn)發(fā)目標(biāo)MAC地址
...
等等。
同一個(gè)流的第二塊以后的數(shù)據(jù)到達(dá)交換機(jī)后,直接通過(guò)查詢(xún)先前保存在緩存中的信息查出“轉(zhuǎn)發(fā)端口號(hào)”后就可以轉(zhuǎn)發(fā)給目標(biāo)所連端口了。
這樣一來(lái),就不需要再一次次經(jīng)由內(nèi)部路由模塊中繼,而僅憑交換機(jī)內(nèi)部的緩存信息就足以判斷應(yīng)該轉(zhuǎn)發(fā)的端口。
這時(shí),交換機(jī)會(huì)對(duì)數(shù)據(jù)幀進(jìn)行由路由器中繼時(shí)相似的處理,例如改寫(xiě)MAC地址、IP包頭中的TTL和Check Sum校驗(yàn)碼信息等。
過(guò)在交換機(jī)上緩存路由結(jié)果,實(shí)現(xiàn)了以纜線(xiàn)速度(Wired Speed)接收發(fā)送方傳輸來(lái)數(shù)據(jù)的數(shù)據(jù)、并且能夠全速路由、轉(zhuǎn)發(fā)給接收方。
需要注意的是,類(lèi)似的加速VLAN間路由的手法多由各廠商獨(dú)有的技術(shù)所實(shí)現(xiàn),并且該功能的稱(chēng)謂也因廠商而異。例如,在Cisco的Catalyst系列交換機(jī)上,這種功能被稱(chēng)為“多層交換(Multi Layer Switching)”。
另外,除了三層交換機(jī)的內(nèi)部路由模塊,外部路由器中的某些機(jī)型也支持類(lèi)似的高速VLAN間路由機(jī)制。
九、傳統(tǒng)型路由器存在的意義
9.1、路由器的必要性
三層交換機(jī)的價(jià)格,在問(wèn)世之初非常昂貴,但是現(xiàn)在它們的價(jià)格已經(jīng)下降了許多。目前國(guó)外一些廉價(jià)機(jī)型的售價(jià),折合成人民幣后僅為一萬(wàn)多元,而且還在繼續(xù)下降中。
既然三層交換機(jī)能夠提供比傳統(tǒng)型路由器更為高速的路由處理,那么網(wǎng)絡(luò)中還有使用路由器的必要嗎?
答案是:“是”。
使用路由器的必要性,主要表現(xiàn)在以下幾個(gè)方面:
■ 用于與WAN連接
三層交換機(jī)終究是“交換機(jī)”。也就是說(shuō),絕大多數(shù)機(jī)型只配有LAN(以太網(wǎng))接口。在少數(shù)高端交換機(jī)上也有用于連接WAN的串行接口或是ATM接口,但在大多數(shù)情況下,連接WAN還是需要用到路由器。
■ 保證網(wǎng)絡(luò)安全
在三層交換機(jī)上,通過(guò)數(shù)據(jù)包過(guò)濾也能確保一定程度的網(wǎng)絡(luò)安全。但是使用路由器所提供的各種網(wǎng)絡(luò)安全功能,用戶(hù)可以構(gòu)建更為安全可靠的網(wǎng)絡(luò)。
路由器提供的網(wǎng)絡(luò)安全功能中,除了最基本的數(shù)據(jù)包過(guò)濾功能外,還能基于IPSec構(gòu)建×××(Virtual Private Network)、利用RADIUS進(jìn)行用戶(hù)認(rèn)證等等。
■ 支持除TCP/IP以外的網(wǎng)絡(luò)架構(gòu)
盡管TCP/IP已經(jīng)成為當(dāng)前網(wǎng)絡(luò)協(xié)議架構(gòu)的主流,但還有不少網(wǎng)絡(luò)利用Novell Netware下的IPX/SPX或Macintosh下的Appletalk等網(wǎng)絡(luò)協(xié)議。三層交換機(jī)中,除了部分高端機(jī)型外基本上還只支持TCP/IP。因此,在需要使用除TCP/IP之外其他網(wǎng)絡(luò)協(xié)議的環(huán)境下,路由器還是必不可少的。
注:在少數(shù)高端交換機(jī)上,也能支持上述路由器的功能。例如Cisco的Catalyst6500系列,就可以選擇與WAN連接的接口模塊;還有可選的基于IPSec實(shí)現(xiàn)×××的模塊;并且也能支持TCP/IP以外的其他網(wǎng)絡(luò)協(xié)議。
9.2、路由器和交換機(jī)配合構(gòu)建LAN的實(shí)例
下面讓我們來(lái)看一個(gè)路由器和交換機(jī)搭配構(gòu)建LAN的實(shí)例。
用在各樓層配置的二層交換機(jī)定義VLAN,連接TCP/IP客戶(hù)計(jì)算機(jī)。各樓層間的VLAN間通信,利用三層交換機(jī)的高速路由加以實(shí)現(xiàn)。如果網(wǎng)絡(luò)環(huán)境要求高可靠性,還可以考慮冗余配置三層交換機(jī)。
與WAN的連接,則通過(guò)帶有各種網(wǎng)絡(luò)接口的路由器進(jìn)行。并且,通過(guò)路由器的數(shù)據(jù)包過(guò)濾和×××等功能實(shí)現(xiàn)網(wǎng)絡(luò)安全。此外,使用路由器還能支持Novell Netware等TCP/IP之外的網(wǎng)絡(luò)。
只有在充分掌握了二層、三層交換機(jī)以及傳統(tǒng)路由器的基礎(chǔ)上,才能做到物競(jìng)其用,構(gòu)筑出高效率、高性?xún)r(jià)比的網(wǎng)絡(luò)。
十、使用VLAN設(shè)計(jì)局域網(wǎng)
10.1、使用VLAN設(shè)計(jì)局域網(wǎng)的特點(diǎn)
通過(guò)使用VLAN構(gòu)建局域網(wǎng),用戶(hù)能夠不受物理鏈路的限制而自由地分割廣播域。
另外,通過(guò)先前提到的路由器與三層交換機(jī)提供的VLAN間路由,能夠適應(yīng)靈活多變的網(wǎng)絡(luò)構(gòu)成。
但是,由于利用VLAN容易導(dǎo)致網(wǎng)絡(luò)構(gòu)成復(fù)雜化,因此也會(huì)造成整個(gè)網(wǎng)絡(luò)的組成難以把握。
可以這樣說(shuō),在利用VLAN時(shí),除了有:
●網(wǎng)絡(luò)構(gòu)成靈活多變
這個(gè)優(yōu)點(diǎn)外,還搭配著:
●網(wǎng)絡(luò)構(gòu)成復(fù)雜化
這個(gè)缺點(diǎn)。
下面,就讓我們來(lái)看看具體的實(shí)例。
10.2、不使用VLAN的局域網(wǎng)中網(wǎng)絡(luò)構(gòu)成的改變
假設(shè)有如圖所示的由1臺(tái)路由器、2臺(tái)交換機(jī)構(gòu)成的“不使用VLAN構(gòu)建”的網(wǎng)絡(luò)。
圖中的路由器,帶有2個(gè)LAN接口。左側(cè)的網(wǎng)絡(luò)是192.168.1.0/24,右側(cè)是192.168.2.0/24。
現(xiàn)在如果想將192.168.1.0/24這個(gè)網(wǎng)絡(luò)上的計(jì)算機(jī)A轉(zhuǎn)移到192.168.2.0/24上去,就需要改變物理連接、將A接到右側(cè)的交換機(jī)上。
并且,當(dāng)需要新增一個(gè)地址為192.168.3.0/24的網(wǎng)絡(luò)時(shí),還要在路由器上再占用一個(gè)LAN接口并添置一臺(tái)交換機(jī)。而由于這臺(tái)路由器上只帶了2個(gè)LAN接口,因此為了新增網(wǎng)絡(luò)還必須將路由器升級(jí)為帶有3個(gè)以上LAN接口的產(chǎn)品。
10.3、使用VLAN的局域網(wǎng)中網(wǎng)絡(luò)構(gòu)成的改變
接下來(lái)再假設(shè)有一個(gè)由1臺(tái)路由器、2臺(tái)交換機(jī)構(gòu)成的“使用VLAN”的局域網(wǎng)。交換機(jī)與交換機(jī)、交換機(jī)與路由器之間均為匯聚鏈路;并且假設(shè)192.168.1.0/24對(duì)應(yīng)紅色VLAN、192.168.2.0/24對(duì)應(yīng)藍(lán)色VLAN。
要將連接在交換機(jī)1上192.168.1.0/24這個(gè)網(wǎng)段的計(jì)算機(jī)A轉(zhuǎn)屬192.168.2.0/24時(shí),無(wú)需更改物理布線(xiàn)。只要在交換機(jī)上生成藍(lán)色VLAN,然后將計(jì)算機(jī)A所連的端口1加入到藍(lán)色VLAN中去,使它成為訪(fǎng)問(wèn)鏈接即可。
然后,根據(jù)需要設(shè)定計(jì)算機(jī)A的IP地址、默認(rèn)網(wǎng)關(guān)等信息就可以了。如果IP地址相關(guān)的設(shè)定是由DHCP獲取的,那么在客戶(hù)機(jī)方面無(wú)需進(jìn)行任何設(shè)定修改,就可以在不同網(wǎng)段間移動(dòng)。
利用VLAN后,我們可以在免于改動(dòng)任何物理布線(xiàn)的前提下,自由進(jìn)行網(wǎng)絡(luò)的邏輯設(shè)計(jì)。如果所處的工作環(huán)境恰恰需要經(jīng)常改變網(wǎng)絡(luò)布局,那么利用VLAN的優(yōu)勢(shì)就非常明顯了。
并且,當(dāng)需要新增一個(gè)地址為192.168.3.0/24的網(wǎng)段時(shí),也只需要在交換機(jī)上新建一個(gè)對(duì)應(yīng)192.168.3.0/24的VLAN,并將所需的端口加入它的訪(fǎng)問(wèn)鏈路就可以了。
如果網(wǎng)絡(luò)環(huán)境中還需要利用外部路由器,則只要在路由器的匯聚端口上新增一個(gè)子接口的設(shè)定就可以完成全部操作,而不需要消耗更多的物理接口(LAN接口)。要使用的是三層交換機(jī)內(nèi)部的路由模塊,則只需要新設(shè)一個(gè)VLAN接口即可。
網(wǎng)絡(luò)環(huán)境的成長(zhǎng),往往是難以預(yù)測(cè)的,很可能經(jīng)常會(huì)出現(xiàn)需要分割現(xiàn)有網(wǎng)絡(luò)或是增加新網(wǎng)絡(luò)的情況。而充分活用VLAN后,就可以輕易地解決這些問(wèn)題。
10.4、利用VLAN而導(dǎo)致的網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜化
雖然利用VLAN可以靈活地構(gòu)建網(wǎng)絡(luò),但是同時(shí),它也帶來(lái)了網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜化的問(wèn)題。
特別是由于數(shù)據(jù)流縱橫交錯(cuò),一旦發(fā)生故障時(shí),準(zhǔn)確定位并排除故障會(huì)比較困難。
為了便于理解數(shù)據(jù)流向的復(fù)雜化,假設(shè)有下圖所示的網(wǎng)絡(luò)。計(jì)算機(jī)A向計(jì)算機(jī)C發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)流的整體走向如下:
計(jì)算機(jī)A→交換機(jī)1→路由器→交換機(jī)1→交換機(jī)2→計(jì)算機(jī)C
1)、首先計(jì)算機(jī)A向交換機(jī)1送出數(shù)據(jù)(①)
(2)、其后數(shù)據(jù)被轉(zhuǎn)發(fā)給路由器(②)進(jìn)行VLAN間路由。
(3)、路由后的數(shù)據(jù),再?gòu)膮R聚鏈路返回交換機(jī)1(③)。
(4)、由于通信目標(biāo)計(jì)算機(jī)C并不直連在交換機(jī)1上,因此還需要經(jīng)過(guò)匯聚鏈路轉(zhuǎn)發(fā)到交換機(jī)2(④)。
(5)、在交換機(jī)2上,數(shù)據(jù)最終被轉(zhuǎn)發(fā)到C所連的端口2上,這才完成整個(gè)流程(⑤)。
在這個(gè)例子中,僅由2臺(tái)交換機(jī)構(gòu)成網(wǎng)絡(luò),其數(shù)據(jù)流已經(jīng)如此復(fù)雜,如果構(gòu)建橫跨多臺(tái)交換機(jī)的VLAN的話(huà),每個(gè)數(shù)據(jù)流的流向顯然會(huì)更加難以把握。
10.5、網(wǎng)絡(luò)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)
為了對(duì)應(yīng)日漸復(fù)雜化的數(shù)據(jù)流,管理員需要從“邏輯結(jié)構(gòu)”與“物理結(jié)構(gòu)”兩方面入手,把握好網(wǎng)絡(luò)的現(xiàn)狀。
物理結(jié)構(gòu),指的是從物理層和數(shù)據(jù)鏈路層觀察到的網(wǎng)絡(luò)的現(xiàn)狀,表示了網(wǎng)絡(luò)的物理布線(xiàn)形態(tài)和VLAN的設(shè)定等等。
而邏輯結(jié)構(gòu),則表示從網(wǎng)絡(luò)層以上的層面觀察到的網(wǎng)絡(luò)結(jié)構(gòu)。下面我們就試著以路由器為中心分析一個(gè)IP網(wǎng)絡(luò)的邏輯結(jié)構(gòu)。
還是先前的那個(gè)例子,描繪了布線(xiàn)形態(tài)和VLAN設(shè)定的“物理結(jié)構(gòu)”如下圖所示。
分析這個(gè)物理結(jié)構(gòu)并轉(zhuǎn)換成以路由器為中心的邏輯結(jié)構(gòu)后,會(huì)得到如下的邏輯結(jié)構(gòu)圖。當(dāng)我們需要進(jìn)行路由或是數(shù)據(jù)包過(guò)濾的設(shè)定時(shí),都必須在邏輯結(jié)構(gòu)的基礎(chǔ)上進(jìn)行。?
把握這兩種網(wǎng)絡(luò)結(jié)構(gòu)圖的區(qū)別是十分重要的,特別是在VLAN和三層交換機(jī)大行其道的現(xiàn)代企業(yè)級(jí)網(wǎng)絡(luò)當(dāng)中。
編輯:黃飛
?
評(píng)論
查看更多