例項詳解不同VLAN間通訊(轉發過程)
一、交換機埠的兩種工作模式
交換機埠有三種工作模式:Access埠、trunk埠、hybrid埠。
在交換機中收發資料包時:
Access埠:只收發本Vlan不帶tag的幀。
Trunk介面:只收發本介面允許VLAN列表的資料幀,本介面的Native Vlan不帶tag,其他所有Vlan都帶tag。
hybrid埠::
1、判斷該VLAN在本埠的屬性
2、如果是untag則剝離VLAN資訊,再傳送,如果是tag則比較埠的PVID和將要傳送報文的VLAN資訊, 如果兩者相等則剝離VLAN資訊,再傳送, 否則報文將攜帶原有的VLAN標記進行轉發
Hybrid埠和trunk埠的區別:
Hybrid埠和Trunk埠在接收資料時,處理方法是一樣的,唯一不同之處在於傳送資料時:Hybrid埠可以允許多個VLAN報文傳送時不打標籤,而Trunk埠只允許預設VLAN的報文
傳送時不打標籤。
例項詳解Access埠和trunk 埠的區別:
如下圖:跨交換的同個VLAN之間的通訊
資料包從電腦發出的時候,本身是沒有VLAN TAG的,當資料包進入交換機的ACCESS口後,交換機會打上 VLAN TAG(交換機內部),然後從ACCESS口發出就剝離掉VLAN TAG了,然後傳送到目的電腦上面。下面這個圖就是很好的解釋,如果你在方案一中間的線路上面去捕捉資料包,捕捉到的資料包是沒有802.1Q的封裝的,也就是沒有VLAN TAG,但是在交換機內部處理從F0/1埠傳送到F0/24埠的時候會有TAG標記的,你捕捉不到而已。然後方案二,在中間的TRUNK線路中傳輸的資料包,你是可以捕捉到帶有VLAN TAG的資料包的。
二、例項詳解VALN轉發過程
如下圖:處於不同VALN的PC1訪問PC4
步驟1:PC1訪問PC4的時候,因為2臺PC不在同一個網段內,所以PC1查詢自己的路由表以後會將資料包發給PC1的閘道器192.168.10.1,此時從PC1網路卡發出的資料包內容是SIP:192.168.10.10 DIP:192.168.11.20 SMAC:PC1 DMAC:RT5 VLAN:空
步驟2:上面的資料包從PC1的網路卡發出後先到達SW3的F0/10埠,此埠是ACCESS口,於是給資料包打上VLAN 10的標記,隨後查詢自己的ARP表,因為目的MAC是RT5,所以講資料包從F0/1口發出,而F0/1是TRUNK口,所以此時資料包在TRUNK線路上的資料包內容是:SIP:192.168.10.10 DIP:192.168.11.20 SMAC:PC1 DMAC:RT5
步驟3:資料包到達RT5 E0/0.10子介面以後,路由器查詢自己的路由表,發現去往目的地址192.168.11.20網段的路由是在E0/0.11下面的直連網段,所以路由會講資料包從E0/0.10傳輸到E0/0.11子介面下面,在這傳輸的過程中就會講VLAN10的標記剝離掉重新打上VLAN11的標記,然後從E0/0.11口發出,E0/0是TRUNK口,此時資料包的內容是SIP:192.168.10.10 DIP:192.168.11.20 SMAC:RT5 DMAC:PC4
步驟4:資料包從RT5傳送到SW3,然後SW3通過TRUNK線路又傳送到SW4,SW4查詢自己的ARP表,發現PC4在F0/11埠下面
步驟5:因為F0/11是ACCESS口,所以SW4將資料包從F0/11口發出的時候會剝離掉VLAN11標記,最終資料包達到PC4。
相關文章
- VLAN之間單臂路由通訊路由
- vue之父子元件間通訊例項講解(props、$ref、$emit)Vue元件MIT
- 如何實現同一路由器不同vlan之間的通訊?vlan劃分配置方法路由器
- 轉:DNS解析過程詳解DNS
- 在不同網段使用 VLAN 通訊 - SVI,單臂路由路由
- Flink不同併發之間如何通訊
- Android程式間通訊詳解Android
- 通過例項學習 PyTorchPyTorch
- [轉]:xmake編譯配置過程詳解編譯
- 無線通訊的發展過程
- 元件例項 $el 詳解元件
- JavaScript:從Callback到Async的發展過程——例項演示JavaScript
- 需求過程化分析方法-例項分享
- 例項詳解構建數倉中的行列轉換
- https的通訊過程HTTP
- Flink - 元件通訊過程元件
- Android native程式間通訊例項-binder結合共享記憶體Android記憶體
- 實現不同程式之間的通訊
- 圖解Flutter建立Isolate的過程及通訊圖解Flutter
- MapReduce過程詳解
- (八)Flutter 和 Native 之間的通訊詳解Flutter
- 詳解NTP網路時間協議工作過程協議
- Java的Socket通訊簡單例項Java單例
- Python中類建立和例項化過程Python
- 通過例項理解 JDK8 的 CompletableFutureJDK
- CSS例項詳解:Flex佈局CSSFlex
- EventBus詳解及簡單例項單例
- Spring事務管理(詳解+例項)Spring
- C++11運算子過載詳解與向量類過載例項(<<,>>,+,-,*等)C++
- 微服務之間通過RabbitMQ通訊微服務MQ
- 程式間的五種通訊方式介紹-詳解
- Spring 原始碼學習 - 單例bean的例項化過程Spring原始碼單例Bean
- 基於Gin框架的web後端開發(十): Gin框架-中介軟體(定義、使用、通訊與例項)詳解框架Web後端
- ORACLE事務和例項恢復過程梳理Oracle
- Spring Bean 的例項化過程原始碼解析SpringBean原始碼
- Java開發中的事件驅動模型例項詳解Java事件模型
- VLAN技術和VLAN間路由路由
- VLAN技術和VLAN間 路由路由