一种基于ip协议扩展的网络冗余容错方法及系统的制作方法

文档序号:8415369阅读:462来源:国知局
一种基于ip协议扩展的网络冗余容错方法及系统的制作方法
【技术领域】
[0001] 本发明涉及网络通信技术领域,尤其涉及一种基于IP协议扩展的网络冗余容错 方法及系统。
【背景技术】
[0002] 网络通信在智能变电站自动化系统中起着重要作用。为了避免通信故障对系统通 信安全造成不良影响,需要进行网络冗余通信设计。
[0003] 现有的冗余通信设计方案,或对硬件和网络拓扑有依赖,导致部署应用环境复杂 和应用成本较高;或在发生链路故障时候,切换时间较长,不能满足实时性要求。

【发明内容】

[0004] 本发明所要解决的技术问题是针对现有技术的不足,提供一种基于IP协议扩展 的网络冗余容错方法及系统。
[0005] 本发明以Linux操作系统为平台,在内核协议栈的IP网络层,通过对IP协议进行 扩展为冗余网络通信提供了一种全新的解决方案。
[0006] 本发明对IP协议扩展主要体现在以下三个方面:
[0007] (1) IP选项的扩展。包括专有IP选项的定义及其处理。
[0008] (2)在IP协议数据包的发送路径上增加冗余数据发送处理分支。
[0009] (3)在IP协议数据包的接收路径上增加冗余数据接收处理分支。
[0010] 本发明解决上述技术问题的技术方案如下:一种基于IP协议扩展的网络冗余容 错方法,包括数据包发送端的如下发送步骤:
[0011] 步骤la,接收传输层发送的数据包;
[0012] 步骤2a,判断所述数据包是否属于冗余通信,如果是执行步骤3a,否则执行步骤 4a ;
[0013] 步骤3a,通过IP协议扩展的网络冗余流程处理所述数据包,执行步骤5a;
[0014] 步骤4a,通过协议栈正常流程处理所述数据包,执行步骤5a;
[0015] 步骤5a,经链路层发送所述数据包。
[0016]本发明的有益效果是:本发明基于对IP协议进行扩展,完全基于软件实现,不依 赖特殊设备,对网络拓扑无要求,并具有单条链路故障时〇延时切换特性,可满足智能变电 站等领域对数据通信的高实时性和可靠性的要求。
[0017] 在上述技术方案的基础上,本发明还可以做如下改进。
[0018] 进一步,步骤3a的具体实现为:
[0019] 步骤3. la,查看主包路由缓存是否存在,如果是执彳丁步骤3. 2a,否则执彳丁步骤 3. 4a ;
[0020] 步骤3. 2a,构建主包专有IP选项,复制主包生成从包,经主链路发送主包,发送成 功则更新主包发送计数,否则记录主包发送失败;
[0021] 步骤3. 3a,取从包,为从包进行路由,路由成功则修改从包配置参数,经从链路发 送从包,发送成功则更新从包发送计数,否则记录从包发送失败,执行步骤3. 5a,如果路由 失败则记录从包发送失败,执行步骤3. 5a ;
[0022] 步骤3. 4a,为主包进行路由,路由成功执行步骤3. 2a,否则复制主包生成从包,构 建从包专有IP选项,为从包进行路由,路由成功则经从链路发送从包,发送成功则更新从 包发送计数,否则记录从包发送失败,执行步骤3. 5a,路由失败则记录从包发送失败,执行 步骤3. 5a ;
[0023] 步骤3. 5a,判断主包和从包的发送情况,如果主包和从包均发送失败,则返回发送 失败,否则返回发送成功。
[0024] 采用上述进一步方案的有益效果:通过在IP网络层发送路径增加冗余发送分支 来实现冗余发送功能,实现了数据分流处理:普通IP数据包走协议栈正常发送流程;属于 冗余通信的IP数据包进入冗余发送分支处理。实现了正常协议通信和冗余通信相互独立、 互不干扰。
[0025] 进一步,步骤3. 2a中构建主包专有IP选项或步骤3. 4a中构建从包专有IP选项 的具体实现为:获取流水序列号、本半轮发送时间戳和主从标志按照通用IP选项的格式组 成专有IP选项,相应添加到主包IP协议头或从包IP协议头。
[0026] 进一步,步骤3. 2a中修改从包配置参数的具体实现为:将从包目的IP替换为接收 端主机从网卡IP,将由主包复制得来的从包的专有IP选项的主从标志替换为从标志。
[0027] 进一步,还包括数据包接收端的如下接收步骤:
[0028] 步骤lb,接收端接收数据包,判断所述数据包是否属于冗余通信,如果属于则执 行步骤2b,否则执行步骤5b ;
[0029] 步骤2b,解析接收到的数据包的专有IP选项,获取所述数据包的流水序列号、本 半轮发送时间和主从标志;
[0030] 步骤3b,根据主从标志,判断所述数据包的类型,如果是主包,执行步骤3b,如果 是从包,将从包的目的IP替换为接收端主机的主网卡IP,执行步骤3b ;
[0031] 步骤4b,根据流水序列号和本半轮发送时间戳判断所述数据包是否为重复包,如 果是则进行丢弃处理,否则接收所述数据包,结束处理流程;
[0032] 步骤5b,通过协议栈正常接收所述数据包,结束处理流程。
[0033] 采用上述进一步方案的有益效果:通过在IP网络层接收路径上增加冗余接收分 支来实现冗余接收功能,实现了数据分流处理:普通IP数据包走协议栈正常接收流程;属 于冗余通信的IP数据包进入冗余接收分支处理。冗余接收主要目的是为了丢弃重复包,对 于携带同一序列号的两个数据包,对于先到达的进行接收,后到达的予以丢弃,最终实现唯 一接收。
[0034] 进一步,上述技术方案还包括,
[0035] 步骤6b,对接收的冗余通信的数据包进行统计更新;
[0036] 步骤7b,根据数据包统计数据对主从链路运行状态进行检查,发现故障进行告 警;
[0037] 步骤8b,将接收的数据包向上层协议投递。
[0038] 采用上述进一步方案的有益效果:另外在冗余接收中还对主从链路运行状况进行 监控,即链路故障告警功能。
[0039] 进一步,所述步骤4b的具体实现为:
[0040] 步骤4. lb,获取所述数据包的流水序列号和本半轮发送时间戳;
[0041] 步骤4. 2b,将本半轮发送时间戳与本地缓存的接收状态缓存位图比较,当属于前 半轮时,比较结果分三种情况,
[0042] 当本半轮发送时间戳小于JIFFIES_L时,丢弃所述数据包,返回1,
[0043] 当本半轮发送时间戳大于JIFFIES_L时,用本半轮发送时间戳更新JIFFIES_L,将 接收状态缓存位图前半部所有位清零,序列号对应位图位置置1,接收所述数据包,返回〇,
[0044] 当本半轮发送时间戳等于JIFFIES_L时,根据流水序列号查询接收状态缓存位图 的相应位,判断查询到的位图位,若为0,则将其置为1,接收所述数据包,返回0,若为1,丢 弃所述数据包,返回1 ;
[0045] 当属于后半轮时,比较结果分三种情况,
[0046] 当本半轮发送时间戳小于JIFFIES_H时,丢弃所述数据包,返回1,
[0047] 当本半轮发送时间戳大于JIFFIES_H时,用本半轮发送时间戳更新JIFFIES_H,将 接收状态缓存位图后半部所有位清零,序列号对应位图位置置1,接收所述数据包,返回〇,
[0048] 当本半轮发送时间戳等于JIFFIES_H时,根据流水序列号查询接收状态缓存位图 的相应位,判断查询到的位图位,若为0,则将其置为1,接收所述数据包,返回0,若为1,丢 弃所述数据包,返回1。
[0049] 进一步,步骤5b中根据数据包统计数据对主从链路运行状态进行检查,发现故障 进行告警的具体实现为:
[0050] 步骤6. lb,判断接收的数据包的类型,如果是主包,执行步骤6. 2b,如果是从包, 执行步骤6. 3b ;
[0051] 步骤6. 2b,主链路收包数加1,主链路报警计
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1