SDN负载均衡之争:控制器还是ADC?

网络
在本文中,专家David Jacobs探讨了软件定义网络是否会淘汰掉应用交付控制器,或者是会互相作用,促使软件定义网络(SDN)的功能更全面。

在本文中,专家David Jacobs探讨了软件定义网络是否会淘汰掉应用交付控制器,或者是会互相作用,促使软件定义网络(SDN)的功能更全面。

随着软件定义网络(SDN)的出现,有关应用交付控制器(ADC)的需求问题也出现了。应用交付控制器(ADC)分布在一组Web服务器中,功能是保持这些服务器的负载均衡。软件定义网络(SDN)控制器是否可以接管应用交付控制器(ADC)的角色,成为有影响力的软件定义网络(SDN)负载均衡器,从而消除应用交付控制器(ADC)在网络中的位置呢?

像应用交付控制器(ADC)一样,软件定义网络(SDN)控制器可以基于队列长度和处理延迟来监控Web服务器的单个负载,并将收到的数据请求发送给负载最轻的服务器。如果简单的负载均衡是应用交付控制器(ADC)的唯一功能,那么软件定义网络(SDN)控制器真的可能将其淘汰掉。然而,应用交付控制器(ADC)可以做的不仅仅是分配服务器之间的应用需求。

在常规网络中,数据流经做路由决策的设备。因为应用交付控制器(ADC)直接位于数据流经路径中,它们可以实现某些特定的应用程序及软件驱动的功能,这些功能都不容易嫁接给软件定义网络(SDN)控制器。软件定义网络(SDN)将数据运动和网络控制功能分离开来,这就意味着一个软件定义网络(SDN)控制器虽然可以基于服务器活动进行简单的负载均衡决策,但并不能基于数据本身的内容进行决策。

应用交付控制器(ADC)一直以来都是独立的网络设备。行业领先的供应商已经意识到到虚拟化系统的成长,以及软件定义网络(SDN)被越来越多人接受的现实,于是开发虚拟化应用交付控制器(ADC)来响应这一趋势。这些应用交付控制器(ADC)厂商形成联盟,将产品与虚拟网络环境整合起来,如来自思科,VMware和OpenStack的新产品。他们还增加了脚本驱动功能,让网络管理员可以开发应用交付控制器(ADC)可执行的特定应用程序功能。

网络安全和监控

防火墙,防病毒扫描和入侵防御系统一直以来都存在于不同的设备中。应用交付控制器(ADC)存在于数据路径中,而且它可以执行特定应用的脚本能力让其成为扫描输入数据,并确定其是否为恶意软件的理想工具。省去各自独立的安全组件降低了网络复杂性和资金成本。

应用交付控制器(ADC)还可以通过阻挡有问题的请求来保护服务器免受拒绝服务攻击。一个大型的,分布式攻击可能会消耗应用交付控制器(ADC)的资源,以致于许多合法的请求无法通过,但是服务器可以支持他们收到的请求。

另外,由于应用交付控制器(ADC)的位置处于数据路径中,所以非常适合收集性能和使用数据。他们可以监控服务器的延迟,也可以测量应用程序、终端用户网络或个人终端的流量。

应用交付控制器(ADC)如何提高网络效率

除了平衡负载,应用交付控制器(ADC)还可以在其它方面改善网络效率。在一个没有应用交付控制器(ADC)的环境中,每个终端用户的浏览器都会创建一个或多个传输控制协议(TCP, Transmission Control Protocol)连接到一个Web服务器。在终端用户界面到因特网连接中使用网络地址转换(NAT, network address translation)可以减少连接的数量,但由于终端用户数量多,大量的连接还是会给网站管理造成负担。此外,每个请求都会创建一个传输控制协议(TCP)连接,是一个资源密集型操作。

使用传输控制协议(TCP)复用,应用交付控制器(ADC)建立与后端服务器的持久连接。个人浏览器或网络地址转换(NAT)功能创建连接到应用交付控制器(ADC),从Web服务器断掉TCP连接管理,从而减少所需服务器的总数。

传输控制协议(TCP)慢启动算法可以防止网络免受一个新的连接暴发而卡死。通过复用传输控制协议(TCP)连接,慢启动只发生一次。如果没有一个应用交付控制器(ADC),每个浏览器到Web服务器的连接都需要经历慢启动过程。

如今基于Web的应用程序通常需要排一个很长的请求和响应队伍。当一个初始请求到达Web服务器,服务器会在其中创建一个存储请求信息的会话。简单的负载均衡可以直接传送下一组请求到不同的服务器。当这个会话在初始服务器上超时并最终被删除时,第二个服务器创建另一个会话。这显然是没有效率的。应用交付控制器(ADC)维护正在进行的交易信息,并确保每个后续请求可以定向到同一台服务器。

这种技术被称为会话持久,专门用于支持安全套接字层(SSL).有了会话持久和传输控制协议(TCP)复用,应用交付控制器(ADC)可以断掉会话创建和握手,就像数据加密和解密一样。如果没有一个应用交付控制器(ADC),Web服务器将承担这一负担。如果没有传输控制协议(TCP)复用,每次会话移动到不同的服务器时就需要重复握手。

流量整形(Traffic shaping)是应用交付控制器(ADC)提高整体网络和应用性能的另一种方式。传输控制协议(TCP)包含延迟,选择确认信号(ACK, acknowledgement signals),自适应调整窗口大小以及显式拥塞通知这些机制。应用交付控制器(ADC)使用这些技术,通过减少脉冲串和将短分组整合成较大组来提高效率。

基于请求类型来区分服务器可以通过简化应用软件来提高可靠性。每个应用程序将处理一种类型的请求。网络管理员会提供应用交付控制器(ADC)脚本来扫描输入数据,并指示每个请求到设计好的应用程序进行处理。

应用交付控制器(ADC)厂商已经准备好迎接软件定义网络(SDN)

应用交付控制器(ADC)目前还是以预装在硬件设备中的形式来出售,但领先的供应商,为了适应软件定义网络(SDN),还开发了在虚拟化服务链中可以快速插入的虚拟单元。这些服务链,连同其它网络功能虚拟化(NFV)组件,可以根据需求通过云自动化系统移动。

如果“软件定义网络”可以扩展,而不仅仅是通过OpenFlow连接到交换机的一个控制器,那么我们当然可以考虑虚拟化应用交付控制器(ADC),以增强的脚本作为组件融入软件定义网络(SDN)中。

责任编辑:蓝雨泪 来源: TechTarget中国
相关推荐

2023-08-13 18:31:45

SDN控制器

2015-02-02 09:37:42

SDN控制器

2011-08-01 16:40:45

域控制器负载均衡

2015-05-26 10:16:27

SDNSDN控制器

2015-07-20 11:34:06

2015-07-14 11:09:26

SDN

2013-06-08 09:50:30

SDN控制器应用OpenFlow软件定义网络

2015-02-27 10:52:17

SDN

2013-12-19 09:32:01

SDN南向网络控制

2013-09-22 09:39:16

SDN控制器SDN软件定义网络

2018-01-10 21:07:35

2013-07-18 09:10:30

SDN控制器标准

2016-04-27 09:54:52

SDNSDN控制器

2013-09-17 09:18:02

SDN控制SDN软件定义网络

2015-12-30 13:21:33

SDN控制器拓扑

2012-08-14 09:44:03

2013-12-19 09:35:49

SDN控制器北向

2013-11-28 09:16:14

SDN控制器软件定义网络

2021-12-26 00:01:44

元宇宙SDN控制器

2013-10-23 09:07:57

华为SDN控制器
点赞
收藏

51CTO技术栈公众号