APP下载

双交换机冗余网络智能切换的设计及应用

2011-06-04刘新华上海贝尔股份有限公司WLPD上海201206

自动化博览 2011年5期
关键词:检测点交换机路由

刘新华(上海贝尔股份有限公司 WLPD,上海 201206)

1 引言

重要的通信与控制设备,其稳定性对于整个系统的稳定与业务至关重要。因此,为了确保这些重要设备的稳定运行,通常在其内部使用了备份和冗余网络。当内部网络的一部分出现故障时,要求系统能迅速诊断并快速切换到备份和冗余的网络,从而降低故障对系统的影响,保证系统的稳定运行。

在备份和冗余网络中,通常采用的冗余方式是冗余链路 + 生成树协议(如STP/RSTP)。在这种方式下,网络出现故障时的冗余切换速度取决于所使用的生成树协议的收敛时间,在实时性要求很高的情况下会使其应用受到一定的限制,同时,这种方式配置比较复杂,而且对交换机需要支持的协议也提出了要求。

本文针对一种平面独立的内部双交换机冗余网络,设计了一种实用的不依赖生成树协议(如STP/RSTP)的快速智能冗余切换的方法,网络出现故障时,与“冗余链路 + 生成树协议(如STP/RSTP)”方法相比,冗余切换速度明显提升,实验室及现场应用验证了该方法的有效性。

2 一种平面独立的双交换机冗余网络的拓扑结构

图1是某一核心通信设备内部的双交换机冗余网络的拓扑结构。如图1所示,设备中有多个控制单元(Control Element,CE),每一个控制单位都相当于一台电脑,通过eth0和eth1分别连接到两个交换机SWITCH-A和SWITCH-B,组成了两个互为备份的网络交换平面。由于SWITCH-A和SWITCH-B之间没有网络连接,因此,这两个交换机虽互为备份但彼此独立,避免了对生产树协议的要求。通过在各个CE上添加不同的网络路由(route),可以实现在两个交换平面之间灵活切换。

图1 某一核心通信设备内部的双交换机冗余网络的拓扑结构

由于是在设备内部,每个交换机端口所对应CE的内部ip和内部mac地址都可以预先定义,如表1所示。

表1 CEi的网络端口、IP、Mac-address对照表(假设)CEi

默认情况下,每个CE都通过SWITCH-A相互联系,或通过SWITCH-A和CEn与外部网络联系。默认路由(route)如表2、表3所示。

表2 CEi(i≠n)的默认路由表CEi(i≠n)

表3 CEn的默认路由表CEn

2 网络出现故障时的冗余切换

当某个CE的网络接口(eth0或eth1),或者某个SWITCH(SWITCH-A或SWITCH-B)出现故障时,可以通过更新每个CE的内部路由(route),切换到冗余一侧的交换机上,使系统的网络保持畅通。

(1)交换机的某个端口故障

(假设)CEi的eth0对应的交换机端口出现故障,如图2所示:

图2 CEi 的eth0出现故障示意图

为保持网络畅通,需要使CEi上针对eth0的路由(route)全部切换到另一侧的交换机上;同时,还需要使其它CE通过eth0到CEi的路由(route)切换到另一侧的交换机上。

对应的路由(route)更新如下:

(a)CEi

(b)CEj(j≠i)

如果CEi的eth1对应的交换机端口出现故障,每个CE的route也要做类似的切换更新。

(2)整个交换机故障

如果某个交换机出现故障,为保持网络畅通,需要使每个CE针对该交换机的路由全部切换到另一侧的交换机上。

假设SWITCH-A出现故障,为保持网络畅通,需要使每个CE上针对eth0的路由(route)全部切换到eth1上。对应的路由(route)更新如下:

如果SWITCH-B出现故障,每个CE的route也要做类似的切换更新。

3 网络故障的自动检测

对于交换机端口或者整个交换机的故障,都表现为某些CE(一个或多个CE)的网络端口出现故障,因此,都可以通过检查各个CE的网络端口状态检查出来。

3.1 网络端口状态的检测方式

图3 CEi的检测点示意图

如图3所示,设备中的每一个CE(CEi)针对其对应的网络端口(eth0或eth1),都任意选择其它3个CE(CEi1,CEi2,CEi3)作为检测点。在针对网络端口的每一个检测周期中,CEi依次向每个检测点直接发送以太网mac包(check包);收到check包的CE将向发送方回复确认ack包。

3.2 检测步骤与决断策略

如图4所示:

① CEi向第一个检测点CEi1发check包;

② 等待CEi1的ack包,如果收到,说明端口正常,结束本次检测;

