Flow-control use pause packet in full-duplex operation; back-pressure in half-duplex
/* pause packet */
00 00 00 00 00 02 00 00 00 00
00 01 88 08 00 01 03 E8 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
Reference:
[1]IEEE-802.3x
[2]http://www.pcdvd.com.tw/showthread.php?t=582735
2011年10月12日 星期三
2011年10月6日 星期四
Reserved Multicast MAC Address
![]() |
| From IEEE 802.1ad-2005 |
spanning tree's reserved multicast address為01-80-C2-00-00-00
LACP為採用slow-protocol的一種feature,故其reserved multicast address為01-80-C2-00-00-02
延伸閱讀:
IEEE Std 802.1D and IEEE Std 802.1Q Reserved Addresses
Reference: IEEE 802.1ad-2005
2011年9月29日 星期四
L2PT (Layer 2 Protocol Tunneling)
L2PT
Layer 2 Protocol Tunneling
這其實是為了解決edge端switch在跑Layer 2 protocol時候發出很多BPDU的同時,在Service Provider的core-network也會有對應的Layer 2 protocol在run,為了不讓彼此互相干擾所衍生的tunneling feature
以這圖而言,Switch 1 2 3 以及4 5 的Layer 2 protocol就可以互通,然後不影響Service Provider的Layer 2 protocol
port role可分成access port以及tunnel port
access port代表接edge switch的port,當這個port收到特定BPDU時會把它封裝成帶特定MAC(user可自己設定)然後送往tunnel port往core-network丟
tunnel port代表接core-network的port,當這個port收到帶特定MAC的packet會把它解封裝然後丟回access port
目前常見support的Layer 2 feature有STP, CDP, VTP, PAgP, and UDLD
扣除STP (Spanning Tree Protocol)外,CDP (Cisco Discovery Protocol), VTP (VLAN Trunking Protocol), PAgP (Port Aggregation Protocol), UDLD (Uni-Directional Link Direction)都是CISCO自己提出的protocol
Layer 2 Protocol Tunneling
這其實是為了解決edge端switch在跑Layer 2 protocol時候發出很多BPDU的同時,在Service Provider的core-network也會有對應的Layer 2 protocol在run,為了不讓彼此互相干擾所衍生的tunneling feature
![]() |
| Layer 2 Protocol Tunneling Network Configuration, from Reference[1] |
port role可分成access port以及tunnel port
access port代表接edge switch的port,當這個port收到特定BPDU時會把它封裝成帶特定MAC(user可自己設定)然後送往tunnel port往core-network丟
tunnel port代表接core-network的port,當這個port收到帶特定MAC的packet會把它解封裝然後丟回access port
目前常見support的Layer 2 feature有STP, CDP, VTP, PAgP, and UDLD
扣除STP (Spanning Tree Protocol)外,CDP (Cisco Discovery Protocol), VTP (VLAN Trunking Protocol), PAgP (Port Aggregation Protocol), UDLD (Uni-Directional Link Direction)都是CISCO自己提出的protocol
2011年9月14日 星期三
Snooping
在switch上另個常見的功能就是Snooping
Snooping的定義是「偷看」,switch偷看後記下來,然後有個別的應用,但重點是不影響原本的行為,意即是if沒開Snooping也可以正常運作
開啟Snooping後在switch上會「自動學習」跟他有關的infomation
這樣之後有packet進來的時候switch就可以直接把Packet送到適合的port
常見的包含IGMP Snooping,DHCP Snooping
Snooping的定義是「偷看」,switch偷看後記下來,然後有個別的應用,但重點是不影響原本的行為,意即是if沒開Snooping也可以正常運作
開啟Snooping後在switch上會「自動學習」跟他有關的infomation
這樣之後有packet進來的時候switch就可以直接把Packet送到適合的port
常見的包含IGMP Snooping,DHCP Snooping
2011年9月9日 星期五
GVRP
GVRP
VLAN的port可以手動也可以自動學習,手動設定的可以稱作Static VLAN;自動學習的可以稱作Dynamic VLAN。
其中自動學習的VLAN是使用GVRP, 也是個送出特定的BPDU(dst MAC = 0180C2000021)來完成的功能
GVRP的BPDU會夾帶VLAN的information,接收到後會自動"建立起"這個對應的VLAN
Here is an example of GVRP BPDU with JoinIn event for VID=100.
GVRP BPDU /* VLAN 100 */
01 80 C2 00 00 21 00 00 00 00 00 02 00 0C 42 42 03
00 01 01 04 02 00 64 00 00
04: Length
02: JoinIn
00 64: VID 100
Reference:
[1]http://support.dell.com/support/edocs/network/pc5212/tc/ug/pc5212ce.htm
[2]http://www.furukawa.com.br/pls/portal/docs/PAGE/PORTAL/DRTECH/PRODUTOS%20FORA%20DE%20LINHA/SWITCH/SW_5109/MANU_GERENCIAM_5109.PDF
[3]http://guiderworld.blogspot.com/2008/11/8021q-vlan.html
VLAN的port可以手動也可以自動學習,手動設定的可以稱作Static VLAN;自動學習的可以稱作Dynamic VLAN。
其中自動學習的VLAN是使用GVRP, 也是個送出特定的BPDU(dst MAC = 0180C2000021)來完成的功能
GVRP的BPDU會夾帶VLAN的information,接收到後會自動"建立起"這個對應的VLAN
Here is an example of GVRP BPDU with JoinIn event for VID=100.
GVRP BPDU /* VLAN 100 */
01 80 C2 00 00 21 00 00 00 00 00 02 00 0C 42 42 03
00 01 01 04 02 00 64 00 00
04: Length
02: JoinIn
00 64: VID 100
![]() |
| GVRP BPDU |
Reference:
[1]http://support.dell.com/support/edocs/network/pc5212/tc/ug/pc5212ce.htm
[2]http://www.furukawa.com.br/pls/portal/docs/PAGE/PORTAL/DRTECH/PRODUTOS%20FORA%20DE%20LINHA/SWITCH/SW_5109/MANU_GERENCIAM_5109.PDF
[3]http://guiderworld.blogspot.com/2008/11/8021q-vlan.html
2011年9月8日 星期四
sFlow
sFlow, defined in RFC 3176。提供一個monitor整個network的solution,讓網管人員可以了解到目前整個網路環境的資訊(好比port上統計資料、收送的packets)
sFlow,s是sampled的意思,我認為叫做「取樣」還蠻恰當的
sFlow的架構中主要有兩個角色:Collector以及Agent。如下圖
一般的switch/router大多扮演Agent角色。Agent在間隔一段時間後取得sample的data或者counter去傳送sFlow packet給Collector,Collector再根據收到的sFlow packet去做些分析,sFlow packet採用UDP的方式來送
sFlow sampling包含了兩部份:Flow sample以及counter sample;Flow sample就是 packet,counter sample就是port上的counter統計資料。這兩種都可以被包含在sFlow的datagram中。在sFlow的datagram中最多可以一次夾帶4個sample的data,包含了3個counter sample以及1個flow sample
在switch端扮演Agent的角色,設定包含了Collector的IP位置,UDP socket number,counter sample的interval(20~120秒)以及sample rate(每隔幾個packet sample一次)
Reference:
sFlow verion 5
sFlow,s是sampled的意思,我認為叫做「取樣」還蠻恰當的
sFlow的架構中主要有兩個角色:Collector以及Agent。如下圖
![]() |
| sFlow架構圖 |
sFlow sampling包含了兩部份:Flow sample以及counter sample;Flow sample就是 packet,counter sample就是port上的counter統計資料。這兩種都可以被包含在sFlow的datagram中。在sFlow的datagram中最多可以一次夾帶4個sample的data,包含了3個counter sample以及1個flow sample
在switch端扮演Agent的角色,設定包含了Collector的IP位置,UDP socket number,counter sample的interval(20~120秒)以及sample rate(每隔幾個packet sample一次)
Reference:
sFlow verion 5
switch....
/* 工作快兩年,我想我該整理一下碰到的東西跟自己的想法,持續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...
先了解一下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...
訂閱:
文章 (Atom)




