CN101248618A - 一种流控制传输协议输出流队列管理和数据发送处理方法 - Google Patents

一种流控制传输协议输出流队列管理和数据发送处理方法 Download PDF

Info

Publication number
CN101248618A
CN101248618A CNA2005800513834A CN200580051383A CN101248618A CN 101248618 A CN101248618 A CN 101248618A CN A2005800513834 A CNA2005800513834 A CN A2005800513834A CN 200580051383 A CN200580051383 A CN 200580051383A CN 101248618 A CN101248618 A CN 101248618A
Authority
CN
China
Prior art keywords
stream
layer
message
queue
point
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
CNA2005800513834A
Other languages
English (en)
Other versions
CN101248618B (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.)
SHANDONG CHENGDA NEW ENERGY TECHNOLOGY Co.,Ltd.
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Publication of CN101248618A publication Critical patent/CN101248618A/zh
Application granted granted Critical
Publication of CN101248618B publication Critical patent/CN101248618B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • H04W72/1263Mapping of traffic onto schedule, e.g. scheduled allocation or multiplexing of flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • H04W28/065Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets

Abstract

本发明公开了一种流控制传输协议输出流队列管理和数据发送处理方法,在SCTP偶联中设置多个输出流队列,SCTP协议层接收到上层用户的ULP数据后,对其进行分片处理,得到消息块;将一整块上层协议数据分成的一个或多个消息块存入同一输出流队列,每个输出流队列占用不同的缓冲区空间;采用轮循的方式,从某一输出流队列中取出由一整块上层协议数据分成的一个或多个消息块后,再切换到下一个输出流队列;然后将取出的消息块封装成流控制传输协议报文发送。本发明方法可以保证IP信令快速、可靠的传输,保证第三代移动通讯系统的稳定性和可靠性。

Description

