TCP/IP网络断和127.0.0.1回网IP概念
localhost和127.0.01 區(qū)別
筆者最近調(diào)試程序時(shí)遇到的一個(gè)問(wèn)題,localhost不能訪問(wèn)但127.0.0.1可以訪問(wèn)。
一、原理
我估計(jì)大多數(shù)人都不會(huì)去想localhost到底與127.0.0.1有什么不同,就比如我,有時(shí)候用http://localhost/來(lái)訪問(wèn)本地服務(wù)器網(wǎng)頁(yè),有時(shí)則用http://127.0.0.1/來(lái)訪問(wèn),我覺(jué)得他們是通用的表示本地服務(wù)器的兩個(gè)不同的寫(xiě)法而已,就好比一個(gè)網(wǎng)頁(yè)可以通過(guò)域名來(lái)訪問(wèn)也可以通過(guò)IP來(lái)訪問(wèn)一樣,localhost代表的是域名,而127.0.0.1則代表IP地址。
| ? | localhost | 127.0.0.1 | 本機(jī)IP |
| 網(wǎng)絡(luò) | 不聯(lián)網(wǎng) | 不聯(lián)網(wǎng) | 聯(lián)網(wǎng) |
| 傳輸 | 不使用網(wǎng)卡,不受防火墻和網(wǎng)卡限制 | 網(wǎng)卡傳輸,受防火墻和網(wǎng)卡限制 | 網(wǎng)卡傳輸,受防火墻和網(wǎng)卡限制 |
| 訪問(wèn) | 本機(jī)訪問(wèn) | 本機(jī)訪問(wèn) | 本機(jī)或外部訪問(wèn) |
?
?
?
?
?
?
PS:通過(guò)本機(jī)host文件,windows自動(dòng)將localhost解析為127.0.0.1,可以修改
另外,我現(xiàn)在也應(yīng)該明白了一個(gè)道理,那就是一般設(shè)置程序時(shí)本地服務(wù)用localhost是最好的,localhost不會(huì)解析成IP,也不會(huì)占用網(wǎng)卡、網(wǎng)絡(luò)資源。
二、解決方法
解決方法1:
修改host文件用記事本打開(kāi)C:/WINDOWS/system32/drivers/etc/hosts文件,看是否有127.0.0.1 localhost 。如果沒(méi)有則將其添加進(jìn)去,再查看能否訪問(wèn)localhost。
解決方法2:
1、打開(kāi)Internert信息管理查看IIS是否啟動(dòng),且默認(rèn)網(wǎng)站時(shí)候已經(jīng)開(kāi)啟;?
2、打開(kāi)http://127.0.0.1/ 看是否能訪問(wèn)IIS的默認(rèn)網(wǎng)頁(yè),能訪問(wèn)則說(shuō)明IIS已經(jīng)成功安裝到電腦上,可能是無(wú)法解析localhost;?
3、開(kāi)始--命令(cmd)--ping localhost,看是否能ping通,從127.0.0.1上返回信息,如果成功則說(shuō)明可以解析localhost;?
4、如果上一步不成功,則用記事本打開(kāi)C:/WINDOWS/system32/drivers/etc/hosts文件,看里面是否有包含:127.0.0.1 localhost ,如果沒(méi)有則將其添加進(jìn)去,再查看能否訪問(wèn)localhost。?
5、嘗試將網(wǎng)站的主目錄指向另一個(gè)目錄或新建一個(gè)虛擬目錄,并在該新目錄創(chuàng)建一個(gè)新的網(wǎng)頁(yè)文件,如index.html,然后將其加到默認(rèn)網(wǎng)站的"文檔"項(xiàng)中作為默認(rèn)訪問(wèn)的網(wǎng)頁(yè),重新輸入網(wǎng)址:http://localhost/,看否能訪問(wèn)。?
6、還是不行的話(huà)將IIS卸載掉,重新再安裝一次。
127.0.0.1
127.0.0.1是回送地址,指本地機(jī),一般用來(lái)測(cè)試使用。回送地址(127.x.x.x)是本機(jī)回送地址(Loopback Address),即主機(jī)IP堆棧內(nèi)部的IP地址,主要用于網(wǎng)絡(luò)軟件測(cè)試以及本地機(jī)進(jìn)程間通信,無(wú)論什么程序,一旦使用回送地址發(fā)送數(shù)據(jù),協(xié)議軟件立即返回,不進(jìn)行任何網(wǎng)絡(luò)傳輸。 IP地址由兩部分組成,即網(wǎng)絡(luò)地址和主機(jī)地址。網(wǎng)絡(luò)地址表示其屬于互聯(lián)網(wǎng)的哪一個(gè)網(wǎng)絡(luò),主機(jī)地址表示其屬于該網(wǎng)絡(luò)中的哪一臺(tái)主機(jī)。二者是主從關(guān)系。IP地址的四大類(lèi)型標(biāo)識(shí)的是網(wǎng)絡(luò)中的某臺(tái)主機(jī)。IPv4的地址長(zhǎng)度為32位,共4個(gè)字節(jié),但實(shí)際中我們用點(diǎn)分十進(jìn)制記法。 IP地址根據(jù)網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)來(lái)分,分為A、B、C三類(lèi)及特殊地址D、E。全0和全1的都保留不用。 A類(lèi):第一個(gè)字節(jié)為網(wǎng)絡(luò)號(hào),后三個(gè)字節(jié)為主機(jī)號(hào)。該類(lèi)IP地址的最前面為“0”,所以地址的網(wǎng)絡(luò)號(hào)取值于1~126之間。一般用于大型網(wǎng)絡(luò)。 B類(lèi):前兩個(gè)字節(jié)為網(wǎng)絡(luò)號(hào),后兩個(gè)字節(jié)為主機(jī)號(hào)。該類(lèi)IP地址的最前面為“10”,所以地址的網(wǎng)絡(luò)號(hào)取值于128~191之間。一般用于中等規(guī)模網(wǎng)絡(luò)。 C類(lèi):前三個(gè)字節(jié)為網(wǎng)絡(luò)號(hào),最后一個(gè)字節(jié)為主機(jī)號(hào)。該類(lèi)IP地址的最前面為“110”,所以地址的網(wǎng)絡(luò)號(hào)取值于192~223之間。一般用于小型網(wǎng)絡(luò)。 中文名127.0.0.1特殊地址
D類(lèi):是多播地址。該類(lèi)IP地址的最前面為“1110”,所以地址的網(wǎng)絡(luò)號(hào)取值于224~239之間。一般用于多路廣播用戶(hù) 。 E類(lèi):是保留地址。該類(lèi)IP地址的最前面為“1111”,所以地址的網(wǎng)絡(luò)號(hào)取值于240~255之間。 回送地址:127.0.0.1。一般用于測(cè)試使用。例如:ping 127.0.0.1 來(lái)測(cè)試本機(jī)TCP/IP是否正常。 在有類(lèi)IP地址的規(guī)定中,第一部分是1~126為A類(lèi)地址,128~191為B類(lèi)地址,那么中間留的127.0.0.1被稱(chēng)為本地回環(huán)地址,主要作用有兩個(gè):一是測(cè)試本機(jī)的網(wǎng)絡(luò)配置,能PING通127.0.0.1說(shuō)明本機(jī)的網(wǎng)卡和IP協(xié)議安裝都沒(méi)有問(wèn)題;另一個(gè)作用是某些SERVER/CLIENT的應(yīng)用程序在運(yùn)行時(shí)需調(diào)用服務(wù)器上的資源,一般要指定SERVER的IP地址,但當(dāng)該程序要在同一臺(tái)機(jī)器上運(yùn)行而沒(méi)有別的SERVER時(shí)就可以把SERVER的資源裝在本機(jī),SERVER的IP地址設(shè)為127.0.0.1也同樣可以運(yùn)行。 對(duì)于大多數(shù)習(xí)慣用localhost的來(lái)說(shuō),實(shí)質(zhì)上就是指向127.0.0.1這個(gè)本地IP地址。在操作系統(tǒng)中有個(gè)配置文件(windows中路徑為C:\WINDOWS\system32\drivers\etc\hosts,Unix/Linux路徑為/etc/hosts)將localhost與127.0.0.1綁定在了一起。 127.0.0.1對(duì)于網(wǎng)站建設(shè)者來(lái)說(shuō)是常常用到的。 大家常用“ping 127.0.0.1”命令在本機(jī)上做回路測(cè)試,用來(lái)驗(yàn)證本機(jī)的TCP/IP協(xié)議簇是否被正確安裝。但你發(fā)現(xiàn)了嗎?使用“ping 127.1”這個(gè)命令也能得到同樣的測(cè)試結(jié)果,其實(shí)“ping 127.1”和“ping 127.0.0.1”這兩條命令是一樣的,都是在進(jìn)行回路測(cè)試。 為什么會(huì)這樣呢?這就是Ping命令應(yīng)用中IP地址的使用技巧。大家都知道,IP地址由32位二進(jìn)制數(shù)字組成,為了方便大家記憶,將每8位二進(jìn)制數(shù)字換算成十進(jìn)制數(shù)字,因此就形成了容易記憶的由四部分十進(jìn)制數(shù)字組成的IP地址(如127.0.0.1)。由于,Windows操作系統(tǒng)具有自動(dòng)填充 “.0”的功能,因此我就可將“127.0.0.1”變?yōu)椤?27.1”。 但是,這個(gè)“.0”的省略是有條件限制的,并不能任意省略。在Ping命令的應(yīng)用中,只能將在IP地址的最后一部分十進(jìn)制數(shù)字前出現(xiàn)的一個(gè)或多個(gè)“.0”省略,如把“ping 127.0.0.1”命令改寫(xiě)成“ping 127.1”。127.0.0.1其他信息
127.0.0.1注意事項(xiàng)
如果這一個(gè)或多個(gè) “.0”沒(méi)有緊挨著最后一部分的十進(jìn)制數(shù)字,而是在其他位置,則這個(gè)“.0”不能省略,如“ping 202.0.96.1”就不能寫(xiě)成“ping 202.96.1”。這是因?yàn)椤皃ing 202.96.1”返回的結(jié)果是“202.96.0.1”的應(yīng)答信息,而不是“202.0.96.1”的應(yīng)答信息。127.0.0.1批處理應(yīng)用
1在批處理中 相信大多數(shù)懂一點(diǎn)批處理的人都見(jiàn)過(guò)類(lèi)似于“ping 127.1 -n 5 >nul”這樣的命令。 其實(shí)批處理作者的目的肯定不是測(cè)試網(wǎng)絡(luò),而是為了讓批處理運(yùn)行延時(shí)。 這個(gè)命令的意思是讓批處理運(yùn)行到這里時(shí)延遲4秒在繼續(xù)運(yùn)行下面的命令(ping命令每隔一秒試探一次,第一次試探在執(zhí)行時(shí)就試探過(guò)了,所以5次試探是延遲4秒),后面>nul 的意思是不在屏幕上顯示數(shù)據(jù),達(dá)到延遲運(yùn)行又不對(duì)批處理造成絲毫影響的目的。產(chǎn)生的效果就是一個(gè)白色的閃動(dòng)符號(hào)閃動(dòng)等待。 2在網(wǎng)絡(luò)鏈接中 同一IP段的數(shù)據(jù)傳輸使用地址:127.0.0.1 簡(jiǎn)單來(lái)說(shuō)就是網(wǎng)上鄰居使用此地址傳輸 127.0.0.1特別注意 收到127.0.0.1的響應(yīng)表示主機(jī)的ip配置正確。此響應(yīng)來(lái)自網(wǎng)絡(luò)層。但是此響應(yīng)并不代表地址、掩碼、和網(wǎng)關(guān)配置正確。它也不能說(shuō)明有關(guān)網(wǎng)絡(luò)協(xié)議族下層的任何狀態(tài)。此方法只是測(cè)試網(wǎng)絡(luò)層的ip聯(lián)通性。?
總結(jié)
以上是生活随笔為你收集整理的TCP/IP网络断和127.0.0.1回网IP概念的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何创建比C语言更快的编程语言?
- 下一篇: H264基本概念之 宏块、片和片组