发明名称 一种列车以太网络路径的动态规划方法
摘要 本发明提供了一种列车以太网络路径的动态规划方法,属于网络通信领域,实现列车以太网络的冗余。该方法利用环路检测报文、链路通知报文和心跳检测报文三种报文,对列车网络路径进行动态规划。环路检测报文主要用来检测拓扑中的环形链路,决定阻塞端口的位置。链路通知报文主要用来通知所有交换设备链路发生变化,同步交换设备控制,降低网络恢复时间。心跳检测报文主要用来检测中继口的链路状态,更可靠的判断中继口链路的状态。本发明可用于网络拓扑固定的单环和多环网络,利用列车中交换设备的位置固定特点,快速对网络路径进行动态规划,以提高响应网络链路结构变化的速度,同时保证交换设备配置简单。
申请公布号 CN105743716A 申请公布日期 2016.07.06
申请号 CN201610255119.2 申请日期 2016.04.21
申请人 大连理工大学 发明人 阮新宇;刘全利;王伟
分类号 H04L12/24(2006.01)I 主分类号 H04L12/24(2006.01)I
代理机构 大连理工大学专利中心 21200 代理人 温福雪;李宝元
主权项 一种列车以太网络路径的动态规划方法,其特征在于,步骤如下:在列车以太网络路径的动态规划方法中所用交换设备的中继口分为上行中继口和下行中继口;该动态规划方法设有三种网络报文,分别为环路检测报文、链路通知报文和心跳检测报文;三种网络报文在数据链路层运行,三种网络报文的目的MAC地址均为组播MAC地址,即当交换设备收到上述三种网络报文时,直接转发至CPU端口,不遵循交换设备正常的转发规则;环路检测报文包含发送设备的MAC地址和目的端口号,用来检测物理链路是否存在环路;交换设备根据是否收到自身发送的环路检测报文来确定阻塞具体的下行中继口,防止网络拓扑中存在逻辑环路;链路通知报文向交换设备的所有中继口发送,用来通告其他交换设备链路发生变化,保证交换设备的同步控制;链路通知报文使用多次重发机制,通过TTL机制限制通信链路中的报文流量,同时采用广播和组播并存的方式发送报文以提高报文扩散的速度;心跳检测报文周期性向物理链路连接正常的中继口发送,用来检测中继口之间的通信质量;当检测到链路正常,但是接收心跳检测报文超时时,交换设备弃用该链路,同时对网络重新进行一次路径规划;当交换设备上电启动后,首先配置交换设备,除了配置交换设备的常规配置外,还包括根据网络拓扑配置交换设备的上行中继口和下行中继口、配置报文发送的时间间隔和同步等待时间,然后阻塞所有中继口;再创建两个线程:网络路径控制线程和网络数据接收线程;网络路径控制线程用来周期性的发送报文,检测交换设备的状态,然后根据不同的状态进行相应的控制,其控制步骤如下:步骤1,交换设备发送环路检测报文和心跳检测报文,其中环路检测报文只向下行中继口发送;步骤2,交换设备检测中继口物理链路状态是否发生变化,若发生变化,则发送链路通知报文,将物理链路状态变化通告网络中的其他交换设备,继续执行步骤4;否则执行步骤3;步骤3,交换设备检查心跳检测报文超时标识和链路通知报文接收标识,如果检查到心跳检测报文超时标识或链路通知报文接收标识,则重新规划网络路径,继续执行步骤4,否则执行步骤7;步骤4,交换设备检测到中继口物理链路状态发生变化、心跳检测报文超时标识或链路通知报文接收标识时,首先交换设备阻塞自身的所有中继口,等待一个同步等待时间,同步所有交换设备的控制状态,即为阻塞自身的所有中继口,然后执行步骤5;步骤5,交换设备打开自身的下行中继口,上行中继口保持阻塞状态,然后交换设备在一个同步等待时间内周期性的发送环路检测报文;如果交换设备接收到其他交换设备的环路检测报文,则根据其所携带的MAC地址大小决定是否丢弃该环路检测报文,或选择性转发该环路检测报文;如果交换设备接收到自身的环路检测报文,则表示网络上存在物理环路,确定待阻塞端口,防止网络风暴的发生,待阻塞端口由环路检测报文中携带的端口号决定,然后执行步骤6;步骤6,打开交换设备自身的上行中继口,保证网络的正常通信,同时在一个同步等待时间内周期性的清空自身中继口的MAC地址学习表,防止正常数据的转发错误,然后执行步骤7;步骤7,交换设备采用超时信号量等待延时,然后重新执行步骤1;如果在等待延时期间接收到链路通知报文,则跳出延时,直接进入步骤1,重新开始新的网络路径规划;网络数据接收线程用来接收其他设备发送的环路检测报文、链路通知报文和心跳检测报文,然后针对不同的报文做相对应的处理,其处理过程如下:如果交换设备接收到环路检测报文,则比较环路检测报文中的MAC地址和自身交换设备的MAC地址的大小,如果前者小,则将环路检测报文原封不动的转发至处于转发状态的下行中继口;如果前者大,则丢弃环路检测报文;如果相等,则判断接收环路检测报文的中继口是否处于转发状态的下行中继口或处于非监听状态的上行中继口,如果是,则阻塞环路检测报文中携带的端口号,否则丢弃报文;如果交换设备接收到链路通知报文,首先判断TTL的值是否为0,如果是则丢弃链路通知报文,否则将TTL的值减1,同时转发至当前交换设备的其它中继端口;为了防止链路通知报文在复杂的网络路径中重复转发问题,交换设备对链路通知报文只转发两次;如果交换设备接收到心跳检测报文,则清除超时计时器,如果交换设备的某中继口在超时时间内没有收到相邻交换设备发送的心跳检测报文,则表示该物理链路存在问题,当前交换设备发送链路通知报文,重新规划网络路径。
地址 116024 辽宁省大连市甘井子区凌工路2号