一、什么是二层交换机?
二层交换机(Layer 2 Switch)是一种网络设备,主要工作在OSI模型的数据链路层(第二层),用于在局域网内部进行数据包的交换和转发。二层交换机通过学习MAC地址表,根据目标MAC地址来实现数据包的转发,从而提高局域网内部的数据传输效率。
二层交换机的主要作用包括:
- 数据包的交换:二层交换机能够根据数据包中的目标MAC地址,将数据包从源端口转发到目标端口,实现局域网内部的数据交换。
- 广播域隔离:二层交换机能够将不同端口划分为不同的广播域,有效控制广播风暴,提高网络性能。
- 网络分割:通过建立虚拟局域网(VLAN),二层交换机可以将不同部门或用户分隔开来,增强网络安全性。
- 端口镜像:二层交换机支持端口镜像功能,可以实现对网络流量的监控和分析。
- 网络管理:二层交换机通常提供丰富的管理功能,包括端口管理、流量控制、链路聚合等,方便网络管理员对网络进行管理和配置。
总的来说,二层交换机在局域网中扮演着至关重要的角色,能够提高局域网的数据传输效率、安全性和管理性,是构建现代网络的基础设备之一。
二、下面我们通过一个简单的拓扑图来让大家更好的理解二层交换机的三层结果局域网VLAN配置
第一步:根据图中提供的网段地址,为每台PC机以及路由器填上对应的IP地址
根据每台PC机所处的位置配置地址,这里可以统一给他们的地址为.1 / .2(每个IP网段共有254个地址是可以分配给PC机的,分别是第1~254,IP地址中的第一个地址.0是网络地址(保留地址),IP网段的最后一个地址.255是广播地址(保留地址))
题目提到4台PC机配置在同一网段,因此题目中拓扑的PC机IP规划我将这样分配
PC0:192.168.1.1(IP地址),255.255.255.0(子网掩码)
PC1:192.168.1.2(IP地址),255.255.255.0(子网掩码)
PC2:192.168.1.3(IP地址),255.255.255.0(子网掩码)
PC3:192.168.1.4(IP地址),255.255.255.0(子网掩码)
PC4:192.168.1.5(IP地址),255.255.255.0(子网掩码)
PC5:192.168.1.6(IP地址),255.255.255.0(子网掩码)
PC6:192.168.1.7(IP地址),255.255.255.0(子网掩码)
PC7:192.168.1.8(IP地址),255.255.255.0(子网掩码)
三、在交换机上创建三个VLAN ,按图示将PC划分到VLAN10、VLAN20、VLAN30
(1)交换机Switch3上的配置
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 10(创建一个vlan编号为10的虚拟局域网)
Switch(config-vlan)#name vlan10(为VLAN10命名,可以用来标识VLAN的用途或名称;这一步也可以不配置)
Switch(config-vlan)#vlan 20
Switch(config-vlan)#name vlan20
Switch(config-vlan)#exit
Switch(config)#int fa0/1
Switch(config-if)#switchport mode access(设置接口fa0/1为访问模式,即用于连接终端设备)
Switch(config-if)#switchport access vlan 10(将接口fa0/1划分到VLAN10中,表示该接口连接的设备属于VLAN10)
Switch(config-if)#int fa0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20
(2)交换机Switch4上的配置
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 20(创建一个vlan编号为20的虚拟局域网)
Switch(config-vlan)#name vlan20(为VLAN20命名,可以用来标识VLAN的用途或名称;这一步也可以不配置)
Switch(config-vlan)#vlan 30
Switch(config-vlan)#name vlan30
Switch(config-vlan)#int fa0/1
Switch(config-if)#switchport mode access(设置接口fa0/1为访问模式,即用于连接终端设备)
Switch(config-if)#switchport access vlan 20(将接口fa0/1划分到VLAN20中,表示该接口连接的设备属于VLAN20)
Switch(config-if)#int fa0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 30
(3)交换机Switch5上的配置
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 10(创建一个vlan编号为10的虚拟局域网)
Switch(config-vlan)#name vlan10(为VLAN10命名,可以用来标识VLAN的用途或名称;这一步也可以不配置)
Switch(config-vlan)#vlan 20
Switch(config-vlan)#name vlan20
Switch(config-vlan)#int fa0/1
Switch(config-if)#switchport mode access(设置接口fa0/1为访问模式,即用于连接终端设备)
Switch(config-if)#switchport access vlan 10(将接口fa0/1划分到VLAN20中,表示该接口连接的设备属于VLAN10)
Switch(config-if)#int fa0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20
(4)交换机Switch6上的配置
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 20(创建一个vlan编号为20的虚拟局域网)
Switch(config-vlan)#name vlan20(为VLAN20命名,可以用来标识VLAN的用途或名称;这一步也可以不配置)
Switch(config-vlan)#vlan 30
Switch(config-vlan)#name vlan30
Switch(config-vlan)#int fa0/1
Switch(config-if)#switchport mode access(设置接口fa0/1为访问模式,即用于连接终端设备)
Switch(config-if)#switchport access vlan 20(将接口fa0/1划分到VLAN20中,表示该接口连接的设备属于VLAN20)
Switch(config-if)#int fa0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 30
四、了解什么是本征VLAN及其作用,并将交换机互联链路配置成TRUNK链路,并允许相应VLAN通过
(1). 什么是本征VLAN,本征VLAN的作用是什么?
本征VLAN(Native VLAN)是在交换机上配置的一个特殊VLAN,用于在trunk链路上传输未标记的数据帧。本征VLAN在trunk链路上传输的数据帧不会被加上VLAN标记,因此可以被接收端设备正确识别和处理。
本征VLAN的作用包括:
- 兼容非VLAN设备:允许传输未标记的数据帧,以便与不支持VLAN的设备进行通信。
- 避免VLAN跨越:确保在trunk链路上传输的未标记数据帧被正确识别为属于本征VLAN,避免发生VLAN跨越的情况。
- 简化配置:通过为trunk链路指定本征VLAN,可以简化网络配置并确保数据的正确传输。
(2)思科的本征VLAN(native VLAN)与华为的缺省VLAN(pvid VLAN)有什么区别?
-
功能区别:
- 本征VLAN(Native VLAN):在思科设备中,本征VLAN用于在trunk链路上传输未标记的数据帧。这些未标记的数据帧会被认为属于本征VLAN,确保在trunk链路上传输时能够正确处理。
- 缺省VLAN(PVID VLAN):在华为设备中,缺省VLAN用于指定接收端口上未标记数据帧的VLAN标识。未标记的数据帧会被认为属于PVID VLAN,从而正确处理这些数据帧。
-
配置区别:
- 本征VLAN(Native VLAN):在思科设备上,需要在每个trunk接口上明确配置本征VLAN。
- 缺省VLAN(PVID VLAN):在华为设备上,可以在交换机的接口上配置PVID VLAN,也可以在VLANIF接口上配置。
- 思科的本征VLAN和华为的缺省VLAN的主要功能都是为了解决无法打VLAN标签的设备与能打VLAN标签的设备之间的通信问题。例如,当一台无法识别VLAN标签的设备连接到交换机时,交换机可以将该设备划分到本征VLAN或缺省VLAN,从而确保设备能够正常通信。
- 此外,这些VLAN还用于设备管理通信。例如,当管理员通过telnet或ssh等方式远程登录交换机时,数据通常是通过本征VLAN或缺省VLAN进行传输的。
-
概念区别:
- pvid与native vlan分别属于华为和思科交换里面的概念,虽然说法不同,但是它们本质上都是缺省vlan;默认情况下,本征VLAN的ID皆为1。
(3)按照题目要求完整对应trunk链路的本征VLAN配置
(1)交换机Switch0上的配置
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 10(创建一个vlan编号为10的虚拟局域网)
Switch(config-vlan)#name vlan10(为VLAN10命名,可以用来标识VLAN的用途或名称;这一步也可以不配置)
Switch(config-vlan)#vlan 20
Switch(config-vlan)#name vlan29
Switch(config-vlan)#vlan 30
Switch(config-vlan)#name vlan30
Switch(config)#int fa0/1
Switch(config-if)#switchport mode trunk(将该接口配置为trunk模式,表示该接口将用于传输多个VLAN的数据)
Switch(config-if)#switchport trunk allowed vlan all(允许该trunk链路通过所有VLAN的数据传输,不对VLAN进行限制)
Switch(config-if)#int fa0/2
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk allowed vlan all
Switch(config-if)#exit
(2)交换机Switch1上的配置
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 10(创建一个vlan编号为10的虚拟局域网)
Switch(config-vlan)#name vlan10(为VLAN10命名,可以用来标识VLAN的用途或名称;这一步也可以不配置)
Switch(config-vlan)#vlan 20
Switch(config-vlan)#name vlan20
Switch(config-vlan)#vlan 30
Switch(config-vlan)#name vlan30
Switch(config)#int fa0/1
Switch(config-if)#switchport mode trunk(将该接口配置为trunk模式,表示该接口将用于传输多个VLAN的数据)
Switch(config-if)#switchport trunk allowed vlan 10,20(允许该trunk链路通过VLAN10,20的数据传输,这里也可以设置为 vlan all,但是会浪费资源,因此不建议)
Switch(config-if)#int fa0/2
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk allowed vlan 20,30
Switch(config-if)#int fa0/24
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk allowed vlan all
Switch(config-if)#exit
(3)交换机Switch2上的配置
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 10(创建一个vlan编号为10的虚拟局域网)
Switch(config-vlan)#name vlan10(为VLAN10命名,可以用来标识VLAN的用途或名称;这一步也可以不配置)
Switch(config-vlan)#vlan 20
Switch(config-vlan)#name vlan20
Switch(config-vlan)#vlan 30
Switch(config-vlan)#name vlan30
Switch(config)#int fa0/1
Switch(config-if)#switchport mode trunk(将该接口配置为trunk模式,表示该接口将用于传输多个VLAN的数据)
Switch(config-if)#switchport trunk allowed vlan 10,20(允许该trunk链路通过VLAN10,20的数据传输,这里也可以设置为 vlan all,但是会浪费资源,因此不建议)
Switch(config-if)#int fa0/2
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk allowed vlan 20,30
Switch(config-if)#int fa0/24
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk allowed vlan all
Switch(config-if)#exit
(4)交换机Switch3上的配置
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int fa0/24
Switch(config-if)#switchport mode trunk(将该接口配置为trunk模式,表示该接口将用于传输多个VLAN的数据)
Switch(config-if)#switchport trunk allowed vlan 10,20(允许该trunk链路通过VLAN10,20的数据传输,这里也可以设置为 vlan all,但是会浪费资源,因此不建议)
(5)交换机Switch4上的配置
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int fa0/24
Switch(config-if)#switchport mode trunk(将该接口配置为trunk模式,表示该接口将用于传输多个VLAN的数据)
Switch(config-if)#switchport trunk allowed vlan 20,30(允许该trunk链路通过VLAN20,30的数据传输,这里也可以设置为 vlan all,但是会浪费资源,因此不建议)
(6)交换机Switch5上的配置
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int fa0/24
Switch(config-if)#switchport mode trunk(将该接口配置为trunk模式,表示该接口将用于传输多个VLAN的数据)
Switch(config-if)#switchport trunk allowed vlan 10,20(允许该trunk链路通过VLAN10,20的数据传输,这里也可以设置为 vlan all,但是会浪费资源,因此不建议)
(7)交换机Switch6上的配置
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int fa0/24
Switch(config-if)#switchport mode trunk(将该接口配置为trunk模式,表示该接口将用于传输多个VLAN的数据)
Switch(config-if)#switchport trunk allowed vlan 20,30(允许该trunk链路通过VLAN20,30的数据传输,这里也可以设置为 vlan all,但是会浪费资源,因此不建议)
五、将各trunk链路的本征VLAN配置成VLAN20
(1)交换机Switch0上的配置
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int fa0/1
Switch(config-if)#switchport trunk native vlan 20(将接口fa0/1配置为trunk模式,并设置其原生VLAN(即本征VLAN)为VLAN 20)
Switch(config-if)#int fa0/2
Switch(config-if)#switchport trunk native vlan 20
(2)交换机Switch1上的配置
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int fa0/1
Switch(config-if)#switchport trunk native vlan 20(将接口fa0/1配置为trunk模式,并设置其原生VLAN(即本征VLAN)为VLAN 20)
Switch(config-if)#int fa0/2
Switch(config-if)#switchport trunk native vlan 20
Switch(config-if)#int fa0/24
Switch(config-if)#switchport trunk native vlan 20
(3)交换机Switch2上的配置
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int fa0/1
Switch(config-if)#switchport trunk native vlan 20(将接口fa0/1配置为trunk模式,并设置其原生VLAN(即本征VLAN)为VLAN 20)
Switch(config-if)#int fa0/2
Switch(config-if)#switchport trunk native vlan 20
Switch(config-if)#int fa0/24
Switch(config-if)#switchport trunk native vlan 20
(4)交换机Switch3上的配置
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int fa0/24
Switch(config-if)#switchport trunk native vlan 20(将接口fa0/1配置为trunk模式,并设置其原生VLAN(即本征VLAN)为VLAN 20)
(5)交换机Switch4上的配置
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int fa0/24
Switch(config-if)#switchport trunk native vlan 20(将接口fa0/1配置为trunk模式,并设置其原生VLAN(即本征VLAN)为VLAN 20)
(6)交换机Switch5上的配置
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int fa0/24
Switch(config-if)#switchport trunk native vlan 20(将接口fa0/1配置为trunk模式,并设置其原生VLAN(即本征VLAN)为VLAN 20)
(7)交换机Switch6上的配置
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#int fa0/24
Switch(config-if)#switchport trunk native vlan 20(将接口fa0/1配置为trunk模式,并设置其原生VLAN(即本征VLAN)为VLAN 20)
六、全网配置已完成,验证同一VLAN的PC能够互通,不同VLAN的PC不能互通
1. 相同VLAN成功互通标志
2.不同VLAN之间
不能互通标志
好啦,到这里已经完成了本次配置的内容学习啦,觉得学到东西的各位朋友们可以关注博主并点个赞哦 ~ 您的认可是我坚持创作的动力。小白会不定期更新,关注小白让你实时了解更多的思科路由配置知识!!!
注:本文章配置皆为个人学习理解,如有不同理解或有讲解错误的地方,欢迎评论区留言指出,谢谢!