这两种类型交换机的工作方式有所不同:
- 二层交换机可以识别数据包中的MAC地址,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。二层交换机不遵循路由算法。
- 三层交换机转发基于目标 IP 地址,数据包的目的地是定义的下一跳,三层交换机遵循路由算法。
二层交换机
如果二层交换机不遵循路由算法,那么它们将如何学习下一跳的 MAC 地址?
通过遵循ARP(地址解析协议)来实现。
图片来源:技术之家
ARP的工作内容如下:
我们以网络为例,其中一个交换机连接到四个主机设备,称为 PC1、PC2、PC3 和 PC4。现在,PC1 第一次要向 PC2 发送一个数据包。
虽然 PC1 在第一次通信时知道 PC2 的 IP 地址,但它不知道接收主机的 MAC地址。因此,交换机向所有端口发送ARP请求(不包括PC1所连接的端口),PC2 收到 ARP 请求后,将回复一个带有其 MAC 地址的 ARP 响应消息。这样,PC2 也就收集到了PC1 的 MAC 地址。
通过上述消息的来回流动,交换机就知道哪些MAC地址分配给了哪些端口。同样,当 PC2 在 ARP 响应消息中发送其 MAC 地址时,交换机会收集 PC2 的 MAC 地址并将其存储到自己的 MAC 地址表中。
从现在开始,每当 PC1 想要向 PC2 发送任何数据时,交换机只需在其地址表中查找并转发到 PC2 的目标端口。
如此,交换机将继续维护每个连接主机的硬件地址。
冲突和广播域
在二层交换中,当两个或多个主机试图在同一网络链路上以相同的时间间隔进行通信时,可能会发生冲突。当数据帧发生冲突,设备必须重新发送数据。冲突对网络性能有严重的负面影响,因此绝对要避免冲突。
广播是一种信息的传播方式,指网络中的某一设备同时向网络中所有的其他设备发送数据,这个数据所能广播到的范围即为广播域。简单点说,广播域就是指网络中所有能接收到同样广播消息的设备的集合。
使用一个或多个交换机组成的以太网,所有站点都在同一个广播域。随着交换机变多,这个广播域的范围也会变大,于是就会出现难以维护、广播风暴以及安全等问题。
上文说过,一个主机想要获取另外一个网段的主机MAC地址,需要发送ARP广播请求获取对方主机的MAC地址。这个广播请求会广播到每一个主机身上,容易导致广播风暴。
VLAN
为了克服冲突和广播域问题,在计算机网络系统中引入了VLAN(虚拟局域网)技术。
分隔广播域有两种方法:
1. 物理分隔:将网络从物理上划分为若干个小网络
2. 逻辑分隔:将网络从逻辑上划分为若干个小的虚拟网络,即VLAN
物理分隔有很多缺点,会使得局域网的设计缺乏灵活性,而VLAN则具有灵活性和可扩展性。VLAN配置是在交换机级通过使用不同的接口完成的,不同的交换机可以有不同或相同的 VLAN 配置,并可以根据网络的需要进行设置。
在同一个 VLAN 内的设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像在同一个网段中一样。因此,与不同交换机相连的主机可以共享同一个广播域。
为了更好地理解 VLAN ,我们举个栗子,其中一个使用 VLAN,另一个不使用 VLAN。
如果没有 VLAN,从主机 1 发送的广播消息将到达网络中的所有设备。
未使用VLAN
如果给网络中的两个交换机添加一个名为 fast Ethernet 0 和 fast Ethernet 1 的接口卡(通常表示为 Fa0/0)来配置 VLAN,来自主机1 的广播消息将仅发送到主机2。
使用了VLAN的网络
在进行配置时会发生这种情况:只有主机 1 和主机 2 定义在同一组 VLAN 下,而其他设备组件是别的 VLAN 网络的成员。
需要注意的是,二层交换机只能允许主机设备与同一个VLAN的主机通信。要到达另一个网络的主机设备,需要三层交换机或路由器。
VLAN 网络高度安全,因为其配置类型,任何文件都可以通过两个预定义的、物理上没有连接的同一VLAN的主机发送。广播流量也由它管理,因为消息将仅发送和接收到定义的 VLAN集,而不是网络上的每个设备。
访问和中继端口
在交换机端口上可以完成各种类型的配置,给VLAN 分配一个访问端口,就可以访问单个 VLAN 网络。
当我们只需要简单地将主机终端设备配置到特定的 VLAN 网络时,就会使用访问端口。
如果需要访问多个交换机,且需要访问不同的VLAN,则将接口配置为交换机的中继端口。中继端口的智能程度足以承受多个VLAN的流量。
配置 VLAN
- 要在交换机上配置 VLAN,首先要在交换机上启用 IOS 模式。
- 创建 VLAN 的命令为onfig mode VLAN NUMBER i.e. Switch(config)# VLAN 10。
- 通过使用接口命令,我们可以在 VLAN 下分配快速以太网端口。
- 通过使用 switchport 访问命令行,我们可以指定接口是访问模式。
- 下一条命令将分配 VLAN 编号到交换机端口访问模式。
Switch(config) #vlan 10
Switch(config-vlan) #exit
Switch(config) #int fa0/1
Switch(config-if) #switchport mode access
Switch(config-if) #switchport access vlan 10
- switchport access mode 命令只能分配给单个 VLAN。当需要配置多个 VLAN,使用 switchport trunk mode interface 命令,因为它可以承载多个 VLAN 的流量。
二层交换机的特点
下面列出了二层交换机的各种特性。
- 二层交换机可以充当网桥,将计算机网络系统的各种终端设备连接在一个平台上。它们能够非常快速且有效地将数据从LAN 网络的源端传输到目标端。
- 二层交换机通过从交换机的地址表中学习目的节点的MAC地址,执行交换功能,将数据帧从源端重新排列到目的端。
- MAC地址表为二层设备提供了唯一的地址,用于标识数据下发的终端设备和节点。
- 二层交换机将庞大复杂的 LAN 网络拆分为一个个小的VLAN网络。
- 通过在一个大型的 LAN 网络中配置多个 VLAN,在没有物理连接的情况下,交换变得更快。
二层交换机的应用
下面给出了二层交换机的各种应用。
- 通过二层交换机,我们可以轻松地将位于同一VLAN内的数据帧从源端发送到目的端,而无需物理连接或位于同一位置。
- 因此,软件公司的服务器可以集中放置在一个位置,而分散在其他位置的客户端可以轻松访问数据而没有延迟,从而节省服务器成本和时间。
- 组织可以通过使用这些类型的交换机将主机配置在同一个VLAN中,而不需要任何互联网连接,从而实现内部通信。
三层交换机
当我们需要在不同的 LAN 或 VLAN 之间传输数据时,二层交换机就无法满足了。这时需要三层交换机,因为它们将数据包路由到目的地的技术是IP 地址和子网划分。
三层交换机工作在 OSI 参考模型的第3层,并使用 IP 地址执行数据包的路由。它们比二层交换机具有更快的切换速度,甚至比传统路由器更快,因为它们不使用额外的跃点来执行数据包的路由,从而会带来更好的性能。
图片来源:技术之家
要理解三层交换机的功能,首先需要先了解路由的概念。
第3层中的源端设备首先查看自己的路由表,路由表中包含了源IP地址、目的IP地址和子网掩码的所有信息。然后,根据它从路由表中收集的信息,将数据包发送到目的地,并可以在不同的LAN、MAN和WAN网络之间进一步传递数据。它遵循最短且安全的路径在终端设备之间传递数据。这就是路由的总体概念。
各种网络可以通过STM链路连接在一起,STM链路有很高的带宽,DS3链路也可以。连接的类型取决于网络的各种参数。
三层交换机的特点
三层交换机的各种特性如下所示:
- 执行静态路由,以在不同 VLAN 之间传输数据。而二层设备只能在同一 VLAN网络之间传输数据。
- 以与路由器相同的方式执行动态路由,这种动态路由技术允许交换机执行最佳数据包路由。
- 根据网络的实时场景提供一组多路径来传递数据包。交换机可以选择最可行的路径来路由数据包,目前流行的路由技术包括 RIP 和 OSPF。
- 有能力识别关于流量流向的交换机的相关IP地址信息。
- 能够根据子网划分或 VLAN 流量标记部署 QoS 分类,而不是像二层交换机那样手动配置交换机端口。
- 需要更多的功率来运行,并在交换机之间提供更高带宽的链路,这些链路几乎超过 10Gbits。
- 为数据交换提供高度安全的路径。
三层交换机的应用
三层交换机的应用如下:
- 被广泛用于数据中心等大型园区。三层交换机具有静态路由和动态路由等特点,且交换速度比路由器快,因此它被用于局域网连接中,用于多个VLAN和LAN网络的互连。
- 三层交换机与多台二层交换机相结合,可以支持更多用户接入网络,无需额外部署三层交换机和更多带宽。如果一个网络平台上的终端用户数量增加,那么无需对网络进行任何增强,就可以轻松地将其容纳在同一个运行场景中。
- 三层交换机可以轻松处理高带宽资源和最终用户应用,它提供了 10Gbits 带宽。
- 三层交换机有能力解除过载的路由器的负担。在广域网场景中,每个三层交换机都有一个主路由器,这样交换机就可以管理所有的本地VLAN路由。
- 通过遵循上述类型的场景,路由器的工作效率将会提高,并且可以专门用于长距离(WAN)连接和数据传输。
- 三层交换机十分智能,可以利用其高带宽处理和管理本地连接的服务器和终端设备的路由和流量控制。因此,公司通常使用三层交换机来连接其监控服务器和子系统NOC中心的主机节点。
三层交换机的 VLAN 间路由
下图显示了三层交换机与二层交换机相结合的跨 VLAN 路由操作。 我们再举个栗子来帮助理解:
在大学中,教职员工和学生的 PC 通过二层和三层交换机连接在不同的VLAN上。
某教职员工 VLAN 的 PC 1 想其他教员VLAN中的pc2进行通信。由于两个终端设备属于不同的 VLAN,我们需要三层交换机将数据从PC 1 路由到PC 2。
首先,二层交换机借助硬件部分的MAC地址表来定位目标主机。然后从MAC表中学习接收主机的目的地址。之后,三层交换机根据IP地址和子网掩码进行交换和路由,它将明确PC1希望和哪个VLAN网络的目标PC通信。一旦它收集了所有必要的信息,将在它们之间建立链接,并将数据从发送端路由到接收端。这样就完成了不同VLAN间的通信。
总结
二层与三层交换机之间有以下区别:
工作层级不同:二层交换机工作在数据链路层,三层交换机工作在网络层,三层交换机不仅实现了数据包的高速转发,还可以根据不同网络状况达到最优网络性能。
原理不同:二层交换机的原理是当交换机从某个端口收到一个数据包,它会先读取包中的源MAC地址,再去读取包中的目的MAC地址,并在地址表中查找对应的端口,如表中有和目的MAC地址对应的端口,就把数据包直接复制到这个端口上。三层交换机的原理比较简单,就是一次路由多次交换,通俗来说就是第一次进行源到目的的路由,三层交换机会将此数据转到二层,那么下次无论是目的到源还是源到目的都可以进行快速交换。
功能不同:二层交换机基于MAC地址访问,只做数据的转发,并且不能配置IP地址,而三层交换机将二层交换技术和三层转发功能结合在一起,也就是说三层交换机在二层交换机的基础上增加了路由功能,可配置不同VLAN的IP地址,可通过三层路由实现不同VLAN之间通讯。
应用不同:二层交换机主要用于网络接入层和汇聚层,而三层交换机主要用于网络核心层,但是也存在少部分三层交换机用于汇聚层的现象,下图是三层交换机的实际应用实例。
图片来源:技术之家
支持的协议不同:二层交换机支持物理层和数据链路层协议,而三层交换机支持物理层、数据链路层及网络层协议。