TWI745034B - 封包聚合及解聚合方法 - Google Patents
封包聚合及解聚合方法 Download PDFInfo
- Publication number
- TWI745034B TWI745034B TW109128138A TW109128138A TWI745034B TW I745034 B TWI745034 B TW I745034B TW 109128138 A TW109128138 A TW 109128138A TW 109128138 A TW109128138 A TW 109128138A TW I745034 B TWI745034 B TW I745034B
- Authority
- TW
- Taiwan
- Prior art keywords
- packet
- header
- switch
- message
- flag
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/41—Flow control; Congestion control by acting on aggregated flows or links
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y10/00—Economic sectors
- G16Y10/75—Information technology; Communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/827—Aggregation of resource allocation or reservation requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本發明提出一種封包聚合及解聚合方法。在封包聚合方法中,協議獨立數據封包處理程式語言(Programming Protocol-Independent Packet Processor, P4)交換器儲存複數個封包之複數個訊息表頭於環緩衝區。當環緩衝區所儲存的複數個訊息表頭達到預定資料量時,P4交換器將當前之封包中的第一旗標表頭替換成一第二旗標表頭以做為工作封包。 P4交換器之出口管線將工作封包反覆地再循環,每當收到工作封包,從環緩衝區中複數個訊息表頭中提取一訊息表頭加入至工作封包以進行封包聚合。
Description
本發明是有關於一種方法,且特別是有關於一種封包聚合及解聚合方法。
物聯網(IoT)技術快速發展且廣泛運用在智慧城市的各個地方。由於這些感測和啟動資料的位元組(byte) 數很小,將來網路內會充斥著巨大數量的這些小封包來傳遞這些感測和啟動的資料。
當巨大數量的這些IoT小封包在有線網際網路傳輸時,由於它們必須包括乙太網路(Ethernet)、網際網路協定(IP)、用戶資料協定(UDP)層的表頭(headers),相對於每個封包所攜帶的微小長度資料,這些表頭的 bytes 數會佔據整個封包總 bytes 數很高的比例,因此很高比例的網路頻寬資源將會被浪費在傳輸這些封包表頭。 Ethernet 表頭長度為 14 bytes, IP 表頭長度為 20 bytes且 UDP 表頭長度為 8 bytes, 這些表頭加起來就有 42 bytes。若每個IoT小封包只攜帶 16 bytes 的資料(payload),則這些表頭將佔據 42/(42+16) = 72% 的封包長度,也就是網路頻寬將有 72% 的部分是浪費在傳送非資料的部分。
傳統架設額外的伺服器以中央處理器(CPU)來執行軟體程式來進行封包聚合和解聚合的方法,但效能卻十分低落。
雖然有上一代技術可以在交換機中來實作封包聚合的功能,只能聚合相同大小且固定長度的封包,且限制封包數量固定。這造成當流經交換機封包的長度有大有小時,這類技術就沒有能力可以處理此種情況,然而這種情況卻是真實網路上的常見情況。
本發明提出一種封包聚合及解聚合方法,改善先前技術的問題。
在本發明的一實施例中,本發明所提出的封包聚合方法,適用於協議獨立數據封包處理程式語言(Programming Protocol-Independent Packet Processor, P4)交換器。封包聚合方法包括以下步驟:藉由P4交換器接收複數個封包,複數個封包傳送至P4交換器之入口管線之入口解析器; 藉由在P4交換器之交換器組態所定義之解析圖將各複數個封包解析為乙太網路表頭、網際網路協定表頭、用戶資料協定表頭、類型表頭、第一旗標表頭以及訊息表頭,訊息表頭包括封包之資料負載及其長度資訊;藉由在P4交換器之交換器組態所定義之匹配動作表來儲存複數個封包之複數個訊息表頭於P4交換器之一環緩衝區;當環緩衝區所儲存的複數個訊息表頭達到預定資料量時,藉由在P4交換器將當前之封包中的第一旗標表頭替換成一第二旗標表頭以做為工作封包;藉由在P4交換器之出口管線之出口逆解析器將工作封包反覆地再循環給入口解析器,每次入口解析器收到工作封包,從環緩衝區中複數個訊息表頭中提取一訊息表頭加入至工作封包以進行封包聚合,並於第二旗標表頭中更新工作封包中複數個訊息表頭的數量及長度;當工作封包的資料量達到預定上限時,將工作封包做為聚合封包,藉由在P4交換器之出口管線輸出聚合封包。
在本發明的一實施例中,工作封包的數量為複數個,以平行進行封包聚合。
在本發明的一實施例中,封包聚合方法更包括:每當待儲存的訊息表頭儲存於P4交換器之環緩衝區時,將訊息表頭儲存於匹配動作表之進入佇列指標所指定的環緩衝區的欄位。
在本發明的一實施例中,封包聚合方法更包括:當進入佇列指標所指定的環緩衝區的欄位已儲存資料時,將待儲存的訊息表頭所對應的封包加入指定欄位的資訊後重複通過入口逆解析器將對應的封包再提交給入口解析器,直到欄位原本已儲存的資料清空為止。
在本發明的一實施例中,封包聚合方法更包括:每當出口逆解析器將工作封包再循環給入口解析器時,將匹配動作表之出佇列指標所指定的環緩衝區的欄位的訊息表頭提取以加入至工作封包。
在本發明的一實施例中,複數個封包包括藉由複數個物聯網裝置收集之感測資料。
在本發明的一實施例中,複數個物聯網裝置連線至P4交換器。
在本發明的一實施例中,本發明所提出的封包解聚合方法,適用於P4交換器。封包解聚合方法包括以下步驟:藉由P4交換器接收聚合封包,聚合封包傳送至P4交換器之入口管線之入口解析器; 藉由在P4交換器之交換器組態所定義之解析圖將各聚合封包解析為乙太網路表頭、網際網路協定表頭、用戶資料協定表頭、類型表頭、第二旗標表頭以及複數個訊息表頭,第二旗標表頭表示複數個訊息表頭的數量及長度;從聚合封包中複製乙太網路表頭、網際網路協定表頭、用戶資料協定表頭、類型表頭、第二旗標表頭以及複數個訊息表頭中之第一個訊息表頭,並將第二旗標表頭替換為第一旗標表頭,藉以從聚合封包中解聚合出一封包,封包包括乙太網路表頭、網際網路協定表頭、用戶資料協定表頭、類型表頭、第一旗標表頭以及第一個訊息表頭;從聚合封包中刪除第一個訊息表頭並修正第二旗標表頭以表示其餘的訊息表頭的數量及長度,通過出口管線將聚合封包再循環至入口管線,藉以再解聚合下一封包。
在本發明的一實施例中,封包解聚合方法更包括:當複數個訊息表頭的數量大於二時,在從聚合封包中刪除第一個訊息表頭並修正第二旗標表頭以表示其餘的訊息表頭的數量及長度以後,通過出口管線將聚合封包再循環至入口管線。
在本發明的一實施例中,封包解聚合方法更包括:當複數個訊息表頭的數量等於二時,從聚合封包中刪除第一個訊息表頭並將第二旗標表頭替換為第一旗標表頭以做為下一封包,無需通過出口管線將聚合封包再循環至入口管線。
綜上所述,本發明之技術方案與現有技術相比具有明顯的優點和有益效果。藉由本發明的技術方案,降低浪費在傳輸封包表頭網路頻寬的比例且同時獲得極高的封包聚合效能。另外,本發明之技術方案不需限制被聚合小封包的長度大小和被聚合成一個大封包(聚合封包)裏的小封包的數量。由於本發明的技術方案是設計和實作在純硬體上,相較於傳統使用伺服器的CPU來執行軟體程式來進行封包聚合和解聚合的方法,本案的方法在封包聚合和解聚合的效能上能提升數十倍之多。
以下將以實施方式對上述之說明作詳細的描述,並對本發明之技術方案提供更進一步的解釋。
為了使本發明之敘述更加詳盡與完備,可參照所附之圖式及以下所述各種實施例,圖式中相同之號碼代表相同或相似之元件。另一方面,眾所週知的元件與步驟並未描述於實施例中,以避免對本發明造成不必要的限制。
於實施方式與申請專利範圍中,涉及『連接』之描述,其可泛指一元件透過其他元件而間接耦合至另一元件,或是一元件無須透過其他元件而直接連結至另一元件。
於實施方式與申請專利範圍中,涉及『連線』之描述,其可泛指一元件透過其他元件而間接與另一元件進行有線與/或無線通訊,或是一元件無須透過其他元件而實體連接至另一元件。
於實施方式與申請專利範圍中,除非內文中對於冠詞有所特別限定,否則『一』與『該』可泛指單一個或複數個。
本文中所使用之『約』、『大約』或『大致』係用以修飾任何可些微變化的數量,但這種些微變化並不會改變其本質。於實施方式中若無特別說明,則代表以『約』、『大約』或『大致』所修飾之數值的誤差範圍一般是容許在百分之二十以內,較佳地是於百分之十以內,而更佳地則是於百分之五以內。
第1圖是依照本發明一實施例之一種封包聚合及解聚合的系統的方塊圖。如第1圖所示,複數個物聯網裝置110連線至P4交換器120,物聯網裝置110傳送封包210到P4交換器120,封包210為小封包(small packet),其包括藉由物聯網裝置110收集之感測資料。P4交換器120把多個小封包聚合成較大封包(即,聚合封包220),這些較大的聚合封包220可在廣域網路130上傳送或在一條線路上傳送,當聚合封包220到達P4交換器140時,會被解聚合成原先的封包210。伺服器150對封包210中資料做後續運用。
為了對封包210與聚合封包220的格式做更具體的闡述,請參照第1、2圖,第2圖是依照本發明一實施例之一種封包210及聚合封包220的示意圖。如第2圖所示,封包210包括乙太網路表頭211、網際網路協定表頭212、用戶資料協定表頭213、類型表頭214、第一旗標表頭215以及訊息表頭216。本案把封包的負載(payload)視為是一種表頭(header)(即,訊息表頭216),如此才能提取負載並對它們進行儲存和聚合,其中負載就是封包中所攜帶的資料。
聚合封包220包括乙太網路表頭211、網際網路協定表頭212、用戶資料協定表頭213、類型表頭214、第二旗標表頭225以及訊息表頭216~216n。第二旗標表頭225包括複數個訊息表頭216~216n的數量及長度,訊息表頭216~216n為複數個封包210中的負載。
為了對P4交換器的硬體架構做更具體的闡述,請參照第1~3圖,第3圖是依照本發明一實施例之一種P4交換器的方塊圖。實作上,第3圖的P4交換器的架構可適用於第1圖中P4交換器120與/或P4交換器140。
如第3圖所示,P4交換器300包括輸入端口301、入口管線310、出口管線320、交換器組態330與封包暫存器340。在架構上,輸入端口301電性連接入口管線310,入口管線310電性連接交換器組態330與封包暫存器340,封包暫存器340電性連接出口管線320。
入口管線310包括入口解析器311、入口312與入口逆解析器313,入口312電性連接入口解析器311與入口逆解析器313。出口管線320出口解析器321、出口322與出口逆解析器323,出口322電性連接出口解析器321與出口逆解析器323。交換器組態330包含解析圖331與匹配動作表332。
本案的封包聚合和解聚合是設計與實作在交換機的硬體管線(pipelines)中,完全在資料平面(data plane) 中完成,因此封包聚合時可以達到 100 Gbps 線路速率(line rate) 的高速。
為了對封包聚合方法做更進一步的闡述,請同時參照第1~4圖,第4圖是依照本發明一實施例之一種封包聚合方法的流程圖。實務上,封包聚合方法適用P4交換器120。如第4圖所示,封包聚合方法包括步驟S401~S406(應瞭解到,在本實施例中所提及的步驟,除特別敘明其順序者外,均可依實際需要調整其前後順序,甚至可同時或部分同時執行)。
於步驟S401,藉由P4交換器120接收複數個封包210,複數個封包210傳送至P4交換器120之入口管線310之入口解析器311。
於步驟S402,藉由在P4交換器120之交換器組態330所定義之解析圖331將各複數個封包210解析為乙太網路表頭211、網際網路協定表頭212、用戶資料協定表頭213、類型表頭214、第一旗標表頭215以及訊息表頭216,訊息表頭216包括封包210之資料負載及其長度資訊。
於步驟S403,藉由在P4交換器120之交換器組態330所定義之匹配動作表330來儲存複數個封包210之複數個訊息表頭216於P4交換器120之環緩衝區500(繪示於第5圖)。
於步驟S404,當環緩衝區所儲存的複數個訊息表頭216達到預定資料量時,藉由在P4交換器120將當前之封包中的第一旗標表頭215替換成一第二旗標表頭225以做為工作封包。實務上,預定資料量的多寡可視實際運用彈性設定之。
於步驟S405,藉由在P4交換器120之出口管線320之出口逆解析器323將工作封包反覆地再循環(recirculate)給入口解析器311,每次入口解析器311收到工作封包,從環緩衝區500中複數個訊息表頭中提取一訊息表頭216加入至工作封包以進行封包聚合,並於第二旗標表頭225中更新工作封包中複數個訊息表頭的數量及長度。
在重複再提交工作封包的過程中,於步驟S406,當工作封包的資料量達到預定上限時,將工作封包做為聚合封包,藉由在P4交換器120之出口管線輸320出聚合封包。實務上,預定上限可為通訊協定中關於封包資料量的額定上限值。
在本發明的一實施例中,工作封包的數量可為單一個。或者,在本發明的另一實施例中,工作封包的數量可為複數個,以平行進行封包聚合,藉此提昇封包聚合的效能。
為了對環緩衝區500做更進一步的闡述,請同時參照第1~5圖,第5圖是依照本發明一實施例之一種環緩衝區500的示意圖。如第5圖所示,封包210中訊息表頭216之資料負載例如為16位元組,由於表1至表10中每個暫存區塊只能存4位元組,因此資料負載佔用了四個表。資料負載的長度資訊記錄在「表長度」,其數值4即表示四個表。計數器530可累計環緩衝區500中所有訊息表頭的總位元組的資料量,當達到預定資料量時,當前之封包中的第一旗標表頭215替換成第二旗標表頭225以做為工作封包。
環緩衝區500中被佔用的欄位,其位元映像(bitmap)為「1」;環緩衝區500中未被佔用的欄位,其位元映像為「0」。於環緩衝區500運行時,當一欄位已被訊息表頭佔用時,佇列指標中進入佇列指標(Enqueue pointer)510指向下一個未被訊息表頭佔用的欄位。當一欄位的訊息表頭已被取出時,佇列指標中出佇列指標(Dequeue pointer)520指向下一個被訊息表頭佔用的欄位。
在本發明的一實施例中,每當待儲存的訊息表頭儲存於P4交換器120之環緩衝區500時,將訊息表頭儲存於匹配動作表332之進入佇列指標510所指定的環緩衝區500的欄位。
在本發明的一實施例中,每當出口逆解析器323將工作封包再循環給入口解析器311時,將匹配動作表332之出佇列指標520所指定的環緩衝區的欄位的訊息表頭提取以加入至工作封包。
實務上,若環緩衝區500中訊息表頭儲存的速率高於訊息表頭被提取的速率,進入佇列指標510有可能指向一個已被訊息表頭佔用的欄位。因此,在本發明的一實施例中,當進入佇列指標510所指定的環緩衝區500的欄位已儲存資料時,將待儲存的訊息表頭所對應的封包加入指定欄位的資訊後重複通過入口逆解析器313將對應的封包再提交給入口解析器311,由於封包已有指定欄位的資訊,因此忽略進入佇列指標510每次新指定的欄位,再提交的過程重複進行,直到欄位原本已儲存的資料清空為止。此時,訊息表頭則可存到此清空的欄位。藉此,避免封包丟失。
為了對封包解聚合方法做更進一步的闡述,請同時參照第1~3、6圖,第6圖是依照本發明一實施例之一種封包解聚合方法的流程圖。實務上,封包解聚合方法適用P4交換器140。如第6圖所示,封包聚合方法包括步驟S601~S604(應瞭解到,在本實施例中所提及的步驟,除特別敘明其順序者外,均可依實際需要調整其前後順序,甚至可同時或部分同時執行)。
於步驟S601,藉由P4交換器140接收聚合封包220,聚合封包220傳送至P4交換器140之入口管線310之入口解析器311。
於步驟S602,藉由在P4交換器140之交換器組態330所定義之解析圖331將各聚合封包解析為乙太網路表頭211、網際網路協定表頭212、用戶資料協定表頭213、類型表頭214、第二旗標表頭225以及複數個訊息表頭216~216n,第二旗標表頭225表示複數個訊息表頭216~216n的數量及長度。
於步驟S603,從聚合封包220中複製乙太網路表頭211、網際網路協定表頭212、用戶資料協定表頭213、類型表頭214、第二旗標表頭215以及複數個訊息表頭216~216n中之第一個訊息表頭216,並將第二旗標表225頭替換為第一旗標表頭215,藉以從聚合封包2200中解聚合出一封包210,封包210包括乙太網路表頭211、網際網路協定表頭212、用戶資料協定表頭213、類型表頭214、第一旗標表頭215以及第一個訊息表頭216。
於步驟S604,從聚合封包220中刪除第一個訊息表頭216並修正第二旗標表頭225以表示其餘的訊息表頭的數量及長度,通過出口管線320將聚合封包220再循環(recirculate)至入口管線,藉以再解聚合下一封包。
在本發明的一實施例中,當複數個訊息表頭216~216n的數量大於二時,從聚合封包220中解聚合出具第一個訊息表頭216的封包210,接著,在從聚合封包220中刪除第一個訊息表頭216並修正第二旗標表頭225以表示其餘的訊息表頭的數量及長度以後,通過出口管線320將聚合封包再循環至入口管線310。
在本發明的一實施例中,當複數個訊息表頭216~216n的數量等於二時,從聚合封包2200中解聚合出具訊息表頭216的封包210,接著,從聚合封包220中刪除第一個訊息表頭216並將第二旗標表頭225替換為第一旗標表頭215以直接做為下一封包210,無需通過出口管線320將聚合封包再循環至入口管線310。
綜上所述,本發明之技術方案與現有技術相比具有明顯的優點和有益效果。藉由本發明的技術方案,降低浪費在傳輸封包表頭網路頻寬的比例且同時獲得極高的封包聚合效能。另外,本發明之技術方案不需限制被聚合小封包的長度大小和被聚合成一個大封包(如:聚合封包220)裏的小封包的數量。由於本發明的技術方案是設計和實作在純硬體上,相較於傳統使用伺服器的CPU來執行軟體程式來進行封包聚合和解聚合的方法,本案的方法在封包聚合和解聚合的效能上能提升數十倍之多。
雖然本發明已以實施方式揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
為讓本發明之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附符號之說明如下
110:物聯網裝置
120:P4交換器
130:廣域網路
140:P4交換器
150:伺服器
210:封包
220:聚合封包
211:乙太網路表頭
212:網際網路協定表頭
213:用戶資料協定表頭
214:類型表頭
215:第一旗標表頭
216~216n:訊息表頭
225:第二旗標表頭
301:輸入端口
310:入口管線
311:入口解析器
312:入口
313:入口逆解析器
320:出口管線
321:出口解析器
322:出口
323:出口逆解析器
330:交換器組態
331:解析圖
332:匹配動作表
340:封包暫存器
S401~S406:步驟
500:環緩衝區
510:進入佇列指標
520:出佇列指標
530:計數器
S601~S604:步驟
為讓本發明之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖式之說明如下:
第1圖是依照本發明一實施例之一種封包聚合及解聚合的系統的方塊圖;
第2圖是依照本發明一實施例之一種封包及聚合封包的示意圖;
第3圖是依照本發明一實施例之一種P4交換器的方塊圖;
第4圖是依照本發明一實施例之一種封包聚合方法的流程圖;
第5圖是依照本發明一實施例之一種環緩衝區的示意圖;以及
第6圖是依照本發明一實施例之一種封包解聚合方法的流程圖。
S401~S406:步驟
Claims (10)
- 一種封包聚合方法,適用於協議獨立數據封包處理程式語言(Programming Protocol-Independent Packet Processor, P4)交換器,該封包聚合方法包括以下步驟: 藉由該P4交換器接收複數個封包,該複數個封包傳送至該P4交換器之一入口管線之一入口解析器; 藉由在該P4交換器之一交換器組態所定義之一解析圖將各該複數個封包解析為一乙太網路表頭、一網際網路協定表頭、一用戶資料協定表頭、一類型表頭、一第一旗標表頭以及一訊息表頭,該訊息表頭包括各該複數個封包之資料負載及其長度資訊; 藉由在該P4交換器之該交換器組態所定義之一匹配動作表來儲存該複數個封包之該複數個訊息表頭於該P4交換器之一環緩衝區; 當該環緩衝區所儲存的該複數個訊息表頭達到一預定資料量時,藉由在該P4交換器將當前之一封包中的該第一旗標表頭替換成一第二旗標表頭以做為一工作封包; 藉由在該P4交換器之該出口管線之一出口逆解析器將該工作封包反覆地再循環給該入口解析器,每次該入口解析器收到該工作封包,從該環緩衝區中該複數個訊息表頭中提取一訊息表頭加入至該工作封包以進行封包聚合,並於該第二旗標表頭中更新該工作封包中該複數個訊息表頭的數量及長度;以及 當該工作封包的資料量達到一預定上限時,將該工作封包做為一聚合封包,藉由在該P4交換器之一出口管線輸出該聚合封包。
- 如請求項1所述之封包聚合方法,其中該工作封包的數量為複數個,以平行進行封包聚合。
- 如請求項1所述之封包聚合方法,更包括: 每當待儲存的該訊息表頭儲存於該P4交換器之該環緩衝區時,將該訊息表頭儲存於該匹配動作表之一進入佇列指標所指定的該環緩衝區的一欄位。
- 如請求項3所述之封包聚合方法,更包括: 當該進入佇列指標所指定的該環緩衝區的該欄位已儲存資料時,將該待儲存的訊息表頭所對應的封包加入指定該欄位的資訊後重複通過該入口逆解析器將該對應的封包再提交給該入口解析器,直到該欄位原本已儲存的資料清空為止。
- 如請求項1所述之封包聚合方法,更包括: 每當該出口逆解析器將該工作封包再循環給該入口解析器時,將該匹配動作表之一出佇列指標所指定的該環緩衝區的一欄位的該訊息表頭提取以加入至該工作封包。
- 如請求項1所述之封包聚合方法,其中該複數個封包包括藉由複數個物聯網裝置收集之感測資料。
- 如請求項1所述之封包聚合方法,其中該複數個物聯網裝置連線至該P4交換器。
- 一種封包解聚合方法,適用於一P4交換器,該封包解聚合方法包括以下步驟: 藉由該P4交換器接收一聚合封包,該聚合封包傳送至該P4交換器之一入口管線之一入口解析器; 藉由在該P4交換器之一交換器組態所定義之一解析圖將各該聚合封包解析為一乙太網路表頭、一網際網路協定表頭、一用戶資料協定表頭、一類型表頭、一第二旗標表頭以及複數個訊息表頭,該第二旗標表頭表示該複數個訊息表頭的數量及長度; 從該聚合封包中複製該乙太網路表頭、該網際網路協定表頭、該用戶資料協定表頭、該類型表頭、該第二旗標表頭以及該複數個訊息表頭中之第一個訊息表頭,並將該第二旗標表頭替換為一第一旗標表頭,藉以從該聚合封包中解聚合出一封包,該封包包括該乙太網路表頭、該網際網路協定表頭、該用戶資料協定表頭、該類型表頭、該第一旗標表頭以及該第一個訊息表頭;以及 從該聚合封包中刪除該第一個訊息表頭並修正該第二旗標表頭以表示其餘的訊息表頭的數量及長度,通過該出口管線將該聚合封包再循環至該入口管線,藉以再解聚合下一封包。
- 如請求項8所述之封包解聚合方法,更包括: 當該複數個訊息表頭的數量大於二時,在從該聚合封包中刪除該第一個訊息表頭並修正該第二旗標表頭以表示該其餘的訊息表頭的數量及長度以後,通過該出口管線將該聚合封包再循環至該入口管線。
- 如請求項9所述之封包解聚合方法,更包括: 當該複數個訊息表頭的數量等於二時,從該聚合封包中刪除該第一個訊息表頭並將該第二旗標表頭替換為該第一旗標表頭以做為該下一封包,無需通過該出口管線將該聚合封包再循環至該入口管線。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109128138A TWI745034B (zh) | 2020-08-18 | 2020-08-18 | 封包聚合及解聚合方法 |
US17/125,975 US11343360B2 (en) | 2020-08-18 | 2020-12-17 | Packet aggregation and disaggregation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109128138A TWI745034B (zh) | 2020-08-18 | 2020-08-18 | 封包聚合及解聚合方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI745034B true TWI745034B (zh) | 2021-11-01 |
TW202209850A TW202209850A (zh) | 2022-03-01 |
Family
ID=79907341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109128138A TWI745034B (zh) | 2020-08-18 | 2020-08-18 | 封包聚合及解聚合方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11343360B2 (zh) |
TW (1) | TWI745034B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210194828A1 (en) * | 2020-12-07 | 2021-06-24 | Intel Corporation | Architecture for smart switch centered next generation cloud infrastructure |
US11799785B2 (en) * | 2021-04-09 | 2023-10-24 | Microsoft Technology Licensing, Llc | Hardware-based packet flow processing |
US11652749B2 (en) | 2021-04-09 | 2023-05-16 | Microsoft Technology Licensing, Llc | High availability for hardware-based packet flow processing |
US11588740B2 (en) | 2021-04-09 | 2023-02-21 | Microsoft Technology Licensing, Llc | Scaling host policy via distribution |
US11949605B2 (en) * | 2021-10-28 | 2024-04-02 | Avago Technologies International Sales Pte. Limited | Systems for and methods of unified packet recirculation |
CN115225711A (zh) * | 2022-06-01 | 2022-10-21 | 裕太微(上海)电子有限公司 | 一种高效传输的以太网设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200822652A (en) * | 2006-05-09 | 2008-05-16 | Mistletoe Technologies Inc | Portable firewall |
US20080253398A1 (en) * | 2002-06-13 | 2008-10-16 | International Business Machines Corpration | Selective header field dispatch in a network processing system |
US20160380922A1 (en) * | 2011-04-05 | 2016-12-29 | Nicira, Inc. | Method and Apparatus for Stateless Transport Layer Tunneling |
US9655004B2 (en) * | 2009-11-13 | 2017-05-16 | Exalt Wireless, Inc. | Apparatus for Ethernet traffic aggregation of radio links |
TWI690185B (zh) * | 2019-04-03 | 2020-04-01 | 國立交通大學 | 高速資料平面封包聚合及解聚合方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6614808B1 (en) | 1999-09-02 | 2003-09-02 | International Business Machines Corporation | Network packet aggregation |
US7391769B2 (en) | 2003-06-27 | 2008-06-24 | Lucent Technologies Inc. | Packet aggregation for real time services on packet data networks |
RU2313912C2 (ru) | 2003-06-27 | 2007-12-27 | Нокиа Корпорейшн | Способ и устройство для агрегирования пакетов в сети беспроводной связи |
JP4942375B2 (ja) * | 2006-03-27 | 2012-05-30 | 株式会社ソニー・コンピュータエンタテインメント | ネットワーク処理装置 |
US7808979B2 (en) | 2006-06-26 | 2010-10-05 | Ciena Corporation | Methods and systems for packet aggregation combining connection-oriented and connection-less techniques |
US8811411B2 (en) | 2008-12-24 | 2014-08-19 | Entropic Communications, Inc. | Packet aggregation and fragmentation at layer-2 over a managed network |
US9825862B2 (en) * | 2015-08-26 | 2017-11-21 | Barefoot Networks, Inc. | Packet header field extraction |
US10362149B2 (en) | 2016-12-30 | 2019-07-23 | Intel Corporation | Intelligent packet aggregation |
US11656992B2 (en) * | 2019-05-03 | 2023-05-23 | Western Digital Technologies, Inc. | Distributed cache with in-network prefetch |
-
2020
- 2020-08-18 TW TW109128138A patent/TWI745034B/zh active
- 2020-12-17 US US17/125,975 patent/US11343360B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080253398A1 (en) * | 2002-06-13 | 2008-10-16 | International Business Machines Corpration | Selective header field dispatch in a network processing system |
TW200822652A (en) * | 2006-05-09 | 2008-05-16 | Mistletoe Technologies Inc | Portable firewall |
US9655004B2 (en) * | 2009-11-13 | 2017-05-16 | Exalt Wireless, Inc. | Apparatus for Ethernet traffic aggregation of radio links |
US20160380922A1 (en) * | 2011-04-05 | 2016-12-29 | Nicira, Inc. | Method and Apparatus for Stateless Transport Layer Tunneling |
TWI690185B (zh) * | 2019-04-03 | 2020-04-01 | 國立交通大學 | 高速資料平面封包聚合及解聚合方法 |
Also Published As
Publication number | Publication date |
---|---|
US11343360B2 (en) | 2022-05-24 |
TW202209850A (zh) | 2022-03-01 |
US20220060569A1 (en) | 2022-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI745034B (zh) | 封包聚合及解聚合方法 | |
US10862871B2 (en) | Hardware-accelerated payload filtering in secure communication | |
Qin et al. | Line-speed and scalable intrusion detection at the network edge via federated learning | |
TWI411279B (zh) | 封包聚合的方法與系統 | |
CN112311789B (zh) | 深度报文处理方法、装置、电子设备及存储介质 | |
US20060242313A1 (en) | Network content processor including packet engine | |
US20040218623A1 (en) | Hardware calculation of encapsulated IP, TCP and UDP checksums by a switch fabric channel adapter | |
US20170300595A1 (en) | Data packet extraction method and apparatus | |
US20220353207A1 (en) | Communication Method and Apparatus | |
EP1157502A2 (en) | Method and apparatus for early random discard of packets | |
CN117176486A (zh) | 网络信息传输*** | |
US7733865B2 (en) | Communication apparatus and method | |
CN108429739A (zh) | 一种识别蜜罐的方法、***及终端设备 | |
CN107508828B (zh) | 一种超远程数据交互***及方法 | |
TWI690185B (zh) | 高速資料平面封包聚合及解聚合方法 | |
US20130227161A1 (en) | Transmit scaling using multiple queues | |
US8886913B2 (en) | Apparatus and method for identifier management | |
CN101355585A (zh) | 一种分布式架构数据通信设备的消息保护***及方法 | |
CN115150207A (zh) | 工业网络设备识别方法、装置、终端设备及存储介质 | |
WO2019015487A1 (zh) | 一种数据重传处理方法、rlc实体和mac实体 | |
CN114221925A (zh) | 消息推送方法、装置、电子设备及存储介质 | |
US20230353285A1 (en) | Data transmission method, data transmission apparatus, computer-readable medium, electronic device, and computer program product | |
Sun et al. | A scalable header compression scheme to improve bandwidth utilization in 5G networks | |
CN118101308A (zh) | 一种加速机器学习特征工程的方法、***及电子设备 | |
CN117955940A (zh) | 一种ip分片报文快速重组的方法 |