一种报文传输方法、终端、网络设备及通信系统技术方案

技术编号:18416977 阅读:25 留言:0更新日期:2018-07-11 08:56
本发明专利技术公开了一种报文传输方法,包括:发送端在确定第一报文丢失之后,重传第一报文,并减小拥塞窗口和/或慢启动阈值;接收端首次收到重传的第一报文后,向发送端发送针对该重传的第一报文的ACK,且ACK中包含主动构造的DSACK选项,向发送端发送包含DSACK选项,用于提示发送端第一报文被重复接收了,发送端根据DSACK选项中记录的序列号推断第一报文是乱序而非拥塞导致的丢包,且因为第一报文丢包触发的重传和拥塞窗口退避是不必要的,进而补偿拥塞窗口和/或慢启动阈值。

A message transmission method, terminal, network device and communication system

The present invention discloses a message transmission method, including: the transmitter retransmit the first message after determining the loss of the first message, and reduce the congestion window and / or the slow start threshold; after the receiving end receives the first message retransmitted for the first time, the ACK of the first message for the retransmission is sent to the sending end, and the active construction is included in the ACK. The DSACK option sends the DSACK option to the sender to prompt the sending end first message to be repeated, and the sender deduces that the first message is a disorderly and not congestion caused by the sequence number recorded in the DSACK option, and because the first message packet drop triggered retransmission and congestion window backoff is unnecessary. The congestion window and / or slow start threshold are compensated.

