基于TCP协议的丢包处理方法和计算机可读存储介质与流程

文档序号:13010346阅读:278来源:国知局
基于TCP协议的丢包处理方法和计算机可读存储介质与流程

本发明涉及卫星通信领域,特别是涉及基于tcp协议的丢包处理方法和计算机可读存储介质。



背景技术:

tcp(transmissioncontrolprotocol)传输控制协议可以实现端到端的可靠传输和拥塞控制等功能,是目前各类通信网络中应用最为广泛的传输层协议。tcp协议的核心是通过接收方返回的ack(acknowledgement)确认信息判断数据是否被成功接收,通过调整发送方的发送窗口控制数据发送速率,进行拥塞控制。

由于卫星链路具有传播时延长、带宽时延积大、误码率高的特点,导致了互联网中广泛应用的tcp协议在应用于卫星链路时性能受到很大的影响。标准tcp协议采用了慢启动、拥塞避免、重传以及恢复等算法。一般的流量和拥塞控制算法是基于信息的往返时间(round-triptime,rtt)、超时和丢包来判断拥塞和流量控制。但是,不能及时的判断丢包是因拥塞还是误码率导致的,从而造成在误码率相对较高的卫星通信系统中,造成tcp传输性能的恶化,通信效率较低。



技术实现要素:

基于此,有必要针对通信效率较低的问题,提供一种能够快速区分误码丢包和拥塞丢包以保证信息高效率传输的基于tcp协议的丢包处理方法和计算机可读存储介质。

一种基于tcp协议的丢包处理方法,包括:

获取向前链路的比特信噪比;

根据所述比特信噪比和调试解调设备的系统参数,获取所述向前链路的误码率;

根据所述误码率与预设最小门限值的大小判断结果采用相应的丢包处理策略,进行误码丢包处理或拥塞丢包处理。

上述基于tcp协议的丢包处理方法,根据获取的向前链路的比特信噪比与预设最小门限值的大小判断结果,可以快速区分向前链路是处于误码丢包还是拥塞丢包,并采用相应的丢包处理策略进行误码丢包处理或拥塞丢包处理,提高了在高误码率的条件下卫星通信系统的通信能力,保证了信息的高效率传输。

在其中一个实施例中,所述根据所述比特信噪比和调试解调设备的系统参数获取所述向前链路的误码率,包括:

获取所述向前链路的信噪比和调试解调设备的系统参数;

在相同条件下,根据所述信噪比、调试解调设备的系统参数计算误码率和比特信噪比;

获取所述误码率与所述比特信噪比的对应关系表;

在所述对应关系表中,根据获取的所述比特信噪比查找对应的所述误码率。

在其中一个实施例中,所述调试解调设备的系统参数,包括:调制编码、符号率、带宽及前向纠错算法的处理增益。

在其中一个实施例中,根据所述信噪比、调试解调设备的系统参数计算所述比特信噪比:

比特信噪比=信噪比-10log(带宽/符号率)-前向纠错算法的处理增益。

在其中一个实施例中,所述根据所述误码率与预设最小门限值的大小判断结果,采用相应的丢包处理策略进行误码丢包处理或拥塞丢包处理,包括:

判断所述误码率是否大于所述预设最小门限值;

若是,则采用第一丢包处理策略进行误码丢包处理;

若否,则采用第二丢包处理策略进行拥塞丢包处理。

在其中一个实施例中,所述采用第一丢包处理策略进行误码丢包处理,包括:

启动标准tcp协议重发控制,并减少数据包的大小。

在其中一个实施例中,所述采用第二丢包处理策略进行误码丢包处理,包括:

获取所述向前链路中tcp发送的数据包的大小;

当所述数据包的大小大于滑动窗口的大小时,采用拥塞控制算法调整所述滑动窗口的大小以进行拥塞处理。

在其中一个实施例中,所述当所述数据包的大小大于滑动窗口的大小时,采用拥塞控制算法调整所述滑动窗口的大小以进行拥塞处理,包括:

判断所述数据包的大小是否大于滑动窗口的大小;

若是,则采用拥塞控制算法调整所述滑动窗口的大小以进行拥塞处理;

若否,则获取向前链路的比特信噪比。

在其中一个实施例中,根据所述误码率与预设最小门限值的大小判断结果,采用相应的丢包处理策略进行误码丢包处理或拥塞丢包处理后,还包括:

再次获取向前链路的比特信噪比。

此外,还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:

获取向前链路的比特信噪比;

根据所述比特信噪比和调试解调设备的系统参数,获取所述向前链路的误码率;

