




已阅读5页,还剩62页未读, 继续免费阅读
(通信与信息系统专业论文)sip协议穿越nat的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着因特网的迅速发展,用户对新业务的需求不断增加,传统的电信网络 和i p 网络的融合已成为必然,而基于软交换的下一代网络技术( n g n ) 可以实 现无缝连接。是业界研究的热点。利用软交换技术,可以最大限度保护现有的 电信网络的投资,同时提供比传统业务更多、更好的服务,促进现有电信网络 向下一代网络平滑演进。 大规模的应用n g n 将极大的增加对i p 地址的需求。当前解决碑地址匮乏 问题的方案有c i d r 、n a t 技术和i p v 6 等,使用比较广泛的是n a t 技术。n a t 技术是在一个网络内部的节点与外部i n t e m c t 网络进行通讯时,网络中的i p 包 从源地址在到达目的地址的过程中,n a t 修改该i p 包的源、目的地址( 1 p ) 和 源、目的端口( p o r t ) ,通过这个修改将其内部自定义的i p 地址转换为合法的 公用i p 地址的过程。而基于h 3 2 3 、s i p 等协议的n g n 应用需通过信令消息中 的i p 地址和端口来实现目的地寻址,因此私网内用户在穿越n a t 和公网用户通 信时不仅需要对t c p u d p 层的端口信息以及i p 层的源地址和目的地址进行变 换,还需对i p 包载荷中的相关地址信息进行变换,由此产生了穿越n a t 的相 关问题。因此穿越n a t 问题是目前开展n g n 业务最大的障碍,迫切需要解决。 s i p 作为软交换中的一个重要协议,目前受到广泛的关注。本文的焦点是针对 s i p 的特点,研究s i p 协议穿越n a t 的实现。 本文针对s i p 协议穿越n a t 的问题以及n a t 和s i p 各自的特点,分析了 目前业界穿越n a t 最常用的几种解决方案,在这些基础上提出了s i p 应用层网 关的解决方案。对s i p 应用层网关及其实现,目前虽然已经有了一些研究,但是 还很不完善。目前的一些相关草案都仅仅是对s i p 报文修改部分或者其他部分做 了一些建议。本文在相关资料基础上提出了一个统一的基于s i p 的应用层网关实 现框架,该框架下定义了实现一个基本的s i p 应用层网关所应该完成的工作和遵 循的流程。研究和实践表明,本文所提出的s i p 的应用层网关的解决方案能够有 效的解决典型的s i p 穿越n a t 问题。为n g n 的大规模应用提供了参考。 关键词:n g n ,n a t ,s i p ,应用层网关( a l g ) i a b s t r a c t a l o n gw i t ht h er a p i dd e v e l o p m e n to fi n t e m e t ,t h er e q u i r e m e n t so fs u b s c r i b e r s f o rn e ws e r v i c e sa r ei n c r e a s i n g t h ei n t e g r a t i o no ft h et r a d i t i o n a lt e l e c o ma n dt h ei p n e t w o r kb e c o m e st h et r e n do f t h en e t w o r kd e v e l o p m e n t t h en e x tg e n e r a t i o nn e t w o r k ( n g n ) t h a ti sb a s e do nt h es o f f s w i t o ht e c h n o l o g yc a r li m p l e m e n tt h ei n t e g r a t i o n s m o o t h l ya n db e c o m e st h eh o t s p o to f t h ec u r r e n tr e s e a r c h t h es o f t s w i t c ht e c h n o l o g y c a l lh e l pu t i l i z et h ee x i s t i n gi n v e s t m e n ti nt h et e l e c o mn e t w o r k st ot h em o s ta n d p r o v i d em o r ea n db e r e ts e r v i c e ss oa st op r o m o t et h es m o o t he v o l u t i o no ft h e t e l e c o mn e t w o r k st ot h en e x tg e n e r a t i o nn e t w o r k s d u et ot h el a r g e s c a l ea p p l i c a t i o n , t h er e q u i r e m e n t sf o ri pa d d r e s s e si n c r e a s e n 蝣w a ya d o p t e dt os o l v et h ep r o b l e mo fi p a d d r e s sd e f i c i e n c yi n c l u d ec i d r 、n a t t e c h n o l o g ya n di p v 6a n dn a tt e c h n o l o g yi sm o s t l yw i d e l yu s e d n a tt e c h n o l o g yi s ap r o c e s st h a tw h e nai n t e m a lp o tc o m m u n i c a t e 谢t l lai n t e r a c t i nt h ep r o c e s so fi p p a c k a g ef r o ms o b r c 汜a d d r e s s e sr e a c h i n gd e s t i n a t i o na d d r e s s e sn a tc h a n g et h e s o u r o a :,d e s t i n a t i o na d d r e s s e sa n dp o r tt ot u r ni n t e r n a li pa d d r e s si n t ol e g a lp u b l i ci p a d d r e s s e s t h en g n ,w h i c hc o m p l i e sw i t ht h eh 3 2 3a n ds i pp r o t o c o l s ,s u p p o r t s m u t i n gt h r o u g hi pa d d r e s s e sa n dp o r t ss p e c i f i e db ys i g n a l i n gm e s s a g e si nt h e a p p l i c a t i o nl a y e r n o to n l yt h ep o r ti n f o r m a t i o nb a s e do nt h et c p ,u d pp r o t o c o la n d t h es o u r c ea d d r e s s e sa n dd e s t i n a t i o na d d r e s s e sb a s e do nt h ei pp r o t o c o l ,b u ta l s ot h e r e l a t e da d l h e s si n f o r m a t i o nc a r r i e db yt h ei pp a y l o a d sm u s tb ec o n v e n e d a b o v ea 1 1 t h en a tt e c h n o l o g yi st h em o s te s s e n t i a lf a c t o ri nt h ea p p l i c a t i o no fn g n b e c a u s e t h es i pp r o t o c o li sa m o n gt h em o s ts i g n i f i c a n to n e su s e db yt h es o f t s w i t c h ,t ow h i c h m o r ea n dm o r ea t t e n t i o ni s p a i d ,t h ef o c u so ft h i s t h e s i si s p l a c e do nt h e i m p l e m e n t a t i o no fs i pp r o t o c o lt r a v e r s a ln a t n l ct h e s i sc o n s i d e rf r o mt h ep r o b l e mo fs i pp r o t o c o lt r a v e r s a ln a ta n dt h e f e a t u r e so ft h en a ta n ds i pa n da n a l y z e st h em o s tc 0 1 t u - n o ns o l u t i o n so fn a t o n t h i sb a s i s ,as i pa l gs o l u t i o ni sp u tf o r w a r d c u r r e n t l y t h em s e a r e ho nt h es i p a p p l i c a t i o nl a y e rg a t e w a y ( a l g la n dt h ei m p l e m e n t a t i o no fi ti sf a rf r o mb e i n g c o m p l e t e t h er e l a t e dd r a f t sh a v eo n l ym a d es o m er e c o m m e n d a t i o no nt h e 1 1 m o d i f i c a t i o np a r to fs i pm e s s a g e so ro t h e rp a r t s b a s e do nr e l a t e dm a t e r i a l s ,t h i s t h e s i sp u t sf o r w a r dau n i f o r mf r a m e w o r kf o ri m p l e m e n t i n gt h es i p - b a s e da l g b o t h t h er e s e a r c h e sa n da p p l i c a t i o n ss h o wt h a tt h es i pa l gs o l u t i o nc a ns o l v et h e p r o b l e m so fs i pn a t t h i st h e s i sc a np r o v i d ear e f e r e n c ef o rl a r g e s c a l ea p p l i c a t i o n o f n g n k e yw o r d s :n g n ,n a t ,s i p ,a l g i i i - 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人 已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育机构的 学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已 在论文中作了明确的说明并表示了谢意。 签名:奎芰日期:型丝纽 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即学校有权保 留、送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 武汉理工大学硕士学位论文 1 1课题背景 第1 章绪论 随着计算机通信的飞速发展,一方面传统的基于电路交换的电信网络已经 无法满足人们对数据业务的日益增长的需要,不得不重新构建新的数据通信网; 另一方面,随着数据网的快速发展,人们尝试在基于t c p i p 协议的数据通信网 上传输诸如语音、图像等到多媒体业务,这较之传统的电话网,后者具有成本 低、利润高、价格便宜、容易推出新的业务等诸多优势。因此,传统电话网络 向i p 数据网络的转换己是大势所趋。 n g n ( n e x tg e n e r a t i o n n e t w o r k ,下一代网络) ,是基于分组的网络,能够 提供电信业务:利用多种宽带能力和q o s ( q u a l i t yo fs e r v i c e ) 保证的传输技术; 其业务相关功能与其传输技术相独立。n g n 包括电话和i n t e m e t 接入业务, 能够提供各种多媒体业务的综合网络;n g n 是开放的、标准的架构,用户可以 自由接入到不同的业务提供商,可以享受车富的、个性化的服务。n g n 是以软 交换为核心,支持话音、视频、数据等多媒体综合业务,采用开放标准体系结 构,能够提供丰富业务的下一代网络。目前应用于n g n 的协议主要有 h 2 4 8 m e o a c 0 、s i p 、s i g t r a n 、b i c c 、h 3 2 3 等协议。s i p ( s e s s i o ni n i t i a t i o n p r o t o c o l ,会话初始协议) 协议因其简单、灵活、可扩展性强的特点,成为实现 n g n 系统的热点技术。进入二十世纪九十年代以来,因特网规模飞速膨胀, i p v 4 地址资源面临着耗尽的危机,同时在世界的各个角落,存在着大量的局域 网资源,也就是说大量的用户在使用私有i p 地址,由于相关标准的不完善,i p v 6 技术的广泛应用还有待时日,对于如何解决局域网用户接入和访问i n t e m e t 资 源,已经有很多成熟的标准和具体的应用,n a t ( n e t w o r ka d d r e s st r a n s l a t e , 网络地址转换) 就是其中的一种技术。n a t 技术目前主要应用于i p 、u d p 和 t c p 层,而s i p 协议是基于u d p 和t c p 之上的应用层协议。s i p 包头中 含有很多对于路由、接续s i p 信令和建立呼叫连接的必不可少的地址信息,s i p 如何穿越n a t 目前还没有相关标准,业界存在许多解决方案。 本文课题来源是本人在华为技术有限公司实习期间参与研究的项目。本文 武汉理工大学硕士学位论文 所要解决问题即为:网关内网用户的s i p 信令能够穿越n a t 与外部s i p 用户 或者其它网关的内网用户进行通信。 1 2课题关键技术以及研究现状 1 2 1n g n 和协议介绍 随着技术条件的成熟,网络的融合正成为电信发展的大趋势。首先是数字 技术的迅速发展和全面采用,使电话、数据和图像信号都可以通过统一的编码 进行传输和交换。其次是光通信技术的发展,为综合传送各种业务信息提供了 必要的带宽和传输质量,是三网业务的理想平台。再就是软件技术的发展,使 得三大网络及其终端都能通过软件变更最终支持各种用户所需的特性、功能和 业务。最后也是最重要的是统一的球协议的普遍采用,使得各种以i p 为基础的 业务都能在不同的网络上实现互通。人类首次具有了统一的并且三大网都能接 受的通信协议,从技术上为三网融合奠定了最坚实的基础。 所谓下一代网络( n g n ) ,实质上是一个具有极其松散定义的术语,即泛 指一个不同于当代或前一代的网络体系结构,通常是指以数据为中心的融合网 体系结构。n g n 的出现和发展是演进,而不是革命。从广义上讲,下一代网络 应是一个能够提供包括语音、数据、视频和多媒体业务的、基于分组技术的、 综合开放的网络架构。 软交换是n g n 的控制功能实体,为n g n 提供具有实时性要求的业务呼叫 控制和连接控制功能,是n g n 呼叫与控制的核心,是基于软件的分布式交换和 控制平台。简单地看,软交换所完成的功能相当于原有交换机所提供的功能。 软交换是实现传统程控交换机的呼叫控制功能的实体,但传统的呼叫控制功能 是和业务结合在一起的,不同的业务所需要的呼叫控制功能不同,而软交换则 是与业务无关的,这要求软交换提供的呼叫控制功能是各种业务的基本呼叫控 制。这样就解决了传统基于p s t n 网络交换的添加业务和相应管理困难的问题。 未来的软交换应该是尽可能简单的,智能则尽可能地移至外部的业务层。软交 换的主要功能包括媒体网关按入功能、呼叫控制功能、业务提供功能、资源管 理功能、互连互通功能等。 软交换设备位于控制层,提供多种业务的连接控制、路由、网络资源管理、 q o s 管理、认证与授权、计费等功能。软交换设备与各种媒体网关、终端、应 武汉理工大学硕士学位论文 用服务器及其它软交换设备间采用标准协议相互通信。 对应于n g n 的4 个功能层次,软交换体系按功能也分为4 层:边缘接入 层( 媒体接入层) 、核心交换层( 传输层) 、网络控制层( 控制层) 、业务管 理层( 业务及应用层) 。 下一代网络协议包含非对等和对等两类协议。非对等协议主要指媒体网关 控制协议h 2 4 8 m e g a c o :对等协议包括s i p 、h 3 2 3 、b i c c 等。由于历史 原因,n o n 系列协议有些相互补充,有些则相互竞争。h 2 4 8 m e g a c o 是一个 非对等主从协议,与其它协议配合可完成各种n g n 业务。s i p 、h 3 2 3 均为对等 协议,存在竞争关系,由于s i p 具有简单、通用、易于扩展等特性,逐渐发展成 为主流协议。各个协议的特点如下: ( 1 ) h 3 2 3 协议:h 3 2 3 是i t u t 第1 6 工作组的建议,它是一个框架性协 议,由一组协议构成。h 3 2 3 协议基于集中式对等结构,其优点是协议成熟, 定义完全,设备的稳定性强,互通性较好;缺点是协议复杂,成本高,不能与 n o 7 集成,不适用于组建大规模网络,且没有拥塞控制机制,服务质量不能得 到保证,效率和扩展性较差。 通常情况下,h 3 2 3 用于软交换与其终端、软交换与应用服务器或软交换与 h 3 2 3 网络的互通。 ( 2 ) m g c p 协议:m g c p 协议是h 3 2 3 电话网关分解的结果,由i e t f 的 m e g a c o 工作组制定,具体内容可参见 r f c 2 7 0 5 1 。 m g c p 协议基于主从结构,因此其解决方案有利于网关的互连,适合构建 大规模网络,且可以和n o 7 信令网关配合工作,能与n o 7 信令网良好集成,协 议具有很好的扩展性。此外。由于呼日q 控制与媒体处理分离,使得运营商可用 多个厂家的设备来构建网络。m c r c p 协议的缺点是m g c p 与h 2 4 8 m e g a c o 存在竞争关系,而后者已于2 0 0 0 年初由i e t f 和1 1 u 签署认可,很有可能被h 2 4 8 取代。 在软交换系统中,m g c p 协议主要用于软交换和媒体网关或软交换与m g c p 终端之间,软交换通过此协议控制媒体网关肿o c p 终端上的媒体控制流的连 接、建立和释放。 ( 3 ) h 2 4 8 协议:与m g c p 一样,m e g a c o 也是由i e t f 的m e g a c o 工 作组制定的,后来被提交给i t u t s g l 6 并被采纳,形成了i t u - t h 2 4 8 建议,因 而h 2 4 8 和m e g a c o 实质上是一样的,是i e t f 和i t u t 若同认可的标准协议。 武汉理工人学硕士学位论文 h 2 4 8 协议与m g c p 协议非常类似,m g c p 和h 2 4 8 均是网关分解的产物, 也是基于主从工作模式,所以具备m g c p 的所有优点,且h 2 4 8 独立于承载, 支持二进制和文本两种编码格式。其缺点是目前尚不完善,不成熟。 在软交换系统中,h 2 4 8 协议主要用于软交换和媒体网关或软交换与h 2 4 8 终端之间,软交换通过此协议控制媒体网关h 2 4 8 终端上的媒体控制流的连接、 建立和释放。 ( 4 ) s i p 协议:s i p 是i e t f 提出的在i p 网络上进行多媒体通信的应用层 控制协议,采用基于文本格式的客户机服务器的工作方式,由客户机发起请 求,服务器进行响应。s i p 独立于底层协议,采用自己的应用层可靠性机制来保 证消息的可靠传送。s i p 协议最大的特点是仅需利用已定义的消息头字段,对其 进行简单必要的扩充就能很方便地支持各项新业务和智能业务,具有很强的灵 活性和扩充性。 s i p 协议的优点是协议简单、灵活,很容易增加新业务,扩展性强,具备终 端能力检测、在线检测、支持移动性、组播等能力,而且采用文本格式,开发 人员容易理解,并被指定为3 g 的控制协议。,具有很大的发展前景。其缺点 是目前还不够成熟,需与其他协议配合使用。 在软交换系统中,s i p 协议用于软交换与s i p 终端、软交换与应用服务器或 软交换与s i p 网络的互通。 1 2 2n a t 技术概述 当i n t e r n e t 刚问世,人们设计了i p 地址( i p v 4 ) 分配方案。i p v 4 采用3 2 比 特长度来标识1 个i p 地址。理论上,有2 3 2 = 4 ,2 9 4 ,9 6 7 ,2 9 6 个地址空间可供分 配。当时人们认为这些地址足够使用了,但实际上可供使用的地址数量少于这 个数字,因为存在多播地址、测试及其它用途。出于管理考虑,i p 地址被划分 为不同的类别,如a 类、b 类、c 类,每种类别包含不同的主机数。这些i p 地 址按使用者网络规模的大小成段分给各个机构和组织,由于这些成段的i p 地址 是按类申请分配的,使用者由于难以预见到网络的规模只好尽可能申请包含更 多地址空间的类别。这样。使用中存在极大的浪费,反过来申请新的i p 地址段 也变得越来越困难。如表1 1 是i p v 4 地址的使用范围。 武汉理工大学硕士学位论文 表1 1i p v 4 地址的使用范围 网络类别最大网络数每个网络中的最大主机数 a1 2 6 1 6 ,7 7 7 ,2 1 4 b 1 6 3 8 26 5 ,5 3 4 c 2 ,0 9 7 ,1 5 0 2 5 4 解决这个问题的方法相继被提出。长期根本的解决方案是设计采用拥有更 大地址空间的新的i p 协议,如i p v 6 。短期的解决方案是c i d r ( c l a s s l e s s l i n e r d o m a i nr o u t i n g ) ,通过划分子网,可以更精确的匹配使用者的网络规模,减少 地址浪费。短期方案已经得到普遍使用,但还是不能满足i n t e m e t 世界主机数量 的指数增长对i p 地址的需求。1 9 9 4 年,在前人提出的采用i p 地址代理解决方 法的基础上,r f c l 6 3 1 提出采用n a t 来解决i p v 4 地址需求。 n a t 技术,即在一个网络内部的节点要与外部i n t e r a c t 网络进行通讯时, 网络中的i p 包从源地址在到达目的地址的过程中,n a t 就修改该i p 包的源、 目的地址( i p ) 和源、目的端口( p o r t ) ,通过这个修改将其内部自定义的i p 地址转换为合法的公用i p 地址并作好所有的转换记录;反之,n a t 也会进行反 向的修改,通过这两种可逆操作实现内部网和外部i n t e m e t 网的通讯。下面 讨论其工作原理。 t c p 是建立在所谓的连接抽象( c o n n e c t i o na b s t r a c t i o n ) 之上的,它所对应 的对象不是t c p 的一个单独的端口而是l 条虚电路连接,也就是说,t c p 是使 用连接而不是使用协议端口号作为基本的抽象概念一。在t c p 中连接是用l 对 端点来标识的。t c p 把端点( e n d p o i n t ) 定义为一对整数( h o s t ,p o r t ) ,因此可 以将1 条t c p 连接用1 个4 元组( s o u r c ea d d r e s s :$ 0 1 1 r c cp o r t ;d e s t i n a t i o na d d r e s s : d e s t i n a t i o np o r t ) 来定义,该4 元组唯一的标识一条连接。这样的一个连接抽象 允许多个连接共享1 个端点,例如2 条连接( 1 9 2 1 6 8 1 1 :1 1 8 4 ;1 9 2 1 6 8 1 3 :8 0 ) 、 ( 1 9 2 1 6 8 1 2 :1 1 8 4 ;1 9 2 1 6 8 1 3 :8 0 ) 共享同1 个端点( 1 9 2 1 6 8 1 - 3 :8 0 ) ,但又并 不会引起歧义,从而可以看出这种基于连接的抽象为利用1 个i p 地址进行外部 世界的访问提供了基础。u d p 协议和t c p 协议一样是通过一对i p 地址和端口号 来区分一对通信节点,这使得n a t 的实现对于这两种协议是透明的,即实现这 两种协议的n a t 处理方法是一致的。实际上,虽然u d p 是无连接的,但可以 武汉理工大学硕士学位论文 ne 将它作为虚连接来看待一。 对于i c m p 协议,由于没有端口号的概念,处理上无法使用端口号来区分。 考虑到i c m p 协议的头部特性,在实现n a t 处理时可以使用变通的方式,将p i n g 报文中的i d 字段作为源端口号处理,类型加代码字段作为目的端口号处理。这 样可以使i c m p 协议与t c p 和u d p 协议一样,共享相同的数据结构与实现方法。 通常,常规路由器只是机械地根据m 包中的目的i p 地址以及路由表,将 i p 数据报从一个网络转发给另一个网络,而n a t 网关在i n t e m e t 内部网络和 i n t e m e t 之间中继i p 数据报并非凭借目的i p 地址。,它的中继是面向连接的。 假设在局域网接入i n t e m e t 处有1 个n a t 网关,网关处理所有网络内外之 间的t c p i p 连接。n a t 网关具有内网端口和外网端口,2 个端口各被分配1 个 p 地址,其中外网端口的i p 地址是合法的全球唯一的i p 地址2 0 0 2 0 0 2 0 0 2 0 0 , 内网端口的l p 地址一般为保留地址,如设为1 9 2 1 6 8 1 1 当内部网络中的1 台主 机( 例如a ) 要访问i n t e m e t 上的w e b 服务器x ( 主机地址为2 0 2 2 0 2 2 0 2 2 0 2 ) , 那么首先a 要与x 建立t c p 连接,设定主机a 为此次连接分配的t c p 端口为 1 0 3 0 ,此时主机a 将i p 数据包( d _ 2 0 2 2 0 2 2 0 2 2 0 2 :8 ,s = 1 9 2 1 6 8 1 2 :7 0 3 0 ) 发 向n a t 网关,当n a t 接受到数据包后,会动态地分配1 个未用t c p 端口,例 如1 3 3 0 ,然后修改数据包中的地址为( d = 2 0 2 2 0 2 2 0 2 :8 0 ,弘2 0 0 2 0 0 2 0 0 2 0 0 : 1 3 3 0 ) ,计算数据包的校验和后发向i n t e m e t 。由此可以看到此数据包中已经不 含任何私有地址的信息。n a t 已经录下这对映射:( d = 2 0 2 2 0 2 2 0 2 2 0 2 :8 0 ,s = 1 9 2 1 6 8 1 2 :1 0 3 0 ) ( d = 2 0 2 2 0 2 2 0 2 :8 0 s = 2 0 0 2 0 0 2 0 0 2 0 0 :1 3 3 0 ) 。以后当n a t 接受到这二对主机间的任何1 个i p 分组时,n a t 网关会查询内部的映射记录表 格,根据这条映射关系使其顺利通过n a t ,反之亦然。 总之,n a t 的地址转换过程存在3 个不同的阶段: ( 1 ) 连接的映射关系的建立阶段。发生在会话的开始,当内部的1 台机器 要与外部的1 台机器发生通信时发生,n a t 动态地为其分配未使用的端口号, 并且会记下这个映射关系,为以后转发璩数据包使用。 ( 2 ) 映射关系的查找与转换阶段。当有外部进入的数据报或后续从内部出 去的数据报通过n a t 时,n a t 都在内部记录的映射表中进行查找,以便找到对 应的映射进行地址转换。 ( 3 ) 映射关系解除阶段。当连接使用完后,映射关系应该解除,释放分配 给这条连接的端口,以便以后的连接可以继续使用。通常实现中采用定时器中 武汉理工大学硕士学位论文 断的方式处理,在中断过程中调用释放无用连接的例程。 1 2 3 国内外研究现状 i n t e m e t 的迅速膨胀,使3 2 位的i p v 4 的地址空间面临被耗尽的境地,另一 方面也出于私有网络安全性的考虑,大量的企业网和驻地网都采用私有i p 地址, 通过出口的n a t 接入外网。私有i p 地址段是被保留的,在公网上不可以使用, 因此,每一个私有网络都能够重用这些被保留的私有i p 地址段。 n a t 置于两个网络的边界上,其功能是在外网i p 地址及端口和私网i p 地 址及端口之间进行映射。使用n a t 技术时,局域网内的终端之间进行呼叫 和通信时没有任何问题,但与外网终端进行通信时就会有问题产生:首先,局 域网内的终端不能收到外网终端的呼叫:其次,当局域网内的终端呼叫外部终 端时可以显示建立连接,但局域网内的终端不能收到外网终端发送的语音数据 包。这是因为控制i n t e r a c t 上信息流向的路由设备仅仅能把数据送到具有可路由 i p 地址( 公有i p 地址) 设备。 n a t 后的终端可以向位于相同局域网上的任何别的终端发起呼叫,是因为 在局域网内的这些璎地址是可路由的,然而它们的i p 地址是私有的,对局域网外 来说是不可路由的,因此n a t 后的终端不能接收局域网外终端的呼叫。 由于n a t 仅对i p 包的地址及端口号进行转换,而h 2 4 8 及s i p 等协议真正的 媒体连接信息是放在s d p 消息中传递的。当进行呼叫时,发起呼叫的终端a 的i p 地址会包含在数据包的s d p 消息中,根据s i p 协议被呼叫的终端b 收到呼叫建 立数据包后,会从该数据包的s d p 消息中获取终端a 的i p 地址,并开始发送音频 数据到这个i p 地址的终端a 。如果这个i p 地址是私有的,i n t e m e t i 络由器将丢弃从 外部终端发送往内部终端的数据包,因为这些数据包正被送往一个不可路由的i p 地址。这个呼叫将显示已经连接上,但n a t 后的终端a 将永远不会收到外部终端 b 的音频,即媒体流实际是无法真正建立起来的,也就是内网的s i p 用户在和外 网的用户通信时,由于s i p 协议的真正媒体连接信息放在s d p 消息中传递的,而 n a t 是无法对s d p 消息中的媒体连接信息做转换,就会给s i p 穿越n a t 带来问 题 2 0 2 1 2 2 1 。 基于上述原因,在内网和外网之间进行通信的n g n 设备必须设法解决穿越 n a t 问题。 目前业界对s i p 穿越n a t 有很多解决方案,比如a l g ( a p p l i c a t i o nl a y e r 武汉理工大学硕士学位论文 g a t e w a y s ,应用层网关) 方式,m i d c o m ( m i d d l e b o xc o m m u n i c a t i o n s ,中间盒 通讯) 方式,f u l lp r o x y 方式,s t u n ( s i m p l et r a v e r s a lo f u d pt h r o u g hn e t w o r k a d d r e s st r a n s l a t o r s ,u d p 对n a t 的简单穿越方式) 方式,t u r n ( t r a v e r s a lu s i n gr e l a yn a t ,使用接力的方式穿越n a t ) 方式。各种解决方案 互有利弊,业界并没有统一标准。本文结合s i p 协议着重介绍a l g 方式,并 给出了一种较好的实现方案。 1 3 本文主要工作以及组织结构 本文的主要任务是试图解决基于s i p 协议穿越n a t 的问题,并为此提了 s i p 应用层网关的解决方案,该方案是a l g 思想的一种,它通过在n a t 中加入 s i p 以及相关协议的认知能力并控制n a t 的某些行为来实现s i p 协议穿越n a t , 本文从工作原理和实现方式两个方面对这一方案进行详细的介绍。 本文第2 章对s i p 协议的体系结构、s i p 消息的格式以及s i p 协议的传输机 制进行了详细地介绍,简单的介绍了s d p 协议,另外介绍了目前业界的几种s i p 穿越n a t 的解决方案以及他们各自的优缺点;第3 章着重对s i p 应用层网关的 工作原理进行分析,从理论上对这一方案进行阐述;第4 章重点介绍s i p 应用层 网关具体的实现细节;最后,在文章的第5 章,作者对本文所做的工作进行了 总结,并对s i p 应用层网关以后的改进工作提出了一些建议。 武汉理工大学硕士学位论文 第2 章 sip 穿越n a t 的相关研究 2 1 s i p 协议概述 s i p ( s e s s i o ni n i t i a t i o np r o t o c 0 1 ) 称为会话初始协议,是由i e t f ( i n t e m e t e n g i n e e r i n gt a s kf o r c e ) 组织于1 9 9 9 年提出的一个在基于i p 网络中,特别是在 i n t e m e t 这样一种结构的网络环境中,通过建立、修改或结束一个或多个参与者 的会话,实现实时通信应用的一种信令协议。而所谓的会话。( s e s s i o n ) 就是 指用户之间的数据交换。在基于s i p 协议的应用中,每一个会话可以是各种不同 类型的内容,可以是普通的文本数据,也可以是经过数字化处理的音频、视频 数据,还可以是诸如游戏等应用的数据,应用具有巨大的灵活性。常见的会话 包括多媒体会议、i n t e r n e t 电话呼叫、多媒体分发等等。 作为一个i e t f 提出的标准,s i p 协议在很大程度上借鉴了其他各种广泛存 在的i n t e r n e t 协议,如肼( 超文本传输协议) ,s m t p ( 简单邮件传输协议) 等,和这些协议一样s i p 采用的也是基于文本的编码方式,这也是s i p 协议同视 频通信领域其他现有标准相比最大的特点之一。它是基于客户机服务器协议 一。客户机发出信息,被呼的服务器回答。s i p 使用了许多h 盯p 的消息类型 和报头域。用实体头( 内容类型描述) 标识信息流的内容,并且考虑了认证授 权。所使用的认证授权方法类似域w e b 中所使用的认证授权方法,但不同的是 s i p 可以运行在t c p 或者u d p 之上。当传输层是u d p 时。s i p 消患就可以以组 播方式传送,此时s i p 自身提供可靠传输机制。 s i p 中的通讯实体是客户端与服务器,遵循客户机服务器模式。s i p 网络 中的每个功能部分包含一个服务器、客户或两者兼具的实例。协议消息分为两 类:请求和响应。其中,请求消息从客户机发往服务器,响应消息则从服务 器发往客户机。协议消息的目的是建立或终止会话,该会话可以是i n t e m e t 多媒 体会议、i n t e m e t 电话呼叫或多媒体信息流分配。 s i p 是通过邀请的方法来建立会话的。由同一个源邀请的一个会议的所有参 加者构成一个呼叫,s i p 呼叫由一个全局唯一的呼叫标识( c a l l i d ) 予以标识。 点到点i p 电话会话是一种最安全的会话,它映射为单一的s i p 呼叫。在通常情 况下,呼叫由主叫方创建,但是一般说来,呼叫可由并不参与媒体通信的第三 武汉理工大学硕士学位论文 方创建,此时会话的主叫方和会话的邀请方并不相同。对于多播会议来说,一 个用户可能被不同的人邀请参加同一会议,那么每一个邀请应视作不同的呼叫。 对于基于m c u ( m u k i p o i n tc o n t r o lu n i t ,多点控制单元) 的会议,每个参会者 使用一个呼叫邀请自己加入m c u 。 正因为邀请是s i p 协议的核心机制,因此s i p 请求消息最重要的操作就是 邀请( i n v i t e ) 。发出邀请请求后,终结用户或网络应回送响应。在s i p 协议中, 响应分为两类。一类是中间响应,报告呼叫进展情况,如用户空闲、正在振铃 ( 提示用户) 等;另一类为最终响应,包括成功响应和异常失败响应。客户和 服务器之间的操作从第一个请求至最终响应为止的所有消息构成一个s i p 事务。 一个正常呼叫一般包含三个事务。其中,呼叫启动包含两个操作请求:邀请 ( i n v i t e ) 和证实( a c k ) ,前者需要服务器回送响应,后者只是证实己收到最 终响应,不需要服务器回送响应。呼叫终结包含一个操作请求:再见( b y e ) 。 每个事务的s i p 消息格式均相同,只是其调用的方法( 操作) 和头部参数有所不 同而己。 s i p 协议定义了呼叫( 会话) 建立、终结和修改的信息,不涉及媒体控制信 息。而媒体类型、编码格式、收发地址等信息由s d p 协议传送,并作为s i p 消 息的消息体( b o d y ) 和其头部一起传送。因此,支持基于s i p 的多媒体通信应用 的网元和终端必须能支持s d p 。s i p 响应消息的消息体还包括指示呼叫进展和失 败原因的文本信息。 为了能正确传送协议消息,s i p 还需要解决两个重要的问题。一是寻址,即 采用什么样的地址形式标识终端用户:二是用户定位。s i p 沿用w w w 技术解 决这两个问题。寻址采用s i pu r i ,按照r f c 2 3 9 6 规定的u r i 规则定义其语法, 特别是用户名字段可采用电话号码,以支持i p 电话网关寻址,实现i p 电话和 p s t n 的互通。而用户定位基于注册和d n s 机制。s i p 用户终端启动后即向注册 服务器( r e g i s t r a r ) 注册,s i p 专门为此定义了一个注册( r e g i s t e r ) 请求消息, 并规定了注册操作过程。注册服务器通常和代理服务器或重定向服务器在一起, 注册信息进入i p 网络公共的定位服务器,s i p 服务器可通过适当的协议访问该 服务器,确认用户的位置。注册服务器本身也能提供一定的定位服务。 s i p 的主要用途是发起会话,邀请成员加入由其它手段广播和建立的会话, 这些其它手段可以是s a p 、e - m a i l 、新闻组( n e w s g r o u p ) 、w e b 主页等。s i p 的设计是作为整个i e t f 多媒体数据和控制结构的一部分,该结构包含其它些 武汉理工大学硕士学位论文 协议:r s v p 、r t p 、r t s p 、s a p 和s d p 等,但s i p 的功能和操作不依赖于上 述任何协议。s i p 本身不提供会议控制服务( 如发言控制、投票等) ,也不能预 留资源,但是可用s i p 引入会议控制协议和资源预留协议。 总的来说,会话启动协议能够支持下列五种多媒体通信的信令功能: 1 ) 用户定位;确定参加通信的终端用户的位置; 2 ) 用户通信能力协商:确定通信的媒体类型和参数; 3 ) 用户意愿交互:确定被叫是否乐意参加某个通信; 4 ) 建立呼叫:包括向被叫振铃,确定主叫和被叫的呼叫参数: 5 ) 呼叫处理和控制:包括呼叫重定向、呼叫转移、终止呼叫等等。 2 2s lp 网络元素 s i p 的运行模式是服务器客户机模式,它定义了两类基本的网络实体:用户 代理和服务器。用户代理( u s e ra g e n tc l i e n t ) 负责向服务器发送请求,而服务 器则负责响应代理发出的请求。呼叫是从用户代理开始的,并终止于服务器。 用户代理部分一般运行在用户设备之上,例如p c 及或者终端设备。但是 s i p 的灵活配置也提供了可以同时运行用户代理和服务器的平台。s i p 所定义的 服务器一共有四种类型:代理服务器、重定向服务器、用户代理服务器和注册 服务器。 代理服务器( p r o x y ) 负责接收用户代理发出的请求以决定对该请求处理方 式。它可以向用户代理返回处理信息,也可以将代理呼叫转发传送到其他服务 器上,所以代理服务器集成了客户机和服务器的两种功能。代理服务器( p r o x y ) 分为有状态的( s 乜惦f i l l ) 和无状态的( s t a t e l e s s ) 两类,有状态的p r o x y 会记
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 军地驾校考试题及答案
- 课件无法导入手机问题
- 警校招聘考试题及答案
- 铸造碳化钨制管工工艺考核试卷及答案
- 钽铌化合物制取工岗前考核试卷及答案
- 缩醛化药液配制工工艺创新考核试卷及答案
- 烧碱盐水工上岗考核试卷及答案
- 纸面石膏板制备工质量管控考核试卷及答案
- 绒线编织工上岗考核试卷及答案
- 丙烯酸树脂装置操作工理念考核试卷及答案
- 2025年TCL集团校园招聘笔试模拟试题及答案解析
- 2021-2025年高考化学真题知识点分类汇编之氮及其化合物
- 2025-2026学年人教版小学劳动技术二年级上册教学计划及进度表
- 2025西藏日喀则市高级技工学校招聘专业实训指导教师和后勤保障人员20人备考练习题库及答案解析
- 危重患者安全转运指南
- 2025中级经济师《建筑与房地产经济》章节千题
- 医院医患纠纷处理课件
- 2025-2026学年人教鄂教版(2024)小学科学三年级上册教学计划及进度表
- 手机行业知识培训课件
- 湖北省腾云联盟2026届高三8月联考物理(含答案)
- 教学资料管理制度
评论
0/150
提交评论