《TCP/IP详解 卷1:协议》读书笔记 第八章 Traceroute程序
来源:互联网 发布:python 数据采集 编辑:程序博客网 时间:2024/05/21 15:40
第八章 Traceroute程序
1.引言
Traceroute程序可以让我们看到IP数据报从一台主机传到另一台主机所经过的路由。
(尽管不能保证从源端发往目的端的两份连续的IP数据报具有相同的路由,但是大多数情况下是这样的。)
Traceroute程序还可以让我们使用IP源路由选项。
2.Traceroute程序的操作
traceroute程序使用ICMP报文和IP首部的TTL字段来实现。
运行原理:
(1)首先发送TTL为1的IP数据报给目标地址,处理这个IP数据报的第一个路由器把TTL减1为0,丢弃该数据报,并返回一份超时ICMP报文,由此得到第一个路由器的IP(入口IP).
(2)再次发送TTL为2的IP数据报给目标地址,第二个路由器把TTL减1为0,步骤同上,通过返回的超时ICMP报文,得到了第二个路由器的IP地址.
(3)然后依次发送TTL为3,4…n的数据报,分别记录返回的超时ICMP报文的IP,即对应跳的路由IP.
(4)最终达到目标地址.判断依据:发送的IP数据报封装的为UDP数据报,【选择的是一个不可能使用的UDP端口】,当到达目标地址时,目标地址将返回’端口不可达’的ICMP报文,而不是路由返回的超时ICMP报文.
有两种不同的ICMP“超时”报文,它们的code字段不同。一种是在TTL值等于0时产生的,其code字段为0,另一种是主机在组装分片时发生超时而发送的“组装报文超时”报文,其code字段为1.
3.IP源站选路选项
源站选路的思想是由发送者指定路由,它有两种形式:
严格的源路由选择,发送端指明IP数据报所必须采用的确切路由,如果发现下一个指定的路由器不在其直接连接的网络上,就返回一个“源站路由失败”的ICMP差错报文。
宽松的源站选路,可以指明一个数据报经过的IP地址清单。
- TCP/IP详解卷1 读书笔记:第八章 Traceroute程序
- TCP/IP详解,卷1:协议,第八章:Traceroute程序
- 《TCP/IP详解 卷1:协议》第八章 Traceroute程序
- 《TCP/IP详解 卷1:协议》读书笔记 第八章 Traceroute程序
- 《TCP/IP详解 卷1:协议》读书笔记 第八章 Traceroute程序
- TCP/IP详解卷1:协议(第七章:Ping程序) || (第八章:Traceroute程序)
- 《TCP/IP详解 卷1:协议》读书笔记 第8章 Traceroute程序
- 《TCP/IP详解 卷一:协议》读书笔记--Traceroute程序
- TCP/IP详解卷1:协议(六)【Traceroute程序,IP选路】
- TCP/IP 详解卷一 - 第6、7、8章 ICMP协议和ping、traceroute程序
- TCP/IP详解卷一 第8章 Traceroute程序
- TCP-IP详解卷1-08:Traceroute程序
- 《TCP/IP详解 卷1:协议》读书笔记
- 《TCP/IP详解 卷1:协议》读书笔记
- 《TCP/IP详解 卷1:协议》读书笔记
- 《TCP/IP详解卷1:协议》读书笔记
- 《TCP/IP详解 卷1:协议》读书笔记
- 《TCP/IP详解 卷1:协议》读书笔记
- linux下的MySQL主从服务的配置
- JAVA基础
- HDU 1103 Flo's Restaurant
- eclipse下操作hadoop处理文件的简单的例子
- 自定义Android Toast
- 《TCP/IP详解 卷1:协议》读书笔记 第八章 Traceroute程序
- 初识工具栏
- Cannot change version web module 3.0
- Hibernate Annotation 一对多单向关联
- android中src和background区别
- Serv-U设置FTP Passvie模式端口范围
- Redis数据结构简介
- java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal res
- leetcode:Unique Substrings in Wraparound String