VLAN基本原理及配置

1. VLAN简介

       VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络。

2. VLAN的基本原理

       VLAN的存在就是为了隔离广播域,通过在支持VLAN的交换机上添加VLAN,并且动态的调整每个端口所属VLAN(默认端口都属于VLAN1),实现一台物理交换机上可以有多个LAN,每个LAN称作VLAN,VLAN之间的广播互不可达,VLAN间互不影响。每个VLAN是一个独立的广播域。

3. VLAN的作用

(1)隔离广播域;

(2)解决安全问题和垃圾流量问题。

4. 802.1Q 帧的格式

       IEEE 802.1D定义了关于不支持VLAN特性的交换机的标准规范,IEEE802.IQ定义了关于支持VLAN特性的交换机的标准规范。

802.IQTag中各个字段的含义

字段

长度

名称

解释

TPID

2 bytes

TagProtocol ID,表示这个帧是否带有Tag

如果TPID取值为0x8100,则表示该帧是带Tag的帧;否则表示该帧是传统帧,不带Tag的帧,该字段与传统以太网中该位置的Type/Length字段是兼容的

PRI

3 bits

Priority,表示帧的优先级

取值范围为0-7, 值越大优先级越高。用于当交换机阻塞时,先发送优先级较高的帧

CFI

1 bit

Canonical Format Indicator(规范格式指示器)

若是这个域的值为1,则MAC地址则为非标准格式;若为0,则为标准格式;在以太交换器中他通常默认为0。

VID

12 bits

VLAN Identifi,表示该帧所属的

VLAN

VLANID取值范围是0-4095。由于0和4095为协议保留取值,所以VLAN ID的有效取值范围是:1~4095

       如果一个帧的源MAC地址后面的两个字节的值是0x8100, 则说明 这个帧 是一个Tagged帧;如果一个帧的源MAC地址后面的两个字节的值不是0x8100, 则说明 这个帧是一个传统的Untagged帧 。

5. VLAN的类型

(1)基于端口的VLAN (Port-based VLAN)

       其划分原则:将 VLAN的编号CVLANID)配置影射到 交换机的物理端口上,从某一物理端口进入交换机的、由终端计算机发送的Untagged帧都被划分到 该端口的VLAN ID所表名的那个VLAN。

(2)基于MAC地址的VLAN (MAC-based VLAN)

       其划分原则:交换机内部建立并维护了一个MAC地址与VLANID的对应表,当交换机接收到计算机发送的Untagged帧时,交换机将分析帧中的源MAC地址,然后查询MAC地址与VLANID的对应表,并根据 对应关系把这个帧划分到相应的VLAN中 。

(3)基于协议的VLAN (Pro tocol-based VLAN)

       其划分原则:交换机根据 计算机发送的Untagged帧中的帧类型 字段的值来决定帧的VLAN归属。

6. 链路类型和端口类型

(1)Access链路(Access Link):在一个支持VLAN特性的交换网络中 ,我们把交换机与终端计算机直接相连的链路称为Access Link。

Access端口(Access Port):把Access链路上交换机一侧的端口称为Access Port。

Access端口工作机制:

       当Access端口从链路(线路)上收到一个Untagged帧后, 交换机会在这个帧中添加上VID为PVID的Tag, 然后对得到的Tagged帧进行转发操作(泛洪,点到点转发,丢弃)。

       当Access端口从链路(线路)上收到一个Tagged帧后,交换机会检查这个帧的Tag中的VID是否与PVID相同。如果相同,则对这个Tagged帧进行转发操作(泛洪,点到点转发,丢弃);如果不同,则直接丢弃这个Tagged帧。

(2)Trunk链路(Trunk Link):把交换机之间直接相连的链路称为Trunk链路。

Trunk端口(Trunk Port):把链路上两侧的端口称为Trunk Port。对于每一个Trunk端口除了要配置PVID之外,还必须配置允许通过的VLAN ID列表。

Trunk端口工作机制:

       当Trunk端口从链路(线路)上收到一个Untagged帧后, 交换机会在这个帧中添加上VID为PVID的Tag, 然后查看PVID是否在允许通过的VLANID列表中。如果在,则对得到的Tagged帧进行转发操作(泛洪,点到点转发,丢弃);如果不在,则直接丢弃得到的Tagged帧。

       当Trunk端口从链路(线路)上收到一个Tagged帧后, 交换机会查看这个帧的Tag中的VID是否在允许通过的VLANID列表中。如果在,则对该Tagged帧进行转发操作(泛洪,点到点转发,丢弃);如果不在,则直接丢弃该Tagged帧。

       当一个Tagged帧从本交换机的其他端口到达一个Trunk端口后,如果这个帧的Tag中的VID不在允许通过的VLANID列表中,则该Tagged帧会被直接丢弃。

       当一个Tagged帧从本交换机的其他端口到达 个Trunk端口后,如果这个帧的Tag中的VID在允许通过的VLANID列表中,且VID与PVID相同,则交换机会对这个Tagged帧的Tag进行剥离,然后将得到的Untagged帧从链路(线路)上发送出去。

       当一个Tagged帧从本交换机的其他端口到达一个Trunk端口后,如果这个帧的Tag中的VID在允许通过的VLANID列表中, 但VID与PVID不相同,则交换机不会对这个Tagged帧的Tag进行剥离, 而是直接将它从链路(线路)上发送去。

