CN102651778A - 一种频道快速切换系统实现nat穿越的方法和系统 - Google Patents
一种频道快速切换系统实现nat穿越的方法和系统 Download PDFInfo
- Publication number
- CN102651778A CN102651778A CN2011100454975A CN201110045497A CN102651778A CN 102651778 A CN102651778 A CN 102651778A CN 2011100454975 A CN2011100454975 A CN 2011100454975A CN 201110045497 A CN201110045497 A CN 201110045497A CN 102651778 A CN102651778 A CN 102651778A
- Authority
- CN
- China
- Prior art keywords
- terminal
- fcc
- nat
- nat traversal
- traversal
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000011664 signaling Effects 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000012423 maintenance Methods 0.000 claims description 10
- 238000012508 change request Methods 0.000 abstract 2
- 238000004231 fluid catalytic cracking Methods 0.000 description 193
- 108091006146 Channels Proteins 0.000 description 63
- 230000005540 biological transmission Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 101000884385 Homo sapiens Arylamine N-acetyltransferase 1 Proteins 0.000 description 2
- 101001034811 Homo sapiens Eukaryotic translation initiation factor 4 gamma 2 Proteins 0.000 description 2
- 101000639975 Homo sapiens Sodium-dependent noradrenaline transporter Proteins 0.000 description 2
- 102100033769 Sodium-coupled neutral amino acid transporter 3 Human genes 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101000884399 Homo sapiens Arylamine N-acetyltransferase 2 Proteins 0.000 description 1
- 101000713305 Homo sapiens Sodium-coupled neutral amino acid transporter 1 Proteins 0.000 description 1
- 102100036916 Sodium-coupled neutral amino acid transporter 1 Human genes 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种频道快速切换系统实现NAT穿越的方法和系统,均可通过在频道切换请求及响应消息中,增加频道切换请求和响应消息中携带的用于NAT穿越处理的信息,FCC服务器可以判断并通知终端启动NAT穿越流程,从而使得FCC服务器和终端通过NAT设备直接实现频道切换信令和切换码流的穿越,实现频道的快速切换。本发明方法和系统,均可保证用户终端或者FCC存在NAT设备后时,用户终端仍然可以方便迅速地与FCC单元建立连接,成功接收媒体码流,实现频道的快速切换。
Description
技术领域
本发明涉及通信领域,具体涉及一种频道快速切换系统实现NAT(NetworkAddress Translation,网络地址翻译)穿越的方法和系统。
背景技术
随着宽带网的普及和多媒体技术的发展,流媒体技术的应用也越来越广泛,IPTV(Internet Protocol Television,互联网电视)就是其中一种重要应用。与传统的广播不同,IPTV的直播频道业务是利用互联网的组播(multicast)传输技术来实现的。即终端首先需要加入直播频道码流对应的组播组,然后才能收到相应的码流。同时,由于IPTV使用的视频编码算法,码流数据包含由I帧、P帧和B帧等组成的图像序列。其中I帧是可以独立解码显示的,但是P帧和B帧则不能独立解码,需要依赖其他的参考帧。这意味着,当终端切换到一个新的频道,加入相应的组播组后,并不能马上解码收到的数据。只有接收到一个I帧,或者更准确地说,是在一个RAP(RandomAccess Point,随机接入点)后,才可以开始正确解码。这导致了IPTV中相对缓慢的频道切换速度。
为了改进频道切换的体验,IPTV系统中引入了FCC(Fast Channel Change,快速频道切换)单元(也可简称为FCC)。FCC缓存频道码流。当终端切换频道时,FCC首先通过单播方式,向终端发送从RAP开始的切换码流,以便终端可以立即开始解码。然后当切换流追上组播流时,终端再切换到组播流上。上述方式显著缩短了频道切换的时间,提高了用户的体验质量。
另一方面,随着互联网的迅速发展以及IPv4地址数量的限制,使得NAT设备得到广泛的应用。NAT设备允许私网内的主机主动向公网内的主机发送数据,但却禁止反方向的主动传递。在频道快速切换系统中,如果用户终端处于NAT后(即在私网),且用户终端用于接收媒体码流的端口与发起切换请求的端口不一致,或者FCC单元用于发送媒体码流的端口与接收切换请求的端口不一致时,那么由于NAT设备的特性,用户终端可能无法收到FCC发送的切换码流,导致频道快速切换系统无法正常工作。
发明内容
有鉴于此,本发明的主要目的在于提供一种频道快速切换系统实现NAT穿越的方法和系统,在用户终端与FCC之间存在NAT设备时,仍然可以使用户终端方便迅速地与FCC单元建立连接,成功接收媒体码流,实现频道的快速切换。
为达到上述目的,本发明的技术方案是这样实现的:
一种频道快速切换系统实现NAT穿越的方法,FCC服务器和终端通过NAT设备直接实现频道切换信令和切换码流的穿越,包括如下步骤:
终端在频道切换请求消息中增加用于NAT穿越处理的信息,FCC服务器据此判断是否需要启动NAT穿越,如需要则在切换请求的响应消息中携带用于启动NAT穿越处理的相关信息;终端根据收到的响应消息发送穿越包,实现信令和媒体的穿越;
终端通过NAT设备后,根据频道切换请求和响应消息中的NAT相关信息判断是否需要启动并完成NAT穿越的相关流程。
携带用于启动NAT穿越处理的相关信息的方法为:在终端向FCC发送的快发请求消息中额外携带用于NAT穿越处理的信息;在FCC向终端发送的响应消息中额外携带NAT相关的信息;
建立所述连接之前,终端和FCC根据所述NAT相关信息识别自身以及对方是否处于NAT后,并激活相应的NAT穿越流程。
所述用于启动NAT穿越处理的相关信息为下列形式中至少之一:
在终端向FCC发送的快发请求消息中额外携带本地地址信息;或者,
在终端向FCC发送的快发请求消息中额外携带FCC单元的公网地址;或者,
在终端向FCC发送的快发请求消息中额外携带本地地址信息和FCC单元的公网地址;或者,
在FCC向终端发送的快发响应消息中额外携带NAT穿越标识字段;或者,
在FCC向终端发送的快发响应消息中额外携带终端标识字段;或者,
在FCC向终端发送的快发响应消息中额外携带FCC预备用来发送切换码流的本地地址/端口;或者,
在FCC向终端发送的快发响应消息中额外携带FCC预备用来发送控制信令的本地地址/端口。
所述终端标识字段用于唯一标识用户终端,标识方式为:一个终端一个标识ID,或者是对于终端的每个接收端口生成一个标识ID,或者是一个标识ID加一个接收端口的组合;或者,如果用户终端可以保证该标识字段唯一,则由用户终端自行生成。
该方法应用于以下场景之一:
FCC在公网、用户终端在私网;
FCC在私网、用户终端在公网;
FCC在私网、用户终端在私网。
一种频道快速切换系统实现NAT穿越的系统,该系统包括NAT穿越信息维护单元、连接建立单元;其中,
所述NAT穿越信息维护单元,用于在频道切换请求消息中增加用于NAT穿越处理的信息,并在需要启动NAT穿越时在切换请求的响应消息中携带用于启动NAT穿越处理的相关信息;
所述连接建立单元,用于触发终端根据收到的响应消息发送穿越包,实现信令和媒体的穿越;以及在终端通过NAT设备后,根据频道切换请求和响应消息中的NAT相关信息判断是否需要启动并完成NAT穿越的相关流程;或者触发FCC服务器根据收到的频道切换请求消息启动FCC的NAT穿越流程。
所述NAT穿越信息维护单元携带用于启动NAT穿越处理的相关信息时,用于:在终端向FCC发送的快发请求消息中额外携带用于NAT穿越处理的信息;在FCC向终端发送的响应消息中额外携带NAT相关的信息;
建立所述连接之前,所述连接建立单元进一步用于:触发终端和FCC根据所述NAT相关信息识别自身以及对方是否处于NAT后,并激活相应的NAT穿越流程。
所述用于启动NAT穿越处理的相关信息为下列形式中至少之一:
在终端向FCC发送的快发请求消息中额外携带本地地址信息;或者,
在终端向FCC发送的快发请求消息中额外携带FCC单元的公网地址;或者,
在终端向FCC发送的快发请求消息中额外携带本地地址信息和FCC单元的公网地址;或者,
在FCC向终端发送的快发响应消息中额外携带NAT穿越标识字段;或者,
在FCC向终端发送的快发响应消息中额外携带终端标识字段;或者,
在FCC向终端发送的快发响应消息中额外携带FCC预备用来发送切换码流的本地地址/端口;或者,
在FCC向终端发送的快发响应消息中额外携带FCC预备用来发送控制信令的本地地址/端口。
所述终端标识字段用于唯一标识用户终端,标识方式为:一个终端一个标识ID,或者是对于终端的每个接收端口生成一个标识ID,或者是一个标识ID加一个接收端口的组合;或者,如果用户终端可以保证该标识字段唯一,则由用户终端自行生成。
该系统应用于以下场景之一:
FCC在公网、用户终端在私网;
FCC在私网、用户终端在公网;
FCC在私网、用户终端在私网。
本发明方法和系统,均可保证用户终端或者FCC存在NAT设备后时,用户终端仍然可以方便迅速地与FCC单元建立连接,成功接收媒体码流,实现频道的快速切换。
附图说明
图1为本发明实施例的FCC在公网、终端在私网时的穿越场景示意图;
图2为本发明实施例的FCC在公网、终端在私网时的穿越流程示意图;
图3为本发明实施例的FCC在私网、终端在私网时的穿越场景示意图;
图4为本发明实施例的FCC在私网、终端在私网时的穿越流程示意图;
图5为本发明实施例的FCC在私网、终端在公网时的穿越场景示意图;
图6为本发明实施例的FCC在私网、终端在公网时的穿越流程示意图;
图7为本发明实施例实现NAT穿越的流程简图;
图8为本发明实施例实现NAT穿越的系统图。
具体实施方式
在实际应用中,当IPTV频道快速切换时,实现穿越NAT设备,以便用户终端可以正确的接收到FCC发送的切换码流。根据FCC和用户终端处于公网或者私网的情况,可以分为:FCC在公网、用户终端在公网;FCC在公网、用户终端在私网;FCC在私网、用户终端在公网;FCC在私网、用户终端在私网等四种情况。
其中,第一种情况不需要进行NAT穿越,其他三种情况都需要进行NAT穿越。下面将分别描述三种不同场景下的NAT穿越方案。
一、FCC处于公网,用户终端处于私网,NAT穿越的场景和流程示意,分别参见图1和图2。具体方案如下:
用户终端向FCC单元发送频道切换请求,FCC单元根据切换请求消息中携带的信息判断是否需要终端发送NAT穿越请求,并在响应消息中通过标志字段通知终端,终端根据该标志字段决定是否发送NAT穿越请求。具体步骤如下:
用户终端通过带外方式获取到FCC单元服务监听端口的公网IP地址和端口。
用户终端在发给FCC单元的频道切换请求中,携带FCC单元的公网IP地址,本地IP地址(即私网地址)以及预备用来接收切换码流的本地端口。如果预备用来接收切换码流的本地IP地址与发送切换请求的IP地址不同,则切换请求中还应该携带预备接收码流的本地IP地址。
FCC单元在收到终端的频道切换请求后,解析出用户终端的私网地址,并与所接收的IP数据包的源地址进行比较。如果两者不一致,则认为用户终端处于NAT后,需要通知终端发送NAT穿越请求。FCC单元也需要解析出消息中FCC的公网地址,并判断是否是本机地址,如果不是,则认为FCC也处于NAT启。
FCC单元在给终端返回的切换响应消息中,携带如下信息:NAT穿越的标志字段、终端标识字段和预备用来发送切换码流的本地IP地址和端口。如果FCC单元发送码流的本地端口与接收切换请求的端口一致,则端口参数可以省略。如果FCC单元发送码流的IP地址与接收切换请求的IP地址不一致,则还应该在响应消息中携带预备用来发送码流的IP地址。
用户终端解析FCC单元的切换响应消息,并完成快速切换媒体传输通道的NAT穿越。具体步骤如下:
终端从收到的切换响应消息中,解析出上述的NAT穿越标志字段并进行判断,从响应消息中判断出终端处于NAT后,而FCC处于公网,则终端按要求发送NAT穿越包。该穿越包可以是RTCP(Real-Time Control Protocol,实时控制协议)协议包、RTCP协议扩展包,或者是私有协议包。穿越包中需要携带终端标识字段。穿越包的源地址和端口为终端预备用来接收切换码流的本地地址和端口。穿越包的目的地址和端口为FCC单元返回的,用来发送切换码流的FCC地址和端口。
FCC单元收到终端发送的NAT穿越包后,根据其中携带的终端标识字段,匹配到对应的用户终端,更新其切换流发送的目的地址为穿越包的IP源地址和端口(即经过NAT修改后的公网地址和端口)。
FCC单元向终端的公网地址和端口发送切换码流。
特别的,为了保证NAT通道的有效性,终端需要周期性地发送NAT穿越包,直到快速切换流程结束(单播会话关闭)。
特别的,如果切换过程中FCC与终端之间的交互除了切换数据的传输,还包括其他控制信令,并且控制信令的端口与数据不一致。则终端还需要在发给FCC单元的频道切换请求中携带信令控制的端口信息,FCC单元需要在切换响应消息中携带信令控制的端口信息,终端需要在NAT穿越包中向FCC的信令端口发送NAT穿越包,FCC需要在收到终端发送的NAT穿越包后更新信令发送端口的目的地址。
二、FCC处于私网,用户终端处于私网,NAT穿越的场景和流程示意,参见图3和图4。此种场景下,主要流程与场景一一致,不过需要完成FCC单元向终端的NAT穿越,具体方案如下:
用户终端向FCC单元发送频道切换请求,FCC单元根据切换请求消息中携带的信息判断是否需要终端发送NAT穿越请求以及FCC是否需要向终端发送NAT穿越请求,并在响应消息中通过标志字段通知终端,终端根据该标志字段决定是否发送NAT穿越请求。
用户终端通过带外方式获取到FCC单元服务监听端口的公网IP地址和端口。
用户终端在发给FCC单元的频道切换请求中,携带FCC单元的公网IP地址,本地IP地址(即私网地址)以及预备用来接收切换码流的本地端口。如果预备用来接收切换码流的本地IP地址与发送切换请求的IP地址不同,则切换请求中还应该携带预备接收码流的本地IP地址。
FCC单元在收到终端的频道切换请求后,解析出用户终端的私网地址,并与所接收的IP数据包的源地址进行比较。如果两者不一致,则认为用户终端处于NAT后,需要通知终端发送NAT穿越请求。FCC单元也需要解析出消息中FCC的公网地址,并判断是否是本机地址,如果不是,则认为FCC也处于NAT启。
FCC单元在给终端返回的切换响应消息中,携带如下信息:NAT穿越的标志字段、终端标识字段和预备用来发送切换码流的本地IP地址和端口(在此场景下IP地址为FCC单元的私网IP地址)。如果FCC单元发送码流的本地端口与接收切换请求的端口一致,则端口参数可以省略。如果FCC单元发送码流的IP地址与接收切换请求的IP地址不一致,则还应该在响应消息中携带预备用来发送码流的IP地址。
终端解析切换响应消息,识别出FCC单元和终端自身都在私网中,则终端需要首先向FCC单元的服务监听端口发送NAT穿越请求。具体步骤如下:
终端从收到的切换响应消息中,解析出上述的NAT穿越标志字段判断终端是否处于NAT后;同时解析出消息中的FCC地址并与所接收的IP数据包的源地址进行比较,如果两者不一致,则认为FCC也处于NAT后。
终端按要求向已配置的FCC公网IP和端口发送NAT穿越包。该穿越包可以是RTCP协议包、RTCP协议扩展包,或者是私有协议包。穿越包中需要携带终端标识字段。穿越包的源地址和端口为终端预备用来接收切换码流的本地地址和端口。穿越包的目的地址和端口为已配置的FCC公网IP和端口。
FCC单元通过服务监听端口接收到终端的NAT穿越请求,从中获取到终端接收码流的公网IP地址和端口后,则向终端发送NAT穿越请求。具体步骤如下:
FCC单元收到终端发送的NAT穿越包后,根据其中携带的终端标识字段,匹配到对应的用户终端,更新其切换流和NAT穿越包发送的目的地址为穿越包的IP源地址和端口(即经过NAT修改后的公网地址和端口)。
FCC单元向终端发送NAT穿越包。该穿越包的目的地址是终端接收切换码流的公网地址和端口,源地址是FCC单元发送切换码流的本地地址和端口。NAT消息中携带终端标识以及FCC单元发送切换码流的本地地址和端口。
用户终端解析FCC单元的切换响应消息,并完成快速切换媒体传输通道的NAT穿越。
终端解析收到的NAT消息,从其中获取终端的标识字段以及FCC单元发送切换码流的本地地址和端口,并将这些信息与之前已解析的相应字段进行比较,如果一致,说明是正确的NAT消息。终端更新NAT穿越的目的地址为收到的NAT穿越包的源地址(即FCC发送切换码流的公网地址),并向该地址发送NAT响应消息。
终端向FCC单元的切换码流发送端口发送NAT穿越消息,消息中携带终端的标识字段以及终端接收码流的本地IP地址和端口。
FCC从发送切换码流的地址和端口上收到了终端发送的NAT穿越消息,根据其中携带的终端标识字段,匹配到对应的用户终端,更新其切换流发送的目的地址为穿越包的IP源地址和端口(即经过NAT修改后的公网地址和端口)。
FCC单元向终端的公网IP地址和端口发送切换码流。
特别的,为了保证NAT通道的有效性,终端和FCC都需要周期性地发送NAT穿越包,直到快速切换流程结束(单播会话关闭)。
特别的,如果切换过程中FCC与终端之间的交互除了切换数据的传输,还包括控制信令,并且控制信令的端口与数据不一致。则终端向FCC发送快发请求消息时还需要携带信令控制的端口信息,FCC响应终端的请求消息中需要携带信令控制的端口信息,终端也需要向FCC的信令端口发送NAT穿越包,FCC需要更新信令发送端口的目的地址。
三、FCC处于私网,用户终端处于公网,NAT穿越的场景和流程示意,参见图5和图6。此种场景相对于场景二简单,具体步骤是场景二中步骤的简化环节。特别的,在终端和FCC单元的交互只有媒体数据通道,或者交互具有多个通道、但是通道交互中使用的IP地址和端口都与媒体数据通道相同时,则涉及NAT穿越包和NAT响应包的交互可以省略。
对于上述三种场景下的流程,NAT穿越标志字段的值可以简单的表明是否启动NAT穿越流程,也可以进一步指示启动NAT穿越流程时,用户终端发送NAT穿越包的频率。
上述的终端标识字段用来唯一标识该用户终端。例如,它可以是一个终端一个标识ID,也可以是对于终端的每个接收端口生成一个标识ID,或者也可以是一个标识ID加一个接收端口的组合。特别地,如果用户终端可以保证该标识字段唯一,也可以由用户终端自行生成,携带在频道切换请求中,带给FCC单元。此时FCC单元在切换响应消息中,可以不返回该标识信息。
本发明中,在终端向FCC发送的快发请求消息中额外携带本地地址信息,FCC向终端发送的响应消息中额外携带NAT相关的信息(NAT穿越的标志字段、终端标识字段和预备用来发送切换码流和控制信令的本地地址/端口),终端和FCC根据消息中的NAT相关信息来识别自身是否处于NAT后,并激活相应的NAT穿越流程。通过此种方式,终端和FCC可以在第一步的交互中立刻识别出NAT的情况,马上启动并完成NAT穿越的流程,保证快速切换时切换码流发送的及时性。
可见,本发明的基本思想就是在频道切换请求及响应消息中,增加用于NAT穿越处理的相关信息,以便终端通过NAT设备后,仍然可以迅速地与FCC单元建立连接,接收媒体码流。基于上述思想,下面将提供FCC在公网、终端在私网;FCC在私网、终端在公网;FCC在私网、终端在私网这三种场景下的频道快速切换系统实现NAT穿越的具体实例。
一、FCC在公网、终端在私网的情况,参考图1、图2所示的场景,下面提供一种频道快速切换系统实现NAT穿越的具体实施例:
用户终端在发给FCC单元的频道切换请求中,携带本地地址和预备用来接收切换码流的本地端口(例如192.168.10.1:1234)。经过NAT设备后,该请求包的IP源地址将被修改为公网地址(例如202.12.3.4)。
FCC单元在收到终端的频道切换请求后,解析出用户终端的私网地址(即前面举例的192.168.10.1)与所接收的IP数据包的源地址(即前面举例的202.12.3.4)不一致,则认为用户终端处于NAT后,启动如下的NAT穿越流程:
FCC单元记录该终端的收包地址和端口(192.168.10.1:1234),并在给终端返回的切换响应消息中携带如下信息:启动NAT穿越的标志字、终端唯一标识和FCC预备用来发送切换码流的本地地址和端口(例如202.34.5.6:5678)。
终端解析收到的切换响应消息,按要求发送NAT穿越包。穿越包中需要携带终端唯一标识和终端的本地收包地址和端口(即前面举例的192.168.10.1:1234)。穿越包的IP源地址和目的地址分别为前面举例的192.168.10.1:1234和202.34.5.6:5678。经过NAT设备后,该穿越包的IP源地址和端口被修改为公网地址202.12.3.4:2345;
FCC单元收到终端发送的NAT穿越包后,根据其中携带的终端唯一标识和端口号,匹配到对应的用户终端,更新其切换流发送的目的地址为公网地址(即前面举例的202.12.3.4:2345)。
FCC单元按更新后的目的地址,发送切换码流。
二、FCC在私网、终端在私网的情况,参考图3、图4所示的场景,下面提供一种频道快速切换系统实现NAT穿越的具体实施例:
终端通过带外方式获取到FCC服务监听端口的公网IP和端口(例如202.12.3.4:1234)。
用户终端在发给FCC单元的频道切换请求中,携带本地地址和预备用来接收切换码流的本地地址和端口(例如192.168.2.34:2345)以及FCC监听的公网IP和端口(即前面举例的202.12.3.4:1234)。此消息经过NAT1时,源地址被修改为终端的公网地址和端口(例如203.45.6.7:4567)
FCC单元在收到终端的频道切换请求后,解析出消息内容中携带的终端本地地址(即前面举例的192.168.2.34),并与所接收的IP数据包的源地址(203.45.6.7)进行比较,当比较结果为两者不一致时说明终端处于NAT后;同时解析出FCC的公网IP地址(即前面举例的202.12.3.4),并判断此IP地址是否为FCC的本机IP地址,如果不是,则认为FCC也处于NAT后。在FCC和终端都处于私网的情况下,启动如下的NAT穿越流程:
FCC单元在给终端返回的切换响应消息中携带如下信息:启动NAT穿越的标志字、终端唯一标识和FCC预备用来发送切换码流的本地地址和端口(例如192.168.34.56:3456)。
终端解析收到的切换响应消息,从消息中获取终端是否处于NAT下,记录下终端唯一标识和FCC预备发送切换码流的本地地址和端口(即前面举例的192.168.34.56:3456),并与所接收的IP数据包的源地址(202.12.3.4)进行比较,当比较结果为两者不一致时说明FCC也处于NAT下。终端按照要求向FCC发送NAT穿越包,其中需要携带解析出的终端唯一标识、终端接收切换码流的本地地址和端口(即前面举例的192.168.2.34:2345),穿越包的源地址为接收切换码流的本地地址和端口(即前面举例的192.168.2.34:2345),目的地址为FCC的公网监听地址和端口(即前面举例的202.12.3.4:1234)。此穿越包在经过NAT1时,源地址被修改为终端的公网地址和端口(例如203.45.6.7:5678)。
FCC单元解析NAT穿越包中的终端标识字段,匹配到对应的用户终端,更新其切换流和NAT穿越包发送的目的地址为穿越包的IP源地址和端口(即前面举例的203.45.6.7:5678)。
FCC单元向终端发送NAT穿越包,其中携带终端唯一标识以及FCC单元发送NAT穿越包的本地地址和端口(即前面举例的192.168.34.56:3456),目的地址为终端接收切换数据的公网地址和端口(即前面举例的203.45.6.7:5678),源地址为FCC发送切换数据的本地地址(即前面举例的192.168.34.56:3456)。此穿越包在经过NAT2时,源地址被修改为FCC单元的公网地址和端口(例如202.12.3.4:5678)。
终端解析收到的NAT消息,从其中获取终端的标识字段以及FCC单元发送切换码流的本地地址和端口,与之前已解析的相应字段进行比较,如果一致,说明是正确的NAT消息。终端更新NAT穿越包的目的地址为所收到的NAT穿越包的IP源地址和端口(即前面举例的202.12.3.4:5678),并向该目的地址发送NAT穿越包,该消息也可以同时作为当前NAT的响应包。
FCC单元从发送切换码流的地址和端口上收到了终端的NAT穿越包,根据其中携带的终端唯一标识和端口号,匹配到对应的用户终端,更新其切换流发送的目的地址为公网地址(即前面举例的203.45.6.7:5678),并开始向终端发送切换码流。
三、FCC在私网、终端在公网的情况,参考图5、图6所示的场景,下面提供一种频道快速切换系统实现NAT穿越的具体实施例:
终端通过带外方式获取到FCC服务监听端口的公网IP和端口(例如202.12.3.4:1234)。
用户终端在发给FCC单元的频道切换请求中,携带本地地址和预备用来接收切换码流的本地地址和端口(例如202.23.4.5:2345)以及FCC监听的公网IP和端口(即前面举例的202.12.3.4:1234)。
FCC单元在收到终端的频道切换请求后,解析出FCC的公网IP地址(即前面举例的202.12.3.4),并判断此IP地址是否为FCC的本机IP地址,如果不是,则认为FCC处于NAT后,启动如下的NAT穿越流程。
FCC单元在给终端返回的切换响应消息中携带如下信息:启动NAT穿越的标志字、终端唯一标识和FCC预备用来发送切换码流的本地地址和端口(例如192.168.34.56:3456)。
终端解析收到的切换响应消息,记录下终端唯一标识和FCC预备发送切换码流的本地地址和端口(即前面举例的192.168.34.56:3456)。
FCC单元向终端发送NAT穿越包。穿越包中需要携带终端唯一标识和FCC单元的本地发包地址和端口(即所举例的192.168.34.56:3456)。穿越包的目的地址为终端提供的接收切换码流的本地地址(即所举例的202.23.4.5:2345),源地址为FCC单元的本地发包地址和端口(即所举例的192.168.34.56:3456)。讲过NAT设备后,该穿越包的IP源地址和端口被修改为202.12.3.4:4567。
终端解析收到的NAT穿越包,从中获取终端的唯一标识和FCC单元的本地发包地址和端口,并与已解析的相应字段进行匹配,如果一致,说明是正确的NAT穿越请求。则更新终端接收媒体码流的源地址以及终端后续发送控制消息的目的地址为公网地址(即步骤6举例的202.12.3.4:4567)。同时终端向该公网地址发送NAT穿越响应。
FCC单元收到终端发送的NAT穿越响应后,开始向终端发送切换码流。
考虑到码流发送的及时性,FCC单元可以在向终端发送NAT穿越请求后,不等待NAT穿越响应,立即向终端发送切换码流。
结合以上实施例可知,本发明实现NAT穿越的操作思路可以表示如图7所示的流程,该流程包括以下步骤:
步骤710:在频在频道切换请求及响应消息中,增加用于NAT穿越处理的信息。
步骤720:FCC单元处理频道切换请求,根据频道切换请求中的NAT穿越信息判断自己和对方是否处于NAT后以及是否需要穿越,并将相关信息在频道切换响应消息中返回给终端。
步骤730:终端处理频道切换响应,并根据切换响应中的NAT穿越信息判断自己和对方是否处于NAT后以及是否需要进行NAT穿越,如需要则启动NAT穿越相关流程。
步骤740:终端和FCC单元根据频道切换请求和频道切换响应中的NAT穿越信息启动并完成NAT穿越的相关流程,从而在存在NAT的情况下实现码流的传输,完成频道的快速切换。
为了保证上述实施例以及操作思路能够顺利实现,可以进行如图8所示的设置。参见图8,图8为本发明实施例实现NAT穿越的系统图,该系统包括相连的NAT穿越信息维护单元、连接建立单元。
实际应用时,NAT穿越信息维护单元能够在频道切换请求消息中增加用于NAT穿越处理的信息,并在需要启动NAT穿越时在切换请求的响应消息中携带用于启动NAT穿越处理的相关信息。连接建立单元能够触发终端根据收到的响应消息发送穿越包,实现信令和媒体的穿越;以及在终端通过NAT设备后,根据频道切换请求和响应消息中的NAT相关信息判断是否需要启动并完成NAT穿越的相关流程;或者触发FCC服务器根据收到的频道切换请求消息启动FCC的NAT穿越流程。
综上所述可见,无论是方法还是系统,本发明实现NAT穿越的技术均可保证用户终端或者FCC存在NAT设备后时,仍然可以方便迅速地与FCC单元建立连接,成功接收媒体码流,实现频道的快速切换。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (10)
1.一种频道快速切换系统实现NAT穿越的方法,其特征在于,FCC服务器和终端通过NAT设备直接实现频道切换信令和切换码流的穿越,包括如下步骤:
终端在频道切换请求消息中增加用于NAT穿越处理的信息,FCC服务器据此判断是否需要启动NAT穿越,如需要则在切换请求的响应消息中携带用于启动NAT穿越处理的相关信息;终端根据收到的响应消息发送穿越包,实现信令和媒体的穿越;
终端通过NAT设备后,根据频道切换请求和响应消息中的NAT相关信息判断是否需要启动并完成NAT穿越的相关流程。
2.根据权利要求1所述的方法,其特征在于,
携带用于启动NAT穿越处理的相关信息的方法为:在终端向FCC发送的快发请求消息中额外携带用于NAT穿越处理的信息;在FCC向终端发送的响应消息中额外携带NAT相关的信息;
建立所述连接之前,终端和FCC根据所述NAT相关信息识别自身以及对方是否处于NAT后,并激活相应的NAT穿越流程。
3.根据权利要求2所述的方法,其特征在于,所述用于启动NAT穿越处理的相关信息为下列形式中至少之一:
在终端向FCC发送的快发请求消息中额外携带本地地址信息;或者,
在终端向FCC发送的快发请求消息中额外携带FCC单元的公网地址;或者,
在终端向FCC发送的快发请求消息中额外携带本地地址信息和FCC单元的公网地址;或者,
在FCC向终端发送的快发响应消息中额外携带NAT穿越标识字段;或者,
在FCC向终端发送的快发响应消息中额外携带终端标识字段;或者,
在FCC向终端发送的快发响应消息中额外携带FCC预备用来发送切换码流的本地地址/端口;或者,
在FCC向终端发送的快发响应消息中额外携带FCC预备用来发送控制信令的本地地址/端口。
4.根据权利要求3所述的方法,其特征在于,
所述终端标识字段用于唯一标识用户终端,标识方式为:一个终端一个标识ID,或者是对于终端的每个接收端口生成一个标识ID,或者是一个标识ID加一个接收端口的组合;或者,如果用户终端可以保证该标识字段唯一,则由用户终端自行生成。
5.根据权利要求1至4任一项所述的方法,其特征在于,该方法应用于以下场景之一:
FCC在公网、用户终端在私网;
FCC在私网、用户终端在公网;
FCC在私网、用户终端在私网。
6.一种频道快速切换系统实现NAT穿越的系统,其特征在于,该系统包括NAT穿越信息维护单元、连接建立单元;其中,
所述NAT穿越信息维护单元,用于在频道切换请求消息中增加用于NAT穿越处理的信息,并在需要启动NAT穿越时在切换请求的响应消息中携带用于启动NAT穿越处理的相关信息;
所述连接建立单元,用于触发终端根据收到的响应消息发送穿越包,实现信令和媒体的穿越;以及在终端通过NAT设备后,根据频道切换请求和响应消息中的NAT相关信息判断是否需要启动并完成NAT穿越的相关流程;或者触发FCC服务器根据收到的频道切换请求消息启动FCC的NAT穿越流程。
7.根据权利要求6所述的系统,其特征在于,
所述NAT穿越信息维护单元携带用于启动NAT穿越处理的相关信息时,用于:在终端向FCC发送的快发请求消息中额外携带用于NAT穿越处理的信息;在FCC向终端发送的响应消息中额外携带NAT相关的信息;
建立所述连接之前,所述连接建立单元进一步用于:触发终端和FCC根据所述NAT相关信息识别自身以及对方是否处于NAT后,并激活相应的NAT穿越流程。
8.根据权利要求7所述的系统,其特征在于,所述用于启动NAT穿越处理的相关信息为下列形式中至少之一:
在终端向FCC发送的快发请求消息中额外携带本地地址信息;或者,
在终端向FCC发送的快发请求消息中额外携带FCC单元的公网地址;或者,
在终端向FCC发送的快发请求消息中额外携带本地地址信息和FCC单元的公网地址;或者,
在FCC向终端发送的快发响应消息中额外携带NAT穿越标识字段;或者,
在FCC向终端发送的快发响应消息中额外携带终端标识字段;或者,
在FCC向终端发送的快发响应消息中额外携带FCC预备用来发送切换码流的本地地址/端口;或者,
在FCC向终端发送的快发响应消息中额外携带FCC预备用来发送控制信令的本地地址/端口。
9.根据权利要求8所述的系统,其特征在于,
所述终端标识字段用于唯一标识用户终端,标识方式为:一个终端一个标识ID,或者是对于终端的每个接收端口生成一个标识ID,或者是一个标识ID加一个接收端口的组合;或者,如果用户终端可以保证该标识字段唯一,则由用户终端自行生成。
10.根据权利要求6至9任一项所述的系统,其特征在于,该系统应用于以下场景之一:
FCC在公网、用户终端在私网;
FCC在私网、用户终端在公网;
FCC在私网、用户终端在私网。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100454975A CN102651778A (zh) | 2011-02-24 | 2011-02-24 | 一种频道快速切换系统实现nat穿越的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100454975A CN102651778A (zh) | 2011-02-24 | 2011-02-24 | 一种频道快速切换系统实现nat穿越的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102651778A true CN102651778A (zh) | 2012-08-29 |
Family
ID=46693671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100454975A Pending CN102651778A (zh) | 2011-02-24 | 2011-02-24 | 一种频道快速切换系统实现nat穿越的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102651778A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103347207A (zh) * | 2013-06-28 | 2013-10-09 | 江苏省邮电规划设计院有限责任公司 | 一种iptv组播频道快速切换的方法 |
WO2014048310A1 (zh) * | 2012-09-28 | 2014-04-03 | 华为技术有限公司 | 数据的交互方法、装置及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136861A (zh) * | 2006-09-01 | 2008-03-05 | 阿尔卡特朗讯 | 提供iptv服务的方法 |
CN101155298A (zh) * | 2006-09-25 | 2008-04-02 | 华为技术有限公司 | 一种实现网络电视频道快速切换的方法及系统 |
CN101350825A (zh) * | 2008-08-22 | 2009-01-21 | 中兴通讯股份有限公司 | 网络地址转换穿越方法和系统、流媒体服务器、机顶盒 |
CN101729862A (zh) * | 2008-10-21 | 2010-06-09 | 中兴通讯股份有限公司 | 一种视频监控系统实现媒体穿越nat的方法和系统 |
CN101742175A (zh) * | 2008-11-18 | 2010-06-16 | 华为技术有限公司 | 一种发现快速频道切换服务的方法和装置 |
CN101902506A (zh) * | 2010-06-21 | 2010-12-01 | 中兴通讯股份有限公司 | 一种sip呼叫穿越网络地址转换的方法和系统 |
-
2011
- 2011-02-24 CN CN2011100454975A patent/CN102651778A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136861A (zh) * | 2006-09-01 | 2008-03-05 | 阿尔卡特朗讯 | 提供iptv服务的方法 |
CN101155298A (zh) * | 2006-09-25 | 2008-04-02 | 华为技术有限公司 | 一种实现网络电视频道快速切换的方法及系统 |
CN101350825A (zh) * | 2008-08-22 | 2009-01-21 | 中兴通讯股份有限公司 | 网络地址转换穿越方法和系统、流媒体服务器、机顶盒 |
CN101729862A (zh) * | 2008-10-21 | 2010-06-09 | 中兴通讯股份有限公司 | 一种视频监控系统实现媒体穿越nat的方法和系统 |
CN101742175A (zh) * | 2008-11-18 | 2010-06-16 | 华为技术有限公司 | 一种发现快速频道切换服务的方法和装置 |
CN101902506A (zh) * | 2010-06-21 | 2010-12-01 | 中兴通讯股份有限公司 | 一种sip呼叫穿越网络地址转换的方法和系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014048310A1 (zh) * | 2012-09-28 | 2014-04-03 | 华为技术有限公司 | 数据的交互方法、装置及系统 |
CN103347207A (zh) * | 2013-06-28 | 2013-10-09 | 江苏省邮电规划设计院有限责任公司 | 一种iptv组播频道快速切换的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2536802C2 (ru) | Передача информации непрерывности сеанса в многокомпонентном сеансе связи | |
CN101207501B (zh) | Ip广播系统和ip广播用多点传送组管理装置 | |
US11032122B2 (en) | Multicast delay diagnosis method and apparatus | |
US20090161590A1 (en) | Multicast data stream selection in a communication system | |
CN109640028B (zh) | 一种将多个视联网终端和多个互联网终端进行组会的方法和装置 | |
US10027496B2 (en) | Method for distributing identifiers of multicast sources | |
US20150215159A1 (en) | Method and device for transmitting media stream | |
KR20110108366A (ko) | 신뢰성 있는 멀티캐스트 스트리밍을 위한 방법 및 장치 | |
CN111431966B (zh) | 一种业务请求处理方法、装置、电子设备及存储介质 | |
WO2018121584A1 (zh) | 一种数据流传输方法、装置、相关设备及存储介质 | |
KR100890608B1 (ko) | 방송 시스템을 위해 멀티캐스트 주소를 패킷 식별자로매핑하는 방법 및 장치 | |
CN111131911A (zh) | 一种组播方法和装置 | |
CN101304328A (zh) | 组播认证的方法、认证设备和组播认证服务器 | |
CN102511155A (zh) | 一种ip路径协商的方法、系统及装置 | |
CN102651778A (zh) | 一种频道快速切换系统实现nat穿越的方法和系统 | |
CN102378064A (zh) | 一种iptv网络中实现nat穿越的方法及装置 | |
US20120099588A1 (en) | Channel change method, device, and system | |
CN108632681B (zh) | 播放媒体流的方法、服务器及终端 | |
KR101666594B1 (ko) | Sip 서비스 시스템 및 그 제어방법 | |
US8295200B2 (en) | Discovering multicast routing capability of an access network | |
CN110474956B (zh) | 视联网设备封号方法、装置、电子设备及可读存储介质 | |
CN114244908A (zh) | 一种跨网域的rtsp流媒体传输方法 | |
RU2557452C2 (ru) | Способ и система осуществления звуковой трансляции в видеонаблюдении | |
US8913614B2 (en) | Method, system and access service router for implementing multicast service | |
TW201228301A (en) | Multicast routing device, network system, and package transmitting method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120829 |