2009/03/31

Layer 2 Switch...

寫了一大堆的Layer 2 Switch的功能
卻沒有做較完整的概論
希望能在這篇有個大致的輪廓...

首先要介紹的是
為什麼要用Switch而不用hub?
這就要提到Ethernet Network的原罪了
因為Ethernet是採用CSMA/CD的方式傳輸
在網路設備要傳輸前會偵測網路的使用狀況(碰撞偵測)
如果有別的設備在傳輸
則會等一段時間在試著傳輸
若太多的網路設備都在同一個網路上面的話
就會常常要等待
這樣的一個網路區域通常稱為"碰撞領域"(collision domain)
hub只會將碰撞領域變大
而switch可以切割碰撞領域
所以用switch可以增加網路使用的效能

如果要增加Ethernet的頻寬使用率
必須要減少一些不需要的封包在網路上傳送
以下將功能大致分為三類
減少網路流量、增加網路頻寬、安全與偵錯

● 減少網路流量
首先要介紹switch最主要的功能
802.1d (bridge behavior)
主要是介紹如何自動學習MAC以及轉送frame
在這邊可以參考MAC Table以及Static MAC forwarding
並且透過port security來設定MAC forwarding的作法
也可以透過filtering的功能來限制traffic的數量
除了這點之外還要避免"迴圈"的發生
迴圈會導致broadcast strom(廣播風暴)
在這邊可以參考RSTP
但是RSTP只能有一隻tree於是有了MRSTP(這不是在standard裡面)
而且RSTP無法解決不同VLAN可以有不同tree的問題
於是有了MSTP(802.1s)
而且為了避免edge端的loop產生
於是有了Loop Guard的功能

為了減少一些不必要的資料在網路上傳送
於是產生了VLAN(802.1q)的概念
並且衍伸了
Protocol based VLAN (根據protocol來切VLAN)
Port based VLAN (根據對應的port來區分traffic)
Subnet based VLAN (根據IP range來切VLAN)


● 增加網路頻寬
如果頻寬不夠的話
在802.3ad定義了link Aggregation
就是可以將多個實體的port綁成一個邏輯上的port
那個port有更高速的頻寬跟容錯的機制

而在802.1p則是定義了Ethernet的priority以及Multicats的運作
在priority的部份可以參考Queue Method
在Multicast的部份可以參考GARP以及Static Multicast Forwarding

在802.3x也定義了flow control的部份
可以參考broadcast strom control以及bandwidth control


● 安全與偵錯
在switch的認證與安全的部份定義了802.1x
可以參考AAAPort Authentication

在tunneling(VPN)的部分有802.1ad (Q-in-Q)
可以參考Layer 2 Protocol TunnelingVLAN StackingVLAN Mapping

之前最為大家所詬病的Fault Management
也在最近有了802.1ag CFM
Mirroring真的不知道要放在哪裡
就先在這邊借放一下啦...

沒有留言:

張貼留言