[go: up one dir, main page]

TWI795274B - Method and system for determining user plane function service module based on hash value of transmission control protocol packet header - Google Patents

Method and system for determining user plane function service module based on hash value of transmission control protocol packet header Download PDF

Info

Publication number
TWI795274B
TWI795274B TW111115280A TW111115280A TWI795274B TW I795274 B TWI795274 B TW I795274B TW 111115280 A TW111115280 A TW 111115280A TW 111115280 A TW111115280 A TW 111115280A TW I795274 B TWI795274 B TW I795274B
Authority
TW
Taiwan
Prior art keywords
module
hash value
network interface
interface card
programmable network
Prior art date
Application number
TW111115280A
Other languages
Chinese (zh)
Other versions
TW202344027A (en
Inventor
陳佳謚
梁原誠
雷曼 穆
陳健
陳志成
Original Assignee
中華電信股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中華電信股份有限公司 filed Critical 中華電信股份有限公司
Priority to TW111115280A priority Critical patent/TWI795274B/en
Application granted granted Critical
Publication of TWI795274B publication Critical patent/TWI795274B/en
Publication of TW202344027A publication Critical patent/TW202344027A/en

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A method and a system for determining user plane function service module based on hash value of transmission control protocol packet header is provided. The method includes: obtaining, by a programmable network interface card module, a transmission control protocol packet including a transmission control protocol packet header; obtaining, by the programmable network interface card module, a current hash value using the transmission control protocol packet header; obtaining, by the programmable network interface card module, a target service module using the current hash value; and transmitting, by the programmable network interface card module, the transmission control protocol packet to the target service module.

Description

基於傳輸控制協定封包標頭的雜湊值決定用戶平面功能服務模組的方法及系統Method and system for determining user plane function service module based on hash value of transmission control protocol packet header

本發明是有關於一種基於傳輸控制協定封包標頭的雜湊值決定用戶平面功能服務模組的方法及系統。The present invention relates to a method and system for determining a user plane function service module based on a hash value of a transmission control protocol packet header.

5G核心網路中的雲原生用戶平面功能(User Plane Function,UPF)主要負責用戶封包的轉發和策略執行。當連接的用戶設備數量龐大且訊務流量呈指數增長時,UPF服務模組的工作負載就很容易超載與失衡。基此,需要提出改良的決定服務模組的方法。The cloud-native User Plane Function (UPF) in the 5G core network is mainly responsible for the forwarding of user packets and policy enforcement. When the number of connected user devices is huge and the traffic flow is increasing exponentially, the workload of the UPF service module is easily overloaded and unbalanced. Based on this, an improved method for determining a service module needs to be proposed.

本發明提供一種基於傳輸控制協定封包標頭的雜湊值決定用戶平面功能服務模組的方法及系統,具有服務模組負載平衡的技術效果。The invention provides a method and system for determining user plane function service modules based on the hash value of the transmission control protocol packet header, which has the technical effect of service module load balancing.

本發明的基於傳輸控制協定封包標頭的雜湊值決定用戶平面功能服務模組的方法包括:由可程式化網路介面卡模組獲得包括傳輸控制協定封包標頭的傳輸控制協定封包;由可程式化網路介面卡模組利用傳輸控制協定封包標頭獲得當前雜湊值;由可程式化網路介面卡模組利用當前雜湊值獲得目標服務模組;以及由可程式化網路介面卡模組傳送傳輸控制協定封包至目標服務模組。The method for determining the user plane function service module based on the hash value of the transmission control protocol packet header of the present invention includes: obtaining the transmission control protocol packet including the transmission control protocol packet header by the programmable network interface card module; The programmable NIC module uses the TCP packet header to obtain the current hash value; the programmable NIC module uses the current hash value to obtain the target service module; and the programmable NIC module uses the current hash value to obtain the target service module; and the programmable NIC module The group sends the TCP packet to the target service module.

本發明的基於傳輸控制協定封包標頭的雜湊值決定用戶平面功能服務模組的系統包括:可程式化網路介面卡模組,其中可程式化網路介面卡模組獲得包括傳輸控制協定封包標頭的傳輸控制協定封包,其中可程式化網路介面卡模組利用傳輸控制協定封包標頭獲得當前雜湊值,其中可程式化網路介面卡模組利用當前雜湊值獲得目標服務模組,其中可程式化網路介面卡模組傳送傳輸控制協定封包至目標服務模組。The system for determining the user plane function service module based on the hash value of the transmission control protocol packet header of the present invention includes: a programmable network interface card module, wherein the programmable network interface card module obtains the transmission control protocol packet header of the TCP packet, wherein the programmable network interface card module obtains the current hash value by using the TCP packet header, wherein the programmable network interface card module obtains the target service module by using the current hash value, Wherein the programmable network interface card module transmits the transmission control protocol packet to the target service module.

為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。In order to make the above-mentioned features and advantages of the present invention more comprehensible, the following specific embodiments are described in detail together with the accompanying drawings.

圖1是根據本發明的一實施例繪示的一種基於傳輸控制協定封包標頭的雜湊值決定用戶平面功能(User Plane Function,UPF)服務模組的系統100的示意圖。系統100可包括可程式化網路介面卡模組110。在其他實施例中,系統100還可包括用戶層功能訊務控制模組120以及訊務負載平衡模組130。FIG. 1 is a schematic diagram of a system 100 for determining a user plane function (User Plane Function, UPF) service module based on a hash value of a TCP packet header according to an embodiment of the present invention. The system 100 can include a programmable network interface card module 110 . In other embodiments, the system 100 may further include a user layer function traffic control module 120 and a traffic load balancing module 130 .

可程式化網路介面卡模組110(或用戶層功能訊務控制模組120或訊務負載平衡模組130)可為由處理器所執行的軟體及/或韌體程式碼。在另一實施例中,可程式化網路介面卡模組110(或用戶層功能訊務控制模組120或訊務負載平衡模組130)可實作為電路。在另一實施例中,可程式化網路介面卡模組110(或用戶層功能訊務控制模組120或訊務負載平衡模組130)可實作為軟體及/或韌體程式碼及電路的組合。本發明不限制可程式化網路介面卡模組110(或用戶層功能訊務控制模組120或訊務負載平衡模組130)的實作方法。The programmable NIC module 110 (or the user layer function traffic control module 120 or the traffic load balancing module 130 ) can be software and/or firmware code executed by a processor. In another embodiment, the programmable network interface card module 110 (or the user layer function traffic control module 120 or the traffic load balancing module 130 ) can be implemented as a circuit. In another embodiment, the programmable network interface card module 110 (or the user layer function traffic control module 120 or the traffic load balancing module 130) can be implemented as software and/or firmware codes and circuits The combination. The present invention does not limit the implementation method of the programmable network interface card module 110 (or the user layer function traffic control module 120 or the traffic load balancing module 130 ).

可程式化網路介面卡模組110可通訊連接至用戶層功能訊務控制模組120。用戶層功能訊務控制模組120可通訊連接至訊務負載平衡模組130。The programmable network interface card module 110 is communicatively connected to the user layer function traffic control module 120 . The user layer function traffic control module 120 can be communicatively connected to the traffic load balancing module 130 .

在其他實施例中,可程式化網路介面卡模組110可通訊連接至次世代基地台(gNB,Next Generation Node B)300以及資訊網路(Data Network)400。用戶層功能訊務控制模組120可通訊連接至訊務控制模組500。In other embodiments, the programmable network interface card module 110 can be communicatively connected to a next generation base station (gNB, Next Generation Node B) 300 and a data network (Data Network) 400 . The user layer function traffic control module 120 can be communicatively connected to the traffic control module 500 .

服務模組200a、服務模組200b…服務模組200n可(分別)通訊連接至可程式化網路介面卡模組110。在其他實施例中,服務模組200a、服務模組200b…服務模組200n還可(分別)通訊連接至用戶層功能訊務控制模組120。服務模組200a、服務模組200b…服務模組200n可為由處理器所執行的軟體及/或韌體程式碼。在另一實施例中,服務模組200a、服務模組200b…服務模組200n可實作為電路。在另一實施例中,服務模組200a、服務模組200b…服務模組200n可實作為軟體及/或韌體程式碼及電路的組合。本發明不限制服務模組200a、服務模組200b…服務模組200n的實作方法。The service module 200 a , the service module 200 b . . . the service module 200 n can be (respectively) communicatively connected to the programmable network interface card module 110 . In other embodiments, the service module 200 a , the service module 200 b . . . the service module 200 n can also be (respectively) communicatively connected to the user layer function traffic control module 120 . The service module 200a, the service module 200b...the service module 200n can be software and/or firmware code executed by a processor. In another embodiment, the service module 200a, the service module 200b...the service module 200n can be implemented as a circuit. In another embodiment, the service module 200a, the service module 200b...the service module 200n may be implemented as a combination of software and/or firmware codes and circuits. The present invention does not limit the implementation method of the service module 200a, the service module 200b...the service module 200n.

在本實施例中,服務模組200a、服務模組200b… 服務模組200n可以是用戶平面功能(User Plane Function,UPF)服務模組。In this embodiment, the service module 200a, service module 200b... service module 200n may be a user plane function (User Plane Function, UPF) service module.

在本實施例中,為了利用傳輸控制協定封包標頭的雜湊值來決定,傳輸控制協定封包要由服務模組200a、服務模組200b…服務模組200n中的哪一個服務模組來負載(服務),訊務負載平衡模組130可儲存多個已記錄雜湊值,且此些已記錄雜湊值的每一者對應於已記錄服務模組。表1為訊務負載平衡模組130所儲存的範例。為了便於說明,訊務負載平衡模組130所儲存的,如表1所示的內容,後續將稱為「選擇表」。 表1 訊務負載平衡模組130儲存的選擇表 已記錄雜湊值 已記錄服務模組 雜湊值1 服務模組200a 雜湊值2 服務模組200b In this embodiment, in order to use the hash value of the TCP packet header to determine, which service module among the service module 200a, service module 200b...service module 200n will carry the TCP packet ( service), the traffic load balancing module 130 may store a plurality of recorded hash values, and each of these recorded hash values corresponds to a recorded service module. Table 1 is an example stored by the traffic load balancing module 130 . For ease of description, the content stored in the traffic load balancing module 130, as shown in Table 1, will be referred to as a "selection table" hereinafter. Table 1 Selection list stored in the traffic load balancing module 130 Recorded hash value Logged service mod hash value 1 Service Module 200a hash value 2 Service Module 200b

詳細而言,「選擇表」記錄的內容所代表的意義為,特定的已記錄雜湊值(即,特定的傳輸控制協定封包標頭)已由特定的服務模組負載/服務。Specifically, the content of the "selection table" records means that a specific recorded hash value (ie, a specific TCP packet header) has been loaded/served by a specific service module.

此外,訊務負載平衡模組130還可儲存分別對應於多個候選服務模組的多個負責流量數量。表2為訊務負載平衡模組130所儲存的範例。為了便於說明,訊務負載平衡模組130所儲存的,如表2所示的內容,後續將稱為「工作量表」。 表2 訊務負載平衡模組130儲存的工作量表 候選服務模組 負責流量數量 服務模組200a 100 服務模組200b 101 In addition, the traffic load balancing module 130 can also store a plurality of responsible traffic quantities respectively corresponding to a plurality of candidate service modules. Table 2 is an example stored by the traffic load balancing module 130 . For ease of description, the content stored by the traffic load balancing module 130, as shown in Table 2, will be referred to as a "workload table" in the following. Table 2 Workload table stored by the traffic load balancing module 130 Candidate Service Module Responsible for traffic volume Service Module 200a 100 Service Module 200b 101

詳細而言,「工作量表」記錄的內容所代表的意義為,特定的服務模組目前已負載/服務的雜湊值(即,特定的傳輸控制協定封包標頭)的數量。Specifically, the content recorded in the "workload table" represents the number of hash values (that is, specific TCP packet headers) currently loaded/served by a specific service module.

另一方面,可程式化網路介面卡模組110可儲存多個已記錄雜湊值,且多個已記錄雜湊值的每一者對應於已記錄服務模組。表3為可程式化網路介面卡模組110所儲存的範例。為了便於說明,可程式化網路介面卡模組110所儲存的,如表3所示的內容,後續將稱為「傳輸表」。 表3 可程式化網路介面卡模組110儲存的傳輸表 已記錄雜湊值 已記錄服務模組 雜湊值1 服務模組200a 雜湊值3 服務模組200c On the other hand, the programmable NIC module 110 can store a plurality of recorded hash values, and each of the plurality of recorded hash values corresponds to a recorded service module. Table 3 is an example stored in the programmable network interface card module 110 . For ease of description, the content stored in the programmable network interface card module 110, as shown in Table 3, will be referred to as a "transmission table" later. Table 3 The transmission table stored in the programmable network interface card module 110 Recorded hash value Logged service mod hash value 1 Service Module 200a hash value 3 Service Module 200c

詳細而言,「傳輸表」記錄的內容所代表的意義為(相似於前述的「選擇表」),特定的已記錄雜湊值(即,特定的傳輸控制協定封包標頭)已由特定的服務模組負載/服務。In detail, the meaning of the content recorded in the "transmission table" is (similar to the aforementioned "selection table") that a specific recorded hash value (that is, a specific TCP packet header) has been used by a specific service Mod load/service.

圖2是根據本發明的一實施例繪示的一種基於傳輸控制協定封包標頭的雜湊值決定用戶平面功能服務模組的方法的流程圖。FIG. 2 is a flow chart illustrating a method for determining a user plane function service module based on a hash value of a TCP packet header according to an embodiment of the present invention.

在步驟S201中,由可程式化網路介面卡模組110獲得包括傳輸控制協定封包標頭(Header)的傳輸控制協定封包。In step S201 , the programmable network interface card module 110 obtains a TCP packet including a TCP packet header (Header).

詳細而言,在用戶裝置(圖未繪示)註冊並取得IP時,訊務控制模組500會將從會話管理功能(Session Management Function,SMF)接收的(對應於此用戶裝置的)用戶訊務規則傳送至用戶層功能訊務控制模組120。訊務規則可以是來自控制平面(Control Plane)的封包轉發控制協議(Packet Forwarding Control Protocol,PFCP)資訊,其中包含封包檢測規則(Packet Detection Rule,PDR)、轉發動作規則(Forwarding Action Rule,FAR)等訊務規則以及傳輸控制協定流傳輸通道資訊(TCP flow 傳輸通道資訊)。用戶層功能訊務控制模組120可儲存訊務規則以及傳輸控制協定流傳輸通道資訊。此外,用戶層功能訊務控制模組120可依據GPRS隧道協議用戶平面封包(GTP-U,GPRS Tunneling Protocol User Plane)的封包資訊建立相關訊務紀錄。In detail, when a user device (not shown in the figure) registers and obtains an IP, the traffic control module 500 will receive the user information (corresponding to the user device) from the session management function (Session Management Function, SMF) The service rules are sent to the user layer functional service control module 120. Traffic rules can be Packet Forwarding Control Protocol (PFCP) information from the control plane (Control Plane), which includes Packet Detection Rule (PDR), forwarding action rule (Forwarding Action Rule, FAR) and other traffic rules and transmission control protocol flow transmission channel information (TCP flow transmission channel information). The user layer function traffic control module 120 can store traffic rules and TCP stream transmission channel information. In addition, the user layer function traffic control module 120 can create a related traffic record according to the packet information of the GPRS Tunneling Protocol User Plane (GTP-U, GPRS Tunneling Protocol User Plane) packet.

可程式化網路介面卡模組110可從用戶層功能訊務控制模組120接收上述傳輸通道資訊,並且儲存此傳輸通道資訊。The programmable network interface card module 110 can receive the above-mentioned transmission channel information from the user layer function service control module 120, and store the transmission channel information.

在一實施例中,當可程式化網路介面卡模組110從次世代基地台300接收GPRS隧道協議用戶平面封包後,可程式化網路介面卡模組110會先確認此封包是否為GPRS隧道協議用戶平面封包,若是則會利用上述傳輸通道資訊進行解密資訊搜尋與解封,藉以將GPRS隧道協議用戶平面封包還原為傳輸控制協定封包。換言之,上述傳輸通道資訊可讓可程式化網路介面卡模組110辨識/處理從次世代基地台300接收的GPRS隧道協議用戶平面封包,以得出傳輸控制協定封包。In one embodiment, when the programmable network interface card module 110 receives the GPRS tunneling protocol user plane packet from the next generation base station 300, the programmable network interface card module 110 will first confirm whether the packet is GPRS If the Tunneling Protocol User Plane packet is used, the above transmission channel information will be used to search and unpack decrypted information, so as to restore the GPRS Tunneling Protocol User Plane packet to a Transmission Control Protocol packet. In other words, the above transmission channel information allows the programmable network interface card module 110 to identify/process the GPRS tunneling protocol user plane packet received from the next generation base station 300 to obtain the TCP packet.

在另一實施例中,可程式化網路介面卡模組110可從資訊網路400接收傳輸控制協定封包。In another embodiment, the programmable network interface card module 110 can receive TCP packets from the information network 400 .

在獲得傳輸控制協定封包之後,可程式化網路介面卡模組110可擷取傳輸控制協定封包中的傳輸控制協定封包標頭,以進行後續步驟。After obtaining the TCP packet, the programmable NIC module 110 can extract the TCP packet header in the TCP packet for subsequent steps.

在步驟S202中,由可程式化網路介面卡模組110利用傳輸控制協定封包標頭獲得當前雜湊值。In step S202, the programmable network interface card module 110 obtains the current hash value by using the header of the TCP packet.

在步驟S203中,由可程式化網路介面卡模組110利用當前雜湊值獲得目標服務模組。In step S203, the programmable network interface card module 110 uses the current hash value to obtain the target service module.

以下將進一步以實施例說明上述步驟S202及步驟S203。The above step S202 and step S203 will be further described with an embodiment below.

圖3是根據本發明的一實施例說明圖2所示「獲得當前雜湊值,以利用當前雜湊值獲得目標服務模組」方法的詳細流程圖。FIG. 3 is a detailed flow chart illustrating the method of “obtaining the current hash value to obtain the target service module by using the current hash value” shown in FIG. 2 according to an embodiment of the present invention.

在步驟S301中,可程式化網路介面卡模組110可判定傳輸控制協定封包標頭是否為關鍵封包。在本實施例中,關鍵封包可包括傳輸控制協定同步(TCP SYN)、傳輸控制協定結束(TCP FIN)或者傳輸控制協定重啟(TCP RST)等封包。In step S301, the programmable network interface card module 110 can determine whether the header of the TCP packet is a critical packet. In this embodiment, the critical packets may include TCP SYN, TCP FIN, or TCP RST packets.

若可程式化網路介面卡模組110判定傳輸控制協定封包標頭是關鍵封包(步驟S301的判斷結果為「是」),則在步驟S302中,可程式化網路介面卡模組110可通過用戶層功能訊務控制模組120傳送傳輸控制協定封包標頭至訊務負載平衡模組130。訊務負載平衡模組130可對此傳輸控制協定封包標頭再次確認「傳輸控制協定封包標頭確實是關鍵封包」之後,再繼續後續步驟。If the programmable network interface card module 110 determines that the TCP packet header is a critical packet (the judgment result of step S301 is "Yes"), then in step S302, the programmable network interface card module 110 can The traffic control module 120 transmits the TCP packet header to the traffic load balancing module 130 through the user layer function. The traffic load balancing module 130 can reconfirm that "the TCP packet header is indeed a critical packet" for the TCP packet header, and then proceed to the subsequent steps.

在步驟S303中,訊務負載平衡模組130可利用傳輸控制協定封包標頭計算當前雜湊值(Hash)。In step S303 , the traffic load balancing module 130 can use the header of the TCP packet to calculate the current hash value (Hash).

接著,訊務負載平衡模組130可根據當前雜湊值決定目標服務模組。Then, the traffic load balancing module 130 can determine the target service module according to the current hash value.

具體而言,在步驟S304中,訊務負載平衡模組130可判定當前雜湊值是否匹配訊務負載平衡模組130儲存的(表1所示的選擇表)已記錄雜湊值。Specifically, in step S304 , the traffic load balancing module 130 can determine whether the current hash value matches the recorded hash value stored by the traffic load balancing module 130 (selection table shown in Table 1).

若訊務負載平衡模組130判定當前雜湊值不匹配多個已記錄雜湊值的每一者(步驟S304的判斷結果為「否」),則在步驟S305中,訊務負載平衡模組130可利用(表2所示的工作量表)(多個)負責流量數量決定目標服務模組。舉例來說,若當前雜湊值不匹配表1的雜湊值1,且當前雜湊值不匹配表1的雜湊值2,即,當前雜湊值(當前的傳輸控制協定封包標頭)尚未被服務模組200a、服務模組200b…服務模組200n中的任何一個服務模組負載/服務。在此情況下,訊務負載平衡模組130可從表2所示的各候選服務模組中,選出負責流量數量最小的服務模組(即,選出表2所示的服務模組200a),以將服務模組200a設置為目標服務模組。If the traffic load balancing module 130 determines that the current hash value does not match each of the multiple recorded hash values (the judgment result of step S304 is "No"), then in step S305, the traffic load balancing module 130 may Utilize (workload table shown in Table 2)(s) responsible for the amount of traffic to determine the target service module. For example, if the current hash value does not match the hash value 1 of Table 1, and the current hash value does not match the hash value 2 of Table 1, that is, the current hash value (the current TCP packet header) has not been used by the service module 200a, service module 200b...any one of the service modules in the service module 200n loads/services. In this case, the traffic load balancing module 130 can select the service module responsible for the smallest amount of traffic from the candidate service modules shown in Table 2 (that is, select the service module 200a shown in Table 2), To set the service module 200a as the target service module.

接著,在步驟S306中,訊務負載平衡模組130可更新選擇表以及工作量表。承上述實施例,在將服務模組200a設置為目標服務模組之後,訊務負載平衡模組130可將[當前雜湊值、服務模組200a]新增至表1的1列,且可將表2中服務模組200a的負責流量數量加1。Next, in step S306, the traffic load balancing module 130 may update the selection table and the workload table. Following the above-mentioned embodiment, after setting the service module 200a as the target service module, the traffic load balancing module 130 can add [current hash value, service module 200a] to column 1 of Table 1, and can add In Table 2, the responsible traffic quantity of the service module 200a is increased by 1.

另一方面,若訊務負載平衡模組130判定當前雜湊值匹配多個第一已記錄雜湊值中的第二已記錄雜湊值(步驟S304的判斷結果為「是」),則在步驟S307中,訊務負載平衡模組130可將對應於第二已記錄雜湊值的第二已記錄服務模組設置為目標服務模組。舉例來說,若當前雜湊值匹配表1所示的雜湊值2,即,當前雜湊值(當前的傳輸控制協定封包標頭)已被服務模組200b負載/服務,訊務負載平衡模組130可將服務模組200b設置為目標服務模組。On the other hand, if the traffic load balancing module 130 determines that the current hash value matches the second recorded hash value among the plurality of first recorded hash values (the judgment result of step S304 is "Yes"), then in step S307 , the traffic load balancing module 130 may set the second recorded service module corresponding to the second recorded hash value as the target service module. For example, if the current hash value matches the hash value 2 shown in Table 1, that is, the current hash value (the current TCP packet header) has been loaded/served by the service module 200b, the traffic load balancing module 130 The service module 200b can be set as the target service module.

在步驟S308中,訊務負載平衡模組130可響應於判定當前雜湊值所對應的傳輸控制協定封包標頭是傳輸控制協定結束(TCP FIN)或者傳輸控制協定重啟(TCP RST)而更新選擇表以及工作量表。詳細而言,由於傳輸控制協定封包標頭是傳輸控制協定結束或傳輸控制協定重啟時表示該TCP Flow即將結束,訊務負載平衡模組130可從表1刪除[當前雜湊值以及服務模組200b]的列,並且可將表2中服務模組200b的負責流量數量減1。In step S308, the traffic load balancing module 130 may update the selection table in response to determining that the TCP packet header corresponding to the current hash value is TCP FIN or TCP RST and worksheets. In detail, since the TCP packet header indicates that the TCP Flow is about to end when the TCP ends or the TCP restarts, the traffic load balancing module 130 can delete from Table 1 [the current hash value and the service module 200b ], and the number of traffics in charge of the service module 200b in Table 2 may be reduced by 1.

在訊務負載平衡模組130決定出目標服務模組之後,在步驟S309中,訊務負載平衡模組130可通過用戶層功能訊務控制模組120傳送當前雜湊值至可程式化網路介面卡模組110。此外,訊務負載平衡模組130還可通過用戶層功能訊務控制模組120傳送目標服務模組至可程式化網路介面卡模組110。After the traffic load balancing module 130 determines the target service module, in step S309, the traffic load balancing module 130 can send the current hash value to the programmable network interface through the user layer function traffic control module 120 Card module 110 . In addition, the traffic load balancing module 130 can also transmit the target service module to the programmable network interface card module 110 through the user layer function traffic control module 120 .

在步驟S310中,可程式化網路介面卡模組110可將目標服務模組設置為已記錄服務模組,將當前雜湊值設置為已記錄雜湊值,並且儲存對應於已記錄雜湊值的已記錄服務模組(例如,新增一列於表3所示的傳輸表)。In step S310, the programmable network interface card module 110 can set the target service module as the recorded service module, set the current hash value as the recorded hash value, and store the recorded hash value corresponding to Record service modules (for example, add a new transfer table as shown in Table 3).

若可程式化網路介面卡模組110判定傳輸控制協定封包標頭不是關鍵封包(步驟S301的判斷結果為「否」),則在步驟S311中,可程式化網路介面卡模組110可利用傳輸控制協定封包標頭計算當前雜湊值。If the programmable network interface card module 110 determines that the header of the TCP packet is not a critical packet (the judgment result of step S301 is "No"), then in step S311, the programmable network interface card module 110 can Calculate the current hash value using the TCP packet header.

接著,可程式化網路介面卡模組110可根據當前雜湊值決定目標服務模組。Then, the programmable network interface card module 110 can determine the target service module according to the current hash value.

具體而言,在步驟S312中,可程式化網路介面卡模組110可判定當前雜湊值是否匹配可程式化網路介面卡模組110儲存的(表3所示的傳輸表)已記錄雜湊值。Specifically, in step S312, the programmable network interface card module 110 can determine whether the current hash value matches the recorded hash value stored in the programmable network interface card module 110 (transmission table shown in Table 3). value.

若可程式化網路介面卡模組110判定當前雜湊值匹配多個第三已記錄雜湊值中的第四已記錄雜湊值(步驟S312的判斷結果為「是」),則在步驟S313中,可程式化網路介面卡模組110可將對應於第四已記錄雜湊值的第四已記錄服務模組設置為目標服務模組。If the programmable network interface card module 110 determines that the current hash value matches the fourth recorded hash value among the plurality of third recorded hash values (the determination result of step S312 is "Yes"), then in step S313, The programmable NIC module 110 can set the fourth recorded service module corresponding to the fourth recorded hash value as the target service module.

若可程式化網路介面卡模組110判定當前雜湊值不匹配多個第三已記錄雜湊值中的的每一者(步驟S312的判斷結果為「否」),則在步驟S314中,可程式化網路介面卡模組110可丟棄(drop)此傳輸控制協定封包。If the programmable network interface card module 110 determines that the current hash value does not match each of the plurality of third recorded hash values (the determination result of step S312 is "No"), then in step S314, The programmable NIC module 110 can drop the TCP packet.

請再參考圖2。在獲得目標服務模組之後,在步驟S204中,由可程式化網路介面卡模組110傳送傳輸控制協定封包至目標服務模組。Please refer to Figure 2 again. After obtaining the target service module, in step S204, the programmable network interface card module 110 sends the TCP packet to the target service module.

綜上所述,本發明的基於傳輸控制協定封包標頭的雜湊值決定用戶平面功能服務模組的方法及系統可根據傳輸控制協定封包標頭是否為關鍵封包,來決定要由訊務負載平衡模組決定目標服務模組,或者是由可程式化網路介面卡模組決定目標服務模組。特別是,訊務負載平衡模組可選出目前負責流量最小的服務模組來做為目標服務模組,以達到服務模組負載平衡的技術效果,提供用戶更佳的體驗。To sum up, the method and system for determining the user plane function service module based on the hash value of the TCP packet header of the present invention can determine whether the traffic load balancing is to be performed according to whether the TCP packet header is a critical packet. The module determines the target service module, or the programmable network interface card module determines the target service module. In particular, the traffic load balancing module can select the service module currently responsible for the smallest traffic as the target service module, so as to achieve the technical effect of service module load balancing and provide users with better experience.

雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。Although the present invention has been disclosed above with the embodiments, it is not intended to limit the present invention. Anyone with ordinary knowledge in the technical field may make some changes and modifications without departing from the spirit and scope of the present invention. The scope of protection of the present invention should be defined by the scope of the appended patent application.

100:基於傳輸控制協定封包標頭的雜湊值決定用戶平面功能服務模組的系統 110:可程式化網路介面卡模組 120:用戶層功能訊務控制模組 130:訊務負載平衡模組 200a、200b、…、200n:服務模組 300:次世代基地台 400:資訊網路 500:訊務控制模組 S201~S204、S301~S314:步驟 100: A system that determines the user plane function service module based on the hash value of the transmission control protocol packet header 110:Programmable network interface card module 120: user layer function communication service control module 130: Traffic load balancing module 200a, 200b, ..., 200n: service module 300: Next Generation Base Station 400: Information Network 500: Communication control module S201~S204, S301~S314: steps

圖1是根據本發明的一實施例繪示的一種基於傳輸控制協定封包標頭的雜湊值決定用戶平面功能服務模組的系統的示意圖。 圖2是根據本發明的一實施例繪示的一種基於傳輸控制協定封包標頭的雜湊值決定用戶平面功能服務模組的方法的流程圖。 圖3是根據本發明的一實施例說明圖2所示「獲得當前雜湊值,以利用當前雜湊值獲得目標服務模組」方法的詳細流程圖。 FIG. 1 is a schematic diagram of a system for determining a user plane function service module based on a hash value of a TCP packet header according to an embodiment of the present invention. FIG. 2 is a flow chart illustrating a method for determining a user plane function service module based on a hash value of a TCP packet header according to an embodiment of the present invention. FIG. 3 is a detailed flow chart illustrating the method of “obtaining the current hash value to obtain the target service module by using the current hash value” shown in FIG. 2 according to an embodiment of the present invention.

S201~S204:步驟 S201~S204: steps

Claims (10)

一種基於傳輸控制協定封包標頭的雜湊值決定用戶平面功能(User Plane Function,UPF)服務模組的方法,包括:由可程式化網路介面卡模組獲得包括傳輸控制協定封包標頭的傳輸控制協定封包;由所述可程式化網路介面卡模組利用所述傳輸控制協定封包標頭獲得當前雜湊值;由所述可程式化網路介面卡模組利用所述當前雜湊值獲得目標服務模組;以及由所述可程式化網路介面卡模組傳送所述傳輸控制協定封包至所述目標服務模組。 A method for determining a user plane function (User Plane Function, UPF) service module based on a hash value of a transmission control protocol packet header, comprising: obtaining a transmission including the transmission control protocol packet header by a programmable network interface card module control protocol packet; the programmable network interface card module uses the transmission control protocol packet header to obtain the current hash value; the programmable network interface card module uses the current hash value to obtain the target a service module; and sending the TCP packet to the target service module by the programmable network interface card module. 如請求項1所述的方法,其中所述可程式化網路介面卡模組通訊連接至用戶層功能訊務控制模組,且所述用戶層功能訊務控制模組通訊連接至訊務負載平衡模組,其中由所述可程式化網路介面卡模組利用所述傳輸控制協定封包標頭獲得所述當前雜湊值的步驟包括:若所述可程式化網路介面卡模組判定所述傳輸控制協定封包標頭是關鍵封包,由所述可程式化網路介面卡模組通過所述用戶層功能訊務控制模組傳送所述傳輸控制協定封包標頭至所述訊務負載平衡模組;由所述訊務負載平衡模組利用所述傳輸控制協定封包標頭計算所述當前雜湊值,並且通過所述用戶層功能訊務控制模組傳送 所述當前雜湊值至所述可程式化網路介面卡模組。 The method as described in claim 1, wherein the programmable network interface card module is communicatively connected to the user layer function traffic control module, and the user layer function traffic control module is communicatively connected to the traffic load The balance module, wherein the step of obtaining the current hash value by the programmable network interface card module using the TCP packet header includes: if the programmable network interface card module determines that the The transmission control protocol packet header is a key packet, and the programmable network interface card module transmits the transmission control protocol packet header to the traffic load balancing through the user layer function traffic control module A module; the traffic load balancing module uses the TCP packet header to calculate the current hash value, and transmits it through the user layer function traffic control module The current hash value is sent to the programmable network interface card module. 如請求項2所述的方法,其中由所述可程式化網路介面卡模組利用所述當前雜湊值獲得所述目標服務模組的步驟包括:由所述訊務負載平衡模組根據所述當前雜湊值決定所述目標服務模組,並且通過所述用戶層功能訊務控制模組傳送所述目標服務模組至所述可程式化網路介面卡模組。 The method according to claim 2, wherein the step of obtaining the target service module by the programmable network interface card module using the current hash value includes: using the traffic load balancing module according to the The current hash value determines the target service module, and transmits the target service module to the programmable network interface card module through the user layer function traffic control module. 如請求項3所述的方法,其中所述訊務負載平衡模組儲存多個第一已記錄雜湊值,且所述多個第一已記錄雜湊值的每一者對應於第一已記錄服務模組,且所述訊務負載平衡模組更儲存分別對應於多個候選服務模組的多個負責流量數量,其中由所述可程式化網路介面卡模組利用所述當前雜湊值獲得所述目標服務模組的步驟更包括:若所述訊務負載平衡模組判定所述當前雜湊值不匹配所述多個第一已記錄雜湊值的每一者,由所述訊務負載平衡模組利用所述多個負責流量數量決定所述目標服務模組;若所述訊務負載平衡模組判定所述當前雜湊值匹配所述多個第一已記錄雜湊值中的第二已記錄雜湊值,由所述訊務負載平衡模組將對應於所述第二已記錄雜湊值的第二已記錄服務模組設置為所述目標服務模組。 The method of claim 3, wherein the traffic load balancing module stores a plurality of first recorded hash values, and each of the plurality of first recorded hash values corresponds to a first recorded service module, and the traffic load balancing module further stores a plurality of responsible flow quantities respectively corresponding to a plurality of candidate service modules, wherein the programmable network interface card module uses the current hash value to obtain The step of the target service module further includes: if the traffic load balancing module determines that the current hash value does not match each of the plurality of first recorded hash values, by the traffic load balancing The module determines the target service module by using the plurality of responsible traffic quantities; if the traffic load balancing module determines that the current hash value matches the second recorded hash value among the plurality of first recorded hash values a hash value, the traffic load balancing module sets a second recorded service module corresponding to the second recorded hash value as the target service module. 如請求項3所述的方法,其中所述方法更包括: 由所述可程式化網路介面卡模組將所述目標服務模組設置為第三已記錄服務模組,將所述當前雜湊值設置為第三已記錄雜湊值,並且儲存對應於所述第三已記錄雜湊值的所述第三已記錄服務模組。 The method as described in claim item 3, wherein said method further comprises: setting the target service module as the third recorded service module by the programmable network interface card module, setting the current hash value as the third recorded hash value, and storing the The third recorded service module of the third recorded hash value. 如請求項1所述的方法,其中由所述可程式化網路介面卡模組利用所述傳輸控制協定封包標頭獲得所述當前雜湊值的步驟包括:若所述可程式化網路介面卡模組判定所述傳輸控制協定封包標頭不是所述關鍵封包,由所述可程式化網路介面卡模組利用所述傳輸控制協定封包標頭計算所述當前雜湊值。 The method as described in claim 1, wherein the step of obtaining the current hash value by the programmable network interface card module using the TCP packet header includes: if the programmable network interface The card module determines that the TCP packet header is not the critical packet, and the programmable network interface card module uses the TCP packet header to calculate the current hash value. 如請求項6所述的方法,其中由所述可程式化網路介面卡模組利用所述當前雜湊值獲得所述目標服務模組的步驟包括:由所述可程式化網路介面卡模組根據所述當前雜湊值決定所述目標服務模組。 The method as described in claim 6, wherein the step of obtaining the target service module by using the current hash value from the programmable network interface card module includes: using the programmable network interface card module The group determines the target service module according to the current hash value. 如請求項7所述的方法,其中所述可程式化網路介面卡模組儲存多個第三已記錄雜湊值,且所述多個第三已記錄雜湊值的每一者對應於第三已記錄服務模組,其中由所述可程式化網路介面卡模組利用所述當前雜湊值獲得所述目標服務模組的步驟包括:若所述可程式化網路介面卡模組判定所述當前雜湊值匹配所述多個第三已記錄雜湊值中的第四已記錄雜湊值,由所述可程式 化網路介面卡模組將對應於所述第四已記錄雜湊值的第四已記錄服務模組設置為所述目標服務模組。 The method as claimed in claim 7, wherein the programmable network interface card module stores a plurality of third recorded hash values, and each of the plurality of third recorded hash values corresponds to a third The recorded service module, wherein the step of obtaining the target service module by the programmable network interface card module using the current hash value includes: if the programmable network interface card module determines that the said current hash value matches a fourth recorded hash value of said plurality of third recorded hash values, by said programmable The NIC module sets the fourth recorded service module corresponding to the fourth recorded hash value as the target service module. 如請求項1所述的方法,其中所述可程式化網路介面卡模組通訊連接至用戶層功能訊務控制模組,且所述用戶層功能訊務控制模組儲存訊務規則以及傳輸通道資訊,其中由所述可程式化網路介面卡模組獲得包括所述傳輸控制協定封包標頭的所述傳輸控制協定封包的步驟包括:由所述可程式化網路介面卡模組從所述用戶層功能訊務控制模組接收所述傳輸通道資訊;由所述可程式化網路介面卡模組響應於從次世代基地台接收GPRS隧道協議用戶平面封包而利用所述傳輸通道資訊以及所述GPRS隧道協議用戶平面封包獲得所述傳輸控制協定封包。 The method as described in claim 1, wherein the programmable network interface card module is communicatively connected to the user layer function traffic control module, and the user layer function traffic control module stores traffic rules and transmits Channel information, wherein the step of obtaining the TCP packet including the TCP packet header by the programmable network interface card module includes: using the programmable network interface card module from The user layer function traffic control module receives the transmission channel information; the programmable network interface card module responds to receiving the GPRS tunneling protocol user plane packet from the next generation base station and utilizes the transmission channel information And the GPRS tunneling protocol user plane packet obtains the transmission control protocol packet. 一種基於傳輸控制協定封包標頭的雜湊值決定用戶平面功能(User Plane Function,UPF)服務模組的系統,包括:可程式化網路介面卡模組,其中所述可程式化網路介面卡模組獲得包括傳輸控制協定封包標頭的傳輸控制協定封包,其中所述可程式化網路介面卡模組利用所述傳輸控制協定封包標頭獲得當前雜湊值,其中所述可程式化網路介面卡模組利用所述當前雜湊值獲得目標服務模組,其中 所述可程式化網路介面卡模組傳送所述傳輸控制協定封包至所述目標服務模組。 A system for determining a user plane function (User Plane Function, UPF) service module based on a hash value of a transmission control protocol packet header, including: a programmable network interface card module, wherein the programmable network interface card The module obtains a TCP packet including a TCP packet header, wherein the programmable network interface card module uses the TCP packet header to obtain a current hash value, wherein the programmable network The interface card module uses the current hash value to obtain the target service module, wherein The programmable network interface card module transmits the TCP packet to the target service module.
TW111115280A 2022-04-21 2022-04-21 Method and system for determining user plane function service module based on hash value of transmission control protocol packet header TWI795274B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW111115280A TWI795274B (en) 2022-04-21 2022-04-21 Method and system for determining user plane function service module based on hash value of transmission control protocol packet header

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW111115280A TWI795274B (en) 2022-04-21 2022-04-21 Method and system for determining user plane function service module based on hash value of transmission control protocol packet header

Publications (2)

Publication Number Publication Date
TWI795274B true TWI795274B (en) 2023-03-01
TW202344027A TW202344027A (en) 2023-11-01

Family

ID=86692314

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111115280A TWI795274B (en) 2022-04-21 2022-04-21 Method and system for determining user plane function service module based on hash value of transmission control protocol packet header

Country Status (1)

Country Link
TW (1) TWI795274B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201442527A (en) * 2013-01-11 2014-11-01 Interdigital Patent Holdings User-plane congestion management
TW201740707A (en) * 2016-05-09 2017-11-16 高通公司 In-flow packet prioritization and data-dependent flexible QoS policy
CN110580256A (en) * 2018-05-22 2019-12-17 华为技术有限公司 A method, device and system for identifying application identifiers
US20210306902A1 (en) * 2020-03-31 2021-09-30 T-Mobile Usa, Inc. Adjusting window size based on quality of experience
US20210409335A1 (en) * 2020-09-11 2021-12-30 Intel Corporation Multi-access management service packet classification and prioritization techniques

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201442527A (en) * 2013-01-11 2014-11-01 Interdigital Patent Holdings User-plane congestion management
TW201740707A (en) * 2016-05-09 2017-11-16 高通公司 In-flow packet prioritization and data-dependent flexible QoS policy
CN110580256A (en) * 2018-05-22 2019-12-17 华为技术有限公司 A method, device and system for identifying application identifiers
US20210075868A1 (en) * 2018-05-22 2021-03-11 Huawei Technologies Co., Ltd. Method, device and system for identifying application identifier
US20210306902A1 (en) * 2020-03-31 2021-09-30 T-Mobile Usa, Inc. Adjusting window size based on quality of experience
US20210409335A1 (en) * 2020-09-11 2021-12-30 Intel Corporation Multi-access management service packet classification and prioritization techniques

Also Published As

Publication number Publication date
TW202344027A (en) 2023-11-01

Similar Documents

Publication Publication Date Title
CN103765832B (en) General dual-mode data Forwarding plane for information centre's network
EP3890240B1 (en) User plane function method, user plane function entity, computer program and system
JP4113115B2 (en) Mobile communication system and communication method
US7835399B2 (en) IP header compression context identifier synergism
US8694675B2 (en) Generalized dual-mode data forwarding plane for information-centric network
US8856243B2 (en) Method, device, and system for message distribution
CN110580256B (en) Method, device and system for identifying application identification
US20080276091A1 (en) Mobile Device File Sharing Method and Apparatus
CN108111509B (en) data transfer method
CN113300981B (en) Message transmission method, device and system
US20070025342A1 (en) Protocol optimization for wireless networks
CN105556916A (en) Network flow information statistics method and apparatus
CN101729425A (en) Method and equipment for flow sending in VRRP networking
CN105262836A (en) Information push method of server and push information reception method of client
CN107566292B (en) Message forwarding method and device
JP6055553B2 (en) Queue scheduling method, apparatus and system
US7640297B2 (en) Protocol optimization for wireless networks
US7899058B2 (en) Using a hash value as a pointer to an application class in a communications device
TWI795274B (en) Method and system for determining user plane function service module based on hash value of transmission control protocol packet header
CN105376174B (en) Execute the method and apparatus of the strategy based on service chaining in LTE/EPC
KR20190064066A (en) Traffic load management apparatus and method based on coordinated application protocol for internet of things local networks
CN111526512A (en) Gateway bridging method, device, equipment and medium based on Wi-Fi data packet
JP6131710B2 (en) COMMUNICATION SYSTEM, LOAD DISTRIBUTION DEVICE, AND LOAD DISTRIBUTION PROGRAM
CN102857352B (en) Multicasting and broadcasting method and system based on overlay network
WO2008007862A1 (en) Method and system for connecting server to client or client to client in network for data transmitting service