网络通信 频道

交换机不同vlan间如何通信?

  前面我们曾提到关于交换机的4种网络结构方式,你了解几种?有朋友问到,vlan间需要什么才能通信呢?如何让不同vlan之间通信,我们通常提到了,vlan间通信需要三层交换机,那么不用三层交换机能不能通信呢?

  其实不同VLAN之间相互通信的两种方式,单臂路由、三层交换机,它们分别如何配置呢?哪一种好呢?在我们弱电VIP群中也有不少朋友在项目中遇到相关的问题。

  本篇文章要从三个问题开始说起?

  1、实现vlan间的通信有哪些方式?

  2、它们如何实现?如何配置?

  3、它们有什么不同之处?哪一种好?

  今天我们来看下,这两种方式是如何来实现vlan间的通信。

  案例一:单臂路由实现不同vlan互通

  我们知道要实现不同vlan间通信,就必须需要有路由功能,单臂路由组网是由普通交换机与路由器组成,所以我们在配置时,要配置交换机与路由。

  拓扑图如下:

  1、 交换机SW3的具体配置(主要配置vlan和trunk接口)

  第一步:

  在SW3上创建vlan100、vlan200、vlan300,名称依次为caiwu、xiaoshou、gongcheng。(创建vlan既可以在vlan database中,也可以在全局模式下配置,本实验是在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的数量不断增加,流经路由器与交换机之间链路的流量也变得非常大,这时,这条链路也就成为了整个网络的瓶颈,即使你网络的带宽再快,也是如此。

  总之一句话:三层交换技术在第三层实现了数据包的高速转发,从而解决了传统路由器低速、负责所造成的网络瓶颈问题。

  另外关于交换机的三种接口我们来总结下:

  Access类型端口:只能属于1个VLAN,一般用于连接计算机端口;

  Trunk类型端口:可以允许多个VLAN通过,可以接收和发送多个VLAN 报文,

  一般用于交换机与交换机相关的接口。

  Hybrid类型端口:可以允许多个VLAN通过,可以接收和发送多个VLAN 报文,

  可以用于交换机的间连接也可以用于连接用户计算机。

0
相关文章