欢迎来到高三教学楼 =)

在夹缝中生存 1

在这栋阴暗的高三教学楼,你可以找到到几乎不制冷的空调,老旧的电教平台,卡顿的键盘,还有没有AP面板的教室。但是尽管环境艰苦,我们仍不得不在这”古色古香”的区域继续生存一年。

返校第一件事?访问”学生目录”

我和wjh偷偷在课间跑回我们之前的教室,打开了讲台下的电脑,电源灯亮起,网线灯亮起,确认无误后,我们返回了教学楼。

网络异常发现

但晚自习前,我在我们班ping了71那台电脑,结果竟然无法访问!
而引起我注意的是ping的回复:10.88.202.33的回复:主机不可达

等等,10.88.202.33是什么东东呀?一阵不妙的预感涌上心头,我连忙执行了ipconfig,发现我们班电脑的IP竟然是10.88.202.33

我的第一反应是:这不太对吧。虽说高三楼与高一高二的楼分隔有点远,但连的不是同一个交换机吧?以普遍理性而论,每一栋楼都有一个独立的子网,这样才能正常地通过网关转发实现互连呀~ (≧∇≦)ノ

然而事实是这里的网段竟然诡异地与之前的10.88.202.254→10.88.193.228教学楼是相同的,闻所未闻的现象就这样出现在我们面前。

深入分析:ping回复信息研究

让我们先仔细研究一下ping的回复信息:
来自10.88.202.33的回复:目标主机不可达

[RFC 792]
If, in the destination host, the IP module cannot deliver the datagram because the indicated protocol module or process port is not active, the destination host may send a destination unreachable message to the source host. Another case is when a datagram must be fragmented to be forwarded by a gateway yet the don’t fragment flag is on. In this case the gateway must discard the datagram and may return a destination unreachable message.

根据RFC 792,第3节对 Host Unreachable(目标主机不可达)中的描述,我们可以知道此回复的触发条件是:根据源主机或中间网关路由表判断,如果找不到前往目标主机的路径,就会在本地网络层丢弃数据包,并由该节点生成ICMP错误报文回源主机(报文来源可以是源主机或中间网关路由的错误)。

于是,我们就解读出了这个错误回复所包含的信息:本机(10.88.202.33)无法根据当前路由/ARP/接口状态将数据包发给目标主机(x

为了检测内网是否连通,我还尝试访问了教师目录(10.88.193.228),结果发现连接正常,说明路由与网关皆正常工作。那么就只剩下一种可能——ARP

网络故障推理过程

于是,我们可以合理地推测出如下过程:
根据子网掩码判断,本机与目标主机处于同一子网下,于是发出ARP请求,但ARP请求目标主机的MAC地址失败了,故返回”主机不可达”。

ARP查询失败的可能解释

ARP查不到,那么我们可以大致推断出:此网段非彼网段,也就是说尽管都是10.88.202.x,但其实不是同一个网段啦~

这听起来非常不可思议对吗?你肯定想说这怎么可能呢!
当然有可能啦,比如说,NAT
当然,这确实非常奇怪,但这是目前能想象出的最合理的可能。

访问案例对比

  • 访问教师目录(10.88.193.228)时
    目标IP与本机IP(10.88.202.33)不在同一网段,将包交给网关转发,网关(10.88.?.路由器)→10.88.193.228(NAT)正确地转发到了目标地址,所以连接正常(数据包返回过程同理可得)。

  • 访问10.88.202.71时
    由于目标IP与本机IP(虽然看起来)同属于同一网段,即10.88.202.x,所以会在本网段内(10.88.?.? 路由器)进行ARP请求,但网络中不存在10.88.202.71的主机,故返回”无法到达目标主机”。

结论与临时解决方案

不过如果真的是NAT的话,确实有点小麻烦呢。如果真是这样,那yhs就真的是私募了(笑
由于暂时没办法进一步验证,这个问题就先暂时搁置啦~ 毕竟无法访问的影响仅仅是没办法进学生目录,但联网还是可以通过直接连接防火墙VPN的方式(见连网小记3)解决的嘛~ (๑•̀ㅂ•́)و✧