www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]當(dāng)你網(wǎng)絡(luò)不通想“ping”一下的時候,你可知道它背后的邏輯嗎?

每當(dāng)我們在調(diào)試網(wǎng)絡(luò)遇到網(wǎng)絡(luò)不通的情況時,大家都知道去 ping 一下,看一下網(wǎng)絡(luò)狀況。
但你知道「ping」命令后背的邏輯是什么嗎?知道它是如何實(shí)現(xiàn)的嗎?

下面就讓我來給大家細(xì)細(xì)講解。


一、「ping」命令的作用和原理?

簡單來說,「ping」是用來探測本機(jī)與網(wǎng)絡(luò)中另一主機(jī)之間是否可達(dá)的命令,如果兩臺主機(jī)之間ping不通,則表明這兩臺主機(jī)不能建立起連接。ping是定位網(wǎng)絡(luò)通不通的一個重要手段。

ping 命令是基于 ICMP 協(xié)議來工作的,「 ICMP 」全稱為 Internet 控制報文協(xié)議( Internet Control Message Protocol)。ping 命令會發(fā)送一份ICMP回顯請求報文給目標(biāo)主機(jī),并等待目標(biāo)主機(jī)返回ICMP回顯應(yīng)答。因?yàn)镮CMP協(xié)議會要求目標(biāo)主機(jī)在收到消息之后,必須返回ICMP應(yīng)答消息給源主機(jī),如果源主機(jī)在一定時間內(nèi)收到了目標(biāo)主機(jī)的應(yīng)答,則表明兩臺主機(jī)之間網(wǎng)絡(luò)是可達(dá)的。

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

  1. 假設(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

  2. 此時,ping命令會在主機(jī)A上構(gòu)建一個 ICMP的請求數(shù)據(jù)包(數(shù)據(jù)包里的內(nèi)容后面再詳述),然后 ICMP協(xié)議會將這個數(shù)據(jù)包以及目標(biāo)IP(192.168.0.2)等信息一同交給IP層協(xié)議。

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

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

  5. 當(dāng)主機(jī)B收到這個數(shù)據(jù)幀之后,會首先檢查它的目標(biāo)MAC地址是不是本機(jī),如果是就接收下來處理,接收之后會檢查這個數(shù)據(jù)幀,將數(shù)據(jù)幀中的IP數(shù)據(jù)包取出來,交給本機(jī)的IP層協(xié)議,然后IP層協(xié)議檢查完之后,再將ICMP數(shù)據(jù)包取出來交給ICMP協(xié)議處理,當(dāng)這一步也處理完成之后,就會構(gòu)建一個ICMP應(yīng)答數(shù)據(jù)包,回發(fā)給主機(jī)A

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

通過ping的流程可以發(fā)現(xiàn),ICMP協(xié)議是這個過程的基礎(chǔ),是非常重要的,因此下面就把ICMP協(xié)議再詳細(xì)解釋一下。

二、什么是「 ICMP 」?

我們知道,ping命令是基于ICMP協(xié)議來實(shí)現(xiàn)的。那么我們再來看下圖,就明白了ICMP協(xié)議又是通過IP協(xié)議來發(fā)送的,即ICMP報文是封裝在IP包中。

IP協(xié)議是一種無連接的,不可靠的數(shù)據(jù)包協(xié)議,它并不能保證數(shù)據(jù)一定被送達(dá),那么我們要保證數(shù)據(jù)送到就需要通過其它模塊來協(xié)助實(shí)現(xiàn),這里就引入的是ICMP協(xié)議。

當(dāng)傳送的IP數(shù)據(jù)包發(fā)送異常的時候,ICMP就會將異常信息封裝在包內(nèi),然后回傳給源主機(jī)。

將上圖再細(xì)拆一下可見:

繼續(xù)將ICMP協(xié)議模塊細(xì)拆:

由圖可知,ICMP數(shù)據(jù)包由8bit的類型字段和8bit的代碼字段以及16bit的校驗(yàn)字段再加上選項(xiàng)數(shù)據(jù)組成。

ICMP協(xié)議大致可分為兩類:

  • 查詢報文類型

  • 差錯報文類型

  1. 查詢報文類型:

查詢報文主要應(yīng)用于:ping查詢、子網(wǎng)掩碼查詢、時間戳查詢等等。

上面講到的ping命令的流程其實(shí)就對應(yīng)ICMP協(xié)議查詢報文類型的一種使用。在主機(jī)A構(gòu)建ICMP請求數(shù)據(jù)包的時候,其ICMP的類型字段中使用的是 8 (回送請求),當(dāng)主機(jī)B構(gòu)建ICMP應(yīng)答包的時候,其ICMP類型字段就使用的是 0 (回送應(yīng)答),更多類型值參考上表。

對 查詢報文類型 的理解可參考一下文章最開始講的ping流程,這里就不做贅述。

  1. 差錯報文類型:

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

差錯報文通常包含了引起錯誤的IP數(shù)據(jù)包的第一個分片的IP首部,加上該分片數(shù)據(jù)部分的前8個字節(jié)。
當(dāng)傳送IP數(shù)據(jù)包發(fā)生錯誤的時候(例如 主機(jī)不可達(dá)),ICMP協(xié)議就會把錯誤信息封包,然后傳送回源主機(jī),那么源主機(jī)就知道該怎么處理了。

那是不是只有遇到錯誤的時候才能使用 差錯報文類型 呢?也不一定。

Traceroute 就是一個例外,Traceroute是用來偵測源主機(jī)到目標(biāo)主機(jī)之間所經(jīng)過路由情況的常用工具。Traceroute 的原理就是利用ICMP的規(guī)則,制造一些錯誤的事件出來,然后根據(jù)錯誤的事件來評估網(wǎng)絡(luò)路由情況。

具體做法就是:

Traceroute會設(shè)置特殊的TTL值,來追蹤源主機(jī)和目標(biāo)主機(jī)之間的路由數(shù)。首先它給目標(biāo)主機(jī)發(fā)送一個 TTL=1 的UDP數(shù)據(jù)包,那么這個數(shù)據(jù)包一旦在路上遇到一個路由器,TTL就變成了0(TTL規(guī)則是每經(jīng)過一個路由器都會減1),因?yàn)門TL=0了,所以路由器就會把這個數(shù)據(jù)包丟掉,然后產(chǎn)生一個錯誤類型(超時)的ICMP數(shù)據(jù)包回發(fā)給源主機(jī),也就是差錯包。這個時候源主機(jī)就拿到了第一個路由節(jié)點(diǎn)的IP和相關(guān)信息了。

