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