一种用于链路聚合链接条件下的文件传输方法与流程

文档序号:12494431阅读:620来源:国知局
一种用于链路聚合链接条件下的文件传输方法与流程

本发明属于通信领域,具体涉及数字化信息系统中基于对象管理组织(Object Management Group,OMG)组织提出的数据分发服务(Date Distribution Service,DDS)标准实现的“请求-响应”式数据通信方式。



背景技术:

TFTP(Trivial File Transfer Protocol,RFC1350)是一个传输文件的简单协议,通常使用UDP协议而实现。其单端口传输,对每一数据块一ACK的传输方式能够确保数据有序到达。而在链路聚合链接条件下,其协议不能有效使用所有链路的带宽,限制了传输效率。



技术实现要素:

本发明的发明目的是:

为了解决背景中所存在的技术问题,本发明提出了一种用于链路聚合链接条件下的文件传输方法。在TFTP的基础上,通过对客户端使用多个端口并设立发送窗口,达到多链路的有效使用,提高了链路聚合链接条件下的传输效率。

本发明的技术解决方案是:

一种用于链路聚合链接条件下的文件传输方法,包括:

数据上传方法和数据下载方法;

其中,数据上传方法包括:

步骤1、客户端从n个端口中随机选择一端口向客户端发送写请求,请求参数中附带客户端所有n个传输端口信息;

步骤2、服务端返回ACK给客户端,ACK编号为0;

步骤3、客户端n个端口,同时随机发送滑动窗口内的数据块,所述滑动窗口大小为z;

步骤4、服务端收到数据块后,根据数据缓存内容,生成返回的ACK的编号m并返回ACK,所述m表示m及其之前的数据块已全部接收成功;

步骤5、客户端接到编号为m的ACK之后,将窗口向前滑动到m+1,n个端口继续并行发送窗口中的数据,此时发送的数据块为m+1到m+z;

步骤6、重复上述发送步骤,直到ACK编号到达最后一个数据块位置,所述最后一个数据块为不满TFTP块大小的数据块,完成传输;

数据下载方法包括:

步骤7、客户端从n个端口中随机选择一端口向客户端发送读请求,请求参数中附带客户端所有n个传输端口信息;

步骤8、服务端向客户端n个端口,分别随机发送滑动窗口内的数据块,所述滑动窗口大小为z;

步骤9、客户端收到数据块后,根据数据缓存内容,生成返回的ACK的编号m并返回ACK,所述m表示m及其之前的数据块已全部接收成功;

步骤10、服务端接到编号为m的ACK之后,将窗口向前滑动到m+1,继续向客户端n个端口随机发送窗口中的数据,此时发送的数据块为m+1到m+z;

步骤11、重复上述发送步骤,直到ACK编号到达最后一个数据块位置,所述最后一个数据块为不满TFTP块大小的数据块,完成传输。

本发明具有的优点效果:

本发明在TFTP文件传输协议的基础上,根据链路聚合链接条件下的特点,使用多端口发送及发送窗口,达到了多链路的充分利用,提高了链路聚合链接条件下的传输效率;并且当某一路断开时,可以自动将负载分配到其他正常链路上,实现了动态负载均衡。

附图说明

图1是本发明发送窗口的示意图:n,n+1及以前块数据已发送完毕且已收到ACK;n+2,n+3,n+4块数据在发送窗口中正在发送,等待收到ACK后滑动窗口;n+5,n+6,n+7,n+8及以后数据块还未发送;

图2是本发明多端口接收/发送数据链路图,客户端多端口分配到不同的链路上,从而实现多链路的充分利用。

具体实施方式

如图1、2所示,一种用于链路聚合链接条件下的文件传输方法,包括:

数据上传方法和数据下载方法;

其中,数据上传方法包括:

步骤1、客户端从n个端口中随机选择一端口向客户端发送写请求,请求参数中附带客户端所有n个传输端口信息;

步骤2、服务端返回ACK给客户端,ACK编号为0;

步骤3、客户端n个端口,同时随机发送滑动窗口内的数据块,所述滑动窗口大小为z;

步骤4、服务端收到数据块后,根据数据缓存内容,生成返回的ACK的编号m并返回ACK,所述m表示m及其之前的数据块已全部接收成功;

步骤5、客户端接到编号为m的ACK之后,将窗口向前滑动到m+1,n个端口继续并行发送窗口中的数据,此时发送的数据块为m+1到m+z;

步骤6、重复上述发送步骤,直到ACK编号到达最后一个数据块位置,所述最后一个数据块为不满TFTP块大小的数据块,完成传输;

数据下载方法包括:

步骤7、客户端从n个端口中随机选择一端口向客户端发送读请求,请求参数中附带客户端所有n个传输端口信息;

步骤8、服务端向客户端n个端口,分别随机发送滑动窗口内的数据块,所述滑动窗口大小为z;

步骤9、客户端收到数据块后,根据数据缓存内容,生成返回的ACK的编号m并返回ACK,所述m表示m及其之前的数据块已全部接收成功;

步骤10、服务端接到编号为m的ACK之后,将窗口向前滑动到m+1,继续向客户端n个端口随机发送窗口中的数据,此时发送的数据块为m+1到m+z;

步骤11、重复上述发送步骤,直到ACK编号到达最后一个数据块位置,所述最后一个数据块为不满TFTP块大小的数据块,完成传输。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1