CN111817825A - 一种tcp数据重传方法及系统 - Google Patents
一种tcp数据重传方法及系统 Download PDFInfo
- Publication number
- CN111817825A CN111817825A CN202010930196.XA CN202010930196A CN111817825A CN 111817825 A CN111817825 A CN 111817825A CN 202010930196 A CN202010930196 A CN 202010930196A CN 111817825 A CN111817825 A CN 111817825A
- Authority
- CN
- China
- Prior art keywords
- data packet
- receiving end
- seq
- ack
- sending
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1628—List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明公开一种TCP数据重传方法及系统,方法步骤包括:发送端发送seq+ack数据包至接收端;出口装置将seq+ack数据包发给接收端;接收端检测seq+ack数据包是否完全接收成功,若完全接收成功,则发送ack数据给发送端;若没有完全接收成功,则发送一个重传数据包给出口装置;出口装置的检测模块记录收到的同一重传数据包的次数,并发送一个新增网络通道的指令给切换模块;切换模块新增一个网络通道,并将seq+ack数据包通过新增的网络通道重新发送给接收端。本发明对重传的数据使用的网络链路进行切换,让网络上重传的数据包得到最新的重传数据,节省链路带宽。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种TCP数据重传方法及系统。
背景技术
随着互联网发展,各类网络应用都需要一个可靠稳定的网络协议进行数据传输,通常的在传输层都会采用TCP协议,但是由于网络/路径的质量问题,使得网络链路上会出现很多错误包或重传包。
通常情况下,如图1所示,发送端/请求端(client)跟接收端/回复端(server)做TCP传输,通常会有以下的过程:
1、发送端和接收端建立TCP 3次握手,发送端发送syn(同步数据包),等待接收端回复syn+ack(同步+确认数据包), 发送端发送ack(确认数据包);
2、发送端开始发送数据(seq+ack)数据包,等待接收端的回复;
3、接收端回复ack数据包。
完整的TCP传输数据过程,一发送一确认。但互联网中往往会发生一些需要传输重传的数据包情况,根据网络质量的问题出现重传数据包,这种情况无法避免,因为TCP协议天生就是设计可靠的传输,为保证收发数据包正常,它就会发起重传数据包的要求。
如图2所示,出现重传数据包的情况如下:
1)传输数据的过程都是跟正常传输数据包是一样的,都需要先经过3次握手,发送端发送syn过程、接收端回复syn+ack过程、发送端发送ack过程;
2)不一样的是,当接收端校验数据发送不完整,就会给发送端发送-个重传数据包的要求;
3)发送端收到重传数据包的要求后,重新再发送一次上一次未确认(ack)的数据;
4)由于重传,是无法确认发1次,就可以补发成功,还是多次重传才成功;当然也可能因为超时,导致重传失败。
发明内容
为了克服现有技术存在的缺点与不足,本发明提供一种TCP数据重传方法及系统,通过在出口设备增加出口装置(检测模块+切换模块),通过检测判断到重传(达到阈值),对重传的数据使用切换模块对链路进行切换,让网络上重传的数据包得到最新的重传数据,从而净化网络重传数据包,节省链路带宽。
为解决上述技术问题,本发明提供如下技术方案:一种TCP数据重传方法
包括以下步骤:
S1、发送端发送seq+ack数据包至接收端;其中,发送端发送给接收端的seq+ack数据包均经过出口装置,出口装置通过一个网络通道将seq+ack数据包发给接收端;
S2、接收端检测seq+ack数据包是否完全接收成功,若完全接收成功,则发送ack数据给发送端;若接收端对出口装置发送的seq+ack数据包没有完全接收成功,则发送一个重传数据包给出口装置;
S3、出口装置接收到接收端发送的重传数据包,出口装置的检测模块记录收到的同一重传数据包的次数,并发送一个新增网络通道的指令给切换模块;出口装置的切换模块收到检测模块的指令后新增一个网络通道,并将seq+ack数据包通过新增的网络通道重新发送给接收端,然后返回步骤S2。
本发明另一目的是提供一种TCP数据重传系统,包括依次连接的发送端、出口装置以及接收端,所述出口装置包括检测模块和切换模块;
所述发送端用于发送seq+ack数据包至所述接收端;其中,所述发送端发送给接收端的seq+ack数据包均经过出口装置;
所述出口装置用于通过一个网络通道将seq+ack数据包发给接收端;
所述接收端用于检测seq+ack数据包是否完全接收成功,若完全接收成功,则发送ack数据给发送端;若所述接收端对所述发送端发送的seq+ack数据包没有完全接收成功,则发送一个重传数据包给所述出口装置;
所述出口装置还用于接收到所述接收端发送的重传数据包;所述检测模块用于记录收到的同一重传数据包的次数,并发送一个新增网络通道的指令给所述切换模块;所述切换模块用于收到所述检测模块的指令后新增一个网络通道,并将seq+ack数据包通过新增的网络通道重新发送给所述接收端。
采用上述技术方案后,本发明至少具有如下有益效果:本发明降低重传数据包的数量/次数,节省带宽资源,并提高了转发效率。
附图说明
图1为本发明背景技术中TCP传输过程中的正常流程图。
图2为本发明背景技术中TCP重传传输的异常流程图。
图3为本发明一种TCP数据重传方法的步骤流程图。
图4为本发明一种TCP数据重传系统的框架图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本申请作进一步详细说明。
实施例1
如图1所示,以及在背景技术中已经提到,在网络数据经过TCP协议传输过程中,都需要经过以下过程:通常会有以下的过程:1、发送端和接收端建立TCP 3次握手,发送端发送syn(同步数据包),等待接收端回复syn+ack(同步+确认数据包), 发送端发送ack(确认数据包);2、发送端开始发送数据(seq+ack)数据包,等待接收端的回复;3、接收端回复 ack数据包。
完整的TCP传输数据过程,一发送一确认。但互联网中往往会发生一些需要传输重传的数据包情况,根据网络质量的问题出现重传数据包,这种情况无法避免,因为TCP协议天生就是设计可靠的传输,为保证手法数据包正常,它机制就发起要求重传,于是,就得到了如图2所示的情况,出现重传数据包的情况如下:
1)传输数据的过程都是跟正常传输数据包是一样的,都需要先经过3次握手,发送端发送syn过程、接收端回复syn+ack过程、发送端发送ack过程;
2)不一样的是,当接收端校验数据发送不完整,就会给发送端发送-要求重传数据包;
3)发送端收到重传要求数据包后,重新再发送一次上一次未确认(ack)的数据;
4)由于重传,是无法确认发1次,就可以补发成功,还是多次重传才成功;当然也可能因为超时,导致重传失败。
基于此,本实施例提供一种TCP数据重传方法,用于解决图2所示出现的问题,通过增加出口装置(检测模块+切换模块),通过检测及判断到重传数据包,然后对重传数据包的网络通道(网络链路)进行切换,让网络上重传数据包得到最新网络通道进行重传,从而净化重传数据包,节省链路带宽。
如图3所示和图4所示,本实施例公开一种TCP数据重传方法,包括以下步骤:
S1、发送端发送seq+ack数据包至接收端;其中,发送端发送给接收端的seq+ack数据包均经过出口装置,出口装置通过一个网络通道将seq+ack数据包发给接收端;
S2、接收端检测seq+ack数据包是否完全接收成功,若完全接收成功,则发送ack数据给发送端;若接收端对出口装置发送的seq+ack数据包没有完全接收成功,则发送一个重传数据包给出口装置;
S3、出口装置接收到接收端发送的重传数据包,出口装置的检测模块记录收到的同一重传数据包的次数,并发送一个新增网络通道的指令给切换模块;出口装置的切换模块收到检测模块的指令后新增一个网络通道,并将seq+ack数据包通过新增的网络通道重新发送给接收端,然后返回步骤S2。例如,出口装置第1次接收到重传数据包,则检测模块新增第1个网络通道,并从第1个网络通道将seq+ack数据包重新发送给接收端;当接收端对出口装置发送的seq+ack数据包再次没有完全接收成功,则再次发送一个重传数据包给出口装置,此时该重传数据为第2次发给出口装置了,则检测模块新增第2个网络通道,并从第2个网络通道将seq+ack数据包重新发送给接收端;依次类推,重传数据包再一次发送到出口装置,检测模块新增一个网络通道,直至最终接收端对seq+ack数据包完全接收成功并返还一个ack数据给发送端。步骤S3具体就是带来的效果为:通过检测并判断到需要重传的数据包,对重传的数据包使用切换模块对链路进行切换,让网络上重传的数据包得到最新的重传数据,从而净化网络重传数据包,节省链路带宽。
实施例2
本实施例是在实施例1一种TCP数据重传方法基础上,公开一种TCP数据重传系统,如图4所示,包括依次连接的发送端、出口装置以及接收端,所述出口装置包括检测模块和切换模块;
所述发送端用于发送seq+ack数据包至所述接收端;其中,所述发送端发送给接收端的seq+ack数据包均经过出口装置;
所述出口装置用于通过一个网络通道将seq+ack数据包发给接收端;
所述接收端用于检测seq+ack数据包是否完全接收成功,若完全接收成功,则发送ack数据给发送端;若所述接收端对所述发送端发送的seq+ack数据包没有完全接收成功,则发送一个重传数据包给所述出口装置;
所述出口装置还用于接收到所述接收端发送的重传数据包;所述检测模块用于记录收到的同一重传数据包的次数,并发送一个新增网络通道的指令给所述切换模块;所述切换模块用于收到所述检测模块的指令后新增一个网络通道,并将seq+ack数据包通过新增的网络通道重新发送给所述接收端。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解的是,在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种等效的变化、修改、替换和变型,本发明的范围由所附权利要求及其等同范围限定。
Claims (2)
1.一种TCP数据重传方法,其特征在于,包括以下步骤:
S1、发送端发送seq+ack数据包至接收端;其中,发送端发送给接收端的seq+ack数据包均经过出口装置,出口装置通过一个网络通道将seq+ack数据包发给接收端;
S2、接收端检测seq+ack数据包是否完全接收成功,若完全接收成功,则发送ack数据给发送端;若接收端对出口装置发送的seq+ack数据包没有完全接收成功,则发送一个重传数据包给出口装置;
S3、出口装置接收到接收端发送的重传数据包,出口装置的检测模块记录收到的同一重传数据包的次数,并发送一个新增网络通道的指令给切换模块;出口装置的切换模块收到检测模块的指令后新增一个网络通道,并将seq+ack数据包通过新增的网络通道重新发送给接收端,然后返回步骤S2。
2.一种TCP数据重传系统,其特征在于,包括依次连接的发送端、出口装置以及接收端,所述出口装置包括检测模块和切换模块;
所述发送端用于发送seq+ack数据包至所述接收端;其中,所述发送端发送给接收端的seq+ack数据包均经过出口装置;
所述出口装置用于通过一个网络通道将seq+ack数据包发给接收端;
所述接收端用于检测seq+ack数据包是否完全接收成功,若完全接收成功,则发送ack数据给发送端;若所述接收端对所述发送端发送的seq+ack数据包没有完全接收成功,则发送一个重传数据包给所述出口装置;
所述出口装置还用于接收到所述接收端发送的重传数据包;所述检测模块用于记录收到的同一重传数据包的次数,并发送一个新增网络通道的指令给所述切换模块;所述切换模块用于收到所述检测模块的指令后新增一个网络通道,并将seq+ack数据包通过新增的网络通道重新发送给所述接收端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010930196.XA CN111817825A (zh) | 2020-09-07 | 2020-09-07 | 一种tcp数据重传方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010930196.XA CN111817825A (zh) | 2020-09-07 | 2020-09-07 | 一种tcp数据重传方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111817825A true CN111817825A (zh) | 2020-10-23 |
Family
ID=72859980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010930196.XA Pending CN111817825A (zh) | 2020-09-07 | 2020-09-07 | 一种tcp数据重传方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111817825A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1951042A (zh) * | 2004-02-07 | 2007-04-18 | 桥扬科技有限公司 | 具有自动重复请求(arq)的多载波通信系统的方法和设备 |
CN101494652A (zh) * | 2009-02-27 | 2009-07-29 | 中国电子科技集团公司第五十四研究所 | 一种卫星通信系统中增强tcp协议性能的方法 |
CN102075436A (zh) * | 2011-02-10 | 2011-05-25 | 成都市华为赛门铁克科技有限公司 | 以太网络及其数据传输方法和装置 |
CN102801692A (zh) * | 2011-05-26 | 2012-11-28 | 中国科学院声学研究所 | 一种基于分裂连接的传输控制协议优化方法及系统 |
CN103326831A (zh) * | 2013-06-04 | 2013-09-25 | 华为终端有限公司 | 在多路传输控制协议中的链路处理方法和移动终端 |
US20140086048A1 (en) * | 2011-04-15 | 2014-03-27 | Industry-University Cooperation Foundation Sogang University | Data transmission rate control method and system in upward vertical handover in overlay network environment |
CN105357577A (zh) * | 2014-08-22 | 2016-02-24 | 中兴通讯股份有限公司 | 一种丢包重传方法及装置 |
CN106209915A (zh) * | 2016-08-31 | 2016-12-07 | 深圳聚点互动科技有限公司 | 一种实时流媒体无线传输方法及其系统 |
CN106254041A (zh) * | 2015-08-20 | 2016-12-21 | 北京智谷技术服务有限公司 | 数据传输方法、数据接收方法、及其装置 |
CN210807342U (zh) * | 2019-12-19 | 2020-06-19 | 南京欣威视通信息科技股份有限公司 | 一种基于mqtt的物联网信息发布系统 |
-
2020
- 2020-09-07 CN CN202010930196.XA patent/CN111817825A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1951042A (zh) * | 2004-02-07 | 2007-04-18 | 桥扬科技有限公司 | 具有自动重复请求(arq)的多载波通信系统的方法和设备 |
CN101494652A (zh) * | 2009-02-27 | 2009-07-29 | 中国电子科技集团公司第五十四研究所 | 一种卫星通信系统中增强tcp协议性能的方法 |
CN102075436A (zh) * | 2011-02-10 | 2011-05-25 | 成都市华为赛门铁克科技有限公司 | 以太网络及其数据传输方法和装置 |
US20140086048A1 (en) * | 2011-04-15 | 2014-03-27 | Industry-University Cooperation Foundation Sogang University | Data transmission rate control method and system in upward vertical handover in overlay network environment |
CN102801692A (zh) * | 2011-05-26 | 2012-11-28 | 中国科学院声学研究所 | 一种基于分裂连接的传输控制协议优化方法及系统 |
CN103326831A (zh) * | 2013-06-04 | 2013-09-25 | 华为终端有限公司 | 在多路传输控制协议中的链路处理方法和移动终端 |
CN105357577A (zh) * | 2014-08-22 | 2016-02-24 | 中兴通讯股份有限公司 | 一种丢包重传方法及装置 |
CN106254041A (zh) * | 2015-08-20 | 2016-12-21 | 北京智谷技术服务有限公司 | 数据传输方法、数据接收方法、及其装置 |
CN106209915A (zh) * | 2016-08-31 | 2016-12-07 | 深圳聚点互动科技有限公司 | 一种实时流媒体无线传输方法及其系统 |
CN210807342U (zh) * | 2019-12-19 | 2020-06-19 | 南京欣威视通信息科技股份有限公司 | 一种基于mqtt的物联网信息发布系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6419245B2 (ja) | 通信システムにおける方法および装置 | |
JP5523350B2 (ja) | Tcpフロー制御のための方法及び装置 | |
US7149181B2 (en) | Apparatus and method for re-transmitting erroneous packet data | |
EP2119085B1 (en) | Enhanced error control communication systems and methods | |
US8842528B2 (en) | System and method for improving transport protocol performance in communication networks having lossy links | |
US20060034285A1 (en) | WCDMA uplink HARQ operation during the reconfiguration of the TTI length | |
CN101119183A (zh) | 重传控制方法及传输设备 | |
WO2008025251A1 (fr) | Procédé de gestion de retransmission de données dans un réseau sans fil à la dernière retransmission | |
US7733782B2 (en) | Method and an arrangement for avoiding unnecessary retransmissions | |
KR100392169B1 (ko) | 통신 시스템에서 데이터 패킷을 전달하기 위한 방법 및 장치 | |
Maisuria et al. | Overview of techniques for improving QoS of TCP over wireless links | |
CN111817825A (zh) | 一种tcp数据重传方法及系统 | |
JP2000022744A (ja) | パケット通信システム、パケット通信装置及びパケット通信方法 | |
US20040148422A1 (en) | Communication control method, communication system, and communication apparatus that can improve throughput | |
JP4925916B2 (ja) | データ送信装置、データ送信方法及びデータ送信プログラム | |
West et al. | TCP enhancements for heterogeneous networks | |
JPH11168525A (ja) | データ通信方法およびデータ通信装置 | |
EP0993139B1 (en) | Go-back-N automatic-repeat-request protocol on virtual circuits | |
KR20050013777A (ko) | 재전송 타임아웃 수를 줄이기 위한 전송 제어 프로토콜혼잡제어방법 | |
JP2001144800A (ja) | 送達確認方法及び送達確認受信端末並びに送達確認システム | |
KR20080050792A (ko) | 무선 통신 시스템에서 패킷 데이터 재전송 방법 및 그시스템 | |
JP2005102339A (ja) | ゲートウェイ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201023 |
|
RJ01 | Rejection of invention patent application after publication |