根据所述误码率与预设最小门限值的大小判断结果,采用相应的丢包处理策略进行误码丢包处理或拥塞丢包处理。

附图说明

图1为在一个实施例中基于tcp协议的丢包处理方法的流程图;

图2为在一个实施例中根据所述比特信噪比和调试解调设备的系统参数获取所述向前链路的误码率的流程图;

图3为在一个实施例中采用第二丢包处理策略进行误码丢包处理的流程图;

图4为一个实施例中计算机可读存储介质上存储的计算机程序(指令)被处理器执行时实现的步骤的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

一种基于tcp协议的丢包处理方法,包括:

步骤s102:获取向前链路的比特信噪比。

需要说明的是,该基于tcp协议的丢包处理方法是应用于卫星通信系统。卫星通信系统实际上也是一种微波通信,它以卫星作为中继站转发微波信号,在多个地面站之间通信,卫星通信的主要目的是实现对地面的“无缝隙”覆盖,其覆盖范围远大于一般的移动通信系统。卫星通信系统由卫星端、地面端、用户端三部分组成。卫星端在空中起中继站的作用,即把地面站发上来的电磁波放大后再返送回另一地面站。

地面站是卫星通信系统的重要组成部分,其具有两个作用,一是向卫星发射信号,二是接收经卫星转发的来自其他地面站的信号。地面站中的收发系统中包括调试解调设备,通过地面站的调试解调设备可以直接获取向前链路的比特信噪比ebno。比特信噪比ebno指一个比特周期内,信号能量与噪声能量比,(snr)b=eb/no,其中,eb为信道内单位比特码的功率,no为噪声功率密度。

步骤s104:根据所述比特信噪比和调试解调设备的系统参数获取所述向前链路的误码率。

根据获取的比特信噪比eb/no以及地面站中调试解调设备的系统参数信息可以获取所述向前链路的误码率。

具体地,调试解调设备的系统参数包括调制编码、符号率、带宽及前向纠错算法的处理增益。根据调试解调设备的系统参数可以获取向前链路的误码率与比特信噪比的对应关系。也即,根据调试解调设备获取的比特信噪比,就可以根据该对应关系获取与比特信噪比对应的误码率。

步骤s106:根据所述误码率与预设最小门限值的大小判断结果,采用相应的丢包处理策略进行误码丢包处理或拥塞丢包处理。

将获取的误码率与预设最小门限值进行大小判断,根据不同的判断结果采用相应的丢包处理策略对通讯数据进行相应的误码丢包处理或拥塞丢包处理。其中,预设最小门限值可以为tcp/ip协议的门限要求误码率,其预设最小门限值为10-6。当然,根据不同的卫星通信系统,其预设最小门限值也不同,可以根据实际情况开设定相应的预设最小门限值。

上述基于tcp协议的丢包处理方法,根据获取的向前链路的比特信噪比与预设最小门限值的大小判断结果,可以快速区分向前链路是处于误码丢包还是拥塞丢包,并采用相应的丢包处理策略进行误码丢包处理或拥塞丢包处理,提高了在高误码率的条件下卫星通信系统的通信能力,保证了信息的高效率传输。

在一个实施例中,所述根据所述比特信噪比和调试解调设备的系统参数获取所述向前链路的误码率,包括:

步骤s202:获取所述向前链路的信噪比和调试解调设备的系统参数。

信噪比(snr或s/n)是度量通信系统通信质量可靠性的一个主要技术指标。在本发明实施例中,可以采用常规方式获取向前链路的信噪比。

调制解调器是modulator(调制器)与demodulator(解调器)的简称,中文称为调制解调器。它是在发送方通过调制将数字信号转换为模拟信号,而在接收方通过解调再将模拟信号转换为数字信号的一种装置。可以根据使用的调试解调设备,直接获取调试解调设备的系统参数。其中,系统参数包括:调制编码、符号率、带宽及前向纠错算法的处理增益。其中,调制编码可以为二进制移相键控(binaryphaseshiftkeying,bpsk)调制编码方式,二进制移相键控作为一种数字调制方式,用已调信号载波的0°和180°分别表示二进制数字基带信号的1和0。符号率指数据传输的速率,与信号的比特率及信道参数有关,单位为mb/s。带宽可以理解为信息速率,指在单位时间(一般指的是1秒钟)内能传输的数据量。前向纠错也叫前向纠错码(forwarderrorcorrection,简称fec),通过在传输码列中加入冗余纠错码,在一定条件下,通过解码可以自动纠正传输误码,降低接收信号的误码率(ber)。其衡量fec纠错能力的指标称为“fec编码增益”,该增益越强表示纠错性能越强。

