一种改进的适用于多连接多路径的传输方法

文档序号:7720781阅读:105来源:国知局
专利名称:一种改进的适用于多连接多路径的传输方法
技术领域
本发明涉及计算机网络技术领域,是一种改进的能够适用于多连接多路径的传输 方法。本发明是一种流控制传输协议(Stream Control TransmissionProtocol,以下简称 SCTP),用于建立和实现多连接多路径的数据传输。
背景技术
近年来,很多研究机构一直在研究如何改进TCP协议使之能够充分利用多路径路
由进行数据的传输。代表性协议有parallel TCP、cmp TCP等。但是,将TCP协议应用于多
路径传输也有明显的问题,TCP协议本身并没有考虑对多路径路由的支持,进行多路径路由
的扩展有一定的困难;同时,TCP协议也没有对多流和多家乡的良好支持等。 鉴于以上这些问题,最近几年,一种新的传输协议被国际研究组织提出,就是流控
制传输协议-SCTP协议。 在2000年SCTP协议最初由SIGTRAN工作组作为正式的标准(RFC2960)提交给了 IETF。这个协议最初的提出是为了解决使用IP网传输7号信令的问题,但是由于协议本身 优秀的传输特性和对多流以及多家乡的良好支持,所以近年来SCTP协议已经演变成一个 广泛适用性的传输协议并得到了业界的广泛关注。2007年9月,IETF标准化组织又对SCTP 协议进行了更新,用新的标准RFC4960取代了 RFC2960,并在标准草案中明确指出,SCTP协 议是未来互联网中取代TCP协议的新型传输协议。由于SCTP协议具有如此重要的特性,所 以近年来许多研究机构和研究组织都对SCTP协议进行了详尽的研究。更因为SCTP协议本 身对多流、多宿和多家乡有良好的支持,所以适用于多路径同时传输的改进SCTP协议成了 其中的一个研究重点。 流控制传输协议SCTP是一种可靠的传输协议,它能够在两个终端之间提供可靠 的、有序的数据传输服务(类似于TCP),并且可以保留数据消息边界(类似于UDP)。 SCTP 以数据块为单位进行数据分组的传输。SCTP并不是TCP与UDP的简单叠加,它的多流、多宿 等新特性,使它具有更高的稳定性、灵活性和对移动性的良好支持。 在一个SCTP关联中,可以通过不同的逻辑流来发送和接收信息。不同的逻辑流之 间的消息是逻辑独立的,SCTP关联只要保证同一个逻辑流的消息按序递交给对端即可。每 一个待发送的用户信息都会被标记一个流标识符(stream identifier, SID)和一个流序 列号(stream sequence number, SSN),然后根据不同的SID将数据放入到对应的输出队列 中。在接收端会按照SSN号来保证同一个SID的数据被顺序递交给用户。SCTP的多流特性 能够有效的避免在传统的TCP传输过程中遇到的头端阻塞(Head-of-Line Blocking, HOL) 问题,如图l所示。 同时,在SCTP协议中引入"关联"的概念来标识两个运行SCTP协议的终端在通过 SCTP四次握手后建立的一种连接关系, 一个关联中可能储存有源和目的端的端口号和多个 地址,如图2所示。 对应于图2中的SCTP关联,可以唯一的用下列有序组表示
{[端口号1, IP1, IP2],[端口号2, IP3, IP4]} —些网络终端可能采用多种方式接入到网络,这些设备通常被称为多宿主机。具 有多个网络接口不仅意味着主机同时具有了多个网络地址,而且说明它可以使用多条传输 路径进行数据包的传输。在一个SCTP关联中,可以绑定两个SCTP对端的多个网络地址。 这样就会产生多个网络地址对组合而成的传输路径。如图2中的(IP1, IP3), (IP2, IP4)。 SCTP协议会事先确定一条主路径(primary path),其余的路径为备选路径,随后的数据都 会在主路径上进行传输。同时SCTP关联会以发送心跳包(heartbeat)的形式周期性探测备 用路径的可用性。如果主路径的数据传输在某一时刻出现了故障,那么SCTP关联就会选择 备用路径中的一条有效路径来代替主路径进行数据传输,从而实现了对多宿的良好支持。
LS-SCTP是早期提出的一种基于改进SCTP的CMT传输协议。LS-SCTP利用一种 带宽聚合机制收集源与目的端的所有可用路径的带宽,然后按照各条路径的带宽大小成比 例的分配在每条路径上传输的数据流量,从而达到充分利用各条路径带宽的目的。同时, LS-SCTP协议通过对现有SCTP协议的包头结构进行修改,从而达到将传统SCTP协议基于 关联的拥塞控制机制改为基于路径的拥塞控制机制,从而实现了路径的相对独立。LS-SCTP 协议是针对有线网络设计的,并没有考虑地址动态添加和删除的动态变化网络情况和无线 网络情况。 Westwood-SCTP是在LS-SCTP协议基础上发展的另一种基于SCTP协议的CMT传输 协议。与LS-SCTP不同,它首先采用类似于Westwood-TCP中的带宽预测方法对源与目的间 可能存在的多条路径的带宽进行预测,得到每条路径的预测带宽值,然后根据预测的带宽 值进行流量分配。由于路径的带宽资源在数据传输过程中是动态变化的,所以需要对路径 的带宽进行周期性的预测,从而得到路径的实时带宽信息。 在近几年的成果中,对基于SCTP的CMT传输协议的五种不同拥塞控制机制进行了 分析和仿真实验,并提出了每种拥塞控制机制的适用环境。重点分析了 CMT中特有的接收 缓存阻塞(Receiving Buffer Blocking)问题,并提出了相应的解决方案。但是,解决方案 只能部分的减轻接收缓存阻塞问题,而无法彻底消除这一问题。

