论文部分内容阅读
随着3G的普及,移动互联网越来越受到人们的关注,但是3G也有自身的缺点,比如通信技术没有统一的标准,这使得3G用户无法在全球内实现无缝漫游的目的。4G的网络体系结构不同于3G,它是一个基于IP的核心网络,在4G中核心网和接入网的相分离使得不同的接入技术对于核心网来说是透明的,这种技术使得4G可以兼容各种不同的接入网技术。同时在4G核心网中,用户数据和控制数据的传输也即是用户面和控制面是分离的,这种扁平的网络结构使得4G的数据传输率可以有更大的提高。核心网是由MME、S-GW、HSS等多个网元组成,其中MME (Mobility Management Entity移动管理实体)是最核心网中重要的网元,它主要负责移动用户的接入,身份的验证,承载的分配等。本文主要关注MME和eNodeB通信的S1接口所使用的S1AP协议本文论述了4G出现的原因,给出了4G核心网的架构,包括架构中每个核心网的功能,重点讨论了MME网元所提供的功能,之后给出了MME参与的协议栈的划分情况。核心网的所有功能都有通过相应的流程来实现的,本文通过讨论Attach流程来讲解如何通过流程来实现MME所提供的功能。然后分析了SCTP的原理以及我们选择其作为传输层协议的理由。最后,对于MME与eNodeB之间的S1AP协议,本文详细介绍了其提供的功能,并以一个流程为例介绍了如何实现协议的通讯,然后给出了协议的通信格式。接着给出了协议栈系统的设计,首先给出了MME模块的划分和架构图,对于关注模块详细介绍各模块功能,然后给出消息处理流程示意图,讨论了消息处理的具体过程。具体模块实现,首先给出了内存管理器的实现原理,内存管理器包含了变长内存管理和定长内存管理,变长管理器适用于分配之前对于要分配的内存未知的情况,但容易产生内存碎片、分配时间相对较长;定长管理器可以避免内存但降低了时间复杂度,但只能适用于分配之前知道所需内存大小的情况。两种管理方式分别在不同情况下使用,可以合理的避免内存浪费和时间性能瓶颈,内存管理使得用户不在需要动态的向系统申请内存,能够减少分配时间,并降低内存泄露的可能性。之后给出了定时器模块的实现原理,提出了时间轮的思想,使得定时器的插入、删除、调整的时间复杂度都为O(1),大大提高了程序时间性能,降低定时器管理成本。S1AP协议是应用层协议,使用的传输层协议为SCTP,本文给出了对于SCTP的封装,包括连接的建立删除,连接异常的发现修复,数据包的发送接收缓存等功能。对于连接的管理主要集中于连接状态的管理,本文通过状态转换图给据具体介绍。长连接的封装使得网络通讯对于上层变的透明,避免了多次开发,并且能够降低网络通信压力,提高网络通信速度。之后论文给出了协议栈所使用的序列化工具,序列化采用key-value对的模式,各个域之间无需分隔符,尽可能得减少序列化之后的数据量,减少了网通信压力,提高通信速率。最后,根据是否是S1AP本身所需要的消息及为分类标准,分别给出例子来介绍S1AP协议处理消息的流程及其所涉及到个中数据结构。