动态源端路由协议 (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 是一种源端路由协议,当发送一个数据包时,源节点会在传递的数据包里列出路由路径中每一跳的节点,数据包就会按照这个路径在网络中进行转发。每一个中间节点转发数据包后,等待接收下一跳节点的确认。如果数据分组被重发了一定次数仍然没有收到下一跳的确认,则节点向源端发送路由错误报文 (Route Error Packet, RRER)。如果源端路由缓存中存在另一条到目的节点的路由则使用该路由重发分组。否则重新开始路由发现过程。

DSR 的优势

DSR 协议与传统的周期性路由发现协议的不同之处在于,DSR 协议只在有数据包的传送和面临网络拓扑结构的改变时,才进行路由发现过程,因此网络负载更低。这能提高网络带宽与电池电量的有效利用率,减少带宽和电量浪费在没有意义的路由发现过程中。同时,网络负载减少,代表着网络中需要验证的数据包也减少了,因此维护网络安全的计算量也相应降低,网络性能则相应提高。

DSR 的缺陷

DSR 协议也存在一些缺陷,例如:

  1. 路由表维护开销大: 由于 DSR 需要维护完整的路由路径,因此当网络规模较大时,路由表的维护开销会比较大,而且容易导致路由表过大。
  2. 对网络拓扑变化敏感: 当网络拓扑发生变化时,DSR 需要重新进行路由发现,这会导致网络性能下降。
  3. 安全问题: DSR 协议容易受到各种安全攻击,例如身份仿冒攻击、路由修改攻击、隐私攻击等,这些攻击可能导致数据泄露或丢失。

DSR 协议可能遭遇的安全攻击

DSR 协议可能遭遇的安全攻击包括身份仿冒、路由修改攻击、隐私攻击、拒绝服务攻击和黑洞攻击。

  1. 身份仿冒攻击: 攻击者可能冒充其他车辆节点进行非法通信,从而获得数据或者传递伪造信息。
  2. 路由修改攻击: 攻击者可能会破坏路由查找过程,妨碍数据正确地转发,破坏节点之间的通信。
  3. 隐私攻击: 攻击者可能利用收集到的位置信息对目标车辆节点进行追踪,造成对驾驶者的隐私伤害。
  4. 拒绝服务攻击: 攻击者可能消耗网络带宽,使得合法的用户无法访问服务器。
  5. 黑洞攻击: 攻击者可能将大量数据包引导到自己控制的恶意节点,并丢弃这些数据包,导致网络丢包率急剧上升。

这些攻击都可能对 DSR 协议的正常运行造成影响,破坏节点之间的通信,甚至导致数据泄露或丢失。因此,需要采取相应的安全措施来防范这些攻击,如身份认证、数据加密、路由验证等。同时,需要对网络进行监控和管理,及时发现和处理安全事件,保障网络的安全和可靠性。

总结

DSR 协议是一种源端路由协议,它具有路由发现和维护机制,可以适应网络拓扑的变化。但 DSR 协议也存在一些缺陷,例如路由表维护开销大、对网络拓扑变化敏感、安全问题等。在实际应用中,需要根据具体情况选择合适的路由协议,并采取相应的安全措施来保障网络安全。


原文地址: https://www.cveoy.top/t/topic/jpns 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录