新电信 Singtel vs 星和 StarHub 宽带对比

Homelab Feb 6, 2021

新加坡常用的一共有三家电信运营商,新电信 Singtel,星和 StarHub 还有 M1。其实最常用的就是 Singtel 和 StarHub 了,最近刚换了 StarHub 的宽带,下面我可以简单聊聊这两个有什么不同。两家的套餐都是千兆速度起步,也就是 G 口宽带,实测速度也都有千兆。价格方面也都差不多,40 多新币每月,偶尔可能某家运营商做个促销,但是不会便宜到哪里去就是了。

实际网速体验

Singtel

Singtel 的地位毫无疑问,如果要对标中国的运营商,那大概就是中国电信级别的,起步早,骨干网四通八达,体现在使用层面就是连接世界各地都很快。甚至是在路由器上搭个梯子,或者挂 PT 速度都很快。

StarHub

StarHub 对比 Singtel,稍微有点逊色,如果要对标的话,相当于高配版的中国移动。体现在使用层面就是 StarHub 的路由表有问题,或者是海底光缆容量不够,访问中国的网站很卡,中国大陆访问过来也很卡。搭梯子访问速度感人,挂 PT 根本抢不到上传。

StarHub 提供 IPv6 地址,这点还是很让人惊喜的。实际使用中,略有一些小问题,因为操作系统默认会优先使用 IPv6,如果运营商线路优化的不够好的话,其实是不如成熟的 IPv4。

新加坡的网络运营商基本上都不屏蔽端口,所以自己搭建一个网盘,网站什么的架设在路由器旁边还是挺舒服的,并且上行下行都是 G 口,访问世界各地绝大多数地方速度都很快。

最终选择

TL;DR:选 Singtel。

关于 Singtel 和 StarHub 怎么选的问题,如果 IPv6 是刚需,那只能 StarHub,如果访问国内小众网站是刚需,那建议 Singtel。Singtel 除了没 IPv6 一切都好,而 StarHub 除了访问部分地区的速度慢以外,也是一切都好。对于普通用户来说,如果无特殊需求,选便宜的那个就行。高阶用户得根据自己情况自己做决定。

光猫和路由器

Singtel

Singtel 通常情况下是送一个光猫 + 一个路由器,但是光猫具有路由器功能,可以 DHCP 分配地址,而路由器只负责广播信号,承担 AP 的职责。光猫的型号是 HG8244H,路由器的规格是 AC1900 应该是华为生产的,两个设备的访问地址都是 192.168.1.254。AC1900 路由器在隔一堵墙的情况下协商速率就只有 768M 了,并且实际使用的话,Wi-Fi 永远也达不到千兆速率。

StarHub

StarHub 默认提供一个性能还不错的路由器,以前是 Linksys 的 EA7500 (AC1900),后来还有 EA8100 (AC2600),穿墙能力和协商速率性能都很强,并且都是 MU-MIMO。不过说个不严谨的结论,在千兆网环境下,MU-MIMO 的体验对比 SU-MIMO 并没有质的提升。

光猫改桥接

光猫负责路由功能的架构叫做 ONR,在这套架构下直接接自己的路由器的话,一不小心就会搞出来多一层 NAT,造成了性能浪费以及某些场景下连不通。如果想要彻底解决 NAT 的问题,需要做一个桥接 (Bridge Mode)。

Singtel

Singtel 的路由器关闭了DHCP,所以默认访问 192.168.1.254 会连到光猫的管理后台。另外光猫背后标签贴的账户 root 密码 admin 只是一个普通用户,不能改变光猫的工作模式,实际的控制账户密码是 telecomadminadmintelecom

改桥接的具体操作办法是用光猫的管理账户登录后台,有如下几个步骤:

  1. WAN Configuration 里面 的 WAN Mode 从 WAN Route 改为 Bridge WAN,并且
  2. Service Type 从 TR069_Internet 改为 Internet(如果选择框不可选,那么打开浏览器的审查元素,然后自由发挥)
  3. LAN Configuration 里面的 DHCP Server configuration,允许 DHCP 服务器 (Enable DHCP Server) 和 DHCP 中继 (Enable DHCP Relay)

随后即可从自己的路由器上获取公网 IP 以及做任何配置。详情可参考这篇文章 <How to set HG8244H in Bridge Mode>。

StarHub

StarHub 不存在这个问题,路由器会承担 DHCP 功能。这套架构属于 ONT,光猫拨号之后,随便一个客户端可以连接上去获取公网 IP,其实也就是相当于 Singtel 的 ONR + Bridge Mode。好处是不用自己配置桥接模式,可以任意安装路由器。Linksys 路由器硬件相比 Singtel 华为的那个要完爆几条街,不过里面的界面真的不忍直视,可以说功能开发的就很简陋。好在我也只需要端口转发和固定 IP 的功能。并且 2020 年 11 月 StarHub 还干了一件蠢事,给所有用户推送了一个有 bug 的路由器固件,mdzz。

