SDN控制器之东西向扩展技术

这篇具有很好参考价值的文章主要介绍了SDN控制器之东西向扩展技术。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  SDN的概念

  软件定义网络(Software Defined Network, SDN ),是Emulex网络一种新型网络创新架构,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制。

  控制器负责整个SDN网络的集中化控制,对于把握全网置资源视图、改善网络资源交付都具有非常重要的作用。但控制能力的集中化,也意味着控制器局的安全性和性能成为全网的瓶颈,一旦控制器在性能或安全性上得不到保障,随之而来的是全网的服务能力的降级甚至是瘫。;另外,单一的控制器也无法应对跨多个地域的SND网络问题,需要多个SDN控制器组成的分布式集群,以避免单一的控制器节点在可靠性、扩展性、性能方面的问题。目前,用于多个控制器之间沟通和联系的东西向接口还没定义标准,但专家表示,一些非常成熟的集群技术可以被运用到SDN网络中来解决上述难题。

  控制器的软件化让服务器可以作为控制器的载体,控制器集群可以以服务器集群为基础搭建。因为SDN控制器在SDN网络中的重要作用,控制器集群的设计更具特殊性,例如要能够支持正在运行的集群中增加新的控制器,以改善扩展性、保存失效控制器对应的交换机状态一保证可靠性,特别是因为控制器掌握着全网的SDN交换设备,通过分布式的协作方式确保网络状态的一致性尤其重要,一个典型的基于控制器集群的SDN架构如图所示。

  基于控制器集群的SDN架构

  如图,SDN可充分利用服务器集群技术(例如Hazelcast)部署用软件实现的控制器,而对一个分布式的集群而言,最关键的是控制器之间的协作,系统中需要专门设置集群通信机制用于控制器之间的信息传递,如JGroups通信库已经成为了比较成熟的技术。

  为保证控制器集群对SDN网络的控制效果,有两个方面的设计与实现非常重要。第一是主控制器的选举,主控制器主要负责生成和维护全网范围内的控制器和交换机状态信息,一旦出现失效,就需要从集群的副控制器中选举一个成为新的主控制器。第二是控制器集群对交换机的透明化,即在SDN网络的运行过程中,交换机无需关心当前他接受的是哪一台控制器发来的命令,同时在其向控制器发送数据包时,能保持之前单一控制器的操作方式,从而保证控制器在逻辑上的集中。为了实现上述目标,控制器集群设计的关键要素包含以下:

  1. 主控制器选举

  在网络运行过程中,集群的副控制器需要周期性的监控主控制器的工作状态,一旦发现访问不可达,就要启动主控制器的选举,集群中主控制器的选举,业界已有不少算法,例如基于paxos的分布式选举算法,在算法设计中,需要考虑算法实现的复杂度,特别是如果控制器集群部署在广域网中,还要考虑带宽\延迟等网络质量因素。

  2. 集群虚拟地址

  为了实现控制器之间的负载均衡,控制器集群可以利用传统的负载均衡技术,例如在交换机向控制器进行注册时,可以向某个静态的虚拟IP地址发送,然后控制器集群会根据负载均衡算法,通过控制器间的通信确定并记录该虚拟地址对应的控制器,并要求其负责对该交换机的控制,而控制器返回给交换机的数据包也将以虚拟IP地址为源地址,实现控制器集群对交换机的透明化。

  3. 全网拓扑获取

  SDN网络中的拓扑信息是实现资源优化调度的关键。为了获得全网控制器和交换机的工作情况,需要各个控制器周期的进行链路发现,并将采集回来的网络信息发送给主控制器汇总,再由主控制器统一下发给各个控制器。如果在定制数据流的转发策略时,控制器发现数据流传输涉及的设备超过其控制的交换机范围时,将会根据全网拓扑告知交换机对应的控制器,并通过协商制定一致的策略,进而统一下发给交换机。

  4. 控制器失效应付

  无论主控制器还是副控制器失效,集群都可以利用负载均衡技术,将此前指派失效服务器的虚拟IP地址映射到其他工作正常的控制器,同时触发对全网拓普信息的更新和获取。

  利用集群化的控制器,SDN网路将能够避免单一的控制器造成的单点失效问题,同时能够具有良好的扩展性,以应对巨大的交换机流量。特别是在广域网环境,多地部署的控制器可有效改善openflow数据包额传输延迟,提升网络性能。

  控制器集群是解决控制器东西向扩展的重要技术之一,虽然当前有很多成熟的技术和成功的经验可供参考,但对SDN网络而言,还有许多内容需要进一步研究,例如控制器之间东西向接口标准的指定,这将有助于在控制层面提供更好的开放性,实现控制器之间的兼容,更好的支持SDN部署规模的提升。

  以上就是SDN控制器之东西向扩展技术,希望能帮到大家,谢谢阅读,请继续关注yii666。文章来源地址https://www.toymoban.com/news/detail-466525.html

