不同區域網內進行網路連線的建立方法
前言
在這網際網路和物聯網的時代,網路連線與通訊被使用的越來越多,如何建立兩個網路IP地址的連線 (TCP或者UDP連線),也是一門學問。之前專案中遇到了這方面的問題,也被糾纏了一番,查閱大量資料,通過不斷摸索和學習,對網路通訊有了一定的理解,下面以個人的理解角度,通俗的來講講,網路連線關係?兩個區域網建立連線的解決方法?如有解釋不周,望諒解。
內外網IP關係的理解
我們生活中的大多數上網的IP都是處在區域網的IP(內網IP),如192.168.X.X這些都是區域網IP,而局域網裡的IP是不能直接相互連線的,只有公網的IP(外網IP)可以進行相互連線。或者也可以讓內網IP直接連線到公網IP,但內網和公網之間的連線只能單向,公網無法連線到到內網IP。
打個比喻:每一個區域網(內網)相當於地球上一個一個的小屋子,而每個區域網的IP相當於小屋子裡的每個人,而公網(外網)相當於天上的星星,每個公網IP相當於每一顆星星。星星是可以被每個屋子裡的人看見的,因此公網IP可以被每個內網IP所連線。而星星是看不到地球上每個屋子裡的每個人,因此,公網IP無法連線到內網IP。在每個屋子內,人與人之間可以相互看到,所以一個區域網內的內網IP可以進行相互的連線。但是每個屋子與屋子之間人又不能相互看到,因此內網之間的IP是隔絕的,以至於內網之間IP無法直接進行連線。同樣,在天上的星星直接能相互看到對方,因此外網的IP可以隨意的相互連線。
綜上,可得出如下結論:
- 外網IP直接可以相互連線。
- 處在同一內網下IP可以互聯
- 不同內網下的IP不能相互連線。
- 內網和外網之間,只能從內網連線到外網,外網連線不到內網。
內網連線的解決方法—-NAT穿透技術
然而,現實生活中,能使用到公網IP的並不多,我們大多都處在區域網下,如下的都是區域網IP。
A段:10.0.0.0-10.255.255.255
B段:172.16.0.0-172.31.255.255
C段:192.168.0.0-192.16.25.255
試想一下,如果每個人用的IP 都是公網的,那麼這世界IP分配都不夠用了,而且網路會變得很複雜。因此形成了一個一個的區域網,節省的很多IP。但產生的問題就是,每個區域網將連線變的不容易了,但並沒有方法不能解決,可以通過NAT穿透技術(也稱內網穿透技術)
如何穿透
NAT穿透技術有很多,讀者可以去網上查,個人感覺用的比較方便的就是花生殼NAT-DDNS穿透,即通過第三方軟體完成內網穿透。
自己可以網上下載一個花生殼,並註冊,可以註冊一個免費版的(但好像要收幾塊錢)。花生殼會分配給你一個域名,這個域名就是你所在公網的域名,不會改變。如下圖:
雙擊域名,進行新增你要對映的內網地址
新增你所在內網的IP地址(也就是電腦裝置的IP),埠可以直選,作為後面建立伺服器的埠。對IP和埠進行其對映。
對映完後,花生殼會分配給你一個固定域名和埠號(即你在外網地址的身份證號),此時你將處在外網狀態,但他人連線你,必須通過你外網身份證號(域名和埠號)來連線你才有效。
到此,就已經配置成功了,只要你登入著花生殼線上,並且開著被對映的伺服器,無論其他公網和區域網的人的都能連線到你(其他方法還很多,VPN架設也是一種,但較昂貴,而且第三方軟體也有其他的,讀者有興趣可以嘗試)。
區域網的客戶端如何連線到一個被對映到外網的伺服器,我想通過下一篇文章來說明:區域網內的WIFI模組與其他區域網建立連線,順便講解下WIFI模組(ESP8266)的使用方法。