亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

使用本地網(wǎng)絡(luò)的私用ip地址的通信的制作方法

文檔序號(hào):7675344閱讀:372來源:國知局
專利名稱:使用本地網(wǎng)絡(luò)的私用ip地址的通信的制作方法
技術(shù)領(lǐng)域
本申請涉及使用本地網(wǎng)絡(luò)地址來在位于不同網(wǎng)絡(luò)中的設(shè)備間進(jìn)行通信的系統(tǒng)和方法。
背景技術(shù)
在當(dāng)今的通信領(lǐng)域中,工程師始終遭遇到兩個(gè)問題第一為表示所有網(wǎng)絡(luò)用戶的因特
網(wǎng)協(xié)議(internetprotocol, "IP")地址的短缺,而第二則與網(wǎng)絡(luò)地址轉(zhuǎn)換(networkaddress translation, "NAT")以及局域網(wǎng)("LAN")層級(jí)的防火墻的廣泛使用相關(guān)聯(lián)。對很多必須
(essentially)要求用戶間直接通信或?qū)Φ?peer-to-peer)通信的應(yīng)用來講,這兩個(gè)問題導(dǎo) 致了實(shí)質(zhì)性的困難或增加成本。例如,程序員不得不為IP應(yīng)用設(shè)想特定的隧穿(tunneling) 方法來穿透不同類型的NAT。在不斷增加數(shù)量的移動(dòng)用戶連接到無線網(wǎng)絡(luò)并使用對等IP 應(yīng)用(例如在線游戲、IP電話、文件共享程序、在線協(xié)作應(yīng)用、IPTV,即時(shí)消息工具
(messenger)和其他類型的交互應(yīng)用)之后,預(yù)期這樣的困難會(huì)顯著地更為嚴(yán)重。
盡管已經(jīng)提出和設(shè)計(jì)了 IPv6來減輕獨(dú)有網(wǎng)絡(luò)地址的短缺,但是當(dāng)前基于IPv4的基礎(chǔ) 架構(gòu)預(yù)期要共存一段時(shí)間。為了開拓當(dāng)前基礎(chǔ)架構(gòu)的能力且滿足不斷增加的需求,需要提 供這樣的系統(tǒng)和方法,所述系統(tǒng)和方法使工作在網(wǎng)絡(luò)地址端口轉(zhuǎn)換("NAPT")或基本NAT 設(shè)備之后的設(shè)備或節(jié)點(diǎn)之間能夠進(jìn)行直接的、對等的IP通信。

發(fā)明內(nèi)容
本發(fā)明提供針對通信目的使用私用(private) IP地址來表示不同網(wǎng)絡(luò)中的主機(jī)設(shè)備或 節(jié)點(diǎn)的系統(tǒng)、裝置和方法。本發(fā)明的各個(gè)實(shí)施方案解決在IPv4架構(gòu)下公用(public) IP地 址短缺的問題。在本發(fā)明的一個(gè)實(shí)施方案中,提供動(dòng)態(tài)的NAT穿透能力,從而該能力擴(kuò) 展在因特網(wǎng)上運(yùn)行對等應(yīng)用的能力。
從附圖以及下面的詳細(xì)描述將清楚本發(fā)明的其他目的、特征和優(yōu)點(diǎn)。


