一种分布式动态路由网络的错误定位方法

文档序号:8265390阅读:630来源:国知局
一种分布式动态路由网络的错误定位方法
【技术领域】
[0001] 本发明涉及的是计算机网路方向的错误定位领域。具体来讲,主要是在分布式动 态路由网络环境中通过随机隔跳验证来进行错误定位的算法。
【背景技术】
[0002] 随着互联网规模的不断扩大,路由器对于路径的选择和数据包的转发对于数据传 输的速度和质量产生了越来也大的影响。
[0003] 但是由于路由器本身的bug导致易受攻击,以及管理员认为的配置错误,使得 丢包,重发和乱序等问题频繁出现。由此带来网络的服务质量(Quality of Service, QoS)的下降,同时还可能被黑客利用,造成拒绝服务(Denial-of-Service),中间人攻击 (Man-in-Middle attacks)等一系列安全问题。因此快速定位到错误的路由器对于提升网 络的性能和稳定性有至关重要的作用。
[0004] 目前的研宄主要通过数据面的错误定位(Data-plane fault localization, Data-plane FL)来解决这个问题。主流的定位方法可以分为分布式错误定 位和集中式错误定位。
[0005] 目前的分布式定位方法,比如美国加州大学伯克利分校(UC Berkeley)等学校 合作提出的网络性能验证方法(Verifiable Network-Performance Measurements),美 国卡内基梅隆(CMU)等大学合作提出的数据面的丢包恶意节点定位(Packet-dropping Adversary Identification for Data Plane Security)等都是基于路径的错误定位方法 (Path-based FL),主要使用源节点根据路径上的各个节点的反馈来监视流量状态。由此带 来的局限性就是需要路由的路径长期保持稳定不变。但是对于现实情况中,动态路由的普 遍存在使得路由路径变化非常频繁。因此目前的分布式定位方法都不能支持动态路由这个 目前互联网非常重要的特性。
[0006] 目前的集中式错误定位方式则可以支持路由路径的变化,比如美国卡内基梅隆 大学提出的(CMU)动态流量模式下安全性和可扩展性错误的定位(Secure and Scalable Fault Localization under Dynamic Traffic Patterns)。但是由于需要一个集中式的调 度节点来进行全局的监控,使得这种方式在安全性上大打折扣,一旦中心节点受到d攻击, 错误定位机制就会失效。并且这种方式需要整个网络全局时钟的同步,因此每个节点的路 由器需要在一个数据传输时期内对包的哈希值做一个缓存,由此带来的额外开销对于目前 的路由器和交换机也是很不合适的。

【发明内容】

