一种针对时延敏感数据的传输方法

文档序号:7694070阅读:326来源:国知局
专利名称:一种针对时延敏感数据的传输方法
技术领域
本发明涉及一种在网络上实现的数据传输方法,具体地说,本发明特 别涉及一种针对时延敏感数据的传输方法。
背景技术
随着人们基于互联网开发的应用越来越多,特别是VoIP及视频通信 等对时延敏感的应用也在互联网上实现,互联网的尽力而为特性越来越不 能满足应用的需求。
在IP层面上,人们研究开发了多种技术,如RSVP、 DiffServ、 MPLS 流量工程等,以对不同的流量提供不同的服务质量保证。但是这些技术的 实施需要对互联网基础设施进行改造,并不是一蹴而就的。近年来基于P2P 重叠网技术的应用得到了广泛的普及,这些碎用提高了对互联网边缘带宽 的利用率,获得了更好的数据传输QoS。 .
根据对QoS的需求,基于互联网的应用可分为三类基于音视频内容 的业务,基于交互的业务和基于通信的业务。视频点播等即属于基于音视 频内容的业务;基于交互的业务如Web浏览、网络游戏等;基于通信的业 务如VoIP、纟见频通信等。
在这些业务中,VoIP和视频会议对时延的要求最高。现有的基于P2P 的技术在解决了大数据量的共享分发问题后(如BitTorrent ),在音视频流 媒体等方面也开始取得进展(如各种P2P流媒体组播和点播系统),在VoIP 方面,基于P2P技术的Skype取得了很大的成功。目前,Skype的实现细 节并没有公开,现有对其的少量研究结果表明,其采用了P2P技术,利用 比较稳定的用户节点转发流量,并使用了一种非常有效的压缩算法,在维 持良好语音质量的同时使流量占用带宽显著减小,同时其取得的成功还部 分归功于其对NAT穿越的效果很好,使其获得了广泛的用户。但是,在 视频通信方面,目前还没有取得很好效果的解决方案。视频通信的主要难 点体现在其码率更大(达到数百Kbps),所需带宽在互联网上很难得到保 证,并且需要考虑音视频的同步问题。目前的一些^L频通信方案(如QQ)的视频码率低、分辨率低、窗口小,效果并不令人满意。

