WIX:分布式互联网交换

作者:Richard Hulse

惠灵顿是新西兰的首都,拥有世界上最古老且可能是最大的分布式互联网交换中心之一。它建立在 Citylink 公共 LAN 基础设施之上。在本文中,我们将探讨这一切是如何开始的,以及 Linux 在其日常运营中扮演的角色。

历史

回到 1980 年代,时任惠灵顿市议会 IT 经理的 Richard Naylor 遇到了一个常见但棘手的问题——一个数据中心的 VAX 集群过度使用,而城镇另一端的另一个中心则未充分利用。他想出了一个在当时独一无二的想法:在两栋市政大楼之间铺设光纤电缆,并以这种方式共享处理资源。这个想法非常新颖,以至于不得不从奥克兰空运一名接线员来对现在古老的开槽芯电缆进行拼接。

Naylor 使用 DECBridges 设置了 10Mbps 以太网连接,网络本身在 10-base5 和少量 10-base2 上运行 DECnet。当时终端占据了大部分负载,因为 PC 无法联网。总体思路奏效了,系统在 1989 年升级到 10-baseT,并添加了 IP。

在 1990 年代初期,Naylor 的想法引起了时任市长 Fran Wilde 的注意,她对 Naylor 和同事 Charles Bagnall 在所谓的“业余时间”里所做的事情很感兴趣。Wilde 市长曾参加过当地一所中学的演出,并注意到一位休班的 Naylor 正在互联网上直播该演出。

在与 Naylor 和 Bagnall 交谈后,Wilde 开始理解什么是可能的。他们的设计和光纤的使用可以用来为城市提供宽带基础设施,而该计划成为惠灵顿市 25 年战略的关键组成部分。

不久之后,包括市议会在内的 17 位投资者每人出资 5,000 美元,并从惠灵顿市的一端到另一端铺设了三卷光纤电缆。电缆于 1996 年 11 月和 12 月沿着架空无轨电车电力支撑电缆铺设。主要目标是提供基础设施,以促进当地商业社区的更大发展。

在最初几年,Citylink 以每年 100% 的速度扩张——连接的建筑物数量翻了一番。在某个时候,该团队在十周内连接了 50 栋新建筑物。

1997 年,Naylor 离开市议会,帮助将 Citylink 成立为一家独立公司。最初的客户是政府部门和金融企业,因为中央政府位于惠灵顿。后来的客户包括出版商和 IT 公司。ISP 从一开始就在那里,许多 ISP 使用光纤基础设施作为以低成本向城市客户提供真正宽带的方式。我应该在这里指出,Citylink 不认为家庭 1Mb 和 2Mb 连接是宽带;它更倾向于从 10Mb 开始。Citylink 可以在光纤基础设施上的任何位置提供 10Mb、100Mb 或 1,000Mb 连接。

在最初的电缆铺设近十年后,惠灵顿中央商务区内现在存在大约 50 公里(30 英里)的电缆。连接了 300 多栋建筑物。

基础设施

Citylink 光纤网络最初与来自不同供应商的一堆奇怪的交换机和集线器互连。随着时间的推移,这些设备已被逐步淘汰,并更换为思科交换机,主要是千兆核心上的 35xx 和 29xx。

Citylink 现在提供两项主要服务:暗光纤和以太网。暗光纤服务允许建筑物之间的点对点连接。每个客户都可以独占使用自己的光纤,并且可以在任一端连接所需的任何设备。目前,暗光纤的运行速度高达 1Gb/s。以太网服务是最广泛使用的服务,允许客户连接到全市范围的“共享以太网”。

报纸出版商 INL 是 Citylink 的第一位客户。该公司使用暗光纤将其公司办公室连接到其惠灵顿办公室,并使用以太网连接回惠灵顿市议会办公室。从那里,通过微波链路连接到惠灵顿维多利亚大学,从而可以访问公共互联网。当时,Citylink 仅参与提供基本的第 2 层以太网基础设施。