一种流控制传输协议输出流队列管理和数据发送处理方法 技术领域
本发明涉及一种 SCTP输出流队列管理和数据发送处理方法。 尤其涉及 偶联不同输出流的数据按顺序传输的方法。 . 背景技术
SCTP (Stream Control Transmission Protocol ) 为用于 IP网络的流 控制传输协议(以下简称 SCTP) , 是由 IETF (Internet Engineering Task Force, Internet工程任务组)在原 TCP基础上改进而来的专为信令消息在 IP网络上传输的一种协议,. SCTP是在 IP网络上建立下一代高质量通信和电 子商务应用的关键部分。 '
SCTP位于 3G核心网设备'的传 ir网络层,主要用于在 IP网络中传送 PSTN (public switched telephone network, 公共交换电话网络) 的信令消息 和 IP网内的信令消息, 与其上层用户 ULP (Upper Layer Protocol ) (M3UA, M2UA, M2PA, SUA) 构成 IP.信令网的节点。
. 信令能否可靠, 快速的传输是移动通讯系统性能的关键, 第三代移动通 讯系统也不例外, IP 信令是宽带码分多址系统 (Wide Code . Division . Multiple Acdess, .以下简称 WCDMA) 的可选信令之一, SCTP是 IP信令的承 载, 如何将信令快速可靠的传输到目的信令点是 SCTP需要完成的主要任务, '所以如何充分发挥 SCTP的协议功能, 如何有效地管理队列, 如何高效地处 理数据的收发, 如何发挥其拥塞控制机制的作用关系到 SCTP能否在 WCDMA 系统中快速可靠的传输信令数据, 关系到第三代移动通讯系统的稳定性和可 靠性。 ' · '
· SCTP对 TGP的一项重要的扩展就是单条 SCTP偶联支持多个流, 流和流 之间'相对独立,互不干扰。 SCTP可以保证信令消息的可靠、在流内按序传输, ·'·对于如何实现一个 SCTP偶联不同的输出流的数据按顺序传输,'即保证按 ULP 递交给 SCTP不同输出流的先后顺序将数据发送出去, IETF的标准中并没有 提供解决方法。 - .
· .此外, 在 SCTP输出流队列管理和数据发送 '中, 如何提高数据发送的效 率, 避免某个输出流队列中出现数据拥塞 (即队首拥塞) , 如何提高内存的 利用率和灵活性, 如果在需要时保证不同输出流的 Message块按 ULP递交给 SCTP的顺序传输等, 也是需要关注的问题。 发明内容 ·
本发明所要解决的技术问题是提供一种 SCTP输出流队列管理和数据发 送处理方法, 解决 SCTP偶联不同输出流数据在流内的按顺传输问题。
为解决上述技术问题, 本发明提供了一种流控制传输协议输出流队列管 理和数据发送处理方法, 包括以下步骤: .
(a) 在流控制传输协议偶联中设置多个输出流队列, 流控制传输协议 ' 层接收到上层用户的上层协议数据后,'对其进行分片处理, 得到消息块;
(b) 将一整块上层协议数据分成的一个或多个消息块存入同一输出流 队列, 每个输出流队列占用不同的缓冲区空间;
(c )采用轮循的方式, 从某一输出流队列中取出由一整块上层协议数 据分成的一个或多个消息块后, 再切换到下一个核出 '流队列;
. (d) 将取出的消息块封装成流控制传输协议报文, 发送。 .
进一步地, 上述方法还可具有以下特点: 所述步骤.(a) 迸行分片处理.. 时, 是根据设置的 &径最大传输单元判断是否要对整块上层协议数据分片, , 如需要, 将其分成多个消息块, 否则将其作为一个消息块。 '
. '进一步地, 上述方法还可具有以下特点: 该方法中对输出流队列的缓冲 空间是按照以下步骤进行管理和分配的: .
• (0 ) 将一段连续的内存空间作为一条偶联所有输出流队列的缓冲区,: 大小为这条偶联所肓输出流队列的缓冲区的总和 ·;
. (p) 蒋这段内存分成若干分段, .使用内存地址将空闲的分段连接成一 个链表, '每个内存分段作为该链表中的一个节点;. .
( q) 为消 m块申请内存时, 从所述链表的表头开始取出一个或多个节 点用于存储该块的数据, 然后将取出的这些节点挂入相应的输出流队列, 并 ' 更新所述链表的节点数目, 将表头指向卞一节点; ' ·
(r) 当某一输出流队列释放一个内存分段时, 将其作为一个节点归入 所述链表, 将所述链表的节点数目加一。 · ·
/进一步地, 上述方法还可具有以下特点: 所述分段的长度设为上层协议 数据的平均长度。' . - 进一步地, 上述方法还^ "具有以下特点: 所述流控制传输协议层还实时 统计各个输出流队列实际占用的分段数目, 并与为其分配的分段数目相比 较, 计算得到其存储空间的利用率, 当判断一输出流.队列发生拥塞或拥塞解 除时, 控制传输协议层上报其上层用户, 并告之偶联的标号'以及该偶联的 输出流标号。 .
5 · 进一步地,.上述方法还可具有以下特.点: .所述流控制传输协议层是根据 设定的两个门限来判断输出流队列是否发生拥塞和拥塞是否解除的, 该两个 · · 门限均为表示输出流队列存储空间:利用率的参数, 并是可修改的。 :
• · .迸一步地, 上述方法还可具有以下特点: :当上层用户要求按递交给流控 ·.. 制传输协议层的顺序传输上层协议数据时, 所述步骤 (b) 在将'消息块存入. · 10 某 输出流队列时还对不同上层协议数据分成的消息块按顺序标号, 对同一 ' 上层协议数据分成的多个'消息块则分配相同的标号; 且所述步骤 (c).按以 下步骤从各输出流队列中取出'数据: ·. .· : . ' . · . ,': · + · . ' a) 访问一个 $俞出流 a列时,. '取出该队列中由整块上层协议数据分成 ' 的一个或多个消息块, 然后切换到下一个输出流队列; .
15 · : . (m) 检查当前输出流队列中要取出的消息块的标号是否与前一个已取 出的消息块的标号连续, 如果是, 返回步骤 (m) , 否则, 执行下一步; . .
: (n) 切换到下一个输出流队列, 返回步骤 (m) 。 ' '
. . ' 进一步地, 上述方法还可具有以下特点: .当所述流控制传输协议偶联所 + 有输出流 :队列中的消息块被全部发送 ^后, 把标号重新清零。
20 进一步地, 上述方法还可具 ^以下特点: 所述上层用户通过一个原语来' 指示所述流控制传输协议层是杳需要按递 给该流控制传输协议层的顺序 传输上层协议数据,如果不需要,贝 I」流控制传输协议层不对消息块进行标记,
. 轮循时从各个输出流队列依次取出消息块即可,'如果需要, 则按所述方法对 : '消息块进行标记, 并在轮循时需要按消息块标号的顺序从各个输出.流队列中.
25 取出消息块。 . , . '
. ·' .' · 进一步地, '上述方法还可真有以下特点: '所述步骤(d) 将取出的消息 块封装成流控制传输协议报文.时, '如果上层协议的指示是允许绑定消息块, • 则在满足路径最大传输单元和接收窗口大小.、 发送窗口大小、 等待对端确认 ' 的数据量大小的限制时将多个消息块封装成一个流控制传输协议报文, 如上 30 层协议不允许绑定消息块, 则将一个消息块封装成一个流控制传输协议报文 发送。. ' ; . ' ' . '· · '■. . · . ··■ ■ .
' 进一步地, 上述方法¾可具有以下特点: 所述步骤 (d) 在发送流控制 传输协议报文时采用重传机制 本发明具有以下技术效果:
1、 在一个 SCTP偶联内部设有多个输出流, 为每一个输出流设置一个缓 · 冲队列, '确保流间的数据互不干扰, 信令消息在流内按序传输。 .
. 2、 通过轮循的方式来扫描各个输出流队列来发送数据, 解决了队首拥 塞问题, 避免某一 ί俞出流长时间不被访问到而造成的拥塞现象, 提高数据发
' 送的效率。 ' ·
• . 3、. 提出了一种输出流队刿的缓冲区内存管理方法, '通过该方法可以增 加内存使用的灵活性,提高利用率,并可以实时计算出缓冲区空间的利用率,. • 预知缓冲区拥寨情况, 及时上报 ULP。 , .
• ' . : 4、 SCTP可以根据需要', 提供保证不同输出流之间的数据按 ULP'递交给 ' SGTP的顺序传输的功熊。 ' ::
' · .' 此外,'本发明的方法实现方便可靠, 对本端 IP'网络层的实现方式以及 对端'的 SCTP处理方式没有特殊要求, 通用性强, 效率高, 能够提高第三代. •移动通讯系统, 如 WCDMA通讯系统, 的稳定性和可靠性。. . . 附图概述 . ; ,
' 图 1是本发明实施例 SCTP .的数据发送处理过程的示意图'。
图 2是本发明实施例轮循各个输出流队列发送数.据的流程图。 .
' 图 3 是本发明实施例 SCTP .偶联输出流队列结构的示意图。 . 本发明的最佳实施方式 ·
.下面结合附图和具体实施方式对本发明作进一步详细的说明:
图 1是本发明实施例. SCTP协议层数据发送处理过程的示意图,:包括以 下步骤: . ' ''
• 步 *一,在一个 SCTP偶联中设置多个输出流队列, 接收到上层用户 ULP' (Upper Layer Protocol , '上层协议〉数据后, SCTP协议层对其进行分片处 理, 即根据设置的路径最大传输单元 (PMTU) 判断是否需要分片, 如需要, ' ...将擊块 111^数¾分成多个 Message ±夬 (消息块) , 否则, 将整块 ULP.数据作 为一个 Message块; ' ' ' 步骤二, 将整块 ULP数据分成的 Message块存入多个输出流队列中的一' 个, 每个输出流队列古用不同的缓冲区空间;
- ULP数据存入哪一个输.出流队列根据 ULP,的指示来确定。 这样处理可以 . 确保不同输出流间的数据互不千扰, 信令消息在流内可以保证按序传输。 但 '· , 5 是, 如果各个输出流队列分别占用物理上隔绝的缓冲区空间, 那么就有可能 出现某些输出流队列数据量很小, 缓冲区空间利用率低; 而另一些输'出流队 . 列数据量很大, 缓冲区拥塞的现象。,为了避免这种现象的出现, 同时保证不. 同的输出流亙不影响, 本实施例采用以下方法来完成对多数据的存储:
1 )将一段连续的内存空间作为一条偶联所有输出流队列的缓冲区, 大 10 小为这条 ¾联所有输出流队列缓冲区的总和; ' '
. 2)将这段内存分成若干分段(Segment ) ,'每一段的长度设置为111^ .数 ' . 据的平均长度:, 便用内存地址将空闲的分段连接成一个单向链表, 每个内存 . 分段就是链表中的一个节点; ' '
•:这些分段 作为 Message块的缓冲存储载体, 一个 Message块可能存入 · 15 到一个或多个分段中。将每一段的长度设置为 ULP数据的平均长度, 有利于 · 提高内存的利用率, 但本发明不 限于此.。 . . "
3 ) 为 Message块申请内存时, 从单向链表的表头开始取出一个或多个 • 节点用于存储该 Message块中的数据,然后将这些节点挂入相应的输'出流队 列, :同时更新单向链表的节点数目, 表头指向下一节点; /
20 , 4) 当某个输出流队列释放一个内存分段时, 将其作为一个节点归入单 • 向链表并作为该链表的第一个节点 (也可以作为最后一个节点或中间的节. .. 点, 对此不作限制) , 单向链表的节点数目加一 ;'.· . · . '" '
' 同.时', .实时统计每一个输出流队列所占用的分段数目, 将其实际占用的
:. 分段数目除以为其分配的可以占用的分段数目, 就可以计算出该输出流队列 25 '的缓冲区空间的利用率,'从而提前预知输出流队列中出现的拥塞。本实施例' 中, 当某条输出流队列剩余的缓冲区空间小于等于其总空间的 15 %时,就认 为这^输出流处于拥塞状态, 大于等于其总空间的 40 %,就认为这条输出流 . 的拥塞解除。'当偶联的某一输出.流出现拥塞现象,或者拥塞解除时, SCTP协 议层会上报其上层用户 ULP, 并告之偶联的标号以及该偶联的输出流标号, . 30 由 ULP对其进行处理。拥塞或解除拥塞的门限并不固定为 15 %和 40°/。, 而是 • 可以根据 ULP 用户的需求来动态地修改, 可以通过对设置协议参数 (Se Protocol Parameters ) '原语的扩展来修改这两个参数。 ·' 步骤三, 采用轮循的方式从各个输出流队列中取出 Message块, 在取出' 某个输出流队列中属于整块 ULP数据的 Message块后, 切换到下一个输出流 •队列; .
' 采用轮循的方式来发送输出流队列中的数据, 对于各个输出.流来说, 机 5 会是均等的, 可以很好地解决队首拥塞问题, 避免某一输出流队列拥塞而造 . 成的迟延。 但¾, 有可能出现 ULP先发到 SCTP输出流 A上的 Message块 Ml .比 ULP后发到 SCTP输出流 B上的 Message块 M2晚发送出去, 这并不与协议 . 獰神相违背, 协议只是规定了流内数据可以按序传输。 对于不同输出流的 Message块按 ULP递交给 SCTP.的顺序传输, IETF的标准中没有要求也没有 . 0 '提供解决方法。.. + ' ■ · . .
. 但是, 对于 SCTP 的上层应用来讲, 有的时候它需要偁联不周输出流之. ' ' .. ·' 伺的数据按 ULP递交合 SCTP的顺序传输的功能。 例如: 13UA (MTP3用户适 : 应层) 的 ASP ¾活的时候, 服务器端的 M3UA收到对端发来的 Active后, 会 · ' 进入激活状态,同时给对端回复一个. ActiveAck,随后给对端发送一个 DATA, 5 ' 假定 ActiveAck发送到 SCTP的 0号输出流上, DATA发送到 SCTP的 1号输出 '流上, 在这种情况下, 假如 DATA比. ActiveAck先到客户端, 那么客户端的 ' M A会认为 DATA ¾错误的消息。这个时候難需要 SCTP提供保证不同输出流 ' 之间的数据按 ULP递交给 SCTTP的顺序传输的功能。 '
'. . ' 为了实现这个功能, ·本实施 ί列在发送数据的时候依然采用轮循各个输出 ·0 流队列的方式, 不过要按 Message块的标号从小到大的顺序发送。 具体的步 ·. . 骤如下: ' ' .
.a) 将 Message块存入某一输出流队列时, 按顺序为 . Me.ssage块分配标 号, 标号从零开始; 只有对整块. '.ULP数据分成的若干 Message块才分配相同 的标号; . ' · ,' -5 ' b) '访向一个输出流队列时, 取出该队列中整块. U 数据分成的一个或 ' . 多个 Message块, 然后切换到下一个输出流队列;.
c) 检查当前输出流队列中要取出的 Message块的标号是否与前一个已 + • ' 取出的 Message块的标号相连续, 如果是,.返回步骤 b) ', 否则执行下一步;
• d) 切换到下一个输出流队列, 返'回步骤 c)。:
0 . 当 SCTP偶联所有输出流队列中的 Message.块被全部发送完后, 要把标
号重新清零。 ,
这个功能作为一个可选功能来实现。 当 SCTP的上层应用需要 SCTP提供 ' 该功能时,通过一个原语给该偶联发出一个 enableSCTPStrmOrderSnd指示, . 这样这条偶联将采用不同输出流之间的数据按 ULP递交给 SCTP的顺序传输 + 的方式; 当 SCTP的上层应用不再需要 SCTP提供该功能的时候也会通过这个 . 原语来给这条偶联发出一个 disableSCTPStrmOrderSnd指示,这样这条偶联' -5 .将恢复到原来的传输方式。 上述指示可以通过增加一个 ULP到 SCTP的原语' 来实现, 这个原语将作为保证 SCTP偶联不同输出流的数据按顺序传输的一 个开关。 . - . : ' ' .
' 步骤四, 将取出的 Message块封装成 SCTP报文, 根据 ULP的指示决定'0 是否在一个 SCTP报文中绑定多个 Message .块; . ·
这一过程与轮循各个输:出流队列取出. Message块的过程是联系在一起 ' 的, .如图 3所示, 包街以下步骤: . '· -
... :步骤 10, '从当前的输出流队列中取出一个 Message块,将其封装成一个 '数据区块 (Data Chunk)
5 '歩骧 20,根据 ULP的指示判断是否允许将多个 Message块绑定,如果允 ' 许, 执行'下一步,· . .否则, 执行步骤 80;
. 步骤 30,判断该 Message块是否是未分片的 ULP数据或 ULP数据分片的 ' '最后一个 Message块, 如果是, 执行下一步, 否则, 执行步骤 50; ·
步骤 40, 切换到下一输出流队列; .'
0 ·' 骤50,从当前的输出流队列取出新.的 Message块并封装成 Data Chunk;
·· '步骤 '60, 判断将新的 Message 块绑定后是否满足 MaxEmitSize 和 MaxPacketSize '的限制', 如果满足, 执行下一步, 否则, 执行步骤 100;
.其中,. MaxPacketSize为路径最大传输单元 (PMTU) , MaxEmitSize为: . .Rwnd 和 ( Cwnd - utStandingSize + PMTU - 1 ). 中的最小值; ' Rwnd5 为接收窗口'的大小; Cwnd为¾:送窗口的大小; OutStandingSize为等待对端 . 确认的数据量的大'小。
' '歩骤 70,.从当前的输出流队列中取出一个 Message ±夬, 将其封装成一个. DataChunk, 返回步骤 30 ;' . '
步骤 8.0,判断该 Message块是否未分片的 ULP数据或 ULP数椐分成的最 后一个 Message块, 如果是,. 执行下一步, '否'则., '执行步骤 100; '
步骤 90, 切换到下一条输出流队列; - 步骤 100, 将当前的绑定在一起的 Data Chunk (有可能只有一个 Data Chunk)封装成一个 SCTP报文并发送出去, 返回步骤 10开始下一条 S0TP报 文的封装过程。 ■ . · . . .
图 2中的 SCTP Controller是控制 Control Chunk (控制区块) 发送的, Control Chunk Queue就是 Control Chunk的发送队歹!]。 步骤五, 发送封装好的 SCTP报文。
为了保证数据传 IT的安全可靠, 需要在两端设备的 SCTP协议层之间建 立数据的重传机制。 图 2为 SCTP偶联输出流队列绮构图, 在 SCTP偶联的发 送过程中,'除了为偶联的每一个输出流设置一个输出流队列外、 还设置了一 个待应答 (Outs'tanding) 队列和一个重传队列。 其中, 输出流队列中存放 还未发送过的新数据, 待应答队列中存放已发送但还未收到应答 (SACK) 的 数据, 重传队列中存放对方未收到需要重传的数据, 这些队列都是与数据发 送相关的队列。.
' 在发送 ¾程中还要遵循以下原则:
第一,如果到某个传送地址上等待证实的数据(字节数)大于或等于 Cwnd -, '则发送方不能再向此地址发送新的数据;
第二, 在任何时候, 当对端的 Rwnd指示对 ¾缓冲区没有空间时, 数据 发送方都不能再发送任何斬数据 (即 Rwnd=0 ) 。 如果 Cwnd允许, 不管 Rwid 是多少 (包括为 0) , 数据发送方总是可以有一个 Message块正在发送给接 第三, 当允许发送方传递数据时, 在发送新的 Message块前, 发送方必 须要先发送那些被标记为重传的 Message块.(由当前的 Cwnd来限制) , 然 后发送方可以根据原则 a)和原则 b)允许的数据量来发送新的 Message块。
详细内容可参照现有技术关于重传机制的内容。 工业实用性
,本发明可以应用于第三代移动通信系统, 如 WCDMA系统, 实现 SCTP输 出流队列管理和数据发送处理。

