2.5 VLAN和三层交换机

1、VLAN 概念

在传统的以太网中,所有的用户都在同一个广播域中,当网络规模较大的时候,广播包的数量会急剧增加,当广播包的数量占到总量的30%时,网络的传输效率将会明显下降。特别是当某个网络设备出现故障后,就会不停的向网络发送广播,这样就会形成广播风暴,使网络瘫痪。那应该怎么解决这个问题呢?我们可以使用分隔广播域的方法来解决,分隔广播域有两种方法:

  • 物理分隔:把网络划分为若干个小网络,然后使用能隔离广播的路由器将不同的网络连接起来通信。物理分隔一般不用,只用逻辑分隔。
  • 逻辑分隔:把网络从逻辑上分为若干个虚拟网络,即VLAN(虚拟局域网)。VLAN工作在OSI参考模型的数据链路层,一个VLAN就是一个交换网络,其中的所有用户都在同一个广播域中,各VLAN通过路由设备的连接实现互相通信。

VLAN的优势:

  • 控制广播 每个vlan都是一个独立的广播域,这样就减少了广播对网络带宽的占用,提高了网络的传输效率,并且一个VLAN出现广播风暴不会影响其他的VLAN
  • 增强网络安全性 由于只能在同一个VLAN内的端口之间交换数据,不同VLAN的端口之间不能直接访问,因此通过划分VLAN可以限制个别主机访问服务器等资源,提高网络的安全性。
a. 静态VLAN

静态VLAN也是基于端口的VLAN,是目前比较常见的VLAN划分方式。

静态VLAN即明确指定交换机的端口属于哪个VLAN,这需要网络管理员手动配置。当用户主机连接到交换机端口上时,就被分配到了对应的VLAN中。

这种端口和VLAN的映射只在本交换机有效,而交换机之间不能共享这一信息。

b. 静态VLAN的配置

VLAN的范围,根据不同型号的交换机所支持的VLAN数目不同。例如思科2960最多能够支持255个VLAN,思科交换机最多能支持4096个VLAN。

VLAN的ID范围

范围

仅限系统使用,用户不能查看和使用这些VLAN

1

保留

Cisco默认的VLAN,用户能够使用该VLAN,但不能删除它

2--1001

正常

用户以太网的VLAN,用户可以创建、使用和删除这些VLAN

1002--1005

正常

用于FDDI的令牌环的cisco默认VLAN,用户不能删除这些vlan

1006--1024

保留

仅限系统使用,用户不能查看和使用这些VLAN

1025--4094

扩展

仅用于以太网VLAN

VLAN的基本配置,在交换机上配置基于端口的VLAN时,步骤如下

  • 创建VLAN,创建VLAN有两种方法:
    • 方式一:VLAN数据库模式,此模式只支持VLAN正常范围(1--1005),命令如下
      • step1:vlan database 进入VLAN配置状态
      • step2:vlan id 创建VLAN号及VLAN名,vlan名可选
      • step3:exit 退出数据库
    • 方式二:全局配置模式,对于思科交换机来说
      • step1:conf t
      • step2:vlan id 输入一个vlan号,进入vlan配置状态
      • step3:exit或者end 退出
  • 把交换机的端口加到相应的VLAN中
  • 验证VLAN的配置

全局模式下创建一个ID为20的VLAN

Switch#configure terminal
Switch(config)#vlan 20
Switch(config-vlan)#exit

删除vlan20,命令“no vlan id号”

Switch(config)#no vlan 20

数据库模式下创建VLAN,以后用到GNS3模拟器,此模拟器只支持在数据库模式下创建VLAN

Switch#vlan database    	# 特权模式下进入vlan数据库
Switch(vlan)#vlan 20 
Switch(vlan)#no vlan 20   # 删除vlan20
c. 端口分配到VLAN中

第1步

interface fastEthernet 端口ID

进入要分配的端口

第2步

Switchport access vlan ID

把端口配到某个VLAN中

第3步

exit或者end

退出

# 例如将端口0/1加入到VLAN2中
Switch(config)#interface fastEthernet 0/1
Switch(config-if)#switchport access vlan 2

# 把端口还原默认到VLAN,把0/1还原到默认的VLAN中
switch(config)#default interface fastEthernet 0/1
# 查看VLAN的配置命令
switch#sh vlan-switch

