一种基于滑动窗口的半双工通信方法及系统技术方案

技术编号:10558408 阅读:258 留言:0更新日期:2014-10-22 13:27
本发明专利技术适用于通信技术领域,提供了一种基于滑动窗口的半双工通信方法及系统,所述方法包括:发送端向接收端发送连接请求信息;发送端接收到接收端根据所述连接请求信息回复的应答信息后,向接收端发送待发送数据块,所述待发送数据块包含多个数据帧;接收端接收所述待发送数据块,对所述待发送数据块中的数据帧进行校验,将校验成功的数据帧存储至缓冲区中,并记录下数据帧的接收情况;发送端在所述待发送数据块发送完后,向接收端发送块结束信息;接收端根据所述块结束信息向发送端发送确认信息,以告知发送端所发送的待发送数据块中数据帧的接收情况。从而实现了在半双工通信中应用滑动窗口算法,并且提高了半双工通信的收发效率以及吞吐率。

【技术实现步骤摘要】
一种基于滑动窗口的半双工通信方法及系统
本专利技术属于通信
,尤其涉及一种基于滑动窗口的半双工通信方法及系统。
技术介绍
为了保证数据在两个网络节点间数据的正确传输,需要在数据链路层或者传输层使用自动请求重传协议ARQ。ARQ协议是一种错误纠正协议,通过使用确认和超时这两个机制,在不可靠服务的基础上实现可靠的错误传输。如果发送方在发送数据帧后一段时间之内没有收到确认帧,则发送方重新发送所述数据帧。常见的ARQ协议算法有停止等待算法、连续ARQ算法、退后N帧算法、选择重传算法以及滑动窗口算法。其中,滑动窗口算法是ARQ协议算法的集大成者,在接收到数据包时,接收方会立即回复确认帧,以告知发送发数据帧是发送成功还是发送失败。发送方在根据确认帧对发送失败的数据帧进行重传。然而,现有的滑动窗口算法仅适用于全双工通信,而不适用于半双工通信。在半双工通信中,发送方和接收方共用一个信道,因此需要对收发双方进行信道的切换。若将滑动窗口算法应用与半双工结合,切换时由于安全间隔时间、信号保护窗口期、前导码等因素的影响,将导致切换消耗的时间多,进而降低了通信的传输效率。因此,半双工通信不适合对接收到的帧立即进行确认回复,需要对现有的滑动窗口算法进行改进。
技术实现思路
本专利技术的目的在于提供一种基于滑动窗口的半双工通信方法及系统,以实现在半双工通信中应用滑动窗口算法,提高半双工通信的收发效率以及吞吐率。本专利技术是这样实现的,一种基于滑动窗口的半双工通信方法,应用于通过半双工进行通信的接收端和发送端,所述方法包括:发送端向接收端发送连接请求信息,所述连接请求信息中包含待发送数据块的大小以及所述待发送数据块对应的块序号;发送端接收到接收端根据所述连接请求信息回复的应答信息后,向接收端发送所述待发送数据块,所述待发送数据块包含多个数据帧;接收端接收所述待发送数据块,对所述待发送数据块中的数据帧进行校验,将校验成功的数据帧存储至缓冲区中,并记录下数据帧的接收情况;发送端在所述待发送数据块发送完后,向接收端发送块结束信息;接收端根据所述块结束信息向发送端发送确认信息,所述确认信息中包括所接收到的数据块对应的块序号以及数据块中数据帧的接收情况。进一步地,所述方法还包括:发送端接收所述确认信息,根据确认信息对已发送的数据块中数据帧的接收情况进行记录。进一步地,所述方法还包括:在所发送的待发送数据块中的数据帧均发送成功时,发送端根据本次传输成功的数据块个数n将滑动窗口底部向前移动n个数据块,并将滑动窗口的顶部向前移动一个数据块,以获取下一个数据块,进行下一个数据块的发送。进一步地,所述方法还包括:在所发送的待发送数据块中存在未发送成功的数据帧时,发送端根据未发送成功的数据帧之前的在本次传输中传输成功的数据块个数m,将滑动窗口底部向前移动m个数据块。进一步地,所述方法还包括:在滑动窗口的块数有冗余时,将滑动窗口顶部向前移动一个数据块,以获取下一个数据块;发送端将所述未发送成功的数据帧添加到所述下一个数据块前端,构成下一个待发送数据块,向接收端发送所述下一个待发送数据块;或者在滑动窗口的块数没有冗余或者所述未发送成功的数据帧的个数大于预设阈值时,滑动窗口顶部保持不变,按发送的先后顺序将所述未发送成功的数据帧组成下一个待发送数据块,向接收端发送所述下一个待发送数据块,以重传所述未发送成功的数据帧。本专利技术的第二方面提供了一种基于滑动窗口的半双工通信系统,所述系统包括至少一个发送端和至少一个接收端;所述发送端和接收端之间建立半双工通信;所述发送端,用于向接收端发送连接请求信息,所述连接请求信息中包含待发送数据块的大小以及所述待发送数据块对应的块序号,所述待发送数据块包含多个数据帧;接收到接收端根据所述连接请求信息回复的应答信息后,向接收端发送所述待发送数据块;所述接收端,用于接收发送端发送的连接请求信息,向发送所述连接请求信息的发送端反馈应答信息;接收所述待发送数据块,对数据块中的数据帧进行校验,将校验成功的数据帧存储至缓冲区中,并记录下数据帧的接收情况;所述发送端还用于,在所述待发送数据块发送完后,向接收端发送块结束信息;所述接收端还用于,根据所述块结束信息向发送端发送确认信息,所述确认信息中包括所接收到的数据块对应的块序号以及数据块中数据帧的接收情况。进一步地,所述发送端还用于:接收所述确认信息,根据确认信息对已发送的数据块中数据帧的接收情况进行记录。进一步地,发送端还用于:在所发送的待发送数据块中的数据帧均发送成功时,根据本次传输成功的数据块个数n将滑动窗口底部向前移动n个数据块,并将滑动窗口的顶部向前移动一个数据块,以获取下一个数据块,进行下一个数据块的发送。进一步地,所述发送端还用于:在所发送的待发送数据块中存在未发送成功的数据帧时,根据未发送成功的数据帧之前的在本次传输中传输成功的数据块个数m,将滑动窗口底部向前移动m个数据块。进一步地,所述发送端还用于:在滑动窗口的块数有冗余时,将滑动窗口顶部向前移动一个数据块,以获取下一个数据块;将所述未发送成功的数据帧添加到所述下一个数据块前端,构成下一个待发送的数据块,向接收端发送所述下一个待发送数据块;或者在滑动窗口的块数没有冗余或者所述未发送成功的数据帧的个数大于预设的阈值时,滑动窗口顶部保持不变,按发送的先后顺序将所述未发送成功的数据帧组成下一个待发送数据块,向接收端发送所述下一个待发送数据块,以重传所述未发送成功的数据帧。本专利技术实施例与现有技术相比存在的有益效果是:通过改进现有的滑动窗口算法,使得发送端在发送数据时是以数据块的形式批量发送数据帧,接收端以数据块的形式批量接收发送端发送的数据帧,然后再以确认帧的形式向发送端反馈数据块中数据帧的接收情况;发送端根据所述数据帧的接收情况,以数据块为单位来移动窗口,以准备下一个待发送数据块,从而解决了滑动窗口算法在半双工通信中发送端和接收端不能同时进行数据帧的发送和接收的问题,改进后的滑动窗口算法能够适用于半双工通信,并且提高了半双工通信的收发效率以及吞吐率。附图说明图1是本专利技术实施例一提供基于滑动窗口的半双工通信方法的第一实现流程图;图2是本专利技术实施例二提供的基于滑动窗口的半双工通信方法的第二实现流程图;图3是本专利技术实施例二提供的滑动窗口示意图;图4是本专利技术实施例二提供的基于滑动窗口的半双工通信方法中步骤S208的具体实现流程;图5是本专利技术实施例三提供的基于滑动窗口的半双工通信系统的组成结构图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术通过改进现有的滑动窗口算法,使得发送端在发送数据时是以数据块的形式批量发送数据帧,接收端以数据块的形式批量接收发送端发送的数据帧,然后再以确认帧的形式向发送端反馈数据块中数据帧的接收情况;发送端根据所述数据帧的接收情况,以数据块为单位的来移动窗口,以准备下一个待发送数据块,从而解决了滑动窗口算法在半双工通信中发送端和接收端不能同时进行数据帧的发送和接收的问题,改进后的滑动窗口算法能够适用于半双工通信,并且提高了半双工通信的收发效率以及吞吐率。实施例一图1示出了本发本文档来自技高网...
一种基于滑动窗口的半双工通信方法及系统

