专利名称:一种支持VoIP通信的P2P方法
技术领域:
本发明通信涉及技术领域,特别是一种支持VoIP通信的P2P方法。
背景技术:
目前P2P技术发展日新月异,各种P2P应用也层出不穷。最开始 P2P应用主要用于文件的共享和传输,主要代表软件有Napster, BT, eMule等。这些P2P的主要特色就是共享文件,文件的传输,对于实 时性没有要求。Skype的出现,则将P2P应用扩展到了 VoIP (语音通 信)领域,实现了实时媒体流在P2P网络上的传输,极大的推动了 P2P技术的发展。
当前在P2P网络中传输的实时媒体的应用主要是网络电视直播。 网络电视直播和VoIP应用的一个区别在于VoIP是需要双向的实时媒 体流,而网络电视直播则只需要单方向的媒体流,而且该媒体流对于 实时性要求也和VoIP差别很大。试想,在使用P2P网络电视的时候, 软件在后台进行了媒体流的缓冲,对于用户的感官是没有什么影响 的。但是,对于VoIP的实时应用来说,用户无法忍受自己说了一句 话后,对方需要等待好几秒钟才听到,而自己听到对方的回应时又过 去了好几秒钟,显然,这样的交流是无法进行的。
VoIP应用在P2P上的一个难点就是,如何保证VoIP的质量。用 户希望听到的是清晰,连续的,低时延的语音,而不是断续的,经常 中断的通讯。当前的P2P网络的寻址,只能解决两点的直接的传输。但是,很多时候,尤其在国内的互联网环境下,两点之间的直接传输,
网络质量不是最好的。因此,要保证VoIP应用的质量,必然需要在 两个地址间找出一条最好的传输路径,确保传输的内容。
为了在P2P网络上高质量的支持VoIP传输,发明人提出了一种 支持VoIP实时通信的P2P方法。
发明内容
本发明的目的在于克服现有技术的缺点,提供一种P2P架构,可 以有效,高效的支持VoIP实时通信的P2P方法。
一种支持VoIP实时通信的P2P方法,该方法使得P2P可以承载 VoIP的信令和实时媒体流的传输,实现VoIP通讯。该方法的基本技 术方案是VoIP终端和服务器都是P2P网络中的一个节点,所有的 节点在P2P网络中形成一个重叠网。该重叠网中的节点,根据功能的 不同,分为普通节点(丽,只享受服务),转发节点(FN,具有NN的 功能,同时提供转发服务),超级节点(SN,具有FN的功能,具有管 理功能,NN/FN注册到SN),中心节点CN(所有的SN都注册到CN,并 通过CN交换FN信息,CN同时可以下发各种策略)。VoIP注册和呼叫 信令都通过P2P网络进行传输,当呼叫接续成功后,媒体流将智能的 在P2P网络中选择最佳路径进行传输,同时P2P网络实时监测媒体流 的网络传输质量,当媒体传输中断或者网络质量下降到一定程度后, P2P网络将重新选择最佳传输路径,保证VoIP通信的质量。本发明 解决了 VoIP在P2P网络中遇到的保证质量的实时性传输难题,可以 极大的提高VoIP通信的质量,并且可以解决网络封杀的难题。发明的技术方案
一种支持VoIP通信的P2P方法,包括P2P网络组建和路径选择 和建立,整个P2P网络分为3层4种角色,
l-l、 3层分别为普通节点层,超级节点层,中心节点层 l-2、 4种角色的P2P节点分别为
丽普通节点,不提供转发服务,只享受服务,需要注册到SN, FN:转发节点,首先是画,同时提供转发服务,需要注册到SN, SN:超级节点,接受丽/FN的注册,需要注册到CN, CN: P2P网络中的中心节点,负责制定各种规则和策略,同时也
负责SN-1和SN-2之间的信息交换,接受SN的注册,管理全网的FN
列表,下发FN列表到SN,下发策略到丽/FN, 卜3、层和角色之间的关系如下
(1) 所有的NN/FN组成普通节点层
(2) 所有的SN组成超级节点层
(3) 所有的CN组成中心节点层。 1、 P2P网络组建
(1) 为了有效的进行寻址以及选择高效的路径,需要组建P2P 网络,该网络需要至少一个SN节点,当超过一个SN节点时,需要增 加CN节点
(2) 每个VoIP终端、软交换、媒体网关都是该网络中的一个节 点,以下都简称节点
(3) 每个节点都配置了一个或者多个的SN信息(4) 所有节点初始化角色都是NN,根据自己获得的SN信息, 选择一个SN进行注册
(5) 丽注册成功后,SN将向NN下发各种策略,如果管理层针 对某个丽有独立的策略,则下发对应的独立策略,如果没有独立的 策略,则下发通用策略
(6) NN在收到SN的策略后,判断自己是否能够提供转发服务, 如果能够提供转发服务,则通知SN自己成为FN,并报告自己能够提 供的空闲带宽资源
(7) SN发现丽成为FN后,把FN信息通知到所有的SN
(8) 当SN和丽联系中断时,丽选择另外的SN注册,SN则通 知其他SN某个FN中断。
2、路径选择和建立
(1) VoIP终端向软交换信令通信时,丽发现路径没有建立,则 向SN申请FN资源
(2) 丽获得FN资源后,将探测NN《^软交换,NN—^FN《-> 软交换之间的路径
(3) 根据探测结果,使用SN下发的策略,选取最佳的一条路径, 对于信令,长期保留该路径
(4) 对于媒体流,需要实时的检查网络通信的质量, 一旦发现 通信质量下降或者网络通信中断,则快速选择一条路径通信,并且同 时选择其他的可用路径。选择到最佳路径后,切换到最佳路径进行通 信(5) 媒体通信结束后,需要快速释放该路径上的所有资源
(6) 在媒体通信过程中,通信两端都不断的检测通话质量,当 接收方发现接收报文由于丢包,抖动等导致通话质量降低到一定值, 则通知主动发起方切换路径。当主动发起方发现接收对方报文通信质 量降低时,则主动发起路径的切换
(7) 路径切换的时候,保留当前通信路径,探测过程中,发现 比当前路径更好的路径时,则切换报文传输到更好的路径,切换过程 一直到探测结束,选定最优路径
(8) 在媒体通信过程中,根据应用层对通话质量的检测,可以 多次进行切换
(9) 应用层在通话结束后,需要对通话路径进行评估,评估的 结果反馈给P2P模块
(10) P2P模块在下一次和相同对端地址通信时,选择路径和FN 的时候,需要参考以前的评估结果。
有益效果
本发明解决了 VoIP在P2P网络中遇到的保证质量的实时性传输 难题,可以极大的提高VoIP通信的质量,并且可以解决网络封杀的 难题。当媒体传输中断或者网络质量下降到一定程度后,P2P网络将 重新选择最佳传输路径,保证VoIP通信的质量。
图1是本发明的支持VoIP通信的P2P方法流程图。
具体实施例方式
参见附图。附图中的网络,包括了NN,FN,SN,CN这些P2P节点, 同时,也包括了VoIP终端,软交换和媒体网关。
SN-1,SN-2: P2P网络中的超级节点,负责管理丽的注册,FN的 分配,策略的下发
FN-l,FN-2: P2P网络中的转发节点,负责为NN提供转发服务
丽-l,NN-2,丽-3,丽-4,丽-5,NN-6: P2P网络中的普通节点,同 时也是VoIP系统中的成员。其中
丽-1, NN-2, NN-3,丽-4对应VoIP系统中的终端。
丽-5对应VoIP系统中的软交换。
NN-6对应VoIP系统中的媒体网关。
1、整个P2P网络分为3层4种角色
1-1、 3层分别为普通节点层,超级节点层,中心节点层。
1-2、 4种角色分别为
NN:普通节点,不提供转发服务,只享受服务,需要注册到SN。 FN:转发节点,首先是NN,同时提供转发服务,需要注册到SN。 SN:超级节点,接受丽/FN的注册,需要注册到CN。 CN: P2P网络中的中心节点,负责制定各种规则和策略,同时也
负责SN-1和SN-2之间的信息交换。接受SN的注册,管理全网的FN
列表,下发FN列表到SN,下发策略到丽/FN。
1-3、普通节点层由所有的NN/FN组成,超级节点层由所有的SN
组成,CN为中心节点层。2、 VoIP节点内嵌P2P网络功能模块,同时具有P2P功能和VoIP 通信功能。
3、 VoIP节点需要加入到P2P网络中,成为其中的一个节点,并
根据不同条件具有相应的角色。
4、 VoIP节点注册到软交换时,P2P网络在节点和软交换间建立 一条最佳传输路径,并保持该路径持续存在。后续VoIP节点和软交 换间的呼叫控制信令都通过该路径传输。
5、 VoIP节点间通过软交换间进行呼叫时,节点的P2P信息通过 通信信令进行交换,P2P网络在VoIP节点间动态建立最佳传输路径 进行媒体流传输。
6、 P2P网络在传输媒体流时,根据需要可以进行路径切换或者 重新选择最佳路径,呼叫结束后释放路径。
7、 P2P网络中的SN和CN可以独立设置,并由管理系统进行指
定
VoIP节点在P2P网络中只能成为■或者是FN:
7-1、 VoIP节点上电后,初始都只是丽的角色。
7-2、丽探测到SN的网络质量,选择时延最小,丢包最少的SN
进行注册,注册成功后,从SN获得P2P策略,策略包括选择传输路
径的策略,成为FN的条件等。
7-3、 NN稳定运行策略规定的时间后,判断是否满足成为FN的
条件,成为FN的条件包括自己所在的网络接入类型,是否公网,剩
余带宽大小等。如果满足,则成为FN,并上报SN。7-4、 SN将FN信息上报给CN,并扩散到全网的SN,加入转发资 源列表。
7-5、丽/FN监测和SN之间的网络连接情况,当丽/FN和SN联 系中断后,NN/FN重新选择SN注册。
8、 SN监测所有的FN的网络连接状况,当FN与SN联系中断以 后,SN上报CN通报到全网的SN上,从转发资源列表中删除该FN。
9、 CN在P2P网络中交换SN之间信息,下发各种策略。
10、 管理系统可以通过SN/CN下发各种策略,策略包括但不限于 10-1、路径网络质量策略,主要是网络时延,丢包,抖动的参数
范围,以及这些参数在评估网络质量时占百分比
10-2、路径选择策略,主要是在节点间直接通信还是节点间转发 通信选择时的策略,包括直通优先,转发优先,只允许直通,只允许 转发,直通和转发平等竞争等。
10-3、协议选择策略,主要是在使用UDP通信还是TCP通信时如 何选择,包括只允许UDP,只允许TCP, UDP优先,TCP优先,UDP/TCP 平等竞争等。
10-4、全局的NN转化为FN的策略,包括必须稳定运行的最少时 长,最少剩余带宽,何种网络接入方式,是否禁止成为FN等。
10-5、针对单个的丽指定成为FN的策略,内容同上10-4
10-6、全局的FN转发策略,包括指定转发使用的最大带宽,最 大转发连接数,固定端口还是动态端口范围等。
10-7、针对单个FN转发策略,内容同上10-611、 对于节点间的信令流,P2P网络采用同一路径进行复用,也 就是两个节点间不同的信令流完全共用同一路径传输,并长期保留该 传输路径。
12、 对于节点间的媒体流,P2P网络从呼叫信令中获取到P2P信 息后,动态建立一条传输路径,建立的规则就是根据CN下发的各种 策略进行选择,动态选择步骤如下
12-1、检查本地是否己经有到对端的通信的记录
12-2、检查该通信记录是否在一定的时间范围内,如果是,并且 传输质量良好,那么直接根据通信记录建立传输通道
12-3、如果通信记录不存在或者是超过时间范围或者传输质量不 理想,贝U,从本地的FN转发列表中选取最优的FN,然后探测通过这 些FN到对端的通信质量,并且同时探测不经过FN的路径的探测质量。
12-4、探测过程中,先选取最先响应的路径传输媒体流,并在探 测过程中不断切换到最好的路径传输
12-5、探测结束后,根据策略选取最佳传输路径,并切换到最佳 传输路径进行传输
12-6、根据媒体层需求进行路径切换或者重新选择路径。媒体层 可以根据媒体的统计,如果质量降低到一定程度,则可以通知P2P网 络切换。如果媒体传输中断,则要求P2P网络切换或者是重新选择路 径。
12-7、媒体通信结束,通知P2P网络释放该传输路径。
12-8、探测结束后,P2P网络根据探测情况,决定是否向SN申请更新转发列表。
13、 通过FN的转发功能,可以避开网络中对某些节点的直接通
信
14、 由于节点间的间接的通信,使得对于某些节点的网络封杀失效。
具体实施如下其具体步骤如下
(1) 在SN-1, SN-2上配置CN的地址信息,SN-1, SN-2注册到CN
上;
(2) 在所有的丽上,通过配置或者其他方式,获取到SN-l和 SN-2的地址信息;
(3) 丽对SN-1和SN-2进行探测,选择最适合注册的SN进行 注册,其中丽-1, NN-3, FN-1注册到了 SN-l,而NN-2和丽-4、 NN-5, NN-6, FN-2则注册到了SN-2上;
(4) 雨加入到P2P网络中后,VoIP终端则需要注册到软交换, NN-1,NN-2,丽-3,NN-4, FN-1, FN-2同时对应VoIP终端,因此,需要 向NN-5对应的软交换进行注册,注册过程,选用NN-l来作为例子;
(5) NN-1对应的VoIP终端的应用层,通过NN-1网络模块, 向NN-5的VoIP软交换应用层发送协议报文,协议可以是SIP, H323 或者任何协议;
(6) 丽-1的P2P网络模块接收到应用层的发送请求后,检查发 现还没有建立到丽-5的虚拟路径,因此,NN-1向SN-1申请转发FN 资源列表;(7) SN-1收到NN-1的请求后,根据一定的规则和策略分配了 FN-1和FN-2转发节点给画-1;
(8) NN-1接收到FN-1, FN-2转发节点后,组合成了 3条虚拟 路径,分别为1)NN-1《+丽-5,
2) NN-l^^FN-1^+丽-5, 3)丽-l^^FN-2^^NN-5,对这3 条路径进行路径探测;
(9) 最先接收到探测响应的路径l),作为临时的收发路径,信 令报文发送到丽-5的应用层;
(10) 根据规则和策略,探测结束后对8中1),2),3)三条路径 进行评估,评估内容包括时延,丢包,抖动,最后选定路径(3)为最 优路径,信令报文的收发切换到路径3),释放路径1)和2)占用的资 源
(11) 丽-1的应用层发起向丽-5的呼叫请求,丽-5软交换选 定NN-6和丽-1进行通信,在通信信令中把NN-6信息带回给NN-1;
(12) NN-l将NN-1, FN-1, FN-2,丽-6信息进行组合,同样得 到三条路径(a)丽-1《">丽-6 ,
(b) NN-1<~^FN-1《^NN-6, (c) NN-1—+FN-2《>>顺-6;
(13) NN-1对这三条路径进行探测,最先收到响应的路径(c)作 为临时路径,开始媒体流的传送;
(14) 探测结束后,综合媒体流传输的策略,选定路径(b)为最优 路径,媒体流传输切换到路径(b)进行传输;
(15) 丽-1和丽-6应用层对于媒体流进行通信质量的监测;(16)通信结束后,NN-1应用层对通话质量进行评估,评估结果 反馈回NN-1的P2P网络模块,在下次媒体传输时,用来参考。
本发明,提出了一种支持实时VoIP传输的P2P方法,可以高质 量的保证VoIP实时媒体传输。在对本发明研究和分析后,增加P2P 传输的内容的类型,增加/改变NN/FN路径组合方式,路径探测的方 式,提出新的评估策略,以及路径切换的策略等,可以对本发明提出 的P2P方法进行改进,但是这些改进仍在本发明的权利要求保护范围 之内。
权利要求
1、一种支持VoIP通信的P2P方法,包括P2P网络组建和路径选择和建立,整个P2P网络分为3层4种角色,其特征在于,1-1、3层分别为普通节点层,超级节点层,中心节点层1-2、4种角色的P2P节点分别为NN普通节点,不提供转发服务,只享受服务,需要注册到SN,FN转发节点,首先是NN,同时提供转发服务,需要注册到SN,SN超级节点,接受NN/FN的注册,需要注册到CN,CNP2P网络中的中心节点,负责制定各种规则和策略,同时也负责SN-1和SN-2之间的信息交换,接受SN的注册,管理全网的FN列表,下发FN列表到SN,下发策略到NN/FN,1-3、层和角色之间的关系如下(1)所有的NN/FN组成普通节点层(2)所有的SN组成超级节点层(3)所有的CN组成中心节点层。
2、 根据权利要求1所述的支持VoIP通信的P2P方法,其特征在于, 所述NN、 FN、 SN节点如下SN-1, SN-2: P2P网络中的超级节点,负责管理NN的注册,FN的分配, 策略的下发FN-1,FN-2: P2P网络中的转发节点,负责为NN提供转发服务 NN-1,NN-2,NN-3,NN-4,NN-5,丽-6: P2P网络中的普通节点,同时也 是VoIP系统中的成员,其中NN-1, NN-2, NN-3,丽-4对应VoIP系统中的终端, NN-5对应VoIP系统中的软交换, NN-6对应VoIP系统中的媒体网关。
3、 根据权利要求l所述的支持VoIP通信的P2P方法,其特征在于, 所述节点还包括VoIP节点内嵌P2P网络功能模块,同时具有P2P功能 和VoIP通信功能VoIP节点需要加入到P2P网络中,成为其中的一个节点,并根据不同条件具有相应的角色VoIP节点注册到软交换时,P2P网络在节点和软交换间建立一条最佳 传输路径,并保持该路径持续存在,后续VoIP节点和软交换间的呼叫控 制信令都通过该路径传输VoIP节点间通过软交换间进行呼叫时,节点的P2P信息通过通信信 令进行交换,P2P网络在VoIP节点间动态建立最佳传输路径进行媒体流 传输。
4、 根据权利要求1所述的支持VoIP通信的P2P方法,其特征在于, 所述P2P网络组建(1) 为了有效的进行寻址以及选择高效的路径,需要组建P2P网络, 该网络需要至少一个SN节点,当超过一个SN节点时,需要增加CN节点(2) 每个VoIP终端、软交换、媒体网关都是该网络中的一个节点,以下都简称节点(3) 每个节点都配置了一个或者多个的SN信息(4) 所有节点初始化角色都是画,根据自己获得的SN信息,选择 一个SN进行注册(5) NN注册成功后,SN将向NN下发各种策略,如果管理层针对某 个丽有独立的策略,则下发对应的独立策略,如果没有独立的策略,则 下发通用策略(6) 丽在收到SN的策略后,判断自己是否能够提供转发服务,如 果能够提供转发服务,则通知SN自己成为FN,并报告自己能够提供的空 闲带宽资源(7) SN发现丽成为FN后,把FN信息通知到所有的SN(8) 当SN和NN联系中断时,NN选择另外的SN注册,SN则通知其 他SN某个FN中断。
5、根据权利要求1所述的支持VoIP通信的P2P方法,其特征在于, 所述路径选择和建立(1) VoIP终端向软交换信令通信时,NN发现路径没有建立,则向 SN申请FN资源(2) 丽获得FN资源后,将探测NN《^软交换,NN《^FN《"^软交换之间的路径(3) 根据探测结果,使用SN下发的策略,选取最佳的一条路径,对 于信令,长期保留该路径(4) 对于媒体流,需要实时的检査网络通信的质量, 一旦发现通信 质量下降或者网络通信中断,则快速选择一条路径通信,并且同时选择其他的可用路径,选择到最佳路径后,切换到最佳路径进行通信(5) 媒体通信结束后,需要快速释放该路径上的所有资源(6) 在媒体通信过程中,通信两端都不断的检测通话质量,当接收 方发现接收报文由于丢包,抖动等导致通话质量降低到一定值,则通知主 动发起方切换路径,当主动发起方发现接收对方报文通信质量降低时,则 主动发起路径的切换(7) 路径切换的时候,保留当前通信路径,探测过程中,发现比当 前路径更好的路径时,则切换报文传输到更好的路径,切换过程一直到探 测结束,选定最优路径(8) 在媒体通信过程中,根据应用层对通话质量的检测,可以多次 进行切换(9) 应用层在通话结束后,需要对通话路径进行评估,评估的结果 反馈给P2P模块(10) P2P模块在下一次和相同对端地址通信时,选择路径和FN的 时候,需要参考以前的评估结果。
6、 一种支持VoIP通信的P2P方法,其具体步骤如下(1) 在SN-1, SN-2上配置CN的地址信息,SN-1, SN-2注册到CN上;(2) 在所有的丽上,通过配置或者其他方式,获取到SN-1和SN-2 的地址信息;(3) 丽对SN-1和SN-2进行探测,选择最适合注册的SN进行注册, 其中NN-1, NN-3, FN-1注册到了 SN-1,而NN-2和丽-4、丽_5, NN-6,FN-2则注册到了 SN-2上;(4) NN加入到P2P网络中后,VoIP终端则需要注册到软交换, NN-1, NN-2,丽-3, NN-4,FN-1, FN-2同时对应VoIP终端,因此,需要向丽-5 对应的软交换进行注册,注册过程,选用NN-l来作为例子;(5) 丽-l对应的VoIP终端的应用层,通过NN-1网络模块,向丽-5 的VoIP软交换应用层发送协议报文,协议可以是SIP, H323或者任何协 议;(6) NN-1的P2P网络模块接收到应用层的发送请求后,检査发现还 没有建立到丽-5的虚拟路径,因此,NN-1向SN-1申请转发FN资源列表;(7) SN-1收到NN-1的请求后,根据一定的规则和策略分配了 FN-1 和FN-2转发节点给丽-l;(8) 丽-1接收到FN-1, FN-2转发节点后,组合成了 3条虚拟路径, 分别为1)丽_1《^丽-5,2) NN-1《^FN-l^->NN-5, 3) NN-1^+FN-2《~>丽-5,对这3条路 径进行路径探测;(9) 最先接收到探测响应的路径l),作为临时的收发路径,信令报 文发送到丽-5的应用层;(10) 根据规则和策略,探测结束后对8中1),2),3)三条路径进行 评估,评估内容包括时延,丢包,抖动,最后选定路径(3)为最优路径, 信令报文的收发切换到路径3),释放路径l)和2)占用的资源(11) 丽-1的应用层发起向NN-5的呼叫请求,NN-5软交换选定NN-6和NN-1进行通信,在通信信令中把NN-6信息带回给丽-1;(12)丽-1将丽-1, FN-l, FN-2,丽-6信息进行组合,同样得到三 条路径(a)丽-1《+NN-6,(b) NN-1《^FN—6, (c) 2《+NN-6;(13) NN-1对这三条路径进行探测,最先收到响应的路径(c)作为临时 路径,开始媒体流的传送;(14) 探测结束后,综合媒体流传输的策略,选定路径(b)为最优路径, 媒体流传输切换到路径(b)进行传输;(15) NN-1和NN-6应用层对于媒体流进行通信质量的监测;(16) 通信结束后,NN-l应用层对通话质量进行评估,评估结果反馈 回NN-1的P2P网络模块,在下次媒体传输时,用来参考。
全文摘要
本发明提供支持VoIP通信的P2P方法,VoIP终端和服务器都是P2P网络中的一个节点,所有的节点在P2P网络中形成一个重叠网。包括P2P网络组建和路径选择和建立,整个P2P网络分为3层4种角色,分别为普通节点层,超级节点层,中心节点层。4种角色P2P节点分别为NN普通节点,FN转发节点,首先是NN,需要注册到SN,SN超级节点,接受NN/FN的注册P2P网络的中心节点,负责制定各种规则和策略,同时也负责SN-1和SN-2之间的信息交换,接受SN注册,管理全网FN列表,下发FN列表到SN,下发策略到NN/FN。VoIP信令和媒体流都通过NN/FN之间组合的虚拟路径进行传输。
文档编号H04L29/06GK101420434SQ20081018270
公开日2009年4月29日 申请日期2008年12月3日 优先权日2008年12月3日
发明者卢瑞昕 申请人:深圳市众方信息科技有限公司