1 概述
支持移动性对于嵌入式网络环境下的小型设备来说是很关键的课题。近年来,有很多关于移动性方面问题的研究,尤其是嵌入式技术和无线网络的发展,给移动性带来更多的应用。移动性包括四种模式:终端移动性、会话移动性、个人移动性和服务移动性。
终端移动性是指当一台具有网络功能,在路由器、网桥等标准设备构成的网络中作为一台主机的嵌入式小型设备,在IP子网中移动时,仍然希望能够接收到发送给自己的请求和维持原有的会话。
会话移动性是指用户更换终端仍然能够维持一种媒体会话。例如:用户可能希望在进入办公室之后将移动手机正在进行的会话转移到PC机上;或者将一部分会话转移到像放映机或话筒等视频和音频的专有设备上。
个人移动性是指终端用户能够在任何地点、任何终端发起和接收已签署的电话通信业务,以及当终端用户移动时也能被网络识别。一个用户可以通过使用同一个逻辑地址定位在各种不同的终端上。例如寻找用户Tom,可同时呼叫Tom传统的PSTN电话、PC机和无线设备。
服务移动性是指允许用户在移动或改变设备和网络服务提供商时仍然能够获得服务。例如在VOIP环境中,用户可能需要获得像地址簿、呼叫日志、好友列表、快速呼叫列表等简单服务。 移动性不仅在于移动的多样性,而且要求移动的快速性。对于很多要求实时传输的应用,如VOIP,移动过程中快速切换、低响应时间以及高带宽利用率等问题受到更多的关注。
本文主要探讨的是移动性在嵌入式环境下的应用和实现。目前在IP网络中常用的两种解决移动性的方案是Mobile IP(在IP层增加移动性)和Mobile SIP(在应用层增加移动性)。Mobile IP是IETF标准化组织(Internet Engineering Task Force)为了达到透明移动性而提出的标准,主要为了达到当移动主机在IP子网之间移动时隐藏IP地址改变的目的。当支持Mobile IP的主机移动到外地子网后仍然保持原有的家乡地址,利用家乡代理建立一条从家乡子网到移动主机的路由问题,这样保持了传输层连接的完整性。然而,Mobile IP的这种机制带来了“三边路由”的问题,发往移动主机的报文需要通过家乡代理转发,同时,移动主机发出的报文可以直接到达目的地。为了减少“三边路由”带来的响应延时,Mobile IP标准扩展了路由优化协议,通过发送更新绑定来告诉发送方移动主机真正的地址。但这种方法存在一些限制,在后面的内容中将具体分析。
SIP(会话初始协议)也是IETF标准化组织提出的一套信令协议。它是应用层的信令控制协议,被用来在通信设备、媒体网关、媒体服务器之间建立不同种类的对话,可以初始、管理和终止分组网络中的不同种类的会话。这些会话可以是多方会话,也可以是承载多种媒体的会话(特别是音频和视频等)。
2 Mobile IP
2.1实验基础
实验的软件基础是lwip协议栈。lwip是一个轻量级的TCP/IP协议栈(Lightweight TCP/IP Stack),最初是瑞士计算机科学学院Adam Dunkels编写的一个应用于无操作系统的嵌入式系统中的TCP/IP协议栈。
实验的硬件基础是一个基于三星S3C4510芯片的单板系统,配备了512 KB的闪存作为程序存储器,4 MB的DRAM用来存放数据。S3C4510芯片内部集成了以太网络接口的MAC功能,外接了1片DM9131作为PHY控制芯片。
2.2实现示例
Mobile IP协议通过在移动主机和家乡代理间的隧道机制提供了一个对其他主机透明的路由机制,使移动主机和其他主机通信时,其他主机感觉不到移动主机的位置变化。图1是Mobile IP的一个示例。假设客户机CH与移动主机MH正在相互发送报文,而且移动主机能够通过DHCP获得IP地址和解析收到的报文。当MH在自己的家乡网络时,CH和MH通过家乡代理HA发送报文;当MH移动到外部网络192.168.143.208时,将寻找外部代理(FA),通过DHCP获得新的地址19216814366,同时将FA的地址通过向HA注册的方式通知HA,当HA收到MH的注册报文后,在MH和HA之间将建立隧道,所有CH发向原MH位置的报文将被HA封装发往FA,进而解封发给MH的新地址。图1中,实线表示CH发往MH新地址的路由,虚线表示MH发向CH的路由。
2.3实验分析
Mobile IP的隧道机制虽然实现了透明移动性的功能,但仍然有以下弊端:
① 从图1中可以看出,通过HA转发的报文增加了报文的传输延时。计算延时的公式为Δt=tCH-HA+tencapsulation+tHA-FA+tdecapsulation-tCH-FA有研究\\[1\\]表明,假定在校园距离范围内的网络,使用Mobile IP可能增加45%的响应延时。这个延时值的计算根据Mobile IP的实现不同,HA和FA的性能以及不同的网络环境和实体间的不同距离值会有所不同。但在实时传输的应用中,延时对性能的影响较大。
② 隧道机制增加了报文头部的负荷,IPinIP的封装方式使得一个IP报头需要20字节。
为了减小延时,Mobile IP标准扩展了路由优化协议标准\\[2\\],通过发送更新绑定来告诉CH移动主机真正的地址,这样,CH就可以绕过HA直接将报文发到MH所在的外部网络。但这种方案同样存在如下问题:
① 要实现Mobile IP的扩展标准,需要对标准IP协议栈进行修改,这对于标准化和兼容性提出了更高的要求;
② 发送方必须有个进程一直在监听434端口接收更新绑定报文;
③ 扩展优化协议规定只有HA才能发送更新绑定报文,所以CH在找到MH真正的位置之前有一段额外的延时;
④ 扩展优化协议定义了绑定警告和更新等,来帮助完成更新绑定的过程,但这不是强制的,也就是说,很多主机可能并不支持这样的功能。[page]
3 Mobile SIP
3.1Mobile SIP移动性
为了满足多媒体通信系统移动性的要求,SIP协议设计本身就具有移动性的特点,而且采用简单、灵活的机制,主要归纳如下:
① 地址分离机制。SIP协议设计采用逻辑地址和联系地址相分离的思想,逻辑地址用于标识用户,而联系地址表明用户的当前位置。一个逻辑地址可以对应多个联系地址,这种机制为用户的移动性提供了技术上的可能性。SIP地址使用类似Email的形式,如sip:user@domain。
② 注册/注销机制。用户代理通过注册/注销机制来告知系统自己在移动中的当前位置。SIP协议定义了注册服务器和REGISTER消息。用户代理可以通过向注册服务器发送REGISTER请求消息来完成注册和注销等操作。在构造注册请求消息时,Request-URI域应包含注册服务器的域名信息;To 包含要注册或注销的用户的逻辑地址; From包含发送注册消息者的地址记录;Contact包含要注册的联系地址信息。
注册机制:当用户代理要向注册服务器添加一个地址映射记录时,Contact域包含要增加的联系地址信息,通过Expires头部域或该地址信息的expires 参数来声明该联系地址的生命期。用户可通过一个REGISTER请求消息同时增加多个地址映射记录。
注销机制:当用户代理要删除一个映射记录时,可在Contact域中填写要删除的联系地址信息,并将expires参数置0, 注册服务器收到后就会删除该映射记录。如果将Contact域设为“*”,且Expires头部域设为0,将会删除该用户的所有联系地址映射记录。
用户代理在注册服务器成功注册后,就可以接收呼叫了。呼叫方可以根据对该用户地址映射信息的查询结果,将呼叫请求消息转发到用户代理的当前联系地址。
③ 目标更新机制。目标更新主要是通过SIP协议中定义的对话中的INVITE请求消息(也称为ReINVITE)来实现。这种机制可供用户告知通信对方自己的联系地址发生了变化,这对于通信中的移动是非常重要的。当用户在通信中进行移动时,它的联系地址可能发生变化(如进入到另一个IP子网),此时,用户代理可以使用对话上下文信息构造一个INVITE请求消息,将新的联系地址放入Contact头部域,使用对话内的路由过程将消息发送给对方。当对方收到请求消息后,发现Contact头部的内容和对话上下文的远端目标不同,就使用新的联系地址更新对话上下文的远端目标。对方就可以使用新的联系地址与其通信,保证了移动中通信的不中断。目标更新过程完成后,用户还要及时向自己的注册服务器注册新地址,以使网络获知其当前位置。目标更新机制还可以用于修改当前的会话参数,如增加媒体流、改变端口等。在对话过程中,如果任一方的联系地址或会话参数发生变化, 都可以通过目标刷新通知对方。
④ 呼叫重定向机制。SIP对移动性很重要的一个支持就是定义了重定向服务器。当重定向服务器发现接收到的呼叫中被叫用户位置已经移动,需要重定向时,它会生成一个重定向响应消息,将被叫用户的当前联系地址告知主叫用户。主叫用户向新联系地址发起INVITE呼叫请求,请求消息会被路由到联系地址所在的用户终端。可见,呼叫重定向是用户移动后呼叫建立的通用信令过程。
3.2实验基础
SIP Server选用的是Brekeke公司的Ondo Server,CH上运行的是Xten公司的XLite SIP softphone,MH移动主机使用的是自行开发的IP电话终端。
IP电话终端的软件基础是基于VxWorks实时操作系统,实现的协议主要包括TCP/IP协议栈、SIP协议栈和Rtp/Rtcp。硬件基础目前是基于上面Mobile IP实例中的硬件平台,拟向Atmel公司即将推出的AT76C902片上系统芯片移植。
3.3Mobile SIP的应用实例
图2是SIP终端移动性的一个简单示例。当移动主机MH如①所示移动时,获得新的IP地址laptop.dec.ecnu.edu.cn。为了能继续MH和对方CH的会话(如②),需要进行目标更新过程来达到会话切换的目的。如前面所描述的目标更新过程,MH构造一个ReINVITE请求消息,将新的联系地址放入Contact头部域,发送给CH(如③),当CH收到请求消息后,发现Contact头部的内容和对话上下文的远端目标不同,就会使用新的联系地址与MH联系,返回一个OK响应(如④)。MH收到OK响应之后,返回一个ACK来完成整个切换过程(如⑤),这样,MH就以新地址和CH建立了一条数据传输通道(如⑥)。最后,MH还要向注册服务器注册新联系地址(如⑦)。
下面是示例中最重要的ReINVITE消息:INVITE sip:Tom@cs.ecnu.edu.cn SIP/2.0
Via: SIP/2.0/UDP laptop.dec.ecnu.edu.cn
From: sip: Alice@cs.ecnu.edu.cn
To: sip: Tom@cs.ecnu.edu.cn
Contact: sip: Alice@laptop.dec.ecnu.edu.cn
c=IN IPv4 laptop.dec.ecnu.edu.cn
两种移动性方案比较如表1所列。
5 总结
移动性在嵌入式环境下的应用随着无线网络的发展越来越广泛,如何提高移动过程中快速切换、低响应时间以及高带宽利用率等问题是值得一直关注的问题。在进一步的研究过程中,将会对数据流传输过程和安全性方面的问题加以考虑。
上一篇:uClinux平台下的Flash存储技术
下一篇:基于S3C2410的WLAN智能住宅控制终端的设计
推荐阅读最新更新时间:2024-03-16 13:21