CN105407058A - 带拥塞控制的可靠组播传输方法 - Google Patents
带拥塞控制的可靠组播传输方法 Download PDFInfo
- Publication number
- CN105407058A CN105407058A CN201410464825.9A CN201410464825A CN105407058A CN 105407058 A CN105407058 A CN 105407058A CN 201410464825 A CN201410464825 A CN 201410464825A CN 105407058 A CN105407058 A CN 105407058A
- Authority
- CN
- China
- Prior art keywords
- packet
- data
- data transmission
- multicast
- muticast
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明应用于网络数据传输领域,主要解决通过组播方式进行网络文件数据传输时的丢包问题。由于组播协议是根据接受者的需要由路由器对数据流进行复制转发,所以服务端的服务总带宽不受客户接入端带宽的限制。但是传统的主播与可靠单播协议相比没有纠错机制,容易出现丢包现象,同时由于传统的组播协议没有拥塞控制机制,对于TCP业务不友好,导致占用了大量的网络带宽资源。本发明主要是为了创造一种对TCP友好的、可靠的组播传输方法。通过在组播数据包中增加冗余包机制和重传机制,用于丢失数据的恢复,同时加入了拥塞控制功能,根据接收端的丢包反馈情况,自动调节发送端发送数据窗口的大小,减轻网络负荷,改善丢包问题。
Description
一、技术领域
TCP/IP网络数据传输领域。本发明主要解决通过组播方式进行网络文件数据传输时的丢包问题。
二、背景技术
由于组播协议是根据接受者的需要由路由器对数据流进行复制转发,所以服务端的服务总带宽不受客户接入端带宽的限制。但是与可靠单播协议相比没有纠错机制,发生丢包错包后难以弥补,同时由于传统的组播协议没有拥塞控制机制,对于TCP业务不友好,导致占用了大量的网络带宽资源。本发明主要是为了创造一种对TCP友好的、可靠的组播传输方法。
三、发明内容
发送端通过TCP/IP网络同时向多个接收端分发文件。
1.发送端发送数据时IP数据包的结构说明
发送端发送数据时IP数据包的结构为:
IP头部,UDP头部,type,fileId,groupId,blockId,contentsize,文件数据段。
因为该方法是在组播的基础上改进而来,所以IP头部和UDP头部与TCP/IP协议族中的一致,这边不再介绍。UDP数据端的大小固定为1000Byte。
下面主要介绍下UDP数据段中几个额外的字段:
type:数据包类型,8bit,如果为0则为文件属性包,为1则为文件数据包(非冗余包),为2则为文件数据包(冗余包)。
fileId:文件id,64bit,标识传送的文件。从0开始每发送完一个文件该值增加1,到达2^64-1后,回到0。
groupId:数据包组id,64bit,标识当前数据包在哪个group中,每个group中包含一个或者多个数据以及一个冗余包。从0开始每发送完一个group的数据包后该值增加1,到达2^64-1后,回到0。
blockId:数据包在组内的id,8bit,标识该数据包在当前group中的编号。在同一group中,从0开始,每发送完一个数据包后,该值增加1。在一个group中,blockId不会重复。
contentsize:包中数据大小,16bit,标识当前包中数据大小。
文件数据段:最大1024Byte。
2.接收端发送数据时数据段格式说明
接收端发送数据时数据段格式为:
type,length,fileId,groupId,blockId
各字段的说明如下:
type:数据包类型,8bit,固定为0,表示请求重发。
length:数据内容长度,16bit。说明了接下来发送的数据的长度。
fileId:文件id,64bit,标识要被重传的文件。
groupId:数据包组id,64bit,标识要被重传的数据组。
blockId:数据包在组内的id,8bit,标识要被重传的数据包在group中的编号。
接收端以TCP的方式发送这些数据段。
3.数据包组结构说明:
数据包的组结构为:
数据包1,数据包2,数据包3,冗余包
以4个为一组,其中有3个数据包,1个冗余包。其中冗余包的数据段是对数据包的数据段进行异或操作后得到的。
如果到达文件的末尾,则还是需要发送一个完整的数据包分组,多余的数据包的数据段使用0填充。
4.发送等级说明
发送端有8个发送等级,每个发送等级主要包含窗口的大小(每次连续发送的数据包个数)。详细如下:
等级 | 窗口大小(个) |
1 | 4 |
2 | 8 |
3 | 12 |
4 | 16 |
5 | 20 |
6 | 24 |
7 | 28 |
8 | 32 |
一个窗口大小包含一个或者多个数据包。
5.文件属性通知说明
该通知只包含在一个数据报中,type为0,则文件数据段的内容如下:
xxxx,yyyy
其中xxxx是被传输的文件的大小,单位字节。yyyy是文件名。
发送端在一开始连续发送5个文件属性通知数据报,等五秒钟后,再次连续发送5个文件属性通知数据报,等五秒钟后,再次连续发送5个文件属性通知数据报。
6.发送端发送文件流程说明(流程图参见说明书附图1)
1)发送端监听接收端的TCP连接。
2)在发送文件数据前,组播告知接收端接下来发送的文件的属性信息。
3)一开始,发送端使用最小的发送等级(等级1),发送完一个窗口大小的数据包(即发送4个包,3个是数据包,1个是冗余包),等待32ms(一个RTT),
a)如果没有收到接收端的重发请求,则增加一个发送级别(如果当前等级为1,则变成等级2;如果为最高级8,则不变),然后继续发送下一个窗口大小的数据包(如果新等级为2,则发送8个数据包,发送顺序如下:数据包*3,冗余包*1,数据包*3,冗余包*1)。
b)如果收到了接收端的重发请求,发送端根据fileId,groupId和blockId计算出缺失的数据段的位置,然后读取数据后通过TCP再次发送给接收端。
i.如果发送重发请求的接收端数量没有超过总接收端数的十分之一(本次例子中为10个),则维持当前的发送等级发送接下来五个窗口大小的数据包,如果在发送的5个窗口的数据包中,重发请求都没有超过总接收端的十分之一,则将发送等级加1;如果在发送五个窗口过程中,收到了重发请求并且发送重发请求的接收端数量超过总接收端数的十分之一,此时设置下一次的发送等级设置为当前发送等级的二分一(如果当前等级为4,则新的等级为2;如果当前等级为5,则新的等级为2;如果当前为最低级1,则不变)。
ii.如果发送重发请求的接收端数量超过总接收端数的十分之一,则将设置下一次的发送等级设置为当前发送等级的二分一。
以上步骤不断循环,直到完成文件的发送。
7.接收端接收文件流程
1)接收端需要通过TCP连接到发送端。
2)接收端接收文件的属性信息,解析成功后,等待接收文件数据信息。
3)接收文件数据包,如果一个数据包组中有一个包没有接收到,则通过冗余包将丢失的包还原出来;如果一个数据包组中有两个或者两个以上的包没有接收到,则通过TCP向发送端发送重发请求,并等待发送端的重发内容。
四、具体实施方式
1.配置TCP/IP网络,并且网路上任意两个点都能互通。
2.所有的路由器启用组播协议。
3.在网络的一端启动发送服务器,在网路的其他位置启动接收客户端。
4.服务器发送文件,客户端能正确接收到文件。
Claims (4)
1.本发明主要解决通过组播方式进行网络文件数据传输时的丢包问题,创新性的引入了冗余包的设计方法,对于一般的丢包现象通过冗余包计算来恢复丢失的数据包,因此要求保护在组播数据传输中使用冗余包的这种设计方法。
2.本发明创新性的将FEC算法应用于组播数据传输中的冗余包生成,因此要求保护在组播数据传输中使用FEC算法生产冗余包的这种设计。
3.本发明对于组播数据传输过程中冗余包和普通数据包都丢失的情况,创新性的采用了基于可靠连接的TCP方式来做补包处理,因此要求保护在组播数据传输过程中,丢失冗余包和普通数据包时,通过TCP方式来重发丢失的数据包,以达到补包的算法。
4.本发明在组播数据传输过程中丢包非常严重的情况下,可以根据接收端的反馈,自动调节发送端的发送数据窗口(发送数据缓冲区)大小来改善丢包问题,因此要求保护这种在组播数据传输过程中通过接收端的反馈,自动动态调节发送端发送数据窗口(发送数据缓冲区)大小的处理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410464825.9A CN105407058A (zh) | 2014-09-12 | 2014-09-12 | 带拥塞控制的可靠组播传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410464825.9A CN105407058A (zh) | 2014-09-12 | 2014-09-12 | 带拥塞控制的可靠组播传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105407058A true CN105407058A (zh) | 2016-03-16 |
Family
ID=55472317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410464825.9A Pending CN105407058A (zh) | 2014-09-12 | 2014-09-12 | 带拥塞控制的可靠组播传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105407058A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107566291A (zh) * | 2017-09-26 | 2018-01-09 | 恒生电子股份有限公司 | 组播传输方法、装置、电子设备及存储介质 |
CN112866178A (zh) * | 2019-11-27 | 2021-05-28 | 北京沃东天骏信息技术有限公司 | 音频数据传输的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741584A (zh) * | 2008-11-20 | 2010-06-16 | 盛乐信息技术(上海)有限公司 | 降低流媒体丢包的方法 |
CN102325009A (zh) * | 2011-09-13 | 2012-01-18 | 北京邮电大学 | 一种基于前向纠错的网络编码组播数据流可靠传输方法 |
-
2014
- 2014-09-12 CN CN201410464825.9A patent/CN105407058A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741584A (zh) * | 2008-11-20 | 2010-06-16 | 盛乐信息技术(上海)有限公司 | 降低流媒体丢包的方法 |
CN102325009A (zh) * | 2011-09-13 | 2012-01-18 | 北京邮电大学 | 一种基于前向纠错的网络编码组播数据流可靠传输方法 |
Non-Patent Citations (1)
Title |
---|
叶保留: "面向Internet的流媒体组播技术", 《计算机科学》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107566291A (zh) * | 2017-09-26 | 2018-01-09 | 恒生电子股份有限公司 | 组播传输方法、装置、电子设备及存储介质 |
CN107566291B (zh) * | 2017-09-26 | 2021-03-12 | 恒生电子股份有限公司 | 组播传输方法、装置、电子设备及存储介质 |
CN112866178A (zh) * | 2019-11-27 | 2021-05-28 | 北京沃东天骏信息技术有限公司 | 音频数据传输的方法和装置 |
CN112866178B (zh) * | 2019-11-27 | 2023-09-05 | 北京沃东天骏信息技术有限公司 | 音频数据传输的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4857262B2 (ja) | エンド・ツー・エンドの信頼性のあるグループ通信のための方法および装置 | |
US8717900B2 (en) | Mechanisms to improve the transmission control protocol performance in wireless networks | |
US8819532B2 (en) | Methods and devices for transmitting a data stream and corresponding computer readable media | |
CN105791054A (zh) | 一种基于流分类实现的自主可控可靠组播传输方法 | |
EP2774322B1 (en) | Apparatus and method for transmitting a message to multiple receivers | |
US8976814B2 (en) | Method of transporting data from sending node to destination node | |
US10645012B2 (en) | System and method for reducing bandwidth usage of a network | |
US10003434B2 (en) | Efficient error correction that aggregates different media into encoded container packets | |
CN105407058A (zh) | 带拥塞控制的可靠组播传输方法 | |
US10250499B2 (en) | Multicast transmission using programmable network | |
CN106686410A (zh) | Hls流媒体传输方法以及装置 | |
US11502986B2 (en) | Reducing transmission delay of transmitting data in Wi-Fi | |
US20150071273A1 (en) | Efficient transfer of tcp traffic over wlan | |
US9591058B2 (en) | Rapid recovery method for incomplete file transfer from sender to recipient | |
Patel et al. | Reliable Connectionless Transport Protocol for Fast Message Delivery | |
Kumar et al. | Improving The Performance Of Congestion Control In Wireless Networks | |
JP2013026836A (ja) | 中継装置、中継方法及びプログラム | |
US20170195085A1 (en) | Transmission control protocol segment recovery | |
Kok | An adaptive block encoding technique for hybrid ARQ schemes | |
Amin et al. | Bandwidth Efficient TCP Frame Design without Acknowledgment Number Field | |
Wilson | Reliable Burst Protocol—Deterministic streaming data transport | |
Wang et al. | A concurrent multi-path transfer mechanism used in ad hoc networks | |
Cui et al. | A New Initialization Mechanism for SCTP Association between Two Multihomed Terminals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160316 |
|
WD01 | Invention patent application deemed withdrawn after publication |