mas*_*rry 13 networking router routing ip
我正在尝试了解 ip 路由,并且我正在尝试跟踪路由我自己的公共 IP。我刚刚在网上搜索了我的ip并尝试了它。我得到的结果是
> tracert [my_public_ip]
1 <1ms 192.168.100.1
2 4ms 100.64.0.1
3 5ms 10.68.32.220
4 4ms [my_public_ip]
5 * Request timed out.
6 4ms [my_public_ip]
Run Code Online (Sandbox Code Playgroud)
为什么我的公共 IP 两次命中我的公共 IP,中间有一个路由器会丢弃 ICMP traceroute 数据包?
第一个显然是我的路由器的网关,但第二个和第三个 IP 地址是什么。他们看起来都像我的192.168.100.*地址一样是私人的。这些是什么?。我希望我的路由器能够立即访问我的公共 IP,因为它是我的路由器使用的实际 IP。NAT 是否适合这个地方?
也在一个常规的跟踪路由中,例如 google.com 为什么你实际上没有看到你的公共 IP 作为路由的一部分。在 NAT 期间,数据包不会穿过您的公共 IP 吗?
use*_*686 31
我希望我的路由器能够立即访问我的公共 IP,因为它是我的路由器使用的实际 IP。NAT 是否适合这个地方?
这看起来非常像 CGNAT(如“运营商级 NAT”)。
如果您的ISP使用CGNAT,这意味着你的路由器并不实际拥有的公网IP地址了-而不是只在两侧具有私有地址。(通常,“WAN”端将从 100.64.0.0/10 范围中获取一个地址——它实际上是一个专为 CGNAT 目的分配的私有范围。)
此外,您的 ISP 使用的 CGNAT 网关通常具有稍微复杂的配置……有时它们的配置非常奇怪。(有时唯一可用的解释是“这就是 CGNAT 硬件制造商决定这样做的方式”,甚至“当时是有道理的”。)
例如,即使他们仍然在你的路由器地址和你的真实公共地址之间做 NAT 的工作,但为了效率,它的完成方式通常略有不同——公共地址实际上并没有分配给 CGNAT 网关本身,而是一种“虚拟”地址缺乏更好的词,因此尝试跟踪它们根本不会导致任何地方。
也在一个常规的跟踪路由中,例如 google.com 为什么你实际上没有看到你的公共 IP 作为路由的一部分。在 NAT 期间,数据包不会穿过您的公共 IP 吗?
数据包跨路由器,而不是地址。通常,沿途的每台路由器都有多个地址——每个接口一个地址——但仍计为 1 跳,并且总共只会产生一个跟踪路由响应。
(通常,路由器将使用面向您的接口的地址进行响应。因此,如果您以某种方式在相反方向跟踪路由,则完全相同的路由器将显示为具有完全不同的 IP 地址。但是,这不是一个保证规则。)
因此,在一个简单的非 CGNAT 场景中,您的家用路由器将同时拥有 192.168.xx 地址(在“LAN”接口上)和您的公共地址(在“WAN”接口上)。但是尽管有两个地址,它只会生成一个 traceroute 响应,通常来自 192.168.xx 地址。
(这是一个半相关图。)
| 归档时间: |
|
| 查看次数: |
2768 次 |
| 最近记录: |