看了篇论文,发现里面有明显的错误!

来源:互联网 发布:java windows 换行符 编辑:程序博客网 时间:2024/04/29 07:24
     发表于《计算机应用》,2003.8的第八期的一片文章《移动Ad hoc 网络AODV 路由协议安全性分析和改进》,我偶然在期刊网下了之后,看了一下,发现作者赖以发表核刊的改进方案是错误的,作者对AODV的了解不太透彻。
    为了解决AODV路由协议的黑洞问题,,辛辛那提大学的Hongmei Deng 等人提出了一
种解决方案。即当中间节点应答(设为节点B) 时,必须把它的下一跳节点(设为节点C) 的信息附加在RREP 中发给源节点。源节点根据该信息从其它路由给节点C 发验证包以查询C 是否真有到目的节点和到该应答节点的可用路由。若C 确实存在到目的节点和应答节点的可用路由,则信任该应答节点并开始发送数据。若C 没有到目的节点或到应答节点的路由则忽略该应答,同时向全网发送警告信息孤立该应答节点。
     当然这个解决方案有它的缺点,在这个解决方案的基础上,作者就提出了他的改进方案,来袮补那几个缺点,就是这个改进方案,是错误的,或者说是实现不了的!
     作者对AODV 协议作如下修改:若应答节点为中间节点,则源节点发出测试数据包,要目的节点在收到第一个数据包(测试包)后必须给源节点返回一个收到确认信息。若源节点在一定的时间间隔内没收到来自目的节点的收到确认信息,则停止数据的发送。同时认为该应答节点是恶意的并发出警告信号。也就是说作者把上面的解决方案中的 “中间节点”改为了“目的节点”,也就是说源节点要从“其他路由”给“目的节点”发送测试包!
     到这里,作者的错误就出来了。本来AODV发起一个RREQ,就是因为没有到该目的节点的路由,而且AODV协议是一个单路径路由协议,源节点路由表中不可能存在到某目的节点的2个或2个以上的路由。可见作者的“其他路由给目的节点发送测试包”是根本成立不了的!
     相反,上面Hongmei Deng 等人提出解决方案是可行的!因为到“中间节点的下一跳”的其他路由是可能存在的,因为源节点发起的是到目的节点的RREQ,和“中间节点的下一跳”没有关系的,源节点的路由表中可能存在“中间节点的下一跳”的路由,或者可以重新发起一个到“中间节点的下一跳”的RREQ。所以是该方案是成立的!
    笔者是AODV的初学者,接触不深。看完这片论文,真是又高兴又遗憾!高兴的是没想到发核刊文章这么好发,随便在某个想法的基础上,稍微加入自己的想法,也不管对不对,也不管犯的错误有多幼稚,基本是可以发表的!遗憾的是这篇文章是2003.8的,要是在2005.8,那我给《计算机应用》发篇《对 XXXXXXXXXXXX文章的1,2点看法》,那不铁能录用了,而且发表时间还快!
    hehehehhe!   
原创粉丝点击