日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

你不知道的127.0.0.1和0.0.0.0地址的区别

發(fā)布時(shí)間:2024/2/28 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 你不知道的127.0.0.1和0.0.0.0地址的区别 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. 問題引入

之前在使用tomcat的時(shí)候,啟動(dòng)tomcat默認(rèn)都會(huì)綁定到127.0.0.1這個(gè)地址,最近在使用hexo寫博客的時(shí)候發(fā)現(xiàn)通過 hexo server命令啟動(dòng)服務(wù)的時(shí)候綁定的ip地址是0.0.0.0。那么這兩個(gè)IP地址到底有什么不同呢?

在講解兩個(gè)地址的不同之前,我們先回顧一下IP地址的基礎(chǔ)知識(shí)。

2. IP地址分類

2.1 IP地址表示

IP地址由兩個(gè)部分組成,net-id和host-id,即網(wǎng)絡(luò)號和主機(jī)號。
net-id:表示ip地址所在的網(wǎng)絡(luò)號。
host-id:表示ip地址所在網(wǎng)絡(luò)中的某個(gè)主機(jī)號碼。

即:

IP-address ::= { <Network-number>, <Host-number> }

2.2 IP地址分類

IP地址一共分為5類,即A~E,它們分類的依據(jù)是其net-id所占的字節(jié)長度以及網(wǎng)絡(luò)號前幾位。

  • A類地址:網(wǎng)絡(luò)號占1個(gè)字節(jié)。

    網(wǎng)絡(luò)號的第一位固定為0。

  • B類地址:

    網(wǎng)絡(luò)號占2個(gè)字節(jié)。

    網(wǎng)絡(luò)號的前兩位固定為10。

  • C類地址:

    網(wǎng)絡(luò)號占3個(gè)字節(jié)。

    網(wǎng)絡(luò)號的前三位固定位110。

  • D類地址:

    前四位是1110,用于多播(multicast),即一對多通信。

  • E類地址:

    前四位是1111,保留為以后使用。


    其中,ABC三類地址為單播地址(unicast),用于一對一通信,是最常用的。

2.3 特殊IP地址

