tft每日頭條

 > 生活

 > 公網地址與私網地址區分

公網地址與私網地址區分

生活 更新时间:2024-09-13 17:42:10

内、外網是相對于防火牆而言的,在防火牆内部叫做内網,反之就是外網。

在一定程度上外網等同于公網,内網等同于私網。

地址為如下3個區域就是處于私網:1:10.*.*.*2:172.16.*.*至172.31.*.*3:192.168.*.* (*為0到255之間的任意數字)以上3個區域外的就是處于公網之中了。

========================================================

公網地址公網地址是指在因特網上直接可達的地址,如果你有一個公網地址,那就意味着你不但能訪問别人,還能被人訪問。公網地址是架設各種服務器必不可少的條件。 

私網地址私網地址産生的一個原因是因為公網地址非常缺乏,大家不得不使用同一個公網IP地址上網,這就是共享上網的由來。同樣,私網地址仍然可以被再次共享。

私有地址(Private address)屬于非注冊地址,專門為組織機構内部使用。

========================================================

公網ip  用郵寄系統作比喻。有公網ip,相當于說你有一個詳細的地址,你可以寫信寄給别人,别人也可以用這個地址和你進行各種通訊。

  現在來看看沒有公網ip是一種什麼局面。這就像是住在一個大院裡,所有進出的郵件都由傳達室轉交。如果是普通的郵件,可以放在傳達室,傳達室的大爺大媽看到你了就會轉交給你,或者你自己去傳達室看看,這不重要,反正雖然經過了一點波折,還是可以看到郵件的。現在假設以下如果來了個挂号,郵局的人員說:必須本人簽收。傳達室的大爺就說了:對不起,所有的郵件都要經過我的中轉站~。于是郵局的人員隻好把信帶回去了……  實際情況和這個差不多,所謂沒有公網ip,就是說你的機子并非直接連接上internet,而是所有通訊經過一台代理(一般是透明網關)進行中轉,這時候問題就來了,就會有一些通訊無法在這種機制下順利進行。比如兩個網吧之間,網吧的機子是沒有公網ip的典型例子,通常兩個網吧之間就不能互相通過qq傳送文件。又比如沒有公網ip,上網玩對戰遊戲通常會有問題,你建立的遊戲别人無法加入等等。

========================================================  

私網ip

  私網IP就是就是國際上分配ip的時候,留出一部分ip,不用于在interNAT上用可用于内部局域網等,雖然功能一樣,但不能在internat上使用。屬于非注冊地址,專門為組織機構内部使用。

  以下表列出留用的内部尋址地址

  A類 10.0.0.0 8  B類 172.16.0.0--172.31.0.0   C類 192.168.0.0--192.168.255.0

====================================================================================

思考:A 和 B 的局域網 IP 都是192.168.31.11,當他們都訪問百度浏覽網頁時,百度服務器回複數據時,如何區分是給 A 還是給 B 呢

對于初學者而已,我們學習的網絡編程(如TCP,UDP編程),我們通常都是在局域網内進行通信測試,有時候我們或者會想,我們現在寫的内網網絡數據和外網的網絡數據有什麼不同,我們内網的數據是如何走出外網的呢?再者,我們大多人都是使用寬帶上網,結果發現,A 和 B 的局域網 IP 都是192.168.31.11,當他們都訪問百度浏覽網頁時,百度服務器回複數據時,如何區分是給 A 還是給 B 呢?

公網地址與私網地址區分(網絡常識公網私網)1

公有 IP 和私有 IP 的區别