Claims (3)

  1. 权 利 要 求 书 一一种种流流控控制制传传输输协协议议输输出出流流队队列列管管理理和和数数据据发发送送处处理理方方法法,, 包包括括以以 ' ' 下下步步骤骤:: .. ·· ..
    ((aa)) 在在流流控控制制传传输输协协议议偶偶联联中中设设置置多多个个输输出出流流队队列列,, 流流控控制制传传输输协协议议 55 层层接接收收到到上上层层用用户户的的上上层层协协议议数数据据后后,, 对对其其进进行行分分片片处处理理,, 得得到到消消息息块块;;
    •• .. ((bb)) 将将一一整整块块上上层层协协议议数数据据分分成成的的一一个个或或多多个个消消息息块块存存入入同同一一输输出出流流 .. 队队列列,, 每每个个输输出出流流..队队列列占占用用不不同同的的缓缓冲冲区区空空间间;; '' ·· '' ..
    ((cc))::釆釆用用轮轮循循的的方方式式,, 从从某某一一输输出出流流..队队列列中中取取出出由由 整整块块上上层层协协议议数数 据据分分成成的的一一个个或或多多个个消消息息块块后后..,, ''再再切切换换到到下下一一个个输输出出流流队队列列;; :: ''
    1100 '' .. (( dd ))将将取取出出的的消消息息块块封封装装成成流流控控制制传传输输协协 ¾¾报报文文,, 发发送送。。
    22、、 如如权权利利要要求求 ίί所所述述的的方方法法,, 其其特特征征在在于于,, 所所述述步步骤骤 ((aa))进进行行分分片片处处'' 琿琿时时,,''是是根根据据设设置置的的路路 最最大大传传..输输单单元元判判断断是是否否要要对对整整块块 ±±层层协协议议数数据据分分.. 片片,, 如如需需要要,,''将将其其分分成成多多个个消消息息块块,, 否否则则将将其其作作为为一一个个消消息息块块。。 ..
    ·· 33、、 如如^^利利要要求求 11所所述述的的方方法法,, 其其特特征征在在于于,, ''该该方方法法中中对对输输出出流流队队列列的的'' 1155 缓缓冲冲空空间间是是按按照照以以下下步步骤骤进进行行管管 ¾¾和和分分配配的的:: :: ''
    .. ((00)) 将将一一段段连连续续的的内内存存空空间间作作为为一一条条偶偶联联所所有有输输出出流流队队列列的的缓缓冲冲区区,, 大大小小为为这这条条偶偶联联所所有有输输出出流流队队列列的的缓缓冲冲区区的的总总和和;; .. ..
    ((PP )) 将将这这段段内内存存分分成成若若于于分分段段,, 使使用用内内存存地地址址将将空空闲闲的的分分段段连连接接成成一一 个个链链表表,, 每每个个内内存存分分段段作作为为该该链链表表中中的的一一个个节节点点;;
    2200 CCqq)) ..为为消消息息块块申申请请内内存存时时,, 从从所所述述链链表表的的表表头头开开始始取取出出一一个个或或多多个个节节
    ,, 点点用用于于存存储储该该块块的的 ss据据,, 然然后后将将取取出出的的这这些些节节点点挂挂入入相相应应''的的输输出出流流..队队列列,, 并并 更更新新所所述述链链表表的的节节点点数数目目,, 将将表表头头指指向向下下一一节节点点;; :: .. .. ·· ;;
    ···· ((rr)) 当当某某一一输输出出流流队队列列獰獰放放一一个个内内存存分分段段时时,, 将将其其作作为为一一个个节节点点归归入入 所所述述链链表表,, 将将所所述述链链表表的的节节点点数数..目目加加一一。。 ::
    22..55 ,, 其其特特征征在在亍亍,, 所所述述分分段段的的长长度度设设为为上上层层
  2. 55、、 如如权权利利要要求求 33所所述述的的方方法法,, 其其特特征征在在于于,, ··所所述述流流控控制制传传输输协协议议层层还还 实时统计各个输出流队列实际占用的分段数目, 并与为其分配的分段数目相 比较, 计算得到其存储空间的利用率, 当判断一输出流队列发生拥塞或拥塞 解除时, 流控制传输协议层上报其上层用户, 并告'之偶联的标号以及该偶联 的输出流标号。
  3. 6、 如权利要求 5所述的方法, 其特征在于, 所述流控制传输协议层是 根据设定的两个门限来判断输出流队列是否发生拥塞和拥塞是否解除的, 该 两个门限均为表示输出流队列存储空间利用率的参数, 并是可修改的。
    • 7、 如权利要求 1所述的方法, 其特征在于, 当上层用户要求按递交给 • 流控制传输协议层的顺序传输上层协议数据时, 所述步骤 (b ).在将消息块 存入某一输出流队列时还对不同上层协议数据分成的消息块按顺序标号, '对 同一上层协议数据分成的多个消息块则分配相同的标.号; 且所述步骤 (C.) 按以下步骤从各输出流队列中取出数据: ·.·
    ( 1 ) 访问一个输出流队列时, 取出该队列中由整块上层协议数据分成 的一个或多个消息块, 然后切换到下一个输出流队列;
    (m) 检查当前输出流队列中要取出的消息块的标号是否与前一个已取. 出的消息块的标号连续, 如果是, 返回步骤 (m) , 否则, 执行下一步;
    (n) 切换到下一个输出流队列, 返回步骤 (m) 。 .
    8、 如权利要求 7所述的方法, 其特征在于, 当所述流控制传输协议偶. 联所有输出流队列中的消息块被全部发送完后, .把标号重新清零。
    . . 9、 '如权利要求 7.所述的方法, ·其特征在于, 所述上层用户通过一个原 语来指示所述流控制传输协议层是否需要按递交给该流控制传输协议层的 顺序传输上层协议数据, 如果不需要, 则流控制传输协议层不对消息块进行. 标记, 轮循时从各个输出流队列依次取出消息块即可, 如果需要,'则按所述 .方法对消息块进行标记, 并在轮循时需要按消息块标号的顺序从各个输出流 队列中取出消息块。
    • 10、 如权利要求 1所述的方法, 其特征在于, '所述步骤 (d) 将取出的 消息块封装成流控制传输协 报文时, 如果上层协议的指示是允许绑定消息. 块, 则在满足路径最大传输单元和接收窗口大小、 发送窗口大小、 等待对端: 确认的数据量大小的限制时将多个消息块封装成一个流控制传输协议报文, 如上层协议不允许绑定消息块, 则'将一个消息块封装成一个流控制传输协议 报文。 ' . '
    11、 '如权利要求 1所述的方法, 其特征在于, 所述歩骤 (d) 在发送 控制传输协 i义报文对采用重传机制。 '
