可靠用户封包协定装置及滑动窗参数的动态调整方法制造方法及图纸

技术编号:20686958 阅读:20 留言:0更新日期:2019-03-27 20:40
本发明专利技术提供一种可靠用户封包协定(RUDP)装置及其滑动窗参数的动态调整方法。RUDP的滑动窗参数的动态调整方法包括下述步骤。依照来自于接收方的应答有无逾时,以及依照滑动窗参数与预估最大值的差距量,传送方对应调整步阶值。传送方依照步阶值来调整滑动窗参数。

【技术实现步骤摘要】
可靠用户封包协定装置及滑动窗参数的动态调整方法
本专利技术涉及一种网络通讯技术,尤其涉及一种可靠用户封包协定(RUDP)装置及滑动窗参数的动态调整方法。
技术介绍
一般来说,本地区域网络(localareanetwork,LAN)会经由网络地址转换器(networkaddresstranslator,以下称NAT)来连接至网际网络(internet)。所述NAT可以是防火墙(Firewall)装置、路由器(router)、网际网络协定分享器(IPsharer)、网络桥接器(networkbridge)或者其他提供网络地址转译功能的装置。NAT让在本地区域网络(localareanetwork,LAN)内的许多装置可以共用相同的网际网络地址,以便让这些装置连上网际网络。在这样的网络环境之下,外部装置要使用网际网络地址经由网际网络来存取在本地区域网络中的内部装置时,外部装置就会通过NAT所提供点对点(peertopeer,以下称P2P)的机制来进行数据传输,亦即要打通NAT装置。“打通NAT装置”,这需要穿墙(HolePunching)技术。现有的穿墙技术可分为传输控制协议(transportcontrolprotocol,以下称TCP)穿墙技术以及用户封包协定(UserDatagramProtocol,以下称UDP)穿墙技术,但这两个方式各有其优缺点。TCP穿墙技术具很好的数据传输可靠度(不易发生数据封包丢失的状况),但是TCP穿墙技术的穿墙成功率相当低。UDP穿墙技术的穿墙成功率相当高,但是UDP穿墙技术有很高的数据封包丢失率,因此导致数据传输不可靠。现今大多数的P2P的传输使用UDP穿墙技术。为了克服数据封包丢失的问题,P2P传输会使用可靠用户封包协定(ReliableUDP,以下称RUDP)来克服这个问题。RUDP有一个滑动窗(slidingwindow)参数来决定RUDP同时可以处理多少数据量。传送方受控于这个滑动窗参数而决定在一个批次中要输出多少数据量(例如多少个实体层封包)至通讯网络(例如网际网络)。在现有技术中,但这个滑动窗参数是固定的值。这个滑动窗参数没办法随着网络环境变化来自动地动态调整。在网络频宽很大的环境下,如果这个滑动窗参数的值设定得太小,RUDP不能够有效的使用网络频宽(传输速率慢)。在网络频宽很小的环境下,如果这个滑动窗参数的值设定得太大,RUDP就很容易发生数据封包丢失的状况。造成网络传输速率下降主要的原因至少有下列三个因素。第一个因素:在数据封包丢失时,是否可以在短时间重送丢失的数据封包。如果检测的机制反应太慢或太快都会影响传输速率,太慢则不能有效的运用网络频宽,太快则会多次重送同一笔数据。第二个因素:在数据传输时是否能够有效的运用网络频宽。由于在数据传输的过程,传送端并不会知道从传送端至接收端之间传输路径的网络频宽的状态,换句话说传送端不知道传输的瓶颈是在于传输路径中的哪一个地方。举例来说,当传送端的上传容量(上传频宽)大于接收端的下载容量(下载频宽),这时候不论传送端传送再多的数据,接收端可能都无法及时接收,以至于造成堵塞。第三个因素:对于网络堵塞的处理是否适当。当发生网络堵塞时,表示网络环境(从传送端至接收端之间传输路径)当下无法处理处理过多的数据封包。如果网络堵塞的处理不当,会提升数据封包丢失率以及多次重送同一笔数据,进而造成数据传输没有效率。综观上述的因素,“是否能够有效地使用网络频宽”是RUDP能否有很好的传输速率的关键。
技术实现思路
本专利技术提供一种可靠用户封包协定(RUDP)装置及其滑动窗参数的动态调整方法,以有效地使用网络频宽。本专利技术的实施例提供一种可靠用户封包协定(RUDP)的滑动窗参数的动态调整方法。RUDP的滑动窗参数的动态调整方法包括:依照来自于接收方的应答(acknowledgement,ACK)有无逾时,以及依照滑动窗参数与预估最大值的差距量,由传送方对应调整步阶值;以及依照步阶值来调整滑动窗参数。本专利技术的实施例提供一种RUDP装置。所述RUDP装置包括传送单元、接收单元以及调整单元。传送单元用以从应用程序接口接收欲传送数据。遵循RUDP,传送单元依照滑动窗参数而将所述欲传送数据分批输出至通讯网络。接收单元用以从通讯网络接收来自于接收方的应答或否定应答。调整单元耦接至传送单元,以设定滑动窗参数。调整单元耦接至接收单元,以获知应答或否定应答。依照应答有无逾时,以及依照滑动窗参数与预估最大值的差距量,调整单元对应调整步阶值。调整单元依照步阶值来调整滑动窗参数。基于上述,本专利技术诸实施例所述RUDP装置及RUDP滑动窗参数的动态调整方法,其依照应答有无逾时来动态调整RUDP的滑动窗参数,以便让滑动窗参数适配于当下的网络环境。因此,所述RUDP装置与滑动窗参数的动态调整方法可以有效地使用网络频宽。为让本专利技术的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。附图说明图1是说明传送方与接收方通过网际网络建立连接的电路方块(circuitblock)示意图;图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是说明传送方与接收方通过网际网络建立连接的电路方块(circuitblock)示意图。传送方110通过本地区域网络(localareanetwork,LAN)111连接至网络地址转换器(NAT)120。所述传送方110可以是电脑、智能手机或是其他通讯装置。所述网络地址转换器120可以是防火墙(Firewall)装置、路由器(router)、网际网络协定分享器(IPsharer)、网络桥接器(networkbridge)或者其他提供网络地址转译功能的装置。所述网络地址转换器120可以让在本地区域网络111内的许多装置(例如传送方110)可以共用相同的网际网络地址,以便让在本地区域网络111内的这些装置连上网际网络130。相类似地,接收方150通过本地区域网络151连接至网络地址转换器140。所述接收方150可以是电脑、智能手机或是其他通讯装置。所述网络地址转换器140可以参照网络地址转换器120的相关说明来类推,故不再赘述。传送方本文档来自技高网
...