路由 101

互联网交换中心在光纤以太网基础设施之上运行。在我们详细了解这一点之前,让我们简要介绍一下一些路由基础知识。网络上的路由器接收数据包,每个数据包都有自己的目标地址。路由器检查其内部地址列表(路由表),以查看是否存在到达该目标的路由或路径。如果存在,则将数据包发送到指定的地址。这可能是最终目的地,也可能是一个网关——另一个路由器,它重复该过程并再次发送数据包。

传统的互联网交换中心让参与者连接到单个位置,并且每个参与者都有一个路由器。路由器的一侧通过公共以太网骨干网连接到所有其他路由器。另一侧连接到参与者自己的网络基础设施(图 1)。

WIX: a Distributed Internet Exchange

图 1. 一组路由服务器——左侧为 IPv4 (Soekris 4801),右侧为 IPv6 (Soekris 4501)。

每个参与者都有一个 IP 地址列表,这些地址代表它可以访问的网络。每个路由器在公共骨干网上都有自己的 IP 地址。这些地址通常对外部世界是私有的,并且充当每个参与者网络的网关。

有趣的是,最初广泛使用的 Citylink 路由器基于标准 PC 组件,具有 LS/120 软盘或运行 Linux Router Project (LRP) 的磁盘芯片启动机制。这些仅部署用于使用无线接入点的客户。

进入 BGP

边界网关协议 (BGP) 对于互联网的运行至关重要,因为它通过称为通告的过程自动化了路由的共享。相邻路由器建立 BGP 会话并将其网络通告给其他路由器。这有点像一个路由器对另一个路由器说:“这是我的 IP 地址。如果您有任何以下目标地址的流量,请将其发送给我。” 然而,BGP 并不止于此。路由器还共享他们从其他路由器收集的信息。他们说:“我也知道如何将流量发送到其他一些网络。也将其发送给我。”

典型的互联网交换中心与互联网的其余部分不同,而是使用内部网关协议 (IGP)。此协议不将信息传递给其他路由器——它仅通告其连接的网络内的路由。路由器说:“您可以将这些地址的流量发送给我,但您不能将该地址信息传递给任何其他路由器。”

Citylink 交换中心

1998 年,Citylink 开始致力于在公共以太网上部署基于 BGP/4 的互联网交换中心。关键设计标准之一是低准入门槛。因此,Citylink 团队退后一步,从逻辑的角度审视了交换问题:交换的核心要求是什么?他们如何利用现有的光纤基础设施来创建一个环境,以鼓励尽可能多的人加入?通过交换中心交换流量称为对等互连。

Citylink 方法的一个关键组成部分是将路由器放置在客户连接到光纤基础设施的点,而不是在中心位置。然而,BGP/4 功能路由器的选择不多——您基本上购买了思科或思科(图 2)。

WIX: a Distributed Internet Exchange

图 2. Citylink 光纤(黄色电缆)转换为铜缆(蓝色),用于分发给客户端。

WIX: a Distributed Internet Exchange

图 3. 典型的光纤交换点,在惠灵顿周围的许多 PABX 房间中都可以找到。

由于交换中心是分布式的,Citylink 需要一种低成本机制来允许人们进行对等互连,因此他们开始使用 Linux 上的 Zebra 作为思科的替代路由平台。

由于客户机柜中的空间有限,并且需要在合理的时间段内能够购买相同的硬件,Citylink 现在已标准化为两个系统。来自 Soekris Engineering(4501 和 4801)的板卡用于高达 30Mb/s 的路由器,而 Nexcom P4 GigE 和 VIA 100Mb 板卡用于 100Mb/s 连接以及在良好情况下高达 300–500Mb/s 的连接。Linux 嵌入式设备防火墙 (LEAF) 构成了 Citylink 路由硬件上使用的所有软件的基础。

