一种虚拟网链路可靠数据传输方法

文档序号:9455768阅读:732来源:国知局
一种虚拟网链路可靠数据传输方法
【技术领域】
[0001] 该发明涉及一种计算机数据传输方法,特别是涉及一种虚拟网链路可靠数据传输 方法。
【背景技术】
[0002] 网络故障影响网络系统的正常运行,而造成网络故障的原因错综复杂且不可避 免,如配置错误、光纤断裂、交换设备不稳定、恶意攻击、误操作、意外断电等。虚拟网技术是 一种新的网络技术,同样无法避免各种网络故障的发生,而且由于虚拟网技术的复杂性还 可能引入更为复杂的网络故障。因此为了使虚拟网系统稳定运行,必须保证虚拟网数据传 输的可靠性。
[0003] 目前,虚拟网数据传输的可靠性技术主要方式是预先为每条虚拟链路设计一条备 份路径。围绕如何减小备份路径所造成的资源冗余,可靠性技术分为两类:独占式和共享 式。独占式技术为每条备份路径预先分配资源,因此主备路径上的数据并发传输,可靠性得 到很好保证,但备份路径的资源冗余较大;共享式技术虽然预先为每条虚拟链路设计一条 备份路径,但不同备份路径的资源可以共享,在物理链路发生故障时,对应的备份路径的资 源才会被临时启用,因此在减小备份路径资源消耗的同时增加了恢复时延。我们亟待解决 在保证虚拟链路即时恢复的前提下,减小备份路径的资源消耗这一问题。

【发明内容】

[0004] 本发明克服了现有技术中,虚拟网数据传输的可靠性仍需提高的问题,提供一种 效果显著的虚拟网链路可靠数据传输方法。
[0005] 本发明的技术解决方案是,提供一种具有以下步骤的虚拟网链路可靠数据传输方 法:含有虚拟链路发送端完成数据传输,当数据报文在传输过程中发生中断,虚拟链路的接 收端完成数据恢复。
[0006] 虚拟链路发送端完成数据传输包括以下步骤:步骤1 :在虚拟链路的发送端计算 得到虚拟链路端点之间的所有不相交的路径;步骤2 :将得到的最短路径设置为备份路径, 其他路径为主路径;步骤3 :将所述虚拟链路中每个待发送的数据报文切分为k等份,k为 主路径条数;步骤4 :将每等份的子数据报文沿着对应的主路径进行传输;步骤5 :所有子 数据报文的异或运算结果组成备份数据报文,沿着备份路径进行传输。
[0007] 虚拟链路接收端完成数据恢复包括以下步骤:步骤一:检查是否接收到所有主路 径传输的待接收的子数据报文,若是,则成功结束;若否,则进行下一步;步骤二:检查是否 有两条及以上的主路径子数据报文未收到,若是,则无法恢复,失败结束;若否,则进行下一 步;步骤三:将剩余主路径的子数据报文与备份路径的备份数据报文进行异或运算,结果 即为故障路径上丢失的子数据报文。
[0008] 所述步骤1的过程为:一条虚拟链路被映射到节点u和V之间,u和V之间可能存 在多条路径,而不相交路径具体是指路径彼此之间不存在公共边,这些路径的计算步骤如 下:子步骤I. I :利用dijkstra算法得到u和V之间的最短路径P ;子步骤I. 2 :如果P存 在,那么将p加入到不相交路径集合中;否则,结束;子步骤1. 3 :在当前网络拓扑中删除最 短路径P所包含的所有边,跳至子步骤1. 1。
[0009] 所述步骤2的过程为:根据步骤1得到的路径集合,选择其中长度最短的一条路径 作为备份路径,其他路径作为主路径。
[0010] 所述步骤3中数据报文的切分过程如下:子步骤3. 1 :将原始IP数据报文的负载 部分长度m除以k,并向上取整,得到每个子数据报文的负载长度
子步骤 3. 2 :按照顺序将原始数据报文的负载部分分为k个子块,最后一块如果不足t字节,则以0 填充;子步骤3. 3 :将每个字块负载重新封装为IP数据报文。
[0011] 所述步骤4的过程为:将得到的第i个子数据报文转发至第i条主路径对应的端 口处,从而沿着该路径进行传输。
[0012] 所述步骤5的过程为:将所有等长度子数据报文的负载部分按位进行异或运算, 运算结果重新封装为IP数据报文,沿着备份路径进行传输。
[0013] 与现有技术相比,本发明虚拟网链路可靠数据传输方法具有以下优点:本发明提 供的虚拟网链路可靠数据传输方法通过对原始数据报文进行切分和异或运算,使得备份数 据得到压缩,从而减小了备份路径的资源消耗,并保证了故障的快速恢复。
【附图说明】
[0014] 图1是本发明虚拟网链路可靠数据传输方法的流程示意图;
[0015] 图2是本发明虚拟网链路可靠数据传输方法中计算所有不相交路径的流程示意 图;
[0016] 图3是本发明虚拟网链路可靠数据传输方法中数据报文切分方法的流程示意图;
[0017] 图4是本发明虚拟网链路可靠数据传输方法中虚拟网链路数据报文恢复方法的 流程示意图。
【具体实施方式】
[0018] 下面结合附图和【具体实施方式】对本发明虚拟网链路可靠数据传输方法作进一步 说明:含有虚拟链路发送端完成数据传输,当数据报文在传输过程中发生中断,虚拟链路的 接收端完成数据恢复。
[0019] 虚拟链路发送端完成数据传输包括以下步骤:步骤1 :在虚拟链路的发送端计算 得到虚拟链路端点之间的所有不相交的路径;步骤2 :将得到的最短路径设置为备份路径, 其他路径为主路径;步骤3 :将所述虚拟链路中每个待发送的数据报文切分为k等份,k为 主路径条数;步骤4 :将每等份的子数据报文沿着对应的主路径进行传输;步骤5 :所有子 数据报文的异或运算结果组成备份数据报文,沿着备份路径进行传输。
[0020] 所述步骤1的过程为:一条虚拟链路被映射到节点u和V之间,u和V之间可能存 在多条路径,而不相交路径具体是指路径彼此之间不存在公共边,这些路径的计算步骤如 附图2如下:子步骤I. 1 :利用dijkstra (迪杰斯特拉)算法
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1