一、传统大三层网络架构
以下是网络图:
传统银行业务图设计:
优点:
精确的过滤器/策略创建和应用:由于区域、终端地址网段明确,可以精细控制网络策略,保证流量的安全。
稳定的网络:区域的明确划分,网络设备的稳定架构,使网络更具有稳定性。
广播域的有效控制:由于三层架构中间采用L3模式设计,有效控制广播域的大小。
缺点:
1.业务流量模型不清晰
随着网络的发展、各种新技术的产生,数据中心内部、服务器之间协同处理、计算,导致由东向西的流量逐渐增大,超过了由南向北的流量。而传统三层架构服务器间交换,都要过三层核心,多层转发,增大了网络的延迟,还浪费了核心宝贵的资源。与此同时,我们将业务拆分成多个模块,并部署在不同的区域中,由于应用的不断发展,模块的数量越来越多,模块之间的调用越来越频繁,可能一次完整的应用流程需要经历数十个模块,模块之间的频繁调用大大消耗了网络设备的资源。
2. 横向扩展能力不足
传统数据中心使用STP技术,虽然上联多根链路,但都是主备关系,仅有一根链路能跑流量,无法承载数据中心日益增长的业务。尽管后续使用了有相关的Ethernet Channel、堆叠、VSS等技术,来达到链路冗余的需求,但是堆叠、Ethernet Channel不可能无限地进行扩展。
3.广播域过于庞大
随着业务的发展,计算资源被池化。为了使得计算资源可以任意分配,需要一个巨大的二层网络架构。整个数据中心网络都是多个L2广播域,这样,服务器可以在规定的区域地点创建、迁移,而不需要对IP地址或者默认网关做修改。不断地业务扩展,造就了一个巨大的二层广播域,一旦出现一点问题就造成巨大的网络问题,导致业务中断,业务的高可用性就无法保证。
4.计算资源无法快速上线
随着业务的不断发展,计算资源的虚拟化。当需要进行虚拟资源部署时,严格安全防护的要求下,需要进行安全设备的策略开通。从部署到正式上线使用之间的耗时会长达1小时之久。无法满足在突发情况下,快速增加计算资源。由于安全设备以及设备上联位置的限制,无法在任意的计算资源池中随意的创建、迁移;无法合理分配资源池的各种硬件资源,造成资源的分配不均衡。一旦某资源池已达阈值,就无法继续计算资源的横向扩展。
5.网络延时过大
在使用传统网络架构时,每个业务模块都是一个烟囱结构,业务模块互相调用需要经过多个三层设备(平均需要经过6次物理设备)其中还可能包括防火墙等安全设备。受限于设备的性能,网络架构的主备方案。数据流量每经过一次设备都会增加一点延迟。虽然每一次延时都是微乎其微,但是累计次数多了,对于业务来说这个延时可能就导致用户体检较差。
二、SDN网络架构
网络图
业务图
技术方案
实现方式
1.软件
在软件SDN的解决方案中,网络的功能是通过软件层面的Linux协议栈以及相关的OpenvSwitch技术实现的。它的优点是可以通过软件来实现网络的创建、子网的划分、路由的选择以及防火墙策略的管理等功能,可以避免对硬件网络设备的过度依赖,同时极大降低了组网的成本;它的缺点是稳定性和可扩展性不如硬件SDN专用设备。
2.硬件
硬件SDN是使用专用的硬件设备加上一个专用的控制器来实现相关的网络功能,这个专用的控制器对硬件设备进行策略以及流表的下发,来实现网络相关的功能。它的优点是比较稳定,缺点是不灵活且组网成本很高。在目前技术发展的趋势来看,并不存在软件SDN和硬件SDN孰优孰劣的明显对比,因此对于这两种技术都要进行相关的研究和探索。
网络模型
网络支持5种网络模型:GRE/VXLAN/VLAN/FLAT/LOCAL。其中GRE/VXLAN模型是隧道技术,可以实现overlay网络。FLAT/LOCAL主要适用于简单的网络环境。因此比较常用的网络模型是VLAN模型和VXLAN模型。
VXLAN
VXLAN模型的最大的特点是在多租户场景下方便实现租户隔离,组网比较方便,不太依赖网络交换机的变更。缺点是在性能上要是达到和VLAN相同的性能,需要有支持vxlan offload的网卡进行支持
a、集中控制模式方案(通过SDN控制器完全控制)
1) 集中控制模式– 基于SDN的Controller进行完全控制。
2) SDN负责下发控制流表和服务策略。
3) SDN Controller 实现控制平面,通过OpenFlow/Netconf控制 VXLAN VTEP、GW、 IP GW。
4) 数据平面VxLAN二、三层转发。
5) 对SDN Controller的可靠性要求较高,必须HA部署。
6) 控制点集中,网络设备更简单。
7) 颠覆了传统网络,不会再有路由表、转发表等熟悉的转发原理。
8) 技术变革及运维管理变化较大,需要从思路上完全改变。
9) 网络流量调度非常灵活,通过控制器图形化界面即可实现。
b、松散控制模式方案(通过网络设备控制协议自学习)
1) 松散控制模式– 基于自学习或控制协议
2) 设备实现控制面,通过标准EVPN完成隧道建立和地址学习。
3) SDN控制器只负责下发服务策略,不下发控制流表,可靠性更高
4) 实现控制器与网络设备之间的松耦合,提供更高可靠性的Fabric网络。
5) 数据平面也支持VxLAN二、三层转发。
6) 标准化:控制面使用EVPN,属于标准协议;DC内、DC间可扩展性极强。
7) 灵活:使用MP-BGP完成地址同步,更灵活控制地址发布规则。
8) 减少广播报文泛洪,地址通过EVPN自动同步。
9) 配置简单:隧道自动建立。
10) 扩展性强:基于会话按需下发硬件表项,支持更大规模的组网。
11) 分布式网关可实现流量路径最优,减少Spine核心节点的压力。
VLAN
缺点:
是需要在传统的网络交换机上放开对应的VLAN,因此在做网络接入时需要依赖网络的规划,同时在多租户隔离上不是特别方便,仍然需要在网络交换机上做操作,即网络组网不够灵活;
优点:
是VLAN技术比较成熟,不管是性能上还是稳定性上都比较好
性能
从网络性能的角度来分析,VLAN模型的网络吞吐量要高于VXLAN模型的网络吞吐量。以万兆网卡为例,实测VLAN网络吞吐量为9Gb/s以上,VXLAN网络吞吐量为8Gb/s以上。(备注VXLAN的吞吐量需要专门支持VXLAN OFFLOAD的网卡进行支持)。
SDN优势
1、业务流量的明确划分
将原有业务划分从一个应用一个区域的划分方式,在使用SDN后,变更为一个服务体系作为一个区域进行划分(例如:APP区域、数据库区域、中间件区域等)。在每个区域中划分多个Endpoint Group(以下简称EPG)来准确区分业务模块,更清晰地了解业务之间的访问关系。
2、无限定的横向扩展
在现有的SDN网络中,通过使用Anycast Gateway的方式将网关部署在各个Leaf节点上。即使有新设备加入网络,无论处于任何区域,都可以准确的进入相对应逻辑位置。
3、虚拟资源无限制的变更
ACI,通过VM Networking与VCenter互相联动,并下发vNIC供虚拟机使用,虚拟机只需要选择对应虚拟网卡就可以进行业务上线。同时各个虚拟机对应的EPG通过合约的形式开通策略。在SDN中所有相同业务都部署在同一个EPG中,所有策略的开通并不是基于IP地址来开通,只需要在不通的EPG之间开通策略即可,所以无需像传统网络进行IP对应的策略开放方式进行SDN网络策略开通。虚拟化资源可以在任意宿主机上进行创建、迁移,没有任何的物理位置的限制。
SDN劣势
1.协议不成熟
Openflow协议还处于发展初期。不过,正如我们的研发成果呈现的,现有的Openflow协议已经足够支撑很多网络应用的开发了。
2.高容错的控制器
为了提高容错率,必须在网络中部署多个控制器。从而就要区分主次控制器,以便于高效配合。
3.功能区分
路由器和控制器的功能区分仍在探讨阶段,功能配置仍是一个悬而未决的问题。
参考文档: