【SDN:逻辑上集中的控制平面,路由选择算法,LS路由工作过程,距离矢量路由选择(distance vector routing)】

news2025/1/11 10:00:25

文章目录

    • SDN:逻辑上集中的控制平面
    • SDN的主要思路
    • SDN控制平面和数据平面分离的优势
    • SDN 架构: 数据平面交换机
  • 路由选择算法
    • 路由(route)的概念
    • 最优化原则(optimality principle)
    • 路由的原则
    • 路由算法的分类
    • LS路由工作过程(相当于一个上帝)
    • 链路状态路由选择(link state routing)
    • Dijkstra算法的讨论
    • 距离矢量路由选择(distance vector routing)
    • 距离矢量算法
    • 距离矢量路由选择(distance vector routing)

SDN:逻辑上集中的控制平面

一个不同的(通常是远程)控制器和CA交互,控制器决定分组
转发的逻辑(可编程),CA所在设备执行逻辑。
在这里插入图片描述

SDN的主要思路

  • 网络设备数据平面和控制平面分离
  • 数据平面-分组交换机
    • 将路由器、交换机和目前大多数网络设备的功能进一步抽象成:按照流表(由控制平面设置的控制逻辑)进行PDU帧、分组)的动作(包括转发、丢弃、拷贝、泛洪、阻塞)
    • 统一化设备功能:SDN交换机(分组交换机),执行控制逻辑

SDN控制平面和数据平面分离的优势

  • 水平集成控制平面的开放实现(而非私有实现),创造出好的产业生态,促进发展
  • 集中式实现控制逻辑,网络管理容易
  • 基于流表的匹配+行动的工作方式允许“可编程的”分组交换机
    网络操作系统上的应用可以收集信息。计算流表,按照南向接口来下发流表,网络可编程。通过网络操作系统上的网络应用,编程结果,形成流表,通过数据平面和控制平面的南向接口,将流表下发给分组交换机。南向接口将分组交换机当前控制器上报给SDN控制器

SDN 架构: 数据平面交换机

数据平面交换机

  • 快速,简单,商业化交换设备采用硬件实现通用转发功能
  • 流表被控制器计算和安装
  • 基于南向API(例如OpenFlow),SDN控制器访问基于流的交换机
  • 也定义了和控制器的协议 (e.g., OpenFlow)

路由选择算法

路由(route)的概念

  • 路由:按照某种指标(传输延迟,所经过的站点数目等)找到一条从源节点到目标节点的较好路径。(一个路由器到另一个路由器)

最优化原则(optimality principle)

  • 汇集树
    - 此节点到所有节点的最优路径形成的树
    - 路由选择算法就是为所有路由器找到并使用汇集树
    在这里插入图片描述
    不可能会出现回路

路由的原则

  • 路由选择算法的原则
    • 正确性(correctness):算法必须是正确且完整的,能够正确找到目标站,在路由表中都能找到完整的表项
    • 简单性(simplicity):最优但是复杂的算法,时间延迟大,不实用
    • 健壮性(robustness):算法能够适应通信量和网络拓扑的变化

路由算法的分类

全局或者局部路由信息?
全局:

  • 所有的路由器拥有完整的拓扑和边的代价信息
  • “link state”算法
    分布式(各邻居到其它子网的信息,在我自己这里做一个汇集):
  • 路由器只知道与它物理连接关系的邻居路由器,和到相应邻居路由器的代价值
  • 迭代地与邻居交换路由信息,计算路由信息
  • “distance vector”算法
    静态还是动态的?
    静态:
  • 路由随时间变化缓慢
    动态:
  • 路由变化很快
    • 周期性更新
    • 根据链路代价的变化而变化
      非自适应算法(non-adaptive algorithm):不能适应网络拓扑和通信量的变化,路由表是事先计算好的
      自适应路由选择(adaptive algorithm):能适应网络拓扑和通信量的变化

LS路由工作过程(相当于一个上帝)

  • 配置LS路由选择算法的路由工作过程
  • 各点通过各种渠道获得整个网络拓扑, 网络中所有链路代价等信息(这部分和算法没关系,属于协议和实现)
  • 使用LS路由算法,计算本站点到其它站点的最优路径(汇集树),得到路由表
    在这里插入图片描述

