欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于虛擬網(wǎng)絡(luò)接口和反向地址轉(zhuǎn)換的網(wǎng)絡(luò)數(shù)據(jù)傳輸方法

文檔序號(hào):7764284閱讀:487來源:國知局
專利名稱:基于虛擬網(wǎng)絡(luò)接口和反向地址轉(zhuǎn)換的網(wǎng)絡(luò)數(shù)據(jù)傳輸方法
技術(shù)領(lǐng)域
本發(fā)明屬于計(jì)算機(jī)網(wǎng)絡(luò)訪問技術(shù)領(lǐng)域,特別涉及一種無需更改網(wǎng)絡(luò)基礎(chǔ)設(shè)施及 已有網(wǎng)絡(luò)通信協(xié)議,就可以為用戶提供同時(shí)使用多個(gè)相同或不同網(wǎng)絡(luò)接口訪問因特網(wǎng) (Internet)的方法。
背景技術(shù)
隨著計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)終端(設(shè)備)進(jìn)一步向小型化、便攜式和多樣化方 向發(fā)展,如筆記本、上網(wǎng)本、MID(Mobile Internet Devices)、3G手機(jī)等。與傳統(tǒng)的PC機(jī)一般 只安裝有一個(gè)有線網(wǎng)絡(luò)接口(網(wǎng)卡)進(jìn)行網(wǎng)絡(luò)通信不同,現(xiàn)有的便攜式計(jì)算設(shè)備往往配備 有多個(gè)不同類型(異構(gòu))的網(wǎng)絡(luò)接口,如有線以太網(wǎng)絡(luò)接口、WiFi、WiMax、藍(lán)牙、以及3G(如 TD-SCDMA,WCDMA)網(wǎng)絡(luò)接口等,以方便用戶在固定和移動(dòng)場合下都能夠訪問到Internet網(wǎng) 絡(luò)服務(wù)。在這樣一種設(shè)備小型化、網(wǎng)絡(luò)泛在化的環(huán)境下,終端用戶很自然地希望能夠在多 個(gè)網(wǎng)絡(luò)接口都存在的情況下,同時(shí)使用這多個(gè)網(wǎng)絡(luò)接口來加快網(wǎng)絡(luò)訪問速度,提升網(wǎng)絡(luò)的 可用性和可靠性,從而提高工作效率,即將從網(wǎng)絡(luò)終端到服務(wù)器之間存在的多條物理網(wǎng)絡(luò) 鏈路聚合成一條邏輯鏈路,以提高網(wǎng)絡(luò)服務(wù)的帶寬、可用性和可靠性。現(xiàn)有具有多個(gè)物理網(wǎng) 絡(luò)接口的網(wǎng)絡(luò)終端設(shè)備如圖1所示,包括在主板設(shè)置的CPU、內(nèi)存(內(nèi)部存儲(chǔ)器)和外存(外 部存儲(chǔ)器)、三個(gè)物理網(wǎng)絡(luò)接口 1、2、3,及其外圍部件。但是,由于現(xiàn)有終端上的路由規(guī)則和 策略是只要找到一條可抵達(dá)目的主機(jī)的網(wǎng)絡(luò)接口(或者稱之為路徑),就通過該網(wǎng)絡(luò)接口 進(jìn)行數(shù)據(jù)包的發(fā)送,而不再進(jìn)行其它的網(wǎng)絡(luò)接口查找和發(fā)送。因此,在現(xiàn)有的路由協(xié)議規(guī)則 和策略下,即使終端設(shè)備上存在可實(shí)際使用的多個(gè)網(wǎng)絡(luò)接口和物理鏈接,當(dāng)終端需要向某 一網(wǎng)絡(luò)主機(jī)發(fā)送數(shù)據(jù)時(shí),現(xiàn)有終端上的路由方法并不能自動(dòng)同時(shí)使用多個(gè)網(wǎng)絡(luò)接口及其相 關(guān)的多條物理鏈接來發(fā)送這些數(shù)據(jù)包,而只會(huì)從既定的路由表中選擇一條相對(duì)固定的路徑 進(jìn)行轉(zhuǎn)發(fā)(即只通過某一個(gè)網(wǎng)絡(luò)接口發(fā)送)。因此,如何有效聚合并使用多個(gè)網(wǎng)絡(luò)接口、尤 其是異構(gòu)網(wǎng)絡(luò)接口的帶寬,就成為在網(wǎng)絡(luò)泛在化條件下一個(gè)迫切需要解決的技術(shù)問題。為了解決上述多網(wǎng)絡(luò)接口帶寬聚合的問題,人們已經(jīng)進(jìn)行了多方面的研究并發(fā) 明了多種方法。下面按TCP/IP網(wǎng)絡(luò)的層次結(jié)構(gòu)來進(jìn)行分類描述。在數(shù)據(jù)鏈路層(Data Link Layer)上,人們通過修改或增加新的邏輯鏈路層功能來聚合兩端之間的物理鏈路。 例如,在上個(gè)世紀(jì)90年代早期,BONDING Consortium為了利用η條56 (或64) kb/s的廣 域網(wǎng)鏈路得到一條虛擬的高速廣域網(wǎng)數(shù)據(jù)鏈路,Bandwidth on Demand Interoperability Group 發(fā)明了 BONDING 技術(shù)(參見發(fā)表于 1992 年的 Interoperability requirements for nx56/64kbscalls, version 1. 0)。專利公開號(hào)為CN10134967A,題為“一種多網(wǎng)絡(luò)接口反向 復(fù)用方法”中也提出了一種聚合多個(gè)Tl接口的方法。在IEEE以太網(wǎng)標(biāo)準(zhǔn)802. 3中也定義 了關(guān)于鏈路聚合(Link aggregation)的方法,用以將多條以太網(wǎng)鏈接聚合成一條高帶寬的 邏輯鏈路。此外,在蜂窩網(wǎng)絡(luò)和無線局域網(wǎng)絡(luò)中,人們也提出了將多條物理鏈路聚合成一條 邏輯鏈路的方法。但是這些方法為了保持對(duì)上層協(xié)議的接口,都需要更改這些物理鏈路的兩端以及相應(yīng)的邏輯鏈路協(xié)議,從而使得發(fā)送端能夠?qū)碜陨蠈拥臄?shù)據(jù)包分發(fā)到不同的物 理鏈路上同時(shí)進(jìn)行發(fā)送,接收端能夠?qū)⒉煌锢礞溌飞辖邮盏降臄?shù)據(jù)包按發(fā)送次序收集整 理并遞送給上層操作系統(tǒng)或應(yīng)用。此外,這些方法都只能針對(duì)同一類型的物理鏈路,即只能 將同構(gòu)的物理鏈路進(jìn)行聚合。這就使得這些物理鏈路聚合方法只能在有限的特定場合下使 用。對(duì)于目前網(wǎng)絡(luò)終端上普遍具有多條不同性質(zhì)物理鏈路的情況,這些方法基本上不適用。 這些方法和技術(shù)被稱為反向復(fù)用(Inverse Multiplexing),以表明與傳統(tǒng)鏈路復(fù)用概念的 區(qū)別。在網(wǎng)絡(luò)層(Network Layer)解決多個(gè)網(wǎng)絡(luò)接口同時(shí)使用的問題,能在一定程度 上克服鏈路層反向復(fù)用只能適用于同構(gòu)網(wǎng)絡(luò)的問題。因此,這些年來研究者們開始著手 研究新的IP路由協(xié)議,如多路徑路由(Multipath routing)(參見K. Lakshminarayanan 等于 2007 年發(fā)表在 Proc. of the ACM SIGC0MM 上的文章Achieving Convergence-Free Routingusing Failure-Carrying Packets)或 Shim 6 協(xié)議(參見 E. Nordmark 禾口 M. Bagnulo ψ 2008 ^^^^ IETF Internet Draft =Shim 6 =Level 3multihoming shim protocol forIPv6) 0通過多路徑路由,上層應(yīng)用的數(shù)據(jù)包可以通過多條IP路徑到達(dá)目的 主機(jī),從而能夠利用多條網(wǎng)絡(luò)連接來進(jìn)行數(shù)據(jù)的傳送。但是更改現(xiàn)有網(wǎng)絡(luò)路由協(xié)議的方法, 涉及到整個(gè)網(wǎng)絡(luò)基礎(chǔ)設(shè)施的更改,部署起來需要一個(gè)過程。為了解決這一個(gè)問題,一些研 究者引入IP代理機(jī)制(參見K. Evensen等于2009年在Proc. of the 34rd Annual IEEE Conferenceon Local Computer Networks (LCN)上發(fā)表的文章A Network-Layer Proxy for BandwidthAggregation and Reduction of IP Packet Reordering),通過在終端禾口月艮 務(wù)器之間增加一個(gè)新的硬件設(shè)備來管理和利用終端和代理之間存在的多條物理鏈路帶寬。 另外,在企業(yè)網(wǎng)絡(luò)應(yīng)用里面,也出現(xiàn)了類似IP代理的硬件設(shè)備。這些硬件設(shè)備能夠同時(shí)連 接并使用多個(gè)ISP提供的網(wǎng)絡(luò)訪問服務(wù)(參見用于“AscenLink”產(chǎn)品介紹的因特網(wǎng)網(wǎng)址, http://nsl. ascenvision. com, tw/ascenvision tc/product2. php (檢索日期2010 年 10 月25日)),并為企業(yè)內(nèi)部的全部用戶服務(wù)。這些類似IP代理的機(jī)制大多數(shù)利用網(wǎng)絡(luò)隧道 技術(shù)或網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation)技術(shù)來幫助用戶達(dá)到同時(shí)訪問多個(gè) 網(wǎng)絡(luò)的目的,無需對(duì)終端進(jìn)行任何修改,但是這種方法需要在終端和服務(wù)器之間增加一個(gè) 新的網(wǎng)絡(luò)硬件設(shè)備,因此在部署上存在一定的難度。特別是在終端設(shè)備移動(dòng)的場景下,這種 硬件代理設(shè)備難于部署和使用,而且可能會(huì)影響效率。例如,由于硬件代理設(shè)備不能隨著網(wǎng) 絡(luò)終端設(shè)備進(jìn)行移動(dòng),因此在移動(dòng)場景下網(wǎng)絡(luò)終端設(shè)備與硬件代理的交互會(huì)變得異常麻煩 和困難,而且由于不同無線網(wǎng)絡(luò)的特性不一致,很容易導(dǎo)致一個(gè)TCP連接上的IP數(shù)據(jù)包,由 于經(jīng)歷的無線網(wǎng)絡(luò)不同而發(fā)生到達(dá)順序上的變化(即IP包亂序問題),從而影響到傳輸層 TCP的行為,并最終使得實(shí)際的TCP傳輸帶寬下降或影響上層應(yīng)用。在數(shù)據(jù)傳輸層(Transport Layer)上,通過修改數(shù)據(jù)傳輸協(xié)議,使其能夠利 用多個(gè)IP地址和網(wǎng)絡(luò)路徑來進(jìn)行數(shù)據(jù)傳輸是另一種實(shí)現(xiàn)多個(gè)網(wǎng)絡(luò)接口聚合訪問的方 法。例如,SCTP和TCP協(xié)議的多種變種,cmpSCTP (參見J. Liao等于2008年在ICC會(huì)議 上發(fā)表的論文cmpSCTP :An extension of SCTP to support concurrent multi-path transfer),pTCP (參見H.-Y. Hsieh 等于 2003年在Proc. of the IOth IEEE International Conferenceon Network protocols上發(fā)表的論文pTCP :An end-to-end transport layer protocolfor striped connections)等,都是通過擴(kuò)展現(xiàn)有傳輸層協(xié)議來達(dá)到利用多個(gè)網(wǎng)
5絡(luò)接口同時(shí)進(jìn)行數(shù)據(jù)傳輸?shù)哪康??;趹?yīng)用層(Application Layer)的網(wǎng)絡(luò)帶寬聚合方法,與上述的修改IP和 TCP協(xié)議的方法類似,主要是通過修改應(yīng)用層協(xié)議來達(dá)到利用多個(gè)網(wǎng)絡(luò)接口同時(shí)進(jìn)行數(shù)據(jù) 傳輸?shù)哪康?,如通過修改FTP協(xié)議(參見M. Allman等于1996年在Proc. of the First Internationalfforkshop on Satellite-based Information Services 上發(fā) @ 白勺論文 AnApplication-Ievel Solution to TCP's Satellite Inefficiencies),使其能夠在一個(gè) 文件下載時(shí)建立多條連接來進(jìn)行傳輸。在應(yīng)用層進(jìn)行修改的網(wǎng)絡(luò)帶寬聚合方法,無需修改 底層的傳輸層或網(wǎng)絡(luò)層協(xié)議,因此也無需修改網(wǎng)絡(luò)路由器等網(wǎng)絡(luò)基礎(chǔ)設(shè)施,但是這種方法 和基于網(wǎng)絡(luò)層和傳輸層進(jìn)行修改的方法一樣,也需要通信雙方的應(yīng)用層協(xié)議均進(jìn)行修改, 相互配合,才能互相通信。如果對(duì)方服務(wù)器的應(yīng)用層協(xié)議不修改,則僅終端一方的協(xié)議修改 不起作用。綜上所述,現(xiàn)有的這些解決多個(gè)網(wǎng)絡(luò)接口帶寬聚合訪問的方法,要么需要更改協(xié) 議,要么需要更改網(wǎng)絡(luò)基礎(chǔ)設(shè)施??偹苤?,網(wǎng)絡(luò)基礎(chǔ)架構(gòu)和網(wǎng)絡(luò)協(xié)議的修改,涉及到網(wǎng)絡(luò) 設(shè)備提供商、網(wǎng)絡(luò)服務(wù)提供商、用戶等眾多環(huán)節(jié),牽一發(fā)而動(dòng)全身,因此網(wǎng)絡(luò)設(shè)備或協(xié)議的 更新部署是一個(gè)相對(duì)漫長的過程。

發(fā)明內(nèi)容
本發(fā)明的目的是為了解決現(xiàn)有多網(wǎng)絡(luò)接口帶寬聚合方法難于部署和目前具有多 網(wǎng)絡(luò)接口的網(wǎng)絡(luò)終端用戶難于立即受益的困境,提出了一種基于虛擬網(wǎng)絡(luò)接口和反向網(wǎng)絡(luò) 地址轉(zhuǎn)換的多網(wǎng)絡(luò)接口數(shù)據(jù)傳輸方法,該方法通過在網(wǎng)絡(luò)終端上增加一個(gè)虛擬網(wǎng)絡(luò)接口和 一個(gè)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器,使得訪問網(wǎng)絡(luò)主機(jī)的網(wǎng)絡(luò)包首先經(jīng)過虛擬網(wǎng)絡(luò)接口,然后 由虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器實(shí)現(xiàn)網(wǎng)絡(luò)包在不同網(wǎng)絡(luò)接口上的數(shù)據(jù)發(fā)送和接收。這種方法不 需改變現(xiàn)有的終端路由策略和方法,也不需要修改現(xiàn)有的網(wǎng)絡(luò)協(xié)議,也無須修改對(duì)方主機(jī) 和中間的網(wǎng)絡(luò)路由器設(shè)備等,能夠?qū)ι蠈泳W(wǎng)絡(luò)協(xié)議完全透明,因此能夠解決現(xiàn)有帶寬聚合 方法難于向后兼容和難于部署的問題。本發(fā)明提出的基于虛擬網(wǎng)絡(luò)接口和反向地址轉(zhuǎn)換的網(wǎng)絡(luò)數(shù)據(jù)傳輸方法,其特征在 于,在網(wǎng)絡(luò)終端中設(shè)置一個(gè)虛擬網(wǎng)絡(luò)接口,一個(gè)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器,該方法包括網(wǎng) 絡(luò)終端通過虛擬網(wǎng)絡(luò)接口發(fā)送IP網(wǎng)絡(luò)數(shù)據(jù)包,該IP網(wǎng)絡(luò)數(shù)據(jù)包再被所述虛擬反向網(wǎng)絡(luò)地 址轉(zhuǎn)換器截取,虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器將該IP網(wǎng)絡(luò)數(shù)據(jù)包中的源IP網(wǎng)絡(luò)地址修改成被 選擇的物理網(wǎng)絡(luò)接口的IP網(wǎng)絡(luò)地址,再通過該物理網(wǎng)絡(luò)接口進(jìn)行發(fā)送;當(dāng)網(wǎng)絡(luò)終端的任何 一個(gè)物理網(wǎng)絡(luò)接口接收到來自服務(wù)器返回的IP網(wǎng)絡(luò)數(shù)據(jù)包時(shí),虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器 截取該IP網(wǎng)絡(luò)數(shù)據(jù)包,然后將該IP網(wǎng)絡(luò)數(shù)據(jù)包的目的IP網(wǎng)絡(luò)地址修改成虛擬網(wǎng)絡(luò)接口的 IP網(wǎng)絡(luò)地址,并通過虛擬網(wǎng)絡(luò)接口遞送給上層的操作系統(tǒng)或用戶。本發(fā)明的特點(diǎn)1、對(duì)上層操作系統(tǒng)、應(yīng)用程序和用戶透明引入虛擬網(wǎng)絡(luò)接口,維持現(xiàn)有操作系統(tǒng) 和用戶的應(yīng)用傳統(tǒng)和習(xí)慣,保持了現(xiàn)有的網(wǎng)絡(luò)路由策略。2、對(duì)網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層協(xié)議透明無需修改終端上的網(wǎng)絡(luò)層協(xié)議和數(shù)據(jù)鏈路層 協(xié)議,因此可以做到對(duì)現(xiàn)有網(wǎng)絡(luò)層協(xié)議和各種不同類型網(wǎng)絡(luò)接口的支持和兼容。3、對(duì)網(wǎng)絡(luò)基礎(chǔ)設(shè)施和對(duì)方服務(wù)器透明由于沒有修改任何網(wǎng)絡(luò)協(xié)議,也無需修改
6路由協(xié)議、規(guī)則和策略,因此無需修改網(wǎng)絡(luò)中的路由器,也不需對(duì)方服務(wù)器或主機(jī)的配合。4、容易部署上述三個(gè)方面的透明性,使得本發(fā)明非常容易部署和應(yīng)用,使得用戶 無需網(wǎng)絡(luò)基礎(chǔ)設(shè)施的支持就可以立即享受到多個(gè)網(wǎng)絡(luò)接入能夠帶來的高帶寬、高可靠性和 高可用性等好處。5、能夠支持移動(dòng)終端和異構(gòu)網(wǎng)絡(luò)接口等多種復(fù)雜場合由于無需硬件設(shè)備的支 持,因此能夠隨著移動(dòng)終端隨時(shí)進(jìn)行移動(dòng),適應(yīng)多種復(fù)雜的應(yīng)用場景。6、本發(fā)明雖然是針對(duì)IP網(wǎng)絡(luò)提出的,但也可以擴(kuò)展到用于其他類型網(wǎng)絡(luò),如IPX/ SPX網(wǎng)絡(luò),AppleTalk網(wǎng)絡(luò)等。


