斜体为读者提问:

我在电脑上查询的出口IP是58.60.*.*,然后用tracert命令查询ping百度的路径,结果发现路径里面没有同一网段的(即以58.60.开头的),这是为什么?

正文

题主这个问题,有两种可能:

(1)运营商给客户分配的是公网IP = 58.60.x.x

(2)运营商给用户分配的是非公网IP,当用户的流量进入Internet,使用公网IP  = 58.60.x.x做NAT

这两种情况都有可能traceroute时,网络路径上没有任何一跳的IP和58.60.x.x在一个网段内。接下来分析一下这两种情况:

情况一:通常用户使用PPPoE拨号上网,分配的IP 如58.60.x.x/32,使用32位掩码长度,这样有什么好处呢?不浪费IP资源!

问同学们一个问题,PPPoE接口是广播接口还是点对点接口类型?

对,是点对点接口,点对点接口需要通信的双方在一个网段吧?不需要!

为何是点对点接口?

看看封装格式吧:

Ethernet/PPPoE/PPP/IP/IP Payload

由于从局域网发出的所有IP报文,目的MAC都是PPPoE Server的,源MAC都是家庭路由器的,这不是典型的点对点接口特征吗?

Okay,运营商用来终结客户端PPPoE的接口需要IP地址吧?

当然需要,可以是任意IP,只要该接口配置IP就可以工作,为了节省IP,通常可以借用别的接口的IP,比如 “IP unnumbered”

客户端拨号成功会生成两条路由:

0.0.0.0/0              PPPoE

58.60.x.x/32        PPPoE

当访问Internet时使用0.0.0.0/0路由,由于是点对点接口,压根不关心下一跳的IP是多少,对吗?

所以出现题主描述的现象一点也不奇怪。

情况二:当用户的流量前往Internet时,需要做NAT,那公网IP从哪里来?从路由器的接口上借用吗?可以,但是扩展性不够高,毕竟就一个IP。

那如何扩展性高呢?

使用一个公网IP资源池,这个池子可以一个IP、也可以任意多个,完全看需求。

Okay,那这些池子里的公网IP需要事先配置在接口上吗?不需要!

既然58.60.x.x压根没有配置在任何接口上,那当你traceroute 时,那这台NAT设备直连的路由器接口IP,完全有可能不是58.60.x.x。

那当你traceroute 到NAT设备时,由于58.60.x.x没有配置在任何接口,所以自然不会使用58.60地址来发送traceroute 出错消息!

原文链接:https://mp.weixin.qq.com/s?__biz=MzIxNTM3NDE2Nw==&mid=2247483847&idx=1&sn=6a905897c8255c6a0666b9fda413f47b&chksm=979801ffa0ef88e951ebdf439df2bea8775d8c8119dd021002c638eb9475254a9e898c30aa1a#rd

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

  1. 多网卡下如何配置指定IP走某个路由器(适用于外网不通,但是钉钉服务器通的情况)...

    # 多网卡下如何配置指定IP走某个路由器(适用于外网不通,但是钉钉服务器通的情况) ## 如何查看一个进程建立的网络连接,方式一 - 查看进程pid `ps -ef|grep dingtalk` - ...

  2. Retrofit用Interceptor实现内外网接口自动切换访问(在内网IP访问失败的时候.访问外网接口)

    Retrofit用Interceptor实现内外网接口自动切换访问(在内网IP访问失败的时候.访问外网接口) 主要项目里面需求有2个baseurl,必须要能够根据用户的网络状况进行baseurl的重新 ...

  3. 花生壳实现内网穿透,获取公网IP?花生壳端口映射外网TCP测试

    什么是内网穿透? 内网穿透即NAT穿透,内网穿透可以让你局域网中的电脑实现外网访问功能.例如我公司电脑上运行了一个linux虚拟主机,安装SSH服务后我就可以在整个局域网内,连接192.168.xx. ...

  4. 没有公网IP,自建网站如何让外网访问?

    受创业潮影响,身边很多朋友都自己开公司创业了,作为一个IT行业从业者,我就莫名的开始忙起来了,因为掌握编程技术,朋友们经常找到我,让我帮他们做公司网站.但是存在一个无法回避的问题,就是我的网络不是公网 ...

  5. 公网域名如何解析到内网IP服务器——快解析域名映射外网访问

    在本地搭建主机应用后,由于没有公网IP或没有公网路由权限,在需要发布互联网时,就需要用到外网访问内网的一些方案.由于内网IP在外网不能直接访问,通常就用通过外网域名来访问内网的方法.那么,公网域名如何 ...

  6. 如何让你的内网服务器可以被外网访问到(端口映射、NAT、域名解析、IP地址)

    众所众知,我们一般情况下是处在私有网段中,我们可以访问外网,但是外网访问不到我们.如果想要在Internet网上被访问到就需要有一个公网IP. 问题1: 什么是NAT(网络地址转换)? NAT是为了让 ...

  7. 通过设置路由器DMZ主机ip,却还是没法通过外网访问

    几天前想在电脑虚拟机上的linux中搭建的简单的服务器,然后通过手机(流量数据模式下)浏览器访问.先把虚拟机上的Linux设为桥接模式,然后登陆小米路由器设置DMZ的ip为linux的虚拟ip,然后在 ...

  8. 使用tracert命令查看某一个网站的ip地址

    tracert www.baidu.com 下面的14.215.177.38就是这时候百度的ip了 微信扫一扫:关注我个人订阅号"猿小飞",更多精彩文章在这里及时发布:

  9. linux查询设备文件信息失败怎么办,Linux下使用blkid命令查询设备及文件系统信息的方法...

    在Linux下可以使用blkid命令对查询设备上所采用文件系统类型进行查询.blkid主要用来对系统的块设备(包括交换分区)所使用的文件系统类型.LABEL.UUID等信息进行查询.要使用这个命令必须 ...

最新文章

  1. ACCESS数据库防止下载
  2. Struts 2创始人Patrick Lightbody作序推荐
  3. [ C++ ] 理解const
  4. 如何在 Flutter 中使 Expanded 中的文本可滚动
  5. 关于华硕主板“USB Devices Over Current Status Detected!”
  6. P6688-可重集【字符串hash,线段树】
  7. win7系统去除图标箭头的方法
  8. 诗和远方:无题(四十五)
  9. 近期在做或要做的实验
  10. 解决vue2+vue-cli3项目ie兼容问题
  11. 记录.net 中的常见术语
  12. java项目总结范文_java项目收获总结(20200505185659)
  13. Jenkins教程(八)实现 GitLab 触发 Jenkins 自动按模块发布前端
  14. ROS教程之使用UVC摄像头
  15. k8s基本概念及使用
  16. 【教程】Teambition中行云及飞流实现自定义构建部署
  17. 手机停机照样可以上网,,教教你。。
  18. android开发之SnackBar的使用
  19. Welcome Here
  20. js 点击按钮打开浏览器新页签,兼容版

热门文章

  1. 一个成功的BI项目实施需要注意哪些? 1
  2. 列表(list)使用方法详解
  3. seqCNA笔记-处理来自肿瘤样本的高通量测序拷贝数数据
  4. Ultra Recal 一款DIY的个人管理软件
  5. 知乎热议 | 何恺明 新作 如何?
  6. 初中八年级计算机课程计划,初中信息技术教学计划
  7. oracle sql 的语句
  8. ajax前端分页实现
  9. 数据结构几个最简单的阐述完整版(带你入门:链表,栈,队列,哈希表,树)通俗易懂简单明了
  10. Ubuntu下阅读CHM格式的文档