到了这里,关于SDN控制器之东西向扩展技术的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kubernetes技术--k8s核心技术Controller控制器

    1.Controller概述    Controller是在集群上管理和运行容器的对象。是一个实际存在的对象。 2.pod和Controller之间的关系 pod通过controller实现应用的运维,包括伸缩、滚动升级等操作。 这里pod和controller通过label标签来建立关系。如下所示: 3.Deployment控制器应用场景 -1:部署无状态的应

    2024年02月10日
    浏览(45)
  • 5、Kubernetes核心技术 - Controller控制器工作负载

    目录 一、Deployments - 控制器应用 二、Deployment升级回滚和弹性收缩 2.1、创建一个 1.14 版本的 pod 2.2、应用升级 2.3、查看升级状态 2.4、查看历史版本 2.5、应用回滚 2.6、弹性伸缩  三、StatefulSet - 有状态应用 四、DaemonSet - 守护进程 五、Job - 单次任务 六、Cronjob - 定时任务 Deplo

    2024年02月15日
    浏览(38)
  • 基于智能家居控制器的智能家居智能化控制:基于强化学习技术

    引言 1.1. 背景介绍 随着科技的发展,智能家居逐渐成为人们生活中不可或缺的一部分。智能家居通过引入各种智能化设备,如智能门锁、智能照明、智能空调等,使人们的生活更加便捷、舒适。然而,智能家居的复杂性导致用户在控制过程中面临诸多困难,如操作复杂、界面

    2024年02月11日
    浏览(66)
  • 华为6605AC控制器大型组网wlan pool技术应用(自动漫游)

    vlan pool技术主是是解决在大型组网中全部显示一个名称SSID,但不同区域连接的用户对应不同的vlan,这样防止一个vlan太多用户,广播域太大,以实现一个SSID对应一堆vlan,且可以实现漫游。 用hash算法比较常用: dis current-configuration vlan batch 100 vlan pool vlan_pool_test //定义业务vl

    2024年02月13日
    浏览(44)
  • 微机原理与接口技术 8255和8253综合应用之交通灯控制器的设计

    交通灯控制器的设计 一、实验要求 通过采用并行口8255A和定时器/计数器8253编写一模仿交通灯程序,在微机原理实验仪上调试,运行后可以看到LED灯在不停的红绿交替亮。 二、实验目的: 熟悉和掌握并行口8255A和定时器/计数器8253的初始化和综合使用。 三、实验电路及连接图

    2024年02月12日
    浏览(45)
  • 专项技能训练五《云计算网络技术与应用》实训6-1:安装OpenDayLight控制器

    实验前准备:编辑虚拟机网络配置,使VMnet8处在192.168.10.0网段,VMnet1处在192.168.1.0网段。 1. 使用VMware安装CentOS 7虚拟机,安装时需添加多一张网卡,该网卡为自定义-VMnet1.并且记得开启CPU虚拟化,将其命名为“OpenDayLight”。 2. 安装完虚拟机后,进入虚拟机,修改网络配置(o

    2024年04月28日
    浏览(46)
  • AD域控制器将辅域控制器角色提升为主域控制器

    域控服务器迁移,已将新机器添加为该域的辅域控制器。 主域控制器:test-dc-01 辅域控制器:test-dc-02 需求将主辅域的角色进行互换,test-dc-01更换为辅域,test-dc-02更换为主域。 方法1 命令行修改AD域角色 1.查看当前主域控制器是哪台机器,查询命令 netdom query fsmo 可以看到当前

    2024年02月12日
    浏览(60)
  • Unity 第三人称 玩家控制器+相机控制器

    今天给大家分享一个简单的Unity第三人称视角下玩家控制器和相机控制器的脚本编写方法。   效果如下: 主要分三部分实现:人物旋转、人物移动、相机旋转。 1.人物移动: 首先获取到人物水平和垂直移动的参数: 因为人物移动的方向跟摄像头一致,所以需要根据摄像头的

    2024年02月06日
    浏览(82)
  • 18-k8s控制器资源-cronjob控制器

            job控制器是执行完一次任务,就结束;         cronjob控制器,是基于job控制器,定期频率性执行任务;等同于linux系统中的crontab一样; [root@k8s231 pi]# vim cronjob.yaml apiVersion: batch/v1 kind: CronJob metadata:   name: xinjizhiwa spec:   schedule: \\\"* * * * *\\\"   #定义job的模板   jobTemplate

    2024年02月22日
    浏览(72)
  • 15-k8s控制器资源-deployment/部署控制器

            在学习rc和rs控制器资源时,我们指导,这两个资源都是控制pod的副本数量的,但是,他们两个有个缺点,就是在部署新版本pod或者回滚代码的时候,需要先apply资源清单,然后再删除现有pod,通过资源控制,重新拉取新的pod来实现回滚或者迭代升级;         那么

    2024年02月21日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包