链路状态路由选择(link state routing)

  • LS路由的基本工作过程
    1.发现相邻节点,获知对方网络地址
    在这里插入图片描述

    2.测量到相邻节点的代价(延迟,开销)
    在这里插入图片描述

    3.组装一个LS分组,描述它到相邻节点的代价情况
    在这里插入图片描述

    4.将分组通过扩散的方法发到所有其它路由器以上4步让每个路由器获得拓扑和边代价
    在这里插入图片描述
    在这里插入图片描述

    5.通过Dijkstra算法找出最短路径(这才是路由算法)
    在这里插入图片描述
    在这里插入图片描述

  • 有两类节点

    • 临时节点(tentative node) :还没有找到从源节点到此节点的最优路径的节点
    • 永久节点(permanent node) N’:已经找到了从源节点到此节点的最优路径的节点
  • 初始化

    • 除了源节点外,所有节点都为临时节点
    • 节点代价除了与源节点代价相邻的节点外,都为∞
  • 从所有临时节点中找到一个节点代价最小的临时节点,将之变成永久节点(当前节点)W

  • 对此节点的所有在临时节点集合中的邻节点(V)

  • 开始一个新的循环

例;

在这里插入图片描述

Dijkstra算法的讨论

算法复杂度: n节点

  • O(n2)
    在这里插入图片描述
    后面可能轻载变拥塞,变成重载路径。

距离矢量路由选择(distance vector routing)

  • 动态路由算法之一
  • 每个节点定期测量与邻居距离矢量,选代价最小的。
  • 代价及相邻节点间代价的获得
    • 跳数(hops), 延迟(delay),队列长度
    • 相邻节点间代价的获得:通过实测
  • 路由信息的的更新
    找到一个最小的代价,和相应的下一个节点Z,到达节点B经过此节点Z,并且代价为A-Z-B的代价
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

距离矢量算法

异步式,迭代:每次本地迭代被以下事件触发:

  • 我到邻居链路代价发生变化
  • 邻居将距离矢量传给我,这个距离矢量变化了,就导致我对距离矢量做迭代更新。
    分布式:
  • 每个节点只是在自己的DV改变之后向邻居通告

距离矢量路由选择(distance vector routing)

  • DV的特点
    好消息传得快,坏消息传得慢。
    • 好消息:某个路由器接入或有更短的路径
    • 坏消息的传播速度非常慢(无穷计算问题)可能形成环路

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1654732.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YoloV8改进策略:BackBone改进DCNv4

摘要 涨点效果:在我自己的数据集上,mAP50 由0.986涨到了0.993,mAP50-95由0.737涨到0.77,涨点明显! DCNv4是可变形卷积的第四版,速度和v3相比有了大幅度的提升,但是环境搭建有一定的难度,对新手不太友好。如果在使用过程遇到编译的问题,请严格按照我写的环境配置。 Y…

CSDN上是不是有机器人点赞和收藏?

我在CSDN上写作,主要是本来是记录学习工作中的一些知识点,看得人不多本来就能预想到的。 但是今天发现五一写的一篇博客,出现了很奇怪的阅读、点赞、收藏数。只有2个人阅读,但是有8个点赞,还有5个收藏。 我不禁怀疑CS…

二叉树的前序、中序、后序遍历的C++实现

二叉树的前序、中序、后序 遍历属于深度优先搜索方式&#xff0c;本文使用递归法实现前序、中序、后序的遍历方法&#xff0c;代码如下&#xff1a; #include <iostream> #include <vector>struct TreeNode{int val;TreeNode* left;TreeNode* right;TreeNode(int …

【JAVA进阶篇教学】第十篇:Java中线程安全、锁讲解

博主打算从0-1讲解下java进阶篇教学&#xff0c;今天教学第十篇&#xff1a;Java中线程安全、锁讲解。 当涉及到多线程编程时&#xff0c;保证线程安全是至关重要的。线程安全意味着在多个线程访问共享资源时&#xff0c;不会发生数据错乱或不一致的情况。为了实现线程安全&am…

【Linux】常用基本指令

目录 食用说明 用户管理 whoami/who clear tree 目录结构和路径 pwd ls 文件 隐藏文件 常用选项 cd 家目录、根目录、绝对路径和相对路径 touch 常用选项 mkdir rmdir/rm man cp mv cat nano echo 输出重定向 > 输入重定向 < more/less head/…

comfyui安装deforum启动不了,多半是ffmpeg的问题

如果报错中出现imageio 和 ffmpeg 的字样&#xff0c;去装requirement也没啥用 这里最好到cmd中&#xff0c;进入comfyui的python环境&#xff0c;运行以下两句&#xff1a; import imageio imageio.plugins.ffmpeg.download() 图例&#xff1a; 如果节点不报错了&#xff0…

嵌入式引脚工作模式

一.引脚工作模式的基本概念 引脚的工作模式通常包括输入模式、输出模式和双向模式&#xff1a; 输入模式&#xff1a;引脚设置为输入模式时&#xff0c;可以接收外部信号或触发器的信号。这种模式通常用于读取传感器数据、接收外部设备的信号等。 输出模式&#xff1a;引脚设…

Lora基础炼丹学习笔记

1、收集数据集 20-30张人物各个角度、各个姿势的图片 2、图片预处理 裁剪 打标签 裁剪必须也要512 * 512 &#xff0c;因为sd1.5就是用这个尺寸训练的&#xff0c;可以使用后期处理 打标可以勾选这个&#xff0c;Deepbooru对二次元画风更友好 打标也可以使用wb14-tagger的…

