TWI580199B - 接收裝置及其封包處理方法 - Google Patents

接收裝置及其封包處理方法 Download PDF

Info

Publication number
TWI580199B
TWI580199B TW104142667A TW104142667A TWI580199B TW I580199 B TWI580199 B TW I580199B TW 104142667 A TW104142667 A TW 104142667A TW 104142667 A TW104142667 A TW 104142667A TW I580199 B TWI580199 B TW I580199B
Authority
TW
Taiwan
Prior art keywords
packet
fragment
data
header
data packet
Prior art date
Application number
TW104142667A
Other languages
English (en)
Other versions
TW201724764A (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 TW104142667A priority Critical patent/TWI580199B/zh
Priority to US15/203,445 priority patent/US10122691B2/en
Application granted granted Critical
Publication of TWI580199B publication Critical patent/TWI580199B/zh
Publication of TW201724764A publication Critical patent/TW201724764A/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/26Special purpose or proprietary protocols or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

接收裝置及其封包處理方法
本案係關於一種接收裝置,且特別是一種支援快速UDP網路連線(Quick UDP Internet Connection,QUIC)通訊協定的接收裝置及其封包處理方法。
QUIC通訊協定係一種基於UDP協定的低時延的網路傳輸層協定。支援QUIC通訊協定的通訊裝置先從其他通訊裝置接收至少一片段資料封包,並將片段資料封包儲存到通訊裝置的系統記憶體。通訊裝置對每一個片段資料封包進行解密,以獲得片段資料封包中所載的負載資料。
目前的通訊裝置係利用通訊裝置的中央處理器對片段資料封包進行解密,因需解密每一個片段資料封包,中央處理器的使用率將提高,且目前的通訊裝置需要耗費通訊裝置之系統記憶體的儲存空間來儲存片段資料封包的標頭,造成系統記憶體可使用的空間大幅降低。
本案提供一種預處理片段資料封包成資料封包的接收裝置。接收裝置包括封包剖析器、資料記憶體、解密單元、傳輸引擎、標頭處理單元以及控制器。封包剖析器自片段資料封包之片段封 包標頭取出片段封包標頭資訊。資料記憶體儲存片段封包標頭。解密單元選擇性地對每一片段資料封包之加密資料進行解密,以獲得QUIC私密標頭以及片段負載資料。QUIC私密標頭包括片段資料封包之順序資訊。傳輸引擎將片段負載資料輸出至系統記憶體之至少一特定位置。標頭處理單元根據QUIC私密標頭計算封包資訊,並更新片段封包標頭,以產生封包標頭。控制器根據順序資訊控制傳輸引擎將封包標頭輸出至系統記憶體,以將封包標頭以及片段負載資料組合成資料封包。
本案提供一種封包處理方法。封包處理方法包括以下步驟。步驟A:接收片段資料封包,並自片段資料封包之片段封包標頭取出片段封包標頭資訊。步驟B:儲存片段封包標頭至接收裝置之資料記憶體。步驟C:選擇性地對每一片段資料封包之加密資料進行解密,以獲得QUIC私密標頭以及片段負載資料。QUIC私密標頭包括片段資料封包之順序資訊。步驟D:將片段負載資料輸出至系統記憶體之至少一特定位置。步驟E:根據QUIC私密標頭計算至少一封包資訊,並更新片段封包標頭,以產生封包標頭。步驟F:根據順序資訊控制傳輸引擎將封包標頭輸出至系統記憶體,以將封包標頭以及片段負載資料組合成資料封包。
10‧‧‧接收裝置
11‧‧‧系統記憶體
100‧‧‧封包剖析器
101‧‧‧資料記憶體
102‧‧‧解密單元
103‧‧‧傳輸引擎
104‧‧‧標頭處理單元
105‧‧‧控制器
2_1、2_2、2_3、2_1’、2_2’、2_3’‧‧‧片段資料封包
20_1、20_2、20_3、20_1’、20_2’、20_3’‧‧‧IP標頭
21_1、21_2、21_3、21_1’、21_2’、21_3’‧‧‧UDP標頭
22_1、22_2、22_3、22_1’、22_2’、22_3’‧‧‧QUIC公開標頭
23_1、23_2、23_3‧‧‧加密資料
24_1、24_2、24_3‧‧‧QUIC私密標頭
25_1、25_2、25_3‧‧‧片段負載資料
26_1、26_2、26_3‧‧‧片段封包標頭
S401~S416‧‧‧步驟
圖1是本案一實施例提供之接收裝置的系統方塊圖。
圖2是本案一實施例提供之片段資料封包的示意圖。
圖3是本案一實施例提供之解密後的片段資料封包的示意圖。
圖4是本案一實施例提供之封包處理方法的流程圖。
圖5A~5B是本案一實施例提供之處理片段資料封包的示意圖。
參閱圖1,圖1是本案一實施例提供之接收裝置10的系統方塊圖。接收裝置10包括封包剖析器100、資料記憶體101、解密單元102、傳輸引擎103、標頭處理單元104與控制器105。資料記憶體101耦接封包剖析器100、解密單元102、傳輸引擎103、標頭處理單元104與控制器105。解密單元102耦接傳輸引擎103、標頭處理單元104與控制器105。傳輸引擎103耦接控制器105與系統記憶體11。標頭處理單元104耦接控制器105。
接收裝置10設置於任何可支援QUIC通訊協定的通訊裝置。接收裝置10從其他的通訊裝置接收至少一片段資料封包,並預處理片段資料封包成資料封包。系統記憶體11可為任一種儲存媒體,設置於上述通訊裝置中,用以儲存接收裝置10輸出的資料封包。
一併參閱圖2,圖2是本案一實施例提供之片段資料封包的示意圖。片段資料封包的結構係由IP標頭、UDP標頭、QUIC公開標頭以及加密資料所組成。IP標頭、UDP標頭、QUIC公開標頭各自包括封包傳輸過程中需要用到的資訊,例如封包大小、來源位址、目的地位址、使用的傳輸協定等資訊。加密資料則包括通訊裝置欲傳輸且經加密後的資訊。
封包剖析器100自片段資料封包取出片段封包標頭(此處為IP標頭、UDP標頭及QUIC公開標頭),並根據片段封包標頭分析出片段封包標頭資訊,隨後將片段封包標頭資訊儲存於資料記憶體101,其中,片段封包標頭資訊包括封包類型、目的地位址、循環冗餘校驗碼(cyclic redundancy check)之至少其中一者。
在一些實施例中,封包剖析器100還根據片段封包標頭資訊判斷對應的片段資料封包是否為QUIC封包。舉例來說,封包剖析器100根據封包類型判斷對應的片段資料封包是否為QUIC封包,若是,資料記憶體101儲存此片段封包標頭資訊;若否(如TCP封包),對應的片段資料封包會由傳輸引擎103輸出至系統 記憶體11,或是由接收裝置10的其他電路(未繪示)處理。
在一些實施例中,封包剖析器100還可根據片段封包標頭資訊包含的目的地位址來判斷片段資料封包的目的地是否錯誤,或是根據片段封包標頭資訊包含的循環冗餘校驗碼判斷片段資料封包是否正確地傳輸,藉以決定是否丟棄/刪除對應的片段資料封包。
資料記憶體101例如為任一種儲存媒體,用以接收片段資料封包與封包剖析器100輸出的片段封包標頭資訊。在一些實施例中,片段資料封包與片段封包標頭資訊儲存於資料記憶體101的相同區塊。
解密單元102用以選擇性地對每一片段資料封包之加密資料進行解密,以獲得QUIC私密標頭以及片段負載資料。舉例來說,若片段資料封包為QUIC封包,解密單元102根據進階加解密標準(Advanced Encryption Standard)或Salsa20加解密標準對其加密資料進行解密,並輸出解出的QUIC私密標頭至標頭處理單元104,以及輸出片段負載資料至傳輸引擎103。此外,解密單元102亦可根據解出的QUIC私密標頭判斷片段資料封包的順序,進而將順序之資訊輸出至控制器105。
一併參閱圖2~3,圖3是本案一實施例提供之解密後的片段資料封包的示意圖。解密單元102對加密資料23_1進行解密,以獲得QUIC私密標頭24_1以及片段負載資料25_1,使得第2圖中的片段資料封包可被視為圖3所示之片段資料封包。其中,以片段資料封包2_1’為例,IP標頭20_1’、UDP標頭21_1’、QUIC公開標頭22_1’與QUIC私密標頭24_1定義為片段封包標頭26_1,其中,IP標頭20_1’、UDP標頭21_1’、QUIC公開標頭22_1’係IP標頭20_1、UDP標頭21_1、QUIC公開標頭22_1經標頭處理單元104更新過後的資料(細節詳述如下)。
同理,解密單元102分別對加密資料23_2及加密資料23_3 進行解密,圖2的片段資料封包2_2、2_3將可視為圖3的片段資料封包2_2’、2_3’。
傳輸引擎103根據控制器105的輸出將片段負載資料輸出至系統記憶體11之特定位置。在一些實施例中,傳輸引擎103更可將封包剖析器100判斷為非QUIC封包的片段資料封包輸出至系統記憶體11。
在一些實施例中,解密單元102解密後的片段負載資料亦可先寫回資料記憶體101,待接收裝置10預處理片段資料封包成資料封包後,再將完整資料封包寫回系統記憶體11。
標頭處理單元104用以根據QUIC私密標頭更新資料記憶體101之片段封包標頭。進一步來說,標頭處理單元104根據QUIC私密標頭及原資料記憶體101之IP標頭、UDP標頭及QUIC公開標頭計算更新後的IP校對和(checksum)、UDP校對和、封包長度、片段負載資料長度及位元組偏移(byte offset)之至少其中一者,並將計算出的封包資訊覆寫至資料記憶體101之IP標頭、UDP標頭及QUIC公開標頭的對應位置,將QUIC私密標頭寫回至資料記憶體101中,藉以產生資料記憶體101之片段封包標頭。值得注意的是,當資料記憶體101之片段封包標頭更新完畢後(即無接續的片段資料封包),或是當片段封包標頭完成一段時間或一定次數的更新後,資料記憶體101之更新完後的片段封包標頭可視為一封包標頭。
控制器105可例如為微控制器,用以接收標頭處理單元104計算出的封包資訊及解密單元102輸出的順序資訊(如封包編號),並根據順序資訊控制傳輸引擎103將封包標頭及至少一片段負載資料輸出至系統記憶體11。至於控制器105如何控制其他元件將於下方段落配合圖4做詳細說明。
系統記憶體11可為任一種儲存媒體,用以儲存封包標頭以及片段負載資料。
一併參閱圖4,圖4是本案一實施例提供之封包處理方法的流程圖。封包處理方法適用於接收裝置10。於步驟S401,封包剖析器100與資料記憶體101接收一片段資料封包,封包剖析器100自片段資料封包取出片段封包標頭資訊。
於步驟S402,封包剖析器100根據片段封包標頭資訊判斷片段資料封包是否為QUIC封包。若是,進入步驟S403。若否,片段資料封包由傳輸引擎104傳輸至系統記憶體11,並回到步驟S401。
於步驟S403,資料記憶體101儲存片段封包標頭資訊。
於步驟S404,解密單元102對片段資料封包之加密資料進行解密,以獲得QUIC私密標頭以及片段負載資料。解密單元102將QUIC私密標頭輸出至標頭處理單元104,並將片段負載資料輸出至傳輸引擎103。
於步驟S405,控制器105判斷片段負載資料是否為控制資料,控制資料可能係由其他通訊裝置傳輸給此通訊裝置執行特定動作的命令。若片段負載資料為控制資料,進入步驟S406。若片段負載資料並非控制資料,進入步驟S407。
於步驟S406,傳輸引擎103將控制資料輸出至系統記憶體11,而標頭處理單元104根據QUIC私密標頭更新資料記憶體101內的片段封包標頭,並由傳輸引擎103輸出至系統記憶體11。
於步驟S407,控制器105根據每一個片段資料封包的封包編號判斷是否將目前的片段負載資料與系統記憶體11儲存的其他片段負載資料合併。若控制器105判斷此片段負載資料可與其他片段負載資料合併,進入步驟S408。
於步驟S408,控制器105控制傳輸引擎103將片段負載資料依序輸出至系統記憶體之第一儲存空間,其中,第一儲存空間為另一片段負載資料的儲存空間,另一片段負載資料之封包編號與傳輸引擎103輸出之片段負載資料具有連續的封包編號。
於步驟S409,控制器105偵測並判斷系統記憶體11中是否有其他片段負載資料可合併。若系統記憶體11中有其他片段負載資料可合併,進入步驟S410。若系統記憶體11中沒有其他片段負載資料可合併,進入步驟S411。
於步驟S410,控制器105藉由傳輸引擎103合併系統記憶體11的片段負載資料。
於步驟S411,標頭處理單元104根據QUIC私密標頭更新資料記憶體中101的片段封包標頭。
回到步驟S407,若控制器105判斷片段負載資料無法與系統記憶體11中的其他片段負載資料合併,進入步驟S412。
於步驟S412,控制器105控制傳輸引擎13將片段負載資料25_3儲存至系統記憶體11之第二儲存空間,其中,第二儲存空間為系統記憶體11中未使用的儲存空間。
於步驟S413,標頭處理單元104根據QUIC私密標頭計算片段資料封包的校對和、封包長度、片段負載資料長度及位元組偏移之至少其中一者,並更新至資料記憶體101的片段封包標頭。
於步驟S414,控制器105判斷是否結束合併流程。若是,進入步驟S415。若否,回到步驟S401。
於一些實施例中,若控制器105偵測到片段封包標頭包括結束位元,控制器105判斷要結束片段封包合併流程。其中,結束位元僅存在於最後一個片段封包標頭,故控制器105可根據結束位元來判斷是否收到最後一個片段資料封包。在一些實施例中,由於最後一個片段封包標頭可能不是接收裝置10最後收到的片段封包標頭,故在控制器105偵測到片段封包標頭包括結束位元且資料記憶體101中無其他未合併的片段封包標頭,或在控制器105偵測到片段封包標頭包括結束位元且系統記憶體11中無其他未合併的片段負載資料,控制器105判斷要結束片段封包合併流程。
於一些實施例中,控制器105可以利用內部的計時器計算收 到每一個片段資料封包的間隔時間,或是利用計數器來計算收到了幾個片段資料封包,藉以判斷是否決定結束片段封包合併流程。舉例來說,當接收裝置10接收一片段資料封包後,經過預定時間而沒有收到下一個片段資料封包,控制器105判斷要結束片段封包合併流程。反之,若在預定時間內有收到下一片段資料封包,控制器105將判斷不結束片段封包合併流程。
於步驟S415,傳輸引擎103將封包標頭(即合併完之片段封包標頭)輸出至系統記憶體11,使得控制器105將封包標頭與負載資料(即合併完之片段負載資料)組合成資料封包。於步驟S416,控制器105回報封包處理方法已經結束的訊息給包含接收裝置10的通訊裝置。
舉例來說,一併參閱圖5A~5B,圖5A~5B是本案一實施例提供之處理片段資料封包的示意圖。其中圖5A~5B僅繪示圖1的系統記憶體11及資料記憶體101,藉以方便說明圖1的接收裝置10如何處理如圖2所示的三個片段資料封包2_1、2_2、2_3。在本實施例中,接收裝置10的接收順序為片段資料封包2_1、2_3、2_2,其中,三個片段資料封包2_1、2_2、2_3包含的片段負載資料25_1、25_2、25_3均非為控制資料。
首先,接收裝置10先接收片段資料封包2_1,並經由圖4中的步驟S401~S404進行處理,藉以產生圖3的QUIC私密標頭24_1及片段負載資料25_1。由於片段負載資料25_1非為控制資料,且片段資料封包2_1為接收裝置10最早接收的片段資料封包,因此,接收裝置10將根據步驟S405、S407、S412、S413進行處理,使得片段負載資料25_1及片段封包標頭26_1分別儲存於系統記憶體11及資料記憶體101中。在步驟S414,由於片段封包標頭26_1未包含結束位元,控制器105將判斷片段封包合併流程尚未結束。
接著,接收裝置10接收片段資料封包2_3,並經由圖4中的 S401~S404進行處理,藉以產生圖3的QUIC私密標頭24_3及片段負載資料25_3。如圖5A所示,由於片段負載資料25_3非為控制資料,且片段資料封包2_1、2_3非為連續的片段資料封包(即片段資料封包2_1、2_3包含的封包編號不連續),因此,接收裝置10將根據步驟S405、S407、S412、S413進行處理,使得片段負載資料25_3儲存於系統記憶體11中的另一儲存空間,片段封包標頭26_3儲存於資料記憶體101的另一儲存空間。在步驟S414,雖片段封包標頭26_3包含結束位元,但於系統記憶體11或是資料記憶體101均有離散的儲存資料,因此控制器105將判斷片段封包合併流程尚未結束。
隨後,接收裝置10接收片段資料封包2_2,並經由圖4中的S401~S404進行處理,藉以產生圖3的QUIC私密標頭24_2及片段負載資料25_2。如圖5B所示,由於片段負載資料25_2非為控制資料,且片段資料封包2_1、2_2為連續的片段資料封包(即片段資料封包2_1、2_2包含的封包編號為連續),因此,接收裝置10將根據步驟S405、S407、S408進行處理,以將片段負載資料25_1、25_2合併。接著,在步驟S409中,因系統記憶體11包含另一連續的片段負載資料25_3,故接收裝置10將系統記憶體11的片段負載資料25_3將與片段負載資料25_1、25_2合併,並執行步驟S411以合併片段封包標頭26_1、26_2、26_3,合併後的片段封包標頭與片段封包標頭26_1具有相同的封包長度。
最後在步驟S414,由於合併後的片段封包標頭(包含片段封包標頭26_3的資訊)具有結束位元,且系統記憶體11或是資料記憶體101無離散的儲存資料,因此控制器105將判斷片段封包合併流程結束,使得控制器105將控制傳輸引擎103,以將合併後的封包標頭輸出至系統記憶體11,並回報封包處理方法已經結束的訊息給包含接收裝置105的通訊裝置。
綜上所述,本案實施例所提供之接收裝置及其封包處理方法 可以透過接收裝置對片段資料封包做解密,並預處理片段資料封包成資料封包。只要搭載本案實施例所提供之接收裝置,通訊裝置的中央處理器的工作量可以被減少,進而降低中央處理器的利用率。
此外,片段資料封包的片段封包標頭係儲存於接收裝置之資料記憶體,故系統記憶體不需要花費儲存空間來存放每一個片段資料封包的片段封包標頭。因此,系統記憶體可以釋放更多儲存空間來儲存其他資料,使得系統記憶體的儲存空間可以更靈活地被運用。
10‧‧‧接收裝置
11‧‧‧系統記憶體
100‧‧‧封包剖析器
101‧‧‧資料記憶體
102‧‧‧解密單元
103‧‧‧傳輸引擎
104‧‧‧標頭處理單元
105‧‧‧控制器

Claims (10)

  1. 一種接收裝置,用以接收至少一片段資料封包,並預處理該至少一片段資料封包成一資料封包,包括:一封包剖析器,用以自該至少一片段資料封包之片段封包標頭取出至少一片段封包標頭資訊;一資料記憶體,用以儲存該至少一片段封包標頭;一解密單元,用以依據每一片段資料封包是否為快速UDP網路連線(QUIC)封包,選擇性地對每一片段資料封包之一加密資料進行解密,以獲得至少一快速UDP網路連線(QUIC)私密標頭以及至少一片段負載資料,其中該至少一快速UDP網路連線(QUIC)私密標頭包括該至少一片段資料封包之順序資訊;一傳輸引擎,用以將該至少一片段負載資料輸出至一系統記憶體之至少一特定位置;一標頭處理單元,用以根據該至少一快速UDP網路連線(QUIC)私密標頭計算至少一封包資訊,並更新該至少一片段封包標頭,以產生一封包標頭;以及一控制器,用以根據該至少一順序資訊控制該傳輸引擎將該封包標頭輸出至該系統記憶體,以將該封包標頭以及該至少一片段負載資料組合成該資料封包。
  2. 如請求項第1項之接收裝置,其中該封包剖析器更根據該片段封包標頭資訊判斷對應的片段資料封包是否為一快速UDP網路連線(QUIC)封包;若該片段資料封包是一快速UDP網路連線(QUIC)封包,該資料記憶體儲存.該片段封包標頭資訊,且該解密單元解密對應的片段資料封包之該加密資料。
  3. 如請求項第1項之接收裝置,其中該控制器根據該至少一順序資訊之每一者所載之封包編號判斷是否將該至少一片段負載資料合併;若該至少一片段資料封包之一第一片段資料封包與 一第二片段資料封包的封包編號為不連續,該控制器控制該傳輸引擎分別將該第一片段資料封包之一第一片段負載資料與該第二片段資料封包之一第二片段負載資料儲存至該系統記憶體之不同的儲存空間。
  4. 如請求項第3項之接收裝置,其中若該第一片段資料封包與該第二片段資料封包的封包編號為不連續,該控制器控制該資料記憶體分別將該第一片段資料封包之一第一片段封包標頭與該第二片段資料封包之一第二片段封包標頭儲存至該資料記憶體之不同的儲存空間。
  5. 如請求項第1項之接收裝置,其中該控制器根據該至少一順序資訊之每一者所載之封包編號判斷是否將該至少一片段負載資料合併;若該至少一片段資料封包之一第一片段資料封包與一第二片段資料封包的封包編號為連續,該控制器控制該傳輸引擎將該第一片段資料封包之一第一片段負載資料與該第二片段資料封包之一第二片段負載資料合併並儲存至該系統記憶體之一儲存空間。
  6. 如請求項第5項之接收裝置,其中若該第一片段資料封包與該第二片段資料封包的封包編號為連續,該控制器將該第一片段資料封包之一第一片段封包標頭與該第二片段資料封包之一第二片段封包標頭合併,並將合併後的封包標頭儲存至該資料記憶體之一儲存空間。
  7. 如請求項第1項之接收裝置,其中該標頭處理單元將該至少一快速UDP網路連線(QUIC)私密標頭及該至少一封包資訊寫回該資料記憶體,藉以更新對應的片段封包標頭,其中該封包資訊包括該片段資料封包的一校對和、一封包長度、一片段負載資料長度及一位元組偏移之至少其中一者。
  8. 如請求項第1項之接收裝置,其中當該控制器偵測到該至少一片段封包標頭包括一結束位元時,該至少一片段封包標頭包括 該結束位元且該資料記憶體中無未合併的片段封包標頭時,或該至少一片段封包標頭包括該結束位元且該系統記憶體中無未合併的片段負載資料時,該控制器控制該傳輸引擎將該封包標頭輸出至該系統記憶體。
  9. 如請求項第1項之接收裝置,其中當該接收裝置接收該至少一片段資料封包之其中一者經過一預定時間而沒有收到下一個片段資料封包,該控制器控制該傳輸引擎將該資料記憶體中的該至少一片段封包標頭輸出至該系統記憶體。
  10. 一種封包處理方法,適用於一接收裝置,該接收裝置用以接收至少一片段資料封包,並預處理該至少一片段資料封包成一資料封包,該封包處理方法包括:步驟A:接收至少一片段資料封包,並自該至少一片段資料封包之片段封包標頭取出至少一片段封包標頭資訊;步驟B:儲存該至少一片段封包標頭至該接收裝置之一資料記憶體;步驟C:依據每一片段資料封包是否為快速UDP網路連線(QUIC)封包,選擇性地對每一片段資料封包之一加密資料進行解密,以獲得至少一快速UDP網路連線(QUIC)私密標頭以及至少一片段負載資料,其中該至少一快速UDP網路連線(QUIC)私密標頭包括該至少一片段資料封包之順序資訊;步驟D:將該至少一片段負載資料輸出至一系統記憶體之至少一特定位置;步驟E:根據該至少一快速UDP網路連線(QUIC)私密標頭計算至少一封包資訊,並更新該資料記憶體之至少一片段封包標頭,以產生一封包標頭;步驟F:根據該至少一順序資訊將該封包標頭輸出至該系統記憶體,以將該封包標頭以及該至少一片段負載資料組合成該資料封 包。
TW104142667A 2015-12-18 2015-12-18 接收裝置及其封包處理方法 TWI580199B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW104142667A TWI580199B (zh) 2015-12-18 2015-12-18 接收裝置及其封包處理方法
US15/203,445 US10122691B2 (en) 2015-12-18 2016-07-06 Receiving apparatus and packet processing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104142667A TWI580199B (zh) 2015-12-18 2015-12-18 接收裝置及其封包處理方法

Publications (2)

Publication Number Publication Date
TWI580199B true TWI580199B (zh) 2017-04-21
TW201724764A TW201724764A (zh) 2017-07-01

Family

ID=59066886

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104142667A TWI580199B (zh) 2015-12-18 2015-12-18 接收裝置及其封包處理方法

Country Status (2)

Country Link
US (1) US10122691B2 (zh)
TW (1) TWI580199B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI748839B (zh) * 2021-01-08 2021-12-01 瑞昱半導體股份有限公司 具有資料重用機制的資料傳輸方法及裝置
CN114765494A (zh) * 2021-01-14 2022-07-19 瑞昱半导体股份有限公司 具有数据重用机制的数据传输方法及装置

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2836674T3 (es) * 2016-04-01 2021-06-28 Nokia Solutions & Networks Oy Gestión de experiencia dinámica en comunicaciones
WO2018086076A1 (zh) * 2016-11-11 2018-05-17 华为技术有限公司 数据传输方法及装置
US10963003B2 (en) 2017-10-20 2021-03-30 Graphcore Limited Synchronization in a multi-tile processing array
GB201717295D0 (en) 2017-10-20 2017-12-06 Graphcore Ltd Synchronization in a multi-tile processing array
GB2569276B (en) 2017-10-20 2020-10-14 Graphcore Ltd Compiler method
GB2569275B (en) * 2017-10-20 2020-06-03 Graphcore Ltd Time deterministic exchange
CN108156056B (zh) * 2017-12-28 2021-07-09 华为技术有限公司 网络质量测量方法及其装置
US11336625B2 (en) 2018-03-16 2022-05-17 Intel Corporation Technologies for accelerated QUIC packet processing with hardware offloads
WO2023067369A1 (en) * 2021-10-18 2023-04-27 Telefonaktiebolaget Lm Ericsson (Publ) Selective quic datagram payload retransmission in a network
JP7220814B1 (ja) * 2022-01-21 2023-02-10 エヌ・ティ・ティ・アドバンステクノロジ株式会社 データ取得装置及びデータ取得方法
TWI819976B (zh) * 2023-03-15 2023-10-21 瑞昱半導體股份有限公司 封包辨識系統和封包辨識方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1926839A (zh) * 2004-03-02 2007-03-07 先进微装置公司 用于高速传输网际网络协议安全(ipsec)处理之两个并行引擎
CN101640906A (zh) * 2008-08-01 2010-02-03 联发科技股份有限公司 处理封包交换数据传输的方法及其系统
WO2015066373A1 (en) * 2013-11-01 2015-05-07 Google Inc. Probabilistically expedited secure connections via connection parameter reuse
US20150237070A1 (en) * 2014-02-20 2015-08-20 Symantec Corporation Systems and methods for applying data loss prevention policies to closed-storage portable devices

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9479464B1 (en) * 2002-08-27 2016-10-25 Hewlett Packard Enterprise Development Lp Computer system and network interface with hardware based packet filtering and classification
WO2005088893A1 (en) * 2004-02-13 2005-09-22 Psycrypt, Inc. Method and apparatus for cryptographically processing data
US7620071B2 (en) 2004-11-16 2009-11-17 Intel Corporation Packet coalescing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1926839A (zh) * 2004-03-02 2007-03-07 先进微装置公司 用于高速传输网际网络协议安全(ipsec)处理之两个并行引擎
CN101640906A (zh) * 2008-08-01 2010-02-03 联发科技股份有限公司 处理封包交换数据传输的方法及其系统
WO2015066373A1 (en) * 2013-11-01 2015-05-07 Google Inc. Probabilistically expedited secure connections via connection parameter reuse
US20150237070A1 (en) * 2014-02-20 2015-08-20 Symantec Corporation Systems and methods for applying data loss prevention policies to closed-storage portable devices

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI748839B (zh) * 2021-01-08 2021-12-01 瑞昱半導體股份有限公司 具有資料重用機制的資料傳輸方法及裝置
US11509428B2 (en) 2021-01-08 2022-11-22 Realtek Semiconductor Corporation Data transmission method and apparatus having data reuse mechanism
CN114765494A (zh) * 2021-01-14 2022-07-19 瑞昱半导体股份有限公司 具有数据重用机制的数据传输方法及装置

Also Published As

Publication number Publication date
US10122691B2 (en) 2018-11-06
US20170180329A1 (en) 2017-06-22
TW201724764A (zh) 2017-07-01

Similar Documents

Publication Publication Date Title
TWI580199B (zh) 接收裝置及其封包處理方法
TWI587676B (zh) 傳輸裝置及其傳輸方法
KR101466188B1 (ko) 무선 액세스 포인트들을 위한 터널 가속
JP5074558B2 (ja) IPSecを用いたネットワーク処理
US11658803B2 (en) Method and apparatus for decrypting and authenticating a data record
EP3157225B1 (en) Encrypted ccnx
US20070195951A1 (en) Pipeline for high-throughput encrypt functions
JP5205075B2 (ja) 暗号処理方法、暗号処理装置、復号処理方法および復号処理装置
US10498669B2 (en) Communication system, switch, controller, ancillary data management apparatus, data forwarding method, and program
TW201629836A (zh) 記憶體組織結構中安全交易技術
CN112260926B (zh) 虚拟专用网络的数据传输系统、方法、装置、设备及存储介质
US7802090B2 (en) Determining composition of an initialization vector for encapsulating security payload processing
US9686249B2 (en) Multi-node encryption
US20050149725A1 (en) Method and apparatus for aligning ciphered data
CN106921618B (zh) 接收装置及其封包处理方法
WO2017094561A1 (ja) 暗号化装置、暗号通信システム及び暗号化送信方法
JP2013078019A (ja) 通信装置、受信制御方法及び送信制御方法
CN105376236A (zh) 移动设备信息传递方法
TW200805967A (en) Data transmission method and apparatus applying Wi-Fi protected access over wireless distribution system
JP5042272B2 (ja) 暗号用拡大鍵生成回路、復号用拡大鍵生成回路、暗号用拡大鍵生成方法および復号用拡大鍵生成方法
JP7289709B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2011223385A (ja) 暗号化通信装置
JP2017060083A (ja) 通信装置および暗号通信方法
JP2011015042A (ja) 暗号化通信装置、暗号化通信方法及びプログラム
JP2019145889A (ja) スイッチングハブ及び制御通信ネットワークシステム