127.0.0.1是什么?
127.0.0.1是回送地址,指本地機(jī),一般用來(lái)測(cè)試使用;也就是說(shuō)“127.x.x.x”是本機(jī)回送地址,即主機(jī)IP堆棧內(nèi)部的IP地址,主要用于網(wǎng)絡(luò)軟件測(cè)試以及本地機(jī)進(jìn)程間通信。
本機(jī)IP地址127.0.0.1和0.0.0.0的區(qū)別是什么?
概述
總體來(lái)講,127.0.0.1是本機(jī)的環(huán)回地址,0.0.0.0代表本機(jī)上任何IP地址。下面分別詳細(xì)講解。
環(huán)回地址 127.0.0.1
嚴(yán)格來(lái)說(shuō)127.0.0.1只是環(huán)回地址之一。所有127.x.x.x都是環(huán)回地址。從127.0.0.0 到 127.255.255.255 均予以保留。此地址塊中的任何地址都將環(huán)回到本地主機(jī)中。此地址塊中的任何地址都絕不會(huì)出現(xiàn)在任何網(wǎng)絡(luò)中。
環(huán)回地址:所有發(fā)往該類地址的數(shù)據(jù)包都應(yīng)該被 loop back。正常的網(wǎng)絡(luò)包從IP層進(jìn)入數(shù)據(jù)鏈路層,然后發(fā)送到網(wǎng)絡(luò)上, 而發(fā)向loopback地址的包,直接在IP層短路了,也就是發(fā)到IP層的包直接被IP層接收了,不再向下發(fā)送。
環(huán)回地址主要用來(lái)做回環(huán)測(cè)試,通過(guò)使用ping 127.0.0.1 測(cè)試某臺(tái)機(jī)器上的網(wǎng)絡(luò)設(shè)備,操作系統(tǒng)或者TCP/IP實(shí)現(xiàn)是否工作正常。
任何地址 0.0.0.0
0.0.0.0 不能ping通。0.0.0.0就是任何地址IP_ADDR_ANY,任何地址的意思就是包括環(huán)回地址。
任何地址IP_ADDR_ANY的意思也就是,不管主機(jī)有多少個(gè)網(wǎng)口,多少個(gè)IP,如果監(jiān)聽本機(jī)的0.0.0.0上的端口,就等于監(jiān)聽機(jī)器上的所有IP端口。數(shù)據(jù)報(bào)的目的地址只要是機(jī)器上的一個(gè)IP地址,就能被接受。
舉例說(shuō)明
為了講清楚本機(jī)IP地址、127.0.0.1和0.0.0.0三者的區(qū)別。下面舉例說(shuō)明,先假設(shè)pc1(server+client)有兩個(gè)網(wǎng)卡: 192.168.0.1 , 10.10.152.8 。pc2只是client。
pc1(server)只監(jiān)聽 127.0.0.1 ,pc1(client)能連上 127.0.0.1 和 0.0.0.0 ( 192.168.0.1 和 10.10.152.8 連不上);pc2連不上pc1的任何地址( 192.168.0.1 或者 10.10.152.8 );
pc1(server)只監(jiān)聽 192.168.0.1 ,pc1(client)能連上 192.168.0.1 和 0.0.0.0 ( 127.0.0.1 和 10.10.152.8 連不上);pc2能連上pc1的 192.168.0.1 ( 10.10.152.8 連不上);(只監(jiān)聽 192.168.0.1與此例類似)
pc1(server)監(jiān)聽 192.168.0.1 和 10.10.152.8 ,pc1(client)能連上 192.168.0.1 、 10.10.152.8 和 0.0.0.0 ( 127.0.0.1 連不上);pc2都能連上pc1的(包括 10.10.152.8 和 192.168.0.1 );
pc1(server)只監(jiān)聽 0.0.0.0 ,pc1(client)都能連上(包括 10.10.152.8 、 0.0.0.0 、 127.0.0.1 和 192.168.0.1 );pc2都能連上pc1的(包括 10.10.152.8 和 192.168.0.1 );
總結(jié)
對(duì)于只進(jìn)行單機(jī)測(cè)試,一般只需要監(jiān)聽 127.0.0.1 。
對(duì)于多機(jī)測(cè)試,可監(jiān)聽所有ip 0.0.0.0 或者只監(jiān)聽某個(gè)或某幾個(gè)具體的ip。對(duì)于多機(jī)連接,監(jiān)聽127.0.0.1 無(wú)效,監(jiān)聽 0.0.0.0 就沒有了屏蔽其他ip的功能。