openssl 生成证书步骤

本地测试RSA非对称加密功能时&#xff0c;需要用到签名证书。本文记录作者使用openssl本地生成证书的步骤&#xff0c;并没有深入研究openssl&#xff0c;难免会有错误&#xff0c;欢迎指出&#xff01;&#xff01;&#xff01; 生成证书标准流程&#xff1a; 1、生成私钥&am…

关于ssrf

首先&#xff0c;先介绍一下ssrf。ssrf即服务器端请求伪造&#xff0c;是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下&#xff0c;SSRF攻击的目标是从外网无法访问的内部系统。而且因为请求是由服务端发起的&#xff0c;所以服务端能请求到与自身相连而与…

计算机网络——应用层协议(2:http协议)

在这篇文章中自定义应用层协议&#xff0c;我曾介绍了应用层协议中需要我们开发人员自行制定应用层协议&#xff0c;而应用层协议又离不开结构化字段以及序列化和反序列化还有报头的封装。而在今天&#xff0c;我们有一种应用层协议是我们几乎人人都接触过的协议&#xff0c;它…

暗区突围国际服pc端海外版新手前期如何赚钱 暗区突围新手教学

暗区突围国际服pc端海外版新手前期如何赚钱 暗区突围新手教学 暗区突围是一款极为惊险的射击游戏&#xff0c;让玩家充分感受紧张激烈的战斗以及获取财富的过程。但是有许多新手玩家是不会在游戏里赚钱的&#xff0c;也会在赚钱过程中遇到很多问题&#xff0c;我将在这篇文章…

PGP加密技术:保护信息安全的利器

随着数字化时代的到来&#xff0c;个人和企业对信息安全的需求日益增长。PGP&#xff08;Pretty Good Privacy&#xff09;加密技术作为一项强大的加密工具&#xff0c;为保护敏感数据提供了一种有效的方法。本文将探讨PGP加密技术的基本原理、应用场景以及其在现代信息安全中的…

IDEA - java.lang.OutOfMemoryError: Java heap space / insufficient memory

IDEA 第一次运行项目时&#xff0c;会报如题错误&#xff0c;解决办法是&#xff1a; 将图示部分由默认的 700 改为 2048。

PPT弹簧画法

1. 插入两个圆 2. 使用Lvyhtools的形状-位置分布-圆形阵列 注意&#xff1a;阵列中心要点击文字后才能选择 3. 删除中心的圆&#xff0c;使用Onekey10的原位复制&#xff0c;可以多次&#xff1b; 4. 右击图像选择设置形状格式-线条&#xff08;无线条&#xff09; 5. 找到第二…

云HIS源码,基于云计算的医院临床信息系统(有应用案列)

云HIS全套商业源码&#xff0c;基于云计算的医院临床信息系统 提供预约挂号、门急诊收费、门诊医生站、护士工作站、药房药库管理、电子病历、住院医生站、住院护士工作站、住院登记结算、出院管理、病案管理、医药价格管理、财务管理、统计查询、会员管理等业务及管理功能。 …

PCIe下一代线缆标准CopprLink发布

作为业界广泛采用的高速串行点对点互联标准&#xff0c;PCIe自诞生以来历经多次迭代升级&#xff0c;现已成为CPU、GPU、FPGA、SSD等计算设备间不可或缺的互连桥梁。PCIe 7.0标准更是将数据传输速率提升至令人惊叹的32 GB/s&#xff08;每通道&#xff09;。 然而&#xff0c;面…

linux上go项目打包与部署

1.第一步把项目打包 1.确保本地goland的操作系统为linux go env找到GOOS如果为window就修改为Linux 修改命令为 go env -w GOOSlinux2.打包 在项目根目录下输入 go build main.go然后项目根目录下会出现一个mian的二进制文件 3.上传包 将 main 程序包放到服务的目录下&…

俄罗斯国际消费类电子电器展ICEE:人潮如织,盛况空前

近日&#xff0c;备受全球瞩目的俄罗斯国际消费类电子电器展ICEE在莫斯科盛大落幕。本次展会为期四天&#xff0c;真的攒足了眼球&#xff0c;不仅俄罗斯这边的很多媒体和自媒体有报道&#xff0c;展会第一天&#xff0c;很多参展商通过短视频平台将展会的盛况传到了国内&#…

深入理解Python的类,实例和type函数

问题起源&#xff1a; class t():pass s1 t() s2 type("Student2",(),{}) isinstance(s1, type), isinstance(s2, type)为什么第一个是false&#xff0c;第二个是true呢 根因定位&#xff1a; 在Python中&#xff0c;一切皆对象&#xff0c;类是对象&#xff0c…