特殊IP地址就是用來做一些特殊的事情。RFC1700中定義了以下特殊IP地址。

  • {0,0}:網(wǎng)絡(luò)號和主機(jī)號都全部為0,表示“本網(wǎng)絡(luò)上的本主機(jī)”,只能用作源地址。

  • {0,host-id}:本網(wǎng)絡(luò)上的某臺(tái)主機(jī)。

    只能用作源地址。

  • {-1,-1}:

    表示網(wǎng)絡(luò)號和主機(jī)號的所有位上都是1(二進(jìn)制),用于本網(wǎng)絡(luò)上的廣播,只能用作目的地址,發(fā)到該地址的數(shù)據(jù)包不能轉(zhuǎn)發(fā)到源地址所在網(wǎng)絡(luò)之外。

  • {net-id,-1}:直接廣播到指定的網(wǎng)絡(luò)上。

    只能用作目的地址。

  • {net-id,subnet-id,-1}:直接廣播到指定網(wǎng)絡(luò)的指定子網(wǎng)絡(luò)上。

    只用作目的地址。

  • {net-id,-1,-1}:直接廣播到指定網(wǎng)絡(luò)的所有子網(wǎng)絡(luò)上。

    只能用作目的地址。

  • {127,}:即網(wǎng)絡(luò)號為127的任意ip地址。

    都是內(nèi)部主機(jī)回環(huán)地址(loopback),永遠(yuǎn)都不能出現(xiàn)在主機(jī)外部的網(wǎng)絡(luò)中。

  • 3. 問題解答

    接下來我們來看之前問過的問題:127.0.0.1和0.0.0.0地址的區(qū)別是什么?
    我們先來看下共同點(diǎn):

  • 都屬于特殊地址。

  • 都屬于A類地址。

  • 都是IPV4地址。

  • 接下來我們分別看下這兩個(gè)地址:

    0.0.0.0

    IPV4中,0.0.0.0地址被用于表示一個(gè)無效的,未知的或者不可用的目標(biāo)。

    • 在服務(wù)器中,0.0.0.0指的是本機(jī)上的所有IPV4地址,如果一個(gè)主機(jī)有兩個(gè)IP地址,192.168.1.1 和 10.1.2.1,并且該主機(jī)上的一個(gè)服務(wù)監(jiān)聽的地址是0.0.0.0,那么通過兩個(gè)ip地址都能夠訪問該服務(wù)。

    • 在路由中,0.0.0.0表示的是默認(rèn)路由,即當(dāng)路由表中沒有找到完全匹配的路由的時(shí)候所對應(yīng)的路由。

    用途總結(jié)

    • 當(dāng)一臺(tái)主機(jī)還沒有被分配一個(gè)IP地址的時(shí)候,用于表示主機(jī)本身。

      (DHCP分配IP地址的時(shí)候)

    • 用作默認(rèn)路由,表示”任意IPV4主機(jī)”。


      用來表示目標(biāo)機(jī)器不可用。

    • 用作服務(wù)端,表示本機(jī)上的任意IPV4地址。

    127.0.0.1

    127.0.0.1屬于{127,}集合中的一個(gè),而所有網(wǎng)絡(luò)號為127的地址都被稱之為回環(huán)地址,所以回環(huán)地址!=127.0.0.1,它們是包含關(guān)系,即回環(huán)地址包含127.0.0.1。
    回環(huán)地址:所有發(fā)往該類地址的數(shù)據(jù)包都應(yīng)該被loop back。

    用途

    • 回環(huán)測試,通過使用ping 127.0.0.1 測試某臺(tái)機(jī)器上的網(wǎng)絡(luò)設(shè)備,操作系統(tǒng)或者TCP/IP實(shí)現(xiàn)是否工作正常。

    • DDos攻擊防御:

      網(wǎng)站收到DDos攻擊之后,將域名A記錄到127.0.0.1,即讓攻擊者自己攻擊自己。

    • 大部分Web容器測試的時(shí)候綁定的本機(jī)地址。

    localhost

    相比127.0.0.1,localhost具有更多的意義。localhost是個(gè)域名,而不是一個(gè)ip地址。之所以我們經(jīng)常把localhost與127.0.0.1認(rèn)為是同一個(gè)是因?yàn)槲覀兪褂玫拇蠖鄶?shù)電腦上都講localhost指向了127.0.0.1這個(gè)地址。
    在ubuntu系統(tǒng)中,/ets/hosts文件中都會(huì)有如下內(nèi)容:

    127.0.0.1 localhost 127.0.1.1 jason-Lenovo-V3000 # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters

    上面第一行是幾乎每臺(tái)電腦上都會(huì)有的默認(rèn)配置。
    但是localhost的意義并不局限于127.0.0.1。

    localhost是一個(gè)域名,用于指代this computer或者this host,可以用它來獲取運(yùn)行在本機(jī)上的網(wǎng)絡(luò)服務(wù)。
    在大多數(shù)系統(tǒng)中,localhost被指向了IPV4的127.0.0.1和IPV6的::1。

    127.0.0.1 localhost ::1 localhost

    所以,在使用的時(shí)候要注意確認(rèn)IPV4還是IPV6

    4. 總結(jié)

    127.0.0.1 是一個(gè)環(huán)回地址。并不表示“本機(jī)”。0.0.0.0才是真正表示“本網(wǎng)絡(luò)中的本機(jī)”。
    在實(shí)際應(yīng)用中,一般我們在服務(wù)端綁定端口的時(shí)候可以選擇綁定到0.0.0.0,這樣我的服務(wù)訪問方就可以通過我的多個(gè)ip地址訪問我的服務(wù)。

    比如我有一臺(tái)服務(wù)器,一個(gè)外網(wǎng)地址A,一個(gè)內(nèi)網(wǎng)地址B,如果我綁定的端口指定了0.0.0.0,那么通過內(nèi)網(wǎng)地址或外網(wǎng)地址都可以訪問我的應(yīng)用。但是如果我只綁定了內(nèi)網(wǎng)地址,那么通過外網(wǎng)地址就不能訪問。所以如果綁定0.0.0.0,也有一定安全隱患,對于只需要內(nèi)網(wǎng)訪問的服務(wù),可以只綁定內(nèi)網(wǎng)地址。

    總結(jié)

    以上是生活随笔為你收集整理的你不知道的127.0.0.1和0.0.0.0地址的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。