一種網(wǎng)絡(luò)共享的方法及裝置制造方法
【專利摘要】本發(fā)明實(shí)施例公開了一種網(wǎng)絡(luò)共享的方法,包括:獲取第一網(wǎng)絡(luò)適配器的第一端口發(fā)送的上行數(shù)據(jù)包;通過所述第二網(wǎng)絡(luò)適配器的第二端口將所述上行數(shù)據(jù)包轉(zhuǎn)發(fā)到網(wǎng)絡(luò);獲取所述網(wǎng)絡(luò)回送到所述第二網(wǎng)絡(luò)適配器的第二端口的下行數(shù)據(jù)包;將所述下行數(shù)據(jù)包發(fā)送到所述第一網(wǎng)絡(luò)適配器的第一端口。相應(yīng)地,本發(fā)明實(shí)施例還公開了一種網(wǎng)絡(luò)共享的裝置。采用本發(fā)明,可以實(shí)現(xiàn)使計(jì)算機(jī)中未連接網(wǎng)絡(luò)的網(wǎng)絡(luò)適配器通過已連接網(wǎng)絡(luò)的網(wǎng)絡(luò)適配器接入網(wǎng)絡(luò),為計(jì)算機(jī)網(wǎng)絡(luò)共享的應(yīng)用提供基礎(chǔ),提升用戶體驗(yàn)。
【專利說明】一種網(wǎng)絡(luò)共享的方法及裝置【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,尤其涉及一種網(wǎng)絡(luò)共享的方法及裝置。
【背景技術(shù)】
[0002]網(wǎng)絡(luò)共享技術(shù)廣泛應(yīng)用于無線通信領(lǐng)域,可以實(shí)現(xiàn)使計(jì)算機(jī)中未連接網(wǎng)絡(luò)的無線網(wǎng)絡(luò)適配器通過已連接網(wǎng)絡(luò)的網(wǎng)絡(luò)適配器接入網(wǎng)絡(luò),以達(dá)到網(wǎng)絡(luò)共享的目的。其中,WiFi共享軟件、雙機(jī)共享上網(wǎng)等網(wǎng)絡(luò)共享應(yīng)用均可通過網(wǎng)絡(luò)共享裝置實(shí)現(xiàn)網(wǎng)絡(luò)共享技術(shù)。
[0003]目前在Windows平臺下,這類網(wǎng)絡(luò)共享裝置主要是基于系統(tǒng)的ICS (InternetConnection Sharing,網(wǎng)絡(luò)共享)服務(wù)實(shí)現(xiàn)的。但是,ICS服務(wù)在例如家庭版、精簡版的Windows系統(tǒng)內(nèi)是不存在的,不是所有的用戶都可以體驗(yàn),另外ICS服務(wù)的穩(wěn)定性差,易出現(xiàn)異常情況。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例所要解決的技術(shù)問題在于,提供一種網(wǎng)絡(luò)共享的方法及裝置,可以實(shí)現(xiàn)使計(jì)算機(jī)中未連接網(wǎng)絡(luò)的網(wǎng)絡(luò)適配器通過已連接網(wǎng)絡(luò)的網(wǎng)絡(luò)適配器接入網(wǎng)絡(luò),為計(jì)算機(jī)網(wǎng)絡(luò)共享應(yīng)用提供基礎(chǔ),提升用戶體驗(yàn)。
[0005]為了解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種網(wǎng)絡(luò)共享的方法,包括:
[0006]獲取第一網(wǎng)絡(luò)適配器的第一端口發(fā)送的上行數(shù)據(jù)包;
[0007]通過所述第二網(wǎng)絡(luò)適配器的第二端口將所述上行數(shù)據(jù)包轉(zhuǎn)發(fā)到網(wǎng)絡(luò);
[0008]獲取所述網(wǎng)絡(luò)回送到所述第二網(wǎng)絡(luò)適配器的第二端口的下行數(shù)據(jù)包;
[0009]將所述下行數(shù)據(jù)包發(fā)送到所述第一網(wǎng)絡(luò)適配器的第一端口。
[0010]相應(yīng)地,本發(fā)明實(shí)施例還提供了一種網(wǎng)絡(luò)共享的裝置,包括:
[0011]上行數(shù)據(jù)包獲取模塊,用于獲取第一網(wǎng)絡(luò)適配器的第一端口發(fā)送的上行數(shù)據(jù)包;
[0012]上行數(shù)據(jù)包轉(zhuǎn)發(fā)模塊,用于通過所述第二網(wǎng)絡(luò)適配器的第二端口將所述上行數(shù)據(jù)包轉(zhuǎn)發(fā)到網(wǎng)絡(luò);
[0013]下行數(shù)據(jù)包獲取模塊,用于獲取所述網(wǎng)絡(luò)回送到所述第二網(wǎng)絡(luò)適配器的第二端口的下行數(shù)據(jù)包;
[0014]下行數(shù)據(jù)包發(fā)送模塊,用于將所述下行數(shù)據(jù)包發(fā)送到所述第一網(wǎng)絡(luò)適配器的第一端口。
[0015]實(shí)施本發(fā)明實(shí)施例,具有如下有益效果:本發(fā)明實(shí)施例通過分別與第一網(wǎng)絡(luò)適配器和第二網(wǎng)絡(luò)適配器建立數(shù)據(jù)連接,利用第二網(wǎng)絡(luò)適配器轉(zhuǎn)發(fā)第一網(wǎng)絡(luò)適配器的上行數(shù)據(jù)包和回傳下行數(shù)據(jù)包給第一網(wǎng)絡(luò)適配器的方法,實(shí)現(xiàn)使計(jì)算機(jī)中未連接網(wǎng)絡(luò)的網(wǎng)絡(luò)適配器通過已連接網(wǎng)絡(luò)的網(wǎng)絡(luò)適配器接入網(wǎng)絡(luò)的功能,為計(jì)算機(jī)網(wǎng)絡(luò)共享的應(yīng)用提供基礎(chǔ),提升用戶體驗(yàn)。
【專利附圖】
【附圖說明】[0016]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0017]圖1是本發(fā)明實(shí)施例提供的一種網(wǎng)絡(luò)共享的方法的流程示意圖;
[0018]圖2是本發(fā)明實(shí)施例提供的另一種網(wǎng)絡(luò)共享的方法的流程示意圖;
[0019]圖3是本發(fā)明實(shí)施例提供的一種網(wǎng)絡(luò)共享的裝置的結(jié)構(gòu)示意圖;
[0020]圖4是本發(fā)明實(shí)施例提供的一種上行數(shù)據(jù)包轉(zhuǎn)發(fā)模塊的結(jié)構(gòu)示意圖;
[0021]圖5是本發(fā)明實(shí)施例提供的一種下行數(shù)據(jù)包發(fā)送模塊的結(jié)構(gòu)示意圖;
[0022]圖6是本發(fā)明實(shí)施例提供的一種網(wǎng)絡(luò)共享的硬件原理圖。
【具體實(shí)施方式】
[0023]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0024]本發(fā)明實(shí)施例提供的管理無線網(wǎng)共享軟件的方法和裝置主要應(yīng)用于Windows等操作平臺上的計(jì)算機(jī),包括臺式電腦、筆記本電腦以及平板電腦等具備有無線網(wǎng)絡(luò)適配器的終端。
[0025]圖1是本發(fā)明實(shí)施例中一種網(wǎng)絡(luò)共享的方法的示意圖。如圖所示本實(shí)施例中的網(wǎng)絡(luò)共享的流程可以包括:
[0026]S101,獲取第一網(wǎng)絡(luò)適配器的第一端口發(fā)送的上行數(shù)據(jù)包。
[0027]所述網(wǎng)絡(luò)適配器是用于統(tǒng)一本地?cái)?shù)據(jù)和網(wǎng)絡(luò)數(shù)據(jù)的格式的硬件,又稱為網(wǎng)卡,所述第一網(wǎng)絡(luò)適配器為未直接連入網(wǎng)絡(luò)的網(wǎng)絡(luò)適配器,一般為計(jì)算機(jī)中的無線網(wǎng)絡(luò)適配器。計(jì)算機(jī)的各個(gè)應(yīng)用程序與網(wǎng)絡(luò)通信時(shí),會分別在網(wǎng)絡(luò)適配器上調(diào)用各自的端口,其中,網(wǎng)絡(luò)適配器中可被調(diào)用的端口有65535個(gè),所述第一端口為當(dāng)前其中一個(gè)應(yīng)用程序連接網(wǎng)絡(luò)時(shí)所調(diào)用的端口。
[0028]請參閱如圖6所示的一種網(wǎng)絡(luò)共享的硬件原理圖,在本發(fā)明實(shí)施例中:
[0029]B網(wǎng)絡(luò)適配器即為第一網(wǎng)絡(luò)適配器,BI到Bn是第一網(wǎng)絡(luò)適配器的各個(gè)端口。當(dāng)前狀態(tài)下,BI和B2這兩個(gè)端口已被計(jì)算機(jī)中兩個(gè)應(yīng)用程序所調(diào)用,可選的示例,BI為所述第
一端口。
[0030]具體的,本發(fā)明裝置通過B驅(qū)動(dòng)接口獲取第一網(wǎng)絡(luò)適配器的第一端口發(fā)送的上行數(shù)據(jù)包。其中,所述上行數(shù)據(jù)包即為需上傳到網(wǎng)絡(luò)的IP (Internet Protocol,網(wǎng)絡(luò)協(xié)議)數(shù)據(jù)包。
[0031]S102,通過所述第二網(wǎng)絡(luò)適配器的第二端口將所述上行數(shù)據(jù)包轉(zhuǎn)發(fā)到網(wǎng)絡(luò)。
[0032]所述第二網(wǎng)絡(luò)適配器為直接接入網(wǎng)絡(luò)的網(wǎng)絡(luò)適配器,可以為有線網(wǎng)絡(luò)適配器,也可以為無線網(wǎng)絡(luò)適配器。所述第二端口為當(dāng)前第二網(wǎng)絡(luò)適配器空閑的一個(gè)端口。
[0033]請參閱圖6,在本發(fā)明實(shí)施例中:
[0034]A網(wǎng)絡(luò)適配器即為第二網(wǎng)絡(luò)適配器,Al到An是第二網(wǎng)絡(luò)適配器的各個(gè)端口,其中,Al為所述第二端口。
[0035]具體的,本發(fā)明裝置通過A驅(qū)動(dòng)接口將上行數(shù)據(jù)包發(fā)送到第二網(wǎng)絡(luò)適配器中,進(jìn)而通過第二網(wǎng)絡(luò)適配器的第二端口將上行數(shù)據(jù)包轉(zhuǎn)發(fā)到網(wǎng)絡(luò)中。
[0036]進(jìn)一步的,在通過A驅(qū)動(dòng)接口將上行數(shù)據(jù)包發(fā)送到第二網(wǎng)絡(luò)適配器之前,本發(fā)明裝置還要根據(jù)NAT (Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)規(guī)則對上行數(shù)據(jù)包的源地址信息進(jìn)行修改。需要指出的是,所述源地址信息記錄于上行數(shù)據(jù)包的包頭,包括源IP(Internet Protocol,網(wǎng)絡(luò)協(xié)議)地址和源端口。
[0037]具體實(shí)現(xiàn)過程中,本發(fā)明裝置將上行數(shù)據(jù)包的源網(wǎng)絡(luò)地址由第一網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址更改為第二網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址,以及將上行數(shù)據(jù)包的源端口由第一端口更改為
第二端口。
[0038]進(jìn)而,更改后的上行數(shù)據(jù)包攜帶有第二網(wǎng)絡(luò)適配器的IP地址和端口信息,以使網(wǎng)絡(luò)在回送數(shù)據(jù)的時(shí)候能根據(jù)它找到第二網(wǎng)絡(luò)適配器,避免了因?yàn)榈谝痪W(wǎng)絡(luò)適配器未直接連入網(wǎng)絡(luò)而網(wǎng)絡(luò)無法找到回送對象的情況。
[0039]S103,獲取所述網(wǎng)絡(luò)回送到所述第二網(wǎng)絡(luò)適配器的第二端口的下行數(shù)據(jù)包。
[0040]由于網(wǎng)絡(luò)通信是雙向的,網(wǎng)絡(luò)在收到上行數(shù)據(jù)包后,也會回送下行數(shù)據(jù)包,所述下行數(shù)據(jù)包即為從網(wǎng)絡(luò)回送到網(wǎng)絡(luò)適配器的IP數(shù)據(jù)包。具體的,本發(fā)明裝置獲取網(wǎng)絡(luò)回送到第二網(wǎng)絡(luò)適配器的第二端口的下行數(shù)據(jù)包。
[0041]需要指出的是,第二網(wǎng)絡(luò)適配器的第二端口如果沒被停止調(diào)用,那么將會默認(rèn)只用于實(shí)現(xiàn)本實(shí)施例的網(wǎng)絡(luò)共享功能,因而接收到的下行數(shù)據(jù)包一定是指向第一網(wǎng)絡(luò)適配器的第一端口的。特別地,如果一個(gè)下行數(shù)據(jù)包不是發(fā)送到第二端口的,例如圖6中的A2,那么本發(fā)明裝置將不會去獲取這個(gè)下行數(shù)據(jù)包,這個(gè)下行數(shù)據(jù)包將會被調(diào)用第二網(wǎng)絡(luò)適配器的應(yīng)用程序所讀取。
[0042]S104,將所述下行數(shù)據(jù)包發(fā)送到所述第一網(wǎng)絡(luò)適配器的第一端口。
[0043]具體的,本發(fā)明裝置通過B驅(qū)動(dòng)接口將獲取到的下行數(shù)據(jù)包發(fā)送到第一網(wǎng)絡(luò)適配
器的第一端口。
[0044]進(jìn)一步的,在通過B驅(qū)動(dòng)接口將獲取到的下行數(shù)據(jù)包發(fā)送到第一網(wǎng)絡(luò)適配器的第一端口之前,本發(fā)明裝置還要根據(jù)NAT規(guī)則對下行數(shù)據(jù)包的目標(biāo)地址信息進(jìn)行修改。其中,所述目標(biāo)地址信息記錄于下行數(shù)據(jù)包的包頭,包括目標(biāo)IP地址和目標(biāo)端口。
[0045]具體實(shí)現(xiàn)過程中,本發(fā)明裝置將下行數(shù)據(jù)包的目標(biāo)網(wǎng)絡(luò)地址由第二網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址更改為第一網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址,以及將下行數(shù)據(jù)包的目標(biāo)端口由第二端口更改為第一端口。需要指出的是,接收到的下行數(shù)據(jù)包的目標(biāo)IP地址和目標(biāo)端口只有匹配本地的IP地址和端口,本地才有權(quán)限去讀取下行數(shù)據(jù)包的內(nèi)容,所以更改目標(biāo)IP地址和目標(biāo)端口是必要的。
[0046]本發(fā)明實(shí)施例通過分別與第一網(wǎng)絡(luò)適配器和第二網(wǎng)絡(luò)適配器建立數(shù)據(jù)連接,利用第二網(wǎng)絡(luò)適配器轉(zhuǎn)發(fā)第一網(wǎng)絡(luò)適配器的上行數(shù)據(jù)包和回傳下行數(shù)據(jù)包給第一網(wǎng)絡(luò)適配器的方法,實(shí)現(xiàn)使計(jì)算機(jī)中未連接網(wǎng)絡(luò)的網(wǎng)絡(luò)適配器通過已連接網(wǎng)絡(luò)的網(wǎng)絡(luò)適配器接入網(wǎng)絡(luò)的功能,為計(jì)算機(jī)網(wǎng)絡(luò)共享應(yīng)用提供基礎(chǔ),提升用戶體驗(yàn)。
[0047]圖2是本發(fā)明實(shí)施例中另一種網(wǎng)絡(luò)共享的方法的示意圖,可以包括:
[0048]S201,獲取第一網(wǎng)絡(luò)適配器的第一端口發(fā)送的上行數(shù)據(jù)包。[0049]所述網(wǎng)絡(luò)適配器是用于統(tǒng)一本地?cái)?shù)據(jù)和網(wǎng)絡(luò)數(shù)據(jù)的格式的硬件,又稱為網(wǎng)卡,所述第一網(wǎng)絡(luò)適配器為未直接連入網(wǎng)絡(luò)的網(wǎng)絡(luò)適配器,一般為計(jì)算機(jī)中的無線網(wǎng)絡(luò)適配器。計(jì)算機(jī)的各個(gè)應(yīng)用程序與網(wǎng)絡(luò)通信時(shí),會分別在網(wǎng)絡(luò)適配器上調(diào)用各自的端口,其中,網(wǎng)絡(luò)適配器中可被調(diào)用的端口有65535個(gè),所述第一端口為當(dāng)前其中一個(gè)應(yīng)用程序連接網(wǎng)絡(luò)時(shí)所調(diào)用的端口。
[0050]請參閱如圖6所示的一種網(wǎng)絡(luò)共享的硬件原理圖,在本發(fā)明實(shí)施例中:
[0051]B網(wǎng)絡(luò)適配器即為第一網(wǎng)絡(luò)適配器,BI到Bn是第一網(wǎng)絡(luò)適配器的各個(gè)端口。當(dāng)前狀態(tài)下,BI和B2這兩個(gè)端口已被計(jì)算機(jī)中兩個(gè)應(yīng)用程序所調(diào)用,可選的示例,BI為所述第
一端口。
[0052]具體的,本發(fā)明裝置通過B驅(qū)動(dòng)接口獲取第一網(wǎng)絡(luò)適配器的第一端口發(fā)送的上行數(shù)據(jù)包。其中,所述上行數(shù)據(jù)包即為需上傳到網(wǎng)絡(luò)的IP (Internet Protocol,網(wǎng)絡(luò)協(xié)議)數(shù)據(jù)包。
[0053]S202,更改所述上行數(shù)據(jù)包的源網(wǎng)絡(luò)地址和源端口。
[0054]具體的,本發(fā)明裝置還要根據(jù)NAT (Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)規(guī)則對上行數(shù)據(jù)包的源地址信息進(jìn)行修改。需要指出的是,所述源地址信息記錄于上行數(shù)據(jù)包的包頭,包括源IP (Internet Protocol,網(wǎng)絡(luò)協(xié)議)地址和源端口。
[0055]具體實(shí)現(xiàn)過程中,本發(fā)明裝置將上行數(shù)據(jù)包的源網(wǎng)絡(luò)地址由第一網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址更改為第二網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址,以及將上行數(shù)據(jù)包的源端口由第一端口更改為第二端口。
[0056]進(jìn)而,更改后的上行數(shù)據(jù)包攜帶有第二網(wǎng)絡(luò)適配器的IP地址和端口信息,以使網(wǎng)絡(luò)在回送數(shù)據(jù)的時(shí)候能根據(jù)它找到第二網(wǎng)絡(luò)適配器,避免了因?yàn)榈谝痪W(wǎng)絡(luò)適配器未直接連入網(wǎng)絡(luò)而網(wǎng)絡(luò)無法找到回送對象的情況。
[0057]S203,通過所述第二網(wǎng)絡(luò)適配器的第二端口將所述上行數(shù)據(jù)包轉(zhuǎn)發(fā)到網(wǎng)絡(luò)。
[0058]所述第二網(wǎng)絡(luò)適配器為直接接入網(wǎng)絡(luò)的網(wǎng)絡(luò)適配器,可以為有線網(wǎng)絡(luò)適配器,也可以為無線網(wǎng)絡(luò)適配器。所述第二端口為當(dāng)前第二網(wǎng)絡(luò)適配器空閑的一個(gè)端口。
[0059]請參閱圖6,在本發(fā)明實(shí)施例中:
[0060]A網(wǎng)絡(luò)適配器即為第二網(wǎng)絡(luò)適配器,Al到An是第二網(wǎng)絡(luò)適配器的各個(gè)端口,其中,Al為所述第二端口。
[0061]具體的,本發(fā)明裝置通過A驅(qū)動(dòng)接口將更改后的上行數(shù)據(jù)包發(fā)送到第二網(wǎng)絡(luò)適配器中,進(jìn)而通過第二網(wǎng)絡(luò)適配器的第二端口將上行數(shù)據(jù)包轉(zhuǎn)發(fā)到網(wǎng)絡(luò)中。
[0062]可選的,在預(yù)設(shè)傳輸速率范圍內(nèi),本發(fā)明裝置通過改變將更改后的上行數(shù)據(jù)包發(fā)送到第二網(wǎng)絡(luò)適配器的傳輸速率,可以改變上行傳輸速率,進(jìn)而改變了網(wǎng)絡(luò)共享的網(wǎng)速。
[0063]S204,獲取所述網(wǎng)絡(luò)回送到所述第二網(wǎng)絡(luò)適配器的第二端口的下行數(shù)據(jù)包。
[0064]由于網(wǎng)絡(luò)通信是雙向的,網(wǎng)絡(luò)在收到上行數(shù)據(jù)包后,也會回送下行數(shù)據(jù)包,所述下行數(shù)據(jù)包即為從網(wǎng)絡(luò)回送到網(wǎng)絡(luò)適配器的IP數(shù)據(jù)包。具體的,本發(fā)明裝置獲取網(wǎng)絡(luò)回送到第二網(wǎng)絡(luò)適配器的第二端口的下行數(shù)據(jù)包。
[0065]需要指出的是,第二網(wǎng)絡(luò)適配器的第二端口如果沒被停止調(diào)用,那么將會默認(rèn)只用于實(shí)現(xiàn)本實(shí)施例的網(wǎng)絡(luò)共享功能,因而接收到的下行數(shù)據(jù)包一定是指向第一網(wǎng)絡(luò)適配器的第一端口的。特別地,如果一個(gè)下行數(shù)據(jù)包不是發(fā)送到第二端口的,例如圖6中的A2,那么本發(fā)明裝置將不會去獲取這個(gè)下行數(shù)據(jù)包,這個(gè)下行數(shù)據(jù)包將會被調(diào)用第二網(wǎng)絡(luò)適配器的應(yīng)用程序所讀取。
[0066]S205,更改所述下行數(shù)據(jù)包的目標(biāo)網(wǎng)絡(luò)地址和目標(biāo)端口。
[0067]具體的,本發(fā)明裝置根據(jù)NAT規(guī)則對下行數(shù)據(jù)包的目標(biāo)地址信息進(jìn)行修改。其中,所述目標(biāo)地址信息記錄于下行數(shù)據(jù)包的包頭,包括目標(biāo)IP地址和目標(biāo)端口。
[0068]具體實(shí)現(xiàn)過程中,本發(fā)明裝置將下行數(shù)據(jù)包的目標(biāo)網(wǎng)絡(luò)地址由第二網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址更改為第一網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址,以及將下行數(shù)據(jù)包的目標(biāo)端口由第二端口更改為第一端口。需要指出的是,接收到的下行數(shù)據(jù)包的目標(biāo)IP地址和目標(biāo)端口只有匹配本地的IP地址和端口,本地才有權(quán)限去讀取下行數(shù)據(jù)包的內(nèi)容,所以更改目標(biāo)IP地址和目標(biāo)端口是必要的。
[0069]S206,將所述下行數(shù)據(jù)包發(fā)送到所述第一網(wǎng)絡(luò)適配器的第一端口。
[0070]具體的,本發(fā)明裝置通過B驅(qū)動(dòng)接口將更改后的下行數(shù)據(jù)包發(fā)送到第一網(wǎng)絡(luò)適配器的第一端口,以使調(diào)用第一端口的應(yīng)用程序接收到回送的數(shù)據(jù)。
[0071]可選的,在預(yù)設(shè)傳輸速率范圍內(nèi),本發(fā)明裝置通過改變將更改后的下行數(shù)據(jù)包發(fā)送到第一網(wǎng)絡(luò)適配器的第一端口的傳輸速率,可以改變下行傳輸速率,進(jìn)而改變了網(wǎng)絡(luò)共享的網(wǎng)速。
[0072]本發(fā)明實(shí)施例通過分別與第一網(wǎng)絡(luò)適配器和第二網(wǎng)絡(luò)適配器建立數(shù)據(jù)連接,利用第二網(wǎng)絡(luò)適配器轉(zhuǎn)發(fā)第一網(wǎng)絡(luò)適配器的上行數(shù)據(jù)包和回傳下行數(shù)據(jù)包給第一網(wǎng)絡(luò)適配器的方法,實(shí)現(xiàn)使計(jì)算機(jī)中未連接網(wǎng)絡(luò)的網(wǎng)絡(luò)適配器通過已連接網(wǎng)絡(luò)的網(wǎng)絡(luò)適配器接入網(wǎng)絡(luò)的功能,為計(jì)算機(jī)網(wǎng)絡(luò)共享應(yīng)用提供基礎(chǔ)。同時(shí),還可以通過改變發(fā)送上行數(shù)據(jù)包給第二網(wǎng)絡(luò)適配器和發(fā)送下行數(shù)據(jù)包給第一網(wǎng)絡(luò)適配器的傳輸速率來改變整個(gè)網(wǎng)絡(luò)共享的網(wǎng)速,提升用戶體驗(yàn)。
[0073]圖3是本發(fā)明實(shí)施例中一種網(wǎng)絡(luò)共享的裝置的結(jié)構(gòu)示意圖。本發(fā)明實(shí)施例中的網(wǎng)絡(luò)共享的裝置,可以基于Windows系統(tǒng)下的NDIS (Network Driver InterfaceSpecification,網(wǎng)絡(luò)接口卡)實(shí)現(xiàn)對網(wǎng)絡(luò)適配器的監(jiān)控。如圖所示本發(fā)明實(shí)施例中的網(wǎng)絡(luò)共享的裝置至少可以包括上行數(shù)據(jù)包獲取模塊310、上行數(shù)據(jù)包轉(zhuǎn)發(fā)模塊320、下行數(shù)據(jù)包獲取模塊330以及下行數(shù)據(jù)包發(fā)送模塊340,其中:
[0074]上行數(shù)據(jù)包獲取模塊310,用于獲取第一網(wǎng)絡(luò)適配器的第一端口發(fā)送的上行數(shù)據(jù)包。
[0075]所述網(wǎng)絡(luò)適配器是用于統(tǒng)一本地?cái)?shù)據(jù)和網(wǎng)絡(luò)數(shù)據(jù)的格式的硬件,又稱為網(wǎng)卡,所述第一網(wǎng)絡(luò)適配器為未直接連入網(wǎng)絡(luò)的網(wǎng)絡(luò)適配器,一般為計(jì)算機(jī)中的無線網(wǎng)絡(luò)適配器。計(jì)算機(jī)的各個(gè)應(yīng)用程序與網(wǎng)絡(luò)通信時(shí),會分別在網(wǎng)絡(luò)適配器上調(diào)用各自的端口,其中,網(wǎng)絡(luò)適配器中可被調(diào)用的端口有65535個(gè),所述第一端口為當(dāng)前其中一個(gè)應(yīng)用程序連接網(wǎng)絡(luò)時(shí)所調(diào)用的端口。
[0076]請參閱如圖6所示的一種網(wǎng)絡(luò)共享的硬件原理圖,在本發(fā)明實(shí)施例中:
[0077]B網(wǎng)絡(luò)適配器即為第一網(wǎng)絡(luò)適配器,BI到Bn是第一網(wǎng)絡(luò)適配器的各個(gè)端口。當(dāng)前狀態(tài)下,BI和B2這兩個(gè)端口已被計(jì)算機(jī)中兩個(gè)應(yīng)用程序所調(diào)用,可選的示例,BI為所述第
一端口。
[0078]具體的,上行數(shù)據(jù)包獲取模塊310通過B驅(qū)動(dòng)接口獲取第一網(wǎng)絡(luò)適配器的第一端口發(fā)送的上行數(shù)據(jù)包。其中,所述上行數(shù)據(jù)包即為需上傳到網(wǎng)絡(luò)的IPdnternet Protocol,網(wǎng)絡(luò)協(xié)議)數(shù)據(jù)包。
[0079]上行數(shù)據(jù)包轉(zhuǎn)發(fā)模塊320,用于通過所述第二網(wǎng)絡(luò)適配器的第二端口將所述上行數(shù)據(jù)包轉(zhuǎn)發(fā)到網(wǎng)絡(luò)。具體實(shí)現(xiàn)中,所述上行數(shù)據(jù)包轉(zhuǎn)發(fā)模塊320可以如圖4所示進(jìn)一步包括:源地址信息更改單元321和上行數(shù)據(jù)包發(fā)送單元322,其中:
[0080]源地址信息更改單元321,用于將所述上行數(shù)據(jù)包的源網(wǎng)絡(luò)地址由所述第一網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址更改為所述第二網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址,以及將所述上行數(shù)據(jù)包的源端口由所述第一端口更改為所述第二端口。
[0081]所述第二網(wǎng)絡(luò)適配器為直接接入網(wǎng)絡(luò)的網(wǎng)絡(luò)適配器,可以為有線網(wǎng)絡(luò)適配器,也可以為無線網(wǎng)絡(luò)適配器。所述第二端口為當(dāng)前第二網(wǎng)絡(luò)適配器空閑的一個(gè)端口。
[0082]請參閱圖6,在本發(fā)明實(shí)施例中:
[0083]A網(wǎng)絡(luò)適配器即為第二網(wǎng)絡(luò)適配器,Al到An是第二網(wǎng)絡(luò)適配器的各個(gè)端口,其中,Al為所述第二端口。
[0084]具體的,源地址信息更改單元321根據(jù)NAT(Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)規(guī)則對上行數(shù)據(jù)包進(jìn)行修改,包括:將上行數(shù)據(jù)包的源網(wǎng)絡(luò)地址由第一網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址更改為第二網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址,以及將上行數(shù)據(jù)包的源端口由第一端口更改為第二端口。
[0085]上行數(shù)據(jù)包發(fā)送單元322,用于將所述更改后的上行數(shù)據(jù)包發(fā)送到所述第二網(wǎng)絡(luò)適配器,進(jìn)而通過所述第二網(wǎng)絡(luò)適配器的第二端口將所述更改后的上行數(shù)據(jù)包發(fā)送到網(wǎng)絡(luò)。
[0086]具體的,上行數(shù)據(jù)包發(fā)送單元322通過A驅(qū)動(dòng)接口將更改后的上行數(shù)據(jù)包發(fā)送到第二網(wǎng)絡(luò)適配器中,進(jìn)而通過第二網(wǎng)絡(luò)適配器的第二端口將上行數(shù)據(jù)包轉(zhuǎn)發(fā)到網(wǎng)絡(luò)中。
[0087]另外,更改后的上行數(shù)據(jù)包攜帶有第二網(wǎng)絡(luò)適配器的IP地址和端口信息,以使網(wǎng)絡(luò)在回送數(shù)據(jù)的時(shí)候能根據(jù)它找到第二網(wǎng)絡(luò)適配器,避免了因?yàn)榈谝痪W(wǎng)絡(luò)適配器未直接連入網(wǎng)絡(luò)而網(wǎng)絡(luò)無法找到回送對象的情況。
[0088]下行數(shù)據(jù)包獲取模塊330,用于獲取所述網(wǎng)絡(luò)回送到所述第二網(wǎng)絡(luò)適配器的第二端口的下行數(shù)據(jù)包。
[0089]由于網(wǎng)絡(luò)通信是雙向的,網(wǎng)絡(luò)在收到上行數(shù)據(jù)包后,也會回送下行數(shù)據(jù)包,所述下行數(shù)據(jù)包即為從網(wǎng)絡(luò)回送到網(wǎng)絡(luò)適配器的IP數(shù)據(jù)包。具體的,下行數(shù)據(jù)包獲取模塊330獲取網(wǎng)絡(luò)回送到第二網(wǎng)絡(luò)適配器的第二端口的下行數(shù)據(jù)包。
[0090]需要指出的是,第二網(wǎng)絡(luò)適配器的第二端口如果沒被停止調(diào)用,那么將會默認(rèn)只用于實(shí)現(xiàn)本實(shí)施例的網(wǎng)絡(luò)共享功能,因而接收到的下行數(shù)據(jù)包一定是指向第一網(wǎng)絡(luò)適配器的第一端口的。特別地,如果一個(gè)下行數(shù)據(jù)包不是發(fā)送到第二端口的,例如圖6中的A2,那么下行數(shù)據(jù)包獲取模塊330將不會去獲取這個(gè)下行數(shù)據(jù)包,這個(gè)下行數(shù)據(jù)包將會被調(diào)用第二網(wǎng)絡(luò)適配器的應(yīng)用程序所讀取。
[0091]下行數(shù)據(jù)包發(fā)送模塊340,用于將所述下行數(shù)據(jù)包發(fā)送到所述第一網(wǎng)絡(luò)適配器的第一端口。所述下行數(shù)據(jù)包發(fā)送模塊340可以如圖5所示進(jìn)一步包括:目標(biāo)地址信息更改單元341和下行數(shù)據(jù)包發(fā)送單元342,其中:
[0092]目標(biāo)地址信息更改單元341,用于將所述下行數(shù)據(jù)包的目標(biāo)網(wǎng)絡(luò)地址由所述第二網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址更改為所述第一網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址,以及將所述下行數(shù)據(jù)包的目標(biāo)端口由所述第二端口更改為所述第一端口;
[0093]具體的,目標(biāo)地址信息更改單元341根據(jù)NAT規(guī)則對下行數(shù)據(jù)包的目標(biāo)地址信息進(jìn)行修改,包括:將下行數(shù)據(jù)包的目標(biāo)網(wǎng)絡(luò)地址由第二網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址更改為第一網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址,以及將下行數(shù)據(jù)包的目標(biāo)端口由第二端口更改為第一端口。
[0094]下行數(shù)據(jù)包發(fā)送單元342,用于將所述更改后的下行數(shù)據(jù)包發(fā)送到所述第一網(wǎng)絡(luò)適配器的第一端口。
[0095]具體的,下行數(shù)據(jù)包發(fā)送單元342通過B驅(qū)動(dòng)接口將更改后的下行數(shù)據(jù)包發(fā)送到第一網(wǎng)絡(luò)適配器的第一端口,以使調(diào)用第一端口的應(yīng)用程序接收到回送的數(shù)據(jù)。
[0096]需要指出的是,接收到的下行數(shù)據(jù)包的目標(biāo)IP地址和目標(biāo)端口只有匹配本地的IP地址和端口,本地才有權(quán)限去讀取下行數(shù)據(jù)包的內(nèi)容,所以更改目標(biāo)IP地址和目標(biāo)端口是必要的。
[0097]請參閱圖3,如圖所示本發(fā)明實(shí)施例中的網(wǎng)絡(luò)共享的裝置還可以包括第一速率改變模塊350和第二速率改變模塊360,其中:
[0098]第一速率改變模塊350,用于在預(yù)設(shè)傳輸速率范圍內(nèi),改變將所述更改后的上行數(shù)據(jù)包發(fā)送到所述第二網(wǎng)絡(luò)適配器的傳輸速率。
[0099]具體的,在預(yù)設(shè)傳輸速率范圍內(nèi),第一速率改變模塊350通過改變將更改后的上行數(shù)據(jù)包發(fā)送到第二網(wǎng)絡(luò)適配器的傳輸速率,可以改變上行傳輸速率,進(jìn)而改變了網(wǎng)絡(luò)共享的網(wǎng)速。
[0100]第二速率改變模塊360,用于在預(yù)設(shè)傳輸速率范圍內(nèi),改變將所述更改后的下行數(shù)據(jù)包發(fā)送到所述第一網(wǎng)絡(luò)適配器的第一端口的傳輸速率。
[0101]具體的,在預(yù)設(shè)傳輸速率范圍內(nèi),第二速率改變模塊360通過改變將更改后的下行數(shù)據(jù)包發(fā)送到第一網(wǎng)絡(luò)適配器的第一端口的傳輸速率,可以改變下行傳輸速率,進(jìn)而改變了網(wǎng)絡(luò)共享的網(wǎng)速。
[0102]本發(fā)明實(shí)施例通過分別與第一網(wǎng)絡(luò)適配器和第二網(wǎng)絡(luò)適配器建立數(shù)據(jù)連接,利用第二網(wǎng)絡(luò)適配器轉(zhuǎn)發(fā)第一網(wǎng)絡(luò)適配器的上行數(shù)據(jù)包和回傳下行數(shù)據(jù)包給第一網(wǎng)絡(luò)適配器的方法,實(shí)現(xiàn)使計(jì)算機(jī)中未連接網(wǎng)絡(luò)的網(wǎng)絡(luò)適配器通過已連接網(wǎng)絡(luò)的網(wǎng)絡(luò)適配器接入網(wǎng)絡(luò)的功能,為計(jì)算機(jī)網(wǎng)絡(luò)共享的應(yīng)用提供基礎(chǔ),提升用戶體驗(yàn)。
[0103]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機(jī)存儲記憶體(Random AccessMemory, RAM)等。
[0104]以上所揭露的僅為本發(fā)明較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
【權(quán)利要求】
1.一種網(wǎng)絡(luò)共享的方法,其特征在于,所述方法包括: 獲取第一網(wǎng)絡(luò)適配器的第一端口發(fā)送的上行數(shù)據(jù)包; 通過所述第二網(wǎng)絡(luò)適配器的第二端口將所述上行數(shù)據(jù)包轉(zhuǎn)發(fā)到網(wǎng)絡(luò); 獲取所述網(wǎng)絡(luò)回送到所述第二網(wǎng)絡(luò)適配器的第二端口的下行數(shù)據(jù)包; 將所述下行數(shù)據(jù)包發(fā)送到所述第一網(wǎng)絡(luò)適配器的第一端口。
2.如權(quán)利要求1所述的方法,其特征在于,所述通過所述第二網(wǎng)絡(luò)適配器的第二端口將所述上行數(shù)據(jù)包發(fā)送到網(wǎng)絡(luò),包括: 將所述上行數(shù)據(jù)包的源網(wǎng)絡(luò)地址由所述第一網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址更改為所述第二網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址,以及將所述上行數(shù)據(jù)包的源端口由所述第一端口更改為所述第二端口 ; 將所述更改后的上行數(shù)據(jù)包發(fā)送到所述第二網(wǎng)絡(luò)適配器,進(jìn)而通過所述第二網(wǎng)絡(luò)適配器的第二端口將所述更改后的上行數(shù)據(jù)包發(fā)送到網(wǎng)絡(luò)。
3.如權(quán)利要求2所述的方法,其特征在于,所述將所述下行數(shù)據(jù)包發(fā)送到所述第一網(wǎng)絡(luò)適配器的第一端口,包括: 將所述下行數(shù)據(jù)包的目標(biāo)網(wǎng)絡(luò)地址由所述第二網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址更改為所述第一網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址,以及將所述下行數(shù)據(jù)包的目標(biāo)端口由所述第二端口更改為所述第一端口 ; 將所述更改后的下行數(shù)據(jù)包發(fā)送到所述第一網(wǎng)絡(luò)適配器的第一端口。
4.如權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 在預(yù)設(shè)傳輸速率范圍內(nèi),改變將所述更改后的上行數(shù)據(jù)包發(fā)送到所述第二網(wǎng)絡(luò)適配器的傳輸速率。
5.如權(quán)利要求3所述的方法,其特征在于,所述方法還包括: 在預(yù)設(shè)傳輸速率范圍內(nèi),改變將所述更改后的下行數(shù)據(jù)包發(fā)送到所述第一網(wǎng)絡(luò)適配器的第一端口的傳輸速率。
6.一種網(wǎng)絡(luò)共享的裝置,其特征在于,所述裝置包括: 上行數(shù)據(jù)包獲取模塊,用于獲取第一網(wǎng)絡(luò)適配器的第一端口發(fā)送的上行數(shù)據(jù)包; 上行數(shù)據(jù)包轉(zhuǎn)發(fā)模塊,用于通過所述第二網(wǎng)絡(luò)適配器的第二端口將所述上行數(shù)據(jù)包轉(zhuǎn)發(fā)到網(wǎng)絡(luò); 下行數(shù)據(jù)包獲取模塊,用于獲取所述網(wǎng)絡(luò)回送到所述第二網(wǎng)絡(luò)適配器的第二端口的下行數(shù)據(jù)包; 下行數(shù)據(jù)包發(fā)送模塊,用于將所述下行數(shù)據(jù)包發(fā)送到所述第一網(wǎng)絡(luò)適配器的第一端□。
7.如權(quán)利要求6所述的裝置,其特征在于,所述上行數(shù)據(jù)包轉(zhuǎn)發(fā)模塊包括: 源地址信息更改單元,用于將所述上行數(shù)據(jù)包的源網(wǎng)絡(luò)地址由所述第一網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址更改為所述第二網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址,以及將所述上行數(shù)據(jù)包的源端口由所述第一端口更改為所述第二端口; 上行數(shù)據(jù)包發(fā)送單元,用于將所述更改后的上行數(shù)據(jù)包發(fā)送到所述第二網(wǎng)絡(luò)適配器,進(jìn)而通過所述第二網(wǎng)絡(luò)適配器的第二端口將所述更改后的上行數(shù)據(jù)包發(fā)送到網(wǎng)絡(luò)。
8.如權(quán)利要求7所述的裝置,其特征在于,所述下行數(shù)據(jù)包發(fā)送模塊包括:目標(biāo)地址信息更改單元,用于將所述下行數(shù)據(jù)包的目標(biāo)網(wǎng)絡(luò)地址由所述第二網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址更改為所述第一網(wǎng)絡(luò)適配器的網(wǎng)絡(luò)地址,以及將所述下行數(shù)據(jù)包的目標(biāo)端口由所述第二端口更改為所述第一端口; 下行數(shù)據(jù)包發(fā)送單元,用于將所述更改后的下行數(shù)據(jù)包發(fā)送到所述第一網(wǎng)絡(luò)適配器的第一端口。
9.如權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括: 第一速率改變模塊,用于在預(yù)設(shè)傳輸速率范圍內(nèi),改變將所述更改后的上行數(shù)據(jù)包發(fā)送到所述第二網(wǎng)絡(luò)適配器的傳輸速率。
10.如權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 第二速率改變模塊,用于在預(yù)設(shè)傳輸速率范圍內(nèi),改變將所述更改后的下行數(shù)據(jù)包發(fā)送到所述第一網(wǎng)絡(luò)適配器的第一端口的傳輸速率。
【文檔編號】H04L12/02GK103812664SQ201410067425
【公開日】2014年5月21日 申請日期:2014年2月26日 優(yōu)先權(quán)日:2014年2月26日
【發(fā)明者】楊軍, 官金檀, 危文, 李容, 徐建新, 郭鵬程, 劉桂峰 申請人:珠海市君天電子科技有限公司