CN100539504C - 一种网络地址转换和/或防火墙穿越平台、系统及其方法 - Google Patents

一种网络地址转换和/或防火墙穿越平台、系统及其方法 Download PDF

Info

Publication number
CN100539504C
CN100539504C CNB2006100579325A CN200610057932A CN100539504C CN 100539504 C CN100539504 C CN 100539504C CN B2006100579325 A CNB2006100579325 A CN B2006100579325A CN 200610057932 A CN200610057932 A CN 200610057932A CN 100539504 C CN100539504 C CN 100539504C
Authority
CN
China
Prior art keywords
server
pass
passing
address
user side
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2006100579325A
Other languages
English (en)
Other versions
CN101030865A (zh
Inventor
俞小良
王松
龚文国
杨安国
张绍鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Networks Technology Beijing Co Ltd
Original Assignee
Siemens Ltd China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Ltd China filed Critical Siemens Ltd China
Priority to CNB2006100579325A priority Critical patent/CN100539504C/zh
Publication of CN101030865A publication Critical patent/CN101030865A/zh
Application granted granted Critical
Publication of CN100539504C publication Critical patent/CN100539504C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种网络地址转换和/或防火墙穿越系统及其方法,为了解决NAT和/或防火墙的穿越问题,提供了一穿越平台,以根据用户端网络环境决定穿越方法并根据穿越服务器的状态决定使用哪台穿越服务器,已达到对于用户端来说无差别的穿越NAT和/或防火墙,并且使穿越的性能最优。

Description

一种网络地址转换和/或防火墙穿越平台、系统及其方法
技术领域
本发明涉及网络通信系统和方法,特别涉及一种网络地址转换和/或防火墙穿越平台、系统及其方法。
背景技术
随着越来越多的家庭和小型企业添置计算机,它们会发现网络是一种非常强大的计算机资源共享工具。Internet连接则是网络上更珍贵的资源。为共享Internet连接同时利用价格便宜、管理简单的家庭或小型办公网络,需要部署Internet网关。Internet网关通常将网络地址转换(NAT:Network Address Translation)作为将内网多个主机连接到Internet以共享单个公共IP地址的途径。
大量的企业网和驻地网基本上都采用了私有IP地址通过出口的网络地址转换/防火墙(NAT/FW)接入公网。防火墙用于限制数据包无限制的进入网络内。一般是设定一些包过滤原则,防火墙通过检查数据包的原地址、目标地址、原端口、目标端口和协议来判断数据包是否符合过滤原则,符合的才可以通过防火墙。实际应用时通常将一些需要外界访问的服务器,如Web服务器等放在这个区域内,防火墙配制成让所有发往这些服务器的对应端口的数据可以通过。
NAT用于使多台私网内的主机通过较少的公网地址访问公网,同时能够隐藏私网IP、保护私网内主机不受外界攻击。它的原理是当私网内主机需要访问公网时,由NAT服务器动态分配一个空闲的公网地址给该主机,当该主机不再需要访问公网时(例如该主机长时间没有向公网发送或从公网接收报文时),NAT服务器将回收已分配的公网地址。
“NAT穿越”是这样一组功能:它允许网络应用程序能明确自己位于NAT设备的后面,获得外部IP地址,并将端口映射配置为将NAT外部端口的数据包转发给应用程序所用的内部端口,而所有这些都是自动完成的,因此用户不必手动配置端口映射或其他类似的方面。
尽管“NAT穿越”可以解决与通过NAT设备进行连接时有关的多种问题,但还有“NAT穿越”无法解决的问题,并且该解决方案却会破坏多种网络应用程序。例如多玩家游戏、实时通讯及其它对等服务。如果在公用Internet上使用专用地址或同时使用同一端口号,这些应用程序就会中止。应用程序必须使用公共地址,且每个会话都须使用唯一的端口号。大型机构有专门的IT人员来确保其公司应用程序在NAT上正常使用,但较小的机构和消费者却不具备这样奢侈的条件。
许多互联网应用程序提供商开始着眼于穿越技术的一些冲突问题。发展了解决现有NAT/FW穿越冲突的技术与方法,例如简单UDP穿越NAT(STUP:Simple Traversal of UDPthrough NAT),中继NAT实现的穿透(TURN:Traversal Using Relay NAT);互动式连接建立(ICE:Interactive Connectivity Establishment);NAT应用级网关(ALG:applicationlayer gateway);MIDCOM(Middlebox Communications Protocol);通用即插即用(UPnP:Universal Plug and Play);代理服务器(FULL PROXY)和HTTP信道(HTTP Tunnel)等技术能够解决NAT/FW穿越的一部分问题,但是却没有办法完全解决这些问题。
STUN和TURN技术的不足在于,在开始通信前需要使用STUN或者TURN的代理获得公网IP地址,构造NAT设备的地址转换表,在接下来的数据包中将私有IP地址改为公网IP地址。STUN不能在对称NAT中穿越,TURN能够支持所有类型NAT的穿越,但是它们都不能支持穿越防火墙。
ICE是一种标准化的方法,使会话初始化协议(SIP:Session Initiation Protocol)客户端(或者是基于其他多媒体会话协议的客户端)能够确定客户端之间存在的是哪一种类型的NAT防火墙,并且确定一连串可以用于实现连接的IP地址。通过使用多种协议及网络连接机制,如STUN、中继NAT实现的穿透(Traversal Using Relay NAT,TURN)和特定域IP(RealmSpecific IP,RSIP)。但是,它却不能穿越用户数据报协议(UDP)受限的防火墙。
ALG技术,不但要修改IP数据包的头,还必须对每一条SIP信令中涉及的路由信息进行改写。在网络的通信流量大时,容易形成网络瓶颈,破坏网络端到端的透明性,使用上具有一定的局限性。另外,对于用户来说,必须更换或升级他们的路由器或防火墙,并且随着相关协议的发展和扩充,设备也必须跟着进行升级。
MidCom技术,基本框架是采用可信的第三方(MIDCOM Agent)对Middlebox(NAT/FW)进行控制。由于识别应用协议的功能从Middlebox移到外部的MIDCOM Agent上,根据MIDCOM的结构,在不需要更改Middlebox基本特性的基础上,通过对MIDCOM Agent的升级就可以支持更多的新业务,这是相对NAT/ALG方式的一个很大的优势。Middlebox功能可驻留在NAT/Firewall,通过软交换设备(即MIDCOM Agent)对H323、SIP、MGCP/H248协议数据包识别和对NAT/Firewall的控制,来完成VOIP应用穿越NAT/Firewall。但是,现有的NAT/FW设备必须升级,以使之支持MidCom接口和第三方,这个缺点就如同ALG一样。
代理服务器(Full Proxy)的位置类似于网关,都位于网络边缘。它具备了私有IP地址和公网IP地址。代理服务器在VoIP应用中,将VoIP分为两个部分,一个是从内部终端到代理服务器,另一个是从代理服务器到另一终端(可能是软交换或者是终端)。它有其优点,但是需要改变网络部署,并且降低网络安全等级。
UpnP是一种智能终端普通点对点网络连接的结构,包括无线设备,PC以及各种形式的装置。其被设计为便于使用,特别是在无人值守下的网络环境(包括家中、小型公司、公共场所或者互联网)中的标准。用户可以不用对网络中额外的设备进行部署。但是,需要修改应用客户端以支持UPnP功能,并且NAT/FW也要支持UPnP功能。
使用HTTP信道进行穿越,要在应用程序进行数据传输之前建立HTTP信道。并且将所有信号包和数据包通过这个HTTP信道进行传输。在HTTP信道建立之前需要进行HTTP的认证或者自动执行配置脚本。这样,能够保证在最坏环境中的IP应用程序穿越各种类型的防火墙和NAT,并且不用修改任何网络安全装置。但是,由于使用TCP协议传输实时数据,并且会造成3倍的路由,这样使得应用程序的服务质量(QoS:Quality of Service)被降低。HTTP信道只是被用来穿越被限制UDP和HTTP认证防火墙的,所以这是穿越中最后使用的方法。
以上的大多数解决方案都需要更新现有的设备,不能穿越所有类型的防火墙,并且不能支持管理机制和最优化功能,所以都很难配置。
发明内容
本发明的目的在于提供一种网络地址转换和/或防火墙穿越方法,简单化网络应用程序,在不需要支持任何额外协议的前提下使网络应用程序穿越各种NAT/FW。
本发明目的还在于提供一种网络地址转换和/或防火墙穿越平台,在不损失安全的前提下有效的穿越所有类型的NAT/FW,并且提供管理机制以降低网络连接路径,并且平衡网络负载。
本发明的目的还在于提供一种网络地址转换和/或防火墙穿越系统,在不损失安全的前提下有效的穿越所有类型的NAT/FW,并且提供管理机制以降低网络连接路径,并且平衡网络负载。
一种网络地址转换和/或防火墙的穿越方法,包括如下步骤:
步骤1,用户端通过穿越代理,将用户端网络环境信息通过网络地址转换设备和/或防火墙发送到穿越平台;
步骤2,所述穿越平台根据该用户端网络环境信息和穿越策略信息,确定穿越方式并将穿越方式信息返回给所述用户端;
步骤3,所述用户端通过穿越代理使用相应的穿越方式,使所述用户端与相应的应用程序服务器通信。
所述步骤2包括:
穿越调度步骤,将通过穿越代理的所述用户端的网络环境信息作为穿越策略步骤的输入,并将穿越策略步骤的处理结果通过穿越代理传递给所述用户端;
穿越策略步骤,根据所述用户端的网络环境信息和穿越策略信息确定一穿越方式,并将该穿越方式传信息作为所述穿越调度步骤的输入。
还包括一穿越负载平衡步骤,采集穿越服务器的信息并作为所述穿越策略步骤的输入;
确定穿越方式时,如果需要使用穿越服务器,则采集穿越服务器的信息以确定所要使用的穿越服务器,并将该信息和所述穿越方式信息一同作为所述穿越调度步骤的输入。
所述穿越策略步骤根据用户端网络环境信息,穿越服务器信息和穿越策略信息,以确定穿越方法和一个穿越服务器,并将上述处理结果作为所述穿越调度步骤的输入。
所述穿越策略步骤根据用户端网络环境信息,穿越服务器信息和穿越策略信息,以确定穿越方法和两个穿越服务器,其中一个穿越服务器用于传送承载信令的数据包,另一个穿越服务器用于传送承载数据的数据包,并将上述处理结果作为所述穿越调度步骤的输入。
还包括运营商管理步骤,由运营商管理控制所述穿越平台,并制定所述穿越策略。
所述穿越策略信息包括指定用户端使用与其路由距离近的穿越服务器,或者使用负载最小的穿越服务器。
还包括穿越定位步骤,存储所述穿越策略、所述穿越平台、所述穿越服务器和所述应用程序服务器的信息,在进行所述穿越策略步骤中提供相关信息。
如果用户端通过穿越代理与穿越服务器建立了信令信道和数据信道,并且当没有数据需要传输时,则保持信令信道,拆除数据信道;在用户端注销时,则拆除信令信道和数据信道。
所述穿越服务器的信息包括穿越服务器的负载情况,和穿越服务器的地址信息。
所述用户端网络环境是指用户端的网络地址转换设备和/或防火墙的类型。
一种网络地址转换和/或防火墙穿越平台,包括:
穿越策略服务器,用于根据所述用户端网络环境信息,穿越策略信息确定穿越方式;
穿越调度服务器,通过网络地址转换设备和/或防火墙和穿越代理与所述用户端相连接,另一端与所述穿越策略服务器相连接,用于将所述用户端网络环境信息传送给所述穿越策略服务器,并将所述穿越策略服务器的处理结果通过所述穿越代理传递给所述用户端。
所述穿越平台还包括:穿越负载平衡服务器,与所述穿越策略服务器相连接,另一端与穿越服务器相连接,用于采集穿越服务器的信息并传递给所述穿越策略服务器;
穿越服务器,与所述穿越平台内的穿越负载平衡服务器相连接,在所述穿越平台决定穿越服务器和穿越方式后,实现所述用户端与所述应用程序服务器之间的通信。
所述穿越平台还包括:一运营商管理服务器,分别与所述穿越调度服务器,穿越策略服务器、穿越负载平衡服务器相连接,用于运营商管理控制所述穿越平台,并制定穿越策略。
所述穿越平台还包括:一穿越定位服务器,与所述穿越策略服务器、运营商管理服务器相连接,存储穿越策略、穿越平台、穿越服务器和应用程序服务器的信息,向所述穿越策略服务器提供相关信息。
一种网络地址转换和/或防火墙穿越系统,包括:
用户端通过穿越代理与网络地址转换设备和/或防火墙通信;
穿越平台,通过网络地址转换设备和/或防火墙和穿越代理与所述用户端相连接,根据用户端网络环境、穿越策略信息,确定用户端相应的穿越方式并将该穿越方式信息返回给所述用户端;
应用程序服务器,通过所述网络地址转换设备和/或防火墙和所述穿越代理与所述用户端相连接,向所述用户端提供服务。
所述穿越平台包括:
穿越策略服务器,用于根据所述用户端网络环境信息,穿越策略信息确定穿越方式;
穿越调度服务器,通过所述网络地址转换设备和/或防火墙和所述穿越代理与所述用户端相连接,另一端与所述穿越策略服务器相连接,用于将所述用户端网络环境信息传送给所述穿越策略服务器,并将所述穿越策略服务器的处理结果通过所述穿越代理传递给所述用户端。
所述穿越平台还包括穿越负载平衡服务器,与所述穿越策略服务器相连接,另一端与穿越服务器相连接,用于采集穿越服务器的信息并传递给所述穿越策略服务器;
穿越服务器,与所述穿越平台内的穿越负载平衡服务器相连接,在所述穿越平台决定穿越服务器和穿越方式后,实现所述用户端与所述应用程序服务器之间的通信。
还包括一运营商管理服务器,分别与所述穿越调度服务器,穿越策略服务器、穿越负载平衡服务器相连接,用于运营商管理控制所述穿越平台,并制定穿越策略。
还包括一穿越定位服务器,与所述穿越策略服务器、运营商管理服务器相连接,存储穿越策略、穿越平台、穿越服务器和应用程序服务器的信息,向所述穿越策略服务器提供相关信息。
穿越代理为一相对于用户端独立的穿越代理服务器,用于代理转发所述用户端与网络中其他设备之间的数据。
所述穿越代理为一集成于用户端的穿越代理服务软件,用于代理转发所述用户端与网络中其他设备之间的数据。
所述穿越平台为一台计算机。
本发明的有益效果在于,使局域网内部的用户终端程序可以穿越所有类型的NAT和/或防火墙,穿越与应用软件无关,不需要更改现有的应用软件,通过选择最佳的穿越服务器,使网络负载平衡,并能够取得最佳路由,使应用软件更加快速的连接,特别是对一些即时通信软件的通信效果更好。
附图说明
图1为本发明系统结构图;
图2为本发明方法使用穿越服务器TS流程图;
图3A为本发明方法SIP协议数据对非对称型NAT和不禁止UDP协议的防火墙穿越的Sip终端用户注册过程图;
图3B为本发明方法SIP协议数据对非对称型NAT和不禁止UDP协议的防火墙穿越的Sip终端用户邀请过程图;
图3C为本发明方法SIP协议数据对非对称型NAT和不禁止UDP协议的防火墙穿越的Sip终端用户被邀请过程图;
图3D为本发明方法SIP协议数据对非对称型NAT和不禁止UDP协议的防火墙穿越的Sip终端用户注销过程图;
图4A为本发明方法SIP协议数据对对称型NAT和非禁止UDP协议的防火墙穿越的Sip终端用户注册过程图;
图4B为本发明方法SIP协议数据对对称型NAT和非禁止UDP协议的防火墙穿越的Sip终端用户邀请过程图;
图4C为本发明方法SIP协议数据对对称型NAT和非禁止UDP协议的防火墙穿越的Sip终端用户被邀请过程图;
图4D为本发明方法SIP协议数据对对称型NAT和不禁止UDP协议的防火墙穿越的Sip终端用户注销过程图;
图5A为本发明方法SIP协议数据对对称型NAT和禁止UDP协议的防火墙穿越的Sip终端用户注册过程图;
图5B为本发明方法SIP协议数据对对称型NAT和禁止UDP协议的防火墙穿越的Sip终端用户邀请过程图;
图5C为本发明方法SIP协议数据对对称型NAT和禁止UDP协议的防火墙穿越的Sip终端用户被邀请过程图;
图5D为本发明方法SIP协议数据对对称型NAT和禁止UDP协议的防火墙穿越的Sip终端用户注销过程图。
具体实施方式
下面,结合附图对于本发明进行如下详细说明。
本发明可以用于交互式网络电视(交互式网络电视)、VoIP(Voice over InternetProtocol)等穿越NAT和/或防火墙的实际应用中。
图1为本发明系统结构图。如图所示,用户端应用程序向穿越代理服务器(TA:TraversalAgent)发送数据包(同时,也可以将穿越代理服务器制作成硬件或软件模块形式集成于用户端),要求通过防火墙或NAT与应用程序服务器(AS:Application Server)通信。可以将TA与用户终端可以置于同一台计算机中,也可以成为一台独立的计算机(在本例中为一台独立的计算机)。所有有关于网络的应用程序数据包都经过TA,可以在局域网内的路由表内加入TA路由路径。TA向穿越平台OAM中的穿越调度服务器(TDS:Traversal Dispatch Server)传送网络环境信息,该信息包括TA是在什么类型的NAT(对称性或非对称性NAT设备)或者是防火墙之后的。同时,由OAM中的穿越负载平衡服务器(TBS:Traversal Balance Server)收集该穿越平台管理着的穿越服务器(TS:Traversal Server)的负载情况,和其地址等信息,并按照一预定时间自动向穿越策略服务器(TPS:Traversal Policy Server)传送该信息。在穿越定位服务器(TLS:Traversal Location Server)中存储TPS的策略,TBS采集的TS的状态信息,和应用程序穿越时需要的信息。还包括一个穿越管理服务器(TMS:Traversal Management Server),用于运营商配置穿越策略,给TA分配符合条件的穿越服务器TS,例如,网络中有5台穿越服务器TS,其中4台穿越服务器的负载比较大,则由运营商决定是以路由优先还是以负载平衡优先分配给TA合适的穿越服务器,如果运营商决定以路由优先则分配给TA在路由上离TA最近的穿越服务器,如果选择以负载平衡优先考虑则分配给TA一台虽然路由上稍远但是负载却不很重的穿越服务器,这可以根据运营商的配置实现;而且还可以根据要传送的应用程序的类型和传送数据包业务类型决定使用相应的应用程序服务器AS,根据不同的应用设置不同的策略;运营商还可以通过设置规定允许通过该穿越平台的业务类型,Sip协议或基于其他协议的业务;按穿越策略服务器的地址选择穿越策略服务器等等策略。穿越策略服务器TPS在收到穿越调度服务器TDS传送的TA端所在网络情况,和穿越负载平衡服务器TBS收集的穿越服务器TS的负载和地址情况,按照运营商设置的特殊策略或者默认的决定穿越方式,并向TA返回最佳的TS地址,以使TA与TS之间进行通信。
作为优选实施例,穿越服务器TS可以分为两种穿越服务器,一种是专门用于信令数据包穿越的服务器,另一种是专门用于有数据内容的数据包(例如实时传输协数据包RTP)的穿越服务器,因为在穿越中信令的穿越消耗网络资源并不是很大,而多媒体数据包或者其他的数据类型的数据包对穿越服务器的消耗是很大的,所以穿越策略服务器TPS可以根据要进行穿越的数据包属于信令数据包还是多媒体类型的数据包指定给相应类型的穿越服务器TS,这样使得穿越服务器的负载更加平衡。
图2所示为本发明方法使用穿越服务器TS流程图。步骤201,穿越代理服务器TA向穿越调度服务器TDS传送用户端网络环境信息。步骤202,穿越负载平衡服务器TBS采集穿越服务器TS的信息(包括路由地址信息和负载状态信息等)。步骤203,穿越策略服务器TPS根据TDS和TBS的信息,确定穿越代理服务器TA的穿越方式和要使用的穿越服务器TS。步骤204,穿越策略服务器TPS通过穿越调度服务器TDS向穿越代理服务器TA传送该信息。步骤205,穿越代理服务器TA与穿越服务器TS之间建立信道,并传送数据。步骤206,穿越服务器TS与应用程序服务器建立连接,传送数据。
下面例举最流行的一种通信协议会话初始协议(SIP:Session Initiation Protocol)描述确定穿越方式的结果:
表1:决策条件和处理结果表
 
NAT类型 防火墙类型 在TA和TS之间是否使用TCP/HTTP 是否包括TS       应用策略
非对称 不禁止UDP协议 使用stun方式穿越
对陈 不禁止UDP协议 使用turn方式穿越
非对称 禁止UDP协议 建立UDP信道方式穿越               
对称 禁止UDP协议 建立TCP/HTTP信道进行穿越,并返回网络中离TA最近的TS地址,将其作为穿越服务器。(以减少TCP协议传送RTP数据包时的负面影响)                 
下面实施例中的Sip终端为在防火墙或NAT后面的内网用户终端;
userA是Sip终端的标识,称为Sip终端ID;
userA@userA.domain,@后面的是能够路由到该Sip终端的路由地址,在实施例中还有@userB.domain,@NAT/FW.domain,该路由地址可以为IP地址,也可以为域名。
userB为公网用户终端,也可以是在防火墙或NAT后面的内网用户终端;
Sip服务器为提供Sip服务的服务器,能够将主叫端的数据传送给被叫端。
图3A为本发明方法SIP协议数据对非对称型NAT和不禁止UDP协议的防火墙穿越的Sip终端用户注册过程图。
用户端应用程序即为Sip终端,向穿越代理服务器TA发送注册请求,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述与主叫端一致;信令地址Contact为:userA@userA.domain,其中userA是Sip终端ID,userA.domain为Sip终端地址。
穿越代理服务器TA将用户信息和网络环境的检测信息(包括NAT和/或防火墙的类型等)穿过NAT和/或防火墙传送给穿越调度服务器TDS,并由穿越调度服务器TDS请求穿越策略服务器TPS分配给该注册Sip终端一合适的穿越服务器和穿越方法,穿越策略服务器TPS根据穿越调度服务器TDS传送的信息,和穿越服务器的TS的状态(包括负载、路由地址等)返回将使用的穿越服务器TS和相应的穿越方法(本例中为STUN)。
穿越调度服务器TDS接收到该信息后,因为该方式不需要穿越服务器TS,所以只向穿越代理服务器TA传送穿越方法STUN。决定了穿越方式后,穿越代理服务器TA利用STUN的穿越方式向Sip服务器发送注册信息,穿越代理服务器TA发送信息的主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述与主叫端一致;信令地址Contact为:userA@NAT/FW.domain,其中userA是Sip终端ID,NAT/FW.domain为防火墙或NAT地址。并建立并保持一条UDP的逻辑通道C.1。
Sip服务器向穿越代理服务器TA返回200OK确认信息,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述与主叫端一致;信令地址Contact为:userA@NAT/FW.domain,其中userA是Sip终端ID,NAT/FW.domain为防火墙或NAT地址。
由穿越代理服务器TA修改接收到的Sip服务器的确认信息,主叫端和被叫端的内容不变,将信令地址改为userA@userA.domain,其中userA是Sip终端ID,userA.domain为Sip终端地址,并将该200OK确认数据包转发给Sip终端。
图3B为本发明方法SIP协议数据对非对称型NAT和不禁止UDP协议的防火墙穿越的Sip终端用户邀请过程图。
Sip终端向Sip服务器发出邀请请求,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述为:userB@register.domain,其中userB是被叫端用户ID,register.domain是Sip服务器地址;信令地址Contact为:userA@userA.domain,其中userA是Sip终端ID,userA.domain为Sip终端地址;媒体数据包地址SDP描述为,IPA:PortA,媒体数据包的地址为Sip终端IP地址:IPA,使用的是Sip终端PortA端口。
穿越代理服务器TA转发Sip终端的邀请数据包,主叫端与被叫端的描述没有变化,而信令地址改变为:userA@FW/NAT.domain,其中userA是Sip终端ID,FW/NAT.domain为防火墙或NAT的地址;媒体数据包SDP地址改变为:IPFW/NAT:PortFW/NAT,其中IPFW/NAT为防火墙或NAT的IP地址,PortFW/NAT为使用防火墙或NAT的端口。
这样,穿越代理服务器TA与Sip代理服务器建立一条信令的UDP逻辑信道C.1。
Sip服务器通过防火墙或NAT向穿越代理服务器TA返回一200OK确认信息,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述为:userB@register.domain,其中userB是被叫端用户ID(公网上的用户),register.domain是Sip服务器地址;信令地址Contact为:userB@userB.domain,其中userB是被叫端用户ID,userB.domain为被叫用户地址;数据包地址SDP描述为,IPB:PortB,数据包的地址为被叫用户地址:IPB,使用的是被叫用户的PortB端口。
穿越代理服务器TA向Sip终端用户转发该信息,在200OK确认中主叫端和被叫端的信息没有变化,信令地址为:userB@TA.domain,userB为被叫端用户ID,TA.domain为穿越代理服务器TA地址;媒体数据包地址为:IPTA:PortTA,IPTA为穿越代理服务器IP地址,PortTA为穿越代理服务器端口。
Sip终端向穿越代理服务器TA传送RTP数据包,穿越代理服务器TA通过与应用程序服务器(Sip服务器)建立的UDP媒体信道C.2互相传送数据。在没有媒体数据传输时仅关闭媒体信道C.2。
图3C为本发明方法SIP协议数据对非对称型NAT和不禁止UDP协议的防火墙穿越的Sip终端用户被邀请过程图。
由Sip服务器通过UDP逻辑信道C.1向Sip终端发出邀请请求,到达穿越代理服务器TA时的数据包信息,主叫端From的描述为:userB@register.domain,其中userB是主叫端用户ID,register.domain是Sip服务器地址;被叫端To的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;信令地址Contact为:userB@userB.domain,其中userB是主叫端用户ID,userB.domain为主叫端地址;媒体数据包地址SDP描述为,IPB:PortB,媒体数据包的地址为主叫端IP地址:IPB,使用的是主叫端的PortB端口。
穿越代理服务器TA向Sip终端转发该邀请请求时,主叫端与被叫端信息都没有变化,信令地址修改为:userB@TA.domain,其中userB是主叫端用户ID,TA.domain为发送该数据穿越代理服务器TA的地址;媒体数据包地址SDP描述为,IPTA:PortTA,媒体数据包的地址为穿越代理服务器TA的IP地址:IPTA,使用的是穿越代理服务器TA的PortTA端口。
Sip终端向穿越代理服务器TA返回200OK确认信息,主叫端与被叫端信息与接收的邀请请求主叫端与被叫端信息相同,信令地址为:userA@userA.domain,其中userA是Sip终端ID,userA.domain为Sip终端地址;媒体数据包地址SDP描述为,IPA:PortA;媒体数据包的地址为Sip终端IP地址:IPA,使用的是Sip终端PortA端口。
由穿越代理服务器TA通过UDP逻辑信道C.1穿越防火墙或NAT向Sip服务器传送该200OK确认,主叫端与被叫端信息没有变化,信令地址为:userA@FW/NAT.domain,其中userA是Sip终端ID,FW/NAT.domain为防火墙或NAT的公网地址;媒体数据包地址SDP描述为,IPFW/NAT:PortFW/NAT;媒体数据包的地址为:防火墙或NAT的公网IP地址(IPFW/NAT),端口使用的是防火墙或NAT的端口(PortFW/NAT)。
Sip终端向穿越代理服务器TA传送RTP数据包,穿越代理服务器TA通过与应用程序服务器(Sip服务器)建立的UDP媒体逻辑信道C.3互相传送数据。在没有媒体数据传输时仅关闭媒体信道C.3。
图3D为本发明方法SIP协议数据对非对称型NAT和不禁止UDP协议的防火墙穿越的Sip终端用户注销过程图。
Sip终端向穿越代理服务器TA传送注销信息,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;信令地址Contact为:userA@userA.domain,其中userA是Sip终端ID,userA.domain为Sip终端地址;Sip终端与Sip服务器的连接生命期为0。
穿越代理服务器TA通过防火墙或NAT向Sip服务器传送注销信息,主叫端与被叫端信息没有变化,信令地址修改为:userA@NAT/FW.domain,userA为Sip终端ID,信令地址为防火墙或NAT地址,该信息通过UDP的逻辑信道C.1传向Sip服务器。
Sip服务器通过UDP的逻辑信道C.1向穿越代理服务器TA返回200OK确认信息,主叫端、被叫端和信令地址的信息与其发送的注销信息相同。
穿越代理服务器TA向Sip终端用户返回200OK确认信息,主叫端与被叫端信息不变,信令地址修改为,userA@userA.domain,其中userA是Sip终端ID,userA.domain为Sip终端地址。Sip终端用户接收到确认信息后,即断开UDP逻辑信道C.1。
图4A为本发明方法SIP协议的数据对对称型NAT和非禁止UDP协议的防火墙穿越的Sip终端用户注册过程图。
用户端应用程序即为Sip终端,向穿越代理服务器TA发送注册请求,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述与主叫端一致;信令地址Contact为:userA@userA.domain,其中userA是Sip终端ID,userA.domain为Sip终端地址。
穿越代理服务器将用户信息和网络环境的检测信息穿过NAT和/或防火墙传送给穿越调度服务器TDS,并由穿越调度服务器TDS请求穿越策略服务器TPS分配给该注册Sip终端用户一合适的穿越服务器和穿越方法,穿越策略服务器TPS根据穿越调度服务器TDS传送的信息,和穿越服务器的TS的状态返回将使用的穿越服务器TS和相应的穿越方法(本例中使用TRUN方法进行穿越)。
穿越调度服务器TDS接收到该信息后,因为该方式需要穿越服务器TS,所以向穿越代理服务器TA传送穿越方法TRUN。决定了穿越方式后,穿越代理服务器TA利用TRUN的穿越方式在穿越代理服务器TA和穿越服务器TS间建立一条逻辑信道C.4。
穿越代理服务器TA通过逻辑信道C.4向穿越服务器TS传送注册信息,其中主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述与主叫端一致;信令地址Contact为:userA@TA.domain,其中userA是Sip终端ID,TA.domain为穿越代理服务器TA地址。
穿越服务器TS向Sip服务器发送该注册信息,其中主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述与主叫端一致;信令地址Contact为:userA@TS.domain,其中userA是Sip终端ID,TS.domain为穿越代理服务器地址。
Sip服务器向穿越服务器TS返回200OK确认,其中主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述与主叫端一致;信令地址Contact为:userA@TS.domain,其中userA是Sip终端ID,TS.domain为穿越代理服务器地址。
穿越服务器TS通过UDP逻辑信道C.4向穿越代理服务器TA传送该200OK确认,其中主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述与主叫端一致;信令地址Contact为:userA@TA.domain,其中userA是Sip终端ID,TA.domain为穿越代理服务器地址。
穿越代理服务器TA向Sip终端传送该200OK确认,其中主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述与主叫端一致;信令地址Contact为:userA@userA.domain,其中userA是Sip终端ID,userA.domain为Sip终端地址。
图4B为本发明方法SIP协议数据对对称型NAT和非禁止UDP协议的防火墙穿越的Sip终端用户邀请过程图。
Sip终端向穿越代理服务器TA发出邀请请求,其中,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述为:userB@register.domain,其中userB是被叫端用户ID,register.domain是Sip服务器地址;信令地址Contact为:userA@userA.domain,其中userA是Sip终端ID,userA.domain为Sip终端地址;媒体数据包地址SDP描述为,IPA:PortA,媒体数据包的地址为Sip终端IP地址:IPA,使用的是Sip终端的PortA端口。
穿越代理服务器TA通过UDP逻辑信道C.4向穿越服务器TS传送邀请信息,其中,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述为:userB@register.domain,其中userB是被叫端用户ID,register.domain是Sip服务器地址;信令地址Contact为:TA@TA.domain,其中TA是穿越代理服务器用户ID,TA.domain为穿越代理服务器TA地址;媒体数据包地址SDP描述为,IPTA:PortTA,媒体数据包的地址为穿越代理服务器TA的IP地址:IPTA,使用的是穿越代理服务器TA的PortTA端口。
穿越服务器TS向Sip服务器传送邀请信息,其中,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述为:userB@register.domain,其中userB是被叫端用户ID,register.domain是Sip服务器地址;信令地址Contact为:TS@TS.domain,其中TS是穿越服务器用户ID,TS.domain为穿越服务器TS地址;媒体数据包地址SDP描述为,IPTS:PortTS,媒体数据包的地址为穿越服务器TS的IP地址:IPTS,使用的是穿越服务器TS的PortTS端口。
Sip服务器向穿越服务器TS返回200OK确认信息,其中,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述为:userB@register.domain,其中userB是被叫端用户ID,register.domain是Sip服务器地址;信令地址Contact为:userB@userB.domain,其中userB是被叫端用户ID,userB.domain为被叫端地址;媒体数据包地址SDP描述为,IPB:PortB,媒体数据包的地址为被叫端的IP地址:IPB,使用的是被叫端的PortB端口。
穿越服务器TS通过UDP逻辑信道C.4向穿越代理服务器TA传送该200OK确认信息,其中,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述为:userB@register.domain,其中userB是被叫端用户ID,register.domain是Sip服务器地址;信令地址Contact为:userB@TS.domain,其中userB是被叫端用户ID,TS.domain为穿越服务器TS地址;媒体数据包地址SDP描述为,IPTS:PortTS,媒体数据包的地址为穿越服务器TS的IP地址:IPTS,使用的是穿越服务器TS的PortTS端口。
穿越代理服务器TA向Sip终端传送该200OK确认信息,其中,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述为:userB@register.domain,其中userB是被叫端用户ID,register.domain是Sip服务器地址;信令地址Contact为:userB@TA.domain,其中userB是被叫端用户ID,TA.domain为穿越代理服务器TA地址;媒体数据包地址SDP描述为,IPTA:PortTA,数据包的地址为穿越代理服务器TA的IP地址:IPTA,使用的是穿越代理服务器TA的PortTA端口。
Sip终端与穿越代理服务器TA通过UDP传送RTP媒体数据包。穿越代理服务器TA与穿越服务器TS建立一媒体逻辑信道C.5,传送RTP媒体数据包。穿越服务器TS与Sip服务器通过UDP传送RTP媒体数据包。
图4C为本发明方法SIP协议的数据对对称型NAT和非禁止UDP协议的防火墙穿越的Sip终端用户被邀请过程图。
Sip服务器向穿越服务器TS发出邀请请求信息,其中,主叫端From的描述为:userB@register.domain,其中userB是主叫端用户ID,register.domain是Sip服务器地址;被叫端To的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;信令地址Contact为:userB@userB.domain,其中userB是主叫端用户ID,userB.domain为主叫端地址;媒体数据包地址SDP描述为,IPB:PortB,数据包的地址为主叫端IP地址:IPB,使用的是主叫端的PortB端口。
穿越服务器TS通过UDP逻辑信道C.4向穿越代理服务器TA传送邀请信息,其中,主叫端From的描述为:userB@register.domain,其中userB是主叫端用户ID,register.domain是Sip服务器地址;被叫端To的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;信令地址Contact为:userB@TS.domain,其中userB是主叫端用户ID,TS.domain为穿越服务器TS地址;媒体数据包地址SDP描述为,IPTS:PortTS,媒体数据包的地址为穿越服务器TS的IP地址:IPTS,使用的是穿越服务器TS的PortTS端口。
穿越代理服务器TA向Sip终端传送邀请信息,其中,主叫端From的描述为:userB@register.domain,其中userB是主叫端用户ID,register.domain是Sip服务器地址;被叫端To的描述为:userA@register.domain,其中userA是Si终端用户ID,register.domain是Sip服务器地址;信令地址Contact为:userB@TA.domain,其中userB是主叫端用户ID,TA.domain为穿越代理服务器TA地址;媒体数据包地址SDP描述为,IPTA:PortTA,媒体数据包的地址为穿越代理服务器TA的IP地址:IPTA,使用的是穿越代理服务器TA的PortTA端口。
Sip终端向穿越代理服务器TA返回200OK确认信息,其中,主叫端From的描述为:userB@register.domain,其中userB是主叫端用户ID,register.domain是Sip服务器地址;被叫端To的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;信令地址Contact为:userA@userA.domain,其中userA是Sip终端ID,userA.domain为Sip终端地址;媒体数据包地址SDP描述为,IPA:PortA,媒体数据包的地址为Sip终端的IP地址:IPA,使用的是Sip终端的PortA端口。
穿越代理服务器TA通过UDP逻辑信道C.4向穿越服务器TS传送该200OK确认信息,其中,主叫端From的描述为:userB@register.domain,其中userB是主叫端用户ID,register.domain是Sip服务器地址;被叫端To的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;信令地址Contact为:userA@TA.domain,其中userA是Sip终端ID,TA.domain为穿越代理服务器TA地址;媒体数据包地址SDP描述为,IPTA:PortTA,媒体数据包的地址为穿越代理服务器TA的IP地址:IPTA,使用的是穿越代理服务器TA的PortTA端口。
穿越服务器TS向Sip服务器传送该200OK确认信息,其中,主叫端From的描述为:userB@register.domain,其中userB是主叫端端用户ID,register.domain是Sip服务器地址;被叫端To的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;信令地址Contact为:userA@TS.domain,其中useA是Sip终端ID,TS.domain为穿越服务器TS地址;媒体数据包地址SDP描述为,IPTS:PortTS,媒体数据包的地址为穿越服务器TS的IP地址:IPTS,使用的是穿越服务器TS的PortTS端口。
Sip终端与穿越代理服务器TA通过UDP传送RTP媒体数据包。穿越代理服务器TA与穿越服务器TS建立一媒体逻辑信道C.6,传送RTP媒体数据包。穿越服务器TS与Sip服务器通过UDP传送RTP媒体数据包。当Sip终端用户userA与主叫端用户userB没有媒体数据要传送时,则关闭媒体信道C.6。
图4D为本发明方法SIP协议数据对对称型NAT和不禁止UDP协议的防火墙穿越的Sip终端用户注销过程图。
Sip终端向穿越代理服务器TA传送注销信息,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;信令地址Contact为:userA@userA.domain,其中userA是Sip终端ID,userA.domain为Sip终端地址;Sip终端与Sip服务器的连接生命期为0。
穿越代理服务器TA通过UDP逻辑信道C.4穿越防火墙或NAT向穿越服务器TS传送注销信息,主叫端与被叫端没有变化,信令地址修改为:userA@TA.domain,userA为Sip终端ID,信令地址为穿越代理服务器TA的地址,生命周期为0;该信息通过UDP的逻辑信道C.4传送。
穿越服务器TS向Sip服务器传送注销信息,主叫端与被叫端没有变化,信令地址修改为:userA@TS.domain,userA为Sip终端ID,信令地址为穿越服务器TS的地址,生命周期为0。
Sip服务器向穿越服务器TS返回200OK确认信息,主叫端、被叫端和信令地址都与其接收到的注销信息相同。
穿越服务器TS通过UDP的逻辑信道C.4向穿越代理服务器TA返回200OK确认,主叫端与被叫端信息不变,信令地址修改为:userA@TA.domain,userA为Sip终端ID,信令地址为穿越代理服务器TA的地址,生命周期为0。
穿越代理服务器TA向Sip终端用户返回200OK确认,主叫端与被叫端信息不变,信令地址修改为,userA@userA.domain,其中userA是Sip终端ID,userA.domain为Sip终端地址;生命周期为0。Sip终端用户接收到确认信息后,即断开UDP逻辑信道C.4。
图5A为本发明方法SIP协议数据对对称型NAT和禁止UDP协议的防火墙穿越的Sip终端用户注册过程图。
用户端应用程序为Sip终端,向穿越代理服务器TA发送注册请求,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述与主叫端一致;信令地址Contact为:userA@userA.domain,其中userA是Sip终端ID,userA.domain为Sip终端地址。
穿越代理服务器TA将用户信息和网络环境的检测信息穿过NAT和/或防火墙传送给穿越调度服务器TDS,并由穿越调度服务器TDS请求穿越策略服务器TPS分配给该注册用户端一合适的穿越服务器和穿越方法,穿越策略服务器TPS根据穿越调度服务器TDS传送的信息,和穿越服务器的TS的状态返回将使用的穿越服务器TS和相应的穿越方法(本例中为HTTP/TCP信道方式)。
穿越调度服务器TDS接收到该信息后,因为该方式需要穿越服务器TS,所以向穿越代理服务器TA传送HTTP/TCP信道穿越方法。决定了穿越方式后,穿越代理服务器TA与穿越服务器TS建立一条HTTP/TCP信道C.7。
穿越代理服务器TA通过信道C.7向穿越服务器TS传送注册信息,其中主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述与主叫端一致;信令地址Contact为:userA@TA.domain,其中userA是Sip终端ID,TA.domain为穿越代理服务器TA的地址。
穿越服务器TS向Sip服务器发送该注册信息,其中,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述与主叫端一致;信令地址Contact为:userA@TS.domain,其中userA是Sip终端ID,TS.domain为穿越代理服务器TS的地址。
Sip服务器向穿越服务器TS返回200OK确认信息,其中,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述与主叫端一致;信令地址Contact为:userA@TS.domain,其中userA是Sip终端ID,TS.domain为穿越代理服务器TS的地址。
穿越服务器TS通过HTTP/TCP信道C.7向穿越代理服务器TA传送该200OK确认,其中,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述与主叫端一致;信令地址Contact为:userA@TA.domain,其中userA是Sip终端ID,TA.domain为穿越代理服务器TA的地址。
穿越代理服务器TA向Sip终端传送该200OK确认,其中,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述与主叫端一致;信令地址Contact为:userA@userA.domain,其中userA是Sip终端ID,userA.domain为Sip终端地址。
图5B为本发明方法SIP协议数据对对称型NAT和禁止UDP协议的防火墙穿越的Sip终端用户邀请过程图。
Sip终端向穿越代理服务器TA发出邀请请求,其中,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述为:userB@register.domain,其中userB是被叫端用户ID,register.domain是Sip服务器地址;信令地址Contact为:userA@userA.domain,其中userA是Sip终端ID,userA.domain为Sip终端地址;媒体数据包地址SDP描述为,IPA:PortA,数据包的地址为Sip终端IP地址:IPA,使用的是Sip终端的PortA端口。
穿越代理服务器TA通过TCP/HTTP信道C.7向穿越服务器TS传送邀请信息,其中,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述为:userB@register.domain,其中userB是被叫端用户ID,register.domain是Sip服务器地址;信令地址Contact为:userA@TA.domain,其中userA是Sip终端ID,TA.domain为穿越代理服务器TA地址;媒体数据包地址SDP描述为,IPTA:PortTA,数据包的地址为穿越代理服务器TA的IP地址:IPTA,使用的是穿越代理服务器TA的PortTA端口。
穿越服务器TS向Sip服务器传送邀请信息,其中,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述为:userB@register.domain,其中userB是被叫端用户ID,register.domain是Sip服务器地址;信令地址Contact为:userA@TS.domain,其中userA是Sip终端ID,TS.domain为穿越服务器TS地址;媒体数据包地址SDP描述为,IPTS:PortTS,媒体数据包的地址为穿越服务器TS的IP地址:IPTS,使用的是穿越服务器TS的PortTS端口。
Sip服务器向穿越服务器TS返回200OK确认信息,其中,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述为:userB@register.domain,其中userB是被叫端用户ID,register.domain是Sip服务器地址;信令地址Contact为:userB@userB.domain,其中userB是被叫端用户ID,userB.domain为被叫端地址;媒体数据包地址SDP描述为,IPB:PortB,媒体数据包的地址被叫端IP地址:IPB,使用的是被叫端的PortB端口。
穿越服务器TS通过TCP/HTTP信道C.7向穿越代理服务器TA传送该200OK确认信息,其中,主叫端From的描述为:TS@register.domain,其中TS是穿越服务器用户ID,register.domain是Sip服务器地址;被叫端To的描述为:userB@register.domain,其中userB是被叫端用户ID,register.domain是Sip服务器地址;信令地址Contact为:userB@TS.domain,其中userB是被叫端用户ID,TS.domain为穿越服务器TS地址;媒体数据包地址SDP描述为,IPTS:PortTS,媒体数据包的地址为穿越服务器TS的IP地址:IPTS,使用的是穿越服务器TS的PortTS端口。
穿越代理服务器TA向Sip终端传送该200OK确认信息,其中,主叫端From的描述为:userA@register.domain,其中Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述为:userB@register.domain,其中userB是被叫端用户ID,register.domain是Sip服务器地址;信令地址Contact为:userB@TA.domain,其中userB是被叫端用户ID,TA.domain为穿越代理服务器TA地址;媒体数据包地址SDP描述为,IPTA:PortTA,媒体数据包的地址为穿越代理服务器TA的IP地址:IPTA,使用的是穿越代理服务器TA的PortTA端口。
穿越代理服务器TA与穿越服务器TS之间建立一条TCP/HTTP媒体信道C.8,并利用C.8传送多媒体数据包。当Sip终端与Sip代理服务器之间没有媒体信息需要传送时,则关闭该TCP/HTTP信道C.8,但是TCP/HTTP信道C.7还保持连接。
图5C为本发明方法SIP协议数据对对称型NAT和禁止UDP协议的防火墙穿越的Sip终端用户被邀请过程图。
Sip服务器向穿越服务器TS发出邀请请求信息,其中,主叫端From的描述为:
userB@register.domain,其中userB是主叫端用户ID,register.domain是Sip服务器地址;被叫端To的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;信令地址Contact为:userB@userB.domain,其中userB是主叫端用户ID,userB.domain为主叫端地址;媒体数据包地址SDP描述为,IPB:PortB,媒体数据包的地址为主叫端IP地址:IPB,使用的是主叫端的PortB端口。
穿越服务器TS通过TCP/HTTP信道C.7向穿越代理服务器TA传送邀请信息,其中,主叫端From的描述为:userB@register.domain,其中userB是主叫端用户ID,register.domain是Sip服务器地址;被叫端To的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;信令地址Contact为:userB@TS.domain,其中userB是主叫端用户ID,TS.domain为穿越服务器TS地址;媒体数据包地址SDP描述为,IPTS:PortTS,媒体数据包的地址为穿越服务器TS的IP地址:IPTS,使用的是穿越服务器TS的PortTS端口。
穿越代理服务器TA向Sip终端传送邀请信息,其中,主叫端From的描述为:userB@register.domain,其中userB是主叫端用户ID,register.domain是Sip服务器地址;被叫端To的描述为:userA@register.domain,其中userA是Si终端用户ID,register.domain是Sip服务器地址;信令地址Contact为:userB@TA.domain,其中userB是主叫端用户ID,TA.domain为穿越代理服务器TA地址;媒体数据包地址SDP描述为,IPTA:PortTA,媒体数据包的地址为穿越代理服务器TA的IP地址:IPTA,使用的是穿越代理服务器TA的PortTA端口。
Sip终端向穿越代理服务器TA返回200OK确认信息,其中,主叫端From的描述为:userB@register.domain,其中userB是主叫端用户ID,register.domain是Sip服务器地址;被叫端To的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;信令地址Contact为:userA@userA.domain,其中useA是Sip终端ID,userA.domain为Sip终端地址;媒体数据包地址SDP描述为,IPA:PortA,媒体数据包的地址为Sip终端的IP地址:IPA,使用的是Sip终端的PortA端口。
穿越代理服务器TA通过TCP/HTTP信道C.7向穿越服务器TS传送该200OK确认信息,其中,主叫端From的描述为:userB@register.domain,其中userB是主叫端用户ID,register.domain是Sip服务器地址;被叫端To的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;信令地址Contact为:userA@TA.domain,其中userA是Sip终端ID,TA.domain为穿越代理服务器TA地址;媒体数据包地址SDP描述为,IPTA:PortTA,媒体数据包的地址为穿越代理服务器TA的IP地址:IPTA,使用的是穿越代理服务器TA的PortTA端口。
穿越服务器TS向Sip服务器传送该200OK确认信息,其中,主叫端From的描述为:userB@register.domain,其中userB是主叫端用户ID,register.domain是Sip服务器地址;被叫端To的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;信令地址Contact为:userA@TS.domain,其中useA是Sip终端ID,TS.domain为穿越服务器TS地址;媒体数据包地址SDP描述为,IPTS:PortTS,媒体数据包的地址为穿越服务器TS的IP地址:IPTS,使用的是穿越服务器TS的PortTS端口。
穿越代理服务器TA与穿越服务器TS之间建立一条TCP/HTTP信道C.9,并利用C.9传送多媒体数据包。当Sip终端与Sip服务器之间没有媒体信息需要传送时,则关闭该TCP/HTTP信道C.9,但是TCP/HTTP信道C.7还保持连接。
图5D为本发明方法SIP协议数据对对称型NAT和禁止UDP协议的防火墙穿越的Sip终端用户注销过程图。
Sip终端向穿越代理服务器TA传送注销信息,主叫端From的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;被叫端To的描述为:userA@register.domain,其中userA是Sip终端ID,register.domain是Sip服务器地址;信令地址Contact为:userA@userA.domain,其中userA是Sip终端ID,userA.domain为Sip终端地址;Sip终端与Sip服务器的连接生命期为0。
穿越代理服务器TA通过TCP/HTTP信道C.7穿越防火墙或NAT向穿越服务器TS传送注销信息,主叫端与被叫端没有变化,信令地址修改为:userA@TA.domain,userA为Sip终端ID,信令地址为穿越代理服务器TA的地址,生命期为0。
穿越服务器TS向Sip服务器传送注销信息,主叫端与被叫端没有变化,信令地址修改为:userA@TS.domain,userA为Sip终端ID,信令地址为穿越服务器TS的地址,生命期为0。
Sip服务器向穿越服务器TS返回200OK确认信息,主叫端、被叫端和信令地址都不变,生命期为0。
穿越服务器TS通过TCP/HTTP信道C.7穿越防火墙和NAT向穿越代理服务器TA返回200OK确认,主叫端与被叫端信息不变,信令地址修改为:userA@TA.domain,userA为Sip终端ID,信令地址为穿越代理服务器TA的地址,生命期为0。
穿越代理服务器TA向Sip终端用户返回200OK确认,主叫端与被叫端信息不变,信令地址修改为,userA@userA.domain,其中userA是Sip终端ID,userA.domain为Sip终端地址;生命期为0。Sip终端用户接收到确认信息后,即断开TCP/HTTP信道C.7。
本发明的有益效果在于,适用于所有类型的NAT和/或防火墙,并且将穿越与应用软件中分离,应用软件不需要支持任何附加的协议就可以穿越防火墙和NAT,穿越平台自动选择穿越方法和穿越服务器,使得穿越服务器的负载平衡,优化网络资源,并且网络的安全度没有损失,通过运营商对穿越策略的配置,可以灵活的控制穿越,对于操作和控制上都是有很大的进步性的。
以上具体实施方式仅用于说明本发明,而非用于限定本发明。

Claims (24)

1.一种用于穿越网络地址转换设备和/或防火墙的穿越方法,其特征在于包括如下步骤:
步骤1,用户端通过穿越代理,将用户端网络环境信息通过网络地址转换设备和/或防火墙发送到穿越平台;
步骤2,所述穿越平台根据该用户端网络环境信息和穿越策略信息,确定穿越方式并将穿越方式信息返回给所述用户端;
步骤3,所述用户端通过穿越代理使用所述的穿越方式,使所述用户端与相应的应用程序服务器通信。
2.根据权利要求1所述的穿越方法,其特征在于,所述步骤2包括:
穿越调度步骤,将通过穿越代理的所述用户端的网络环境信息作为穿越策略步骤的输入,并将穿越策略步骤的处理结果通过穿越代理传递给所述用户端;
穿越策略步骤,根据所述用户端的网络环境信息和穿越策略信息确定一穿越方式,并将该穿越方式信息作为所述穿越调度步骤的输入。
3.根据权利要求2所述的穿越方法,其特征在于,还包括一穿越负载平衡步骤,采集穿越服务器的信息并作为所述穿越策略步骤的输入;
确定穿越方式时,如果需要使用穿越服务器,则采集穿越服务器的信息以确定所要使用的穿越服务器,并将该信息和所述穿越方式信息一同作为所述穿越调度步骤的输入。
4.根据权利要求3所述的穿越方法,其特征在于,所述穿越策略步骤根据用户端网络环境信息、穿越策略信息以及是否使用穿越服务器信息,以确定穿越方式和必要时需采用的一个穿越服务器,并将上述处理结果作为所述穿越调度步骤的输入。
5.根据权利要求3所述的穿越方法,其特征在于,所述穿越策略步骤根据用户端网络环境信息、穿越服务器信息和穿越策略信息,以确定穿越方式和两个穿越服务器,其中一个穿越服务器用于传送承载信令的数据包,另一个穿越服务器用于传送承载数据的数据包,并将上述处理结果作为所述穿越调度步骤的输入。
6.根据权利要求3或4或5所述的穿越方法,其特征在于还包括运营商管理步骤,由运营商管理控制所述穿越平台,并制定所述穿越策略信息。
7.根据权利要求6所述的穿越方法,其特征在于所述穿越策略信息包括指定用户端使用与其路由距离近的穿越服务器,或者使用负载最小的穿越服务器。
8.根据权利要求3或4或5所述的穿越方法,其特征在于还包括穿越定位步骤,存储所述穿越策略、所述穿越平台、所述穿越服务器和所述应用程序服务器的信息,在所述穿越策略步骤中提供相关信息。
9.根据权利要求3或4或5所述的穿越方法,其特征在于,用户端通过穿越代理与穿越服务器建立了信令信道和数据信道,当没有数据需要传输时,则保持信令信道,拆除数据信道;在用户端注销时,则拆除信令信道和数据信道。
10.根据权利要求3或4或5所述的穿越方法,其特征在于,所述穿越服务器的信息包括穿越服务器的负载情况和穿越服务器的地址信息。
11.根据权利要求1或2或3或4或5所述的穿越方法,其特征在于,所述用户端网络环境是指用户端的网络地址转换设备的类型和/或防火墙的类型。
12.一种用于穿越网络地址转换设备和/或防火墙的穿越平台,其特征在于包括:
穿越策略服务器,用于根据用户端网络环境信息,穿越策略信息确定穿越方式;
穿越调度服务器,通过网络地址转换设备和/或防火墙和穿越代理与所述用户端相连接,另一端与所述穿越策略服务器相连接,用于将所述用户端网络环境信息传送给所述穿越策略服务器,并将所述穿越策略服务器的处理结果通过所述穿越代理传递给所述用户端。
13.根据权利要求12所述的穿越平台,其特征在于所述穿越平台还包括:穿越负载平衡服务器,与所述穿越策略服务器相连接,另一端与穿越服务器相连接,用于采集穿越服务器的信息并传递给所述穿越策略服务器;
穿越服务器,与所述穿越平台内的穿越负载平衡服务器相连接,在所述穿越平台决定穿越服务器和穿越方式后,实现所述用户端与应用程序服务器之间的通信。
14.根据权利要求13所述的穿越平台,其特征在于所述穿越平台还包括:一运营商管理服务器,分别与所述穿越调度服务器、穿越策略服务器、穿越负载平衡服务器相连接,用于运营商管理控制所述穿越平台,并制定穿越策略。
15.根据权利要求14所述的穿越平台,其特征在于所述穿越平台还包括:一穿越定位服务器,与所述穿越策略服务器、运营商管理服务器相连接,存储穿越策略、穿越平台、穿越服务器和应用程序服务器的信息,向所述穿越策略服务器提供相关信息。
16.根据权利要求12-15中任意一项所述的穿越平台,其特征在于所述穿越平台为一台计算机。
17.一种用于穿越网络地址转换设备和/或防火墙的穿越系统,其特征在于包括:
用户端通过穿越代理与网络地址转换设备和/或防火墙通信;
穿越平台,通过网络地址转换设备和/或防火墙和穿越代理与所述用户端相连接,根据用户端网络环境、穿越策略信息,确定用户端相应的穿越方式并将该穿越方式信息返回给所述用户端;
应用程序服务器,通过所述网络地址转换设备和/或防火墙和所述穿越代理与所述用户端相连接,向所述用户端提供服务。
18.根据权利要求17所述的穿越系统,其特征在于所述穿越平台包括:
穿越策略服务器,用于根据所述用户端网络环境信息和穿越策略信息确定穿越方式;
穿越调度服务器,通过所述网络地址转换设备和/或防火墙和所述穿越代理与所述用户端相连接,另一端与所述穿越策略服务器相连接,用于将所述用户端网络环境信息传送给所述穿越策略服务器,并将所述穿越策略服务器的处理结果通过所述穿越代理传递给所述用户端。
19.根据权利要求18所述的穿越系统,其特征在于所述穿越平台还包括穿越负载平衡服务器,与所述穿越策略服务器相连接,另一端与穿越服务器相连接,用于采集穿越服务器的信息并传递给所述穿越策略服务器;
穿越服务器,与所述穿越平台内的穿越负载平衡服务器相连接,在所述穿越平台决定穿越服务器和穿越方式后,实现所述用户端与所述应用程序服务器之间的通信。
20.根据权利要求19所述的穿越系统,其特征在于还包括一运营商管理服务器,分别与所述穿越调度服务器、穿越策略服务器、穿越负载平衡服务器相连接,用于运营商管理控制所述穿越平台,并制定穿越策略。
21.根据权利要求20所述的穿越系统,其特征在于还包括一穿越定位服务器,与所述穿越策略服务器、运营商管理服务器相连接,存储穿越策略、穿越平台、穿越服务器和应用程序服务器的信息,向所述穿越策略服务器提供相关信息。
22.根据权利要求17所述的穿越系统,其特征在于所述穿越代理为一相对于用户端独立的穿越代理服务器,用于代理转发所述用户端与网络中其他设备之间的数据。
23.根据权利要求17所述的穿越系统,其特征在于所述穿越代理为一集成于用户端的穿越代理服务软件,用于代理转发所述用户端与网络中其他设备之间的数据。
24.根据权利要求17-21中任意一项所述的穿越系统,其特征在于所述穿越平台为一台计算机。
CNB2006100579325A 2006-02-28 2006-02-28 一种网络地址转换和/或防火墙穿越平台、系统及其方法 Active CN100539504C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100579325A CN100539504C (zh) 2006-02-28 2006-02-28 一种网络地址转换和/或防火墙穿越平台、系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100579325A CN100539504C (zh) 2006-02-28 2006-02-28 一种网络地址转换和/或防火墙穿越平台、系统及其方法

Publications (2)

Publication Number Publication Date
CN101030865A CN101030865A (zh) 2007-09-05
CN100539504C true CN100539504C (zh) 2009-09-09

Family

ID=38715964

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100579325A Active CN100539504C (zh) 2006-02-28 2006-02-28 一种网络地址转换和/或防火墙穿越平台、系统及其方法

Country Status (1)

Country Link
CN (1) CN100539504C (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101822026B (zh) * 2007-09-28 2013-08-28 西门子企业通讯有限责任两合公司 经由网络地址转换单元在面向分组的通信终端设备之间建立连接的方法和装置
CN101217482B (zh) * 2008-01-18 2010-09-08 杭州华三通信技术有限公司 一种穿越nat下发策略的方法和一种通信装置
GB2458279A (en) 2008-03-11 2009-09-16 Nec Corp Network access control via mobile terminal gateway
CN102118363A (zh) * 2009-12-31 2011-07-06 北京大唐高鸿数据网络技术有限公司 一种具有代理机制的VoIP系统及其通信方法
CN102196057B (zh) * 2010-03-03 2015-11-25 腾讯科技(深圳)有限公司 一种确定nat类型的方法及装置
CN101873324B (zh) * 2010-06-22 2013-11-06 北京神州泰岳软件股份有限公司 穿越防火墙的方法
CN102340520B (zh) * 2010-07-20 2014-06-18 上海未来宽带技术股份有限公司 一种p2p网络应用系统中私网检测与穿越的复合方法
CN101895559B (zh) * 2010-08-09 2013-06-12 北京中创信测科技股份有限公司 一种代理穿越网络及防火墙的方法
CN102318323B (zh) * 2011-07-30 2013-10-02 华为技术有限公司 私网与网外客户端之间呼叫的nat处理方法、设备和系统
TWI434595B (zh) * 2011-11-09 2014-04-11 Quanta Comp Inc 網路系統之連線建立管理方法及其相關系統
CN103259791B (zh) * 2013-04-28 2016-03-09 华为技术有限公司 一种穿越通信选路方法、终端及系统
US9432330B2 (en) 2013-05-29 2016-08-30 Huawei Technologies Co., Ltd. Data interaction method, apparatus, and system
CN103347099B (zh) * 2013-05-29 2016-08-10 华为技术有限公司 一种数据交互的方法、装置及系统
CN105282264B (zh) * 2014-07-17 2019-01-25 中国电信股份有限公司 非对称nat环境下进行tcp通信的方法、终端、nps和系统
CN106331115A (zh) * 2016-08-26 2017-01-11 深圳市同为数码科技股份有限公司 一种支持多台设备连接的分布式可扩展服务器系统
CN106507028A (zh) * 2016-11-29 2017-03-15 四川长虹电器股份有限公司 一种电视视频通话中的内网穿透直连的方法
TWI639326B (zh) * 2016-12-05 2018-10-21 財團法人資訊工業策進會 網路位址轉換伺服器及其網路位址轉換方法
CN106657438A (zh) * 2016-12-05 2017-05-10 深圳市任子行科技开发有限公司 防溯源网络代理方法和系统
CN109120737B (zh) * 2018-08-10 2021-08-31 哈尔滨工业大学(威海) 一种基于泊松模型的递增型对称nat的udp穿透方法与系统
CN110830454B (zh) * 2019-10-22 2020-11-17 远江盛邦(北京)网络安全科技股份有限公司 基于alg协议实现tcp协议栈信息泄露的安防设备检测方法
CN110995573A (zh) * 2019-12-02 2020-04-10 广州伊的家网络科技有限公司 跨平台即时通讯方法、装置、计算机设备以及存储介质
CN111541691B (zh) * 2020-04-22 2022-04-01 北京盛德远景科技有限公司 一种基于sip呼叫的sip呼叫边界控制系统
CN111885036B (zh) * 2020-07-16 2022-08-16 武汉秒开网络科技有限公司 一种通过路由器穿透内网实现多设备访问的方法及系统

Also Published As

Publication number Publication date
CN101030865A (zh) 2007-09-05

Similar Documents

Publication Publication Date Title
CN100539504C (zh) 一种网络地址转换和/或防火墙穿越平台、系统及其方法
CN100399768C (zh) 实现网络地址转换穿越的方法、系统
US8244876B2 (en) Providing telephony services to terminals behind a firewall and/or a network address translator
CN101431511B (zh) 一种穿透防火墙在网络终端装置间建立联机信道的方法
US8082324B2 (en) Method of establishing a tunnel between network terminal devices passing through firewall
US8204066B2 (en) Method for predicting a port number of a NAT equipment based on results of inquiring the STUN server twice
CN100477636C (zh) 客户端主应用部件与目标服务器间进行通信的装置和方法
US8646065B2 (en) Method for routing bi-directional connections in a telecommunication network by means of a signalling protocol via an interposed firewall with address transformation device and also a telecommunication network and security and tunnel device for this
US20130308628A1 (en) Nat traversal for voip
CN104040998A (zh) 基于ice的nat遍历
CN101064712B (zh) 一种基于Linux内核实现双通道穿越多级NAT和防火墙的系统及方法
WO2007125530A2 (en) Routing path optimization between si p endpoints according to nat topology
EP2394414A1 (en) Scalable nat traversal
WO2006082576A2 (en) A method and apparatus for server-side nat detection
US20080159313A1 (en) Interworking policy and charging control and network address translator
US20080037537A1 (en) Method and system for traversing network address translation or firewall device
US20100031339A1 (en) Streaming Media Service For Mobile Telephones
CN100550882C (zh) 一种穿越子网的方法及子网穿越系统
CN108306986A (zh) 多类型媒体数据网络地址转换穿越方法、终端及系统
CN1665238B (zh) 下一代网络的组网系统
CN100493048C (zh) 穿越网络地址转换和防火墙的多媒体通信代理系统及方法
US8374178B2 (en) Apparatus and method for supporting NAT traversal in voice over internet protocol system
WO2008084306A2 (en) Interworking of policy and charging control and network address translator
CN101465784A (zh) 便携式的ice中继服务器及其方法
US8032934B2 (en) Network security system and the method thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: NOKIA SIEMENS NETWORKS TECHNOLOGY (BEIJING) CO., L

Free format text: FORMER OWNER: NOKIA SIEMENS NETWORKS SYSTEM TECHNOLOGY (BEIJING) CO., LTD.

Effective date: 20111118

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100016 CHAOYANG, BEIJING TO: 100007 DONGCHENG, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20111118

Address after: 100007 Beijing city Dongcheng District Dongzhimen South Street No. 3 7 floor

Patentee after: Siemens Communication Networks Ltd., Beijing

Address before: 100016 Building No. 14, Jiuxianqiao Road, Chaoyang District, Beijing, 51

Patentee before: Siemens (China) Co., Ltd.