分析網絡路徑和性能:
mtr命令
mtr
輸出的詳細分析:
mtr 162.105.253.58
命令用于結合 traceroute
和 ping
的功能,實時監測并分析從你的計算機到目標主機(IP 地址 162.105.253.58,北京大學計算中心)之間的網絡路徑和性能。其主要作用如下:
- 路徑追蹤:識別數據包從源到目標經過的所有中間節點。
- 延遲測量:測量每個中間節點的響應時間(RTT),包括平均延遲、最小延遲和最大延遲。
- 丟包率監測:計算每個中間節點的數據包丟失百分比,以識別網絡中的潛在瓶頸或問題節點。
- 實時更新:提供實時的網絡性能數據,便于持續監控和診斷。
mtr 162.105.253.58
參數解釋
- Host: 數據包傳輸路徑中的各個中間節點或主機地址。
- Loss%: 丟包率,表示在傳輸過程中數據包丟失的百分比。
- Snt: 發送的數據包總數。
- Last: 最后一次響應時間(RTT,單位為毫秒)。
- Avg: 平均響應時間(單位為毫秒)。
- Best: 最快響應時間(單位為毫秒)。
- Wrst: 最慢響應時間(單位為毫秒)。
- StDev: 響應時間的標準差,表示響應時間的波動程度。
ping
命令
ping
命令輸出詳細信息
顯示了從你的計算機發送的 ICMP 回顯請求的數據包從目標主機(IP 地址 162.105.253.58,北京大學計算中心)返回的詳細信息:
[1715675570.594846] 64 bytes from 162.105.253.58: icmp_seq=19 ttl=240 time=4.25 ms
[1715675570.796353] 64 bytes from 162.105.253.58: icmp_seq=20 ttl=240 time=5.42 ms
每一行的格式:?
[時間戳] 字節數 來自 目標IP地址: ICMP序列號 TTL 響應時間
參數解釋
-
[時間戳]:
[1715675569.979467]
:這是一個時間戳,表示數據包返回時的精確時間,以秒為單位。這個時間戳通常從系統啟動時間算起(例如,上述時間戳是從系統啟動以來經過的秒數和微秒數)。
-
字節數:
64 bytes
:表示從目標主機返回的數據包大小為64字節,這是標準的ICMP數據包大小。
-
來自:
from 162.105.253.58
:表示數據包的來源,即目標主機的IP地址。
-
ICMP序列號:
icmp_seq=16
:表示這是第16個ICMP回顯請求。序列號幫助跟蹤每個發送的請求及其響應。
-
TTL(Time To Live):
ttl=240
:表示數據包的生存時間。TTL字段在每經過一個路由器時減一,當TTL值變為零時,數據包被丟棄。初始TTL值通常為64、128或255,這取決于操作系統的默認設置。這里的TTL=240表示數據包在返回時經過了較少的路由器跳數。
-
響應時間:
time=7.29 ms
:表示從發送ICMP請求到收到響應所花費的時間,單位為毫秒(ms)。這個時間反映了往返時延(RTT)。
網絡協議
ICMP(Internet Control Message Protocol)
- 用途:ICMP 是一種用于在網絡設備之間發送控制消息的網絡層協議。它主要用于診斷和錯誤報告。
- 常見應用:
ping
命令:用于測試目標主機的可達性并測量往返時間(RTT)。traceroute
命令:用于確定數據包從源到目標的路徑以及路徑上每個跳的延遲。
數據分析
-
總體交付率:
- 作用:評估在整個測量期間內,發送的echo請求中有多少收到了回復,反映了網絡路徑的穩定性和可靠性。
- 計算方法:讀取
data.txt
文件,計算發送的echo請求總數和接收到的回復總數。通過檢查丟失的序列號來確定丟失的包,并計算交付率。
-
最長連續成功ping的字符串:
- 作用:找出連續成功回復的最大序列長度,顯示網絡路徑在一段時間內的穩定性。
- 計算方法:遍歷
data.txt
文件,記錄連續回復的最長序列長度。
-
最長的丟包突發:
- 作用:確定連續丟包的最大序列長度,顯示網絡路徑在一段時間內的脆弱性或不穩定性。
- 計算方法:遍歷
data.txt
文件,記錄連續丟包的最長序列長度。
-
丟包的相關性:
- 作用:分析丟包事件之間的相關性,判斷丟包事件是否獨立或具有連鎖效應。
- 計算方法:
- 計算echo請求#N收到回復時,echo請求#(N+1)也收到回復的概率。
- 計算echo請求#N未收到回復時,echo請求#(N+1)收到回復的概率。
- 將這些條件概率與總體交付率進行比較,分析丟包的獨立性或相關性。
-
最小RTT:
- 作用:確定測量期間內最小的往返時間(RTT),反映最理想情況下的網絡延遲。
- 計算方法:從
data.txt
文件中找出最小的RTT值。
-
最大RTT:
- 作用:確定測量期間內最大的往返時間(RTT),反映網絡路徑在最不理想情況下的延遲。
- 計算方法:從
data.txt
文件中找出最大的RTT值。
-
RTT隨時間變化的圖:
- 作用:展示RTT值在兩個小時期間內的變化趨勢,反映網絡延遲的波動情況。
- 繪制方法:繪制RTT值隨時間變化的圖,x軸為實際時間,y軸為RTT(以毫秒為單位)。
-
RTT分布的直方圖或累積分布函數(CDF):
- 作用:展示RTT值的分布情況,反映RTT值的頻率分布和累積概率。
- 繪制方法:創建RTT值的直方圖或CDF。
-
連續ping的RTT相關性圖:
- 作用:分析連續ping之間RTT值的相關性,判斷RTT值在時間上的一致性或變化趨勢。
- 繪制方法:繪制ping#N的RTT和ping#N+1的RTT之間的相關性圖,x軸為第一個RTT的毫秒數,y軸為第二個RTT的毫秒數。
-
從數據中得出的結論:
- 作用:通過分析數據、圖表和摘要統計,得出網絡路徑行為的總體結論,評估網絡性能的好壞。
- 結論內容:包括網絡路徑的穩定性、可靠性、延遲波動等方面的分析,任何出乎意料的發現和網絡行為特征的總結。
結論:
1. 總體交付率為: 100.00%
2. 最長連續成功ping的字符串為: 9776
3. 最長的丟包突發為: 0
4. 收到回復后下一次收到回復的概率為: 99.99%
5. 未收到回復后下一次收到回復的概率為: 0.00%
6. 最小RTT為: 3.06 ms
7. 最大RTT為: 105.0 ms
通過這些分析,我們可以看到網絡路徑的穩定性和可靠性。網絡延遲在時間上有波動,但整體交付率較高。
DAI
倉庫(已經更新Lab4):
lms2004/minnow: CS 144 networking lab (github.com)?