VLAN技術
所謂衝突,就是在總線上同時有多個機器在傳送數據,從而造成數據包的衝突和碰撞,這在以太網中是不允許的,因此,以太網中引入了CSMA/CD衝突檢測機制,CSMA/CD是英文carrier sense multiple access/collision detected 的縮寫,可把它翻成“載波偵察聽多路訪問/衝突檢測”。這個機制的工作原理就是每台機器在總線上發送數據之前要偵聽是否有其他數據在總線上傳送,如果有就等待,否則就會發出準備傳送數據的信息,其它機器偵聽到這個信息就會暫停自己的數據傳送。可以說所有在這個總線上的機器在一個衝突域內,因為他們是互相爭奪總線帶寬的,是共享機制,因此又叫做帶寬域。集線器(HUB)所有的端口都在一個衝突域,所有的機器都可以偵聽到其它機器是否在發送數據,也可以接受到其它機器發出的數據,所以說HUB是共享帶寬的,在滿載的情況下是不能保證所有機器都能得到端口的標稱帶寬的,而且利用其可以接收到其它機器發送的數據的特點,我們可以用sniffer等軟件監控網絡中的數據。
交換機的好處在於其可以隔離衝突域,每個端口就是一個衝突域,因此在一個端口單獨接計算機的時候,該計算機是不會與其它計算機產生衝突的,也就是帶寬是獨享的,交換機能做到這一點關鍵在於其內部的總線帶寬是足夠大的,可以滿足所有端口的全雙工狀態下的帶寬需求,並且通過類似電話交換機的機制保護不同的數據包能夠到達目的地,可以把HUB和交換機比喻成單排街道與高速公路。 HUB和交換機都工作於OSI的第二層。
IP廣播是屬於OSI的第三層,是基於TCP/IP協議的,其產生和原理這裡就不多講了,大家可以看看TCP/IP協議方面的書籍。交換機是無法隔離廣播的,就像HUB無法隔離衝突域一樣,因為其是工作在OSI第二層的,無法分析IP包,但我們可以使用路由器來隔離廣播域,路由器的每個端口可以看成是一個廣播域,一個端口的廣播無法傳到另外一個端口(特殊設置除外),因此在規模較大,機器較多的情況下我們可以使用路由器來隔離廣播。
下面開始歸入正題。
通常,只有通過劃分子網才可以隔離廣播,但是VLAN的出現打破了這個定律,用二層的東西解決三層的問題很是奇怪,但是的確做到了。 VLAN中文叫做虛擬局域網,它的作用就是將物理上互連的網絡在邏輯上劃分為多個互不相干的網絡,這些網絡之間是無法通訊的,就好像互相之間沒有連接一樣,因此廣播也就隔離開了。
VLAN的實現原理非常簡單,通過交換機的控制,某一VLAN成員發出的數據包交換機只發個同一VLAN的其它成員,而不會發給該VLAN成員以外的計算機。
使用VLAN的目的不僅僅是隔離廣播,還有安全和管理等方面的應用,例如將重要部門與其它部門通過VLAN隔離,即使同在一個網絡也可以保證他們不能互相通訊,確保重要部門的數據安全;也可以按照不同的部門、人員,位置劃分VLAN,分別賦給不同的權限來進行管理。
VLAN的劃分有很多種,我們可以按照IP地址來劃分,按照端口來劃分、按照MAC地址劃分或者按照協議來劃分,常用的劃分方法是將端口和IP地址結合來劃分VLAN,某幾個端口為一個VLAN,並為該VLAN配置IP地址,那麼該VLAN中的計算機就以這個地址為網關,其它VLAN則不能與該VLAN處於同一子網。
如果兩台交換機都有同一VLAN的計算機,怎麼辦呢,我們可以通過VLAN Trunk來解決。
如果交換機1的VLAN1中的機器要訪問交換機2的VLAN1中的機器,我們可以把兩台交換機的級聯端口設置為Trunk端口,這樣,當交換機把數據包從級聯口發出去的時候,會在數據包中做一個標記(TAG),以使其它交換機識別該數據包屬於哪一個VLAN,這樣,其它交換機收到這樣一個數據包後,只會將該數據包轉發到標記中指定的VLAN,從而完成了跨越交換機的VLAN內部數據傳輸。 VLAN Trunk目前有兩種標準,ISL和802.1q,前者是Cisco專有技術,後者則是IEEE的國際標準,除了Cisco兩者都支持外,其它廠商都只支持後者。