无路由器企业

一篇关于未来网络的文章, 引用了多种类网状网络路由协议
  • Last Update:2015-06-02
  • Version:001
  • Language:zh

路由器 - 由思科,华为,Juniper等公司提供 - 是企业网络的奠基石,并且是一个最可能在激烈的国际竞争环境中被盗取贸易机密的入侵媒介。回到15年前,据说当德国政府发现美国政府一直在通过美国生产的路由器里安插的后门暗中监视他们在联合国的外交代表团之后 [1],他们就资助了GPG 开源项目CISCO 路由器最有可能包含后门 [2]。因为类似的原因,华为路由器在某些国家被严令禁止使用。 [3]. 并且阿尔卡特路由器看起来也没有少尝试安插后门 [4]。

在路由入侵的谣言暴露15年后,爱德华斯诺登的报告给电信设备中存在的后门提供了证据。但是,企业,政府和军方在非常敏感的架构上还是依赖于路由器,从而将他们自己暴露给了远程入侵和贸易机密盗窃。 自由软件路由器例如Linux路由项目 [5]是非常好的消除后门的解决方案,因为他们大部分的代码都可以经过审查。但是由于PC架构的局限性和专用于高性能网卡的开源驱动器的空缺,或者是太难于找到了解Linux kernel网络堆栈的开发人员, 他们在规模化和适配载体级可信度上还是失败了。Lost Oasis, 是一个独立的法国电信公司[6],在2000年早期曾经是Linux路由器项目的主要用户,可现在他们的支柱网络却依赖于专有路由器。

但是,有一个还没有被完全考虑到的可用于企业网络的备选方案:网状拓扑架构。

大多数的企业网络都是集中式管理的。他们是基于所谓的阶层式拓扑架构,即一个对于外界来说作为边界网关的中央高性能路由器从负责一个区域,或组织里一个部门的小型路由器那里聚集网络流量。这个中央路由必须提供非常高的路径选择性能,是只有非常专业的硬件可以达到的程度。

但是如果我们看细节部分, 也许也只有访问权限规则确实需要用到中央网络架构。网络路由通常可以拿来和交通管理相比较。例如从上海到深圳的车是没有必要通过北京的。对于网络来说是一样的:从一个集团部门到另一个部门的分组是不需要通过位于总部的中央路由的。一个好的车辆导航技术 - 例如高德地图 [7] 或谷歌地图 [8] – 驾驶员甚至可以实时知道走哪条小路可以规避高速公路上的拥堵。对于网络来说也是一样的:先进的路由协议可以自动规避堵塞的路由器上的网络延迟并及时找到一个更快的路径。

感谢一些先进的路由协议例如babel [9] 或 OLSR [10], 现在完全可以基于如上道路和车辆导航的比喻设计企业网络。每条网络电缆或无线网络就像网络数据包要通过的道路。每台电脑和每个智能手机就像十字路口。每台电脑和每个智能手机都嵌入一个路由服务,就如同追踪每条电缆或无线网络的网络流量速度的车辆导航系统。从公司一个地方传输到另一个地方的数据包于是就可以即时找到并使用最高效的路径。如果一个网络电缆要求访问一个总是拥堵的服务器,添加第二条电缆就可能解决拥堵,就像添加第二条通道可以解决去著名展览中心的拥堵情况。通过实时建议数据包使用最少拥堵的路径,流量自动在两条电缆上分开 - 对于一个服务器来说 - 或在两条道路上 - 对于一个展览中心来说。

刚刚描述的就叫做网状网络。它同样也闻名于其最具有复原特性的网络形式,因为它还可以在部分破损的情况下运行,而在阶层式企业网络中是不可能做到的。网状网络主要被军方用来在战场上快速部署一个无线网络。每个士兵的电脑都可作为相邻军人的路由器。 军人的伤亡不会影响到整个网络的使用。

但是网状网络也可以在数据中心中或在大面积的有线网络中有许多民用应用。