圖1為現(xiàn)有具有多網(wǎng)絡(luò)接口的網(wǎng)絡(luò)終端設(shè)備示意圖。圖2為本發(fā)明的網(wǎng)絡(luò)終端設(shè)備示意圖。圖3為本發(fā)明的虛擬網(wǎng)絡(luò)接口、物理網(wǎng)絡(luò)接口以及虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器之間 的連接關(guān)系。圖4為本實(shí)施例中的數(shù)據(jù)發(fā)送流程框圖。圖5為本實(shí)施例中的數(shù)據(jù)接收流程框圖。
具體實(shí)施例方式本發(fā)明提出的基于虛擬網(wǎng)絡(luò)接口和反向地址轉(zhuǎn)換的網(wǎng)絡(luò)數(shù)據(jù)傳輸方法,結(jié)合附圖 及實(shí)施例詳細(xì)說明如下為了解決現(xiàn)有多網(wǎng)絡(luò)接口帶寬聚合技術(shù)需要修改現(xiàn)存網(wǎng)絡(luò)協(xié)議或者網(wǎng)絡(luò)基礎(chǔ)設(shè) 施、難于大規(guī)模部署的問題,本發(fā)明提出了一種基于虛擬網(wǎng)絡(luò)接口和反向地址轉(zhuǎn)換器的方 法來支持多個(gè)物理網(wǎng)絡(luò)接口的同時(shí)使用。本發(fā)明提出的方法,其特征在于,在網(wǎng)絡(luò)終端中設(shè)置一個(gè)虛擬網(wǎng)絡(luò)接口,一個(gè)虛擬 反向網(wǎng)絡(luò)地址轉(zhuǎn)換器,該方法包括網(wǎng)絡(luò)終端通過虛擬網(wǎng)絡(luò)接口發(fā)送IP網(wǎng)絡(luò)數(shù)據(jù)包,該IP網(wǎng)絡(luò)數(shù)據(jù)包再被所述虛擬 反向網(wǎng)絡(luò)地址轉(zhuǎn)換器截取,虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器將該IP網(wǎng)絡(luò)數(shù)據(jù)包中的源IP網(wǎng)絡(luò)地 址修改成被選擇的物理網(wǎng)絡(luò)接口的IP網(wǎng)絡(luò)地址,再通過該物理網(wǎng)絡(luò)接口進(jìn)行發(fā)送;當(dāng)終端 的任何一個(gè)物理網(wǎng)絡(luò)接口接收到來自服務(wù)器返回的IP網(wǎng)絡(luò)數(shù)據(jù)包時(shí),虛擬反向網(wǎng)絡(luò)地址 轉(zhuǎn)換器截取該IP網(wǎng)絡(luò)數(shù)據(jù)包,然后將該IP網(wǎng)絡(luò)數(shù)據(jù)包的目的IP網(wǎng)絡(luò)地址修改成虛擬網(wǎng)絡(luò) 接口的IP網(wǎng)絡(luò)地址,并通過虛擬網(wǎng)絡(luò)接口遞送給上層的操作系統(tǒng)或用戶。虛擬網(wǎng)絡(luò)接口是用戶和操作系統(tǒng)識(shí)別為實(shí)際網(wǎng)絡(luò)接口的虛擬計(jì)算機(jī)部件。它通 過通用的設(shè)備驅(qū)動(dòng)接口與用戶或者操作系統(tǒng)進(jìn)行交互,具有和物理網(wǎng)絡(luò)接口 一樣的媒體類 型,最大、最小幀長度,硬件地址(如MAC地址),以及IP網(wǎng)絡(luò)地址。虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器是一個(gè)虛擬的計(jì)算機(jī)部件。它連接終端上的虛擬網(wǎng)絡(luò)接 口和物理網(wǎng)絡(luò)接口,截獲用戶或操作系統(tǒng)需要發(fā)送到服務(wù)器上的任何IP網(wǎng)絡(luò)數(shù)據(jù)包,以及 任何物理網(wǎng)絡(luò)接口接收到的IP網(wǎng)絡(luò)數(shù)據(jù)包,同時(shí)根據(jù)需要進(jìn)行IP網(wǎng)絡(luò)數(shù)據(jù)包的地址轉(zhuǎn)換 和數(shù)據(jù)發(fā)送。從上面可以看出,本發(fā)明的方法只需要修改網(wǎng)絡(luò)終端一側(cè),無需修改現(xiàn)存的網(wǎng)絡(luò)協(xié)議以及網(wǎng)絡(luò)基礎(chǔ)設(shè)施,也無需服務(wù)器的配合,因此不但能夠有效支持多個(gè)異構(gòu)網(wǎng)絡(luò)接口 的同時(shí)使用和訪問,還能夠非常方便的進(jìn)行部署和應(yīng)用。本發(fā)明的方法,包括以下內(nèi)容在現(xiàn)有具有多個(gè)物理網(wǎng)絡(luò)接口的網(wǎng)絡(luò)終端(包括在主板設(shè)置的CPU、內(nèi)存、外存、 多個(gè)物理網(wǎng)絡(luò)接口(例如圖中所示的三個(gè)物理網(wǎng)絡(luò)接口 1、2、3),及其外圍部件)的基礎(chǔ)上, 增加一個(gè)虛擬網(wǎng)絡(luò)接口 4和一個(gè)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器5,如圖2所示;其中在虛擬反向 網(wǎng)絡(luò)地址轉(zhuǎn)換器中維護(hù)一張動(dòng)態(tài)的數(shù)據(jù)轉(zhuǎn)發(fā)記錄表(圖中未示出);將所述虛擬網(wǎng)絡(luò)接口的IP網(wǎng)絡(luò)地址設(shè)置為一個(gè)內(nèi)部IP網(wǎng)絡(luò)地址或者一個(gè)合法的 外部IP網(wǎng)絡(luò)地址;為現(xiàn)有網(wǎng)絡(luò)終端上的所有物理網(wǎng)絡(luò)接口,均分配一個(gè)合法的IP網(wǎng)絡(luò)地址,用于能 夠訪問Internet上的主機(jī)或被Internet上的主機(jī)尋址;將上述的虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器5連接在虛擬網(wǎng)絡(luò)接口 4和網(wǎng)絡(luò)終端上的所有 物理網(wǎng)絡(luò)接口之間;將虛擬網(wǎng)絡(luò)接口設(shè)置為用戶或操作系統(tǒng)使用的默認(rèn)網(wǎng)絡(luò)接口(即該網(wǎng) 絡(luò)終端的所有Internet網(wǎng)絡(luò)訪問,都通過該虛擬網(wǎng)絡(luò)接口來進(jìn)行);將虛擬反向網(wǎng)絡(luò)地址 轉(zhuǎn)換器設(shè)置為能夠截獲虛擬網(wǎng)絡(luò)接口和全部物理網(wǎng)絡(luò)接口所發(fā)送或接收的IP網(wǎng)絡(luò)數(shù)據(jù)包 的網(wǎng)絡(luò)地址轉(zhuǎn)換器,如圖3所示。虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器在截獲到用戶或操作系統(tǒng)發(fā)送 的IP網(wǎng)絡(luò)數(shù)據(jù)包后,再選擇一個(gè)物理網(wǎng)路接口(以太網(wǎng)、WiFi或者3G)將該IP網(wǎng)絡(luò)數(shù)據(jù) 包發(fā)送至因特網(wǎng),最后送至服務(wù)器。當(dāng)截獲到任一物理網(wǎng)絡(luò)接口接收到的IP網(wǎng)絡(luò)數(shù)據(jù)包 時(shí),虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器將把該IP網(wǎng)絡(luò)數(shù)據(jù)包通過虛擬網(wǎng)絡(luò)接口傳遞給操作系統(tǒng)或 用戶。所述的數(shù)據(jù)轉(zhuǎn)發(fā)記錄表記錄虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器在IP網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)過程 中所維護(hù)的TCP連接的各種相關(guān)信息的連接記錄。該連接記錄包括如下幾個(gè)域虛擬網(wǎng)絡(luò) 接口 IP,客戶端口號(hào),服務(wù)器IP,服務(wù)器端口號(hào),物理網(wǎng)絡(luò)接口 IP,活動(dòng)時(shí)戳,標(biāo)志。其中虛 擬網(wǎng)絡(luò)接口 IP為虛擬網(wǎng)絡(luò)接口的IP網(wǎng)絡(luò)地址,客戶端口號(hào)是指虛擬網(wǎng)絡(luò)接口側(cè)所對(duì)應(yīng)的 TCP端口號(hào),服務(wù)器IP地址是指網(wǎng)絡(luò)終端應(yīng)用程序所要連接的服務(wù)器的IP網(wǎng)絡(luò)地址,服務(wù) 器端口號(hào)是指服務(wù)器側(cè)所對(duì)應(yīng)的TCP端口號(hào)。上述的虛擬網(wǎng)絡(luò)接口 IP,客戶端口號(hào),服務(wù) 器IP,服務(wù)器端口號(hào)標(biāo)識(shí)了一條建立在虛擬網(wǎng)絡(luò)接口和服務(wù)器之間的TCP連接。物理網(wǎng)絡(luò) 接口 IP是指分配給上述的TCP連接的物理網(wǎng)絡(luò)接口的IP網(wǎng)絡(luò)地址,表示凡是屬于這條TCP 連接的IP網(wǎng)絡(luò)數(shù)據(jù)包都將通過該物理網(wǎng)絡(luò)接口進(jìn)行發(fā)送或者接收。實(shí)際上它是記錄了該 TCP連接的轉(zhuǎn)發(fā)路徑?;顒?dòng)時(shí)戳是指在該TCP連接上最近一次數(shù)據(jù)傳輸發(fā)生時(shí)的時(shí)間?;?動(dòng)時(shí)戳主要是為了記錄TCP連接的活動(dòng)情況。對(duì)于長期不活動(dòng)的TCP連接,可以認(rèn)為該TCP 連接已經(jīng)無效,因此可以回收該條記錄所占用的空間,以節(jié)省系統(tǒng)資源。標(biāo)志是指上述TCP 連接所處的狀態(tài),它有兩個(gè)取值“Ε”,“Τ”?!唉ァ北硎綯CP連接已經(jīng)建立,可以通過該連接發(fā) 送或接收TCP數(shù)據(jù)包?!癟”表示TCP連接處于關(guān)閉狀態(tài)。處于關(guān)閉狀態(tài)的TCP連接,在網(wǎng)絡(luò) 終端或服務(wù)器發(fā)送TCP連接關(guān)閉應(yīng)答并經(jīng)歷一段時(shí)間后,可以從數(shù)據(jù)轉(zhuǎn)發(fā)記錄表中刪除其 所對(duì)應(yīng)的連接記錄。在上述設(shè)置基礎(chǔ)上,本發(fā)明的網(wǎng)絡(luò)數(shù)據(jù)傳輸方法包括數(shù)據(jù)接收和數(shù)據(jù)發(fā)送過程, 包括以下步驟所述數(shù)據(jù)發(fā)送過程,具體步驟如下
8
1. 1)網(wǎng)絡(luò)終端通過虛擬網(wǎng)絡(luò)接口發(fā)送IP網(wǎng)絡(luò)數(shù)據(jù)包,該IP網(wǎng)絡(luò)數(shù)據(jù)包被所述虛 擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器截??;1. 2)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器查看該IP網(wǎng)絡(luò)數(shù)據(jù)包的負(fù)載是否是面向連接的傳 輸層協(xié)議(如TCP,Transport Control Protocol)的IP網(wǎng)絡(luò)數(shù)據(jù)包,如果是則進(jìn)行步驟 1.3),否則進(jìn)行步驟1.11);1. 3)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器查看該IP網(wǎng)絡(luò)數(shù)據(jù)包是否是TCP連接建立的IP網(wǎng) 絡(luò)數(shù)據(jù)包(即SYN = 1的TCP數(shù)據(jù)包),如果是則進(jìn)行1. 4),否則進(jìn)行1. 7);1.4)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器選擇一條物理鏈路(例如,選擇帶寬-遲延乘積與 已分配TCP連接的總數(shù)據(jù)流差值最大的物理鏈路),并將該物理鏈路對(duì)應(yīng)的物理網(wǎng)絡(luò)接口 分配給該IP網(wǎng)絡(luò)數(shù)據(jù)包對(duì)應(yīng)的TCP連接;1. 5)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器在數(shù)據(jù)轉(zhuǎn)發(fā)記錄表中建立一條新的連接記錄,記錄 該TCP連接的轉(zhuǎn)發(fā)路徑,并將其標(biāo)志域置為“E”,同時(shí)更新該記錄中的活動(dòng)時(shí)戳域;1. 6)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器將該數(shù)據(jù)包的源IP網(wǎng)絡(luò)地址修改成已分配的物理 網(wǎng)絡(luò)接口的IP網(wǎng)絡(luò)地址,并通過該物理網(wǎng)絡(luò)接口進(jìn)行數(shù)據(jù)發(fā)送;1. 7)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器在數(shù)據(jù)轉(zhuǎn)發(fā)記錄表中查找該數(shù)據(jù)包對(duì)應(yīng)的TCP連 接的連接記錄,如果存在,則執(zhí)行1. 8),否則丟棄該IP網(wǎng)絡(luò)數(shù)據(jù)包;1. 8)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器查看該數(shù)據(jù)包是否是傳輸層的TCP連接關(guān)閉的IP 網(wǎng)絡(luò)數(shù)據(jù)包(即FIN = 1的TCP數(shù)據(jù)包),如果是則進(jìn)行1. 9),否則進(jìn)行1. 10);1. 9)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器將數(shù)據(jù)轉(zhuǎn)發(fā)記錄表中該數(shù)據(jù)包對(duì)應(yīng)的連接記錄的 標(biāo)志改為“T”;1. 10)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器將該數(shù)據(jù)包的源IP網(wǎng)絡(luò)地址更改為所述連接記 錄中的物理網(wǎng)絡(luò)接口的IP網(wǎng)絡(luò)地址,并通過該物理網(wǎng)絡(luò)接口進(jìn)行發(fā)送,同時(shí)更新連接記錄 中的活動(dòng)時(shí)戳域;1. 11)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器選擇一條物理鏈路,將該IP網(wǎng)絡(luò)數(shù)據(jù)包的源IP網(wǎng) 絡(luò)地址更改為該物理鏈路所對(duì)應(yīng)的物理網(wǎng)絡(luò)接口的IP網(wǎng)絡(luò)地址,并通過該物理網(wǎng)絡(luò)接口 發(fā)送到因特網(wǎng);1. 12)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器定時(shí)掃描數(shù)據(jù)轉(zhuǎn)發(fā)記錄表中連接記錄的標(biāo)志域和 活動(dòng)時(shí)戳域,如果發(fā)現(xiàn)某一連接的標(biāo)志為“T”,且其活動(dòng)時(shí)間與掃描發(fā)生的時(shí)間相差大于閾 值Tl ( 一般取值范圍為30秒-2分鐘),表明該記錄已經(jīng)被正常關(guān)閉,則刪除該記錄;如果 發(fā)現(xiàn)某一連接的標(biāo)志為“E”,且其活動(dòng)時(shí)間與掃描發(fā)生的時(shí)間相差大于閾值T2 ( —般取值 范圍為2小時(shí)-24小時(shí)),T2 > Tl,則表明該連接記錄對(duì)應(yīng)的TCP連接由于其他意外原因 被關(guān)閉,則也刪除該連接記錄。所述數(shù)據(jù)接收過程,具體過程如下2. 1)網(wǎng)絡(luò)終端的任何一個(gè)物理網(wǎng)絡(luò)接口接收到來自服務(wù)器返回的IP網(wǎng)絡(luò)數(shù)據(jù) 包,虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器截獲到該IP網(wǎng)絡(luò)數(shù)據(jù)包;2. 2)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器查看該IP網(wǎng)絡(luò)數(shù)據(jù)包的負(fù)載是否是面向連接的傳 輸層協(xié)議的IP網(wǎng)絡(luò)數(shù)據(jù)包(如TCP數(shù)據(jù)包),如果是則進(jìn)行2. 3),否則進(jìn)行2. 5);2. 3)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器在數(shù)據(jù)轉(zhuǎn)發(fā)記錄表中查找所對(duì)應(yīng)的連接記錄,如果 存在,則進(jìn)行2. 4),否則將該IP網(wǎng)絡(luò)數(shù)據(jù)包丟棄;
2. 4)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器將該IP網(wǎng)絡(luò)數(shù)據(jù)包的目的IP網(wǎng)絡(luò)地址更改為虛擬 網(wǎng)絡(luò)接口的IP網(wǎng)絡(luò)地址,并通過該虛擬網(wǎng)絡(luò)接口遞送給上層操作系統(tǒng)或用戶,同時(shí)更新該 連接記錄的活動(dòng)時(shí)戳域;2. 5)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器將該IP網(wǎng)絡(luò)數(shù)據(jù)包的目的IP網(wǎng)絡(luò)地址修改為虛擬 網(wǎng)絡(luò)接口的IP網(wǎng)絡(luò)地址,并通過虛擬網(wǎng)絡(luò)接口轉(zhuǎn)發(fā)給上層操作系統(tǒng)或用戶。2. 6)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器定時(shí)掃描數(shù)據(jù)轉(zhuǎn)發(fā)記錄表中連接記錄的標(biāo)志域和 活動(dòng)時(shí)戳域,如果發(fā)現(xiàn)某一連接的標(biāo)志為“T”,且其活動(dòng)時(shí)間與掃描發(fā)生的時(shí)間相差大于閾 值Tl ( 一般取值范圍為30秒-2分鐘),表明該記錄已經(jīng)被正常關(guān)閉,則刪除該記錄;如果 發(fā)現(xiàn)某一連接的標(biāo)志為“E”,且其活動(dòng)時(shí)間與掃描發(fā)生的時(shí)間相差大于閾值T2 ( —般取值 范圍為2小時(shí)-24小時(shí)),則表明該連接記錄對(duì)應(yīng)的TCP連接由于其他意外原因被關(guān)閉,則 也刪除該連接記錄。本發(fā)明方法的實(shí)施例說明如下本實(shí)施例以一臺(tái)ThinkPad X301 2774(HH1)筆記本為例,來說明本發(fā)明的具體的 實(shí)施過程。本實(shí)施筆記本的配置情況如下硬件配置=CPU =Intel Core2 Duo U9400 ;內(nèi)存:3GB ;硬盤:128GB固態(tài)硬盤;共有 兩個(gè)物理網(wǎng)絡(luò)接口 1個(gè)Intel 82567LM以太網(wǎng)絡(luò)接口(IGbps)和一個(gè)Intel 5300 AGN無 線WiFi網(wǎng)絡(luò)接口。軟件配置WindowsXP sp3。本實(shí)施例的實(shí)施過程如下首先,在筆記本ThinkPad X301 2774(HHl)上,增加一個(gè)虛擬網(wǎng)絡(luò)接口和一個(gè)虛擬 反向網(wǎng)絡(luò)地址轉(zhuǎn)換器;其中虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器維護(hù)一張動(dòng)態(tài)的數(shù)據(jù)轉(zhuǎn)發(fā)記錄表;其中,虛擬網(wǎng)絡(luò)接口的實(shí)施例為虛擬網(wǎng)絡(luò)接口通過向Windows XP系統(tǒng)安裝一個(gè)驅(qū)動(dòng)程序的方式來實(shí)現(xiàn)。該驅(qū) 動(dòng)程序用 WDK(Windows Driver Kit)實(shí)現(xiàn)為一個(gè)符合 NDIS (Network Driver Interface Specification)的 WDF 小端口驅(qū)動(dòng)(Miniport Driver) 在 DriverEntry 中,首先初始化 一個(gè)包裝句柄(Wrapper Handler),該句柄提供驅(qū)動(dòng)對(duì)象的指針和這個(gè)驅(qū)動(dòng)的注冊表路徑。 然后填寫相應(yīng)小端口特征函數(shù)(即回調(diào)函數(shù)),最后將該驅(qū)動(dòng)注冊為一個(gè)小端口網(wǎng)絡(luò)驅(qū)動(dòng)。在初始化過程中,該小端口驅(qū)動(dòng)不從注冊表中讀取網(wǎng)絡(luò)接口信息,而是直接在 網(wǎng)絡(luò)接口(即適配器)結(jié)構(gòu)中,設(shè)置一個(gè)以太網(wǎng)絡(luò)適配器。在MPinitialize函數(shù)(即 InitializeHandler所指函數(shù))中,將該適配器的媒體類型設(shè)置為“NdiSMedium8023”,即設(shè) 置為一塊標(biāo)準(zhǔn)的以太網(wǎng)網(wǎng)絡(luò)接口,最大幀長度為1500Byte。將虛擬網(wǎng)絡(luò)接口的MAC地址設(shè) 置為A5-BA-DB-FE-A8-96,IP地址設(shè)置為192. 168. 0. 5。依據(jù)上述設(shè)置生成適配器結(jié)構(gòu)和 適配器上下文。最后激活該適配器實(shí)例,完成虛擬網(wǎng)絡(luò)接口的設(shè)置。虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器的實(shí)施例為在Windows XP系統(tǒng)中,虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器可以利用WDK實(shí)現(xiàn)為一個(gè)NDIS 中間層驅(qū)動(dòng)來實(shí)現(xiàn)其功能。該NDIS中間層驅(qū)動(dòng)位于Windows本身的NDIS協(xié)議驅(qū)動(dòng)和NDIS 小端口驅(qū)動(dòng)之間,截獲操作系統(tǒng)或用戶通過任何協(xié)議和任何網(wǎng)絡(luò)接口發(fā)送的數(shù)據(jù)包,以及 所有NDIS小端口(即網(wǎng)絡(luò)接口)驅(qū)動(dòng)所接收的數(shù)據(jù)包。在DriverEntry中,首先初始化包 裝句柄,然后再注冊小端口特征函數(shù)(即回調(diào)函數(shù))和協(xié)議特征函數(shù)。其次,在注冊表中取得所有物理網(wǎng)絡(luò)接口的設(shè)備名(DeviceName),調(diào)用驅(qū)動(dòng)注冊的PtBindAdapter函數(shù)實(shí)現(xiàn)協(xié) 議驅(qū)動(dòng)對(duì)小端口的綁定。該NDIS中間層驅(qū)動(dòng)截獲數(shù)據(jù)后的操作步驟將在后面結(jié)合數(shù)據(jù)的 發(fā)送和接收過程進(jìn)行說明。為了得到所有物理網(wǎng)絡(luò)接口的MAC地址,虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器可以利用 Windows系統(tǒng)本身的Oid查詢請(qǐng)求獲得每一塊物理網(wǎng)絡(luò)接口的MAC地址。為了得到該MAC 地址所對(duì)應(yīng)的IP地址,虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器可以利用ARP協(xié)議來獲得所需要的MAC到 IP的對(duì)應(yīng)關(guān)系。由于虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器能夠截獲到所有的數(shù)據(jù)包,因此也可以截獲 ARP請(qǐng)求的應(yīng)答包,這樣就可以知道該MAC地址所對(duì)應(yīng)的IP地址。在本實(shí)施例中,虛擬網(wǎng)絡(luò)接口的IP地址設(shè)置為192. 168.0. 5,有線網(wǎng)絡(luò)接口的IP 地址設(shè)置為166. 111. 139. 211,無線網(wǎng)絡(luò)接口的IP地址為166. 111. 139. 212。本實(shí)施例的數(shù)據(jù)發(fā)送過程實(shí)施的流程圖如圖4所示,包括以下步驟1)網(wǎng)絡(luò)終端通過虛擬網(wǎng)卡(IP地址為192. 168. 0. 5)發(fā)送IP網(wǎng)絡(luò)數(shù)據(jù)包(例如向 服務(wù)器166. 111.4. 100的端口 80發(fā)送TCP連接請(qǐng)求IP網(wǎng)絡(luò)數(shù)據(jù)包,為簡單起見,將該TCP 包記為<192. 168. 0. 5,80,166. 111. 4. 100,80,SYN>。其中各個(gè)字段分別表示源IP網(wǎng)絡(luò)地 址,源端口,目標(biāo)IP網(wǎng)絡(luò)地址,目標(biāo)端口,以及TCP包類型。或者向服務(wù)器166. 111. 4. 100 的端口 80 發(fā)送 TCP 數(shù)據(jù)包,將該 TCP 數(shù)據(jù)包記為<192. 168. 0.5,80,166. 111.4. 100,80, DATA〉?;蛘呦蚍?wù)器166. 111.4. 100的端口 80發(fā)送TCP連接關(guān)閉數(shù)據(jù)包,將該TCP數(shù)據(jù) 包記為<192. 168. 0.5,80,166. 111.4. 100,80, FIN>。),虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器截獲該 IP網(wǎng)絡(luò)數(shù)據(jù)包;2)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器查看該IP網(wǎng)絡(luò)數(shù)據(jù)包的負(fù)載是否是面向連接的傳輸 層協(xié)議(如TCP,Transport Control Protocol)的數(shù)據(jù)包,如果是則進(jìn)行步驟3),否則進(jìn) 行步驟11);3)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器查看該IP網(wǎng)絡(luò)數(shù)據(jù)包是否是TCP連接建立數(shù)據(jù)包 (即 SYN= 1 的 TCP 數(shù)據(jù)包)(例如 <192. 168. 0. 5,80,166. 111. 4. 100,80,SYN>),如果是則 進(jìn)行4),否則進(jìn)行7);4)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器根據(jù)當(dāng)前兩個(gè)物理網(wǎng)絡(luò)接口上已經(jīng)分配的數(shù)據(jù)流狀 況,以及每條物理鏈路的帶寬-遲延乘積大小,選擇兩者差值最大的物理鏈路,并將對(duì)應(yīng)的 物理網(wǎng)絡(luò)接口(有線網(wǎng)絡(luò)接口 166. 111. 139.211)分配給該TCP連接;5)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器在數(shù)據(jù)轉(zhuǎn)發(fā)記錄表中建立一條新的連接記錄,并將活 動(dòng)時(shí)戳域置為當(dāng)前時(shí)間,標(biāo)志域置為“E”,例如如果該IP網(wǎng)絡(luò)數(shù)據(jù)包為<192. 168. 0. 5,80, 166. 111.4. 100,80,SYN>,則所建立的連接記錄如下
1權(quán)利要求
一種基于虛擬網(wǎng)絡(luò)接口和反向地址轉(zhuǎn)換的網(wǎng)絡(luò)數(shù)據(jù)傳輸方法,其特征在于,在網(wǎng)絡(luò)終端中設(shè)置一個(gè)虛擬網(wǎng)絡(luò)接口,一個(gè)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器,該方法包括網(wǎng)絡(luò)終端通過虛擬網(wǎng)絡(luò)接口發(fā)送IP網(wǎng)絡(luò)數(shù)據(jù)包,該IP網(wǎng)絡(luò)數(shù)據(jù)包再被所述虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器截取,虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器將該IP網(wǎng)絡(luò)數(shù)據(jù)包中的源IP網(wǎng)絡(luò)地址修改成被選擇的物理網(wǎng)絡(luò)接口的IP網(wǎng)絡(luò)地址,再通過該物理網(wǎng)絡(luò)接口進(jìn)行發(fā)送;當(dāng)網(wǎng)絡(luò)終端的任何一個(gè)物理網(wǎng)絡(luò)接口接收到來自服務(wù)器返回的IP網(wǎng)絡(luò)數(shù)據(jù)包時(shí),虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器截取該IP網(wǎng)絡(luò)數(shù)據(jù)包,然后將該IP網(wǎng)絡(luò)數(shù)據(jù)包的目的IP網(wǎng)絡(luò)地址修改成虛擬網(wǎng)絡(luò)接口的IP網(wǎng)絡(luò)地址,并通過虛擬網(wǎng)絡(luò)接口遞送給上層的操作系統(tǒng)或用戶。
2.如權(quán)利要求1所述的方法,其特征在于,將所述虛擬網(wǎng)絡(luò)接口的IP網(wǎng)絡(luò)地址設(shè)置為 一個(gè)內(nèi)部IP網(wǎng)絡(luò)地址或者一個(gè)合法的外部IP網(wǎng)絡(luò)地址;為現(xiàn)有網(wǎng)絡(luò)終端上的所有物理網(wǎng) 絡(luò)接口,均分配一個(gè)合法的IP網(wǎng)絡(luò)地址,用于能夠訪問Internet上的主機(jī)或被Internet 上的主機(jī)尋址;將所述的虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器連接在虛擬網(wǎng)絡(luò)接口和網(wǎng)絡(luò)終端上的所 有物理網(wǎng)絡(luò)接口之間;將虛擬網(wǎng)絡(luò)接口設(shè)置為用戶或操作系統(tǒng)使用的默認(rèn)網(wǎng)絡(luò)接口 ;將虛 擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器設(shè)置為能夠截獲虛擬網(wǎng)絡(luò)接口和全部物理網(wǎng)絡(luò)接口所發(fā)送或接收 的IP網(wǎng)絡(luò)數(shù)據(jù)包的網(wǎng)絡(luò)地址轉(zhuǎn)換器。
3.如權(quán)利要求1所述的方法,其特征在于,所述的數(shù)據(jù)轉(zhuǎn)發(fā)記錄表記錄虛擬反向網(wǎng)絡(luò) 地址轉(zhuǎn)換器在IP網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā)過程中所維護(hù)的TCP連接的各種相關(guān)信息的連接記錄;該 連接記錄包括虛擬網(wǎng)絡(luò)接口 IP,客戶端口號(hào),服務(wù)器IP,服務(wù)器端口號(hào),物理網(wǎng)絡(luò)接口 IP, 活動(dòng)時(shí)戳,標(biāo)志;其中虛擬網(wǎng)絡(luò)接口 IP為虛擬網(wǎng)絡(luò)接口的IP網(wǎng)絡(luò)地址,客戶端口號(hào)為虛擬 網(wǎng)絡(luò)接口側(cè)所對(duì)應(yīng)的TCP端口號(hào),服務(wù)器IP地址為網(wǎng)絡(luò)終端應(yīng)用程序所要連接的服務(wù)器的 IP網(wǎng)絡(luò)地址,服務(wù)器端口號(hào)為服務(wù)器側(cè)所對(duì)應(yīng)的TCP端口號(hào);活動(dòng)時(shí)戳為在該TCP連接上 最近一次數(shù)據(jù)傳輸發(fā)生時(shí)的時(shí)間;標(biāo)志是指TCP連接所處的狀態(tài);它有兩個(gè)取值“E”,“T”; “Ε”表示TCP連接已經(jīng)建立,可以通過該連接發(fā)送或接收TCP數(shù)據(jù)包;“T”表示TCP連接處 于關(guān)閉狀態(tài);處于關(guān)閉狀態(tài)的TCP連接,在網(wǎng)絡(luò)終端或服務(wù)器發(fā)送TCP連接關(guān)閉應(yīng)答并經(jīng)歷 一段時(shí)間后,可以從數(shù)據(jù)轉(zhuǎn)發(fā)記錄表中刪除其所對(duì)應(yīng)的連接記錄。
4.如權(quán)利要求3所述的方法,其特征在于,該方法包括數(shù)據(jù)接收和數(shù)據(jù)發(fā)送過程,包括 以下步驟所述數(shù)據(jù)發(fā)送過程,具體步驟如下(1. 1)網(wǎng)絡(luò)終端通過虛擬網(wǎng)絡(luò)接口發(fā)送IP網(wǎng)絡(luò)數(shù)據(jù)包,該IP網(wǎng)絡(luò)數(shù)據(jù)包被所述虛擬反 向網(wǎng)絡(luò)地址轉(zhuǎn)換器截??;(1. 2)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器查看該IP網(wǎng)絡(luò)數(shù)據(jù)包的負(fù)載是否是面向連接的傳輸層 協(xié)議的IP網(wǎng)絡(luò)數(shù)據(jù)包,如果是則進(jìn)行步驟1. 3),否則進(jìn)行步驟1. 11);(1. 3)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器查看該IP網(wǎng)絡(luò)數(shù)據(jù)包是否是TCP連接建立的IP網(wǎng)絡(luò)數(shù) 據(jù)包,如果是則進(jìn)行1. 4),否則進(jìn)行1. 7);(1. 4)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器選擇一條物理鏈路,并將該物理鏈路對(duì)應(yīng)的物理網(wǎng)絡(luò)接 口分配給該IP網(wǎng)絡(luò)數(shù)據(jù)包對(duì)應(yīng)的TCP連接;(1.5)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器在數(shù)據(jù)轉(zhuǎn)發(fā)記錄表中建立一條新的連接記錄,記錄該 TCP連接的轉(zhuǎn)發(fā)路徑,并將其標(biāo)志域置為“E”,同時(shí)更新該記錄中的活動(dòng)時(shí)戳域;(1.6)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器將該數(shù)據(jù)包的源IP地址修改成已分配的物理網(wǎng)絡(luò)接口的IP網(wǎng)絡(luò)地址,并通過該物理網(wǎng)絡(luò)接口進(jìn)行數(shù)據(jù)發(fā)送;(1. 7)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器在數(shù)據(jù)轉(zhuǎn)發(fā)記錄表中查找該數(shù)據(jù)包對(duì)應(yīng)的TCP連接的 連接記錄,如果存在,則執(zhí)行1. 8),否則丟棄該IP網(wǎng)絡(luò)數(shù)據(jù)包;(1. 8)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器查看該IP網(wǎng)絡(luò)數(shù)據(jù)包是否是傳輸層的TCP連接關(guān)閉的 數(shù)據(jù)包,如果是則進(jìn)行1. 9),否則進(jìn)行1. 10);(1. 9)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器將數(shù)據(jù)轉(zhuǎn)發(fā)記錄表中該IP網(wǎng)絡(luò)數(shù)據(jù)包對(duì)應(yīng)的連接記錄 的標(biāo)志改為“T”;(1.10)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器將該IP網(wǎng)絡(luò)數(shù)據(jù)包的源IP網(wǎng)絡(luò)地址更改為所述連接 記錄中的物理網(wǎng)絡(luò)接口的IP網(wǎng)絡(luò)地址,并通過該物理網(wǎng)絡(luò)接口進(jìn)行發(fā)送,同時(shí)更新連接記 錄中的活動(dòng)時(shí)戳域;(1.11)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器選擇一條物理鏈路,將該IP網(wǎng)絡(luò)數(shù)據(jù)包的地址更改為 該物理鏈路所對(duì)應(yīng)的物理網(wǎng)絡(luò)接口的IP網(wǎng)絡(luò)地址,并通過該物理網(wǎng)絡(luò)接口發(fā)送到因特網(wǎng);(1.12)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器定時(shí)掃描數(shù)據(jù)轉(zhuǎn)發(fā)記錄表中連接記錄的標(biāo)志域和活 動(dòng)時(shí)戳域,如果發(fā)現(xiàn)某一連接的標(biāo)志為“T”,且其活動(dòng)時(shí)間與掃描發(fā)生的時(shí)間相差大于閾值 Tl,表明該記錄已經(jīng)被正常關(guān)閉,則刪除該記錄;如果發(fā)現(xiàn)某一連接的標(biāo)志為“E”,且其活 動(dòng)時(shí)間與掃描發(fā)生的時(shí)間相差大于閾值T2,T2 > Tl,則表明該連接記錄對(duì)應(yīng)的TCP連接由 于其他意外原因被關(guān)閉,也刪除該連接記錄;所述數(shù)據(jù)接收過程,具體過程如下(2.1)網(wǎng)絡(luò)終端的任何一個(gè)物理網(wǎng)絡(luò)接口接收到來自服務(wù)器返回的IP網(wǎng)絡(luò)數(shù)據(jù)包,虛 擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器截獲到該IP網(wǎng)絡(luò)數(shù)據(jù)包;(2. 2)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器查看該IP網(wǎng)絡(luò)數(shù)據(jù)包的負(fù)載是否是面向連接的傳輸層 協(xié)議的IP網(wǎng)絡(luò)數(shù)據(jù)包,如果是則進(jìn)行2. 3),否則進(jìn)行2. 5);(2. 3)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器在數(shù)據(jù)轉(zhuǎn)發(fā)記錄表中查找所對(duì)應(yīng)的連接記錄,如果存 在,則進(jìn)行2. 4),否則將該IP網(wǎng)絡(luò)數(shù)據(jù)包丟棄;(2. 4)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器將該IP網(wǎng)絡(luò)數(shù)據(jù)包的目的IP網(wǎng)絡(luò)地址更改為虛擬網(wǎng)絡(luò) 接口的IP網(wǎng)絡(luò)地址,并通過該虛擬網(wǎng)絡(luò)接口遞送給上層操作系統(tǒng)或用戶,同時(shí)更新該連接 記錄的活動(dòng)時(shí)戳域;(2. 5)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器將該IP網(wǎng)絡(luò)數(shù)據(jù)包的目的IP網(wǎng)絡(luò)地址修改為虛擬網(wǎng)絡(luò) 接口的IP網(wǎng)絡(luò)地址,并通過虛擬網(wǎng)絡(luò)接口轉(zhuǎn)發(fā)給上層操作系統(tǒng)或用戶;(2. 6)虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器定時(shí)掃描數(shù)據(jù)轉(zhuǎn)發(fā)記錄表中連接記錄的標(biāo)志域和活動(dòng) 時(shí)戳域,如果發(fā)現(xiàn)某一連接的標(biāo)志為“T”,且其活動(dòng)時(shí)間與掃描發(fā)生的時(shí)間相差大于閾值 Tl,表明該記錄已經(jīng)被正常關(guān)閉,則刪除該記錄;如果發(fā)現(xiàn)某一連接的標(biāo)志為“E”,且其活 動(dòng)時(shí)間與掃描發(fā)生的時(shí)間相差大于閾值T2,T2 > Tl,則表明該連接記錄對(duì)應(yīng)的TCP連接由 于其他意外原因被關(guān)閉,也刪除該連接記錄。
全文摘要
本發(fā)明涉及基于虛擬網(wǎng)絡(luò)接口和反向地址轉(zhuǎn)換的網(wǎng)絡(luò)數(shù)據(jù)傳輸方法,屬于計(jì)算機(jī)網(wǎng)絡(luò)訪問技術(shù)領(lǐng)域,該方法包括網(wǎng)絡(luò)終端通過虛擬網(wǎng)絡(luò)接口發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包,該網(wǎng)絡(luò)數(shù)據(jù)包再被虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器截取,將該數(shù)據(jù)包中的源網(wǎng)絡(luò)地址修改成被選擇的物理網(wǎng)絡(luò)接口的網(wǎng)絡(luò)地址,再通過該物理網(wǎng)絡(luò)接口進(jìn)行發(fā)送;當(dāng)網(wǎng)絡(luò)終端的任何一個(gè)物理網(wǎng)絡(luò)接口接收到來自服務(wù)器返回的網(wǎng)絡(luò)數(shù)據(jù)包時(shí),虛擬反向網(wǎng)絡(luò)地址轉(zhuǎn)換器截取該網(wǎng)絡(luò)數(shù)據(jù)包,然后將該網(wǎng)絡(luò)數(shù)據(jù)包的目的地址修改成虛擬網(wǎng)絡(luò)接口的網(wǎng)絡(luò)地址,并通過虛擬網(wǎng)絡(luò)接口遞送給上層的操作系統(tǒng)或用戶。本發(fā)明只需要修改網(wǎng)絡(luò)終端一側(cè),不但能夠有效支持多個(gè)異構(gòu)網(wǎng)絡(luò)接口的同時(shí)使用和訪問,還能夠非常方便的進(jìn)行部署和應(yīng)用。
文檔編號(hào)H04L29/12GK101986666SQ20101053263
公開日2011年3月16日 申請(qǐng)日期2010年11月5日 優(yōu)先權(quán)日2010年11月5日
發(fā)明者周悅芝, 張堯?qū)W 申請(qǐng)人:清華大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
霍山县| 曲周县| 赤壁市| 肇州县| 邵武市| 含山县| 南京市| 波密县| 兴业县| 民县| 富川| 吴江市| 易门县| 浦东新区| 正宁县| 如皋市| 清流县| 温州市| 兴山县| 明溪县| 和龙市| 西乌珠穆沁旗| 思南县| 佛教| 承德市| 壶关县| 时尚| 西乡县| 安阳市| 武义县| 会宁县| 乐至县| 古田县| 辉南县| 诸城市| 长宁县| 普格县| 逊克县| 儋州市| 鞍山市| 金堂县|