在网络中实现设备间通讯的方法

文档序号:7591096阅读:256来源:国知局
专利名称:在网络中实现设备间通讯的方法
技术领域
本发明涉及多媒体通讯技术,尤其涉及一种在网络中实现设备间通讯的方法。
背景技术
现有技术中,多媒体通讯协议都会涉及信令及媒体流的传输,而无论是传输控制协议(TCP)还是用户数据报协议(UDP)报文,在没有出向报文的前提下,普通网络地址转换(NAT)设备都没有办法识别入向报文应该转发到私网内的哪个IP地址及段口,所以由公网发送到私网的报文包就会被NAT拒之门外,最终导致多媒体通讯的失败。
NAT设备地址转换方式分为静态NAT转换、动态NAT转换和网络地址及端口转换(NAPT)。在公网和私网之间多媒体协议穿越NAT的方案有以下三种方案一、静态NAT方案,其实现原理为在NAT上把需要进行多媒体通讯的终端的私网IP地址静态映射成公网IP地址,即NAT预先把公网IP地址留给了私网内的多媒体终端。
方案二、在静态NAT方案的基础上,业界推出了动态NAT方案解决方案,其实现原理为当有多媒体通讯时(通过知名端口识别,如H.323协议的呼叫知名端口为1720),NAT动态的把某个公网IP地址分配给私网内进行多媒体通讯的终端,直到多媒体通讯结束。这种方案较静态NAT方案有一定的改进,但仍然不能节省公网IP地址资源。因为一旦某个公网IP地址被固定分配给某个私网终端了,那么在此终端的多媒体通讯结束前,其他终端是不能使用此公网IP地址的。
方案三、针对NAPT转换方式,多媒体通讯协议穿越NAT的一个解决方案是私网内的节点向公网的节点发送重定向报文,公网的节点在接收到该报文后,利用其中的源IP地址和源端口号重定向发送的媒体流的目的地址和目的端口号,就可以把媒体流发送到私网的节点上。
在两个私网中的节点与公网之间都是采用的静态NAT或动态NAT方式,虽然方案一和方案二可以实现其两个私网内的节点直接通过公网完成互通,但会造成IP地址的浪费。而对于有一方采用的不是静态NAT和动态NAT,而是NAPT,采用方案一或方案二则无法实现互通,因为发送到公网上的报文无法穿越NAPT设备。
采用方案三的重定向报文虽然可以解决一方使用静态NAT或动态NAT,另一方使用NAPT的情况,但是对于两方都使用NAPT的组网形式依然不能解决互通的问题,因而受到组网形式的限制。
对于都在公网中的两个设备,一般情况下其中一个或两个都处于防火墙的后面,防火墙会限制外面的报文直接穿越到内部,这样两个设备是无法互通的;再有如果这次呼叫需要使用服务质量(QOS)保证的网络,但设备的IP地址等是千变万化,路由器无法区分这么多码流哪些是需要QOS保证,而哪些是不用的,因此现有通信方式不能很好地满足这种需求。

