IP地址, localhost, 127.0.0.1, Loop back address迴環ip地址, 0.0.0.0區分理解

理解IP地址是什麼
對於IP地址,大家並不陌生,特別是在網絡訪問中我們會經常使用到(平時對域名如百度,淘寶的www.baidu.com,www.taobao.com的訪問,本質就是對域名所綁定的IP地址的訪問),那麼IP地址是什麼呢?

首先,我們要知道網絡中的相互訪問其實就是在進行兩者間的數據傳遞。就如同送快遞一樣,快遞發出只有知道你的住址信息,才能將快遞送到你的手中。而在網絡訪問時,只有知道你在網絡中的地址信息,才能將數據發送到你的設備上。所以,IP地址就是你在網絡中的地址信息。與你現實地址不同的是,你的現實地址使用文字表示,而你在網絡中的地址(IP地址)是用二進制數字表示的。

簡要的瞭解下公網與內網中的IP地址
一般我們會將網絡劃分公網(連Internet的)與內網(局域網)

公有IP地址
一般稱公網中的IP地址爲公有地址。公有地址由Inter NIC(因特網信息中心)負責,這些IP地址分配給註冊並向Inter NIC提出申請的組織機構。公有地址是全球唯一的,公網中不可能存在兩個相同的IP地址。

範圍:除了私有地址以外的地址,都屬於公有地址

私有IP地址
一般稱內網(即局域網)中的IP地址爲私有地址。私有地址是非註冊地址,用於組織機構內部使用。私有地址的範圍如下:

A類IP地址中:10.0.0.0–10.255.255.255
B類IP地址中:172.16.0.0–172.31.255.255
C類IP地址中:192.168.0.0–192.168.255.255
私有地址與公有地址不同,並不是由Internet分配的,是不允許出現在Internet中的,我們在公網中是看不到私有IP地址的,並且公有地址也不會使用上述的三類地址。所以,私有地址是不能直接與Internet連接的。

而如果想用私有地址與Internet連接來訪問公網,那該怎麼做?這就需要將私有IP地址轉換成公網IP地址,與外部連接。所以,我們平時使用的路由器中會裝有一個叫做 NAT(網絡地址轉換) 的軟件,我們的路由器中會至少會有一個有效的公網IP,NAT會將我們的私有地址轉成路由器中的公網IP與外部Internet連接。而同樣的,因爲使用的是路由器中的公共的公網IP來連接Internet,所以這個內網中的PC在Internet中顯示的都是路由器的公共IP,這樣做不僅提供了一定程度的安全,也可以有效的減緩可用的IP地址空間的枯竭問題。(像我們學校或者公司的內網一般都是這麼做的)

另外還有一點,在同一個局域網內,IP地址是唯一的;但是在不同的局域網內,IP地址是可以重複出現的。

本機地址:
“本機地址”並不是一個規範的名詞。通常情況下,指的是“本機物理網卡所綁定的網絡協議地址”。由於目前常用網絡協議只剩下了IPV4,IPX/Apple Tak消失了,IPV6還沒普及,所以通常僅指IP地址甚至ipv4地址。
本機IP通常僅指在同一個局域網內,能同時被外部設備訪問和本機訪問的那些IP地址(可能不止一個)。像127.0.0.1這種一般是不被當作本機IP的。本機IP是與具體的網絡接口綁定的,比如以太網卡、無線網卡或者PPP/PPPoE撥號網絡的虛擬網卡,想要正常工作都要綁定一個地址,否則其他設備就不知道如何訪問它。

localhost

localhost其實是域名,一般windows系統默認將localhost指向127.0.0.1,但是localhost並不等於127.0.0.1localhost指向的IP地址是可以配置的

C:\Windows\System32\drivers\etc 的hosts

# common
 127.0.0.1 localhost #可以隨便改如:  127.0.10.103 localhost 

 192.168.0.101 manage.ayh.com # 到Nginx 的serve反向代理
 192.168.0.101 api.ayh.com
 192.168.0.101 image.ayh.com
 192.168.0.101 www.ayh.com

127.0.0.1與迴環地址 Loop back(凡是以127開頭的IP地址)


首先我們要先知道一個概念,凡是以127開頭的IP地址,都是迴環地址(Loop back address),其所在的迴環接口Loop back 一般被理解爲虛擬網卡,並不是真正的路由器接口。

所謂的迴環地址,通俗的講,就是我們在主機發送給127開頭的IP地址數據包會被髮送的主機自己接收,根本傳不出去外部設備無法通過迴環地址訪問到本機。(簡單理解:單個主機如自己電腦或單個虛擬主機,內部自己訪問自己不經外網自個玩)

小說明:正常的數據包會從IP層進入鏈路層,然後發送到網絡上;而給迴環地址發送數據包,數據包會直接被髮送主機的IP層獲取,後面就沒有鏈路層他們啥事了。

而127.0.0.1作爲{127}集合中的一員,當然也是個迴環地址。只不過127.0.0.1經常被默認配置爲localhost的IP地址
一般會通過ping 127.0.0.1來測試某臺機器上的網絡設備是否工作正常。
 C:\Windows\System32\drivers\etc

系統自動的將 localhost 映射到了 127.0.0.1 ,我也同樣可以手動把 test.com 映射到 127.0.0.1

127.0.0.1 是綁定在 loopback 接口上的地址,如果服務端套接字綁定在它上面,你的客戶端程序就只能在本機訪問

至於本機 IP,你可以理解爲本機有三塊網卡,一塊網卡叫做 loopback(這是一塊虛擬網卡),另外一塊網卡叫做 ethernet (這是你的有線網卡),另外一塊網卡叫做 wlan(這是你的無線網卡)。

你的本機 IP 是你真實網卡的 IP,具體來說有線無線各有一個,而 127.0.0.1 是那塊叫做 loopback 的虛擬網卡的 IP。
 

0.0.0.0 任意ip


首先,0.0.0.0是不能被ping通的。在服務器中,0.0.0.0並不是一個真實的的IP地址,它表示本機中所有的IPV4地址。監聽0.0.0.0的端口,就是監聽本機中所有IP的端口。


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章