TWI846381B - 電腦裝置以及應用於電腦裝置的傳輸控制協定封包處理方法 - Google Patents
電腦裝置以及應用於電腦裝置的傳輸控制協定封包處理方法 Download PDFInfo
- Publication number
- TWI846381B TWI846381B TW112109491A TW112109491A TWI846381B TW I846381 B TWI846381 B TW I846381B TW 112109491 A TW112109491 A TW 112109491A TW 112109491 A TW112109491 A TW 112109491A TW I846381 B TWI846381 B TW I846381B
- Authority
- TW
- Taiwan
- Prior art keywords
- transmission control
- control protocol
- computer device
- protocol packet
- packet
- Prior art date
Links
Images
Classifications
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- 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/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
一種電腦裝置包含一網路介面電路、一儲存裝置以及一處理器。該網路介面電路用來自另一電腦裝置接收一第一傳輸控制協定封包,其中該第一傳輸控制協定封包包含一會話層內容。該儲存裝置用來儲存一程式碼。該處理器用來載入並執行該程式碼以進行以下操作:根據該會話層內容所攜帶的資訊來計算該電腦裝置所使用之一網路的網路速率。
Description
本發明係有關於不同電腦裝置之間的網路通訊,尤指一種避免傳輸控制協定封包重傳來改善網路測速結果的裝置與方法。
傳輸控制協定(Transmission Control Protocol,以下簡稱為TCP)是屬於傳輸層(transport layer)的一種協定,也是屬於端點對端點(End-to-End)的傳輸協定,亦稱為主機對主機(Host-to-Host)或程序對程序(Process-to-Process)的傳輸協定,換言之,在TCP兩端的電腦裝置可透過彼此的溝通,確保資料在傳輸中的正確性以及傳輸速率的控制,這些動作只是兩端的電腦裝置之間溝通即可,完全無關於中間所經過的任何節點,例如路由器(router)或交換機(switch)。TCP透過確認(acknowledgement)以及重傳(retransmission)這兩種機制來確保TCP封包透過網路傳輸的正確性(integrity)和可靠性(reliability),因此在傳輸的整體過程中會較沒有效率,但卻能保證將TCP封包正確無誤地由一傳送端傳送至一接收端。然而,對於某些應用來說,這樣的特性反而不是必要的,舉例來說,對於網路測速的應用來說,光網路單元(Optical Network Unit,ONU)上可運行超文本傳輸協定(HyperText Transfer Protocol,HTTP)用戶端(client),來訪問網際網路上的HTTP伺服器以進行測速,隨著網路越來越普及,用戶不僅關注下載速
率,還會關注上傳速率,因此,用戶和網路運營商都需要測試用戶家裡的網路上傳速率,由於HTTP是屬於應用層(application layer),後續是透過傳輸層的TCP來負責讓資料可以正確送達目的地,當接收端發現丟包時,會要求傳送端進行TCP封包重傳,然而,當網路上的時延(latency)越大,亦即傳送端送出TCP封包和收到接收端回應的確認(ACK)封包的時間差(又稱為往返時間(Round Trip Time,RTT))越大時,則TCP掉包的比例會增加,同時降低傳送端與接收端之間封包交換的效率,如此一來,若RTT越大,則TCP的性能越低,因而無法測出用戶真實的上傳速率。
本發明的目的之一在於提出一種避免傳輸控制協定封包重傳來改善網路測速結果的裝置與方法。
在本發明的一個實施例中,揭露一種電腦裝置。該電腦裝置包含一網路介面電路、一儲存裝置以及一處理器。該網路介面電路用來自另一電腦裝置接收一第一傳輸控制協定封包,其中該第一傳輸控制協定封包包含一會話層內容。該儲存裝置用來儲存一程式碼。該處理器用來載入並執行該程式碼以進行以下操作:根據該會話層內容所攜帶的資訊來計算該電腦裝置所使用之一網路的網路速率。
在本發明的另一個實施例中,揭露一種電腦裝置。該電腦裝置包含一網路介面電路、一儲存裝置以及一處理器。該網路介面電路用來連續接收來自另一電腦裝置的一第一傳輸控制協定封包以及另一第一傳輸控制協定封包,其中該第一傳輸控制協定封包與該另一第一傳輸控制協定封包具有不連續的序
號。該儲存裝置用來儲存一程式碼。該處理器用來載入並執行該程式碼以進行以下操作:因應接收到該另一第一傳輸控制協定封包,指示該網路介面電路來傳送一第二傳輸控制協定封包至該另一電腦裝置,其中該第二傳輸控制協定封包為該另一第一傳輸控制協定封包的一確認封包。
在本發明的另一個實施例中,揭露一種應用於一電腦裝置的傳輸控制協定封包處理方法。該傳輸控制協定封包處理方法包含:自另一電腦裝置接收一第一傳輸控制協定封包,其中該第一傳輸控制協定封包包含一會話層內容;以及根據該會話層內容所攜帶的資訊來計算該電腦裝置所使用之一網路的網路速率。
在本發明的另一個實施例中,揭露一種應用於一電腦裝置的傳輸控制協定封包處理方法。該傳輸控制協定封包處理方法包含:連續接收來自另一電腦裝置的一第一傳輸控制協定封包以及另一第一傳輸控制協定封包,其中該第一傳輸控制協定封包與該另一第一傳輸控制協定封包具有不連續的序號;以及因應接收到該另一第一傳輸控制協定封包,傳送一第二傳輸控制協定封包至該另一電腦裝置,其中該第二傳輸控制協定封包為該另一第一傳輸控制協定封包的一確認封包。
由於網路測速實際上並不關注資料內容的正確性,因此可以不用依賴標準TCP流程所提供的重傳機制來確保TCP封包透過網路傳輸的正確性,故本發明便針對網路測速的應用(至少包含上傳速率的測試)提出修改過的TCP流程,可消除TCP封包重傳對TCP性能的影響。此外,本發明另針對確認封包(攜帶確認號碼的TCP封包)進行改良,由於確認封包(攜帶確認號碼的TCP封包)
中的報文都會額外添加一會話層內容,後續便可根據會話層內容所攜帶的資訊來計算網路速率(至少包含上傳速率)。
100:網路系統
102,104:電腦裝置
103:網際網路
112,122:儲存裝置
114,124:處理器
116,126:網路介面電路
202:用戶端
204:伺服器
206,208,210,212,214,216,218,220:TCP封包
PROG_1,PROG_2:程式碼
第1圖為本發明一實施例之網路系統的示意圖。
第2圖為本發明一實施例之修改過的TCP流程的循序圖。
第3圖為本發明一實施例之包含會話層內容的TCP封包格式的示意圖。
第4圖為本發明一實施例之上傳速率測試的循序圖。
在說明書及申請專利範圍當中使用了某些詞彙來指稱特定的元件。所屬技術領域具有通常知識者應可理解,硬體製造商可能會用不同的名詞來稱呼同一個元件,本說明書及申請專利範圍並不以名稱的差異來作為區分元件的方式,而是以元件在功能上的差異來作為區分的準則。在通篇說明書及申請專利範圍當中所提及的“包含”及“包括”為一開放式的用語,故應解釋成“包含但不限定於”。此外,“耦接”或“耦合”一詞在此包含任何直接及間接的電性連接手段,因此,若文中描述一第一裝置耦接至一第二裝置,則代表該第一裝置可直接電性連接於該第二裝置,或者通過其它裝置和連接手段間接地電性連接至該第二裝置。
第1圖為本發明一實施例之網路系統的示意圖。網路系統100包含複數個網路裝置(例如電腦裝置102與電腦裝置104),電腦裝置102與電腦裝置104
可透過網際網路103來進行資料交換,舉例來說,電腦裝置102可作為用戶端(client),以及電腦裝置104可作為伺服器(server)。電腦裝置102包含有儲存裝置112、處理器114以及網路介面電路116,請注意,第1圖僅繪示跟本發明有關的元件,實際上,電腦裝置102可包含其它元件來實現其它功能。儲存裝置112可以是記憶體或是任何具備資料儲存能力的元件,用來儲存一程式碼PROG_1,例如程式碼PROG_1可包含作業系統(operating system,OS)的程式碼以及應用程式(例如網路測速軟體(用戶端))的程式碼。處理器114用來載入並執行程式碼PROG_1以控制電腦裝置(例如用戶端)102的運作,例如,本發明傳輸控制協定(Transmission Control Protocol,以下簡稱為TCP)封包處理方法中跟電腦裝置(例如用戶端)102有關的操作可由處理器114執行程式碼PROG_1來實現。網路介面電路116則包含傳送電路及接收電路的硬體,可用存取網際網路103,例如電腦裝置102可透過網路運營商所提供的網路來連線至網際網路103。
電腦裝置104包含有儲存裝置122、處理器124以及網路介面電路126,請注意,第1圖僅繪示跟本發明有關的元件,實際上,電腦裝置104可包含其它元件來實現其它功能。儲存裝置122可以是記憶體或是任何具備資料儲存能力的元件,用來儲存一程式碼PROG_2,例如程式碼PROG_2可包含作業系統的程式碼以及應用程式(例如網路測速軟體(伺服器))的程式碼。處理器124用來載入並執行程式碼PROG_2以控制電腦裝置(例如伺服器)104的運作,例如,本發明TCP封包處理方法中跟電腦裝置(例如伺服器)104有關的操作可由處理器124執行程式碼PROG_2來實現。網路介面電路126則包含傳送電路及接收電路的硬體,可用存取網際網路103,例如電腦裝置104可透過網路運營商所提供的網路來連線至網際網路103。
一般來說,所有網路設備能夠相互通訊,主要是因為它們都使用同一系列的協定層,當來源網路設備要向目的地網路設備發送封包時,封包必須經過來源網路設備上一系列協定層,而當封包到達目的地網路設備時,封包必須通過同一系列的協定層,當封包向下移動通過協定層時,封包所經歷的轉換包含封裝(encapsulation),封裝意味著原始封包被一個標頭(header)所包裝,從而產生一個更大的封包。每個協定層執行封裝以將該層的特定資訊添加到封包中。類似地,當封包通過協定層向上傳輸時,這些標頭在稱為解封裝(de-encapsulation)的過程中被刪除。本實施例中,處理器114/124可執行程式碼PROG_1/PROG_2(例如程式碼PROG_1/PROG_2中所包含的作業系統的程式碼)來處理封裝及解封裝,此外,處理器114/124另可執行程式碼PROG_1/PROG_2(例如程式碼PROG_1/PROG_2中所包含的網路測速軟體的程式碼)來處理特定應用(例如網路測速),而該特定應用的資料最後可經由網路介面電路116/126所提供的實體網路介面來進行傳送與接收。
由於網路測速實際上並不關注資料內容的正確性,因此可以不用依賴標準TCP流程所提供的重傳機制來確保TCP封包透過網路傳輸的正確性,基於此觀察,本發明便針對網路測速的應用(至少包含上傳速率的測試)提出修改過的TCP流程,可消除TCP封包重傳對TCP性能的影響。請參考第2圖,第2圖為本發明一實施例之修改過的TCP流程的循序圖(sequence diagram)。用戶端(例如HTTP用戶端)202可以是第1圖所示的電腦裝置102,以及伺服器(例如HTTP伺服器)204可以是第1圖所示的電腦裝置104。用戶端202的處理器114可執行程式碼PROG_1(例如程式碼PROG_1中所包含的網路測速軟體(用戶端)的程式碼)來啟動網路測速,於用戶端202與伺服器204建立連線之後,用戶端202開始進行資料傳輸,為了實現流量控制,用戶端202會根據一傳送視窗(Send Window)來進
行TCP封包的傳送,以及伺服器204會根據一接收視窗(Receive Window)來進行TCP封包的接收,如第2圖所示,用戶端202的處理器114可執行程式碼PROG_1來產生複數個TCP封包206、208、210、212、214,並指示網路介面電路116來將TCP封包206、208、210、212、214連續地傳送至伺服器204,其中TCP封包206的序號(Sequence Number)為Seq 1,TCP封包208的序號為Seq 2,TCP封包210的序號為Seq 3,TCP封包212的序號為Seq 4,以及TCP封包214的序號為Seq 5。當伺服器204成功接收到TCP封包206時,伺服器204的處理器124可執行程式碼PROG_2來產生一TCP封包216以作為TCP封包206所對應的確認封包,並指示網路介面電路126來將TCP封包216回傳至用戶端202,例如TCP封包216為攜帶確認號碼(acknowledgement number)ACK 1的確認封包。用戶端202透過網路介面電路116成功接收到TCP封包(確認封包)216,而用戶端202送出TCP封包206和收到伺服器204回應的相對應確認封包的時間差可稱為往返時間(Round Trip Time,RTT)。如第2圖所示,用戶端202所送出的下一個TCP封包208於網路傳送過程發生丟包,因此伺服器204並未成功接收到TCP封包208,當伺服器204後續成功接收到TCP封包210時,根據本發明所揭示之修改過的TCP流程,伺服器204並不會因應接收到TCP封包210而重複發送一個攜帶確認號碼ACK 1的確認封包,以便讓用戶端202啟動TCP封包208的重傳,相反地,伺服器204會因應接收到TCP封包210而直接回應一個相對應的TCP封包218,亦即伺服器204的處理器124可執行程式碼PROG_2來產生一TCP封包218以作為TCP封包210所對應的確認封包,並指示網路介面電路126來將TCP封包218回傳至用戶端202,例如TCP封包218為攜帶確認號碼ACK 3的確認封包。請注意,於用戶端202的網路介面電路116成功接收到TCP封包(確認封包)218之前,用戶端202的網路介面電路116並未接收到對應TCP封包208的確認封包,而當用戶端202的網路介面電路116成功接收到TCP封包(確認封包)218時,用戶端202便會認為TCP封包206、208、
210均已經被伺服器204成功接收,如此一來,即便TCP封包208實際上於網路傳送過程發生丟包,用戶端202並不會啟動TCP封包208的重傳。伺服器204後續成功接收到TCP封包212、214,當伺服器204因應接收到TCP封包214而回應一個相對應的TCP封包220(例如TCP封包220為攜帶確認號碼ACK 5的確認封包)至用戶端202,用戶端202便可得知連續傳送的TCP封包206、208、210、212、214均已經被伺服器204所接收。
綜上所述,即便用戶端202所發送的TCP封包實際上發生丟包,基於本發明所揭示之修改過的TCP流程,伺服器204並不會要求用戶端202進行TCP封包重傳,此外,伺服器204會根據目前所接收之所有TCP封包的封包序號中的最大封包序號來回應確認封包給用戶端202,如此便可保證用戶端202在網路測速(至少包含上傳速率的測試)的期間,不會進行任何TCP封包重傳,如此一來,TCP性能便可不受網路時延的影響,換言之,即便RTT變大,則TCP的性能並不會降低,故在各種網路時延的環境之下,透過本發明所揭示之修改過的TCP流程,上傳速率的測試操作都能準確得到用戶真實的上傳速率。
當用戶端202(電腦裝置102)的處理器114執行程式碼PROG_1(例如程式碼PROG_1中所包含的網路測速軟體(用戶端)的程式碼)來啟動網路測速(至少包含上傳速率的測試)時,最後是由用戶端202(電腦裝置102)來回報網路測速的結果(至少包含上傳速率的測試結果),然而,根據本發明所揭示之修改過的TCP流程,伺服器204並不會要求用戶端202進行任何TCP封包重傳,因此,用戶端202無法得知多少TCP封包在網路傳輸過程中發生丟包,且用戶端202也無法得知伺服器204收到用戶端202所發送之TCP封包的真實資料量,為了解決此一問題,本發明另揭示針對伺服器204所回應的確認封包(攜帶確認號碼的TCP封包)
進行改良,如此一來,伺服器204所回應的每一個確認封包(攜帶確認號碼的TCP封包)中的報文(message)都會額外添加一會話層(session layer)內容,例如伺服器204的處理器124執行程式碼PROG_2(例如程式碼PROG_2中所包含的網路測速軟體(伺服器)的程式碼)來添加會話層內容至報文中,接著,伺服器204的處理器124執行程式碼PROG_2(例如程式碼PROG_2中所包含的作業系統的程式碼)來添加TCP標頭以產生TCP封包來作為確認封包,並指示網路介面電路126來將此確認封包(包含會話層內容)傳送至用戶端202,而用戶端202便可根據會話層內容所攜帶的資訊來計算用戶端202所使用之網路的網路速率,例如會話層內容可採用以下格式,但本發明並不以此為限:
請參照第3圖,第3圖為本發明一實施例之包含會話層內容的TCP封包格式的示意圖。本實施例中,會話層內容會緊接在TCP標頭之後,由於TCP標頭的格式為熟習技藝者所知,故於此不再贅述。會話層內容中,4位元組(32位元)長度的欄位所記錄的數值可用來指明伺服器204到目前時間點為止所實際接收到的TCP封包的資料量,因此,用戶端202的處理器114可執行程式碼PROG_1(例如程式碼PROG_1中所包含的作業系統的程式碼)來解析確認封包(攜帶確認號碼的TCP封包)以得到此資訊,接著,用戶端202的處理器114可執行程式碼PROG_1(例如程式碼PROG_1中所包含的測速軟體(用戶端)的程式碼),用以根據伺服器204於目前時間點所實際接收到的TCP封包的資料量以及所經過的時間來計算出網路所提供的上傳速率。
請參照第4圖,第4圖為本發明一實施例之上傳速率測試的循序圖。
用戶端(例如HTTP用戶端)202可以是第1圖所示的電腦裝置102,以及伺服器(例如HTTP伺服器)204可以是第1圖所示的電腦裝置104。當用戶端202(電腦裝置102)的處理器114執行程式碼PROG_1(例如程式碼PROG_1所包含的網路測速軟體(用戶端)的程式碼)來啟動網路測速(至少包含上傳速率的測試)時,會發送HTTP POST請求給伺服器204,以便透過發送複數個TCP封包至伺服器204來執行上傳速率的測試,於本實施例中,用戶端202(電腦裝置102)所發送的第一個TCP封包的序號為x(亦即TCP_SN=x)。於網路測速的期間,用戶端202(電腦裝置102)所發送的TCP封包發生丟包,例如序號為x+1400(亦即TCP_SN=x+1400)的TCP封包沒有被伺服器204(電腦裝置104)所成功接收,如前所述,伺服器204(電腦裝置104)並不會要求用戶端202(電腦裝置102)重傳序號為x+1400(亦即TCP_SN=x+1400)的TCP封包。當用戶端202(電腦裝置102)後續所發送的TCP封包(序號為x+1400+m,亦即TCP_SN=x+1400+m)被伺服器204(電腦裝置104)所成功接收,因應此TCP封包(序號為x+1400+m)的成功接收,伺服器204(電腦裝置104)便會採用第3圖所示之TCP封包格式來回傳確認封包,除了TCP標頭會傳遞確認號碼(例如ACK_SN=x+1400+m),會話層內容會傳遞伺服器204於目前時間點所實際接收到的TCP封包的資料量(例如Len:x+m\r\n),因此,當用戶端202(電腦裝置102)接收到此確認封包,便可解析會話層內容(例如Len:x+m\r\n)來得知伺服器204於目前時間點所實際接收到的TCP封包的資料量,因此,用戶端202(電腦裝置102)便可將TCP封包的資料量(例如x+m)除以花費的時間(例如t)來計算得到用戶端202(電腦裝置102)所使用之網路所提供的上傳速率(例如)。
如前所述,為了實現流量控制,於上傳速率的測試場景中,用戶端202(電腦裝置102)作為傳送端,會根據傳送視窗來進行TCP封包的傳送,以及
伺服器204(電腦裝置104)作為接收端,會根據接收視窗來進行TCP封包的接收,如第3圖所示,TCP標頭中的視窗大小(Window Size)欄位所記錄的數值代表接收視窗的大小,接收端可用來控制封包流量,告訴傳送端目前本身還有多少接收緩衝器(Receive Buffer)可以接收TCP封包,接收視窗大小的改變可以用來控制傳送端的流量大小,如果接收端過於忙碌或無法即時處理進來的大量TCP封包,則接收端可主動將接收視窗的值調小,並透過確認封包中的視窗大小欄位來告知傳送端,反之,接收端可主動將接收視窗的值調大,並透過確認封包中的視窗大小欄位來告知傳送端,由於網路測速實際上並不關注資料內容的正確性,因此可以不用依賴標準TCP流程所提供的重傳機制來確保TCP封包透過網路傳輸的正確性與可靠性,於本發明的實施例中,由於伺服器204(電腦裝置104)於上傳速率的測試場景中作為接收端,因此伺服器204(電腦裝置104)可以讓確認封包中的視窗大小欄位所傳遞的數值維持伺服器204(電腦裝置104)的接收視窗最大值,亦即於網路測速的期間(至少包含上傳速率的測試期間),伺服器204(電腦裝置104)回傳給用戶端202(電腦裝置102)的每一確認封包中的視窗大小欄位均會維持在同一數值(例如伺服器204(電腦裝置104)的接收視窗最大值),由於伺服器204(電腦裝置104)將接收視窗的大小調整至最大,如此一來,便可讓用戶端202(電腦裝置102)維持較高的封包傳送速率,進而提升上傳速率的測試結果。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100:網路系統
102,104:電腦裝置
103:網際網路
112,122:儲存裝置
114,124:處理器
116,126:網路介面電路
PROG_1,PROG_2:程式碼
Claims (18)
- 一種電腦裝置,包含:一網路介面電路,用來自另一電腦裝置接收一第一傳輸控制協定封包,其中該第一傳輸控制協定封包包含一會話層內容;一儲存裝置,用來儲存一程式碼;以及一處理器,用來載入並執行該程式碼以進行以下操作:根據該會話層內容所攜帶的資訊來計算該電腦裝置所使用之一網路的網路速率;其中於該電腦裝置進行網路測速的期間,該電腦裝置不會進行任何傳輸控制協定封包重傳。
- 如請求項1所述之電腦裝置,其中該處理器另執行該程式碼以進行以下操作:指示該網路介面電路來傳送複數個第二傳輸控制協定封包至該另一電腦裝置;該會話層內容所攜帶的資訊包含該另一電腦裝置實際接收到之第二傳輸控制協定封包的資料量。
- 如請求項1所述之電腦裝置,其中該處理器另執行該程式碼以進行以下操作:指示該網路介面電路來傳送一第二傳輸控制協定封包至該另一電腦裝置;其中該第一傳輸控制協定封包為對應該第二傳輸控制協定封包的一確認封包。
- 如請求項3所述之電腦裝置,其中於該電腦裝置進行網路測速的期間,該電腦裝置自該另一電腦裝置所接收之每一第二傳輸控制協定封包中的一視窗欄位會維持在同一數值。
- 如請求項3所述之電腦裝置,其中該處理器另執行該程式碼以進行以下操作:於傳送該第二傳輸控制協定封包至該另一電腦裝置之前,指示該網路介面電路來傳送另一第二傳輸控制協定封包至該另一電腦裝置;其中於該網路介面電路接收到對應該第二傳輸控制協定封包的該確認封包之前,該網路介面電路並未接收到對應該另一第二傳輸控制協定封包的一確認封包。
- 一種電腦裝置,包含:一網路介面電路,用來連續接收來自另一電腦裝置的一第一傳輸控制協定封包以及另一第一傳輸控制協定封包,其中該第一傳輸控制協定封包與該另一第一傳輸控制協定封包具有不連續的序號;一儲存裝置,用來儲存一程式碼;以及一處理器,用來載入並執行該程式碼以進行以下操作:因應接收到該另一第一傳輸控制協定封包,指示該網路介面電路來傳送一第二傳輸控制協定封包至該另一電腦裝置,其中該第二傳輸控制協定封包為該另一第一傳輸控制協定封包的一確認封包;其中於該另一電腦裝置進行網路測速的期間,該電腦裝置不會要求該另一電腦裝置進行任何傳輸控制協定封包重傳。
- 如請求項6所述之電腦裝置,其中該第二傳輸控制協定封包包含一會話層內容。
- 如請求項7所述之電腦裝置,其中該會話層內容所攜帶的資訊包含該電腦裝置自該另一電腦裝置所實際接收到之第一傳輸控制協定封包的資料量。
- 如請求項6所述之電腦裝置,其中該處理器另執行該程式碼以進行以下操作:於該另一電腦裝置的網路測速期間,將傳送至該另一電腦裝置之每一第二傳輸控制協定封包中的一視窗欄位維持在該電腦裝置的一接收視窗最大值。
- 一種應用於一電腦裝置的傳輸控制協定封包處理方法,包含:自另一電腦裝置接收一第一傳輸控制協定封包,其中該第一傳輸控制協定封包包含一會話層內容;以及根據該會話層內容所攜帶的資訊來計算該電腦裝置所使用之一網路的網路速率;其中於該電腦裝置進行網路測速的期間,該電腦裝置不會進行任何傳輸控制協定封包重傳。
- 如請求項10所述之傳輸控制協定封包處理方法,另包含:傳送複數個第二傳輸控制協定封包至該另一電腦裝置;其中該會話層內容所攜帶的資訊包含該另一電腦裝置實際接收到之第二傳輸 控制協定封包的資料量。
- 如請求項10所述之傳輸控制協定封包處理方法,另包含:傳送一第二傳輸控制協定封包至該另一電腦裝置;其中該第一傳輸控制協定封包為對應該第二傳輸控制協定封包的一確認封包。
- 如請求項12所述之傳輸控制協定封包處理方法,其中於該電腦裝置進行網路測速的期間,該電腦裝置自該另一電腦裝置所接收之每一第二傳輸控制協定封包中的一視窗欄位會維持在同一數值。
- 如請求項12所述之傳輸控制協定封包處理方法,另包含:於傳送該第二傳輸控制協定封包至該另一電腦裝置之前,傳送另一第二傳輸控制協定封包至該另一電腦裝置;其中於接收到對應該第二傳輸控制協定封包的該確認封包之前,並未接收到對應該另一第二傳輸控制協定封包的一確認封包。
- 一種應用於一電腦裝置的傳輸控制協定封包處理方法,包含:連續接收來自另一電腦裝置的一第一傳輸控制協定封包以及另一第一傳輸控制協定封包,其中該第一傳輸控制協定封包與該另一第一傳輸控制協定封包具有不連續的序號;以及因應接收到該另一第一傳輸控制協定封包,傳送一第二傳輸控制協定封包至該另一電腦裝置,其中該第二傳輸控制協定封包為該另一第一傳輸控制協定封包的一確認封包; 其中於該另一電腦裝置進行網路測速的期間,該電腦裝置不會要求該另一電腦裝置進行任何傳輸控制協定封包重傳。
- 如請求項15所述之傳輸控制協定封包處理方法,其中該第二傳輸控制協定封包包含一會話層內容。
- 如請求項16所述之傳輸控制協定封包處理方法,其中該會話層內容所攜帶的資訊包含該電腦裝置自該另一電腦裝置所實際接收到之第一傳輸控制協定封包的資料量。
- 如請求項15所述之傳輸控制協定封包處理方法,另包含:於該另一電腦裝置的網路測速期間,將傳送至該另一電腦裝置之每一第二傳輸控制協定封包中的一視窗欄位維持在該電腦裝置的一接收視窗最大值。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310072279.3A CN118381839A (zh) | 2023-01-20 | 2023-01-20 | 计算机装置及其传输控制协议报文处理方法 |
| CN2023100722793 | 2023-01-20 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI846381B true TWI846381B (zh) | 2024-06-21 |
| TW202431824A TW202431824A (zh) | 2024-08-01 |
Family
ID=91911226
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW112109491A TWI846381B (zh) | 2023-01-20 | 2023-03-15 | 電腦裝置以及應用於電腦裝置的傳輸控制協定封包處理方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US12255795B2 (zh) |
| CN (1) | CN118381839A (zh) |
| TW (1) | TWI846381B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118381839A (zh) * | 2023-01-20 | 2024-07-23 | 达发科技(苏州)有限公司 | 计算机装置及其传输控制协议报文处理方法 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110307577A1 (en) * | 2003-12-19 | 2011-12-15 | Mcdaniel Scott | Method and system for transmit scheduling for multi-layer network interface controller (nic) operation |
| US20130229916A1 (en) * | 2010-11-16 | 2013-09-05 | Hitachi, Ltd. | Communication device and communication system |
| CN106878107A (zh) * | 2017-02-28 | 2017-06-20 | 无锡研勤信息科技有限公司 | 基于Linux内核驱动的网络带宽测速方法 |
| CN108768789A (zh) * | 2018-06-28 | 2018-11-06 | 四川斐讯信息技术有限公司 | 一种路由器终端速率及限速测试方法及系统 |
| CN108880938A (zh) * | 2018-06-19 | 2018-11-23 | 成都网丁科技有限公司 | 一种端到端tcp会话测速方法 |
| WO2021244415A1 (zh) * | 2020-06-03 | 2021-12-09 | 华为技术有限公司 | 检测网络故障的方法和装置 |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6076113A (en) * | 1997-04-11 | 2000-06-13 | Hewlett-Packard Company | Method and system for evaluating user-perceived network performance |
| US7299280B2 (en) * | 2001-10-17 | 2007-11-20 | The Regents Of University Of California | Method and apparatus for TCP with faster recovery |
| US20030161265A1 (en) * | 2002-02-25 | 2003-08-28 | Jingjun Cao | System for end user monitoring of network service conditions across heterogeneous networks |
| US7907613B1 (en) * | 2002-05-09 | 2011-03-15 | Avaya Inc. | Method and apparatus for measuring RTT in a cumulative acknowledgment transmission protocol |
| DE60232278D1 (de) * | 2002-09-06 | 2009-06-18 | Ericsson Telefon Ab L M | Verfahren und vorrichtungen zur regelung der wiede |
| US9060047B2 (en) * | 2005-12-21 | 2015-06-16 | Genband Us Llc | Media stream management |
| KR101568288B1 (ko) * | 2009-09-21 | 2015-11-12 | 삼성전자주식회사 | 데이터 수신 장치 및 방법 |
| US8934351B2 (en) * | 2011-03-24 | 2015-01-13 | Fujitsu Ten Limited | Communication apparatus and communication system |
| WO2013102469A1 (en) * | 2012-01-05 | 2013-07-11 | Voipfuture Gmbh | Determination of a quality induced termination rate of communication sessions |
| US9621471B2 (en) * | 2014-06-30 | 2017-04-11 | Vmware, Inc. | Framework for early congestion notification and recovery in a virtualized environment |
| WO2019044065A1 (ja) * | 2017-08-30 | 2019-03-07 | 日本電気株式会社 | 動画再生ビットレート推定装置、方法、及びプログラムを格納した非一時的なコンピュータ可読媒体、並びに通信品質測定装置 |
| CN108111434B (zh) * | 2017-12-14 | 2021-03-16 | 四川大学 | 一种基于可靠udp和喷泉码的航空自组网可靠传输方法 |
| GB201721847D0 (en) * | 2017-12-22 | 2018-02-07 | Telecom Paris Tech | Priority map for media files |
| US10880196B2 (en) * | 2018-01-25 | 2020-12-29 | Charter Communications Operating, Llc | Bi-directional speed test method and system for customer premises equipment (CPE) devices |
| EP4282152A4 (en) * | 2021-01-19 | 2024-11-27 | Dejero Labs Inc. | SYSTEMS AND METHODS FOR PUSH DATA COMMUNICATIONS |
| US11876698B2 (en) * | 2022-04-21 | 2024-01-16 | Viavi Solutions Inc. | High-speed hardware-based traffic analyzer integration with speed test control application |
| CN118381838A (zh) * | 2023-01-20 | 2024-07-23 | 达发科技(苏州)有限公司 | 计算机装置及用于计算机装置的传输控制协议封包处理方法 |
| CN118381839A (zh) * | 2023-01-20 | 2024-07-23 | 达发科技(苏州)有限公司 | 计算机装置及其传输控制协议报文处理方法 |
-
2023
- 2023-01-20 CN CN202310072279.3A patent/CN118381839A/zh active Pending
- 2023-03-15 TW TW112109491A patent/TWI846381B/zh active
- 2023-08-01 US US18/228,695 patent/US12255795B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110307577A1 (en) * | 2003-12-19 | 2011-12-15 | Mcdaniel Scott | Method and system for transmit scheduling for multi-layer network interface controller (nic) operation |
| US20130229916A1 (en) * | 2010-11-16 | 2013-09-05 | Hitachi, Ltd. | Communication device and communication system |
| CN106878107A (zh) * | 2017-02-28 | 2017-06-20 | 无锡研勤信息科技有限公司 | 基于Linux内核驱动的网络带宽测速方法 |
| CN108880938A (zh) * | 2018-06-19 | 2018-11-23 | 成都网丁科技有限公司 | 一种端到端tcp会话测速方法 |
| CN108768789A (zh) * | 2018-06-28 | 2018-11-06 | 四川斐讯信息技术有限公司 | 一种路由器终端速率及限速测试方法及系统 |
| WO2021244415A1 (zh) * | 2020-06-03 | 2021-12-09 | 华为技术有限公司 | 检测网络故障的方法和装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202431824A (zh) | 2024-08-01 |
| US12255795B2 (en) | 2025-03-18 |
| US20240250889A1 (en) | 2024-07-25 |
| CN118381839A (zh) | 2024-07-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7502860B1 (en) | Method and apparatus for client-side flow control in a transport protocol | |
| US8681610B1 (en) | TCP throughput control by imposing temporal delay | |
| US7738495B2 (en) | Method of determining a maximum transmission unit value of a network path using transport layer feedback | |
| JP6705003B2 (ja) | データ伝送方法および関連するデバイス | |
| US6912588B1 (en) | System and method for managing client requests in client-server networks | |
| US9577791B2 (en) | Notification by network element of packet drops | |
| WO2019144836A1 (zh) | 数据传输方法、装置和系统 | |
| CN104854836B (zh) | 增加数据流传输的方法和系统 | |
| CN104038845B (zh) | 报文传输方法及装置 | |
| WO2014092779A1 (en) | Notification by network element of packet drops | |
| JP2005192216A (ja) | トランスポートオフロードエンジンのための再送信システムおよび方法 | |
| EP3135016A1 (en) | Managing sequence values with added headers in computing devices | |
| WO2017097201A1 (zh) | 一种数据传输方法、发送装置及接收装置 | |
| JP2005520374A (ja) | Tcp/ipに対する変更 | |
| TWI846381B (zh) | 電腦裝置以及應用於電腦裝置的傳輸控制協定封包處理方法 | |
| TWI839155B (zh) | 電腦裝置以及應用於電腦裝置的傳輸控制協定封包處理方法 | |
| JP2005136684A (ja) | データ転送方法とtcpプロキシ装置およびそれを用いたネットワークシステム | |
| CN116074401B (zh) | 一种在可编程交换机上的传输层协议实现方法 | |
| JP4506430B2 (ja) | アプリケーションモニタ装置 | |
| CN111092907B (zh) | 基于udp协议的数据流快速传输方法、系统及介质 | |
| CN119652829A (zh) | 一种基于Netlink的TCP连接信息管理方法及装置 | |
| US7623546B1 (en) | Latency improvement for file transfers over network connections | |
| JPH11249978A (ja) | データ転送方法および装置 | |
| CN119232618A (zh) | 基于WebRTC的数据传输方法、装置、设备及介质 | |
| EP3525412A1 (en) | Improved connectionless data transport protocol |