问:

刚开始学习网络,用Best Trace做了一下路由跟踪,看了这个结果不是很明白,有几个问题想请教一下大家,非常感谢各位大神。

1.为什么第1个记录的ip是公网ip, 后面却标示着‘局域网’,这个是和教育网有关吗?

2.第4个记录为什么又多出一个局域网,教育网也是公网ip, 为什么不直接连广州电信,是因为教育网转入公网的原因吗?

3.第10个记录的4个‘*’符号分别是什么意思,是得不到响应的意思吗?为什么会有这种情况?

另外还有一个问题:

用浏览器打开http://ip.cn,上面显示我所在的ip是183.6.160.232, 是广州电信的,但用Best Trace对http://ip.cn作路由跟踪,所得到的记录里面却没有这个ip。

答:

作者:北极
链接:https://www.zhihu.com/question/287956997/answer/458835550
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

我对这个trace的结果有一些不同的看法,从实际网络部署的角度上看,我觉得其它回答说的都不完全正确:

1.为什么第1个记录的ip是公网ip, 后面却标示着‘局域网’,这个是和教育网有关吗?

高度怀疑是你工具的bug,这个IP地址的归属,建议到APNIC上查一下https://wq.apnic.net/static/search.html,APNIC掌管着亚洲地区的IP地址分配,虽然不能精确到宿舍楼这种场景,但大块地址的所有权还是很明确的。

2.第4个记录为什么又多出一个局域网,教育网也是公网ip, 为什么不直接连广州电信,是因为教育网转入公网的原因吗?

这个比较有意思,首先,先说一种最常见的情况:

即使你拥有公网IP地址,你直接访问教育网的话(注意,不是广州电信),你使用trace工具也可能看到局域网IP地址。

trace工具的原理是设置一个较小的TTL,等到超时的时候,会收到一个中间的三层设备的TTL Expired回应。回应的报文里,会包含一个IP地址,trace工具收到这个地址以后,给你显示出来,你就可以看到某一跳的设备地址了。

回应的报文里的IP地址,是中间节点的那个三层设备填充的,这个设备填充的IP地址,是这个设备上的地址,但一个三层设备,可能有多个IP地址

比如下面的这个图,如果回应的报文是三层设备B返回的,那么它实际上有两个IP地址:IP1和IP2,报文里应该填哪个呢?

[你的PC]----[三层设备A]----(IP1)[三层设备B](IP2)------(外网...)

实际情况是,它填哪个都可以。甚至,更极端的情况下,三层设备B上面连接着十几个不同的网段,那么它返回哪个地址都是可以的。

所以,如果它的某个接口上连接着的是一个内网,它返回一个私有地址是完全有可能的

然后就要继续说这个有意思的事情了,题主遇到的是一种更复杂的情况

正常情况下,教育网要访问公网的网站,是要绕行到教育网的总出口的,我印象里总出口是在北京、上海这种地方,可能广州也有,但应该不在华南理工大学。

所以你正常的trace应该走的是:

校园网-教育网广州节点-教育网北京节点-北京联通->...

但实际情况不符。

那只能证明一点:你们学校自己拉了一个公网出口

我记得我念书的时候(2003年),高校一般都严格禁止私自接一个公网出口,但如果不私自接的话,访问公网又太慢了,现在管的严不严就不清楚了。

但如果学校自己拉一个公网出口,配置起来就很麻烦了,首先要解决的就是路由表的问题:如果路由直接互通,那样会干扰整个教育网的路由,广州的其它大学会看到你们学校整个出口,这些学校要想访问公网是走你们这个出口呢?还是走北京的教育网总出口?真要走到你们这里的话,费用怎么算?

所以为了防止互相干扰,一种特别常见的部署方式是双向NAT技术,用图来说话:

                 (教育网至北京)|
[你的PC]----(IP1)[三层设备A](IP2)---(双向NAT网络)---(IP3)[三层设备B](IP4)------(广州电信)

因为担心两边的路由表会影响对方,所以,当两个不同的网络要私拉一个接口的时候,会在边界路由器上(图里的三层设备A/B)做两个NAT,这样的话,两边互相看不到对方的路由表,只能看到一个内网,在边界上设置几组静态路由,就可以实现转发。

根据我这个图,可以得出一些结论:

三层设备A对应着你的图里的第3跳,IP1是你看到的地址:222.201.129.17
三层设备B对应着你的图里的第4跳,IP3是你看到的地址:192.168.66.250
你在网页上看到的你的公网IP:183.6.160.232,对应着是IP4

这样就能解释你这个图里的好几个问题:

为什么中间会有一个内网地址?为什么显示的公网地址(183.6.160.232)在你trace里找不到?为什么你能直接从校园网直接进入广州电信?

都是因为双向NAT的原因

3.第10个记录的4个‘*’符号分别是什么意思,是得不到响应的意思吗?为什么会有这种情况?

可能的情况有很多,比较常见的情况是有安全设置,禁止回应TTL超时的报文,但也不仅限于这一种,安全设置一般在网络接入层的防火墙附近,在公网里不太常见

我更倾向于可能是trace这个工具本身的问题:

trace对于每个节点要发三次,如果三次返回的IP地址都一样,那么就显示出来,但如果不一样,就显示一个星号“*”

