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

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

相关文章

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

Linux网络配置之网桥和虚拟网络的配置指南

《Linux网络配置之网桥和虚拟网络的配置指南》这篇文章主要为大家详细介绍了Linux中配置网桥和虚拟网络的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、网桥的配置在linux系统中配置一个新的网桥主要涉及以下几个步骤:1.为yum仓库做准备,安装组件epel-re

python如何下载网络文件到本地指定文件夹

《python如何下载网络文件到本地指定文件夹》这篇文章主要为大家详细介绍了python如何实现下载网络文件到本地指定文件夹,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下...  在python中下载文件到本地指定文件夹可以通过以下步骤实现,使用requests库处理HTTP请求,并结合o

MySQL精准控制Binlog日志数量的三种方案

《MySQL精准控制Binlog日志数量的三种方案》作为数据库管理员,你是否经常为服务器磁盘爆满而抓狂?Binlog就像数据库的“黑匣子”,默默记录着每一次数据变动,但若放任不管,几天内这些日志文件就... 目录 一招修改配置文件:永久生效的控制术1.定位my.cnf文件2.添加核心参数不重启热更新:高手应

Linux高并发场景下的网络参数调优实战指南

《Linux高并发场景下的网络参数调优实战指南》在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃,本文基于真实案例分析,从参数解读、问题诊断到优... 目录一、问题背景:当并发连接遇上性能瓶颈1.1 案例环境1.2 初始参数分析二、深度诊断:连接状态与

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置