System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及數(shù)據(jù)傳輸,尤其涉及一種tcp報(bào)文封裝方法、裝置、電子設(shè)備和存儲介質(zhì)。
技術(shù)介紹
1、tcp(transmission?control?protocol,傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層協(xié)議,tcp通過自身的一系列特性可確保數(shù)據(jù)的完整性和準(zhǔn)確性。tcp廣泛應(yīng)用于需要可靠性的網(wǎng)絡(luò)通信中,但tcp的這些特性也帶來了額外的性能開銷和復(fù)雜性,使其在實(shí)時(shí)通信和高效率傳輸方面存在局限。例如,tcp在進(jìn)行連接時(shí)需要進(jìn)行三次握手,在斷開連接時(shí)需要進(jìn)行四次揮手,這種約束雖然保證了其數(shù)據(jù)傳輸?shù)姆€(wěn)定性,但是會大大降低實(shí)時(shí)通信的速率。
2、現(xiàn)有技術(shù)中,一般采用tso(tcp?segment?offload,tcp分段卸載)技術(shù),通過動態(tài)調(diào)整數(shù)據(jù)包大小以適應(yīng)不同網(wǎng)絡(luò)段的mtu(maximum?transmission?unit,最大傳輸單元),減小因ip(internet?protocol,網(wǎng)際互連協(xié)議)層分片帶來的性能損耗,降低延遲,并提高網(wǎng)絡(luò)通信的整體性能。
3、然而,在對tcp數(shù)據(jù)包進(jìn)行分段卸載時(shí),會把ip報(bào)頭和tcp的完整報(bào)頭進(jìn)行保存,如圖1所示,一個(gè)完整的tcp數(shù)據(jù)包會根據(jù)mss(maxitum?segment?size,最大分段長度)被分段為多個(gè)較小的分段報(bào)文,各分段報(bào)文的tcp幀頭如圖2所示,在發(fā)送每個(gè)分段報(bào)文時(shí)均會將圖2所示的tcp幀頭進(jìn)行重傳,大降低了數(shù)據(jù)的傳輸速率。
技術(shù)實(shí)現(xiàn)思路
1、本專利技術(shù)提供一種tcp報(bào)文封裝方法、裝置
2、本專利技術(shù)提供一種tcp報(bào)文封裝方法,包括:
3、接收本端的cpu發(fā)送的tcp報(bào)文,并在對端和所述本端建立通信連接的情況下,將所述tcp報(bào)文分段為至少兩個(gè)第一分段報(bào)文;
4、優(yōu)化各所述第一分段報(bào)文中的冗余字段,確定各第一封裝報(bào)文;
5、針對各所述第一封裝報(bào)文,基于所述本端對應(yīng)的校驗(yàn)狀態(tài)數(shù)據(jù),確定所述第一封裝報(bào)文對應(yīng)的第二封裝報(bào)文;所述校驗(yàn)狀態(tài)數(shù)據(jù)用于指示所述第一封裝報(bào)文是否使能校驗(yàn)和卸載。
6、根據(jù)本專利技術(shù)提供的tcp報(bào)文封裝方法,所述冗余字段包括源端口和目的端口;
7、所述優(yōu)化各所述第一分段報(bào)文中的冗余字段,確定各第一封裝報(bào)文,包括:
8、獲取所述對端和所述本端在通信過程中確認(rèn)的源端口和目的端口;
9、針對各所述第一分段報(bào)文,在所述第一分段報(bào)文的tcp幀頭中,刪除所述源端口和所述目的端口,確定第二分段報(bào)文;基于所述第二分段報(bào)文對應(yīng)的分段類型,確定所述第一封裝報(bào)文;所述分段類型用于表征所述第二分段報(bào)文在所述tcp報(bào)文中的位置。
10、根據(jù)本專利技術(shù)提供的tcp報(bào)文封裝方法,所述冗余字段還包括確認(rèn)號;
11、所述基于所述第二分段報(bào)文對應(yīng)的分段類型,確定所述第一封裝報(bào)文,包括:
12、在所述第二分段報(bào)文對應(yīng)的分段類型為首分段報(bào)文的情況下,將所述第二分段報(bào)文確定為所述第一封裝報(bào)文;
13、在所述第二分段報(bào)文對應(yīng)的分段類型為非首分段報(bào)文的情況下,在所述第二分段報(bào)文的tcp幀頭中,刪除所述確認(rèn)號,得到所述第一封裝報(bào)文。
14、根據(jù)本專利技術(shù)提供的tcp報(bào)文封裝方法,所述基于所述本端對應(yīng)的校驗(yàn)狀態(tài)數(shù)據(jù),確定所述第一封裝報(bào)文對應(yīng)的第二封裝報(bào)文,包括:
15、在所述校驗(yàn)狀態(tài)數(shù)據(jù)指示所述本端使能校驗(yàn)和卸載的情況下,確定所述第一封裝報(bào)文對應(yīng)的校驗(yàn)和,并基于所述校驗(yàn)和更新所述第一封裝報(bào)文的tcp幀頭,得到第二封裝報(bào)文;
16、在所述校驗(yàn)狀態(tài)數(shù)據(jù)指示所述本端未使能校驗(yàn)和卸載的情況下,將所述第一封裝報(bào)文確定為所述第二封裝報(bào)文。
17、根據(jù)本專利技術(shù)提供的tcp報(bào)文封裝方法,所述確定所述第一封裝報(bào)文對應(yīng)的校驗(yàn)和,包括:
18、基于所述第一封裝報(bào)文對應(yīng)的偽首部,確定所述第一封裝報(bào)文對應(yīng)的校驗(yàn)和。
19、根據(jù)本專利技術(shù)提供的tcp報(bào)文封裝方法,所述方法還包括:
20、按照各所述第二封裝報(bào)文的分段順序,依次向所述對端發(fā)送各所述第二封裝報(bào)文。
21、本專利技術(shù)還提供一種tcp報(bào)文封裝裝置,包括:
22、接收模塊,用于接收本端的cpu發(fā)送的tcp報(bào)文,并在對端和所述本端建立通信連接的情況下,將所述tcp報(bào)文分段為至少兩個(gè)第一分段報(bào)文;
23、優(yōu)化模塊,用于在對端和所述本端建立通信連接的情況下,優(yōu)化各所述第一分段報(bào)文中的冗余字段,確定各第一封裝報(bào)文;
24、確定模塊,用于針對各所述第一封裝報(bào)文,基于所述本端對應(yīng)的校驗(yàn)狀態(tài)數(shù)據(jù),確定所述第一封裝報(bào)文對應(yīng)的第二封裝報(bào)文;所述校驗(yàn)狀態(tài)數(shù)據(jù)用于指示所述第一封裝報(bào)文是否使能校驗(yàn)和卸載。
25、本專利技術(shù)還提供一種電子設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如上述任一種所述tcp報(bào)文封裝方法。
26、本專利技術(shù)還提供一種非暫態(tài)計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一種所述tcp報(bào)文封裝方法。
27、本專利技術(shù)還提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一種所述tcp報(bào)文封裝方法。
28、本專利技術(shù)提供的tcp報(bào)文封裝方法、裝置、電子設(shè)備和存儲介質(zhì),通過將本端的處理器發(fā)送的tcp報(bào)文進(jìn)行分段,得到至少兩個(gè)第一分段報(bào)文,并在對端和本端建立通信連接情況下,優(yōu)化各第一分段報(bào)文中的冗余字段,得到優(yōu)化后的第一封裝報(bào)文,同時(shí),根據(jù)本端中配置的是否使能校驗(yàn)和卸載的校驗(yàn)狀態(tài)數(shù)據(jù),優(yōu)化各第一封裝報(bào)文的封裝方式,得到優(yōu)化后的第二封裝報(bào)文,降低各第二封裝報(bào)文中的頭部開銷,避免冗余字段的重復(fù)傳輸,從而提高數(shù)據(jù)的實(shí)時(shí)傳輸效率。
本文檔來自技高網(wǎng)...【技術(shù)保護(hù)點(diǎn)】
1.一種TCP報(bào)文封裝方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的TCP報(bào)文封裝方法,其特征在于,所述冗余字段包括源端口和目的端口;
3.根據(jù)權(quán)利要求2所述的TCP報(bào)文封裝方法,其特征在于,所述冗余字段還包括確認(rèn)號;
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的TCP報(bào)文封裝方法,其特征在于,所述基于所述本端對應(yīng)的校驗(yàn)狀態(tài)數(shù)據(jù),確定所述第一封裝報(bào)文對應(yīng)的第二封裝報(bào)文,包括:
5.根據(jù)權(quán)利要求4所述的TCP報(bào)文封裝方法,其特征在于,所述確定所述第一封裝報(bào)文對應(yīng)的校驗(yàn)和,包括:
6.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的TCP報(bào)文封裝方法,其特征在于,所述方法還包括:
7.一種TCP報(bào)文封裝裝置,其特征在于,包括:
8.一種電子設(shè)備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如權(quán)利要求1至6任一項(xiàng)所述TCP報(bào)文封裝方法。
9.一種非暫態(tài)計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)
10.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至6任一項(xiàng)所述TCP報(bào)文封裝方法。
...【技術(shù)特征摘要】
1.一種tcp報(bào)文封裝方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的tcp報(bào)文封裝方法,其特征在于,所述冗余字段包括源端口和目的端口;
3.根據(jù)權(quán)利要求2所述的tcp報(bào)文封裝方法,其特征在于,所述冗余字段還包括確認(rèn)號;
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的tcp報(bào)文封裝方法,其特征在于,所述基于所述本端對應(yīng)的校驗(yàn)狀態(tài)數(shù)據(jù),確定所述第一封裝報(bào)文對應(yīng)的第二封裝報(bào)文,包括:
5.根據(jù)權(quán)利要求4所述的tcp報(bào)文封裝方法,其特征在于,所述確定所述第一封裝報(bào)文對應(yīng)的校驗(yàn)和,包括:
6.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的tcp報(bào)文封裝方法,其...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:楊晨,
申請(專利權(quán))人:山東云海國創(chuàng)云計(jì)算裝備產(chǎn)業(yè)創(chuàng)新中心有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。