/* 工作快兩年,我想我該整理一下碰到的東西跟自己的想法,持續update這篇, 2011-09-08 */
先了解一下
hub vs switch的差別
Switch
不外乎就是當有packet從一個port進去的時候要forward到正確的port,至於如何正確的forward就是一門很大的學問
Switch在網路傳輸過程不外乎做幾件事情
其中最主要的減少流量增加網路效能 (這也是為什麼要用Switch不用hub的主因)
其中,為了減少一些不必要的資料在網路上傳送
於是產生了切割網段的方式,也就是所謂的VLAN(IEEE 802.1Q)
VLAN Tag format
而也因為有切割不同的VLAN,在packet就會因此受到限制,so 會為了解決VLAN跨domain的問題去做出相對應的feature
以Virtual LAN而言依據不同的切割方式衍生了幾種VLAN:
Protocol based VLAN (根據protocol來切VLAN)
Port based VLAN (根據對應的port來區分traffic)
Subnet based VLAN (根據IP range來切VLAN)
以Subnet based VLAN而言,使用者可以設定packet的source-ip + mask-bits來判斷符合條件的packet就送到哪個VLAN去。另外也可以根據不同的VLAN設定不同的priority,值越大代表權限越高
Protocol based VLAN則是去parse 進來packet的protocol 欄位是什麼(ex. IP、IPX、ARP、RARP、Apple Talk、DECNet),然後使用這自己決定符合這條件的packet要送到哪個VLAN去。
特別一提的是,上述兩種VLAN環境中,在進來的packet是有帶
VLAN tag的時候還是按照原本的VLAN去forward;上述提的兩種進階的VLAN都是適用於進來的packet不帶VLAN tag的情況
最後,Port based VLAN 就是以port當VLAN切割的依據,可以設定哪些port是在同個VLAN底下。
802.1p除了define優先權的概念,包含八種不同的priority外,另外定義了GARP-Generic Attribute Registration Protocol。GARP定義了Ethernet switch間交換不同特性訊息的方法,定義了Multicast(GMRP)、和VLAN(GVRP, in 802.1q)等的屬性。GARP定義了這些如何發送/處理feature的封包等
在VLAN中......可探討幾個常見的VLAN功能:
VLAN port的設定可分成手動 / 自動
GVRP
Ingress filtering
這概念很簡單,當這功能打開,從port進來的packet如果帶的VLAN TAG的VLAN「不存在」or和這個port join的VLAN不同的話就會直接被drop掉。不同的model這實現的方式不同,但不外乎是per port去做filtering或者total system去做filtering
VLAN Mapping
把進來packet的VLAN ID給換掉,可用於在Service Provider Network中和edge端的private network下用到相同VLAN ID但有不同用途的情況下。除了換VID也可以換priority,這是per port設定的feature
VLAN Stacking
VLAN Stacking 簡單講就是在原本的VLAN TAG前面再加一個TAG,有兩層TAG的意思。也稱做Q-in-Q, double tagged好處是在原本的4094的VLAN可以double加到4094*2個VLAN可以用。其實是為了解決ISP業者為了個別用戶都個別去設定VLAN導致VLAN不夠用的問題。
原本的VLAN稱為INNER TAG (CVID),多加的那一層稱為OUTER TAG (SVID)
Note: VLAN Stacking和VLAN Mapping不能同時使用
Reference:
[1]
http://blog.xuite.net/ahdeng/life/16396680
[2]
http://guiderworld.blogspot.com/2008/12/vlan-stacking.html
VLAN Trunking
VTP(VLAN TRUNKING PROTOCOL),cisco提出的protocol,不過大多數交換器產品都支援此protocol。
這功能主要是要讓「不存在」於這台Device的vlan tag packet可以pass through這個port。優點是在end-device設定好對應的vlan group時,當彼此間要溝通的時候,中間經過的device也都要有對應的vlan group設定才可以通,否則它們會看到這些packet都會把它drop。而這些packet會forward到同台的有開vlan trunking的port去
Reference:
[1]
http://support.dell.com/support/edocs/network/pc5212/tc/ug/pc5212ce.htm
port-security - 主要用於限制per port可以讓幾台host(認幾個MAC)連上去,包含動態學習以及手動設定
Security有關的feature可以包括幾項,主要規範於IEEE 802.1X:
Multicast:
IGMP Snooping
for Layer 2 redundant mechanism: Spanning tree(STP, RSTP, MSTP..)
spanning tree收斂速度太慢(300ms !?) Extreme Network提出
EAPS,Ethernet Automatic Protection Switching, 可以在30ms的時間內完成
to be continued...