【技术实现步骤摘要】
一种报文传输方法、终端、网络设备及通信系统
本专利技术涉及通信
,尤其涉及一种报文传输方法、终端及通信系统。
技术介绍
TCP(TransmissionControlProtocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP为了保证报文传输的可靠,给每个报文分配一个序列号(SequenceNumber),序列号保证了传送到接收端的报文的有序接收。对于已经成功收到的报文,接收端会给发送端回复一个相应的确认报文(Acknowledgement,即ACK),该确认报文会携带该接收到的报文的序列号。如果发送端在合理的往返时延(Round-TripTime,即RTT)内未收到确认报文,那么对应的报文将会被重传。这种机制通常也被称为超时重传。快速重传是对超时重传的优化,如果发送端接收到N个(一般情况下,N等于3)以上的重复ACK,就判定有报文丢失,于是立即重传丢失的报文。快速重传机制不需要等到重传定时器超时就进行报文重传,大大提高了数据传输的效率。超时重传和快速重传机制虽然保证了报文的可靠传输,但如果网络状况恶化,传输时延较大的时候,报文重传会使网络的负担更重,导致更大的传输延迟以及更多的丢包,进而造成恶性循环,甚至使整个网络瘫痪。为此,TCP引入了拥塞控制算法。主流的TCP拥塞控制算法基本都是基于丢包退避的原理:当发送端判定发生网络丢包后,主动减小拥塞窗口,以降低发送速率,从而减缓网络拥塞。拥塞控制算法虽然能一定程度上抑制网络拥塞,但也可能会不合理地限制数据传输速率,尤其是在无线网络环境中,由于无线链路的信道质量易受多方面因素的影响,例如在信号弱覆盖等场景下,无线链路常常会因为误码等非拥塞因素丢包,而基于传统的拥塞控制算法,发送端会根据丢包判断网络发生拥塞,并主动减小拥塞窗口,进而导致接收端的下行吞吐率降低,影响用户的上网体验。
技术实现思路
本专利技术实施例提供一种报文传输方法、终端、网络设备及通信系统,用于提高数据传输速率。为达到上述专利技术目的,一方面,本专利技术实施例提供了一种报文传输方法,该方法包括:终端在首次接收到服务器发送的重传报文之时,向该服务器发送用于响应该首次接收到的重传报文的第一确认报文,其中,该重传报文是服务器判定已发送的第一报文丢失后重传的,且该重传报文的序列号与第一报文携带的序列号相同;该第一确认报文包含重复指示字段,该重复指示字段用于指示第一报文被重复接收,接收端对于首次收到的重传报文,在其确认报文的TCP头部携带特殊信息以提示发送端该重传报文被重复接收了;服务器在收到该第一确认报文后,会根据该第一确认报文中携带的重复指示字段推断第一报文并非由于拥塞导致丢失,因此由于之前判定第一报文丢失而触发的重传和拥塞窗口退避也是不必要的,服务器将据此补偿拥塞窗口大小和/或慢启动阈值,从而提高下行吞吐率。在一个可能的设计中,该第一确认报文是所述终端首次接收到和所述第一报文序列号相同的报文时发送的,这样,终端在首次接收到与所述第一报文序列号相同的报文时,通过第一确认报文携带的重复指示字段来“欺骗”服务器,以指示自己重复接收到了与第一报文序列号相同的报文,服务器据此确认之前判断第一报文因为拥塞丢失为误判,进而会恢复之前因为判定第一报文丢失而减小的拥塞窗口,进而提升了数据传输速率。在一个可能的设计中,终端根据接收到的报文的序列号和已接收并缓存的报文的序列号,确定该报文是否为重传报文,以及是否首次接收到与该报文序列号相同的报文。在一个可能的设计中,第一确认报文还包含SACK选项,该SACK选项用于指示该终端已接收报文的序列号信息。在一个可能的设计中,该重复指示字段包含第一报文的序列号,且该重复指示字段位于该第一确认报文的SACK选项的第一个块(Block)。在一个可能的设计中,该第一确认报文为DSACK报文,该重复指示字段位于报文的DSACK块。在一个可能的设计中,在该终端接收服务器发送的重传报文之前,还包括:该终端通过至少一个接入点接入无线网络,并与该服务器建立TCP连接。在一个可能的设计中,该终端和该服务器均开启了SACK选项。第二方面,本专利技术实施例提供了一种传输报文的方法,包括:终端接收服务器发送的重传报文,该重传报文是该服务器确定已发送的第一报文丢失后重传的,该重传报文的序列号与第一报文携带的序列号相同,所述重传报文包含用于指示所述重传报文的发送时间戳的TSval字段,所述TSval字段的值为TSrexmit,表示所述重传报文的实际发送时间为TSrexmit;该终端在首次接收到重传报文之时向该服务器发送用于响应该首次接收到的重传报文的第一确认报文,该第一确认报文包含用于向该服务器报告该重传报文的发送时间戳的TSecr字段,该TSecr字段的值被设置为小于TSrexmit,即小于该重传报文的实际发送时间戳。采用上述方法,终端对于只收到过一次的重传报文,通过伪造时间戳选项,在TSecr字段携带小于重传报文实际发送时间戳的值,以“欺骗”发送端该重传报文被重复接收了,发送端进而推断之前重传的该序列号的报文所引起的拥塞窗口退避是不必要的,并据此补偿拥塞窗口大小和/或慢启动阈值,达到了提高数据传输速率的效果。在一个可能的设计中,该第一确认报文中TSecr字段的值小于等于与第一报文的序列号后相邻的报文的发送时间戳,并且大于等于与第一报文的序列号前相邻的报文的发送时间戳。根据这一准则计算出的TSval字段更接近于第一报文的实际发送时间戳。在一个可能的设计中,该终端和该服务器开启了TCP时间戳选项,并建立建立了TCP连接。第三方面,本专利技术实施例提供一种在发送端和接收端之间转发报文的方法,包括:网络设备接收由发送端发往接收端的重传报文,将该重传报文转发给该接收端,以及接收该接收端响应于该重传报文的第一确认报文;其中,该重传报文是该发送端判定已发送的第一报文丢失后重传的,且该重传报文的序列号与第一报文携带的序列号相同;该第一确认报文是该接收端首次接收到该重传报文之时发送的;网络设备在该第一确认报文中添加重复指示字段,以得到第二确认报文,并发送所述第二确认报文;该重复指示字段用于指示第一报文被重复接收,以使该发送端接收到该第二确认报文之后,根据该重复指示字段的指示,增加拥塞窗口的大小和/或慢启动阈值,从而提高数据发送速率。在一个可能的设计中,该第一确认报文是所述终端首次接收到和所述第一报文序列号相同的报文时发送的。在一个可能的设计中,该第一确认报文和第二确认报文还包含SACK选项,该SACK选项用于指示该接收端已接收报文的序列号信息。在一个可能的设计中,该重复指示字段包含第一报文的序列号,且该重复指示字段位于该第二确认报文的SACK选项的第一个块(Block)。在一个可能的设计中,该发送端和该接收端之间的连接为TCP连接,且该发送端和该接收端开启了SACK选项或者时间戳选项。第四方面,本专利技术实施例提供一种终端,该终端具有实现上述方法示例中终端的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一种可能的设计中,该终端包括应用处理器、存储器和通信子系统,该通信子系统用于接收报文以及发送确认报文,应用处理器运行存储器中的协议本文档来自技高网
...

【技术保护点】
1.一种传输报文的方法,其特征在于,包括:终端接收服务器发送的重传报文,所述重传报文是所述服务器判定已发送的第一报文丢失后重传的,且所述重传报文的序列号与所述第一报文携带的序列号相同;所述终端在首次接收到所述重传报文之时,向所述服务器发送用于响应所述首次接收到的重传报文的第一确认报文,所述第一确认报文包含重复指示字段,所述重复指示字段用于指示所述第一报文被重复接收,以及用于触发所述服务器增加拥塞窗口的大小和/或慢启动阈值。

【技术特征摘要】
1.一种传输报文的方法,其特征在于,包括:终端接收服务器发送的重传报文,所述重传报文是所述服务器判定已发送的第一报文丢失后重传的,且所述重传报文的序列号与所述第一报文携带的序列号相同;所述终端在首次接收到所述重传报文之时,向所述服务器发送用于响应所述首次接收到的重传报文的第一确认报文,所述第一确认报文包含重复指示字段,所述重复指示字段用于指示所述第一报文被重复接收,以及用于触发所述服务器增加拥塞窗口的大小和/或慢启动阈值。2.根据权利要求1所述的方法,其特征在于,所述第一确认报文是所述终端首次接收到和所述第一报文序列号相同的报文时发送的。3.根据权利要求1或2所述的方法,其特征在于,所述第一确认报文还包含SACK选项,所述SACK选项用于指示所述终端已接收报文的序列号信息。4.根据权利要求3所述的方法,其特征在于,所述重复指示字段包含所述第一报文的序列号;所述重复指示字段位于所述第一确认报文的SACK选项的第一个块(Block)。5.根据权利要求3所述的方法,其特征在于,所述重复指示字段包含所述第一报文的序列号;所述重复指示字段为DSACK块,所述DSACK用于向所述服务器报告被所述终端重复接收的报文。6.根据权利要求1至5任一项所述的方法,其特征在于,在所述终端接收服务器发送的重传报文之前,还包括:所述终端通过无线网络与所述服务器建立TCP连接;所述无线网络包括至少一个接入点。7.一种传输报文的方法,其特征在于,所述方法包括:所述终端接收所述服务器发送的重传报文,所述重传报文是所述服务器确定已发送的第一报文丢失后重传的,且所述重传报文的序列号与所述第一报文携带的序列号相同;所述重传报文包含用于指示所述重传报文的发送时间戳的TSval字段,所述TSval字段的值为TSrexmit,表示所述重传报文的实际发送时间为TSrexmit;所述终端在首次接收到重传报文之时向所述服务器发送用于响应所述首次接收到的重传报文的第一确认报文,所述第一确认报文包含用于向所述服务器报告所述重传报文的发送时间戳的TSecr字段,所述TSecr字段的值设置为TSxmit,且TSxmit<TSrexmit。8.根据权利要求7所述的方法,其特征在于,TSbefore≤TSxmit≤TSafter;其中,TSbefore和TSafter分别是与所述重传报文的序列号前后相邻的报文的发送时间戳。9.根据权利要求7或8所述的方法,其特征在于,所述终端和所述服务器开启了TCP时间戳选项,所述方法还包括:所述终端和所述服务器建立TCP连接。10.一种终端,其特征在于,包括:应用处理器、存储器和通信子系统,所述存储器存储有协议栈程序;所述通信子系统用于,接收服务器发送的重传报文,所述重传报文是所述服务器判定已发送的第一报文丢失后重传的,且所述重传报文的序列号与所述第一报文携带的序列号相同;所述应用处理器运行所述存储器中的所述协议栈程序,以用于:在所述通信子系统首次接收到所述重传报文之时,构造用于响应所述首次接收到的重传报文的第一确认报文,所述第一确认报文包含重复指示字段,所述重复指示字段用于指示所述第一报文被重复接收,以及用于触发所述服务器增加拥塞窗口的大小和/或慢启动阈值;所述通信子系统还用于,发送构造的所述第一确认报文。11.根据权利要求10所述的终端,其特征在于,所述通信子系统具体用于,在首次接收到和所述第一报文序列号相同的报文时发送构造的所述第一确认报文。12.根据权利要求10或11所述的终端,其特征在于,所述第一确认报文还包含SACK选项,所述SACK选项用于指示所述终端已接收报文的序列号信息。13.根据权利要求12所述的终端,其特征在于,所述重复指示字段包含所述第一报文的序列号;所述重复指示字段位于所述第一确认报文的SACK选项的第一个块(Block)。14.根据权利要求10至13任一项所述的终端,其特征在于,所述终端通过至少一个接入点接入无线网络,并与所述服务器建立TCP连接。15.一种终端,其特征在于,包括:应用处理器、存储器和通信子系统,所述存储器存储有协议栈程序;所述通信子系统用于,接收服务器发送的重传报文,所述重传报文是所述服务器判定已发送的第一报文丢失后重传的,所述重传报文的序列号与所述第一报文携带的序列号相同,所述重传报文包含用于指示所述重传报文的发送时间戳的TSval字段,所述TSval字段的值为TSrexmit,表示所述重传报文的实际发送时间为TSrexmit;所述应用处理器运行所述存储器中的所述协议栈程序,以用于:在所述通信子系统首次接收到所述重传报文之时,构造用于响应所述首次接收到的重传报文的第一确认报文,其中,所述第一确认报文包含用于向所述服务器报告所述重传报文的发送时间戳的TSecr字段,所述TSecr字段的值为TSxmit,且TSx...

【专利技术属性】
技术研发人员:张钟邓宇杨能魏建国
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1