VLAN配置实例:在交换机上配置VLAN10、VLAN20,将交换机的端口5--10添加到VLAN10中,将交换机的端口11-15添加到VLAN20中

switch#vlan database
switch(vlan)#vlan 10
switch(vlan)#vlan 20

# 同时进入到5--10端口 
switch(config)#interface range fastEthernet 0/5 - 10   
Switch(config-if-range)#switchport access vlan 10
switch(config-if-range)#exit
# 同时进入11--15端口
switch(config)#interface range fastEthernet 0/11 - 15  
switch(config-if-range)#switchport access vlan 20

# 查看VLAN配置信息
switch#show  vlan-switch
2、VLAN Trunk

当网络中有多台交换机时,位于不同交换机上的相同VLAN的主机之间是如何通信的呢,这时候就需要Trunk了。

在两台交换机SW1和SW2上分别创建了VLAN10、VLAN20,如何才能让连接在不同交换机上的相同VLAN的主机通信呢。

如果为每个VLAN都连接一条物理链路,那么两台交换机之间有几个VLAN通信,就需要在两台交换机之间连接几条物理链路。

这种连接方式的扩展性有很大的问题,随着VLAN数量增加,就需要在两台交换机之间连接多条物理链路,这样会占用很多个交换机端口,所以不可取。

例如生活中运送货物,为了使货物到达目的地能被正确的分开,通常做法是在货物上贴上不同标签。那么在VLAN中,由于不同VLAN的VLAN号不同,实际上可以只使用一条中继链路,将属于不同VLAN的数据帧打上不同的标识即可。

在交换网络中,有两种类型链路:接入链路和中继链路

  • 接入链路:通常属于一个VLAN。主机与交换机之间连接的链路就是接入链路
  • 中继链路:可以承载多个VLAN。R1和R2之间的链路就是中继链路。中继链路常用来将一台交换机连接到其他交换机上

Trunk(干道、 中继)的作用就是使同一个VLAN能够跨交换机通信,在VLAN跨交换机通信的过程中,数据帧会有哪些哪些变化呢?

  • 当VLAN10中的主机A发送数据帧给主机B时,主机A发送的数据帧是普通的数据帧
  • 交换机SW1接收数据帧,知道这个数据帧来自VLAN10,而且是要转发给交换机SW2,于是就会在数据帧中打上VLAN10标识,然后发送给交换机SW2
  • 交换机SW2接收到带有VLAN10标识的数据帧后,根据目标MAC地址,得知数据帧是发送给主机B的,就删除VLAN标识还原为普通数据帧,然后转发给主机B

VLAN标识协议分为两种:ISL、802.1q

  • ISL:思科私有协议,只能用在思科交换机之间
  • 802.1q:思科交换机与其他厂商交换机通信就要使用标准的802.1q协议

Trunk 命令:

# 进入端口选择封装类型:这一步骤不需要设置,接口默认封装类型是“802.1q(dot1q)”
R1(config-if)#switchport trunk encapsulation dot1q

# 将交换机之间相连的接口设置为trunk
R1(config-if)#switchport mode trunk

R4创建VLAN10和VLAN20,0/15端口开启Trunk,把0/1加到VLAN10,0/2加到VLAN20

switch#vlan database
switch(vlan)#vlan 10
switch(vlan)#vlan 20
switch(config)#int f0/1
switch(config-if)#switchport access vlan 10
switch(config-if)#no sh
switch(config)#int f0/2
switch(config-if)#switchport access vlan 20
switch(config-if)#no sh
switch(config)#int f0/15
switch(config-if)#switchport mode trunk

R5创建VLAN10和VLAN20,0/15端口开启Trunk,把0/1加到VLAN10,0/2加到VLAN20

switch#vlan database
switch(vlan)#vlan 10
switch(vlan)#vlan 20
switch(config)#int f0/1
switch(config-if)#switchport access vlan 10
switch(config-if)#no sh
switch(config)#int f0/2
switch(config-if)#switchport access vlan 20
switch(config-if)#no sh
switch(config)#int f0/15
switch(config-if)#switchport mode trunk
3、三层交换机
a. 二层交换机的虚拟接口

路由器的物理接口上可以配置IP地址,而交换机的物理端口是不能配置IP的,所以要在虚接口来配置IP,二层交换机配置IP地址后,就可以进行远程管理了。无论从哪个物理接口连接,只要该接口可以正常通信且属于VLAN1,都可以远程管理交换机