发明内容
本发明的目的在于避免上述现有技术中的不足之处而提供一种改进的适用于多 连接多路径的传输方法。用于实现在充分利用网络资源情况下的业务更快更好的传输。并 能对数据传输过程中出现的路径故障问题进行良好的解决和传输路径的及时切换。
本发明的目的可以通过以下措施来达到 —种改进的适用于多连接多路径的传输方法,终端之间具有基于路径序列号的数 据发送机制,路径撤销或者发生连续的超过一定次数的超时重传情况时,引起切换路径重 传,通过流号SID和在一条路径上接收端累计按序收到的PSN序号两个参数,就可以唯一的 确定一个数据包;
改进的传输方法如下 ①.主机A通过两个网络接口与网络中的另一台主机B通过接口建立连接;
②.从主机A与主机B之间要传输的应用数据分割成多个逻辑独立的数据流;
③.主机A与主机B之间传输的每个数据流都绑定在特定的路径上进行传输,在
4不发生连续拥塞丢包和路径故障的情况下,不允许进行数据流传输的路径切换;
.当发生连续拥塞丢包和路径故障时,如果发送端连续重传同一个数据包的次 数超出了匿R而仍然没有传输成功,则发送端就会启用路径切换机制,将故障路径上的数 据传输都转移到新的路径上进行传输; ⑤.在传输过程中,主机A随时探测新的可用路径,并删除旧的故障路径,通过向 主机B发送动态地址添加和删除数据块来达到动态添加新路径和删除旧路径。
本发明相比现有技术具有如下优点 新的传输方法中,数据发送机制是基于路径的,即每条源与目的端的有效路径具 有的独立的数据发送机制。利用一个基于路径的PSN(Path SequenceNumber)来代替传统 的TSN,实现基于路径序列号的数据发送机制。 新的传输方法中每一个数据流只能在某一特定的路径上传输,只有当路径撤销或 者发生连续的超过一定次数的超时重传情况时,才会引起切换路径重传,每一个路径都有 一个独立的发送缓存和接收缓存。这样,在最大程度上保持了 SCTP中流的独立性和按序 性,消除了接收缓存阻塞问题。 在改进的新传输方法中,利用数据分组的PSN和SID (stream identifier)作为拥 塞控制的参数,每个数据分组都有一个独立的PSN号,同时,在发送端维护一个SID与路径 的映射关系,通过SID和PSN两个参数,就可以唯一的确定一个数据包,进而进行基于路径 的拥塞控制。


