為了了解VLAN内封包的轉發,就必須要知道交換機對于不同VLAN封包的tag/untag的處理原則。
首先,需要明确一點就是,在交換機的内部,為了快速高效的處理,封包都是帶tag轉發的。其實,這點很好了解,因為交換機上很可能會配置多個VLAN,那不同VLAN流量區分隻有依靠tag标簽。
下面從封包入和封包出兩個方向來介紹。
l 封包入方向:
在入方向上,交換機的根本任務就是決定該封包是否允許進入該端口,根據入封包的tag/untag的屬性以及端口屬性,細分為如下情況:
1) 封包為untag:允許封包進入該端口,并打上PVID的VLAN tag,與端口屬性無關;
2) 封包為tag:在這種情況下,需要交換機來判斷是否允許該封包進入端口;
Ø Access端口: PVID和封包中tag标明的VLAN一緻,接收并處理封包;否則丢棄。
Ø Trunk/Hybrid端口:如果端口允許tag中标明的VLAN 通過,則接收并處理封包;否則丢棄。
l 封包出方向:
在出方向上,交換機已經完成對封包的轉發,其根本任務就是在轉發出端口時,是否攜帶tag轉發出去,根據出端口屬性,細分為如下情況:
1) Access端口:将标簽剝掉,不帶tag轉發;
2) Trunk端口:封包所在VLAN和PVID相同,則封包不帶tag;否則帶tag;
3) Hybrid端口:封包所在VLAN配置為tag,則封包帶tag;否則不帶tag;
交換機接口出入資料處理過程:
Access端口收封包:收到一個封包,判斷是否有VLAN資訊:如果沒有則打上端口的PVID,并進行交換轉發,如果有則直接丢棄(預設) ;
Access端口發封包:将封包的VLAN資訊剝離,直接發送出去。
trunk端口收封包:收到一個封包,判斷是否有VLAN資訊:如果沒有則打上端口的PVID,并進行交換轉發,如果有判斷該trunk端口是否允許該 VLAN的資料進入:如果可以則轉發,否則丢棄;
trunk端口發封包:比較端口的PVID和将要發送封包的VLAN資訊,如果兩者相等則剝離VLAN資訊,再發送,如果不相等則直接發送。
hybrid端口收封包:收到一個封包,判斷是否有VLAN資訊:如果沒有則打上端口的PVID,并進行交換轉發,如果有則判斷該hybrid端口是否允 許該VLAN的資料進入:如果可以則轉發,否則丢棄(此時端口上的untag配置是不用考慮的,untag配置隻對發送封包時起作用);
hybrid端口發封包:
1、判斷該VLAN在本端口的屬性(disp interface 即可看到該端口對哪些VLAN是untag, 哪些VLAN是tag);
2、如果是untag則剝離VLAN資訊,再發送,如果是tag則直接發送。
---------------------
作者:一一風浪
來源:CSDN
原文:https://blog.csdn.net/lisayh/article/details/78980239
版權聲明:本文為部落客原創文章,轉載請附上博文連結!
模式 | 收 | 發 | ||
VLAN标記 | 有 | 無 | 有 | 無 |
Access | 丢棄 | 封裝上端口PVID,向在該VLAN中的端口轉發 | 若比對PVID,則剝離VLAN,發送出去;不比對,則丢棄 | 無此情況 |
Hybrid | 在VLAN清單中,則接收,否則丢棄;無論是否等于PVID都不修改VLAN标記 | 增加PVID轉發 | 判斷是否在tag,是則發送,untag剝離後發送;其他丢棄 | 無此情況 |
Trunk | 在VLAN清單中,則接收,否則丢棄;無論是否等于PVID都不修改VLAN标記 | 增加PVID轉發 | 如果等于PVID,則剝離後發送,若在允許清單中,則直接發送 | 無此情況 |