比ip和路由更重要的是什么?當網絡2層出現故障的時候,鏈路層的知識顯得更重要。許多人都沒有把握構建富有彈性的2層網絡必須具備的生成樹協議的知識。當一臺交換機出現問題時,除非主機直接連接到這臺交換機。否則不應該影響其它人的網絡連接。在我們深入介紹生成樹協議之前,你必須要理解2層內部的工作原理。
2層是數據鏈路層,是以太網所在的層。在這一層我們將討論網橋、交換和虛擬局域網,要讓一個網絡運行起來,你實際上不需要學習以太網內部的工作原理,當然,假如你愿意學習的話,你可以利用其它的時間學習這方面的知識。
以太網交換機是一種“網橋”設備。傳統的網橋是這樣工作的,一開始它接收以太網幀,然后,把它們發送到除接收端口之外的全部其它端口。以太網交換機具答應答應雙絞線連接的能力。它漸學習哪一個端口連接了哪些MAC地址。這時候,網橋就變成了一臺學習設備,能夠存儲在一個端口上看到的全部的MAC地址表。當一個幀需要發出時,網橋將查看在網橋表中的目標MAC地址,并且知道應該在哪一個端口發送這個幀。這種僅向正確的主機發送數據的能力是交換技術中的一個巨大的進步,因為這可能顯著減少通信沖突。假如在網橋表中沒有目標MAC地址,交換機就簡單地把數據發送到全部端口。這是首次發現主機到底在什么地方的惟一方法,因此,正如你看到的那樣,把數據發送到全部端口是交換技術中的一個重要原則。這個原則在路由中也非常必要。
2層相關的重要詞匯包括:
單播分段(Unicast segmentation):網橋能夠限制哪些主機能夠收到單播幀(僅發送給一個MAC地址的幀)。集線器只是簡單地把一切數據發送給所有的端口,因此,單播分段本身可以節省大量的帶寬。
沖突域(Collision Domain):沖突域是能夠發生沖突的網段。由于交換機采用了直通發送技術以及網卡全部采用雙工技術,沖突已經不再發生了。假如你在一個端口看到沖突,這就意味著有人意外地使用半雙工的設備,或者是出現了其它的故障。
廣播域:發送和接收廣播幀的網段。
在交換機產品幾年后,網橋運行所采用的老式的存儲和發送方式改變了。新的交換機僅查看幀的目標MAC地址,然后立即把這個幀發送出去。這種技術稱作“直通發送”可以幀更快地直接通過交換機,因為這種方式對幀很少進行處理。這種方式也暗示了一件重要的事情:一臺交換機不再檢查CRC(循環冗余校驗)以便查看數據包是否損壞。這還暗示著不可能發生沖突。
另外,為了解決廣播網段的問題,我們引入了虛擬局域網技術。假如你不能向另一臺機器發送廣播幀,那些機器就不在你的本地網絡中,你要把全部數據包發送給一臺路由器,接著由路由器發送這些數據包。實際上,這就是虛擬局域網做的事情:虛擬局域網將網絡劃分為更多的子網。
你可以在一臺交換機上設置虛擬局域網,然后向一個虛擬局域網分配端口。假如主機A是虛擬局域網1,這臺主機就不能與虛擬局域網2中的任何人通話,就像它們生活在完全沒有網絡連接的設備中一樣。不過需要注重,這究竟只是虛擬的,假如交換機的MAC地址表空間已經被數據填滿從而無法繼續維護這個交換MAC地址表,為了繼續維持通訊交換機將會把收到的所有數據轉發到所有端口。很多人將VLAN視為一種很好的安全措施,實際上任何一個半吊子黑客使用合適的工具都可以很快的攻克交換機的VLAN限制,事實上,當交換機出現MAC地址表溢出的情況時,它會變成一臺單純的HUB.
正如我們已經知道的那樣,假如你無法使用ARP協議獲得目標的MAC地址,那你必須要使用一臺路由器。這是不是意味著你必須在每個VLAN之間物理的連入一臺路由器呢?不需要,因為我們現在擁有3層交換機!設想一個例子,假如你愿意,一臺交換機可以配置48個端口。這臺交換機有兩個虛擬局域網,虛擬局域網1采用1至24端口,虛擬局域網2采用25至48端口。要把這兩個虛擬局域網連接起來,你基本上有三種選擇。第一,使用一臺路由器分別連接這兩個虛擬局域網中的一個端口,并且分為VLAN中的主機配置正確的默認路由。第二種方法是你還可以簡單地在每個虛擬局域網中各自建立一個虛擬路由器接口(virtual interfaces)。在思科的設備,這種虛擬路由器接口可能稱作“vlan1”和“vlan2”。它們擁有自己的IP地址,而VLAN中的主機使用這些虛擬路由器接口作為自己的路由器。
在第三種方法使我們回到了2層概述的最終話題。假如你擁有多臺需要包含同樣的虛擬局域網的交換機,你可以通過端口匯聚(trunk)的方式它們都連接起來。這樣,交換機A中的虛擬局域網1和交換機B中的虛擬局域網1就完全是一樣的了。這是采用802.1q標準完成的。802.1q標準為將離開第一臺交換機的數據包打上一個虛擬局域網的標識符。思科把這些交換機間的鏈路稱作“主干端口(trunk ports)”,你可以擁有交換機答應的最多數量的虛擬局域網(目前大多數硬件答應4096個虛擬局域網)。因此,在虛擬局域網之間建立聯系的第三種方法(也是最后一種方法)是把以trunk方式連接一臺路由器,并且為每一個虛擬局域網建立一個虛擬路由器接口。虛擬局域網1上的主機(無論是在交換機A和交換機B上)都能夠訪問這個路由器接口(這個接口可以在另一臺設備上),因為他們全部都連接在了一起,并且共享一個廣播域。關于trunk與802.1q的更多信息請參見這篇文章。
在這里我們沒有采用“這是2層協議,記住以太網數據包頭”這種標準的教學模式。要成為一個真正的專家,你必須要知道這些知識。但是,要成為一個有用的操作人員,簡單地知道2層是如何工作的就可以了。下一講我們將介紹網絡領域最有趣的協議生成樹協議。
小結:
●網橋(又名交換機)存儲MAC地址表以實現單播網段功能。也就是說它們僅向需要這個數據的主機發送單播數據。
●虛擬局域網并不能提供可靠的安全。
●一臺3層交換機能夠通過trunk提供多個虛擬局域網,并且為這些虛擬局域網提供路由。這可以完全在同一條線路上實現。
新聞熱點
疑難解答