(3)Hybrid端口:华为设备默认的端口都是Hybrid端口,既可以将交换机上与终端计算机相连的端口配置为 Hybrid端口,也可以将交换机上与其他交换机相连的端口 配置为 Hybrid端口。

Hybrid端口工作机制:Hybrid端口除了需要配置PVID外,还需要配置两个VLANID 列表,一个是 UntaggedVLANID 列表,另个是 TaggedVLAN ID 列表。这两个 VLANID 列表中的所有 VLAN的帧都是允许通过这个Hybrid端口的。

      当 Hybrid端口从链路(线路)上收到 个 Untagged帧后, 交换机会在这个帧中添加上 VTD 为PVID的 Tag,然后查看PVID是否在UntaggedVLAN ID列表 如果在, 则对得到的 Tagged帧进行转发操作(泛洪, 点到点转发,丢弃);如果不在,则直接丢弃得到的 Tagged帧。

       当一个Tagged帧从本交换机的其他端口到达个Hybrid端口后,如果这个帧的Tag中的VID既不在Untagged VLAN ID 列表中, 也不在 Tagged VLAN ID列表中,则该Tagged帧会被直接丢弃。

       当一个Tagged帧从本交换机的其他端口到达个Hybrid端口后,如果这个帧的Tag中的VID在Untagged VLAN ID 列表中,则交换机会对这个 Tagged帧的Tag进行剥离,然后将得到的Untagged帧从链路(线路)上发送出去。

       当一个Tagged帧从本交换机的其他端口到达个Hybrid端口后,如果这个帧的Tag中的VID在TaggedVLAN ID 列表中, 则交换机不会对这个 Tagged帧的Tag进行剥离,而是直接将它从链路(线路)上发送出去。

       Hybrid端口的工作机制比 Trunk 端口和 Access 端口更为丰富而灵活; Trunk 端口和Access 端口可以看成是 Hybrid端口的特例。当 Hybrid端口配置中的 UntaggedVLAN ID列表中有且只有 PVID 时, Hybrid端口就等效于个Trunk 端口:当 Hybrid端口配置中的 UntaggedVLAN ID列表中有且只有PVID, 并且Tagged VLAN ID 列表为空时,Hybrid端口就等效于一个 Access端口。

  • 划分VLAN配置实例

实验拓扑:

实验目的:配置PC1和PC3属于VLAN 10,PC2、PC4和PC5属于VLAN 20,PC6属于VLAN 30,实现同一个VLAN里的主机能够相互通信。

S1配置:

<S2>undo terminal monitor #关闭命令变化提示,不然敲完一条命令就提示

Info: Current terminal monitor is off.

<Huawei>sys

Enter system view, return user view with Ctrl+Z.

[Huawei]sysname S2

[S2]vlan 10 #创建vlan 10

[S2]vlan 20

[S2-vlan20]quit

[S2]int g 0/0/2

[S2-GigabitEthernet0/0/2]port link-type access #设置端口为access

[S2-GigabitEthernet0/0/2]port default vlan 10 #将该端口加入vlan 10

[S2-GigabitEthernet0/0/2]int g 0/0/3

[S2-GigabitEthernet0/0/3]port link-type access

[S2-GigabitEthernet0/0/3]port default vlan 20

[S2-GigabitEthernet0/0/3]int g 0/0/1

[S2-GigabitEthernet0/0/1]port link-type trunk #设置端口为trunk

