问题

路由跟踪为什么会有两个局域网?

回答
你想知道为什么路由跟踪(traceroute)显示有两个局域网吧?这其实是个挺常见的现象,也挺好理解的,我来给你掰扯掰扯。

首先,咱们得明白路由跟踪是个啥。简单来说,它就是你电脑发出信号,然后这个信号一路“跳”过你家路由器、运营商的路由器,再到互联网上的各种路由器,最终到达你想要访问的目标服务器。路由跟踪就像一个“寻路者”,它记录下信号经过的每一跳(每一个路由器),并显示出这些路由器的地址。

那为啥会有两个局域网呢?这通常发生在你在家里使用了路由器上网的情况下。你家里通常是这样的一个结构:

1. 你的电脑/手机/设备:这是你上网的起点。
2. 你的家庭路由器(WiFi路由器):这是连接你所有设备上网的那个盒子。它负责在你家内部的网络(你的局域网)和外面的大网(互联网)之间建立桥梁。
3. 互联网服务提供商(ISP):比如电信、移动、联通这些公司。它们给你提供上网服务,连接着你家的路由器到更广阔的网络世界。

现在,我们用路由跟踪的视角来看这个过程:

第一跳:你的家庭路由器(第一个局域网)

当你从你的电脑发起一个路由跟踪请求时,第一个收到请求并响应的是谁?当然是你家里的路由器。你的电脑和家里的其他设备(手机、平板、电视等)都连接在同一个局域网里,这个局域网的“网关”就是你的家庭路由器。所以,路由跟踪显示的第一跳的IP地址,通常就是你家庭路由器在你局域网内的IP地址。这个地址一般是192.168.1.1、192.168.0.1或者10.0.0.1这样,是你在家里自己能访问到的。你可以把它理解为“你家内部的那个小小的局域网的出口”。

第二跳:运营商的光猫或者第一个路由器(第二个局域网的入口/第一个公网地址)

信号离开你的家庭路由器后,紧接着会去哪儿?它会通过你的网络线(比如网线或光纤)连接到你的互联网服务提供商(ISP)的网络设备。这个设备通常是运营商给你提供的光猫(ONT),或者是一个运营商的网络路由器。

问题来了,运营商的设备为什么要在这里出现?因为运营商的网络是另一个独立的网络,它需要一个“边界”来区分你家内部的网络和它们公司的网络。运营商的设备接收到你家路由器的信号后,会把它转换成适合运营商网络传输的格式,并分配一个公网IP地址(也就是你在互联网上的“身份”)。

运营商的设备,比如光猫或者路由器,在你家的路由器看来,就是它连接的“下一个跳”。它可能代表着运营商网络的入口,或者它本身就是运营商网络的第一个路由器。这个设备可能也有一个私有IP地址,或者直接是你获得的一个公网IP地址的网段。关键在于,它标志着你已经离开了你自己的家庭局域网,进入了运营商提供的、更大的网络环境。

所以,路由跟踪显示出的第二跳,往往就是运营商网络里与你家庭网络直接相连的第一个设备(比如光猫或运营商的接入路由器),它代表了进入“公共网络区域”的第一个节点。你也可以粗略地理解为,它标志着你正在进入“运营商的局域网”或者一个连接到更大的公网的节点。

之所以感觉像“另一个局域网”,是因为运营商的网络也是由一系列路由器组成的,它们形成了一个更大的网络。当你从你家路由器(你第一个局域网的边界)发出信号时,运营商的网络设备是接收你信号的“第一个”外部设备,它也就像是运营商内部网络的“入口”或“边界”,自然就形成了你看到的“第二个局域网”的感觉。

总结一下就是:

第一个局域网:是你自己的家庭网络,以你家路由器为边界。路由跟踪的第一跳就是这个网络的出口——你的家庭路由器。
第二个“局域网”感觉的节点:是你家庭网络与外部网络(ISP网络)的连接点,通常是运营商的光猫或第一个路由器。它标志着你离开了自己家的小网络,进入了运营商提供的更大网络环境的起点。

所以,路由跟踪显示出两个局域网的感觉,实际上是记录了你从自己家里的小网络(局域网1),穿过家庭路由器,到达运营商网络入口(可以看作是局域网2的入口)的整个过程。这是一个非常正常的网络通信路径。

网友意见

user avatar

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

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

高度怀疑是你工具的bug,这个IP地址的归属,建议到APNIC上查一下wq.apnic.net/static/sea,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通的话)。

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有