网站首页 > 博客文章 正文
Tracerotue 作为网络排错的常用工具可以显示出数据包在网络中经过的路由信息,它的工作原理也是网络工程师求职面试时的经典问题。
Traceroute 的实现一共有三种方法,分别是:
- TCP traceroute(使用 tracetcp 程序可以实现)
- UDP traceroute(Cisco 和 Linux 默认情况下使用)
- ICMP traceroute ( MS Windows 默认情况下使用)
我们首先来分析基于 UDP 和 ICMP 的 traceroute,然后再来分析基于 TCP 的 traceroute,因为前两者非常类似。
UDP 和 ICMP Traceroute
Traceroute 的基本原理是向外发送带有逐次递增 TTL 的数据包从而获取的路径中每一跳的信息。
Host A 向 Host B 做 traceroute,Host A 第一次会发出一个 TTL=1 的数据包,当该数据包到达 R1 时,TTL 会变为 0 (网络上每经过一跳 TTL 会减去 1),R1 会将 TTL=0 的数据包丢弃并返回一个 ICMP Time Exceeded 给 Host A。Host A 发出第二个数据包并将 TTL 增加1 (TTL=2),该数据包到达 R2 后 TTL=0,R2 向 Host A 返回 ICMP Time Exceeded。依此类推,直到 TTL 增加到一个合适的值让数据包顺利到达 Host B,Host B 会返回一个 Final Replay 给 Host A。
UDP 和 ICMP traceroute 的区别就在于向外发送的数据包(上图中红色标明的 packet)和最后的 final reply。
- UDP 向外发送的是一个 UDP 数据包,final reply 是 ICMP Destination Unreachable
- ICMP 向外发送的是一个 ICMP Echo Request,final reply 是 ICMP Echo Reply
TCP Traceroute
TCP traceroute 同样利用了 TTL 来探测网络路径但是它向外发送的是 TCP SYN 数据包,这样做最大的好处就是穿透防火墙的几率更大因为 TCP SYN 看起来是试图建立一个正常的 TCP 连接。
关于 Cisco 的 traceroute 更详细的资料可以参考 Cisco Using the traceroute Command on Operating Systems (Document ID:22826)。
猜你喜欢
- 2024-10-07 元数据与数据治理实战|Zookeeper在大型分布式系统中的应用(3)
- 2024-10-07 HCIE2020__路由交换专家__配置 IPSec VPN
- 2024-10-07 【0基础学爬虫】爬虫基础之抓包工具的使用
- 2024-10-07 Fiddler 窗口布局如何操作详解(fiddler界面)
- 2024-10-07 Zookeeper在大型分布式系统中的应用
- 2024-10-07 Linux下系统 I/O 性能分析的套路(linux ion)
- 2024-10-07 案例|如何定位无线访问互联网故障问题?
- 2024-10-07 「分享」非常全面的CentOS7系统安全检测和加固脚本
- 2024-10-07 Illustrate Asset UPnP Premium 2024.08.07音频设计的 UPnP 服务器软件
- 2024-10-07 IBM MQ---配置Explorer远程连接(ibm mq创建远程队列)
你 发表评论:
欢迎- 07-08Google Cloud Platform 加入支持 Docker 的容器引擎
- 07-08日本KDDI与Google Cloud 签署合作备忘录,共探AI未来
- 07-08美国Infoblox与Google Cloud合作推出云原生网络和安全解决方案
- 07-08GoogleCloud为Spanner数据库引入HDD层,将冷存储成本降低80%
- 07-08谷歌推出Cloud Dataproc,缩短集群启动时间
- 07-08Infovista与Google Cloud携手推进射频网络规划革新
- 07-08比利时Odoo与Google Cloud建立增强合作,扩大全球影响力
- 07-08BT 和 Google Cloud 通过 Global Fabric 加速 AI 网络
- 最近发表
-
- Google Cloud Platform 加入支持 Docker 的容器引擎
- 日本KDDI与Google Cloud 签署合作备忘录,共探AI未来
- 美国Infoblox与Google Cloud合作推出云原生网络和安全解决方案
- GoogleCloud为Spanner数据库引入HDD层,将冷存储成本降低80%
- 谷歌推出Cloud Dataproc,缩短集群启动时间
- Infovista与Google Cloud携手推进射频网络规划革新
- 比利时Odoo与Google Cloud建立增强合作,扩大全球影响力
- BT 和 Google Cloud 通过 Global Fabric 加速 AI 网络
- NCSA和Google Cloud合作开发AI驱动的网络防御系统,加强泰国网络空间的安全性
- SAP将在沙特阿拉伯 Google Cloud 上推出BTP服务
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- messagesource (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)