动态源端路由协议 (DSR) 简介:原理、优缺点和安全挑战
动态源端路由协议 (Dynamic Source Routing,DSR)
动态源端路由协议 (DSR) 是一种网络路由协议,它允许数据包发送方在数据包头部构造路由路径(源路由),给出路径中每一个主机的 IP 地址。发送方将数据包发送给源路由中第一跳的主机,当一个主机收到一个数据包时,如果该主机不是目的主机,它会按照数据包中的源路由中的下一跳的 IP 地址转发数据包。而如果该主机是目的主机,数据包就会传递到该主机的网络层。
网络中的每一个主机都有一个路由缓存 (Route Cache) 来记录学习到的路由路径。当一个主机向另一个主机发送数据包时,发送方首先检查它的路由缓存。如果存在一个路由记录, 发送方就会按照这个路由来传输这个数据包。如果没有路由记录存在,发送方会使用路由发现 (Route Discovery) 过程来寻找一个合适的路由。
当主机在使用任何源路由时,它会监测这条路由的可用性。例如,如果某一跳的主机移动出了它上一跳或者下一跳节点的传输范围,这条路由就不可用了;如果这条路由上的任何一个主机断电,这条路由同样也不可用。这个监测的过程称为路由维护 (Route Maintenance)。当路由维护过程中发现了路由的问题时,需要再次使用路由发现来寻找一个新的并且正确的路由路径。
DSR 的路由发现过程
如果一个节点需要传送数据包并目此时该节点的路由缓存中没有到达目的节点的路由,这个节点就会发起路由发现过程,发送数据包的源节点就是路由发现的发起者 (Initiator),而目的节点就是路由发现的目标 (Target)。
发起者 (节点 A) 广播一个路由请求报文 (Route Request Packet,RREQ) 指定路由发现的目标 (节点 D) 和一个独一无二的报文标识 id,同时记录着该 RREQ 经过的路径的路由记录 (Route Record)。每个收到 RREQ 的节点会对报文进行相应的处理。如果该节点已经收到过这个报文或者该节点的地址已经出现在报文的路由记录中,节点就丢弃这个报文不再继续转发。否则,节点将自己的地址附加在报文的路由记录中并维续转发。当 RREQ 到达它的目标后,目的节点会向路由发现的发起者 (源节点) 发送一个路由回复报文 (Route Reply Packet,RREP) 记录着 RREQ 所经过的路由路径。当发起者收到 RREP 时,它将报文中的路由路径记录在自己的路由缓存中。
DSR 路由维护过程
由于节点在移动,节点间可能由于距离过大而无法正常通信。从而导致链路中断。路由维护指的就是转发数据包的节点检测到了路由路径的中断并重新建立路由的过程。
DSR 的优点和缺点
DSR 是一种源端路由协议,当发送一个数据包时,源节点会在传递的数据包里列出路由路径中每一跳的节点,数据包就会按照这个路径在网络中进行转发。每一个中间节点转发数据包后,等待接收下一跳节点的确认。如果数据分组被重发了一定次数仍然没有收到下一跳的确认,则节点向源端发送路由错误报文 (Route Error Packet,RRER)。如果源端路由缓存中存在另一条到目的节点的路由则使用该路由重发分组。否则重新开始路由发现过程。
DSR 协议与传统的周期性路由发现协议的不同之处在于,DSR 协议只在有数据包的传送和面临网络拓扑结构的改变时,才进行路由发现过程,因此网络负载更低。这能提高网络带宽与电池电量的有效利用率,减少带宽和电量浪费在没有意义的路由发现过程中。同时,网络负载减少,代表着网络中需要验证的数据包也减少了,因此维护网络安全的计算量也相应降低,网络性能则相应提高。
DSR 的缺点:
- 路由维护开销: DSR 需要频繁地进行路由维护,特别是在网络拓扑结构发生快速变化的情况下,这会导致较高的网络开销。
- 安全问题: DSR 容易受到各种安全攻击,例如身份仿冒、路由修改攻击、隐私攻击、拒绝服务攻击和黑洞攻击。
DSR 可能遭遇的安全攻击
DSR 协议可能遭遇的安全攻击包括身份仿冒、路由修改攻击、隐私攻击、拒绝服务攻击和黑洞攻击。
- 身份仿冒: 攻击者可以盗用其他车辆节点的标识进行非法通信,从而非法获得数据或者传递伪造信息。
- 路由修改攻击: 攻击者可以修改路由信息,例如源节点和目的节点标识,从而破坏路由查找过程,妨碍数据正确地转发,破坏节点之间的通信。
- 隐私攻击: 由于车载自组网的自组织性,车辆的位置信息自由地在网络之中传递,难以监管。攻击者可以利用收集到的位置信息对目标车辆节点进行追踪,从而造成对驾驶者的隐私伤害。
- 拒绝服务攻击: 与传统的传感器网络相同,攻击者可能对网络带宽进行消耗性攻击,从而使得合法的用户无法访问服务器。例如,恶意节点不断向其他节点重复地发送数据包或者无效的数据,使得节点无法响应别的请求,导致该节点服务器停止服务。
- 黑洞攻击: 网络中的恶意节点不断向源节点回复路由应答,声明经过自己到达目的节点有最短路由,使源节点建立到达自己的路由,因此大量数据包将会涌向该恶意节点。但该恶意节点直接将涌来的数据包丢弃而不转发,从而网络在该恶意节点处丢包率急剧上升,就像产生了一个吞噬数据的“黑洞”。
总结
DSR 协议是一种灵活的路由协议,它适用于动态网络环境。然而,它也面临着一些安全挑战,需要采取相应的安全措施来保障网络安全。
原文地址: https://www.cveoy.top/t/topic/jpnp 著作权归作者所有。请勿转载和采集!