这里的interface vlan 1就是一个虚接口,只要在交换机上开启虚接口,并配置IP地址,外部主机就可以通过属于该vlan的物理接口访问。

b. 三层交换机的虚拟接口

三层交换机通过硬件来交换和路由选择数据包,三层交换机就等于是二层交换加上三层转发,所以它具备路由功能,那么两个VLAN之间可以互相访问,每一个VLAN虚接口就是该网段的网关。如下图

交换机其中四个接口属于VLAN10,另外四个接口属于VLAN20,如果交换机已经配置了两个VLAN的虚接口,就好像在交换机的内部虚拟出这两个VLAN的网关。当数据从属于VLAN10的接口进入后,会映射到VLAN10的虚接口,从而找到自己的网关

c. 三层交换机配置

三层交换机在默认情况下就是一个普通的二层交换机,并没有路由功能,如果要在三层交换机上配置路由:

step1:需要在交换机上启动路由功能。

# 启动路由功能
sw1(config)# ip routing

step2:配置虚接口的IP地址

sw1(config)# interface vlan ID号
sw1(config-if)# ip address  ip地址 子网掩码
sw1(config-if)# no shutdown

step3:三层交换机端口默认是二层端口,如果配置IP地址,需要开启路由端口

# 开启路由端口
sw1(config-if)#no switchport   
# 开启交换端口
sw1(config-if)#switchport 

SW1创建VLAN10、VLAN20,配置虚接口IP地址,开启Trunk和路由功能,添加路由表

SW2 创建VLAN10、VLAN20,把接口添加到各自VLAN,开启Trunk

R3 设置IP和路由表

SW1配置:

开启路由功能
sw1(config)#ip routing
创建vlan10、20
 sw1#vlan database
 sw1(vlan)# #vlan 10
 sw1(vlan)# #vlan 20
0/0端口开Trunk
sw1(config)#int f0/0
sw1(config-if)#switchport mode trunk
sw1(config-if)#no shutdown
给vlan10、20配IP
sw1(config)#interface vlan 10
sw1(config-if)#ip add 192.168.10.1 255.255.255.0
sw1(config-if)#no shutdown
sw1(config)#interface vlan 20
sw1(config-if)#ip add 192.168.20.1 255.255.255.0
sw1(config-if)#no shutdown
给0/1口配IP
sw1(config)#int f0/1
sw1(config-if)#no switchport
sw1(config-if)#ip add 192.168.1.1 255.255.255.0
sw1(config-if)#no shutdown
添加路由表
sw1(config)#ip route 192.168.2.0 255.255.255.0 192.168.1.2

SW2配置:

4.SW2配置
0/0口开Trunk
sw2(config)# int f0/0
sw2(config-if)#switchport mode trunk
sw2(config-if)#no shutdown
创建vlan10、20
sw2#vlan database
sw2(vlan)#vlan 10
sw2(vlan)#vlan 20
0/1和0/2加入到vlan10、20
sw2(config)#int f0/1
sw2(config-if)#switchport access vlan 10
sw2(config-if)#no shutdown
sw2(config)#int f0/2
sw2(config-if)#switchport access vlan 20
sw2(config-if)#no shutdown

R3配置

给0/0口配IP
R3(config)#int f0/0
R3(config-if)#ip add 192.168.1.2 255.255.255.0
R3(config-if)#no shutdown
给1/0口配IP
R3(config)#int f1/0
R3(config-if)#ip add 192.168.2.1 255.255.255.0
R3(config-if)#no shutdown
添加路由条目
R3(config)#ip route 0.0.0.0 0.0.0.0 192.168.1.1

PC1配置

5.PC1配置
pc1(config)#int f0/0
pc1(config-if)#ip add 192.168.10.2 255.255.255.0
pc1(config-if)#no shutdown
pc1(config)#ip default-gaway 192.168.10.1

PC2配置

pc2(config)#int f0/0
pc1(config-if)#ip add 192.168.20.2 255.255.255.0
pc1(config-if)#no shutdown
pc1(config)#ip default-gaway 192.168.20.1

PC3配置

3.PC3配置
1/0口配置IP、添加网关
R6(config)#no ip routing                    关闭路由功能,模拟PC机
R6(config)#int f1/0
R6(config-if)#ip add 192.168.2.2 255.255.255.0
R6(config-if)#no shutdown
R6(config)#ip default-gateway 192.168.2.1      添加默认网关
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值