專利名稱:一種tcp報(bào)文的發(fā)送方法、接收方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種TCP報(bào)文的發(fā)送方法、接收方法及裝置。
背景技術(shù):
低功耗傳感器網(wǎng)絡(luò)是由部署在監(jiān)控區(qū)域內(nèi)的大量的傳感器節(jié)點(diǎn)和無(wú)線路由節(jié)點(diǎn)組成的網(wǎng)絡(luò)系統(tǒng),目前,IETF(The Internet Engineering Task R)rce,互聯(lián)網(wǎng)工程任務(wù)組) 對(duì)低功耗傳感器網(wǎng)絡(luò)研究的一個(gè)重要方面在于如何提高低功耗傳感器網(wǎng)絡(luò)中的數(shù)據(jù)傳輸效率,針對(duì)此問(wèn)題,IETF RFC (Request For Comments,請(qǐng)求評(píng)議)4944制定了對(duì)IPv6報(bào)頭進(jìn)行壓縮的基本方法,該方法最多可以把IPv6報(bào)頭壓縮到2個(gè)字節(jié),通過(guò)對(duì)IPv6報(bào)頭壓縮, 增加了可用于傳輸數(shù)據(jù)的字節(jié),從而提高了數(shù)據(jù)傳輸效率。在此基礎(chǔ)上,業(yè)界希望可以通過(guò)對(duì)TCP (Transmission Control Protocol,傳輸控制協(xié)議)報(bào)頭進(jìn)行壓縮以進(jìn)一步提高低功耗傳感器網(wǎng)絡(luò)中的數(shù)據(jù)傳輸效率,但目前IETF RFC4944還未針對(duì)低功耗傳感器網(wǎng)絡(luò)中TCP 報(bào)頭的壓縮提出具體的解決方案。在其他網(wǎng)絡(luò)環(huán)境下的TCP報(bào)頭壓縮方法應(yīng)用已比較普遍,例如,RFC1144制定的 TCP報(bào)頭壓縮方法,該壓縮方法是將IPv4報(bào)頭和TCP報(bào)頭一起壓縮,并且該壓縮方法為有狀態(tài)的壓縮方法,即在生成一個(gè)基準(zhǔn)的TCP/IP報(bào)頭后,后續(xù)的報(bào)文只用傳輸相對(duì)的偏差,使得在接收端能夠進(jìn)行相應(yīng)的解壓縮。根據(jù)該方法,發(fā)送端和接收端都需要維護(hù)會(huì)話狀態(tài),發(fā)送端在每次傳輸報(bào)文時(shí),需要根據(jù)維護(hù)的會(huì)話狀態(tài)信息只傳輸報(bào)頭中差異的字節(jié)信息,接收端也需要根據(jù)維護(hù)的會(huì)話狀態(tài)信息進(jìn)行相應(yīng)的解壓縮。上述方法可以實(shí)現(xiàn)對(duì)TCP報(bào)頭的壓縮,但該方法不能很好地適用于低功耗傳感器網(wǎng)絡(luò),原因在于一方面,根據(jù)RFC1144制定的TCP報(bào)頭壓縮方法,需要在接收端和發(fā)送端維護(hù)TCP 會(huì)話的狀態(tài),維護(hù)會(huì)話狀態(tài)一般需要消耗較多的內(nèi)存資源,而在低功耗傳感器網(wǎng)絡(luò)中,傳感器節(jié)點(diǎn)的內(nèi)存一般都較低(有些不足10K字節(jié)),因此,對(duì)于傳感器節(jié)點(diǎn)而言,保存不同的會(huì)話狀態(tài)存在較大困難。因此,這種有狀態(tài)的TCP報(bào)頭壓縮方法不能與RFC4944對(duì)于無(wú)狀態(tài)壓縮的要求兼容,不適用于低功耗傳感器網(wǎng)絡(luò);另一方面,根據(jù)RFCl 144制定的TCP報(bào)頭壓縮方法,是將IPv4報(bào)頭和TCP報(bào)頭一起壓縮,而RFC4944已經(jīng)針對(duì)低功耗傳感器網(wǎng)絡(luò)制定了 IPv6報(bào)頭的獨(dú)立壓縮方法,并且, RFC4944指定的對(duì)IPv6報(bào)頭的壓縮方法是無(wú)狀態(tài)的壓縮方法,因此RFCl 144制定的TCP報(bào)頭壓縮方法,不能符合RFC4944的要求,不適用于低功耗傳感器網(wǎng)絡(luò)。綜上所述,現(xiàn)有技術(shù)還未針對(duì)低功耗傳感器網(wǎng)絡(luò)制定出符合IETFRFC4944要求的 TCP報(bào)頭壓縮方法。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實(shí)施例提供一種TCP報(bào)文的發(fā)送方法、接收方法及裝置,采用該技術(shù)方案對(duì)TCP報(bào)頭進(jìn)行壓縮,能夠符合IETF RFC 4944的要求,能夠適用于低功耗傳感器
6網(wǎng)絡(luò)。本發(fā)明實(shí)施例通過(guò)如下技術(shù)方案實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種TCP報(bào)文的發(fā)送方法,包括確定待發(fā)送TCP報(bào)文的TCP報(bào)頭的壓縮狀態(tài);根據(jù)所述TCP報(bào)頭的壓縮狀態(tài),對(duì)所述TCP報(bào)頭中預(yù)留出的設(shè)定比特位的用于指示所述TCP報(bào)頭的壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)頭賦值;在根據(jù)確定的所述壓縮狀態(tài)對(duì)包括賦值后的擴(kuò)展標(biāo)識(shí)頭的所述TCP報(bào)頭壓縮后, 發(fā)送所述TCP報(bào)文。根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種TCP報(bào)文的接收方法,包括接收TCP報(bào)文;獲取所述TCP報(bào)文的TCP報(bào)頭中設(shè)定比特位的用于指示所述TCP報(bào)頭的壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)頭信息;根據(jù)所述擴(kuò)展標(biāo)識(shí)頭信息確定所述TCP報(bào)頭的壓縮狀態(tài);根據(jù)確定的所述壓縮狀態(tài)對(duì)所述TCP報(bào)頭進(jìn)行解壓縮處理。根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種TCP報(bào)文的發(fā)送裝置,包括狀態(tài)確定單元,用于確定待發(fā)送TCP報(bào)文的TCP報(bào)頭的壓縮狀態(tài);擴(kuò)展標(biāo)識(shí)頭賦值單元,用于根據(jù)所述狀態(tài)確定單元確定的TCP報(bào)頭的壓縮狀態(tài), 對(duì)所述TCP報(bào)頭中預(yù)留出的設(shè)定比特位的用于指示所述TCP報(bào)頭的壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)頭賦值;報(bào)頭處理單元,用于在根據(jù)所述狀態(tài)確定單元確定的所述壓縮狀態(tài)對(duì)包括賦值后擴(kuò)展標(biāo)識(shí)頭的所述TCP報(bào)頭壓縮后,發(fā)送所述TCP報(bào)文。根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種TCP報(bào)文的接收裝置,包括接收單元,用于接收TCP報(bào)文;獲取單元,用于獲取所述接收單元接收的TCP報(bào)文的TCP報(bào)頭中設(shè)定比特位的用于指示所述TCP報(bào)頭的壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)頭信息;壓縮狀態(tài)確定單元,用于根據(jù)所述獲取單元獲取的擴(kuò)展標(biāo)識(shí)頭信息確定所述TCP 報(bào)頭的壓縮狀態(tài);解壓縮單元,用于根據(jù)所述壓縮狀態(tài)確定單元確定的所述壓縮狀態(tài)對(duì)所述TCP報(bào)頭進(jìn)行解壓縮處理。通過(guò)本發(fā)明實(shí)施例提供的上述至少一個(gè)技術(shù)方案,在發(fā)送TCP報(bào)文時(shí),首先確定待發(fā)送TCP報(bào)文的TCP報(bào)頭的壓縮狀態(tài),然后根據(jù)確定出的TCP報(bào)頭的壓縮狀態(tài),對(duì)該TCP 報(bào)頭中預(yù)留出的設(shè)定比特位的用于指示TCP報(bào)頭的壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)頭賦值,并在根據(jù)確定的壓縮狀態(tài)對(duì)TCP報(bào)頭壓縮后,發(fā)送該TCP報(bào)文;在接收TCP報(bào)文時(shí),首先獲取該TCP 報(bào)文的TCP報(bào)頭中設(shè)定比特位的用于指示TCP報(bào)頭的壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)頭信息,然后根據(jù)該擴(kuò)展標(biāo)識(shí)頭信息確定TCP報(bào)頭的壓縮狀態(tài),并根據(jù)確定的壓縮狀態(tài)對(duì)TCP報(bào)頭進(jìn)行解壓縮處理。該技術(shù)方案提供了 TCP報(bào)頭的獨(dú)立壓縮與解壓縮方法,通過(guò)TCP報(bào)頭中的擴(kuò)展標(biāo)識(shí)頭指示TCP報(bào)頭的壓縮狀態(tài),對(duì)于TCP報(bào)文的發(fā)送端而言,無(wú)需依據(jù)TCP會(huì)話的狀態(tài)以確定對(duì)TCP報(bào)頭的壓縮方式,因此,無(wú)需維護(hù)TCP的會(huì)話狀態(tài);對(duì)于TCP報(bào)文的接收端而言, 根據(jù)接收的TCP報(bào)文的TCP報(bào)頭中包括的擴(kuò)展標(biāo)識(shí)頭確定對(duì)TCP報(bào)頭的解壓縮方式,無(wú)需依據(jù)TCP會(huì)話的狀態(tài)以確定對(duì)TCP報(bào)頭的解壓縮方式,因此,無(wú)需維護(hù)TCP的會(huì)話狀態(tài),從而實(shí)現(xiàn)了 TCP報(bào)頭的無(wú)狀態(tài)壓縮,能夠適用于低功耗傳感器網(wǎng)絡(luò),并且符合IETF RFC4944 的要求。本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書中闡述,并且,部分地從說(shuō)明書中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在所寫的說(shuō)明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。
附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書的一部分,與本發(fā)明實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中圖1為本發(fā)明實(shí)施例提供的TCP報(bào)頭的格式示意圖;圖2為本發(fā)明實(shí)施例提供的TCP報(bào)頭的擴(kuò)展格式示意圖;圖3為本發(fā)明實(shí)施例提供的TCP報(bào)頭中包括的擴(kuò)展標(biāo)識(shí)頭的示意圖;圖4為本發(fā)明實(shí)施例提供的壓縮處理后的TCP報(bào)頭的具體示例;圖5為本發(fā)明實(shí)施例提供的TCP報(bào)文的發(fā)送方法流程圖;圖6為本發(fā)明實(shí)施例提供的TCP報(bào)文的接收方法流程圖;圖7為本發(fā)明實(shí)施例提供的根據(jù)擴(kuò)展標(biāo)識(shí)頭信息確定TCP報(bào)頭的壓縮狀態(tài)的流程圖一;圖8為本發(fā)明實(shí)施例提供的根據(jù)擴(kuò)展標(biāo)識(shí)頭信息確定TCP報(bào)頭的壓縮狀態(tài)的流程圖二;圖9為本發(fā)明實(shí)施例提供的TCP報(bào)文的發(fā)送裝置示意圖;圖10為本發(fā)明實(shí)施例提供的TCP報(bào)文的接收裝置示意圖;圖11為本發(fā)明實(shí)施例提供的另一 TCP報(bào)文的接收裝置示意圖。
具體實(shí)施例方式為了給出能夠符合IETF RFC 4944要求的TCP報(bào)頭壓縮方案,本發(fā)明實(shí)施例提供了一種TCP報(bào)文的發(fā)送方法、接收方法及裝置,以下結(jié)合說(shuō)明書附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。并且在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。如圖1所示,為TCP報(bào)頭的格式,其中,TCP報(bào)頭包括16比特位的源端口域和16比特位的目的端口域;32比特位的報(bào)文序列號(hào)域;32比特位的確認(rèn)序列號(hào)域;4比特位的首部長(zhǎng)度域、6比特位的保留比特位域、6比特位的控制域(UAPRSF)、16 比特位的窗口大小域;16比特位的校驗(yàn)和域、16比特位的緊急指針域;不定長(zhǎng)度的選項(xiàng)域和填充域,其中,選項(xiàng)域長(zhǎng)度不定,但長(zhǎng)度必須以字節(jié)記,并且選項(xiàng)的具體內(nèi)容視具體命令而定;填充域長(zhǎng)度也不定,填充的內(nèi)容必須為0。32比特位的數(shù)據(jù)載荷域,用于承載數(shù)據(jù)。
根據(jù)TCP報(bào)頭的上述結(jié)構(gòu),在低功耗傳感器網(wǎng)絡(luò)中存在未被使用到的域以及存在冗余的域,具體如下一、TCP報(bào)頭中未在低功耗傳感器網(wǎng)絡(luò)中實(shí)際使用到的域包括6比特位的保留比特位域,保留比特位域在首部長(zhǎng)度之后,未被實(shí)際使用到;16比特位的緊急指針域,緊急指針域在校驗(yàn)和之后,在特殊情況下才被使用到,對(duì)于低功耗傳感器網(wǎng)絡(luò)來(lái)說(shuō),該域也未被實(shí)際使用到;選項(xiàng)域,由于選項(xiàng)域常用于標(biāo)識(shí)MSS(最大報(bào)文段),因此在MTU (Maximum Transmission Unit,最大傳輸單元)值固定的低功耗傳感器網(wǎng)絡(luò)中該域未被實(shí)際使用到;16比特位的校驗(yàn)和域,由于在低功耗傳感器網(wǎng)絡(luò)中,802. 15. 4規(guī)定了對(duì)MAC層的校驗(yàn)措施,因此,在TCP協(xié)議層可以不采取校驗(yàn)措施,該校驗(yàn)和域未被實(shí)際使用到。根據(jù)本發(fā)明實(shí)施例,以上未被使用到的域可以在壓縮時(shí)丟棄,具體地,對(duì)TCP報(bào)頭壓縮之前,丟棄該TCP報(bào)頭中的設(shè)定域?qū)?yīng)的比特位。其中,該設(shè)定域包括以上所述的保留比特位域、緊急指針域、選項(xiàng)域、校驗(yàn)和域中的至少一個(gè)域。二、TCP報(bào)頭中在低功耗傳感器網(wǎng)絡(luò)中存在冗余比特位的域源端口域和目的端口域,分別為16比特位,但是在低功耗傳感器網(wǎng)絡(luò)中應(yīng)用相對(duì)較少,因此,端口長(zhǎng)度可以減少,該源端口域和目的端口域存在冗余比特位;具體地,端口域一般用于區(qū)分不同的應(yīng)用類型,源端口域以及目的端口域包括的16位的端口號(hào)可以分別區(qū)分2的16次方種不同的應(yīng)用。但是在低功耗傳感器網(wǎng)絡(luò)中的應(yīng)用類型較少,所以端口號(hào)不用太長(zhǎng),壓縮到4bit足夠,即可以標(biāo)識(shí)2的4次方種不同的應(yīng)用。報(bào)文序列號(hào)域和確認(rèn)序列號(hào)域,分別為32比特位,在低功耗傳感器網(wǎng)絡(luò)中,由于 TCP連接發(fā)送的數(shù)據(jù)包數(shù)量較少,因此,無(wú)需分配過(guò)長(zhǎng)的序列號(hào),該報(bào)文序列號(hào)域和確認(rèn)序列號(hào)域存在冗余比特位;首部長(zhǎng)度域,為4比特位,表示TCP報(bào)頭的實(shí)際長(zhǎng)度,但是TCP報(bào)頭經(jīng)過(guò)壓縮,遠(yuǎn)遠(yuǎn)低于4比特可以標(biāo)識(shí)的首部長(zhǎng)度;窗口大小域,為16比特位,該域主要用于進(jìn)行流量控制,由于低功耗傳感器網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)量較小,因此,該窗口大小域存在冗余比特位,一般可以壓縮為8比特位。根據(jù)以上分析,本發(fā)明實(shí)施例提供了一種對(duì)TCP報(bào)頭壓縮的方法,具體如圖2所示,為TCP報(bào)頭的擴(kuò)展格式,擴(kuò)展后的TCP報(bào)頭包括擴(kuò)展標(biāo)識(shí)頭以及壓縮后的TCP報(bào)頭;其中,擴(kuò)展標(biāo)識(shí)頭占用TCP報(bào)頭的設(shè)定比特位,用于指示TCP報(bào)頭的壓縮狀態(tài),根據(jù)本發(fā)明優(yōu)選實(shí)施例中,一般將TCP報(bào)頭的前設(shè)定比特位預(yù)留為擴(kuò)展標(biāo)識(shí)頭對(duì)應(yīng)的比特位,以方便確定擴(kuò)展標(biāo)識(shí)頭信息,進(jìn)而對(duì)后續(xù)的報(bào)文進(jìn)行壓縮或解壓縮處理,應(yīng)當(dāng)理解,擴(kuò)展標(biāo)識(shí)頭占用TCP報(bào)頭的前設(shè)定比特位僅為實(shí)施本發(fā)明的優(yōu)選方式,實(shí)際應(yīng)用中,該設(shè)定比特位的擴(kuò)展標(biāo)識(shí)頭還可以占用TCP報(bào)頭的其它比特位,以下以擴(kuò)展標(biāo)識(shí)頭占用TCP報(bào)頭的前設(shè)定比特位為例詳細(xì)說(shuō)明本發(fā)明實(shí)施例提供的技術(shù)方案。具體地,圖2中所示的擴(kuò)展標(biāo)識(shí)頭可以包括設(shè)定個(gè)分別占用1比特位的擴(kuò)展標(biāo)識(shí)位,其中每個(gè)擴(kuò)展標(biāo)識(shí)位與TCP報(bào)頭中的域一一對(duì)應(yīng),并且該擴(kuò)展標(biāo)識(shí)位用于通過(guò)不同的值標(biāo)識(shí)與其對(duì)應(yīng)的域的不同壓縮狀態(tài)。
本發(fā)明一個(gè)優(yōu)選實(shí)施例中,擴(kuò)展標(biāo)識(shí)頭可以占用TCP報(bào)頭的前8個(gè)比特位,具體如圖3所示,該擴(kuò)展標(biāo)識(shí)頭包括8個(gè)擴(kuò)展標(biāo)識(shí)位,每個(gè)擴(kuò)展標(biāo)識(shí)位占1比特位,其中,擴(kuò)展標(biāo)識(shí)頭中的各擴(kuò)展標(biāo)識(shí)位代表的含義可以預(yù)先定義,例如,擴(kuò)展標(biāo)識(shí)頭中各擴(kuò)展標(biāo)識(shí)位可以分別用于指示TCP報(bào)頭中存在冗余比特位的域的壓縮狀態(tài);或者,擴(kuò)展標(biāo)識(shí)頭中的一部分?jǐn)U展標(biāo)識(shí)位可以用于指示TCP報(bào)頭中未在低功耗傳感器網(wǎng)絡(luò)中實(shí)際使用到的域的壓縮狀態(tài), 另一部分?jǐn)U展標(biāo)識(shí)位可以用于指示TCP報(bào)頭中存在冗余比特位的域的壓縮狀態(tài)。根據(jù)本發(fā)明實(shí)施例,擴(kuò)展標(biāo)識(shí)頭占用8個(gè)比特位僅為實(shí)施本發(fā)明的優(yōu)選方式,實(shí)際應(yīng)用中,可以根據(jù)實(shí)際需要設(shè)置該擴(kuò)展標(biāo)識(shí)頭的位數(shù),具體根據(jù)要指示的域的個(gè)數(shù)確定, 具體地,該擴(kuò)展標(biāo)識(shí)位的比特位數(shù)與要指示壓縮狀態(tài)的域的個(gè)數(shù)確定。為了更好地理解本發(fā)明實(shí)施例提供的擴(kuò)展標(biāo)識(shí)頭,以下結(jié)合更為具體的實(shí)施例對(duì)該擴(kuò)展標(biāo)識(shí)頭的具體含義進(jìn)行說(shuō)明該實(shí)施例中,以擴(kuò)展標(biāo)識(shí)頭包括8個(gè)分別占用1比特位的擴(kuò)展標(biāo)識(shí)位為例,分別針對(duì)該擴(kuò)展標(biāo)識(shí)頭中的8個(gè)擴(kuò)展標(biāo)識(shí)位代表的含義進(jìn)行了定義,具體地,擴(kuò)展標(biāo)識(shí)頭中各擴(kuò)展標(biāo)識(shí)位的定義如下Hl用于指示TCP報(bào)頭中源端口域的壓縮狀態(tài);H2用于指示TCP報(bào)頭中目的端口域的壓縮狀態(tài);H3用于指示TCP報(bào)頭中報(bào)文序列號(hào)域的壓縮狀態(tài);H4用于指示TCP報(bào)頭中確認(rèn)序列號(hào)域的壓縮狀態(tài);H5用于指示TCP報(bào)頭中首部長(zhǎng)度域的壓縮狀態(tài);H6用于指示TCP報(bào)頭中窗口大小域的壓縮狀態(tài);H7、H8兩比特位為保留比特位,贊未定義。以上僅為實(shí)施本發(fā)明的優(yōu)選方式,實(shí)際應(yīng)用中,該擴(kuò)展標(biāo)識(shí)頭可以包括以上擴(kuò)展標(biāo)識(shí)位中的一個(gè)或多個(gè)。根據(jù)該實(shí)施例定義的各擴(kuò)展標(biāo)識(shí)位代表的含義,Hl H6分別代表源端口域、目的端口域、報(bào)文序列號(hào)域、確認(rèn)序列號(hào)域、首部長(zhǎng)度域以及窗口大小域的壓縮狀態(tài),H7、H8作為預(yù)留比特位,該擴(kuò)展標(biāo)識(shí)頭一般占用TCP報(bào)頭的前設(shè)定位,優(yōu)選地,占用TCP報(bào)頭的前8個(gè)比特位,即按照計(jì)算機(jī)程序處理數(shù)據(jù)的最小單位一個(gè)字節(jié)(8比特)。應(yīng)當(dāng)理解,該實(shí)施例中針對(duì)Hl H8定義的含義僅為實(shí)施本發(fā)明實(shí)施例的一種優(yōu)選實(shí)施方式,該擴(kuò)展標(biāo)識(shí)頭中各擴(kuò)展標(biāo)識(shí)位的具體含義可以根據(jù)實(shí)際需要靈活定義,此處不再贅述??紤]到報(bào)文接收端接收到TCP報(bào)文后,對(duì)TCP報(bào)頭中各域的解析順序,本發(fā)明優(yōu)選實(shí)施例中,一般在對(duì)Hl H8代表的域進(jìn)行定義時(shí)依據(jù)報(bào)文接收端解析域的順序,即Hl H8分別代表的域在報(bào)文接收端依次被解析。根據(jù)本發(fā)明實(shí)施例,在確定擴(kuò)展標(biāo)識(shí)頭中各擴(kuò)展標(biāo)識(shí)位在TCP報(bào)頭中所對(duì)應(yīng)的域后,可以進(jìn)一步為該擴(kuò)展標(biāo)識(shí)位賦值,并通過(guò)擴(kuò)展標(biāo)識(shí)位的不同值標(biāo)識(shí)與該擴(kuò)展標(biāo)識(shí)位對(duì)應(yīng)的域的不同壓縮狀態(tài)。本發(fā)明一個(gè)更為具體的實(shí)施例中,針對(duì)上述各擴(kuò)展標(biāo)識(shí)位分別所指示的壓縮狀態(tài),對(duì)各擴(kuò)展標(biāo)識(shí)位可以進(jìn)行如下定義Hl = 0用于指示TCP報(bào)頭的源端口域未被壓縮、Hl = 1用于指示TCP報(bào)頭的源端口域被壓縮,進(jìn)一步可以定義該源端口域被壓縮的位數(shù),例如,被壓縮為4比特位;
H2 = 0用于指示TCP報(bào)頭的目的端口域未被壓縮、H2 = 1用于指示TCP報(bào)頭的目的端口域被壓縮,進(jìn)一步可以定義該目的端口域被壓縮的位數(shù),例如,被壓縮為4比特位;H3 = 0用于指示TCP報(bào)頭的報(bào)文序列號(hào)域未被壓縮、H3 = 1用于指示TCP報(bào)頭的報(bào)文序列號(hào)域被壓縮,進(jìn)一步可以定義該報(bào)文序列號(hào)域被壓縮的位數(shù),例如,被壓縮為4比特位;H4 = 0用于指示TCP報(bào)頭的確認(rèn)序列號(hào)域未被壓縮、H4 = 1用于指示TCP報(bào)頭的確認(rèn)序列號(hào)域被壓縮,進(jìn)一步可以定義該確認(rèn)序列號(hào)域被壓縮的位數(shù),例如,被壓縮為4比特位;H5 = 0用于指示TCP報(bào)頭的首部長(zhǎng)度域未被壓縮、H5 = 1用于指示TCP報(bào)頭中的首部長(zhǎng)度域被壓縮,進(jìn)一步可以定義該首部長(zhǎng)度域被壓縮的位數(shù),例如,被壓縮為2比特位;H6 = 0用于指示TCP報(bào)頭的窗口大小域未被壓縮、H6 = 1用于指示TCP報(bào)頭的窗口大小域被壓縮,進(jìn)一步可以定義該窗口大小域被壓縮的位數(shù),例如,被壓縮為8比特位。應(yīng)當(dāng)理解,該實(shí)施例中針對(duì)Hl H6的賦值以及各賦值代表的具體狀態(tài)僅為實(shí)施本發(fā)明實(shí)施例的一種具體實(shí)施方式
,該擴(kuò)展標(biāo)識(shí)頭中各擴(kuò)展標(biāo)識(shí)位的賦值以及各賦值代表的具體狀態(tài)可以根據(jù)實(shí)際需要靈活定義,此處不再贅述。根據(jù)以上實(shí)施例,若TCP報(bào)頭的擴(kuò)展標(biāo)識(shí)頭為11111100,根據(jù)該擴(kuò)展標(biāo)識(shí)頭,TCP 報(bào)頭將被壓縮為4個(gè)字節(jié),具體如圖4所示,為擴(kuò)展標(biāo)識(shí)頭的編碼是11111100時(shí)對(duì)應(yīng)的壓縮后的TCP報(bào)頭,其中,源端口域和目的端口域?qū)?yīng)的擴(kuò)展標(biāo)識(shí)位為1,該兩個(gè)域均被壓縮為4比特;報(bào)文序列號(hào)域和確認(rèn)序列號(hào)域?qū)?yīng)的擴(kuò)展標(biāo)識(shí)位為1,該兩個(gè)域均被壓縮為4比特;首部長(zhǎng)度域?qū)?yīng)的擴(kuò)展標(biāo)識(shí)位為1,該域被壓縮為2比特,F(xiàn)lag(控制域)仍然為6bit,; 窗口大小域?qū)?yīng)的擴(kuò)展標(biāo)識(shí)位為1,該域被壓縮為8bit?;谏鲜鯰CP報(bào)頭的擴(kuò)展格式,本發(fā)明實(shí)施例提供了一種TCP報(bào)文的發(fā)送方法,如圖5所示,該方法包括如下步驟步驟501、確定待發(fā)送TCP報(bào)文的TCP報(bào)頭的壓縮狀態(tài);步驟502、根據(jù)確定的該TCP報(bào)頭的壓縮狀態(tài),對(duì)TCP報(bào)頭中預(yù)留出的前設(shè)定比特位的用于指示TCP報(bào)頭的壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)頭賦值;步驟503、在根據(jù)確定的壓縮狀態(tài)對(duì)該包括賦值后的擴(kuò)展標(biāo)識(shí)頭的TCP報(bào)頭壓縮后,發(fā)送該TCP報(bào)文。上述實(shí)施例中,通過(guò)TCP報(bào)頭中的擴(kuò)展標(biāo)識(shí)頭指示TCP報(bào)頭的壓縮狀態(tài),對(duì)于TCP 報(bào)文的發(fā)送端而言,無(wú)需依據(jù)TCP會(huì)話的狀態(tài)以確定對(duì)TCP報(bào)頭的壓縮方式,因此,無(wú)需維護(hù)TCP的會(huì)話狀態(tài)。圖5所示流程的步驟501中,確定待發(fā)送TCP報(bào)文的TCP報(bào)頭的壓縮狀態(tài)時(shí),可以根據(jù)具體的網(wǎng)絡(luò)環(huán)境確定對(duì)TCP報(bào)頭的各個(gè)域是否壓縮,例如,在低功耗網(wǎng)絡(luò)內(nèi)部各網(wǎng)絡(luò)節(jié)點(diǎn)之間通信時(shí),由于對(duì)端的網(wǎng)絡(luò)節(jié)點(diǎn)都支持該壓縮方法,因此TCP報(bào)文發(fā)送端可以把TCP 報(bào)頭的擴(kuò)展標(biāo)識(shí)頭中的各擴(kuò)展標(biāo)識(shí)位都置為1 (如將Hl H6均置為1),這樣,相關(guān)比特位都會(huì)被壓縮。接收端接收到該經(jīng)過(guò)壓縮處理的TCP報(bào)頭后,根據(jù)各擴(kuò)展標(biāo)識(shí)位的值,判斷出相關(guān)比特位都已經(jīng)進(jìn)行壓縮,則按照壓縮的方式讀取TCP報(bào)頭,獲取相關(guān)信息;在低功耗網(wǎng)絡(luò)中的某一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)和某網(wǎng)關(guān)通信時(shí),由于網(wǎng)關(guān)上需要的端口號(hào)較多,目的端口不能被壓縮,因此可以置目的端口號(hào)域?qū)?yīng)的擴(kuò)展標(biāo)識(shí)位的值為用于指示未壓縮的值(例如,根據(jù)上述實(shí)施例,可以置H2 = 0),而其他比特位置為1,這樣,TCP報(bào)文的接收端就可以根據(jù)該目標(biāo)端口域?qū)?yīng)的擴(kuò)展標(biāo)識(shí)位的值,確定目標(biāo)端口域未被壓縮,從而從該未壓縮字段中得到端口號(hào)的信息,進(jìn)行TCP通信。具體地,上述步驟502中,根據(jù)確定的TCP報(bào)頭的壓縮狀態(tài),對(duì)TCP報(bào)頭中預(yù)留出的前設(shè)定比特位的用于指示TCP報(bào)頭的壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)頭賦值時(shí),可參照上述實(shí)施例中對(duì)擴(kuò)展TCP報(bào)頭的定義,具體依據(jù)對(duì)擴(kuò)展標(biāo)識(shí)頭中各擴(kuò)展標(biāo)識(shí)位所定義的與該擴(kuò)展標(biāo)識(shí)位對(duì)應(yīng)的域,以及該擴(kuò)展標(biāo)識(shí)位的不同值與對(duì)應(yīng)域的不同狀態(tài)之間的對(duì)應(yīng)關(guān)系,例如,上述針對(duì)擴(kuò)展標(biāo)識(shí)頭的具體實(shí)施例中,定義Hl用于指示TCP報(bào)頭中源端口域的壓縮狀態(tài),并且,Hl = 0用于指示TCP報(bào)頭的源端口域未被壓縮、Hl = 1用于指示TCP報(bào)頭的源端口域被壓縮為4比特位;根據(jù)上述定義,若步驟501確定源端口域不被壓縮,則步驟502中置Hl = 0,若步驟501確定源端口域被壓縮,則步驟502中置Hl = 1。步驟502的具體賦值過(guò)程與上述過(guò)程基本一致,此處不再贅述?;谏鲜鯰CP報(bào)頭的擴(kuò)展格式,本發(fā)明實(shí)施例提供了一種TCP報(bào)文的接收方法,如圖6所示,該方法包括如下步驟步驟601、接收TCP報(bào)文;步驟602、獲取該TCP報(bào)文的TCP報(bào)頭中前設(shè)定比特位的用于指示TCP報(bào)頭的壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)頭信息;步驟603、根據(jù)獲取的擴(kuò)展標(biāo)識(shí)頭信息確定該TCP報(bào)頭的壓縮狀態(tài);步驟604、根據(jù)確定的所述壓縮狀態(tài)對(duì)所述TCP報(bào)頭進(jìn)行解壓縮處理。上述實(shí)施例中,通過(guò)TCP報(bào)頭中的擴(kuò)展標(biāo)識(shí)頭指示TCP報(bào)頭的壓縮狀態(tài),對(duì)于TCP 報(bào)文的接收端而言,根據(jù)接收的TCP報(bào)文的TCP報(bào)頭中包括的擴(kuò)展標(biāo)識(shí)頭確定對(duì)TCP報(bào)頭的解壓縮方式,無(wú)需依據(jù)TCP會(huì)話的狀態(tài)以確定對(duì)TCP報(bào)頭的解壓縮方式,因此,無(wú)需維護(hù) TCP的會(huì)話狀態(tài)。圖6所示流程的步驟603中,根據(jù)擴(kuò)展標(biāo)識(shí)頭信息確定TCP報(bào)頭的壓縮狀態(tài)的過(guò)程,如圖7所示,具體包括如下步驟步驟701、根據(jù)擴(kuò)展標(biāo)識(shí)頭信息,確定該擴(kuò)展標(biāo)識(shí)頭中包括的設(shè)定個(gè)分別占用1比特的擴(kuò)展標(biāo)識(shí)位的值;步驟702、分別根據(jù)各擴(kuò)展標(biāo)識(shí)位的值,確定各擴(kuò)展標(biāo)識(shí)對(duì)應(yīng)的域的壓縮狀態(tài)。基于上述實(shí)施例針對(duì)各擴(kuò)展標(biāo)識(shí)位以及各擴(kuò)展標(biāo)識(shí)位的值的定義,上述步驟701 中,即根據(jù)擴(kuò)展標(biāo)識(shí)頭信息,確定該擴(kuò)展標(biāo)識(shí)頭中包括的設(shè)定個(gè)分別占用1比特的擴(kuò)展標(biāo)識(shí)位的值,具體包括根據(jù)該擴(kuò)展標(biāo)識(shí)頭信息,確定該擴(kuò)展標(biāo)識(shí)頭信息包括的用于指示TCP報(bào)頭中源端口域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位Hl的值、用于指示TCP報(bào)頭中目的端口域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H2的值、用于指示TCP報(bào)頭中報(bào)文序列號(hào)域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H3的值、用于指示 TCP報(bào)頭中確認(rèn)序列號(hào)域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H4的值、用于指示TCP報(bào)頭中首部長(zhǎng)度域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H5的值、以及用于指示TCP報(bào)頭中窗口大小域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H6的值中的一個(gè)或多個(gè)。
基于上述實(shí)施例針對(duì)各擴(kuò)展標(biāo)識(shí)位以及各擴(kuò)展標(biāo)識(shí)位的值的定義,上述步驟702 中,即根據(jù)各擴(kuò)展標(biāo)識(shí)位的值,確定各擴(kuò)展標(biāo)識(shí)對(duì)應(yīng)的域的壓縮狀態(tài),具體包括在Hl為0時(shí),確定TCP報(bào)頭中的源端口域未被壓縮、在Hl為1時(shí),確定TCP報(bào)頭中的源端口域被壓縮,例如,被壓縮為4比特位(具體根據(jù)對(duì)該報(bào)文壓縮時(shí)定義的壓縮位數(shù)確定);在H2為0時(shí),確定TCP報(bào)頭中的目的端口域未被壓縮、在H2為1時(shí),確定TCP報(bào)頭中的目的端口域被壓縮,例如,被壓縮為4比特位(具體根據(jù)對(duì)該報(bào)文壓縮時(shí)定義的壓縮位數(shù)確定);在H3為0時(shí),確定TCP報(bào)頭中的報(bào)文序列號(hào)域未被壓縮、在H3為1時(shí),確定TCP 報(bào)頭中的報(bào)文序列號(hào)域被壓縮,例如,被壓縮為4比特位(具體根據(jù)對(duì)該報(bào)文壓縮時(shí)定義的壓縮位數(shù)確定);在H4為0時(shí),確定TCP報(bào)頭中的確認(rèn)序列號(hào)域未被壓縮、在H4為1時(shí),確定TCP 報(bào)頭中的確認(rèn)序列號(hào)域被壓縮,例如,被壓縮為4比特位(具體根據(jù)對(duì)該報(bào)文壓縮時(shí)定義的壓縮位數(shù)確定);在H5為0時(shí),確定TCP報(bào)頭中的首部長(zhǎng)度域未被壓縮、在H5為1時(shí),確定TCP報(bào)頭中的首部長(zhǎng)度域被壓縮,例如,被壓縮為2比特位(具體根據(jù)對(duì)該報(bào)文壓縮時(shí)定義的壓縮位數(shù)確定);在H6為0時(shí),確定TCP報(bào)頭中的窗口大小域未被壓縮、在H6為1時(shí),確定TCP報(bào)頭中的窗口大小域被壓縮,例如,被壓縮為8比特位(具體根據(jù)對(duì)該報(bào)文壓縮時(shí)定義的壓縮位數(shù)確定)。以上述實(shí)施例針對(duì)各擴(kuò)展標(biāo)識(shí)位的定義為例,TCP報(bào)文的接收端根據(jù)擴(kuò)展標(biāo)識(shí)頭信息確定TCP報(bào)頭的壓縮狀態(tài)時(shí),首先分析TCP報(bào)頭的擴(kuò)展標(biāo)識(shí)頭中的8個(gè)擴(kuò)展標(biāo)識(shí)位,如果Hi為1,則表示相應(yīng)的域被壓縮,否則表示TCP報(bào)頭中相應(yīng)的域未被壓縮。具體如圖8所示,包括如下步驟步驟801、獲取擴(kuò)展標(biāo)識(shí)頭中的擴(kuò)展標(biāo)識(shí)位的值Hi ;步驟802、判斷Hi = 0是否成立,若是,執(zhí)行步驟803,若否,執(zhí)行步驟804 ;步驟803、確定該擴(kuò)展標(biāo)識(shí)位對(duì)應(yīng)的域未被壓縮,則直接讀取對(duì)應(yīng)域的信息,至此, 流程結(jié)束;步驟804、確定該擴(kuò)展標(biāo)識(shí)位對(duì)應(yīng)的域被壓縮,則進(jìn)行解壓縮處理獲取對(duì)應(yīng)域的信息,至此,流程結(jié)束。上述流程中,步驟801中的i取值分別1、2......n,其中,η為擴(kuò)展標(biāo)識(shí)頭中包括
的擴(kuò)展標(biāo)識(shí)位。相應(yīng)地,與上述方法流程對(duì)應(yīng),本發(fā)明實(shí)施例還提供了一種TCP報(bào)文的發(fā)送裝置, 如圖9所示,該發(fā)送裝置包括狀態(tài)確定單元901、擴(kuò)展標(biāo)識(shí)頭賦值單元902以及報(bào)頭處理單元903 ;其中狀態(tài)確定單元901,用于確定待發(fā)送TCP報(bào)文的TCP報(bào)頭的壓縮狀態(tài);擴(kuò)展標(biāo)識(shí)頭賦值單元902,用于根據(jù)所述狀態(tài)確定單元確定的TCP報(bào)頭的壓縮狀態(tài),對(duì)所述TCP報(bào)頭中預(yù)留出的設(shè)定比特位的用于指示所述TCP報(bào)頭的壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)頭賦值;報(bào)頭處理單元903,用于在根據(jù)所述狀態(tài)確定單元確定的所述壓縮狀態(tài)對(duì)包括賦值后擴(kuò)展標(biāo)識(shí)頭的所述TCP報(bào)頭壓縮后,發(fā)送所述TCP報(bào)文。本發(fā)明優(yōu)選實(shí)施例中,圖9所述的擴(kuò)展標(biāo)識(shí)頭賦值單元902,具體用于對(duì)所述TCP報(bào)頭中預(yù)留出的設(shè)定個(gè)分別占用1比特的擴(kuò)展標(biāo)識(shí)位賦值;其中,所述擴(kuò)展標(biāo)識(shí)位與所述TCP報(bào)頭中的域一一對(duì)應(yīng),并且所述擴(kuò)展標(biāo)識(shí)位用于通過(guò)不同的值標(biāo)識(shí)與其對(duì)應(yīng)的域的不同壓縮狀態(tài)。本發(fā)明優(yōu)選實(shí)施例中,圖9所示的擴(kuò)展標(biāo)識(shí)頭賦值單元902,具體用于對(duì)所述TCP 報(bào)頭中預(yù)留出的如下擴(kuò)展標(biāo)識(shí)位中的一個(gè)或多個(gè)賦值用于指示TCP報(bào)頭中源端口域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位Hl ;用于指示TCP報(bào)頭中目的端口域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H2 ;用于指示TCP報(bào)頭中報(bào)文序列號(hào)域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H3 ;用于指示TCP報(bào)頭中確認(rèn)序列號(hào)域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H4 ;用于指示TCP報(bào)頭中首部長(zhǎng)度域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H5 ;用于指示TCP報(bào)頭中窗口大小域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H6 ;預(yù)留擴(kuò)展標(biāo)識(shí)位H7 ;預(yù)留擴(kuò)展標(biāo)識(shí)位H8。本發(fā)明優(yōu)選實(shí)施例中,圖9所示的擴(kuò)展標(biāo)識(shí)頭賦值單元902,具體用于在所述TCP報(bào)頭中的源端口域的壓縮狀態(tài)為未被壓縮時(shí),所述Hl賦值為0 ;在所述TCP報(bào)頭中的源端口域的壓縮狀態(tài)為被壓縮時(shí),所述Hl賦值為1 ;在所述TCP報(bào)頭中的目的端口域的壓縮狀態(tài)為未被壓縮時(shí),所述H2賦值為0 ;在所述TCP報(bào)頭中的目的端口域的壓縮狀態(tài)為被壓縮時(shí),所述H2賦值為1 ;在所述TCP報(bào)頭中的報(bào)文序列號(hào)域的壓縮狀態(tài)為未被壓縮時(shí),所述H3賦值為0 時(shí);在所述TCP報(bào)頭中的報(bào)文序列號(hào)域的壓縮狀態(tài)為被壓縮時(shí),所述H3賦值為1 ;在所述TCP報(bào)頭中的確認(rèn)序列號(hào)域的壓縮狀態(tài)為未被壓縮時(shí),所述H4賦值為0 ; 在所述TCP報(bào)頭中的確認(rèn)序列號(hào)域的壓縮狀態(tài)為被壓縮時(shí),所述H4賦值為1 ;在所述TCP報(bào)頭中的首部長(zhǎng)度域的壓縮狀態(tài)為未被壓縮時(shí),所述H5賦值為0 ;在所述TCP報(bào)頭中的首部長(zhǎng)度域的壓縮狀態(tài)為被壓縮時(shí),所述H5賦值為1 ;在所述TCP報(bào)頭中的窗口大小域的壓縮狀態(tài)為未被壓縮時(shí),所述H6賦值為0 ;在所述TCP報(bào)頭中的窗口大小域的壓縮狀態(tài)為被壓縮時(shí),所述H6賦值為1。本發(fā)明優(yōu)選實(shí)施例中,圖9所示的報(bào)頭處理單元903,還用于在根據(jù)所述狀態(tài)確定單元確定的所述壓縮狀態(tài)對(duì)包括賦值后擴(kuò)展標(biāo)識(shí)頭的所述 TCP報(bào)頭壓縮之前,丟棄所述TCP報(bào)頭中的設(shè)定域?qū)?yīng)的比特位。本發(fā)明優(yōu)選實(shí)施例中,圖9所示的報(bào)頭處理單元903,具體用于在根據(jù)所述狀態(tài)確定單元確定的所述壓縮狀態(tài)對(duì)包括賦值后擴(kuò)展標(biāo)識(shí)頭的所述 TCP報(bào)頭壓縮之前,丟棄所述TCP報(bào)頭中的保留比特位域、緊急指針域、選項(xiàng)域、校驗(yàn)和域中的至少一個(gè)域?qū)?yīng)的比特位。上述發(fā)送裝置可以應(yīng)用于低功耗傳感器網(wǎng)絡(luò)中。應(yīng)當(dāng)理解,以上發(fā)送裝置包括的單元僅為根據(jù)該裝置實(shí)現(xiàn)的功能進(jìn)行的邏輯劃分,實(shí)際應(yīng)用中,可以進(jìn)行上述單元的疊加或拆分。并且該實(shí)施例提供的TCP報(bào)文的發(fā)送裝置所實(shí)現(xiàn)的功能與上述實(shí)施例提供的TCP報(bào)文的發(fā)送方法流程一一對(duì)應(yīng),對(duì)于該裝置所實(shí)現(xiàn)的更為詳細(xì)的處理流程,在上述方法實(shí)施例中已做詳細(xì)描述,此處不再詳細(xì)描述。相應(yīng)地,與上述方法流程對(duì)應(yīng),本發(fā)明實(shí)施例還提供了一種TCP報(bào)文的接收裝置, 如圖10所示,該接收裝置包括接收單元1001、獲取單元1002、壓縮狀態(tài)確定單元1003以及解壓縮單元1004 ;其中接收單元1001,用于接收TCP報(bào)文;獲取單元1002,用于獲取接收單元1001接收的TCP報(bào)文的TCP報(bào)頭中設(shè)定比特位的用于指示所述TCP報(bào)頭的壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)頭信息;壓縮狀態(tài)確定單元1003,用于根據(jù)獲取單元1002獲取的擴(kuò)展標(biāo)識(shí)頭信息確定所述TCP報(bào)頭的壓縮狀態(tài);解壓縮單元1004,用于根據(jù)壓縮狀態(tài)確定單元1003確定的所述壓縮狀態(tài)對(duì)所述 TCP報(bào)頭進(jìn)行解壓縮處理。如圖11所示,本發(fā)明優(yōu)選實(shí)施例中,圖10所示的壓縮狀態(tài)確定單元1003,包括擴(kuò)展標(biāo)識(shí)位值確定模塊1003A,用于根據(jù)所述擴(kuò)展標(biāo)識(shí)頭信息,確定所述擴(kuò)展標(biāo)識(shí)頭中包括的設(shè)定個(gè)分別占用1比特的擴(kuò)展標(biāo)識(shí)位的值;壓縮狀態(tài)確定模塊1003B,用于分別根據(jù)所述擴(kuò)展標(biāo)識(shí)位值確定模塊確定的擴(kuò)展標(biāo)識(shí)位的值,確定所述擴(kuò)展標(biāo)識(shí)對(duì)應(yīng)的域的壓縮狀態(tài)。本發(fā)明優(yōu)選實(shí)施例中,圖11所示的擴(kuò)展標(biāo)識(shí)位值確定模塊1003A,具體用于根據(jù)所述擴(kuò)展標(biāo)識(shí)頭信息,確定所述擴(kuò)展標(biāo)識(shí)位信息中包括的用于指示TCP報(bào)頭中源端口域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位Hl的值、用于指示TCP報(bào)頭中目的端口域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H2的值、用于指示TCP報(bào)頭中報(bào)文序列號(hào)域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H3的值、用于指示TCP報(bào)頭中確認(rèn)序列號(hào)域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H4的值、用于指示TCP報(bào)頭中首部長(zhǎng)度域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H5的值、以及用于指示TCP報(bào)頭中窗口大小域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H6的值中的一個(gè)或多個(gè)。本發(fā)明優(yōu)選實(shí)施例中,圖11所示的壓縮狀態(tài)確定模塊1003B,具體用于在所述Hl為0時(shí),確定所述TCP報(bào)頭中的源端口域未被壓縮、在所述Hl為1時(shí), 確定所述TCP報(bào)頭中的源端口域被壓縮;在所述H2為0時(shí),確定所述TCP報(bào)頭中的目的端口域未被壓縮、在所述H2為1時(shí), 確定所述TCP報(bào)頭中的目的端口域被壓縮;在所述H3為0時(shí),確定所述TCP報(bào)頭中的報(bào)文序列號(hào)域未被壓縮、在所述H3為1 時(shí),確定所述TCP報(bào)頭中的報(bào)文序列號(hào)域被壓縮;在所述H4為0時(shí),確定所述TCP報(bào)頭中的確認(rèn)序列號(hào)域未被壓縮、在所述H4為1 時(shí),確定所述TCP報(bào)頭中的確認(rèn)序列號(hào)域被壓縮;在所述H5為0時(shí),確定所述TCP報(bào)頭中的首部長(zhǎng)度域未被壓縮、在所述H5為1時(shí), 確定所述TCP報(bào)頭中的首部長(zhǎng)度域被壓縮;在所述H6為0時(shí),確定所述TCP報(bào)頭中的窗口大小域未被壓縮、在所述H6為1時(shí), 確定所述TCP報(bào)頭中的窗口大小域被壓縮。
上述接收裝置可以應(yīng)用于低功耗傳感器網(wǎng)絡(luò)中。應(yīng)當(dāng)理解,以上接收裝置包括的單元僅為根據(jù)該裝置實(shí)現(xiàn)的功能進(jìn)行的邏輯劃分,實(shí)際應(yīng)用中,可以進(jìn)行上述單元的疊加或拆分。并且該實(shí)施例提供的TCP報(bào)文的接收裝置所實(shí)現(xiàn)的功能與上述實(shí)施例提供的TCP報(bào)文的接收方法流程一一對(duì)應(yīng),對(duì)于該裝置所實(shí)現(xiàn)的更為詳細(xì)的處理流程,在上述方法實(shí)施例中已做詳細(xì)描述,此處不再詳細(xì)描述。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種TCP報(bào)文的發(fā)送方法,其特征在于,包括 確定待發(fā)送TCP報(bào)文的TCP報(bào)頭的壓縮狀態(tài);根據(jù)所述TCP報(bào)頭的壓縮狀態(tài),對(duì)所述TCP報(bào)頭中預(yù)留出的設(shè)定比特位的用于指示所述TCP報(bào)頭的壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)頭賦值;在根據(jù)確定的所述壓縮狀態(tài)對(duì)包括賦值后的擴(kuò)展標(biāo)識(shí)頭的所述TCP報(bào)頭壓縮后,發(fā)送所述TCP報(bào)文。
2.如權(quán)利要求1所述的方法,其特征在于,所述TCP報(bào)頭中預(yù)留出的設(shè)定比特位的擴(kuò)展標(biāo)識(shí)頭,包括設(shè)定個(gè)分別占用1比特的擴(kuò)展標(biāo)識(shí)位;其中,所述擴(kuò)展標(biāo)識(shí)位與所述TCP報(bào)頭中的域一一對(duì)應(yīng),并且所述擴(kuò)展標(biāo)識(shí)位用于通過(guò)不同的值標(biāo)識(shí)與其對(duì)應(yīng)的域的不同壓縮狀態(tài)。
3.如權(quán)利要求2所述的方法,其特征在于,所述擴(kuò)展標(biāo)識(shí)位具體包括如下中的一個(gè)或多個(gè)用于指示TCP報(bào)頭中源端口域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位Hl ; 用于指示TCP報(bào)頭中目的端口域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H2 ; 用于指示TCP報(bào)頭中報(bào)文序列號(hào)域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H3 ; 用于指示TCP報(bào)頭中確認(rèn)序列號(hào)域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H4 ; 用于指示TCP報(bào)頭中首部長(zhǎng)度域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H5 ; 用于指示TCP報(bào)頭中窗口大小域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H6 ; 預(yù)留擴(kuò)展標(biāo)識(shí)位H7 ; 預(yù)留擴(kuò)展標(biāo)識(shí)位H8。
4.如權(quán)利要求3所述的方法,其特征在于,所述擴(kuò)展標(biāo)識(shí)位用于通過(guò)不同的值標(biāo)識(shí)與其對(duì)應(yīng)的域的不同壓縮狀態(tài),具體包括所述Hl為0時(shí),用于指示所述TCP報(bào)頭中的源端口域未被壓縮、所述Hl為1時(shí),用于指示所述TCP報(bào)頭中的源端口域被壓縮;所述H2為0時(shí),用于指示所述TCP報(bào)頭中的目的端口域未被壓縮、所述H2為1時(shí),用于指示所述TCP報(bào)頭中的目的端口域被壓縮;所述H3為0時(shí),用于指示所述TCP報(bào)頭中的報(bào)文序列號(hào)域未被壓縮、所述H3為1時(shí), 用于指示所述TCP報(bào)頭中的報(bào)文序列號(hào)域被壓縮;所述H4為0時(shí),用于指示所述TCP報(bào)頭中的確認(rèn)序列號(hào)域未被壓縮、所述H4為1時(shí), 用于指示所述TCP報(bào)頭中的確認(rèn)序列號(hào)域被壓縮;所述H5為0時(shí),用于指示所述TCP報(bào)頭中的首部長(zhǎng)度域未被壓縮、所述H5為1時(shí),用于指示所述TCP報(bào)頭中的首部長(zhǎng)度域被壓縮;所述H6為0時(shí),用于指示所述TCP報(bào)頭中的窗口大小域未被壓縮、所述H6為1時(shí),用于指示所述TCP報(bào)頭中的窗口大小域被壓縮。
5.如權(quán)利要求1所述的方法,其特征在于,在根據(jù)確定的所述壓縮狀態(tài)對(duì)包括賦值后的擴(kuò)展標(biāo)識(shí)頭的所述TCP報(bào)頭壓縮之前,還包括丟棄所述TCP報(bào)頭中的設(shè)定域?qū)?yīng)的比特位。
6.如權(quán)利要求5所述的方法,其特征在于,所述設(shè)定域包括保留比特位域、緊急指針域、選項(xiàng)域、校驗(yàn)和域中的至少一個(gè)域。
7.—種TCP報(bào)文的接收方法,其特征在于,包括 接收TCP報(bào)文;獲取所述TCP報(bào)文的TCP報(bào)頭中設(shè)定比特位的用于指示所述TCP報(bào)頭的壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)頭信息;根據(jù)所述擴(kuò)展標(biāo)識(shí)頭信息確定所述TCP報(bào)頭的壓縮狀態(tài); 根據(jù)確定的所述壓縮狀態(tài)對(duì)所述TCP報(bào)頭進(jìn)行解壓縮處理。
8.如權(quán)利要求7所述的方法,其特征在于,根據(jù)所述擴(kuò)展標(biāo)識(shí)頭信息確定所述TCP報(bào)頭的壓縮狀態(tài),包括根據(jù)所述擴(kuò)展標(biāo)識(shí)頭信息,確定所述擴(kuò)展標(biāo)識(shí)頭中包括的設(shè)定個(gè)分別占用1比特的擴(kuò)展標(biāo)識(shí)位的值;分別根據(jù)所述擴(kuò)展標(biāo)識(shí)位的值,確定所述擴(kuò)展標(biāo)識(shí)對(duì)應(yīng)的域的壓縮狀態(tài)。
9.如權(quán)利要求8所述的方法,其特征在于,根據(jù)所述擴(kuò)展標(biāo)識(shí)頭信息,確定所述擴(kuò)展標(biāo)識(shí)頭中包括的設(shè)定個(gè)分別占用1比特的擴(kuò)展標(biāo)識(shí)位的值,具體包括根據(jù)所述擴(kuò)展標(biāo)識(shí)頭信息,確定所述擴(kuò)展標(biāo)識(shí)位信息中包括的用于指示TCP報(bào)頭中源端口域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位Hl的值、用于指示TCP報(bào)頭中目的端口域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H2的值、用于指示TCP報(bào)頭中報(bào)文序列號(hào)域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H3的值、用于指示 TCP報(bào)頭中確認(rèn)序列號(hào)域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H4的值、用于指示TCP報(bào)頭中首部長(zhǎng)度域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H5的值、以及用于指示TCP報(bào)頭中窗口大小域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H6的值中的一個(gè)或多個(gè)。
10.如權(quán)利要求9所述的方法,其特征在于,分別根據(jù)所述擴(kuò)展標(biāo)識(shí)位的值,確定所述擴(kuò)展標(biāo)識(shí)對(duì)應(yīng)的域的壓縮狀態(tài),具體包括在所述Hl為0時(shí),確定所述TCP報(bào)頭中的源端口域未被壓縮、在所述Hl為1時(shí),確定所述TCP報(bào)頭中的源端口域被壓縮;在所述H2為0時(shí),確定所述TCP報(bào)頭中的目的端口域未被壓縮、在所述H2為1時(shí),確定所述TCP報(bào)頭中的目的端口域被壓縮;在所述H3為0時(shí),確定所述TCP報(bào)頭中的報(bào)文序列號(hào)域未被壓縮、在所述H3為1時(shí), 確定所述TCP報(bào)頭中的報(bào)文序列號(hào)域被壓縮;在所述H4為0時(shí),確定所述TCP報(bào)頭中的確認(rèn)序列號(hào)域未被壓縮、在所述H4為1時(shí), 確定所述TCP報(bào)頭中的確認(rèn)序列號(hào)域被壓縮;在所述H5為0時(shí),確定所述TCP報(bào)頭中的首部長(zhǎng)度域未被壓縮、在所述H5為1時(shí),確定所述TCP報(bào)頭中的首部長(zhǎng)度域被壓縮;在所述H6為0時(shí),確定所述TCP報(bào)頭中的窗口大小域未被壓縮、在所述H6為1時(shí),確定所述TCP報(bào)頭中的窗口大小域被壓縮。
11.一種TCP報(bào)文的發(fā)送裝置,其特征在于,包括狀態(tài)確定單元,用于確定待發(fā)送TCP報(bào)文的TCP報(bào)頭的壓縮狀態(tài); 擴(kuò)展標(biāo)識(shí)頭賦值單元,用于根據(jù)所述狀態(tài)確定單元確定的TCP報(bào)頭的壓縮狀態(tài),對(duì)所述TCP報(bào)頭中預(yù)留出的設(shè)定比特位的用于指示所述TCP報(bào)頭的壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)頭賦報(bào)頭處理單元,用于在根據(jù)所述狀態(tài)確定單元確定的所述壓縮狀態(tài)對(duì)包括賦值后擴(kuò)展標(biāo)識(shí)頭的所述TCP報(bào)頭壓縮后,發(fā)送所述TCP報(bào)文。
12.如權(quán)利要求11所述的裝置,其特征在于,所述擴(kuò)展標(biāo)識(shí)頭賦值單元,具體用于 對(duì)所述TCP報(bào)頭中預(yù)留出的設(shè)定個(gè)分別占用1比特的擴(kuò)展標(biāo)識(shí)位賦值;其中,所述擴(kuò)展標(biāo)識(shí)位與所述TCP報(bào)頭中的域一一對(duì)應(yīng),并且所述擴(kuò)展標(biāo)識(shí)位用于通過(guò)不同的值標(biāo)識(shí)與其對(duì)應(yīng)的域的不同壓縮狀態(tài)。
13.如權(quán)利要求12所述的裝置,其特征在于,所述擴(kuò)展標(biāo)識(shí)頭賦值單元,具體用于對(duì)所述TCP報(bào)頭中預(yù)留出的如下擴(kuò)展標(biāo)識(shí)位中的一個(gè)或多個(gè)賦值用于指示TCP報(bào)頭中源端口域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位Hl ; 用于指示TCP報(bào)頭中目的端口域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H2 ; 用于指示TCP報(bào)頭中報(bào)文序列號(hào)域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H3 ; 用于指示TCP報(bào)頭中確認(rèn)序列號(hào)域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H4 ; 用于指示TCP報(bào)頭中首部長(zhǎng)度域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H5 ; 用于指示TCP報(bào)頭中窗口大小域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H6 ; 預(yù)留擴(kuò)展標(biāo)識(shí)位H7 ; 預(yù)留擴(kuò)展標(biāo)識(shí)位H8。
14.如權(quán)利要求13所述的裝置,其特征在于,所述擴(kuò)展標(biāo)識(shí)頭賦值單元,具體用于 在所述TCP報(bào)頭中的源端口域的壓縮狀態(tài)為未被壓縮時(shí),所述Hl賦值為0 ;在所述TCP報(bào)頭中的源端口域的壓縮狀態(tài)為被壓縮時(shí),所述Hl賦值為1 ;在所述TCP報(bào)頭中的目的端口域的壓縮狀態(tài)為未被壓縮時(shí),所述H2賦值為0 ;在所述 TCP報(bào)頭中的目的端口域的壓縮狀態(tài)為被壓縮時(shí),所述H2賦值為1 ;在所述TCP報(bào)頭中的報(bào)文序列號(hào)域的壓縮狀態(tài)為未被壓縮時(shí),所述H3賦值為0時(shí);在所述TCP報(bào)頭中的報(bào)文序列號(hào)域的壓縮狀態(tài)為被壓縮時(shí),所述H3賦值為1 ;在所述TCP報(bào)頭中的確認(rèn)序列號(hào)域的壓縮狀態(tài)為未被壓縮時(shí),所述H4賦值為0 ;在所述TCP報(bào)頭中的確認(rèn)序列號(hào)域的壓縮狀態(tài)為被壓縮時(shí),所述H4賦值為1 ;在所述TCP報(bào)頭中的首部長(zhǎng)度域的壓縮狀態(tài)為未被壓縮時(shí),所述H5賦值為0 ;在所述 TCP報(bào)頭中的首部長(zhǎng)度域的壓縮狀態(tài)為被壓縮時(shí),所述H5賦值為1 ;在所述TCP報(bào)頭中的窗口大小域的壓縮狀態(tài)為未被壓縮時(shí),所述H6賦值為0 ;在所述 TCP報(bào)頭中的窗口大小域的壓縮狀態(tài)為被壓縮時(shí),所述H6賦值為1。
15.如權(quán)利要求11所述的裝置,其特征在于,所述報(bào)頭處理單元,還用于在根據(jù)所述狀態(tài)確定單元確定的所述壓縮狀態(tài)對(duì)包括賦值后擴(kuò)展標(biāo)識(shí)頭的所述TCP 報(bào)頭壓縮之前,丟棄所述TCP報(bào)頭中的設(shè)定域?qū)?yīng)的比特位。
16.如權(quán)利要求15所述的裝置,其特征在于,所述報(bào)頭處理單元,具體用于在根據(jù)所述狀態(tài)確定單元確定的所述壓縮狀態(tài)對(duì)包括賦值后擴(kuò)展標(biāo)識(shí)頭的所述TCP 報(bào)頭壓縮之前,丟棄所述TCP報(bào)頭中的保留比特位域、緊急指針域、選項(xiàng)域、校驗(yàn)和域中的至少一個(gè)域?qū)?yīng)的比特位。
17.—種TCP報(bào)文的接收裝置,其特征在于,包括 接收單元,用于接收TCP報(bào)文;獲取單元,用于獲取所述接收單元接收的TCP報(bào)文的TCP報(bào)頭中設(shè)定比特位的用于指示所述TCP報(bào)頭的壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)頭信息;壓縮狀態(tài)確定單元,用于根據(jù)所述獲取單元獲取的擴(kuò)展標(biāo)識(shí)頭信息確定所述TCP報(bào)頭的壓縮狀態(tài);解壓縮單元,用于根據(jù)所述壓縮狀態(tài)確定單元確定的所述壓縮狀態(tài)對(duì)所述TCP報(bào)頭進(jìn)行解壓縮處理。
18.如權(quán)利要求17所述的裝置,其特征在于,所述壓縮狀態(tài)確定單元,包括擴(kuò)展標(biāo)識(shí)位值確定模塊,用于根據(jù)所述擴(kuò)展標(biāo)識(shí)頭信息,確定所述擴(kuò)展標(biāo)識(shí)頭中包括的設(shè)定個(gè)分別占用1比特的擴(kuò)展標(biāo)識(shí)位的值;壓縮狀態(tài)確定模塊,用于分別根據(jù)所述擴(kuò)展標(biāo)識(shí)位值確定模塊確定的擴(kuò)展標(biāo)識(shí)位的值,確定所述擴(kuò)展標(biāo)識(shí)對(duì)應(yīng)的域的壓縮狀態(tài)。
19.如權(quán)利要求18所述的裝置,其特征在于,所述擴(kuò)展標(biāo)識(shí)位值確定模塊,具體用于 根據(jù)所述擴(kuò)展標(biāo)識(shí)頭信息,確定所述擴(kuò)展標(biāo)識(shí)位信息中包括的用于指示TCP報(bào)頭中源端口域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位Hl的值、用于指示TCP報(bào)頭中目的端口域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H2的值、用于指示TCP報(bào)頭中報(bào)文序列號(hào)域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H3的值、用于指示 TCP報(bào)頭中確認(rèn)序列號(hào)域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H4的值、用于指示TCP報(bào)頭中首部長(zhǎng)度域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H5的值、以及用于指示TCP報(bào)頭中窗口大小域壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)位H6的值中的一個(gè)或多個(gè)。
20.如權(quán)利要求19所述的裝置,其特征在于,所述壓縮狀態(tài)確定模塊,具體用于 在所述Hl為0時(shí),確定所述TCP報(bào)頭中的源端口域未被壓縮、在所述Hl為1時(shí),確定所述TCP報(bào)頭中的源端口域被壓縮;在所述H2為0時(shí),確定所述TCP報(bào)頭中的目的端口域未被壓縮、在所述H2為1時(shí),確定所述TCP報(bào)頭中的目的端口域被壓縮;在所述H3為0時(shí),確定所述TCP報(bào)頭中的報(bào)文序列號(hào)域未被壓縮、在所述H3為1時(shí), 確定所述TCP報(bào)頭中的報(bào)文序列號(hào)域被壓縮;在所述H4為0時(shí),確定所述TCP報(bào)頭中的確認(rèn)序列號(hào)域未被壓縮、在所述H4為1時(shí), 確定所述TCP報(bào)頭中的確認(rèn)序列號(hào)域被壓縮;在所述H5為0時(shí),確定所述TCP報(bào)頭中的首部長(zhǎng)度域未被壓縮、在所述H5為1時(shí),確定所述TCP報(bào)頭中的首部長(zhǎng)度域被壓縮;在所述H6為0時(shí),確定所述TCP報(bào)頭中的窗口大小域未被壓縮、在所述H6為1時(shí),確定所述TCP報(bào)頭中的窗口大小域被壓縮。
全文摘要
本發(fā)明公開了一種TCP報(bào)文的發(fā)送方法、接收方法及裝置,在發(fā)送TCP報(bào)文時(shí),確定待發(fā)送TCP報(bào)文的TCP報(bào)頭的壓縮狀態(tài),根據(jù)確定出的TCP報(bào)頭的壓縮狀態(tài),對(duì)該TCP報(bào)頭中預(yù)留出的設(shè)定比特位的用于指示TCP報(bào)頭的壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)頭賦值,在根據(jù)確定的壓縮狀態(tài)對(duì)TCP報(bào)頭壓縮后,發(fā)送TCP報(bào)文;在接收TCP報(bào)文時(shí),獲取TCP報(bào)文的TCP報(bào)頭中設(shè)定比特位的用于指示TCP報(bào)頭的壓縮狀態(tài)的擴(kuò)展標(biāo)識(shí)頭信息,根據(jù)該擴(kuò)展標(biāo)識(shí)頭信息確定TCP報(bào)頭的壓縮狀態(tài),根據(jù)確定的壓縮狀態(tài)對(duì)TCP報(bào)頭進(jìn)行解壓縮處理。采用該技術(shù)方案對(duì)TCP報(bào)頭進(jìn)行壓縮,能夠符合IETF RFC 4944的要求,能夠適用于低功耗傳感器網(wǎng)絡(luò)。
文檔編號(hào)H04L12/56GK102377651SQ20101025406
公開日2012年3月14日 申請(qǐng)日期2010年8月13日 優(yōu)先權(quán)日2010年8月13日
發(fā)明者周博, 曹振, 鄧輝 申請(qǐng)人:中國(guó)移動(dòng)通信集團(tuán)公司