天天看點

一看就會,資料鍊路層——VLAN間的通信流程

作者:騰科IT教育

總體分為:

VLAN通信流程 → 二層轉發 → 路由轉發 → 出口轉發→總結

一看就會,資料鍊路層——VLAN間的通信流程

二層轉發

首先當PC1通路PC2或者通路PC3的時候,這裡以通路PC2說明。首先資料鍊路層需要封裝源MAC位址和目的MAC位址,源MAC位址是PC1自己的MAC位址,目的MAC位址是分兩種情況:第一種,當目的主機和自己處在相同網段的時候MAC位址就是目的主機的MAC位址。第二種,當目的主機和自己處在不同網段的時候,這個時候目的MAC位址封裝網關的MAC位址

一看就會,資料鍊路層——VLAN間的通信流程

PC1通路不同網段的PC2時,因為是不同網段,PC1把網關的MAC位址封裝到資料幀裡,在進行ARP請求的時候,目的IP位址是網關的IP位址,交換機從接口收到這個資料幀後,首先為這個資料幀添加VLAN TAG,TAG為端口的PVID,這裡交換機連接配接PC1的端口PVID設定為了10,那麼這個資料幀會被添加VLAN 10的TAG,然後根據交換機的MAC位址表把資料幀轉發到放行了VLAN 10的接口(這裡忽略了交換機學習MAC位址表的細節),sw2收到之後會把資料幀的源IP位址和源MAC位址寫入自己的ARP快取記錄裡,sw2單點傳播回應ARP應答封包給PC1,這樣PC1就學習到了網關的MAC位址,PC2到網關的流程同理。

一看就會,資料鍊路層——VLAN間的通信流程

路由轉發

在學習到了對方的MAC位址之後,就可以發送資料了。

PC1通路PC2:

PC1先發送資料給PC2,因為PC2的IP位址是192.168.20.1/24,PC1的IP位址是,192.168.10.1/24,兩者之間是不同網段,這個時候先發送資料給網關,網關收到資料,看到目的IP位址是不同網段的,而且目的MAC位址是自己後,直接查找路由表。

一看就會,資料鍊路層——VLAN間的通信流程

這裡可以看到192.168.20.0/24可以比對中sw2的路由表,出接口為VLANIF20

注意了:sw2收到PC1通路PC2的資料時,網關為sw2的VLANIF10的IP位址,是以攜帶的VLAN标簽為VLAN10,sw2收到之後,先由交換子產品進行處理,這裡是trunk模式的接口,檢視是否允許了VLAN10通過。交換子產品處理完了之後會把VLAN标簽剝離,然後交換路由子產品處理,也就是查找路由表,路由表查找完之後,這裡是比對中出接口為VLANIF20,發送資料的時候會重新封裝源MAC和目的MAC,而且發送資料之前會添加VLANIF20所屬VLAN作為資料的VLAN ID

上面這種情況是兩個網段屬于直連,比對中的路由表的下一跳是自己接口的IP位址,當也會有比對中路由為非直連的情況

一看就會,資料鍊路層——VLAN間的通信流程

PC1通路PC3:

假設PC3的IP位址為100.1.1.1,資料由sw2處理後,查找路由表,這裡是比對中這一條預設路由,出接口為VLANIF30,下一跳為192.168.30.1。這裡為了讓sw2和路由器進行對接,單獨給他們劃分了一個VLAN30,在這一個場景裡面,交換機連接配接路由器的接口是劃分了access模式,資料從G0/0/2接口出去是不會攜帶VLAN的,這個是access的工作原理。從VLANIF30接口出去,這個時候源MAC位址重新封裝為sw2和路由器連接配接的MAC位址,目的MAC位址為相關路由條目的下一跳IP位址所對應的MAC位址。那麼可以思考一下 下一跳所對應的MAC位址是怎麼知道的?

一看就會,資料鍊路層——VLAN間的通信流程
一看就會,資料鍊路層——VLAN間的通信流程

出口轉發

最後一部分就是出口轉發了

資料到NAT網關的時候,這裡R1是作為NAT網關。配置NAT類型的不同,處理機制會有所差異,靜态NAT是看靜态配置的一對一的内部位址,如果用的是動态的NAT(NO-PAT、NAPT和easy-IP)看的是ACL,本篇重點是在VLAN間的通信,這個ACL這塊本篇暫不做詳細介紹

資料比對中NAT網關上配置的ACL之後,會把源IP位址轉換為NAT位址池裡的位址或者出接口的位址,如果配置的是NAT server,那麼轉換的就是目的IP位址,也會有源/目IP位址都轉換的情況,當然那種是雙向NAT

R2作為ISP的路由器,收到之後直接轉發給PC3

一看就會,資料鍊路層——VLAN間的通信流程

總結

可以發現

MAC位址在每經過一個三層網絡都會重新封裝

IP位址在不經過NAT網關是不會重新封裝

繼續閱讀