日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

網(wǎng)絡(luò)篇-“Ping 127.0.0.1”工作原理你知道嗎?

 wxt208 2019-05-19

很多小伙伴遇到網(wǎng)絡(luò)故障

或者無法連通時,

大多情況下,

我們都會一頓ping操作

判斷是否網(wǎng)絡(luò)故障。

那么我想問下,

Ping 127.0.0.1的原理是什么?

我相信大部分小伙伴,

都會有“心有力,而語不出”這種感覺

心里感覺好像應(yīng)該懂點什么,

到嘴里又好像沒有什么可說的。

就問你,尷尬不尷尬?

今天,我們就好好聊聊

“Ping 127.0.0.1”背后那點事

首先,我們要弄清楚127.0.0.1的位置

1.window系統(tǒng)里,在hosts文件里可以找到127.0.0.1

可以發(fā)現(xiàn)localhost解析地址為127.0.0.1

2.linux中是寫在/etc/hosts中

通過ifconfig命令,是可以看到這個lo0寫了127.0.0.1地址

我們可以發(fā)現(xiàn)127.0.0.1默認配給了一個loopback虛擬接口上。

其次,我們要弄清楚ping 127.0.0.1的數(shù)據(jù)包是否經(jīng)過網(wǎng)卡.

先簡單的闡述下ping的程序

ping是對兩個TCP/IP系統(tǒng)連通性進行測試的基本工具,

它只利用ICMP回顯請求和回顯應(yīng)答報文,

而不用經(jīng)過傳輸層(TCP/UDP)

我們一般把發(fā)送回顯請求的ping程序為客戶端,

而被ping的主機為服務(wù)器。

大多數(shù)的TCP/IP實現(xiàn)都在內(nèi)核中直接支持ping服務(wù)器。

然后,我們引用“TCP/IP協(xié)議卷一”,

關(guān)于“網(wǎng)卡驅(qū)動處理IP數(shù)據(jù)包”的流程圖,來解釋下。

在我們輸出ping 127.0.0.1時,

IP輸出函數(shù)會先檢查地址是不是換回地址:

1.  如果是環(huán)回地址,直接交給環(huán)回驅(qū)動程序處理,返回ip輸入函數(shù)

    2.  如果不是環(huán)回地址,檢查是不是廣播地址或者多播地址,

如果是廣播地址或者組播地址數(shù)據(jù)報復(fù)制一份傳給環(huán)回接口。然后在送到以太網(wǎng)上。(因為廣播和多播包含主機本身)

    3.  如果不是廣播或者多播地址,才檢查是不是本機地址,如果是本機地址,則交給環(huán)回驅(qū)動程序處理,環(huán)回驅(qū)動程序返回給ip輸入函數(shù)

另外,請童鞋注意的是,目前大部分網(wǎng)卡接口不能讀會它自己發(fā)送出去的數(shù)據(jù)包,

所以如果是發(fā)送給本地的數(shù)據(jù)包,

最好是不需要經(jīng)過網(wǎng)卡的。

很多網(wǎng)卡驅(qū)動的注釋上都有備注。

從上面可以看出 ping 127.0.0.1數(shù)據(jù)包是不經(jīng)過網(wǎng)卡的。

而如果ping本機IP是需要經(jīng)過網(wǎng)卡。

那么,我們是不是可以得出這樣的一個結(jié)論:

1.ping 127.0.0.1是檢查TCP/IP協(xié)議棧是否正常。

2.ping 本地IP 是檢查你網(wǎng)卡、配置是否正常。

為了驗證這個問題,我們通過實驗去看下結(jié)果:

window環(huán)境下,我們把網(wǎng)卡禁用,我們來嘗試ping 127.0.0.1

圖一:網(wǎng)卡禁用

圖二:Ping 結(jié)果

通過這個簡單實驗驗證我們上面的結(jié)論。

那么,有童鞋會問

ping 127.0.0.1會不會被防火墻的影響

我們繼續(xù)做一個實驗去驗證:

1.首先測試機開啟防火墻功能

2.我們添加127.0.0.1的地址過濾,在高級設(shè)置->入站規(guī)則里與出站規(guī)則:新建規(guī)則

3.然后DOS里ping 127.0.0.1,同時wireshark抓包本地網(wǎng)卡的包

可以發(fā)現(xiàn)還是能正常ping通,而且網(wǎng)卡上沒有127.0.0.1的數(shù)據(jù)包。

所以ping 127.0.0.1的數(shù)據(jù)包不受防火墻影響。

總結(jié):ping 127.0.0.1環(huán)回地址,

如果不能ping通過說明當(dāng)前機器的TCP/IP協(xié)議棧有問題。

Window的TCP/IP協(xié)議棧重裝步驟:

1.刪除注冊表鍵值 
 開始-運行-regedit,找到 
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock 
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock2

把這兩個刪除 。
2.重新安裝協(xié)議 
  本地連接-屬性-安裝-協(xié)議-增加-從硬盤導(dǎo)入-選擇%Windir%\inf 文件夾(一般為 C:\Windows\inf)-選擇TCP/IP協(xié)議v4 。
3.將TCP/IP協(xié)議棧恢復(fù)至初始狀態(tài) 
  管理員權(quán)限運行 cmd, netsh int ip reset C:\resetlog.txt 。其中C:\resetlog.txt為記錄日志,一定要指定。 
4.重啟;

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多