一种网络穿越方法、装置及系统与流程

文档序号:12040147阅读:245来源:国知局
一种网络穿越方法、装置及系统与流程
本发明涉及通信领域,尤其涉及一种网络穿越方法、装置及系统。

背景技术:
客服中心(CallCenter),又称客户服务中心,是指综合利用先进的通信及计算机技术,对信息和物资流程优化处理和管理,集中实现沟通、服务和生产指挥的系统。传统意义上的客服中心是指以电话接入为主的呼叫响应中心,为客户提供各种电话响应服务,现阶段客服中心的概念已经扩展为可以通过电话、传真、互联网访问、Email、视频等多种媒体渠道进行综合访问,同时提供应用业务种类非常丰富的客户综合服务及营销中心。企业的客服中心一般位于企业的防火墙/NAT(NetworkAddressTranslation,网络地址转换)之后,来自外部的呼叫请求需要穿越防火墙/NAT才能接入企业客服中心私网。NAT的分类如下:1.透明型NAT(FullConeNAT):所有来自同一个内部TupleX的请求均被NAT转换至同一个外部TupleY,而不管这些请求是不是属于同一个应用或者是多个应用的。除此之外,当X-Y的转换关系建立之后,任意外部主机均可随时将Y中的地址和端口作为目标地址和目标端口,向内部主机发送UDP报文,由于对外部请求的来源无任何限制,因此这种方式虽然足够简单,但却不那么安全。2.受限型NAT(RestrictedConeNAT):它是FullCone的受限版本:所有来自同一个内部TupleX的请求均被NAT转换至同一个外部TupleY,这与FullCone相同,但不同的是,只有当内部主机曾经发送过报文给外部主机(假设其IP地址为Z)后,外部主机才能以Y中的信息作为目标地址和目标端口,向内部主机发送UDP请求报文,这意味着,NAT设备只向内转发(目标地址/端口转换)那些来自于当前已知的外部主机的UDP报文,保障了外部请求来源的安全性。3.端口受限型NAT(PortRestrictedConeNAT):它是RestrictedConeNAT的进一步受限版。只有当内部主机曾经发送过报文给外部主机(假设其IP地址为Z且端口为P)之后,外部主机才能以Y中的信息作为目标地址和目标端口,向内部主机发送UDP报文,同时,其请求报文的源端口必须为P,这一要求进一步强化了对外部报文请求来源的限制,从而较RestrictdCone更具安全性4.对称型NAT(SymmetricNAT):这是一种比所有ConeNAT都要更为严格的转换方式:在SymmetricNAT中,只有来自于同一个内部Tuple、且针对同一目标Tuple的请求才被NAT转换至同一个外部Tuple,否则的话,NAT将为之分配一个新的外部Tuple;例如:当内部主机以相同的内部Tuple对2个不同的目标Tuple发送UDP报文时,此时NAT将会为内部主机分配两个不同的外部Tuple,并且建立起两个不同的内、外部Tuple转换关系。与此同时,只有接收到了内部主机所发送的数据包的外部主机才能向内部主机返回UDP报文,SymmetricNAT则是要求最严格的NAT方式,其不仅体现在转换关系的建立上,而且还体现在对外部报文来源的限制方面。其中上述类型中,Tuple的定义如下:内部Tuple:指内部主机的私有地址和端口号所构成的二元组,即内部主机所发送报文的源地址、端口所构成的二元组;外部Tuple:指内部Tuple经过NAT的源地址/端口转换之后,所获得的外部地址、端口所构成的二元组,即外部主机收到经NAT转换之后的报文时,它所看到的该报文的源地址(通常是NAT设备的地址)和源端口;目标Tuple:指外部主机的地址、端口所构成的二元组,即内部主机所发送报文的目标地址、端口所构成的二元组;在上述四种类型中,第2、3、4种都对源和/或目的端口做了严格的要求,安全性较高,因此也得到广泛应用,由此也增加了私有网络穿越的难度。目前广泛使用的网络穿越技术,STUN(SimpleTraversalofUDPThroughNAT,UDP对NAT的简单穿越方式)方式,只能工作在完全透明型NAT(FullConeNAT)、受限型NAT(RestrictedConeNAT)以及端口受限型NAT(PortRestrictedConeNAT)的网络环境下,对于对称型NAT(SymmetricNAT)却无能为力。为实现对称型NAT的穿越,使得用户顺利对客服中心进行呼叫,现有技术中引入了TURN协议,TURN协议在语法和操作上均与STUN相似,其优点是提供了对对称性NAT的穿越。处在公网的TURN服务器为客户端提供本身的一个外部IP地址和端口,并且负责中转通信双方的媒体流。但是,现有技术中,需要TURN服务器中转通信双方的媒体流,增加了TURN服务器负担,多余的中转造成不必要的网络延迟。另外,原有网络中需要引入TURN服务器才能得到解决,对于现有系统的部署造成改动。