【技术保护点】
1.一种可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述动态调整方法包括:依照来自于接收方的应答有无逾时,以及依照所述滑动窗参数与预估最大值的差距量,由传送方对应调整步阶值;以及依照所述步阶值来调整所述滑动窗参数。

【技术特征摘要】
1.一种可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述动态调整方法包括:依照来自于接收方的应答有无逾时,以及依照所述滑动窗参数与预估最大值的差距量,由传送方对应调整步阶值;以及依照所述步阶值来调整所述滑动窗参数。2.根据权利要求1所述的可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述动态调整方法还包括:初始化所述步阶值、所述滑动窗参数与所述预估最大值,以将所述步阶值设定为初始步阶值,将所述滑动窗参数设定为初始滑动窗值,以及将所述预估最大值设定为初始预估值。3.根据权利要求1所述的可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述调整所述步阶值的步骤包括:当所述传送方无逾时收到所述应答,且所述差距量落于第一范围时,所述步阶值被调整为第一步阶值;以及当所述传送方无逾时收到所述应答,且所述差距量落于第二范围时,所述步阶值被调整为第二步阶值。4.根据权利要求3所述的可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述第一范围的值小于所述第二范围的值,且所述第一步阶值小于所述第二步阶值。5.根据权利要求1所述的可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述调整所述滑动窗参数的步骤包括:计算窗值与所述步阶值的和值,并将所述和值作为所述窗值;以及依照所述窗值来决定所述滑动窗参数。6.根据权利要求5所述的可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述决定所述滑动窗参数的步骤包括:取所述窗值的整数部份作为所述滑动窗参数。7.根据权利要求1所述的可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述动态调整方法还包括:当所述传送方无逾时收到所述应答,且所述滑动窗参数为初始滑动窗值时,所述滑动窗参数被调整为预设值,其中所述预设值响应于所述预估最大值。8.根据权利要求7所述的可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述预设值为所述预估最大值与比值的乘积。9.根据权利要求8所述的可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述比值为二分之一。10.根据权利要求1所述的可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述动态调整方法还包括:当有数据封包遗失时,依照所述滑动窗参数与所述预估最大值的关系,决定是否将所述预估最大值更新为所述滑动窗参数,以及决定是否将所述滑动窗参数设定为初始滑动窗值。11.根据权利要求10所述的可靠用户封包协定的滑动窗参数的动态调整方法,其特征在于,所述决定是否将所述预估最大值更新为所述滑动窗参数以及决定是否将所述滑动窗参数设定为所述初始滑动窗值的步骤包括:当所述传送方逾时仍未收到所述应答,或者所述传送方收到来自于所述接收方的否定应答时,由所述传送方进行更新预估值操作,其中所述更新预估值操作包括:当所述滑动窗参数大于所述预估最大值时,将所述预估最大值更新为所述滑动窗参数...

【专利技术属性】
技术研发人员:吴易昇李沅修
申请(专利权)人:宏碁股份有限公司
类型:发明
国别省市:中国台湾,71

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1