徹底明白ip地址,區分localhost、127.0.0.1和0.0.0.0
通俗的瞭解IP地址是什麼
對於IP地址,大家並不陌生,特別是在網路訪問中我們會經常使用到(平時對域名如百度的www.baidu.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地址是可以重複出現的。
舉個小例子: 在區域網A中,有個主機的IP地址是
192.168.10.128
,那麼絕不可能在區域網A中還有其他主機的IP地址為192.168.10.128
。但是在區域網B中卻可以有主機的IP地址也是192.168.10.128
。
如果區域網A中的192.168.10.128
主機與區域網B中的192.168.10.128
主機通訊,不會衝突嗎?不會,因為上述說過,它們最終都是使用路由器中的公網IP
來連線外網的,而公網IP
是全球唯一的。
localhost、127.0.0.1和0.0.0.0和本機IP的區別
localhost
localhost其實是域名
,一般windows系統預設將localhost指向127.0.0.1
,但是localhost並不等於127.0.0.1
,localhost指向的IP地址是可以配置的
127.0.0.1
首先我們要先知道一個概念,凡是以127
開頭的IP地址,都是迴環地址(Loop back address),其所在的迴環介面一般被理解為虛擬網路卡,並不是真正的路由器介面。
所謂的迴環地址,通俗的講,就是我們在主機上傳送給127
開頭的IP地址的資料包會被髮送的主機自己接收,根本傳不出去,外部裝置也無法通過迴環地址訪問到本機。
小說明:正常的
資料包
會從IP層
進入鏈路層
,然後傳送到網路
上;而給迴環地址
傳送資料包
,資料包
會直接被髮送主機的IP層
獲取,後面就沒有鏈路層
他們啥事了。
而127.0.0.1
作為{127}
集合中的一員,當然也是個迴環地址。只不過127.0.0.1
經常被預設配置為localhost的IP地址。
一般會通過ping 127.0.0.1
來測試某臺機器上的網路裝置是否工作正常。
0.0.0.0
首先,0.0.0.0
是不能被ping
通的。在伺服器中,0.0.0.0
並不是一個真實的的IP地址,它表示本機中所有的IPV4地址。監聽0.0.0.0
的埠,就是監聽本機中所有IP的埠。
本機IP
本機IP通常僅指在同一個區域網內,能同時被外部裝置訪問和本機訪問的那些IP地址(可能不止一個)。像127.0.0.1
這種一般是不被當作本機IP的。本機IP是與具體的網路介面繫結的,比如乙太網卡、無線網路卡或者PPP/PPPoE撥號網路的虛擬網路卡,想要正常工作都要繫結一個地址,否則其他裝置就不知道如何訪問它。
小例子劇場(幫助理解本機IP、127.0.0.1和0.0.0.0)
現在有兩臺pc在同一個區域網內,分別為pc1與pc2,pc1上有一個網路卡,IP地址為192.168.10.128
- pc1中sever監聽
127.0.0.1
,則pc1中的client可以連上127.0.0.1
,192.168.10.128
連不上;而pc2中client都連不上。 - pc1中sever監聽
192.168.10.128
,則pc1中的client可以連上192.168.10.128
,127.0.0.1
連不上;而pc2中client能連上192.168.10.128
。 - pc1中sever監聽
0.0.0.0
,則pc1中的client可以連上127.0.0.1
和192.168.10.128
,pc2中的client能連上192.168.10.128
。
相關文章
- ip 地址 127.0.0.1 和 0.0.0.0 的區別127.0.0.1
- 127.0.0.1和0.0.0.0的區別是什麼?127.0.0.1
- 0.0.0.0 與 127.0.0.1127.0.0.1
- Deno 正式釋出,徹底弄明白和 node 的區別
- Linux的ip地址變為127.0.0.1Linux127.0.0.1
- mysql使用者本地登入localhost和127.0.0.1區別MySqllocalhost127.0.0.1
- 【TCP/IP】IP地址分類和特殊IP地址TCP
- 徹底弄懂ip掩碼中的網路地址、廣播地址、主機地址
- 徹底區分final.finalize,finally
- 徹底搞明白Spring中的自動裝配和AutowiredSpring
- mac地址和ip地址有什麼區別Mac
- 網路:IP地址分類和分段
- Android原始碼角度分析事件分發消費(徹底整明白Android事件)Android原始碼事件
- 【JavaScript】徹底明白this在函式中的指向JavaScript函式
- 這麼講執行緒池,徹底明白了!執行緒
- bind 127.0.0.1 ::1 和 bind 127.0.0.1 有什麼區別127.0.0.1
- 電腦ip地址在哪看 電腦本地ip地址和網際網路ip地址有什麼區別
- [ASP.NET]關於DOT NET的IIS配置LocalHost訪問和127.0.0.1訪問的區別ASP.NETlocalhost127.0.0.1
- 【TCP/IP】IP地址的劃分及其分類TCP
- Android高階進階之路【二】十分鐘徹底弄明白 View 事件分發機制AndroidView事件
- 127.0.0.0和localhost區別localhost
- 這一次,徹底幫你搞明白 ImageView ScaleTypeView
- 隱藏alert彈框中的localhost:8080(ip地址跟埠號)localhost
- 實驗十四——————IP地址劃分和靜態路由路由
- 徹底理解斜槓和反斜槓的區別
- IP地址的分類:A、B、C、D、E五類IP地址是如何劃分的
- IP地址和MAC地址的關係Mac
- IP地址的概念及IP子網劃分
- IP地址分類及範圍
- 域名和IP地址收集
- [精]--這一次,讓你徹底明白Java的值傳遞和引用傳遞!Java
- IP子網劃分概念:IP地址,子網和閘道器配置——VecloudCloud
- 手動設定ip地址和dns ip地址和dns怎麼設定DNS
- 30分鐘徹底弄懂flex佈局Flex
- 5分鐘徹底理解Object.keysObject
- 伺服器IP地址的分類伺服器
- ChatGPT,我徹徹底底淪陷了!ChatGPT
- 10 分鐘徹底理解 Redis 的持久化和主從複製Redis持久化