[0007] 本发明针对现有的错误定位方法的不足,提出了一种分布式动态路由网络的错误 定位方法,通过随机隔跳验证的方法,很好的解决了现有的定位方式中的局限性。本发明 采用分布式的错误定位方式,避免了集中式调度中出现的对中心节点的过度依赖,全局始 终同步等问题。同时又采用了互联网中任意两个间隔节点之间的验证来实现对动态路由 的支持。最终达到对(1)数据包内容的破坏(M-failUre),(2)节点错误的丢包、重发错误 (D-failure),(3)节点恶意延迟、乱序发送数据包(T-failure)这三个错误的定位。
[0008] 本发明的发明目的通过以下技术方案实现:
[0009] -种分布式动态路由网络的错误定位方法,将网络中的随机两跳中的三个节点作 为一个验证单元,所述三个节点分别为发起定位的收集节点、中间的嫌疑节点、最终到达的 监视节点,包含以下步骤:
[0010] 步骤1)、收集节点向监视节点发送一个包含讯息鉴别码的信号包;
[0011] 步骤2)、当监视节点收到信号包并且解密验证通过之后,向收集节点回复一个确 认数据包,其中所述确认数据包包含上次数据传输的ID,收集节点、嫌疑节点以及监视节点 信息,以及监视节点保存的所有解密验证通过的数据包的计数数值以及接收到的包含随机 数的数据包的计数数值;
[0012] 步骤3)、收集节点收到确认数据包之后,根据上次数据传输时收集节点保存的所 有解密验证通过的数据包的计数数值,以及发给某个监视节点包含随机数的数据包的计数 数值与监视节点发回的确认数据包中关于上次数据传输的对应计数器进行比对,分析嫌疑 节点是否有错误或者恶意行为;如果嫌疑节点有错误或者恶意行为,则收集节点改变路由 表来绕过嫌疑节点并且通知网络管理员;
[0013] 步骤4)、验证通过之后,收集节点开始发送本次数据传输的数据包,同时收集节点 在本地维护表示本次数据传输发出去的所有经过解密验证通过的数据包数量的计数器,以 及发给某个监视节点包含随机数的数据包数量的计数器;其中每个数据包包含加密跟踪信 息,加密跟踪信息包含讯息鉴别码;
[0014] 步骤5)、监视节点收到一个数据包后,通过以下方式进行检测,如果检测都通过, 监视节点更新本地对接收到的合法数据包进行统计的计数器的数值:
[0015] A、根据数据包中的随机数与本地的随机数进行对比,如果相等就更新对包含随机 数的数据包进行统计的计数器的数值;
[0016] B、根据数据包中的序列号来检测数据包是否处在滑动窗口范围内来检测嫌疑节 点是否有恶意的延迟或者乱序行为;
[0017] C、根据数据包中的讯息鉴别码和本地的密钥来检测数据包的内容是否被嫌疑节 点修改;
[0018] 步骤6)、当本次数据传输结束,监视节点收到下一次数据传输开始的信号包时,将 本次数据传输的ID,收集节点、嫌疑节点以及监视节点信息,以及监视节点保存的所有解密 验证通过的数据包的计数数值以及接收到的包含随机数的数据包的计数数值发回给收集 节点。
[0019] 依据上述特征,所述信息包还包含本次数据传输的ID、序列号,下次数据传输的 ID、序列号。
[0020] 依据上述特征,所述讯息鉴别码采用非对称加密方式得到。
[0021] 依据上述特征,所述加密跟踪信息还包括收集节点的IP地址,本次数据传输的 ID,约定的随机数,序列号。
[0022] 依据上述特征,所述步骤3)中收集节点收到确认数据包之前会多次发送信号包 直到收到确认数据包。
【附图说明】
[0023] 图1为本发明的架构设计示意图;
[0024] 图2为本发明中数据包的结构示意图;
[0025] 图3为本发明算法流程图
[0026] 图4为本发明工作流程图
[0027] 图5a为本发明实现架构中端节点的示意图;
[0028] 图5b为本发明实现架构中端节点的示意图。
[0029] 具体实施方法
[0030] 以下将结合附图和实施例对本发明做详细说明。本实施例在本发明技术方案的前 提下进行实施,并给出详细实施方式和具体操作过程,但是适用平台不限于下述实施例。
[0031] 如图1所示,本发明对于互联网中任意的连续二跳的三个节点将其分别划分为收 集节点C(Collector),嫌疑节点S(Suspect)以及监视节点R(Spotter)。数据流量由收集 节点发起,经过非对称加密之后,经过嫌疑节点的传递将数据传输给监视节点。监视节点收 到数据之后通过验证,并将信息汇总反馈给收集节点。收集节点通过对于发送给嫌疑节点 的数据和监视节点的反馈来判断嫌疑节点是否存在错误或者是否为恶意节点。
[0032] 如图3所示,本发明在基于上述的架构下,提出了一种分布式动态路由网络的错 误定位方法,它包括以下步骤:
[0033] 步骤1 :收集节点通过发送一个包含讯息鉴别码(MAC)的信号包(signal packet) 来通知监视节点一次数据传输的开始。收集节点通过非对称加密的方式,将这次数据传输 的ID,序列号(SN),下次数据传输的ID,序列号,收集节点的IP和嫌疑节点的IP加密成一 段讯息鉴别码(MAC),并将其发送给监视节点。
[0034] 步骤2 :当监视节点收到信号包并且对信号包中的讯息鉴别码(MAC)解密验证通 过之后,表示本次数据传输的开始。监视节点此时会回复一个确认数据包(ACK),其中确认 数据包包含1)上次数据传输的ID,2)收集节点、嫌疑节点以及监视节点信息,3)以及上次 数据传输的所有解密验证通过的数据包的计数数值以及接收到的包含随机数的数据包的 计数数值。
[0035] 步骤3 :为了防止中间嫌疑节点的恶意行为,比如丢包等,收集节点会多次发送信 号包直到收到确认数据包。收集节点收到确认数据包之后,会根据本地的二个计数器保存 的本次数据传输解密验证通过的数据包"CvcrJfd)的计数数值,以及发给某个监视节点,包含 特定随机数(token)的数据包的计数数值与监视节点发回的确认数据包中关于 上次数据传输时保存在监视节点关于收到的所有解密验证通过的数据包的计数数值以及 包含随机数的数据包的计数数值。之所以需要收集节点与监视节点的二个计数数值的原因 是因为第一个计数器是用来统计解密验证通过的数据包的总数的,但是如果嫌疑节点采用 将一个数据包重发η次同时丢掉η个其他数据包的话(drop-and-replay
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1