將參考本發(fā)明的實(shí)施方案,本發(fā)明的實(shí)施例可以在附圖中圖示說明。這些附圖旨在為 圖示說明性的而非限制性的。盡管在這些實(shí)施方案的上下文中一般性地描述了本發(fā)明,但 是應(yīng)該理解,并不打算將本發(fā)明的范圍限制到這些具體的實(shí)施方案。
圖1圖示基于傳統(tǒng)DNS尋址的通信系統(tǒng)。 圖2圖示包括路由器的通信系統(tǒng)。 圖3圖示包括NAPT的通信系統(tǒng)。 圖4圖示根據(jù)本發(fā)明的一個(gè)實(shí)施方案的通信系統(tǒng)。 圖5圖示根據(jù)本發(fā)明的一個(gè)實(shí)施方案的主機(jī)設(shè)備。 圖6圖示根據(jù)本發(fā)明的一個(gè)實(shí)施方案的通信系統(tǒng)的另一個(gè)實(shí)施方案。 圖7A圖示根據(jù)本發(fā)明的一個(gè)實(shí)施方案的地址轉(zhuǎn)換服務(wù)的實(shí)施方案。 圖7B圖示根據(jù)本發(fā)明的一個(gè)實(shí)施方案的地址轉(zhuǎn)換服務(wù)的另一個(gè)實(shí)施方案。 圖7C圖示根據(jù)本發(fā)明的一個(gè)實(shí)施方案對有效載荷(payload)數(shù)據(jù)進(jìn)行地址轉(zhuǎn)換的實(shí) 施方案。
圖8是圖示在根據(jù)本發(fā)明的一個(gè)實(shí)施方案的通信系統(tǒng)中由發(fā)方(sender)進(jìn)行的步驟 的流程圖。
圖9是圖示在根據(jù)本發(fā)明的一個(gè)實(shí)施方案的通信系統(tǒng)中由收方(recipient)進(jìn)行的步 驟的流程圖。
具體實(shí)施例方式
出于解釋的目的而給出以下描述,以便提供對本發(fā)明的理解。然而,明顯地,熟悉本 領(lǐng)域技術(shù)人員將認(rèn)識(shí)到本發(fā)明的實(shí)施方案(其中一些在下面描述)可以被包括在很多不同 的計(jì)算系統(tǒng)和設(shè)備中。本發(fā)明的實(shí)施方案可以存在于硬件、軟件或固件中。下面以框圖示 出的結(jié)構(gòu)和設(shè)備是本發(fā)明示例性實(shí)施方案的圖示說明,并且意圖要避免模糊本發(fā)明。此外, 附圖內(nèi)組件之間的連接并不打算被限制為直接連接。相反,這些組件之間的數(shù)據(jù)可以被中 間組件修改、重新定格式或者以其他方式改變。
說明書中提及"一個(gè)實(shí)施方案"、"在一個(gè)實(shí)施方案中",或者"實(shí)施方案"等等,意指連 同所述實(shí)施方案描述的具體特征、結(jié)構(gòu)、特性或功能被包括在本發(fā)明的至少一個(gè)實(shí)施方案 中。短語"在一個(gè)實(shí)施方案中"在說明書中不同地方的出現(xiàn)不一定全是指同一實(shí)施方案。
圖1圖示使用傳統(tǒng)DNS系統(tǒng)的通信系統(tǒng)100。為了具有字母域名alice.servernamel.net 的主機(jī)設(shè)備101與具有字母域名bob.servername2.net的另一主機(jī)設(shè)備102通信,主機(jī)設(shè)備 依賴于DNS服務(wù)系統(tǒng)將字母域名轉(zhuǎn)換為實(shí)際的IP地址。如所圖示的,DNS系統(tǒng)可以包括 根(root) DNS服務(wù)器——權(quán)威(authoritative) DNS服務(wù)器106和遞歸式(recursive) DNS 服務(wù)器104、 106,以及分別位于主機(jī)設(shè)備101和102中的DNS解析器108和110。通過 DNS系統(tǒng),主機(jī)設(shè)備101能夠査找主機(jī)設(shè)備102的IP地址,作為實(shí)施例,該IP地址被轉(zhuǎn) 換為100.2.3.4。主機(jī)設(shè)備101能夠查找主機(jī)設(shè)備101的IP地址,作為實(shí)施例,該IP地址 被轉(zhuǎn)換為200.5.6.7。
圖2圖示在通信系統(tǒng)100中基于IP協(xié)議的數(shù)據(jù)流。為了充當(dāng)源設(shè)備的主機(jī)設(shè)備101 傳輸數(shù)據(jù)以達(dá)到目的地——主機(jī)設(shè)備102,通常存在數(shù)個(gè)進(jìn)行路由服務(wù)的路由設(shè)備,例如
204、 206、 208、 210等等。以實(shí)施例的方式,主機(jī)設(shè)備101可以通過其TCP/IP棧201發(fā) 送出因特網(wǎng)協(xié)議(IP)分組(packet)。通過指明源和目的地地址及端口 200.5.6.7:56以及 目的地地址和端口 100.2.3.4:78而指定該分組。路由設(shè)備識(shí)別該IP分組,并且以正常程序 完成經(jīng)由其TCP/IP棧202到主機(jī)設(shè)備101的數(shù)據(jù)轉(zhuǎn)發(fā)。
圖3圖示當(dāng)主機(jī)設(shè)備101置于支持NAPT的(NAPT-enabled)路由設(shè)備302之后時(shí)的 數(shù)據(jù)流。主機(jī)設(shè)備101和主機(jī)設(shè)備102不具有真正的"端到端(end-to-end)"連接性 (co皿ectivity)。局域網(wǎng)300向主機(jī)設(shè)備101分派一私用IP地址子網(wǎng)10.0.0.11。主機(jī)設(shè) 備101本身不具有公用IP地址。連接到同一網(wǎng)絡(luò)300的路由設(shè)備302還以公用地址 200.5.6.7連接到因特網(wǎng)。當(dāng)主機(jī)設(shè)備101與主機(jī)設(shè)備102通信時(shí),在NAPT的典型配置中, 在IP分組從路由設(shè)備302傳送時(shí),該分組上的源地址從源的私用地址轉(zhuǎn)換為公用地址, 并且端口號(hào)被映射。例如,如所圖示的,路由設(shè)備302從TCP/IP棧201接收被表示為源 地址/端口 10.0.0.11:56而目的地地址/端口 100.0.3.4:78的IP分組。在進(jìn)行NAPT之后,路 由設(shè)備302將該分組轉(zhuǎn)變?yōu)楸槐硎緸樵?端口 200.5.6.7:92到目的/端口 100.2.3.4:78的分組。
隨后,其他路由設(shè)備208、 210和206依照路由協(xié)議根據(jù)該指明的目的轉(zhuǎn)發(fā)該IP分組。
路由設(shè)備302在向外(outbound)階段跟蹤關(guān)于每個(gè)活動(dòng)連接的數(shù)據(jù)(尤其是目的地 地址和端口)。當(dāng)主機(jī)設(shè)備102將應(yīng)答返回到路由設(shè)備302 (例如源100.2.3.4:78到目的/ 端口 200.5.6.7:92)時(shí),它使用其在向外階段儲(chǔ)存的連接跟蹤數(shù)據(jù)來確定在本地網(wǎng)絡(luò)300 上向何處轉(zhuǎn)發(fā)該應(yīng)答。在這種情況下,路由設(shè)備302將該應(yīng)答標(biāo)識(shí)為意圖到主機(jī)設(shè)備101, 并隨后將其轉(zhuǎn)發(fā)到主機(jī)設(shè)備101。
盡管NAT技術(shù)的使用是普遍的,并且?guī)椭鉀QIP地址短缺的問題,但是其有時(shí)候?qū)?主機(jī)通信導(dǎo)致嚴(yán)重的問題。在支持NAT的設(shè)備(例如路由器)之后的主機(jī)通常不能參與 一些因特網(wǎng)協(xié)議。 一些需要從外部網(wǎng)絡(luò)發(fā)起TCP連接的因特網(wǎng)服務(wù),或者諸如使用UDP 的那些無狀態(tài)協(xié)議(stateless protocol),可能被打斷,尤其是當(dāng)雙邊均在支持NAT的設(shè) 備之后時(shí)。
圖4圖示根據(jù)本發(fā)明的一個(gè)實(shí)施方案的通信系統(tǒng)的實(shí)施例。該通信系統(tǒng)可以是支持IP 通信的有線計(jì)算網(wǎng)絡(luò)或者任何無線網(wǎng)絡(luò)(例如WiFi或GSM/UMTS)。主機(jī)設(shè)備406和主 機(jī)設(shè)備408能夠基于IP連接互相通信。主機(jī)設(shè)備406和408可以是運(yùn)行IP應(yīng)用的計(jì)算機(jī) 或移動(dòng)電話設(shè)備。
主機(jī)設(shè)備406被配置為與支持NAPT的設(shè)備402連接。主機(jī)設(shè)備406和支持NAPT 的設(shè)備402屬于網(wǎng)絡(luò)420。主機(jī)設(shè)備408被配置為與支持NAPT的設(shè)備404連接。主機(jī)設(shè) 備408和支持NAPT的設(shè)備404屬于網(wǎng)絡(luò)422。作為在本地網(wǎng)絡(luò)420和422使用NAT技 術(shù)的結(jié)果,主機(jī)設(shè)備406和408不具有其自己的公用IP地址。主機(jī)設(shè)備406和主機(jī)設(shè)備 408分別被分派一內(nèi)部IP網(wǎng)絡(luò)地址(私用IP地址)。例如,管控網(wǎng)絡(luò)420的網(wǎng)絡(luò)管理員為主機(jī)設(shè)備406分派192.168.10.1作為私用IP地址。類似地,管控網(wǎng)絡(luò)422的網(wǎng)絡(luò)管理員 為主機(jī)設(shè)備408分派192.168.20.2作為私用IP地址。
主機(jī)設(shè)備406和408之間的通信依賴于如圖3中所描述的支持NAPT的設(shè)備402和 404。典型地,該通信通過IP連接426來實(shí)現(xiàn)。
根據(jù)本發(fā)明的實(shí)施方案,網(wǎng)絡(luò)422和網(wǎng)絡(luò)420兩者均連接到服務(wù)器401。服務(wù)器401 根據(jù)其自身的規(guī)則向位于網(wǎng)絡(luò)422和網(wǎng)絡(luò)420的主機(jī)設(shè)備分派分別的字母域名。例如。服 務(wù)器401向主機(jī)設(shè)備406分派 一 呈servemame.domainl形式的域名(例如 alice.servername.net),而向主機(jī)設(shè)備408分派一呈servername.domain2形式的域名(例如 bob.servername.net)。所分派的域名是世界范圍獨(dú)有的,并且是獨(dú)立的。
服務(wù)器401具有其自身的域名,例如servemame.net。在一個(gè)實(shí)施方案中,服務(wù)器401 可以被視為私用DNS系統(tǒng)的合成(composition)。由服務(wù)器401形成的私用DNS系統(tǒng)能 夠向請求這樣的域名的任何一方分派世界獨(dú)有的字母域名。例如,域名的分派過程可以由 主機(jī)設(shè)備406和408各自發(fā)送的請求來發(fā)起。 一旦接收到所述請求,服務(wù)器401以特定格 式(例如membername.servername.net)分派域名。在該特定的示例性形式中,成員名稱 (membername)是由請求設(shè)備選定的,并且最終由服務(wù)器401核準(zhǔn)(approve)以確保該 成員名稱的獨(dú)有性。在向主機(jī)設(shè)備分派域名之后,主機(jī)設(shè)備向服務(wù)器401或相關(guān)聯(lián)的私用 DNS系統(tǒng)登記(register)。
服務(wù)器401維護(hù)可以如何到達(dá)所登記的主機(jī)設(shè)備的當(dāng)前信息。例如,服務(wù)器401可以 保持與主機(jī)設(shè)備406 alice.servername.net的活動(dòng)TCP/IP連接。如果主機(jī)設(shè)備406例如通過 移動(dòng)到不同網(wǎng)絡(luò)而改變其位置,則主機(jī)設(shè)備將向服務(wù)器401更新該位置信息。
應(yīng)該理解,服務(wù)器401實(shí)際上可以實(shí)現(xiàn)在適當(dāng)?shù)挠布希⑶也⒎潜仨毑扇∮?jì)算機(jī)服 務(wù)器的形式。服務(wù)器401在物理上可以位于網(wǎng)絡(luò)420和網(wǎng)絡(luò)422中。
在網(wǎng)絡(luò)420中,當(dāng)主機(jī)設(shè)備406初始想要與主機(jī)設(shè)備408連接時(shí),私用IP地址被動(dòng) 態(tài)地分派給主機(jī)設(shè)備408,盡管主機(jī)設(shè)備408不屬于網(wǎng)絡(luò)420,或者不以其他方式受網(wǎng)絡(luò) 420管理。如圖4中所圖示的,網(wǎng)絡(luò)420動(dòng)態(tài)地向具有域名bob.servername.net的主機(jī)設(shè)備 408分派私用IP地址10.0.0.11。向主機(jī)設(shè)備408分派網(wǎng)絡(luò)420的私用IP地址的目的之一 是創(chuàng)建在與主機(jī)設(shè)備408通信時(shí)使用專用公用IP地址的替代方案。如下面進(jìn)一步地描述 的,主機(jī)設(shè)備406在發(fā)起會(huì)話來傳輸IP分組時(shí)使用私用IP地址10.0.0.11來表示主機(jī)設(shè)備 408以及與主機(jī)設(shè)備408通信。主機(jī)設(shè)備406可能甚至不知道主機(jī)設(shè)備408不是駐留在網(wǎng) 絡(luò)420中的設(shè)備,但是主機(jī)設(shè)備406以如同主機(jī)設(shè)備408是屬于同一網(wǎng)絡(luò)的設(shè)備那樣與主 機(jī)設(shè)備408通信。
重要的是注意在某些情況下出于商業(yè)或技術(shù)的理由而獲取一公用IP地址范圍來分派
給網(wǎng)絡(luò)外的主機(jī)設(shè)備。對于設(shè)備之間的通信來說這些公用IP地址的"私用化(privatization)" 可以是高效的。 一旦獲取這些公用IP地址,它們不再為公用因特網(wǎng)所用。
當(dāng)主機(jī)設(shè)備406所運(yùn)行的應(yīng)用發(fā)起與主機(jī)設(shè)備408通信的請求,重定向模塊和傳輸模 塊412接收該請求和數(shù)據(jù)分組,并且自動(dòng)地在各種NAT穿透或NAT隧穿技術(shù)中進(jìn)行選擇 來實(shí)施。結(jié)果,該請求和IP分組在網(wǎng)絡(luò)422中重定向和傳輸模塊414的協(xié)作下穿過支持 NAPT的設(shè)備402和404。私用IP地址的使用與NAT穿透/隧穿技術(shù)的組合克服了使用 NAT或NAPT的潛在復(fù)雜性,并且大大地提高了"端到端"連接性。這為很多對等應(yīng)用創(chuàng) 建了非常有益的技術(shù)基礎(chǔ)架構(gòu)來直接通信而不會(huì)嚴(yán)重受到NAT/NAPT的妨礙。
為了理解釆用NAT/NAPT穿透或隧穿技術(shù)的技術(shù),以實(shí)施例的方式,普遍使用的NAT 穿透或隧穿技術(shù)可以包括ICE、 STUN協(xié)議和其他穿孔(hole-punching)技術(shù)。具體地, 實(shí)施STUN協(xié)議("NAT上的UDP簡單穿越(Simple Traversal of UDP over NATs)")的 技術(shù)來為基于UDP的應(yīng)用穿越NAT或NAPT。(參見Newport Networks Limited的題為 "NAT Traversal for Multimedia over IP Services (IP服務(wù)上多媒體的NAT穿越)"的白皮書, http://www.newport-networks.com/whitepapers/nat-traversall.html)。
對于運(yùn)行一些VoIP應(yīng)用的主機(jī)設(shè)備來說,要成功穿透各種防火墻或NAT,可以實(shí)施 ICE ("交互式連接性建立(Interactive Connectivity Establishment)")的技術(shù)。(參見作者 為Cisco Systems的J. Rosenberg、題為"Interactive Connectivity Establishment (ICE) : A Methodology for Network Address Translator (NAT) Traversal for Offer/Answer Protocols (交 互式連接性建立(ICE): —種用于許諾/應(yīng)答協(xié)議的網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)穿越方法)" 的白皮書,http://www.ietf.org/internet-drafts/draft-ietf-mmusic-ice-06.txt)。
關(guān)于被用來實(shí)施本發(fā)明的實(shí)施方案的各種NAT穿透或NAT穿越技術(shù)的更一般的討 論,題為"Peer-to-Peer Communication Across Network Address Translators (跨越網(wǎng)絡(luò)地址轉(zhuǎn) 換的對等通信)"的白皮書(作者為麻省理工大學(xué)的Biyan Ford, Caymas Systems Inc.的Pyda Srisuresh, 以及kegel.com的Dan Kegel, http://www.brynosaurus.com/put/net/p2pnat/)可以是參考之一,并且其通過引用被包括在本申請中。
還應(yīng)該理解,NAT穿透或隧穿服務(wù)包括在有線網(wǎng)絡(luò)和無線網(wǎng)絡(luò)兩者中的那些協(xié)議。 例如,在GSM或UMTS網(wǎng)絡(luò)中,GPRS隧穿協(xié)議被用來為不同的端用戶建立隧穿以在從 不同位置移動(dòng)的同時(shí)繼續(xù)連在因特網(wǎng)上。無論本發(fā)明用在有線網(wǎng)絡(luò)還是用在無線網(wǎng)絡(luò),選 擇適當(dāng)?shù)腘AT穿透或隧穿服務(wù)或技術(shù)來使它們自己適于網(wǎng)絡(luò)環(huán)境。結(jié)果,計(jì)算設(shè)備或移 動(dòng)設(shè)備使用收方的域名,該域名隨后動(dòng)態(tài)地與該計(jì)算設(shè)備或移動(dòng)設(shè)備的本地網(wǎng)絡(luò)的私用IP 地址相關(guān)聯(lián)為收方的目的地地址,并且不管NAT或NAPT路由器的存在而順暢地通信。
當(dāng)所述請求和IP分組被接收到并且穿透支持NAPT的設(shè)備404通過通信信道426時(shí), 所述請求和相關(guān)聯(lián)的IP分組傳送通過重定向和傳輸模塊414,并根據(jù)本地網(wǎng)絡(luò)配置最終到
達(dá)主機(jī)設(shè)備408。
如本發(fā)明的實(shí)施方案中描述的,圖4中描述的重定向和傳輸模塊412還可以位于與防 火墻固件組合的支持NAPT的設(shè)備402 (例如路由器)中,或者位于主機(jī)設(shè)備406中。重 定向和傳輸模塊412還可以位于同一網(wǎng)絡(luò)420中的另一聯(lián)網(wǎng)設(shè)備中。重定向和傳輸模塊412 的確切位置取決于硬件和通信網(wǎng)絡(luò)的配置。類似地,重定向和傳輸模塊414可以位于支持 NAPT的設(shè)備404中、主機(jī)設(shè)備408中,或者位于網(wǎng)絡(luò)422中的另一聯(lián)網(wǎng)設(shè)備中。
類似地,位于網(wǎng)絡(luò)422中的設(shè)備實(shí)施上述方法,并且使用相同的硬件結(jié)構(gòu)來與位于網(wǎng) 絡(luò)420的設(shè)備通信。例如,在網(wǎng)絡(luò)422中,主機(jī)設(shè)備408具有私用IP地址192.168.20.2。 主機(jī)設(shè)備408被服務(wù)器401分派bob.servername.net的域名。在主機(jī)設(shè)備408向服務(wù)器401 登記后,主機(jī)設(shè)備408能夠通過主機(jī)設(shè)備406的域名alice.servername.net得知主機(jī)設(shè)備406 的存在。網(wǎng)絡(luò)422隨后向主機(jī)設(shè)備406 (alice.servername.net)分派私用IP地址,例如 10.0.0.12。當(dāng)運(yùn)行在主機(jī)設(shè)備408上的應(yīng)用發(fā)起與主機(jī)設(shè)備406通信的請求時(shí),主機(jī)設(shè)備 408通過10.0.0.12與主機(jī)設(shè)備406聯(lián)系。如下面進(jìn)一步闡述的,這樣的請求和相關(guān)聯(lián)的數(shù) 據(jù)分組被重定向和傳輸模塊414處理,并且通過實(shí)施隧穿技術(shù)而傳送通過支持NAPT的設(shè) 備404。所述請求和分組依次(in turn)轉(zhuǎn)移到網(wǎng)絡(luò)420,并最終到達(dá)意圖的主機(jī)設(shè)備406。
盡管在圖4中未圖示,但是網(wǎng)絡(luò)420和網(wǎng)絡(luò)422可以包括多個(gè)主機(jī)設(shè)備。每個(gè)主機(jī)設(shè) 備被服務(wù)器401分派一獨(dú)有的呈membername.servername.domain形式的字母域名。對于網(wǎng) 絡(luò)420中的設(shè)備想要與其通信的網(wǎng)絡(luò)422中的每個(gè)主機(jī)設(shè)備,網(wǎng)絡(luò)420分派一私用IP地 址來與網(wǎng)絡(luò)422中的各個(gè)主機(jī)設(shè)備的字母域名的每一個(gè)相關(guān)聯(lián)。類似地,對于網(wǎng)絡(luò)422中 的某些設(shè)備想要與其通信的網(wǎng)絡(luò)420中的每個(gè)主機(jī)設(shè)備,網(wǎng)絡(luò)422分派一私用IP地址來 與網(wǎng)絡(luò)420中的各個(gè)主機(jī)設(shè)備的字母域名的每一個(gè)相關(guān)聯(lián)。因此,網(wǎng)絡(luò)420內(nèi)所需的動(dòng)態(tài) 分配的私用IP地址的總數(shù)量限于它想要并發(fā)通信的主機(jī)數(shù)量。
應(yīng)該理解,網(wǎng)絡(luò)420和網(wǎng)絡(luò)422可以為LAN或WAN的形式,并且多個(gè)LAN和WAN 可以通過因特網(wǎng)連接到服務(wù)器401。各個(gè)主機(jī)設(shè)備被服務(wù)器401分派一世界范圍獨(dú)有的域 名。在同一本地網(wǎng)絡(luò)內(nèi),私用IP地址被用來與域名相關(guān)聯(lián)來標(biāo)識(shí)位于其他網(wǎng)絡(luò)中的設(shè)備。 在這樣做時(shí),當(dāng)兩個(gè)不同網(wǎng)絡(luò)中的任何設(shè)備在通信時(shí),它們以如同它們是與位于同一網(wǎng)絡(luò) 內(nèi)的另一設(shè)備通信那樣對待另一方。換言之,不同網(wǎng)絡(luò)的任何這些設(shè)備現(xiàn)在以本地地址通 過全球獨(dú)有的域名識(shí)別另一方。使用在每個(gè)網(wǎng)絡(luò)層實(shí)施的自動(dòng)NAPT隧穿和穿透技術(shù),任 何這些設(shè)備以沒有實(shí)質(zhì)性開銷(overhead)的方式通信,改進(jìn)包括對等通信的IP應(yīng)用的端 到端連接性。因此,本文描述的系統(tǒng)和方法以及下面的實(shí)施方案提供了這樣的平臺(tái),該平 臺(tái)省去了IP應(yīng)用(例如對等應(yīng)用)程序員在穿透網(wǎng)絡(luò)上的NAPT上花費(fèi)的額外精力。
應(yīng)該注意,本發(fā)明的益處部分是源自于服務(wù)器401的使用。根據(jù)本發(fā)明的一個(gè)實(shí)施方 案,服務(wù)器401執(zhí)行一功能來建立隧穿服務(wù),或者以其他方式便利(facilitate) NAPT穿 透過程,取決于NAPT穿透或穿越技術(shù)的實(shí)際類型。作為實(shí)施例,主機(jī)設(shè)備406和408維
持與服務(wù)器401的持續(xù)連接。主機(jī)設(shè)備與具有公用地址的服務(wù)器401聯(lián)系,并隨后實(shí)施 UDP穿孔技術(shù)來旁路(bypass)防火墻和支持NAPT的設(shè)備404和402。在根據(jù)本發(fā)明的 可替換的實(shí)施方案中,服務(wù)器401被實(shí)施為分立的模塊。所述模塊之一執(zhí)行為通信設(shè)備分 派獨(dú)有的域名的功能。另一模塊維持與網(wǎng)絡(luò)420和網(wǎng)絡(luò)422的正常聯(lián)系,并且參與用于穿 透任一網(wǎng)絡(luò)處的NAPT設(shè)備的隧穿服務(wù)。
使用服務(wù)器401的另一益處在于如當(dāng)今通信領(lǐng)域所要求那樣改進(jìn)安全性等級(jí)。尤其是 對于對等通信,任一對等設(shè)備可以從任何位置發(fā)送數(shù)據(jù),基于IP的認(rèn)證方法的傳統(tǒng)方式 不再適用。因此,服務(wù)器401可以被實(shí)施來為對等設(shè)備創(chuàng)建特別的認(rèn)證系統(tǒng)。在本發(fā)明的 一個(gè)實(shí)施方案中,在主機(jī)設(shè)備406和408以及在服務(wù)器401中包括分立的認(rèn)證模塊。在這 些認(rèn)證模塊中用于認(rèn)證的確切方法可以不同。
以實(shí)施例的方式,基于密鑰加密的認(rèn)證被實(shí)施在硬件或固件中。在向服務(wù)器401進(jìn)行 登記的時(shí)候,主機(jī)設(shè)備406登記其身份(identity),創(chuàng)建供其自己使用的公鑰/私鑰對, 并且接收服務(wù)器401以服務(wù)器私鑰簽名的數(shù)字證書(certificate)(包括主機(jī)設(shè)備406的身 份,其公鑰,等等)。主機(jī)設(shè)備406還接收服務(wù)器401的公鑰供今后使用。之后,當(dāng)與主 機(jī)設(shè)備408通信時(shí),主機(jī)設(shè)備406使用該數(shù)字證書連同以其私鑰簽名的消息來向主機(jī)設(shè)備 408證明其身份。主機(jī)設(shè)備408被配置為信任服務(wù)器401背書(endorse)或簽名的數(shù)字證 書。通過驗(yàn)證(verify)主機(jī)設(shè)備406的公鑰,主機(jī)設(shè)備408隨后知道主機(jī)設(shè)備406的私 鑰簽名的消息的確是從主機(jī)406發(fā)送的。在該實(shí)施方案中,該認(rèn)證方法僅僅需要服務(wù)器401 的認(rèn)證模塊在主機(jī)設(shè)備登記的時(shí)刻參與。這為大的系統(tǒng)提供期望的可擴(kuò)縮性(scalability)。 此外,主機(jī)設(shè)備和服務(wù)器401的認(rèn)證模塊以各種方法實(shí)施。因此,允許系統(tǒng)設(shè)計(jì)者在應(yīng)用 層提供認(rèn)證功能性而不需要為基礎(chǔ)系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)認(rèn)證模塊。
圖5進(jìn)一步圖示本發(fā)明的實(shí)施方案。在網(wǎng)絡(luò)420中,重定向和傳輸模塊412包括隧穿 服務(wù)模塊510、地址服務(wù)模塊508。主機(jī)設(shè)備406包括IP應(yīng)用模塊504和重定向器模塊506。 以實(shí)施例的方式,當(dāng)在操作時(shí),主機(jī)設(shè)備506運(yùn)行在微軟的Windows操作系統(tǒng)上。當(dāng)IP 應(yīng)用模塊504發(fā)送請求來與bob.servername.net或向服務(wù)器401登記的其他設(shè)備通信時(shí), 這樣的請求被重定向器模塊506截取(intercept)。在一個(gè)實(shí)施方案中,重定向器模塊506 置于位于操作系統(tǒng)內(nèi)核(kernel)中的TCP/IP棧中。注意,如果是第一次在設(shè)備之間作出 該請求,則該第一請求是呈檢索(retrieve)設(shè)備bob.servername.net的IP地址的DNS查詢 (query)的形式。地址服務(wù)模塊508隨后動(dòng)態(tài)地向bob.servername.net分派私用IP地址。 在分派了私用IP地址之后,當(dāng)IP應(yīng)用模塊504發(fā)送任何具有該特定私用IP地址的目的地 地址的IP分組時(shí),重定向器模塊506識(shí)別出數(shù)據(jù)分組意圖被發(fā)送到bob.servername.net。
更具體地,當(dāng)重定向器模塊506以私用IP地址順序地轉(zhuǎn)發(fā)數(shù)據(jù)分組到地址服務(wù)模塊 508時(shí),地址服務(wù)模塊508確定相關(guān)聯(lián)的私用IP地址是否對應(yīng)于這樣的外部設(shè)備,所述外 部設(shè)備對應(yīng)于域名membername.servername.net。 一旦在地址服務(wù)模塊508作出該確定并且 檢索到與相關(guān)聯(lián)的私用IP地址相關(guān)的額外信息,則該IP分組被進(jìn)一步轉(zhuǎn)移到隧穿服務(wù)模
塊510。隧穿服務(wù)模塊510實(shí)施網(wǎng)絡(luò)穿透技術(shù)或中繼技術(shù),從而該通信請求和IP可以穿透 通過支持NAPT的設(shè)備402并到達(dá)設(shè)備408。
圖6進(jìn)一步圖示另一實(shí)施方案并描述在不同LAN中的主機(jī)設(shè)備之間的通信過程。位 于網(wǎng)絡(luò)420中、具有私用IP地址192.168.10.1的主機(jī)設(shè)備406包括運(yùn)行基于IP的應(yīng)用的 IP應(yīng)用模塊634、 TCP/IP棧622和重定向器636。類似于在圖5中描述的,網(wǎng)絡(luò)420包括 地址服務(wù)模塊638、隧穿服務(wù)模塊620、虛擬DNS服務(wù)模塊640和支持NAPT的設(shè)備632。
在網(wǎng)絡(luò)422的一側(cè),還包括支持NAPT的設(shè)備644、隧穿服務(wù)模塊642、地址服務(wù)模 塊648、虛擬DNS服務(wù)模塊640。具有私用IP地址192.168.20.2的主機(jī)設(shè)備408包括重定 向器604、 TCP/IP棧624和IP應(yīng)用模塊612。
在網(wǎng)絡(luò)420中,虛擬DNS服務(wù)模塊602包括這樣的表,所述表儲(chǔ)存網(wǎng)絡(luò)420分派給 其他網(wǎng)絡(luò)中的主機(jī)設(shè)備的私用IP地址,并且將這些私用IP地址與服務(wù)器401 (圖7A中未 描繪)分派的字母域名相關(guān)聯(lián)。例如,對于網(wǎng)絡(luò)422中的主機(jī)設(shè)備408,網(wǎng)絡(luò)420向域名 bob.servername.net分派10.0.0.11。相應(yīng)地,在虛擬DNS服務(wù)模塊602維護(hù)的表中,錄入 表項(xiàng)(entry)來將10.0.0.11與bob.servemame.net相關(guān)聯(lián)。類似地,假設(shè)位于其他網(wǎng)絡(luò)中 的另一主機(jī)設(shè)備被服務(wù)器401分派域名eve.servername.net,并且在網(wǎng)絡(luò)420中被分派IP 地址10.0.0.12,則虛擬DNS服務(wù)模塊602包括表項(xiàng)來關(guān)聯(lián)eve.servername.net與10.0.0.12。
在網(wǎng)絡(luò)422中,虛擬DNS服務(wù)模塊640執(zhí)行與虛擬DNS服務(wù)模塊602類似的功能。 對于網(wǎng)絡(luò)422中具有域名alice.servemame.net的主機(jī)設(shè)備406,虛擬DNS服務(wù)模塊640維 護(hù)一表項(xiàng)來將alice.servername.net與網(wǎng)絡(luò)422分派給主機(jī)設(shè)備406的私用IP地址10.0.0.12 相關(guān)聯(lián)。類似地,對于具有服務(wù)器401分派的eve.servemame.net的主機(jī)設(shè)備,虛擬DNS 服務(wù)模塊602包括一表項(xiàng)來將eve.servername.net與網(wǎng)絡(luò)422分派的私用IP地址10.0.0.11 相關(guān)聯(lián)。值得注意的是,對于具有全球獨(dú)有的域名eve.servername.net的同一主機(jī)設(shè)備,不 同的本地網(wǎng)絡(luò)將其與不同的私用IP地址相關(guān)聯(lián)。對于不同網(wǎng)絡(luò)中與該eve.servemame.net 通信的任何設(shè)備,在其自身網(wǎng)絡(luò)內(nèi)相關(guān)聯(lián)的私用IP地址被用于表示目的地以及便利該通 信。注意,由于地址分派的動(dòng)態(tài)屬性,用于eve.servemame.net的相關(guān)聯(lián)私用IP地址對于 不同網(wǎng)絡(luò)來說可以不同。
下面的描述提供關(guān)于在圖6中描述的實(shí)施方案中從主機(jī)設(shè)備406到主機(jī)設(shè)備408的數(shù) 據(jù)流的更多細(xì)節(jié)。應(yīng)該理解,相同的技術(shù)和數(shù)據(jù)流通過所分派的私用IP地址被用于任何 在支持NAPT的設(shè)備之后的設(shè)備之間的通信中。
在主機(jī)設(shè)備406中,IP應(yīng)用模塊634運(yùn)行使用因特網(wǎng)協(xié)議標(biāo)準(zhǔn)與其他主機(jī)設(shè)備通信的 應(yīng)用程序。這樣的應(yīng)用程序包括諸如微軟Internet Explorer的瀏覽器程序和諸如ICQ、 Yahoo Messenger等的即時(shí)消息工具。這樣的程序還包括共享數(shù)據(jù)和文件的對等應(yīng)用或者在線交 互式游戲應(yīng)用。當(dāng)開始(launch)這樣的應(yīng)用以從alice.servemame.net向bob.servername.net
發(fā)送IP分組時(shí),DNS請求以及之后的IP分組傳送通過TCP/IP棧622。重定向器636是截 取這樣的DNS請求和隨后的IP分組的程序。當(dāng)重定向器636截取DNS請求時(shí),如果重 定向器知道DNS請求是到特別的域名servemame.net,則重定向器636要求(inquire)虛 擬DNS服務(wù)模塊602提供動(dòng)態(tài)分派給bob.servername.net的私用IP地址。在這種情況下, 重定向器636獲得bob.servername.net的私用IP地址10.0.0.11 。隨后的目的地為10.0.0.11 的IP分組也被重定向器636截取。地址服務(wù)模塊638確定目的地地址10.0.0.11的位置, 或者確定它應(yīng)該將IP分組傳送到哪以進(jìn)一步確定目的地地址10.0.0.11。在一個(gè)實(shí)施方案 中,地址服務(wù)模塊638處理該請求和IP分組,然后將它們傳送到隧穿服務(wù)模塊610以穿 透NAT設(shè)備。
隧穿服務(wù)模塊610執(zhí)行取決于IP應(yīng)用的具體類型和支持NAPT的設(shè)備632的類型的 技術(shù)來穿透支持NAPT的設(shè)備632。具體地,隧穿服務(wù)模塊610在alice.servername.net和 bob.servername.net之間建立通信通道(tunnel) 650。由于存在多種方法來進(jìn)行該隧穿服務(wù), 隧穿服務(wù)模塊610智能地確定最佳的隧穿方法以及優(yōu)選的穿透方法。例如,隧穿方法可以 包括以UDP隧穿、以TCP隧穿、以即時(shí)消息或其他消息系統(tǒng)的形式隧穿等等。對于UDP 或TCP隧穿,取決于通信網(wǎng)絡(luò)兩端的NAPT狀況而選擇優(yōu)選的NAPT穿透方法。隧穿服 務(wù)模塊610還基于網(wǎng)絡(luò)420的配置或者IP應(yīng)用的要求來附接(append)封裝頭并且對IP 分組施加可選的壓縮、加密或其他處理。
在IP分組傳送通過支持NAPT的設(shè)備632之后,其被適當(dāng)?shù)芈酚赏ㄟ^通信通道650 到網(wǎng)絡(luò)422所在的服務(wù)器。在網(wǎng)絡(luò)422中,隧穿服務(wù)模塊642使從通信通道650接收的IP 分組能夠傳輸通過支持NAPT的設(shè)備644。隧穿服務(wù)模塊642從該IP分組剝離封裝頭。它 還解壓并解密該IP分組。
地址服務(wù)模塊648轉(zhuǎn)換從隧穿服務(wù)模塊642進(jìn)入的IP分組。圖7A圖示地址服務(wù)模塊 648所進(jìn)行的地址轉(zhuǎn)換的結(jié)果。
如上面描述的,進(jìn)入的IP分組承載(bear)原始的發(fā)方地址192.168.0.1 (alice.servername.net)和目的地地址10.0.0.11。根據(jù)本發(fā)明的一個(gè)實(shí)施方案,地址服務(wù)模 塊648選擇忽略源和目的地地址192.168.0.1和10.0.0.11。相反,地址服務(wù)模塊648基于進(jìn) 入的IP分組是從建立在alice.servername.net和bob.servername.net之間的通信通道650接 收這一事實(shí)來修改源和目的地地址。該源和目的地地址被修改為根據(jù)網(wǎng)絡(luò)422處的網(wǎng)絡(luò)配 置的地址。在該轉(zhuǎn)換之后,經(jīng)轉(zhuǎn)換的IP分組現(xiàn)在承載為10.0.0.12的原始源地址和為 192.168.20.2的目的地地址。如上面所描述的,10.0.0.12是網(wǎng)絡(luò)422分派給主機(jī)設(shè)備406 (alice.servemame.net)的私用IP地址,而192.168.20.2是主機(jī)設(shè)備408的私用IP地址。 這些私用IP地址被儲(chǔ)存在虛擬DNS服務(wù)模塊640中。地址服務(wù)模塊648從虛擬DNS服 務(wù)模塊640檢索相關(guān)的地址信息。
緊跟地址服務(wù)模塊648完成地址轉(zhuǎn)換后,從alice.servemame.net接收的IP分組被網(wǎng)絡(luò)
422根據(jù)網(wǎng)絡(luò)配置傳送到主機(jī)設(shè)備408。
類似地,響應(yīng)于從主機(jī)設(shè)備406接收到請求或者在與主機(jī)設(shè)備406通信的單獨(dú)會(huì)話中, 主機(jī)設(shè)備408通過由隧穿服務(wù)模塊642和隧穿服務(wù)模塊610建立的通信通道發(fā)送IP分纟且 和請求。當(dāng)IP應(yīng)用模塊612請求聯(lián)系alice.servername.net并且發(fā)送IP分組到 alice.servername.net時(shí),該請求傳送通過TCP/IP棧624,并且重定向器604重定向該請求 到地址服務(wù)模塊642。如上面描述的,如果這是重定向器604第一次處理與 alice.servername.net相關(guān)的請求,則它從虛擬DNS服務(wù)模塊640檢索分派給 alice.servername.net的私用IP地址。在這種情況下,與alice.servername.net相關(guān)聯(lián)的私用 IP地址為10.0.0.12。結(jié)果,該IP分組被標(biāo)識(shí)為192.168.20.2到10.0.0.12。當(dāng)?shù)刂贩?wù)模塊 648接收到這樣的IP分組時(shí),它不需要修改原始發(fā)方和目的地的地址。引導(dǎo)到 alice.servername.net的IP分組被隧穿服務(wù)模塊642進(jìn)一步傳輸通過支持NAPT的設(shè)備644。
同樣,隧穿服務(wù)模塊642通過實(shí)施各種隧穿技術(shù)穿透支持NAPT的設(shè)備644和632來 維護(hù)或建立與隧穿服務(wù)模塊610的通信通道650。
當(dāng)IP分組成功地到達(dá)網(wǎng)絡(luò)420隧穿服務(wù)模塊610處,地址服務(wù)模塊638修改或轉(zhuǎn)換 IP分組中的源地址和目的地地址。類似于圖7A的目的,圖7B描述在地址服務(wù)模塊638 處的地址轉(zhuǎn)換結(jié)果。從bob.servername.net和alice.servername.net之間的通信通道接收的進(jìn) 入的IP分組包括網(wǎng)絡(luò)422所分派的原始地址信息。地址服務(wù)模塊638忽視(disregard)該 地址信息,并且基于網(wǎng)絡(luò)420分派的私用IP地址來修改源地址和目的地地址。結(jié)果,經(jīng) 轉(zhuǎn)換的IP分組以新的地址信息即源地址10.0.0.11和目的地地址192.168.0.1指示。對該地 址信息的表示使網(wǎng)絡(luò)420能夠?qū)⒃揑P分組傳送到主機(jī)設(shè)備406。
圖7C示出當(dāng)?shù)刂沸畔⑽挥贗P分組的有效載荷中時(shí)進(jìn)行地址轉(zhuǎn)換的實(shí)施方案。應(yīng)該理 解,對于一些FTP或?qū)Φ葢?yīng)用,源和目的地地址以及DNS名稱位于有效載荷數(shù)據(jù)中。在 本發(fā)明的一個(gè)實(shí)施方案中,地址服務(wù)模塊638或648應(yīng)用邏輯來區(qū)分IP應(yīng)用的具體類型, 并且直接修改有效載荷數(shù)據(jù)所運(yùn)載的IP地址或DNS名稱。
注意到圖6描繪這樣的實(shí)施方案,其中重定向器604位于主機(jī)設(shè)備中。根據(jù)本發(fā)明的 另一實(shí)施方案,這樣的重定向器可以與主機(jī)設(shè)備分離,而重定向器的代理(agent)可以被 配置為在操作系統(tǒng)的內(nèi)核中,并且將所有請求從IP應(yīng)用重定向到重定向器以供進(jìn)一步處 理。這可以實(shí)質(zhì)性地減少實(shí)施的復(fù)雜性。
在圖6的實(shí)施方案中,諸如地址服務(wù)模塊、隧穿服務(wù)模塊和虛擬DNS服務(wù)模塊的各 種功能模塊被描繪為與主機(jī)設(shè)備和支持NAPT的設(shè)備分離。在可替換的實(shí)施方案中,為了 簡化實(shí)施或者為了滿足消費(fèi)者的需要,隧穿服務(wù)模塊和虛擬DNS服務(wù)模塊被集成到主機(jī) 設(shè)備中。其他根據(jù)本發(fā)明的可替換實(shí)施方案將這些功能模塊整體或部分置于支持NAPT的 設(shè)備中,取決于硬件實(shí)施的需要。例如,網(wǎng)絡(luò)網(wǎng)關(guān)或路由器集成該隧穿服務(wù)模塊、地址服
務(wù)模塊和虛擬DNS服務(wù)模塊。
圖8根據(jù)本發(fā)明的實(shí)施方案圖示為了與收方通信而由發(fā)方所執(zhí)行的步驟。所述步驟記
錄已經(jīng)在前面的段落中描述的內(nèi)容。應(yīng)該理解,所述步驟可以被實(shí)施在等同或類似于本文 所描述的實(shí)施方案的系統(tǒng)中。
當(dāng)設(shè)備或節(jié)點(diǎn)(發(fā)方)開始與另一設(shè)備或節(jié)點(diǎn)(收方)通信的IP應(yīng)用(例如在線游
戲應(yīng)用)以允許兩個(gè)用戶交互時(shí),這樣的IP分組被截取801。進(jìn)一步確定803收方設(shè)備或 節(jié)點(diǎn)是否與私用IP地址相關(guān)聯(lián)。該私用IP地址是在IP數(shù)據(jù)通信進(jìn)展之前由地址服務(wù)模塊 或者甚至DNS服務(wù)模塊在進(jìn)行DNS查詢時(shí)動(dòng)態(tài)分派的。這樣的私用IP地址與收方所屬 網(wǎng)絡(luò)曾分派的收方私用IP地址無關(guān)。
分派給收方的私用IP地址被用于805傳輸IP分組。應(yīng)該指出的是,收方和發(fā)方是與 全球獨(dú)有的域名相關(guān)聯(lián)的,但是有可能發(fā)方和收方無一具有公用IP地址。為了完成該IP 分組的傳輸,穿透807在發(fā)方和收方側(cè)的NAT/NAPT設(shè)備。在一個(gè)實(shí)施方案中,建立通 道來穿透這些已有的NAT或NAPT。使用各種NAT穿透技術(shù),發(fā)方自動(dòng)地穿越支持NAPT 的設(shè)備并且將IP分組傳輸通過網(wǎng)絡(luò)。
圖9根據(jù)本發(fā)明的一個(gè)實(shí)施方案進(jìn)一步描述接收側(cè)所執(zhí)行的步驟。在從發(fā)方接收到 910 IP分組之后,通過預(yù)先確定的通道穿透收方側(cè)的NAP/NAPT設(shè)備?;诮邮站W(wǎng)絡(luò)為 發(fā)方和收方分派的私用IP地址來修改903所接收的IP分組。如上面描述的,發(fā)方被收方 所述網(wǎng)絡(luò)或收方本身分派一私用IP地址。收方以如同該IP分組是從分派給發(fā)方的私用IP 地址所表示的位置接收的那樣接收該IP分組。該IP分組隨后被轉(zhuǎn)發(fā)%5到收方。
類似地,收方通過向發(fā)方返回IP分組來響應(yīng)該IP分組。如圖8中描述的步驟是在收 方側(cè)執(zhí)行的,并且該IP分組最終將通過執(zhí)行圖9中描述的步驟到達(dá)發(fā)方側(cè)。
在這樣做時(shí),對等應(yīng)用可通過為在不同LAN或WAN中的設(shè)備或主機(jī)分派的私用IP 地址來操作。所分派的私用IP地址顯著地緩解公用IP地址的短缺。每個(gè)單獨(dú)的主機(jī)或節(jié) 點(diǎn)通過私用IP地址來標(biāo)識(shí)其他主機(jī)或節(jié)點(diǎn),顯著地?cái)U(kuò)展了潛在對等應(yīng)用或多媒體服務(wù)的 能力。
盡管上面已經(jīng)描述本發(fā)明的各個(gè)實(shí)施方案,但是應(yīng)該理解它們已經(jīng)是以實(shí)施例而非限 制性的方式呈現(xiàn)的。相關(guān)領(lǐng)域技術(shù)人員將清楚可以在其中作出形式或細(xì)節(jié)上的各種改變而 不偏離本發(fā)明的精神和范圍。
權(quán)利要求
1. 一種用于在第一網(wǎng)絡(luò)和第二網(wǎng)絡(luò)之間通信的系統(tǒng),包括所述第一網(wǎng)絡(luò)中的第一設(shè)備,所述第一設(shè)備耦合到第一支持NAPT的設(shè)備、第一地址模塊和第一隧穿模塊,對應(yīng)于所述第二網(wǎng)絡(luò)內(nèi)的第一本地地址;所述第二網(wǎng)絡(luò)中的第二設(shè)備,所述第二設(shè)備耦合到第二支持NAPT的設(shè)備、第二地址模塊和第二隧穿模塊,對應(yīng)于所述第一網(wǎng)絡(luò)內(nèi)的第二本地地址;第三設(shè)備,所述第三設(shè)備耦合到所述第一網(wǎng)絡(luò)和所述第二網(wǎng)絡(luò),用于提供所述第一網(wǎng)絡(luò)和所述第二網(wǎng)絡(luò)的位置信息;以及其中所述第一地址模塊使所述第一隧穿模塊能夠基于所述第二本地地址和從所述第三模塊接收的信息來與所述第二設(shè)備進(jìn)行通信。
2. 如權(quán)利要求1所述的系統(tǒng),其中所述第一設(shè)備耦合到第一重定向器,所述重定向 器將從所述第一設(shè)備接收的數(shù)據(jù)轉(zhuǎn)發(fā)到所述第一地址模塊以與所述第二設(shè)備通信。
3. 如權(quán)利要求2所述的系統(tǒng),其中所述第一重定向器基于因特網(wǎng)協(xié)議標(biāo)準(zhǔn)截取從所 述第一設(shè)備發(fā)送的數(shù)據(jù)。
4. 如權(quán)利要求2所述的系統(tǒng),其中所述第一重定向器耦合到虛擬DNS服務(wù)模塊以檢 索所述第一本地地址,所述虛擬DNS服務(wù)器模塊將所述第一本地地址與所述第二設(shè)備相 關(guān)聯(lián)。
5. 如權(quán)利要求1所述的系統(tǒng),其中所述第一地址模塊確定所述第二設(shè)備是否對應(yīng)于 所述第一網(wǎng)絡(luò)的所述第一本地地址。
6. 如權(quán)利要求1所述的系統(tǒng),其中所述第一地址模塊將所述第一網(wǎng)絡(luò)的所述第一本 地地址分派給所述第二設(shè)備。
7. 如權(quán)利要求1所述的系統(tǒng),其中所述第一本地地址是局域網(wǎng)(LAN)所使用的私 用IP子網(wǎng)地址。
8. 如權(quán)利要求1所述的系統(tǒng),其中所述第一本地地址是所述第一網(wǎng)絡(luò)為所述第二設(shè) 備獲取的公用IP地址。
9. 如權(quán)利要求1所述的系統(tǒng),其中所述第一地址模塊和所述第一隧穿模塊置于所述 第一支持NAPT的設(shè)備中。
10. 如權(quán)利要求1所述的系統(tǒng),其中所述第一地址模塊和所述第一隧穿模塊置于所述 第一設(shè)備中。
11. 如權(quán)利要求l所述的系統(tǒng),其中所述第二地址模塊和所述第二隧穿模塊置于所述 第二支持NAPT的設(shè)備中。
12. 如權(quán)利要求1所述的系統(tǒng),其中所述第一支持NAPT的設(shè)備和所述第二支持NAPT 的設(shè)備包括路由設(shè)備和防火墻。
13. 如權(quán)利要求l所述的系統(tǒng),其中,當(dāng)所述第一設(shè)備與所述第二設(shè)備通信時(shí),所述 第一隧穿模塊選擇性地穿透所述第一支持NAPT的設(shè)備。
14. 如權(quán)利要求l所述的系統(tǒng),其中,當(dāng)所述第二設(shè)備與所述第一設(shè)備通信時(shí),所述 第二隧穿模塊選擇性地穿透所述第二支持NAPT的設(shè)備。
15. 如權(quán)利要求1所述的系統(tǒng),其中所述第一隧穿模塊和所述第二隧穿模塊建立通信 信道來穿透所述第一支持NAPT的設(shè)備和第二支持NAPT的設(shè)備。
16. 如權(quán)利要求1所述的系統(tǒng),其中所述第二地址模塊基于所述第一本地地址和所述 第二本地地址修改從所述第一設(shè)備接收的數(shù)據(jù)。
17. 如權(quán)利要求15所述的系統(tǒng),其中從所述第一設(shè)備接收的所述數(shù)據(jù)包括與所述第 一設(shè)備和所述第二設(shè)備在所述第一網(wǎng)絡(luò)中的地址相關(guān)的信息。
18. 如權(quán)利要求l所述的系統(tǒng),其中所述第三設(shè)備是服務(wù)器。
19. 如權(quán)利要求l所述的系統(tǒng),其中所述第三設(shè)備向所述第一設(shè)備分派第一獨(dú)有域名 而向所述第二設(shè)備分派第二獨(dú)有域名。
20. 如權(quán)利要求1所述的系統(tǒng),其中所述第三設(shè)備使所述第一隧穿模塊和所述第二隧 穿模塊能夠讓所述第一設(shè)備與所述第二設(shè)備通信。
21. 如權(quán)利要求l所述的系統(tǒng),其中所述第三設(shè)備認(rèn)證所述第一設(shè)備和所述第二設(shè)備 的身份。
22. —種計(jì)算網(wǎng)絡(luò),包括具有IP應(yīng)用模塊的第一主機(jī)設(shè)備,所述IP應(yīng)用模塊耦合到支持NAPT的設(shè)備,用于與位于所述計(jì)算網(wǎng)絡(luò)之外的第二主機(jī)設(shè)備通信;地址模塊,用于向所述第二主機(jī)設(shè)備分派所述計(jì)算網(wǎng)絡(luò)的第一本地IP地址; 重定向器,耦合到所述IP應(yīng)用模塊和所述地址模塊,用于將從所述IP應(yīng)用模塊接收的數(shù)據(jù)重定向到所述地址模塊; 隧穿模塊,耦合到所述地址模塊,用于選擇性地建立通信信道來穿透所述支持NAPT 的設(shè)備。
23. 如權(quán)利要求22所述的計(jì)算網(wǎng)絡(luò),還包括虛擬DNS服務(wù)模塊,耦合到所述第一主 機(jī)設(shè)備,用于儲(chǔ)存所述第二主機(jī)設(shè)備的所述第一本地IP地址。
24. 如權(quán)利要求22所述的計(jì)算網(wǎng)絡(luò),其中所述第一主機(jī)設(shè)備耦合到用于向所述第一 主機(jī)設(shè)備分派域名的設(shè)備。
25. 如權(quán)利要求22所述的計(jì)算網(wǎng)絡(luò),其中所述隧穿模塊耦合到用于便利所述通信信 道的建立的設(shè)備。
26. 如權(quán)利要求22所述的計(jì)算網(wǎng)絡(luò),其中所述第一主機(jī)設(shè)備和所述第二主機(jī)設(shè)備耦 合到用于認(rèn)證所述第一主機(jī)設(shè)備和所述第二主機(jī)設(shè)備的身份的設(shè)備。
27. 如權(quán)利要求22所述的計(jì)算網(wǎng)絡(luò),其中所述地址模塊從所述第二主機(jī)設(shè)備接收數(shù) 據(jù),并且基于所述第二主機(jī)設(shè)備的所述第一本地IP地址修改所述接收的數(shù)據(jù)。
28. 如權(quán)利要求22所述的計(jì)算網(wǎng)絡(luò),其中所述支持NAPT的設(shè)備包括路由設(shè)備。
29. 如權(quán)利要求22所述的計(jì)算網(wǎng)絡(luò),其中所述支持NAPT的設(shè)備包括防火墻。
30. 如權(quán)利要求22所述的計(jì)算網(wǎng)絡(luò),其中所述支持NAPT的設(shè)備包括所述隧穿模塊。
31. 如權(quán)利要求22所述的計(jì)算網(wǎng)絡(luò),其中所述第一主機(jī)設(shè)備包括所述重定向器。
32. 如權(quán)利要求22所述的計(jì)算網(wǎng)絡(luò),其中所述第一主機(jī)設(shè)備可基于因特網(wǎng)協(xié)議操作 對等應(yīng)用。
33. 如權(quán)利要求22所述的計(jì)算網(wǎng)絡(luò),其中所述第一主機(jī)設(shè)備是計(jì)算機(jī)。
34. 如權(quán)利要求22所述的計(jì)算網(wǎng)絡(luò),其中所述第一主機(jī)設(shè)備是移動(dòng)通信設(shè)備。
35. —種在發(fā)方和收方之間通信的方法,所述發(fā)方和所述收方至少耦合到支持NAPT 的設(shè)備,所述方法包括截取在位于不同計(jì)算網(wǎng)絡(luò)中的發(fā)方和收方之間通信的數(shù)據(jù);確定所述收方是否與所述發(fā)方所在的所述計(jì)算網(wǎng)絡(luò)分派的第一本地IP地址相關(guān)聯(lián); 基于所述收方的所述第一本地IP地址將所述數(shù)據(jù)從所述發(fā)方傳輸?shù)剿鍪辗?;以?選擇性地穿透所述支持NAPT的設(shè)備。
36. 如權(quán)利要求35所述的方法,還包括以下步驟 創(chuàng)建所述發(fā)方的簽名;以及 由所述收方基于所述簽名認(rèn)證所述發(fā)方的身份。
37. —種在發(fā)方和收方之間通信的方法,所述發(fā)方和所述收方耦合到至少一個(gè)支持 NAPT的設(shè)備,所述方法包括在所述發(fā)方和所述收方之間建立通信信道,所述發(fā)方和所述收方位于不同的計(jì)算網(wǎng)絡(luò)中;選擇性地穿透所述支持NAPT的設(shè)備; 從所述發(fā)方接收數(shù)據(jù);基于所述收方所在的所述計(jì)算網(wǎng)絡(luò)分派給所述發(fā)方的第一本地地址修改所述數(shù)據(jù);以及將所述修改的數(shù)據(jù)轉(zhuǎn)發(fā)到所述收方。
38. 如權(quán)利要求35所述的方法,其中所述步驟被實(shí)施在計(jì)算機(jī)可讀介質(zhì)上。
39. —種可在計(jì)算網(wǎng)絡(luò)中操作的計(jì)算設(shè)備,耦合到支持NAPT的設(shè)備和便利設(shè)備,所 述計(jì)算設(shè)備包括應(yīng)用模塊,用于操作基于IP的應(yīng)用來與在所述計(jì)算網(wǎng)絡(luò)之外操作的接收設(shè)備通信; 耦合到所述應(yīng)用模塊的重定向模塊,用于截取從所述應(yīng)用模塊發(fā)送的數(shù)據(jù)分組,并且用于將所述數(shù)據(jù)分組重定向到通信信道,以基于所述計(jì)算網(wǎng)絡(luò)為所述接收設(shè)備分派的本地IP地址穿透所述支持NAPT的設(shè)備;以及其中所述便利設(shè)備參與建立所述通信信道。
40. 如權(quán)利要求39所述的計(jì)算設(shè)備,其中所述重定向模塊耦合到隧穿模塊,所述隧 穿模塊耦合到所述便利設(shè)備,用于建立所述通信信道并且選擇性地穿透所述支持NAPT的 設(shè)備。
全文摘要
描述了一種出于通信目的而使用私用IP地址來表示不同網(wǎng)絡(luò)中的主機(jī)設(shè)備或節(jié)點(diǎn)的系統(tǒng)、裝置和方法。本發(fā)明的各個(gè)實(shí)施方案解決在IPv4架構(gòu)下公用IP地址短缺的問題。在本發(fā)明的一個(gè)實(shí)施方案中,提供動(dòng)態(tài)NAT穿透能力,該能力因此擴(kuò)展在因特網(wǎng)上運(yùn)行對等應(yīng)用的能力。
文檔編號(hào)H04L29/12GK101385315SQ200780005952
公開日2009年3月11日 申請日期2007年2月21日 優(yōu)先權(quán)日2006年2月22日
發(fā)明者杰 孫, 正 楊, 哲 王 申請人:楊 正;王 哲;孫 杰
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1