CN2005800513834A 2005-12-07 2005-12-07 一种流控制传输协议输出流队列管理和数据发送处理方法 Expired - Fee Related CN101248618B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2005/002114 WO2007065296A1 (fr) 2005-12-07 2005-12-07 Procede pour la gestion de file d'attente flux de sortie sctp et de mise en oeuvre de transmission de donnees

Publications (2)

Publication Number Publication Date
CN101248618A true CN101248618A (zh) 2008-08-20
CN101248618B CN101248618B (zh) 2010-11-24

Family

ID=38122454

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800513834A Expired - Fee Related CN101248618B (zh) 2005-12-07 2005-12-07 一种流控制传输协议输出流队列管理和数据发送处理方法

Country Status (2)

Country Link
CN (1) CN101248618B (zh)
WO (1) WO2007065296A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651687B (zh) * 2009-09-14 2012-07-04 华为技术有限公司 一种流控传输协议数据包的组包方法、发送方法及装置
CN111459417A (zh) * 2020-04-26 2020-07-28 中国人民解放军国防科技大学 一种面向NVMeoF存储网络的无锁传输方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546626B (zh) * 2011-12-31 2014-11-05 华为技术有限公司 一种数据处理方法、装置及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6944171B2 (en) * 2001-03-12 2005-09-13 Switchcore, Ab Scheduler method and device in a switch
CN1248465C (zh) * 2002-11-01 2006-03-29 华为技术有限公司 网络通信中数据发送/接收缓冲区的管理方法
CN100417156C (zh) * 2003-07-16 2008-09-03 中兴通讯股份有限公司 一种流控传输协议中数据传输实现方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651687B (zh) * 2009-09-14 2012-07-04 华为技术有限公司 一种流控传输协议数据包的组包方法、发送方法及装置
CN111459417A (zh) * 2020-04-26 2020-07-28 中国人民解放军国防科技大学 一种面向NVMeoF存储网络的无锁传输方法及系统
CN111459417B (zh) * 2020-04-26 2023-08-18 中国人民解放军国防科技大学 一种面向NVMeoF存储网络的无锁传输方法及系统

