21天入坑家用光(二):码农初尝通信坑 单模双模不会分

上回说到,我搬到了新家,装好了两条宽带,但却没有提到光改的事情。这回就从头开始,讲我是如何被光纤坑的。

光网通信基础常识

在开始组网之前,我们首先还是得了解一些基本常识。这些常识很重要,不然你都听不懂大佬们在说什么……

SFP 和 SFP+

光网里用得比较多的接口是 SFP 和 SFP+,而听名字你也知道,后者是前者的升级版。常见的 SFP 接口能支持 1.25G/2.5G 的速率(好像标准最高能到 4.25G),而 SFP+ 则能支持到 10G。

由于我对电口网线的 RJ45 接口比较熟悉,而我又听说过 SFP(+) 是光口,那么我想当然地以为,SFP(+) 就是光纤的一种接口,把光纤插进去就行了。这显然是错误的,因为 SFP(+) 事实上是一种电信号接口,它一般配合一种常被称为“模块”的设备一同使用,以支持光信号的收发。

SFP(+) 模块

那么什么是“SFP(+) 模块”?简单说来,模块是一个有两头的长条形设备。一头(屁股)是 SFP(+) 接口,另一头(脑袋)则接口多样,常见的是不同的光纤接头或者 RJ45。

下图就是一个常见的 SFP 模块:

一个 SFP 模块

By Adamantios – Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=869649

其中右边一头是 SFP 接口,左边一头则(大概)是某种双纤接口。这个东西用起来也很简单,把它插入交换机或者网卡的 SFP(+) 笼子里,再接上光纤,大概就会变成这样:

一个插入光纤的 SFP 模块

By photography by Christophe.Finot, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=50571220

需要注意的是,SFP 模块插到 SFP+ 的笼子里去是可能正常工作的,但 SFP+ 的模块插到 SFP 的笼子里是一定工作不了的。

另外,如果你要把模块取下来的话,先拔掉光纤,然后观察观察光纤口附近,一般会有个扣子或者什么金属的东西,把它抠下来用力往外拉就能取下来了。

模块的存在,让你可以自由替换传输介质而不用更换网卡,将网络的部分归网络,通信的部分归通信,真是好文明。

单模多模,单纤双纤,LC,SC,FC,ST……

那么,买两个 10G 模块,再买一根光纤,大概就能组上光网了!——我本来是这么想的。

然后我被迫面临选择:啥是 LC?啥是 SC?多模又是什么?单模又是什么?这个单双纤又是什么?为什么还有传输距离?

这些问题直到现在我也无法回答orz。但我觉得只要知道这么几点,就能正常地组网了:

  1. 单模多模、单纤多纤,需要成对买,两头的参数要对上;比如这头是多模,另一头必须也是多模
  2. LC, SC 这些只是光纤的接头,模块和线能对上就行;不过一般也是两头一样的
  3. 传输距离,反正大于自己要传输的距离就行了;家用场景都够用的
  4. 如果两头都是 SFP(+),并且距离不超过 20 米,那也可以采用 DAC 线;DAC 线不是光纤,里面是电缆,两头有模块,模块和线是连在一起的,不能拆开;这种跳线一般会有个带子,想拔下来的话拉住带子即可,和模块的金属扣差不多

ONU, GPON, EPON

这些就是运营商的光纤组网所需的名词了。ONU 简单来说就是你的光猫,GPON / EPON 则是大规模光纤通信中,不同的组网方式。PON 是被动式光网,换句话说从运营商的机房直到你家光猫,中间的路上是不需要任何电力的,只需要用分光器之类的物理元件来处理光信号,一般来说上行是时分复用,而下行是广播,也就是说其实你家是可以收到邻居的光信号的,酷不酷炫?

GPON 和 EPON 对我们来说主要就是速率的区别了,前者下行约 2.5G 上行约 1.25G(你看因为上下行通信方式不一样,速率也可以不一样),后者上下 1.25G。还有一些 10G-EPON 和 10/1G-EPON 的,因为我家两条宽带都是 GPON,这里就没有具体了解了。

和拨号不同,PON 是个挺通信的事情,协议封闭晦涩,一般都是由 ONU 来完成。倒也不是没有软件的,就是兼容性和性能都比较拙计,基本上没法用。

布线

因为我的主要活动场所是书房,而光纤接入在客厅(没有弱电箱,而是随便放在电视柜上),所以书房到客厅这段距离我希望是纯光信号的。