首先,我們需要了解一下什麼是公有制 IP 和私有 IP ?公有地址(Public address):由 Inter NIC(Internet Network Information Center 因特網信息中心)負責。這些 IP 地址分配給注冊并向Inter NIC提出申請的組織機構,公有 IP 全球唯一,通過它直接訪問因特網(隻能上網)。私有地址(Private address):屬于非注冊地址,專門為組織機構内部使用,說白了,私有 IP 不能直接上網。而我們平時通過運營商(電信、移動、聯通寬帶等)上網,家裡面通過路由器分出來的 IP 都是私有 IP(局域網 IP),大家可能會疑問,我們可以上網啊,怎麼會是私有 IP 呢?租用(申請)公有 IP 是需要錢的。 運營商買了一些公有 IP,然後通過這些公有 IP 分出來,再分給一個又一個的用戶使用。這個過程有點類似于,我們去安裝了寬度,通過路由器分出幾個 IP,讓好幾個人都能上網,當然運營商通過公有 IP 分出來的過程肯定比這個複雜多了。所以,我們平時上網用的 IP 是私有 IP,真正擁有公有 IP 的是運營商(當然,我們可以租用一個公有 IP )。所以,A 家庭的局域網 IP 和 B 家庭的局域網 IP 相同很正常,但是,最終 A 和 B 能上網(數據走出去)還是通過運營商的公有 IP,畢竟,公有 IP 的資源有限,這一片區域的用戶使用得很有可能(實際上就是這樣的)是同一個公有 IP,這樣的話,又回到前面的問題,假如 A 和 B 的局域網 IP 相同(192.168.31.11),當他們同時訪問百度服務器的時候,百度服務器如何區分哪個是 A,哪個是 B 呢?

公網地址與私網地址區分(網絡常識公網私網)2

端口映射

接下來,給大家介紹一下什麼是端口映射?端口映射是 NAT 的一種,它将外網主機的 IP 地址的一個端口映射到内網中的一台機器,提供相應的服務。當用戶訪問該 IP 的這個端口時,服務器自動将請求映射到對應局域網内部的機器上。現在市場上的家庭路由器都具備 NAT 功能,也可以實現端口映射。下圖為小米路由器的端口映射設置圖:

數據是如何通過IP交換的

我們平時經過路由器,通過寬帶,最終去到運營商那邊,數據是從運營商出去,最終數據是回到運營商那邊,運營商再把數據發送到用戶的電腦。路由器,至少有兩個端口:WAN 口紅 LAN 口。WAN:接外部 IP 地址用,通常指的是出口,轉發來自内部 LAN 接口的 IP 數據包,這個可口的 IP 是唯一的。LAN:接内部 IP 地址用,LAN 内部是交換機。這裡,我們簡化這個過程,我們把運營商當做一個 NAT 設備

公網地址與私網地址區分(網絡常識公網私網)3

①、為了方便大家理解,我們把 IP 的轉化方向反過來分析(準确來說,公網轉局域網)。A 電腦的 IP 是局域網 IP(192.168.31.11),這個 IP(192.168.31.11)是從路由器的 lan口分配的。當我們上百度的時候,經過路由器的 wan口,進行相應的IP、端口轉化:192.168.31.11:80 -> 10.221.0.24:8080,所以,從 wan口出去的地址為:10.221.0.24:8080。

公網地址與私網地址區分(網絡常識公網私網)4

②、最後,經過運營商,運營商那邊會做相應的端口映射(而且是動态端口映射),子網 IP(10.221.0.24:8080)轉化為公網 IP(128.0.0.1:8888),通過這個公網 IP 去訪問百度服務器。

③、同理,B 的過程也是一樣。通過這樣的層層端口映射,最終保證地址(IP 端口)的唯一性。A 和 B 訪問百度服務器,盡管它們的局域網 IP 是一樣的,但是最終它們訪問百度的地址(IP 端口)是唯一的,所以,百度服務器回複時,原路返回時能夠區分到底給誰回。如何讓外網能夠訪問自己寫的網絡程序(服務器),首先,我們需要在運營商那邊申請(租用)一個公有 IP (長城寬帶一年需要 2000 元左右),假如這個公有 IP 為:128.0.0.123。

總結

上面就是我們内網外網之間的通訊過程,關鍵在于與服務器建立起映射,這樣就能和服務器之間建立通信,請求數據。

創作不易,如果這篇文章對你有用,請點個贊謝謝♪(・ω・)ノ!

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved