CN102769520B - 基于sctp协议的无线网络拥塞控制方法 - Google Patents
基于sctp协议的无线网络拥塞控制方法 Download PDFInfo
- Publication number
- CN102769520B CN102769520B CN201210247477.0A CN201210247477A CN102769520B CN 102769520 B CN102769520 B CN 102769520B CN 201210247477 A CN201210247477 A CN 201210247477A CN 102769520 B CN102769520 B CN 102769520B
- Authority
- CN
- China
- Prior art keywords
- packet
- retransmission
- sctp
- congestion control
- wireless network
- 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.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种基于SCTP协议的无线网络拥塞控制方法,主要解决无线信道环境下使用标准STCP协议传输数据时网络吞吐量低的问题。其实现的过程是:(1)建立SCTP会话;(2)进行拥塞控制和更新平滑往返时延Srtt;(3)对于被报告缺失四次的数据包,进行快速重传,并将更新的Srtt值设为该数据包的快速重传定时器的时间;(4)快速重传定时器超时后,如果该数据包仍然没有收到回复,则对该数据包再次进行快速重传。本发明通过对现有SCTP协议进行改进,提高了传输数据时的网络吞吐量,可用于无线网络环境。
Description
技术领域
本发明属于网络通信技术领域,特别涉及一种在无线局域网Wlan中采用流传输控制协议SCTP控制网络拥塞的方法,用于提高无线信道发送端的吞吐量。
背景技术
SCTP协议是IETF在2000年新定义的一个协议,最初是被设计用于在IP网络上传输电信信令SS7,并把SS7信令网络的一些可靠特性引入IP网络。它同传输控制协议TCP和数据报协议UDP一样,都是属于传输层的协议。SCTP是一种可靠的传输层协议,它在两个端点之间提供稳定、有序的数据传递服务,并且可以保护数据消息边界。该协议具有多归属,多流,消息分帧,可配置无序发送,平滑关闭等特性,具有很高的可靠性和安全性。
SCTP实际上是一个面向连接的协议,它兼有TCP和UDP两者的特点,可以称为是TCP的改进协议。但它们之间还是有着很大的区别。首先,SCTP协议的连接称为偶联,每个偶联可以是多归属的。而TCP连接的端点只能有单个IP地址。其次,SCTP是基于消息流,它的一个偶联可以包含多个流,而TCP是基于字节流的,它只能支持一个流。还有SCTP协议建立连接时采用了四次握手机制,相对于TCP的三次握手机制,可以有效的防止拒绝服务攻击。SCTP协议对TCP的缺陷进行了一些完善,同时又将UDP的一些优点相结合,提供了更加可靠、高效、有序的数据传输服务。
无线局域网中,无线信道很容易受到外界环境的干扰,这导致无线信道会在短时间内剧烈变化,引起较高的丢包率和较大的传输时延。由于SCTP在制定成标准的时候是针对有线网络设计的,而没有考虑无线网络的情况。因为有线网络可靠性较高,数据传输过程中很少发生传输错误导致的丢包,所以丢包的原因都认为是发生了网络拥塞。这时数据发送端为了避免拥塞继续发生,就要采取相应的拥塞控制机制降低发送端发送数据的速率,进而降低了网络的吞吐量。但在无线网络中,丢包大多是传输错误导致的,此时并没有发生拥塞。但标准协议仍会降低发送速率,这会使吞吐量严重下降,传输的性能变差。
发明内容
本发明的目的在于针对Wlan环境下SCTP协议的不足,提出了一种基于SCTP协议的无线网络拥塞控制方法,提高网络吞吐量,改善传输的性能。
实现本发明目的的思路是:在数据传输过程中,当数据包被四次登记缺失时,通过启动快速重传机制,迅速重传该数据包,防止拥塞发生。数据包重传之后通过设置对该数据包再次快速重传的定时器,实现重传包丢失后再一次的快速重传。其技术方案包括如下步骤:
(1)经过四步握手建立流传输控制协议SCTP会话;
(2)会话建立后,进入拥塞控制,同时根据SCTP标准协议更新要记录的平滑往返时间Srtt的值;
(3)检查是否有数据包的超时重传定时器超时,如果是则进行超时重传,否则执行步骤(4);
(4)查看数据包的传输序列号TSN是否已经有四次缺失登记,如果是则执行步骤(5),否则返回步骤(2);
(5)对已经有四次登记缺失的数据包进行快速重传;
(6)根据最新一次记录的平滑往返时间Srtt,设置数据包的快速重传定时器,即将最新记录的Srtt值设为快速重传定时器的时间;
(7)检查数据包的快速重传定时器是否为零,如果是则执行步骤(8),否则返回步骤(2);
(8)检查是否有对重传数据包的回复,如果没有收到回复,执行步骤(9),否则返回步骤(2);
(9)再一次进行快速重传。
本发明由于为快速重传的数据包设定了一个快速重传定时器,在该定时器超时之后如果没有收到回复,则立刻再次重传该数据包,克服了现有技术在无线信道中吞吐量低的问题,能够在无线信道受到外界环境影响突然变化的情况下,保持网络的吞吐量。
附图说明
图1本发明的工作流程图;
图2本发明的基本应用场景图;
图3采用现有方案与本发明方案的拥塞控制窗口Cwnd对比图。
具体实施方式
本发明涉及修改标准SCTP协议的快速重传机制,允许多次的快速重传,并将当前统计的平滑往返时延Srtt作为相邻两次快速重传间隔时间。如果丢包是由于传输错误导致的,往返时延不会很大,本发明方案会在超时重传定时器超时之前启动快速重传,提高发送概率以提升吞吐量;如果丢包是由于拥塞导致的,当前的往返时延会很大,本发明方案将采用已有协议的超时重传机制,将拥塞控制窗口将为最低。因此,本发明的既能应用于有线网络,又能应用于无线网络。
下面结合附图对本发明作进一步的详细描述。
参照图1,本发明具体步骤如下:
步骤1,初始化偶联。
(1a)发送端发送INIT数据包,以发起连接请求;
(1b)接收端收到INIT包后,返回INIT-ACK包进行确认;
(1c)发送端发送COOKIE-EHCO包启动偶联;
(1d)接收端收到COOKIE-EHCO包后返回COOKIE-ACK包进行确认。
经过上述四步握手后建立SCTP会话,会话建立之后进行正常的通信。
步骤2,拥塞控制和更新平滑往返时间Srtt的值。
(2a)会话建立后,进入拥塞控制阶段,SCTP的拥塞控制机制根据当前拥塞控制窗口Cwnd和慢启动门限Ssthresh的大小区分慢启动和拥塞避免过程,如果拥塞控制窗口比慢启动门限小,则处于慢启动阶段,否则处于拥塞避免阶段,拥塞控制窗口Cwnd和慢启动门限Ssthresh的值根据SCTP协议标准进行设定;
(2b)Linux内核中,发送端发送数据包的时候,每隔一段时间会对非重传的数据包做标记,用该数据包计算当前网络的往返时间Rtt,如果发送端长时间没有发送数据,则发送端会自动发送一些数据探测包去探测网络的往返时间Rtt;
(2c)根据得到的往返时间Rtt,按照SCTP协议标准计算当前的平滑往返时间Srtt,并用计算得到的结果更新记录的平滑往返时间Srtt的值。
步骤3,查看是否有数据包的超时重传定时器超时。
发送端发送数据包的时候,给每个数据包设置一个超时重传计时器,如果在超时重传计时器超时的那个时刻仍然没有收到对该数据包的回复,则对这个数据包进行超时重传,否则执行步骤4。
步骤4,检查数据包的传输序列号TSN是否已经有过四次缺失登记。
(4a)SCTP对每一个发送的数据包赋予一个唯一的传输序列号TSN;
(4b)当发送端收到数据包的回复时,如果回复中报告收到数据包的TSN是不连续的,就将缺失的那个数据包的TSN记录下来,并将该数据包的缺失数目增加1;
(4c)判断该数据包缺失的数目是否等于4,如果等于4,则执行步骤5;如果小于4,返回执行步骤2。
步骤5,对报告缺失4次的数据包启动快速重传机制进行重传,该快速重传机制是SCTP协议标准中规定的一种重传机制,即如果数据包的传输序列号TSN已经有四次缺失登记,无论超时重传定时器是否为零,都将立刻重传这个数据包。
步骤6,对数据包进行快速重传的同时,将该数据包的快速重传定时器设置为当前更新的平滑往返时间Srtt的值。
步骤7,检查数据包的快速重传定时器是否超时,如果快速重传定时器为零,则已经超时,执行步骤8,否则返回步骤2。
步骤8,检查数据包是否收到回复。
在内核中查看重传队列,如果重传队列中仍然有该数据包,则再次重传该数据包,否则说明发送端已经收到了对该数据包的回复,不用对该数据包进行拥塞控制,返回步骤2。
步骤9,再次对上述缺失的数据包进行快速重传。
本发明的效果可以通过以下实验进一步说明:
(1)实验条件:采用基于Linux-2.6.35内核版本的Ubuntu操作***,在三台物理机上,使用修改后的SCTP内核模块。
(2)实验场景:如图2所示,两个用户A、B处于不同的地理位置,受当前环境中其他无线设备和传输距离的影响,用户之间会产生相互干扰,两个用户的丢包率和时延会有不同的变化。
(3)实验方法:两个用户A、B通过无线路由器和一个服务器建立会话,两个用户同时向服务器不间断地发送数据。采用现有SCTP方案和采用本发明方案分别进行实验,统计用户A的拥塞控制窗口Cwnd的值,之后基于Matlab绘出拥塞控制窗口Cwnd随时间变化曲线,如图3所示。
(4)实验结果:由图3可见,采用现有SCTP方案发送端拥塞控制窗口Cwnd的值主要在6000比特之下,而采用本发明方法,则拥塞控制窗口Cwnd的值主要在6000比特之上,这说明采用本发明方案能比采用现有SCTP协议在相同的时间内发送更多的数据包,从而增加了网络的吞吐量。
Claims (4)
1.一种基于SCTP协议的无线网络拥塞控制方法,其步骤包括如下:
(1)经过四步握手建立流传输控制协议SCTP会话;
(2)会话建立后,进入拥塞控制,同时根据SCTP标准协议更新要记录的平滑往返时间Srtt的值;
(3)检查是否有数据包的超时重传定时器超时,如果是则进行超时重传,否则执行步骤(4);
(4)查看数据包的传输序列号TSN是否已经有四次缺失登记,如果是则执行步骤(5),否则返回步骤(2);
(5)对已经有四次登记缺失的数据包进行快速重传;
(6)根据最新一次记录的平滑往返时间Srtt,设置数据包的快速重传定时器,即将最新记录的Srtt值设为快速重传定时器的时间;
(7)检查数据包的快速重传定时器是否超时,如果是则执行步骤(8),否则返回步骤(2);
(8)检查是否有对重传数据包的回复,如果没有收到回复,执行步骤(9),否则返回步骤(2);
(9)再一次进行快速重传。
2.根据权利要求1所述的一种基于SCTP协议的无线网络拥塞控制方法,其中步骤(1)所述的经过四步握手建立流传输控制协议SCTP会话,按如下步骤进行:
(2a)发送端发送INIT数据包,以发起连接请求;
(2b)接收端收到INIT包后,返回INIT-ACK包进行确认;
(2c)发送端发送COOKIE-EHCO包启动偶联;
(2d)接收端收到COOKIE-EHCO包后返回COOKIE-ACK包进行确认。
3.根据权利要求1所述的一种基于SCTP协议的无线网络拥塞控制方法,其中步骤(4)所述的查看数据包的传输序列号是否已经有四次缺失登记,按如下步骤进行:
(3a)SCTP对发送的每一个数据包赋予一个唯一的传输序列号TSN;
(3b)当发送端收到数据包的回复时,如果回复中报告收到数据包的TSN是不连续的,就将缺失的那个数据包的TSN记录下来,并将该数据包的缺失数目增加1;
(3c)判断该数据包的缺失数目是否等于4,如果是则立即重传该数据包。
4.根据权利要求1所述的一种基于SCTP协议的无线网络拥塞控制方法,其中步骤(8)所述的检查是否有对重传数据包的回复,是在内核中查看重传队列,如果重传队列中仍然有该数据包,则有对该数据包的回复,如果重传队列中没有该数据包,则没有对该数据包的回复。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210247477.0A CN102769520B (zh) | 2012-07-17 | 2012-07-17 | 基于sctp协议的无线网络拥塞控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210247477.0A CN102769520B (zh) | 2012-07-17 | 2012-07-17 | 基于sctp协议的无线网络拥塞控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102769520A CN102769520A (zh) | 2012-11-07 |
CN102769520B true CN102769520B (zh) | 2015-01-28 |
Family
ID=47096781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210247477.0A Expired - Fee Related CN102769520B (zh) | 2012-07-17 | 2012-07-17 | 基于sctp协议的无线网络拥塞控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102769520B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106162739B (zh) * | 2016-09-27 | 2019-06-11 | 京信通信***(中国)有限公司 | 网络拥塞控制方法和*** |
CN109151848B (zh) * | 2017-06-16 | 2021-07-02 | 创新先进技术有限公司 | 确定网络服务质量的方法、装置及服务器 |
CN109039535B (zh) * | 2018-06-26 | 2021-06-18 | 浙江工业大学 | 一种面向能量捕获电磁纳米网络的差错控制方法 |
CN109167734B (zh) * | 2018-08-06 | 2020-12-01 | 华为技术有限公司 | 识别传输控制协议状态的方法和装置 |
CN110753271B (zh) * | 2019-09-10 | 2021-08-24 | 杭州亿圣信息技术有限公司 | 以动态可控双流进行视频无线组播下tcp误码重传控制方法 |
CN112738843B (zh) * | 2021-01-18 | 2022-05-27 | 哈尔滨工业大学 | 确定通信延迟的高速率5g上行拥塞控制方法 |
CN113556268B (zh) * | 2021-07-23 | 2023-12-26 | 芯河半导体科技(无锡)有限公司 | 一种tcping的实现方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1486043A (zh) * | 2002-09-28 | 2004-03-31 | ��Ϊ��������˾ | 消息传输部分2层用户适配对ip网络拥塞的处理方法 |
CN101895466A (zh) * | 2010-07-02 | 2010-11-24 | 北京交通大学 | 一种降低sctp多路径传输数据包乱序影响的方法 |
CN102171975A (zh) * | 2008-10-01 | 2011-08-31 | 株式会社Ntt都科摩 | 移动通信***和发送侧节点 |
US8126015B2 (en) * | 2008-04-11 | 2012-02-28 | Hewlett-Packard Development Company, L.P. | Multi-stream communication processing |
-
2012
- 2012-07-17 CN CN201210247477.0A patent/CN102769520B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1486043A (zh) * | 2002-09-28 | 2004-03-31 | ��Ϊ��������˾ | 消息传输部分2层用户适配对ip网络拥塞的处理方法 |
US8126015B2 (en) * | 2008-04-11 | 2012-02-28 | Hewlett-Packard Development Company, L.P. | Multi-stream communication processing |
CN102171975A (zh) * | 2008-10-01 | 2011-08-31 | 株式会社Ntt都科摩 | 移动通信***和发送侧节点 |
CN101895466A (zh) * | 2010-07-02 | 2010-11-24 | 北京交通大学 | 一种降低sctp多路径传输数据包乱序影响的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102769520A (zh) | 2012-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102769520B (zh) | 基于sctp协议的无线网络拥塞控制方法 | |
WO2018121294A1 (zh) | 一种报文传输方法、终端、网络设备及通信*** | |
WO2018082615A1 (zh) | 一种发送报文的方法、装置、芯片及终端 | |
WO2018205688A1 (zh) | 一种数据传输的方法、装置和*** | |
JP2002152308A (ja) | データ通信システム、その通信方法及びその通信プログラムを記録した記録媒体 | |
CN107645409B (zh) | 一种确定数据的传输故障原因方法及装置 | |
WO2005109791A2 (en) | A sub-segment based transport layer protocol for wireless medium | |
WO2016090978A1 (zh) | 一种流量切换方法和装置 | |
CN112436924B (zh) | 一种数据传输方法及电子设备 | |
WO2020147453A1 (zh) | 数据传输方法及相关装置 | |
US20170027016A1 (en) | Communication device, wireless communication device, and communication method | |
WO2011100911A2 (zh) | 探测处理方法、数据发送端、数据接收端以及通信*** | |
CN106453356A (zh) | 无线网络双边加速传输方法和*** | |
US20220225163A1 (en) | Communications device, infrastructure equipment and methods | |
Ye et al. | SCTP congestion control performance in wireless multi-hop networks | |
Larsen | TCP in MANETs-challenges and solutions | |
JP2008104018A (ja) | 通信システム、通信装置、及び送信制御方法 | |
US7286546B2 (en) | Method and system for providing reliable and fast communications with mobile entities | |
CN103036648A (zh) | 一种capwap报文处理方法及装置 | |
Jungmaier et al. | On SCTP multi-homing performance | |
JP3741421B2 (ja) | データ通信方法及び通信端末装置 | |
WO2020154872A1 (zh) | 一种传输控制协议加速方法和装置 | |
US20140369189A1 (en) | Method of controlling packet transmission in network system and network system transmitting packet using pseudo-tcp agent | |
KR100913897B1 (ko) | 재전송 타임아웃 수를 줄이기 위한 전송 제어 프로토콜혼잡제어방법 | |
Raza et al. | Persistent packet reordering attack in TCP based Ad hoc wireless networks |
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: 20150128 Termination date: 20200717 |
|
CF01 | Termination of patent right due to non-payment of annual fee |