匯聚方式
在交換機(jī)的匯聚鏈接上,可以通過對(duì)數(shù)據(jù)幀附加VLAN信息,構(gòu)建跨越多臺(tái)交換機(jī)的VLAN。
附加VLAN信息的方法,最具有代表性的有:
l IEEE802.1Q
l ISL
現(xiàn)在就讓我們看看這兩種協(xié)議分別如何對(duì)數(shù)據(jù)幀附加VLAN信息。
IEEE802.1Q
IEEE802.1Q,俗稱“Dot One Q”,是經(jīng)過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地址”與“類別域(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ù)幀離開匯聚鏈路時(shí),TPID和TCI會(huì)被去除,這時(shí)還會(huì)進(jìn)行一次CRC的重新計(jì)算。
TPID的值,固定為0x8100。交換機(jī)通過TPID,來確定數(shù)據(jù)幀內(nèi)附加了基于IEEE802.1Q的VLAN信息。而實(shí)質(zhì)上的VLAN ID,是TCI中的12位元。由于總共有12位,因此最多可供識(shí)別4096個(gè)VLAN。
基于IEEE802.1Q附加的VLAN信息,就像在傳遞物品時(shí)附加的標(biāo)簽。因此,它也被稱作“標(biāo)簽型VLAN(Tagging VLAN)”。
ISL(Inter Switch Link)
ISL,是Cisco產(chǎn)品支持的一種與IEEE802.1Q類似的、用于在匯聚鏈路上附加VLAN信息的協(xié)議。
使用ISL后,每個(gè)數(shù)據(jù)幀頭部都會(huì)被附加26字節(jié)的“ISL包頭(ISL Header)”,并且在幀尾帶上通過對(duì)包括ISL包頭在內(nèi)的整個(gè)數(shù)據(jù)幀進(jìn)行計(jì)算后得到的4字節(jié)CRC值。換而言之,就是總共增加了30字節(jié)的信息。
在使用ISL的環(huán)境下,當(dāng)數(shù)據(jù)幀離開匯聚鏈路時(shí),只要簡(jiǎn)單地去除ISL包頭和新CRC就可以了。由于原先的數(shù)據(jù)幀及其CRC都被完整保留,因此無需重新計(jì)算CRC。
ISL有如用ISL包頭和新CRC將原數(shù)據(jù)幀整個(gè)包裹起來,因此也被稱為“封裝型VLAN(Encapsulated VLAN)”。
需要注意的是,不論是IEEE802.1Q的“Tagging VLAN”,還是ISL的“Encapsulated VLAN”,都不是很嚴(yán)密的稱謂。不同的書籍與參考資料中,上述詞語(yǔ)有可能被混合使用,因此需要大家在學(xué)習(xí)時(shí)格外注意。
并且由于ISL是Cisco獨(dú)有的協(xié)議,因此只能用于Cisco網(wǎng)絡(luò)設(shè)備之間的互聯(lián)。
由于需要一個(gè)個(gè)端口地指定,因此當(dāng)網(wǎng)絡(luò)中的計(jì)算機(jī)數(shù)目超過一定數(shù)字(比如數(shù)百臺(tái))后,設(shè)定操作就會(huì)變得煩雜無比。并且,客戶機(jī)每次變更所連端口,都必須同時(shí)更改該端口所屬VLAN的設(shè)定——這顯然不適合那些需要頻繁改變拓補(bǔ)結(jié)構(gòu)的網(wǎng)絡(luò)。
動(dòng)態(tài)VLAN
另一方面,動(dòng)態(tài)VLAN則是根據(jù)每個(gè)端口所連的計(jì)算機(jī),隨時(shí)改變端口所屬的VLAN。這就可以避免上述的更改設(shè)定之類的操作。動(dòng)態(tài)VLAN可以大致分為3類:
l 基于MAC地址的VLAN(MAC Based VLAN)
l 基于子網(wǎng)的VLAN(Subnet Based VLAN)
l 基于用戶的VLAN(User Based VLAN)
其間的差異,主要在于根據(jù)OSI參照模型哪一層的信息決定端口所屬的VLAN。
基于MAC地址的VLAN,就是通過查詢并記錄端口所連計(jì)算機(jī)上網(wǎng)卡的MAC地址來決定端口的所屬。假定有一個(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。
由于是基于MAC地址決定所屬VLAN的,因此可以理解為這是一種在OSI的第二層設(shè)定訪問鏈接的辦法。
但是,基于MAC地址的VLAN,在設(shè)定時(shí)必須調(diào)查所連接的所有計(jì)算機(jī)的MAC地址并加以登錄。而且如果計(jì)算機(jī)交換了網(wǎng)卡,還是需要更改設(shè)定。
基于子網(wǎng)的VLAN,則是通過所連計(jì)算機(jī)的IP地址,來決定端口所屬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è)定訪問鏈接的方法。
基于用戶的VLAN,則是根據(jù)交換機(jī)各端口所連的計(jì)算機(jī)上當(dāng)前登錄的用戶,來決定該端口屬于哪個(gè)VLAN。這里的用戶識(shí)別信息,一般是計(jì)算機(jī)操作系統(tǒng)登錄的用戶,比如可以是Windows域中使用的用戶名。這些用戶名信息,屬于OSI第四層以上的信息。
總的來說,決定端口所屬VLAN時(shí)利用的信息在OSI中的層面越高,就越適于構(gòu)建靈活多變的網(wǎng)絡(luò)。
訪問鏈接的總結(jié)
綜上所述,設(shè)定訪問鏈接的手法有靜態(tài)VLAN和動(dòng)態(tài)VLAN兩種,其中動(dòng)態(tài)VLAN又可以繼續(xù)細(xì)分成幾個(gè)小類。
其中基于子網(wǎng)的VLAN和基于用戶的VLAN有可能是網(wǎng)絡(luò)設(shè)備廠商使用獨(dú)有的協(xié)議實(shí)現(xiàn)的,不同廠商的設(shè)備之間互聯(lián)有可能出現(xiàn)兼容性問題;因此在選擇交換機(jī)時(shí),一定要注意事先確認(rèn)。
下表總結(jié)了靜態(tài)VLAN和動(dòng)態(tài)VLAN的相關(guān)信息。