发明内容
本发明的目的是针对需要较大带宽的对时延敏感的应用,提出一种能 够减少时延,降低时延抖动,提高服务质量且兼有一定容错性的数据传输 方法。
本发明提供的针对时延敏感数据的传输方法基于重叠网络(ON: Overlay Network)平台实现,所述重叠网络平台包^^若干ON服务器节点 (为方便描述,下文中将ON服务器节点简称为ON节点)组成;两个ON 节点之间的通信流量可以直接通过IP路径传输,也可以通过重叠网络路 径传输,所述重叠网络路径是指两个ON节点之间的通信流量由另外的 ON节点代为转发的网络路径。每个所述ON节点为一定数目的业务终端 的流量提供代理转发服务。通过部署重叠网络平台,可以对通信流量进行 分布式的控制,由重叠网络节点来实施多路径的选择算法可以简化用户端 的实现,在部署重叠网络节点时可以对拓朴进行优化设计以取得好的性 能。
本发明提供的针对时延敏感数据的传输方法包括如下步骤
1 )源业务终端向为其代理流量转发的源ON节点发出数据传输请求,
所述数据传输请求中包括目的终端的网络地址、为目的终端代理流量转发
的目的ON节点的网络地址;
2) 源ON节点从本地的传输路径表中选出n条到达目的ON节点的传 输路径,所述n至少为2;
3) 源ON节点将源业务终端的数据包依照所选出的传输路径转发至 目的ON节点,其中相邻数据包分散到不同的传输路径进行传输;
4 )目的ON节点将数据包转发给目的业务终端。
上述技术方案中,所述步骤2)中,所述传输路径表中记录各传输路 径的时延和丢包率信息,所述源ON节点根据时延和丟包率信息选出所述 n条到达目的ON节点的传输路径。
上述技术方案中,所述步骤2 )中,所述传输路径包括直接IP路径和 重叠网络路径。
上述技术方案中,所述步骤2)中,在源ON节点确定传输路径后, 源ON节点向所述源业务终端发送传输许可消息;然后源业务终端开始传输需要发送至目的业务终端的数据包。
上述技术方案中,所述步骤3)中,所述数据包按顺序编制序号,源
ON节点将相邻的t个数据包编为一组,并赋给一个组编号,不同的组其组编 号递增;然后所述源ON节点依序发送每组数据包,且同一组内的数据包分 散到不同的所述传输路径进行传输;it取值范围为2 ~ 10 。
上述技术方案中,所述数据包的每个分组还包括一个异或数据包;所 述源ON节点将每一组的;t个原始数据包的负载进行按位异或,所得到的异或 后的数据作为新的负载形成所述异或数据包;所述异或数据包与其所在组的 原始数据包一齐向目的ON节点发送。
上述技术方案中,所述数据包具有一个标志位,表明是原始数据包还 是异或数据包。并且源ON节点对来自同一个业务终端、发往同一个业务 终端的数据包赋予一个流编号。转发的终点是目的ON节点。
上述技术方案中,所述步骤4)中,目的ON节点收到数据包后,如果是 原始数据包,则转发给目的业务终端。如果在收到某组的异或数据包和该组 的*-l个原始数据包后,还有一个原始数据包没有收到,则通过该组的已收 到的原始数据包和异或数据包进行异或,恢复出该原始数据包,并转发给目 的终端,并认为那个原始敎据包丟失。 .
上述技术方案中,所述步骤4)中,所述目的ON节点统计各个传输 路径的丟包率,若丟包率超过设定值,则向源ON节点报告该路径丟包严 重,并把当箭各路径的丢包率发送给源ON节点。
上述技术方案中,所述步骤4)中,所述源ON节点以概率p放弃丟 包严重的路径,并从传输路径表中选择一条新路径替代所放弃的路径。
上述技术方案中,所述步骤2)中,路径性能表的每个表项都有一个失 效标志,若该表项上次更新时间距当前时间大于A,则该表项被标记为"失 效"。A的典型取值范围可为1 ~ 5分钟。
上述技术方案中,所述步骤2)中,若路径性能表中有一定比例(比如 50%)的表项失效,则节点要主动发起一次探测过程,刷新这些表项。
上述技术方案中,所述步骤2)中,源节点对路径的主动探测步骤如下
源0N节点沿直接IP路径和所有重叠路径向目的ON节点发送探测报文, 非目的ON节点收到报文后立即向目的ON节点转发;
目的节点将接收到的报文顺序及报文之间相隔的时间差,放到一个应答 报文中,沿直接IP路径返回给源ON节点;主动探测方案中,每个探测报文携带一个唯一的编号,及本次探测所发
送报文总数目,该数目对应着所探测的路径数;
主动探测方案中,每个探测报文长度与将发起会话的报文长度一致;
主动探测方案中,目的节点在收到第一个来自源ON节点的探测报文后, 设置定时器为150毫秒,若定时器超时或者接收到全部探测报文,就将报文 到达顺序及报文之间相隔的时间差,放到应斜艮文中,返回给源0N节点;
主动探测方案中,源ON节点将收到应答报文的时刻减去发送第一个探 测报文的时刻,求得其中一条路径的时延,同时根据报文之间的时间差,可 以求出其他路径的时延。
上述技术方案中,所述步骤2)中,当路径时延相同时,则选择丢包率 低的路径;
上述技术方案中,所述步骤4)中,每条路径上所传输的会话不只一个, 所统计出的丟包率是对所有会话而言的;
上述技术方案中,所述步骤4)中,若丟包率超过门限,目的0N节点向 源0N节点发送报文,通告该路径丢包严重,并把当前所有路径的丢包率信 息都发送给源ON节点。丟包率的门限值根据所使用的音视频编码格式、根 据上层应用的需求不同而不同,可能的取值范围为1%-5%。,
上述技术方案中,所述步骤4)中,概率p取值在区间(O, 1],其值与该 路径的丢包率大小有关。可取如下线性关系若丢包率为1%,则取值为0.5, 若为2%,取值O. 6,依此类推,若大于等于5%,则取值O. 9。
上述技术方案中,所述步骤4)中,若路径表中没有可供选择的未失效 路径,则源0N节点启动一个新的探测过程。在探测过程结束后,更新路径 表。并据此选择一条路径(不包括当前本会话已使用的路径)代替丢包率高 的路径进行传输。
上述技术方案中,所述ifc的取值可以随ON平台的转发任务繁忙与否进行 动态调整。当网络繁忙时,A:可取值大些,否则,可取^值小些。
本发明具有如下技术效果
由于把相邻的数据包在不同的路径上传输,即使某路径发生连续的丟 包,也不会对音视频的质量造成太大影响。而如果是在一条路径上传输,连 续的丢包对音视频质量影响很大。例如,如果有"条路径传输,则某条路径 上连续两个丟包,在原始音视频流中,这两个包之间相隔"-l个包。若要原始音^L频流丟两个连续的包,则意^^未着要传输这两个包的两个路径几乎同时 出问题导致丟包,这个概率是很低的。
由于釆用了异或包,当任一组的k个数据包丢失一个时,都可以用相应 的异或包和其他数据包进行恢复。
互联网上的链路时延是抖动的,对于那些时延太长的数据包,可以认为 是丟失了,从而采用其他数据包进行恢复,避免了在链路时延出现抖动的情 况下,数据包的传输延时过长。
采用了对链路丟包率的监测和反馈机制,当某路径质量恶化,丟包率变 大时,可以很快用新的路径取代。
这种把数据包分到多个路径传输的方法,可以更均衡地利用网络的带 宽,减少出现瓶颈的概率。