图1. SCTP多流特性解决头端阻塞。 图2. SCTP关联示意图。 图3.发生拥塞丢失时发送端的处理流程。 图4.发生路径切换丢失时发送端处理流程。 图5.实施例示意图。
具体实施例 与传统SCTP协议比较,新的传输方法的数据发送机制是基于路径的,即每条源与 目的端的有效路径具有的独立的数据发送机制。在SCTP协议中,每个数据分组头部都有 TSN标识号,根据TSN号的大小来确定接收到的数据包的顺序。这一点在传统的单路径传输 中是没有问题的,但是在多路径传输中,由于各条路径的带宽、延迟、丢包率都有差异,所以 造成发送端按序发送的数据分组不能按序的被接收端接收,从而使得接收端的TSN增长机 制无法正常增长,频繁启动重传过程,大大降低了传输效率。在新的适用于多连接多路径的 传输方法中,利用一个基于路径的PSN (Path Sequence Number)来代替传统的TSN,实现基 于路径序列号的数据发送机制。 为了消除传统并行多路径传输协议中存在的接收缓存阻塞问题,方法中引入了流 与路径绑定的机制。在背景技术介绍中已经提到,SCTP协议将发送的数据分成多个逻辑上 独立的数据流,这些数据流之间互不影响,接收端只要按序接收到同一个数据流的数据就 可以向上层递交。但是在这些协议中,由于同一个流的数据可能在不同的路径上传输,所以
5造成数据流的按序到达无法保证,从而引起接收缓存阻塞问题。改进的传输方法中每一个 数据流只能在某一特定的路径上传输,只有当路径撤销或者发生连续的超过一定次数的超 时重传情况时,才会引起切换路径重传,每一个路径都有一个独立的发送缓存和接收缓存。 这样,在最大程度上保持了 SCTP中流的独立性和按序性,消除了接收缓存阻塞问题。
相比SCTP协议,新方法的拥塞控制机制也进行了相应的修改。SCTP协议中,拥塞 控制是针对关联的,以数据分组的TSN作为拥塞控制的参数,从而控制C丽D的增长机制。 在改进的传输方法中,利用数据分组的PSN和SID(stream identifier)作为拥塞控制的参 数,每个数据分组都有一个独立的PSN号,同时,在发送端维护一个SID与路径的映射关系, 通过SID和PSN两个参数,就可以唯一的确定一个数据包,进而进行基于路径的拥塞控制。
新传输方法的DATA和SACK包头格式如表一、表二所示。
块类型K)xOO
保留位
UBE
块长度
路径序列号(PSN)
流号SID,映射特定路径
流内序列号(SSN)
载荷协议标识
用户数据 表一 DATA数据包头格式
块类型-0x03 标志位=0长度字段
累计PSN序号时间戳SID#1rwnd 1
SID#NrwndN
分片数目-M复制ACK-K
Gap ACK#1 startGap ACK #1 end
Gap ACK #M startGap ACK #M end
复制PSN #1复制PSN #K
表二 SACK消息包头格式 DATA包头与前面SCTP包头比较,重要的变化是用路径序列号PSN来代替时间序 列号TSN,同时流号SID记录了与路径的对应关系。SACK包头格式中记录了在一条路径上 接收端累计按序收到的PSN序号,它与SID号相对应唯一的确定了这条路径上的数据分组。 如果发生不按序接收的情况,同样会发送GAP信息给发送端,进行相应的操作。
利用"动态地址添加"和"动态地址删除"数据块实现地址的动态添加和删除。"动 态地址添加"和"动态地址删除"数据块格式如表三(a)、表三(b)所示。
块类型^xC001
块长度
关联号
新加入地址信息 表三(a)动态地址添加数据块
块类型-0xC002
块长度
关联号
要删除的地址信息 表三(b)动态地址删除数据块 另外,方法中对丢包的处理分为拥塞丢失和切换丢失两种情况。 当发送端收到多个重复的ACK数据分组时,认为数据分组在发送过程中出现了拥
塞丢失,这时,就会启动一个最大传输次数门限DMR(Data MaxRetransmission),如果发送
端连续重传同一个数据包的次数超出了匿R而仍然没有传输成功,则发送端就会启用路径
切换机制,将数据包在新的路径上进行传输,同时在失败的路径上发送心跳包以探测原始
路径是否恢复正常。在新方法中,匿R值设定为3,发生拥塞丢失时的发送端处理机制如图
3所示。 如果发生路径切换丢失,则发送端由于在规定时间内无法收到接收端发送的ACK 信息,所以会引发超时重传。如果连续发生两次超时重传,就会认为原始路径无效,启用路 径切换,在新的路径上进行后续数据的继续传输。发生路径切换丢失时的发送端处理机制 如图4所示。 下面给出本发明的一个实施例,如图5所示,以供在具体实现本发明所提技术方 案时参考。这个实施例考虑了如何在两个终端之间利用新提出的并行多路径传输方法中数 据传输的过程。 1.主机A通过两个网络接口 AID1和AID2与网络中的另 一 台主机B通过接口 BID1和 B皿建立连接。从而形成主机A与主机B之间的两条传输路径。(这里没有考虑共用路径 的情况,可以在以后的研究中加以扩展) 2.主机A与主机B之间要传输的应用数据分割成多个逻辑独立的数据流(如要传 输多个图片,则可以将每一个图片数据当做一个逻辑数据流)。 3.主机A与主机B之间传输的每个数据流都绑定在特定的路径上进行传输,在不
发生连续拥塞丢包和路径故障的情况下,不允许进行数据流传输的路径切换。 4.当发生连续拥塞丢包和路径故障时,通过图3和图4的判决机制进行判决,如果
符合路径切换要求,则进行路径切换,将故障路径上的数据传输都转移到新的路径上进行传输。 5.在传输过程中,主机A随时探测新的可用路径,并删除旧的故障路径,通过向主 机B发送如表三(a)、表三(b)所示的动态地址添加和删除数据块来达到动态添加新路径和 删除旧路径的目的。
权利要求
一种改进的适用于多连接多路径的传输方法,其特征在于所述的改进传输方法中,终端之间具有基于路径序列号的数据发送机制,路径撤销或者发生连续的超过一定次数的超时重传情况时,引起切换路径重传,通过流号SID和在一条路径上接收端累计按序收到的PSN序号两个参数,就可以唯一的确定一个数据包;所述的改进传输方法如下①.主机A通过两个网络接口与网络中的另一台主机B通过接口建立连接;②.从主机A与主机B之间要传输的应用数据分割成多个逻辑独立的数据流;③.主机A与主机B之间传输的每个数据流都绑定在特定的路径上进行传输,在不发生连续拥塞丢包和路径故障的情况下,不允许进行数据流传输的路径切换;④.当发生连续拥塞丢包和路径故障时,如果发送端连续重传同一个数据包的次数超出了DMR而仍然没有传输成功,则发送端就会启用路径切换机制,将故障路径上的数据传输都转移到新的路径上进行传输;⑤.在传输过程中,主机A随时探测新的可用路径,并删除旧的故障路径,通过向主机B发送动态地址添加和删除数据块来达到动态添加新路径和删除旧路径。
全文摘要
本发明涉及一种改进的适用于多连接多路径的传输方法,所述的传输方法如下主机A通过两个网络接口与网络上的主机B连接,主机A与主机B间要传输的应用数据分割成多个逻辑独立的数据流,主机A与主机B之间的每个数据流都绑定在特定的路径上进行传输,在不发生连续拥塞丢包和路径故障的情况下,不允许进行数据流传输的路径切换;当发生连续拥塞丢包和路径故障时,发送端就会启用路径切换机制,将故障路径上的数据都转移到新的路径上进行传输,主机A随时探测新的可用路径,并删除旧的故障路径,通过向主机B发送动态地址添加和删除数据块来达到动态添加新路径和删除旧路径。本发明用于建立和实现多连接多路径的数据传输。
文档编号H04L29/06GK101719918SQ200910241620
公开日2010年6月2日 申请日期2009年11月27日 优先权日2009年11月27日
发明者张宏科, 张思东, 李世勇, 熊轲, 王博, 秦雅娟, 罗洪斌, 董平 申请人:北京交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1