TCP/IP illustated: 第七、八章 Ping program Traceroute program
Ping program 與 Traceroute program 均是以 iCMP 為基礎的兩個程序. 其功能主要用于探測是否能夠連接、觀察記錄 IP datagram 的路程.
Ping Program
Summary
Ping Program 是 ICMP 的一部分,其基本機制是:發送 ICMP echo request 并希望接收到 ICMP echo replay.
ping 一詞來源于 sonar pogram, 正如其名字所示,其功能主要有兩種:
即用于探知對方是否是 reachable 的;如果是,兩者之間的“距離”有多遠,
第二個功能有很大缺陷,其最大問題是 IP datagram 大小限制為 60 bytes, 而 route record 雙向都會記錄,故最多只能記錄 9 個 IP 地址,而如今往往會此值往往溢出.
Traceroute Program
Summary
Traceroute program 是一個基于 TCP/IP 的程序,其主要有兩個用途:
其主要功能是用于 RR( route record)?.
原理
Traceroute program 的執行是以 IP header 中的 TTL 和 UDP datagram 的 ICMP 的相關屬性為基礎的.
基礎1:TTL
概念
定義: TTL 是 IP header 中的一部分, 其全稱為 time-to-live.是允許經過的 router 的數量的上限,每經過一個 router, 數值就 increment by 1.
功能: 當 TTL 的值為0或1時, router 不再將其 forward 到下一個 router, 而是將其 discard, 并返回 ICMP error message "time exceed" .
目的:防止 IP datagram 發生無限循環.
TTL 與 Traceroute
Traceroute 利用返回的 ICMP error message 中包含 router 的 IP address?工作:即 traceroute 程序第一次發送 TTL = 1 的 IP datagram, 第二次發送 TTLs = 2 的 IP datagram, 以此類推.
基礎2:UDP datagram
概念
可指定 destination host 以及需到達的端口,若無法到達, 則發送 ICMP error message “port unreachable".
UDP datagram 與 Traceroute
Traceroute 程序將 UDP datagram 的 destination host 的端口設置為 an unlikely value (larger than 300,000), 使得其到達端口后,返回一 "port unreachable" error 的 ICMP.
優點和瑕疵
traceroute 相較于 ping(IP record route option) 有三個優點:
瑕疵
但是, traceroute 程序也有瑕疵,有以下三點:
轉載于:https://www.cnblogs.com/FBsharl/p/11031705.html
總結
以上是生活随笔為你收集整理的TCP/IP illustated: 第七、八章 Ping program Traceroute program的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中BigDecimal的常见用法
- 下一篇: 【BIEE】报表导出数据只显示500行,