3 设计与实现
针对以上情况,本文提出了一种减少接入时延的方案,接入网关AGW的MS_STATE模块在终端入网时负责存储终端MS所获得的IP地址和相关的配置信息,当MS掉网时,在适当的时间内对此信息继续保存不予删除。当用户在短时间内再次接入时,AGW则将保存的IP地址和配置信息一同发给终端MS,终端接收到此信息后使用相同的IP地址和相关信息继续进行数据业务流传输。若超出时限,MS_STATE删除相关信息资源并通知其他功能实体MS退网。
3.1 系统组成
此方案是基于WiMax无线接入网关实现的。整个网关系统设计架构可以分为控制平面(信令处理部分)和数据平面(业务数据处理部分)。系统功能结构如图4所示。控制平面根据WiMax定义的信令类型可以分为:MS_STATE模块、数据通道模块、PMIP Client模块、FA模块、认证密钥模块。数据平面可以分为WiMax数据通道模块、用户过滤和数据采集模块(内核空间)。数据平面中,WiMax数据通道以内核模块的方式加载,针对每个终端都有一条隧道。图中各实体功能及外部接口描述如下: (1)MS_STATE模块:维护MS状态信息表。负责终端的状态消息处理,主要包括终端在进入网络时的预附着、附着、终端授权策略的协商等;终端切换时,负责终端相关信息的更新;网络退出时根据接入网关所处的角色,判断是否执行退网,并提供网络退出函数接口或者调用相关函数接口释放资源。
▲
(2)MS状态信息表:记录终端相关信息,如认证策略、配置信息等。
(3)PMIP Client模块:负责代替不支持移动IP终端进行移动IP注册(PMIP模式下使用)。
(4)FA模块:移动IP外地代理模块。
(5)DP(Data Path):负责数据通道的建立和删除。
(6)认证和密钥模块:负责终端的认证、密钥协商、密钥下发和辅助移动等功能。
3.2 流程设计
本设计的退网方案中,其终端接入流程如图5所示。用户保持接入流程如下:
(1)MS请求接入到WiMax系统,完成终端的初始入网,WiMax系统为MS分配一个IP地址并注册成功,开始数据业务传输。
(2)AGW检测到MS断开连接,此时网关中MS_STATE短时间内继续保存MS的IP地址信息及连接信息不予删除。连接信息包括:接入方式、地址分配方式以及网络配置信息。
(3)短时间内MS以相同的接入方式申请重新接入本网关AGW。
(4)BS与MS_STATE完成MS预附着过程,协商认证鉴权策略,并将其保存在终端状态信息表中。
(5)MS与AAA服务器进行鉴权协商,鉴权成功后,进行业务流的授权。
(6)BS与本AGW完成数据通道的建立和初始业务流的建立。
(7)MS发起DHCP discover 消息给AGW,请求IP地址及网络配置信息(主要为MS断开连接前已建立的一些连接信息)。
(8)AGW中的MS_STATE直接响应DHCP offer信息给MS,为其提供断开连接前使用的IP地址及网络配置信息,其中网络配置信息中的DHCP地址刷新时长为断开连接前的DHCP地址刷新时长的剩余时间,作为DHCP地址续约的有限期限信息。
(9)MS发起携带有接收到的IP地址的DHCP request 消息给AGW,请求AGW确认此IP地址。
(10)MS_STATE确认后响应DHCP Ack消息给MS。
(11)MS继续以前次接入的IP地址进行数据业务的传输。
从以上步骤可以看出,对于PMIP模式,AGW在MS再次接入过程中,并没有再次发起PMIP请求消息给HA,请求HA为MS确认IP地址,而是直接为MS提供了保存的IP地址。而对于CMIP,终端再次发起IP注册时,AGW直接返回IP地址给MS,而不需要再次通过AAA服务器认证。
实际中,MS在进入盲区时,经常会出现瞬断的情况,此时MS自身认为连接已经中断,需要重新接入。本文通过在设定的时间内保存MS的接入信息,即AGW在设定时间内不中断MS 的三层连接,此时若MS申请重新接入,则AGW仅需要与MS重新建立二层连接,不再重建三层连接。这样不仅加快了MS接入速度,而且对保持MS 数据业务的连接性有相当大的益处。
3.3 设计实现
各功能实体之间的通信如图6所示。
▲
终端初始入网阶段,MS_STATE与FA、Authenticator、DP之间通过本地通信完成终端的认证策略的协商、注册IP存储、数据通道、业务流及网络信息记录;与BS进行网络通信实现终端的预附着、附着和辅助认证。整个阶段MS_STATE时刻记录终端的状态信息。
本地通信和网络通信可创建以下套接口:
(1) 网络套接口
wimax_msg_sock=socket(AF_INET, SOCK_DGRAM, 0);
(2) 本地套接口
local_msg_sock=socket(AF_LOCAL, SOCK_DGRAM, 0);
终端出现异常情况并再次申请入网时,MS_STATE进行时限判断,把与终端对应的存储信息发送给终端。采用SDL描述的处理流程如图7所示。