CN1744564A - 一种sctp端点控制接收数据块的方法 - Google Patents

一种sctp端点控制接收数据块的方法 Download PDF

Info

Publication number
CN1744564A
CN1744564A CN200410079044.4A CN200410079044A CN1744564A CN 1744564 A CN1744564 A CN 1744564A CN 200410079044 A CN200410079044 A CN 200410079044A CN 1744564 A CN1744564 A CN 1744564A
Authority
CN
China
Prior art keywords
data block
reception
buffering area
receives
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.)
Granted
Application number
CN200410079044.4A
Other languages
English (en)
Other versions
CN100571192C (zh
Inventor
汪碧海
叶玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN200410079044.4A priority Critical patent/CN100571192C/zh
Publication of CN1744564A publication Critical patent/CN1744564A/zh
Application granted granted Critical
Publication of CN100571192C publication Critical patent/CN100571192C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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(流控制传输协议)位于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端点接收的数据块,并将该数据块存储至所述SCTP端点的接收缓冲区中。
所述步骤a包括:
根据需要静态设置SCTP端点接收缓冲区接收数据块的个数。
所述步骤a包括:
根据需要动态设置SCTP端点接收缓冲区接收数据块的个数。
所述SCTP端点接收缓冲区为:具有预定存储空间的接收缓冲区。
所述步骤a包括:
设置具有预定存储空间的接收缓冲区接收数据块的个数为1。
所述步骤a包括:
设置具有预定存储空间的接收缓冲区接收数据块的个数为:所述预定存储空间与最大传输单元的整数商。
所述步骤a包括:
定时设置具有预定存储空间的接收缓冲区接收数据块的个数为:所述预定存储空间与预定间隔内所述SCTP端点接收的数据块的平均长度的整数商。
所述步骤a包括:
静态设置具有预定存储空间的接收缓冲区接收数据块的个数为:所述预定存储空间与最大传输单元的整数商;
定时将具有预定存储空间的接收缓冲区接收数据块的个数更新设置为:所述预定存储空间与预定间隔内所述SCTP端点接收的数据块的平均长度的整数商。
所述步骤b包括:
当所述SCTP端点接收数据时,判断所述接收的数据块的传输序列号是否小于所述设置的接收缓冲区接收数据块的个数与所述当前传输序列号之和;
如果小于,确定所述接收的数据块可以存储至所述接收缓冲区中,并将其存储至所述接收缓冲区中;
如果不小于,确定所述接收的数据块不可以存储至所述接收缓冲区中,并将其丢弃。
通过上述技术方案的描述可明显得知,本发明通过设置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端点接收的数据块,并将该数据块存储至所述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包括:
当所述SCTP端点接收数据时,判断所述接收的数据块的传输序列号是否小于所述设置的接收缓冲区接收数据块的个数与所述当前传输序列号之和;
如果小于,确定所述接收的数据块可以存储至所述接收缓冲区中,并将其存储至所述接收缓冲区中;
如果不小于,确定所述接收的数据块不可以存储至所述接收缓冲区中,并将其丢弃。
CN200410079044.4A 2004-09-04 2004-09-04 一种sctp端点控制接收数据块的方法 Expired - Fee Related CN100571192C (zh)

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 true CN1744564A (zh) 2006-03-08
CN100571192C 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2455782C1 (ru) * 2008-04-17 2012-07-10 ЗетТиИ Корпорейшн Способ изменения состояния протокола передачи с управлением потоком
RU2467492C2 (ru) * 2005-11-02 2012-11-20 Эл Джи Электроникс Инк. Способ и аппаратура для уменьшения непроизводительных затрат сигнальных сообщений

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2467492C2 (ru) * 2005-11-02 2012-11-20 Эл Джи Электроникс Инк. Способ и аппаратура для уменьшения непроизводительных затрат сигнальных сообщений
RU2455782C1 (ru) * 2008-04-17 2012-07-10 ЗетТиИ Корпорейшн Способ изменения состояния протокола передачи с управлением потоком

Also Published As

Publication number Publication date
CN100571192C (zh) 2009-12-16

Similar Documents

Publication Publication Date Title
CN101616077B (zh) 互联网大文件的快速传输方法
CN1290286C (zh) 自动重复请求协议
CN1227854C (zh) 用于蜂窝电信的链路层确认和重发
CN1214589C (zh) 用数据通信协议控制层间数据流的通信方法和终端
CN1759541A (zh) 改变延迟和带宽条件下的无线链路上的视频分组
US8306062B1 (en) Method and apparatus of adaptive large receive offload
CN1613233A (zh) 用于重传的方法和系统
CN1754335A (zh) 分组数据通信系统中的流量控制
WO2005022845A1 (en) Rate based congestion control for packet networks
CN1842052A (zh) 无线链路控制层的数据传输方法
US20060104201A1 (en) Unit and a method for handling a data object
CN1881916A (zh) 一种在通信设备间实现通信的方法及装置
CN1812313A (zh) 无线链路控制层缓冲区溢出的控制方法
EP1518326B1 (en) Method for iterative decoder scheduling
CN1889414A (zh) 一种基于丢失pdu检测机制发送状态pdu的方法
CN101039273A (zh) 通信设备、传输控制方法、和传输控制程序
CN100505608C (zh) 一种适合卫星网络的自适应拥塞控制方法及系统
CN1691590A (zh) 无线链路数据传输中接收端发送窗口大小调整信息的方法
CN1633796A (zh) 针对广播或无线网络修改tcp/ip
CN1282343C (zh) 通信系统及方法
CN1531276A (zh) 用于消除ip语音数据抖动的自适应抖动缓存实现方法
CN1494277A (zh) 网络通信中数据发送/接收缓冲区的管理方法
CN1391374A (zh) 在发射机端具有定时控制的选择性分组重传
CN1842080A (zh) 一种调整传输控制协议接收窗口的方法
CN1921364A (zh) 基于消息的可靠传输层的并包发送和自适应窗口缩放方法

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: 20091216

Termination date: 20170904

CF01 Termination of patent right due to non-payment of annual fee