CN109525502A - 可靠用户封包协定装置及滑动窗参数的动态调整方法 - Google Patents
可靠用户封包协定装置及滑动窗参数的动态调整方法 Download PDFInfo
- Publication number
- CN109525502A CN109525502A CN201710844969.0A CN201710844969A CN109525502A CN 109525502 A CN109525502 A CN 109525502A CN 201710844969 A CN201710844969 A CN 201710844969A CN 109525502 A CN109525502 A CN 109525502A
- Authority
- CN
- China
- Prior art keywords
- sliding window
- value
- window parameter
- secure user
- agreement
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明提供一种可靠用户封包协定(RUDP)装置及其滑动窗参数的动态调整方法。RUDP的滑动窗参数的动态调整方法包括下述步骤。依照来自于接收方的应答有无逾时,以及依照滑动窗参数与预估最大值的差距量,传送方对应调整步阶值。传送方依照步阶值来调整滑动窗参数。
Description
技术领域
本发明涉及一种网络通讯技术,尤其涉及一种可靠用户封包协定(RUDP)装置及滑动窗参数的动态调整方法。
背景技术
一般来说,本地区域网络(local area network,LAN)会经由网络地址转换器(network address translator,以下称NAT)来连接至网际网络(internet)。所述NAT可以是防火墙(Firewall)装置、路由器(router)、网际网络协定分享器(IP sharer)、网络桥接器(network bridge)或者其他提供网络地址转译功能的装置。NAT让在本地区域网络(local area network,LAN)内的许多装置可以共用相同的网际网络地址,以便让这些装置连上网际网络。在这样的网络环境之下,外部装置要使用网际网络地址经由网际网络来存取在本地区域网络中的内部装置时,外部装置就会通过NAT所提供点对点(peer to peer,以下称P2P)的机制来进行数据传输,亦即要打通NAT装置。“打通NAT装置”,这需要穿墙(Hole Punching)技术。
现有的穿墙技术可分为传输控制协议(transport control protocol,以下称TCP)穿墙技术以及用户封包协定(User Datagram Protocol,以下称UDP)穿墙技术,但这两个方式各有其优缺点。TCP穿墙技术具很好的数据传输可靠度(不易发生数据封包丢失的状况),但是TCP穿墙技术的穿墙成功率相当低。UDP穿墙技术的穿墙成功率相当高,但是UDP穿墙技术有很高的数据封包丢失率,因此导致数据传输不可靠。
现今大多数的P2P的传输使用UDP穿墙技术。为了克服数据封包丢失的问题,P2P传输会使用可靠用户封包协定(Reliable UDP,以下称RUDP)来克服这个问题。RUDP有一个滑动窗(sliding window)参数来决定RUDP同时可以处理多少数据量。传送方受控于这个滑动窗参数而决定在一个批次中要输出多少数据量(例如多少个实体层封包)至通讯网络(例如网际网络)。在现有技术中,但这个滑动窗参数是固定的值。这个滑动窗参数没办法随着网络环境变化来自动地动态调整。在网络频宽很大的环境下,如果这个滑动窗参数的值设定得太小,RUDP不能够有效的使用网络频宽(传输速率慢)。在网络频宽很小的环境下,如果这个滑动窗参数的值设定得太大,RUDP就很容易发生数据封包丢失的状况。
造成网络传输速率下降主要的原因至少有下列三个因素。第一个因素:在数据封包丢失时,是否可以在短时间重送丢失的数据封包。如果检测的机制反应太慢或太快都会影响传输速率,太慢则不能有效的运用网络频宽,太快则会多次重送同一笔数据。第二个因素:在数据传输时是否能够有效的运用网络频宽。由于在数据传输的过程,传送端并不会知道从传送端至接收端之间传输路径的网络频宽的状态,换句话说传送端不知道传输的瓶颈是在于传输路径中的哪一个地方。举例来说,当传送端的上传容量(上传频宽)大于接收端的下载容量(下载频宽),这时候不论传送端传送再多的数据,接收端可能都无法及时接收,以至于造成堵塞。第三个因素:对于网络堵塞的处理是否适当。当发生网络堵塞时,表示网络环境(从传送端至接收端之间传输路径)当下无法处理处理过多的数据封包。如果网络堵塞的处理不当,会提升数据封包丢失率以及多次重送同一笔数据,进而造成数据传输没有效率。综观上述的因素,“是否能够有效地使用网络频宽”是RUDP能否有很好的传输速率的关键。
发明内容
本发明提供一种可靠用户封包协定(RUDP)装置及其滑动窗参数的动态调整方法,以有效地使用网络频宽。
本发明的实施例提供一种可靠用户封包协定(RUDP)的滑动窗参数的动态调整方法。RUDP的滑动窗参数的动态调整方法包括:依照来自于接收方的应答(acknowledgement,ACK)有无逾时,以及依照滑动窗参数与预估最大值的差距量,由传送方对应调整步阶值;以及依照步阶值来调整滑动窗参数。
本发明的实施例提供一种RUDP装置。所述RUDP装置包括传送单元、接收单元以及调整单元。传送单元用以从应用程序接口接收欲传送数据。遵循RUDP,传送单元依照滑动窗参数而将所述欲传送数据分批输出至通讯网络。接收单元用以从通讯网络接收来自于接收方的应答或否定应答。调整单元耦接至传送单元,以设定滑动窗参数。调整单元耦接至接收单元,以获知应答或否定应答。依照应答有无逾时,以及依照滑动窗参数与预估最大值的差距量,调整单元对应调整步阶值。调整单元依照步阶值来调整滑动窗参数。
基于上述,本发明诸实施例所述RUDP装置及RUDP滑动窗参数的动态调整方法,其依照应答有无逾时来动态调整RUDP的滑动窗参数,以便让滑动窗参数适配于当下的网络环境。因此,所述RUDP装置与滑动窗参数的动态调整方法可以有效地使用网络频宽。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是说明传送方与接收方通过网际网络建立连接的电路方块(circuit block)示意图;
图2是依照本发明实施例所显示一种可靠用户封包协定(RUDP)的滑动窗参数的动态调整方法的流程示意图;
图3是依照本发明一实施例说明一种RUDP装置的电路方块示意图。
附图标号说明:
110:传送方
111:本地区域网络
120:网络地址转换器(NAT)
130:网际网络
140:网络地址转换器
150:接收方
151:本地区域网络
300:可靠用户封包协定(RUDP)装置
301:应用程序接口(API)
302:UDP通道
310:传送单元
320:接收单元
330:调整单元
ACK:应答
C:滑动窗参数
NAK:否定应答
S210~S220:步骤
具体实施方式
在本案说明书全文(包括申请专利范围)中所使用的“耦接(或连接)”一词可指任何直接或间接的连接手段。举例而言,若文中描述第一装置耦接(或连接)于第二装置,则应该被解释成该第一装置可以直接连接于该第二装置,或者该第一装置可以通过其他装置或某种连接手段而间接地连接至该第二装置。另外,凡可能之处,在附图及实施方式中使用相同标号的元件/构件/步骤代表相同或类似部分。不同实施例中使用相同标号或使用相同用语的元件/构件/步骤可以相互参照相关说明。
图1是说明传送方与接收方通过网际网络建立连接的电路方块(circuit block)示意图。传送方110通过本地区域网络(local area network,LAN)111连接至网络地址转换器(NAT)120。所述传送方110可以是电脑、智能手机或是其他通讯装置。所述网络地址转换器120可以是防火墙(Firewall)装置、路由器(router)、网际网络协定分享器(IP sharer)、网络桥接器(network bridge)或者其他提供网络地址转译功能的装置。所述网络地址转换器120可以让在本地区域网络111内的许多装置(例如传送方110)可以共用相同的网际网络地址,以便让在本地区域网络111内的这些装置连上网际网络130。相类似地,接收方150通过本地区域网络151连接至网络地址转换器140。所述接收方150可以是电脑、智能手机或是其他通讯装置。所述网络地址转换器140可以参照网络地址转换器120的相关说明来类推,故不再赘述。传送方110可以通过使用可靠用户封包协定(RUDP)来通过本地区域网络111、网络地址转换器120、网际网络130、网络地址转换器140与本地区域网络151而与接收方150建立连接。
遵循RUDP,传送方110依照滑动窗参数C而将欲传送数据分批次输出至本地区域网络111。一般而言,一个批次的数据包含了多个实体层封包。每一批次的数据会经由通讯网络(本地区域网络111、网络地址转换器120、网际网络130、网络地址转换器140与本地区域网络151)而抵达接收方150。在接收方150接收到封包后,接收方150会回送应答(acknowledgement,以下称ACK)给传送方110,以表示接收成功。在接收方150发现没有收到某个预期的封包时,接收方150可以主动回送否定应答(Negative Acknowledgement,以下称NAK)给传送方110,以表示封包遗失。
在传送方110送出实体层封包后,传送方110可以从通讯网络接收来自于接收方150的ACK或NAK。若ACK没有逾时而抵达传送方110(传送方110在额定时间内收到来自于接收方150的ACK),表示此实体层封包已经顺利送达接收方150(传送成功)。若ACK逾时(传送方110在额定时间内一直都没有收到来自于接收方150的ACK),表示此实体层封包已经遗失(传送失败)。若传送方110收到来自于接收方150的NAK,表示此实体层封包已经遗失(传送失败)。
一般来说,使用者所申请的网络频宽是固定的,但不同使用者所申请的网络频宽可能不一样。再者,同一段网络可能被多人共用,使得网络频宽无法预测。为了有效使用当下的网络频宽,下述诸实施例将说明RUDP的滑动窗(sliding window)参数的动态调整方法,来根据当时的网络频宽及使用情况进行动态控制,以便有效地运用网络频宽。所述滑动窗参数的动态调整方法引用了模糊理论(Fuzzy Rules)来妥善的使用网络频宽。模糊理论用于依照当下的网络环境来动态决定滑动窗的大小,以便有效率地使用当下的网络频宽。
图2是依照本发明实施例所显示一种可靠用户封包协定(RUDP)的滑动窗参数的动态调整方法的流程示意图。请参照图1与图2。于步骤S210中,依照来自于接收方150的ACK有无逾时,以及依照滑动窗参数C与预估最大值MaxWin的差距量,传送方110可以对应调整步阶值df。本实施例并不限制步骤S210的实施细节。举例来说,在一些实施例中,步骤S210包括下述演算法1。其中,所述第一范围的值小于所述第二范围的值,且所述第一步阶值小于所述第二步阶值。
演算法1:
当传送方无逾时收到ACK,且滑动窗参数C与预估最大值MaxWin的差
距量落于第一范围时,调整步阶值df为第一步阶值;以及
当传送方无逾时收到ACK,且滑动窗参数C与预估最大值MaxWin的差
距量落于第二范围时,调整步阶值df为第二步阶值。
在另一些实施例中,步骤S210包括下述演算法2。其中,所述第一范围的值小于所述第二范围的值,所述第二范围的值小于所述第三范围的值,所述第三范围的值小于所述第四范围的值,所述第四范围的值小于所述第五范围的值,所述第五范围的值小于所述第六范围的值。所述第一范围、所述第二范围、所述第三范围、所述第四范围、所述第五范围与所述第六范围可以依照设计需求来决定。举例来说(但不限于此),所述第一范围可以是0至1,所述第二范围可以是1至2,所述第三范围可以是2至3,所述第四范围可以是3至4,所述第五范围可以是4至5,而所述第六范围可以是5至6。
演算法2:
IF如期收到ACK AND滑动窗参数C等于预估最大值MaxWin
THEN调整步阶值df为第一步阶值
IF如期收到ACK AND滑动窗参数C与预估最大值MaxWin的差距量落于第一范围
THEN调整步阶值df为第一步阶值
IF如期收到ACK AND滑动窗参数C与预估最大值MaxWin的差距量落于第二范围
THEN调整步阶值df为第二步阶值
IF如期收到ACK AND滑动窗参数C与预估最大值MaxWin的差距量落于第三范围
THEN调整步阶值df为第三步阶值
IF如期收到ACK AND滑动窗参数C与预估最大值MaxWin的差距量落于第四范围
THEN调整步阶值df为第四步阶值
IF如期收到ACK AND滑动窗参数C与预估最大值MaxWin的差距量落于第五范围
THEN调整步阶值df为第五步阶值
IF如期收到ACK AND滑动窗参数C与预估最大值MaxWin的差距量落于第六范围
THEN调整步阶值df为第六步阶值
于上述演算法2中,所述第一步阶值小于所述第二步阶值,所述第二步阶值小于所述第三步阶值,所述第三步阶值小于所述第四步阶值,所述第四步阶值小于所述第五步阶值,所述第五步阶值小于所述第六步阶值。所述第一步阶值、所述第二步阶值、所述第三步阶值、所述第四步阶值、所述第五步阶值与所述第六步阶值可以依照设计需求来决定。举例来说(但不限于此),所述第一步阶值可以是0.1,所述第二步阶值可以是0.5,所述第三步阶值可以是1,所述第四步阶值可以是2,所述第五步阶值可以是3,而所述第六步阶值可以是4。
在传送方110的初始化操作中,传送方110可以初始化步阶值df、滑动窗参数C与预估最大值MaxWin,以将步阶值df设定为初始步阶值(例如0.1或是其他实数值),将滑动窗参数C设定为初始滑动窗值(例如1或是其他实数值),以及将该预估最大值MaxWin设定为一初始预估值(例如12或是其他实数值)。所述初始步阶值、所述初始滑动窗值与所述初始预估值可以依照设计需求来决定。
于步骤S220中,传送方110可以依照步阶值df来调整滑动窗参数C。举例来说,在一些实施例中,传送方110在步骤S220中可以计算窗值C’与步阶值df的和值,并将此和值作为窗值C’,亦即C’=C’+df。传送方110可以依照窗值C’来决定滑动窗参数C。举例来说,在一些实施例中,传送方110可以取窗值C’的整数部份作为滑动窗参数C。在另一些实施例中,传送方110可以计算窗值C’与某一比例值(实数)的乘积,然后以此乘积作为滑动窗参数C。
在一些实施例中,传送方110在步骤S220中还可以进行下述演算法3。于演算法3中,所述预设值响应于预估最大值MaxWin。举例来说,在一些实施例中,所述预设值可以是预估最大值MaxWin与某一比值的乘积。所述比值可以依照设计需求来决定。举例来说,所述比值可以是二分之一或是其他实数。依照设计需求,演算法3中的初始滑动窗值可以是1或是其他实数值。
演算法3:
当传送方无逾时收到ACK,且滑动窗参数C为初始滑动窗值时,调整滑动窗参数C为预设值
在一些实施例中,传送方110在步骤S220中还可以决定是否更新所述预估最大值MaxWin。例如,当有某一个数据封包遗失时(例如传送方110收到自于接收方150的NAK,或是传送方110逾时仍未收到ACK),传送方110可以依照滑动窗参数C与预估最大值MaxWin的关系来决定是否将预估最大值MaxWin更新为滑动窗参数C,以及决定是否将滑动窗参数C设定为所述初始滑动窗值。举例来说,当传送方110逾时仍未收到ACK,或者传送方110收到来自于接收方150的NAK时,传送方110可以进行“更新预估值操作”。所述更新预估值操作包括:当滑动窗参数C大于预估最大值MaxWin时,预估最大值MaxWin被更新为滑动窗参数C,以及滑动窗参数C被设定为初始滑动窗值。亦即,传送方110在步骤S220中可以进行下述演算法4,以决定是否更新所述预估最大值MaxWin。依照设计需求,演算法4中的初始滑动窗值可以是1或是其他实数值。
演算法4:
IF收到NAK或是ACK逾时THEN
IF C大于MaxWin THEN
将MaxWin更新成滑动窗参数C
将滑动窗参数C设为初始滑动窗值
举例来说,当预估最大值MaxWin小于当下的网络频宽可处理的封包量时,预估最大值MaxWin可以动态地被调大,以便使预估最大值MaxWin趋近于当下的网络环境。当滑动窗参数C小于预估最大值MaxWin时,滑动窗参数C可以动态地被调大,以便使滑动窗参数C可以即时地追随预估最大值MaxWin。如果当下的网络频宽可处理的封包量小于滑动窗参数C,传送方110会收到接收方150所回传的NAK,或是传送方110逾时仍然没收到预期的ACK,亦即发生了封包遗失。当发生了封包遗失时,传送方110可以把当下的滑动窗参数C作为预估最大值MaxWin,并且把窗值C’设为初始值(例如1)。因此,在网络堵塞的情况下,传送方110可以先把需要重送的封包再一次送给接收方150,避免新的封包继续丢往通讯网络。当滑动窗参数C为初始值(例如1)的情况下如期收到ACK时,传送方110可以把窗值C’设为预估最大值MaxWin的一半(或是其他比例值),以便加块窗值C’追随预估最大值MaxWin的速度。因此,RUDP的滑动窗参数C可以动态地被调整,以便适配于当下的网络环境。所述RUDP装置与滑动窗参数的动态调整方法可以有效地使用网络频宽。
图3是依照本发明一实施例说明一种可靠用户封包协定(RUDP)装置300的电路方块示意图。图1所示传送方110和/或接收方150可以参照图3所示RUDP装置300的相关说明来类推。于图3所示实施例中,RUDP装置300包括传送单元310、接收单元320以及调整单元330。依照设计需求,所述传送单元310、接收单元320以及调整单元330可以是硬件、软件以和/或是韧件。举例来说,在一些实施例中,传送单元310、接收单元320以和/或是调整单元330可以是程序码,而此程序码可以被处理器所执行。在另一些实施例中,传送单元310、接收单元320以和/或是调整单元330可以是处理器中的功能电路(或是韧件)。在又一些实施例中,传送单元310、接收单元320以和/或是调整单元330可以是在处理器外部的集成电路。
传送单元310可以从应用程序接口(application program interface,API)301接收欲传送数据,以及遵循RUDP依照滑动窗参数C而将所述欲传送数据分批输出至通讯网络(UDP通道302)。因此,所述欲传送数据可以经由UDP通道302而被传输至接收方(例如图1所示接收方150)。接收单元320可以从通讯网络(UDP通道302)接收来自于接收方(例如图1所示接收方150)所回传的ACK以和/或是NAK,以及从通讯网络(UDP通道302)下载来自于传送方(例如图1所示传送方110)所输出的数据。接收单元320可以将经下载的数据传送给应用程序接口301。在一些实施例中,应用程序接口301、UDP通道302、传送单元310与接收单元320的UDP操作细节可以参照现有的UDP操作,故不再赘述。不同于现有的传送单元的是,传送单元310的滑动窗参数C可以被动态改变。
调整单元330耦接至传送单元310,以设定滑动窗参数C。调整单元330耦接至接收单元320,以获知ACK以和/或是NAK。依照ACK有无逾时,以及依照滑动窗参数C与预估最大值MaxWin的差距量,调整单元330对应调整步阶值df。调整单元330依照步阶值df来调整滑动窗参数C。调整单元330的操作细节可以参照图1所示传送方110的相关说明来类推,以和/或是参照图2的相关说明来类推,故不再赘述。
调整单元330根据收到的回馈来调整滑动窗参数C。在发生网络堵塞时,调整单元330可以动态地调小滑动窗参数C,以减少数据封包的丢失,亦可避免发生同一笔数据重复多送的状况。同时,当发生网络封包丢失的时候,传送单元310优先地将此丢失封包重新输出至通讯网络(UDP通道302)。因为调整单元330是依据收到的回馈做出决策,因此调整单元330可以动态地调整出符合目前网络状况的滑动窗参数C。
值得注意的是,在不同的应用情境中,传送方110、接收方150、RUDP装置300、传送单元310、接收单元320和/或调整单元330的相关功能可以利用一般的编程语言(programming languages,例如C或C++)、硬件描述语言(hardware descriptionlanguages,例如Verilog HDL或VHDL)或其他合适的编程语言来实现为软件、韧件或硬件。可执行所述相关功能的编程语言可以被布置为任何已知的计算机可存取媒体(computer-accessible medias),例如磁带(magnetic tapes)、半导体(semiconductors)存储器、磁盘(magnetic disks)或光盘(compact disks,例如CD-ROM或DVD-ROM),或者可通过互联网(Internet)、有线通信(wired communication)、无线通信(wireless communication)或其它通信介质传送所述编程语言。所述编程语言可以被存放在计算机的可存取媒体中,以便于由计算机的处理器来存取/执行所述软件(或韧件)的编程码(programming codes)。对于硬件实现,结合本文实施例所揭示的形态,利用在一或多个控制器、微控制器、微处理器、特殊应用集成电路(Application-specific integrated circuit,ASIC)、数码信号处理器(digital signal processor,DSP)、场可程序逻辑闸阵列(Field Programmable GateArray,FPGA)和/或其他处理单元中的的各种示例性的逻辑、逻辑区块、模块和电路可以被用于实现或执行本文所述功能。另外,本发明的装置和方法可以通过硬件和软件的组合来实现。
综上所述,本发明诸实施例提出利用模糊理论的RUDP装置及RUDP滑动窗参数的动态调整方法,其可以维持原本UDP穿墙(Hole Punching)的打通率并且加强UDP的数据传送可靠度。依照ACK有无逾时来动态调整RUDP的滑动窗参数C,以便让滑动窗参数C适配于当下的网络环境。因此,所述RUDP装置与滑动窗参数C的动态调整方法可以有效地使用网络频宽。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求书所界定的为准。
Claims (22)
1.一种可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述动态调整方法包括:
依照来自于接收方的应答有无逾时,以及依照所述滑动窗参数与预估最大值的差距量,由传送方对应调整步阶值;以及
依照所述步阶值来调整所述滑动窗参数。
2.根据权利要求1所述的可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述动态调整方法还包括:
初始化所述步阶值、所述滑动窗参数与所述预估最大值,以将所述步阶值设定为初始步阶值,将所述滑动窗参数设定为初始滑动窗值,以及将所述预估最大值设定为初始预估值。
3.根据权利要求1所述的可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述调整所述步阶值的步骤包括:
当所述传送方无逾时收到所述应答,且所述差距量落于第一范围时,所述步阶值被调整为第一步阶值;以及
当所述传送方无逾时收到所述应答,且所述差距量落于第二范围时,所述步阶值被调整为第二步阶值。
4.根据权利要求3所述的可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述第一范围的值小于所述第二范围的值,且所述第一步阶值小于所述第二步阶值。
5.根据权利要求1所述的可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述调整所述滑动窗参数的步骤包括:
计算窗值与所述步阶值的和值,并将所述和值作为所述窗值;以及
依照所述窗值来决定所述滑动窗参数。
6.根据权利要求5所述的可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述决定所述滑动窗参数的步骤包括:
取所述窗值的整数部份作为所述滑动窗参数。
7.根据权利要求1所述的可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述动态调整方法还包括:
当所述传送方无逾时收到所述应答,且所述滑动窗参数为初始滑动窗值时,所述滑动窗参数被调整为预设值,其中所述预设值响应于所述预估最大值。
8.根据权利要求7所述的可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述预设值为所述预估最大值与比值的乘积。
9.根据权利要求8所述的可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述比值为二分之一。
10.根据权利要求1所述的可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述动态调整方法还包括:
当有数据封包遗失时,依照所述滑动窗参数与所述预估最大值的关系,决定是否将所述预估最大值更新为所述滑动窗参数,以及决定是否将所述滑动窗参数设定为初始滑动窗值。
11.根据权利要求10所述的可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述决定是否将所述预估最大值更新为所述滑动窗参数以及决定是否将所述滑动窗参数设定为所述初始滑动窗值的步骤包括:
当所述传送方逾时仍未收到所述应答,或者所述传送方收到来自于所述接收方的否定应答时,由所述传送方进行更新预估值操作,其中所述更新预估值操作包括:
当所述滑动窗参数大于所述预估最大值时,将所述预估最大值更新为所述滑动窗参数,以及将所述滑动窗参数设定为所述初始滑动窗值。
12.一种可靠用户封包协定装置,其特征在于,所述可靠用户封包协定装置包括:
传送单元,用以从应用程序接口接收欲传送数据,以及遵循可靠用户封包协定依照滑动窗参数而将所述欲传送数据分批输出至通讯网络;
接收单元,用以从所述通讯网络接收来自于接收方的应答或否定应答;以及
调整单元,耦接至所述传送单元以设定所述滑动窗参数,以及耦接至所述接收单元以获知所述应答或所述否定应答;其中依照所述应答有无逾时,以及依照所述滑动窗参数与预估最大值的差距量,所述调整单元对应调整步阶值;以及所述调整单元依照所述步阶值来调整所述滑动窗参数。
13.根据权利要求12项所述的可靠用户封包协定装置,其特征在于,于初始化期间所述调整单元初始化所述步阶值、所述滑动窗参数与所述预估最大值,以将所述步阶值设定为初始步阶值,将所述滑动窗参数设定为初始滑动窗值,以及将所述预估最大值设定为初始预估值。
14.根据权利要求12所述的可靠用户封包协定装置,其特征在于,当所述接收单元无逾时收到所述应答且所述差距量落于第一范围时,所述调整单元调整所述步阶值为第一步阶值,以及当所述接收单元无逾时收到所述应答且所述差距量落于第二范围时,所述调整单元调整所述步阶值为第二步阶值。
15.根据权利要求14所述的可靠用户封包协定装置,其特征在于,所述第一范围的值小于所述第二范围的值,且所述第一步阶值小于所述第二步阶值。
16.根据权利要求12所述的可靠用户封包协定装置,其特征在于,所述调整单元计算窗值与所述步阶值的和值,并将所述和值作为所述窗值,以及依照所述窗值来决定所述滑动窗参数。
17.根据权利要求16所述的可靠用户封包协定装置,其特征在于,所述调整单元取所述窗值的整数部份作为所述滑动窗参数。
18.根据权利要求12所述的可靠用户封包协定装置,其特征在于,当所述接收单元无逾时收到所述应答且所述滑动窗参数为初始滑动窗值时,所述调整单元调整所述滑动窗参数为预设值,其中所述预设值响应于所述预估最大值。
19.根据权利要求18所述的可靠用户封包协定装置,其特征在于,所述预设值为所述预估最大值与比值的乘积。
20.根据权利要求19所述的可靠用户封包协定装置,其特征在于,所述比值为二分之一。
21.根据权利要求12所述的可靠用户封包协定装置,其特征在于,中当有数据封包遗失时,所述调整单元依照所述滑动窗参数与所述预估最大值的关系来决定是否将所述预估最大值更新为所述滑动窗参数,以及决定是否将所述滑动窗参数设定为初始滑动窗值。
22.根据权利要求21所述的可靠用户封包协定装置,其特征在于,当所述接收单元逾时仍未收到所述应答,或者所述接收单元收到来自于所述否定应答时,所述调整单元进行更新预估值操作,其中所述更新预估值操作包括:
当所述滑动窗参数大于所述预估最大值时,将所述预估最大值更新为所述滑动窗参数,以及将所述滑动窗参数设定为所述初始滑动窗值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710844969.0A CN109525502B (zh) | 2017-09-19 | 2017-09-19 | 可靠用户封包协定装置及滑动窗参数的动态调整方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710844969.0A CN109525502B (zh) | 2017-09-19 | 2017-09-19 | 可靠用户封包协定装置及滑动窗参数的动态调整方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109525502A true CN109525502A (zh) | 2019-03-26 |
CN109525502B CN109525502B (zh) | 2022-09-13 |
Family
ID=65767817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710844969.0A Active CN109525502B (zh) | 2017-09-19 | 2017-09-19 | 可靠用户封包协定装置及滑动窗参数的动态调整方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109525502B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101409935A (zh) * | 2008-11-20 | 2009-04-15 | 上海交通大学 | 无线自组织网络中分数窗口步长tcp传输控制方法 |
RU2014120109A (ru) * | 2014-05-19 | 2015-11-27 | Государственное казенное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) | Способ динамической двухуровневой фильтрации дейтаграмм интернет-протокола |
CN105376173A (zh) * | 2014-09-02 | 2016-03-02 | 中兴通讯股份有限公司 | 一种发送窗口流量控制方法和终端 |
-
2017
- 2017-09-19 CN CN201710844969.0A patent/CN109525502B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101409935A (zh) * | 2008-11-20 | 2009-04-15 | 上海交通大学 | 无线自组织网络中分数窗口步长tcp传输控制方法 |
RU2014120109A (ru) * | 2014-05-19 | 2015-11-27 | Государственное казенное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) | Способ динамической двухуровневой фильтрации дейтаграмм интернет-протокола |
CN105376173A (zh) * | 2014-09-02 | 2016-03-02 | 中兴通讯股份有限公司 | 一种发送窗口流量控制方法和终端 |
Also Published As
Publication number | Publication date |
---|---|
CN109525502B (zh) | 2022-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11641387B2 (en) | Timely delivery of real-time media problem when TCP must be used | |
US11876714B2 (en) | Method and apparatus for network congestion control based on transmission rate gradients | |
JP6526825B2 (ja) | 伝送制御プロトコルtcpデータパケットを送信する方法及び装置、並びにシステム | |
CN101635665B (zh) | 管理隧道的传输信道上的数据流的传送的方法及隧道端点 | |
US8004981B2 (en) | Methods and devices for the coordination of flow control between a TCP/IP network and other networks | |
US8583053B1 (en) | Optimizing TCP traffic for mobile devices using TCP backoff thresholds | |
US10064073B2 (en) | Optimizing bandwidth of cognitive radios | |
WO2014031046A1 (en) | Tcp proxy server | |
TWI646807B (zh) | Rudp裝置及滑動窗參數的動態調整方法 | |
KR20020059431A (ko) | 네트워크 인터페이스 드라이버 및 방법 | |
JP2011155406A (ja) | 送信装置、送信方法及びプログラム | |
CN109525502A (zh) | 可靠用户封包协定装置及滑动窗参数的动态调整方法 | |
US10015288B2 (en) | Communication apparatus and control method of communication apparatus | |
TWI308012B (en) | Method for adaptive estimation of retransmission timeout in wireless communication systems | |
Akhtar et al. | Modified Tahoe TCP for wireless networks using OPNET simulator | |
JP2017158047A (ja) | 中継装置、中継方法及び中継プログラム | |
CN116614441A (zh) | 带宽利用方法和装置 | |
JP2019201249A (ja) | 通信装置、通信装置の制御方法、およびプログラム | |
Pötsch et al. | Transport Protocols |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |