发明名称 基于SCTP的多路径并发传输方法
摘要 基于SCTP的多路径并发传输方法涉及多地址主机之间的数据传输和通信,其特征在于,在一个SCTP关联中,通过扩展标准SCTP协议的主备路径机制,采用一定的路径探测和路径选择策略,实现了同时使用多条可达路径进行端到端的数据传输;同时,区别于传统SCTP协议实现中路径只与目的地址相对应的机制,本发明使用<源地址、目的地址>二元组来共同定义路径,使得关联中可用路径的数量达到了最大,也为实现更为复杂的路径选择算法提供了基础;最后,本发明基于Linux系统进行了代码实现,实现了在多条路径可用的情况下,数据分组严格按照指定源地址和目的地址发送。本发明在保持标准SCTP协议容错性强的优点的基础上,有效提高了端到端数据传输的吞吐量。
申请公布号 CN101841463A 申请公布日期 2010.09.22
申请号 CN201010120184.7 申请日期 2010.03.05
申请人 清华大学 发明人 吴茜;张文涛;阳旺;李贺武;李风华
分类号 H04L12/56(2006.01)I;H04L29/06(2006.01)I 主分类号 H04L12/56(2006.01)I
代理机构 北京众合诚成知识产权代理有限公司 11246 代理人 朱琨
主权项 基于SCTP的多路径并发传输方法,其特征在于所述方法是在客户端和服务器端之间组成的互联网中依次按以下步骤实现的:步骤(1),在客户端和服务器端之间建立多路径并发传输的关联时,按照流控制传输协议SCTP四步握手建立关联时,在通信双方建立可用路径列表,并使可用路径数量最大化,其步骤如下:步骤(1.1),客户端为本机用于此关联的IP地址列表中每一个IP地址创建一个子路由表,该子路由表中默认网关为该接口IP地址对应的网关,以便被指定了源地址的分组会查找与该地址对应的子路由表,保证所述分组能从与指定源地址对应的网卡上发送出去,步骤(1.2),客户端发送初始化通信INIT报文给已知的一个服务器端的IP地址addr-S0,而把源地址指定为客户端所述IP地址列表中第一个与目的地址IP协议类型一致的本端地址,设为addr-C0’,但在所述INIT报文中不仅要包含客户端支持的IP协议类型,还要包含所有该类型的客户端IP地址,所述IP协议类型是指IPv6,或IPv4,共有两种协议类型,步骤(1.3),服务器端在收到所述INIT报文后,根据本端支持的IP协议类型和所述INIT报文中对端支持的IP协议类型,确定通信两端共同支持的公共IP协议类型,然后把所有该类型的本端IP地址写入INIT-ACK应答报文中,回复给客户端,该应答报文的目的地址为addr-C0’,源地址指定为addr-S0,服务器端同时存储所述INIT报文中列出的所有与所述公共协议类型一致的客户端IP地址,步骤(1.4),客户端收到所述INIT-ACK报文后,读取本端存储的所有该公共类型的IP地址,再与所述INIT-ACK报文中包含的对端服务器的IP地址共同组成路径列表,并写入数组中,该数组中包括从客户端到服务器端所有可能的路径,以及与所述的每一条可能的路径对应的客户端的源地址与服务器端的目的地址,同时发一个COOKIE-ECHO回复报文给服务器端,路径指定为<addr-C0’,addr-S0>,步骤(1.5),服务器端在收到所述COOKIE-ECHO报文后,加上路径可达的状态位标记,并按照步骤(1.4)中所述的方法建立本端的路径列表,同时向客户端发一个COOKIE-ACK回复报文,路径指定为<addr-S0,addr-C0’>,并用HEARTBEAT报文探测除所述<addr-S0,addr-C0’>外其它路径的可达性:在指定的路径上发送HEARTBEAT报文,若作为发送方的服务器端收到对端客户端在反向路径上回复的HEARTBEAT-ACK报文,则该路径可达,并在该路径上作一个状态位标记;步骤(2),客户端或服务器端依次按照以下步骤进行数据传输:步骤(2.1),通信双方按步骤(1.5)中所述分别使用所述HEARTBEAT报文周期性地探测本端所述路径列表中每条路径的可达性,步骤(2.2),每当有分组从应用层递交给传输层进行发送时,发送方采用基于拥塞控制窗口的轮换式路径选择算法从所有可达的路径中选择一条作为该分组的发送路径,步骤(2.3),在发送时发送方通过bind()函数指定分组的源地址为指定路径中的源地址,分组在IP层经过路由查找后从一个该地址对应的所述子路由表中对应的网关上发送出去。
地址 100084 北京市100084-82信箱