同端口两个计算机发送帧,二层交换机的工作原理以及网络环路的危害(2)

本文详细阐述了交换机的三大核心功能:MAC地址学习、数据帧转发与环路避免。讲解了MAC学习的过程,以及直通转发、片断转发和存储转发的区别。同时揭示了网络环路可能带来的广播风暴、重复数据帧和MAC地址表不稳定问题。
摘要由CSDN通过智能技术生成

交换机的三大功能:

1.MACA地址的学习

2.数据帧的转发或者是数据帧的过滤

3.利用生成树协议防止网络环路

首先我们来看第一个交换机MAC地址的学习功能,交换机是通过MAC表来进行交换转发工作的,所以MAC地址表是交换工作的核心,网络与交换机的不同之处就在于网桥使用软件来创建和管理MAC地址表的,而交换机使用ASIC来创建和管理MAC地址表。

交换机的MAC地址学习功能:

交换机初始化时,要学习进入交换机的数据帧的源地址,并且把源地址及其对应的交换机的端口号记录在MAC地址表。在MAC地地址表形成之后,交换机要学习进入交换机数据帧的目的地址,并且与MAC地址表中的条目进行比较,完成相应的转发。

3e2881ae875b369274d2d7d1b65a91eb.png

▲MAC地址学习

交换机开机初始化时,MAC地址表是空的,因为MAC地址表是存储在内存中的。

如果计算机A发送数据帧到计算机C,此时交换机的E0口接收该数据帧,交换机记录下该数据帧的源地址C的对应关系及E0口的对应关系。如图所示:

dcc37ad08af4bac51dbc6b2de24a9f77.png

由于交换机并不知道C的MAC地址,所以将此数据帧对除了E0口以外的其他端口进行转发。

b16c0ca905a604a1ef6cbf51b1903874.png

如果是计算机D发送数据帧到计算机C,此时交换机的E3口接收该数据帧,交换机记录下该数据帧的源地址D的地址与端口的对应关系。此时交换机仍然不知道C的地址,所以还是要对除了E0口以外的其他端口上进行转发。

交换机不断记录每个接口上接收到的数据帧的地址,一段时间以后所有的端口所连接的MAC地址都会记录到MAC地址表中。此时计算机A再向计算机C发送数据时,就直接查MAC地址表进行转发即可,不会再转发到其他端口上。

52526a9c8154ed1558340ef22254934f.png

在这个图中计算机A和计算机B通过HUB连接到Switch的E0口上,所以在MAC地址表中记录两个MAC地址对应同一个端口,此时如果A与B通讯,则交换机不会转发该数据帧,因为源和标MAC都在同一个接口上。这就是交换机的地址学习功能以及数据包的转发过滤。

交换机的交换方式一般有三种:直通转发、片断转发和存储转发

直通转发:交换机检测到目录地址后即转发数据帧,也就是说只要读到目标地址以后就开始转发,大家分析一下数据帧的格式就知道了,加上前导位和目标地址也就是14个字节左右,不需要再往后分析了。这样减少延时,但是不适合高错误率的网络。因为有一些数据碰撞帧,是小于64字节的,也会一起转发!

片断转发:与直通转发相似,只是在转发的时候会检测帧的前64个字节,这前64个字节中会包含一小部分数据,好处是可以把可以把小于64字节的坏帧抛弃掉,以节约带宽。

存储转发:这是延时最大的一种转发,在进行数据转发之前要将收到的帧进行完整性校验,确认没有错误才进行转发,如果有错误就不转发。好处是可以丢弃任何小于64字节和受损的数据包,但是缺点是延迟大。

下面看一下网络环路的形成:

网络环路

大家看下面这个图:

c1e14263ee388a51746af8d844f8bbd1.png

在这个拓扑图中,交换机就成了一个单点故障,如果交换机坏了,此时的几个模块之间都无法进行正常的工作,客户机不能访问服务器,不能连接internet,不能访问打印机,反之都一样。所谓单点故障,也就是一点发生故障,则整网络无法正常工作。所以在一般的交换式网络中,我们都需要对交换机进行冗余,但是引入冗余又会发生一个问题,一个很严重的问题,就是网络环路。下面我们来看看环路对我们的网络到底造成了什么影响,影响主要有三:

1Broadca ststorms广播风暴

2Multiple Frame Copies多重复数据帧

3MAC Database Instability MAC地址表不稳定

咱们一一来看

广播风暴:我们看一个图,大家就明白什么是广播风暴了:

7d6d6c6c1a84aac4e5d320cea79c3f14.png

分析:如果主机X希望跟网络上的其他主机通讯,将数据报传给交换机A,但交换机仍然会将此报再一次传给交换机A,依次类似,构成了一个环,而且这个环后面比较严重,为什么?我们在讲网络基础的时候,我们讲了数据帧的格式,大家可以回忆一下,但在这个格式中,没有类似于三层IP报头中TTL机制,所以数据帧在网络中将被无限次数的传递,从面造成了广播风暴,如果是单播的数据还要好一些,如果是广播或者组播数据在这样一个环路网络中传递则广播风暴更加明显。

多重数据帧:也称为重复数据帧

分析:主机X准备发一个单播帧给路由器Y,数据报发出后,发现有两条路可以到达路由器Y,一个是直接发过去,还有一条就是通过交换机A转给交换机B,然后再交给路由器Y,此时路由器Y就收到了两位一模一样的数据帧。

206c1986a7a0ff2982c475828d6c915d.png

还有一个就是MAC地址表的不稳定:

db1cbc0255c2eee0fe8c166e7a48d7db.png

分析:还是主机X发送数据帧给路由器Y,路由器的MAC地址表还没有被交换机学习到,数据帧沿链路发送到交换A和交换机B的端口0,那么交换机A和交换机B都将主机X的MAC地址记录在port0。因为是通过port0收到的数据帧,所以会通过两个交换机的port1向外泛洪,交叉来到相互交换机的port1口,又认为主机X的MAC地址所对应的端口是port1,即从交换机A发出来的数据帧来到了交换机B的port1端口。然后交换机B收到后又通过Port0口再次泛洪,依次类推,数据帧在环路里重复执行上述过程,交换机A和交换机B重复的在port1以及port0上不断的学习主机X的MAC地址,造成MAC地址表的不稳定。

本文来源:it168

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值