一种新IPv6任播地址解析协议及应用( 二 )


另一个重要应用是服务位置 , 发送端主机可以通过说明任播地址去从多个任播主机中选择与最佳的、最小时延的、最大输出量的主机进行通信 , 例如:在诸如移动ad hoc网络这类动态改变环境下运用该方法非凡适用 。通过网络层的任播技术 , 节点可以和合适的或是最近的服务器进行通信 , 并通过应用层任播技术获得该类服务 。
网络层任播技术的优势在于可以提供令源节点在无须借助服务节点和网络的情况下 , 能够接收到特定服务机制的简便方法 。
4 IPv6任播技术的问题和解决方法
IPv6任播技术仍然存在许多问题 。首先是任播技术的使用场合和应用任播技术的优点 , 其次是基于IPv6的任播技术是一个路由协议并没有被包括IPv6的规范说明中 , 而这正是使得任播技术应用更广泛不可获缺的条件 , 路由器应该在决定目的地网络让任播包可以合适的传送地过程中起到主动作用 。目前的任务是需要设计和应用合适的任播路由协议到任播应用场合之中 , 并让互联网能够逐步去支持任播技术 。例如:任播路由即使在因特网中只有少量的节点或路由器支持任播技术时也能够恰当的工作 。所有基于TCP和一些基于UDP的协议在互联网应用中已经说明了 , 端主机之间建立通信过程 , 并在交换信息过程中认为它们是一致的 。
4.1 主机向任播成员通告参与的问题
节点申明除了针对任播地址的公开路由信息以外 , 它们可以接受的数据报 , 而在IPv6的技术说明中节点必须是一个路由器 。一个主机预备加入成为任播成员或离开时 , 它必须有不同的能力去向“最近”的任播路由器通告它目前的状态(加入或离开) 。
4.2 支持高层申明协议的问题
因为任播技术拥有无状态的特性 , 它不能确保属于相同的任播地址的所有数据报会传到同一个目的地节点 , 然而这将会导致的是诸如TCP这类的全状态协议不被支持这一严重的问题 。当主机向任播地址发起TCP连接时 , 接收端主机为了确认信息包 , 它将不能设置自己的任播地址作为源地址 。IPv6技术说明中不答应任播地址来源于在包头设置的源地址 , 这主要是由于IPv6任播地址没有定义单独的源节点 。假如协议答应任播地址被设置到包头的源地址 , 接受端主机在通信过程中将不能确信所有发送的数据包来自于同一个主机 , 也就是说主机的任播地址不能接收到包确认 。
4.3 实现任播路由的问题
目前现存任播技术的标准定义路由协议都很不清楚 , 因此在设计IPv6任播路由协议时还存在一些相关的技术问题 。
(a)可量测性问题 。由于任播成员不管它们实际的前缀时位置是分散的 , 所以针对任播地址的路由条目无法被聚集 。因此针对任播地址的路由条目必须分别被存储在路由器中 , 当任播地址得到广泛应用时 , 路由表会变得十分拥挤 。

(b)安全问题 。维持任播成员关系非凡重要 , 对主机获得成员资格最简单的方式是它只需广播针对相关任播地址进入路由器的路由条目 。但是这种方法有时会导致严重的安全问题 , 即任播主机可以自由的在路由表中添加或删除路由条目 。
(c)选择任播成员资格的标准 。不同的应用需要不同的标准 , 假如应用中需要快速响应 , 在源节点和任播节点之间的传播时延就相当重要 , 任播成员资格的最近节点应该作出选择 。任播路由机制的标准的选择对于任播通信容量能力影响极大 。
任播地址重要的一个特点是任播地址必须从同一个地址空间分配作为一个单播地址 , 因而从单播地址中无法加以区别 。RFC1546原来推荐的是分配任播机制本身的地址空间 , 为了希望极大地降低由于应用中错误而无法辨识出任播地址的风险 。当任播路由器配置时 , 互联网中的一些路由器不可能处理任播地址 , 这些地址假如被分配在单播地址空间中 , 对于继续的路由器针对通信去配置非凡的操作变得没有必要 。任播路由器去判定接收包的目的地地址是否是任播地址或是单播地址是很困难的 , 设计路由协议也会存在问题的 。

推荐阅读