③ 等待超时,CEi向第二个检测点CEi2发check包;

④ 等待CEi2的ack包,如果收到,说明端口正常,结束本次检测;

⑤ 等待超时,CEi向第二个检测点CEi3发check包;

⑥ 等待CEi3的ack包,如果收到,说明端口正常,结束本次检测;

⑦ 等待超时,CEi向该端口(eth0或eth1)广播一个check包,其它CE收到之后都会向CEi发ack包;

⑧ 等待可能的ack包,如果收到,说明端口正常,用新收到的ip/mac地址更新检测点(CEi1,CEi2,CEi3),结束本次检测;

⑨ 等待超时,CEi的该端口上不能收到任何ack包,则检查另一侧端口的状态:如果另一侧端口异常,说明CEi在两侧都不能收到任何ack包,判断CEi处于孤立运行状态,因此不需要做route更新;如果另一侧端口正常,判断本侧端口故障,触发每一个CE上的route更新。

图4 网络端口检测步骤示意图

3.3 检测周期与响应时间

图5 网络端口的检测周期与检测步骤示意图(示例)

采用图5所示的检测步骤与检测周期(示例),网络端口状态的最长检测周期为 T = 4×t1+t2。当网络端口故障时,最长在时间T内可以检出网络故障。

选择合适的t1和t2,能使系统在尽可能短的时间内检测出交换机网络故障,并做出相应的保护性冗余切换。

当t1= 20ms,t2= 100ms时,T = 4×t1+t2= 180ms;

当t1= 10ms,t2= 50ms时,T = 4×t1+t2= 90ms。

3.4 检测行为对网络的影响

在每一个检测周期中,

当所有网络端口正常时,每一个CE会收发2个mac包(1个check包,1个ack包),一共是 2n个mac包;

当某个网络端口异常时,该端口对应的CE最多收发不超过n个包(4个check包,最多n-4个ack包),其它CE每一个最多收发不超过3个包(2个check包,1个ack包),一共最大不超过 4n 个包;

当某个交换机故障时,每一个CE会收发4个包(4个check包,0个ack包),由于该交换机已经不能转发包,因此没有真正增加网络的负荷。

当 时,由网络检测引入的mac包的数量是非常小的。

4 应用

该策略针对设备内部的平面独立的双交换机冗余网络,可以检测每一个网络端口的状态,在网络出现故障的时候能迅速检测出来并自动作冗余切换,而且对交换机所支持的协议没有特殊的要求,对设备内部每个CE所支持的协议也没有特殊的要求,因而适应性较强。通过选择合适的检测周期,可以使冗余切换时间限制在100ms~200ms以下,甚至更短。与“冗余链路 + 生成树协议(如STP/RSTP)”的冗余方式相比,该策略的冗余切换速度更快,而且不需要对交换机做额外的配置。

在某一款电信核心设备中采用了该策略后,经过实验室和现场的双重验证,当内部网络出现故障时,实际冗余切换时间小于100ms,有效保障了系统的稳定性。

5 结论

本文针对“冗余链路 + 生成树协议”的网络冗余方式中冗余切换速度依赖所使用的生成树协议的收敛时间、造成实时性不高,而且配置复杂的问题,设计了不依赖生成树协议(如STP/RSTP)的快速智能冗余切换的方法,提升了冗余切换速度,同时简化了网络配置。

[1] IEEE 802.1D – Media Access Control(MAC)Bridges, IEEE, 2004.

[2] 付志兵. 通信系统冗余设计[J]. 计算机与网络, 2009(08) .

[3] 王隆杰. 虚拟网络交换机技术[J]. 通信技术, 2009(04).

[4] 刘立. 交换机链路聚合的理论与实验研究[J]. 信息安全与技术, 2010(09).

[5] 黄文君, 谢东凯, 卢山. 一种高可用性的冗余工业实时以太网设计[J]. 仪器仪表学报, 2010, 31(3).

[6] 李志洁, 姜楠, 王存睿, 刘向东. 生成树协议分析及其实验的设计与实现[J]. 实验科学与技术, 2010, 8(2).

猜你喜欢

检测点交换机路由
核酸检测点上,有最可爱的平江人
骑马做核酸
铁路数据网路由汇聚引发的路由迭代问题研究
多点双向路由重发布潜在问题研究
一种基于虚拟分扇的簇间多跳路由算法
更换汇聚交换机遇到的问题
基于地铁交换机电源设计思考
路由重分发时需要考虑的问题
飞行器FPGA检测点优化设置方法
缔造工业级的强悍——评测三旺通信IPS7110-2GC-8PoE工业交换机