一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ping命令的作用和原理是什么?

華為開發(fā)者社區(qū) ? 來源:華為云社區(qū) ? 作者:云小萌 ? 2021-03-18 17:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在測試和部署網(wǎng)絡(luò)通信應(yīng)用時,我們經(jīng)常會遇到網(wǎng)絡(luò)不通的問題。一般都會想到ping一下。那么ping命令的作用和原理到底是什么呢?

ping 命令是基于 ICMP 協(xié)議來工作的,要明白ping, 先了解下ICMP協(xié)議吧~

ICMP協(xié)議

ICMP全稱為互聯(lián)網(wǎng)控制報文協(xié)議(Internet Control Message Protocol)。那么具體是怎么“控制”的呢?

在復(fù)雜的網(wǎng)絡(luò)傳輸環(huán)境里,數(shù)據(jù)包常常會遇到各種問題導(dǎo)致傳輸失敗。網(wǎng)絡(luò)層的IP協(xié)議是一種無連接的,不可靠的數(shù)據(jù)包協(xié)議,它并不能保證數(shù)據(jù)一定被送達(dá),因此,我們需要其它的協(xié)議,在數(shù)據(jù)包傳發(fā)送異常時,能將異常信息傳回來,這樣才可以調(diào)整傳輸策略,以此來控制整個局面。

ICMP協(xié)議格式

ICMP 協(xié)議是通過IP協(xié)議來發(fā)送的,報文封裝在 IP 包里面。如下:

ICMP報文格式:

ICMP數(shù)據(jù)包由8bit的類型字段和8bit的代碼字段以及16bit的校驗字段再加上選項數(shù)據(jù)組成。ICMP報文大致分為兩類:查詢報文類型和差錯報文類型。

查詢報文類型

查詢報文主要應(yīng)用于ping查詢、子網(wǎng)掩碼查詢、時間戳查詢等。ping命令其實就是對ICMP協(xié)議查詢報文類型的使用。

主機(jī)A ping 主機(jī)B時,ping命令在主機(jī)A構(gòu)建ICMP請求數(shù)據(jù)包時,ICMP的類型字段為8(回送請求),當(dāng)主機(jī)B構(gòu)建ICMP請求數(shù)據(jù)包時,ICMP的類型字段為0(回送應(yīng)答)。如果主機(jī)A在一定時間內(nèi)收到了主機(jī)B的應(yīng)答,則表明兩臺主機(jī)之間網(wǎng)絡(luò)是可達(dá)的。

差錯報文類型

差錯報文主要產(chǎn)生于數(shù)據(jù)傳送發(fā)送錯誤的時候,包括:目標(biāo)不可達(dá)(網(wǎng)絡(luò)不可達(dá)、主機(jī)不可達(dá)、協(xié)議不可達(dá)、端口不可達(dá)、禁止分片等)、超時、參數(shù)問題、重定向(網(wǎng)絡(luò)重定向、主機(jī)重定向等)等。

IP 路由器無法將 IP 數(shù)據(jù)包發(fā)送給目標(biāo)地址時,會給發(fā)送端主機(jī)返回一個目標(biāo)不可達(dá)的 ICMP 消息,并在這個消息中顯示不可達(dá)的具體原因,原因記錄在 ICMP 包頭的代碼字段。

ping命令的工作過程

舉一個例子來描述「ping」命令的工作過程:

假設(shè)有兩個主機(jī),主機(jī)A(192.168.0.1)和主機(jī)B(192.168.0.2),現(xiàn)在我們要監(jiān)測主機(jī)A和主機(jī)B之間網(wǎng)絡(luò)是否可達(dá),在主機(jī)A上輸入命令:ping 192.168.0.2

1.發(fā)送端主機(jī)構(gòu)建ICMP請求數(shù)據(jù)包。ping命令會在主機(jī)A上構(gòu)建一個 ICMP的請求數(shù)據(jù)包。數(shù)據(jù)包包含多個字段,主要的有類型和序號。類型:在請求數(shù)據(jù)包中,類型字段為8;序號:主要用于區(qū)分連續(xù) ping 的時候發(fā)出的多個數(shù)據(jù)包。

每發(fā)出一個請求數(shù)據(jù)包,序號會自動加 1。為了能夠計算往返時間 RTT,它會在報文的數(shù)據(jù)部分插入發(fā)送時間。

2.IP層構(gòu)建IP數(shù)據(jù)包。ICMP協(xié)議會將這個數(shù)據(jù)包以及目標(biāo)IP(192.168.0.2)等信息一同交給IP層協(xié)議。IP層協(xié)議得到這些信息后,將源地址(即本機(jī)IP)、目標(biāo)地址(即目標(biāo)IP:192.168.0.2)、再加上一些其它的控制信息,構(gòu)建成一個IP數(shù)據(jù)包。