客户可以使用 Citylink 路由器或任何适合其需求和预算的路由器。正在使用各种各样的路由器——从低端的 Dlink 和 Xyzel 到高端的 Juniper 和 Cisco 设备。很多人也使用自己的 Linux 和 *BSD 设备。使用基于 PC 的路由器确实限制了网络接口的选择,但这对于仅使用以太网的 Citylink 来说不是问题。

除了将硬件下放给客户场所外,整个交换中心的路由表还通过路由服务器进行管理,我将在本文后面解释其操作。

新的交换中心被命名为 WIX,即惠灵顿互联网交换中心。连接需要支付固定的月费,而光纤网络上的流量是免费的。由于网络通常直接经过潜在用户的门口,因此任何人都可以轻松连接和对等互连。这正是发生的情况——即使是以前在传统模式下永远无法进行对等互连的最终用户现在也可以进行对等互连。对于所有交换中心用户,访问全球互联网仍然需要从至少一家 ISP 购买“transit”(访问全球互联网路由表)。

开放的对等互连方法对流量和延迟产生了巨大影响。当互联网最初在新西兰起步时,该国唯一的交换点怀卡托大学也是整个国家的国际网关。惠灵顿的两家想要交换数据的企业会将数据发送给各自的 ISP,然后 ISP 将数据上游发送到怀卡托。这种情况的路径时间通常为 50–200 毫秒。当 ISP 开始在惠灵顿直接交换数据时,这个速率降至 20 毫秒。最终用户对等互连又将其降低了十倍,降至 2 毫秒。

除了更短更快的网络路径外,通过交换中心通过 Citylink 发送的流量不收取任何费用。ISP 永远看不到流量,因为交换中心通过最短路径将其定向到请求方。

许多印刷公司在 WIX 上进行对等互连,并免费交换大量的出版文件。一家当地报纸在 WIX 上运行一台 FTP 服务器,印前公司可以将文件上传到该服务器。一些图形公司还为其客户运行媒体存储,并且可以免费浏览这些媒体存储,就好像它们是客户自己的 LAN 的一部分一样。这些只是光纤基础设施和 WIX 如何帮助当地企业降低成本、扩张和创新的一些方式。

WIX: a Distributed Internet Exchange

图 4. 电缆从架空无轨电车支撑物延伸到建筑物阳台上的连接点。免费交换大型文件的能力有助于当地企业节省资金并提供新服务。

分布式交换环境已被比作一个市场广场——任何人都可以交易其商品,而无需支付参与费用。然而,并非所有人都选择公开对等互连,并且交换中心支持所有类型的参与。许多 ISP 仅与已建立的客户交换流量,而忽略任何其他流量。有些人只是将 WIX 用作与另一方交换数据的中立点。

大约有 130 个实体在 WIX 上进行对等互连,其中近 1,000 个实体使用 Citylink 光纤进行私人用途或公共互联网连接。然而,鼓励对等互连也有缺点——大量的参与者意味着需要管理大量的路由表。

Linux 的多种用途

为了简化数百名 WIX 用户的路由更改,Citylink 部署了两台路由服务器。与其必须与 WIX 上的每台路由器进行对等互连,不如选择仅与路由服务器进行对等互连,这大大简化了每个人的路由表维护。这样,每个客户端路由器只需维护两个 BGP 会话——每个路由服务器一个,而不是数百个路由器。

路由服务器(图 1)根本不承载任何流量。它们只是将路由从一个对等方反射到所有其他对等方。令我惊讶的是,这些服务器基于与路由器使用的相同的 Soekris Engineering 制造的小型无盘 266MHz 奔腾主板。LEAF 安装在 compact Flash 上,以实现可靠性和快速启动。Quagga 路由软件套件用于提供 BGP 服务,内核处理数据包路由。

