一種流量整形方法及網絡設備與流程
2023-06-01 09:15:06 2
本發明涉及移動通信技術領域,尤其涉及一種流量整形方法及網絡設備。
背景技術:
在移動通信技術領域,基站設備部署於運營商核心網絡之下,用於處理空中接口與網絡之間報文的交換與轉發。基站設備可通過流量整形,控制報文的交換與轉發的速率。
令牌桶算法為現有技術中一種常用的流量整形方法,其採用定時定量轉發策略來控制基站設備轉發報文的速率。具體來說,基站設備以一定速率向令牌桶中增加令牌,基站設備轉發數據包時會消耗令牌桶中的令牌,且消耗的令牌的數量與報文的數據量成正比。當待轉發報文的數據量小於令牌桶中令牌的數量時,基站設備可正常向下遊設備發送待轉發報文,而當待轉發報文的數據量大於令牌桶中令牌的數量時,則等待令牌桶中積累了足夠多的令牌後,再將待轉發報文發送給下遊設備。然而,由於大部分報文的數據較大,當基站設備在短時間內接收到大量的報文時,會導致基站設備的緩存被待轉發報文迅速佔滿,若待轉發報文的數據量遠大於令牌桶中令牌的最大容量,則可能會由於沒有足夠的令牌,而使得基站設備將部分報文丟棄,流量整形的效果較差,並因此影響數據傳輸性能。
綜上,目前亟需要一種流量整形方法,用以有效提高基站流量整形的效果,提升數據傳輸性能。
技術實現要素:
本發明提供一種流量整形方法及網絡設備,用於有效提高基站流量整形的效果,提升數據傳輸性能。
本發明實施例提供的一種流量整形方法,包括:
網絡設備獲取當前時間對應的設定時間段內的待處理報文;
所述網絡設備確定所述待處理報文為第一類型TCP應答報文後,計算所述網絡設備在當前時間對應的設定時間段內的報文轉發速率;
所述網絡設備確定所述當前時間對應的設定時間段內的報文轉發速率小於等於第一閾值後,發送所述第一類型TCP應答報文。
可選地,所述方法還包括:
所述網絡設備若確定所述當前時間對應的設定時間段內的報文轉發速率大於第一閾值,則將所述第一類型TCP應答報文設置為當前時間對應的設定時間段內的已處理報文。
可選地,所述方法還包括:
所述網絡設備若確定所述待處理報文為TCP數據報文後,則發送所述TCP數據報文。
可選地,所述網絡設備計算所述網絡設備在當前時間對應的設定時間段內的報文轉發速率,包括:
所述網絡設備計算在當前時間對應的設定時間段內通過一個或多個第一類型TCP連接發送的第一類型TCP應答報文的應答號總跨度;
所述網絡設備根據所述應答號總跨度和所述當前時間對應的設定時間段的長度,確定所述網絡設備在當前時間對應的設定時間段內的報文轉發速率。
可選地,所述第一類型TCP應答報文為上行TCP應答報文,所述第一類型TCP連接為下載TCP連接;或者,
所述第一類型報文為下行TCP應答報文,所述第一類型TCP連接為上傳TCP連接。本發明實施例提供的一種網絡設備,包括:
獲取模塊,用於獲取當前時間對應的設定時間段內的待處理報文;
處理模塊,用於確定所述待處理報文為第一類型TCP應答報文後,計算所述網絡設備在當前時間對應的設定時間段內的報文轉發速率;
發送模塊,用於確定所述當前時間對應的設定時間段內的報文轉發速率小於等於第一閾值後,發送所述第一類型TCP應答報文。
可選地,所述處理模塊還用於:
若確定所述當前時間對應的設定時間段內的報文轉發速率大於第一閾值,則將所述第一類型TCP應答報文設置為當前時間對應的設定時間段內的已處理報文。
可選地,所述發送模塊還用於:
若所述處理模塊確定所述待處理報文為TCP數據報文後,發送所述TCP數據報文。
可選地,所述處理模塊具體用於:
計算在當前時間對應的設定時間段內通過一個或多個第一類型TCP連接發送的第一類型TCP應答報文的應答號總跨度;
根據所述應答號總跨度和所述當前時間對應的設定時間段的長度,確定所述網絡設備在當前時間對應的設定時間段內的報文轉發速率。
可選地,所述第一類型TCP應答報文為上行TCP應答報文,所述第一類型TCP連接為下載TCP連接;或者,
所述第一類型報文為下行TCP應答報文,所述第一類型TCP連接為上傳TCP連接。
本發明實施例中,網絡設備通過獲取當前時間對應的設定時間段內的待處理報文,確定待處理報文為第一類型TCP應答報文後,計算當前時間對應的設定時間段內的報文轉發速率,並在確定報文轉發速率小於等於第一閾值後,發送第一類型TCP應答報文。由於網絡設備在獲取到待處理報文後,確定計算得到的當前時間對應的設定時間段內的報文轉發速率小於等於第一閾值後,才發送第一類型TCP應答報文,從而調整下遊設備響應接收到的應答報文而發送數據報文的速率,避免由於網絡上突發流量過多而發生的網絡擁堵的情況,因而,有效提高了網絡設備的流量整形的效果,提升了數據傳輸性能。
附圖說明
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域的普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例適用的系統架構圖;
圖2為本發明實施例中的一種流量整形方法所對應的流程示意圖;
圖3為本發明實施例中的計算報文轉發速率的方法所對應的流程示意圖;
圖4為本發明實施例中的一種網絡設備的結構示意圖。
具體實施方式
為了使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明作進一步地詳細描述,顯然,所描述的實施例,僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬於本發明保護的範圍。
下面結合說明書附圖對本發明實施例做進一步詳細描述。
圖1為本發明實施例適用的一種系統架構示意圖,如圖1所示,該系統架構中包括伺服器101,網絡設備102,一個或多個終端(如圖1中的第一終端1031、第二終端1032、第三終端1033),其中,伺服器101通過運營商的核心網與網絡設備102連接,網絡設備102通過無線網絡與其覆蓋範圍內的一個或多個終端連接。
本發明實施例中,伺服器101與終端(例如:第一終端1031、第二終端1032、第三終端1033)可通過網絡設備102的轉發功能實現通信。其中,伺服器101向終端發送報文的過程為下行通信過程,具體為,伺服器將下行報文通過核心網發送給網絡設備,網絡設備接收到該報文後,進一步將下行報文轉發給終端,在此過程中,伺服器為上遊設備,終端為下遊設備;終端向伺服器101發送報文的過程為上行通信過程,具體為,終端通過無線網絡向為其提供無線信號服務的網絡設備發送上行報文,網絡設備接收到終端發送的上行報文後,將此上行報文轉發給伺服器101,在此過程中,終端為上遊設備,伺服器為下遊設備。
下面具體說明在上行通信過程或下行通信過程中,網絡設備的轉發過程。
本發明實施例中,網絡設備中可設置有用於存儲報文的緩存單元,緩存單元中可存儲多種類型的報文,例如,TCP數據報文和TCP應答報文。其中,TCP數據報文包括上遊設備向下遊設備發送的具體數據,TCP應答報文為下遊設備接收到上遊設備發送的TCP數據報文後向上遊設備返回的,用於表示已收到該TCP數據報文的確認消息,每個TCP應答報文可對應一個應答號。TCP應答報文的應答號為對應的TCP數據報文的最後一個字節對應的序列號加1的數值,用於表示該應答號以前的數據已被接收。
由於不同類型的報文中包含的數據量不同,因而,網絡設備的緩存單元中可存儲的報文的數量由網絡設備的緩存單元的容量和每個報文的數據量大小共同決定。
網絡設備接收上遊設備發送的報文後,判斷網絡設備中緩存單元的狀態,若確定緩存未滿,則緩存接收到的報文,以便於後續轉發給對應的下遊設備;若確定緩存已滿,則可直接丟棄接收到的報文。具體來說,網絡設備可監控經由自身透傳的終端與伺服器建立的一個或多個TCP連接(又可稱為TCP線程),包括其向下遊設備轉發接收到的報文的整個過程。
本發明實施例中,網絡設備中的TCP連接包括上傳TCP連接和下載TCP連接,其中,上傳TCP連接用於發送上行TCP數據報文和下行TCP應答報文,下載TCP連接用於發送下行TCP數據報文和上行TCP應答報文。
本發明實施例中,網絡設備可以是基站,基站是指一種部署在無線接入網用以提供無線通信功能的裝置。例如在2G網絡中提供基站功能的設備包括基地無線收發站(base transceiver station,BTS)和基站控制器(base station controller,BSC),3G網絡中提供基站功能的設備包括節點B(NodeB)和無線網絡控制器(radio network controller,RNC),在4G網絡中提供基站功能的設備包括演進的節點B(evolved NodeB,eNB),在5G網絡中提供基站功能的設備包括新無線節點B(New Radio NodeB,gNB),集中單元(Centralized Unit,CU),分布式單元(Distributed Unit)和新無線控制器。
本發明實施例中,終端可以是各種類型的移動終端,例如,移動終端可以是行動電話、平板電腦、移動網際網路設備(mobile Internet device,縮寫:MID)、可穿戴設備等,又如,移動終端也可以是可攜式、袖珍式、手持式、計算機內置的或者車載的行動裝置。
基於圖1所示的系統架構,圖2為本發明實施例提供的一種流量整形方法所對應的流程示意圖,如圖2所示,包括以下步驟201至步驟204:
步驟201:網絡設備獲取當前時間對應的設定時間段內的待處理報文;
步驟202:所述網絡設備確定所述待處理報文為第一類型TCP應答報文後,計算所述網絡設備在當前時間對應的設定時間段內的報文轉發速率;
步驟203:所述網絡設備確定所述當前時間對應的設定時間段內的報文轉發速率小於等於第一閾值後,發送所述第一類型TCP應答報文;
由於網絡設備在獲取到待處理報文後,確定計算得到的當前時間對應的設定時間段內的報文轉發速率小於等於第一閾值後,才發送第一類型TCP應答報文,從而間接調整了下遊設備響應接收到的應答報文而發送數據報文的節奏,避免由於網絡上突發流量過多而發生的網絡擁堵的情況,因而,有效提高了網絡設備的流量整形的效果,提升了移動數據接入網的數據傳輸性能。
本發明實施例中,可設置計時器,用於按照設定周期觸發網絡設備執行上述步驟201至步驟203,實現對緩存單元中存儲的各個報文的處理。其中,設定周期的時間長度可由本領域技術人員根據實際情況具體設置,例如設置為1毫秒。
需要說明的是,上述步驟201至步驟203為網絡設備對緩存單元中一個待處理報文的處理過程,本發明實施例中,由於緩存單元中可能會存儲有一個或一個以上的待處理報文,因此,在一個設定周期內,網絡設備可根據緩存單元中存儲的該設定周期內的待處理報文的接收時間的先後順序,循環執行上述步驟201至步驟203,從而對多個待處理報文進行處理。其中,一個設定周期內的待處理報文是指網絡設備在該設定周期起始時間之前接收到的尚未處理的報文。
具體來說,步驟201和步驟202中,當前時間對應的設定時間段即為當前時間對應的設定周期,網絡設備獲取當前時間對應的設定時間段內的待處理報文後,可通過多種方式確定待處理報文的類型。考慮到TCP應答報文和TCP數據報文的數據量大小存在明顯差異,即TCP應答報文的數據量較小,而TCP數據報文的數據量較大,因此,網絡設備可根據待處理報文的數據量大小,判斷待處理報文是TCP應答報文或TCP數據報文。
具體來說,網絡設備若確定待處理報文的數據量較大,如100位元組,則可確定待處理報文為TCP數據報文,此時,網絡設備可直接根據TCP數據報文的地址信息,將TCP數據報文發送給下遊設備。即,若TCP數據報文為上行TCP數據報文,則將該TCP數據報文發送給伺服器;若TCP數據報文為下行數據報文,則將該TCP數據報文發送給終端。
網絡設備若確定待處理報文的數據量較小,如1位元組,則可確定待處理報文為TCP應答報文,則網絡設備可計算在當前時間對應的設定時間段內的報文轉發速率;進一步地,網絡設備可根據TCP應答報文的地址信息,判斷該TCP應答報文為上行TCP應答報文或下行TCP應答報文,若網絡設備確定TCP應答報文為上行TCP應答報文,則網絡設備計算的報文轉發速率為上行報文轉發速率,若網絡設備確定TCP應答報文為下行TCP應答報文,則網絡設備計算的報文轉發速率為下行報文轉發速率。
本發明實施例中,報文轉發速率用于衡量網絡設備的報文轉發能力,以及預測網絡設備在當前時間對應的設定周期內已轉發的TCP應答報文成功到達下遊設備後,下遊設備在下一設定周期內向網絡設備發送的報文的數量或速率。
進一步地,在步驟203中,網絡設備若確定當前時間對應的設定時間段內的報文轉發速率小於等於第一閾值,則將TCP應答報文發送給對應的下遊設備,具體為:若TCP應答報文為終端發送給伺服器的上行TCP應答報文,則網絡設備將上行TCP應答報文發送給伺服器;若TCP應答報文為伺服器發送給終端的下行TCP應答報文,則網絡設備將下行TCP應答報文發送給終端。
本發明實施例中,第一閾值可由本領域技術人員根據網絡設備的傳輸帶寬來設置,例如,第一閾值可等於網絡設備的傳輸帶寬,若為上行通信過程,則第一閾值為網絡設備的下行傳輸帶寬,若為下行通信過程,則第一閾值為網絡設備的上行傳輸帶寬。網絡設備的上行傳輸帶寬與下行傳輸帶寬可以相等,也可以不相等,此處不做具體限制。
進一步地,網絡設備將TCP應答報文發送給對應的下遊設備後,可以以TCP連接為記錄單位,以當前時間對應的設定時間段為時間單位,將發送TCP應答報文的應答號記錄在已發應答號隊列中。
下面對本發明實施例中報文轉發速率的具體計算過程進行說明。
圖3為網絡設備計算應答報文轉發速率的流程示意圖,如圖3所示,包括如下步驟301至步驟303:
步驟301:網絡設備計算在當前時間對應的設定時間段內不同方向(上行和下行)上,通過每個TCP連接已發送的TCP應答報文的應答號跨度。
具體來說,針對於每個下載TCP連接,網絡設備從應答號隊列中獲取到在當前時間對應的設定時間段內通過每個下載TCP連接已發送的上行TCP應答報文的應答號,例如,下載TCP連接A已發送的上行TCP應答報文的應答號分別為100,200,300,400,400,500,600,則該TCP連接A的上行應答號跨度為500,這意味著TCP連接A在當前時間對應的設定時間段內的轉發可拉動該TCP連接未來數據流的速率為500位元組/周期。
以此反推,針對於每個上傳TCP連接,網絡設備從應答號隊列中獲取到在當前時間對應的設定時間段內通過每個上傳TCP連接已發送的下行TCP應答報文的應答號,例如,上傳TCP連接B已發送的下行TCP應答報文的應答號分別為100,200,300,400,400,500,600,則該TCP連接B的下行應答號跨度為500,這意味著TCP連接B在當前時間對應的設定時間段內的轉發可拉動該TCP連接未來數據流的速率為500位元組/周期。
步驟302:網絡設備計算在當前時間對應的設定時間段內不同方向(上行和下行)上,通過一個或多個TCP連接發送的TCP應答報文的應答號總跨度。
例如,若網絡設備中包括2個下載TCP連接,TCP連接A的上行應答號跨度為500,TCP連接B的上行應答號跨度為700,則網絡設備確定的上行應答號總跨度為1200。若網絡設備中包括2個上傳TCP連接,TCP連接C的下行應答號跨度為500,TCP連接D的下行應答號跨度為700,則網絡設備確定的下行應答號總跨度為1200。
步驟303:網絡設備將應答號總跨度除以設定時間段的長度(即計時器的設定周期),得到所述網絡設備在當前時間對應的設定時間段內不同方向上的報文轉發速率。
本發明實施例中,網絡設備可直接將緩存單元中TCP數據報文直接轉發給下遊設備,而對緩存單元中的TCP應答報文的轉髮根據當前時間對應的設定時間段內的報文轉發速率進行控制,由於TCP應答報文的數據量通常遠小於TCP數據報文,因而,可大幅減小網絡設備對報文的緩存成本,以及網絡設備在流量整形的過程中的控制粒度,提高流量整形的效果。
本發明實施例中,由於網絡設備確定當前時間對應的設定時間段內的報文轉發速率小於等於網絡設備相應地的傳輸帶寬後,才將TCP應答報文轉發給下遊設備,從而可以保證下遊設備在接收到網絡設備在當前周期內轉發的TCP應答報文後,因響應接收到的TCP應答報文而向網絡設備發送的TCP數據報文的速率仍小於網絡設備相應的傳輸帶寬,進而規範了下遊設備響應接收到的TCP應答報文而發送TCP數據報文的速率,使其符合網絡設備在相應方向上的傳輸帶寬,提高了網絡設備的流量整形效果和抗突發能力。
網絡設備若確定當前時間對應的設定時間段內的報文轉發速率大於第一閾值,則說明當前時間對應的報文轉發速率已大於網絡設備相應方向上的傳輸帶寬,若將TCP應答報文發送給下遊設備,則可能使得下遊設備接收到該TCP應答報文後,因響應該報文而向上遊設備發送的數據存在著超載而發生網絡擁堵的可能。因此,網絡設備可將該TCP報文繼續存儲在網絡設備的緩存中,並在下一設定周期處理該TCP應答報文,從而避免流量擁堵,提高流量整形的效果。進一步地,網絡設備還可將該TCP應答報文設置為當前時間對應的設定時間段內的已處理報文,以使網絡設備在當前時間對應的設定時間段內不會重複處理該第一類型TCP應答報文。
針對上述方法流程,本發明實施例還提供一種網絡設備,該網絡設備的具體內容可以參照上述方法實施。如圖4所示,所述網絡設備400包括:
獲取模塊401,用於獲取當前時間對應的設定時間段內的待處理報文;
處理模塊402,用於確定所述待處理報文為第一類型TCP應答報文後,計算所述網絡設備在當前時間對應的設定時間段內的報文轉發速率;
發送模塊403,用於確定所述當前時間對應的設定時間段內的報文轉發速率小於等於第一閾值後,發送所述第一類型TCP應答報文。
可選地,所述處理模塊402還用於:
若確定所述當前時間對應的設定時間段內的報文轉發速率大於第一閾值,則將所述第一類型TCP應答報文設置為當前時間對應的設定時間段內的已處理報文。
可選地,所述發送模塊403還用於:
若所述處理模塊確定所述待處理報文為TCP數據報文後,發送所述TCP數據報文。
可選地,所述處理模塊402具體用於:
計算在當前時間對應的設定時間段內通過一個或多個第一類型TCP連接發送的第一類型TCP應答報文的應答號總跨度;
根據所述應答號總跨度和所述當前時間對應的設定時間段的長度,確定所述網絡設備在當前時間對應的設定時間段內的報文轉發速率。
可選地,所述第一類型TCP應答報文為上行TCP應答報文,所述第一類型TCP連接為下載TCP連接;或者,
所述第一類型報文為下行TCP應答報文,所述第一類型TCP連接為上傳TCP連接。
由上述內容可以看出:
本發明實施例中,網絡設備通過獲取當前時間對應的設定時間段內的待處理報文,確定待處理報文為第一類型TCP應答報文後,計算當前時間對應的設定時間段內的報文轉發速率,並在確定報文轉發速率小於等於第一閾值後,發送第一類型TCP應答報文。由於網絡設備在獲取到待處理報文後,確定計算得到的當前時間對應的設定時間段內的報文轉發速率小於等於第一閾值後,才發送第一類型TCP應答報文,從而間接調整了下遊設備響應接收到的應答報文而發送數據報文的節奏,避免由於網絡上突發流量過多而發生的網絡擁堵的情況,因而,有效提高了網絡設備的流量整形的效果,提升了移動數據接入網的數據傳輸性能。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或兩個以上其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器、CD-ROM、光學存儲器等)上實施的電腦程式產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或兩個以上流程和/或方框圖一個方框或兩個以上方框中指定的功能的裝置。
這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或兩個以上流程和/或方框圖一個方框或兩個以上方框中指定的功能。
這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或兩個以上流程和/或方框圖一個方框或兩個以上方框中指定的功能的步驟。
儘管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本發明範圍的所有變更和修改。
顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。