3.加入MAC地址。需要通過ARP映射表找出目標(biāo)IP(192.168.0.2)所對應(yīng)的MAC地址。當(dāng)拿到了目標(biāo)主機(jī)的MAC地址和本機(jī)MAC后,一并交給數(shù)據(jù)鏈路層,組裝成一個數(shù)據(jù)幀,依據(jù)以太網(wǎng)的介質(zhì)訪問規(guī)則,將它們傳送出出去。

主機(jī)B收到數(shù)據(jù)幀后,進(jìn)行如下步驟:

1.檢查MAC地址,丟棄或接收,提取IP數(shù)據(jù)包。當(dāng)主機(jī)B收到這個數(shù)據(jù)幀之后,會首先檢查它的目標(biāo)MAC地址是不是本機(jī),如果是就接收下來處理,接收之后會檢查這個數(shù)據(jù)幀,將數(shù)據(jù)幀中的IP數(shù)據(jù)包取出來,交給本機(jī)的IP層協(xié)議。

2.IP層檢查IP。IP層協(xié)議檢查完之后,再將ICMP數(shù)據(jù)包取出來交給ICMP協(xié)議處理。

3.構(gòu)建ICMP應(yīng)答包。應(yīng)答包的類型字段為 0,序號為接收到的請求數(shù)據(jù)包中的序號。

4.應(yīng)答數(shù)據(jù)包回發(fā)給主機(jī)A。

在一定的時間內(nèi),如果主機(jī)A收到了應(yīng)答包,則說明它與主機(jī)B之間網(wǎng)絡(luò)可達(dá),如果沒有收到,則說明網(wǎng)絡(luò)不可達(dá)。除了監(jiān)測是否可達(dá)以外,還可以利用應(yīng)答時間和發(fā)起時間之間的差值,計算出數(shù)據(jù)包的延遲耗時。

課堂練習(xí)

關(guān)于ICMP協(xié)議與ping命令如何工作我們已經(jīng)了解了,那對于我們在云上搭建的應(yīng)用,如何測試彈性云服務(wù)器間的通信狀況呢?

回憶一下,彈性云服務(wù)器數(shù)據(jù)流量的進(jìn)出是需要遵守安全組規(guī)則的,沒有安全組規(guī)則的允許,誰都不能訪問。

那我們就可以在安全組中添加放通ICMP協(xié)議的安全組規(guī)則,允許其他云服務(wù)器通過 ICMP 協(xié)議訪問該云服務(wù)器,進(jìn)而實現(xiàn)通過ping命令來測試彈性云服務(wù)器間的通信狀況了。

安全組規(guī)則配置如下:

原文標(biāo)題:爆文速遞| 網(wǎng)絡(luò)好不好,ping一下就知道

文章出處:【微信公眾號:華為開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6206

    瀏覽量

    137786
  • Ping
    +關(guān)注

    關(guān)注

    0

    文章

    69

    瀏覽量

    16441

原文標(biāo)題:爆文速遞| 網(wǎng)絡(luò)好不好,ping一下就知道

