CN100571192C - 一种sctp端点控制接收数据块的方法 - Google Patents
一种sctp端点控制接收数据块的方法 Download PDFInfo
- Publication number
- CN100571192C CN100571192C CN200410079044.4A CN200410079044A CN100571192C CN 100571192 C CN100571192 C CN 100571192C CN 200410079044 A CN200410079044 A CN 200410079044A CN 100571192 C CN100571192 C CN 100571192C
- Authority
- CN
- China
- Prior art keywords
- data block
- buffering area
- receives
- reception
- sctp endpoint
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明提供一种SCTP端点控制接收数据块的方法,其核心为:根据需要设置SCTP端点接收缓冲区接收数据块的个数,当所述SCTP端点接收数据时,根据所述设置的接收缓冲区接收数据块的个数、接收的数据块的传输序列号、所述接收缓冲区的当前传输序列号确定可以存储至所述接收缓冲区中的SCTP端点接收的数据块,并将该数据块存储至所述SCTP端点的接收缓冲区中;本发明减小了接收缓冲区存储的数据块的TSN与SCTP端点当前期望TSN的差距,避免了具有预定存储空间的接收缓冲区尤其是资源受限的接收缓冲区的溢出现象;通过对接收数据块的个数的动态调整,保证了接收数据块的个数的合理设置;从而实现了提高缓冲区安全性,提高缓冲区的有效数据块存储率的目的。
Description
技术领域
本发明涉及网络通讯技术领域,具体涉及一种SCTP端点控制接收数据块的方法。
背景技术
SCTP(流控制传输协议)位于SCTP用户应用层和无连接网络的业务层之间,无连接网络可以是IP网络或者其他网络。
SCTP位于SCTP用户应用和IP网络的业务层之间如附图1所示。
在图1中,SCTP通过在两个SCTP端点间建立偶联,来为SCTP用户提供可靠的偶联数据传输业务。
两个SCTP端点间通过偶联进行数据块(DATA CHUNK)传输的过程如附图2所示。
在图2中,SCTP端点在发送数据块时,将发送的数据块暂时存储在发送缓冲区中,在接收到对端传输来的SACK(选择证实)消息时,才将对端确认收到的数据块从发送缓冲区中删除。
按照SCTP的规定,SCTP端点在接收数据块时,如果该数据块中的TSN(传输序列号)大于2的31次方减1,SCTP端点将该数据块丢弃;如果该数据块中的TSN(传输序列号)不大于2的31次方减1,SCTP端点将该数据块存储在接收缓冲区中,并在接收到SCTP用户传输来的确认消息时,才将SCTP用户确认收到的数据块从接收缓冲区中删除。
SCTP协议栈通过上述的响应机制能够保证偶联数据传输的可靠性,但是,当网络出现拥塞或异常现象时,协议栈的这种响应机制会使SCTP端点的接收缓冲区中存储大量的数据块,对于接收缓冲区资源较小的系统,容易出现缓冲区溢出现象;而且SCTP端点在接收数据块时,即使数据块中的TSN比接收缓冲区当前期望的TSN大很多,只要该数据块中的TSN不大于2的31次方减1,SCTP就会将接收的数据块存储至SCTP端点的接收缓冲区中,使SCTP端点的接收缓冲区中存储了一些与其当前期望的数据块相去甚远的数据块,造成了接收缓冲区的有效数据块存储率低。
发明内容
本发明的目的在于,提供一种SCTP端点控制接收数据块的方法,利用设置的接收缓冲区接收数据块的个数,以避免接收缓冲区的溢出现象,实现提高缓冲区安全性、提高缓冲区的有效数据块存储率的目的。
为达到上述目的,本发明提供一种SCTP端点控制接收数据块的方法,包括:
a、根据需要设置SCTP端点接收缓冲区接收数据块的个数;
b、当所述SCTP端点接收数据时,在接收的数据块的传输序列号小于所述设置的接收缓冲区接收数据块的个数同所述接收缓冲区的当前传输序列号之和时,将所述接收的数据块存储至所述SCTP端点的接收缓冲区中。
所述步骤a包括:
根据需要静态设置SCTP端点接收缓冲区接收数据块的个数。
所述步骤a包括:
根据需要动态设置SCTP端点接收缓冲区接收数据块的个数。
所述SCTP端点接收缓冲区为:具有预定存储空间的接收缓冲区。
所述步骤a包括:
设置具有预定存储空间的接收缓冲区接收数据块的个数为1。
所述步骤a包括:
设置具有预定存储空间的接收缓冲区接收数据块的个数为:所述预定存储空间与最大传输单元的整数商。
所述步骤a包括:
定时设置具有预定存储空间的接收缓冲区接收数据块的个数为:所述预定存储空间与预定间隔内所述SCTP端点接收的数据块的平均长度的整数商。
所述步骤a包括:
静态设置具有预定存储空间的接收缓冲区接收数据块的个数为:所述预定存储空间与最大传输单元的整数商;
定时将具有预定存储空间的接收缓冲区接收数据块的个数更新设置为:所述预定存储空间与预定间隔内所述SCTP端点接收的数据块的平均长度的整数商。
所述步骤b还包括:
当所述接收的数据块的传输序列号不小于所述设置的接收缓冲区接收数据块的个数与所述当前传输序列号之和时,将所述接收的数据块丢弃。
通过上述技术方案的描述可明显得知,本发明通过设置SCTP端点接收缓冲区接收数据块的个数,当SCTP端点接收的数据块的传输序列号不满足本发明的条件时,SCTP端点不将该数据块存储至接收缓冲区中,减小了接收缓冲区存储的数据块的TSN与SCTP端点当前期望TSN的差距,而且有效避免了具有预定存储空间的接收缓冲区尤其是资源受限的接收缓冲区的溢出现象;通过将接收缓冲区接收数据块的个数设置为预定存储空间与最大传输单元的整数商,使接收缓冲区接收数据块的个数设置合理;本发明还能够根据一段时间内接收的数据块的平均长度动态设置接收缓冲区接收数据块的个数,进一步保证了设置接收缓冲区接收数据块的个数的合理性;当本发明将接收缓冲区接收数据块的个数设置为1时,能够有效利用小容量系统中的存储资源,同时减少了SCTP端点在接收数据后的处理过程,提高了SCTP端点数据处理效率;从而通过本发明提供的技术方案实现了提高缓冲区安全性,提高缓冲区的有效数据块存储率的目的。
附图说明
图1是SCTP位于SCTP用户应用和IP网络的业务层之间的示意图;
图2是SCTP端点间偶联数据传输的流程图;
图3是本发明的SCTP端点控制接收数据块的流程图。
具体实施方式
本发明的核心是:根据需要设置SCTP端点接收缓冲区接收数据块的个数,当SCTP端点接收数据时,根据SCTP端点接收的数据块的传输序列号、SCTP端点的当前传输序列号、上述设置的接收缓冲区接收数据块的个数确定可以存储至所述接收缓冲区中的SCTP端点接收的数据块,并将该数据块存储至SCTP端点的接收缓冲区中。
下面基于本发明的核心思想对本发明提供的技术方案做进一步的描述。
本发明首先需要设置SCTP端点接收缓冲区接收数据块的个数。
对于没有预定存储空间的接收缓冲区,如果不设置接收缓冲区接收数据块的个数,会使SCTP端点接收缓冲区中存储的数据块的TSN与其当前期望的TSN相去甚远,即存储的数据块与其期望的数据块相去甚远。在设置没有预定存储空间的接收缓冲区接收数据块的个数时,可根据实际系统的具体情况来确定,如SCTP端点的数据处理能力、SCTP端点的网络资源情况等。
在设置接收缓冲区接收数据块的个数时,可以首先根据需要静态设置一个初始值,然后在根据实际系统的具体情况对该设置进行动态调整,以确保接收缓冲区接收数据块的个数的设置合理性。
对于有预定存储空间的接收缓冲区,如果不设置接收缓冲区接收数据块的个数,不但会使SCTP端点接收缓冲区中存储的数据块与其当前期望的数据块相去甚远,还会造成缓冲区溢出的现象。在设置有预定存储空间的接收缓冲区接收数据块的个数时,同样可以根据实际系统的具体情况来确定。
对预定存储空间的接收缓冲区设置接收数据块的个数时,本发明可利用最大传输单元来设置,即设置具有预定存储空间的接收缓冲区接收数据块的个数为:预定存储空间与整个偶联的最大传输单元的大小的整数商。
对于具有预定存储空间的接收缓冲区,上述设置的接收数据块的个数可以作为接收缓冲区的一个静态初始设置,在SCTP端点接收各数据块的过程中,初始设置是能够进行动态调整的,如根据实际系统的具体情况对该设置进行动态调整,以确保具有预定存储空间的接收缓冲区接收数据块个数的设置合理性。
对预定存储空间的接收缓冲区接收数据块的个数进行动态调整时,可利用数据块的平均长度,即在需要调整接收缓冲区接收数据块个数时,确定SCTP端点在以前预定时间间隔内接收的数据块的平均长度,获取SCTP端点接收缓冲区预定存储空间与该平均长度的整数商,将SCTP端点接收缓冲区接收数据块个数调整为该整数商。
通过上述各设置方法设置好SCTP端点接收缓冲区接收数据块个数后,当SCTP端点接收数据时,确定接收的数据块的TSN、SCTP端点接收缓冲区的当前TSN和设置的接收缓冲区接收数据块个数,并判断接收的数据块的TSN是否满足如下条件:
接收的数据块的TSN<当前TSN+设置的接收缓冲区接收数据块个数;
如果接收的数据块的TSN满足该条件,则将该接收的数据块存储至接收缓冲区中;
如果接收的数据块的TSN不满足该条件,将该接收的数据块丢弃。
当本发明的SCTP端点控制接收数据块的方法应用于资源受限的小系统时,如果SCTP两端约定其传输的消息均为非分段消息,则可以将SCTP端点接收缓冲区接收数据块的个数设置为1,这样,SCTP端点接收的数据块如果不是其当前期待的数据块,SCTP端点就会将其丢弃;SCTP端点接收的数据块如果是其当前期待的数据块,SCTP端点才会将其存储在接收缓冲区中。
在将SCTP端点接收缓冲区接收数据块的个数设置为1时,也可以在SCTP两端不设置接收缓冲区,这样,SCTP端点接收的数据块如果不是其当前期待的数据块,SCTP端点就会将其丢弃;SCTP端点接收的数据块如果是其当前期待的数据块,SCTP端点则可以将该数据块直接传输至SCTP用户。
由于对于小系统而言,内存和处理速度是非常重要的,所以,采用上述方法能够最大限度的减小SCTP端点的接收缓冲区占用的空间,而且省去了SCTP端点在接收数据块后复杂的后续处理过程,提高了SCTP端点在接收数据过程中的处理速度。
下面结合附图3对本发明的SCTP端点控制接收数据块的方法进行详细说明。
图3中,在步骤300,设置SCTP端点接收缓冲区接收数据块个数,设置的方法可以采用上面描述的利用最大传输单元来设置一个静态初始设置,也可以在SCTP端点接收各数据块的过程中,根据实际系统的具体情况对该设置进行动态调整。
到步骤310,SCTP端点接收数据块。
到步骤320,确定接收的数据块的TSN。
到步骤330,确定SCTP端点接收缓冲区的当前TSN和设置的接收缓冲区接收数据块个数。
到步骤340,判断接收的数据块的TSN是否小于当前TSN与设置的接收缓冲区接收数据块个数之和,如果接收的数据块的TSN小于当前TSN与设置的接收缓冲区接收数据块个数之和,到步骤350,将该接收的数据块存储至接收缓冲区中。
在步骤340,如果接收的数据块的TSN不小于当前TSN与设置的接收缓冲区接收数据块个数之和,到步骤360,将该接收的数据块丢弃。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化。
Claims (9)
1、一种SCTP端点控制接收数据块的方法,其特征在于包括:
a、根据需要设置SCTP端点接收缓冲区接收数据块的个数;
b、当所述SCTP端点接收数据时,在接收的数据块的传输序列号小于所述设置的接收缓冲区接收数据块的个数同所述接收缓冲区的当前传输序列号之和时,将所述接收的数据块存储至所述SCTP端点的接收缓冲区中。
2、如权利要求1所述的一种SCTP端点控制接收数据块的方法,其特征在于所述步骤a包括:
根据需要静态设置SCTP端点接收缓冲区接收数据块的个数。
3、如权利要求1所述的一种SCTP端点控制接收数据块的方法,其特征在于所述步骤a包括:
根据需要动态设置SCTP端点接收缓冲区接收数据块的个数。
4、如权利要求1或2或3所述的一种SCTP端点控制接收数据块的方法,其特征在于所述SCTP端点接收缓冲区为:具有预定存储空间的接收缓冲区。
5、如权利要求4所述的一种SCTP端点控制接收数据块的方法,其特征在于所述步骤a包括:
设置具有预定存储空间的接收缓冲区接收数据块的个数为1。
6、如权利要求4所述的一种SCTP端点控制接收数据块的方法,其特征在于所述步骤a包括:
设置具有预定存储空间的接收缓冲区接收数据块的个数为:所述预定存储空间与最大传输单元的整数商。
7、如权利要求4所述的一种SCTP端点控制接收数据块的方法,其特征在于所述步骤a包括:
定时设置具有预定存储空间的接收缓冲区接收数据块的个数为:所述预定存储空间与预定间隔内所述SCTP端点接收的数据块的平均长度的整数商。
8、如权利要求4所述的一种SCTP端点控制接收数据块的方法,其特征在于所述步骤a包括:
静态设置具有预定存储空间的接收缓冲区接收数据块的个数为:所述预定存储空间与最大传输单元的整数商;
定时将具有预定存储空间的接收缓冲区接收数据块的个数更新设置为:所述预定存储空间与预定间隔内所述SCTP端点接收的数据块的平均长度的整数商。
9、如权利要求4所述的一种SCTP端点控制接收数据块的方法,其特征在于所述步骤b还包括:
当所述接收的数据块的传输序列号不小于所述设置的接收缓冲区接收数据块的个数与所述当前传输序列号之和时,将所述接收的数据块丢弃。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200410079044.4A CN100571192C (zh) | 2004-09-04 | 2004-09-04 | 一种sctp端点控制接收数据块的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200410079044.4A CN100571192C (zh) | 2004-09-04 | 2004-09-04 | 一种sctp端点控制接收数据块的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1744564A CN1744564A (zh) | 2006-03-08 |
CN100571192C true CN100571192C (zh) | 2009-12-16 |
Family
ID=36139765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200410079044.4A Expired - Fee Related CN100571192C (zh) | 2004-09-04 | 2004-09-04 | 一种sctp端点控制接收数据块的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100571192C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101366255B (zh) * | 2005-11-02 | 2013-03-27 | Lg电子株式会社 | 用于信令消息的开销削减的方法 |
CN101262437B (zh) * | 2008-04-17 | 2011-07-13 | 中兴通讯股份有限公司 | 一种流控制传输协议状态迁移的方法 |
-
2004
- 2004-09-04 CN CN200410079044.4A patent/CN100571192C/zh not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
面向多媒体通信的流控制传输协议SCTP的研究. 李世辉,张晋东,黄治华,段汉文.武汉大学学报(信息科学版),第27卷第1期. 2002 |
面向多媒体通信的流控制传输协议SCTP的研究. 李世辉,张晋东,黄治华,段汉文.武汉大学学报(信息科学版),第27卷第1期. 2002 * |
Also Published As
Publication number | Publication date |
---|---|
CN1744564A (zh) | 2006-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100407698C (zh) | 无线链路控制层的数据传输方法 | |
CN1754335B (zh) | 分组数据通信系统中的流量控制 | |
JP4878391B2 (ja) | 適応的なキュー待ち時間を伴うスケジューリング及びキューマネージメント | |
US7953005B2 (en) | Method and apparatus for controlling the quality of service of voice and data services over variable bandwidth access networks | |
EP2183890B1 (en) | Aggregate data frame generation | |
US8072886B2 (en) | Method and system for transmission control protocol (TCP) traffic smoothing | |
CN102148662B (zh) | 一种数据发送速率的调整方法及装置 | |
RU2004118718A (ru) | Способ обеспечения услуги потоковой передачи видеоданных | |
US7839787B2 (en) | Delay-based overflow routing in communication systems | |
CN104093170A (zh) | 基于tcp的数据传输方法和tcp代理装置 | |
CN108391289B (zh) | 一种拥塞控制方法和基站 | |
JP2004520725A (ja) | サテライトを介するインターネット | |
WO2017114231A1 (zh) | 一种报文发送方法、tcp代理以及tcp客户端 | |
CN100505608C (zh) | 一种适合卫星网络的自适应拥塞控制方法及系统 | |
CN100403747C (zh) | 数据流量控制方法 | |
CN1939005B (zh) | 基于分组的网络中的加速数据传输 | |
CN106993311B (zh) | 基站数据优化传输方法与系统 | |
CN100571192C (zh) | 一种sctp端点控制接收数据块的方法 | |
JP5533270B2 (ja) | ゲートウェイ装置およびゲートウェイ装置におけるパケットバッファ管理方法 | |
JP4227621B2 (ja) | データパケットの伝送方法および送信機 | |
CN117676695A (zh) | Tcp传输方法、装置和系统 | |
WO2013091373A1 (zh) | 鲁棒性头压缩反馈管理方法、装置及解压器 | |
JP2008289080A (ja) | 端末装置、ネットワーク装置およびデータ通信方法 | |
CN101394444A (zh) | 释放呼叫结束后占用的tcp连接的方法、系统及设备 | |
JP5405870B2 (ja) | 通信機器 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091216 Termination date: 20170904 |