技术频道

工业以太网冗余原理

引言

在一个桥接的局域网里,为了增强可靠性,必然要建立一个冗余的路径,网段会用冗余的网桥连接。但是,在一个透明桥桥接的网络里,存在冗余的路径就能建立一个桥回路,桥回路对于一个局域网是致命的。它会带来如下问题:

A.广播风暴

B.同一帧的多份拷贝

C.不稳定的MAC地址表

因此,在交换网络中必须有一个机制来阻止回路。

1 生成树协议

生成树协议就是IT界中常用的机制。生成树协议是一种桥嵌套协议,在IEEE802.1d规范里定义,可以用来消除桥回路。它的工作原理是这样的:生成树协议定义了一个数据包,叫做桥协议数据单元BPDU(Bridge Protocol Data Unit)。网桥用BPDU来相互通信,并用BPDU的相关机能来动态选择根桥和备份桥。但是因为从中心桥到任何网段只有一个路径存在,所以桥回路被消除。 在一个生成树环境里,桥不会立即开始转发功能,它们必须首先选择一个桥为根桥,然后建立一个指定路径。在一个网络里边拥有最低桥ID的将变成一个根桥,全部的生成树网络里面只有一个根桥。根桥的主要职责是定期发送配置信息,然后这种配置信息将会被所有的指定桥发送。这在生成树网络里面是一种机制,一旦网络结构发生变化,网络状态将会重新配置。

当选定根桥之后,在转发数据包之前,它们必须决定每一个网段的指定桥,运用生成树的这种算法,根桥每隔2秒钟从它所有的端口发送BPDU包,BPDU包被所有的桥从它们的根端口复制过来,根端口是接根桥的那些桥端口。BPDU包括的信息叫做端口的COST,网络管理员分配端口的COST到所有的桥端口,当根桥发送BPDU的时候,根桥设置它的端口值为零。然后沿着这条路径,下一个桥增加它的配置端口COST为一个值,这个值是它接收和转发数据包到下一个网段的值。这样每一个桥都增加它的端口的COST值为它所接收的BPDU的包的COST值,所有的桥都检测它们的端口的COST值,拥有最低端口的COST值的桥就变为了指定的桥。拥有比较高端口COST值的桥置它的端口进入阻塞状态,变为了备份桥。在阻塞状态,一个桥停止了转发,但是它会继续接收和处理BPDU数据包。

IEEE 802.1D规范包括了生成树算法(Spanning Tree Algorithm,STA),这是一种确保转发循环永远不会发生的机制。 STA使用网桥协议数据单元(Bridge Protocol Data Units,BPDU),自动配置网桥上处于转发或阻塞状态的独立端口。BPDU是网桥发送到一个已保存的多播MAC地址(对于以太网,这个地址是01-80-C2-00-00-00)的消息,所有透明网桥都会侦听该地址。在阻塞状态下,端口不会获悉或转发已接收到的帧。STA的最终结果是一个无循环的桥接环境,不管局域网网段拓扑结构是否改变,这个环境总是一直存在。生成树算法,决定了网络链路故障恢复时间,最少不低于15秒。

生成树的状态:

运行生成树协议的交换机上的端口,总是处于下面五个状态中的一个:

阻塞:所有端口以阻塞状态启动以防止回路,由生成树确定哪个端口切换为转发状态,处于阻塞状态的端口不转发数据帧但可接受BPDU。

监听:不转发数据帧,但检测BPDU(临时状态)。

学习:不转发数据帧,但学习MAC地址表(临时状态)。

转发:可以传送和接受数据数据帧。

禁用:通常由于端口故障或交换机配置错误引起。

2 Supreme-Ring协议

Supreme-Ring协议是在工业以太网使用的冗余机制。Supreme-Ring协议和生成树协议有点相似,Supreme-Ring协议也定义了一种数据包,称为HELLO包,又称为WD包(Watch Dog Packets)。交换机之间用HELLO包通信,在主交换机上动态选择主链路和备份链路。但是因为从中心桥到任何网段只有一个路径存在控制工程网版权所有,所以桥回路被消除。

在工业冗余环网网络环境里,交换机不会立即开始转发功能,主交换机(Local)由手动指定,选择主链路和备份链路建立一个指定路径,由Supreme-Ring协议自动指定。一个工业冗余环网网络里面只能有一个主交换机(Local)。主交换机(Local)会定期发送配置信息,这种配置信息将会被所有的从交换机(Remote)发送。一旦网络结构发生变化,网络状态将会重新配置。

当指定主交换机(Local)之后,在转发数据包之前,所有端口都以阻塞方式启动。运用Supreme-Ring算法,主交换机(Local)选择最低COST值的端口作为主链路,另一条COST值高的端口作为备份链路。备份链路不转发数据,只接收和处理HELLO包,处于热备(Hot Standby)状态。从交换机(Remote)没有主链路和备份链路的区别。Supreme-Ring协议是一种简洁高效的冗余协议,能够保证环网在链路故障时,在300ms之内恢复网络通信。

Supreme-Ring的状态:

运行Supreme-Ring协议的交换机上的端口,总是处于下面四个状态中的一个:

阻塞:所有端口以阻塞状态启动以防止回路,处于阻塞状态的端口不转发数据帧但可接受HELLO包。

热备:不转发数据帧,但学习MAC地址表,在主链路故障时,在300ms之内,立刻进入转发状态。

转发:可以传送和接受数据数据帧。

禁用:通常由于端口故障或交换机配置错误引起。

结束语

工业网络环境需要快速反应冗余机制,生成树协议的15秒恢复时间,不能满足工业环境要求。只有采用Supreme-Ring协议才是工业网络环境的最佳冗余机制。


文章版权归西部工控xbgk所有,未经许可不得转载。