发明内容
本发明提供一种在网络中实现设备间通讯的方法,以解决现有技术中公网内设备之间通信不能很好满足服务质量要求,以及两个私网都采用NAPT的情况下存在两个私网内设备不能够互通的问题。
为解决上述问题,本发明提供以下技术方案一种在网络中实现设备间通讯的方法,包括步骤A、第一设备向呼叫控制单元请求呼叫第二设备;B、所述呼叫控制单元控制第一设备和第二设备分别与多媒体交换设备建立呼叫并打开逻辑通道;C、第一设备和第二设备分别将媒体流发送到所述多媒体交换设备;D、多媒体交换设备将第一设备发送来的多媒体流转发到第二设备,并将第二设备发送来的多媒体流转发到第一设备。
其中步骤B包括步骤呼叫控制单元将第一、第二设备地址发送到多媒体交换设备;呼叫控制单元向第一设备返回包含多媒体交换设备地址的允许呼叫消息,并通知第二设备主动向第一设备发起呼叫;第二设备向呼叫控制单元请求呼叫第一设备;呼叫控制单元向第二设备返回包含多媒体交换设备地址的允许呼叫消息;第一、第二设备分别与多媒体交换设备建立呼叫并打开逻辑通道。
所述第一设备和第二设备均为公网内设备;当多媒体交换设备收到第一设备的多媒体流时将报文中目的地址修改为第二设备的公网地址并转发;当多媒体交换设备收到第二设备的多媒体流时将报文中的目的地址修改为第一设备的公网地址并转发。
所述第一设备和第二设备之一为私网内设备,或者第一设备和第二设备均为同一私网或不同私网内设备;私网内设备通过重定向在网络地址转换设备中建立第一设备或/和第二设备的私网地址与多媒体交换设备的公网地址之间的映射关系来完成多媒体流的转发。
第一设备或/和第二设备的重定向包括步骤第一设备或/和第二设备向多媒体交换设备发送重定向报文,其中,重定向报文中的源地址为私网地址;由网络地址转换设备将重定向包中的源地址替换为公网地址后发送给多媒体交换设备,并建立替换前重定向包中的源地址和目的地址与替换后重定向包中的源地址和目的地址的映射关系;多媒体交换设备以重定向包中源地址作为目的地址,将第一设备或/和第二设备发送来的多媒体流分别发送到对端设备所在的网络地址转换设备;以及由网络地址转换设备根据所述映射关系将多媒体流中的目的地址映射为相应的私网地址,并转发到私网络内的第一设备或第二设备。
本发明通过网守控制两个私网内的设备与多媒体交换设备建立呼叫连接,并由多媒体交换设备来完成转发,因而在两个私网都采用NAPT的情况下,两个私网内的设备也能够互通。从而既维持了网络中已有NAT设备的稳定,节约了IP地址,又实现了两个私网之间的多媒体节点的互通。采用本发明不需要对防火墙/NAT设备进行改动,也无需购买任何新设备即可实现私网和私网之间的多媒体通讯和多媒体会议,具有实现简单和成本低的优点。
如果通过本方法提供的多媒体交换设备,因为其媒体流地址就一个,所以路由器就可将某个IP报文的源或目的IP地址设置为多媒体交换设备的地址,这样就要使用QOS网络,从而简洁地实现了QOS保证。