Also Published As

Publication number Publication date
WO2007065296A1 (fr) 2007-06-14
CN101248618B (zh) 2010-11-24

Similar Documents

Publication Publication Date Title
US5822523A (en) Server-group messaging system for interactive applications
CN108881008A (zh) 一种数据传输的方法、装置和系统
CN100476766C (zh) 通过网络传输消息的方法
CN100370791C (zh) 数据传输的方法、装置及系统
CN100531038C (zh) 实现分布式系统板间通信的系统和方法
CN103491065A (zh) 一种透明代理及其实现方法
EP1779606A1 (en) System and method for higher throughput through a transportation network
CN108023758A (zh) 一种混合接入网络中处理报文的方法及网络设备
CN103731409B (zh) 用于具有tcp加速的嵌入式汽车采集设备的分布式测量装置
CN1842052A (zh) 无线链路控制层的数据传输方法
CN104852855B (zh) 拥塞控制方法、装置及设备
CN1649328A (zh) 互联网协议包的多个复本的传播
EP1104141A2 (en) System for generating composite packets
CN109951260A (zh) 一种数据包发送方法及相关设备
JP2009518760A (ja) デジタル・コンテンツの伝送のためのサービス品質
CN110120854A (zh) 传输数据的方法和装置
CN102315918B (zh) 一种tcp连接与sctp连接互通的方法及装置
CN103609063B (zh) 协议无关组播最后一跳路由器发现的方法及设备
CN101064667A (zh) 一种监测与调整通用路由封装隧道状态的方法
CN104683228B (zh) 一种基于fpga的数字交换机媒体网关实现方法
CN107508828A (zh) 一种超远程数据交互系统及方法
CN100417156C (zh) 一种流控传输协议中数据传输实现方法及系统
CN101248618A (zh) 一种流控制传输协议输出流队列管理和数据发送处理方法
CN101120545A (zh) 用于处理多播消息的方法和节点
CN107231316A (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
TR01 Transfer of patent right

Effective date of registration: 20201216

Address after: 256500 Industrial Park, zhaihao village, Hubin Town, Boxing County, Binzhou City, Shandong Province

Patentee after: SHANDONG CHENGDA NEW ENERGY TECHNOLOGY Co.,Ltd.

Address before: 518057 Zhongxing building, science and technology south road, Nanshan District hi tech Industrial Park, Guangdong, Shenzhen

Patentee before: ZTE Corp.

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

Granted publication date: 20101124

Termination date: 20201207

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