透过90年代网络架构看可扩展性云网络应有
时间:2020-06-22 12:08:39 来源:望德堂环保厂家 浏览量:6
透过90年代络架构看可扩展性——云络应有特点
本问讨论了Calico项目的目的平均每天接到的定单已经超过5张。 前景看好 “在我们的顾客中,以及探讨了用从上世纪90年代以来发展起来的络架构,三层络模型,L2与L3层转发模式,论证了如何基于现有基础,通过采用新兴的奶牛模式,来实现云络架构的可扩展性和高性能。
最近,有很多关于Calico项目的讨论,但是大多数讨论只是围绕着通过把现有互联基础架构应用到数据中心来实现扩展性和简化络架构来进行的。
然而,当审视这个项目时,还是有一部分人会用我称之为经典企业镜头的方式来进行,这种方式将会对Calico项目带来误解,或者将传统络模型应用到Calico上。其原因在于Calico是从一个非常不同的视角发展而来的,因此用传统模式来分析它不一定能奏效。
这些误解集中在三点,下面我会逐点展开。在此之前,我还是要指出,在可扩展式架构方法和经典企业架构方法之间还是有哲学基本概念上的差别。
提起经典企业架构方法,一些特质包括:当企业数据中心建设时,系统将会长期运行而且很好地自包含(self-contained);每个应用都会有各自的需求,因此会有非常客制化的架构设计,或者说架构模板会非常多;必须要在增长的复杂度和架构灵活度之间寻找最佳点;因为需求经常是静态的,因此,最佳点基本上需要合理的妥协。
随着可扩展或者云中心架构时代的来临,我们今天采用的架构知识表明:真实的基础架构需求更多时候是统一的(同样的协议,相似的存储模型,相似的计算模式),但也是更加动态和更加扩展化的。这就引出了我们常说的宠物和奶牛模式。不幸的是,络架构还是被当做宠物模式,被接受的模式还是试图将正在使用的,脆弱的,静态的设计模式一直到新的,可扩展式的,更少客制化的环境。明显的,向一个脆弱的,静态络模式注入可扩展性必将带来新的挑战。在Calio项目中,我们将在络上采用更多的奶牛模式,实际上,从云中其它模块(可扩展式,非常动态的,单一设计模式)中借鉴驱动 (drivers),从而整合成扩展性很好,可以用于公有云的络模块。我们相信这是一条通向云、可扩展环境的可选道路,它抛弃了不必要的复杂性,从而带来了动态和扩展性。
真正为大家所知的是Calico是可扩展架构,因此,比overlay方式更有效。但是更重要的是,对于一般的使用场景非常有效,只对必须的场景增加相应的复杂度。100%的纯粹架构功能设计相对简单,只要你并不在意复杂度带来的操作上的困难。目前的办法是为不同子采用不同的架构,在尽量不碰到麻烦的情况下带来最佳的效果。我们相信Calico项目正式朝着这个方向努力的。
关于Calico,最主要的三点建议是:
L3 vs. L2 and overlays vs. native
最近几个项目,我们听到很多关于Calico为了可扩展性回归了L2,或者Calico使用microsegmentation模式(一种从L3路由架构看起来更像L2层的模式) 。这两种说法,混淆了两个概念:
络上转发量子(quata)是什么?或者说转发系统基于底层包的哪个比特? (fabric)中是什么把转发节点整合成一个大络
让我们分开讨论。
络中什么是转发量子?
今天在可扩展或者云架构中,大部分应用产生的数据包都是IP包媒体发布会时间为7月31日下午。如果发现非IP包(或者IP相关,像 ICMP),那我就可能要拍砖了。。。IPX, NetBEUI, EtherTalk, Banyan Vines, ATM, and DECNet 等系统已经过时很久了 (我猜DECNet 有可能在一些暗黑角落仍然会生存一段时间). 当人们提到我需要L2络时候,更多时候意味着我需要一个私有IP络或者我不想为了这个应用改变从上世纪90年代就使用的架构。(好吧, 上世纪90年代令人窒息的, 三层结婚蛋糕似的络回归。)
因为IP是我们目前使用络的原子(quata),因此使用它作为转发模式才有意义。IETF选择L2OL3打包模式(PWE3,L2VPN等等),其原因就是:L3是现实中的标准,为什么不使用现实标准,在此之上打包呢(传统的L2)。但是他们忘记了,这种想问题的方法会走向死胡同,就如同将基于Ethernet的IP包包装在VXLAN上似的,有意义吗?效率可以接受吗?容易排错吗?如果我们真的认为Ethernet是正确的转发原子(quata),我们直接建一个L2络不可以吗?---哦,看起来我们曾经尝试过,但是并不成功,对吗?
使用IP作为转发原子(quata)带来一个问题,L2层分段的概念会丢失很多信息。在一个以太络,两个节点之间要么在一个段内是相连的,要么是不相连的。如果是相连的,他们之间可以转发,如果不相连则不能转发。 IP并没有一个段的概念(甚至是子段,将L2层段概念对应于IP地址段)。而在一个纯粹的IP段,路由器转发longest prefix match(最长前缀匹配) 一般来说IP地址可以被一组比特前缀分组, (例如: 192.0.2.0/24, 198.51.100.16/30, and 2001:db8:://128),这些分组跟底层物理拓扑没有任何关系,或者,可以说所有符合以上分组特征的地址从路由器角度来看共享一个路由 。因此,如果一个路由器有一条路由 192.0.2.0/24 是通过 interface 1, 而192.0.2.26/32 通过 interface 2, 那么所有的通过192
.0.2.0/24的流量都会通过 interface 1, 除非目的地址是 192.0.2.26, 会通过 interface 2. 这种方式允许一些在Ethernet无效的方式也可以被采用,使得microsegmentation的概念在IP络中真正有意义。
Calico方法有一些前提。所有(或者几乎所有)流量都是可以被转发的IP,IP地址不是写死的,而是采用某种自发现服务(比如,DNS)。这两种模式在业界至少有15年历史,也许我们可以让这种上世纪90年代的络技术用的更久。基于这种模式,Calico团队相信我们并不需要把IP流量打包进L2层,就如同将IP流量打包进其他络层(例如VXLAN,NVGRE等等),最后把他们又打包成另外一个IP包,这是完全没有必要的。我们和大家在谈论Calico项目,或者在大会,交流会上期望表达这一观点,因此,我们不希望也不会使用打包的方式作为Calico项目主要的传输机制。
内如何连接节点(:internal fabri)
一些不太理解路由络工作原理的人可能会说:Calico回归Ethernet是因为可扩展的原因。这和Calico站讨论物理、络拓扑的文档有关,这些可以从 here 和 here获得。
在互联架构编年史中,你会发现如何让背板操作和路由器更好的结合是一个长期的宗教式的战争。某些人使用switching方式(首先是 ATM,然后是Ethernet或者MPLS),其他人使用routing(比如PPP over SDH),其原因并不是某些人更聪明些,而是不同的操作有不同的需求和限制。IP络的优美之处在于几乎有无穷多的选择可以跟路由器相连,可以直连其它路由器(edge-router,或者core-router概念),从数据中心角度来看更像一个L3络;你可以使用switching,例如 Ethernet或者MPLS,前者最有代表的是L2层,后者则是以大型服务提供商为代表。实际上,你甚至可以采用 carrier pigeons (如果某个人可以为Calico实现IP over Avian Carrier,Calico团队会有大奖给你)。
使用IP转发设计,然后将计算节点、服务器、从节点都连接到路由器上,我们允许基础架构来决定这些服务器如何相连,并把这一决定对应用层隔离,或者简单说,我们可以将架构和应用解耦。
与做任何工程设计类似,要在很多因素中间做折中,基础架构设计必须要权衡这些因素,最终决定怎样在Calico路由器间互连。 (今天很多大规模部署Calico的客户使用Trident II based ToRs 作为L3互联的方式。不带路由聚合会产生128K IPV4的负载。对于没有很多路由聚合的长前缀匹配场景,除了仍然具有IP的匹配性外,仍然具有高扩展性)。
南阳治疗白癜风方法鸡西白癜风医院荆门白癜风医院哪家好
-
一定要警惕苏格兰牧羊犬健康的危险信号位置
苏格兰牧羊犬和我们一样在成长的过程中都避免不了生病,即使我们很用心的去照顾呵护它们,还是免不了一些意外的发生,一些大的问题我们必须要去...[详细]
2022-06-11
-
几天的萨摩耶眼白处微红怎么回事位置
大概10天前我家可乐眼白处微红,当时没在意.后来开始有少量眼屎,仍然没在意.现在眼白比之前更红了,还是有少量眼屎.其他生活起居一切正常,不耽误吃不...[详细]
2022-06-11
-
以上的猫死于肾衰竭治疗及预防位置
>猫只拥有两个肾脏,每个肾脏皆有输尿管连接膀胱器官。两个肾脏的合共功能通常都会较其在身体所需正常工作的功能为高,因此它们的肾脏功能非常好...[详细]
2022-06-11
-
都看的边境牧羊犬修剪大全集位置
想要自家的边境牧羊犬成为别人眼中的小明星吗,成为明星的首要条件就是要有一个美丽的外表,因此定期给边境牧羊犬美容修剪毛发是很重要的事情,...[详细]
2022-06-11
-
种可以与你狗狗分享的食品位置
我们都知道喂狗狗剩饭剩菜是很不好的,可是看着狗狗期待的眼神,又常常不忍心。那么有没有什么食物是可以与狗狗分享的呢?事实上,有些食品你可...[详细]
2022-06-11
-
种不同性格的圣伯纳犬你想要哪一种位置
人类分为很多不同性格的人,圣伯纳犬也有着不同的性格特点。根据狗狗的性格特点,主要分为7个种类:恬静型、兴奋型、凶猛好斗型、活泼型、被动防...[详细]
2022-06-11