🕒 1. VLAN介绍
🕘 1.1 目标
VLAN技术把用户划分成多组逻辑的网络,组内可以通信,组间不允许通信。
二层转发的单播、组播、广播报文只能在组内转发。
为了实现转发控制,在待转发的以太网帧中添加 VLAN标签 ,然后设定交换机端口对该标签和帧的处理方式。
方式包括丢弃帧、转发帧、添加标签、移除标签。
🕘 1.2 帧格式
- 标签协议标识TPID:固定取值为
0x8100
,表明这是一个携带802.1Q标签的帧 - 优先级PRI:指明帧的优先级。0-7,表示8种优先级,提供有差别的转发服务。
- 标准格式指示CFI:在以太网环境中,这个字段始终为0。
- VLAN标识:它唯一地标志了以太网帧属于哪一个VLAN
- VID的取值范围是0~ 4095 (0 ~ 212-1)
- 0和4095都不用来表示VLAN,因此用于表示VLAN的VID的有效取值范围是1 ~ 4094。
802.1Q帧是由交换机来处理的,而不是用户主机来处理的
- 当交换机收到普通的以太网帧时,会将其插入4字节的VLAN标记转变为802.1Q帧,简称“打标签”。
- 当交换机转发802.1Q帧时,可能会删除其4字节VLAN标记转变为普通以太网帧,简称“去标签”。
端口上接收时总希望能够打上标签,发送出去时候总希望能去除标签
🕘 1.3 划分方式
-
基于端口(常用)
-
基于MAC地址
-
基于协议
-
基于子网
-
基于策略(安全性很高)
🕘 1.4 链路
VLAN 技术的出现,使得交换网络中存在了带VLAN 的以太网帧和不带VLAN 的以太网帧。因此,相应地也对链路做了区分:
(1)接入链路(Access Link):连接用户主机和交换机的链路。通过的帧为不带Tag 的以太网帧。
(2)干道链路(Trunk Link):连接交换机和交换机的链路。通过的帧一般为带Tag 的VLAN 帧,也允许通过不带Tag 的以太网帧。
🕘 1.5 端口模式
交换机的端口类型有以下三种:Access、Trunk、Hybrid
交换机各端口的缺省VLAN ID
- 在思科交换机上称为Native VLAN,即本征VLAN。
- 在华为交换机上称为Port VLAN ID,即端口VLAN ID,简记为PVID。每个端口有且只有一个PVID,默认情况下端口的PVID都为
1
(即端口属于VLAN 1)
🕤 1.5.1 接入端口
- 接入端口(Access Port):一般用于终端设备与交换机之间
注意:交换机与路由器连接的接口也需要使用接入接口。这是因为路由器中的消息也不带VLAN标签,就像终端一样,保证路由器的数据能够进入交换机领域,数据由路由器进入交换机是会被打上默认标签,接着猜按照交换机间VLAN的规则行走。简单理解就是把路由器当作终端。
-
接入端口只能属于一个
VLAN
-
接入端口的
PVID
值与端口所属VLAN
的ID
相同(默认为1
) -
接入端口接收处理方法:一般只接收"未打标签"的普通以太网MAC帧。根据接收帧的端口
PVID
值给帧"打标签",即插入4
字节的VLAN
标记字段,字段中的VID取值与端口PVID取值相等 -
接入端口发送处理方法:若帧中的
VID
与端口的PVID
相等,则"去标签"并转发该帧;否则不转发
🕤 1.5.2 干道端口
- 干道端口(Trunk Port):一般用于交换机之间或交换机与路由器之间的互连
- 干道端口可以属于多个
VLAN
- 用户可以设置干道端口的
PVID
值,默认情况下,干道端口PVID
值为1
- 干道端口发送处理方法:
- 对
VID
等于PVID
的帧,“去标签,再转发” - 对
VID
不等于PVID
的帧,直接转发
- 对
- 干道端口接收处理方法:
- 接收"未打标签"的帧。根据接收帧的端口的
PVID
给帧"打标签",即插入4
字节的VLAN
标记字段,字段中的VID
取值与端口的PVID
取值相等 - 如该端口允许进入,则直接接收"已打标签的帧",否则丢弃
- 接收"未打标签"的帧。根据接收帧的端口的
🕤 1.5.3 混合端口(仅华为交换机有)
- 混合端口(Hybrid Port):既可以用于交换机之间或交换机与路由器之间的互连(同干道端口),也可用于交换机与用户计算机之间的互连(同接入端口)
- 混合端口可以属于多个VLAN(同干道端口)
- 用户可以设置混合端口的
PVID
值。默认情况下,混合端口的PVID
值为1
(同干道端口) - 混合端口发送处理方法(与干道端口不同):
- 查看帧的VID是否在端口的"去标签"列表中
- 若存在(untag),则"去标签"后转发
- 若不存在(tag),则直接转发
- 混合端口接收处理方法(同干道端口):
- 接收"未打标签"的帧。根据接收帧的端口的
PVID
给帧"打标签",即插入4
字节的VLAN
标记字段,字段中的VID
取值与端口的PVID
取值相等 - 如该端口允许进入,则直接接收"已打标签的帧",否则丢弃
- 接收"未打标签"的帧。根据接收帧的端口的
🕒 2. VLAN内通信
(1)数据帧首先到达SWA 的端口GE0/0/4。
(2)端口GE0/0/4 给数据帧加上Tag,Tag 的VID 字段填入该端口所属的VLAN 的编号2。
(3)SWA 查找VLAN2的MAC 地址表,将该帧转发到相应的出端口GE0/0/2,到SWB。
(4)SWB 收到帧后,会根据帧中的Tag 识别出该帧属于VLAN2,查找MAC 地址表,将该帧转发到相应的出接口
(5)端口GE0/0/3 将数据帧发送给主机Host B。
🕒 3. VLAN间通信
🕘 3.1 概述
VLAN隔离了二层广播域,也就严格地隔离了各个VLAN之间的任何流量,分属于不同VLAN的用户不能互相通信。
不同VLAN 之间的流量不能直接跨越VLAN 的边界,需要使用路由,通过路由将报文从一个VLAN 转发到另外一个VLAN。
在主机设置默认网关,对于非本地的通信,主机会自动寻找默认网关,并把报文交给默认网关转发而不是直接发给目的主机。
🕘 3.2 解决VLAN间互通的方法
为每个VLAN 分配一个单独的路由接口:
- 在二层交换机上配置VLAN,每一个VLAN使用一条独占的物理连接连接到路由器的一个接口上。
- 随着每个交换机上VLAN数量的增加,这样做必然需要大量的路由器接口,出于成本考虑一般不采用。
多个VLAN公用一条物理连接:
- 二层交换机上和路由器上配置他们之间相连的端口使用VLAN Trunking,使多个VLAN共享同一条物理连接到路由器
- 这种方式也称为独臂路由或者单臂路由,它只需要一个以太网接口,通过创建子接口可以承担所有VLAN 的网关,从而在不同的VLAN 间转发数据。
路由器仅仅提供一个以太网接口,而在该接口下提供三个子接口分别作为3个VLAN用户的缺省网关,当VLAN100的用户需要与其它VLAN的用户进行通信时,该用户只需将数据包发送给缺省网关,缺省网关修改数据帧的VLAN标签后再发送至目的主机所在VLAN,即完成了VLAN间的通信。
三层交换机:
- 既具备二层交换机的交换功能,又具备路由器的路由功能。
- 主机设置默认网关就是三层交换机中虚拟VLAN接口的IP地址。
🕒 4. 实验:利用单臂路由实现VLAN间通信
🔎 【GNS3】Window10 下 GNS3 配置 IOU 模拟环境
题目:本实验模拟公司网络场景。路由器RI是公司的出口网关,员工PC通过交换机IOU1接入公司网络,交换机IOU1与路由器R1相连。
公司内部网络通过划分不同的VLAN隔离了不同部门之间的二层通信,保证各部门间的信息安全。但是由于业务需要,市场部和人事部之间需要能实现跨VLAN通信, 网络管理员决定借助路由器的三层功能,通过配置单臂路由来实现。
步骤:开启GNS3虚拟机,新建拓扑文件,在工作区添加一台二层交换机(IOU)、一台路由器和两台PC,按下图连接路由器、交换机和PC,开启设备。设备的vlan 配置和IP地址配置按下表进行。PC1属于VLAN30,PC2属于VLAN40,现需要在路由器R1上配置单臂路由使得VLAN30和40连通。将路由器和交换机的配置指令截图如下:
设备 | 接口 | IP地址 | 地址掩码 | 默认网关 |
---|---|---|---|---|
R1 | F0/0.1 | 10.0.1.1 | 255.255.255.0 | - |
F0/0.2 | 10.0.2.1 | 255.255.255.0 | - | |
PC-1 | E0 | 10.0.1.2 | 255.255.255.0 | 10.0.1.1 |
PC-2 | E0 | 10.0.2.2 | 255.255.255.0 | 10.0.2.1 |
设备 | 接口 | 接口类型 | 所属VLAN | 允许通过的VLAN |
---|---|---|---|---|
IOU1 | E0/0 | trunk | - | 30、40 |
E0/1 | access | 30 | - | |
E0/2 | access | 40 | - |
配置R1:
# 打开接口
R1#conf t
R1(config)#int f0/0
R1(config-if)#no shutdown
# 配置子接口IP
R1(config)#int f0/0.1
R1(config-subif)#encapsulation dot1q 30
*Mar 1 00:04:36.471: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
R1(config-subif)#ip address 10.0.1.1 255.255.255.0
R1(config-subif)#exit
*Mar 1 00:04:54.855: %SYS-5-CONFIG_I: Configured from console by console
R1(config)#int f0/0.2
R1(config-subif)#encapsulation dot1q 40
R1(config-subif)#ip address 10.0.2.1 255.255.255.0
*Mar 1 00:05:52.107: %SYS-5-CONFIG_I: Configured from console by console
# 在R1上查看路由表
R1#show ip route
配置PC-1与PC-2:
PC-1> ip 10.0.1.2/24 10.0.1.1
Checking for duplicate address...
PC1 : 10.0.1.2 255.255.255.0 gateway 10.0.1.1
PC-1> save
Saving startup configuration to startup.vpc
. done
PC-2> ip 10.0.2.2/24 10.0.2.1
Checking for duplicate address...
PC2 : 10.0.2.2 255.255.255.0 gateway 10.0.2.1
PC-2> save
Saving startup configuration to startup.vpc
. done
配置IOU1:
IOU1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
# 创建VLAN
IOU1(config)#vlan 30
IOU1(config)#vlan 40
# 配置设备端口为 Access 类型
IOU1(config)#int e0/1
IOU1(config-if)#switchport access vlan 30
*May 17 05:46:42.170: %SYS-5-CONFIG_I: Configured from console by console
IOU1(config-if)#exit
IOU1(config)#int e0/2
IOU1(config-if)#switchport access vlan 40
*May 17 05:47:16.330: %SYS-5-CONFIG_I: Configured from console by console
IOU1(config-if)#exit
# 配置设备端口为 Trunk 类型
IOU1(config)#int e0/0
IOU1(config-if)#switchport trunk encapsulation dot1q
*May 17 05:48:51.668: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/0, ch
IOU1(config-if)#switchport mode trunk
*May 17 05:49:10.903: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/0, ch
IOU1(config-if)#switchport trunk allowed vlan 30,40
*May 17 05:49:47.394: %SYS-5-CONFIG_I: Configured from console by console
# 在IOU1上查看VLAN
IOU1#show vlan
IOU1#show interface e0/0 switchport
配置完记得write
保存!
在PC1上ping PC2:
🕒 5. 实验:利用三层交换机实现VLAN间通信
题目:本实验模拟公司网络场景。员工PC通过交换机IOU2接入公司网络,交换机IOU2与三层交换机IOU1相连。
公司内部网络通过划分不同的VLAN隔离了不同部门之间的二层通信,保证各部门间的信息安全。但是由于业务需要,市场部和人事部之间需要能实现跨VLAN通信, 网络管理员决定借助三层交换机来实现。
设备 | 接口 | 接口类型 | 所属VALN | 允许通过VLAN |
---|---|---|---|---|
IOU2 | Ethernet 0/0 | Trunk | N/A | all |
Ethernet 0/1 | Access | VLAN 10 | N/A | |
Ethernet 0/2 | Access | VLAN 20 | N/A | |
IOU1 | Ethernet 0/0 | Trunk | N/A | all |
设备 | 接口/VLAN | IP地址 | 默认网关 |
---|---|---|---|
IOU1 | VLAN10 | 192.168.1.1/24 | |
VLAN20 | 192.168.2.1/24 | ||
PC-1 | Ethernet 0 | 192.168.1.2/24 | 192.168.1.1/24 |
PC-2 | Ethernet 0 | 192.168.2.2/24 | 192.168.2.1/24 |
# 开启路由功能
IOU1(config)#ip routing
三层交换机和单臂路由之间的一些主要区别:文章来源:https://www.toymoban.com/news/detail-452403.html
特性 | 三层交换机 | 单臂路由器 |
---|---|---|
网络层 | 支持 | 支持 |
数据链路层 | 支持 | 不支持 |
物理层 | 支持 | 不支持 |
端口密度 | 高 | 低 |
路由协议 | 支持 | 有限支持 |
网络扩展性 | 好 | 有限 |
成本 | 高 | 低 |
应用场景 | 大型LAN和数据中心环境 | SMB和特定网络服务 |
❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页文章来源地址https://www.toymoban.com/news/detail-452403.html
到了这里,关于【网络协议详解】——VLAN技术(学习笔记)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!