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行,