2.1 移动互联网协议
随着网络技术和无线通信设备的迅速发展,人们迫切希望能随时随地从Internet上获取信息。针对这种情况,Internet工程任务组(IETF)制定了支持移动Internet的技术标准移动IPv6,即MIPv6(Mobile IPv6,RFC3775)和相关标准。
这些标准现在已经出台,下一代移动通信的核心网是基于IP分组交换的,而且移动通信技术和互联网技术的发展呈现出相互融合的趋势,故在下一代移动通信系统中,可以较为容易地引入移动互联网技术,移动互联网技术必将得到广泛应用。
移动性是互联网发展方向之一,移动互联网的基础协议能支持单一无线终端的移动和漫游功能,但这种基础协议并不完善,在处理终端切换时,存在较大时延且需要较大传输开销,此外它不支持子网的移动性。移动互联网的扩展协议能较好解决上述问题。
本节首先介绍移动互联网的基础协议MIPv6的工作原理,然后介绍能提高移动互联网工作性能的扩展协议FMIPv6以及层次移动IPv6的移动性管理HMIPv6。
2.1.1 移动互联网的基础协议(MIPv6)
传统IP技术的主机不论是有线接入还是无线接入,基本上都是固定不动的,或者只能在一个子网范围内小规模移动。在通信期间,它们的IP地址和端口号保持不变。而移动IP主机在通信期间可能需要在不同子网间移动,当移动到新的子网时,如果不改变其IP地址,就不能接入这个新的子网。为了接入新的子网而改变其IP地址,那么先前的通信将会中断。
移动互联网技术是在Internet上提供移动功能的网络层方案,它可以使移动节点用一个永久的地址与互联网中的任何主机通信,并且在切换子网时不中断正在进行的通信。达到的效果如图2-1所示。
近年来,随着移动通信和网络技术的迅猛发展,使传统互联网和移动互联网技术逐渐走向融合,而基于IPv4的MIPv4技术在实际应用中越来越暴露出其不足之处,因而IETF制定了下一代网络协议IPv6,从本质上解决了地址问题,而MIPv6作为IPv6协议不可分割的一部分,通过对IPv6协议的添加和修改,基本解决了MIPv4的“三角路由”问题。
图2-1 移动互联网的目标
1.新增的lPv6扩展头
(1)家乡地址选项
MIPv6定义了一个新的家乡地址选项,该选项包含在IPv6的目的地选项扩展头中,用在离开家乡的移动节点所发送的分组中通告接收者移动节点的家乡地址。
(2)移动扩展报头
移动扩展头是一个新定义的扩展头。移动节点、通信节点和家乡代理使用移动扩展头来携带那些用于注册、建立绑定的消息。移动扩展头可以携带的消息有家乡测试初始、转交测试初始、家乡测试、转交测试4个消息,用于返网路径可达过程;绑定更新消息,用于移动节点通知通信节点或者家乡代理它当前获得的转交地址;绑定确认消息,用于对移动节点发出的绑定更新进行确认;绑定刷新请求消息,用于请求移动节点发送新的绑定,当生存期接近过期时使用;绑定错误消息,通信节点使用它来通知和移动性相关的错误。
(3)第二类路由头
MIPv6定义的第二类路由头是一个新的路由头类型。通信节点使用第二类路由头直接发送分组到移动节点,把移动节点的转交地址放在IPv6报头的目的地址字段中,而把移动节点的家乡地址放在第二类路由头中。当分组到达移动节点时,移动节点从第二类路由头中提取出家乡地址,作为这个分组的最终目的地址。
2.新增加的ICMPv6报文
新增加的ICMPv6报文包括以下部分:
(1)家乡代理地址发现应答
家乡代理使用家乡代理地址发现应答报文,来回应家乡代理地址发现请求报文,并在此报文中给出移动节点家乡链路上作为家乡代理的路由器的列表。
(2)家乡代理发现请求
移动节点使用该报文来启动家乡代理地址的动态发现过程,在网络上离移动节点最近的家乡代理会接收到这个请求报文。
(3)移动前缀广播
当移动节点离开家乡链路时,家乡代理发送移动前缀广播消息,用于通知移动节点家乡链路的前缀信息。
(4)移动前缀请求
当移动节点离开家乡时,发送移动前缀请求消息给其家乡代理。发送此消息的目的是从家乡代理请求移动前缀通告,使移动节点收集关于它的家乡网络的前缀信息。
3.对邻居发现协议的修改
(1)路由器通告消息
增加了一个指示发送者是否是本链路上家乡代理的标志位H。
(2)路由器通告消息中的前缀信息选项
为了使家乡代理知道本链路上所有其他家乡代理的地址,从而建立家乡代理地址发现机制所需的家乡代理列表,使移动节点可以给它以前转交地址所在链路的路由器发送绑定更新消息,从而建立从旧转交地址到新转交地址的转发路径,这时MIPv6需要知道路由器的全球地址,但是邻居发现仅仅通告了路由器的链路局部地址。因此,在前缀信息选项中增加了一个路由地址位(R位),如该位被设置,则发送该路由器通告的路由器必须在前缀信息选项的前缀字段中包含一个该路由器的完整的全球地址。
(3)新的通告间隔选项
用在路由器通告消息中指示路由器周期性发送非请求组播路由器通告的间隔。
(4)新的家乡代理信息选项
用在家乡代理发送的路由器通告消息中,通告关于本家乡代理的信息。
(5)路由器通告发送规则的修改
邻居发现协议标准限定,路由器从任何给定网络接口发送非请求组播路由器通告的最小周期是3s。为了对移动节点提供更好的支持,在MIPv6协议中放宽了这个限制,使路由器对非请求组播路由器通告的发送更为频繁。
(6)对路由器请求发送规则的修改
邻居发现协议规定节点不能发送超过3次路由器申请,并且每次申请之间应该间隔4s以上。在MIPv6协议中同样放宽了该限制。允许离开家乡的移动节点以更高的频率发送路由器请求。
(7)对重复地址检测的修改
邻居发现使用重复地址检测过程检查IP地址的唯一性。如果重复地址检测过程失败,IPv6节点应该停止使用相关IP地址,等待重新配置。MIPv6允许移动节点在外地链路上遇到重复地址检测失败后,只是在完成一次移动前在接口上停止使用这个地址,并不等待重新配置或放弃使用接口。
4.MIPv6工作原理
移动互联网的基础协议为MIPv6,IETF已经发布了MIPv6的正式协议标准RFC3775。MIPv6支持单一终端无需改动地址配置,可在不同子网间进行移动切换,而保持上层协议的通信不发生中断。
在MIPv6体系结构中,含有3种功能实体:移动节点(MN)、家乡代理(HA)、通信节点(CN)。其中,MN为移动终端;HA为位于家乡的子网,负责记录MN的当前位置,并将发往MN的数据转发至MN的当前位置;CN为与MN通信的对端节点。
MIPv6的主要目标是使MN不管是连接在家乡链路还是移动到外地链路,总是通过家乡地址(HoA)寻址。MIPv6对IP层以上的协议层是完全透明的,使得MN在不同子网间移动时,运行在该节点上的应用程序不需修改或配置仍然可用。
每个MN都设置了一个固定的HoA,这个地址与其当前接入互联网的位置无关。当MN移动至外地子网时,需要配置一个具有外地网络前缀的转交地址(CoA),并通过CoA提供MN当前的位置信息。MN每次改变位置,都要将它最新的CoA告诉HA,HA将HoA和CoA的对应关系记录至绑定缓存。假设此时一个CN向MN发送数据,由于目的地址为HoA,故这些数据将被路由至MN的家乡链路,HA负责将其捕获。查询绑定缓存后,HA可以知道这些数据可以用CoA路由至MN的当前位置,HA通过隧道将数据发送至MN。在反方向,MN首先以HoA作为源地址构造数据报,然后将这些报文通过隧道送至HA,再由HA转发至CN。这就是MIPv6的反向隧道工作模式。
若CN也支持MIPv6功能,则MN也会向它通告最新的CoA,这时CN就知道了家乡地址为HoA的MN目前正在使用CoA进行通信,在双方收发数据时会将HoA与CoA进行调换,CoA用于传输,而最后向上层协议递交的数据报中的地址仍是HoA,这样就实现了对上层协议的透明传输。这就是MIPv6的路由优化工作模式。
建立HoA与CoA对应关系的过程称为绑定(Binding),它通过MN与HA、CN之间交互相关消息完成,绑定更新(BU)是其中较重要的消息。MIPv6的工作过程如图2-2所示。
图2-2 MIPv6的工作过程
2.1.2 移动互联网的扩展协议(FMIPv6)
基本的MIPv6解决了无线接入Internet的主机在不同子网间用同一个IP寻址的问题,而且能保证在子网间切换过程中保持通信的连续,但切换会造成一定的时延。MIPv6的快速切换(FMIPv6)针对这个问题提出了解决方法,IETF发布了FMIPv6的正式标准RFC4068。
1.FMIPv6的快速切换
FMIPv6引入新接入路由器(NAR)和前接入路由器(PAR)两种功能实体,增加MN的相关功能,并通过MN、NAR、PAR之间的消息交互缩短时延。
MIPv6切换过程中的时延主要是IP连接时延和绑定更新时延。移动节点MN要进行切换时,MIPv6首先进行链路层切换,即通过链路层机制首先发现并接入到新的接入点(AP),然后再进行IP层切换,包括请求NAR的子网信息、配置新转交地址(NCoA)、重复地址检测(DAD)。通常IP层切换需要较长时间,造成了IP连接时延。针对这个问题,FMIPv6规定MN在刚检测到NAR的信号时就向PAR发送代理路由请求(RtSoPr)消息用于请求NAR的子网信息,PAR响应以代理路由通告(PrRtAdv)消息告之NAR的子网信息。MN收到PrRtAdv后便配置NCoA。这样,在MN决定切换时只需进行链路层切换,然后使用已配置好的NCoA即可连接至NAR。
MN连接至NAR后并不意味着它能立刻使用NCoA与CN通信,而是要等到CN接收并处理完针对NCoA的BU后才能实现通信,造成了绑定更新时延。针对这个问题,FMIPv6规定MN在配置好NCoA并决定进行切换时,向PAR发送快速绑定更新(FBU)消息,目的是在PAR上建立NCoA—PCoA绑定并建立隧道,将CN发往PCoA的数据通过隧道送至NCoA,NAR负责缓存这些数据。当MN切换至NAR后,立即向它发送快速邻居通告(FNA)消息,NAR便得知MN已完成切换,已经是自己的邻居,把缓存的数据发送给MN。此时即使CN不知道MN已经改用NCoA作为新的转交地址,也能与MN通过PAR—NAR进行通信。CN处理完以NCoA作为转交地址的BU后,就取消PAR上的绑定和隧道,CN与MN间的通信将只通过NAR进行。
此外,PAR收到FBU后向NAR发送切换发起(HI)消息,作用是进行DAD以确定NCoA的可用性,然后NAR响应以切换确认(HAck)消息告知PAR最后确定可用的NCoA,PAR再将这个NCoA通过快速绑定确认(FBack)消息告诉MN,最终MN将使用这个地址作为NCoA。
采用上述方法,FMIPv6切换延迟比基本MIPv6缩短10倍以上。
2.FMIPv6的工作过程
1)MN检测到NAR信号;
2)MN发送RtSoPr;
3)MN接收PrRtAdv,配置NCoA;
4)MN确定切换,发送FBU;
5)PAR发送HI,NAR进行DAD操作;
6)NAR回应HAck;
7)PAR向MN发送FBack,同时建立绑定和隧道,将发往PCoA的数据通过隧道送至NCoA;
8)MN向NAR发送FNA;
9)NAR把MN作为邻居,向它发送从PAR隧道过来的数据;
10)CN更新绑定后,删除PAR上的绑定和隧道,CN将数据直接发往NCoA。
FMIPv6的工作流程图如图2-3所示。
图2-3 FMIPv6 的执行流程图
2.1.3 HMIPv6的移动性管理
若MN移动到离家乡网络很远的位置,每次切换时发送的绑定要经过较长时间才能被HA收到,造成切换效率低下。为解决这个问题,IETF提出层次移动IPv6(Hierarchical Mobile IPv6 Mobility Management,HMIPv6),发布了正式标准RFC4140。
HMIPv6引入了移动锚点(Mobility Anchor Point,MAP)这个新的实体,并对移动节点MN的操作进行了简单扩展,而对HA和CN的操作没有任何影响。须注意的是,层次型MIPv6对通信对端和家乡代理的操作没有任何影响。移动锚点是一台位于移动节点访问网络中的路由器。移动节点将移动锚点作为一个本地家乡代理。在访问网络中可以存在多个移动锚点。HMIPv6结构如图2-4所示。
图2-4 HMIPv6结构示意图
按照范围的不同,将MN的移动分为同一MAP域内移动和MAP域间移动。在MIPv6中引入分级移动管理模型,最主要的作用是提高MIPv6的执行效率。HMIPv6也支持FMIPv6,以帮助MN的无缝切换。
当MN进入MAP域时,将接收到包含一个或多个本地MAP信息的路由通告(RA)。MN需要配置两个转交地址:区域转交地址(RCoA)(其子网前缀与MAP的一致)和链路转交地址(LCoA)(其子网前缀与MAP的某个下级接入路由器(AR)的一致)。首次连接至MAP下的某个AR时,将生成RCoA和LCoA,并分别进行DAD操作,成功后MN给MAP发送本地绑定更新(LBU)消息,将其当前地址(即LCoA)与在MAP子网中的地址(即RCoA)绑定,而针对HA和CN,MN发送的BU的转交地址,则是RCoA。CN发往RCoA的包将被MAP截获,MAP将这些包封装转发至MN的LCoA。
如果在一个MAP域内移动,切换到了另一个AR,MN仅改变它的LCoA,只需要在MAP上注册新的地址,不必向HA、CN发送BU,这样就能较大程度地节省传输开销。由此可见,MAP本质上是一个区域家乡代理。
在MAP域间移动时,MN将生成新的RCoA和LCoA,这时才需要给BU发送HA和CN注册新的RCoA,此时HA向MN发送绑定确认BA;同时WN也需要发送LBU给新区域的MAP,MAP也像MN发送链路绑定确认LBA。
域内移动和域间移动的注册过程如图2-5所示。
图2-5 HMIPv6的注册过程
因此,只有RCoA才需要注册CN和HA。只要MN在一个MAP域内移动,RCoA就不需要改变,使MN的域内移动对CN是透明的。
1.子网移动
网络移动性(NEMO)工作组研究了将移动子网作为一个整体,在全球互联网范围内变换接入位置时的移动管理和路由可达性问题。移动网内部的网络拓扑相对固定,通过一台或多台移动路由器连接至全球的互联网。网络移动对移动网络内部节点完全透明,内部节点无需感知网络的移动,不需要支持移动功能。IETF已发布NEMO的正式标准RFC3963。
NEMO网络由一个或多个移动路由器、本地固定节点(LFN)和本地固定路由器(LFR)组成。LFR可接入其他MN或MR(移动路由器),构成潜在的嵌套移动网络。
NEMO的原理与MIPv6类似,当其移动到外地网络时,MR生成转交地址CoA,向其HA发送BU,绑定MR的HoA和CoA,并建立双向隧道。CN发往LFN的数据将路由至HA,经路由查询下一跳应是MR的HoA,HA便将数据用隧道发至MR,MR将其解封装后路由至LFN。在反方向上,所有源地址属于NEMO网络前缀范围的数据都将被MR通过隧道送至HA,HA负责将其解封装路由至CN。
值得注意的是,HA上必须有NEMO网络前缀范围的路由表,即HA需要确定发往LFN的数据的下一跳是MR的HoA。有两种途径建立该路由表:
1)在BU中携带NEMO网络前缀信息;
2)在MR与HA间通过双向隧道运行路由协议。
RFC3963中只提出了基本的反向隧道工作方式,没有解决三角路由问题,特别是在NEMO网络嵌套的情况下,需要多个HA的隧道封装转发,效率不是很高。为此,针对NEMO路由优化的相关工作正在进行中。
2.应用中的技术整合
在MIPv6中引入上述扩展协议后,移动互联网可以提供对单一终端和子网的移动性支持,并且在移动过程中支持终端、子网的快速切换和层次移动性管理。其架构如图2-6所示。
图2-6 移动互联网的架构
此结构下的移动互联网在处理切换时,传输时延等开销较小,能做到无缝切换,可承载丰富的多媒体业务,提供良好的用户服务。
移动IPv6协议能支持单一终端在不同子网间移动切换,保持上层通信的不中断,但其切换速度和效率不是很高。MIPv6的快速切换这一扩展协议提高了终端在不同子网间的切换速度,降低了切换时延。FMIPv6的移动性管理这一扩展协议,降低了切换产生的数据传输代价,提高了切换的效率。以上3种协议协同工作,可作为用户无线终端移动接入互联网的解决方案。更进一步,NEMO为子网提供移动性支持,而子网内的节点不需要支持移动功能。这一特性可广泛用于交通运输等方面,可为旅客提供访问互联网的业务。
移动互联网技术为无线接入互联网的用户提供了移动支持,为用户提供了极大方便。但还有很多细节需要完善,如快速切换、层次移动、子网移动三者的结合,子网移动的路由优化等问题,这些将是移动互联网技术下一步的研究方向。