路由器自动更新固件之后,网段从 192.168.1.0/24 变成了 192.168.10.0/24,有的网友家里配置的 static IP 全部挂掉。然后就是因为配置文件不兼容的问题,推送更新之后无法登陆路由器后台,一直卡在 waiting... 界面。解决办法只有一个,那就是 reset,然后手动配置。千万不要导入以前的配置文件,否则会继续登陆不进去。至于网段问题,建议就用 192.168.10.x,就算你这次改回去 192.168.1.x,因为 StarHub 内部的一些原因(据说是 IPTV 业务),早晚他们还得推送固件换成这个网段。网友吐槽请看 Help... is anybody using Linksys router? Are u able to login to your router interface page?

针对这次事故,基本上重置之后可以解决所有问题,重置其实也没想象中那么麻烦,对于普通用户来说,只需要备份 Wi-Fi 的名字和密码,reset 之后配置成以前的就可以无缝对接,不影响任何其他设备。对于高级用户,那就自由发挥吧。

IPv6 补充

IPv6 的地址是 128 位 (bit),也就是说总的地址个数是 2128 个,用数字表示的话是 340,282,366,920,938,463,463,374,607,431,768,211,456。IPv4 地址是 32 bit 也就是 232 个,IPv6 的总数是 IPv4 的 2(128-32) = 296 倍。这么说可能还是有点不够直观,如果用 IPv6 的总数除以地球的面积,每平方厘米,指甲盖大小的面积可以分到 6.65 × 1019 个 IP。

关于 IPv6 地址分配,一般有 DHCPv6 和 SLAAC,更通用一点的应该是 SLAAC,因为 IPv6 的容量实在太大了,很少有场景需要一个 DHCP 服务器来分配地址。IPv6 还有一些有意思的点,比如如果设备是 PC 或者手机,通常会有两个 IP 地址。一个是根据网卡地址生成的,另一个是一个临时地址 (RFC 4941),可以用来迷惑各种追逐软件。反之在服务器上,通常就只有一个 IPv6 的地址,可能是出于运维 DNS 方便考虑的,再就是服务器也不会被用来作为客户端访问其他网址,隐私泄露问题不存在。

关于客户端的 IPv6 地址规则,以前的设备确实是生成两个地址,一个作为永久 IP 识别身份,一个是临时用来发送各种请求,具体规则可以参考下图:

现在其实新款的设备也已经放弃了上述的机制,而是全面转为匿名 IP,不再从网卡地址映射,不过本地单播地址的后面 64 位 interface ID 仍然和公网 IP 保持一致。比如你的公网 IP 段是 2401:1111:2222:3333::/64,网卡地址是 00-02-b3-1e-83-29,如果这是一台服务器,那你的公网 IP 就是 2401:1111:2222:3333:202:b3ff:fe1e:8329 内网 IP 为 fe80::202:b3ff:fe1e:8329。如果这台设备是手机平板之类的,公网 IP 后面 64 位会根据规则随机生成,内网 IP 后面 64 位保持相同。

IPv6 前缀的分配情况可以参考下表,上文提到的 fe80 就是本地单播地址:

Allocation Prefix binary Prefix hex Fraction of address space
Global unicast 001 2000::/3 1/8
Link-local unicast 1111 1110 10 fe80::/10 1/1024
Unique-local IPv6 address 1111 110 fc00::/7
Multicast 1111 1111 ff00::/8 1/256

可以看到目前只分配了 200 开头的地址作为公网单播 (unicast) 地址,也就是大家最常用到的手机电脑服务器上显示的地址,据统计称截止 2021 年分配出去的 IP 占比只有 2000::/3 段的 0.061%.,下图是 IPv6 地址段更具体的分配情况:

Prefix Allocation RFC
0100::/64 Discard-Only Address Block RFC 6666
64:ff9b::/96 IPv4-IPv6 Translator RFC 6052
2000::/3 Global Unicast Address space Allocations made out of the 2000::/3 space can be viewed at http://bit.ly/ipv6-add RFC 4291
2001::/32 Teredo RFC 4380
2001:db8::/32 For documentation purposes only, nonroutable RFC 3849
2002::/16 6to4 RFC 3056
fc00::/7 Unique-local (ULA) RFC 4193
fe80::/10 Link-scoped unicast RFC 4291

再说回运营商,一般来说运营商会给路由器分配两个地址,一个地址作为路由器本身的 IP,一个 IP 段给路由器分配给家里的用户设备。这个 IP 段通常是 ::/48 的也有可能是 ::/56,至少也会是 ::/64 段。我家的路由器不显示具体信息,所以 StarHub 究竟是哪种我也不知道。具体到下发的时候,路由器一般会选择一个 ::/64 段给下面的设备用,所以大家的手机平板电脑收到的 IP 段一定是 ::/64,因为 interface ID 在 IPv6 里的定义就是 64 位。

Tags

Jie Li

🚘 On-road / 📉 US Stock / 💻 Full Stack Engineer / ®️ ENTJ