[S2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20 #允许vlan 10和20通过

[S2-GigabitEthernet0/0/1]quit

[S2]display vlan #查看vlan

VID Type Ports

--------------------------------------------------------------------------------

1 common UT:GE0/0/1(U) GE0/0/4(D) GE0/0/5(D) GE0/0/6(D)

GE0/0/7(D) GE0/0/8(D) GE0/0/9(D) GE0/0/10(D)

GE0/0/11(D) GE0/0/12(D) GE0/0/13(D) GE0/0/14(D)

GE0/0/15(D) GE0/0/16(D) GE0/0/17(D) GE0/0/18(D)

GE0/0/19(D) GE0/0/20(D) GE0/0/21(D) GE0/0/22(D)

GE0/0/23(D) GE0/0/24(D)

# 默认都是vlan 1

10 common UT:GE0/0/2(U)


TG:GE0/0/1(U)


20 common UT:GE0/0/3(U)

[S2]

S3配置:

<S3>undo ter mo

Info: Current terminal monitor is off.

<Huawei>sys

Enter system view, return user view with Ctrl+Z.

[Huawei]sysname S3

[S3]vlan 10

[S3-vlan10]vlan 20

[S3-vlan20]quit

[S3]int g 0/0/1

[S3-GigabitEthernet0/0/1]port link-type access

[S3-GigabitEthernet0/0/1]port default vlan 10

[S3-GigabitEthernet0/0/1]int g 0/0/3

[S3-GigabitEthernet0/0/3]port link-type access

[S3-GigabitEthernet0/0/3]port default vlan 20

[S3-GigabitEthernet0/0/3]int g 0/0/2

[S3-GigabitEthernet0/0/2]port link-type trunk

[S3-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 20

[S3-GigabitEthernet0/0/2]quit

[S3]

S4配置:

[S4]vlan 20

[S4-vlan20]vlan 30

[S4-vlan30]int g 0/0/1

[S4-GigabitEthernet0/0/1]port link-type access

[S4-GigabitEthernet0/0/1]port default vlan 20

[S4-GigabitEthernet0/0/1]int g 0/0/2

[S4-GigabitEthernet0/0/2]port link-type access

[S4-GigabitEthernet0/0/2]port default vlan 30

[S4-GigabitEthernet0/0/2]int g 0/0/3

[S4-GigabitEthernet0/0/3]port link-type trunk

[S4-GigabitEthernet0/0/3]port trunk allow-pass vlan 20 30

[S4-GigabitEthernet0/0/3]quit

[S4]

S1配置:

<S1>undo ter mo

Info: Current terminal monitor is off.

<S1>sys

Enter system view, return user view with Ctrl+Z.

[S1]vlan 10

[S1-vlan10]vlan 20

[S1-vlan20]vlan 30

[S1-vlan30]quit

[S1]int g 0/0/1

[S1-GigabitEthernet0/0/1]port link-type trunk

[S1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20

[S1-GigabitEthernet0/0/1]int g 0/0/2

[S1-GigabitEthernet0/0/2]port link-type trunk

[S1-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 20

[S1-GigabitEthernet0/0/2]int g 0/0/3

[S1-GigabitEthernet0/0/3]port link-type trunk

[S1-GigabitEthernet0/0/3]port trunk allow-pass vlan 20 30

[S1-GigabitEthernet0/0/3]quit

[S1]

测试

PC1能ping通PC3:

PC>ping 192.168.1.3

Ping 192.168.1.3: 32 data bytes, Press Ctrl_C to break

From 192.168.1.3: bytes=32 seq=1 ttl=128 time=93 ms

From 192.168.1.3: bytes=32 seq=2 ttl=128 time=110 ms

2 packet(s) transmitted

2 packet(s) received

0.00% packet loss

PC>

PC2能ping通PC4和PC5:

PC>ping 192.168.1.4

Ping 192.168.1.4: 32 data bytes, Press Ctrl_C to break

From 192.168.1.4: bytes=32 seq=1 ttl=128 time=94 ms

--- 192.168.1.4 ping statistics ---

1 packet(s) transmitted

1 packet(s) received

0.00% packet loss



PC>ping 192.168.1.5

Ping 192.168.1.5: 32 data bytes, Press Ctrl_C to break

From 192.168.1.5: bytes=32 seq=1 ttl=128 time=94 ms

--- 192.168.1.5 ping statistics ---

1 packet(s) transmitted

1 packet(s) received

0.00% packet loss

PC>

PC6无法ping通PC1、PC2、PC3、PC4和PC5

PC>ping 192.168.1.1

Ping 192.168.1.1: 32 data bytes, Press Ctrl_C to break

From 192.168.1.6: Destination host unreachable

--- 192.168.1.1 ping statistics ---

5 packet(s) transmitted

0 packet(s) received

100.00% packet loss



PC>ping 192.168.1.2

Ping 192.168.1.2: 32 data bytes, Press Ctrl_C to break

From 192.168.1.6: Destination host unreachable

--- 192.168.1.2 ping statistics ---

4 packet(s) transmitted

0 packet(s) received

100.00% packet loss

PC>

划分VLAN要记住:交换机与PC间配置access端口,交换机与交换机之间配置trunk端口。

参考资料:《HCNA网络技术学习指南》

发布了120 篇原创文章 · 获赞 46 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_41490561/article/details/104849137