kaiyun官方注册
您所在的位置: 首页> 通信与网络> 业界动态> 在移动IP网络中实现Anycast服务的一种通信模型

在移动IP网络中实现Anycast服务的一种通信模型

2008-07-21
作者:王晓楠1,2, 钱焕延1

摘 要:提出了一种建立在移动IP网络中的Anycast通信模型" title="通信模型">通信模型,深入分析和讨论了该模型的可行性及其有效性,并论证此模型可以支持在移动IP网络中建设大规模的Anycast组。
关键词:IPv6 Anycast 移动IP 代理

Anycast是IPv6所提供的一种特殊网络服务,它允许服务申请者访问共享同一Anycast 地址所标识的一组接口中最近的一个(这里的最近是按路由协议的距离量度来计算的)。Anycast 有广泛的应用,它在许多应用领域都发挥着重要作用。随着网络新应用、新服务的不断涌现,对它的需求也在不断增长。
IPv6提供的另外一种服务就是移动IP服务,它是随着Internet的飞速发展与移动计算机应用的日益广泛随之孕育而生的技术。因为IPv6可以提供庞大的地址空间,这一优势给移动IP技术的应用带来了无限大的应用空间。现在的问题则是客户如何在移动IP网络中获取高质量的网络服务。毫无疑问,在移动IP网络中采用Anycast通信模型来提供网络服务是一种行之有效的解决办法。
1 相关工作
参考文献[4]和[5]首先提出了在移动IP网络中实现Anycast通信模型的方案。但是这两种方案的提出都是建立在Mobile IPv6协议的早期版本基础之上的,而且它们仅给出了理论性的描述,并没有给出具体的实现过程。
在这种情况下,本文针对移动IPv6网络提出了一种Anycast通信模型,本模型具有如下优点与特点:
(1) 本模型提出将一个子网内的所有移动代理都作为一个Anycast组的成员,并且此Anycast组被赋予一个知名Anycast地址方案,此方案具有如下优点:
① 当一个主机发送一个Anycast地址转换请求时,此请求会被路由到距离自己最近的拥有Anycast移动成员的归属代理上,然后此归属代理按照最优原则选择一个最优的Anycast移动成员提供Anycast服务,这样就可以保证所提供服务质量最高、响应时间" title="响应时间">响应时间最短。
② Anycast服务代理/移动节点" title="移动节点">移动节点无需多播或者广播Router Advertisement/Solicitation Advertisement,而移动节点则可以通过知名Anycast地址直接申请加入Anycast成员或者注册操作,这样做既解决了Router Advertisement/Solicitation Advertisement带来的资源消耗问题,同时也大大提高了整个通信模型的性能和效率;
(2)它允许移动节点动态地加入或离开某个Anycast组,不受任何物理位置的限制,真正地提供了高质量、响应速度快的移动Anycast服务;
(3)在本模型中,Anycast距离的度量标准可以根据不同的服务进行相应的变化,从而增加了Anycast服务的灵活性以及高效性;
(4)在本模型中不同客户端" title="客户端">客户端发出的服务请求会被不同的最优Anycast移动节点处理,这就保证了Anycast服务请求可以均衡地分布在Anycast移动成员之间而得到高效处理,从而实现负载平衡;
(5) 此外,本模型中的加入消息、离开消息的数据传输只需要跨越很小的物理网络并且此类消息的数据传输量也非常小,因此,对网络性能基本没有影响。
下面对此通信模型进行详细的讨论和分析。
2 Anycast服务在移动IP网络中的通信
2.1通信模型

本模型的目的在于在移动IP网络中实现Anycast服务。通过上述分析可知,实现移动IP技术的关键在于如何高效地实施上述五个主要功能,因为这五个功能的实现可能会消耗大量的资源,而成为在移动IP网络中实现Anycast服务模型的瓶颈。因此,本模型提出将一个子网内的所有移动代理都作为一个Anycast组的组成员,并且此Anycast组被赋予一个知名Anycast地址,记做AgentA。如图1所示。