在公网上,为了负载平衡的需要,不同节点之间,尤其在骨干网上,可能存在多条等价路径,如果trace工具在这种位置上尝试trace,就会显示“*”,因为每次返回的IP地址是不同的。

考虑到题主遇到“*”的位置正好是骨干网,我更倾向于这里是因为等价路由导致的。

以上是我的判断。

-----------

对了,题主可以做一个实现,你去ping一下183.6.160.232和192.168.66.250,这两个设备的TTL值可能是一样的(如果能ping通的话)。

下面是车小胖的回答:

我认为比较赞同前者北极的回答,中间的那个内网地址,应该是双向NAT搞出来的。

车小胖的提到的两篇链接:

ISP路由器上是不是拥有Internet中所有路由条目?

为什么用IP查询网查询的自己的外网IP和用tracert命令查询的自己的出口IP不一致?

原文链接:https://www.zhihu.com/question/287956997

路由跟踪为什么会有两个局域网?相关推荐

  1. 路由跟踪命令 查看DNS IP Mac等

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 1.最基 ...

  2. 怎样在两个局域网内共享一台打印机 。常用网络命令及命令实例详解

    怎样在两个局域网内共享一台打印机 怎样在两个局域网内共享一台打印机 我们公司有两间办公室,原先布线的时候用一个路由器延伸出多个接口预埋在墙里并做上插头,IP地址是自动分配的,网关是192.168.0. ...

  3. 路由跟踪命令.查看DNS、IP、Mac等

    路由跟踪命令.查看DNS.IP.Mac等 1.最基本,最常用的,测试物理网络的 ping 192.168.0.8 -t ,参数-t是等待用户去中断测试 2.查看DNS.IP.Mac等 A.Win98: ...

  4. Linux里怎么进行路由跟踪,[Linux] traceroute 路由跟踪指令用例

    traceroute是用来跟踪数据包到达网络主机所经过的路由工具.在Linux系统中,称之为traceroute,在Windows中称为tracert. 一条路径上的每个设备traceroute要测3 ...

  5. Tracert命令 路由跟踪数据包解析

    Tracertet 命令作为一个路由跟踪.诊断实用程序,在DOS和UNIX系统下都有此命令,它通过发送 Internet 控制消息协议 (ICMP) 回显请求和回显答复消息,产生关于经过每个路由器的命 ...

  6. Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径...

    Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径.   Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其 ...

  7. 两个局域网的引起的头脑风暴

    目录 局域网知识点补充 ikuai路由 头脑风暴产生 实验准备 实验步骤 局域网知识点补充 局域网是一种私有网络,一般在一座建筑物内或建筑物附近,比如家庭.办公室或工厂.局域网络被广泛用来连接个人计算 ...

  8. 跟踪百度服务器的路由信息,路由跟踪

    本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径.Tracert 命令用 IP 生存时 ...

  9. Tracert(跟踪路由)是路由跟踪实用程序

    TRACERT命令编辑 Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP数据包访问目标所采取的路径.Tracert 命令使用用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定 ...

最新文章

  1. EI:生物膜反应器抗性组对替加环素浓度升高的动态响应
  2. USE SysBench test Mysql and PostgreSQL - 2
  3. mongodb 关闭服务 mongod -f /root/mongodb/bin/xx.conf --shutdown
  4. EFCore+MSSS CodeFirst多对多设计初体验
  5. python3精要(8)-对象,变量,引用
  6. cdoj 邱老师看电影
  7. 今天给一份 2022 互联网就业指南。
  8. 详尽Ubuntu18安装搜狗输入法教程
  9. FIR数字滤波器的FPGA实现
  10. JAVA当中Switch语句
  11. 倾斜摄影OSGB转换为3DTiles
  12. kronecker引理证明_连续型Kronecker引理
  13. 基于Element UI Calendar实现日程提醒功能
  14. 成都拉升12名,长沙提升3位,最新全球城市排名出炉
  15. C++ opencv 识别火焰 (代码)
  16. parker派克柱塞泵PV046R1K1T1NUDM
  17. 好用的街机模拟器-WinKawaks提供下载
  18. 机器学习--银行营销方案
  19. 论文阅读(21 AAAI)Mind-the-Gap Unsupervised Domain Adaptation for Text-Video Retrieval
  20. 世界杯杂谈之有趣的数据纪录

热门文章

  1. 教学质量评估系统php,jSP在线教学质量评价系统的设计与实现(源代码+论文)
  2. JAVA练习题8:遍历数组求和,求平均值以及比平均值小的数据
  3. 利用Python实现每天给自己的邮箱按照艾宾浩斯曲线发送单词
  4. 修复 FLASHMAIL 只能发不能收的问题
  5. Cross-Scale Cost Aggregation for Stereo Matching立体匹配算法介绍
  6. 博弈收银系统源码升级了,是一套仿有赞模式的多门店管理软件
  7. OCP考试结束后,如何查询成绩和下载电子证书?
  8. 2021年中国沙丁鱼发展现状及进出口状况分析: 沙丁鱼出口量进一步增加[图]
  9. .dll 文件编写和使用
  10. java1.8是jav多少_win10 64位系统中安装多个jdk版本(通过修改JAVA_HOME对应的%JAV