一种控制传输控制协议窗口调整的方法和无线接入点的制作方法_3

文档序号:8490465阅读:来源:国知局
,以缓存到队列中的ACK报文是AP根据数据报文发送成功时产生的中断通知主动生成的ACK报文为例,对本发明技术方案做进一步说明。请参阅图3,为本发明实施例提供的控制TCP窗口调整的又一种方法,包括:
[0101]30UAP从中断通知中解析出发送成功的数据报文的序列号;
[0102]AP收到服务器发送给无线终端的数据报文后,将该数据报文发送给无线终端,如果发送成功,AP会生成中断通知,该中断通知中包括该发送成功的数据报文的序列号,则AP从该中断通知中解析出该发送成功的数据报文的序列号。
[0103]302、AP生成第一 ACK报文,该第一 ACK报文的序列号为该AP从中断通知中解析出的该发送成功的数据报文的序列号;
[0104]AP从中断通知中解析出该发送成功的数据报文的序列号后,生成该第一 ACK报文,该第一 ACK报文的序列号为AP从中断通知中解析出的序列号。
[0105]该第一 ACK报文可以为一个ACK报文,也可以表不一类ACK报文,即多个对第一TCP连接传输的数据报文的确认报文。
[0106]303、AP缓存该第一 ACK报文到第一队列中;
[0107]该第一队列为无线终端与服务器间第一 TCP连接对应的队列,该第一 ACK报文是对经过该第一 TCP连接传输的数据报文的确认报文。
[0108]该AP还可以生成第二 ACK报文,并将该第二 ACK报文缓存至第二队列中,该第二队列为该无线终端与该服务器间第二 TCP连接对应的队列,该第二 ACK报文是对经过该第二TCP连接传输的数据报文的确认报文。同样,该第二 ACK报文可以为一个ACK报文,也可以表不一类ACK报文,即多个对第二 TCP连接传输的数据报文的确认报文。
[0109]304、该AP根据该AP与该服务器间的网络带宽计算发送该第一队列中ACK报文的第一间隔时间;
[0110]该AP将第一 ACK报文缓存到第一队列中后,按照该AP与该服务器间的网络带宽计算发送该第一队列中ACK报文的第一间隔时间,可以控制一段时间内服务器接收到的ACK报文的多少,从而可以控制服务器的第一 TCP窗口的调整,提升网络带宽的利用率。
[0111]可以理解的是,计算该第一队列中ACK报文的间隔时间的方式有很多种,可以根据该AP与该服务器间的网络带宽计算,也可以根据该AP与该服务器间的网络带宽和该第一队列对应的第一 TCP连接占用总带宽的权重来计算,此处不作限定。
[0112]例如可以按照公式t= (seq2_seql) *8/ (factor*gts/100*weight)计算第一队列中发送ACK报文I与ACK报文2的间隔时间,其中seq2为ACK报文2的序列号,seql为ACK报文I的序列号,seq2大于seql, factor为延迟调节因子,gts为网络总带宽,weight为每个TCP连接占用总带宽的权重。除此之外,还可以有很多种其余的使间隔时间t与网络总带宽成反比的计算公式,此处不作限定。其中,延迟调节因子可以为根据网络带宽、网络路径等得到的经验值,例如可以取值为0.8,根据实际网络情况的不同也可以有各种不同的取值,或者可以省去,此处不作限定。
[0113]305、该AP按照该第一间隔时间向该服务器发送第一队列中的ACK报文。
[0114]该AP计算得到第一间隔时间后,按照该第一间隔时间向服务器发送第一队列中的ACK报文。
[0115]需要说明的是,按照TCP协议滑动窗口机制,根据AP发送ACK报文的间隔时间的不同,可以控制一段时间内服务器接收到的ACK报文的多少,从而控制服务器的TCP窗口增大或减小的速率。
[0116]可选地,AP在生成并缓存该第一 ACK报文到第一队列中后,该AP可以缓存该发送成功的数据报文,在该AP接收到该无线终端发送的第二聚合报文后,判断缓存的该发送成功的数据报文的序列号是否存在于该第二聚合报文中的ACK报文中,如果存在,则可以删除该缓存的发送成功的数据报文,如果不存在,则该AP可以重新发送该缓存的发送成功的数据报文到无线终端,直到从接收到的聚合报文中提取出与该发送成功的数据报文序列号相同的ACK报文。
[0117]本发明实施例中,当AP给无线终端发送数据报文成功后,该AP会产生中断,该中断中包括发送成功的数据报文的序列号,该AP可以从该中断中提取发送成功的数据报文的序列号,主动生成序列号为该提取的发送成功的数据报文的序列号的第一 ACK报文,并缓存至第一队列中,这样可以避免无线终端聚合多个报文带来的延时,提高数据传输处理的效率,使得服务器的TCP窗口可以及时得到调整。
[0118]为便于理解,下面以一具体应用场景对本发明实施例中控制传输控制协议窗口调整的方法进行具体描述:
[0119]AP在2个TCP连接上成功发送各2个数据报文给无线终端后,从中断通知中提取这4个发送成功的数据报文的序列号(分别为200,201,202与203);
[0120]AP生成与发送成功的数据报文的序列号相同的4个ACK报文(第一个TCP连接对应序列号为200与201的ACK报文,第二个TCP连接对应序列号为202与203的ACK报文);
[0121]AP缓存第一 ACK报文(序列号分别为200与201的ACK报文)到第一队列(与第一TCP连接对应的队列)中;
[0122]AP缓存第二 ACK报文(序列号分别为202与203的ACK报文)到第二队列(与第二TCP连接对应的队列)中;
[0123]AP可以同时缓存生成了 ACK报文的发送成功的数据报文(序列号分别为200,201,202 与 203);
[0124]若网络总带宽为200K,第一 TCP连接占总带宽的权重为20%,第二 TCP连接占总带宽的权重为80%,
[0125]AP 按照公式 t= (seq2_seql) *8/ (factor*gts/100*weight)计算发送 ACK 报文的间隔时间,得到第一队列中发送相邻两个ACK报文的第一间隔时间为1ms,第二 ACK队列中发送相邻两个ACK报文的第二间隔时间为4ms ;
[0126]AP按照计算出的第一间隔时间(Ims)依次向服务器发送第一队列中的ACK报文;
[0127]AP按照计算出的第二间隔时间(4ms)依次向服务器发送第二队列中的ACK报文;
[0128]AP接收到无线终端发送的聚合报文后,提取其中的ACK报文得到序列号为200,201与203的3个ACK报文;
[0129]AP比较从聚合报文中提取的ACK报文(序列号为200,201与203)与缓存的成功报文(序列号为200,201,202与203),得到聚合报文中没有序列号为202的ACK报文;
[0130]AP可以重新发送缓存的序列号为202的发送成功的数据报文至无线终端,直到从接收到的聚合报文中提取出到序列号为202的ACK报文。
[0131]请参阅图4,本发明实施例提供了一种无线接入点,包括:
[0132]第一缓存模块401,用于缓存第一确认ACK报文到第一队列中,该第一队列为无线终端与服务器间第一 TCP连接对应的队列;
[0133]第一计算模块402,用于根据该AP与该服务器间的网络带宽计算发送该第一队列中ACK报文的第一间隔时间;
[0134]第一发送模块403,用于按照该第一间隔时间向该服务器发送该第一队列中的ACK报文;
[0135]该第一计算模块402具体可以用于,根据该AP与该服务器间的网络带宽和该第一TCP连接占用总带宽的权重,计算发送该第一队列中ACK报文的第一间隔时间。
[0136]本发明实施例中,第一缓存模块401缓存第一 ACK报文到第一队列中,该第一队列为无线终端与服务器间第一 TCP连接对应的队列,第一计算模块402再根据AP与服务器间的网络带宽计算发送该第一队列中ACK报文的第一间隔时间,第一发送模块403再按照第一间隔时间依次向服务器发送该第一队列中的ACK报文,避免了服务器在极短的时间段内接收到过多的ACK报文,按照TCP协议滑动窗口机制,通过控制一段时间内服务器接收到的ACK报文的多少,可以控制服务器的TCP窗口增大或减小的速率,这样就使得终端与服务器之间的TCP窗口能稳定的扩大,避免了 TCP窗口的震荡,提高了终端与服务器之间有效带宽的利用率。
[0137]上面实施例中,第一缓存模块401缓存第一 ACK报文到第一队列中,在实际应用中,缓存到队列中的ACK报文可以是由AP从无线终端发送的聚合报文中提取出来的,也可以是AP产生中断通知时,根据中断通知主动生成的。
[0138]请参阅图5,本发明实施例提供了另一种无线接入点,包括:
[0139]第一缓存模块501,用于缓存第一确认ACK报文到第一队列中,该第一队列为无线终端与服务器间第一 TCP连接对应的队列;
[0140]第一计算模块502,用于根据该AP与该服务器间的网络带宽计算发送该第一队列中ACK报文的第一间隔时间;
[0141]第一发送模块503,用于按照该第一间隔时间向该服务器发送该第一队列中的ACK报文;
[0142]该第一计算模块502具体可以用于,根据该AP与该服务器间的网络带宽和该第一TCP连接占用总带宽的权重,计算发送该第一队列中ACK报文的第一间隔时间;
[0143]本实施例中,该无线接入点还包括:
[0144]接收模块504,用于接收该无线终端发送的第一聚合报文,该第一聚合报文中包括该第一 ACK报文;
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1