在光纤的选择上,因为中间要绕过两三个门,我又不想让它太难看,于是选择了所谓的“隐形光纤”,非常透明,也非常细,布线之后基本看不见。

隐形光纤

光纤本来是想用理线扣去固定的,结果买来的最小型号也太大,最后干脆就用透明胶带贴了一下,好像也没什么毛病……

这里我买了两个 SFP+ 的 LC-LC 单模单纤模块,淘宝二手价一百多,光纤也是直接买的 LC-LC 接口的单纤,15米也就二三十块钱。布线的时候主要就是不要弯得太厉害,否则光纤容易断,别的也没啥了。

光交换机

当然,你需要有一台支持 SFP+ 接口的光交换机或者网卡才能用上光网。我一开始有一台老的 RB260GS,它有一个 SFP 口和 4 个 1G 电口。我把它线布好,然后插好,好的,完全不工作……你看,刚刚我说了,SFP+ 模块插到 SFP 口里,不可能工作的。

于是我的首次光组网尝试就这么失败了……过了两天,购入了新的 MikroTik CRS305,它有 4 个 SFP+ 口和一个电口,将模块插上去,设备显示为 link up,终于工作了。

然后跑个测速吧:

光网 iperf3 上行
光网 iperf3 下行

等等,为什么下行只有 700M ?

研究了一会儿 MikroTik 的后台,发现统计指标里光口的 Tx Pauses 一项特别高:

很高的 Tx Pauses

Google 了一圈,找到一个和我一样的苦主,底下有人做出了详细的解释

For the part where you’re confused about the speeds tanking when you use non-10Gbit/s interface speeds: I fear this might be due to the link rate difference.

Forwarding is easy when link rates are equal (just move the frames from 1 port to another), but it’s a lot more complicated when they don’t. Anything delivered on 10 Gb/s will need to be buffered so it can be sent out over the slower link in due time.

Now, a major problem of MikroTik devices is that they have really really small buffers in the switch fabric. You’ll have to Google for the exact numbers, but see e.g. this overview of buffer sizes of enterprise equipment. You’ll note they’re in the order of tens of megabytes, I believe MikroTik’s are a few hundred kilobytes at best…

I think the poor rates you’re seeing are a result of 10 Gb/s transmissions overflowing the CRS’s tiny buffers. Google ‘microbursts’ and you’ll also find many people complaining about this on the MikroTik forums.. Also check the interface statistics for any dropped frames (I think it might be visible there).

tl;dr MikroTik is useless if link rates aren’t equal

大意就是你 10G 转发 1G 不要用 MikroTik 的交换机,否则会很惨,因为他们给的缓冲区太小了。WTF?

总之……没有总之,700M 也不是不能用,先用着,再给电脑买个 10G 的网卡压压惊吧。

(P.S. 后来发现,改用 routeros 可以绕过这个坑,测速能 G 口跑满。)

网卡

深水宝淘了一会儿,找到一款 CX341A 单口的网卡,原来是 OCP 接口,带一个 OCP-PCI 的转接板只要 85 块钱,感觉不错,下单购买;再配一根 1.5m 长的 DAC 线,用来连接电脑和交换机。

装好网卡,连好 DAC 线,开机。Windows 正常识别,直接使用:

Windows 网卡截图

然后跑个 iperf3 试试:

cx3 iperf3 下行结果

……只有 3.5 G 不到,而上传速度呢:

cx3 iperf3 上行结果

反正……我暂时不知道哪里出问题了。好歹下行超过 1G 了,搞不明白,暂时不影响用,先搁置吧。

在文章写完之后的N天,我发现我安装了一个叫 Turbo LAN (cfos speed) 的东西。卸载之后,跑 iperf3 已经完全正常了:

很悲惨的故事……

这个故事告诉我们:不要随便相信老牌软件,他们可能已经落后这个时代了……

那互联网呢

唔,确实,现在内网大于 1G 了,互联网还是 900Mbps,还是挺坑的。接下来我会介绍和互联网相关的改造部分。

文章系列:

评论

还没有评论。

发表评论

发表评论代表你授权本网站存储并在必要情况下使用你输入的邮箱地址、连接本站服务器使用的 IP 地址和用户代理字符串 (User Agent) 用于发送评论回复邮件,以及将上述信息分享给 Libravatar Akismet,用于显示头像和反垃圾。