- UID
- 1023166
- 性别
- 男
- 来自
- 燕山大学
|
对于网络上的每1个节点,可能处于下述5种情况之一:
(1)在线联网运行,系统至少有2个节点在运行;(2)在线单机运行,系统只有本地节点在运行;(3)离线单机运行,此节点的网卡存在且正常、但没有上网;(4)离线单机运行,此节点的网卡存在,但出现故障;(5)离线单机运行,此节点不存在网卡。
目前的网络控制器都提供了命令、诊断、配置和状态寄存器,通过读写这些寄存器,便可以区分上述5种情况。当系统运行时,各种因素都可能存在,为了在线反映网络各节点的运行状态,每个节点可以设置一张网络状态表,记录各节点上每块网卡的运行状态。当某节点上1块或2块网卡的状态改变时,其他节点应能在尽可能短的时间内知道。为此,每个节点的2块网卡需要定时广播1个测试包,表明该节点的网卡存在。其他节点收到此包时,修改网络状态表中此节点上相应网卡的状态。然而在运行过程中,如果某节点的1块网卡离线,它将既不能接收、也不能发送。而在此之前,它已在其他节点的网络状态表上登记了,其他节点将认为该网卡存在且正常,显然没有反映网卡运行的真正状态。为了准确反映网卡的状态,每个节点的2块网卡定时广播测试包的同时,将本节点的网络状态表中所有网卡状态计数加1,直到最大值LIMIT。每当收到某节点的测试包时,将该节点相应网卡的状态计数清为0。这样,保证状态数小于最大值LIMIT和定时广播周期就可以在线实时监视网络的运行,准确反映节点所处的状态。在2个网络之间还可以添加具有路由功能的网间传输设备,当2个网络同时出现故障时,网间传输设备也能自动寻找可行路径,组成1个环路,保持系统的正常通信。
对于测试包的广播,只要本节点上的网卡在线运行,即从相应的链路发送,测试包发送完毕之后,根据网络状态表,可以选择一条正常运行的节点数较少的,负荷较轻的链路,用于数据包发送。双网的工作流程见图4。
|
|