一、VLAN
1. VLAN概述
VLAN(虚拟局域网,Virtual Local Area Network)是一种在交换机上划分不同广播域的技术。能够将一个物理局域网划分为多个逻辑上的局域网,每个VLAN都是一个独立的广播域,也就是说每个VLAN之间的数据包不会互相传输,除非通过路由器或者三层交换机进行路由。
- 冲突域:指在网络当中,两个或两个以上的多个设备同时发送数据可能会发生冲突的区域。
- 广播域:指在网络当中,一个设备发送广播报文,该报文可以到达的设备所组成的区域。
VLAN技术的出现主要是为了解决传统局域网(LAN)在扩展和管理中的一些问题。
- 广播域限制:在传统局域网中,所有的设备都是在同一个广播域当中,也就是说任何一个设备发出的广播就会被所有设备接收。随着网络规模扩大,广播报文数量倍增,导致网络发生堵塞。
- 网络安全:广播域当中的任何设备都可以接收和发送到网络中的其他设备的数据,还会导致网络的安全风险和隐私泄露发生。因此需要一种技术来管控数据传输,降低网络的安全风险。
2. VLAN的帧格式与分类
2.1 VLAN帧格式
在以太网环境中使用VLAN技术,标准的以太网数据帧会被加入一个VLAN标签字段,这个标签包含了VLAN的相关信息。具体字段如下:
-
前导码(Preamble):长度为7字节(56位),由交替的10组成,用于同步发送和接收设备。
-
Start of Frame Delimiter (SFD):长度为1字节(8位),标识符为10101011,标志着前导码的结束和帧的开始。
-
Destination Address (DA):目的MAC地址,长度为6字节(48位),标识帧的接收者。
-
Source Address (SA):源MAC地址,长度为6字节(48位),标识帧的发送者。
-
VLAN标签:长度为4字节(32位),分为两大部分:TPID、TCI,长度均为2字节。
-
Tag Protocol Identifier (TPID):用于标识后续的标签信息,长度为2字节。在IEEE 802.1Q中,TPID固定为0x8100。
-
Tag Control Information (TCI):
- 用户优先级:长度3位,标记数据帧的优先级。
- CFI:长度1位,标准格式指示说明。以太网环境中,这个字段值为0,也就是标准格式。
- VLAN ID:长度12位,标记了帧属于哪个VLAN。取值范围是0~ 4095,有效VID是1~4094。
-
-
Type/Length Field:类型/长度字段,长度为2字节(16位)。在早期的以太网版本中,这个字段表示数据帧携带的协议类型。在后来的版本中,当帧携带的是IP数据报时,这个字段通常用来表示数据字段的长度。
-
Data (Payload):数据字段,长度可变,最小为46字节(当考虑CRC时),最大为1500字节。这个字段包含了网络层的数据,例如IP数据报。
-
Frame Check Sequence (FCS):帧校验序列,长度为4字节(32位),用于错误检测。
2.2 VLAN分类
VLAN的划分可以基于多种标准,常见的划分方式包括:基于端口划分、基于MAC地址划分、基于IP子网划分、基于协议划分和基于策略划分。其中的基于端口划分的VLAN又被称为是静态VLAN,基于MAC地址划分等方式划分出的VLAN被称为是动态VLAN。
静态VLAN是最传统和简单的VLAN配置方式。在静态VLAN中,每个端口都被固定分配给一个特定的VLAN,并且需要网络管理员手动配置。
特点:
- 手动配置:网络管理员需要手动指定每个端口属于哪个VLAN。
- 不易变更:端口的VLAN成员身份在配置后不会自动改变,除非管理员手动修改配置。
- 易于管理:对于规模较小、结构固定的网络,静态VLAN易于管理和维护。
- 安全性:由于VLAN配置是静态的,因此可以提供一定程度的安全性,因为未经授权的用户设备不能轻易改变其VLAN成员身份。
动态VLAN是一种更灵活的VLAN配置方式,它允许网络设备根据一定的规则动态地加入或离开VLAN。动态VLAN通常基于用户的身份、设备类型或其他属性来分配VLAN。
特点:
- 自动配置:网络设备可以根据特定的规则(如MAC地址、IP地址、用户账号等)自动被分配到相应的VLAN。
- 易于变更:设备的VLAN成员身份可以根据网络条件或策略的变化而动态调整。
- 灵活性:适用于规模较大、经常变化的网络环境,可以适应用户移动或设备添加/移除的情况。
- 高级功能:通常需要更高级的网络设备和复杂的配置,如使用VLAN管理策略(VLAN Membership Policy)。
3. 交换机端口类型
交换机的端口类型主要有接入端口、干道端口和混合端口等。下面是这些端口的具体内容。
- 接入端口(Access Port):接入端口通常连接到最终设备,如电脑、打印机或IP电话等。在接入端口上,只能配置一个VLAN,即该端口所属的VLAN。从该端口发送出去的数据帧不会携带VLAN信息,因为它们被认为是属于该VLAN的一部分。
- 干道端口(Trunk Port):干道端口用于连接交换机之间或交换机与路由器之间,允许携带多个VLAN的数据。在干道端口上,可以配置多个VLAN,使得端口能够转发来自不同VLAN的流量。从干道端口发送的数据帧通常会携带VLAN标签,以标识帧属于哪个VLAN。
- 混合端口(Hybrid Port):混合端口是介于接入端口和干道端口之间的一种端口类型。它可以同时携带多个VLAN的数据,但与干道端口不同的是,混合端口可以对某些VLAN的数据帧不打标签,即这些VLAN的数据帧会像接入端口发送的帧一样,不携带VLAN信息。这种配置允许网络管理员对特定的VLAN使用接入模式,而对其他VLAN使用干道模式。
二、静态VLAN配置
1. 配置静态VLAN基本流程
- 创建VLAN。
- 将端口加入VLAN当中。
- 验证VLAN。
2. 实验内容
- 实验一:某小型公司有一台交换机LSW1,该交换机连接着两个部门的四台终端PC。人事部拥有终端PC1、PC2,财务部拥有终端PC3、PC4。要求通过划分VLAN来实现部门内部的终端可以通信,而两个部门间的终端无法通信。
- 实验二:该公司随着业务发展,将网络扩展为由交换机LSW1和交换机LSW2构成的小型网络。LSW2除了与LSW1连接,还连接着人事部的服务器和财务部的服务器。要求通过VLAN实现部门终端可以访问对应的部门服务器,而不能访问其他部门的服务器。
3. 网络拓扑图
-
实验一的网络拓扑图。
-
实验二的网络拓扑图。
4. 实验步骤
4.1 实验一
-
配置四台终端PC的IP地址和子网掩码。
以配置终端PC1为例,IP地址和子网掩码是192.168.1.1/24。
终端PC2:192.168.1.2/24。
终端PC3:192.168.1.3/24。
终端PC4:192.168.1.4/24。
-
配置交换机LSW1的VLAN。
# 1.进入系统视图 <Huawei>sys [Huawei]sys LSW1 # 修改设备名称 # 2.批量创建VLAN,vlan batch VID1 VID2…… # 还可以单个创建VLAN,vlan VID [LSW1]vlan batch 10 20 # 查看VLAN [LSW1]display vlan The total number of vlans is : 3 -------------------------------------------------------------------------------- U: Up; D: Down; TG: Tagged; UT: Untagged; MP: Vlan-mapping; ST: Vlan-stacking; #: ProtocolTransparent-vlan; *: Management-vlan; -------------------------------------------------------------------------------- VID Type Ports -------------------------------------------------------------------------------- 1 common UT:Eth0/0/1(U) Eth0/0/2(U) Eth0/0/3(U) Eth0/0/4(U) Eth0/0/5(D) Eth0/0/6(D) Eth0/0/7(D) Eth0/0/8(D) Eth0/0/9(D) Eth0/0/10(D) Eth0/0/11(D) Eth0/0/12(D) Eth0/0/13(D) Eth0/0/14(D) Eth0/0/15(D) Eth0/0/16(D) Eth0/0/17(D) Eth0/0/18(D) Eth0/0/19(D) Eth0/0/20(D) Eth0/0/21(D) Eth0/0/22(D) GE0/0/1(D) GE0/0/2(D) 10 common 20 common VID Status Property MAC-LRN Statistics Description -------------------------------------------------------------------------------- 1 enable default enable disable VLAN 0001 10 enable default enable disable VLAN 0010 20 enable default enable disable VLAN 0020 # 3. 将端口加入VLAN # 端口e0/0/1 [LSW1]int e0/0/1 # 进入端口e0/0/1的端口视图 [LSW1-Ethernet0/0/1]port link-type access # 设置端口模式为Access模式 [LSW1-Ethernet0/0/1]port default vlan 10 # 将当前端口加入VLAN 10 [LSW1-Ethernet0/0/1]dis th # 查看当前端口 # interface Ethernet0/0/1 port link-type access port default vlan 10 # return [LSW1-Ethernet0/0/1]q # 端口e0/0/2 [LSW1]int e0/0/2 [LSW1-Ethernet0/0/2]port link-type access [LSW1-Ethernet0/0/2]port default vlan 10 [LSW1-Ethernet0/0/2]q # 端口e0/0/3 [LSW1]int e0/0/3 [LSW1-Ethernet0/0/3]port link-type access [LSW1-Ethernet0/0/3]port default vlan 20 [LSW1-Ethernet0/0/3]q # 端口e0/0/4 [LSW1]int e0/0/4 [LSW1-Ethernet0/0/4]port link-type access [LSW1-Ethernet0/0/4]port default vlan 20 [LSW1-Ethernet0/0/4]q
-
验证VLAN配置。
-
在终端PC1上ping终端PC2,发现可以ping通。
-
在终端PC1上ping终端PC3,发现无法ping通。
实现了部门内部终端可以通信,不同部门终端不能通信。说明实验成功。
-
4.2 实验二
-
配置服务器的IP地址和子网掩码。
以配置服务器Server1为例,IP地址和子网掩码是:192.168.1.100/24。
服务器Server2:192.168.1.200/24。
-
配置交换机LSW1和交换机LSW2的VLAN。
## 交换机LSW1配置 # LSW1在实验一中已经配置了一部分,那这里只需要配置它和交换机LSW2所连接的端口 <LSW1>sys [LSW1]int e0/0/5 [LSW1-Ethernet0/0/5]port link-type trunk # 交换机与交换机连接的端口选择Trunk模式 [LSW1-Ethernet0/0/5]port trunk allow-pass vlan all # 允许所有VLAN通过当前端口 ## 交换机LSW2配置 <Huawei>sys [Huawei]sys LSW2 [LSW2]vlan batch 10 20 # 创建VLAN # 端口e0/0/1 [LSW2]int e0/0/1 [LSW2-Ethernet0/0/1]port link-type access [LSW2-Ethernet0/0/1]port default vlan 10 [LSW2-Ethernet0/0/1]q # 端口e0/0/2 [LSW2]int e0/0/2 [LSW2-Ethernet0/0/2]port link-type access [LSW2-Ethernet0/0/2]port default vlan 20 [LSW2-Ethernet0/0/2]q # 端口e0/0/3 [LSW2]int e0/0/3 [LSW2-Ethernet0/0/3]port link-type trunk [LSW2-Ethernet0/0/3]port trunk allow-pass vlan all [LSW2-Ethernet0/0/3]q
-
验证配置。
-
在终端PC1上ping服务器Server1,发现可以ping通。
-
在终端PC1上ping服务器Server2,发现不能ping通。
实现了部门终端只能访问各自的服务器,而不能访问其他的服务器。实验成功。
-
三、静态VLAN常见配置命令
1. VLAN的创建与删除
-
vlan 命令
-
命令说明:
vlan
命令用来创建VLAN并进入VLAN视图,如果VLAN已存在,直接进入该VLAN的视图。undo vlan
用来删除指定VLAN。 缺省情况下,将所有接口都加入到一个缺省的VLAN中,该VLAN标识为1。 -
命令视图:系统视图。在系统试图下才能够执行操作该命令。
-
创建单个VLAN。
vlan VLAN编号
-
批量创建VLAN。
vlan batch VLAN编号1 VLAN编号2……
-
删除单个VLAN。
undo vlan VLAN编号
-
批量删除VLAN。
undo vlan batch VLAN编号1 VLAN编号2……
2. 查看VLAN
- display vlan 命令
- 命令说明:用来查看VLAN的相关信息。
- 命令视图:所有视图。在所有视图下都能够操作该命令。
-
查看所有已经创建的VLAN的基本信息。
display vlan
-
查看指定VLAN的信息。
# 查看指定VLAN的详细信息。如果不指定verbose,显示VLAN的简要信息。 display vlan VLAN编号 [verbose]
- display port vlan 命令
- 命令说明:用来查看令用来查看VLAN中包含的接口信息。
- 命令视图:所有视图。在所有视图下都能够操作该命令。
-
查看设备上所有VLAN包含的接口信息。
display port vlan
-
查看设备上所有动态表项信息。
display port vlan static
3. 配置端口VLAN命令
- port link-type命令
- 命令说明:
port link-type
命令用来配置端口的链路类型。undo port link-type
命令用来恢复端口的链路类型为缺省值。 - 命令视图:端口视图。
-
配置端口类型。可以是access、trunk、hybrid等。
port link-type 端口类型
-
port default vlan命令
-
命令说明:配置端口缺省VLAN并加入该VLAN当中。
-
视图模式:端口视图。
-
将端口加入指定VLAN。
port default vlan VLAN编号
- port trunk allow-pass vlan命令
- 命令说明:配置Trunk类型端口加入VLAN。
- 视图模式:端口视图。
-
将当前的Trunk端口加入所有VLAN。
port trunk allow-pass all # 也可以指定VLAN范围,比如port trunk allow-pass 10 to 30
- port trunk allow-pass vlan命令
- 命令说明:配置Trunk类型端口加入VLAN。
- 视图模式:端口视图。