NS2仿真分析无线网络的攻击防御(1)

这个学期有个选题是NS2仿真分析无线网络的攻击防御,比较有意思的样子,现在来慢慢学一下这个是什么东西。

首先,还是一篇文章(老长老长了),还是全英文的,还是先来分析一下它到底在说什么,文章太长(78页。。)没有办法全部翻译,找一下有用的说一下。


文章名:SIMULATION OF BLACK HOLE ATTACKIN WIRELESS AD-HOC NETWORKS(据说是硕士课程)

摘要:无线自组织网络是由没有网络基础设施的地方任意移动的无线移动计算机(或节点)建立的临时网络。由于节点相互通信,所以它们通过将数据分组转发到网络中的其他节点来进行协作。节点使用路由协议找到目的地节点的路径。然而,由于路由协议的安全漏洞,无线自组织网络可能受到恶意节点的攻击。其中一个攻击是针对网络完整性的黑洞攻击——它会吸收网络中的数据包。由于数据包由于此次攻击而未到达目的地节点,因此会发生数据丢失。有很多的检测和防御机制可以消除进行黑洞攻击的入侵者。在本论文中,我们模拟了各种无线自组网络中的黑洞攻击,并尝试在仿真中找到响应系统。(牙注:从摘要里面看到了胜利的曙光)

第一章是简介,第二章简要介绍了无线网络,包括网络种类,无线自组网路由协议、无线自组网的安全问题(黑洞攻击、灰洞攻击等等)等等。时间紧张,以后再议。


第三章 AODV路由协议中的黑洞攻击

