通信網(wǎng)絡(luò)中信息的傳輸方法及其裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,特別涉及通信網(wǎng)絡(luò)中信息的傳輸方法及其裝置。
【背景技術(shù)】
[0002]傳輸控制協(xié)議(Transfer Control Protocol,簡稱“TCP”)是一種常用的網(wǎng)絡(luò)協(xié)議。TCP數(shù)據(jù)包從發(fā)送終端出發(fā),經(jīng)過多個(gè)網(wǎng)絡(luò)中間節(jié)點(diǎn)的傳輸(如交換機(jī),路由器等),傳遞到接收終端。TCP數(shù)據(jù)包包括Header (包頭)和(Body)包體。Header中的信息主要用于路由,Body中的信息是實(shí)際要傳輸?shù)膬?nèi)容。Header中有一個(gè)字段叫0pt1n(選項(xiàng)字段),Opt1n字段包括一個(gè)或多個(gè)鍵-長-值對(Key-Length-Value)。鍵-長-值對中的鍵(Key)是一個(gè)識別關(guān)鍵字,長(Length)用于表示之后的值(Value)的長度,以供讀取值(Value)時(shí)使用。讀取該鍵-長-值對(Key-Length-Value)時(shí),可以讀取Key (Key是固定長度,),判斷Key是否是預(yù)定值,如果是則讀取Length (Length是固定長度),再根據(jù)讀取的Length讀取Value,例如Length是9個(gè)字節(jié),那就在Length之后讀取7個(gè)字節(jié)作為Value。目前的TCP協(xié)議以經(jīng)使用了一部分的Key值,另一部分的Key值是保留的,可供擴(kuò)展使用。
[0003]目前Opt1n字段的用法是由發(fā)送終端加入需要發(fā)給接收終端的信息,各網(wǎng)絡(luò)中間節(jié)點(diǎn)對Opt1n字段不作處理,直接透傳。
[0004]在網(wǎng)絡(luò)安全領(lǐng)域,有時(shí)需要在兩個(gè)網(wǎng)絡(luò)中間節(jié)點(diǎn)之間傳遞信息,例如,無線保真(Wireless Fidelity,簡稱“WiFi ”)的無線接入點(diǎn)(Access Point,簡稱“AP”)收到一個(gè)移動(dòng)終端的TCP數(shù)據(jù)包時(shí),可以知道該移動(dòng)終端的MAC地址,而根據(jù)目前的通信協(xié)議,該AP轉(zhuǎn)發(fā)該TCP數(shù)據(jù)包時(shí)不會(huì)保留該移動(dòng)終端的MAC地址。為了網(wǎng)絡(luò)安全或網(wǎng)絡(luò)監(jiān)控的需要,后面的網(wǎng)絡(luò)中間節(jié)點(diǎn)(如某個(gè)路由器或服務(wù)器)需要知道每一個(gè)TCP數(shù)據(jù)包對應(yīng)的發(fā)送終端的MAC地址,以便可以對特定發(fā)送終端的所有數(shù)據(jù)包進(jìn)行監(jiān)控和分析。
[0005]本申請的發(fā)明人發(fā)現(xiàn),目前的的通信協(xié)議都不支持兩個(gè)網(wǎng)絡(luò)中間節(jié)點(diǎn)之間傳遞信息,如果要開發(fā)新的網(wǎng)絡(luò)協(xié)議又不會(huì)被大量目前已有的網(wǎng)絡(luò)設(shè)備所支持,如何在維持目前網(wǎng)絡(luò)協(xié)議結(jié)構(gòu)的前提下,傳輸供網(wǎng)絡(luò)中間節(jié)點(diǎn)使用的附加信息,就是本申請要解決的技術(shù)問題。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于提供一種通信網(wǎng)絡(luò)中信息的傳輸方法及其裝置,可以在維持目前網(wǎng)絡(luò)協(xié)議結(jié)構(gòu)的前提下,方便地傳輸供網(wǎng)絡(luò)中間節(jié)點(diǎn)使用的附加信息。
[0007]為解決上述技術(shù)問題,本發(fā)明的實(shí)施方式公開了一種通信網(wǎng)絡(luò)中信息的傳輸方法,包括以下步驟:
[0008]網(wǎng)絡(luò)中間節(jié)點(diǎn)接收并轉(zhuǎn)發(fā)TCP數(shù)據(jù)包的過程中,獲取該TCP數(shù)據(jù)包;
[0009]檢測該TCP數(shù)據(jù)包的選項(xiàng)字段;
[0010]如果該TCP數(shù)據(jù)包的選項(xiàng)字段中存在鍵等于預(yù)定值的鍵-長-值對,則讀取該鍵-長-值對。
[0011]本發(fā)明的實(shí)施方式還公開了一種通信網(wǎng)絡(luò)中信息的傳輸裝置,包括:
[0012]獲取單元,用于在網(wǎng)絡(luò)中間節(jié)點(diǎn)接收并轉(zhuǎn)發(fā)TCP數(shù)據(jù)包的過程中,獲取該TCP數(shù)據(jù)包;
[0013]檢測單元,檢測該TCP數(shù)據(jù)包的選項(xiàng)字段;
[0014]判斷單元,用于判斷該TCP數(shù)據(jù)包的選項(xiàng)字段中是否存在鍵等于預(yù)定值的鍵-長-值對;
[0015]讀取單元,用于在判斷單元判斷出存在鍵等于預(yù)定值的鍵-長-值對時(shí),讀取該鍵-長-值對。
[0016]本發(fā)明實(shí)施方式與現(xiàn)有技術(shù)相比,主要區(qū)別及其效果在于:
[0017]由網(wǎng)絡(luò)中間節(jié)點(diǎn)在轉(zhuǎn)發(fā)TCP數(shù)據(jù)包時(shí)檢測TCP數(shù)據(jù)包的選項(xiàng)字段是否有特定的鍵-長-值對,如果有就讀取該鍵-長-值對,可以在維持目前網(wǎng)絡(luò)協(xié)議結(jié)構(gòu)的前提下,方便地傳輸供網(wǎng)絡(luò)中間節(jié)點(diǎn)接收和使用的附加信息。
【附圖說明】
[0018]圖1是本發(fā)明第一實(shí)施方式中一種通信網(wǎng)絡(luò)中信息的傳輸方法的流程示意圖。
[0019]圖2是本發(fā)明第六實(shí)施方式中一種通信網(wǎng)絡(luò)中信息的傳輸裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0020]在以下的敘述中,為了使讀者更好地理解本申請而提出了許多技術(shù)細(xì)節(jié)。但是,本領(lǐng)域的普通技術(shù)人員可以理解,即使沒有這些技術(shù)細(xì)節(jié)和基于以下各實(shí)施方式的種種變化和修改,也可以實(shí)現(xiàn)本申請各權(quán)利要求所要求保護(hù)的技術(shù)方案。
[0021]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明的實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0022]本發(fā)明第一實(shí)施方式涉及一種通信網(wǎng)絡(luò)中信息的傳輸方法。圖1是該通信網(wǎng)絡(luò)中信息的傳輸方法的流程示意圖。
[0023]具體地,如圖1所示,該通信網(wǎng)絡(luò)中信息的傳輸方法包括以下步驟:
[0024]在步驟101中,網(wǎng)絡(luò)中間節(jié)點(diǎn)接收并轉(zhuǎn)發(fā)TCP數(shù)據(jù)包的過程中,獲取該TCP數(shù)據(jù)包。
[0025]其中,本發(fā)明各實(shí)施方式中,網(wǎng)絡(luò)中間節(jié)點(diǎn)是指從發(fā)送終端到接收終端的整個(gè)TCP數(shù)據(jù)包傳輸路徑中,除發(fā)送終端和接收終端之外,整個(gè)傳輸路徑中其它在中間起到TCP數(shù)據(jù)包轉(zhuǎn)發(fā)作用的網(wǎng)絡(luò)節(jié)點(diǎn)。網(wǎng)絡(luò)中間節(jié)點(diǎn)可以是路由器、交換機(jī)、Hub(集線器)、中繼設(shè)備等等。
[0026]此后進(jìn)入步驟102,檢測該TCP數(shù)據(jù)包的選項(xiàng)字段。
[0027]此后進(jìn)入步驟103,判斷TCP數(shù)據(jù)包的選項(xiàng)字段中是否存在鍵等于預(yù)定值的鍵-長-值對。如果判斷結(jié)果為是,則進(jìn)入步驟104 ;否則,結(jié)束本流程。
[0028]此外,可以理解,在本發(fā)明各實(shí)施方式中,預(yù)定值是預(yù)先設(shè)定的一個(gè)數(shù)字,具有這個(gè)預(yù)定值的鍵所在的鍵-長-值對就是需要被網(wǎng)絡(luò)中間節(jié)點(diǎn)處理的鍵-長-值對。預(yù)定值可以是一個(gè),也可以是多個(gè),根據(jù)實(shí)際應(yīng)用的需要而定。
[0029]在步驟104中,讀取該鍵-長-值對。
[0030]此后進(jìn)入步驟105,根據(jù)所讀取的鍵-長-值對,對該TCP數(shù)據(jù)包進(jìn)行處理。
[0031]此外,可以理解,對TCP數(shù)據(jù)包進(jìn)行處理的方式有很多,例如,可以對具有特定鍵-長-值對的TCP數(shù)據(jù)包進(jìn)行保存。或?qū)哂刑囟ㄦI-長-值對的TCP數(shù)據(jù)包進(jìn)一步獲取該TCP數(shù)據(jù)包的Body中的信息(TCP數(shù)據(jù)包包括Header和Body,Opt1n是在Header中的),進(jìn)行保存或進(jìn)一步的分析,等等。通??梢愿鶕?jù)鍵-長-值中的值進(jìn)行處理,也可以根據(jù)鍵-長-值中的鍵進(jìn)行處理,例如,如果檢測到有某個(gè)鍵就保存這個(gè)TCP數(shù)據(jù)包中的值和Body (體)。些處理可以直接由網(wǎng)絡(luò)中間節(jié)點(diǎn)進(jìn)行,也可以由網(wǎng)絡(luò)中間節(jié)點(diǎn)將TCP數(shù)據(jù)包保存到服務(wù)器,由服務(wù)器進(jìn)行處理。
[0032]在某些實(shí)例中,可能不需要步驟105,即不需要根據(jù)所讀取的鍵-長-值對,對該TCP數(shù)據(jù)包進(jìn)行處理。例如,可能在讀取該鍵-長-值對后,只保存一下值即可。
[0033]此后結(jié)束本流程。
[0034]在一優(yōu)選例中,在上述步驟101中轉(zhuǎn)發(fā)TCP數(shù)據(jù)包之前,本方法還包括以下步驟:
[0035]如果該TCP數(shù)據(jù)包的選項(xiàng)字段中有鍵等于預(yù)定值,則先將該TCP數(shù)據(jù)包的選項(xiàng)字段中鍵等于預(yù)定值的鍵-長-值對刪除,再發(fā)送刪除該鍵-長-值對后的TCP數(shù)據(jù)包。
[0036]此外,可以理解,在某些特定的應(yīng)用場景中,網(wǎng)絡(luò)中間節(jié)點(diǎn)讀取過一個(gè)鍵-長-值對后,可以在轉(zhuǎn)發(fā)前刪除該鍵-長-值對,也可以不刪除,直接轉(zhuǎn)發(fā)收到的TCP數(shù)據(jù)包。不刪除的情況下,可以實(shí)現(xiàn)一個(gè)整個(gè)傳輸路徑中的多個(gè)網(wǎng)絡(luò)中間節(jié)點(diǎn)都獲得同一個(gè)鍵-長-值對的效果。而在轉(zhuǎn)發(fā)TCP數(shù)據(jù)包前,將特定的鍵-長-值對從TCP數(shù)據(jù)包中先刪除,可以防止傳輸過程中后面的網(wǎng)絡(luò)中間節(jié)