TWI664842B - 網路封包智能處理系統及其方法 - Google Patents

網路封包智能處理系統及其方法 Download PDF

Info

Publication number
TWI664842B
TWI664842B TW107139169A TW107139169A TWI664842B TW I664842 B TWI664842 B TW I664842B TW 107139169 A TW107139169 A TW 107139169A TW 107139169 A TW107139169 A TW 107139169A TW I664842 B TWI664842 B TW I664842B
Authority
TW
Taiwan
Prior art keywords
resource
processor
parsing
network packets
processors
Prior art date
Application number
TW107139169A
Other languages
English (en)
Other versions
TW202019134A (zh
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 TW107139169A priority Critical patent/TWI664842B/zh
Application granted granted Critical
Publication of TWI664842B publication Critical patent/TWI664842B/zh
Publication of TW202019134A publication Critical patent/TW202019134A/zh

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本發明係提供一種網路封包智能處理系統及其方法,該方法包括:於多個網路封包通過一配發處理器時,令該配發處理器依據該多個網路封包之雜湊結果比對封包過濾條件,以將該多個網路封包分別傳送至相對應之多個解析處理器的其中一者;令該多個解析處理器取得相對應之網路封包後進行解析,以於解析過程中須共用資源時,傳送請求資源指令至請求佇列;令一資源處理器讀取該請求佇列內之該請求資源指令以執行需求處理,以將資源資料寫入於回覆佇列以供該多個解析處理器取用;以及令該多個解析處理器分別解析該相對應之網路封包後輸出解析結果,以將該解析結果傳送至資料儲存器中儲存。

Description

網路封包智能處理系統及其方法
本發明係有關網路封包處理機制,詳而言之,係關於一種網路封包智能處理系統及其方法。
隨著行動網路各項技術的開發與應用普及化,行動用戶與使用量急速增加,電信營運商在行動網路的封包監測技術也變得日益重要,然此同時亦伴隨著通信技術愈來愈複雜、計算量愈來愈大、難以保持即時與擴充性等問題。於先前探測技術中,係採用讀取檔案方式解析網路封包內容而非讀取即時封包,因而無法達成即時性,且隨著後續須處理的檔案越大,解析輸出周期亦隨之拉長,為了避免輸出周期過長,當網路封包增加達到解析設備無法處理時,必須將網路封包切割成數份交給不同實體設備處理,由於該些網路封包具有依存性,若交由不同實體設備處理可能導致無法順利解析之封包數量增加,對此,探測系統前端可新增另一套系統來將所有具關連之封包配發給同一台設備探測,如此系統也將隨著處理量變多而日益複雜。
由上可知,基於行動網路訊號日益增加,若能設計一 種可運用於行動核心網路的探測方式,同時可解決技術、效能、即時與擴充性的問題,藉此協助電信營運商解決網路探測與維運的議題,此將成目前本技術領域人員極力追求之技術目標。
本發明的目的在於提供快速解析具依存性之網路封包,透過多個不同功能處理器分工與有效控管共用資源存取之方法,藉此達成快速且正確解析封包,如此能處理即時網路封包以有效提供解析結果,故縮短電信營運商等待解析結果之時間。
為了達成上述或其他目的,本發明提出一種網路封包智能處理方法,該方法包括:於多個網路封包通過一配發處理器時,令該配發處理器依據該多個網路封包之雜湊結果比對封包過濾條件,以將該多個網路封包分別傳送至相對應之多個解析處理器的其中一者;令該多個解析處理器取得相對應之網路封包後進行解析,以於解析過程中須共用資源時,傳送請求資源指令至請求佇列;令一資源處理器讀取該請求佇列內之該請求資源指令以執行需求處理,以將資源資料寫入於回覆佇列以供該多個解析處理器取用;以及令該多個解析處理器分別解析該相對應之網路封包後輸出解析結果,以將該解析結果傳送至資料儲存器中儲存。
於一實施例中,該配發處理器比對該多個網路封包與該封包過濾條件後,再將來源位址、目的位址、來源埠、 目的埠及協定值之數值相加並與符合該封包過濾條件之解析處理器數量進行雜湊運算,藉以根據雜湊運算結果配發該多個網路封包至相對應之解析處理器。
於一實施例中,該配發處理器依序將該多網路封包進行配發,且該多個解析處理器於處理該多個網路封包之順序與該多個網路封包通過該配發處理器時相同。
於一實施例中,該多個解析處理器僅能寫入該請求佇列及讀取該回覆佇列內之專屬欄位。另外,該多個解析處理器係依據該請求佇列之資料表中used欄位之值,以判斷是否能寫入該請求佇列。
於一實施例中,該多個解析處理器傳送該請求資源指令時,透過週期性確認該請求佇列內欄位是否能寫入以避免尚未處理之其他請求資源指令被覆蓋,並且透過設定確認上限值以避免等待時間過久。
於一實施例中,該多個解析處理器等待該資源資料時,透過週期性確認該回覆佇列內欄位是否有資料可讀取,並且設定確認上限值以避免等待時間過久。
於一實施例中,該資源處理器於寫入該資源資料時,透過週期性確認該回覆佇列內之欄位是否能寫入以避免尚未處理之資源資料被覆蓋,並且設定確認上限值以避免等待時間過久。另外,該資源處理器透過該回覆佇列之資料表中used欄位內容與write-time欄位內容,以判斷該回覆佇列之資料是否已被讀取或是資料太舊,進而判斷是否能寫入該回覆佇列中。
於一實施例中,該資源處理器根據該回覆佇列之權重決定該回覆佇列內該資源資料之處理數量。
於一實施例中,該資源處理器採用循環分配(round-robin)方式以處理該請求佇列內之該請求資源指令。
於一實施例中,該封包過濾條件包括根據網際網路協定或是封包類型以進行過濾。
本發明復提出一種網路封包智能處理系統,其包含:系統設定檔單元,係用於儲存系統參數與處理器運作規則;配發處理器,係依據所接收之多個網路封包之雜湊結果比對封包過濾條件,以將該多個網路封包分別傳送至相對應之多個解析處理器的其中一者;該多個解析處理器,係用於解析該多個網路封包之內容以產生解析結果;資源處理器,係用於依據該多個解析處理器之需求,自共用資源區找出所需之共用資源並回傳;以及資料儲存器,係用於儲存該多個解析處理器解析後之該解析結果。
於一實施例中,該網路封包智能處理系統復包括網路介面,係用於提供該多個網路封包之導入與該解析結果之輸出。
於一實施例中,該多個解析處理器於解析過程中須該共用資源時,傳送請求資源指令至請求佇列以及等待該資源處理器提供資源資料。
於一實施例中,該資源處理器讀取該請求佇列內之該請求資源指令以執行需求處理,俾將該資源資料寫入於回 覆佇列以供該多個解析處理器取用。
於一實施例中,該系統參數包括該多個解析處理器之優先順序以及該封包過濾條件,以令該配發處理器將符合該封包過濾條件之網路封包配發給高優先權之解析處理器執行處理。
於一實施例中,該多個解析處理器優先順序不同時,設立數個不同優先權之請求佇列和回覆佇列,以供該多個解析處理器與該資源處理器間之溝通。
由上可知,本發明提出一種網路封包智能處理系統以其方法,特別是用於處理具相關性之網路封包,其中,網路封包通過配發處理器分類後配發給解析處理器,配發處理器分配方法確保同個會談(session)之網路封包皆由相同一個解析處理器處理,接著,解析處理器解析網路封包之內容,在解析封包過程中若需要存取其他處理器拆解之封包結果或是解析結果可能為其他解析處理器所需時,此跨處理器間的資源存取統一由資源處理器負責,此管理機制避免解析處理器花太多時間在競爭讀寫共同資源區域,故能改善系統流程並提升效率。
1‧‧‧網路封包智能處理系統
11‧‧‧配發處理器
12‧‧‧解析處理器
13‧‧‧資源處理器
14‧‧‧共用資源區
15‧‧‧資料儲存器
16‧‧‧系統設定檔單元
20‧‧‧配發處理器
21~23‧‧‧解析處理器
31‧‧‧請求佇列
32‧‧‧回覆佇列
41‧‧‧資源處理器
51‧‧‧共用資源區
61~66‧‧‧網路封包
7‧‧‧硬碟
S11~S14‧‧‧步驟
S401~S404‧‧‧流程
S501~S509‧‧‧流程
S601~S604‧‧‧流程
S801~S805‧‧‧流程
S901~S905‧‧‧流程
請參閱有關本發明之詳細說明及其附圖,將可進一步瞭解本發明之技術內容及其目的功效,相關附圖包括:第1圖為本發明之網路封包智能處理方法的步驟圖;第2圖為本發明之網路封包智能處理系統的系統架構圖; 第3圖為本發明之網路封包智能處理系統一具體實施例的系統架構與封包流程圖;第4圖為本發明之配發處理器的運作流程圖;第5圖為本發明之解析處理器的運作流程圖;第6圖為本發明之資源處理器的運作流程圖;第7圖為本發明之請求佇列和回覆佇列的格式;第8圖為本發明寫資料到佇列的流程圖;以及第9圖為本發明從佇列讀取資料的流程圖。
以下將描述具體之實施例以說明本發明之實施態樣,惟其並非用以限制本發明所欲保護之範疇。
第1圖說明本發明之網路封包智能處理方法的步驟圖。本發明之網路封包智能處理方法將同個會談(session)之網路封包配發給同一個處理器進行處理,且於解析封包過程中若需要存取其他處理器拆解之封包結果或是解析結果可能為其他解析處理器所需時,可透過一資源處理器進行資源資料分配,藉此改善系統流程並提升效率。
於步驟S11中,於多個網路封包通過一配發處理器時,令該配發處理器依據該多個網路封包之雜湊結果比對封包過濾條件,以將該多個網路封包分別傳送至相對應之多個解析處理器的其中一者。於本步驟中,網路封包將通過配發處理器進行配發,以將網路封包傳送至相對應的解析處理器進行解析。
於一實施例中,配發處理器會比對多個網路封包與封 包過濾條件後,再將來源位址(source IP)、目的位址(destination IP)、來源埠(source port)、目的埠(destination port)及協定值(protocol)此五值加起來並與符合封包過濾條件之解析處理器數量進行雜湊(hash)運算,藉以根據雜湊運算結果配發多個網路封包至相對應之解析處理器,簡言之,即透過網路封包的雜湊值來判斷網路封包是否屬於同一個會談(session),並將其交由同一個解析處理器進行處理。
於一實施例中,前述封包過濾條件包括根據網際網路協定或是封包類型來進行過濾。
於一實施例中,配發處理器會依序將多網路封包進行配發,其中,每個解析處理器於處理其所接收之多個網路封包的順序,會與多個網路封包通過配發處理器時相同。
於步驟S12中,令該多個解析處理器取得相對應之網路封包後進行解析,以於解析過程中須共用資源時,傳送請求資源指令至請求佇列。於本步驟中,多個解析處理器對其所收到的網路封包進行解析,因為解析過程可能須要其他資源資料,但該些資源資料可能不是該解析處理器自己所處理者,故於解析過程中須共用資源時,會傳送請求資源指令至請求佇列。
於一實施例中,多個解析處理器於傳送請求資源指令時,會透過週期性確認請求佇列內欄位是否能寫入,藉此避免尚未處理之其他請求資源指令被覆蓋,且透過設定一確認上限值以避免等待時間過久。具體來說,該多個解析 處理器能依據該請求佇列之資料表中used欄位之值,以判斷是否能寫入該請求佇列。
於步驟S13中,令一資源處理器讀取該請求佇列內之該請求資源指令以執行需求處理,以將資源資料寫入於回覆佇列以供該多個解析處理器取用。於本步驟中,資源處理器會讀取請求佇列內之請求資源指令,藉此替多個解析處理器取的解析處理器所需的資源資料,該些資源資料會寫入至回覆佇列,以供多個解析處理器取用。
於一實施例中,當資源處理器於寫入資源資料至回覆佇列時,透過週期性確認該回覆佇列內之欄位是否能寫入以避免尚未處理之資源資料被覆蓋,並且設定一確認上限值以避免等待時間過久。具體來說,資源處理器透過該回覆佇列之資料表中used欄位內容與write-time欄位內容,以判斷該回覆佇列之資料是否已被讀取或是資料太舊,進而判斷是否能寫入該回覆佇列中。
由上可知,該多個解析處理器僅能寫入該請求佇列及讀取該回覆佇列內之專屬欄位,且當該多個解析處理器等待該資源資料時,也能透過週期性確認該回覆佇列內欄位是否有資料可讀取,並且設定一確認上限值以避免等待時間過久。
有關於資源處理器運作,其採用循環分配(round-robin)方式以處理該請求佇列內之該請求資源指令,另外,也能根據該回覆佇列之權重決定該回覆佇列內該資源資料之處理數量。
於步驟S14中,令該多個解析處理器分別解析該相對應之網路封包後輸出解析結果,以將該解析結果傳送至資料儲存器中儲存。於本步驟中,即多個解析處理器解析其所收到的網路封包而產出解析結果,而該些解析結果將傳送至資料儲存器中儲存。
第2圖說明本發明之網路封包智能處理系統的系統架構圖。如圖所示,網路封包智能處理系統1能將同一個會談(session)之網路封包配發給同一個處理器進行處理,並由一個資源處理器進行資源資料分配,藉此改善系統流程並提升效率,其中,網路封包智能處理系統1包括配發處理器11、多個解析處理器12、資源處理器13、共用資源區14、資料儲存器15及系統設定檔單元16。
配發處理器11係依據所接收之多個網路封包之雜湊結果比對封包過濾條件,以將該多個網路封包分別傳送至相對應之多個解析處理器的其中一者。簡言之,配發處理器11用於分配多個網路封包,並將多個網路封包分別配置給相對應的解析處理器12進行解析處理。
多個解析處理器12用於解析該多個網路封包之內容以產生解析結果。於解析處理器12解析過程中,可能須要其他資源資料,但非由該解析處理器12進行處理,故須由其他的解析處理器12提供,此時則是資源處理器13進行資源整配,而資源處理器13用於依據該多個解析處理器之需求,自共用資源區14找出所需之共用資源並回傳。
資料儲存器15則用於儲存該多個解析處理器解析後 之解析結果。具體來說,資料儲存器15可為硬碟,能用於儲存解密後之網路封包與封包分析結果。
由上可知,前述三種處理處理器分別負責不同功能,配發處理器11負責快速根據網路封包之特徵值分配網路封包給相對應之解析處理器12,分配機制需快速且確保同一個session之網路封包均交給同一個解析處理器12,並且平均分配使所有解析處理器12負荷差異小,解析處理器12將執行網路封包內容之解析。資源處理器13處理跨處理器之間的資源存取,避免處理器為存取共同資源而處於忙碌等待(busy-waiting)狀態。
系統設定檔單元16用於儲存系統參數與處理器運作規則。具體來說,系統設定檔單元16儲存系統參數,內含解析處理器之優先順序與封包過濾條件等。當網路封包無權重時,將所有解析處理器優先順序設為一致,若網路環境有重要網路封包,則將重要網路封包交給高優先權處理器執行,即資源處理器13將優先處理高優先權解析處理器12之需求,降低處理不及被丟棄之風險。
於一實施例中,網路封包智能處理系統1復包括網路介面,係用於提供該多個網路封包之導入與該解析結果之輸出。簡言之,網路介面導入需分析之網路封包並輸出分析結果,導入封包之介面可為光纖介面,此介面最高可接受10Gbps輸入,輸出介面則有光纖與乙太網路兩種。
另外,網路封包智能處理系統1更包括記憶體單元(圖未示),能供各處理器儲存原始封包以進行分析,也就是說, 記憶體單元能暫存資料與資源,以供各處理器進行取用。
關於資源處理器13有關共用資源之運作,當多個解析處理器12於解析過程中須共用資源時,傳送請求資源指令至請求佇列以及等待該資源處理器提供資源資料,而資源處理器13會讀取該請求佇列內之該請求資源指令以執行需求處理,俾將資源資料寫入於回覆佇列以供多個解析處理器12取用。
另外,當多個解析處理器12優先順序不同時,設立數個不同優先權之請求佇列和回覆佇列,以供該多個解析處理器與該資源處理器間之溝通
第3圖為本發明之網路封包智能處理系統一具體實施例的系統架構與封包流程圖。如圖所示,系統內網路封包與處理器所需資源皆由記憶體提供,配發處理器20依序從儲存封包之記憶體中取出網路封包61-66,網路封包61-66內右邊數字表示封包收取順序,英文字母為配發處理器20根據網路封包IP header中source IP、destination IP、source port、destination port、protocol與解析處理器數量算出之雜湊(hash)值,同一個session之所有封包hash值會一樣,配發處理器20根據hash值將網路封包61-66分配給解析處理器21-23執行封包處理。由於系統中只有一個配發處理器20配送網路封包至解析處理器21-23,解析處理器21-23處理同一個session封包順序與系統收到順序一致,亦即以解析處理器21(即解析處理器A)為例,將依序處理網路封包61、62、64,此順序與收到順序相同,假若透過 兩個配發處理器同時處理,可能導致網路封包處理順序與收取順序不同之情況發生。
解析處理器21處理網路封包時,可能需共用資源區51之資料才能順利完成解析,為避免多個處理器同時競爭共用資源區51,共用資源區51之讀寫統一由資源處理器41來負責,由於僅有一個資源處理器41讀寫共用資源區51,因此共用資源區51不需擔心資料同步之問題,當解析處理器21-23需共用資源區51資料時,將所需資料指令寫入請求佇列(Request Queue)31,並於回覆佇列(Response Queue)32等待資源處理器41傳回結果。
請求佇列31與回覆佇列32之資料結構如第7圖,每個列(row)的資料結構包含used(是否被使用,其中,0為尚未被使用,1為已被使用)、command(指令)、副指令(sub-command)、相關參數(parameters)與寫入時間(write-time)等欄位。每一個解析處理器有其唯一可讀寫之row,例如解析處理器21(解析處理器A)僅能讀寫row 1,解析處理器22(解析處理器B)僅能讀寫row 2。
解析處理器21-23將需求透過請求佇列31傳遞給資源處理器41,資源處理器41在讀取請求佇列31時透過round-robin方式循環處理所有解析處理器21-23之需求,如此可達公平處理。當解析處理器21-23完成網路封包處理後,將解析結果透過請求佇列31寫到共用資源區51或輸出至硬碟7(即本案所述之資料儲存器)中。
配發處理器20將同一個session的網路封包配發給解 析處理器21-23時,會根據系統設定檔判斷是否有存在過濾條件,管理者可針對特定IP或特定類型封包指定為高優先處理封包,當網路封包符合過濾條件時即將網路封包配發給具有高優先權的解析處理器21-23處理。
第4圖為本發明之配發處理器的運作流程圖,其中,配發處理器的運作流程包含下列步驟。於流程S401中,計算網路封包5-tuples值(source IP、destination IP、source port、destination port、protocol)。
於流程S402中,根據系統設定檔判斷網路封包是否符合封包過濾條件,當網路封包符合網路過濾條件時須將網路封包送給高優先權之解析處理器解析。
於流程S403中,封包不符合過濾條件,將封包交給一般解析處理器處理,若一般解析處理器有N個,則將5-tuples值除以N求餘數,餘數即為需負責處理此網路封包之解析處理器。
於流程S404中,網路封包符合網路過濾條件,將網路封包交給此等級之解析處理器處理,若此等級之解析處理器有M個,則將5-tuples值除以M求餘數,餘數即為需負責處理此封包之解析處理器。
第5圖為本發明之解析處理器的運作流程圖,其中,解析處理器的運作流程包含下列步驟。於流程S501中,判斷封包佇列(packet queue)中是否有封包需分析,若有則進入流程S502,若無封包,則在流程S501中繼續確認封包佇列內容狀態。
於流程S502中,解析處理器從封包佇列中取出封包進行分析。
於流程S503中,判斷分析封包是否需其他資源以協助解析。若需要,則到流程S504,若無需,則到流程S507。
於流程S504中,即需要共用資源以協助解析封包,據此將需求寫到請求佇列中,有請求佇列中的具體細節,如第7圖所述。
於流程S505中,若無法將需求傳送至請求佇列中或無法順利取得回覆時,則無法解析封包,故丟棄此封包,避免花太多時間在此封包。
於流程S506中,即於回覆佇列等待以取得資源處理器處理結果。
於流程S507中,若流程S503中無須其他資源,則由本流程進行解析封包內容。
於流程S508中,根據封包類型判斷解析結果需儲存於資源中或寫至檔案,若須要寫入資源中,則進入流程S504。
於流程S509中,將解析結果儲存於檔案(硬碟)中。
本發明之請求佇列與回覆佇列數量由設定檔決定,若解析處理器共有K種優先權,則會產生K個請求佇列與K個回覆佇列。每一個解析處理器根據其優先權讀寫特定請求佇列與回覆佇列,資源處理器在處理這K個請求佇列時採用的機制是根據比例計算每一個佇列處理的要求數量,舉例而言,若有三個請求佇列,每一個的優先順序分別為 1、2、3,數字越低代表優先權越重,資源處理器處理此三個請求佇列的比例即為1/1:1/2:1/3=6:3:2。另外,每一個佇列裡面處理的順序採用round-robin方式。
第6圖為本發明之資源處理器的運作流程圖,其中,資源處理器的運作流程包含下列步驟。於流程S601中,根據上述分配原則於特定佇列中依據round-robin方式取出需求。
於流程S602中,處理完需求,判斷此解析結果是寫入或讀取共用資源區。
於流程S603中,需求是屬於要從共用資源區讀取資料,嘗試將讀取結果寫到回覆佇列以供讀取,有關回覆佇列的相關欄位,如第7圖所示。
於流程S604中,需求是屬於要寫資料到共用資源區,進行寫入流程。
第8圖為本發明寫資料到佇列流程圖,此流程適用於解析處理器發送需求至請求佇列與資源處理器寫入回覆至回覆佇列,流程包含下列步驟。於流程S801中,處理器判斷要寫入之欄位是否已被使用,具體而言,解析處理器僅透過used欄位判斷是否可寫入請求佇列,基於本發明為一個資源處理器處理多個解析處理器之需求,可能會遇到解析處理器放棄等待回覆後資源處理器才順利取得資源寫回回覆佇列,為了避免資源寫入後沒被讀取,資源處理器於此處需多判斷回覆內容是否已存在太久,若回覆內容存在超過設定上限值依舊未被讀取,資源處理器將覆蓋舊的回 覆內容。
於流程S802中,欄位內容目前尚未被使用,因此順利將命令與參數寫入欄位中,將此欄位標示為已使用。
於流程S803中,欄位目前已被使用需等待欄位清空,避免無止境等待,設定總等待上限值。
於流程S804中,等待一段時間後再行確認欄位是否已清空。
於流程S805中,等待總時間超過設定等待上限值,放棄等待並回覆錯誤。
第9圖為本發明從佇列讀資料流程圖,此流程適用於解析處理器至回覆佇列讀取回覆,流程包含下列步驟。於流程S901中,處理器判斷等待之欄位是否已被寫入資料。
於流程S902中,欄位內已有資料,因此順利將結果從欄位取出,取出後將此欄位標示為未使用。
於流程S903中,欄位目前尚未有資料,需等待結果被寫入,避免無止境等待,設定總等待上限值。
於流程S904中,等待一段時間後再行確認欄位是否已有資料。
於流程S905中,等待總時間超過設定等待上限值,放棄等待並回覆錯誤。本發明技術特點為處理器分工,係將屬同一個session之封包依收取順序交由同一個處理器進行解析封包處理,避免封包具依存性時因處理順序不同而導致出錯;次之,透過設定優先順序,使高優先權封包得以加快處理,降低高優先權封包來不及處理之機率,於封 包處理時具備選擇性;另外,透過統一管理共用資源與處理器間透過請求/回覆佇列溝通,避免處理器花太多時間在競爭共同資源上,增加處理器效能達系統效能提升。
綜上所述,本發明提供一種可運用於行動核心網路的探測方式,並具備優先順序功能,透過處理器分工可快速處理網路封包,透過統一管理資源機制避免處理器間花太多時間競爭共同資源,提升系統效能,同時解決技術、效能、即時與擴充性的問題。
上列詳細說明乃針對本發明之一可行實施例進行具體說明,惟該實施例並非用以限制本發明之專利範圍,凡未脫離本發明技藝精神所為之等效實施或變更,均應包含於本案之專利範圍中。

Claims (18)

  1. 一種網路封包智能處理方法,該方法包括:於多個網路封包通過一配發處理器時,令該配發處理器依據該多個網路封包之雜湊結果比對封包過濾條件,以將該多個網路封包分別傳送至相對應之多個解析處理器的其中一者;令該多個解析處理器取得相對應之網路封包後進行解析,以於解析過程中須共用資源時,傳送請求資源指令至請求佇列;令一資源處理器讀取該請求佇列內之該請求資源指令以執行需求處理,以將資源資料寫入於回覆佇列以供該多個解析處理器取用;以及令該多個解析處理器分別解析該相對應之網路封包後輸出解析結果,以將該解析結果傳送至資料儲存器中儲存。
  2. 如申請專利範圍第1項所述之網路封包智能處理方法,其中,該配發處理器比對該多個網路封包與該封包過濾條件後,再將來源位址、目的位址、來源埠、目的埠及協定值之數值相加並與符合該封包過濾條件之解析處理器數量進行雜湊運算,藉以根據雜湊運算結果配發該多個網路封包至相對應之解析處理器。
  3. 如申請專利範圍第1項所述之網路封包智能處理方法,其中,該配發處理器依序將該多網路封包進行配發,且該多個解析處理器於處理該多個網路封包之順序與該多個網路封包通過該配發處理器時相同。
  4. 如申請專利範圍第1項所述之網路封包智能處理方法,其中,該多個解析處理器僅能寫入該請求佇列及讀取該回覆佇列內之專屬欄位。
  5. 如申請專利範圍第4項所述之網路封包智能處理方法,其中,該多個解析處理器係依據該請求佇列之資料表中是否被使用(used)欄位之值,以判斷是否能寫入該請求佇列。
  6. 如申請專利範圍第1項所述之網路封包智能處理方法,其中,該多個解析處理器傳送該請求資源指令時,透過週期性確認該請求佇列內欄位是否能寫入以避免尚未處理之其他請求資源指令被覆蓋,並且透過設定確認上限值以避免等待時間過久。
  7. 如申請專利範圍第1項所述之網路封包智能處理方法,其中,該多個解析處理器等待該資源資料時,透過週期性確認該回覆佇列內欄位是否有資料可讀取,並且設定確認上限值以避免等待時間過久。
  8. 如申請專利範圍第1項所述之網路封包智能處理方法,其中,該資源處理器於寫入該資源資料時,透過週期性確認該回覆佇列內之欄位是否能寫入以避免尚未處理之資源資料被覆蓋,並且設定確認上限值以避免等待時間過久。
  9. 如申請專利範圍第8項所述之網路封包智能處理方法,其中,該資源處理器透過該回覆佇列之資料表中是否被使用(used)欄位內容與寫入時間(write-time)欄位內容,以判斷該回覆佇列之資料是否已被讀取或是資料太舊,進而判斷是否能寫入該回覆佇列中。
  10. 如申請專利範圍第1項所述之網路封包智能處理方法,其中,該資源處理器根據該回覆佇列之權重決定該回覆佇列內該資源資料之處理數量。
  11. 如申請專利範圍第1項所述之網路封包智能處理方法,其中,該資源處理器採用循環分配(round-robin)方式以處理該請求佇列內之該請求資源指令。
  12. 如申請專利範圍第1項所述之網路封包智能處理方法,其中,該封包過濾條件包括根據網際網路協定或是封包類型以進行過濾。
  13. 一種網路封包智能處理系統,其包含:系統設定檔單元,係用於儲存系統參數與處理器運作規則;配發處理器,係依據所接收之多個網路封包之雜湊結果比對封包過濾條件,以將該多個網路封包分別傳送至相對應之多個解析處理器的其中一者;該多個解析處理器,係用於解析該多個網路封包之內容以產生解析結果;資源處理器,係用於依據該多個解析處理器之需求,自共用資源區找出所需之共用資源並回傳;以及資料儲存器,係用於儲存該多個解析處理器解析後之該解析結果。
  14. 如申請專利範圍第13項所述之網路封包智能處理系統,復包括網路介面,係用於提供該多個網路封包之導入與該解析結果之輸出。
  15. 如申請專利範圍第13項所述之網路封包智能處理系統,其中,該多個解析處理器於解析過程中須該共用資源時,傳送請求資源指令至請求佇列以及等待該資源處理器提供資源資料。
  16. 如申請專利範圍第15項所述之網路封包智能處理系統,其中,該資源處理器讀取該請求佇列內之該請求資源指令以執行需求處理,俾將該資源資料寫入於回覆佇列以供該多個解析處理器取用。
  17. 如申請專利範圍第13項所述之網路封包智能處理系統,其中,該系統參數包括該多個解析處理器之優先順序以及該封包過濾條件,以令該配發處理器將符合該封包過濾條件之網路封包配發給高優先權之解析處理器執行處理。
  18. 如申請專利範圍第13項所述之網路封包智能處理系統,其中,該多個解析處理器優先順序不同時,設立數個不同優先權之請求佇列和回覆佇列,以供該多個解析處理器與該資源處理器間之溝通。
TW107139169A 2018-11-05 2018-11-05 網路封包智能處理系統及其方法 TWI664842B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW107139169A TWI664842B (zh) 2018-11-05 2018-11-05 網路封包智能處理系統及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107139169A TWI664842B (zh) 2018-11-05 2018-11-05 網路封包智能處理系統及其方法

Publications (2)

Publication Number Publication Date
TWI664842B true TWI664842B (zh) 2019-07-01
TW202019134A TW202019134A (zh) 2020-05-16

Family

ID=68049273

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107139169A TWI664842B (zh) 2018-11-05 2018-11-05 網路封包智能處理系統及其方法

Country Status (1)

Country Link
TW (1) TWI664842B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110069632A1 (en) * 2009-09-21 2011-03-24 Alcatel-Lucent Usa Inc. Tracking network-data flows
US20130265875A1 (en) * 2012-04-04 2013-10-10 Telefonaktiebolaget L M Ericsson (Publ) Load Balancing for Stateful Scale-Out Network Services
US20140059544A1 (en) * 2012-08-27 2014-02-27 Vmware, Inc. Framework for networking and security services in virtual networks
US20150003453A1 (en) * 2013-06-28 2015-01-01 Vmware, Inc. Network service slotting
US9264313B1 (en) * 2013-10-31 2016-02-16 Vmware, Inc. System and method for performing a service discovery for virtual networks
US9917727B2 (en) * 2014-06-03 2018-03-13 Nicira, Inc. Consistent hashing for network traffic dispatching

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110069632A1 (en) * 2009-09-21 2011-03-24 Alcatel-Lucent Usa Inc. Tracking network-data flows
US20130265875A1 (en) * 2012-04-04 2013-10-10 Telefonaktiebolaget L M Ericsson (Publ) Load Balancing for Stateful Scale-Out Network Services
US20140059544A1 (en) * 2012-08-27 2014-02-27 Vmware, Inc. Framework for networking and security services in virtual networks
US20150003453A1 (en) * 2013-06-28 2015-01-01 Vmware, Inc. Network service slotting
US9264313B1 (en) * 2013-10-31 2016-02-16 Vmware, Inc. System and method for performing a service discovery for virtual networks
US9917727B2 (en) * 2014-06-03 2018-03-13 Nicira, Inc. Consistent hashing for network traffic dispatching

Also Published As

Publication number Publication date
TW202019134A (zh) 2020-05-16

Similar Documents

Publication Publication Date Title
US10296386B2 (en) Processing element management in a streaming data system
US9888048B1 (en) Supporting millions of parallel light weight data streams in a distributed system
US9264369B2 (en) Technique for managing traffic at a router
US9197703B2 (en) System and method to maximize server resource utilization and performance of metadata operations
US8898505B2 (en) Dynamically configureable placement engine
US9998531B2 (en) Computer-based, balanced provisioning and optimization of data transfer resources for products and services
US20130074091A1 (en) Techniques for ensuring resources achieve performance metrics in a multi-tenant storage controller
US9197566B2 (en) Information processing method, recording medium, and information processing apparatus
Teixeira et al. Packetscope: Monitoring the packet lifecycle inside a switch
US8725873B1 (en) Multi-server round robin arbiter
EP3058481B1 (en) Acceleration based on cached flows
CN110532067A (zh) 事件处理方法、装置、设备及存储介质
US10944683B1 (en) Hybrid queue system for request throttling
US20210029052A1 (en) Methods and apparatuses for packet scheduling for software- defined networking in edge computing environment
US11734172B2 (en) Data transmission method and apparatus using resources in a resource pool of a same NUMA node
CN104468401A (zh) 一种报文处理方法和装置
JP2006067401A (ja) 計算機システム及び計算機システムの帯域制御方法
US11947534B2 (en) Connection pools for parallel processing applications accessing distributed databases
US20210084100A1 (en) Packet Processing Method, Related Device, and Computer Storage Medium
US9268621B2 (en) Reducing latency in multicast traffic reception
CN109729110B (zh) 管理专用处理资源的方法、设备以及计算机可读介质
TWI664842B (zh) 網路封包智能處理系統及其方法
CN115567539A (zh) 会话保持方法、装置、设备及存储介质
WO2020259326A1 (zh) 一种信号传输方法及装置
KR101594112B1 (ko) 플로우 기반의 네트워크 환경에서의 패킷 스케줄링 장치 및 방법