步骤s204:在相同条件下,根据所述信噪比、调试解调设备的系统参数计算误码率和比特信噪比。

根据获取的信噪比、调制解调器的系统参数可以计算误码率。误码率(ser:symbolerrorrate)是衡量数据在规定时间内数据传输精确性的指标。

在本发明实施例中,可以根据不同的调制编码采用对应的公式计算出误码率,如bpsk在swgn信道下的近似公式为其中p为经向前纠错算法处理后的误码率、r为信噪比。

还可以根据信噪比、调试解调设备的系统参数计算比特信噪比:

比特信噪比=信噪比-10log(带宽/符号率)-前向纠错算法的处理增益。

也即,在同一信噪比的条件下,可以根据相应的计算公式计算出对应的误码率以及比特信噪比。

步骤s206:获取所述误码率与所述比特信噪比的对应关系表。

根据步骤s205中,计算的误码率与之对应的比特信噪比可以建立一个两者一一对应的关系对应表。相应地,不同的调制编码、纠错算法有不同的关系对应表。

可选的,对应关系表也可以直接采用调试解调器厂家提供的对应关系表。

步骤s208:在所述对应关系表中,根据获取的所述比特信噪比查找对应的所述误码率。

由于通过调制解调器获取的比特信噪比与上述通过信噪比、调试解调设备的系统参数计算得出的比特信噪比一致。也即,通过前述调制解调器获取的比特信噪比,可以在建立的关系对应表中查出与之对应的误码率。

在一个实施例中,所述根据所述误码率与预设最小门限值的大小判断结果,采用相应的丢包处理策略进行误码丢包处理或拥塞丢包处理,包括:判断所述误码率是否大于所述预设最小门限值;当误码率大于预设最小门限值(10-6)时,则采用第一丢包处理策略进行误码丢包处理;当误码率小于预设最小门限值(10-6)时,则采用第二丢包处理策略进行误码丢包处理。

具体地,所述采用第一丢包处理策略进行误码丢包处理,包括启动标准tcp协议重发控制,并减少数据包的大小的步骤。

误码丢包时启用标准tcp/ip协议重发处理。tcp协议是一个可靠的协议,它通过重新发送(retransmission)来实现tcp片段传输的可靠性。简单的说,tcp会不断重复发送tcp片段,直到片段被正确接收。其重新发送机制可以理解为:当发送方送出一个tcp片段后,将开始计时,等待该tcp片段的ack回复。如果接收方正确接收到符合次序的片段,接收方会利用ack片段回复发送方。发送方得到ack回复后,继续移动窗口,发送接下来的tcp片段。如果直到计时完成,发送方还是没有收到ack回复,那么发送方推断之前发送的tcp片段丢失,因此重新发送之前的tcp片段。这个计时等待的时间叫做重新发送超时时间(rto,retransmissiontimeout)。

同时,还会减少数据包的大小,也就是冗余处理,即可以简单理解为把数据拆分后的主动重发。例如,发送100位的一个数据包。当误码率为大于10-4时,这个数据包发送失败(可能会处在一直在重发这一个数据包的状态,丢包率在100%)。如果把数据拆分2个50位的数据包分别后,每一个包的重复发送2-3次,即可发送成功(即丢包率为0)。

在一个实施例中,采用第一丢包处理策略进行误码丢包处理,还包括:接收源自接收方采用标准tcp协议的ack应答反馈的数据信息的步骤。

接收方tcp数据的接收,发送方指tcp数据的发起设备。发送方会接收源自接收方采用标准tcp协议的ack应答反馈的数据信息。其目的是为了向发送方反馈数据传输情况,继而发送方可以根据反馈的数据信息调整发送数据包的大小。

在一个实施例中,采用第一丢包处理策略进行误码丢包处理后,还包括,再次获取向前链路的比特信噪比的步骤,如此循环,继而就如下一轮的基于tcp协议的丢包处理。

在一个实施例中,所述采用第二丢包处理策略进行拥塞丢包处理,包括:

步骤s302:获取所述向前链路中tcp发送的数据包的大小。

当误码率小于预设最小门限值时,采用第二丢包处理策略进行拥塞处理。进行拥塞处理时,需进行拥塞检测,即获取向前链路中tcp发送的数据包的大小。这里的数据包(packet)是tcp/ip协议通信传输中的数据单位。数据包主要由“目的ip地址”、“源ip地址”、“净载数据”等部分构成,包括包头和包体,包头是固定长度,包体的长度不定,各字段长度固定,双方的请求数据包和应答数据包的包头结构是一致的,不同的是包体的定义。

