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

文档序号:8265390阅读:来源:国知局
attacks),只依靠 第一个计数器是无法检测到的,因为数据包的总数没有变。所以需要统计包含随机数的数 据包来防止这种攻击。并据此判断嫌疑节点是否有错误或者恶意行为,比如恶意的丢弃、复 制、注入数据包的行为(D-failure)。如果有则改变路由表来绕过改节点并且通知网络管理 员。
[0036] 步骤4 :验证通过之后,收集节点开始发送真正的数据包。数据包格式如图2所示, 每个数据包中都会包含收集节点添加的额外加密跟踪信息(trailer)。考虑到本发明是隔 跳验证,所以对于其中一个验证单元,他的嫌疑节点对应的就是上一个验证单元的监视节 点,因此在数据包里设置两个加密跟踪信息分别对应不同收集节点。额外加密跟踪信息包 括1)收集节点自己的IP地址,2)本次数据传输的ID,3)约定的随机数(token),4)序列号 (SN),5)以及将IP地址、本次数据传输的ID、约定的随机数(token)、序列号(SN)通过非对 称加密方式组成的讯息鉴别码。其中随机数是由收集节点随机发送,随机码存在于每个数 据包的包头,在信息包中没有随机码约定方式就是收集节点随机生成一个16位的随机数, 加入到数据包包头,然后将其加密发送给监视节点。同时收集节点在本地维护表示发出去 的所有解密验证通过的数据包数量的计数器,以及一个发给某个监视节点包含随机数的数 据包数量的计数器。
[0037] 步骤5 :类似于收集节点,监视节点也会在本地维护两个计数器来分别表示收到 的所有解密验证通过的数据包的数量以及包含随机数的数据包的数量。监视节点收到一个 数据包后,会(1)根据数据包中的随机数与本地的随机数进行对比,如果相等就更新本地 包含随机数的数据包的计数器。(2)根据数据包中的序列号来检测数据包是否处在滑动窗 口范围内来检测嫌疑节点是否有恶意的延迟或者乱序行为(T-failure)。(3)根据数据包 中的讯息鉴别码和本地的密钥来检测数据包的内容是否被嫌疑节点修改(M-failure)。如 果以上检测都通过,监视节点会更新本地接收到解密验证通过的数据包的计数器,同时会 根据本地的信息重新构造跟踪信息(类似步骤4),并将其发送给下一个节点。
[0038] 步骤6 :当一次数据传输结束,监视节点收到下一次传输开始的信号时,会将上一 个结束的数据传输的ID,收集节点,嫌疑节点以及监视节点信息以及步骤3中提到的两个 计数器的数据打包到确认数据包中传回给收集节点。
[0039] 在本实例中,本发明的具体操作平台是基于英特尔Xeon E5650 CPU,4GB内存以及 Broadcom NetXtrem千兆网卡的硬件平台,Linux操作系统(Ubuntu 8.04)以及由Click模 块化路由器(Click Modular Router)组成的软件平台实现的。整个系统包含了 3个核心 路由模块。
[0040] 标签模块(tagger):负责生成每个数据包的加密跟踪信息(trailer)。该模块使 用了 UMC算法来生成哈希值并且更新每个数据包的跟踪信息。
[0041] 检查模块(detector):负责验证收到的数据包的完整性并且更新本地的二个计 数器。
[0042] 控制模块(controller):将数据包发送给标签模块和检查模块,同时负责发送和 处理信号包、数据包
[0043] 本实例在实现时对于端节点(endpoint)和路由器(router)的实现有所不同。
[0044] 对于端节点,本实例将软件部署在用户进程。如图5a所示,本实例采用两块虚拟 网卡(ΤΑΡ0, TAPl)分别用于进出的流量。同时本实例的进程监听两块虚拟网卡,并截获所 有流量。对于从端节点离开的流量,使用标签模块加入跟踪信息。对于进入端节点的流量, 本系统将其从物理网卡截获(ethO),同时检查模块根据非对称加密对应的密钥进行解密验 证,如果信息正确,就将跟踪信息移除然后发送给上层应用。
[0045] 对于路由器,本实例是以Click模块路由器的一个元素(element)的方式来运行 的。如图5b所示,路由元素将所有包发送给检查模块,如果检查不通过数据包就会被丢弃。 否则就会将数据包发送给标签模块进行跟踪信息的添加。然后将其发送出路由器。
[0046] 在本实例的基础上,通过测试,对于网络错误的定位正确性基本不会受网络丢包 的影响。当使用本发明对于10%的数据流量进行错误定位时,只有4. 6%的可能会出现假 阳性错误。所以本发明只需要对很小比例的数据流进行计算即可快定位错误。
[0047] 在本实例的基础上,通过Netperf测试工具以及Apache和scp等实际应用测试, 发现本实例对于网络吞吐量的影响非常的小,即使对于每次数据传输都采用本发明进行错 误定位,网络的吞吐量仍然能保证在完全没有验证的80%。在使用Apache ab对于网络服 务器的响应时间能力进行测试时,,在对10%的数据传输进行本发明的错误定位时,对于每 次请求的时间延迟不超过7%。在使用scp测试网络大容量数据拷贝传输的性能时,本发明 在对于网络数据拷贝传输性能的影响基本能很好的控制在10%以内。
[0048] 以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创 造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员 依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术 方案,皆应在由权利要求书所确定的保护范围内。
【主权项】
1. 一种分布式动态路由网络的错误定位方法,将网络中的随机两跳中的三个节点作为 一个验证单元,所述三个节点分别为发起定位的收集节点、中间的嫌疑节点、最终到达的监 视节点,其特征在于包含以下步骤: 步骤1)、收集节点向监视节点发送一个包含讯息鉴别码的信号包; 步骤2)、当监视节点收到信号包并且解密验证通过之后,向收集节点回复一个确认数 据包,其中所述确认数据包包含上次数据传输的ID,收集节点、嫌疑节点以及监视节点信 息,以及监视节点保存的所有解密验证通过的数据包的计数数值以及接收到的包含随机数 的数据包的计数数值; 步骤3)、收集节点收到确认数据包之后,根据上次数据传输时收集节点保存的所有解 密验证通过的数据包的计数数值,以及发给某个监视节点包含随机数的数据包的计数数值 与监视节点发回的确认数据包中关于上次数据传输的对应计数进行比对,分析嫌疑节点是 否有错误或者恶意行为;如果嫌疑节点有错误或者恶意行为,则收集节点改变路由表来绕 过嫌疑节点并且通知网络管理员; 步骤4)、验证通过之后,收集节点开始发送本次数据传输的数据包,同时收集节点在本 地维护表示本次数据传输发出去的所有经过解密验证通过的数据包数量的计数器,以及发 给某个监视节点包含随机数的数据包数量的计数器;其中每个数据包包含加密跟踪信息, 加密跟踪信息包含讯息鉴别码; 步骤5)、监视节点收到一个数据包后,通过以下方式进行检测,如果检测都通过,监视 节点更新本地对接收到的合法数据包进行统计的计数器的数值: A、 根据数据包中的随机数与本地的随机数进行对比,如果相等就更新对包含随机数的 数据包进行统计的计数器的数值; B、 根据数据包中的序列号来检测数据包是否处在滑动窗口范围内来检测嫌疑节点是 否有恶意的延迟或者乱序行为; C、 根据数据包中的讯息鉴别码和本地的密钥来检测数据包的内容是否被嫌疑节点修 改; 步骤6)、当本次数据传输结束,监视节点收到下一次数据传输开始的信号包时,将本次 数据传输的ID,收集节点、嫌疑节点以及监视节点信息,以及监视节点保存的所有解密验证 通过的数据包的计数数值以及接收到的包含随机数的数据包的计数数值发回给收集节点。
2. 根据权利要求1所述的错误定位方法,其特征在于所述信息包还包含本次数据传输 的ID、序列号,下次数据传输的ID、序列号。
3. 根据权利要求1所述的错误定位方法,其特征在于所述讯息鉴别码通过非对称加密 得到。
4. 根据权利要求1所述的错误定位方法,其特征在于所述加密跟踪信息还包括收集节 点的IP地址,本次数据传输的ID,约定的随机数,序列号。
5. 根据权利要求1所述的错误定位方法,其特征在于所述步骤3)中收集节点收到确认 数据包之前会多次发送信号包直到收到确认数据包。
【专利摘要】本发明公开了一种分布式动态路由网络的错误定位方法,对于互联网中任意的连续的二跳的三个节点,将其分别划分为收集节点,嫌疑节点以及监视节点。数据流量由收集节点发起,经过非对称加密之后,经过嫌疑节点的传递将数据传输给监视节点。监视节点收到数据之后通过验证,并将信息汇总反馈给收集节点。收集节点通过对于发送给嫌疑节点的数据和监视节点的反馈来判断嫌疑节点是否存在错误或者是否为恶意节点。本发明实现了数据包内容的破坏,节点错误的丢包、重发错误,节点恶意延迟、乱序发送数据包这三个错误的定位。
【IPC分类】H04L1-00, H04L12-24, H04L9-00
【公开号】CN104579788
【申请号】CN201510028628
【发明人】付周望, 戚正伟, 管海兵, 朱新宇, 周凡夫
【申请人】上海交通大学
【公开日】2015年4月29日
【申请日】2015年1月21日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1