以下,结合附图来详细说明本发明的实施例,其中 图1是弹性重叠网平台与终端拓朴示意图; 图2是本发明在* = 2, " = 3时的数据包传输情况示意图; 图3是本发明在"6, " = 3时的数据包传,输情况示意图; 图4是本发明在左=3, " = 6时的数据包传输情况(此图略去了对异或包 的说明)。
具体实施例方式
下面结合

本发明的具体实施方式
。 实施例1
如图l所示,重叠网平台部署有6个节点,每个节点负责为一定数目的 业务终端提供服务。节点与其负责的终端可处于同一个驻地网或同一个互联 网接入提供商的网络之内。节点之间的音视频通信数据以RTP/UDP的方式承载。
当业务终端A有音视频数据要发送给业务终端B时,A首先向它所属的 0N节点Sl发出请求,该请求包括B的IP地址、B所属的重叠网节点S2的 IP地址等。
Sl收到来自A的请求后,查询自己所维护的路径性能表,若不能选择出 3条性能符合要求(例如时延小于300ras)的路径,则分别沿r0、 rl、 r2、r3、 r4路径向S2发出5个探测报文。其中r0是Sl和S2之间的直接IP路 径,其他路径均为经一个节点转发的路径。才艮文编号从0~4,且每个报文在 "本次探测发送报文总数"域中均为5。每个报文被随意填充,使其长度为 音视频会话的报文长度,若音视频会话报文长度不固定,则探测报文长度是 音视频^^舌报文长度出现频率最大的。
S2收到第一个来自Sl的探测报文后,启动150ms定时器,S2在接收探 测报文的同时,记录探测报文到达的时间间隔。若定时器超时或接收到所有 探测报文,则S2沿r0向Sl返回一个应答报文。应斜艮文中包括探测报文 的到达顺序及报文到达的间隔时间。这里我们假设报文到达顺序为0、 2、 3、 1、 4,除0外的其他报文与其前面报文的到达时间间隔为^,A,^,A。
Sl收到该应答报文,求出收到该报文时刻与发出第一个探测报文的时 延,并依次减去各个时间间隔,求得各条路径的时延。Sl刷新路径性能表。 并选择3条合适的路径。假设所选择的路径为r0、 r2、 r3。
Sl向终端A发出应答,允许A开始音视频会话,可以发送音视频数据。
终端A将封装后的音视频数据包发送给Sl,如附图二所示。Sl将数据 包两两作为一组,将每组的数据包分两路转发出去,分别经路径r0和r2传 输给S2。经r0的数据包是标号为,O、 2、 4……的数据包,经r2的数据包是 标号为l、 3、 5……的数据包。Sl还把第O个数据包和第l个数据包的负载 按位异或后从路径r3发送出去,经由S5转给S2。其余数据包的异或以此类 推。
S2将收到来自三个路径的数据包,对于属于同一组的来自三个路径的数 据包,当它收到其中任意两个后,就可以获得原始数据,当它收到该组另外 一个数据包时,直接丢弃。例如若S2先收到数据包O和数据包1,別直接 转发给终端B,且后面收到的数据包Q和1的异或包被丟弃。若先收到异或 包和数据包0,则将两者异或,可以恢复出数据包1,也可以在收到异或包 和数据包1的时候恢复数据包0,然后再转发数据包0和1给终端B。 S2在 第一次收到属于某组的一个数据包时,就设置100ms定时器,当定时器超时, 则认为该组还没有收到的包丢失了。 S2同时要进行各条路径的丢包率统计。
S2将原始数据包(含经异或操作恢复后的)转发给终端B。
若会话进行一段时间后,S2发现路径r0的丟包率持续高于1%,则向Sl 发出消息,并把丟包率统计反馈给S1。
Sl从当前路径性能表中选择一条路径。如果当前路径都失效,不能选择出可用路径,则发起一次新的探测。Sl从探测结果中选择一条合适的路径, 替代丢包率高的路径进行传输。
前述实施例是在/fc-2, " = 3情况下的一个例子,实际上,/t与w可以不 相同。附图3和附图4分别举出了A:-"时的两个例子。
若先=6, " = 3,则原始数据包与异或数据包在3条路径(记为r0, rl, r2)上的传输情况如附图3所示。
若* = 3, " = 6,则原始数据包与异或数据包在6条路径(记为r0, rl, r2, r3, r4, r5 )上的传输情况如附图4所示。
在具体实施中,通常可以优先采用"=* + 1的方式(例如附图2的情况), 若为了避免A太小造成异或包消耗过多的带宽,则可采用*>"-l的方式(例 如附图3的情况)。
在如附图2的优选实施方式中,当路径数量允许时,w可尽量取大一些,
例如 7>5。
实施例2
本实施例不包含异或包处理的部分。
1 )源业务终端,为其代理流量转发的源ON节点发出数据,输请求, 所述数据传输请求中包括目的终端的网络地址、为目的终端代理流量转发 的目的ON节点的网络地址;
2)源ON节点从本地的传输路径表中选出n条(n至少为2)到达目 的ON节点的传输路径。
本步骤中,所述传输路径表中记录各传输路径的时延和丟包率信息, 所述源ON节点根据时延和丟包率信息选出所述n条到达目的ON节点的 传输路径。所述传输路径包括直接IP^各径和重叠网络路径。在源ON节点 确定传输路径后,源ON节点向所述源业务终端发送传输许可消息;然后 源业务终端开始传输需要发送至目的业务终端的数据包。
传输路径表的维护和传输路径的选择方法如下
由目的ON节点统计各个传输路径的丟包率,若丢包率超过设定值, 则向源ON节点报告该路径丢包严重,并把当前各路径的丢包率发送给源 ON节点。
所述源ON节点以概率p放弃丢包严重的路径,并从传输路径表中选 择一条新路径替代所放弃的路径。路径性能表的每个表项都有一个失效标志,若该表项上次更新时间距当 前时间大于A,则该表项被标记为"失效"。A的典型取值范围可为1~5分 钟。
若路径性能表中有一定比例(比如50%)的表项失效,则节点要主动发 起一次探测过程,刷新这些表项。
源节点对路径的主动探测步骤如下
源0N节点沿直接IP路径和所有重叠路径向目的ON节点发送探测报文, 非目的ON节点收到报文后立即向目的ON节点转发;
目的节点将接收到的报文顺序及报文之间相隔的时间差,放到一个应答 报文中,沿直接IP路径返回给源ON节点;
主动探测方案中,每个探测报文携带一个唯一的编号,及本次探测所发 送报文总数目,该数目对应着所探测的路径数;
主动探测方案中,每个探测报文长度与将发起会话的报文长度一致;
主动探测方案中,目的节点在收到第一个来自源ON节点的探测报文后, 设置定时器为150毫秒,若定时器超时或者接收到全部探测报文,就将报文 到达顺序及报文之间相隔的时间差,放到应叙艮文中,返回给源ON节点;
主动探测方案中,源ON节点将收到应斜艮文的时刻减去发送第一个探 测报文的时刻,求得其中一条路径的时延,同时根据报文之间的时间差,可 以求出其4也路径的时延。
在从传输路径表中选取n条传输路径时,首先选择时延较小的路径, 当路径时延相同时,则选择丢包率低的路径。
3) 源ON节点将源业务终端的数据包依照所选出的传输路径转发至 目的ON节点,其中相邻数据包分散到不同的传输路径进行传输。
本步骤中,所述数据包按顺序编制序号,源ON节点将相邻的;t个数据 包编为一组,并赋给一个组编号,不同的组其组编号递增;然后所述源ON 节点依序发送每组数据包,且同一组内的数据包分散到不同的所述传输路径 进行传输;&取值范围为2~10。
4) 目的ON节点将数据包转发给目的业务终端。
本步骤中,目的ON节点收到数据包后,将该数据包转发给目的业务终 端。与此同时,目的ON节点还需要统计丟包率。
在实际情况中,每条路径上所传输的会话不只一个,所统计出的丢包率是对同 一路径所有会话而言的。
若丢包率超过门限,目的0N节点向源0N节点发送^艮文,通告该路径丟 包严重,并把当前所有路径的丢包率信息都发送给源ON节点。丟包率的门 限值根据所使用的音视频编码格式、根据上层应用的需求不同而不同,可能 的取值范围为1%-5%。
概率p取值在区间(O, l],其值与该路径的丟包率大小有关。可取如下 线性关系若丟包率为1%,则取值为0.5,若为2%,取值0. 6,依此类推, 若大于等于5%,则取值O. 9。
若路径表中没有可供选择的未失效路径,则源ON节点启动一个新的探 测过程。在探测过程结束后,更新路径表。并据此选择一条路径(不包括当 前本会话已使用的路径)代替丟包率高的路径进行传输。
所述*的取值可以随0N平台的转发任务繁忙与否进行动态调整。当网络 繁忙时,A可取值大些,否则,可取值小些。
本实施例中,由于把相邻的数据包在不同的路径上传输,即使某路径发 生连续的丟包,也不会对音视频的质量造成太大影响。而如果是在一条路径 上传输,连续的丟包对音视频质量影响很大。例如,如果有w条路径传输, 则某条路径上连续两个丟包,在原始音视频流中,这两个包之间相隔n-l个 包。若要原始音视频流丟两个连续的包,则意味着要传输这两个包的两个路 径几乎同时出问题导致丟包,这个概率是4艮低的。
本且,本实施例采用了对链路丟包率的监测和反馈机制,当某路径质量 恶化,丢包率变大时,可以很快用新的路径取代。本实施例这种把数据包分 到多个路径传输的方法,可以更均衡地利用网络的带宽,减少出现瓶颈的概 率。
权利要求
1.一种针对时延敏感数据的传输方法,该方法基于重叠网络平台实现,包括如下步骤1)源业务终端向为其代理流量转发的源ON节点发出数据传输请求,所述数据传输请求中包括目的终端的网络地址、为目的终端代理流量转发的目的ON节点的网络地址;2)源ON节点从本地的传输路径表中选出n条到达目的ON节点的传输路径,所述n至少为2;3)源ON节点将源业务终端的数据包依照所选出的传输路径转发至目的ON节点,其中相邻数据包分散到不同的传输路径进行传输;4)目的ON节点将数据包转发给目的业务终端。
2. 根据权利要求1所述的针对时延敏感数据的传输方法,其特征在 于,所述步骤2)中,所述传输路径表中记录各传输路径的时延和丢包率 信息,所述源ON节点根据时延和丢包率信息选出所述n条到达目的ON 节点的传输路径。
3. 根据权利要求1所述的,针对时延敏感数据的传输方法,其特征在 于,所述步骤2)中,所述传输路径包括直接IP路径和重叠网络路径。
4. 根据权利要求1所述的针对时延敏感数据的传输方法,其特征在 于,所述步骤2)中,在源ON节点确定传输路径后,源ON节点向所述 源业务终端发送传输许可消息;然后源业务终端开始传输需要发送至目的 业务终端的数据包。
5. 根据权利要求1所述的针对时延敏感数据的传输方法,其特征在 于,所述步骤3)中,所述数据包按顺序编制序号,源ON节点将相邻的A个 数据包编为一组,并赋给一个组编号,不同的組其组编号递增;然后所述源 ON节点依序发送每组数据包,且同 一组内的数据包分散到不同的所述传输路 径进行传输;*取值范围为2 ~ 10。
6. 根据权利要求5所述的针对时延敏感数据的传输方法,其特征在 于,所述数据包的每个分组还包括一个异或数据包;所述源ON节点将每一 组的*个原始数据包的负载进行按位异或,所得到的异或后的数据作为新的 负载形成所述异或数据包;所述异或数据包与其所在分组的原始数据包一齐 向目的ON节点发送。
7. 根据权利要求6所述的针对时延敏感数据的传输方法,其特征在 于,所述数据包具有一个标志位,表明是原始数据包还是异或数据包。
8. 根据权利要求6所述的针对时延敏感数据的传输方法,其特征在 于,所述步骤4)中,目的ON节点收到数据包后,如果是原始数据包,则 转发给目的业务终端;如果在收到某组的异或数据包和该组的yt-l个原始数 据包后,还有一个原始数据包没有收到,则通过该组的已收到的原始数据包 和异或数据包进行异或,恢复出该原始数据包,并转发给目的终端,并将那个没有收到的原始数据包判为丟失。
9. 根据权利要求1所述的针对时延敏感数据的传输方法,其特征在 于,所述步骤4)中,所述目的ON节点统计各个传输路径的丢包率,若 丟包率超过设定值,则向源ON节点报告该路径丟包严重,并把当前各路 径的丟包率发送给源ON节点。
10. 根据权利要求9所述的针对时延敏感数据的传输方法,其特征在 于,所述步骤4)中,所述源ON节点以概率p放弃丟包严重,的路径,并 从传输路径表中选择一条新路径替代所放弃的路径;所述概率p与该传输 路径的丟包率呈线性关系变化。
全文摘要
本发明提供一种针对时延敏感数据的传输方法,该方法基于重叠网络平台实现,包括如下步骤1)源业务终端向为其代理流量转发的源ON节点发出数据传输请求,所述数据传输请求中包括目的终端的网络地址、为目的终端代理流量转发的目的ON节点的网络地址;2)源ON节点从本地的传输路径表中选出n条到达目的ON节点的传输路径;3)源ON节点将源业务终端的数据包依照所选出的传输路径转发至目的ON节点,其中相邻数据包分散到不同的传输路径进行传输;4)目的ON节点将数据包转发给目的业务终端。本发明能够减少时延,降低时延抖动,具有一定容错性,并且能够有效防止出现连续丢包,从而提高音视频质量。
文档编号H04L29/06GK101582878SQ20081010644
公开日2009年11月18日 申请日期2008年5月13日 优先权日2008年5月13日
发明者宏 倪, 李挺屹, 王劲林, 王玲芳 申请人:中国科学院声学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1