22-交换技术——企业网络和二层环路

1. 企业局域网络设计

前面在学习交换机原理的时候遗留了一个环路避免的问题,在此之前我们先来了解一下现在的企业局域网络架构。

计算机网络经过几十年的发展,一般现在的企业网络基本都采用了三层的网络架构:核心层,汇聚层,接入层。每一层都有各自独立的功能,这样的模块化设计方便网络排错和维护,有利于后期网络扩展,如下图所示:

核心层交换机:主要是用于高速转发企业内部网络不同区域的数据流量(也就是汇聚层交换机的流量),因此核心层必须具备高性能转发。

汇聚层交换机:连接核心层和接入层的“中介”,用于处理来自接入层的数据流量,然后汇聚到核心层的链路,一般汇聚层交换机的性能要比接入层的交换机更高。

接入层交换机:一般是直接面向终端用户的,提供Internet服务连接到互联网。

 

2. 冗余链路引发的二层环路

在上一小节中企业局域网络采用的三层网络架构为了提高网络的稳定性,通常会使用冗余链路。

冗余链路可以提高网络的稳定性,但也会带来环路的风险,特别是下图的冗余网络拓扑来说,只要其中一台交换机发送一个广播包,就可能会造成广播风暴,消耗交换机链路的带宽,也就是说这种网络拓扑非常容易出现环路的。

出现环路的原因主要有两方面:

一是交换机的转发原则,因为当交换机收到一个广播包的话会从其他接口泛洪出去。

二是这样冗余的网络拓扑本身就很容易造成二层环路。

 

 

二层环路和三层环路的区别在于:当三层出现环路时,IP协议的TTL值每经过一个节点都会减一,当TTL值最终为0时该数据包就会从环路中丢弃掉,这样就可以避免环路的问题。但在二层是没有类似这样的方式来避免环路,这就可能会造成二层网络永久的环路,引发广播风暴,MAC地址表震荡等问题,使网络不稳定。

 

 

3. 广播风暴

说了这么多总不能纸上谈兵,现在通过一个实验来说二层环路引发广播风暴,如下图所示:

首先将三台交换机设备的STP协议关掉。

 

关掉SW1设备的STP协议,配置如下:

SW1(config)#no spanning-tree vlan 1
SW1(config)#exit
SW1#

SW2,SW3设备同理......

 

 

然后再SW1设备上配置IP地址,随便ping一个IP地址发送ARP广播包,实现二层环路:

SW1(config)#int vlan 1
SW1(config-if)#no shutdown
SW1(config-if)#ip add 192.168.1.1 255.255.255.0
SW1(config-if)#exit
SW1(config)#exit
SW1#
SW1#ping 192.168.1.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
SW1#

由于二层设备是通过mac地址通信的,SW1设备需要获取到192.168.1.2的mac地址,因此SW1交换机会发送ARP广播包。

然后抓取SW1和SW2设备的f0/0链路的数据包:

通过wireshark工具可以看到当前交换网络中出现了ARP广播风暴。

 

4. MAC地址表震荡

除了广播风暴,可能还会造成交换机的MAC地址表震荡,如下图所示:

PC1给PC2发送了一个单播的数据帧,假设当前网络中所有交换机中的MAC地址表中都没有PC2的目的MAC地址,当SW2交换机从f0/2口收到该数据帧时会在自己的MAC地址中建立PC1的MAC地址和f0/2口的映射并存储,然后从其他的端口泛洪(f0/0,f0/1)转发出去,假设SW2是先从f0/0口转发出去的,SW1交换机同理。

 

重点是SW3交换机,当SW3交换机收到该数据帧后由于其MAC地址表中没有目的MAC地址,因此SW3交换机会从其他端口(f0/1和f0/2)转发出去,假设SW3交换机把该数据帧先从f0/1口转发出去,当SW2收到该数据帧后会在MAC地址表中删除原有的MAC地址映射表项,根据源MAC学习,把PC1的MAC地址和f0/1口进行映射并存储到自己的MAC地址表中,之后一直重复这个过程,导致MAC地址表震荡,影响交换机性能。

原创文章 317 获赞 280 访问量 24万+

猜你喜欢

转载自blog.csdn.net/qq_35733751/article/details/99617219