一、引言
随着网络技术和无线通信设备的迅速发展,人们迫切希望能够随时随地从Internet上获取信息。针对这种情况,Internet工程任务组(IETF,Internet Engineering Task Force)于1996年开始制定支持移动Internet的协议,即移动IP协议[1]。移动IP协议是一种在Internet上提供移动功能的网络层方案,使节点在切换链路时不中断正在进行的通信。非凡是移动IP提供了一种IP路由机制,使移动节点可以以一个永久的IP地址连接到任何链路上。
为了在Internet上实现无线接入,需要给每个移动节点分配全球唯一的TP地址。但是,由于Internet用户数量的猛增和新的应用要求,IPv4协议出现了严重的地址匮乏、对网络安全和服务质量支持不够等问题,不能满足未来网络的应用和发展。
为此,IETF开发了下一代互联网协议IPv6。IPv6继续了IPv4的很多特性,其巨大的地址空间能满足因特网的快速发展,并且也集成移动性、安全性和服务质量等内容。因此,在移动Internet上迫切需要采用IPv6协议[2]。
二、移动IPv6
1 移动IPv6的基本概念
*移动节点(Mobile Node):指移动IPv6中能够从一个链路的连接点移动到另一个连接点,同时,仍能通过其家乡地址被访问的节点。
*家乡代理(Home Agent):指移动节点家乡链路上的一个路由器。当移动节点离开家乡时,能截取其家乡链路上的目的地址?移动节点家乡地址的分组,通过隧道转发到移动节点注册的转交地址。
*通信对端(Correspondent Node):指所有与移动节点通信的节点。
*家乡地址(Home Address):指分配给移动节点的永久的IP地址,属于移动节点的家乡链路。标准的IP路由机制会把发给移动节点家乡地址的分组发送到其家乡链路。当移动节点在家乡链路上有多个家乡子网前缀时,其可以有多个家乡地址。
*转交地址(care 0f Address):指移动节点访问外地链路时获得的IP地址。这个IP地址的子网前缀是外地子网前缀。移动节点同时可得到多个转交地址,其中注册到家乡代理的转交地址称为主转交地址。
*家乡链路(Home Link):指对应于移动节点家乡子网前缀的链路。
*外地链路(Foreign Link):指除了其家乡链路之外的任何链路。
*绑定(Binding):指移动节点家乡地址和转交地址之间的关联。
2 移动IPv6的工作机制
相对移动IPv4,移动IPv6有很大的优点,不再需要外地代理;避免了三角路由问题,实现了路由优化;更好的支持移动节点的移动性等。
当移动节点在家乡网络时,其工作方式如同位置固定的主机,移动IP不需要进行任何非凡的操作。当移动节点离开家乡网络进入外地网络时,其工作原理如下:
(1)移动节点通过常规的IPv6无状态或有状态的自动配置机制,获得一个或多个转交地址。
(2)移动节点在获得转交地址后,向家乡代理申请注册,为移动节点的家乡地址和转交地址在家乡代理上建立绑定。
(3)移动节点可以直接发送分组给通信对端,设置分组的源地址为移动节点的当前转交地址,家乡地址选项中是移动节点的家乡地址。
(4)通信对端发送分组给移动节点时,首先根据分组目的IP地址查询它的绑定缓存,假如在绑定中存在匹配,则直接发送分组给移动节点。假如不存在这样的匹配,则将分组发送到其家乡地址。发向家乡地址的分组被路由到移动节点的家乡链路,然后经过家乡代理的隧道转发到达移动节点。
(5)移动节点根据收到家乡代理转发的IPv6分组判定通信对端没有自己的绑定缓存,因而向通信对端发送绑定更新建立绑定。
(6)移动节点离开家乡后,家乡网络可能进行了重新配置,原来的家乡代理被其它路由器取代。移动IPv6提供了“动态代理地址发现”机制,答应移动节点发现家乡代理的IP地址,从而正确注册其主转交地址。移动IPv6技术答应移动节点在Internet上漫游而无需改变其IP地址。但是由于无线接入环境的不稳定性,同时为了保证移动节点都能和通信对端进行不中断的通信,获得如固定接入一样的网络服务质量,移动IPv6还需解决以下要害技术。
三、移动IPv6的要害技术
1 移动IPv6的切换技术[3]
当移动节点从一个子网移动到另一个子网时,就需要进行切换(Handover)。由于无线链路的高误码率、信号强度动态变化等原因,切换可能导致移动节点不能接收和发送数据分组。为了减少切换对服务质量的影响,移动IPv6定义了移动检测、转交地址获取和重新绑定等基础过程,并在此基础上提出了几种主要的切换方案。
(1)快速切换所谓快速切换即意味着低延时,是对移动IPv6协议的扩展。它采用预先切换和基于隧道的切换两种机制,通过提前注册,以及在新的外地网络切换未完成时通过与前一个网络保持通信的方法,实现快速切换。预先切换是指当移动节点和旧接入路由器(oAR,old Access Router)还保持着第二层的连接时,移动节点或者oAR能猜测移动节点将会进入到一个新的网络,从而发起移动节点和新接入路由器(nAR,new Access Router)之间的第三层的切换。基于隧道的切换是指当移动节点到了新的网络并且建立了第二层的连接后,并不发生第三层的切换。oAR和nAR通过在二者之间进行第二层的切换,使用切换消息中提供的信息建立双向隧道,移动节点可以通过隧道从前一个网络接收数据,尽量减少实时流的中断时间。
(2)平滑切换所谓平滑切换是针对降低IP数据包丢失率而提出的一种切换方案。当移动节点移动到一个新的网络还没有完成注册时,由于原先转发的数据包还没有发完,往往会出现大量的IP数据包丢失。因此,移动IPv6提出了一种缓存机制,移动节点要求当前子网的路由器缓存它的数据包,知道移动节点完成向新网络内路由器的注册过程。一旦完成注册,移动节点在新网络中就有了合法的转交地址,缓存的数据包从先前的路由器转发过来,这样,就大大减少了移动过程中数据包丢失的可能性。
2 移动IPv6的QoS[4]
随着Internet的高速增长,现有的Internet所提供的是“尽力而为”(Best-effort)的服务已经不能满足许多新的应用需求。因此,需要在Internet中支持QoS保证技术。为了解决IP QoS的问题,IETF提出了几种服务模型和机制,主要有:集成服务(IntServ,Integrated Service),区分服务(DiffServ,Differentiated Service),多协议标记交换(MPLS,MuItiProtocol Lable Switch)等。但是这些研究都是基于固定网络的。
移动Internet会给QoS的研究带来许多新的问题,如无线通信质量、移动治理、电池的寿命等。这些因素对移动IP网络中的QoS保证提出了更高的要求。因此,在移动IP网络中实现QoS要比固定IP网络中复杂的多。当移动节点改变网络连接点时,数据分组经过的中间网络治理域可能发生变化。因此,必须在移动节点的数据分组中包含对QoS的支持信息,答应移动节点在当前位置的路径上建立和维持预留资源。这个协议的实现需要修改和扩展RSVP协议。
然而,要实现IntServ的QoS保证比较困难,因为它是基于流的、复杂的资源预留、QoS路由和调度机制。由于在大规模的网络中链路的状态是不稳定的,因此有效的资源预留将是一个很困难的工作。同时由于基于流的操作的复杂性随着传输流数量的增加而增长,使得IntServ面临着扩展的问题。DiffServ虽然具有很好的扩展性,但不能提供精确的服务保证,而且由于缺乏端到端的信令传输,不支持显式的接纳控制和动态资源治理,使得其很难适应移动环境下的QoS需求。为了支持端到端的QoS,可以考虑将IntServ和DiffServ结合起来,互相协同,最终达到既能实现与状态无关网络近似的可扩展性,又能提供强有力的QoS保证。目前,如何使这两种技术更好的结合为移动IPv6网络提供QoS保证是一个研究的热点。
Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...
07-05
Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...
07-05
KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...
07-05
Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...
07-05