HCNA Routing&Switching之VLAN間路由

1874發表於2021-08-06

  前文我們瞭解了二層交換技術vlan相關話題,回顧請參考https://www.cnblogs.com/qiuhom-1874/p/15091491.html;今天我們來聊一聊不同VLAN間通訊相關話題;

  我們知道vlan主要解決了交換機的廣播域問題,在大型網路環境中,vlan可以隔離廣播域,雖然解決了廣播風暴帶來的問題,但同時也引入了一個新的問題;不同vlan間該如何通訊呢?在現網中,一般情況都是一個vlan對應一個網路,要想實現不同vlan間通訊,其實就是不同網段該如何通訊;我們知道不同網段要想通訊就必須藉助三層路由裝置來實現資料包轉發,從而實現不同網段間通訊;

  提示:每個 VLAN 都是一個獨立的廣播域,不同的 VLAN 之間二層就已經隔離,因此屬於不同 VLAN 的節點之間是無法直接互訪的。

  解決vlan間通訊的方法:傳統增加路由器來實現資料包轉發

  提示:以上架構是傳統的方式,通過二層交換機劃分不同的vlan,每一個vlan使用一條獨佔的物理鏈路連線至路由器;

  實驗:如下拓撲,實現主機A,主機B互通

  SW1的配置

HCNA Routing&Switching之VLAN間路由
sys
sys SW1
vlan batch 10 20
int eth0/0/1
port link-type access
port default vlan 10
int eth0/0/2
port link-type access
port default vlan 20
int eth0/0/3
port link-type access
port default vlan 10
int eth0/0/4
port link-type access
port default vlan 20
View Code

  驗證:檢視sw1的vlan資訊

  驗證:檢視sw1的介面vlan資訊

  R1的配置

HCNA Routing&Switching之VLAN間路由
sys
sys R1
int g0/0/1
ip add 192.168.10.254 24
int g0/0/0
ip add 192.168.20.254 24
View Code

  驗證:檢視R1的路由,看看是否有直連路由生成

  pc1的配置

  pc2的配置

  驗證:用pc1 ping pc2 看看是否能夠互通?

  提示:可以看到pc1能夠正常ping通pc2;這樣就實現了vlan10 裡的主機和vlan20裡的主機通訊;這種傳統的方式有一個缺點就是佔用路由器的介面;我們知道路由的介面對於我們來說是相當寶貴的,如果我們有100個vlan,這種方式很顯然就不能實現;於是為了解決佔用路由器介面的問題,單臂路由就由此產生;

  單臂路由

  什麼是單臂路由呢?單臂路由從字面我們可以理解交換機連線路由器就只有一條鏈路,路由器通過子介面的方式配置不同的ip地址資訊,並將對應的子介面劃分到不同的vlan裡,從而實現一條鏈路上允許多個子介面的流量通過,從而減少佔用路由器的埠問題;

  提示:我們可以將二層交換連結路由器的介面設定為trunk,允許對應的vlan通過;而對於路由來說,我們可以將不同的子介面劃分到不同的vlan裡,從而實現二層交換機trunk傳送的資料,到對應子介面可以解除vlan標籤,從而實現路由器能夠識別對應的資料包,從而根據路由資訊來轉發資料;

  實驗:如下拓撲,實現主機A,主機B互通

  sw1的配置

HCNA Routing&Switching之VLAN間路由
sys
sys sw1
vlan batch 10 20
int eth0/0/1
p l a
p d v 10
int eth0/0/2
p l a
p d v 20
int g0/0/1
p l t 
p t a v 10 20
View Code

  驗證:檢視sw1的vlan資訊

  驗證:檢視sw1的介面vlan資訊

  R1的配置

HCNA Routing&Switching之VLAN間路由
sys
sys R1
int g0/0/0.10
dot1q termination vid 10
ip add 192.168.10.254 24
arp broadcast enable
int g0/0/0.20
dot1q termination vid 20
ip add 192.168.20.254 24
arp broadcast enable
View Code

  驗證:檢視R1的子介面是否都起來了?

  提示:在路由器上新建子介面,其作用就是用來將對應的vlan標籤解除/打上vlan標籤,從而實現能夠和二層交換機的trunk介面正常通訊;所以我們必須要先改子介面vlan封裝,然後在配置ip地址和開啟arp 廣播,如果不配置vlan封裝,只是在子介面配置上ip地址,對應子介面是無法正常up的;

  驗證:用pc1 ping pc2看看是否可以ping通?

  提示:可以看到pc1能夠正常ping通pc2;

  驗證:我們在R1的g0/0/0介面抓包看看,看看對應vlan標籤的變化

  提示:可以看到在R1的g0/0/0介面上能夠抓到很多icmp的包,其原因是,pc1pingpc2的icmp請求包和回覆包都會走g0/0/0介面;從上面的截圖可以看到當pc1傳送icmp請求包時,首先R1會收到一個帶有vlan 10 標籤的資料包,然後經過R1的子介面處理以後,對應資料包的vlan標籤又會變為20(原因是通過R1的路由以後,發現去往192.168.20.2網路的資料包,會從g0/0/0介面傳送出去,所以R1的g0/0/0.20這個子介面收到g0/0/0.10子介面的資料是沒有標籤的,經過g0/0/0.20子介面處理以後,對應資料包會被打上vlan20的標籤);對應pc2回包也是一樣,路由器會先收到一個vlan20的標籤資料包,經過對應子介面處理以後,再從另一個子介面傳送出來,會被打上vlan10的標籤;

  通過上述的實驗,可以看到我們使用一條物理鏈路就可以實現多個vlan間的主機通訊,同時也沒有浪費路由器的介面,感覺完美的解決了不同vlan間通訊的問題;這種單臂路由的架構看起來好像很完美,但也有不足;上面是一個簡單的模擬,在現實生活中,路由器往往作為一個企業的出口裝置,下面有很多交換機,如果單純的vlan間通訊,所有的資料包都要走路由器過,很顯然這樣組網方式不妥;那還有什麼方式實現不同vlan間通訊嗎?有的,三層交換機,完美解決上述問題;

  什麼是三層交換機呢?所謂三層交換機就是指支援三層功能的交換機,簡單講就是支援路由的交換機,它既有二層功能,也有三層功能;

  提示:三層交換機通過vlanif虛擬介面配置對應的ip地址資訊就能實現不同vlan間路由;這裡要注意一點,vlanif後面的編號就是對應vlan的編號;

  實驗:如下拓撲,實現主機A,主機B互通

  sw1的配置

HCNA Routing&Switching之VLAN間路由
sys
sys sw1
vlan batch 10 20
int g0/0/1
p l a
p d v 10
int g0/0/2
p l a
p d v 20

int vlanif 10 
ip add 192.168.10.254 24
int vlanif 20
ip add 192.168.20.254 24
View Code

  提示:vlanif是三層交換機的虛擬介面,它可以配置ip地址;其後面的編號就是對應的vlan編號;

  驗證:檢視sw1的虛擬介面是否都起來了?

  提示:vlanif介面的建立前提是對應vlan存在才可正常建立,否則建立不了;

  驗證:檢視sw1上的路由

  提示:可以看到sw1上也有路由表,對應去往不同的網段,出介面都是對應vlan的虛擬介面;

  驗證:pc1 ping pc2看看是否可正常ping通?

  提示:可以看到pc1能夠ping通pc2;從上面的實驗可以看到,使用三層交換機可以實現不同vlan間的通訊;它既支援三層路由的功能,也支援二層交換的功能;同時也解決了單臂路由的問題(所有流量都要走路由器過),現網中比較推薦使用三層交換機實現vlan間路由;

相關文章