CN1486031A - 一种数据传输方法 - Google Patents
一种数据传输方法 Download PDFInfo
- Publication number
- CN1486031A CN1486031A CNA021317801A CN02131780A CN1486031A CN 1486031 A CN1486031 A CN 1486031A CN A021317801 A CNA021317801 A CN A021317801A CN 02131780 A CN02131780 A CN 02131780A CN 1486031 A CN1486031 A CN 1486031A
- Authority
- CN
- China
- Prior art keywords
- message
- application data
- data
- tcp
- user data
- 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.)
- Granted
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
本发明公开一种数据传输方法,在TCP报文的应用数据的应用数据报文首部中增加了应用数据的“起始”和“长度”字段,从而使得在接收端,应用程序可以根据收到的应用数据的“起始”和“长度”字段,正确地界定和处理用户数据,提高了TCP报文传送的可靠性。本发明方法与一般的方法相比,能够保证通信的可靠性,从而提高通信效率。在通信系统中,当节点之间的通信内容以超长TCP报文为主时,该种方法改进效果非常明显。
Description
技术领域:
本发明涉及一种数据传输方法,尤其是TCP(Transfer ControlProtocol)报文的传输方法。
背景技术:
在以太网络中,设备之间采用TCP协议传送数据报文时,一般在接收设备的内部采用缓存器来缓存接收到的数据报文,然后从缓存器中读出数据报文,恢复成用户数据,其过程如图1所示,图1中,APPL即Application,IP即Internet Protocol。
在TCP传输协议中定义了一个MSS(Maximum Segment Size)来表示一个TCP报文的最大报文段长度,如果TCP报文的长度小于MSS,那么采用一个TCP帧就可以完成用户数据的传输,接收设备的应用程序可以一次把一个完整的报文从缓存器中读出,可以根据TCP报文中的包头(即图1中的“Appl首部”,也即“应用数据报文首部”字段)信息来正确处理用户数据。如果用户数据报文的长度大于MSS时,我们定义为“超长TCP报文”。当用户数据报文的长度为超长TCP报文时,整个用户数据报文必然会被切分,通过多个TCP帧来传输,而应用程序只为每个用户数据报文添加一个“应用数据报文首部”(如图1中的“Appl首部”字段),这就导致了这个超长TCP报文只有一个包头表示报文的相关信息。所以,在传输“超长TCP报文”时,被切分的TCP报文的第一个包含有TCP报文的应用程序包头,而从第二个被切分的TCP报文以后的包都不包含应用程序包头信息。在接收设备,应用程序必须分多次才能从缓冲器中读出应用数据,这个过程如图2所示。这样就会存在一个问题:应用程序不能正确判断应用数据包结束的位置,引起连续的接收错误,从而导致了超长TCP报文在以太网上传输的不可靠性。
发明内容:
本发明的目的就是提供一种数据传输方法,解决接收端无法正确界定超长TCP报文的问题,提高网络传输的可靠性。
为实现上述目的,本发明提出一种数据传输方法,包括发送过程和接收过程,发送过程包括:A1、为每个用户数据报文添加一个应用数据报文首部形成应用数据报文;A2、为每个应用数据报文添加一个TCP首部形成TCP段;接收过程包括:B1、从接收到的数据报文的TCP段中读出应用数据;其特征是:在步骤A1中所述的应用数据报文首部字段中至少包括“起始”、“长度”字段,分别表示用户数据内容的开始和TCP报文用户数据内容的长度;接收过程还包括步骤:B2、根据应用数据中的超始字段判断用户数据的起始位置;B3、根据应用数据中的“长度”字段判断用户数据的结尾位置。
由于采用了以上的方案,在TCP报文的应用数据的应用数据报文首部中增加了应用数据的“起始”和“长度”字段,从而使得在接收端,应用程序可以根据收到的应用数据的“起始”和“长度”字段,正确地界定和处理用户数据,提高了TCP报文传送的可靠性。本发明方法与一般的方法相比,能够保证通信的可靠性,从而提高通信效率。在通信系统中,当节点之间的的通信内容以超长TCP报文为主时,该种方法改进效果非常明显。
附图说明:
图1是TCP报文在以太网上的传输过程示意图。
图2是TCP报文的发送和接收过程示意图。
图3是本发明TCP报文中关于用户数据长度的定义示意图。
图4是应用程序处理流程图。
具体实施方式:
下面通过具体的实施例并结合附图对本发明作进一步详细的描述。
见图3,根据本发明,以太网上的两个设备通信时,TCP报文的应用数据的“应用数据报文首部”字段中增加定义用户数据包长度的字段,称为“长度”,用于表示TCP报文中用户数据的字节数。图3中,
“起始”:表示TCP报文应用数据内容的开始。
“长度”:表示TCP报文应用数据内容的长度,不包括TCP报本包头。
“其他信息”:是用户定义的其他信息,可有,可无;
“用户数据”:同图1、图2中的用户数据;
在接收端设备的应用程序是这样处理的:
1、从接收端缓存器中读出第一个应用数据帧,
2、根据“起始”字段判断用户数据的起始位置,
3、根据“长度”字段判断用户数据的结尾。
4、多次从缓存器中读出应用数据帧,判断是否为应用数据的结尾。
5、重复4,直到整个应用数据接收结束。
处理过程的流程图如图4所示。
由此可见,通过在应用数据的Appl字段增加了应用数据的“起始”和“长度”字段的定义,接收端的应用程序就能够正确的界定应用数据,提高了通信的可靠性。本发明方法与一般的方法相比,通信协议更加复杂,但能够保证通信的可靠性,从而提高通信效率。在通信系统中,当节点之间的的通信内容以超长TCP报文为主时,该种方法改进效果非常明显。
本发明的方法还得到实验的证实:在一个通信报文多数为超长TCP报文的实验项目中,一个控制台和多个测试用的设备进行通信,控制台和被控设备之间的通信报文采用了本方法对TCP报文中的应用数据报文首部增加了应用数据的“起始”和“长度”字段的定义,结果大大提高了通信效率。
Claims (3)
1、一种数据传输方法,包括发送过程和接收过程,发送过程包括:
A1、为每个用户数据报文添加一个应用数据报文首部形成应用数据报文;
A2、为每个应用数据报文添加一个TCP首部形成TCP段;
接收过程包括:
B1、从接收到的数据报文的TCP段中读出应用数据;
其特征是:
在步骤A1中所述的应用数据报文首部字段中至少包括“起始”、“长度”字段,分别表示用户数据内容的开始和TCP报文用户数据内容的长度;
接收过程还包括步骤:
B2、根据应用数据中的超始字段判断用户数据的起始位置;
B3、根据应用数据中的“长度”字段判断用户数据的结尾位置。
2、如权利要求1所述的一种数据传输方法,其特征是:所述接收过程还包括步骤:
B4、判断所读取的应用数据是否包含用户数据的结尾,如否,则再从下一TCP段中读取应用数据的下一帧;
B5、重复步骤B4,直到整个应用数据接收结束。
3、如权利要求1或2所述的一种数据传输方法,其特征是:在接收过程的步骤B1之前,先将接收到的数据报文存储于缓存器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021317801A CN100474821C (zh) | 2002-09-23 | 2002-09-23 | 一种数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021317801A CN100474821C (zh) | 2002-09-23 | 2002-09-23 | 一种数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1486031A true CN1486031A (zh) | 2004-03-31 |
CN100474821C CN100474821C (zh) | 2009-04-01 |
Family
ID=34145031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021317801A Expired - Fee Related CN100474821C (zh) | 2002-09-23 | 2002-09-23 | 一种数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100474821C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984253A (zh) * | 2012-11-27 | 2013-03-20 | 山东中创软件工程股份有限公司 | 一种传输控制协议粘包处理方法及装置 |
CN103034142A (zh) * | 2012-12-06 | 2013-04-10 | 杭州佳谷数控技术有限公司 | 一种自适应袜机控制方法及系统 |
-
2002
- 2002-09-23 CN CNB021317801A patent/CN100474821C/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984253A (zh) * | 2012-11-27 | 2013-03-20 | 山东中创软件工程股份有限公司 | 一种传输控制协议粘包处理方法及装置 |
CN102984253B (zh) * | 2012-11-27 | 2015-10-14 | 山东中创软件工程股份有限公司 | 一种传输控制协议粘包处理方法及装置 |
CN103034142A (zh) * | 2012-12-06 | 2013-04-10 | 杭州佳谷数控技术有限公司 | 一种自适应袜机控制方法及系统 |
CN103034142B (zh) * | 2012-12-06 | 2015-09-30 | 杭州佳谷数控技术有限公司 | 一种自适应袜机控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN100474821C (zh) | 2009-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7355971B2 (en) | Determining packet size in networking | |
EP1395014B1 (en) | A method of transmitting data streams with data segments of variable length | |
US7421515B2 (en) | Method and system for communications network | |
WO1997022201A2 (en) | Method and system for transmitting real-time video | |
US8583269B2 (en) | Isochronous audio network software interface | |
CN107925652B (zh) | 一种基于报文协议识别的传输协议固定转换方法及装置 | |
CN111682994B (zh) | 基于epa协议的环形或线形网络系统和非实时数据的传输方法 | |
CN110620637B (zh) | 一种基于fpga的数据解压装置及方法 | |
CN105357302B (zh) | 一种网络数据包断点续传方法及装置 | |
CN102404414A (zh) | 基于mmc/sd接口的以太网通信系统及方法 | |
CN103685387B (zh) | 一种调度http请求的方法和浏览器装置 | |
CN105491158A (zh) | 一种基于网络数据流的http内容还原方法及系统 | |
CN112994851B (zh) | 一种支持差异化可协商的并行数据通信方法及装置 | |
CN1486031A (zh) | 一种数据传输方法 | |
CN104079949B (zh) | 面向多屏的场景自适应的数据封装方法和装置及系统 | |
CN115913473A (zh) | 一种数据选择性重传方法及其系统、存储介质、电子设备 | |
JP2002077240A (ja) | フロー制御方式およびそれを実行する送信端末 | |
US20100284426A1 (en) | Intelligent multi-packet header compression | |
CN103580805B (zh) | 报文的处理方法及装置 | |
CN114884881B (zh) | 一种数据压缩传输方法及终端 | |
Khaunte et al. | Statistical characterization of a world wide web browsing session | |
CN1293712C (zh) | 监控系统中控制报文的传输方法 | |
CN115866077B (zh) | 一种自适应的物联网tcp协议动态处理系统及方法 | |
JP3191917B2 (ja) | Atm伝送装置 | |
US11645222B1 (en) | Real time generation of differential serial bus traffic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090401 Termination date: 20150923 |
|
EXPY | Termination of patent right or utility model |