公網IP地址,內網IP地址,物理地址,本地環回地址(127.0.0.1)以及localhost的區別

公網IP地址,內網IP地址的區別

這篇文章講的十分透徹:https://blog.csdn.net/gui951753/article/details/79210535

簡而言之:公網IP是你辦寬帶時營業廳給你分配的地址,用於連接互聯網。一般通過百度輸入IP查到的就是這個公網IP。除非你換寬帶,這個地址一般也不變。

而內網IP指的是局域網(如家裏安裝的路由器)給你隨機分配的地址,當你連上家裏的Wi-Fi時,這時候就會隨機給你分配一個IP,這個IP是可變的。

一般在cmd終端上通過ipconfig命令查到的就是這個內網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是全球唯一的。

現在分析物理地址,本地環回地址(127.0.0.1)以及localhost:

物理地址(又稱爲MAC地址或者硬件地址)

顧名思義,肯定是跟最底層硬件有關的地址,這個地址就像你的身份證一樣是世界上唯一的,在設備出廠的時候就打在設備的芯片裏了,即固化在網卡上的ROM中,是按照國際上的標準和規定統一的格式,這個地址是永遠不變的,同一型號的兩個設備硬件地址也不同。

本地迴環地址(127.0.0.1)

所謂的迴環地址,通俗的講,就是我們在主機上發送給127開頭的IP地址的數據包會被髮送的主機自己接收,根本傳不出去,外部設備也無法通過迴環地址訪問到本機。

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

localhost

localhost其實是域名,在 Windows 中,這個域名是預定義的,從 hosts 文件中可以看出:一般windows系統默認將localhost 指向127.0.0.1。

在操作系統支持 ipv6 後,它同時還指向ipv6 的地址 [::1] 。

但是localhost並不等於127.0.0.1localhost指向的IP地址是可以配置的。如下圖的host文件:

所以,你也可以去host文件中,將localhost改爲其它的127開頭的ip地址。

注意:

localhost是不經網卡傳輸!這點很重要,它不受網絡防火牆和網卡相關的的限制。127.0.0.1是通過網卡傳輸,依賴網卡,並受到網絡防火牆和網卡相關的限制。一般設置程序時本地服務用localhost是最好的,localhost不會解析成ip,也不會佔用網卡、網絡資源。

有時候用localhost可以,但用127.0.0.1就不可以的情況就是在於此。猜想localhost訪問時,系統帶的本機當前用戶的權限去訪問,而用ip的時候,等於本機是通過網絡再去訪問本機,可能涉及到網絡用戶的權限。