请大家思考一下:应该怎样提高以太网的可靠性呢?
看下图:如果AB之间的链路断了,那B无法和A上的所有主机进行通信,也无法与C上所有主机进行通信。
1)可以通过添加冗余链路的方法来提高以太网的可靠性。
BC之间加一条,即使AB之间出现故障,那也还是可以正常通信的。
但是冗余链路也有缺点,那就是形成网络环路。
网络环路会带来一些问题:
- 广播风暴
H1发广播到B,B转发给AC,A转发给BC,C转发给AB,A又转发给B,B又转发给A。大量消耗网络资源,使得网络无法正常转发其它数据帧。
- 主机收到重复的广播帧:大量消耗主机资源
- 交换机的帧交换表震荡:有关H1的MAC地址,将反复改变。
为了避免增加冗余链路来提高网络可靠性的同时避免网络环路带来的各种问题,以太网交换机使用生成树协议STP
- 不论交换机之间采用怎样的物理连接,交换机都能够自动计算并构建一个逻辑上没有环路的网络,其逻辑拓扑结构必须是树型的(无逻辑环路)
举例说明:
如果交换机的各接口都是正常状态,那就构成环路。实际上各交换机之间,按照生成树协议中规定的生成树算法,交互一些参数后,自己心里就有个数,应该阻塞哪些接口。
这样就会形成一个逻辑上没有环路的网络,但是实际线路是连接的,只不过有些线路不通。
当首次连接交换机或网络物理拓扑发生变化时(人为或故障),交换机都将进行生成树的重新计算。