ONF成员曾经都说SDN能够解决的网络架构问题是思科的一道坎,甚至很多初创企业都渴望通过SDN变革崭露头角,面对挑衅思科很快推出了新的解决方案,看思科ACI如何解决当前网络局限性。 思科ACI可以解决ONF白皮书中列出的所有传统网络局限性。思科ACI解决了这些局限性: ●复杂性: 思科ACI消除了网络的复杂性。通过允许网络路由和交换完全分布在整个架构,思科ACI可以从转发解耦策略。思科ACI数据包转发利用商品芯片和定制芯片组合来提供标准VXLAN桥接和路由,没有性能损失,或对用户及应用程序的负面影响。 此外,思科ACI可以应用策略,而不需要从网络信息(例如IP地址)提取这个信息。它向每个VXLAN帧提供16位ID来识别数据包的源组,这种方法为最终用户提供了灵活性,用户无需丰富的网络知识就可以修改网络策略,并且不会影响网络转发。 思科ACI通过引入一个抽象模型(基于组的策略)进一步简化了策略,让用户可以使用更高级别的抽象结构来定义连接,而不是具体的网络语义。这种模型让思科ACI的最终用户可以定义策略规则,而不需要网络知识,让应用程序管理员和开发人员可以直接通过思科ACI策略表达他们的意图,而不需要涉及IT网络管理员。 ●不一致的策略: 在大型网络管理网络策略的最大挑战之一是,保持大量设备策略配置的一致性。思科ACI通过APIC解决了这个问题,APIC作为思科ACI及相关物理和虚拟服务的管理中心店和中央策略权威。最终用户只需要向APIC指定对基于组策略的期望意图,APIC就会分配该策略到所有节点,如图5所示。 ▲使用思科APIC部署策略 思科APIC采用了一种允诺理论,完全分离抽象逻辑模型和实际模型,没有对实际实体执行配置。这种允诺理论确保了策略一致性。 ● 难以扩展: 思科ACI可以透明地扩展,支持连接、带宽、租户和策略变更。思科的主干分支拓扑结构支持向外扩展设计方法。如果需要传统物理连接,可以添加分支节点,将它们连接到主干。同样地,如果需要额外的带宽或冗余性,则可以添加额外的主干节点。这种扩展部署模型还允许最终用户从小处着手,随后扩展到更大的环境,从而降低初始资本支出。然而,添加新的设备节点并不意味着增加管理点的数量。在通过APIC注册新设备到ACI后,最终用户可以从APIC管理整个架构,包括新设备。新设备的添加不需要管理员的干预。 租户和策略也采用了向外扩展的做法。策略被集中存储在架构中,并根据需要渲染到架构节点。思科APIC策略库本身就是一个向外扩展的集群数据库。它可以在单个集群中从3个节点增加到31个节点,这取决于租户和策略的要求。即使是传统集群节点,所有节点都被认为是活跃的,策略可以在任何集群成员中进行管理。 ●供应商锁定: 完成的思科ACI部署可能包括4-7层服务、虚拟网络、计算和存储资源、WAN路由器以及北向编排服务。思科ACI的主要优势是它的开放性,及其发布的API、4-7层网络设备封装,以及使用开放OpFlex协议。通过这些开放的API、插件和协议,最终用户可以逐渐增加功能到其解决方案,而不需要等待供应商来推出新功能。 思科ACI满足SDN的要求 如前所述,ONF已经指出需要新的网络模型来解决计算领域的新兴趋势。其中的解决方案是SDN,SDN被定义为“一种计算网络方法,允许网络管理员通过抽象化较低级别功能来管理网络服务”。 思科ACI解决方案满足SDN的定义要求,但为了满足SDN的要求,它还必须适应计算领域的新兴需求,这包括: ● 不断变化的流量模式: 如前所述,数据中心内东西流量在不断增加,下一代数据中心需要对这种工作负载进行优化。思科ACI采用主干分支架构,非常适合东西工作负载,帮助确保一致的延迟性和性能。 现代数据中心的另一个要求是,随时随地可以访问内容。思科ACI通过其无性能影响的网络覆盖来满足这一要求,它允许应用程序和服务随时随地部署。它也非常适合于公共云、私有云或混合云部署。由于连接策略从网络转发抽象出来,更高层云编排平台(例如OpenStack、CloudStack和微软AzurePack)可以管理服务,而不是底层基础设施。 ● IT消费化: 思科还可以从很多方面帮助企业应对BYOD趋势。首先,这个基于组的策略模型中内置了安全性和合规性;应用程序管理员必须明确授权给外部访客才能使用应用或服务。其次,对安全策略的审计变成很简单的工作,因为策略被定义在抽象的基于组策略中,而不是在具体的安全访问列表或访问权规则中。最后,基于组的策略可以迁移到网络其他领域,例如园区和分支办事处。 ● 云计算服务的兴起: 通过从底层基础设施抽象应用程序、安全策略和IT服务,思科ACI让企业IT部门可以轻松部署私有云。通过基于组的策略,企业客户可以花更多时间创建连接策略,而不需要管理单个网络设备。此外,很多IT部门都会喜欢这种自助服务模型,并更可能部署它,因为他们可以保持对其敏感内容的控制权,而不是把控制权交给公共云。然而,如果企业稍后想要转移某些工作负载到公共云,思科ACI基于组的策略可以让企业轻松地移动网络和安全策略;只要很小的修改,一致的基于组的策略配置文件定义也可以存在内部部署的私有云以及托管云中。 ● 大数据需要更多带宽: 思科ACI为托管大数据工作负载提供了最佳解决方案。除了提供可预测的低延迟,思科ACI还提供具有成本效益的向外扩展架构,允许最终用户逐渐增加带宽—通过添加额外的主干节点。另外,通过添加分支节点,还可以向大数据集群添加更多计算节点来提高性能。同时,思科ACI使用分布式拥塞感知负载均衡(CONGA),可以更有效地使用其架构带宽。这个机制为网络密集型应用程序减少了数据流完成时间。 思科ACI还提供了最终用户试图在SDN解决方案中寻求的其他功能,包括: ● 自动化配置和管理: 思科ACI提供对网络基础设施的自动化配置和管理。架构管理员可以透明地增加主干或分支节点到思科ACI架构,而不需要对设备本身的任何配置。思科APIC基于组的策略模型还可以实现对合作伙伴解决方案的自动配置,让最终用户不需要手动和单独管理这些设备及系统。 ● 能够部署网络端策略: 思科ACI将整个系统作为单一实体来管理,任何网络端策略(无论是物理、虚拟还是4-7层网络服务相关的策略)都可以通过APIC来定义、部署和管理。 ● 提高安全性: Cisco ACI is multitenant aware. 安全性是应用为中心的模式的一部分。只有策略管理员通过基于组的策略定义哪些组可以通信,每个组可以使用哪个管道来通信,各组之间才可以连接。思科ACI可以支持多租户,不同租户的流量、连接和策略可以共享相同的基础设施,而不会在租户间泄露信息。思科ACI中所有可管理实体(被称为对象)都有独特的权限,管理员可以使用RBAC定义分配非常具体的安全控制。 ● 对使用网络的应用程序的更多可视性: 应用程序的定义直接以组策略配置文件(被称为应用网络配置文件)的形式提供给思科ACI。从这个配置文件中,思科ACI可以收集关于网络依存关系的信息,并了解特定应用程序的执行情况,因为ACI正在监控底层对象。 ● 提高可扩展性: 思科ACI架构的动态性质、使用向外扩展主干分支架构和集群数据库等特点让思科ACI成为当今市场上最具可扩展性的SDN解决方案。此外,思科ACI可以使用终端位置信息来渲染硬件中的策略到执行点,即终端连接的点。此功能允许更大的可扩展性,而不需要过度配置策略资源。 ● 动态创建和移动虚拟机: 思科ACI架构允许虚拟机灵活部署,无限制的虚拟机移动。思科ACI还创新地实现虚拟机移动的透明度。 ● 创建私有或混合云: 对于想要部署私有云、公共云和混合云的企业而言,思科ACI是非常好的解决方案。大多数思科ACI早期部署者都是公共云服务提供商。除了可扩展性、安全性和灵活性,思科ACI还通过组策略模式提供网络连接的抽象化代表。该功能在云计算部署中非常具有吸引力,因为这种部署的主要要求是抽象化网络基础设施的复杂性,对云服务的客户不可见。 ● 从整体配置网络: 思科ACI允许整个架构被看做单个2层网络或3层网络虚拟转发器。可以创建额外的专用网络,但它们通常被配置作为单个实体。这种方法让最终用户可以部署新服务(网络服务或应用程序),而不需要了解底层网络如何被配置和连接。 ● 基于文本的配置以简化版本控制: 所有配置设置都表示为思科APIC的管理对象。这些管理对象可以通过API访问,而API可以通过结构化REST命令(XML或JSON格式)来管理。此外,由于这些对象具有定义的结构—从底层物理和虚拟网络抽象出来,相同的配置文件定义可以用于在完全不同的思科ACI架构中部署相同的连接策略。 ● 除SNMP和CLI外的先进网络管理工具: 除了SNMP和CLI,思科ACI对象模型XML和JSON格式的REST接口、GUI和一些软件开发工具包。除了一般的网络设备管理,思科ACI还包括其他SDN解决方案中没有的创新管理功能。例如,思科ACI提供健康评分,它会获取底层、覆盖、物理、虚拟和生态系统设备的依赖关系,并将这些信息转换为特定对象的健康评分。这些分数可以转换为终端组水平、应用网络配置文件水平或租户水平的更高水平的分数,以提供更直观的视图。最终用户可以使用这个视图来解决思科ACI架构中的异常情况。原子计数器是另一个思科ACI创新。 这个计数器可以计算进入和离开架构的数量,还可以范围缩小到计算单个分支节点。通过创建流量地图,原子计数器让最终用户可以看到架构中的高、中、低使用区域,并发现思科ACI架构中流量下降的位置。 Gartner副总裁兼著名分析师Joe Skorupa在2013年3月描述他对SDN的愿景时简单定义了思科ACI的价值:“在数据中心方面,SDN是策略驱动型数据中心的组成部分。它为连接网络到数据中心内的其他组件提供了可编程连接性,提供了一个综合、功能型系统。例如,配置应用程序可以指定CRM应用程序的实例在特定序列必须提供某些服务,并应确保流量在正确序列通过适当的设备。” SDN面临新的挑战 虽然SDN、基于软件的虚拟覆盖和Openflow为传统和新兴计算工作负载提供了解决方案,但现在除了在学术和研究机构,很少数据中心部署了软件覆盖和Openflow。这种低部署率是因为一些新挑战,包括以下: ● 基于软件的虚拟覆盖难以管理和故障排除: Joe Skorupa在2013年3月的问答环节中确定了这一挑战:“这种基于软件的虚拟覆盖做法的最大限制是,它不能解决管理底层基础设施的问题,在覆盖中调试问题很复杂,并且它不支持裸机主机。” 基于软件的虚拟覆盖的根本问题是,它们与底层物理基础设施很少或没有关系,底层网络中的任何下降不能简单地追溯到受影响的服务和应用程序。此外,基于软件的虚拟覆盖可能由不同的团队管理,使用不同的技能,这个团队可能无法解决终端到终端网络连接问题,导致IT运营部门以及供应商的指责。在传统网络中,这种缺点可能更加严重,因为传统网络不灵活,但至少这种网络有可预测性。 ● OpenFlow协议对于数据中心太原始和具体化: 网络交换机中的OpenFlow对输入数据包使用匹配函数(通常是基于现有网络字段属性,例如源MAC地址或目标IP地址),然后采取一些行动,这可能要取决于交换机部署,但通常涉及通过给定物理或逻辑端口转发数据包。 对于大多数数据中心用例,不需要这种细致的控制,因为数据中心的带宽通常很丰富。因此,可能不需要基于网络表头参数的详细路径决定,并可能给数据中心网络管理员带来不必要的开销。 此外,OpenFlow协议假定特定硬件架构使用一系列通用表查询来生成行动到数据包。这种对底层硬件架构的看法限制了可扩展性和可移植性。更高的抽象水平允许不同的特定硬件架构提供特定的优势,同时满足API的要求。 ● 商品芯片没有为OpenFlow优化: 大多数商品芯片都是为一般数据中心工作负载进行了优化。通常情况下,这种部署分配大量内存到转发表来执行最长前缀匹配和邻接,地址解析协议(ARP)和MAC及IP地址绑定查询;部分内存到ACL,通常使用三态内容可寻址存储器(TCAM)--优化用于掩蔽、数据包匹配和动作集。 OpenFlow表使用交换机内后一种形式的内存。然而,转发存储器在ACL内存内不容易更改,所以,现在的商品芯片中安装流条目的内存总量很有限。如前所述,如果出现任何故障,数据包可能会被意外删除或转发到SDN控制器以作进一步处理。 思科ACI如何解决SDN新挑战 下一代SDN架构必须解决所有这些挑战,让我们来看看思科ACI的做法: ● 基于软件的虚拟覆盖难以管理和故障排除: 思科ACI不仅仅依靠基于软件的虚拟覆盖来进行连接。虽然思科ACI确实部署了网络覆盖,但它在硬件中被实例化,并且,ACI的管理功能具有足够的智能来提供全面的协调和情境化来展现底层或覆盖网络中哪些服务受到故障影响。 需要注意的是,思科ACI既支持终止在思科ACI架构的基于软件的覆盖,也支持在上面运行的覆盖。这些是部署的可选模式,最终用户可以决定如何部署工作负载。重点是,思科ACI不依赖于基于软件的覆盖来实现灵活性。 ● OpenFlow协议对于数据中心太原始和具体化: 除了提供自动化和灵活性,思科ACI还通过基于组的策略来描述数据中心的连接。由于策略意图被抽象化,最终用户可以定义数据中心内某些事物如何连接到其他事物。这种抽象化的策略让云编排工具、应用程序和安全管理员更容易使用。 ● 商品芯片没有为OpenFlow优化: 思科ACI使用商品芯片和思科开发的芯片来提供适当的功能,并且该解决方案的价格极具吸引力。思科Nexus 9000系列交换机中的定制芯片包括内存表结构,使某些功能可以卸载到主板商品芯片,定制芯片专门用于策略执行、封装规范化和VXLAN路由等功能。 结论 IT行业正在经历重大的转变,BYOD、大数据、云计算、IT即服务和安全都是热门趋势。与此同时,企业希望降低总体IT支出(通过降低资本开支和运营开支),以及提高整体IT灵活性来向业务部门和职能部门提供更好的服务。网络行业很多人认为SDN是推动行业前进的模型,但该技术的部署面临挑战。 思科ACI并不是SDN的竞争对手,而是作为催化剂,以帮助推动SDN在整个IT行业的部署:在本质上,作为SDN愿景的推动者。虽然有些人称思科ACI不是SDN,根据ONF白皮书对SDN的定义,思科ACI确实满足SDN的要求。思科ACI也更进了一步,解决了OpenFlow尚未解决的领域。 最终,业界将会是思科ACI(和SDN)是否成功的裁判,但从目前的兴趣和部署势头来看,思科ACI很可能成为数据中心网络的新常态。 |