欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

TCP/IP illustated: 第七、八章 Ping program Traceroute program

发布时间:2025/4/16 34 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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, 正如其名字所示,其功能主要有两种:

  • 用于两 host 之间的连接的基本检测.例如 Telnet 和 FTP ,能得到 Ping 回应是基本的要求.
  • 用于得知 IP datagram 中间传输的 host 和 时间间隔. (ping 加 -R 用于记录经过的 host)
  • 即用于探知对方是否是 reachable 的;如果是,两者之间的“距离”有多远,

    第二个功能有很大缺陷,其最大问题是 IP datagram 大小限制为 60 bytes, 而 route record 双向都会记录,故最多只能记录 9 个 IP 地址,而如今往往会此值往往溢出.

    Traceroute Program

    Summary

    Traceroute program 是一个基于 TCP/IP 的程序,其主要有两个用途:

  • 用于观察记录 IP datagram 传输的 route
  • 指定特定的 route, 观察路径执行情况(称为 IP source route option, 命令行命令为 routetrace -g [Strict] 或者 routetrace -G[Loose])
  • 其主要功能是用于 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) 有三个优点:

  • 不是所有 router 都支持 IP record route option,但traceroute 都可行.
  • traceroute 只记录一个方向
  • traceroute 可比 IP record route option 记录更多数据.
  • 瑕疵

    但是, traceroute 程序也有瑕疵,有以下三点:

  • route 存在一定的不确定性.目前发送的 IP datagram 的 route 未必是 consecutive IP datagram 的 route.
  • time 存在一定的不确定性. IP datagram 的去程和回程未必一样.
  • interface 所指定的 IP address 的不确定性. traceroute 接受到的 IP address 基于 UDP arrived 的 interface. 与 IP route record option 的 outgoing interface 不同.



  • 转载于:https://www.cnblogs.com/FBsharl/p/11031705.html

    总结

    以上是生活随笔为你收集整理的TCP/IP illustated: 第七、八章 Ping program Traceroute program的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。