終端設備及封包處理方法
【技術領域】
[0001] 本發明涉及一種數據處理技術,尤其是涉及一種終端設備及封包處理方法。
【背景技術】
[0002] A-MSDU (Aggregate-MAC Service Data Unit,聚集媒介訪問控制服務數據單元) 技術是把多個MSDU通過一定的方式聚合成一個較大的載荷。例如,當終端設備從無線接入 點接收到TCP (^ansmission Control Protocol,傳輸控制協議)封包后,可W將產生的多 個TCP ACK (確認)頓聚集成一個A-MSDU封包,然后將該A-MSDU封包發送至無線接入點, 從而減少應答次數,提高發送效率。
[0003] 但是,目前A-MSDU封包的傳送時間間隔(Timeout)和數據最大值(Packet Size) 一般是固定的,而網絡環境卻是復雜多變的,如果不能根據網絡環境的變化而對A-MSDU封 包進行調整,會影響數據吞吐量或造成數據延遲。例如,當用戶在終端設備上觀看實時電視 時,聚集A-MSDU封包可能會超時,造成視頻數據延遲,從而不能流暢地播放視頻,影響用戶 體驗。而在終端設備上進行大批量數據下載時,需要頻繁地聚集TCP ACK頓并發送A-MSDU 封包,可能會影響下載時的數據吞吐量。
【發明內容】
[0004] 鑒于W上內容,有必要提供一種終端設備,可W動態調整A-MSDU封包的傳送時間 間隔和數據最大值。
[000引鑒于W上內容,還有必要提供一種封包處理方法,可W動態調整A-MSDU封包的傳 送時間間隔和數據最大值。
[0006] 所述終端設備包括;設置模塊,用于設置A-MSDU封包的傳送時間間隔的第一默認 值與數據最大值的第二默認值,W及數據傳輸速度的第一口限值和第二口限值,其中所述 第一口限值小于所述第二口限值;所述設置模塊還用于設置用來調整所述傳送時間間隔的 第一預設值和用來調整所述數據最大值的第二預設值;接收模塊,用于從無線接入點接收 TCP封包;建立模塊,用于聚集針對接收到的TCP封包所產生的TCP ACK頓,W建立A-MSDU 封包;判斷模塊,用于比較當前的數據傳輸速度與所述第一口限值和第二口限值;調整模 塊,用于若當前的數據傳輸速度小于或等于所述第一口限值,且向所述無線接入點發送的 A-MSDU封包連續發生若干次超時,將所述傳送時間間隔減少所述第一預設值,并依據調整 后的傳送時間間隔重新計算所述數據最大值;W及所述調整模塊還用于若當前的數據傳輸 速度大于或等于所述第二口限值,且建立的A-MSDU封包連續若干次達到所述數據最大值, 將所述數據最大值增加所述第二預設值。
[0007] 所述封包處理方法包括步驟:設置A-MSDU封包的傳送時間間隔的第一默認值與 數據最大值的第二默認值,W及數據傳輸速度的第一口限值和第二口限值,其中所述第一 口限值小于所述第二口限值;設置用來調整所述傳送時間間隔的第一預設值和用來調整所 述數據最大值的第二預設值;從無線接入點接收TCP封包;聚集針對接收到的TCP封包所 產生的TCP ACK頓,W建立A-MSDU封包;比較當前的數據傳輸速度與所述第一口限值和第 二口限值;若當前的數據傳輸速度小于或等于所述第一口限值,且向所述無線接入點發送 的A-MSDU封包連續發生若干次超時,將所述傳送時間間隔減少所述第一預設值,并依據調 整后的傳送時間間隔重新計算所述數據最大值;W及若當前的數據傳輸速度大于或等于所 述第二口限值,且建立的A-MSDU封包連續若干次達到所述數據最大值,將所述數據最大值 增加所述第二預設值。
[0008] 相較于現有技術,所述的終端設備及封包處理方法,能夠根據當前網絡負載狀態, 調整A-MSDU封包的傳送時間間隔和數據最大值,從而保證在不同的網絡負載狀態下均W 適當的吞吐量和延時向無線接入點發送A-MSDU封包。
【附圖說明】
[0009] 圖1是本發明終端設備較佳實施例的功能模塊圖。
[0010] 圖2是本發明封包處理方法較佳實施例的流程圖。
[0011] 主要元件符號說明
如下【具體實施方式】將結合上述附圖進一步說明本發明。
【具體實施方式】
[0012] 參閱圖1所示,是本發明終端設備2較佳實施例的功能模塊圖。所述終端設備2 中包括封包處理系統10、存儲器20和處理器30。在本實施例中,所述終端設備2可W是裝 有無線網卡的計算機或有WiFi功能的智能手機等,W無線方式連接于無線接入點4,通過 無線接入點4接入無線局域網。
[0013] 所述封包處理系統10用于根據當前網絡負載狀態(數據傳輸速度),調整A-MSDU 封包的傳送時間間隔和數據最大值,使終端設備2在不同的網絡負載狀態下均W適當的吞 吐量和延時向無線接入點4發送A-MSDU封包。
[0014] 所述封包處理系統10包括設置模塊100、接收模塊200、建立300、判斷模塊400、 調整模塊500及發送模塊600。所述模塊被配置成由一個或多個處理器(本實施例為處理 器30)執行,W完成本發明。本發明所稱的模塊是完成一特定功能的計算機程序段。存儲 器20用于存儲封包處理系統10的程序代碼等資料。
[001引所述設置模塊100用于設置A-MSDU封包的傳送時間間隔的第一默認值與數據最 大值的第二默認值,W及數據傳輸速度的第一口限值和第二口限值,其中第一口限值小于 第二口限值。在本實施例中,所述第一口限值為5Mbps(兆比特每砂),第二口限值為40Mbps。 設置模塊100將W上設置的各個參數保存在存儲器20中。
[0016] 所述設置模塊100還用于設置用來調整傳送時間間隔的第一預設值和用來調整 數據最大值的第二預設值。
[0017] 所述接收模塊200用于從無線接入點4接收TCP封包。
[0018] 所述建立模塊300用于聚集針對接收到的TCP封包所產生的TCP ACK頓,W建立 A-MSDU封包。在本實施例中,建立模塊300根據所述傳送時間間隔和數據最大值將若干個 TCP ACK頓聚集成一個A-MSDU封包。例如,傳送時間間隔為15ms (毫砂),每2~3ms產生一 個TCP ACK頓,建立模塊300將6個TCP ACK頓聚集成一個A-MSDU封包。
[0019] 所述判斷模塊400用于比較當前的數據傳輸速度與所設置的第一口限值和第二 口限值。
[0020] 所述判斷模塊400還用于當當前的數據傳輸速度小于或等于第一口限值時,判斷 向無線接入點4發送的A-MSDU封包是否連續發生H次超時。
[0021] 所述調整模塊500用于當連續發生H次超時時,將傳送時間間隔減少第一預設 值,并依據調整后的傳送時間間隔重新計算數據最大值。在本實施例中,所述第一預設值為 傳送一個最大傳輸單兀(MTU)的時間。
[0022] 例如,在終端設備2播放實時電視過程中,數據傳輸速度為5Mbp S,MTU為 150化八63 (字節),TCP ACK頓為SObytes,傳送時間間隔的第一默認值為15ms,數據最 大值的第二默認值為leOObytes。判斷模塊400判斷出當前的數據傳輸速度等于第一 口限值,若向無線接入點4發送的A-MSDU封包連續發生H次超時,則調整模塊500將 傳送時間間隔減少第一預設值(150^^es/5Mbps=2. 3ms),即調整后的傳送時間間隔 為15ms-2. 3ms=12. 7ms,而依據該調整后的傳送時間間隔重新計算出的數據最大值為 80*(12. 7/2. 3)=400bytes〇
[0023] 所述判斷模塊400還用于當當前的數據傳輸速度大于或等于第二口限值時,判斷 建立的A-MSDU封包是否連續H次達到數據最大值。
[0024] 所述調整模塊500還用于當建立的A-MSDU封包連續H次達到數據最大值時,將 A-MSDU封包的數據最大值增加第二預設值。在本實施例中,所述第二預設值為一個TCP ACK 頓的大小。
[00巧]例如,在終端設備2進行大批量數據下載時,數據傳輸速度為40Mbps,MTU為 150^^es,TCP ACK頓為SObytes,傳送時間間隔的第一默認值為15ms,數據最大值的第二 默認值為leOObytes。判斷模塊400判斷出當前的數據傳輸速度等于第二口限值,若建立 的A-MSDU封包連續H次達到數據最大值,則調整模塊500將數據最大值增加第二預設值 (80b}ftes),即調整后的數據最大值為 1600bytes+80bytes=1680bytes〇
[0026] 所述調整模塊500還用于當當前的數據傳輸速度大于第一口限值且小于第二口 限值時,將傳送時間間隔與數據最大值分別設置為所述第一默認值和第二默認值。也就是 說,若此前曾經對傳送時間間隔與數據最大值進行調整,則在當前的數據傳輸速度大于第 一口限值且小于第二口限值時會將傳送時間間隔與數