在此模型中,每个移动节点都可以申请加入一个Anycast组以提供相应的Anycast服务。这样,由于本模型将所有移动代理都作为一个知名Anycast组的成员,因此,代理/移动节点无需多播或者广播Router Advertisement/Solicitation Advertisement,而移动节点无论是在本地还是在外区,都可以直接通过知名Anycast地址申请加入Anycast组或者注册操作,这样做既解决了传输Router Advertisement/Solicitation Advertisement等消息带来的资源消耗问题,同时也大大提高了整个通信模型的性能和效率。
2.2 Anycast组成员的加入和注销
在本模型中,移动成员可以自由地申请加入或者离开一个Anycast组。一个移动节点申请加入一个Anycast组的过程可以描述如下:
(1) 移动节点首先发送一个Join消息,此消息包括本身的Unicast地址以及申请加入的Anycast地址,此消息的目的地址为AgentA,这样此消息会被路由到距离(本模型采用跳为度量单位)此移动节点最近的代理上;
(2) 距离最近的代理接收到此Join消息之后,首先对此消息进行身份认证,如果认证通过,则分成如下两种情况来处理:①如果此代理为移动节点的归属代理,则检查其本身是否已经具有此Anycast地址的相关纪录,如果有,就将此移动节点的相关信息加入到该Anycast地址的相关记录中,否则,它首先创建有关此Anycast地址的相关记录,然后再将此移动节点的相关信息加入到新创建的Anycast地址的相关记录中去,同时它还要通知其他Anycast路由器这个新Anycast组成员的加入以便其及时更新Anycast路由信息;②如果此代理为外区代理,则它首先和此移动节点的归属代理建立连接,在验证其身份之后,它会将Join消息转发给归属代理进行处理,归属代理的处理过程同a;
(3) 最后,移动节点的归属代理会发送一个Accept消息给它,此时,该移动节点具有了Anycast组移动成员的身份。
至此,一个移动节点申请成为一个Anycast组移动成员的过程结束。
下面再讨论Anycast移动成员如何从Anycast组注销。一个Anycast移动成员从某个Anycast组注销的过程可以描述如下:
(1) Anycast移动成员首先发送一个Leave消息,此消息包括本身的Unicast地址以及申请注销的Anycast地址,此消息的目的地址为AgentA,这样此消息会被路由到距离此移动节点最近的代理上;
(2) 距离最近的代理接收到此Leave消息之后,首先对此消息进行身份认证,如果认证通过,则分成如下两种情况来处理:①如果此代理为Anycast移动成员的归属代理,则检查其本身是否已经具有此Anycast地址的相关记录,如果有,则从其相关记录中删除此Anycast移动节点的相关信息,并且检查此时Anycast地址的相关记录是否为空,如果为空,则通知其他Anycast路由器它现在已经没有关于此Anycast组成员的相关信息,这样,这些Anycast路由器就可以及时地更新Anycast路由信息;②如果此代理为外区代理,则它首先与此Anycast移动成员的归属代理建立连接,在验证其身份之后,它会将Leave消息转发给归属代理进行处理,归属代理的处理过程同①;
(3) 最后,归属代理会发送一个OK消息给Anycast移动成员,此时,此移动成员已经注销了Anycast组成员的身份。
至此,一个Anycast移动成员从某个Anycast组注销的过程结束。
2.3 路由分析
当一个客户端申请Anycast服务时,它首先需要发送一个地址转换请求,即将提供Anycast服务的Anycast地址转换为某个Anycast移动成员的Unicast地址,此地址转换请求的源地址为客户端的Unicast地址,目的地址为提供此Anycast服务的Anycast地址。此请求通过Anycast路由,会被距离客户端最近的拥有此Anycast组成员的归属代理截获,归属代理接收到此地址转换请求后,首先查询此Anycast地址的相关记录,按照最优原则选择一个位于本地的Anycast移动成员,然后将此地址转换请求转发给此最优Anycast移动成员,此移动成员接收到此请求后,将自身的Unicast地址返回给客户端。
客户端在接收到最优Anycast移动成员的Unicast地址后,利用这个Unicast地址与此移动成员之间建立连接,其方式同正常的移动IP通信相同,这里不再赘述。
由于移动节点可能在不同的网络之间频繁移动,因此,当一个正在提供Anycast服务的Anycast移动成员移动到其他区域上时,它会发送一个Register消息,其消息的目的地址是AgentA,这样此Register消息会被它所在区域内的距离最近的外区代理所截获。此代理截获该消息之后,它会与此移动成员的归属代理建立连接,并验证其身份,如果身份验证通过,它会记录下此移动成员的Visitor身份,同时,与移动成员的归属代理建立一个隧道以便传输发送到此移动成员的数据包。
3 性能分析
为了验证本通信模型的有效性以及高效性,笔者在IPv6模拟移动网络中实现了此模型,并将从此模型中获取Anycast服务的TRT与隧道模式下移动IPv6网络中获取Anycast服务的TRT进行了比较与分析。
在IPv6模拟移动网络中,将48个节点(IBM X Series PC机)连接到百兆以太网上,同时利用Modelnet来模仿广域网物理拓扑结构。在试验中,每个节点都是一个路由器,并且都与若干台移动主机相连,其中一个路由器要与多于6台移动主机相连,用于完成在本模型以及隧道模式下移动IPv6通信模型中的Anycast服务,这些移动主机的处理能力都相同,它们可以自由地从一个网段移动到另外一个网段。设定一个Anycast组包括6个成员,为了有效地测试网络拥塞情况,设路由器(代理)之间链路层通信能力为10Mb/s,客户端与路由器以及Anycast移动组成员与路由器(代理)之间的链路层通信能力为5Mb/s。
在上述的实验环境中,实现了本模型以及隧道模式下移动IPv6网络中的Anycast服务。在初始状态下,这两种移动IPv6通信模型中的归属区域内都包括6个Anycast移动组成员,这些组成员都是彼此的镜像,它们都可以处理客户的服务请求。在隧道模式下,笔者采用跳数作为距离度量单位,即把当前距离归属代理最近(即跳数最小)的Anycast移动组成员作为最优Anycast移动组成员。
本模型的性能分析" title="性能分析">性能分析是通过在IPv6模拟环境下比较客户在本模型以及隧道模式下移动IPv6模型中获取同样Anycast服务(如文件服务)的TRT值来实现的。因为从用户角度来看,所提供服务的TRT值越小,用户认为服务质量越好。这样,得到图2所示的TRT性能分析图(R=TRTNormal/TRT)。


