ping
和 traceroute
是兩種常用的網路診斷命令。它們使用的協議並不是 TCP 或 UDP,而是 ICMP(Internet Control Message Protocol)¹²。
ping
:這個命令會發送 ICMP Echo 訊息來檢查遠端主機是否活躍,以及回傳訊息所需的時間和任何封包損失¹。它會發送一個請求並等待回覆(如果目的地在超時期限內回應的話)¹。
traceroute
:這個命令會發送多個數據包到目的地設備,每個數據包的 TTL(Time-to-Live)值會逐漸增加⁴。預設情況下,traceroute
會發送三個數據包來測試每一個「跳躍」(當一個封包在路由器之間傳遞時,稱為一個「跳躍」)¹。當數據包最終有足夠的 TTL 值到達目的地時,由於訊息被發送到一個無效的埠,因此會返回一個 ICMP 埠不可達的訊息,表示 traceroute
已完成¹。
所以,ping
和 traceroute
主要是使用 ICMP 協議,而不是 TCP 或 UDP。希望這個解釋對您有所幫助!
來源: 與 Bing 的交談, 2024/3/20
(1) How to Use the Traceroute and Ping Commands to Troubleshoot Network Connectivity Issues - freeCodeCamp.org. https://www.freecodecamp.org/news/traceroute-and-ping/.
(2) Understand the Ping and Traceroute Commands - Cisco. https://www.cisco.com/c/en/us/support/docs/ios-nx-os-software/ios-software-releases-121-mainline/12778-ping-traceroute.html.
(3) Traceroute vs. Ping: What’s the Difference and When to Use Each?. https://medium.com/@16kiran.rawat/traceroute-vs-ping-whats-the-difference-and-when-to-use-each-d3ed73892ef7.
(4) Traceroute and Ping: What'S The Difference? | Webopedia. https://www.webopedia.com/insights/traceroute-ping/.
(5) What is Traceroute: What Does it Do & How Does It Work? - Fortinet. https://www.fortinet.com/resources/cyberglossary/traceroutes.