两台路由器用于冗余,用于 IPv4,第二组路由器为 IPv6 提供服务。Citylink 维护自己的路由注册表,并使用路由策略规范语言 (RPSL) 来管理 IPv4 路由器。已经开发了一组 shell 和 Perl 脚本,这些脚本使用 RTCONFIG 为 Quagga 软件构建配置文件。所有这些都使 Citylink 可以严格控制对等方可以向服务器通告的内容,并确保在需要时可以快速部署替换项。整个过程使用版本控制系统 (RCS) 进行管理,以允许进行备份并确保一致性。

WIX 上的参与者只能通告其自身网络边界内的那些地址空间。路由服务器重新通告他们学到的内容,并过滤掉永远不应路由的地址,这些地址称为 Bogons。这些地址的示例包括环回地址 127.0.0.1/8;为专用网络分配的其他地址,例如 172.16.0.0/12;以及未分配的地址。

目前,IPv6 路由器是手动维护的。然而,当 IPv6 的 RPSL 标准化后,并且所需的工作量充分增加时,将使用脚本。

任播但并非无处不在

在 WIX 及其位于奥克兰的姊妹交换中心 APE 上部署的一项有趣技术是任播路由。任播路由的一个很好的例子是最近在 WIX 上添加了根域名服务器的镜像。由于 BGP 和任播的工作方式,对根服务器的查询会自动转到最近的镜像。如果 ISP 在 WIX 上进行对等互连,它可以获得 2 毫秒的 ping 时间。国际路径超过 200 毫秒,因此这是一个巨大的改进。

当地媒体公司也使用任播技术在交换中心上以较低的边际成本向 ISP 提供内容。ISP 无需通过昂贵的国际线路传输客户请求的内容,而是可以在本地获取内容。

任播还可以用于将流量的分配限制为仅限本地网络。这方面的一个例子是指环王:王者归来首映式游行,该游行使用任播路由从惠灵顿市中心进行网络直播。在五个小时内,新西兰客户请求了大约 12 TB 的数据,并且这些内容是免费提供给 ISP 的。还从美国的服务器为国际观众提供了流媒体的镜像。另一个例子是提供软件镜像,例如 Citylink 使用的发行版 Debian 的镜像。

Citylink 最大的创新之一是在惠灵顿的咖啡馆和一些商业场所提供无线互联网连接。第一个接入点安装于 2002 年 6 月,该服务于当年 11 月正式推出。目前,有 200 多个接入点在运行(图 5)。

WIX: a Distributed Internet Exchange

图 5. CafeNet 接入点。天线是盒子右侧的小白杆。

Wi-Fi 技术如何造福社区的一个很好的例子是最近在 Mary Potter 临终关怀医院为绝症患者安装无线接入点。使用两台移动手推车上的笔记本电脑,让患者与家人保持联系,或者只是在自己的时间在线阅读资料。

总结

Citylink 还运营奥克兰对等交换中心 (APE),该中心约有 40 个对等互连参与者。最近新增的是北帕默斯顿互联网交换中心 (PNIX),尽管它目前只有一个参与者,但可以作为内容提供商镜像服务器的场所。计划在不久的将来在新西兰的其他地区建立其他交换中心。

Citylink 发现 Linux 非常容易适应公司需要的任何操作。拥有运行 Linux 的“智能”路由器意味着可以部署更深层的防火墙;它还使员工可以访问更好的调试工具。例如,如果需要,可以使用 TCP Dump 实时检查通过路由器的流量。

Linux 和其他开源软件的使用一直是创建经济实惠的公共以太网和低准入门槛分布式互联网交换中心的关键推动因素。它将继续允许交换中心的数量增长,并促进新西兰其他中心的创新和协作。

本文资源: /article/8265

Richard Hulse 是一位广播员,居住在新西兰惠灵顿。他目前正在从事多个 IT 项目,这些项目涉及使用 Linux 在不同的系统之间架起桥梁。

加载 Disqus 评论