日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网络好不好,ping一下就知道

發布時間:2025/3/20 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络好不好,ping一下就知道 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

摘要?/Abstract/

在測試和部署網絡通信應用時,我們經常會遇到網絡不通的問題,一般都會想到ping一下。本文將帶您了解ping命令的作用和原理~

?

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

?

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

?

01

?

ICMP協議

?

ICMP全稱為互聯網控制報文協議(Internet Control Message Protocol)。

?

那么具體是怎么“控制”的呢?

?

在復雜的網絡傳輸環境里,數據包常常會遇到各種問題導致傳輸失敗。網絡層的IP協議是一種無連接的,不可靠的數據包協議,它并不能保證數據一定被送達,因此,我們需要其它的協議,在數據包傳發送異常時,能將異常信息傳回來,這樣才可以調整傳輸策略,以此來控制整個局面。

?

A

ICMP協議格式

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

?

B

ICMP報文格式:

ICMP數據包由8bit的類型字段和8bit的代碼字段以及16bit的校驗字段再加上選項數據組成。

?

ICMP報文大致分為兩類:查詢報文類型和差錯報文類型。

?

查詢報文類型

查詢報文主要應用于ping查詢、子網掩碼查詢、時間戳查詢等。

?

ping命令其實就是對ICMP協議查詢報文類型的使用。

?

主機A ping 主機B時,ping命令在主機A構建ICMP請求數據包時,ICMP的類型字段為8(回送請求),當主機B構建ICMP請求數據包時,ICMP的類型字段為0(回送應答)。如果主機A在一定時間內收到了主機B的應答,則表明兩臺主機之間網絡是可達的。

?

差錯報文類型

差錯報文主要產生于數據傳送發送錯誤的時候,包括:目標不可達(網絡不可達、主機不可達、協議不可達、端口不可達、禁止分片等)、超時、參數問題、重定向(網絡重定向、主機重定向等)等。

?

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

?

02

?

ping命令的工作過程

?

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

?

假設有兩個主機,主機A(192.168.0.1)和主機B(192.168.0.2),現在我們要監測主機A和主機B之間網絡是否可達,

?

在主機A上輸入命令:ping 192.168.0.2

?

1)發送端主機構建ICMP請求數據包。

?

ping命令會在主機A上構建一個 ICMP的請求數據包。數據包包含多個字段,主要的有類型和序號。

?

類型:在請求數據包中,類型字段為8;

?

序號:主要用于區分連續 ping 的時候發出的多個數據包。

?

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

?

2)IP層構建IP數據包。

?

ICMP協議會將這個數據包以及目標IP(192.168.0.2)等信息一同交給IP層協議。IP層協議得到這些信息后,將源地址(即本機IP)、目標地址(即目標IP:192.168.0.2)、再加上一些其它的控制信息,構建成一個IP數據包。

?

3)加入MAC地址。

?

需要通過ARP映射表找出目標IP(192.168.0.2)所對應的MAC地址。當拿到了目標主機的MAC地址和本機MAC后,一并交給數據鏈路層,組裝成一個數據幀,依據以太網的介質訪問規則,將它們傳送出出去。

?

主機B收到數據幀后,進行如下步驟:

?

檢查MAC地址,丟棄或接收,提取IP數據包。當主機B收到這個數據幀之后,會首先檢查它的目標MAC地址是不是本機,如果是就接收下來處理,接收之后會檢查這個數據幀,將數據幀中的IP數據包取出來,交給本機的IP層協議。

?

IP層檢查IP。IP層協議檢查完之后,再將ICMP數據包取出來交給ICMP協議處理。

?

構建ICMP應答包。應答包的類型字段為 0,序號為接收到的請求數據包中的序號。

?

應答數據包回發給主機A。

?

在一定的時間內,如果主機A收到了應答包,則說明它與主機B之間網絡可達,如果沒有收到,則說明網絡不可達。除了監測是否可達以外,還可以利用應答時間和發起時間之間的差值,計算出數據包的延遲耗時。

?

?

1

?

?

end?

總結

以上是生活随笔為你收集整理的网络好不好,ping一下就知道的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。