文章出處:【微信號:Huawei_Developer,微信公眾號:華為開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    詳解Linux網(wǎng)絡(luò)管理中的關(guān)鍵命令

    本文檔概述了網(wǎng)絡(luò)管理中的關(guān)鍵命令,如ifconfig配置網(wǎng)絡(luò)接口,ip管理路由,ping測試連通性,以及nmap進(jìn)行安全掃描。還介紹了nslookup和dig用于域名解析,tcpdump抓包分析,以及arp操作和nmap的深入應(yīng)用。
    的頭像 發(fā)表于 07-04 11:37 ?170次閱讀
    詳解Linux網(wǎng)絡(luò)管理中的關(guān)鍵<b class='flag-5'>命令</b>

    使用openmv示例工程連接得上熱點,但是ping不到熱點ip,也ping不到baidu.com,怎么解決?

    使用openmv示例工程連接得上熱點,但是ping不到熱點ip,也ping不到baidu.com,請問應(yīng)該怎么解決
    發(fā)表于 06-13 07:31

    飛凌嵌入式ElfBoard ELF 1板卡-uboot常用命令之網(wǎng)絡(luò)命令

    網(wǎng)絡(luò)通信狀態(tài),設(shè)置好開發(fā)板IP和PC機(jī)IP之后,使用網(wǎng)線連接好開發(fā)板和PC機(jī),使用ping命令:=> ping 192.168.0.102Using FEC1 devicehost
    發(fā)表于 05-23 09:33

    為UART、MCXA142實現(xiàn)ISP通信的主機(jī)端,發(fā)送Ping數(shù)據(jù)包并收到預(yù)期的響應(yīng),發(fā)送和接收數(shù)據(jù)包的典型順序是什么?

    我想為 UART、MCXA142 實現(xiàn) ISP 通信的主機(jī)端。我發(fā)送 Ping 數(shù)據(jù)包并收到預(yù)期的響應(yīng)。發(fā)送和接收數(shù)據(jù)包的典型順序是什么? 此刻,我的照片是這樣的: 1. 發(fā)送 Ping 2. 接收 Ping 響應(yīng) 3. 在成
    發(fā)表于 04-03 08:05

    交換機(jī)常用配置命令

    在現(xiàn)代網(wǎng)絡(luò)通信中,交換機(jī)作為局域網(wǎng)(LAN)的核心設(shè)備,其配置和管理對于網(wǎng)絡(luò)的性能和穩(wěn)定性至關(guān)重要。本文旨在深入探討交換機(jī)的常用配置命令,從基本命令到高級配置,全面解析這些命令的用法、作用
    的頭像 發(fā)表于 02-02 16:56 ?2193次閱讀

    常用linux命令

    使用command A | command B | command C命令,將A命令產(chǎn)生的標(biāo)準(zhǔn)輸出作為B命令的標(biāo)準(zhǔn)輸入(注意只能接收前一個命令的標(biāo)準(zhǔn)輸出)。
    的頭像 發(fā)表于 01-20 14:26 ?401次閱讀

    服務(wù)器ping不通但是http能請求成功是什么原因

    平時,我們想要知道,自己的機(jī)器到目的機(jī)器之間,網(wǎng)絡(luò)通不通,一般會執(zhí)行ping命令
    的頭像 發(fā)表于 10-23 09:23 ?1704次閱讀
    服務(wù)器<b class='flag-5'>ping</b>不通但是http能請求成功是什么原因

    局域網(wǎng)ping不通的原因有哪些

    使用 ping 命令測試兩臺計算機(jī)之間的連接時,如果 ping 不通,可能存在多種原因。以下是一些可能導(dǎo)致局域網(wǎng) ping 不通的原因: 1. 物理連接問題 物理連接問題通常是最容易發(fā)
    的頭像 發(fā)表于 10-14 15:03 ?7817次閱讀

    新加坡服務(wù)器的速度測試方法有哪些

    測試新加坡服務(wù)器的速度和性能是確保服務(wù)器能夠滿足業(yè)務(wù)需求的關(guān)鍵步驟。以下是一些常用的方法和工具: Ping測試: Ping命令是一種基本的網(wǎng)絡(luò)診斷工具,用于測試與服務(wù)器的連接延遲和丟包率。在
    的頭像 發(fā)表于 10-14 14:55 ?519次閱讀

    常見的shell命令之網(wǎng)絡(luò)相關(guān)命令

    netmask 255.255.255.0elf@ubuntu:~$ sudo ifconfig ens33 hw ether 22:22:22:22:22:223、ping網(wǎng)絡(luò)通斷檢查命令命令
    發(fā)表于 08-20 09:50

    恒訊科技分析:如何測試海外靜態(tài)IP服務(wù)的穩(wěn)定性和速度?

    測試海外靜態(tài)IP服務(wù)的穩(wěn)定性和速度可以通過以下步驟進(jìn)行: 1、選擇測試工具:使用網(wǎng)絡(luò)測試工具,如ping命令、traceroute(或 racert)、網(wǎng)絡(luò)速度測試網(wǎng)站(例如
    的頭像 發(fā)表于 08-14 14:58 ?676次閱讀

    使用Python進(jìn)行Ping測試

    在網(wǎng)絡(luò)工程中,Ping測試是一種常用的網(wǎng)絡(luò)診斷工具,用于檢查網(wǎng)絡(luò)連接的可達(dá)性和響應(yīng)時間。Ping測試通過向目標(biāo)主機(jī)發(fā)送ICMP(Internet Control Message Protocol
    的頭像 發(fā)表于 08-12 17:56 ?1004次閱讀
    使用Python進(jìn)行<b class='flag-5'>Ping</b>測試

    Ping測試在不同網(wǎng)段通信中的準(zhǔn)確性

    不同網(wǎng)段之間的通信順暢與否能影響網(wǎng)絡(luò)的整體性能和業(yè)務(wù)的正常運(yùn)行。Ping 測試作為一種常用的網(wǎng)絡(luò)診斷工具,被廣泛用于檢測網(wǎng)絡(luò)連接的可達(dá)性。然而,在沒有三層交換路由功能的網(wǎng)絡(luò)中,跨網(wǎng)段的 Ping 測試結(jié)果的不穩(wěn)定給網(wǎng)絡(luò)故障排查和性能評估帶來了一定的挑戰(zhàn)。
    的頭像 發(fā)表于 07-31 16:15 ?679次閱讀

    如何使用DTU Ping功能?

    DTUToolInstaller_V1.1.36 以后的版本支持Ping功能 配置工具鏈接DTU之后,首先確認(rèn)DTU是否撥號成功、獲得IP地址。之后撥號成功ping服務(wù)器地址才意義。有肯能服務(wù)器是禁ping的,也可以
    發(fā)表于 07-25 06:13

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-uboot常用命令-網(wǎng)絡(luò)命令

    命令主要用于測試網(wǎng)絡(luò)通信狀態(tài),設(shè)置好開發(fā)板IP和PC機(jī)IP之后,使用網(wǎng)線連接好開發(fā)板和PC機(jī),使用ping命令: => ping 192.168.0.102 Using FEC
    發(fā)表于 07-19 16:24