让我们想象一个有160个服务器的数据中心。让我们将这160个服务器分成32组,每组5个服务器。这5个服务器里的每个服务器都通过它的首个网络接口连接到一个无需配置的网络交换机。5个服务器里的每个服务器的第二个网络接口于是连接到其他5个组里面的一个服务器上。连接到每个服务器第二个接口的网络电缆一起形成了一个“超立方体”, 一种类似立方体(见下面图解)的五维度空间几何学结构。 一共320根电缆被用来相互连接160个服务器,形成了有巨大潜能的带宽和高恢复性:每个服务器都可以通过5个不同的出口路径访问另外一个组别的服务器。路由协议 - 例如babel - 实时找到这5个可能的出口路径中用来访问另一个服务器的最好的一条。

Example of application of mesh networking to data center management

图解 - 一个用于数据中心管理的超立方体网状网络 (贡献: Wendelin项目)

现在让我们来想象一个有1000名电脑和智能手机用户,以及30台分布于20个不同国家的服务器的企业。这个企业使用了多种网络技术的组合:光纤, 3G, 4G, DSL, Wifi等。 这种情况下,我们可以使用一种叫做“随机网状“的结构。每个电脑,智能手机或服务器都随机创建10个链接连接到世界上其它的电脑,智能手机或服务器上。每个连接使用某种例如GRE的网络封装。链接在这里就和之前数据中心例子中电缆的用途一样。路由协议 - 例如babel - 实时通过合并链接找到两个设备之间最快的路径。通过1000个左右的设备和每个设备10个链接, 这条路径通常不需要超过3段连续的链接。

由我公司发起的 re6st 开源项目就是实施这种基于babel“随机网状”方法的一个例子。它从2013年开始被用来解决经常发生在欧洲和日本大型企业的跨国在线商务应用部署中的故障问题 。路由在网络交叉点的配置通常包含错误,这些错误可能引起非常高的网络延迟(如从香港到香港用时800毫秒)或者造成连接丢失(如从都柏林通过阿姆斯特丹坏掉的路由到巴黎)。使用re6st可以帮助降低网络延迟(如从香港经过新加坡到香港用时100ms)或通过发现备选路径恢复连接(如从都柏林经过马赛到达巴黎)。所以它更好的提供了跨国公司商务应用的在线访问,而无需依赖多余的专有线路。

中国的网游行业可以作为另一个使用网状网络的应用。通过在所有的游戏服务器之间创建一个完整的网状连接并用re6st部署babel, 它可以规避中国南北之间,城市之间或电信公司之间的拥堵路径。Babel协议已经于2014年延伸至在低网络延迟的基础上优化路径,而这正是网游玩家所期待的。

网状网络还有许多其他的应用: 汽车行业的车载信息服务 [11, 12, 13], 分布式网状云 [14], 物联网,智慧城市,海军控制系统等。但是人们还是要注意网状网络的一个方面:安全。因为在任何分布式系统中, 系统的一个部分受到入侵,就有扩增到整个系统的风险。由于系统是分布式的,比起中央系统来说有更多的进入点。分布式网络架构的批评者通常指出这个风险来坚持保守的方法,但是也忽略了阶层网络中一个地方的故障就可以瞬间毁掉整个网络的危险性。

babel协议提供了加强安全性的首个解决方案:认证证书。感谢 俄罗斯Yandex工程师的成就, babel网络中所有的节点都互相认证:这减少了接收入侵者的风险 [15]。re6st提供了另一个解决方案: 链接认证 [16]. 没有持有经过验证证书的入侵者不能够在re6st网络中创建一个连接到其他节点的链接。re6st 还可以撤回系统受损节点的证书。对于大型企业或分布式云经营者来说,一个结合了中央防火墙政策定义和数据包过滤规则分布式实施的混合方法也许可以提供这两个世界里的最好解决办法。

我希望这篇文章可以提升你们的好奇心并引导你们研究更多,和有26年历史的大多数企业都在使用的OSPF(RFC 1131发布于1989年10月)相比有巨大进步的网络协议。还有许多和babel类似的协议值得考虑:AODV [17], batman [18], OLSR, RPL [19], etc. “Fair routing”, 一个从偏离网络流量中阻止有恶意的入侵者的算法[20], 也可以解决在建设一个完全安全的网络时未解决的问题。RINA [21], 一个由John Day 和 Louis Pouzin(激发了互联网的两位开拓者)支持的全新网络协议, 介绍了一个创新的方法,整合所有比IPv6更好的网络协议。总的来说,网络创新还是非常有生机的,并且在更高效地设计企业网络的运用上是非常有潜力的,只要有人去尝试摆脱传统硬件路由供应商的局限性。

