随着软件定义网络(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)的环境中,每个终端用户的浏览器都会创建一个或多个传输控制协议(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)中。
好文章,需要你的鼓励
本文评测了六款控制台平铺终端复用器工具。GNU Screen作为老牌工具功能强大但操作复杂,Tmux更现代化但学习曲线陡峭,Byobu为前两者提供友好界面,Zellij用Rust编写界面简洁易用,DVTM追求极简主义,Twin提供类似TurboVision的文本界面环境。每款工具都有各自特点和适用场景。
韩国汉阳大学联合高通AI研究院开发出InfiniPot-V框架,解决了移动设备处理长视频时的内存限制问题。该技术通过时间冗余消除和语义重要性保留两种策略,将存储需求压缩至原来的12%,同时保持高准确性,让手机和AR眼镜也能实时理解超长视频内容。
网络安全公司Snyk宣布收购瑞士人工智能安全研究公司Invariant Labs,收购金额未公开。Invariant Labs从苏黎世联邦理工学院分拆成立,专注于帮助开发者构建安全可靠的AI代理工具和框架。该公司提供Explorer运行时观察仪表板、Gateway轻量级代理、Guardrails策略引擎等产品,并在工具中毒和模型上下文协议漏洞等新兴AI威胁防护方面处于领先地位。此次收购将推进Snyk保护下一代AI原生应用的使命。
纽约大学研究团队通过INT-ACT测试套件全面评估了当前先进的视觉-语言-动作机器人模型,发现了一个普遍存在的"意图-行动差距"问题:机器人能够正确理解任务和识别物体,但在实际动作执行时频频失败。研究还揭示了端到端训练会损害原有语言理解能力,以及多模态挑战下的推理脆弱性,为未来机器人技术发展提供了重要指导。