软件定义网络中的网络流量控制

2024-04-12 15:44

本文主要是介绍软件定义网络中的网络流量控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

软件定义网络(SDN)是一种网络范例,它支持一种新的方法来构建网络基础设施,其主要概念是基于集中控制平面和分布式转发平面的分离,其中整个网络及其设备通过使用开放API的软件应用程序进行集中控制和管理。SDN使网络虚拟化成为可能,并提供整个网络拓扑的全局概览。这与软件控制的应用程序或API的功能相结合,形成了一个集成的网络管理配置文件的基础,有助于引导流量或与底层硬件通信。

网络流量控制的任务是定义应用程序流量在网络中可以采用的不同路径,作为网络流量控制的一个固有部分,它涉及管理、控制或减少网络上的流量,网络管理员使用它来解决网络中的拥塞、延迟和数据包丢失等问题。

传统网络使用固定功能硬件进行网络流量控制(例如交换机、路由器等),这些设备每一个都单独运行,并相互支持,共同构成网络的基础,然而,在不断扩展的业务场景中,传统网络面临着缺乏可扩展性和需要实现现代安全功能的重大挫折。

在传统网络中,控制平面的物理位置限制了管理员对流量进行管理和控制的能力。SDN通过虚拟化技术将控制平面从物理硬件实体转变为软件实体,使得控制平面可以通过连接的设备和集中的Ul进行访问,从而为网络管理员提供更大的控制能力,有效地引导流量。

网络流量控制的需求是什么

传统网络采用基于物理IP路由器的分布式路由机制进行流量路由,典型的路径选择包括一个路由器,它通过尝试找到源节点和目的节点之间的最短路径来选择输出接口。有许多算法使用各种网络度量来估计或评估路径的成本,在路由协议的实现中广泛使用的最短路径算法使用静态度量,如跳数或权重之和。这种基于简单的静态指标选择最短路径的方法通常会导致对网络资源的低效使用。

此外,由静态最短路径路由引起的问题可能会使整个网络成为瓶颈。举例来说,当发生故障时,路由器会寻找一条新的最短路径作为传输流量的媒介,当找到这样一条路径时,从断裂路径的总流量会转移到新定义的路径上,这种流量路由导致新设置的路径拥塞,而源和目的之间的旧路径没有得到充分利用。

构建网络基础设施的SDN方法包括部署中间件,这些中间件用于各种目的,可以转换、检查、过滤和操作流量,主要侧重于提高性能、安全性和可见性。这些中间件涵盖了各种复杂程度不同的功能,包括负载平衡、网络地址转换(NAT)、协议转换、广域网优化、入侵检测、防火墙、应用程序级网关、缓存、代理、内容交付网络(CDN)等。

基于最短路径的从源到目的地的流的简单路由已经被必须通过这些中间框的策略感知路径所取代,单独的控制平面和转发平面的SDN架构通过使用网络流量控制,在这些网络设备之间强制基于策略的路由,流量控制允许运营商通过在必要时和在必要时引导流量来保持整个网络的最佳资源利用率。

:这种复杂的路由架构是软件定义网络的主要驱动力之一。

网络流量控制策略

流量控制策略是一个框架,用于定义给定网络区域的流量管理行为,这些策略有助于配置为DNS请求提供服务的规则,提供故障转移功能,跨多个资源对流量进行负载均衡,并提供简单、灵活且强大的引导机制来引导网络流量。控制策略有五种类型:

  • 负载平衡器:这些策略允许在多个端点之间分配流量,流量可以在这些端点上均匀分配,或者可以为比率负载平衡分配权重。
  • 故障转移:这些策略通过在发生故障时配置主资产和辅助资产之间的流量移动来提供端点故障转移管理。
  • 地理位置:这些策略用于根据查询的地理来源动态地将网络流量引导不同的端点。
  • ASN:使用ASN引导策略,可以根据原始 ASN 将网络流量引导到特定端点。
  • IP前缀:这些策略基于原始查询的IP地址前缀启用网络流量控制。

在这里插入图片描述

网络流量控制方案

流量控制是在多个级别和不同的功能上实现的,下面列出了使用它的一些方案:

  • 基本故障转移
  • 负载均衡
  • Canary测试
  • 零费率服务

基本故障转移

考虑到目前部署的混合网络的广泛情况,始终存在网络故障和性能瓶颈的风险。由于可以使用各种设备和网络基础设施,管理员需要密切关注这些设备的可用性和性能。基于策略的流量控制可用于配置服务器、防火墙、接入点和其他中间设备的故障转移点,以确保在主要端点出现故障时,始终有一个辅助端点接收流量,从而保持最佳的网络健康。

负载均衡

可以使用网络流量控制策略配置多台服务器的池,自动将网络流量分配到服务器集上。此外,可以使用运行状况检查来确定服务器运行状况,如果发现服务器运行状况不佳,则可以将流量自动重定向到运行状况良好的服务器,有助于实现高效的资源管理,从而保持最佳的整体网络性能。

Canary测试

Canary测试是在生产环境中与实时用户一起测试新软件版本或功能的过程。它涉及到将新的代码部分发布给一小部分用户,这些用户单独验证代码,以免影响实时用户。

如果新应用程序或版本部署在与旧服务器不同的服务器上,则可以有选择地将网络流量路由到新地址,以收集使用统计数据、用户体验和功能反馈、产品或功能改进建议等。

如果新应用程序托管在同一台服务器上,则可以利用IP前缀控制的功能来配置路由策略,从而为内部和外部用户提供不同的响应。

零费率服务

可以实施有条件的控制,以根据原始源、网络媒介和通信提供商来分流流量,以支持可能存在的各种策略。在这种情况下,ASN控制用于将特定ASN定向到免费资源,同时将其他ASN定向到付费资源。

NetFlow Analyzer 带宽和网络流量管理以及网络流量控制工具,它利用流量技术来监控网络流量,可以有效地监控网络中的每一个流量和活动,帮助管理员获得获得带宽控制所需的可见性。除了监控带宽和网络流量外,还会分析这些信息,以识别流量模式、主要应用程序和带宽占用。

这篇关于软件定义网络中的网络流量控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/897559

相关文章

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

Ubuntu 怎么启用 Universe 和 Multiverse 软件源?

《Ubuntu怎么启用Universe和Multiverse软件源?》在Ubuntu中,软件源是用于获取和安装软件的服务器,通过设置和管理软件源,您可以确保系统能够从可靠的来源获取最新的软件... Ubuntu 是一款广受认可且声誉良好的开源操作系统,允许用户通过其庞大的软件包来定制和增强计算体验。这些软件

Python实现局域网远程控制电脑

《Python实现局域网远程控制电脑》这篇文章主要为大家详细介绍了如何利用Python编写一个工具,可以实现远程控制局域网电脑关机,重启,注销等功能,感兴趣的小伙伴可以参考一下... 目录1.简介2. 运行效果3. 1.0版本相关源码服务端server.py客户端client.py4. 2.0版本相关源码1

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

软件设计师备考——计算机系统

学习内容源自「软件设计师」 上午题 #1 计算机系统_哔哩哔哩_bilibili 目录 1.1.1 计算机系统硬件基本组成 1.1.2 中央处理单元 1.CPU 的功能 1)运算器 2)控制器 RISC && CISC 流水线控制 存储器  Cache 中断 输入输出IO控制方式 程序查询方式 中断驱动方式 直接存储器方式(DMA)  ​编辑 总线 ​编辑

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了