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