接著,源主機(jī)再給目標(biāo)主機(jī)發(fā)一個 TTL=2 的UDP數(shù)據(jù)包,依舊上述流程走一遍,就知道第二個路由節(jié)點(diǎn)的IP和耗時情況等信息了。

如此反復(fù)進(jìn)行,Traceroute就可以拿到從主機(jī)A到主機(jī)B之間所有路由器的信息了。

但是有個問題是,如果數(shù)據(jù)包到達(dá)了目標(biāo)主機(jī)的話,即使目標(biāo)主機(jī)接收到TTL值為1的IP數(shù)據(jù)包,它也是不會丟棄該數(shù)據(jù)包的,也不會產(chǎn)生一份超時的ICMP回發(fā)數(shù)據(jù)包的,因?yàn)閿?shù)據(jù)包已經(jīng)達(dá)到了目的地嘛。那我們應(yīng)該怎么認(rèn)定數(shù)據(jù)包是否達(dá)到了目標(biāo)主機(jī)呢?

Traceroute的方法是在源主機(jī)發(fā)送UDP數(shù)據(jù)包給目標(biāo)主機(jī)的時候,會設(shè)置一個不可能達(dá)到的目標(biāo)端口號(例如大于30000的端口號),那么當(dāng)這個數(shù)據(jù)包真的到達(dá)目標(biāo)主機(jī)的時候,目標(biāo)主機(jī)發(fā)現(xiàn)沒有對應(yīng)的端口號,因此會產(chǎn)生一份“端口不可達(dá)”的錯誤ICMP報文返回給源主機(jī)。

可見Traceroute的原理確實(shí)很取巧,很有趣。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