网络安全 频道

IPv6任播技术及存在的问题和解决方法

4 IPv6任播技术的问题和解决方法

IPv6任播技术仍然存在许多问题。首先是任播技术的使用场合和应用任播技术的优点,其次是基于IPv6的任播技术是一个路由协议并没有被包括IPv6的规范说明中,而这正是使得任播技术应用更广泛不可获缺的条件,路由器应该在决定目的地网络让任播包可以合适的传送地过程中起到主动作用。目前的任务是需要设计和应用合适的任播路由协议到任播应用场合之中,并让互联网能够逐步去支持任播技术。例如:任播路由即使在因特网中只有少量的节点或路由器支持任播技术时也能够恰当的工作。所有基于TCP和一些基于UDP的协议在互联网应用中已经说明了,端主机之间建立通信过程,并在交换信息过程中认为它们是一致的。

4.1 主机向任播成员通告参与的问题

节点申明除了针对任播地址的公开路由信息以外,它们可以接受的数据报,而在IPv6的技术说明中节点必须是一个路由器。一个主机准备加入成为任播成员或离开时,它必须有不同的能力去向“最近”的任播路由器通告它目前的状态(加入或离开)。

4.2 支持高层申明协议的问题

因为任播技术拥有无状态的特性,它不能确保属于相同的任播地址的所有数据报会传到同一个目的地节点,然而这将会导致的是诸如TCP这类的全状态协议不被支持这一严重的问题。当主机向任播地址发起TCP连接时,接收端主机为了确认信息包,它将不能设置自己的任播地址作为源地址。IPv6技术说明中不允许任播地址来源于在包头设置的源地址,这主要是由于IPv6任播地址没有定义单独的源节点。如果协议允许任播地址被设置到包头的源地址,接受端主机在通信过程中将不能确信所有发送的数据包来自于同一个主机,也就是说主机的任播地址不能接收到包确认。

4.3 实现任播路由的问题

目前现存任播技术的标准定义路由协议都很不清楚,因此在设计IPv6任播路由协议时还存在一些相关的技术问题。

(a)可量测性问题。由于任播成员不管它们实际的前缀时位置是分散的,所以针对任播地址的路由条目无法被聚集。因此针对任播地址的路由条目必须分别被存储在路由器中,当任播地址得到广泛应用时,路由表会变得十分拥挤。

(b)安全问题。维持任播成员关系特别重要,对主机获得成员资格最简单的方式是它只需广播针对相关任播地址进入路由器的路由条目。但是这种方法有时会导致严重的安全问题,即任播主机可以自由的在路由表中添加或删除路由条目。

(c)选择任播成员资格的标准。不同的应用需要不同的标准,如果应用中需要快速响应,在源节点和任播节点之间的传播时延就相当重要,任播成员资格的最近节点应该作出选择。任播路由机制的标准的选择对于任播通信容量能力影响极大。

任播地址重要的一个特点是任播地址必须从同一个地址空间分配作为一个单播地址,因而从单播地址中无法加以区别。RFC1546原来推荐的是分配任播机制本身的地址空间,为了希望极大地降低由于应用中错误而无法辨识出任播地址的风险。当任播路由器配置时,互联网中的一些路由器不可能处理任播地址,这些地址如果被分配在单播地址空间中,对于继承的路由器针对通信去配置特殊的操作变得没有必要。任播路由器去判断接收包的目的地地址是否是任播地址或是单播地址是很困难的,设计路由协议也会存在问题的。

5 新的任播地址解析协议及应用

任播地址解析协议(AARP)可以满足IPv6任播和高层协议(诸如:没有必要去修改应用和协议的TCP和UDP)。更明确的说,实行AARP的目的是为了解决专门用于通信单播地址的任播地址的问题。AARP用来作为一种写在原始应用编程接口(API)之上的动态链接库(DLL),这种库实际上是能够提供一套与原始IPv6的API插槽相同的API插槽,并用来解决任播地址的AARP库,它可以在呼叫原始API之前将任播地址转换成相应的通信单播地址。任播地址仅仅用于应用层和AARP库层,而在AARP库层以下的层并不采用任播地址,只是处理转换后的单播地址。

0
相关文章