3.1. AODV协议(牙注:附原全名如下:Ad-hoc On-Demand Distance Vector (AODV) Routing Protocol 

AODV路由协议用于在自组网中找到到目的地的路径。为了找到目的地路径,所有节点都使用路由控制消息进行合作。利用很小的控制消息,AODV路由协议可以对动态网络条件、处理能力高低、内存开销大小等变化做出快速适应。与其它路由协议相比,AODV最显著的特征是它为每个路由条目(牙注:翻译不恰,原文如下:route entry)都是用了序列号, 使用目的地序列号是为了确保循环自由度。 AODV确保到目的地的路由不包含循环,是最短路径。

路由请求(RREQ),路由重发(RREP)消息,路由错误(RERR)消息是用于建立到目的地的路径的控制消息,使用UDP / IP协议发送。 这些控制消息的头信息在[13](牙注:[13附在最后])中进行了说明。 当源节点想要与目的节点进行连接时,广播RREQ消息。该RREQ消息从源传播,由源节点的邻居(中间节点)接收 。中间节点向其邻居广播RREQ消息。 该过程继续进行,直到目的地节点或一个具有足够新鲜的路由条目的中间节点(牙注:大概是说这个节点拥有到目标节点的路径序列)接收到分组。 图9显示了如何在自组织网络中传播RREQ消息。


图9  传播RREQ消息

新鲜度意味着中间节点具有到目的地的有效路由形成一段时间低于阈值。当RREQ分组在网络中传输的时候经过的每个中间节点都将跳数加1。如果一个中间节点收到一个RREQ ID相同的RREQ报文,它将默默丢弃新接收的RREQ包。当目标节点或者拥有到目标节点新鲜路由表的节点收到RREQ包时,它们将创建一个RREP(路由重发消息)消息,利用累积跳数和目标节点序列来更新路由表,之后将RREP消息单播到源节点。广播RREQ和单播RREP之间的区别可以从图9和图10中看出。虽然RREQ和RREP消息由中间节点转发,但中间节点更新其路由表并保存该路由条目3秒(牙注:懵逼……等我回头来过……),这是AODV协议的ACTIVE_ROUTE_TIMEOUT常数值。 AODV协议的默认常数值列在RFC-3561 [13]的附录中。 因此,节点知道到达目的地的邻居。 在术语中,目的地的邻居列表被标记为“Precursor List”。 图10展示了RREP消息如何单播以及中间节点中的路由条目如何更新。

图10 单播RREP消息


3.2序列号

序列号起到时间戳的作用,并用于比较节点之间的信息的新鲜度当节点发送任何类型的路由控制消息RREQ,RREP,RERR等时,它增加自己的序列号。越高的序列号代表越准确的信息,拥有最大序列号的那个节点的信息就会被考虑,其他节点就会根据这个节点的信息来完善路由表。(牙注:这个节点秀逗了怎么办……)

序列号是32位无符号整数值(4294967295)。 如果节点的序列号达到可能的最高序列号4294967295,则将其重置为零(0)。 如果节点中当前存储的序列号减去AODV路由控制消息的序列号小于0,则将节点存储的序列号随着输入的控制信息的序列号改变。

在图11中,当节点2转发来自节点3的RREP消息时,它将其自己先前存储的序列号与节点3的序列号进行比较。如果它发现序列号比其自身更新,则它改变其路由表条目

   图11 序列号更新

3.3黑洞攻击

在使用AODV协议的自组织网络中,黑洞节点吸收网络流量并丢弃所有数据包。 为了解释黑洞攻击,我们添加了一个恶意节点,在上一节的图形情况下展现黑洞行为。


图12 黑洞攻击

在这种情况下,如图12所示,我们假设节点3是恶意节点。 当节点1广播节点4的RREQ消息时,节点3立即使用包括节点4的最高序列号的RREP消息立即响应,就好像它来自节点4一样。节点1就猜想节点4在距离节点3一跳的地方,它丢弃了来自节点2的RREP数据包,开始向节点3传输数据包,相信这些数据包能够到达节点4,但实际上节点3将这些数据包全部丢弃了。

在黑洞攻击中,一段时间后,发送节点会因为接收节点不发送TCP ACK数据包了解到存在链路错误。 如果发送节点发送新的TCP数据包并发现目的地的新路由,那么恶意节点仍然设法欺骗发送节点。 如果发送节点发出UDP数据包,则不会检测到问题,因为UDP数据连接不等待ACK数据包。

在我们的方案中,我们使用UDP数据包,我们将在第5章中解释我们的场景及其结果。在第5章之前,我们将介绍如何在模拟器程序NS(网络模拟器)中实现洞行为。


[13] C.Perkins, “(RFC) Request for Comments – 3561”, Category: Experimental, Network, Working Group, July 2003.

第三章翻译结束,有不对的地方请批评指正。有疑虑的地方我会在解决之后重新修改上传。接下来几章内容详见之后博文。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
NS2是一款常用的网络仿真工具,可以用来模拟网络中各种协议的性能。AODV和DSR是两种常见的无线自组网络路由协议,它们在不同的场景下有不同的优缺点。下面是我对这两种协议的仿真分析: 1. AODV协议 AODV(Ad-hoc On-Demand Distance Vector)协议是一种基于距离向量的路由协议,它采用了按需路由的方式,即只有在需要时才去寻找路由,并且只维护已经建立的路由。AODV协议中每个节点都会维护一个路由表,用于存储到达目的节点的下一跳节点和距离等信息。 在NS2中,我们可以通过调整一些参数来模拟AODV协议的性能,如数据包传输延迟、路由发现时间、路由维护开销等。通过对这些参数进行不同的设置,我们可以得到不同的AODV协议性能指标。例如,我们可以通过比较不同节点数量下的数据包传输率、平均延迟等指标来评估AODV协议的性能。 2. DSR协议 DSR(Dynamic Source Routing)协议是一种基于源路由的路由协议,它不需要维护任何路由表,而是将整个路由路径存储在数据包中。当一个节点需要发送数据时,它会向周围节点广播一个路由请求包,然后等待其他节点的响应。一旦它收到足够的响应,就可以组装出完整的路由路径,并将数据包发送到目的节点。 在NS2中,我们可以通过调整一些参数来模拟DSR协议的性能,如路由请求重传次数、路由维护开销等。同样地,通过对这些参数进行不同的设置,我们可以得到不同的DSR协议性能指标。例如,我们可以通过比较不同节点数量下的路由请求成功率、数据包传输延迟等指标来评估DSR协议的性能。 综上所述,通过NS2仿真分析,我们可以对AODV和DSR协议的性能进行比较和评估,从而为无线自组网络的设计和优化提供参考。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值