起序:网络中存在的大量的广播
,这些广播有很多的危害。比如:
- 大规模耗用链路带宽,使得正常数据不能得到有效传输。
- 造成交换机资源被占用,导致死机。
解决 广播
的常用的方法就是 VLAN
,下面会介绍几种方法。
一、概述
工作在交换机上,也就是工作在二层(MAC 层)。
VLAN:虚拟局域网(Virtual Local Area Network),简称
VLAN 或 V-LAN
,是一种建构于局域网交换技术(LAN Switch)的网络管理的技术。作用:降低局域网内大量数据流通时,因无用报文过多导致拥塞的问题,以及提升局域网的信息安全保障。
作用(白话):隔离广播域,控制广播(以及更方便管理,比路由器灵活性高)
二、分类
1、静态 VLAN
基于端口划分 VLAN
本在是在同一个网段,是可以互相通信的,划分 VLAN,现在打算让
- 地址为
192.168.1.1
和192.168.1.3
互相通信 - 地址为
192.168.1.2
和192.168.1.4
互相通信
IP 地址 | 交换机已接入的端口 | 端口简写 |
---|---|---|
192.168.1.1 | FastEthernet 0/1 | Fa0/1 |
192.168.1.2 | FastEthernet 0/2 | Fa0/2 |
192.168.1.3 | FastEthernet 0/3 | Fa0/3 |
192.168.1.4 | FastEthernet 0/4 | Fa0/4 |
在交换机客户端查看 VLAN 表,有一个默认的 VLAN: default,包含所有接口,表示连接这些接口的设备终端都可以互相通信。
# 进入 `特权模式`
Switch#en
# 查看 vlan 表
Siwtch#show vlan brief # 点击回车键即可(注: >show vlan brief 可简写成 sh vl b)
创建 VLAN:根据上面描述,只需要创建两个即可
# 进入 `特权模式`
Switch>en
# 进入 `全局配置模式`
Switch#conf t
# 创建 vlan 10,创建好后就会进入 vlan 10(注:10 表示 VLAN 的 ID)
Switch(config)#vlan 10
# 给创建好的 vlan 10 命名 IT
Switch(config-vlan)#name IT
----------------------------------------------------------
# 可以在 vlan 10 继续执行创建 vlan 命令,执行结束后会进入 vlan 20(注:20 表示 VLAN 的 ID)
Switch(config-vlan)#vlan 20
Switch(config-vlan)#name CEO
注:命名
是可选项。一家公司为了更好的区分部门所在 VLAN,会对 VLAN 命名。
查看创建的 VLAN
# 可以看到创建的 VLAN
Switch(config-vlan)#do sh vl b
将端口加入各自的 VLAN 中
# 从 vlan 退到 `全局配置模式`
Switch(config-vlan)#exit
# 进入 `接口配置模式` 编号为 1 的接口
Switch(config)#int f0/1
# 将编号为 1 的接口加入 vlan 10 中
Switch(config-if)#switchport access vlan 10
# 进入 `接口配置模式` 编号为 3 的接口
Switch(config-if)#int f0/3
# 将编号为 3 的接口加入 vlan 10 中
Switch(config-if)#switchport access vlan 10
# 进入 `接口配置模式` 编号为 2 的接口
Switch(config-if)#int f0/2
# 将编号为 2 的接口加入 vlan 20 中
Switch(config-if)#switchport access vlan 20
# 进入 `接口配置模式` 编号为 4 的接口
Switch(config-if)#int f0/4
# 将编号为 4 的接口加入 vlan 20 中
Switch(config-if)#switchport access vlan 20
查看各自 VLAN 中的接口,可以看到已经将端口加入了
ping 一 ping,看看划分的 VLAN 是否有效果。
- 192.168.1.1 ping 192.168.1.2
- 192.168.1.1 ping 192.168.1.3
- 192.168.1.1 ping 192.168.1.4
very good,划分成功。
2、静态 VLAN (BUT 版)
1)、交换机互联产生的问题
一家公司不可能只有一个交换机,会出现一些未知的状况,比如:在
IT 部门交换机
下的IT 部门职员 A
想要和在网络安全部门交换机
下的IT 部门职员 B
通信,就比如下面的图片展示: 可以看出,职员是有可能不在同一交换机下。
为了可以在不同交换下两位职员可以通信,需要在 IT 部门的交换机
和 网络安全部门的交换机
上创建相同的 VLAN。
部门 | VLAN【name】 |
---|---|
IT 部门 | VLAN 10【name: IT】、VLAN 20【name: NS】 |
网络安全部门 | VLAN 10【name: IT】、VLAN 20【name: NS】 |
IT 部门的交换机
和网络安全部门的交换机
都创建相同的 VLAN
将接入设备的端口加入 VLAN 中:(注:两个部门交换机的端口都要添加到 VLAN 中的)
VLAN【name】 | 加入端口 | 简写 |
---|---|---|
VLAN 10【name: IT】 | FastEthernet 0/1 | Fa0/1 |
VLAN 20【name: NS】 | FastEthernet 0/2 | Fa0/2 |
此时的
IT 部门的职员 A
还不能和IT 部门的职员 B
就在同一个 VLAN 中了,但是 A 和 B 还不能通信,因为接口 Fa0/3 在默认(default)中,不在同一 VLAN 中,所以无法通信。
如果把接口 Fa0/3
加入 VLAN 10
或者 VLAN 20
中,则交换机互联的链路只能供器中一个 VLAN 通信,其他 VLAN 就无法跨交换机通信了。解决方法:
- 暴力方法:在两个交换机之间增加链路,每个链路都为其中一个 VLAN 服务,但如果有 100 个 VLAN,加 100 条链路是不可取的方式。
- Trunk 链路技术:往下看。
2)、Trunk 链路技术
是用在交换机互联的链路上:
- Trunk 链路(中继链路、公共链路):不属于任何 VLAN,允许所有 VLAN 数据通过,且通过标识来区分不同的 VLAN
- Trunk 端口:拓扑图中的
Fa0/3
就将作为公共端口,这个端口就叫做 Trunk 端口。
Trunk 链路标识种类:
- ISL 标识:cisco 私有
- 802.1Q 标识:公有标识
注:标识是由交换机加上的,不是由 PC 加上去的。
3)、配置 Trunk 命令
要想交换机之间的链路编程 Trunk 链路,两个相连交换机的端口都配置成 Trunk 端口。在下面命令中只需要执行
switchport mode trunk
就可以了
Switch(config)#int f0/3
# 为 trunk 口指定标识,默认标识是 dot1q,不用改,知道有这条命令就可以了
Switch(config-if)#switchport trunk encapsulation isl/dot1q (可选)
# 设置该接口模式为 `trunk 链路`,命令执行后,链路就变成了 `公共链路`,而不在属于 `接入链路`
Switch(config-if)#switchport mode trunk # 点击回车键即可(注: switchport mode trunk 可简写成 sw m t)
# 设置该接口模式为 `接入链路`,恢复正常
Switch(config-if)#switchport mode access # 点击回车键即可(注: switchport mode access 可简写成 sw m ac)
- 公共链路(中继链路、Trunk 链路):交换机互联的链路。
- 接入链路:接口连接的是 PC,而不是交换机的链路。(如果接口连接的是 PC,这个接口就不能配置成 trunk 链路了)
ping 一 ping,看看划分的 VLAN 是否有效果。
- 192.168.1.1 ping 192.168.1.3
- 192.168.1.2 ping 192.168.1.4
4)、Trunk 的作用
trunk 实现了跨交换机在同一 VLAN 的通信。
3、动态 VLAN
基于 MAC 地址划分 VLAN
大多都是使用静态 VLAN
,这个先 TODO 下
如果对您有帮助,点个赞再走吧。