專利名稱:老化session后通知網(wǎng)絡(luò)終端的方法及裝置、NAT設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及因特網(wǎng)技術(shù),具體涉及老化session后通知網(wǎng)絡(luò)終端的方法及裝置、NAT設(shè)備。
背景技術(shù):
隨著Internet(因特網(wǎng))的飛速發(fā)展,越來越多的網(wǎng)絡(luò)設(shè)備放到了因特網(wǎng)上,網(wǎng)絡(luò)設(shè)備要想訪問其他網(wǎng)絡(luò)設(shè)備或被其他網(wǎng)絡(luò)設(shè)備訪問,就必須要配置網(wǎng)絡(luò)地址,常用的網(wǎng)絡(luò)地址是IP(Internet Protocol,網(wǎng)際協(xié)議)地址。IP地址分為私有網(wǎng)絡(luò)地址和公共網(wǎng)絡(luò)地址,其中私有網(wǎng)絡(luò)地址是指在一個企業(yè)或機(jī)構(gòu)私有網(wǎng)絡(luò)的主機(jī)的IP地址,Internet地址的分配組織規(guī)定將如下的IP地址保留用作私有網(wǎng)絡(luò)地址10.0.0.0~10.255.255.255,172.16.0.0~172.31.255.255,192.168.0.0~192.168.255.255;私有網(wǎng)絡(luò)地址不會在Internet上被分配。公共網(wǎng)絡(luò)地址是指在Internet上唯一的IP地址。
由于私有網(wǎng)絡(luò)地址的使用范圍局限在私有網(wǎng)絡(luò),如果私有網(wǎng)絡(luò)的用戶需要訪問共同的Internet,則必須使用全球唯一的公共網(wǎng)絡(luò)地址。網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT,Network Address Translation)又稱為網(wǎng)絡(luò)地址代理,它將私有網(wǎng)絡(luò)中主機(jī)的IP地址轉(zhuǎn)換成可以被公共網(wǎng)絡(luò)所識別的IP地址,如圖1所示,具有私有網(wǎng)絡(luò)地址10.1.1.200的終端想要訪問公共網(wǎng)絡(luò)上的服務(wù)器,該服務(wù)器的公共網(wǎng)絡(luò)地址為211.100.7.34,則可以通過NAT裝置做如下轉(zhuǎn)換后達(dá)到目的私有網(wǎng)絡(luò)的主機(jī)10.1.1.200訪問公共網(wǎng)絡(luò)的服務(wù)器211.100.7.34時,主機(jī)10.1.1.200發(fā)出一個請求報文,假設(shè)使用源端口為6084,目的端口為80。在通過NAT裝置后,該報文的源地址和端口轉(zhuǎn)換為162.105.178.65:32814,目的地址與端口不改變。NAT裝置為私有網(wǎng)絡(luò)的主機(jī)維護(hù)了一張地址端口對應(yīng)表。當(dāng)公共網(wǎng)絡(luò)的服務(wù)器返回響應(yīng)報文時,NAT裝置會查找地址端口對應(yīng)表,找到響應(yīng)報文中的目的地址及端口,并轉(zhuǎn)換成對應(yīng)的私有網(wǎng)絡(luò)地址和端口,即10.1.1.200:6084。這樣,私有網(wǎng)絡(luò)的主機(jī)10.1.1.200就收到公共網(wǎng)絡(luò)的服務(wù)器所返回的報文,NAT裝置會為在維護(hù)的會話表中保存如下信息,如表1所示,表1是NAT裝置上維護(hù)的會話(session)表。
表1、會話表
如果多個私有網(wǎng)絡(luò)的主機(jī)同時訪問公共網(wǎng)絡(luò)的服務(wù)器,NAT裝置會對私有網(wǎng)絡(luò)的每個終端發(fā)起的每個連接,在其生命周期內(nèi)都會為其分配一個表項(xiàng)來記錄其轉(zhuǎn)換關(guān)系,同時還必須分配一個公網(wǎng)地址,這個公網(wǎng)地址包括公共網(wǎng)絡(luò)的地址加上一個端口號,即轉(zhuǎn)換后的源IP端口。以應(yīng)用范圍最大的TCP(Transfer Control Protocol,傳輸控制協(xié)議)協(xié)議為例,如果私有網(wǎng)絡(luò)中的一個主機(jī)發(fā)起訪問公共網(wǎng)絡(luò)的TCP連接,那么從私有網(wǎng)絡(luò)主機(jī)發(fā)送的第一個TCP_SYN報文起,就要為這個連接分配內(nèi)存來存放會話信息,即會話表,同時需要分配一個公網(wǎng)地址,知道這個連接被拆除后,其所占用的會話表和公網(wǎng)地址才會被釋放給其他用戶連接使用;其中TCP_SYN是建立TCP連接的報文。
但是會話表和公網(wǎng)地址都是有限的,為了有效地利用session資源,防止有惡意用戶故意長期占用session導(dǎo)致NAT裝置無法接納新請求,目前主要有以下幾種方式1)對用戶發(fā)起連接的速度進(jìn)行限制,如果用戶發(fā)起連接的速度過快,則認(rèn)為是惡意攻擊而拒絕為超過規(guī)定速度的新連接建立session及分配內(nèi)存和地址資源等;2)對用戶的并發(fā)連接數(shù)進(jìn)行限制,即用戶并發(fā)的連接數(shù)不能超過預(yù)先設(shè)定的上限;3)設(shè)立session的老化時間,如果一個連接超過了老化時間,則釋放這個連接占用的session和地址資源。在實(shí)際應(yīng)用中,一般都是三種方案結(jié)合使用。
雖然使用上述三種方法可以達(dá)到有效利用session資源的目的,但是對于網(wǎng)絡(luò)連接特別是采用TCP協(xié)議的網(wǎng)絡(luò)連接,如果在TCP正常關(guān)閉連接之前且對應(yīng)的session已經(jīng)被老化刪除時,而該TCP連接的兩端并不知情,因而當(dāng)需要再次傳輸數(shù)據(jù)的時候,仍然認(rèn)為TCP連接暢通而發(fā)送數(shù)據(jù),因?yàn)閟ession已經(jīng)被老化刪除,因而TCP數(shù)據(jù)報無法到達(dá)對端,從而導(dǎo)致發(fā)送TCP數(shù)據(jù)包的一方不停的重試,直到達(dá)到預(yù)置的重試次數(shù)或收到TCP_RST報文才會確認(rèn)TCP連接不可用,從而關(guān)閉這個連接再重新發(fā)起TCP連接。根據(jù)應(yīng)用程序的不同,確認(rèn)TCP連接不可用所需要的重試次數(shù)不同,有的重試次數(shù)還是比較多的。因而經(jīng)過多次的重試,特別是越往后的重試的間隔時間也越長,所以僅僅依靠應(yīng)用程序的TCP重試失敗來檢測TCP連接不可用,可能需要很長的時間,這樣將會極大的降低應(yīng)用程序的響應(yīng)速度。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的是提供一種老化session后通知網(wǎng)絡(luò)終端的方法及裝置、NAT設(shè)備,使用本發(fā)明實(shí)施方式提供的技術(shù)方案可以在老化session后提高應(yīng)用程序的響應(yīng)速度。
本發(fā)明實(shí)施例的目的是通過以下技術(shù)方案實(shí)現(xiàn)的本發(fā)明的實(shí)施例提供了一種老化session后通知網(wǎng)絡(luò)終端的方法,包括構(gòu)造通知報文,所述通知報文符合老化的session對應(yīng)的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn);將所述通知報文發(fā)送給所述session對應(yīng)的網(wǎng)絡(luò)終端。
本發(fā)明的實(shí)施例提供了一種老化session后通知網(wǎng)絡(luò)終端的裝置,包括通知報文構(gòu)造單元,用于構(gòu)造通知報文,所述通知報文符合老化的session對應(yīng)的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn);通知報文發(fā)送單元,用于將所述通知報文發(fā)送給所述session對應(yīng)的網(wǎng)絡(luò)終端。
本發(fā)明的實(shí)施例提供了一種NAT設(shè)備,包括老化session后通知網(wǎng)絡(luò)終端的裝置,所述老化session后通知網(wǎng)絡(luò)終端的裝置包括通知報文構(gòu)造單元,用于構(gòu)造通知報文,所述通知報文符合老化的session對應(yīng)的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn);通知報文發(fā)送單元,用于將所述通知報文發(fā)送給所述session對應(yīng)的網(wǎng)絡(luò)終端。
本發(fā)明的實(shí)施例提供了一種NAT設(shè)備,包括老化session后通知網(wǎng)絡(luò)終端的裝置,所述老化session后通知網(wǎng)絡(luò)終端的裝置包括數(shù)據(jù)報文接收單元,用于接收來自網(wǎng)絡(luò)終端的數(shù)據(jù)報文,所述數(shù)據(jù)報文需要命中老化的session;通知報文構(gòu)造單元,用于根據(jù)所述數(shù)據(jù)報文,構(gòu)造所述符合所述老化的session對應(yīng)的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn)的通知報文;通知報文發(fā)送單元,用于將所述通知報文發(fā)送給所述網(wǎng)絡(luò)終端。
從本發(fā)明實(shí)施例提供的以上技術(shù)方案可以看出,由于在老化了一個session后,NAT設(shè)備主動將對應(yīng)session已經(jīng)被老化,對應(yīng)的網(wǎng)絡(luò)連接已不可用的信息通知給session對應(yīng)的網(wǎng)絡(luò)終端,使網(wǎng)絡(luò)終端可以盡快的得知對應(yīng)的網(wǎng)絡(luò)連接不可用,從而作對應(yīng)的操作,提高了應(yīng)用程序的響應(yīng)速度。
圖1為現(xiàn)有技術(shù)中采用了NAT設(shè)備的網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)圖;圖2為本發(fā)明方法第一實(shí)施例的具體流程圖;圖3為本發(fā)明方法第二實(shí)施例的具體流程圖;圖4為本發(fā)明實(shí)施例提供的構(gòu)造通知報文的流程圖;圖5為本發(fā)明方法第四實(shí)施例的具體流程圖;圖6為本發(fā)明裝置第一實(shí)施例的結(jié)構(gòu)圖;圖7為本發(fā)明裝置第二實(shí)施例的結(jié)構(gòu)圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案、及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對本發(fā)明進(jìn)一步詳細(xì)說明。
如圖2所示,本發(fā)明提供的方法的一個實(shí)施例主要包括步驟201、構(gòu)造通知報文,所述通知報文符合老化的session對應(yīng)的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn);Session被老化后,對應(yīng)的資源都會被釋放,但是網(wǎng)絡(luò)連接的兩個網(wǎng)絡(luò)終端并不知道對應(yīng)的session已經(jīng)被老化,所以要根據(jù)所述session對應(yīng)的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn)構(gòu)造通知報文。不同的網(wǎng)絡(luò)協(xié)議對應(yīng)的消息格式不一樣,本發(fā)明實(shí)施例主要采用TCP協(xié)議進(jìn)行描述,但是并不排除采用其他網(wǎng)絡(luò)協(xié)議的情況;步驟202、將所述通知報文發(fā)送給所述session對應(yīng)的網(wǎng)絡(luò)終端;可以從維護(hù)的FIB(Forwarding Information Table,轉(zhuǎn)發(fā)信息表)表中查到對應(yīng)的路由信息,將所述通知報文發(fā)送給所述網(wǎng)絡(luò)終端;將通知報文發(fā)送給對應(yīng)的網(wǎng)絡(luò)終端后,使網(wǎng)絡(luò)終端能夠知道對應(yīng)的session已經(jīng)被老化而無法命中,需要重新建立連接才能完成數(shù)據(jù)通信,從而可以使網(wǎng)絡(luò)終端可以很快地就重新建立連接,而不需要等待較長的重試時間,從而提高了應(yīng)用程序的響應(yīng)速度。
參見圖3,本發(fā)明提供的方法的第二實(shí)施例主要包括步驟301、老化session后,收到需要命中被老化的session的數(shù)據(jù)報文;老化session后,session對應(yīng)的網(wǎng)絡(luò)連接兩端的網(wǎng)絡(luò)終端并不知道session已經(jīng)被老化,從而繼續(xù)發(fā)送需要命中該session的數(shù)據(jù)報文,NAT設(shè)備收到數(shù)據(jù)報文后,需要將數(shù)據(jù)報文轉(zhuǎn)發(fā),無法找到對應(yīng)的session,所以NAT設(shè)備知道對應(yīng)的session已經(jīng)被老化;步驟302、根據(jù)所述數(shù)據(jù)報文構(gòu)造符合所述session對應(yīng)的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn)的通知報文;因而將根據(jù)數(shù)據(jù)報文構(gòu)造成的通知報文通知給對應(yīng)的網(wǎng)絡(luò)終端,從而使網(wǎng)絡(luò)終端可以作對應(yīng)的操作。發(fā)明實(shí)施例采用的一種方案是直接修改數(shù)據(jù)報文,從而可以節(jié)省系統(tǒng)資源和盡快地構(gòu)造出通知報文;步驟303、將所述通知報文發(fā)送給發(fā)送所述數(shù)據(jù)報文的網(wǎng)絡(luò)終端;本實(shí)施例直接將數(shù)據(jù)報文修改為通知報文,可以有效地節(jié)省構(gòu)造通知報文需要的系統(tǒng)資源,也能夠在數(shù)據(jù)報文后盡快地構(gòu)造出通知報文,從而讓對應(yīng)的網(wǎng)絡(luò)終端較快的得知對應(yīng)的session被老化的信息,提高了應(yīng)用軟件的響應(yīng)速度。
本發(fā)明實(shí)施例提供的構(gòu)造通知報文的流程,如圖4所示,本發(fā)明實(shí)施例以TCP協(xié)議報文為例,為了盡可能不對現(xiàn)有網(wǎng)絡(luò)標(biāo)準(zhǔn)造成影響,因而本發(fā)明的實(shí)施例采用TCP協(xié)議中標(biāo)準(zhǔn)的TCP_RST報文,但是不排除采用其他報文的可能性,修改數(shù)據(jù)報文主要包括以下步驟步驟401、取數(shù)據(jù)報文的源IP地址和目的IP地址;數(shù)據(jù)報文要發(fā)送到對應(yīng)的網(wǎng)絡(luò)終端,在報文中會攜帶相應(yīng)的源IP地址和目的IP地址,從而NAT設(shè)備可以根據(jù)攜帶的地址信息查找對應(yīng)的session,從而將數(shù)據(jù)報文轉(zhuǎn)發(fā),進(jìn)一步的接收該報文的網(wǎng)絡(luò)終端也可以知道該報文是由哪個網(wǎng)絡(luò)終端發(fā)送的,從而可以直接向發(fā)送該數(shù)據(jù)報文的該網(wǎng)絡(luò)終端返回響應(yīng)報文,從而實(shí)現(xiàn)通信;步驟402、將所述源IP地址和目的IP地址對換;將源IP地址和目的IP地址進(jìn)行對換,網(wǎng)絡(luò)終端收到構(gòu)造的新報文就會認(rèn)為該報文是由對應(yīng)的另一個網(wǎng)絡(luò)終端發(fā)送的,這里主要是為了滿足TCP協(xié)議的標(biāo)準(zhǔn);步驟403、將所述數(shù)據(jù)報文的報文頭設(shè)置為通知報文標(biāo)志;在TCP報文中是RST標(biāo)志,具體是將TCP的Flags設(shè)置為0x14,這在TCP協(xié)議中是固定的,網(wǎng)絡(luò)終端根據(jù)Flags就可以知道這個消息是ACK+RST消息,ACK表示的是針對某個報文做出的響應(yīng),RST則會促使網(wǎng)絡(luò)終端對對應(yīng)的連接進(jìn)行復(fù)位;步驟404、為所述數(shù)據(jù)報文設(shè)置序列號;根據(jù)TCP協(xié)議的標(biāo)準(zhǔn)需要設(shè)置兩個方面的序列號,其中一個是TCP_SYN序列號,可以與構(gòu)造所述session對應(yīng)的TCP_SYN報文的序列號相同,也可以設(shè)置為其他的TCP_SYN序列號,例如可以設(shè)置為0,也是為了滿足TCP協(xié)議的標(biāo)準(zhǔn),因?yàn)槊總€TCP連接都是由TCP_SYN開始建立的;對應(yīng)的也需要設(shè)置ACK序列號,根據(jù)TCP協(xié)議的標(biāo)準(zhǔn),ACK序列號為原TCP_SYN報文的序列號加上原數(shù)據(jù)報文的長度;
步驟405、刪除所述數(shù)據(jù)報文超過預(yù)置長度的部分;根據(jù)TCP協(xié)議的標(biāo)準(zhǔn),所述通知報文的長度為46字節(jié),所以為了符合協(xié)議的標(biāo)準(zhǔn),需要刪除所述數(shù)據(jù)報文超過預(yù)置長度即46字節(jié)的部分;步驟406、重新為所述數(shù)據(jù)報文計(jì)算校驗(yàn)值,封裝成所述通知報文;因?yàn)樗鰯?shù)據(jù)報文中的信息都已經(jīng)經(jīng)過修改,所以原有的校驗(yàn)值已經(jīng)無效,所以需要重新計(jì)算校驗(yàn)值,并將校驗(yàn)值放到所述通知報文中,網(wǎng)絡(luò)終端收到所述通知報文就可以根據(jù)重新計(jì)算得到的校驗(yàn)值對收到的通知報文進(jìn)行校驗(yàn),從而保證了通信的精確性;在本實(shí)施例中僅對網(wǎng)絡(luò)地址進(jìn)行對換,在實(shí)際應(yīng)用中有多個連接時需要進(jìn)一步將端口進(jìn)行對換,此時不僅要將源IP地址和目的IP地址對換,還要將源端口和目的端口對換,從而可以將通知報文返回給對應(yīng)網(wǎng)絡(luò)終端的端口,能夠更加準(zhǔn)確的將通知報文返回。
上述步驟只是實(shí)現(xiàn)本發(fā)明實(shí)施例目的的一種實(shí)現(xiàn)方式,并不是對上述步驟的先后順序進(jìn)行限定;通過上述步驟就可以將數(shù)據(jù)報文修改成通知報文,從而可以節(jié)省系統(tǒng)資源并且能夠較快地構(gòu)造出通知報文。
再介紹本發(fā)明提供的方法的第三實(shí)施例,假設(shè)圖1描述的TCP連接是一個惡意占用的TCP連接,NAT設(shè)備通過輪詢發(fā)現(xiàn)表1描述的session長期沒有被使用,就會把私有網(wǎng)絡(luò)側(cè)網(wǎng)絡(luò)終端地址與NAT設(shè)備中的地址池中的地址的映射關(guān)系,即10.1.1.200:6084-->162.105.178.65:32814的對應(yīng)關(guān)系清除,這樣私有網(wǎng)絡(luò)側(cè)網(wǎng)絡(luò)終端和NAT設(shè)備間的連接也被拆除了。因而當(dāng)私有網(wǎng)絡(luò)側(cè)網(wǎng)絡(luò)終端發(fā)送TCP數(shù)據(jù)報文時,該TCP數(shù)據(jù)報文的源IP地址及端口為10.1.1.200:6084,目的IP地址及端口為162.105.178.65:32814,由于發(fā)生了session不命中事件,此時NAT設(shè)備就會根據(jù)TCP數(shù)據(jù)報文來主動構(gòu)造一個目的地址是10.1.1.200:6084,源IP地址及端口為162.105.178.65:32814的TCP_RST報文,此報文被私有網(wǎng)絡(luò)側(cè)網(wǎng)絡(luò)終端收到后,它會認(rèn)為和NAT裝置的連接不再存在,同時通知它的上層進(jìn)行復(fù)位。經(jīng)過上述兩個動作,NAT設(shè)備的公網(wǎng)地址即所謂的網(wǎng)絡(luò)資源被釋放了。這樣私有網(wǎng)絡(luò)內(nèi)的其它網(wǎng)絡(luò)終端就可以通過這個釋放后的公網(wǎng)地址訪問外網(wǎng)了,同時發(fā)起方的主機(jī)也在第一時間感知了會話的不存在就不會不斷的重試了,因而提高了應(yīng)用程序的響應(yīng)速度。
圖5是本發(fā)明提供的方法的第四實(shí)施例的具體流程圖,主要包括步驟501、老化一個session;步驟502、根據(jù)所述session對應(yīng)的網(wǎng)絡(luò)連接兩端對應(yīng)的網(wǎng)絡(luò)終端的網(wǎng)絡(luò)地址和端口號,按照所述網(wǎng)絡(luò)協(xié)議的標(biāo)準(zhǔn)構(gòu)造所述通知報文;此時可以只針對私有網(wǎng)絡(luò)的網(wǎng)絡(luò)終端或公共網(wǎng)絡(luò)的網(wǎng)絡(luò)終端構(gòu)造一個通知報文,也可以對這網(wǎng)絡(luò)連接兩端的網(wǎng)絡(luò)終端都構(gòu)造通知報文。以表1描述的session為例,發(fā)送至私有網(wǎng)絡(luò)中網(wǎng)絡(luò)終端的通知報文的源IP地址及端口為162.105.178.65:32814,目的IP地址及端口為10.1.1.200:6084;而發(fā)送至公共網(wǎng)絡(luò)中網(wǎng)絡(luò)終端的通知報文的則正好相反,源IP地址及端口為10.1.1.200:6084,目的IP地址及端口為162.105.178.65:32814;步驟503、將所述通知報文發(fā)送給所述session對應(yīng)的網(wǎng)絡(luò)連接兩端的網(wǎng)絡(luò)終端;使用該實(shí)施例可以在老化session后,立即將該session已經(jīng)被老化的信息通知對應(yīng)的網(wǎng)絡(luò)終端,可以最大限度的提高應(yīng)用程序的響應(yīng)速度。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,包括如下步驟構(gòu)造通知報文,所述通知報文符合老化的session對應(yīng)的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn);將所述通知報文發(fā)送給所述session對應(yīng)的網(wǎng)絡(luò)終端。所述的存儲介質(zhì),如ROM/RAM、磁碟、光盤等。
如圖6所示,本發(fā)明提供的老化session后通知網(wǎng)絡(luò)終端的裝置600的第一實(shí)施例主要包括通知報文構(gòu)造單元601,用于構(gòu)造通知報文,所述通知報文符合老化的session對應(yīng)的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn);
通知報文發(fā)送單元602,用于將所述通知報文發(fā)送給所述session對應(yīng)的網(wǎng)絡(luò)終端;使用本發(fā)明裝置的第一實(shí)施例可以在老化一個session后,構(gòu)造通知報文通知對應(yīng)的網(wǎng)絡(luò)終端該session已經(jīng)被老化,從而可以使對應(yīng)的網(wǎng)絡(luò)終端作對應(yīng)的處理,提高應(yīng)用程序的響應(yīng)速度。
本發(fā)明提供的NAT設(shè)備的第一實(shí)施例,包括本發(fā)明提供的老化session后通知網(wǎng)絡(luò)終端的裝置的第一實(shí)施例所描述的裝置。
圖7是本發(fā)明提供的老化session后通知網(wǎng)絡(luò)終端的裝置600的第二實(shí)施例,主要包括數(shù)據(jù)報文接收單元701,用于接收來自所述網(wǎng)絡(luò)終端的需要命中所述session的數(shù)據(jù)報文;通知報文構(gòu)造單元702,用于根據(jù)所述數(shù)據(jù)報文,構(gòu)造所述符合所述session對應(yīng)的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn)的通知報文;通知報文發(fā)送單元703,用于將所述通知報文發(fā)送給所述session對應(yīng)的網(wǎng)絡(luò)終端;使用本發(fā)明裝置的第二實(shí)施例,在老化了一個session后,如果接收到需要命中該session的數(shù)據(jù)報文,直接將所述數(shù)據(jù)報文修改成通知報文,從而可以減少構(gòu)造通知報文需要的資源。
本發(fā)明提供的NAT設(shè)備的第二實(shí)施例,包括本發(fā)明提供的老化session后通知網(wǎng)絡(luò)終端的裝置的第二實(shí)施例所描述的裝置。
從以上描述的本發(fā)明實(shí)施例可以看出,當(dāng)老化了一個session后,可以很快的通知網(wǎng)絡(luò)終端,使網(wǎng)絡(luò)終端可以很快地就重新建立連接,而不需要等待較長的重試時間,從而提高了應(yīng)用程序的響應(yīng)速度。在本發(fā)明提供的一個實(shí)施例中,直接將不能命中session的數(shù)據(jù)報文修改為通知報文,從而可以節(jié)省構(gòu)造通知報文的資源,并且能夠盡快的構(gòu)造出通知報文;本發(fā)明提供的另一個實(shí)施例在老化session后主動根據(jù)session記錄的信息構(gòu)造通知報文,從而使網(wǎng)絡(luò)終端能夠在session被老化后立即得知對應(yīng)的網(wǎng)絡(luò)連接不可用,從而作對應(yīng)的操作,進(jìn)一步提高了應(yīng)用程序的響應(yīng)速度。
以上對本發(fā)明實(shí)施例所提供的一種老化session后通知網(wǎng)絡(luò)終端的方法及裝置、NAT設(shè)備進(jìn)行了詳細(xì)介紹,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種老化session后通知網(wǎng)絡(luò)終端的方法,其特征在于,包括構(gòu)造通知報文,所述通知報文符合老化的gession對應(yīng)的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn);將所述通知報文發(fā)送給所述session對應(yīng)的網(wǎng)絡(luò)終端。
2.如權(quán)利要求1所述的老化session后通知網(wǎng)絡(luò)終端的方法,其特征在于,所述網(wǎng)絡(luò)協(xié)議為傳輸控制協(xié)議TCP協(xié)議。
3.如權(quán)利要求2所述的老化session后通知網(wǎng)絡(luò)終端的方法,其特征在于,所述構(gòu)造通知報文具體為收到需要命中所述session的數(shù)據(jù)報文;根據(jù)所述數(shù)據(jù)報文構(gòu)造所述通知報文。
4.如權(quán)利要求3所述的老化session后通知網(wǎng)絡(luò)終端的方法,其特征在于,所述根據(jù)所述數(shù)據(jù)報文構(gòu)造所述通知報文具體為將所述數(shù)據(jù)報文中源網(wǎng)絡(luò)終端和目的網(wǎng)絡(luò)終端的網(wǎng)絡(luò)地址對換、或?qū)⑺鰯?shù)據(jù)報文中源網(wǎng)絡(luò)終端和目的網(wǎng)絡(luò)終端的網(wǎng)絡(luò)地址和端口分別對換;將所述數(shù)據(jù)報文的報文頭設(shè)置為通知報文標(biāo)志;為所述數(shù)據(jù)報文設(shè)置序列號,并刪除所述數(shù)據(jù)報文超過預(yù)置長度的部分;重新為所述數(shù)據(jù)報文計(jì)算校驗(yàn)值,將所述數(shù)據(jù)報文封裝成符合所述網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn)的所述通知報文。
5.如權(quán)利要求3或4所述的老化session后通知網(wǎng)絡(luò)終端的方法,其特征在于,所述session對應(yīng)的網(wǎng)絡(luò)終端為發(fā)送所述數(shù)據(jù)報文的網(wǎng)絡(luò)終端。
6.如權(quán)利要求2所述的老化session后通知網(wǎng)絡(luò)終端的方法,其特征在于,所述構(gòu)造通知報文具體為根據(jù)所述session對應(yīng)的網(wǎng)絡(luò)連接兩端對應(yīng)的網(wǎng)絡(luò)終端的網(wǎng)絡(luò)地址、或網(wǎng)絡(luò)地址和端口號,按照所述網(wǎng)絡(luò)協(xié)議的標(biāo)準(zhǔn)構(gòu)造所述通知報文。
7.如權(quán)利要求6所述的老化session后通知網(wǎng)絡(luò)終端的方法,其特征在于,所述session對應(yīng)的網(wǎng)絡(luò)終端為,所述session對應(yīng)的網(wǎng)絡(luò)連接兩端的網(wǎng)絡(luò)終端。
8.如權(quán)利要求2、3、4、6和7任一所述的老化session后通知網(wǎng)絡(luò)終端的方法,其特征在于,所述通知報文為TCP_RST報文。
9.一種老化session后通知網(wǎng)絡(luò)終端的裝置,其特征在于,包括通知報文構(gòu)造單元,用于構(gòu)造通知報文,所述通知報文符合老化的session對應(yīng)的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn);通知報文發(fā)送單元,用于將所述通知報文發(fā)送給所述session對應(yīng)的網(wǎng)絡(luò)終端。
10.如權(quán)利要求9所述的老化session后通知網(wǎng)絡(luò)終端的裝置,其特征在于,還包括數(shù)據(jù)報文接收單元,用于接收來自所述網(wǎng)絡(luò)終端的需要命中所述session的數(shù)據(jù)報文;所述通知報文構(gòu)造單元用于根據(jù)所述數(shù)據(jù)報文,構(gòu)造所述符合所述session對應(yīng)的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn)的通知報文。
11.一種NAT設(shè)備,其特征在于,包括老化session后通知網(wǎng)絡(luò)終端的裝置,所述老化session后通知網(wǎng)絡(luò)終端的裝置包括通知報文構(gòu)造單元,用于構(gòu)造通知報文,所述通知報文符合老化的session對應(yīng)的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn);通知報文發(fā)送單元,用于將所述通知報文發(fā)送給所述session對應(yīng)的網(wǎng)絡(luò)終端。
12.一種NAT設(shè)備,其特征在于,包括老化session后通知網(wǎng)絡(luò)終端的裝置,所述老化session后通知網(wǎng)絡(luò)終端的裝置包括數(shù)據(jù)報文接收單元,用于接收來自網(wǎng)絡(luò)終端的數(shù)據(jù)報文,所述數(shù)據(jù)報文需要命中老化的session;通知報文構(gòu)造單元,用于根據(jù)所述數(shù)據(jù)報文,構(gòu)造所述符合所述老化的session對應(yīng)的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn)的通知報文;通知報文發(fā)送單元,用于將所述通知報文發(fā)送給所述網(wǎng)絡(luò)終端。
全文摘要
本發(fā)明公開了老化session后通知網(wǎng)絡(luò)終端的方法及裝置、NAT設(shè)備,其中方法包括構(gòu)造通知報文,所述通知報文符合老化的session對應(yīng)的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn);將所述通知報文發(fā)送給所述session對應(yīng)的網(wǎng)絡(luò)終端;裝置包括通知報文構(gòu)造單元,用于構(gòu)造通知報文,所述通知報文符合老化的session對應(yīng)的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn);通知報文發(fā)送單元,用于將所述通知報文發(fā)送給所述session對應(yīng)的網(wǎng)絡(luò)終端。使用本發(fā)明可以在老化了session后,NAT設(shè)備可以主動將session對應(yīng)的連接不可用的信息通知網(wǎng)絡(luò)終端,從而提高應(yīng)用程序的響應(yīng)速度。
文檔編號H04L29/12GK101035070SQ200710007150
公開日2007年9月12日 申請日期2007年2月5日 優(yōu)先權(quán)日2007年2月5日
發(fā)明者龐銀卓, 譚學(xué)飛 申請人:華為技術(shù)有限公司