其中,R为在本模型中与隧道模式下移动IPv6通信模型中客户获取同样Anycast服务的TRT值的比值,TRTNormal为在隧道模式下移动IPv6通信模型中客户获取Anycast服务的TRT值,TRT为在本模型中客户端获取Anycast服务的TRT值。从上图可以看出,R的比值趋于1.125。这个试验结果表明,在本模型中Anycast移动组成员提供Anycast服务的整体响应时间优于在隧道情况下提供Anycast服务的响应时间。
Anycast与移动IP网络都是IPv6的新特性,它们可以支持许多服务。本文在IPv6的模拟环境下,提出了一种新的通信模型,用以实现移动IP网络中的Anycast服务。这两种技术的结合具有广泛的应用前景,但是它还存在一些问题,有待进一步探讨和研究。
参考文献
[1] KATABI D, WROCLAWSKI J. A framework for scalable global IP-Anycast(GIA)[C]. Proceeding of SIGCOMM. New York: ACM Press, 2000:3-15.
[2] CASTRO M, DRUSCHEL P, KERMARREC A M, et al. Scalable application-level anycast for highly dynamic groups[D]. Prentice Hall, 2003.
[3] LI Z, WEI Y, LI Xiao Ming. Anycast——another communication model for IP[J]. Journal of Computer Research and Development, 2003,40(6):784-790(Ch).
[4] HABERMAN B, NORDMARK. IPv6 anycast binding using return routability[J]. Internet Draft, 2002.
[5] AFERGAN M, WEIN J, LAMEYER A. Experience with some principles for building an internet-scale reliable system[C]. In Proceeding of Second Workshop on Real, Large Distributed System, Dec. 2005.
[6] BALLANI H, FRANCIS P. Towards a global IP anycast Service[C]. In Proceeding of the 2005 conference on Applications, Technologies, Architectures, and protocols for computer communications. Aug. 2005.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306116;邮箱:aet@chinaaet.com。
Baidu
map