论文部分内容阅读
会话初始化协议(SIP)是IETF工程任务组所建议的用于多媒体通讯中建立、修改和终结会话的应用层信令协议。SIP协议是VoIP技术中的一种信令协议,它较当前的H.323协议而言,具有协议简单、呼叫与业务分离、可扩展性好的特点。然而,现有IPv4地址的短缺,在一定程度上限制了SIP应用,虽然NAT技术暂时解决了地址短缺的问题,但它会打破诸如音频、视频等基于SIP协议的端到端服务。相对于IPv4网络,IPv6网络的动态地址配置和任播等特性,使得SIP应用在IPv6网络环境中更加简单和高效。当今网络环境是IPv4和IPv6混合的网络,IPv4到IPv6的过渡必定会影响到原本基于IPv4制定的SIP协议。本文简单介绍了SIP/SDP协议,分析了SIP呼叫的基本会话建立过程。接着分析了在IPv6网络环境中的布署SIP应用的优点,并指出了现有的基于IPv4的SIP终端移植到纯IPv6网络环境下,SIP终端所需要修改的内容。然后重点研究了在不改变SIP现有终端的前提下,IPv4网络中的SIP终端和IPv6网络中的SIP终端互相通信所需要解决的技术问题:SIP协议是在应用层携带IP地址信息,SIP信令和媒体流采用不同的路由,SIP信令在会话描述协议(SDP)中为输入媒体流承载IP地址,所以需要对SIP信令消息和媒体流进行翻译和转换。基于以上问题,本论文提出了相应的NAT-PT+SIP ALG的解决方案。其主要思想是:NAT-PT在网络层进行IPv4/IPv6网络地址和协议的转换,而SIP ALG(SIP应用层网关)则在应用层对SIP消息进行信令流的转换和媒体流的转换。紧接着论文就SIP ALG的工作原理进行深入研究,建立了SIP ALG的软件模型,并为此设计五大功能模块:消息接收、发送模块;消息处理和呼叫监视模块;消息修改模块;IPv4/IPv6地址管理模块;RTP数据转发器和环境模块。同时,对影响SIP ALG处理转发SIP信令消息和RTP数据包的效率的IPv4/IPv6地址映射表的问题,设计了HASH+链表的存储方式,提高了IP地址映射的查找效率和访问速度。最后,本论文利用oSIP开放SIP协议栈,采用VC++语言编程实现了SIP ALG原始软件模型。接着利用SER开放SIP测试平台,对IPv4网络中的SIP软电话终端经过NAT-PT和SIP ALG设备,与IPv6网络中的SIP软电话终端的通信进行了测试。测试结果表明,大多数位于IPv4和IPv6混合网络中的SIP软电话,经过NAT-PT+SIP ALG设备都能正常的互相建立通信。与此同时,论文指出了一些将来需要进一步所做的工作。