事情是这样的:昨晚PUBG有大更新,但是下载的时候我突然发现速度只剩下10M/s左右了,用speedtest测了下只剩下了百兆宽带,我家明明是千兆宽带的。然后就开始了排查,没想到这一搞就是3小时。

这是排查前我家的网络拓扑:

苹果speedtest找不到服务器_苹果speedtest找不到服务器


几点说明:

1.全部网络设备都是千兆口,还有几个2.5G口,一个百兆口都没有。

2.PC1是我的电脑,通过WiFi连接路由器。PC2是一个24小时开机用来挂pt和局域网共享硬盘的低功耗小电脑,通过交换机直连光猫。PC2也可以用来挂一些需要24小时挂机的网游,比如最近玩的QQ三国,诶嘿~

3.为什么需要交换机:因为PC2直连路由器、路由器直连光猫的话,挂游戏会时不时掉线。后来我把PC2搬到自己卧室里直连光猫试试,就打死不掉线了(注意,这里埋个伏笔)。又因为PC2要放在客厅电视下面的柜子里,也就是靠近客厅的网口,客厅网口需要连接路由器,于是就用了个千兆交换机扩展一下客厅的网口。

(顺带一提,千兆交换机很便宜的,水星的一个5口的全千兆交换机只要40块钱左右)

开始排查!


1 原拓扑网络测试

首先测试了网络速度:

PC1——WiFi——交换机——光猫——Internet,跑出来100M(speedtest下载测试)

PC2——交换机——光猫——Internet,跑出来100M(speedtest下载测试)

PC1——WiFi——交换机——PC2,1G(PC1从PC2的局域网共享硬盘里下载文件)

画一下:

苹果speedtest找不到服务器_苹果speedtest找不到服务器_02


看样子是交换机到光猫这一段堵了,只剩百兆了。

2 端口排查

首先怀疑是设备和端口有问题。
进路由器(红米AX5400电竞版)改端口速率设置,反复改了几次重启了几次,依然百兆。
怀疑交换机上有我不知道的百兆端口,或是某根网线是百兆线我不知道。然后一个个拿到自己卧室里测了测,确实全部都是千兆。

3 改拓扑网络测试

怀疑交换机和网线之间存在某种冲突,所以移除了交换机试试。如下图。

千兆是千兆了,但是我在加交换机之前就是这样的。这么做会导致时不时的掉线。

苹果speedtest找不到服务器_运维_03

然后怀疑交换机上原来连着的3个端口之间是不是在相互抢带宽相互冲突并且我不知道?按道理是不会的啊,但还是试试吧。结果依然百兆。

苹果speedtest找不到服务器_运维_04


但是想起自己以前拿到自己房间里测试的时候又没有任何问题,现在像那样又测了测还是没有问题。

苹果speedtest找不到服务器_网线_05


在自己房间里直连也没有问题。

苹果speedtest找不到服务器_网络协议_06

然后吭哧吭哧地把自己的电脑(25斤)搬到客厅去直连测试,依然百兆。顺带一提,网线插入后识别网络的速度比正常情况下慢,这里埋个伏笔。

苹果speedtest找不到服务器_网线_07


所以只有可能是光猫到客厅的这条线路出了问题。

想起家里刚装千兆宽带的时候跑出来只有百兆,问装机师傅说是网线面板里线没接全,于是自己抠开,发现只接了四五根线,把8根线全部接上后千兆才跑通。然后怀疑是墙上网线面板没接好脱落了。于是和我妈一起把挂墙上的电视抬了下来,电视后的那个网线面板抠开重新接个线。结果……依然百兆……
已经是有些崩溃了。主要是,接路由器可以跑通千兆但是有时会掉线,接交换机就只剩百兆了。属于是,千兆变成了百兆,但没有完全变成百兆。这就让我很迷惑。

4 问题解决

然后想起自己卧室里的端口不是正常的吗?试了试把网络拓扑完整地移到自己卧室里,全千兆跑出来了!

苹果speedtest找不到服务器_运维_08


然后去看了看光猫,想把光猫上接入客厅的那个端口接到卧室里试试。在拔线的时候发现光猫连客厅的那条线有些松动,但拔线的时候没在意。改完端口发现依然能全千兆。

然后猛然想到刚才那条松动的线,这个就是原因了!
于是把光猫上原来卧室的那个口换给客厅用再把线插紧了,把网络拓扑全部还原,全千兆跑出来了!

苹果speedtest找不到服务器_苹果speedtest找不到服务器_09


而且让PC2直连路由器,挂QQ三国挂了一晚上,发现竟然掉线的问题也被解决了!

所以最终的结论是:光猫上的网线接口松动了没插紧,导致了一系列诡异的现象。就这点小问题浪费了我三个小时。

但是线没插紧的之前,为什么接路由器可以跑通千兆但是有时会掉线,接交换机就只剩百兆了?细想了一下,以下是我的推测:
线材接触不良的时候,交换机、电脑网线接口识别到了,为了求稳定,自动降了一档,让千兆口跑在百兆的模式,这样就稳定了。但是红米AX5400依然很奔放地工作在千兆,由于线材接触不良,不稳定,所以导致了不定时的掉线。
至于上面提到的插网线后识别速度比平时慢,推测是因为网口相互识别握手的时候检测到不稳定,所以花了些时间检测和降档,保持稳定。

话说其实如果我不去怀疑那些设备的可靠性话应该很快就排查出来了……