專利名稱::一種移動終端通過手機上網(wǎng)的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及移動通信領(lǐng)域,尤其涉及的是一種移動終端通過手機上網(wǎng)的方法及系統(tǒng)。
背景技術(shù):
:現(xiàn)在手機上網(wǎng)已經(jīng)成為了大眾生活的一部分,人們可以通過手機瀏覽新聞,在線收聽音樂或者觀看視頻等等,然而對于一些沒有開通網(wǎng)絡(luò)服務(wù)的手機來說,因為網(wǎng)絡(luò)流量的影響而不能上網(wǎng),而一部手機亦不能通過其他手機聯(lián)網(wǎng)操作,并且現(xiàn)行的電腦通過手機上網(wǎng)都是通過PC撥號的形式,此時需要再PC上安裝相應(yīng)的撥號軟件,PC撥號的時候手機將無法進行網(wǎng)絡(luò)連接。因此,現(xiàn)有技術(shù)還有待于改進和發(fā)展。
發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述缺陷,提供一種移動終端通過手機上網(wǎng)的方法,使帶有WIFI功能的移動終端實現(xiàn)NAT功能,通過一部聯(lián)網(wǎng)手機實現(xiàn)同時上網(wǎng)。本發(fā)明解決技術(shù)問題所采用的技術(shù)方案如下一種移動終端通過手機上網(wǎng)的方法,其中,包括步驟A、在聯(lián)網(wǎng)手機預(yù)先建立一個用于標記網(wǎng)絡(luò)地址映射關(guān)系的連接管理哈希表,所述連接管理哈希表中的哈希值等于移動終端的源地址、協(xié)議類型、源端口和目的端口的二進制之和取模表長;B、移動終端通過WIFI與一聯(lián)網(wǎng)手機建立點對點的通信連接,并向所述聯(lián)網(wǎng)手機發(fā)送連接目的服務(wù)器的數(shù)據(jù)包;C、所述聯(lián)網(wǎng)手機在網(wǎng)絡(luò)層提取移動終端發(fā)送的數(shù)據(jù)包中的元素組,并將所述元素組保存在一元組結(jié)構(gòu)中,所述元素組包括數(shù)據(jù)包的源地址、源端口、協(xié)議類型、目的地址及目的端□;D、所述聯(lián)網(wǎng)手機對所述元素組進行源地址NAT處理,將數(shù)據(jù)包的源地址轉(zhuǎn)換為手機撥號上網(wǎng)的IP地址,并分配一撥號上網(wǎng)的端口;E、所述聯(lián)網(wǎng)手機根據(jù)處理后的元素組信息,連接到目的服務(wù)器進行通信。所述的方法,其中,所述步驟C和D之間還包括所述聯(lián)網(wǎng)手機根據(jù)所述元素組查找連接管理哈希表,判斷所述連接管理哈希表中是否存在所述移動終端和目的服務(wù)器的連接結(jié)構(gòu),如果在所述連接管理哈希表中不存在此連接結(jié)構(gòu),則定義所述數(shù)據(jù)包為第一數(shù)據(jù)包,并在哈希表中建立一個新的連接結(jié)構(gòu)。所述的方法,其中,所述聯(lián)網(wǎng)手機根據(jù)所述元素組查找連接管理哈希表,判斷所述連接管理哈希表中是否存在所述移動終端和目的服務(wù)器的連接結(jié)構(gòu)時,如果在所述連接管理哈希表中存在該連接結(jié)構(gòu),則提取所述連接結(jié)構(gòu)表示的連接管理信息,并監(jiān)測當前網(wǎng)絡(luò)是否要進行FTP擴展的監(jiān)測,更新當前的連接管理狀態(tài),并對數(shù)據(jù)包進行NAT處理,實現(xiàn)移動終端和目的服務(wù)器的通信。所述的方法,其中,所述步驟D還進一步包括如下步驟將經(jīng)過源地址NAT處理后的元素組以元組結(jié)構(gòu)的形式保存在所述連接管理哈希表中。所述的方法,其中,若所述元素組中的協(xié)議為FTP協(xié)議,則根據(jù)所述新的連接結(jié)構(gòu)判斷所述數(shù)據(jù)包是否是其他FTP控制鏈的數(shù)據(jù)連接,如果是則對數(shù)據(jù)包中的元素組進行目的地址NAT處理。所述的方法,其中,所述目的服務(wù)器在向移動終端發(fā)送返回數(shù)據(jù)包時,首先將返回數(shù)據(jù)包發(fā)送給所述聯(lián)網(wǎng)手機,所述聯(lián)網(wǎng)手機對所述返回數(shù)據(jù)包中的元素組進行提取,并查找連接管理哈希表找到相應(yīng)的元組結(jié)構(gòu),根據(jù)所述元組結(jié)構(gòu)修改返回數(shù)據(jù)包,并將修改后的返回數(shù)據(jù)包發(fā)送給移動終端。一種移動終端通過手機上網(wǎng)的系統(tǒng),其中,包括移動終端、及聯(lián)網(wǎng)手機,移動終端通過WIFI與一聯(lián)網(wǎng)手機建立點對點的通信連接,并向所述聯(lián)網(wǎng)手機發(fā)送連接目的服務(wù)器的數(shù)據(jù)包;所述聯(lián)網(wǎng)手機用于在網(wǎng)絡(luò)層提取移動終端發(fā)送的數(shù)據(jù)包中的元素組,并將所述元素組保存在一元組結(jié)構(gòu)中;所述元素組包括數(shù)據(jù)包的源地址、源端口、協(xié)議類型、目的地址及目的端口;并對所述元素組進行源地址NAT處理,將數(shù)據(jù)包的源地址轉(zhuǎn)換為手機撥號上網(wǎng)的IP地址,并分配一撥號上網(wǎng)的端口;以及根據(jù)處理后的元素組信息,連接到目的服務(wù)器進行通信;所述目的服務(wù)器用于與所述移動終端和所述聯(lián)網(wǎng)手機進行通信;所述聯(lián)網(wǎng)手機包括哈希表建立管理模塊,用于預(yù)先建立一個用于標記網(wǎng)絡(luò)地址映射關(guān)系的連接管理哈希表,所述連接管理哈希表中的哈希值等于移動終端的源地址、協(xié)議類型、源端口和目的端口的二進制之和取模表長。所述移動終端通過手機上網(wǎng)的系統(tǒng),其中,所述聯(lián)網(wǎng)手機還用于根據(jù)所述元素組查找連接管理哈希表,判斷所述連接管理哈希表中是否存在所述移動終端和目的服務(wù)器的連接結(jié)構(gòu),如果在所述連接管理哈希表中不存在此連接結(jié)構(gòu),則定義所述數(shù)據(jù)包為第一數(shù)據(jù)包,并在哈希表中建立一個新的連接結(jié)構(gòu)。所述移動終端通過手機上網(wǎng)的系統(tǒng),其中,所述聯(lián)網(wǎng)手機還用于如果在所述連接管理哈希表中存在所述連接結(jié)構(gòu),則提取所述連接結(jié)構(gòu)表示的連接管理信息,并監(jiān)測當前網(wǎng)絡(luò)是否要進行FTP擴展的監(jiān)測,更新當前的連接管理狀態(tài),并對數(shù)據(jù)包進行NAT處理,實現(xiàn)移動終端和目的服務(wù)器的通信。本發(fā)明所提供的移動終端通過手機上網(wǎng)的方法及系統(tǒng),由于采用NAT技術(shù),達到了通過一手機作為網(wǎng)關(guān),另一臺帶有WIFI的手機或者電腦通過網(wǎng)關(guān)手機上網(wǎng)的功能,又由于兩臺設(shè)備使用同一個IP地址進行上網(wǎng),所有網(wǎng)絡(luò)流量都產(chǎn)生于網(wǎng)關(guān)手機,不會對其他設(shè)備帶來任何流浪費用,而且本發(fā)明通過動態(tài)創(chuàng)建的形式對數(shù)據(jù)包構(gòu)造哈希表,大大加快了數(shù)據(jù)包的查找速度,加快了處理速度。圖1是本發(fā)明的移動終端通過手機上網(wǎng)的方法流程圖。圖2是本發(fā)明以FTP連接為例的網(wǎng)絡(luò)結(jié)構(gòu)示意圖。圖3是本發(fā)明的移動終端通過手機上網(wǎng)方法中哈希表的構(gòu)造示意圖。圖4是本發(fā)明的移動終端通過手機上網(wǎng)的系統(tǒng)結(jié)構(gòu)示意圖。具體實施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚、明確,以下參照附圖并舉實施例對本發(fā)明進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明的主要思想是將移動終端通過WIFI無線連接方式與上網(wǎng)手機連接,上網(wǎng)手機作為網(wǎng)關(guān)路由使用,利用TCP/IP協(xié)議工作原理,在數(shù)據(jù)包到達上網(wǎng)手機的網(wǎng)絡(luò)層時,對數(shù)據(jù)包中的包括源地址、源端口、協(xié)議、目的地址及目的端口的元素信息進行處理,動態(tài)創(chuàng)建一個哈希表用于網(wǎng)絡(luò)連接的查找,并對數(shù)據(jù)包進行NAT處理,使移動終端通過上網(wǎng)手機的外網(wǎng)IP地址實現(xiàn)與上網(wǎng)手機同時上網(wǎng)的功能。NAT(NetworkAddressTranslation)網(wǎng)絡(luò)地址轉(zhuǎn)換是把IP數(shù)據(jù)報文的一個地址轉(zhuǎn)換為另外一個地址,讓多個IP地址共享一個IP地址進行連接。本發(fā)明提供了一種移動終端通過手機上網(wǎng)的方法,如圖1所示,包括步驟步驟S100、在聯(lián)網(wǎng)手機預(yù)先建立一個用于標記網(wǎng)絡(luò)地址映射關(guān)系的連接管理哈希表,所述連接管理哈希表中的哈希值等于移動終端的源地址、協(xié)議類型、源端口和目的端口的二進制之和對表長取模,在本實施例中是對移動終端的源地址、協(xié)議類型、源端口和目的端口的二進制先求和,再根據(jù)哈希表的表長進行取模操作,哈希值即等于取模后的值步驟S200、移動終端通過WIFI與一聯(lián)網(wǎng)手機建立點對點的通信連接,并向所述聯(lián)網(wǎng)手機發(fā)送連接目的服務(wù)器的數(shù)據(jù)包。步驟S300、所述聯(lián)網(wǎng)手機在網(wǎng)絡(luò)層提取移動終端發(fā)送的數(shù)據(jù)包中的元素組,并將所述元素組保存在一元組結(jié)構(gòu)中;所述元素組包括數(shù)據(jù)包的源地址、源端口、協(xié)議類型、目的地址及目的端口。步驟S400、所述聯(lián)網(wǎng)手機對所述元素組進行源地址NAT處理,將數(shù)據(jù)包的源地址轉(zhuǎn)換為手機撥號上網(wǎng)的IP地址,并分配一撥號上網(wǎng)的端口。其中,將經(jīng)過源地址NAT處理后的元素組以元組結(jié)構(gòu)的形式保存在所述連接管理哈希表中。步驟S500、所述聯(lián)網(wǎng)手機根據(jù)處理后的元素組信息,連接到目的服務(wù)器進行通信。其中,在步驟S300和步驟S400之間還包括,所述聯(lián)網(wǎng)手機根據(jù)所述元素組查找連接管理哈希表,判斷所述連接管理哈希表中是否存在所述移動終端和目的服務(wù)器的連接結(jié)構(gòu),如果在所述連接管理哈希表中不存在此連接結(jié)構(gòu),則定義所述數(shù)據(jù)包為第一數(shù)據(jù)包,并在哈希表中建立一個新的連接結(jié)構(gòu);而如果在所述連接管理哈希表中存在所述連接結(jié)構(gòu),則提取所述連接結(jié)構(gòu)表示的連接管理信息,并監(jiān)測當前網(wǎng)絡(luò)是否要進行FTP擴展的監(jiān)測,更新當前的連接管理狀態(tài),并對數(shù)據(jù)包進行NAT處理,實現(xiàn)移動終端和目的服務(wù)器的通信。進一步地,若所述元素組中的協(xié)議為FTP協(xié)議,則根據(jù)所述新的連接結(jié)構(gòu)判斷所述數(shù)據(jù)包是否是其他FTP控制鏈的數(shù)據(jù)連接,如果是則對數(shù)據(jù)包中的元素組進行目的地址6NAT處理。在所述移動終端與目的服務(wù)器建立通信連接后,所述目的服務(wù)器在向移動終端發(fā)送返回數(shù)據(jù)包時,首先將返回數(shù)據(jù)包發(fā)送給所述聯(lián)網(wǎng)手機,所述聯(lián)網(wǎng)手機對所述返回數(shù)據(jù)包中的元素組進行提取,并查找連接管理哈希表找到相應(yīng)的元組結(jié)構(gòu),根據(jù)所述元組結(jié)構(gòu)修改返回數(shù)據(jù)包,并將修改后的返回數(shù)據(jù)包發(fā)送給移動終端。結(jié)合上述本發(fā)明的方法,下面以FTP連接為例,對整個聯(lián)網(wǎng)實現(xiàn)過程進行具體的分析,如圖2所示的聯(lián)網(wǎng)構(gòu)造示意圖。首先,定義上網(wǎng)手機A撥號上網(wǎng)的IP地址為117.136.12.201,WIFI網(wǎng)卡的IP地址為192.168.0.1,F(xiàn)TP服務(wù)器的地址為202.96.1.5,如果另一將上網(wǎng)手機A作為網(wǎng)關(guān)的IP地址為192.168.0.2的手機B需要訪問IP地址為202.96.1.5的服務(wù)器,定義源端口為2345,目的端口為21,那么,當此數(shù)據(jù)包通過手機點對點網(wǎng)絡(luò)連接從手機B發(fā)向手機A,當?shù)竭_手機A的網(wǎng)絡(luò)層時,手機A提取當前數(shù)據(jù)包的元素組,組成一個新的tuple元組結(jié)構(gòu),那么這個tuple元組結(jié)構(gòu)的IP組成為tuple,strcip=192.168.0.2tuple.strport_id=2345tuple,dstip=202.96.1.5tuple,dstport=21tuple,proto=tcp。在此處通過此元素組的內(nèi)容去查找連接管理哈希表中當前存在的連接管理,根據(jù)上述IP組成,無法找到相應(yīng)的連接,那么首先為該數(shù)據(jù)包分配一個未經(jīng)使用的連接管理表的索引,并查找這個連接是否是其他連接的擴展鏈。因為無法找到擴展鏈的信息,所以不需要進行目的地址NAT(DNAT)處理,而由于該數(shù)據(jù)包是從WIFI口發(fā)送來的,對數(shù)據(jù)包做源地址NAT(SNAT)處理,將源地址192.168.0.2轉(zhuǎn)換為手機A的撥號上網(wǎng)地址117.136.12.201,并為該數(shù)據(jù)包分配一個傳輸端口7890,那么此包發(fā)送到網(wǎng)絡(luò)應(yīng)該是117.136.12.201:7890-—202.96.1.5:21,此時,回應(yīng)方向的tuple元組結(jié)構(gòu)應(yīng)該是reply_tuple.strip=202.96.1.5reply_tuple.strport_id=21reply_tuple.dstip=117.136.12.201reply_tuple.dstport=7890.Reply_tuple.proto=tcp。之后,將2個tuple元組結(jié)構(gòu)存入到連接管理哈希表中,并修改此數(shù)據(jù)包內(nèi)容,把數(shù)據(jù)包改為117.136.12.201:7890——-202.96.1.5:21。定義第二個數(shù)據(jù)包(202.96.1.5:21-—117.136.12.201:7890syn+ack)也即是FTP服務(wù)器向手機B發(fā)送數(shù)據(jù)包,F(xiàn)TP服務(wù)器首先將該數(shù)據(jù)包發(fā)送給上網(wǎng)手機A,上網(wǎng)手機A在收到此數(shù)據(jù)包后提取其中的元素組,組成一個新的tuple元組結(jié)構(gòu),表示為tuple,strcip=202.96.1.5tuple.strport_id=21tuple,dstip=117.136.12.201tuple,dstport=7890tuple,proto=tcp。上網(wǎng)手機A根據(jù)該tuple元組結(jié)構(gòu)查找連接管理哈希表,可以找到與之相對應(yīng)的tuple元組結(jié)構(gòu),再檢測里面是否含有連接內(nèi)容,而在該元組結(jié)構(gòu)中沒有連接內(nèi)容,則根據(jù)根據(jù)前面的NAT信息修改此數(shù)據(jù)包為202.96.1.5:21—192.168.0.22345,并將該數(shù)據(jù)包發(fā)送給手機B,然后更新該連接的內(nèi)容。進一步地,如果用戶要從FTP服務(wù)器下載文件,F(xiàn)TP服務(wù)器會給用戶發(fā)送一段內(nèi)容,比如說227EnteringPassiveMode(202,96,4,1,5,89)。則在流程中處理如下上述第二個數(shù)據(jù)包(202.96.1.5:21-—117.136.12.201:7890syn+ack)由FTP服務(wù)器發(fā)送給上網(wǎng)手機A,上網(wǎng)手機A收到該數(shù)據(jù)包后提取其中的元素組,并構(gòu)造一tuple元組結(jié)構(gòu),表示如下tuple,strcip=202.96.1.5tuple.strport_id=21tuple,dstip=117.136.12.201tuple,dstport=7890tuple,proto=tcp上網(wǎng)手機A根據(jù)該tuple元組結(jié)構(gòu)查找連接管理哈希表,能夠找到相應(yīng)的tuple元組結(jié)構(gòu),并檢測到當前數(shù)據(jù)包是應(yīng)答方向的數(shù)據(jù)包,并且當前連接是FTP有擴展鏈的連接,那么匹配字符串227和PROT字段,提取出新的連接的IP地址和端口,此處提取出來的元組結(jié)構(gòu)為New_tuple.dstip=202.96.1.5New_tuple.port=5*256+89=1369New_tuple.srcip=192.168.0.2New_tuple.proto=tcp。從擴展鏈結(jié)構(gòu)表中提取一個空閑的連接分配給此條連接,并把2條連接關(guān)聯(lián)起來。進一步地,又一數(shù)據(jù)包從手機B發(fā)送給FTP服務(wù)器,表示為192.168.0.2:8989——^202.96.1.5:1369,則上網(wǎng)手機A收到該數(shù)據(jù)包后提取其中的元素組,并構(gòu)造一tuple元組結(jié)構(gòu),表示如下tuple,strcip=192.168.0.2tuple.strport_id=8989tuple,dstip=202.96.1.5tuple,dstport=1369tuple,proto=tcp。在此處通過此元素組的內(nèi)容去查找連接管理哈希表中當前存在的連接管理,由于無法找到相應(yīng)的連接,則為此分配一個未經(jīng)使用的連接管理表的index索引,并檢查此連接是否是其他連接的擴展鏈,這里根據(jù)此元素組查找擴展鏈時,因為前面已經(jīng)把信息加入到擴展連接管理哈希表中,所以能夠找到此連接是其他連接的擴展鏈,然后把這條連接跟前面的由FTP服務(wù)器向手機B傳輸下載數(shù)據(jù)包時建立的連接綁定,由于此連接為擴展鏈條,讀取主鏈表的NAT信息,如果連接是PORT類型,則得到DNAT的信息,因為該連接是227類型,所以根據(jù)主鏈表的信息不需要做DNAT處理,此時檢測到此數(shù)據(jù)包是從WIFI口發(fā)上來的,則進行SNAT處理,并再次讀取主鏈表的信息,得到主鏈表的NAT信息,并替換此連接的信息,并根據(jù)端口是否使用調(diào)整一個新的端口,而后續(xù)處理與第一數(shù)據(jù)包的處理相同。進一步地,下面對本發(fā)明中的連接管理哈希表的建立及連接管理過程做具體的分析。頭部哈希表(hash表)構(gòu)造typedef—packedunionhash_table{Struct{U32mutex:10;U32next:22;};U32value;}u_hash_table;哈希表的大小為MAX_CONNTRACK,Hash值=(發(fā)起方的源IP+發(fā)起方的源IP協(xié)議+源端口+目的端口)%表的條目數(shù)(即表長),協(xié)議是ICMP協(xié)議時,目的端口采用協(xié)議類型和代碼來取值。該連接管理信息的hash表為空列,結(jié)果為u_ip_COrmtraCk_tuple,稱之為節(jié)點鏈表,其大小為MAX_C0NNTRAC*2。如3圖所示的哈希表構(gòu)造圖,頭節(jié)點為一個hash表,存放u_ip_COrmtraCk_tuple的為一個大數(shù)組結(jié)構(gòu),大小為hash表的2倍。當有數(shù)據(jù)包來的時候,首先分配一個空的u_ip_COrmtraCk_tuple空間,然后把頭hash表的響應(yīng)值的next指向u_ip_c0rmtrack_tuple數(shù)組的當前位置。并把回應(yīng)方向的u_ip_conntrack_tuple放置在原始方向的位置加上MAX_C0NNTRACK后的位置,把回應(yīng)方向的HASH頭節(jié)點的next指針指向此節(jié)點;當有回應(yīng)方向的數(shù)據(jù)過來時候,根據(jù)頭hash的next就能找到這個回應(yīng)節(jié)點并且通過回應(yīng)節(jié)點減去MAX_C0NNTRACK就能找到原始節(jié)點,得到需要轉(zhuǎn)換的NAT信息。通過頭hash的next就能得到next=節(jié)點的hash值,那么這個數(shù)據(jù)包就是原始方向的數(shù)據(jù)包,如果頭hash的next的存放位置的hash值跟next不相同,那么這個數(shù)據(jù)包就是回應(yīng)方向的數(shù)據(jù)包。本發(fā)明采用哈希表的方式,動態(tài)添加節(jié)點,可以大大減少沖突鏈的查找,有別于傳統(tǒng)的雙向鏈表實現(xiàn)的一個一個查找的實現(xiàn),極大地提高了處理速度。基于上述本發(fā)明提供的移動終端通過手機上網(wǎng)的方法,本發(fā)明還提供了一種移動終端通過手機上網(wǎng)的系統(tǒng),其系統(tǒng)結(jié)構(gòu)示意圖如圖4所示,包括移動終端41、及聯(lián)網(wǎng)手機42和目的服務(wù)器43;移動終端41通過WIFI與聯(lián)網(wǎng)手機42建立點對點的通信連接,并向所述聯(lián)網(wǎng)手機42發(fā)送連接目的服務(wù)器43的數(shù)據(jù)包;所述聯(lián)網(wǎng)手機42用于在網(wǎng)絡(luò)層提取移動終端41發(fā)送的數(shù)據(jù)包中的元素組,并將所述元素組保存在一元組結(jié)構(gòu)中;所述元素組包括數(shù)據(jù)包的源地址、源端口、協(xié)議類型、目的地址及目的端口;并對所述元素組進行源地址NAT處理,將數(shù)據(jù)包的源地址轉(zhuǎn)換為手機撥號上網(wǎng)的IP地址,并分配一撥號上網(wǎng)的端口;以及根據(jù)處理后的元素組信息,連接到目的服務(wù)器43進行通信。所述聯(lián)網(wǎng)手機42還包括哈希表建立管理模塊421,用于預(yù)先建立一個用于標記網(wǎng)絡(luò)地址映射關(guān)系的連接管理哈希表,所述連接管理哈希表中的哈希值等于移動終端的源地址、協(xié)議類型、源端口和目的端口的二進制之和。所述目的服務(wù)器43用于與所述移動終端41和所述聯(lián)網(wǎng)手機42進行通信。其中,所述聯(lián)網(wǎng)手機42還用于根據(jù)所述元素組查找連接管理哈希表,判斷所述連接管理哈希表中是否存在所述移動終端和目的服務(wù)器的連接結(jié)構(gòu),如果在所述連接管理哈希表中不存在此連接結(jié)構(gòu),則定義所述數(shù)據(jù)包為第一數(shù)據(jù)包,并在哈希表中建立一個新的連接結(jié)構(gòu)。所述聯(lián)網(wǎng)手機42還用于如果在所述連接管理哈希表中存在所述連接結(jié)構(gòu),則提取所述連接結(jié)構(gòu)表示的連接管理信息,并監(jiān)測當前網(wǎng)絡(luò)是否要進行FTP擴展的監(jiān)測,更新當前的連接管理狀態(tài),并對數(shù)據(jù)包進行NAT處理,實現(xiàn)移動終端41和目的服務(wù)器43的通fn°本發(fā)明所提供的移動終端通過手機上網(wǎng)的方法及系統(tǒng),將移動終端通過WIFI無線連接方式與上網(wǎng)手機連接,上網(wǎng)手機作為網(wǎng)關(guān)路由使用,利用TCP/IP協(xié)議工作原理,在數(shù)據(jù)包到達上網(wǎng)手機的網(wǎng)絡(luò)層時,對數(shù)據(jù)包中的包括源地址、源端口、協(xié)議、目的地址及目的端口的元素信息進行處理,動態(tài)創(chuàng)建一個哈希表用于網(wǎng)絡(luò)連接的查找,并對數(shù)據(jù)包進行NAT處理,使移動終端通過上網(wǎng)手機的外網(wǎng)IP地址實現(xiàn)與上網(wǎng)手機同時上網(wǎng)的功能,由于兩臺設(shè)備使用同一個IP地址進行上網(wǎng),所有網(wǎng)絡(luò)流量都產(chǎn)生于網(wǎng)關(guān)手機,不會對其他設(shè)備帶來任何流浪費用,而且本發(fā)明通過動態(tài)創(chuàng)建的形式對數(shù)據(jù)包構(gòu)造哈希表,大大加快了數(shù)據(jù)包的查找速度,加快了處理速度。應(yīng)當理解的是,本發(fā)明的應(yīng)用不限于上述的舉例,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進或變換,所有這些改進和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護范圍。權(quán)利要求1.一種移動終端通過手機上網(wǎng)的方法,其特征在于,包括步驟A、在聯(lián)網(wǎng)手機預(yù)先建立一個用于標記網(wǎng)絡(luò)地址映射關(guān)系的連接管理哈希表,所述連接管理哈希表中的哈希值等于移動終端的源地址、協(xié)議類型、源端口和目的端口的二進制之和取模表長;B、移動終端通過WIFI與一聯(lián)網(wǎng)手機建立點對點的通信連接,并向所述聯(lián)網(wǎng)手機發(fā)送連接目的服務(wù)器的數(shù)據(jù)包;C、所述聯(lián)網(wǎng)手機在網(wǎng)絡(luò)層提取移動終端發(fā)送的數(shù)據(jù)包中的元素組,并將所述元素組保存在一元組結(jié)構(gòu)中,所述元素組包括數(shù)據(jù)包的源地址、源端口、協(xié)議類型、目的地址及目的端□;D、所述聯(lián)網(wǎng)手機對所述元素組進行源地址NAT處理,將數(shù)據(jù)包的源地址轉(zhuǎn)換為手機撥號上網(wǎng)的IP地址,并分配一撥號上網(wǎng)的端口;E、所述聯(lián)網(wǎng)手機根據(jù)處理后的元素組信息,連接到目的服務(wù)器進行通信。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟C和D之間還包括所述聯(lián)網(wǎng)手機根據(jù)所述元素組查找連接管理哈希表,判斷所述連接管理哈希表中是否存在所述移動終端和目的服務(wù)器的連接結(jié)構(gòu),如果在所述連接管理哈希表中不存在此連接結(jié)構(gòu),則定義所述數(shù)據(jù)包為第一數(shù)據(jù)包,并在哈希表中建立一個新的連接結(jié)構(gòu)。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述聯(lián)網(wǎng)手機根據(jù)所述元素組查找連接管理哈希表,判斷所述連接管理哈希表中是否存在所述移動終端和目的服務(wù)器的連接結(jié)構(gòu)時,如果在所述連接管理哈希表中存在該連接結(jié)構(gòu),則提取所述連接結(jié)構(gòu)表示的連接管理信息,并監(jiān)測當前網(wǎng)絡(luò)是否要進行FTP擴展的監(jiān)測,更新當前的連接管理狀態(tài),并對數(shù)據(jù)包進行NAT處理,實現(xiàn)移動終端和目的服務(wù)器的通信。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟D還進一步包括如下步驟將經(jīng)過源地址NAT處理后的元素組以元組結(jié)構(gòu)的形式保存在所述連接管理哈希表中。5.根據(jù)權(quán)利要求3所述的方法,其特征在于,若所述元素組中的協(xié)議為FTP協(xié)議,則根據(jù)所述新的連接結(jié)構(gòu)判斷所述數(shù)據(jù)包是否是其他FTP控制鏈的數(shù)據(jù)連接,如果是則對數(shù)據(jù)包中的元素組進行目的地址NAT處理。6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述目的服務(wù)器在向移動終端發(fā)送返回數(shù)據(jù)包時,首先將返回數(shù)據(jù)包發(fā)送給所述聯(lián)網(wǎng)手機,所述聯(lián)網(wǎng)手機對所述返回數(shù)據(jù)包中的元素組進行提取,并查找連接管理哈希表找到相應(yīng)的元組結(jié)構(gòu),根據(jù)所述元組結(jié)構(gòu)修改返回數(shù)據(jù)包,并將修改后的返回數(shù)據(jù)包發(fā)送給移動終端。7.一種移動終端通過手機上網(wǎng)的系統(tǒng),其特征在于,包括移動終端、及聯(lián)網(wǎng)手機,移動終端通過WIFI與一聯(lián)網(wǎng)手機建立點對點的通信連接,并向所述聯(lián)網(wǎng)手機發(fā)送連接目的服務(wù)器的數(shù)據(jù)包;所述聯(lián)網(wǎng)手機用于在網(wǎng)絡(luò)層提取移動終端發(fā)送的數(shù)據(jù)包中的元素組,并將所述元素組保存在一元組結(jié)構(gòu)中;所述元素組包括數(shù)據(jù)包的源地址、源端口、協(xié)議類型、目的地址及目的端口;并對所述元素組進行源地址NAT處理,將數(shù)據(jù)包的源地址轉(zhuǎn)換為手機撥號上網(wǎng)的IP地址,并分配一撥號上網(wǎng)的端口;以及根據(jù)處理后的元素組信息,連接到目的服務(wù)器進行通信;所述目的服務(wù)器用于與所述移動終端和所述聯(lián)網(wǎng)手機進行通信;所述聯(lián)網(wǎng)手機包括哈希表建立管理模塊,用于預(yù)先建立一個用于標記網(wǎng)絡(luò)地址映射關(guān)系的連接管理哈希表,所述連接管理哈希表中的哈希值等于移動終端的源地址、協(xié)議類型、源端口和目的端口的二進制之和取模表長。8.根據(jù)權(quán)利要求7所述移動終端通過手機上網(wǎng)的系統(tǒng),其特征在于,所述聯(lián)網(wǎng)手機還用于根據(jù)所述元素組查找連接管理哈希表,判斷所述連接管理哈希表中是否存在所述移動終端和目的服務(wù)器的連接結(jié)構(gòu),如果在所述連接管理哈希表中不存在此連接結(jié)構(gòu),則定義所述數(shù)據(jù)包為第一數(shù)據(jù)包,并在哈希表中建立一個新的連接結(jié)構(gòu)。9.根據(jù)權(quán)利要求8所述移動終端通過手機上網(wǎng)的系統(tǒng),其特征在于,所述聯(lián)網(wǎng)手機還用于如果在所述連接管理哈希表中存在所述連接結(jié)構(gòu),則提取所述連接結(jié)構(gòu)表示的連接管理信息,并監(jiān)測當前網(wǎng)絡(luò)是否要進行FTP擴展的監(jiān)測,更新當前的連接管理狀態(tài),并對數(shù)據(jù)包進行NAT處理,實現(xiàn)移動終端和目的服務(wù)器的通信。全文摘要本發(fā)明公開了一種移動終端通過手機上網(wǎng)的方法,將移動終端通過WIFI無線連接方式與上網(wǎng)手機連接,上網(wǎng)手機作為網(wǎng)關(guān)路由使用,利用TCP/IP協(xié)議工作原理,在數(shù)據(jù)包到達上網(wǎng)手機的網(wǎng)絡(luò)層時,對數(shù)據(jù)包中的包括源地址、源端口、協(xié)議、目的地址及目的端口的元素信息進行處理,動態(tài)創(chuàng)建一個哈希表用于網(wǎng)絡(luò)連接的查找,并對數(shù)據(jù)包進行NAT處理,使移動終端通過上網(wǎng)手機的外網(wǎng)IP地址實現(xiàn)與上網(wǎng)手機同時上網(wǎng)的功能,由于兩臺設(shè)備使用同一個IP地址進行上網(wǎng),所有網(wǎng)絡(luò)流量都產(chǎn)生于網(wǎng)關(guān)手機,不會對其他設(shè)備帶來任何流浪費用,而且本發(fā)明通過動態(tài)創(chuàng)建的形式對數(shù)據(jù)包構(gòu)造哈希表,大大加快了數(shù)據(jù)包的查找速度,加快了處理速度。文檔編號H04L29/12GK102438331SQ20121000879公開日2012年5月2日申請日期2012年1月12日優(yōu)先權(quán)日2012年1月12日發(fā)明者周丹申請人:惠州Tcl移動通信有限公司