【技术保护点】
一种基于滑动窗口的半双工通信方法,其特征在于,应用于通过半双工进行通信的接收端和发送端,所述方法包括:发送端向接收端发送连接请求信息,所述连接请求信息中包含待发送数据块的大小以及所述待发送数据块对应的块序号;发送端接收到接收端根据所述连接请求信息回复的应答信息后,向接收端发送所述待发送数据块,所述待发送数据块包含多个数据帧;接收端接收所述待发送数据块,对所述待发送数据块中的数据帧进行校验,将校验成功的数据帧存储至缓冲区中,并记录下数据帧的接收情况;发送端在所述待发送数据块发送完后,向接收端发送块结束信息;接收端根据所述块结束信息向发送端发送确认信息,所述确认信息中包括所接收到的数据块对应的块序号以及数据块中数据帧的接收情况。

【技术特征摘要】
1.一种基于滑动窗口的半双工通信方法,其特征在于,应用于通过半双工进行通信的接收端和发送端,所述方法包括:发送端向接收端发送连接请求信息,所述连接请求信息中包含待发送数据块的大小以及所述待发送数据块对应的块序号;发送端接收到接收端根据所述连接请求信息回复的应答信息后,向接收端发送所述待发送数据块,所述待发送数据块包含多个数据帧;接收端接收所述待发送数据块,对所述待发送数据块中的数据帧进行校验,将校验成功的数据帧存储至缓冲区中,并记录下数据帧的接收情况;发送端在所述待发送数据块发送完后,向接收端发送块结束信息,同时将传输速率调整为最低速率或者比数据报文的传输速率低一至两个级别;接收端根据所述块结束信息向发送端发送确认信息,所述确认信息中包括所接收到的数据块对应的块序号以及数据块中数据帧的接收情况;在所发送的待发送数据块中的数据帧均发送成功时,发送端根据本次传输成功的数据块个数n将滑动窗口底部向前移动n个数据块,并将滑动窗口的顶部向前移动一个数据块,以获取下一个数据块,进行下一个数据块的发送;在所发送的待发送数据块中存在未发送成功的数据帧时,发送端根据未发送成功的数据帧之前的在本次传输中传输成功的数据块个数m,将滑动窗口底部向前移动m个数据块,在所述未发送成功的数据帧的个数大于预设的阈值时,滑动窗口顶部保持不变,按发送的先后顺序将所述未发送成功的数据帧组成下一个待发送数据块,向接收端发送所述下一个待发送数据块,以重传所述未发送成功的数据帧。2.如权利要求1所述的基于滑动窗口的半双工通信方法,其特征在于,所述方法还包括:发送端接收所述确认信息,根据确认信息对已发送的数据块中数据帧的接收情况进行记录。3.如权利要求1或2所述的基于滑动窗口的半双工通信方法,其特征在于,所述方法之后还包括:在滑动窗口的块数有冗余时,将滑动窗口顶部向前移动一个数据块,以获取下一个数据块;发送端将所述未发送成功的数据帧添加到所述下一个数据块前端,构成下一个待发送数据块,向接收端发送所述下一个待发送数据块;或者在滑动窗口的块数没有冗余或者所述未发送成功的数据帧的个数大于预设阈值时,滑动窗口顶部保持不变,按发送的先后顺序将所述未发送成功的数据帧组成下一个待发送数据块,向接收端发送所述下一个待发送数据块,以重传所述未发送成功的数据帧。4.一种基于滑动窗口的半双工通信系统,其特征在于,所述系统包括至少一个发...

【专利技术属性】
技术研发人员:刘宏钧
申请(专利权)人:深圳市邦彦信息技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1