一種控制傳輸控制協(xié)議窗口調(diào)整的方法和無(wú)線接入點(diǎn)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實(shí)施例涉及通訊領(lǐng)域,尤其涉及一種控制傳輸控制協(xié)議窗口調(diào)整的方法和無(wú)線接入點(diǎn)。
【背景技術(shù)】
[0002]隨著無(wú)線網(wǎng)絡(luò)的普及,越來(lái)越多的用戶開始使用無(wú)線終端,而無(wú)線終端需要通過(guò)無(wú)線接入點(diǎn)(Access Point,簡(jiǎn)稱AP)建立與服務(wù)器之間的傳輸控制協(xié)議(Transmiss1nControl Protocol,簡(jiǎn)稱TCP)連接來(lái)與服務(wù)器傳輸數(shù)據(jù)。服務(wù)器向無(wú)線終端傳輸數(shù)據(jù)后,無(wú)線終端需要向服務(wù)器返回確認(rèn)(acknowledgement,簡(jiǎn)稱ACK)報(bào)文,表示從服務(wù)器發(fā)來(lái)的數(shù)據(jù)已確認(rèn)接收無(wú)誤。ACK報(bào)文是發(fā)送端和接收端通過(guò)TCP連接進(jìn)行數(shù)據(jù)通信時(shí),接收端發(fā)送給發(fā)送端的一種傳輸類控制報(bào)文,用于表示從發(fā)送端發(fā)來(lái)的數(shù)據(jù)已確認(rèn)接收無(wú)誤。
[0003]目前,無(wú)線鏈路層驅(qū)動(dòng)為了節(jié)省空口帶寬消耗,無(wú)線終端向AP發(fā)送報(bào)文時(shí)會(huì)進(jìn)行聚合處理,將多個(gè)報(bào)文聚合到一個(gè)大報(bào)文,形成聚合報(bào)文后一次發(fā)送到AP,所以一個(gè)聚合報(bào)文中可能含有多個(gè)ACK報(bào)文,AP從聚合報(bào)文解析出多個(gè)ACK報(bào)文后,會(huì)將解析出的多個(gè)ACK報(bào)文同時(shí)發(fā)送給服務(wù)器。
[0004]但是,AP在極短的時(shí)間內(nèi)將多個(gè)ACK報(bào)文連續(xù)發(fā)送給服務(wù)器,服務(wù)器短時(shí)間內(nèi)連續(xù)收到多個(gè)ACK報(bào)文,按照TCP協(xié)議的規(guī)定,會(huì)造成服務(wù)器瞬時(shí)擴(kuò)大TCP窗口,給終端發(fā)送更多的報(bào)文,報(bào)文流量可能會(huì)超過(guò)服務(wù)器和無(wú)線終端間網(wǎng)絡(luò)的帶寬限制,導(dǎo)致網(wǎng)絡(luò)丟包,從而使服務(wù)器又減小TCP發(fā)送窗口,造成服務(wù)器和無(wú)線終端間TCP窗口的低位震蕩。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供了一種控制傳輸控制協(xié)議窗口調(diào)整的方法和無(wú)線接入點(diǎn),用于在AP上控制ACK報(bào)文的發(fā)送,避免無(wú)線終端與服務(wù)器之間的TCP窗口震蕩。
[0006]本發(fā)明第一方面提供了一種控制傳輸控制協(xié)議TCP窗口調(diào)整的方法,包括:
[0007]無(wú)線接入點(diǎn)AP緩存第一確認(rèn)ACK報(bào)文到第一隊(duì)列中,所述第一隊(duì)列為無(wú)線終端與服務(wù)器間第一 TCP連接對(duì)應(yīng)的隊(duì)列;
[0008]所述AP根據(jù)所述AP與所述服務(wù)器間的網(wǎng)絡(luò)帶寬計(jì)算發(fā)送所述第一隊(duì)列中ACK報(bào)文的第一間隔時(shí)間;
[0009]所述AP按照所述第一間隔時(shí)間向所述服務(wù)器發(fā)送所述第一隊(duì)列中的ACK報(bào)文。
[0010]結(jié)合本發(fā)明實(shí)施例的第一方面,本發(fā)明實(shí)施例的第一方面的第一種實(shí)現(xiàn)方式中,所述AP根據(jù)所述AP與所述服務(wù)器間的網(wǎng)絡(luò)帶寬計(jì)算發(fā)送所述第一隊(duì)列中ACK報(bào)文的第一間隔時(shí)間包括:
[0011 ] 所述AP根據(jù)所述AP與所述服務(wù)器間的網(wǎng)絡(luò)帶寬和所述第一 TCP連接占用總帶寬的權(quán)重,計(jì)算發(fā)送所述第一隊(duì)列中ACK報(bào)文的第一間隔時(shí)間。
[0012]結(jié)合本發(fā)明實(shí)施例的第一方面或第一方面的第一種實(shí)現(xiàn)方式,本發(fā)明實(shí)施例的第一方面的第二種實(shí)現(xiàn)方式中,在所述無(wú)線接入點(diǎn)AP緩存第一 ACK報(bào)文到第一隊(duì)列中之前,還包括:
[0013]所述AP接收所述無(wú)線終端發(fā)送的第一聚合報(bào)文,所述第一聚合報(bào)文中包括所述第一 ACK報(bào)文;
[0014]所述AP從所述第一聚合報(bào)文中提取所述第一 ACK報(bào)文。
[0015]結(jié)合本發(fā)明實(shí)施例的第一方面的第二種實(shí)現(xiàn)方式,本發(fā)明實(shí)施例的第一方面的第三種實(shí)現(xiàn)方式中,所述第一聚合報(bào)文中還包括第二 ACK報(bào)文;
[0016]所述方法還包括:
[0017]所述AP從所述第一聚合報(bào)文中提取所述第二 ACK報(bào)文;
[0018]所述AP緩存所述第二 ACK報(bào)文到第二隊(duì)列中,所述第二隊(duì)列為所述無(wú)線終端所述與服務(wù)器間第二 TCP連接對(duì)應(yīng)的隊(duì)列;
[0019]所述AP根據(jù)所述AP與所述服務(wù)器間的網(wǎng)絡(luò)帶寬計(jì)算發(fā)送所述第二隊(duì)列中ACK報(bào)文的第二間隔時(shí)間;
[0020]所述AP按照所述第二間隔時(shí)間向所述服務(wù)器發(fā)送所述第二隊(duì)列中的ACK報(bào)文。
[0021]結(jié)合本發(fā)明實(shí)施例的第一方面或第一方面的第一種實(shí)現(xiàn)方式,本發(fā)明實(shí)施例的第一方面的第四種實(shí)現(xiàn)方式中,在所述無(wú)線接入點(diǎn)AP緩存第一 ACK報(bào)文到第一隊(duì)列中之前,還包括:
[0022]當(dāng)所述AP給所述無(wú)線終端發(fā)送數(shù)據(jù)報(bào)文成功時(shí),所述AP從中斷通知中解析出發(fā)送成功的數(shù)據(jù)報(bào)文的序列號(hào);
[0023]所述AP生成所述第一 ACK報(bào)文,所述第一 ACK報(bào)文的序列號(hào)為所述AP從所述中斷通知中解析出的所述發(fā)送成功的數(shù)據(jù)報(bào)文的序列號(hào)。
[0024]本發(fā)明實(shí)施例第二方面提供了一種無(wú)線接入點(diǎn)AP,包括:
[0025]第一緩存模塊,用于緩存第一確認(rèn)ACK報(bào)文到第一隊(duì)列中,所述第一隊(duì)列為無(wú)線終端與服務(wù)器間第一 TCP連接對(duì)應(yīng)的隊(duì)列;
[0026]第一計(jì)算模塊,用于根據(jù)所述AP與所述服務(wù)器間的網(wǎng)絡(luò)帶寬計(jì)算發(fā)送所述第一隊(duì)列中ACK報(bào)文的第一間隔時(shí)間;
[0027]第一發(fā)送模塊,用于按照所述第一間隔時(shí)間向所述服務(wù)器發(fā)送所述第一隊(duì)列中的ACK報(bào)文。
[0028]結(jié)合本發(fā)明實(shí)施例的第二方面,本發(fā)明實(shí)施例的第二方面的第一種實(shí)現(xiàn)方式中,所述第一計(jì)算模塊具體用于,根據(jù)所述AP與所述服務(wù)器間的網(wǎng)絡(luò)帶寬和所述第一 TCP連接占用總帶寬的權(quán)重,計(jì)算發(fā)送所述第一隊(duì)列中ACK報(bào)文的第一間隔時(shí)間。
[0029]結(jié)合本發(fā)明實(shí)施例的第二方面或第二方面的第一種實(shí)現(xiàn)方式,本發(fā)明實(shí)施例的第二方面的第二種實(shí)現(xiàn)方式中,所述AP還包括:
[0030]接收模塊,用于接收所述無(wú)線終端發(fā)送的第一聚合報(bào)文,所述第一聚合報(bào)文中包括所述第一 ACK報(bào)文;
[0031]第一提取模塊,用于從所述第一聚合報(bào)文中提取所述第一 ACK報(bào)文。
[0032]結(jié)合本發(fā)明實(shí)施例的第二方面的第二種實(shí)現(xiàn)方式,本發(fā)明實(shí)施例的第二方面的第三種實(shí)現(xiàn)方式中,所述第一聚合報(bào)文中還包括第二 ACK報(bào)文;
[0033]所述AP還包括:
[0034]第二提取模塊,用于從所述第一聚合報(bào)文中提取所述第二 ACK報(bào)文;
[0035]第二緩存模塊,用于緩存所述第二 ACK報(bào)文到第二隊(duì)列中,所述第二隊(duì)列為所述無(wú)線終端與所述服務(wù)器間第二 TCP連接對(duì)應(yīng)的隊(duì)列;
[0036]第二計(jì)算模塊,用于根據(jù)所述AP與所述服務(wù)器間的網(wǎng)絡(luò)帶寬計(jì)算發(fā)送所述第二隊(duì)列中ACK報(bào)文的第二間隔時(shí)間;
[0037]第二發(fā)送模塊,用于按照所述第二間隔時(shí)間向所述服務(wù)器發(fā)送所述第二隊(duì)列中的ACK報(bào)文。
[0038]結(jié)合本發(fā)明實(shí)施例的第二方面或第二方面的第一種實(shí)現(xiàn)方式,本發(fā)明實(shí)施例的第二方面的第四種實(shí)現(xiàn)方式中,所述AP還包括:
[0039]解析模塊,用于當(dāng)所述AP給所述無(wú)線終端發(fā)送數(shù)據(jù)報(bào)文成功時(shí),從中斷通知中解析出發(fā)送成功的數(shù)據(jù)報(bào)文的序列號(hào);
[0040]生成模塊,用于生成所述第一 ACK報(bào)文,所述第一 ACK報(bào)文的序列號(hào)為所述AP從所述中斷通知中解析出的所述發(fā)送成功的數(shù)據(jù)報(bào)文的序列號(hào)。
[0041]根據(jù)本發(fā)明實(shí)施例提供的技術(shù)方案,AP緩存第一 ACK報(bào)文到第一隊(duì)列中,根據(jù)該AP與服務(wù)器間的網(wǎng)絡(luò)帶寬計(jì)算發(fā)送該第一隊(duì)列中ACK報(bào)文的第一間隔時(shí)間,再按照第一間隔時(shí)間向該服務(wù)器發(fā)送該第一隊(duì)列中的ACK報(bào)文,避免了服務(wù)器在極短的時(shí)間段內(nèi)接收到過(guò)多的ACK報(bào)文,按照TCP協(xié)議滑動(dòng)窗口機(jī)制,通過(guò)控制一段時(shí)間內(nèi)服務(wù)器接收到的ACK報(bào)文的多少,可以控制服務(wù)器的TCP窗口增大或減小的速率,這樣就使得無(wú)線終端與服務(wù)器之間的TCP窗口能穩(wěn)定的擴(kuò)大,避免了 TCP窗口的震蕩,提高了無(wú)線終端與服務(wù)器之間有效帶寬的利用率。
【附圖說(shuō)明】
[0042]圖1為本發(fā)明實(shí)施例提供的控制TCP窗口調(diào)整的方法的一個(gè)流程示意圖;
[0043]圖2為本發(fā)明實(shí)施例提供的控制TCP窗口調(diào)整的方法的另一個(gè)流程示意圖;
[0044]圖3為本發(fā)明實(shí)施例提供的控制TCP窗口調(diào)整的方法的又一個(gè)流程示意圖;
[0045]圖4為本發(fā)明實(shí)施例提供的無(wú)線接入點(diǎn)的一個(gè)結(jié)構(gòu)示意圖;
[0046]圖5為本發(fā)明實(shí)施例提供的無(wú)線接入點(diǎn)的另一個(gè)結(jié)構(gòu)示意圖;
[0047]圖6為本發(fā)明實(shí)施例提供的無(wú)線接入點(diǎn)的又一個(gè)結(jié)構(gòu)示意圖;
[0048]圖7為本發(fā)明實(shí)施例提供的無(wú)線接入點(diǎn)的另一個(gè)結(jié)構(gòu)示意圖;
[0049]圖8為本發(fā)明實(shí)施例提供的控制TCP窗口調(diào)整的系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0050]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0051]請(qǐng)參閱圖1,為本發(fā)明實(shí)施例提供的一種控制TCP窗口調(diào)整的方法,包括:
[0052]10UAP緩存第一 ACK報(bào)文到第一隊(duì)列中;
[0053]AP得到第一 ACKACK報(bào)文后,可以將其緩存到第一隊(duì)列中,該第一隊(duì)列為無(wú)線終端與服務(wù)器間第一 TCP連接對(duì)應(yīng)的隊(duì)列,該第一 ACK報(bào)文可以為該第一 TCP連接傳輸?shù)臄?shù)據(jù)報(bào)文的確認(rèn)。
[0054]102、AP根據(jù)AP與服務(wù)器間的網(wǎng)絡(luò)帶寬計(jì)算發(fā)送該第一隊(duì)列中ACK報(bào)文的第一間隔時(shí)間;
[0055]該AP將該第一 ACK報(bào)文緩存到該第一隊(duì)列中后,按照該AP與服務(wù)器間的網(wǎng)絡(luò)帶寬計(jì)算發(fā)送該第一隊(duì)列中ACK報(bào)文的第一間隔時(shí)間,從而可以控制服務(wù)器的TCP窗口的調(diào)整,最大效率的利用網(wǎng)絡(luò)帶寬。
[0056]可以理解的是,計(jì)算該第一隊(duì)列中ACK報(bào)文的間隔時(shí)間