专利名称:一种提高sscop发送数据性能的方法及其系统的制作方法
技术领域:
本发明涉及ATM (Asynchronous Transfer Mode,异步传输模式)传输方 法与系统,特别是涉及一种在采用SSCOP协议在AAL5( ATM Adaptation Layer Type 5, ATM适配层类型5)上进行数据传输时提高SSCOP发送数据性能的 方法及其系统。
背景技术:
SSCOP (Service Specific Connection Oriented Protocol,业务特定面向连接 协议)发送端发送数据是受限于发送窗口。而发送端发送窗口的大小是由接收 端通知进行变更的。目前SSCOP的发送端有3种方式来更新本端的发送窗口 大小。
1) SSCOP在发送数据过程中,会在定时器超时时周期性地发送POLL (状 态请求)数据包査询对端接收数据的情况,对端在收到POLL数据包后,会回 应STAT (请求状态响应)数据包,由于STAT数据包中带有接收端的接收窗 口大小,而该窗口也就是发送端的发送窗口大小。故可使得POLL数据包的发 送端更新数据发送窗口,从而推动数据发送窗口的移动。该方法由数据发送端 定时器驱动;
2) SSCOP发送端,在发送一定数量的SD (Sequence Data,顺序数据) 后,此时方法l)中的定时器还没有到时,会主动发送一个POLL数据包到接 收端,对数据接收情况进行査询;接收到POLL数据包的接收端回应STAT, 从而推动发送端发送窗口的移动。该方法由发送一定数量的SD间隔驱动;
3) 另外在链路有数据丢包情况时,也就是由于链路出现丢包,造成接收 端收到非连续序号的SD,此时,接收端会将本端的数据接收情况通过USTAT
(非请求状态响扭)主动通知发送端,由于USTAT数据包中带有接收端的接 收窗口信息,故也会推动发送端窗口的移动。该方法是链路传输异常导致的接 收端收到非连续序号SD后主动上报数据接收情况。但是,方法l)中定时器和方法2)中的数据包数并不能精确地反映出链 路的收发数据情况。可能会由于用户配置的原因导致定时器过大或者设置的触
发POLL査询的数据包数目过大,从而导致发送端数据已经发送到了最大窗口
边界,此时接收端的窗口可能事实上已经扩大,可以接受新的数据了,但由于
发送端没有发送POLL数据包进行对接收端窗口信息的査询,导致接收端不能 及时将接收窗口的变更通过STAT数据包告知发送端,故无法推动发送端发送 窗口的扩大。
此时,就会使得SSCOP数据的发送端在一段时间不能进行数据发送,而 事实上链路并没有数据发送,从而造成带宽的浪费。如果SSCOP的应用层在 这段时间一直发送数据,由于这部分数据都堆积在发送端的发送队列中,很可 能导致发送端的SSCOP发送缓冲区溢出。
发明内容
本发明所要解决的技术问题在于提供一种提高SSCOP发送数据性能的方
法及其系统,用于解决发送端由于更新发送窗口不及时导致的发送端等待发送 的数据不能及时发送而造成带宽浪费的问题。
为了实现上述目的,本发明提供了一种提高SSCOP发送数据性能的方法,
其特征在于,该方法包括
步骤一,通过SSCOP协议建立数据发送端与数据接收端之间的数据传输 链路;
步骤二,所述数据发送端向所述数据接收端发送数据且当发送窗口大小已 达到所述数据接收端的最大发送窗口边界时,进入探测所述数据接收端窗口状 态的阶段,并在该阶段设置的POLL定时器时长内向所述数据接收端发送状态 请求报文;及
步骤三,所述数据接收端接收所述状态请求报文,并返回响应信息至所述 数据发送端,所述数据发送端根据所述响应信息将数据发送至所述数据接收 端。
所述的提高SSCOP发送数据性能的方法,其中,所述步骤一、二中,进
一步包括所述数据发送端根据接收的发送数据请求将请求发送的数据加入发
送队列的步骤。
所述的提高SSCOP发送数据性能的方法,其中,所述步骤二中,进一步 包括所述数据发送端设置SSCOP进入探测所述数据接收端窗口状态的标志 的步骤。
所述的提高SSCOP发送数据性能的方法,其中,所述步骤二中,进一步
包括当所述发送窗口大小未达到所述数据接收端的最大发送窗口边界时,所 述数据发送端直接将数据发送至所述数据接收端的步骤。
所述的提高SSCOP发送数据性能的方法,其中,所述步骤二中,进一歩 包括在设置POLL定时器时长之前,所述数据发送端判断所述POLL定时器 时长是否为最小值的歩骤,若为最小值,则直接向所述数据接收端发送状态请 求报文,否则将所述POLL定时器时长设置为所述POLL定时器时长的一半。
所述的提高SSCOP发送数据性能的方法,其中,所述歩骤二中,进一步 包括在该阶段对所述POLL定时器时长进行设置后,重启POLL定时器并向 所述数据接收端发送状态请求报文的歩骤。
所述的提高SSCOP发送数据性能的方法,其中,所述步骤三中,进一步 包括所述数据发送端判断在所述POLL定时器时长内是否收到所述响应信息 的歩骤,若收到,则退出所述阶段,将所述POLL定时器时长设置为进入所述 阶段前的POLL定时器时长;否则进一步判断所述POLL定时器时长是否为最 小值。
所述的提高SSCOP发送数据性能的方法,其中,所述步骤三中,进一步 包括当退出所述阶段时,所述数据发送端清除SSCOP进入探测所述数据接 收端窗口状态的标志的步骤。
所述的提高SSCOP发送数据性能的方法,其中,所述步骤三中,进一步 包括所述数据发送端根据所述响应信息包含的所述数据接收端的数据接收情 况和接收窗口信息更新发送窗口信息,并根据所述发送窗口将数据发送至所述 数据接收端的步骤。
为了实现上述目的,本发明提供了一种提高SSCOP发送数据性能的系统, 包括数据发送端、数据接收端,其特征在于-
所述数据发送端与所述数据接收端之间通过SSCOP协议进行数据传输;
所述数据发送端向所述数据接收端发送数据且当发送窗口大小已达到所 述数据接收端的最大发送窗口边界时,进入探测所述数据接收端窗口状态的阶
段,在该阶段设置POLL定时器时长,并向所述数据接收端发送状态请求报文;
所述数据接收端接收所述状态请求报文,并返回响应信息至所述数据发送 端,所述数据发送端根据所述响应信息将数据发送至所述数据接收端。
所述的提高SSCOP发送数据性能的系统,其中,所述数据发送端根据所
述响应信息包含的所述数据接收端的数据接收情况和接收窗口信息更新发送 窗口信息,并根据所述发送窗口将数据发送至所述数据接收端。
所述的提高SSCOP发送数据性能的系统,其中,所述数据发送端还包括 SSCOP协议实体,用于实现与所述数据接收端的数据传输。
本发明的有益技术效果
相比于现有技术,采用本发明对于接收端可以接收数据,同时还可以避免
发送端由于更新发送窗口不及时导致的SSCOP发送端有数据等待发送而并没 有发送窗口可供数据发送的情况出现,从而将接收端接收窗口的更新尽快地反 映到数据的发送端,最终提高了链路的数据传输能力。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
图1是本发明提高SSCOP发送数据性能的方法流程示意图2是本发明网元1 SSCOP协议实体收到应用层的数据发送请求时的处 理流程示意图3是本发明网元1在收到STAT或USTAT时的处理流程示意图; 图4是本发明网元1在POLL定时器超时时的处理流程示意图; 图5是本发明的提高SSCOP发送数据性能的系统结构图。
具体实施例方式
下面结合附图对本方案的具体实施方式
作进一步的详细描述。
图1是本发明提高SSCOP发送数据性能的方法流程示意图,该流程具体
包括如下步骤
步骤100,设置两个网元分别为网元1和网元2,并利用SSCOP协议进行 数据传输;
步骤101,网元1的SSCOP协议实体收到应用层的发送数据请求,而后
将请求发送的数据加入发送队列;
步骤102, SSCOP协议实体检查发送窗口大小,判断发送窗口大小是否已 经达到接收端给出的最大发送窗口边界,如果已经达到,则转入步骤103;否
则直接进行数据发送,并转入步骤110;
步骤103,进入快速探测对端窗口状态的阶段;
步骤104,判断POLL定时器时长是否已经为最小值,如果已经为最小值, 则不再对POLL定时器时长进行减小,转入步骤105;否则在该发送窗口下, 先将POLL定时器时长减小为原来定时器时长的一半,转入步骤105;
该步骤中,不限于将POLL定时器时长减小为原来定时器时长的一半一种 设置方式。
步骤105,重启动POLL定时器;
步骤106,发送POLL报文到对端;
步骤107,判断在POLL定时器到时之内是否收到对端的STAT或USTAT, 如果收到,则转入歩骤108,否则转到104继续执行;
步骤108,退出快速探测对端窗口的阶段,恢复POLL定时器时长为进入 该阶段前的值(初始值);
步骤109,网元1根据接收到的网元2的窗口信息,更新本地的发送窗口 f曰息;
步骤IIO,结束。
这样,如果网元2接收窗口已经扩大,那么就能通过该机制快速地通知数 据发送端网元l,从而网元1的数据可以尽快得到发送,从而提高发送性能。
如图2所示,描述了网元1的SSCOP协议实体在收到应用层的发送数据 请求时,根据当前发送窗口情况进行相应处理的处理流程,该处理流程中,网 元l是数据发送端、网元2是数据接收端,网元l与网元2利用SSCOP协议 进行数据传输,具体步骤如下
步骤200,开始;
步骤201,网元1的SSCOP协议实体接收应用层的发送数据请求; 步骤202;在收到应用层发送数据请求后,将请求发送的数据加入SSCOP 协议实体的发送队列中;
步骤203, SSCOP协议实体检査当前发送窗口大小,判断当前发送窗口是
否允许发送数据,如果当前发送数据的序号(顺序数据的序号)还没有达到发
送窗口的最大边界,即当前发送窗口大小未达到网元2给出的最大发送窗口边
界,则进行数据发送,并转入步骤208;否则转入步骤204;
步骤204,进入快速进行对端窗口状态的探测阶段,在该探测阶段,首先 设置SSCOP进入快速探测对端窗口状态的标志,用于标识此时SSCOP在进行 快速探测对端窗口;
步骤205,判断POLL定时器时长是否已经为最小值,如果已经为最小值, 则不再对POLL定时器时长进行减小,转入步骤206;否则对POLL定时器时 长进行减小,在当前发送窗口下,将POLL定时器时长减少为原来定时器时长 的一半,并转入步骤206;
步骤206,重启动POLL定时器;
步骤207,发送POLL报文到网元2,网元2在收到网元1发送的POLL 后,按照Q.2110协议进行相应的处理; 歩骤208,结束。
如图3所示,描述了网元1在快速探测对端窗口状态阶段收到网元2的 STAT或USTAT的处理流程,该处理流程中,网元1是数据发送端、网元2 是数据接收端,网元l与网元2利用SSCOP协议进行数据传输,具体步骤如 下
步骤300,开始;
步骤301,接收网元2的STAT或USTAT;
步骤302,清除SSCOP进入快速探测对端窗口状态的标志,退出快速探
测对端窗口的阶段;
步骤303,重新设置POLL定时器时长为初始值,即恢复POLL定时器时
长为进入快速探测对端窗口阶段前的值;
步骤304,根据/按照STAT或USTAT中网元2的接收窗口大小信息更新 本地网元1的发送窗口大小信息;
步骤305,根据STAT或USTAT的其他信息,并按照Q.2110进行相关流 程处理;
步骤306,结束。
该处理流程中,当网元1收到网元2的STAT或USTAT时,也就结束了 网元1的快速探测对端窗口状态的阶段。
通过该处理流程,如果网元2的接收窗口已经扩大,那么就能通过该机制 快速地通知网元l,从而网元l的数据可以尽快得到发送,有助于提高数据发 送性能。
如图4所示,描述了网元l在POLL定时器超时时的处理流程,该处理流 程中,网元1是数据发送端、网元2是数据接收端,网元1与网元2利用SSCOP 协议进行数据传输,具体步骤如下
歩骤400,开始;
步骤401,接收定时器POLL超时事件;
步骤402,判断是否已设置SSCOP快速探测对端窗口状态的标志,即是 否处于快速探测对端窗口状态的阶段,如果已经设置SSCOP快速探测对端窗 口状态的标志,则转入步骤403;否则按照Q.2110协议进行相应的处理并转 入步骤406;
歩骤403,判断POLL定时器时长是否已经为最小值,如果已经为最小倌, 则不再对POLL定时器时长进行减小,转入步骤404;否则在可以继续减小 POLL定时器时长的情况下,继续减小POLL定时器时长,将POLL定时器时 长减少为原来定时器时长的一半,并转入步骤404;
歩骤404,重启动POLL定时器;
步骤405,发送POLL报文到网元2,并继续进行对端窗口状态的探测; 步骤406,结束。
如图5所示,描述了本发明的提高SSCOP发送数据性能的系统结构图, 该系统l包括网元110及网元2 20,网元1 10作为数据发送端、网元2 20 作为数据接收端,两者之间利用SSCOP协议进行数据传输;网元1 10上还设 置有SSCOP协议实体11,并通过SSCOP协议实体11进行与网元2 20之间的 数据传输。
SSCOP协议实体11收到应用层的发送数据请求,并将请求发送的数据加 入发送队列;
SSCOP协议实体11检查发送窗口大小,如果发送窗口大小没有达到接收 端-网元2 20给出的最大发送窗口边界,则直接发送数据至网元2 20;如果已
经达到,则在该窗口下,SSCOP协议实体ll首先将POLL定时器时长减小为 原来定时器时长的一半,当POLL定时器时长已经为最小值,则不再减小,然 后向网元2 20发送POLL报文;
进一步地,SSCOP协议实体ll在POLL定时器到时之内,如果收到网元 2 20的STAT或USTAT,则退出快速探测对端窗口的阶段,恢复POLL定时 器时长为进入该阶段前的值;否则继续减小POLL定时器时长,并继续发送 POLL报文到网元2 20,直到从网元2 20收到STAT或USTAT;
网元l 10根据接收到的网元2 20的窗口信息,更新本地的发送窗口信息 并进行数据发送。
本发明提供了一种进行数据传输时可提高SD传输性能的方法,当SSCOP 进行数据发送时,如果发现SSCOP发送窗口已经扩展到最大窗口大小,就进 入快速探测对端窗口状态的阶段。在该阶段下,首先将POLL定时器时长减少 到原来定时器时长的一半大小,然后发送一个POLL报文到数据接收端,如果 POLL定时器超时时还没有收到对端的STAT或USTAT,则减少POLL定时 器时长(当POLL定时器时长已到最小值时,则不再减小)继续发送POLL报 文,直到从数据接收端收到STAT或USTAT,该阶段才结束。此时,首先恢 复POLL定时器时长为正常情况大小,然后根据STAT或USTAT中包含的对 端的数据接收情况和接收窗口信息,更新本地发送窗口信息。这样,在接收窗 口已经扩大的情况下,就可以推动发送端的数据发送窗口的扩大,发送端就可 以继续进行数据发送,从而提高发送端发送数据的性能。
采用本发明方法使得发送端在由于没有发送窗口可进行数据发送时,主动 探测接收端接收窗口大小的变更,获得对端窗口变化情况,从而尽快更新本地 的发送窗口大小,推动发送端的数据发送。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情 况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但 这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1、一种提高SSCOP发送数据性能的方法,其特征在于,该方法包括步骤一,通过SSCOP协议建立数据发送端与数据接收端之间的数据传输链路;步骤二,所述数据发送端向所述数据接收端发送数据且当发送窗口大小已达到所述数据接收端的最大发送窗口边界时,进入探测所述数据接收端窗口状态的阶段,并在该阶段设置的POLL定时器时长内向所述数据接收端发送状态请求报文;及步骤三,所述数据接收端接收所述状态请求报文,并返回响应信息至所述数据发送端,所述数据发送端根据所述响应信息将数据发送至所述数据接收端。
2、 根据权利要求1所述的提高SSCOP发送数据性能的方法,其特征在于, 所述步骤一、二中,进一步包括所述数据发送端根据接收的发送数据请求将 请求发送的数据加入发送队列的步骤。
3、 根据权利要求1或2所述的提高SSCOP发送数据性能的方法,其特征 在于,所述步骤二中,进一步包括所述数据发送端设置SSCOP进入探测所 述数据接收端窗口状态的标志的步骤。
4.根据权利要求3所述的提高SSCOP发送数据性能的方法,其特征在于, 所述步骤二中,进一步包括当所述发送窗口大小未达到所述数据接收端的最 大发送窗口边界时,所述数据发送端直接将数据发送至所述数据接收端的步 骤。
5、 根据权利要求4所述的提高SSCOP发送数据性能的方法,其特征在于, 所述步骤二中,进一步包括在设置POLL定时器时长之前,所述数据发送端 判断所述POLL定时器时长是否为最小值的步骤,若为最小值,则直接向所述 数据接收端发送状态请求报文,否则将所述POLL定时器时长设置为所述 POLL定时器时长的一半。
6、 根据权利要求5所述的提高SSCOP发送数据性能的方法,其特征在于, 所述步骤二中,进一步包括在该阶段对所述POLL定时器时长进行设置后, 重启POLL定时器并向所述数据接收端发送状态请求报文的步骤。
7、 根据权利要求6所述的提高SSCOP发送数据性能的方法,其特征在于, 所述歩骤三中,进一步包括所述数据发送端判断在所述POLL定时器时长内 是否收到所述响应信息的步骤,若收到,则退出所述阶段,将所述POLL定时 器时长设置为进入所述阶段前的POLL定时器时长;否则进一歩判断所述 POLL定时器时长是否为最小值。
8、 根据权利要求7所述的提高SSCOP发送数据性能的方法,其特征在于, 所述步骤三中,进一步包括当退出所述阶段时,所述数据发送端清除SSCOP 进入探测所述数据接收端窗口状态的标志的歩骤。
9、 根据权利要求8所述的提高SSCOP发送数据性能的方法,其特征在于, 所述步骤三中,进一步包括所述数据发送端根据所述响应信息包含的所述数 据接收端的数据接收情况和接收窗口信息更新发送窗口信息,并根据所述发送 窗口将数据发送至所述数据接收端的歩骤。
10、 一种提高SSCOP发送数据性能的系统,包括数据发送端、数据接收端,其特征在于所述数据发送端与所述数据接收端之间通过SSCOP协议进行数据传输;所述数据发送端向所述数据接收端发送数据且当发送窗口大小已达到所 述数据接收端的最大发送窗口边界时,进入探测所述数据接收端窗口状态的阶段,在该阶段设置POLL定时器时长,并向所述数据接收端发送状态请求报文;所述数据接收端接收所述状态请求报文,并返回响应信息至所述数据发送 端,所述数据发送端根据所述响应信息将数据发送至所述数据接收端。
11、 根据权利要求10所述的提高SSCOP发送数据性能的系统,其特征在 于,所述数据发送端根据所述响应信息包含的所述数据接收端的数据接收情况 和接收窗口信息更新发送窗口信息,并根据所述发送窗口将数据发送至所述数 据接收端。
12、 根据权利要求10或11所述的提高SSCOP发送数据性能的系统,其 特征在于,所述数据发送端还包括SSCOP协议实体,用于实现与所述数据接 收端的数据传输。
全文摘要
本发明公开了一种提高SSCOP发送数据性能的方法及其系统,其中该方法包括步骤一,通过SSCOP协议建立数据发送端与数据接收端之间的数据传输链路;步骤二,数据发送端向数据接收端发送数据且当发送窗口大小已达到数据接收端的最大发送窗口边界时,进入探测数据接收端窗口状态的阶段,并在该阶段设置的POLL定时器时长内向数据接收端发送状态请求报文;及步骤三,数据接收端接收状态请求报文,并返回响应信息至数据发送端,数据发送端根据响应信息将数据发送至数据接收端。采用本发明能够将接收端接收窗口的更新尽快地反映到数据的发送端,最终提高了链路的数据传输能力。
文档编号H04L29/06GK101106531SQ20071012037
公开日2008年1月16日 申请日期2007年8月16日 优先权日2007年8月16日
发明者李顺彬 申请人:中兴通讯股份有限公司