国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備類型的判斷方法和系統(tǒng)的制作方法

      文檔序號:7696141閱讀:107來源:國知局
      專利名稱:網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備類型的判斷方法和系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別是涉及一種網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備類型的 判斷方法和系統(tǒng)。
      背景技術(shù)
      網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translator,以下簡稱NAT)是通過 將內(nèi)部私有網(wǎng)絡(luò)(以下簡稱內(nèi)網(wǎng))的網(wǎng)絡(luò)地址翻i奪成合法公共網(wǎng)絡(luò)(以下 簡稱公網(wǎng))地址,從而對外隱藏內(nèi)網(wǎng)的IP地址的技術(shù)。內(nèi)部節(jié)點(diǎn)在內(nèi)網(wǎng)中 使用內(nèi)網(wǎng)地址,而當(dāng)內(nèi)部節(jié)點(diǎn)要與公網(wǎng)進(jìn)行通訊時,可在NAT設(shè)備處將內(nèi)部 地址轉(zhuǎn)換成公網(wǎng)地址,使得內(nèi)網(wǎng)節(jié)點(diǎn)可在公網(wǎng)(如因特網(wǎng))上正常使用。NAT 技術(shù)有效解決了公共IP地址緊缺的問題。通過NAT技術(shù),包括多臺計算機(jī)的 一個內(nèi)網(wǎng)可僅申請一個或少量的合法IP地址,就可4巴整個內(nèi)網(wǎng)中的計算機(jī)接 入到因特網(wǎng)中。此時,NAT屏蔽了內(nèi)部網(wǎng)絡(luò),所有內(nèi)網(wǎng)計算機(jī)對于公網(wǎng)而言 是不可見的,且內(nèi)部計算機(jī)用戶通常不會意識到NAT的存在。
      NAT在因特網(wǎng)上的大規(guī)模使用為現(xiàn)有的網(wǎng)絡(luò)應(yīng)用,尤其是對等通信(Pear to Pear,簡稱P2P )帶來了 一些問題。例如由于NAT技術(shù)改變了網(wǎng)絡(luò)數(shù)據(jù) 包的地址信息,沒有獨(dú)立IP地址的內(nèi)網(wǎng)節(jié)點(diǎn)之間無法采用現(xiàn)有的通信協(xié)議對 等連接成功。為了使得沒有獨(dú)立IP地址的節(jié)點(diǎn)之間能夠建立對等連接,現(xiàn)有 技術(shù)采用的方法是根據(jù)內(nèi)網(wǎng)節(jié)點(diǎn)連接的NAT設(shè)備類型,發(fā)起相應(yīng)的繞過NAT 設(shè)備的連網(wǎng)策略,從而使得內(nèi)網(wǎng)節(jié)點(diǎn)能夠繞開其連接的NAT設(shè)備進(jìn)入公網(wǎng)。 因此,準(zhǔn)確的判斷NAT設(shè)備類型對選用有效連接策略,提高對等通信設(shè)備之 間的連通率有重要作用。現(xiàn)有的NAT設(shè)備主要分為四種類型受限錐形、不 受限錐形、受限對稱和不受限對稱。不同的NAT設(shè)備具有不同的特性。在獲 知NAT設(shè)備類型信息基礎(chǔ)上選用相應(yīng)的連網(wǎng)策略,目前已有很多成熟的做法,使得對等通信設(shè)備能夠繞開各自使用的NAT設(shè)備進(jìn)入^^網(wǎng),建立對等連接。 但在判斷NAT設(shè)備類型方面尚缺少有效方法。通常,現(xiàn)有技術(shù)采用的是猜測 方法試探與對等設(shè)備所使用的NAT設(shè)備的類型。如果NAT設(shè)備類型的猜測結(jié) 果正確,系統(tǒng)發(fā)起的繞開NAT策略可有效建立對等設(shè)備之間的對等連接;但 如果猜測結(jié)果錯誤,對等設(shè)備之間的連接失敗。
      發(fā)明人在實(shí)現(xiàn)本發(fā)明過程中發(fā)現(xiàn),現(xiàn)有的猜測NAT設(shè)備類型的方法準(zhǔn)確 性不高,由于猜測未能夠有效保證NAT設(shè)備類型的準(zhǔn)確性,因而未能采取相 應(yīng)的繞過NAT設(shè)備的連網(wǎng)策略,從而降低對等通信設(shè)備之間的連通率。因此, 現(xiàn)有技術(shù)尚缺少快速、準(zhǔn)確判斷NAT設(shè)備類型的有效方法。

      發(fā)明內(nèi)容
      本發(fā)明要解決的技術(shù)問題是提供一種網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備類型的判斷方法 和系統(tǒng),實(shí)現(xiàn)快速并準(zhǔn)確判斷網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備類型。
      為解決上述技術(shù)問題,本發(fā)明提供了 一種網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備類型的判斷 方法,包括
      客戶端通過NAT設(shè)備分別向第一服務(wù)器和第二服務(wù)器發(fā)送數(shù)據(jù)請求包; 所述第一服務(wù)器和第二服務(wù)器提供相同的服務(wù);所述第 一服務(wù)器接收到的數(shù) 據(jù)請求包中包括所述NAT設(shè)備為所述客戶端分配的第一地址信息;所述第二 服務(wù)器接收到的數(shù)據(jù)請求包中包括所述NAT設(shè)備為所述客戶端分配的第二地 址信息;
      所述第一服務(wù)器和第二服務(wù)器根據(jù)所述第一地址信息或第二地址信息發(fā) 送響應(yīng)包;
      所述第 一服務(wù)器或第二服務(wù)器向參考服務(wù)器發(fā)送指示信息,用于觸發(fā)所 述參考服務(wù)器根據(jù)所述第一地址信息或第二地址信息發(fā)送參考響應(yīng)包;所述 參考服務(wù)器與第 一服務(wù)器或第二服務(wù)器提供不同服務(wù);
      所述客戶端根據(jù)接收到的響應(yīng)包和/或參考響應(yīng)包的接收情況,識別所述NAT設(shè)備的類型。
      為解決上述技術(shù)問題,本發(fā)明還提供了 一種網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備類型的判 斷系統(tǒng),包括客戶端、NAT設(shè)備、第一服務(wù)器、第二服務(wù)器和參考服務(wù)器; 所述客戶端通過所述NAT設(shè)備與所述第一服務(wù)器或第二服務(wù)器通信連接;所 述第 一服務(wù)器和第二服務(wù)器提供相同服務(wù);所述參考月l務(wù)器提供與所述第一 服務(wù)器或第二服務(wù)器提供不同服務(wù);
      所述客戶端包括請求發(fā)送模塊,用于通過NAT設(shè)備分別向第一服務(wù)器和 第二服務(wù)器發(fā)送數(shù)據(jù)請求包;所述第一服務(wù)器接收到的數(shù)據(jù)請求包中包括所 述NAT設(shè)備為所述客戶端分配的第一地址信息;所述第二服務(wù)器接收到的數(shù) 據(jù)請求包中包括所述NAT設(shè)備為所述客戶端分配的第二地址信息;
      所述第一服務(wù)器和第二服務(wù)器用于根據(jù)所述第一地址信息或第二地址信 息發(fā)送響應(yīng)包;在接收到數(shù)據(jù)請求包時,所述第一服務(wù)器或第二服務(wù)器還用 于向參考服務(wù)器發(fā)送指示信息,用于觸發(fā)所述參考服務(wù)器根據(jù)所述第一地址 信息或第二地址信息發(fā)送參考響應(yīng)包;
      所述客戶端還包括識別模塊,用于根據(jù)接收到的響應(yīng)包和/或參考響應(yīng)包 的接收情況,識別所述NAT設(shè)備的類型。
      本發(fā)明提供的網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備類型的判斷方法和系統(tǒng)中,通過選取未 與客戶端通信的服務(wù)器為參考服務(wù)器,在第一服務(wù)器和第二服務(wù)器接收到客 戶端發(fā)送的數(shù)據(jù)請求包時,觸發(fā)參考服務(wù)器通過NAT設(shè)備向客戶端發(fā)送參考 響應(yīng)包,客戶端根據(jù)接收響應(yīng)包的具體情況,以及接收到的響應(yīng)包中包括的 地址信息,可快速并準(zhǔn)確獲知NAT設(shè)備的類型,為后續(xù)文件傳輸或音視頻交 流建立直接連接做好準(zhǔn)備,提升了用戶之間直接網(wǎng)絡(luò)交互的概率,有利于縮 短用戶建立直接溝通所花費(fèi)的時間,從而提供了更好的用戶體驗。
      下面通過附圖和實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。


      具體實(shí)施例方式
      本發(fā)明實(shí)施例中,第 一服務(wù)器和第二服務(wù)器即為客戶端提供相同服務(wù) (如用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol,以下簡稱UDP)服務(wù)), 且在程序邏輯上已與客戶端建立通信聯(lián)系的服務(wù)器;參考服務(wù)器為客戶端提 供不同服務(wù)(如不同UDP服務(wù));可在程序邏輯上保證在預(yù)設(shè)時間間隔內(nèi), 客戶端不會主動與參考服務(wù)器發(fā)生通信聯(lián)系,但在收到第一服務(wù)器或第二服 務(wù)器的指示信息后,參考服務(wù)器會發(fā)送參考響應(yīng)包給客戶端。第一服務(wù)器、 第二服務(wù)器和參考服務(wù)器分別具有各自獨(dú)立的公網(wǎng)IP地址。
      圖1為本發(fā)明NAT設(shè)備類型的判斷系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖。如圖1所 示,本發(fā)明NAT設(shè)備類型判斷系統(tǒng)中,包括第一服務(wù)器ll、第二服務(wù)器12、 參考服務(wù)器13、客戶端14和MT設(shè)備15。第一服務(wù)器ll、第二服務(wù)器12 和參考服務(wù)器13位與公網(wǎng)中,分別具有獨(dú)立的公網(wǎng)IP地址。第一服務(wù)器ll 和第二服務(wù)器12用于為客戶端14提供相同的UDP服務(wù),參考服務(wù)器13用于 為客戶端14提供不同于第一服務(wù)器11或第二服務(wù)器12所提供的UDP服務(wù)。 在端口設(shè)置具體實(shí)現(xiàn)上,例如第一服務(wù)器11和第二服務(wù)器12可綁定不同 端口 (如不同的UDP端口),參考服務(wù)器13綁定的端口與第一服務(wù)器11 或第二服務(wù)器12綁定的端口不同(如參考服務(wù)器13綁定的UDP端口不同)。 當(dāng)然,端口設(shè)置方式也不限于此,如為了提高NAT設(shè)備15類型識別的安全 性,第一服務(wù)器11和第二服務(wù)器12也可綁定相同的UDP端口等。
      客戶端14位于內(nèi)網(wǎng)中,通過NAT設(shè)備15連接到公網(wǎng)中,與第一服務(wù)器 11和第二服務(wù)器12建立通信連接。該NAT設(shè)備15可具體為NAT網(wǎng)關(guān)。在客 戶端14與位于公網(wǎng)的網(wǎng)元建立通信連接時,需要通過NAT設(shè)備15將客戶端14內(nèi)網(wǎng)地址轉(zhuǎn)換成公網(wǎng)地址,即NAT設(shè)備15為客戶端14分配公網(wǎng)的IP地 址/端口對。在客戶端14與不同網(wǎng)元建立通信連接時,NAT設(shè)備15分配公網(wǎng) 的IP地址/端口對可能相同,也可能不同。
      客戶端可包括請求發(fā)送模塊141和識別模塊142。
      請求發(fā)送模塊141用于向通過NAT設(shè)備15分別向第一服務(wù)器11和第二 服務(wù)器12發(fā)送數(shù)據(jù)請求包。經(jīng)過NAT設(shè)備15進(jìn)行地址轉(zhuǎn)換,第一服務(wù)器11 接收到的數(shù)據(jù)請求包中包括MT設(shè)備15為客戶端14分配的第一地址信息; 第二服務(wù)器12接收到的數(shù)據(jù)請求包中包括NAT設(shè)備15為客戶端14分配的第 二地址信息。具體的,客戶端14向第一服務(wù)器ll發(fā)送第一數(shù)據(jù)請求包時, MT設(shè)備15將客戶端14的內(nèi)網(wǎng)地址轉(zhuǎn)換成公網(wǎng)地址,為客戶端14分配第一 地址,第一地址信息包括第一 IP地址和第一端口。該第一地址信息對于客戶 端14是未知的;在NAT設(shè)備15向第一服務(wù)器11轉(zhuǎn)發(fā)第一數(shù)據(jù)請求包時,會 攜帶第一地址信息,因而第一服務(wù)器器ll根據(jù)接收到的第一數(shù)據(jù)請求包,可 獲取MT設(shè)備15為客戶端14分配的第一地址信息。類似地,客戶端14向 第二服務(wù)器12發(fā)送第二數(shù)據(jù)包時,NAT設(shè)備15將客戶端14的內(nèi)網(wǎng)地址轉(zhuǎn)換 成公網(wǎng)地址,為客戶端14分配第二地址,第二地址信息包括第二 IP地址和 第二端口。該第二地址信息對于客戶端14是未知的;在NAT設(shè)備15向第二 服務(wù)器12轉(zhuǎn)發(fā)第二數(shù)據(jù)請求包時,會攜帶第二地址信息,因而第二服務(wù)器器 12根據(jù)接收到的第二數(shù)據(jù)請求包,可獲取NAT設(shè)備15為客戶端14分配的第 二地址信息。
      識別模塊1"用于根據(jù)接收到的響應(yīng)包和/或參考響應(yīng)包的接收情況,識 別客戶端14所使用的NAT設(shè)備15的類型。識別模塊142可包括第一識別單 元1421、第二識別單元1422和第三識別單元1423。
      第一識別單元1421用于根據(jù)接收到的第一服務(wù)器11和第二服務(wù)器12 發(fā)送的響應(yīng)包(第一響應(yīng)包和第二響應(yīng)包),比較第一地址信息和第二地址 信息是否相同;如果相同,識別NAT設(shè)備15的類型為錐形NAT設(shè)備;如果不
      10同,識別NAT設(shè)備15的類型為對稱NAT設(shè)備。第一地址信息為所述NAT設(shè)備為所述客戶端分配的第一 IP地址和第一端口;所述第二地址信息為所述NAT設(shè)備為所述客戶端地址分配的第二 IP地址和第二端口;所述第一地址信息與所述第二地址信息不同包括第一 IP地址和第二 IP地址不同,且第一端口與第二端口不同;第一 IP地址和第二 IP地址相同,且第一端口與第二端口不同;或者,第一 IP地址和第二 IP地址不同,且第一端口與第二端口相同。
      第二識別單元1422用于在第一識別單元1421識別出NAT設(shè)備15的類型為錐形NAT設(shè)備時,判斷NAT設(shè)備15是否接收到參考響應(yīng)包,如果有,識別NAT設(shè)備15的類型為不受限錐形NAT設(shè)備;如果沒有,識別NAT設(shè)備15的類型為受限錐形NAT設(shè)備。
      第三識別單元1423用于在第一識別單元1421識別出NAT設(shè)備15的類型為對稱NAT設(shè)備時,判斷NAT設(shè)備15是否接收到參考響應(yīng)包,如果有,識別NAT設(shè)備15的類型為不受限對稱NAT設(shè)備;如果沒有,識別NAT設(shè)備15的類型為受限對稱NAT設(shè)備。
      本實(shí)施例通過選取未與客戶端通信的服務(wù)器為參考服務(wù)器,在第一服務(wù)器和第二服務(wù)器接收到客戶端發(fā)送的數(shù)據(jù)請求包時,觸發(fā)參考服務(wù)器通過NAT設(shè)備向客戶端發(fā)送參考響應(yīng)包,客戶端根據(jù)接收響應(yīng)包的具體情況,以及接收到的響應(yīng)包中包括的地址信息,可快速并準(zhǔn)確獲知NAT設(shè)備的類型,為后續(xù)文件傳輸或音視頻交流建立直接連接做好準(zhǔn)備,提升了用戶之間直接網(wǎng)絡(luò)
      交互的概率,有利于縮短用戶建立直接溝通所花費(fèi)的時間,從而提供了更好的用戶體驗。
      如圖1所示,在本實(shí)施例技術(shù)方案的基礎(chǔ)上,客戶端14還可包括獲取模塊143。獲取模塊143用于獲取第一服務(wù)器11、第二服務(wù)器12以及參考服務(wù)器13的地址信息。在客戶端14具體獲取地址信息的方式上,可將第一服務(wù)器11、第二服務(wù)器12以及參考服務(wù)器13的地址信息預(yù)先存儲在客戶端14
      上,也可在客戶端14登錄過程中從服務(wù)器側(cè)獲取,該服務(wù)器側(cè)可為客戶端登
      ii錄的注冊服務(wù)器,例如,在客戶端登錄即時通訊(以下簡稱IM)軟件時,接收IM服務(wù)器下發(fā)的第一服務(wù)器、第二服務(wù)器以及參考服務(wù)器的地址信息并存儲。
      本發(fā)明NAT設(shè)備類型的判斷系統(tǒng)各網(wǎng)元之間的交互流程可參見以下本發(fā)明NAT設(shè)備類型的判斷方法第一實(shí)施例和第二實(shí)施例,以及圖2-3的記載。
      圖2為本發(fā)明NAT設(shè)備類型的判斷方法第一實(shí)施例的流程圖。關(guān)于運(yùn)行本實(shí)施例的系統(tǒng)實(shí)施例可參見圖1。如圖2所示,本實(shí)施例包括
      步驟21 、客戶端通過NAT設(shè)備分別向第 一服務(wù)器和第二服務(wù)器發(fā)送數(shù)據(jù)請求包。第一服務(wù)器和第二服務(wù)器綁定相同UDP服務(wù);并且第一服務(wù)器接收到的數(shù)據(jù)請求包中包括NAT設(shè)備為客戶端分配的第一地址信息;第二服務(wù)器接收到的數(shù)據(jù)請求包中包括NAT設(shè)備為客戶端分配的第二地址信息。
      步驟22、第一服務(wù)器根據(jù)第一地址信息發(fā)送響應(yīng)包;第二服務(wù)器根據(jù)第二地址信息發(fā)送響應(yīng)包。
      步驟23、第一服務(wù)器或第二服務(wù)器向參考服務(wù)器發(fā)送指示信息,用于觸發(fā)參考服務(wù)器根據(jù)第一地址信息或第二地址信息發(fā)送參考響應(yīng)包;參考服務(wù)器與第一服務(wù)器或第二服務(wù)器綁定不同UDP服務(wù)。
      步驟24、客戶端根據(jù)接收到的響應(yīng)包和/或參考響應(yīng)包的接收情況,識別客戶端所使用的NAT設(shè)備的類型。
      在上述技術(shù)方案的基礎(chǔ)上,在客戶端向第 一服務(wù)器或第二服務(wù)器發(fā)送數(shù)據(jù)請求包之前,還可包括客戶端獲取第一服務(wù)器、第二服務(wù)器和參考服務(wù)器地址信息。在客戶端具體獲取所需的地址信息的具體方式上,客戶端可預(yù)先存儲第一服務(wù)器、第二服務(wù)器和參考服務(wù)器的地址信息?;蛘?,在客戶端登錄過程中獲取服務(wù)器側(cè)下發(fā)的第 一服務(wù)器、第二服務(wù)器和參考服務(wù)器的地址信息。客戶端在獲取地址信息后,分別向第一服務(wù)器和第二服務(wù)器發(fā)送數(shù)據(jù)請求包;而客戶端不會主動發(fā)送數(shù)據(jù)請求包給參考服務(wù)器,但在第一服務(wù)器或第二服務(wù)器在接收到客戶端發(fā)送的數(shù)據(jù)請求包時,會指示參考服務(wù)器向客戶端發(fā)送響應(yīng)包,此時,客戶端是否能接收到來自參考服務(wù)器的響應(yīng)包,與
      客戶端所使用的NAT設(shè)備的類型有關(guān)。
      現(xiàn)有的NAT設(shè)備主要分為四種類型受限錐形、不受限錐形、受限對稱和不受限對稱??蛻舳送ㄟ^NAT設(shè)備向第一服務(wù)器發(fā)送第一數(shù)據(jù)請求包、向第二服務(wù)器發(fā)送第二數(shù)據(jù)請求包,NAT設(shè)備將客戶端的內(nèi)網(wǎng)地址轉(zhuǎn)換成公網(wǎng)地址,如公網(wǎng)的IP地址/端口對。在該情形下,對于四種不同類型的NAT設(shè)備存在如下特性
      如果NAT設(shè)備類型為受限錐形(Restricted Cone),在第一服務(wù)器和第二服務(wù)器看來,第一數(shù)據(jù)請求包和第二數(shù)據(jù)請求包來自相同地址,即發(fā)送第一數(shù)據(jù)請求包的NAT設(shè)備和發(fā)送第二數(shù)據(jù)請求包的NAT設(shè)備的IP地址和端口都相同。而受限錐形的NAT設(shè)備通常只能接收到程序邏輯上已經(jīng)有通信連接的第一服務(wù)器和第二服務(wù)器發(fā)送的數(shù)據(jù)請求包,不能收到程序邏輯上未有聯(lián)系的參考服務(wù)器的數(shù)據(jù)請求包。通常,在一定時間段內(nèi),二個設(shè)備之間沒有通信聯(lián)系,則可認(rèn)為二個設(shè)備在程序邏輯上未有聯(lián)系;這段時間的長短是隨網(wǎng)絡(luò)狀況不同而略有不同。
      如果NAT設(shè)備類型為不受限錐形(Full Cone),在第一服務(wù)器和第二服務(wù)器看來,第一數(shù)據(jù)請求包和第二數(shù)據(jù)請求包來自相同地址,即發(fā)送第一數(shù)據(jù)請求包的NAT設(shè)備和發(fā)送第二數(shù)據(jù)請求包的NAT設(shè)備的IP地址和端口都相同。而不受限錐形的NAT設(shè)備通??山邮盏匠绦蜻壿嬌弦呀?jīng)有通信連接的第一服務(wù)器和第二服務(wù)器發(fā)送的數(shù)據(jù)請求包,還可收到程序邏輯上未有聯(lián)系的參考服務(wù)器的數(shù)據(jù)請求包。
      如果NAT設(shè)備類型為受限對稱(Restricted Symmetric),在第一服務(wù)器和第二服務(wù)器看來,第一數(shù)據(jù)請求包和第二數(shù)據(jù)請求包來自不同地址,即發(fā)送第一數(shù)據(jù)請求包的NAT設(shè)備和發(fā)送第二數(shù)據(jù)請求包的NAT設(shè)備的IP地址和端口都不相同,或者IP地址相同但端口不同。而受限對稱的NAT設(shè)備通常只能接收到程序邏輯上已經(jīng)有通信連接的第一服務(wù)器和第二服務(wù)器發(fā)送的數(shù)據(jù)請求包,不能收到程序邏輯上未有聯(lián)系的參考服務(wù)器的數(shù)據(jù)請求包。
      如果NAT設(shè)備類型為不受限錐形(Non-Restricted Symmetric),在第一服務(wù)器和第二服務(wù)器看來,第一數(shù)據(jù)請求包和第二數(shù)據(jù)請求包來自不同地址,即發(fā)送第一數(shù)據(jù)請求包的NAT設(shè)備和發(fā)送第二數(shù)據(jù)請求包的NAT設(shè)備的IP地址和端口都不相同,或者IP地址相同^f旦端口不同。而不受限對稱的NAT設(shè)備通??山邮盏匠绦蜻壿嬌弦呀?jīng)有通信連接的第一服務(wù)器和第二服務(wù)器發(fā)送的數(shù)據(jù)請求包,還可收到程序邏輯上未有聯(lián)系的參考服務(wù)器的數(shù)據(jù)請求包。
      發(fā)明人在實(shí)現(xiàn)本發(fā)明過程中發(fā)現(xiàn),如果客戶端獲取了 NAT設(shè)備分配給客戶端的地址信息,可有效區(qū)分該NAT設(shè)備的類型為錐形或?qū)ΨQ;如果進(jìn)一步獲取了 NAT設(shè)備接收與該NAT設(shè)備程序邏輯上有聯(lián)系以及程序邏輯上未有聯(lián)系的響應(yīng)包的接收情況,即可進(jìn)一步判斷該錐形NAT設(shè)備為受限錐形或不受限錐形,以及對稱NAT設(shè)備為受限對稱或不受限對稱,從而可快速、準(zhǔn)確的判斷客戶端使用的NAT設(shè)備的類型。因此,識別客戶端使用的NAT設(shè)備類型的關(guān)鍵,在于如何獲取上述信息。本實(shí)施例通過二類UDP服務(wù),并選取未與客戶端通信的服務(wù)器為參考服務(wù)器,在第一服務(wù)器和第二服務(wù)器接收到客戶端發(fā)送的數(shù)據(jù)請求包時,觸發(fā)參考服務(wù)器通過NAT設(shè)備向客戶端發(fā)送參考響應(yīng)包,客戶端根據(jù)接收響應(yīng)包的具體情況,以及接收到的響應(yīng)包中包括的地址信息,即可快速獲知NAT設(shè)備的類型,相對于現(xiàn)有技術(shù)猜測NAT設(shè)備類型的方法,本實(shí)施例明顯提高了 NAT設(shè)備類型判別的準(zhǔn)確性,為后續(xù)文件傳輸或音視頻交流建立直接連接做好準(zhǔn)備,提升了用戶之間直接網(wǎng)絡(luò)交互的概率,有利于縮短用戶建立直接溝通所花費(fèi)的時間,從而提供了更好的用戶體驗。
      圖3為本發(fā)明NAT設(shè)備類型的判斷方法第二實(shí)施例的信令交互圖。關(guān)于運(yùn)行本實(shí)施例的系統(tǒng)實(shí)施例可參見圖1。如圖3所示,本實(shí)施例包括
      步驟31、客戶端向NAT設(shè)備發(fā)送第一數(shù)據(jù)請求包,該第一數(shù)據(jù)請求包攜帶第一服務(wù)器的IP地址和端口信息。
      步驟32、 NAT設(shè)備將客戶端的內(nèi)網(wǎng)地址轉(zhuǎn)換成公網(wǎng)地址,即為客戶端分為客戶端分配的公網(wǎng)的第一IP地址和第一端口信息,并將攜帶有第一地址信息的第一數(shù)據(jù)請求包發(fā)送給第一服務(wù)器。
      步驟33、第一服務(wù)器根據(jù)第一地址信息向NAT設(shè)備發(fā)送第一響應(yīng)包,該第 一響應(yīng)包中包括第 一地址信息。
      步驟34、 NAT設(shè)備將接收的第一響應(yīng)包轉(zhuǎn)發(fā)給客戶端。
      步驟35、客戶端向NAT設(shè)備發(fā)送第二數(shù)據(jù)請求包,該第二數(shù)據(jù)請求包攜帶第二服務(wù)器的IP地址和端口信息。
      步驟36、 NAT設(shè)備將客戶端的內(nèi)網(wǎng)地址轉(zhuǎn)換成公網(wǎng)地址,即為客戶端分配第二地址信息,該第二地址信息包括NAT為客戶端分配的公網(wǎng)的第二 IP地址和第二端口信息,并將攜帶有第二地址信息的第二數(shù)據(jù)請求包發(fā)送給第二服務(wù)器。
      步驟37、第二服務(wù)器根據(jù)第二地址信息向NAT設(shè)備發(fā)送第二響應(yīng)包,該
      第二響應(yīng)包中包括第二地址信息。
      步驟38、 NAT設(shè)備將接收的第二響應(yīng)包轉(zhuǎn)發(fā)給客戶端。
      步驟39、在第一服務(wù)器接收到攜帶有第一地址信息的第一數(shù)據(jù)請求包
      時,向參考服務(wù)器發(fā)送指示信息,該指示信息用于觸發(fā)參考服務(wù)器根據(jù)第一
      地址信息發(fā)送參考響應(yīng)包。
      上述技術(shù)方案中,客戶端向第一服務(wù)器或第二服務(wù)器發(fā)送數(shù)據(jù)請求包的
      執(zhí)行次序并無限定;此外,在第二服務(wù)器接收到攜帶有第二地址信息的第二
      數(shù)據(jù)請求包時,也可由第二服務(wù)器向參考服務(wù)器發(fā)送指示信息(圖3未示出)。步驟310、參考服務(wù)器根據(jù)第一地址信息向NAT設(shè)備發(fā)送參考響應(yīng)包。由于參考服務(wù)器與客戶端在程序邏輯上是未建立通信連接,因此,MT
      設(shè)備類型不同,NAT設(shè)備是否能夠接收得到參考服務(wù)器發(fā)送的參考響應(yīng)包的
      具體情況不同。如果NAT設(shè)備能夠接收到客戶端發(fā)送的參考響應(yīng)包,執(zhí)行步
      驟311;否則,執(zhí)行步驟312。步驟311、 NAT設(shè)備將接收的參考響應(yīng)包轉(zhuǎn)發(fā)給客戶端。
      步驟312、客戶端根據(jù)接收的第一響應(yīng)包和第二響應(yīng)包,和/或客戶端接收參考響應(yīng)包的具體情況,識別該客戶端所使用的NAT設(shè)備的類型。
      如果客戶端接收到的來自第 一服務(wù)器的第 一響應(yīng)包中包括的第 一地址信息,與來自第二服務(wù)器的第二響應(yīng)包的第二地址信息相同,例如第一IP地址與第二IP地址相同,且第一端口信息與第二端口信息相同,則該客戶端所使用的NAT設(shè)備的類型為錐形;如果第一地址信息與第二地址信息不同,例如第一 IP地址與第二 IP地址不同且第一端口信息與第二端口信息不同;或第一 IP地址與第二 IP地址相同且第一端口信息與第二端口信息不同;或第一 IP地址與第二 IP地址不同且第一端口信息與第二端口信息相同,則該客戶端所使用的NAT設(shè)備的類型為對稱。
      在判斷出客戶端使用的NAT設(shè)備類型為錐形NAT設(shè)備時,客戶端進(jìn)一步根據(jù)接收參考服務(wù)器發(fā)送的參考響應(yīng)包的具體情況,進(jìn)一步判定錐形NAT設(shè)備的類型為受限錐形或不受限錐形。具體為,如果客戶端接收到參考響應(yīng)包,則該錐形NAT設(shè)備的類型為不受限錐形;否則,該錐形NAT設(shè)備的類型為受限錐形。
      類似地,在判斷出客戶端使用的NAT設(shè)備類型為對成NAT設(shè)備時,客戶端進(jìn)一步根據(jù)接收參考服務(wù)器發(fā)送的參考響應(yīng)包的具體情況,進(jìn)一步判定對成MT設(shè)備的類型為受限對稱或不受限對稱。具體為,如果客戶端接收到參考響應(yīng)包,則該對稱NAT設(shè)備的類型為不受限對稱;否則,該對稱NAT設(shè)備的類型為受限對稱。通常,是在預(yù)設(shè)時間段內(nèi),判斷客戶端是否接收到參考響應(yīng)包。該預(yù)設(shè)時間段的選取依據(jù)不同的網(wǎng)絡(luò)狀況,而略有不同。優(yōu)選的,該時間_險可為20秒至40秒。
      本實(shí)施例通過二類UDP服務(wù),并選取未與客戶端通信的服務(wù)器為參考服務(wù)器,在第一服務(wù)器和第二服務(wù)器接收到客戶端發(fā)送的數(shù)據(jù)請求包時,觸發(fā)參考服務(wù)器通過NAT設(shè)備向客戶端發(fā)送參考響應(yīng)包,客戶端根據(jù)接收響應(yīng)包的具體情況,以及接收到的響應(yīng)包中包括的地址信息,即可快速并準(zhǔn)確獲知
      NAT設(shè)備的類型。
      本領(lǐng)域普通技術(shù)人員可以理解附圖只是一個優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。
      本領(lǐng)域普通技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個或多個裝置中。上述實(shí)施例的模塊可以合并為一個it塊,也可以進(jìn)一步拆分成多個子模塊。
      上述本發(fā)明實(shí)施例序號僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
      本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括R0M、 RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
      最后應(yīng)說明的是以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明實(shí)施例技術(shù)方案的精神和范圍。
      權(quán)利要求
      1、一種網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備類型的判斷方法,其特征在于,包括客戶端通過網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備分別向第一服務(wù)器和第二服務(wù)器發(fā)送數(shù)據(jù)請求包;所述第一服務(wù)器和第二服務(wù)器提供相同的服務(wù);所述第一服務(wù)器接收到的數(shù)據(jù)請求包中包括所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備為所述客戶端分配的第一地址信息;所述第二服務(wù)器接收到的數(shù)據(jù)請求包中包括所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備為所述客戶端分配的第二地址信息;所述第一服務(wù)器和第二服務(wù)器根據(jù)所述第一地址信息或第二地址信息發(fā)送響應(yīng)包;所述第一服務(wù)器或第二服務(wù)器向參考服務(wù)器發(fā)送指示信息,用于觸發(fā)所述參考服務(wù)器根據(jù)所述第一地址信息或第二地址信息發(fā)送參考響應(yīng)包;所述參考服務(wù)器與第一服務(wù)器或第二服務(wù)器提供不同服務(wù);所述客戶端根據(jù)接收到的響應(yīng)包和/或參考響應(yīng)包的接收情況,識別所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備的類型。
      2、 根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備類型的判斷方法,其特征在 于,在所述客戶端發(fā)送數(shù)據(jù)請求包之前,還包括所述客戶端獲取所述第一 服務(wù)器、第二服務(wù)器和參考服務(wù)器的地址信息。
      3、 根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備類型的判斷方法,其特征在 于,所述客戶端獲取所述第一服務(wù)器、第二服務(wù)器和參考服務(wù)器的地址信息, 包括所述客戶端預(yù)先存儲所述第一服務(wù)器、第二服務(wù)器和參考服務(wù)器的地址 "息5所述客戶端接收服務(wù)器側(cè)下發(fā)的所述第一服務(wù)器、第二服務(wù)器和參考服 務(wù)器的地址信息。
      4、 根據(jù)權(quán)利要求1-3所述的任一網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備類型的判斷方法,其 特征在于,所述客戶端根據(jù)接收到的響應(yīng)包和/或參考響應(yīng)包的接收情況,識別所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備的類型,包括所述客戶端根據(jù)接收到所述第一服務(wù)器和第二服務(wù)器發(fā)送的響應(yīng)包,比較 所述第一地址信息和第二地址信息是否相同;如果相同,識別所述網(wǎng)絡(luò)地址轉(zhuǎn) 換設(shè)備的類型為錐形網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備;如果不同,識別所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè) 備的類型為對稱網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備。
      5、 根據(jù)權(quán)利要求4所述的網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備類型的判斷方法,其特征在于,在識別出所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備的類型為錐形網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備時,判 斷所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備是否接收到所述參考響應(yīng)包,如果有,識別所述網(wǎng) 絡(luò)地址轉(zhuǎn)換設(shè)備的類型為不受限錐形網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備;如果沒有,識別所 述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備的類型為受P艮錐形網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備;在識別出所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備的類型為對稱網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備時,判 斷所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備是否接收到所述參考響應(yīng)包,如果有,識別所述網(wǎng) 絡(luò)地址轉(zhuǎn)換設(shè)備的類型為不受限對稱網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備;如果沒有,識別所 述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備的類型為受限對稱網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備。
      6、 根據(jù)權(quán)利要求3所述的網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備類型的判斷方法,其特征在 于,所述第一地址信息為所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備為所述客戶端分配的第一 IP 地址和第一端口 ;所述第二地址信息為所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備為所述客戶端 地址轉(zhuǎn)換的第二 IP地址和第二端口;所述第一地址信息與所述第二地址信息 不同包括所述第一 IP地址和第二 IP地址不同,且第一端口與第二端口不同;或 所述第一 IP地址和第二 IP地址相同,且第一端口與第二端口不同;或 所述第一 IP地址和第二 IP地址不同,且第一端口與第二端口相同。
      7、 一種網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備類型的判斷系統(tǒng),其特征在于,包括客戶端、 網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備、第一服務(wù)器、第二服務(wù)器和參考服務(wù)器;所述客戶端通 過所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備與所述第 一服務(wù)器或第二服務(wù)器通信連接;所述第一服務(wù)器和第二服務(wù)器提供相同服務(wù);所述參考服務(wù)器提供與所述第 一服務(wù) 器或第二服務(wù)器提供不同服務(wù);所述客戶端包括請求發(fā)送模塊,用于通過網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備分別向第一 服務(wù)器和第二服務(wù)器發(fā)送數(shù)據(jù)請求包;所述第一服務(wù)器接收到的數(shù)據(jù)請求包 中包括所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備為所述客戶端分配的第一地址信息;所述第二 服務(wù)器接收到的數(shù)據(jù)請求包中包括所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備為所述客戶端分配 的第二地址信息;所述第一服務(wù)器和第二服務(wù)器用于根據(jù)所述第一地址信息或第二地址信 息發(fā)送響應(yīng)包;在接收到數(shù)據(jù)請求包時,所述第一服務(wù)器或第二服務(wù)器還用 于向參考服務(wù)器發(fā)送指示信息,用于觸發(fā)所述參考服務(wù)器根據(jù)所述第一地址 信息或第二地址信息發(fā)送參考響應(yīng)包;所述客戶端還包括識別模塊,用于根據(jù)接收到的響應(yīng)包和/或參考響應(yīng)包 的接收情況,識別所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備的類型。
      8、 根據(jù)權(quán)利要求7所述的網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備類型的判斷系統(tǒng),其特征在 于,所述客戶端還包括獲取模塊,用于獲取所述第一服務(wù)器、第二服務(wù)器和參考服務(wù)器的地址 信息。
      9、 根據(jù)權(quán)利要求7或8所述的網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備類型的判斷系統(tǒng),其特 征在于,所述識別模塊包括第一識別單元,用于才艮據(jù)接收到所述第一服務(wù)器和第二服務(wù)器發(fā)送的響 應(yīng)包,比較所述第一地址信息和第二地址信息是否相同;如果相同,識別所 述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備的類型為錐形網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備;如果不同,識別所述 網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備的類型為對稱網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備。
      10、 根據(jù)權(quán)利要求9所述的網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備類型的判斷系統(tǒng),其特征 在于,所述識別模塊還包括第二識別單元,用于在所述第 一識別單元識別出所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備的類型為錐形網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備時,判斷所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備是否接收到 所述參考響應(yīng)包,如果有,識別所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備的類型為不受限錐形網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備;如果沒有,識別所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備的類型為受限錐 形網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備;第三識別單元,用于在所述第一識別單元識別出所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備 的類型為對稱網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備時,判斷所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備是否接收到 所述參考響應(yīng)包,如果有,識別所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備的類型為不受限對稱 網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備;如果沒有,識別所述網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備的類型為受限對 稱網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備。
      全文摘要
      本發(fā)明涉及一種網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備類型的判斷方法和系統(tǒng)。該方法包括客戶端通過NAT設(shè)備分別向第一和第二服務(wù)器發(fā)送數(shù)據(jù)請求包;第一和第二服務(wù)器提供相同的服務(wù);第一服務(wù)器接收到的數(shù)據(jù)請求包中包括NAT設(shè)備為客戶端分配的第一地址信息;第二服務(wù)器接收到的數(shù)據(jù)請求包中包括NAT設(shè)備為客戶端分配的第二地址信息;第一和第二服務(wù)器發(fā)送響應(yīng)包;并向參考服務(wù)器發(fā)送指示信息,用于觸發(fā)參考服務(wù)器發(fā)送參考響應(yīng)包;參考服務(wù)器與第一服務(wù)器或第二服務(wù)器提供不同服務(wù);客戶端根據(jù)接收到的響應(yīng)包和/或參考響應(yīng)包的接收情況,識別NAT設(shè)備類型。本發(fā)明可快速并準(zhǔn)確判斷客戶端所使用的NAT設(shè)備的類型,有利于提高對等設(shè)備的連通率。
      文檔編號H04L29/12GK101651721SQ20081011836
      公開日2010年2月17日 申請日期2008年8月14日 優(yōu)先權(quán)日2008年8月14日
      發(fā)明者佐 余, 劉明海, 張燕靜, 段志民, 王云鵬 申請人:百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1