內(nèi)網(wǎng)穿透網(wǎng)絡(luò)人遠(yuǎn)程控制軟件是怎么實現(xiàn)的,內(nèi)網(wǎng)穿透有什么好處!
內(nèi)網(wǎng)穿透網(wǎng)絡(luò)人遠(yuǎn)程控制軟件是怎么實現(xiàn)步驟1.實現(xiàn)內(nèi)網(wǎng)之間機(jī)器的網(wǎng)絡(luò)通信。
內(nèi)網(wǎng)穿透網(wǎng)絡(luò)人遠(yuǎn)程控制軟件是怎么實現(xiàn)步驟 2.需要解決UDP出現(xiàn)的數(shù)據(jù)傳輸不穩(wěn)定問題。
假設(shè)一臺在NAT211.133.*后的192.168.1.77:8000要向NAT211.134.*后的192.168.1.88:9000發(fā)送數(shù)據(jù),假設(shè)你向內(nèi)網(wǎng)穿透 211.134.*這個IP地址的9000端口直接發(fā)送數(shù)據(jù)包,則數(shù)據(jù)包在到達(dá)NAT211.134.*之后,會被當(dāng)做無效非法的數(shù)據(jù)包被丟棄,NAT在此時相當(dāng)于一個防火墻,會對沒有建立起有效SESSION的數(shù)據(jù)包進(jìn)行拒絕轉(zhuǎn)遞。當(dāng)然,你也不能直接用內(nèi)網(wǎng)地址192.168.1.88進(jìn)行發(fā)送數(shù)據(jù)包,這就好比你在廣州要打電話到上海的某個地方,如果你不加區(qū)號,直接撥打區(qū)域內(nèi)電話是件很愚蠢的事。
首先我們要認(rèn)識NAT設(shè)備,NAT英文全拼是Network Address Translator(網(wǎng)絡(luò)地址轉(zhuǎn)換器),說白了就是凡是經(jīng)過NAT發(fā)出去的數(shù)據(jù)包,都會通過一定的端口轉(zhuǎn)換(而非使用原端口)再發(fā)出去,也就是說內(nèi)網(wǎng)和外網(wǎng)之間的通信不是直接由內(nèi)網(wǎng)機(jī)器與外網(wǎng)NAT進(jìn)行,而是利用內(nèi)網(wǎng)對外網(wǎng)的NAT建立起SESSION與外網(wǎng)NAT的SESSION進(jìn)行。
根據(jù)SESSION的不同,NAT主要分成兩種:SymmetricNAPT以及CONE NAPT。簡單的說,Symmetric NAPT是屬于動態(tài)端口映射的NAT,而CONE NAPT是屬于靜態(tài)端口映射的NAT。而市場上目前大多屬于后者,CONE的意思就是一個端口可以對外部多臺NAT設(shè)備通信。這個也正是我們做點對點穿透的基本,是我們所希望的,否則現(xiàn)在的大部分點對點軟件將無法正常使用。
像上面的例子,NAT211.133.*和NAT211.134.*之間需要進(jìn)行通信,但開始不能直接就發(fā)數(shù)據(jù)包,我們需要一個中間人,這個就是外部索引服務(wù)器(我們假設(shè)是211.135.*:7000),當(dāng) NAT211.133.*向211.135.*:7000發(fā)送數(shù)據(jù)包,211.135.*:7000是可以正常接收到數(shù)據(jù),因為它是屬于對外型開放的服務(wù)端口。當(dāng)211.135.*:7000收到數(shù)據(jù)包后可以獲知NAT211.133.*對外通信的臨時SESSION信息(這個臨時的端口,假設(shè)是6000 會過期,具體的時間不同,但我個人的測試是每30秒發(fā)送一個心跳包keep住連接以保證端口維持住通信連接不斷開),索引服務(wù)器此時應(yīng)將此信息保存起來。而同時,NAT211.134.*也在時刻向索引服務(wù)器發(fā)送心跳包,索引服務(wù)器就向NAT211.134.*發(fā)送一個通知,讓它向NAT211.133.*:6000發(fā)送探測包(這個數(shù)據(jù)包最好多發(fā)幾個),NAT211.134.*在收到通知包之后再向索引服務(wù)器發(fā)送反饋包,說明自己已經(jīng)向NAT211.133.*:6000發(fā)送了探測包,索引服務(wù)器在接收到反饋包之后再向NAT211.133.*轉(zhuǎn)發(fā)反饋包,NAT211.133.*在接收到數(shù)據(jù)包之后再向原本要請求的NAT211.134.*發(fā)送數(shù)據(jù)包,此時連接已經(jīng)打通,實現(xiàn)穿透,NAT211.134.*會將信息轉(zhuǎn)發(fā)給192.168.1.88的9000端口。
對于Symmetric NAPT的情況,網(wǎng)上有人說可以通過探測端口的方式,不過成功率并不高,我建議可用服務(wù)器進(jìn)行中轉(zhuǎn)。另外,最好在數(shù)據(jù)包發(fā)送前先檢測是否進(jìn)行的是同個NAT的情況,也就是內(nèi)網(wǎng)發(fā)內(nèi)網(wǎng),如果是,直接發(fā)送即可,而無需通過外網(wǎng)再繞回來。
內(nèi)網(wǎng)穿透網(wǎng)絡(luò)人遠(yuǎn)程控制軟件是怎么實現(xiàn)步驟其次關(guān)于第二點,解決UDP傳輸?shù)牟环€(wěn)定問題,其實這里涉及到另一個方面的知識,就是滑動窗口的東西,可以開一個緩沖區(qū)用于循環(huán)接收數(shù)據(jù)以及重組,另外加上超時重發(fā)機(jī)制以及確認(rèn)發(fā)送機(jī)制,有點像TCP的傳輸原理,不過如果處理的好,效率絕對比采用TCP的方式要高。
內(nèi)網(wǎng)穿透的網(wǎng)絡(luò)人遠(yuǎn)程控制軟件有什么好處?
沒有內(nèi)網(wǎng)穿透功能的遠(yuǎn)程控制軟件,是不能遠(yuǎn)程控制局域網(wǎng)內(nèi)的電腦的(如灰鴿子、第三只眼等),實現(xiàn)內(nèi)網(wǎng)穿透的網(wǎng)絡(luò)人遠(yuǎn)程控制軟件,可以控制世界任何一臺電腦,包括不上互聯(lián)網(wǎng)的內(nèi)網(wǎng)電腦(網(wǎng)絡(luò)人內(nèi)網(wǎng)版遠(yuǎn)程控制軟件,請百度掌控局域網(wǎng)監(jiān)控軟件)。
內(nèi)網(wǎng)穿透實現(xiàn)了控制任何聯(lián)網(wǎng)的電腦,無論是互聯(lián)網(wǎng)(internet)還是局域網(wǎng)。所以,網(wǎng)絡(luò)人遠(yuǎn)程控制軟件是連接效率最好的、控制速度最快的遠(yuǎn)程控制軟件。是選擇遠(yuǎn)程控制軟件的首選。