图1为组网示意图;图2为本发明中两个私网内实现互通的流程图。
具体实施例方式
本发明在第一设备呼叫第二设备时,将呼叫请求路由到呼叫控制单元;由呼叫控制单元控制第一设备和第二设备分别与多媒体交换设备建立呼叫并打开逻辑通道;然后第一设备和第二设备分别将媒体流发送到所述多媒体交换设备;由该多媒体交换设备将第一设备发送来的多媒体流转发到第二设备,并将第二设备发送来的多媒体流转发到第一设备。通过这种方式,既可在第一设备和第二设备均为公网设备时保证通讯质量,也可在第一设备和第二设备之一或全部属于私网内设备时能够使多媒体流穿越NAT/NAPT设备,实现两个设备间的互通。
本实施例以多媒体通讯协议中应用最广泛的H.323协议为例对本发明进行说明,其中第一、第二设备为网络中的终端,呼叫控制单元为网守(GateKeeper,GK),多媒体交换设备为多点控制单元(MCU)。
参阅图1所示,终端T3和终端T4均为公网设备,其IP地址分别为ip_c和ip_d;终端T1为私网1中的H323终端,其IP地址为ip_a1,经网络地址转换设备(NAT)转换后的公网IP地址为ip_t1。终端T2为私网2中的H.323终端,其IP地址为ip_a2,经NAT转换后的公网IP地址为ip_t2。GK为H.323协议中的网守;MCU是H.323协议中的多点控制单元,其公网IP地址为ip_b。
终端T3呼叫终端T4的过程如下A、首先终端T3向GK发送呼叫允许请求(Admission Request,ARQ),请求呼叫终端T4。
B、GK接收到T1的ARQ后,可以识别出终端T3、T4是公网内的终端。MCU向MCU发送一条信息请求(information Request,IRQ)信令,利用非标字段告知MCU终端T1、T2的终端地址,MCU接收到MCU的IRQ信令后等待接收终端T3、T4的呼叫。
C、GK向终端T3返回允许呼叫确认消息(Admission Confirm,ACF),其中ACF所带的IP地址是MCU的IP地址,而不是终端T4的IP地址。
D、GK同时也向终端T4发送一条非标的IRQ,通知终端T3有来自终端T1的呼叫,但需要终端T4主动呼出。
E、终端T4接收到IRQ后,向GK发送ARQ请求呼叫终端T3。
F、GK向终端T4返回ACF消息,该消息中的IP地址是MCU的IP地址。
G、终端T3、T4与MCU通过Q931信令建立呼叫,通过H245信令交换完成主从决定,能力交换,打开逻辑通道。逻辑通道成功打开后,终端T3、T4就开始传送媒体流。
H、MCU将终端T3发送的多媒体流的目的地址修改为终端T4的IP地址ip_d及相应的端口号并发送;将终端T4发送的多媒体流的目的地址修改为终端T3的IP地址ip_c相应的端口号并发送。从而实现了终端T3和T4内的互通。
参阅图2所示,私网1的终端T1呼叫私网2的终端T2的过程如下(1)首先T1向GK发送呼叫允许请求(Admission Request,ARQ),请求呼叫终端T2。
(2)GK接收到T1的ARQ后,可以识别出终端T1、T2都是不同私网内的终端。由于其IP地址是经过NAT转换的,无法直接互通,需要经MCU交换,所以向MCU发送一条信息请求(information Request,IRQ)信令,利用非标字段告知MCU终端T1、T2的终端号码,MCU接收到MCU的IRQ信令后等待接收终端T1、T2的呼叫。
(3)GK向终端T1返回允许呼叫确认消息(Admission Confirm,ACF),其中ACF所带的IP地址是MCU的IP地址,而不是终端T2的IP地址。
(4)GK同时也向终端T2发送一条非标的IRQ,通知终端T2有来自终端T1的呼叫,但需要终端T2主动呼出。
(5)终端T2接收到IRQ后,向GK发送ARQ请求呼叫终端T1。
(6)GK向终端T2返回ACF消息,该消息中的IP地址是MCU的IP地址。
(7)终端T1与MCU通过Q931信令建立呼叫,通过H245信令交换完成主从决定,能力交换,打开逻辑通道。
(8)终端T2与MCU之间也完成呼叫的建立和逻辑通道的打开。逻辑通道成功打开后,终端T1、T2就开始传送媒体流。
(9)终端T1的媒体流发送到MCU,MCU把媒体流的目的地址改为终端T2的地址(ip_a2udp_a2)进行转发,因为NAT的存在以及该地址是私网地址,T2是接收不到媒体流的。
(10)同理,终端T2的媒体流也无法转发给终端T1。
(11)因此终端T1在接收不到任何媒体流的情况下,会向MCU发送重定向报文。该报文的源IP地址和源UDP端口号是终端T1的私网IP地址ip_a1和接收媒体流的UDP端口号udp_a1,经过NAT设备到达公网后,源地址和端口号就被转换成了公网地址ip_t1和端口号udp_t1。
(12)接收到终端T1的重定向报文后,MCU提取其中的源IP地址和UDP端口号(ip_t1udp_t1)重定向T2发送给T1的报文的目的地址,这种报文到达NAT设备后,目的地址和端口号(ip_t1udp_t1)被转换为(ip_a1udp_a1)进行转发,私网1内部的终端T1就能够接收到私网2的终端T2的媒体流了。
(13、14)同样T2向MCU发送重定向报文,MCU也能够把T1的媒体流正确的转发到T2,从而实现了两个私网内的终端的互通。
终端的重定向过程如下(以终端T1为例)(1)终端T1在收到MCU发来的打开逻辑信道请求信令后通过H.245消息的扩展字段请求该媒体流的源IP地址(即,承载媒体流的UDP包头的源IP)和源端口(即承载媒体流的UDP包头的源端口)。
(2)MCU收到了私网终端T1发送来的以上请求后,同样通过H245消息的扩展字段将本端发送媒体流的源IP地址和源端口(ip_b,port_b1)通知私网终端。
(3)私网的终端收到了对端发来的携带扩展字段的H.245消息后,)向对端的媒体流发送源地址(ip_b,port_b1)定时发送重定向包,重定向包定义如下表所示

重定向包在通过防火墙/NAT设备时,防火墙/NAT将该重定向包中的源地址替换为共用的公网地址,并在防火墙/NAT设备中建立重定包括替换的源地址和目的地址与替换后的源地址和目的地址之间的映射关系。形成地址映射关系如下表所示