步骤s304:当所述数据包的大小大于滑动窗口的大小时,采用拥塞控制算法调整所述滑动窗口的大小以进行拥塞处理。

具体地,将获得tcp发送的数据包的大小与tcp的滑动窗口的大小进行比较,判断所述数据包的大小是否大于滑动窗口的大小。其中,滑动窗口是缓冲区,主要用于tcp协议的流量控制,其滑动窗口的窗口尺寸表示可能缓冲的数据量大小。当tcp发送的数据包的大小大于tcp的滑动窗口的大小时,表明发生拥塞丢包,则采用拥塞控制算法调整滑动窗口的大小,进而调整数据传输速率。滑动窗口机制利用数据接收端的接收窗口来控制数据流。

当tcp发送的数据包的大小小于tcp的滑动窗口的大小时,则表明未发生拥塞处理,返回至前述获取向前链路的比特信噪比的步骤,如此循环,继而就如下一轮的基于tcp协议的丢包处理。

在一个实施例中,执行步骤s304后,还可以包括:

步骤s306:接收源自接收方采用标准tcp协议的ack应答反馈的数据信息。

接收方tcp数据的接收,发送方指tcp数据的发起设备。发送方会接收源自接收方采用标准tcp协议的ack应答反馈的数据信息。其目的是为了向发送方反馈数据传输信息,继而发送方可以根据反馈的数据信息调整发送数据包的速率。

在一个实施例中,采用第二丢包处理策略进行拥塞丢包处理后,还包括再次获取向前链路的比特信噪比的步骤,如此循环,继而就如下一轮的基于tcp协议的丢包处理。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:

步骤s402:获取向前链路的比特信噪比;

步骤s404:根据所述比特信噪比和调试解调设备的系统参数,获取所述向前链路的误码率;

步骤s406:根据所述误码率与预设最小门限值的大小判断结果,采用相应的丢包处理策略进行误码丢包处理或拥塞丢包处理。

上述计算机可读存储介质中计算机程序(指令)在被执行时,根据获取的向前链路的比特信噪比与预设最小门限值的大小判断结果,可以快速区分向前链路是处于误码丢包还是拥塞丢包,并采用相应的丢包处理策略进行误码丢包处理或拥塞丢包处理,提高了在高误码率的条件下卫星通信系统的通信能力,保证了信息的高效率传输。

在其中一个实施例中,所述根据所述比特信噪比和调试解调设备的系统参数获取所述向前链路的误码率,包括:

获取所述向前链路的信噪比和调试解调设备的系统参数;

在相同条件下,根据所述信噪比、调试解调设备的系统参数计算误码率和比特信噪比;

获取所述误码率与所述比特信噪比的对应关系表;

在所述对应关系表中,根据获取的所述比特信噪比查找对应的所述误码率。

在其中一个实施例中,所述调试解调设备的系统参数,包括:调制编码、符号率、带宽及前向纠错算法的处理增益。

在其中一个实施例中,根据所述信噪比、调试解调设备的系统参数计算所述比特信噪比:

比特信噪比=信噪比-10log(带宽/符号率)-前向纠错算法的处理增益。

在其中一个实施例中,所述根据所述误码率与预设最小门限值的大小判断结果,采用相应的丢包处理策略进行误码丢包处理或拥塞丢包处理,包括:

判断所述误码率是否大于所述预设最小门限值;

若是,则采用第一丢包处理策略进行误码丢包处理;

若否,则采用第二丢包处理策略进行拥塞丢包处理。

在其中一个实施例中,所述采用第一丢包处理策略进行误码丢包处理,包括:

启动标准tcp协议重发控制,并减少数据包的大小。

在其中一个实施例中,所述采用第二丢包处理策略进行误码丢包处理,包括:

获取所述向前链路中tcp发送的数据包的大小;

当所述数据包的大小大于滑动窗口的大小时,采用拥塞控制算法调整所述滑动窗口的大小以进行拥塞处理。

在其中一个实施例中,所述当所述数据包的大小大于滑动窗口的大小时,采用拥塞控制算法调整所述滑动窗口的大小以进行拥塞处理,包括:

判断所述数据包的大小是否大于滑动窗口的大小;

若是,则采用拥塞控制算法调整所述滑动窗口的大小以进行拥塞处理;

若否,则获取向前链路的比特信噪比。

在其中一个实施例中,根据所述误码率与预设最小门限值的大小判断结果采用相应的丢包处理策略进行误码丢包处理或拥塞丢包处理后,还包括:

再次获取向前链路的比特信噪比。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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