参考文献

[1] GPG - http://en.wikipedia.org/wiki/Werner_Koch
[2] NSA blamed for adding backdoors to made in USA routers - http://www.numerama.com/magazine/29353-la-nsa-accusee-d-avoir-piege-les-routeurs-americains.html
[3] Huawei boss says US ban not very important - http://www.bbc.com/news/business-29620442
[4] Alcatel OmniSwitch 7700/7800 switches backdoor - http://www.acunetix.com/vulnerabilities/network/vulnerability/alcatel-omniswitch-7700-7800-switches-backdoor/
[5] Linux Router Project - http://en.wikipedia.org/wiki/Linux_Router_Project
[6] Lost Oasis - http://www.ielo.net/
[7] AutoNavi - http://en.wikipedia.org/wiki/AutoNavi
[8] Google Maps - http://en.wikipedia.org/wiki/Google_Maps_Navigation
[9] Babel - http://en.wikipedia.org/wiki/Babel_%28protocol%29
[10] OLSR - http://en.wikipedia.org/wiki/Optimized_Link_State_Routing_Protocol
[11] Carmesh - http://www.carmesh.eu/
[12] Ford working on car-to-car mesh network - http://www.extremetech.com/extreme/92532-ford-working-on-car-to-car-wireless-mesh-network-for-real-time-telemetry-government-use
[13] The Fully Networked Car - http://www.itu.int/dms_pub/itu-t/oth/06/10/T06100004020001PDFE.pdf
[14] VIFIB wants to host your cloud at home - http://www.pcworld.com/article/198755/ViFiB_Wants_You_to_Host_Cloud_Computing_at_Home.html
[15] RFC 7298 - https://tools.ietf.org/html/rfc7298
[16] re6st - http://lists.alioth.debian.org/pipermail/babel-users/2013-January/001132.html
[17] AODV - http://zh.wikipedia.org/wiki/AODV
[18] B.A.T.M.A.N. - http://en.wikipedia.org/wiki/B.A.T.M.A.N..
[19] RPL - http://www.bortzmeyer.org/6550.html
[20] A Fair and Secure Cluster Formation Process for Ad Hoc Networks - http://link.springer.com/article/10.1007/s11277-010-9994-7
[21] IRATI - https://github.com/IRATI

Contact

  • Photo Cédric Le Ninivin
  • Logo Nexedi
  • Cédric Le Ninivin
  • cedric (dot) leninivin (at) nexedi (dot) com
  • Photo Klaus Wölfel
  • Logo Nexedi
  • Klaus Wölfel
  • klaus (dot) woelfel (at) nexedi (dot) com
  • Photo Jean-Paul Smets
  • Logo Nexedi
  • Jean-Paul Smets
  • jp (at) nexedi (dot) com
  • Jean-Paul Smets is the founder and CEO of Nexedi. After graduating in mathematics and computer science at ENS (Paris), he started his career as a civil servant at the French Ministry of Economy. He then left government to start a small company called “Nexedi” where he developed his first Free Software, an Enterprise Resource Planning (ERP) designed to manage the production of swimsuits in the not-so-warm but friendly north of France. ERP5 was born. In parallel, he led with Hartmut Pilch (FFII) the successful campaign to protect software innovation against the dangers of software patents. The campaign eventually succeeeded by rallying more than 100.000 supporters and thousands of CEOs of European software companies (both open source and proprietary). The Proposed directive on the patentability of computer-implemented inventions was rejected on 6 July 2005 by the European Parliament by an overwhelming majority of 648 to 14 votes, showing how small companies can together in Europe defeat the powerful lobbying of large corporations. Since then, he has helped Nexedi to grow either organically or by investing in new ventures led by bright entrepreneurs.
  • Photo Ni Yan
  • Logo Nexedi
  • Ni Yan
  • ni (dot) yan (at) nexedi (dot) com