技术实现要素:
本发明实施例提供了一种网络穿越方法、装置及系统,以在不改变网络部署的情况下,实现了有效的网络穿越,尤其是对称型NAT的网络穿越。为达上述目的,本发明公开一种网络穿越方法,运行于网络地址转换装置上,包括:接收来自第一终端的RTP交互报文,所述RTP交互报文的目的IP地址为第二终端的公网IP地址,目的端口为所述第二终端的私网端口号;根据所述目的端口号,查找与所述目的端口号对应的特许规则,将所述RTP交互报文转发至所述第二终端。为达上述目的,本发明还公开一种网络穿越方法,运行于私网的第二终端上,包括:设置私网内唯一的私网端口号;向所述第一终端发起SIP呼叫请求,所述第二终端发送的INVITE请求报文中携带所述第二终端的公网IP地址及所述第二终端的私网端口号,以建立与第二终端之间RTP会话连接。为达上述目的,本发明还公开一种网络地址转换装置,包括:特许规则设置模块,用于预先在本地绑定所述私网端口号与所述第二终端之间的映射关系,其中绑定的所述映射关系是独立于所述网络地址转换装置固有的转发规则之外的特许规则,且所述私网端口号在私网内唯一;接收模块,用于接收来自第一终端的RTP交互报文,所述RTP交互报文的目的IP地址为第二终端的公网IP地址,目的端口为所述第二终端的私网端口号;转发模块,用于根据所述目的端口号,查找与所述目的端口号对应的特许规则,将所述RTP交互报文转发至所述第二终端。为达上述目的,本发明还公开一种终端,至少包括:设置模块,用于设置私网端口号,所述私网端口号;SIP呼叫模块,用于向所述第一终端发起SIP呼叫请求,所述第二终端发送的INVITE请求报文中携带所述第二终端的公网IP地址及所述第二终端的私网端口号,以建立与第二终端之间RTP会话连接。为达上述目的,本发明还公开一种网络穿越系统,所述系统至少包括第一终端、第二终端、网络地址转换装置及SIP服务器:所述第二终端,用于设置私网内唯一的私网端口号;向所述第一终端发起SIP呼叫请求,其发送的INVITE请求报文中携带所述第二终端的公网IP地址及所述第二终端的私网端口号,以建立与第二终端之间RTP会话连接;所述SIP服务器,用于处理并转发所述第二终端与所述第一终端之间的SIP会话报文;所述网络地址转换装置,用于预先在本地绑定所述私网端口号与所述第二终端之间的映射关系,其中绑定的所述映射关系是独立于所述网络地址转换装置固有的转发规则之外的特许规则,且所述私网端口号在私网内唯一;以及接收来自第一终端的RTP交互报文,所述RTP交互报文的目的IP地址为第二终端的公网IP地址,目的端口为所述第二终端的私网端口号;根据所述目的端口号,查找与所述目的端口号对应的特许规则,将所述RTP交互报文转发至所述第二终端。本发明公开的网络穿越方法、装置及系统,基于第二终端无法获知自己的公网端口号却能设置自己提供服务的私网端口号,因此,本发明在不引入TURN服务器中转的情况下,从第二终端的私网端口号入手,由第二终端自定义自己的私网端口号,并在网络地址转换装置上绑定相应私网端口号与第二终端之间的映射关系,其中绑定的映射关系是独立于网络地址转换装置固有的转发规则之外的特许规则,且各私网端口号在私网内唯一;相当于为获取第二终端私网端口号的通信双方建立了特许通道,并通过静态的私网端口号在确保安全性的同时实现网络的穿越。而且,在该特许通道中,与现有网络地址转换装置固有的转发规则相比,不需要第二终端先向第一终端发送数据然后再由第一终端进行回复等严格限定,只要接收到RTP交互报文,就可以根据目的端口进行直接转发,省略了第二终端向第一终端发送“预发包”报文或“UDP打洞”报文,实现简单,节约了网络开销成本。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例中提供的一种网络穿越方法的应用场景图;图2是本发明实施例中提供的一种网络穿越方法的流程图;图3是本发明实施例中提供的另一种网络穿越方法的流程图;图4是本发明实施例中提供的又一种网络穿越方法的流程图;图5是本发明实施例中提供的一种网络地址转换装置的示意图;图6是本发明实施例中提供的一种服务终端的装置示意图;图7是本发明实施例中提供的一种网络穿越系统的示意图。具体实施方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。实施例一本发明实施例中提供了一种网络穿越方法,应用于图1所示的场景。如图1所示,在该场景中,客服中心100位于对称性防火墙/NAT110之后,用于对用户终端160的呼叫请求进行处理,并提供服务支持。防火墙/NAT110属于对称型NAT,用于提供网络安全防御和网络地址转换。SIP服务器140(或运营商SBC,包括四个组件SIP用户代理、SIP注册服务器、SIP代理服务器和SIP重定向服务器)用于完成SIP会话的建立。中心服务器120用于处理来自用户终端160的呼叫请求。接入服务器150用于本地用户终端160的接入控制,这里的用户终端160有可能位于公网或私网中。值得说明的是,本场景以对称型防火墙/NAT作为示例,但本发明的技术方案照样可以应用于背景技术中第2、3类对端口有严格要求的防火墙/NAT上,后续不再赘述。针对图1所示的场景,图2提供一种网络穿越方法,如图2所示,该方法包括如下步骤:步骤S1、各服务终端设置私网内唯一的私网端口号。例如:该步骤可设置的私网IP地址为192.168.1.101的服务终端101用于接收RTP报文的私网端口号为3352,用于接收RTCP报文的私网端口号为3353。步骤S2、在防火墙/NAT绑定私网各端口号与对应服务终端之间的映射关系。其中绑定的该映射关系是独立于防火墙/NAT固有的转发规则之外的特许规则。较佳的,该步骤还包括在该防火墙/NAT固有的转发规则中将与所述私网端口号一致的固有的公网端口号冻结,以避免特许规则与固有转发规则的冲突。值得说明的是:由于防火墙/NAT接收来自用户终端的RTP交互报文可能为RTP(Real-timeTransportProtocol,实时传输协议)报文和RTCP(Real-timeTransportControlProtocol,实时传输控制协议)报文。RTP报文使用的端口为X,X为偶数,RTCP使用的端口为X+1。因此,防火墙/NAT110预先设置的特许规则可如表1所示:表1上述表1中,规则1用于RTP报文转发,规则2用于RTCP报文转发。步骤S3、用户终端向中心服务器发起网络服务呼叫请求。该网络服务呼叫请求为Webservice的SOAP(SimpleObjectAccessProtocol,简单对象访问协议)报文,呼叫指令被包装到SOAP报文中。步骤S4、中心服务器接受来自用户终端的网络服务呼叫请求,查询客服中心的会话情况,根据预制的规则选择服务终端。例如:可根据负载均衡规则,选择会话较少的服务终端提供呼叫应答服务。步骤S5、中心服务器指示服务终端,向用户终端发起SIP呼叫请求,建立用户终端与服务终端之间RTP会话连接。步骤S6、服务终端向用户终端发起SIP呼叫请求,该服务终端发送的INVITE请求报文中携带该服务终端的公网IP地址及其私网端口号,建立与第二终端之间RTP会话连接。其中,公网IP地址可以由网管固定设置或通过stun方式获取。例如:上述私网IP地址为192.168.1.101、私网端口号为3352的服务终端101的公网IP地址可为:222.33.59.87。该步骤中,服务终端发送的INVITE请求报文中携带服务终端的公网IP地址及服务终端的私网端口号。INVITE请求报文通过SDP(SessionDescriptionProtocol,会话描述协议)消息体携带服务终端的公网IP地址及服务终端的私网端口号,以使用户终端160收到SDP信息后,利用服务终端的公网IP地址及私网端口号,建立与服务终端的RTP连接。该INVITE请求报文通过SIP服务器140转发至用户终端160,相应地,SIP服务器140将接收到的来自用户终端160的200OK报文,转发至服务终端,以使服务终端收到200OK报文后,利用200OK报文的SDP消息体中携带的IP地址及端口号,建立与用户终端160的RTP连接。其它的涉及SIP的具体呼叫流程,属于现有技术,这里不再赘述。步骤S7、防火墙/NAT接收来自用户终端的RTP交互报文。RTP交互报文包括RTP报文和RTCP报文,RTP交互报文的目的IP地址为客服中心100中服务终端的公网IP地址,即经过防火墙/NAT转换后的公网IP地址。目的端口为客服中心中服务终端的私网端口号,客服中心的每个服务终端对应不同的私网端口号。步骤S8、防火墙/NAT根据目的端口号,查找与目的端口号对应的特许规则,将RTP交互报文转发至对应的服务终端。本实施例公开的技术方案同样适用于两个对等的用户终端穿越对称型NAT的情况,不限定其中一方必须为客服中心网络中的服务终端。综上,通过本发明实施例中提供的网络穿越方法,基于服务终端无法获知自己的公网端口号却能设置自己提供服务的私网端口号,因此,本发明在不引入TURN服务器中转的情况下,从第二终端的私网端口号入手,由第二终端自定义自己的私网端口号,并在防火墙/NAT上绑定相应私网端口号与第二终端之间的映射关系,其中绑定的映射关系是独立于防火墙/NAT固有的转发规则之外的特许规则,且各私网端口号在私网内唯一;相当于为获取第二终端私网端口号的通信双方建立了特许通道,并通过静态的私网端口号在确保安全性的同时实现网络的穿越。而且,在该特许通道中,与现有防火墙/NAT固有的转发规则相比,不需要第二终端先向第一终端发送数据然后再由第一终端进行回复等严格限定,只要接收到RTP交互报文,就可以根据目的端口进行直接转发,省略了第二终端向第一终端发送“预发包”报文或“UDP打洞”报文,实现简单,节约了网络开销成本。另外,本发明实施例中,通过中心服务器接受来自所述用户终端的网络服务呼叫请求,中心服务器查询客服中心的会话情况,并根据预制的规则选择所述服务终端。实现了客服中心内部服务终端的负责分担,提升了客服中心的应答服务水平。实施例二与上述实施例一相类似的,本实施例提供一种网络穿越方法,运行于网络地址转换装置上,该网络地址转换装置包括但不限于上述防火墙/NAT110,且该网络地址转换装置预先在本地绑定所述私网端口号与所述第二终端之间的映射关系,其中绑定的所述映射关系是独立于所述网络地址转换装置固有的转发规则之外的特许规则,且所述私网端口号在私网内唯一;较佳的,网络地址转换装置在固有的转发规则中将与所述私网端口号一致的固有的公网端口号冻结,以避免特许规则与固有转发规则的冲突。如图3所示,该网络穿越方法包括:步骤S11、接收来自第一终端的RTP交互报文,所述RTP交互报文的目的IP地址为第二终端的公网IP地址,目的端口为所述第二终端的私网端口号。步骤S22、根据所述目的端口号,查找与所述目的端口号对应的特许规则,将所述RTP交互报文转发至所述第二终端。实施例三与上述实施例一相类似并与上述实施例二相对应的的,本实施例公开一种网络穿越方法,运行于私网的第二终端上,如图4所示,包括:步骤S33、设置私网内唯一的私网端口号。步骤S44、向第一终端发起SIP呼叫请求,发送的INVITE请求报文中携带第二终端的公网IP地址及第二终端的私网端口号,以建立与第二终端之间RTP会话连接。可选的,所述向所述第一终端发起SIP呼叫请求之前还包括:接收中心服务器的指示,所述指示由所述中心服务器查询客服中心的会话情况并根据预制的规则选择所述第二终端后做出。本实施例中,所述公网IP地址由网管固定设置或通过stun方式获取。基综合上述实施例二河实施例三,本发明公开的网络穿越方法,基于第二终端无法获知自己的公网端口号却能设置自己提供服务的私网端口号,因此,本发明在不引入TURN服务器中转的情况下,从第二终端的私网端口号入手,由第二终端自定义自己的私网端口号,并在网络地址转换装置上绑定相应私网端口号与第二终端之间的映射关系,其中绑定的映射关系是独立于网络地址转换装置固有的转发规则之外的特许规则,且各私网端口号在私网内唯一;相当于为获取第二终端私网端口号的通信双方建立了特许通道,并通过静态的私网端口号在确保安全性的同时实现网络的穿越。而且,在该特许通道中,与现有网络地址转换装置固有的转发规则相比,不需要第二终端先向第一终端发送数据然后再由第一终端进行回复等严格限定,只要接收到RTP交互报文,就可以根据目的端口进行直接转发,省略了第二终端向第一终端发送“预发包”报文或“UDP打洞”报文,实现简单,节约了网络开销成本。实施例四与上述方法实施例相对应的,本实施例公开一种网络地址转换装置,如图5所示,包括:特许规则设置模块51,用于预先在本地绑定所述私网端口号与所述第二终端之间的映射关系,其中绑定的所述映射关系是独立于所述网络地址转换装置固有的转发规则之外的特许规则,且所述私网端口号在私网内唯一;接收模块52,用于接收来自第一终端的RTP交互报文,所述RTP交互报文的目的IP地址为第二终端的公网IP地址,目的端口为所述第二终端的私网端口号;转发模块53,用于根据所述目的端口号,查找与所述目的端口号对应的特许规则,将所述RTP交互报文转发至所述第二终端。较佳的,网络地址转换装置还包括:公网端口管理单元(图中未示出),用于在固有的转发规则中将与所述私网端口号一致的固有的公网端口号冻结,以避免特许规则与固有转发规则的冲突。实施例五与上述方法实施例相对应的,本实施例公开一种第二终端,该终端包括但不限于上述实施例中的服务终端101,如图6所示,其包括:设置模块61,用于设置私网端口号,所述私网端口号;SIP呼叫模块62,用于向所述第一终端发起SIP呼叫请求,所述第二终端发送的INVITE请求报文中携带所述第二终端的公网IP地址及所述第二终端的私网端口号,以建立与第二终端之间RTP会话连接。实施例六与上述方法实施例相对应的,本实施例公开一种网络穿越的系统。如图7所示,该系统至少包括第一终端71、第二终端72、网络地址转换装置73及SIP服务器74。其中:第二终端,用于设置私网内唯一的私网端口号;向第一终端发起SIP呼叫请求,其发送的INVITE请求报文中携带第二终端的公网IP地址及第二终端的私网端口号,以建立与第二终端之间RTP会话连接。SIP服务器,用于处理并转发第二终端与第一终端之间的SIP会话报文。网络地址转换装置,用于预先在本地绑定私网端口号与第二终端之间的映射关系,其中绑定的映射关系是独立于网络地址转换装置固有的转发规则之外的特许规则,且私网端口号在私网内唯一;以及接收来自第一终端的RTP交互报文,RTP交互报文的目的IP地址为第二终端的公网IP地址,目的端口为第二终端的私网端口号;根据目的端口号,查找与目的端口号对应的特许规则,将RTP交互报文转发至第二终端。进一步的,该系统还包括:中心服务器75,用于接受来自第一终端的网络服务呼叫请求;查询客服中心的会话情况,并根据预制的规则选择第二终端;指示第二终端向所述第一终端发起SIP呼叫请求,以建立所述第一终端与所述第二终端之间RTP会话连接。较佳的,该中心服务器和二个或二个以上的第二终端组成一局域网。较佳的,上述网络地址转换装置还用于在固有的转发规则中将与所述私网端口号一致的固有的公网端口号冻结,以避免特许规则与固有转发规则的冲突。综上实施例四至六,本发明公开的网络穿越装置及系统,基于第二终端无法获知自己的公网端口号却能设置自己提供服务的私网端口号,因此,本发明在不引入TURN服务器中转的情况下,从第二终端的私网端口号入手,由第二终端自定义自己的私网端口号,并在网络地址转换装置上绑定相应私网端口号与第二终端之间的映射关系,其中绑定的映射关系是独立于网络地址转换装置固有的转发规则之外的特许规则,且各私网端口号在私网内唯一;相当于为获取第二终端私网端口号的通信双方建立了特许通道,并通过静态的私网端口号在确保安全性的同时实现网络的穿越。而且,在该特许通道中,与现有网络地址转换装置固有的转发规则相比,不需要第二终端先向第一终端发送数据然后再由第一终端进行回复等严格限定,只要接收到RTP交互报文,就可以根据目的端口进行直接转发,省略了第二终端向第一终端发送“预发包”报文或“UDP打洞”报文,实现简单,节约了网络开销成本。值得说明的是,作为上述实施例的变形,网管人员在网络地址转换装置配置特许规则的时候,可以在映射关系中设置一公网端口号,并将该公网端口号传送给第一终端,但实际上,基于第二终端是无法获知自己的公网端口号的,因此,其通过SIP请求传送给第一终端的公网端口号也指示一个假象,其功能与上述实施例中的私网端口号一致,且要求各第二终端的假公网端口号唯一并从现有的固有规则中将该端口号冻结,此皆属于本发明的保护范围,本发明中,无论是上述实施例中的私网端口号还是作为变形后的假公网端口号,其本质都是用于查找特许规则的一个标识,因此,权利要求中所述的私网端口号包括但不局限于上述实施例中的“私网端口号”,其变形(如加公网端口号)也属于本发明的保护范围。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1