TWI880356B - 網路封包處理方法 - Google Patents
網路封包處理方法 Download PDFInfo
- Publication number
- TWI880356B TWI880356B TW112136156A TW112136156A TWI880356B TW I880356 B TWI880356 B TW I880356B TW 112136156 A TW112136156 A TW 112136156A TW 112136156 A TW112136156 A TW 112136156A TW I880356 B TWI880356 B TW I880356B
- Authority
- TW
- Taiwan
- Prior art keywords
- network packet
- market data
- receiving end
- processing method
- checksum
- Prior art date
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本發明揭露了一種網路封包處理方法,應用於高頻交易系統,其中網路封包包含檔頭類別、應用類別以及檢查類別,且應用類別至少包含第一行情資料與第二行情資料。所述網路封包處理方法包含下列步驟:由接收端接收網路封包內的檔頭類別;由接收端接收應用類別中的第一行情資料;由接收端檢查第一行情資料中的第一單筆校驗和,第一單筆校驗和用以檢查第一行情資料的完整性;於第一單筆校驗和通過檢查後,由接收端處理第一行情資料。其中檢查類別中具有整筆校驗和,整筆校驗和用以判斷網路封包的完整性。
Description
本發明係關於一種網路封包處理方法,特別是關於一種可以快速利用應用類別內資料的網路封包處理方法。
於傳輸網路封包時,經常使用的通信協定有傳輸控制協定(TCP)與用戶資料報協定 (UDP)。於所屬技術領具有通常知識者應可知,因用戶資料報協定協定不保證網路封包內容正確性,故為了確定確認接收到的網路封包為有效網路封包,用戶資料報協定會等到整筆網路封包接收完,並且確認接收到的網路封包為有效網路封包之後,才會對網路封包中的資料進行處理。舉例來說,網路封包中的位元組可以有多個位元組,分別對應到不同的類別,如檔頭類別、應用類別以及檢查類別。實務上,接收端會等整個網路封包(檔頭類別、應用類別以及檢查類別)全部接收完,並接著判斷檢查類別中的校驗和(checksum)是否正確,以確定網路封包的完整性是否為完整。當接收端確定網路封包是完整的之後,才會對網路封包中屬於應用類別內的資料進行處理。
然而,隨著高頻交易的發展,以傳統的用戶資料報協定在交易所端與券商的接收端之間傳輸網路封包時,有可能會有處理效率不佳的問題。舉例來說,假設交易所端傳送的一個網路封包內中帶有多筆行情資料,而券商的接收端必須等到全部的行情資料都接收完畢,並且網路封包內檢查類別中的校驗和也要通過檢查,才能處理應用類別內的多筆行情資料。由上述可知,因為券商的接收端要等待檢核網路封包的完整性,從而無法快速地處理網路封包內的行情資料,導致用戶沒有辦法取得最即時行情資料而影響高頻交易的進行。據此,業界需要一種新的網路封包處理方法,能夠改良傳統的用戶資料報協定,以減少等待檢核網路封包完整性的時間。
本發明提供一種網路封包處理方法,改良了傳統的用戶資料報協定,從而於高頻交易中可以快速利用應用類別內的多筆行情資料。
本發明提出一種網路封包處理方法,應用於高頻交易系統,其中網路封包包含檔頭類別、應用類別以及檢查類別,且應用類別至少包含第一行情資料與第二行情資料。所述網路封包處理方法包含下列步驟:由接收端接收網路封包內的檔頭類別;由接收端接收應用類別中的第一行情資料;由接收端檢查第一行情資料中的第一單筆校驗和,第一單筆校驗和用以檢查第一行情資料的完整性;於第一單筆校驗和通過檢查後,由接收端處理第一行情資料。其中檢查類別中具有整筆校驗和,整筆校驗和用以判斷網路封包的完整性。
於一些實施例中,第一行情資料與第二行情資料可以分別關聯於交易所端提供的不同行情資料。此外,接收端由檔頭類別可以判斷網路封包是否傳送自交易所端。
於一些實施例中,當接收端依據第一單筆校驗和判斷屬於第一行情資料的全部位元組已完整接收時,接收端可以判斷第一單筆校驗和通過檢查。此外,於第一單筆校驗和通過檢查後,接收端更可以依序接收應用類別中的第二行情資料。另外,接收端可以為現場可程式邏輯閘陣列(FPGA)。
綜上所述,本發明提供的網路封包處理方法,除了可以依據傳統的用戶資料報協定檢查整個網路封包的完整性之外,也會立即處理應用類別內具完整性的行情資料,從而於高頻交易中可以快速利用應用類別內的多筆行情資料。
下文將進一步揭露本發明之特徵、目的及功能。然而,以下所述者,僅為本發明之實施例,當不能以之限制本發明之範圍,即但凡依本發明申請專利範圍所作之均等變化及修飾,仍將不失為本發明之要意所在,亦不脫離本發明之精神和範圍,故應將視為本發明的進一步實施態樣。
一併請參閱圖1、圖2與圖3,圖1係繪示依據本發明一實施例之應用網路封包處理方法的高頻交易系統的功能方塊圖。圖2係繪示傳統的網路封包處理示意圖。圖3係繪示本發明一實施例之網路封包處理示意圖。如圖所示,高頻交易系統1包含了交易所端10與券商的接收端12,交易所端10可以是交易所的主機,而接收端12可以是用於風險檢核的電腦、現場可程式邏輯閘陣列(FPGA)或者其他能用於運算的裝置。一般來說,交易所端10與券商的接收端12係以用戶資料報協定 (UDP)傳輸行情資料,屬於行情資料的位元組則是在網路封包的應用類別內。不過,當交易所端10於一個網路封包內傳輸大量的行情資料時,券商的接收端12需要等待整個網路封包(檔頭類別100、應用類別120以及檢查類別140)都接收完,並且檢查過網路封包的檢查類別140中的校驗和(整筆校驗和),確定網路封包的完整性是完整的之後,才會處理應用類別120內的大量行情資料。雖然確保了網路封包的內容是完整的,但是券商的接收端12便無法快速地把收到的行情資料傳送出去或者進行後續處理。
以圖2繪示的例子來說,依照傳統的用戶資料報協定架構下,接收端12會依序接收網路封包的檔頭類別100、應用類別120,並且以網路封包最後的一個或數個位組作為檢查類別140。然而,由於一個網路封包的應用類別120可能包含連續數筆行情資料(如行情資料D1~D4),而傳統的接收端12會等待全部的行情資料都接收完畢,才會依照接收順序處理這些行情資料。相比之下,以圖3繪示的例子來說,本發明改良了傳統的用戶資料報協定架構,接收端12雖仍會依序接收網路封包的檔頭類別100、應用類別120,但當應用類別120中的第一行情資料D1被接收之後,便會直接檢查第一行情資料D1中的校驗和(第一單筆校驗和)。在此,由於檔頭類別100會指示網路封包的基本資料與來源,接收端12可以由檔頭類別100判斷網路封包是由已知的交易所端10提供。
接著,當第一行情資料D1中的校驗和正確,即表示第一行情資料D1的全部位元組已經完整接收,券商的接收端12便可以直接處理(例如傳送、運算或其他應用) 已經完整接收的第一行情資料D1,而不用等到網路封包的全部位元組都被接收。於一個例子中,於第一單筆校驗和通過檢查後,在券商的接收端12對第一行情資料D1進行後續處理時,券商的接收端12也可以接著接收次一筆的行情資料(例如第二行情資料D2)。由圖3可知,處理第一行情資料D1與接收第二行情資料D2可以同時進行,從而可以大幅縮減行情資料等待處理的時間。當然,本實施例不限制券商的接收端12對第一行情資料D1進行後續處理的時間點。於所屬技術領具有通常知識者應可以明白,只要券商的接收端12在收到網路封包的檢查類別140之前,能夠對第一行情資料D1進行處理,實際上已經比傳統的用戶資料報協定架構來的更有效率。
另一方面,如果遇到某一行情資料對應的單筆校驗和不正確時,本發明的網路封包處理方法也可以跳過錯誤的行情資料,逕行處理其他的行情資料。請一併參閱圖1和圖4,圖4係繪示本發明另一實施例之網路封包處理示意圖。如圖所示,於第一行情資料D1、第二行情資料D2以及第三行情資料D3所對應的單筆校驗和陸續通過檢查後,券商的接收端12除了可以立即處理第一行情資料D1、第二行情資料D2以及第三行情資料D3,也會接續接收應用類別120中的第四行情資料D4。假設第四行情資料D4中的校驗和(第四單筆校驗和)不正確,那麼券商的接收端12便會判斷第四行情資料D4沒有完整接收,而不處理對應第四行情資料D4的位元組。同時,因為網路封包仍在接收中,券商的接收端12還是會等待接收檢查類別140的位元組,並依據檢查類別140中的校驗和(整筆校驗和) 判斷整個網路封包有沒有完整接收。由上述可知,傳統的用戶資料報協定架構因為是判斷整個網路封包的完整性,當第四行情資料D4的位元組發生接收不完整的情況時,則其他已完整接收的行情資料也不會加以利用。換句話說,由於傳統的用戶資料報協定是一次檢查整個網路封包的完整性,檢查的位元數更多也表示更容易發生不完整。相比之下,本發明的網路封包處理方法會找出不完整的行情資料(例如上述的第四行情資料D4),並且直接跳過不完整的行情資料,但同時又會提前處理其他完整的行情資料,顯然是能夠更有效的利用網路封包裡的有效內容。
值得一提的是,由於本發明的網路封包處理方法是改良傳統的用戶資料報協定,實際上也會檢查網路封包的檢查類別中的整筆校驗和,以判斷整個網路封包的完整性。例如上述的例子,其中一個行情資料不完整(例如上述的第二行情資料D2),本發明的網路封包處理方法於最後檢查檢查類別中的整筆校驗和時,同樣會發現整體網路封包不完整。本發明可以沿用傳統的用戶資料報協定的處理機制,例如由後續的網路封包得到缺少的行情資料,本實施例不加以贅述。另外,本發明的網路封包處理方法雖然可以應用於一般的電腦,不過有可能因為作業系統的限制,不一定能單獨解析應用類別內的多筆行情資料,需要先進行相應的設定或改動。相比之下,現場可程式邏輯閘陣列(FPGA)則限制較少,也有較高的使用彈性。
為了再次說明本發明提供的網路封包處理方法,請一併參閱圖1到圖5,圖5係繪示依據本發明一實施例之網路封包處理方法的步驟流程圖。如圖所示,於步驟S20中,由接收端12接收網路封包內的檔頭類別100。於步驟S22中,由接收端12接收應用類別120中的第一行情資料D1。於步驟S24中,由接收端12檢查第一行情資料D1中的第一單筆校驗和。於步驟S26中,於第一單筆校驗和通過檢查後,由接收端12處理第一行情資料D1。上述步驟流程的詳細內容已描述於前述實施例,在此不予贅述。
綜上所述,本發明提供的網路封包處理方法由於會逐一判斷應用類別內多筆行情資料的完整性,並立即處理應用類別內具完整性的行情資料。因此,本發明提供的網路封包處理方法可以明顯加快網路封包內多筆行情資料的處理速度,從而於高頻交易中可以快速利用應用類別內的多筆行情資料。此外,本發明提供的網路封包處理方法仍會據傳統的用戶資料報協定檢查整個網路封包的完整性,也一樣能夠確保網路封包可以被正確傳遞。
1 : 高頻交易系統 10: 交易所端 12: 接收端 100: 檔頭類別 120: 應用類別 140: 檢查類別 D1: 第一行情資料 D2: 第二行情資料 D3: 第三行情資料 D4: 第四行情資料
圖1係繪示依據本發明一實施例之應用網路封包處理方法的高頻交易系統的功能方塊圖。
圖2係繪示傳統的網路封包處理示意圖。
圖3係繪示本發明一實施例之網路封包處理示意圖。
圖4係繪示本發明另一實施例之網路封包處理示意圖。
圖5係繪示依據本發明一實施例之網路封包處理方法的步驟流程圖。
無
S20~S26: 步驟流程
Claims (6)
- 一種網路封包處理方法,應用於一高頻交易系統,其中一網路封包包含一檔頭類別、一應用類別以及一檢查類別,且該應用類別至少包含一第一行情資料與一第二行情資料,所述網路封包處理方法包含: 由一接收端接收該網路封包內的一檔頭類別; 由該接收端接收該應用類別中的該第一行情資料; 由該接收端檢查該第一行情資料中的一第一單筆校驗和,該第一單筆校驗和用以檢查該第一行情資料的完整性;以及 於該第一單筆校驗和通過檢查後,由該接收端處理該第一行情資料; 其中該檢查類別中具有一整筆校驗和,該整筆校驗和用以判斷該網路封包的完整性。
- 如請求項1所述之網路封包處理方法,其中該第一行情資料與該第二行情資料分別關聯於一交易所端提供的不同行情資料。
- 如請求項2所述之網路封包處理方法,其中該接收端由該檔頭類別判斷該網路封包是否傳送自該交易所端。
- 如請求項1所述之網路封包處理方法,其中當該接收端依據該第一單筆校驗和判斷屬於該第一行情資料的全部位元組已完整接收時,該接收端判斷該第一單筆校驗和通過檢查。
- 如請求項1所述之網路封包處理方法,其中於該第一單筆校驗和通過檢查後,該接收端更依序接收該應用類別中的該第二行情資料。
- 如請求項1所述之網路封包處理方法,其中該接收端為一現場可程式邏輯閘陣列。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW112136156A TWI880356B (zh) | 2023-09-22 | 2023-09-22 | 網路封包處理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW112136156A TWI880356B (zh) | 2023-09-22 | 2023-09-22 | 網路封包處理方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202515174A TW202515174A (zh) | 2025-04-01 |
| TWI880356B true TWI880356B (zh) | 2025-04-11 |
Family
ID=96141665
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW112136156A TWI880356B (zh) | 2023-09-22 | 2023-09-22 | 網路封包處理方法 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI880356B (zh) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI672023B (zh) * | 2018-12-28 | 2019-09-11 | 致茂電子股份有限公司 | 網路封包處理方法及其裝置 |
-
2023
- 2023-09-22 TW TW112136156A patent/TWI880356B/zh active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI672023B (zh) * | 2018-12-28 | 2019-09-11 | 致茂電子股份有限公司 | 網路封包處理方法及其裝置 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202515174A (zh) | 2025-04-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10719875B2 (en) | System and method for controlling execution of transactions | |
| US9667729B1 (en) | TCP offload send optimization | |
| CN111641638A (zh) | 一种数据传输方法及相关装置 | |
| EP1564959A1 (en) | System and method for trivial file transfer protocol including broadcasting function | |
| TWI880356B (zh) | 網路封包處理方法 | |
| US7783964B2 (en) | Redundant 3-wire communication system and method | |
| CN117857545A (zh) | Can总线报文传输方法、装置、电子设备、存储介质及车辆 | |
| US20050076287A1 (en) | System and method for checksum offloading | |
| CN114143119B (zh) | 一种基于fpga的行情低延时接口装置 | |
| CN119696801A (zh) | 网络封包处理方法 | |
| TWI672023B (zh) | 網路封包處理方法及其裝置 | |
| JP6017097B1 (ja) | カスタマイズ可能な、マクロベースのオーダエントリプロトコルおよびシステム | |
| WO2017046582A1 (en) | Tcp/ip offload system | |
| WO2024031995A1 (zh) | 一种基于短距离无线通讯的数据交互方法 | |
| CN113132478A (zh) | 基于OpenCL实现证券交易系统中Binary协议行情加速解码的系统 | |
| CN112073434B (zh) | 降低基于toe的高频交易终端接收通道传输延迟的方法 | |
| CN101207526A (zh) | 网卡传输测试方法 | |
| CN120342969B (zh) | 数据传输方法和系统 | |
| TWI880151B (zh) | 具備逾時檢核功能的下單主機及逾時檢核的方法 | |
| CN120017557B (zh) | 基于udp/ip协议使pc对多fpga调试的方法及系统 | |
| CA2443351A1 (en) | Protocol for video communications and camera control | |
| CN119583014B (zh) | 响应帧的纠错方法、装置、存储介质及WiFi设备 | |
| US11979479B1 (en) | Packet sorting and reassembly circuit module | |
| CN111385257B (zh) | 网络封包处理方法及其装置 | |
| CN117131091A (zh) | 一种通用的串口数据滑窗方法 |