一個(gè)報(bào)文的產(chǎn)生和發(fā)送,都需要硬件和軟件的完美配合。
創(chuàng)新互聯(lián)公司是一家專(zhuān)注于成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計(jì),運(yùn)河網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:運(yùn)河等地區(qū)。運(yùn)河做網(wǎng)站價(jià)格咨詢(xún):028-86922220
硬件層面接收到報(bào)文之后,做一系列的初始化操作,之后驅(qū)動(dòng)才開(kāi)始把一個(gè)封包封裝為skb。
當(dāng)然這是在x86架構(gòu)下,如果是在cavium架構(gòu)下,封包是wqe形式存在。
不管是skb還是wqe,都僅僅是一種手段,一種達(dá)到完成報(bào)文傳輸所采用的一種解決方案,一種方法而已。
或許處理方案的具體實(shí)現(xiàn)細(xì)節(jié)差別萬(wàn)千,但是基本的原理,都是殊途同歸,萬(wàn)變不離其宗。
skb的產(chǎn)生,讓Linux協(xié)議棧旅程的開(kāi)啟,具備了最基本的條件,接下來(lái)的協(xié)議棧之旅,才會(huì)更加精彩。
寫(xiě)作本文的原因是現(xiàn)在本機(jī)網(wǎng)絡(luò) IO 應(yīng)用非常廣。
在 php 中 一般 nginx 和 php-fpm 是通過(guò) 127.0.0.1 來(lái)進(jìn)行通信的;
在微服務(wù)中,由于 side car 模式的應(yīng)用,本機(jī)網(wǎng)絡(luò)請(qǐng)求更是越來(lái)越多。
所以,如果能深度理解這個(gè)問(wèn)題在各種網(wǎng)絡(luò)通信應(yīng)用的技術(shù)實(shí)踐中將非常的有意義。
今天咱們就把 127.0.0.1 本機(jī)網(wǎng)絡(luò)通信相關(guān)問(wèn)題搞搞清楚!
為了方便討論,我把這個(gè)問(wèn)題拆分成3問(wèn):
1)127.0.0.1 本機(jī)網(wǎng)絡(luò) IO 需要經(jīng)過(guò)網(wǎng)卡嗎?
2)和外網(wǎng)網(wǎng)絡(luò)通信相比,在內(nèi)核收發(fā)流程上有啥差別?
3)使用 127.0.0.1 能比 192.168.x.x 更快嗎?
在上面這幅圖中,我們看到用戶(hù)數(shù)據(jù)被拷貝到內(nèi)核態(tài),然后經(jīng)過(guò)協(xié)議棧處理后進(jìn)入到了 RingBuffer 中。隨后網(wǎng)卡驅(qū)動(dòng)真正將數(shù)據(jù)發(fā)送了出去。當(dāng)發(fā)送完成的時(shí)候,是通過(guò)硬中斷來(lái)通知 CPU,然后清理 RingBuffer。
當(dāng)數(shù)據(jù)包到達(dá)另外一臺(tái)機(jī)器的時(shí)候,Linux 數(shù)據(jù)包的接收過(guò)程開(kāi)始了。
當(dāng)網(wǎng)卡收到數(shù)據(jù)以后,CPU發(fā)起一個(gè)中斷,以通知 CPU 有數(shù)據(jù)到達(dá)。
當(dāng)CPU收到中斷請(qǐng)求后,會(huì)去調(diào)用網(wǎng)絡(luò)驅(qū)動(dòng)注冊(cè)的中斷處理函數(shù),觸發(fā)軟中斷。
ksoftirqd 檢測(cè)到有軟中斷請(qǐng)求到達(dá),開(kāi)始輪詢(xún)收包,收到后交由各級(jí)協(xié)議棧處理。
當(dāng)協(xié)議棧處理完并把數(shù)據(jù)放到接收隊(duì)列的之后,喚醒用戶(hù)進(jìn)程(假設(shè)是阻塞方式)。
關(guān)于跨機(jī)網(wǎng)絡(luò)通信的理解,可以通俗地用下面這張圖來(lái)總結(jié)一下:
前面,我們看到了跨機(jī)時(shí)整個(gè)網(wǎng)絡(luò)數(shù)據(jù)的發(fā)送過(guò)程 。
在本機(jī)網(wǎng)絡(luò) IO 的過(guò)程中,流程會(huì)有一些差別。
為了突出重點(diǎn),本節(jié)將不再介紹整體流程,而是只介紹和跨機(jī)邏輯不同的地方。
有差異的地方總共有兩個(gè),分別是路由和驅(qū)動(dòng)程序。
對(duì)于本機(jī)網(wǎng)絡(luò) IO 來(lái)說(shuō),特殊之處在于在 local 路由表中就能找到路由項(xiàng),對(duì)應(yīng)的設(shè)備都將使用 loopback 網(wǎng)卡,也就是我們常見(jiàn)的 lO。
從上述結(jié)果可以看出,對(duì)于目的是 127.0.0.1 的路由在 local 路由表中就能夠找到了。
對(duì)于是本機(jī)的網(wǎng)絡(luò)請(qǐng)求,設(shè)備將全部都使用 lo 虛擬網(wǎng)卡,接下來(lái)的網(wǎng)絡(luò)層仍然和跨機(jī)網(wǎng)絡(luò) IO 一樣。
本機(jī)網(wǎng)絡(luò) IO 需要進(jìn)行 IP 分片嗎?
因?yàn)楹驼5木W(wǎng)絡(luò)層處理過(guò)程一樣,如果 skb 大于 MTU 的話(huà),仍然會(huì)進(jìn)行分片。
只不過(guò) lo 的 MTU 比 Ethernet 要大很多。
通過(guò) ifconfig 命令就可以查到,普通網(wǎng)卡一般為 1500,而 lO 虛擬接口能有 65535。
為什么我把“驅(qū)動(dòng)”加個(gè)引號(hào)呢,因?yàn)?loopback 是一個(gè)純軟件性質(zhì)的虛擬接口,并沒(méi)有真正意義上的驅(qū)動(dòng)。
在鄰居子系統(tǒng)函數(shù)中經(jīng)過(guò)處理,進(jìn)入到網(wǎng)絡(luò)設(shè)備子系統(tǒng),只有觸發(fā)完軟中斷,發(fā)送過(guò)程就算是完成了。
在跨機(jī)的網(wǎng)絡(luò)包的接收過(guò)程中,需要經(jīng)過(guò)硬中斷,然后才能觸發(fā)軟中斷。
而在本機(jī)的網(wǎng)絡(luò) IO 過(guò)程中,由于并不真的過(guò)網(wǎng)卡,所以網(wǎng)卡實(shí)際傳輸,硬中斷就都省去了。直接從軟中斷開(kāi)始,送進(jìn)協(xié)議棧。
網(wǎng)絡(luò)再往后依次是傳輸層,最后喚醒用戶(hù)進(jìn)程,這里就不多展開(kāi)了。
我們來(lái)總結(jié)一下本機(jī)網(wǎng)絡(luò)通信的內(nèi)核執(zhí)行流程:
回想下跨機(jī)網(wǎng)絡(luò) IO 的流程:
通過(guò)本文的敘述,我們確定地得出結(jié)論,不需要經(jīng)過(guò)網(wǎng)卡。即使了把網(wǎng)卡拔了本機(jī)網(wǎng)絡(luò)是否還可以正常使用的。
總的來(lái)說(shuō),本機(jī)網(wǎng)絡(luò) IO 和跨機(jī) IO 比較起來(lái),確實(shí)是節(jié)約了一些開(kāi)銷(xiāo)。發(fā)送數(shù)據(jù)不需要進(jìn) RingBuffer 的驅(qū)動(dòng)隊(duì)列,直接把 skb 傳給接收協(xié)議棧(經(jīng)過(guò)軟中斷)。
但是在內(nèi)核其它組件上可是一點(diǎn)都沒(méi)少:系統(tǒng)調(diào)用、協(xié)議棧(傳輸層、網(wǎng)絡(luò)層等)、網(wǎng)絡(luò)設(shè)備子系統(tǒng)、鄰居子系統(tǒng)整個(gè)走了一個(gè)遍。連“驅(qū)動(dòng)”程序都走了(雖然對(duì)于回環(huán)設(shè)備來(lái)說(shuō)只是一個(gè)純軟件的虛擬出來(lái)的東東)。所以即使是本機(jī)網(wǎng)絡(luò) IO,也別誤以為沒(méi)啥開(kāi)銷(xiāo)。
先說(shuō)結(jié)論:我認(rèn)為這兩種使用方法在性能上沒(méi)有啥差別。
我覺(jué)得有相當(dāng)大一部分人都會(huì)認(rèn)為訪(fǎng)問(wèn)本機(jī)server 的話(huà),用 127.0.0.1 更快。原因是直覺(jué)上認(rèn)為訪(fǎng)問(wèn) IP 就會(huì)經(jīng)過(guò)網(wǎng)卡。
其實(shí)內(nèi)核知道本機(jī)上所有的 IP,只要發(fā)現(xiàn)目的地址是本機(jī) IP 就可以全走 loopback 回環(huán)設(shè)備了。
本機(jī)其它 IP 和 127.0.0.1 一樣,也是不用過(guò)物理網(wǎng)卡的,所以訪(fǎng)問(wèn)它們性能開(kāi)銷(xiāo)基本一樣!
How SKBs work - Linux kernel
一篇解讀Linux網(wǎng)絡(luò)協(xié)議棧
你真的了解127.0.0.1和0.0.0.0的區(qū)別?
深入操作系統(tǒng),徹底搞懂127.0.0.1本機(jī)網(wǎng)絡(luò)通信
一、查看網(wǎng)絡(luò)配置
確保網(wǎng)絡(luò)配置的正確性及網(wǎng)絡(luò)連接的暢通是Linux系統(tǒng)作為服務(wù)器應(yīng)用的基礎(chǔ),查看及測(cè)試網(wǎng)絡(luò)配置是管理Linux網(wǎng)絡(luò)服務(wù)的第一步。
1.ifconfig——查看網(wǎng)絡(luò)配置
1) 查看所有活動(dòng)網(wǎng)絡(luò)接口的信息
執(zhí)行 ifconfig 或ip addr或ip a命令,都可以顯示當(dāng)前主機(jī)中已啟用(活動(dòng))的網(wǎng)絡(luò)接口信息。、
2) 查看指定網(wǎng)絡(luò)接口信息
格式:ifconfig 網(wǎng)絡(luò)接口名
可以通過(guò)TX、RX等信息了解到通過(guò)該網(wǎng)絡(luò)接口發(fā)送和接收的數(shù)據(jù)包個(gè)數(shù),流量等跟多屬性。
2.hostname命令
在Linux系統(tǒng)中,相當(dāng)一部分網(wǎng)絡(luò)服務(wù)都會(huì)通過(guò)主機(jī)名來(lái)識(shí)別本機(jī),如果主機(jī)名配置不當(dāng),可能會(huì)導(dǎo)致程序功能出現(xiàn)故障。
1) 查看主機(jī)名
使用hostname命令就可以查看當(dāng)前主機(jī)的主機(jī)名,不添加任何選項(xiàng)參數(shù)。
2) 臨時(shí)更改主機(jī)名
hostname NewName
注:這種方法只是臨時(shí)的更改主機(jī)名,重啟后將失效。
3) 永久更改主機(jī)名
a. 修改配置文件
RHEL6和7的配置文件存放路徑不相同,修改配置文件中的主機(jī)名,重啟就可永久更改主機(jī)名。
RHEL6主機(jī)名配置文件路徑為:/etc/sysconfig/network
RHEL7主機(jī)名配置文件路徑為:/etc/hostname
示例
b. 使用命令修改(這種方法只適用于RHEL7或者CentOS7之后)
命令格式:
使用該命令更改后,更改后的主機(jī)名就自動(dòng)寫(xiě)入了配置文件中,所以可以永久更改主機(jī)名,其實(shí)就是修改了配置文件。
3.route命令
直接執(zhí)行route命令可以查看當(dāng)前主機(jī)中的路由表信息,若結(jié)合“-n”選項(xiàng)使用,可以將路由記錄中的地址顯示為數(shù)字形式,這可以跳過(guò)解析主機(jī)名的過(guò)程,在路由表?xiàng)l目較多的情況下能夠加快執(zhí)行速度。
Destination列對(duì)應(yīng)的是目標(biāo)網(wǎng)段的地址,Gateway列對(duì)應(yīng)的是嚇一跳路由器的地址,Iface列對(duì)應(yīng)的是發(fā)送數(shù)據(jù)的網(wǎng)絡(luò)接口。當(dāng)目標(biāo)網(wǎng)段為“default”是,表示此行是默認(rèn)網(wǎng)關(guān)記錄,當(dāng)嚇一跳為“*”是,表示目標(biāo)網(wǎng)段是與本機(jī)直接相連的。
4.netstat命令——查看系統(tǒng)的網(wǎng)絡(luò)連接狀態(tài)等
netstat命令是了解網(wǎng)絡(luò)狀態(tài)及排除網(wǎng)絡(luò)服務(wù)故障的有效工具。
常用選項(xiàng):
-a:顯示所有活動(dòng)連接(包括監(jiān)聽(tīng)、非監(jiān)聽(tīng)狀態(tài)的服務(wù)端口)
-n:以數(shù)字形式顯示
-p:顯示相關(guān)的進(jìn)程信息
-t:查看 TCP 協(xié)議相關(guān)信息
-u:查看UDP協(xié)議相關(guān)信息
-r:顯示路由表信息
-l:顯示處于監(jiān)聽(tīng)(listening)狀態(tài)的網(wǎng)絡(luò)連接及端口信息
通常使用“-anput”組合選項(xiàng),結(jié)合管道使用“grep”命令,來(lái)查看一些服務(wù)的端口是否開(kāi)啟。
示例:
Tcp21為ftp服務(wù)的端口
二、測(cè)試網(wǎng)絡(luò)連接
1.ping命令——測(cè)試網(wǎng)絡(luò)連通性
常用選項(xiàng):
-c完成次數(shù):設(shè)置完成要求回應(yīng)的次數(shù)
-i間隔秒數(shù):指定收發(fā)信息的間隔時(shí)間
-q:不顯示指令執(zhí)行過(guò)程,開(kāi)頭和結(jié)尾的相關(guān)信息除外
-s數(shù)據(jù)包大?。涸O(shè)置數(shù)據(jù)包的大小
-t存活數(shù)值:設(shè)置存活數(shù)值TTL的大小
-v:詳細(xì)顯示指令的執(zhí)行過(guò)程
若返回“Destination Host Unreachable”的反饋信息,則表示目標(biāo)主機(jī)不可達(dá),可能目標(biāo)地址不存在或主機(jī)已關(guān)閉;返回“Network is unreachable”的反饋信息,則表示沒(méi)有可用的路由記錄(如默認(rèn)網(wǎng)關(guān)),無(wú)法到達(dá)目標(biāo)主機(jī)所在的網(wǎng)絡(luò);返回“Request timeout”的反饋信息,表示與目標(biāo)主機(jī)間的連接超時(shí)(數(shù)據(jù)包緩慢或丟失),若有嚴(yán)格的防火墻限制,也可能返回此信息。
2.traceroute命令——跟蹤數(shù)據(jù)包的路由途徑
使用traceroute命令可以測(cè)試從當(dāng)前主機(jī)到目的主機(jī)之間經(jīng)過(guò)的網(wǎng)絡(luò)節(jié)點(diǎn),并顯示各中間結(jié)點(diǎn)的連接狀態(tài)(響應(yīng)時(shí)間)。對(duì)于無(wú)法響應(yīng)的節(jié)點(diǎn),連接狀態(tài)將顯示為“*”。
示例:traceroute IP_ADDR
在網(wǎng)絡(luò)測(cè)試與排錯(cuò)的過(guò)程中,通常會(huì)先使用ping命令測(cè)試與主機(jī)的網(wǎng)絡(luò)連接,如果發(fā)現(xiàn)網(wǎng)絡(luò)有故障,再使用traceroute命令跟蹤查看是在哪個(gè)中間結(jié)點(diǎn)存在故障。
3.nslookup命令——測(cè)試DNS域名解析
nslookup是用來(lái)測(cè)試(DNS)域名解析的專(zhuān)用工具。(DNS服務(wù)后面再詳細(xì)講解,通俗的說(shuō)就是將域名解析為ip地址的一個(gè)服務(wù))
示例:nslookup
若成功反饋要查詢(xún)域名的IP地址,則表示域名解析沒(méi)有問(wèn)題;若出現(xiàn)“...... no servers could be reached”的信息,表示不能連接到指定的DNS服務(wù)器;若出現(xiàn)“...... cant’t find xxx.yyy.zzz:NXDOMAIN”的信息,表示要查詢(xún)的域名不存在。
三、設(shè)置網(wǎng)絡(luò)地址參數(shù)
設(shè)置網(wǎng)絡(luò)參數(shù)的方法:
? 臨時(shí)配置 —— 使用命令調(diào)整網(wǎng)絡(luò)參數(shù)簡(jiǎn)單、快速,可直接修改運(yùn)行中的網(wǎng)絡(luò)參數(shù)
一般只適合在調(diào)試網(wǎng)絡(luò)的過(guò)程中使用
系統(tǒng)重啟以后,所做的修改將會(huì)失效
? 永久配置 —— 通過(guò)配置文件修改網(wǎng)絡(luò)參數(shù)修改各項(xiàng)網(wǎng)絡(luò)參數(shù)的配置文件
適合對(duì)服務(wù)器設(shè)置固定參數(shù)時(shí)使用
需要重載網(wǎng)絡(luò)服務(wù)或者重啟以后才會(huì)生效
1.臨時(shí)配置——使用網(wǎng)絡(luò)配置命令(注:RHEL6中網(wǎng)絡(luò)接口的名稱(chēng)為eth,RHEL7中為ens)
1)使用ifconfig命令修改網(wǎng)卡的地址、狀態(tài)
ifconfig命令不僅可以用于查看網(wǎng)卡配置,還可以修改網(wǎng)卡的ip地址,子網(wǎng)掩碼,也可以綁定網(wǎng)絡(luò)接口、激活或停用網(wǎng)絡(luò)接口
a. 修改網(wǎng)卡的ip地址(臨時(shí)修改)
命令格式:
示例:
b. 禁用或者重新激活網(wǎng)卡
命令格式:
示例:
c. 設(shè)置虛擬網(wǎng)絡(luò)接口(相當(dāng)于一塊網(wǎng)卡配置多個(gè)IP地址)
命令格式:
示例:
可以根據(jù)需要添加更多的虛擬接口,如“eth0:1”“eth0:2”等
2)使用route命令添加、刪除靜態(tài)路由記錄
? 刪除路由表中的默認(rèn)網(wǎng)關(guān)記錄命令格式:route del default gw IP地址
? 向路由表中添加默認(rèn)網(wǎng)關(guān)記錄命令格式:route add default gw IP地址
? 添加到指定網(wǎng)段的路由記錄命令格式:route add -net 網(wǎng)段地址 gw IP地址
? 刪除到指定網(wǎng)段的路由記錄命令格式:router del -net 網(wǎng)段地址
2.永久配置——修改網(wǎng)絡(luò)配置文件
1)網(wǎng)絡(luò)接口配置文件
網(wǎng)絡(luò)接口的配置文件默認(rèn)位于目錄“/etc/sysconfig/network-scripts/”中,文件名格式為:“ifcfg-XXX”,其中“XXX”是網(wǎng)絡(luò)接口的名稱(chēng)。例如:RHEL6中網(wǎng)卡eth0的配置文件是“ifcfg-eth0”,而RHEL7中網(wǎng)卡ens33的配置文件是“ifcfg-ens33”。
在網(wǎng)卡的配置文件中,可以看到靜態(tài)IP地址的部分內(nèi)容如下圖所示:
上述個(gè)配置項(xiàng)的含義及作用:(圖示為RHEL6中的配置文件,7中也差不多,換湯不換藥,修改的都差不多)
? DEVICE:設(shè)置網(wǎng)絡(luò)接口的名稱(chēng)ONBOOT:設(shè)置網(wǎng)絡(luò)接口是否在Linux系統(tǒng)啟動(dòng)時(shí)激活BOOTPROTO:設(shè)置網(wǎng)絡(luò)接口的配置方式,值為static時(shí)表示使用靜態(tài)ip地址,為dhcp時(shí)表示通過(guò)dhcp的方式動(dòng)態(tài)獲取ip地址IPADDR:設(shè)置網(wǎng)絡(luò)接口的ip地址NETMASK:設(shè)置網(wǎng)絡(luò)接口的子網(wǎng)掩碼GATEWAY:設(shè)置網(wǎng)絡(luò)接口的默認(rèn)網(wǎng)關(guān)地址2)重啟 network 網(wǎng)絡(luò)服務(wù)
當(dāng)修改了網(wǎng)絡(luò)接口的配置文件以后,若要使新的配置生效,可以重啟network服務(wù)或者重啟主機(jī)或者禁用、啟用網(wǎng)絡(luò)接口。
示例:
? RHEL6中重啟network服務(wù):service network restartRHEL7中重啟network服務(wù):systemctl restart network注:這是我在做實(shí)驗(yàn)時(shí)候的一個(gè)經(jīng)驗(yàn):RHEL6修改完網(wǎng)卡配置重啟后,ip地址仍然沒(méi)有改過(guò)來(lái),這時(shí)候我們經(jīng)常會(huì)刪除“/etc/udev/rules.d/70-persistent-net.rules”這個(gè)文件。RHEL7不用管,RHEL7特別好改,RHEL6改的時(shí)候特別難受。(個(gè)人提示,不求認(rèn)同)
3)域名解析配置文件
a.指定為本機(jī)提供DNS解析的服務(wù)器地址
/etc/resolv.conf文件中記錄了本機(jī)默認(rèn)使用的DNS服務(wù)器的地址信息,對(duì)該文件所做的修改將會(huì)立刻生效。Linux系統(tǒng)中最多可以指定3個(gè)(第3個(gè)以后將被忽略)不同的DNS服務(wù)器地址,優(yōu)先使用第1個(gè)DNS服務(wù)器。
示例:
其中“search localdomain”用來(lái)設(shè)置默認(rèn)的搜索域(域名后綴)。例如,當(dāng)訪(fǎng)問(wèn)主機(jī)“l(fā)ocalhost”時(shí),就相當(dāng)于訪(fǎng)問(wèn)“l(fā)ocalhost.localdomain”。
b.本地主機(jī)映射文件
/etc/hosts文件中記錄著一份主機(jī)名與ip地址的映射關(guān)系表,一般用來(lái)保存經(jīng)常訪(fǎng)問(wèn)的主機(jī)信息。當(dāng)訪(fǎng)問(wèn)一個(gè)未知的域名時(shí),先查找該文件中是否有相應(yīng)的映射記錄,如果找不到在去向DNS服務(wù)器查詢(xún)。
hosts 文件和 DNS 服務(wù)器的比較
? 默認(rèn)情況下,系統(tǒng)首先從 hosts 文件查找解析記錄hosts 文件只對(duì)當(dāng)前的主機(jī)有效hosts 文件可減少 DNS 查詢(xún)過(guò)程,從而加快訪(fǎng)問(wèn)速度
Linux常用基本命令主要包括目錄操作命令、文件操作命令、文件查看命令、磁盤(pán)管理命令、用戶(hù)管理命令、系統(tǒng)管理命令等。
目錄操作命令:cd、ls、mkdir、pwd、rmdir。
文件操作命令:cp、mv、touch、rm、grep、find、chmod、chown、chgrp、tar、split、gzip、tee、touch、unzip、zip、unrar、scp。
文件查看命令:cat、head、tail、more、nl、diff。
用戶(hù)管理命令:useradd、usermod、userdel、passwd、su、groupadd、groupdel。
網(wǎng)絡(luò)通信命令:netstat、route、ftp、sftp、ping、scp、telnet。
系統(tǒng)管理命令:who、uname、top、ps、kill、ifconfig、free、df、du、time、shutdown、reboot、man、last、halt、date、crontab、getconf。
磁盤(pán)管理命令:fdisk、mount、umount、sync。
在 Linux 中,可以使用 'ping命令會(huì)向指定的主機(jī)發(fā)送 ICMP 回顯請(qǐng)求,并接收響應(yīng)。如果主機(jī)響應(yīng)了請(qǐng)求,則表示與該主機(jī)之間的網(wǎng)絡(luò)連通性良好。
例如,要檢測(cè)主機(jī) 192.168.1.1 的網(wǎng)絡(luò)連通性,可以使用以下命令:
運(yùn)行該命令后,系統(tǒng)會(huì)向 192.168.1.1 發(fā)送 ICMP 回顯請(qǐng)求,并在接收到響應(yīng)后打印輸出信息。如果網(wǎng)絡(luò)連通性良好,則會(huì)看到類(lèi)似于以下信息的輸出:
如果網(wǎng)絡(luò)連通性不佳,則會(huì)看到類(lèi)似于以下信息的輸出: