发明内容
本发明的目的在于提供一种网络地址转换和/或防火墙穿越方法,简单化网络应用程序,在不需要支持任何额外协议的前提下使网络应用程序穿越各种NAT/FW。
本发明目的还在于提供一种网络地址转换和/或防火墙穿越平台,在不损失安全的前提下有效的穿越所有类型的NAT/FW,并且提供管理机制以降低网络连接路径,并且平衡网络负载。
本发明的目的还在于提供一种网络地址转换和/或防火墙穿越系统,在不损失安全的前提下有效的穿越所有类型的NAT/FW,并且提供管理机制以降低网络连接路径,并且平衡网络负载。
一种网络地址转换和/或防火墙的穿越方法,包括如下步骤:
步骤1,用户端通过穿越代理,将用户端网络环境信息通过网络地址转换设备和/或防火墙发送到穿越平台;
步骤2,所述穿越平台根据该用户端网络环境信息和穿越策略信息,确定穿越方式并将穿越方式信息返回给所述用户端;
步骤3,所述用户端通过穿越代理使用相应的穿越方式,使所述用户端与相应的应用程序服务器通信。
所述步骤2包括:
穿越调度步骤,将通过穿越代理的所述用户端的网络环境信息作为穿越策略步骤的输入,并将穿越策略步骤的处理结果通过穿越代理传递给所述用户端;
穿越策略步骤,根据所述用户端的网络环境信息和穿越策略信息确定一穿越方式,并将该穿越方式传信息作为所述穿越调度步骤的输入。
还包括一穿越负载平衡步骤,采集穿越服务器的信息并作为所述穿越策略步骤的输入;
确定穿越方式时,如果需要使用穿越服务器,则采集穿越服务器的信息以确定所要使用的穿越服务器,并将该信息和所述穿越方式信息一同作为所述穿越调度步骤的输入。
所述穿越策略步骤根据用户端网络环境信息,穿越服务器信息和穿越策略信息,以确定穿越方法和一个穿越服务器,并将上述处理结果作为所述穿越调度步骤的输入。
所述穿越策略步骤根据用户端网络环境信息,穿越服务器信息和穿越策略信息,以确定穿越方法和两个穿越服务器,其中一个穿越服务器用于传送承载信令的数据包,另一个穿越服务器用于传送承载数据的数据包,并将上述处理结果作为所述穿越调度步骤的输入。
还包括运营商管理步骤,由运营商管理控制所述穿越平台,并制定所述穿越策略。
所述穿越策略信息包括指定用户端使用与其路由距离近的穿越服务器,或者使用负载最小的穿越服务器。
还包括穿越定位步骤,存储所述穿越策略、所述穿越平台、所述穿越服务器和所述应用程序服务器的信息,在进行所述穿越策略步骤中提供相关信息。
如果用户端通过穿越代理与穿越服务器建立了信令信道和数据信道,并且当没有数据需要传输时,则保持信令信道,拆除数据信道;在用户端注销时,则拆除信令信道和数据信道。
所述穿越服务器的信息包括穿越服务器的负载情况,和穿越服务器的地址信息。
所述用户端网络环境是指用户端的网络地址转换设备和/或防火墙的类型。
一种网络地址转换和/或防火墙穿越平台,包括:
穿越策略服务器,用于根据所述用户端网络环境信息,穿越策略信息确定穿越方式;
穿越调度服务器,通过网络地址转换设备和/或防火墙和穿越代理与所述用户端相连接,另一端与所述穿越策略服务器相连接,用于将所述用户端网络环境信息传送给所述穿越策略服务器,并将所述穿越策略服务器的处理结果通过所述穿越代理传递给所述用户端。
所述穿越平台还包括:穿越负载平衡服务器,与所述穿越策略服务器相连接,另一端与穿越服务器相连接,用于采集穿越服务器的信息并传递给所述穿越策略服务器;
穿越服务器,与所述穿越平台内的穿越负载平衡服务器相连接,在所述穿越平台决定穿越服务器和穿越方式后,实现所述用户端与所述应用程序服务器之间的通信。
所述穿越平台还包括:一运营商管理服务器,分别与所述穿越调度服务器,穿越策略服务器、穿越负载平衡服务器相连接,用于运营商管理控制所述穿越平台,并制定穿越策略。
所述穿越平台还包括:一穿越定位服务器,与所述穿越策略服务器、运营商管理服务器相连接,存储穿越策略、穿越平台、穿越服务器和应用程序服务器的信息,向所述穿越策略服务器提供相关信息。
一种网络地址转换和/或防火墙穿越系统,包括:
用户端通过穿越代理与网络地址转换设备和/或防火墙通信;
穿越平台,通过网络地址转换设备和/或防火墙和穿越代理与所述用户端相连接,根据用户端网络环境、穿越策略信息,确定用户端相应的穿越方式并将该穿越方式信息返回给所述用户端;
应用程序服务器,通过所述网络地址转换设备和/或防火墙和所述穿越代理与所述用户端相连接,向所述用户端提供服务。
所述穿越平台包括:
穿越策略服务器,用于根据所述用户端网络环境信息,穿越策略信息确定穿越方式;
穿越调度服务器,通过所述网络地址转换设备和/或防火墙和所述穿越代理与所述用户端相连接,另一端与所述穿越策略服务器相连接,用于将所述用户端网络环境信息传送给所述穿越策略服务器,并将所述穿越策略服务器的处理结果通过所述穿越代理传递给所述用户端。
所述穿越平台还包括穿越负载平衡服务器,与所述穿越策略服务器相连接,另一端与穿越服务器相连接,用于采集穿越服务器的信息并传递给所述穿越策略服务器;
穿越服务器,与所述穿越平台内的穿越负载平衡服务器相连接,在所述穿越平台决定穿越服务器和穿越方式后,实现所述用户端与所述应用程序服务器之间的通信。
还包括一运营商管理服务器,分别与所述穿越调度服务器,穿越策略服务器、穿越负载平衡服务器相连接,用于运营商管理控制所述穿越平台,并制定穿越策略。
还包括一穿越定位服务器,与所述穿越策略服务器、运营商管理服务器相连接,存储穿越策略、穿越平台、穿越服务器和应用程序服务器的信息,向所述穿越策略服务器提供相关信息。
穿越代理为一相对于用户端独立的穿越代理服务器,用于代理转发所述用户端与网络中其他设备之间的数据。
所述穿越代理为一集成于用户端的穿越代理服务软件,用于代理转发所述用户端与网络中其他设备之间的数据。
所述穿越平台为一台计算机。
本发明的有益效果在于,使局域网内部的用户终端程序可以穿越所有类型的NAT和/或防火墙,穿越与应用软件无关,不需要更改现有的应用软件,通过选择最佳的穿越服务器,使网络负载平衡,并能够取得最佳路由,使应用软件更加快速的连接,特别是对一些即时通信软件的通信效果更好。
具体实施方式
下面,结合附图对于本发明进行如下详细说明。
本发明可以用于交互式网络电视(交互式网络电视)、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,穿越平台自动选择穿越方法和穿越服务器,使得穿越服务器的负载平衡,优化网络资源,并且网络的安全度没有损失,通过运营商对穿越策略的配置,可以灵活的控制穿越,对于操作和控制上都是有很大的进步性的。
以上具体实施方式仅用于说明本发明,而非用于限定本发明。