昨天我們提到1000路大型網絡監控如何分配ip地址?, 有朋友問到,vlan間需要什么才能通信呢?如何讓不同vlan之間通信,我們通常提到了,vlan間通信需要三層交換機,那么不用三層交換機能不能通信呢?其實不同VLAN之間相互通信的兩種方式,單臂路由、三層交換機,它們分別如何配置呢?哪一種好呢?
今天我們來看下,這兩種方式是如何來實現vlan間的通信。
本篇文章要從三個問題開始說起?
1、實現vlan間的通信有哪些方式?
2、它們如何實現?如何配置?
3、它們有什么不同之處?哪一種好?
一、實現不同vlan間的通信有哪些?
我們知道要實現不同vlan間通信,就必須需要有路由功能,單臂路由的實現方式,其實就是普通二層交換機加路由器,從而實現不同vlan間的可以互相通信。
那為什么三層交換機不用路由器?因為三層交換機本身有路由功能,所以不用其它路由就可以實現vlan間的通信。
因此:
不 同VLAN之間相互通信的兩種方式(單臂路由、三層交換機),我們來看下他們的組網拓撲圖,對網絡有了解的朋友,就能看出他們的區別。
1、通過單臂路由實現不同VLAN之間的通信,如下圖:
2、通過三層交換路由功能實現不同VLAN之間的通信: 如下圖
當然看這兩個拓撲圖很多朋友可能不是很清楚,那么下面我們來通過交換機配置來詳細了解,如何用兩種方式分別實現不同vlan間通信。
二、單臂路由實現不同vlan互通
拓撲圖如下:
上面說了,單臂路由組網是由普通交換機與路由器組成,所以我們在配置時,要配置交換機與路由。
1、 交換機SW3的具體配置(主要配置vlan和trunk接口)
第一步: 在SW3上創建vlan100、vlan200、vlan300,名稱依次為caiwu、xiaoshou、gongcheng。(創建vlan既可以在vlandatabase中,也可以在全局模式下配置,本實驗是在vlan database中配置的)。
第二步: 在全局模式下,
將f0/1 – 5號端口劃分到vlan 100中,
f0/6– 10口劃分到vlan 200中,
f0/11 – 15號端口劃分到vlan 300中,
并全部配置成access模式。
第三步: 使用show vlan顯示SW3的vlan配置信息,可以看出配置正確)
第四步: 交換機如果通過路由器實現VLAN之間的通信,需要將連接交換機的端口配置成trunk模式,只有trunk線路才能使vlan通過。
2、 路由器R2的具體配置(通過配置路由器子接口封裝之后作為每一個vlan的網關)
第一步:在路由器(R2)與交換機(SW3)的端口上配置子接口,每個子接口的IP地址是每個VLAN的網關地址(也可以理解為下一跳地址),并在子接口上封裝802.1Q協議(交換機通用封裝模式,用命令encapsulation dot1q 封裝),如下所示:
第二步: 將PC5和PC6分別連接到交換機SW3的f0/6和f0/1上,然后配置PC5的IP地址為192.168.2.1/24,網關為192.168.2.254。PC6的IP地址為192.168.1.1,網關為192.168.1.254。然后用PC5 ping PC6,看是否能ping通。
pc5與pc6處于不同的vlan,如上所示,他們已能夠互通,所以不同vlan間已實現互通。
三、三層交換機實現不同vlan間互通
三層交換機的配置我們前面曾多次提到,例子有很多,這里面我們就舉個稍顯復雜些的例子來舉例了,這也是項目中經常會遇到的典型案例。
拓撲圖如下:
為了讓大家能夠更詳細的看到代碼的注釋,我們就不截圖,直接發配置代碼。
一、【實驗目的】
1、同一VLAN里的計算機系統能跨交換機相互通信。
2、不同VLAN里的計算機系統也可以相互通信。
3、各vlan信息如下:
vlan10: 192.168.10.1/24
vlan20: 192.168.20.1/24
vlan30: 192.168.30.1/24
4、各pc ip地址及網關如下:
pc機 ip地址 網關
pc1 192.168.10.2/24 192.168.10.1
pc2 192.168.20.2/24 192.168.20.1
pc3 192.168.10.3/24 192.168.10.1
pc4 192.168.20.3/24 192.168.20.1
pc5 192.168.30.2/24 192.168.30.1
pc6 192.168.20.4/24 192.168.20.1
pc7 192.168.30.3/24 192.168.30.1
二、【配置步驟】
1、交換機s0的配置如下:
Switch> en //進入特權模式
Switch#conf t //進入配置模式
Switch(config)#vlan 10 //創建vlan10
Switch(config-vlan)#vlan 20 //創建vlan20
Enter configuration commands, one perline. End with CNTL/Z.
Switch(config)#int fa0/2 //進入端口0/2
Switch(config-if)#switchport access vlan 10 //把端口 0/2劃分給vlan10
Switch(config-if)#exit //退出 端口0/2
Switch(config)#int fa0/3 //進入端口0/3
Switch(config-if)#switchport access vlan 20 //把端口0/3劃分給vlan20
Switch(config-if)#exit //退出端口0/3
Switch(config)#int fa0/1 //進入端口0/1
Switch(config-if)#switchport mode trunk //端口模式為trunk
Switch(config-if)#
小結:把交換機S0的下面的端口各pc分配各自的vlan,然后把fa0/1口設為trunk,因為交換機之間設置了trunk接口,使得不同vlan之間能夠通過其他的交換機!
2、交換機s1的配置如下:
Switch>en
Switch#conf t
Enter configuration commands, one perline. End with CNTL/Z.
Switch(config)#vlan 10
Switch(config-vlan)#exit
Switch(config)#vlan 20
Switch(config-vlan)#vlan 30
Switch(config-vlan)#exit
Switch(config)#int f0/2
Switch(config-if)#switchport access vlan 10
Switch(config-if)#exit
Switch(config)#int f0/3
Switch(config-if)#switchport access vlan 20
Switch(config-if)#exit
Switch(config)#int f0/4
Switch(config-if)#switchport access vlan 30
Switch(config-if)#exit
Switch(config)#int f0/1
Switch(config-if)#switchport mode trunk //端口模式為trunk
交換機s1的配置如s0的基本差不多,代碼都一樣。
3、交換機s2的配置如下:
Switch>en
Switch#conf t
Enter configuration commands, one perline. End with CNTL/Z.
Switch(config)#vlan 20
Switch(config-vlan)#vlan 30
Switch(config-vlan)#exit
Switch(config)#int fa0/2
Switch(config-if)#switchport access vlan 20
Switch(config-if)#exit
Switch(config)#int fa0/3
Switch(config-if)#switchport access vlan 30
Switch(config-if)#exit
Switch(config)#int fa0/1
Switch(config-if)#switchport mode trunk
交換機s2的配置如s0、s1的基礎差不多,把相應的端口劃分到相應的vlan中,沒有出現什么新代碼。
4、三層交換機3560的配置如下:
Switch>en //進入特權模式
Switch#conf t //進入配置模式
Switch(config)#vlan 10 //創建vlan10
Switch(config-vlan)#vlan 20 //創建vlan20
Switch(config-vlan)#vlan 30 //創建vlan10
Switch(config-vlan)#exit //返回上一級
Switch(config)#int vlan 10 //進入vlan10
Switch(config-if)#ip address 192.168.10.1 255.255.255.0 //給vlan 10添加ip地址及子網掩碼
Switch(config-if)#no shutdown //開啟端口
Switch(config-if)#exit //退回 上一極
Switch(config)#int vlan 20 //進入vlan20
Switch(config-if)#ip address 192.168.20.1 255.255.255.0 //給vlan 20添加ip地址及子網掩碼
Switch(config-if)#no shutdown //開啟端口
Switch(config-if)#exit //退回上一級
Switch(config)#int vlan 30 //進入vlan30
Switch(config-if)#ip address 192.168.30.1 255.255.255.0 //給vlan 20添加ip地址及子網掩碼
Switch(config-if)#no shutdown //開啟端口
Switch(config-if)#exit //返回上一級
Switch(config)#int range fa0/2-4 //進入2-4端口
Switch(config-if-range)#switchport mode trunk //端口模式為trunk
Switch#show ip route //顯示ip路由
那么這樣就配置完成了。
三、總結
從試驗過程中可以看出實現不同VLAN之間的兩種方式,一個是通過單臂路由實現,另一個是通過三層交換的路由功能實現的,可以說不同VLAN之間的通信必須通過路由功能才能實現通信。
其次,不同網段之間都需要配置下一跳地址(網關)才能通信。那么什么時候用單臂路由,什么時候選擇三層交換呢。單臂路由是不具有擴展性的,為什么這么說呢,如果VLAN的數量不斷增加,流經路由器與交換機之間鏈路的流量也變得非常大,這時,這條鏈路也就成為了整個網絡的瓶頸,即使你網絡的帶寬再快,也是如此。
因此,當網絡不斷增大,劃分的VLAN不斷增多的時候,就需要配置三層交換機的路由功能,實現不同VLAN之間的通信(三層交換機的數據表的吞吐量通常為數百萬pps,而傳統路由器的吞吐量只有10kpps~1Mpps,其次三層交換機是通過硬件來交換和路由選擇數據包的,吞吐量當然大了,甚至接近于線速。而路由器只是通過虛擬子接口來交換和路由選擇數據包的,不是硬件實施的,吞吐量也就變的小了。
總之一句話:三層交換技術在第三層實現了數據包的高速轉發,從而解決了傳統路由器低速、負責所造成的網絡瓶頸問題。