其中ip_t和port_t为公网地址。
由于防火墙/NAT设备中的地址映射关系有超时时间,所以私网终端T1通过定时发重定向包以刷新该超时时间,同时也可以保证部分重定向包丢失的情况下,公网侧终端仍然可以收到重定向包。
5、MCU在某一路媒体流的发送地址上(ip_b,port_b1)接收到重定向包后,将该媒体流的发送的目的地址设置为从重定向包中取出重定向包的UDP包头的源IP(ip_t)和源端口(port_t)。于是重定向后私网2的终端T2发送的媒体流将通过防火墙/NAT设备的反向地址映射顺利抵达私网终端T1。
MCU转发媒体流除了采用重定向报文外,也可采用其他方法,只要保证MCU将接收到的媒体流转发到对端即可。
上述两个私终端也可是同一私网中的终端,其处理过程完全相同。
对于公网终端T3或T4与私网终端T1或T2通讯,则对于私网终端一侧的处理与上述同理。
上述方法也适用于在MCU上召开公网和私网内的多媒体节点的多点会议,即一个终端呼叫多个终端,多个终端中的每个终端均与MCU建立呼叫并打开逻辑通道,其处理过程相同。
虽然本实施例以H.323协议为例对本发明进行说明,但其他多媒体通讯协议的呼叫过程与此类似,如SIP协议,只是具体的信令名称和字段名称有所不同,因此本发明同样适用于其他多媒体通讯协议。
权利要求
1.一种在网络中实现设备间通讯的方法,其特征在于包括步骤A、第一设备向呼叫控制单元请求呼叫第二设备;B、所述呼叫控制单元控制第一设备和第二设备分别与多媒体交换设备建立呼叫并打开逻辑通道;C、第一设备和第二设备分别将媒体流发送到所述多媒体交换设备;D、多媒体交换设备将第一设备发送来的多媒体流转发到第二设备,并将第二设备发送来的多媒体流转发到第一设备。
2.如权利要求1所述的方法,其特征在于,步骤B包括步骤呼叫控制单元将第一、第二设备地址发送到多媒体交换设备;呼叫控制单元向第一设备返回包含多媒体交换设备地址的允许呼叫消息,并通知第二设备主动向第一设备发起呼叫;第二设备向呼叫控制单元请求呼叫第一设备;呼叫控制单元向第二设备返回包含多媒体交换设备地址的允许呼叫消息;第一、第二设备分别与多媒体交换设备建立呼叫并打开逻辑通道。
3.如权利要求1或2所述的方法,其特征在于,所述第一设备和第二设备均为公网内设备;当多媒体交换设备收到第一设备的多媒体流时将报文中目的地址修改为第二设备的公网地址并转发;当多媒体交换设备收到第二设备的多媒体流时将报文中的目的地址修改为第一设备的公网地址并转发。
4.如权利要求1或2所述的方法,其特征在于,所述第一设备和第二设备之一为私网内设备,或者第一设备和第二设备均为同一私网或不同私网内设备;私网内设备通过重定向在网络地址转换设备中建立第一设备或/和第二设备的私网地址与多媒体交换设备的公网地址之间的映射关系来完成多媒体流的转发。
5.如权利要求4所述的方法,其特征在于,所述第一设备或/和第二设备的重定向包括步骤第一设备或/和第二设备向多媒体交换设备发送重定向报文,其中,重定向报文中的源地址为私网地址;由网络地址转换设备将重定向包中的源地址替换为公网地址后发送给多媒体交换设备,并建立替换前重定向包中的源地址和目的地址与替换后重定向包中的源地址和目的地址的映射关系;多媒体交换设备以重定向包中源地址作为目的地址,将第一设备或/和第二设备发送来的多媒体流分别发送到对端设备所在的网络地址转换设备;以及由网络地址转换设备根据所述映射关系将多媒体流中的目的地址映射为相应的私网地址,并转发到私网络内的第一设备或第二设备。
6.如权利要求1所述的方法,其特征在于,所述第二设备为多个。
7.如权利要求1所述的方法,其特征在于,所述呼叫控制单元和多媒体交换设备为同一设备或者为相互独立的设备。
全文摘要
本发明公开了一种在网络中实现设备间通讯的方法,该方法为第一设备向呼叫控制单元请求呼叫第二设备;所述呼叫控制单元控制第一设备和第二设备分别与多媒体交换设备建立呼叫并打开逻辑通道;第一设备和第二设备分别将媒体流发送到所述多媒体交换设备;多媒体交换设备将第一设备发送来的多媒体流转发到第二设备,并将第二设备发送来的多媒体流转发到第一设备。
文档编号H04L12/54GK1677949SQ20041003207
公开日2005年10月5日 申请日期2004年3月31日 优先权日2004年3月31日
发明者危自强 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1