由于需要一個(gè)個(gè)端口地指定,因此當(dāng)網(wǎng)絡(luò)中的計(jì)算機(jī)數(shù)目超過一定數(shù)字(比如數(shù)百臺(tái))后,設(shè)定操作就會(huì)變得煩雜無比。并且,客戶機(jī)每次變更所連端口,都必須同時(shí)更改該端口所屬VLAN的設(shè)定——這顯然不適合那些需要頻繁改變拓補(bǔ)結(jié)構(gòu)的網(wǎng)絡(luò)。
動(dòng)態(tài)VLAN
另一方面,動(dòng)態(tài)VLAN則是根據(jù)每個(gè)端口所連的計(jì)算機(jī),隨時(shí)改變端口所屬的VLAN。這就可以避免上述的更改設(shè)定之類的操作。動(dòng)態(tài)VLAN可以大致分為3類:
l 基于MAC地址的VLAN(MAC Based VLAN)
l 基于子網(wǎng)的VLAN(Subnet Based VLAN)
l 基于用戶的VLAN(User Based VLAN)
其間的差異,主要在于根據(jù)OSI參照模型哪一層的信息決定端口所屬的VLAN。
基于MAC地址的VLAN,就是通過查詢并記錄端口所連計(jì)算機(jī)上網(wǎng)卡的MAC地址來決定端口的所屬。假定有一個(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。
由于是基于MAC地址決定所屬VLAN的,因此可以理解為這是一種在OSI的第二層設(shè)定訪問鏈接的辦法。
但是,基于MAC地址的VLAN,在設(shè)定時(shí)必須調(diào)查所連接的所有計(jì)算機(jī)的MAC地址并加以登錄。而且如果計(jì)算機(jī)交換了網(wǎng)卡,還是需要更改設(shè)定。
基于子網(wǎng)的VLAN,則是通過所連計(jì)算機(jī)的IP地址,來決定端口所屬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è)定訪問鏈接的方法。
基于用戶的VLAN,則是根據(jù)交換機(jī)各端口所連的計(jì)算機(jī)上當(dāng)前登錄的用戶,來決定該端口屬于哪個(gè)VLAN。這里的用戶識(shí)別信息,一般是計(jì)算機(jī)操作系統(tǒng)登錄的用戶,比如可以是Windows域中使用的用戶名。這些用戶名信息,屬于OSI第四層以上的信息。
總的來說,決定端口所屬VLAN時(shí)利用的信息在OSI中的層面越高,就越適于構(gòu)建靈活多變的網(wǎng)絡(luò)。
訪問鏈接的總結(jié)
綜上所述,設(shè)定訪問鏈接的手法有靜態(tài)VLAN和動(dòng)態(tài)VLAN兩種,其中動(dòng)態(tài)VLAN又可以繼續(xù)細(xì)分成幾個(gè)小類。
其中基于子網(wǎng)的VLAN和基于用戶的VLAN有可能是網(wǎng)絡(luò)設(shè)備廠商使用獨(dú)有的協(xié)議實(shí)現(xiàn)的,不同廠商的設(shè)備之間互聯(lián)有可能出現(xiàn)兼容性問題;因此在選擇交換機(jī)時(shí),一定要注意事先確認(rèn)。
下表總結(jié)了靜態(tài)VLAN和動(dòng)態(tài)VLAN的相關(guān)信息。








