Qinq技術介紹與實戰
說明:本文介紹部分是我在網路收集整理並新增提供。
Qinq技術介紹與實戰
Qinq介紹
Qinq就是為使用者提供一種較為簡單的二層×××隧道。最核心的思想就是將使用者私網VLAN tag封裝到公網VLANtag上,報文帶著兩層tag穿越服務商的骨幹網路。在使用者埠上使QinQ功能時,都會為每個使用者分配一個Customer-ID。其中報文中的兩層tag標籤包括內層ce-vid--VLAN標籤和外層pe-vid-Qint標籤。
那麼問題來了,為什麼要帶兩層標籤呢?
我們知道,普通VLAN中的一個VLAN標籤是用來區分使用者的,但如果想要同時區分使用者又區分業務型別,那該怎麼辦呢?下圖是一個總公司下面連線了兩個分支子公司,而各分支子公司中已對不同部門的員工採用了
為了解決這個問題,我們可以設想在總公司的交換機上為各子公司建立了不同的VLAN。這樣當連線對應子公司的總公司交換機埠收到資料幀後再在資料幀外面新增一層VLAN標籤(此時資料幀中就有兩層VLAN標籤了,原來的VLAN標籤稱之為內層VLAN標籤,新新增的稱之為外層VLAN標籤),如為子公司1和子公司2的資料幀分別新增的外層VLAN標籤為VLAN 10和VLAN 20,這樣就可實現在總公司中對來自不同子公司的資料進行區分了,也可以對來自這兩個子公司的資料提供不同的服務,即差分服務了。
如上文問題中所說,VLAN是用來區別使用者用的,即每個使用者都會有一個自己的VLAN區域,可是實際中,服務提供商所提供的vlan ID資源不僅只有4094個,而且還需要服務提供商來管理使用者的VLAN號,使用者是沒有權利來規劃VLAN的。那麼VLAN ID緊缺的的問題該怎麼解決呢?
QinQ協議就很好的解決了這個問題,它向用戶提供一個唯一的公網VLAN ID,這個特殊的VLANID被稱作Customer-ID,將使用者私網VLAN tag封裝在這個新的Customer-ID中,依靠它在公網中傳播,使用者私網VLANID在公網中被遮蔽,從而大大地節省了服務提供商緊缺的VLAN ID資源。如下圖。
雙層
QinQ小經典拓撲實戰
一:實驗拓撲圖:
分析:
PC1屬於VLAN 10,此時的資料幀中被打入一層標籤,是屬於內層標籤。資料幀在經過公司總部交換機時,再次被打傷VLAN 100 標籤,此標籤屬於外部標籤。經過路由器時, 會脫掉標籤,終結掉tag,路由器會根據資料包中的源ip地址和目標ip地址與自己的ARP快取表中進行匹配。從路由器出來之後會再次打上標籤。
二:實驗目標
1:實現解決VLAN ID 不夠用的問題
2:理解資料幀的脫包過程(兩層標籤終結VLAN)
3:實現不同地域相同部門的通訊
三:實驗程式碼
Sw2
[Huawei]vlan bat 10 20
[Huawei-Vlanif10]int e0/0/1
[Huawei-Ethernet0/0/1]port link-type access
[Huawei-Ethernet0/0/1]port default vlan 10
[Huawei-Ethernet0/0/2]int e0/0/2
[Huawei-Ethernet0/0/2]port link-type access
[Huawei-Ethernet0/0/2]port default vlan 20
[Huawei-Ethernet0/0/2]int e0/0/3
[Huawei-Ethernet0/0/5]port link-type trunk
[Huawei-Ethernet0/0/5]port trunk allow-pass vlan 10 20
Sw3
[Huawei]vlan 10
[Huawei-vlan10]int e0/0/3
[Huawei-Ethernet0/0/3]port link-type access
[Huawei-Ethernet0/0/3]port default vlan 10
[Huawei-Ethernet0/0/3]int e0/0/2
[Huawei-Ethernet0/0/5]port link-type trunk
[Huawei-Ethernet0/0/2]port trunk allow-pass vlan 10
Sw1
[Huawei]vlan bat 100 200
[Huawei]int e0/0/1
[Huawei-Ethernet0/0/1]port link-type dot1q-tunnel
[Huawei-Ethernet0/0/1]port default vlan 100
[Huawei-Ethernet0/0/1]int e0/0/2
[Huawei-Ethernet0/0/2]port link-type dot1q-tunnel
[Huawei-Ethernet0/0/2]port default vlan 200
[Huawei-Ethernet0/0/2]int g0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type trunk
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan 100 200
R1
[Huawei]dhcp enable
[Huawei]int g0/0/0.100
[Huawei-GigabitEthernet0/0/0.100]qinq termination pe-vid 100 ce-vid 10 to 20
[Huawei-GigabitEthernet0/0/0.100]ip add 192.168.10.1 24
[Huawei-GigabitEthernet0/0/0.100]dhcp select interface
[Huawei-GigabitEthernet0/0/0.100]int g0/0/0.200
[Huawei-GigabitEthernet0/0/0.200]qinq termination pe-vid 200 ce-vid 10
[Huawei-GigabitEthernet0/0/0.200]ip add 192.168.20.1 24
[Huawei-GigabitEthernet0/0/0.200]dhcp select interface
測試
Pc1
#在同一公司分部上不同部門的員工不能通行
Pc3
#在不同抵禦相同部門下的公司是可以通訊的。
抓包分析
#在路由器上抓reply包。如圖外層為LAN 200,內層為VLAN 10,並且說明QinQ配置已經生效,
思考:
在PC 1 ping PC 3的回包過程中,資料幀到達路由器的時候,資料幀是否帶有tag以及路由器是怎麼區分回包走的是內層10的還是內層20的?
#由上圖得知,回包是帶有兩層tag的,在路由器的路由表中是記錄的回包的路徑的,所以資料幀是可以找到回包路的。
轉載於:https://blog.51cto.com/blxueyuan/1862773