网络层:控制平面

路由选择算法

路由选择算法就是为了在端到端的数据传输中,选择路径上路由器的最好的路径。通常,一条好的路径指具有最低开销的路径。最低开销路径是指源和目的地之间具有最低开销的一条路。

  • 根据集中式还是分散式来划分
    • 集中式路由选择算法:
      集中式算法拥有关于所有网络链路开销的完整信息。具有全局状态信息的算法常被称作链路状态算法,因为该算法必须知道网络中每条链路的开销。
    • 分散式路由选择算法:
      路由器以迭代,分布式方式计算出最低开销路径。没有节点拥有关于网络中所有节点的信息。
  • 根据动静态来划分
    • 静态路由选择算法:
      通常由人工进行调整。
    • 动态路由选择算法:
      随着网络流量负载或拓扑发生变化二改变路径。虽然动态路由选择算法能随时对网络变化做出响应,但是会带来路由循环,路由振荡等问题。
  • 根据负载敏感还是负载迟钝划分
    • 负载敏感算法:
      链路开销会动态地变化以反映出底层链路的当前拥塞水平。
      负载迟钝算法:
      不明确地反映当前拥塞水平。

链路状态路由选择算法

简单来说,在一台路由器上:首先在一张表中显示出所有与它直接相连地路由器,并且记录开销,然后依次计算与这些路由器相连的路由器,当算到最后的时候,每一台路由器知道它的前一个节点,这样就计算出了具有最低开销的链路。
但是我们要考虑一个情况,比如说,路由器A要向B发送数据,比如路由器A和B在钟表上12点和6点的位置,第一次,计算出最低开销链路是顺时针,第二次的时候,由于第一次发送的数据,链路状态路由选择算法计算出最低开销路径为逆时针,第三次有时顺时针,以此类推,这种情况我们称之为网络振荡。
一种解决方法就是确保并非所有的路由器同时运行LS(链路状态路由选择)算法。

距离向量路由选择算法

距离向量算法是一种迭代的,异步的和分布式的算法,而LS算法是一种使用全局信息的算法。

因特网中自治系统内部的路由选择:OSPF

  • 自治系统(AS):
    通常由一个ISP中的路由器以及互联他们的链路构成一个AS。
    一个大的AS下可以划分多个小的AS,每个AS由AS号来标识,AS号由ICANN区域注册机构所分配。
  • 开放路径最短优先(OSPF)
    OSPF是一种链路状态协议,使用OSPF时,路由器向自治系统内所有的其他路由广播路由选择信息,而不是单单地向其相邻的路由器广播。
  • OSPF的优点:
    1. 安全
    2. 多条相同开销的路径
    3. 对单播与多播的总和支持
    4. 支持在单个AS中的层次结构

ISP之间的路由选择协议(BGP)

在因特网中,所有的AS都运行相同的AS间路由选择协议,称为边界网关协议(BGP),正是这个协议将因特网中数以千计的ISP粘合起来。

  • BGP的作用:
    由自治系统外部发送到自治系统内部的报文,由AS内部路由选择协议所决定,那么在AS外部,也就是从一个AS内发送到另一个AS的报文如何转发?这就是BGP的职责所在,首先,一个AS要接收报文,那么其他AS就应该知道它的存在,在知道了它的存在之后,选择最低开销路径。

  • 通告BGP路由信息:
    网管路由器是指一台位于AS边缘的路由器。它直接连接到其他AS内部的一台或多台路由器。内部路由器仅连接在它自己AS中的主机和路由器。

SDN控制平面

SDN控制平面大致分为两部分:SDN控制器和SDN网络控制应用程序。
控制器的功能可大体组织为3个层次:

  • 通信层:SDN控制器和受控网络设备之间的通信
  • 网络范围状态管理层。
  • 对于网络控制应用程序层接口。

OpenFlow协议

OpenFlow协议运行在SDN控制器和SDN控制的交换机或其他实现OpenFlow API的设备之间,OpenFlow协议运行在TCP之上,使用默认6653端口号。

ICMP:因特网控制报文协议

SNMP报文类型

网络管理和SNMP

网络管理包括了硬件,软件和人类元素的设置,总和和协调,以监视,测试,轮询,配置,分析,评价和控制网络及网元资源,用合理的成本满足实时性,运营性能和服务质量的要求。
简单网络管理协议(SNMP)是一个应用层协议,用于在管理服务器和代表管理服务器执行的代理之间传递网络管理控制信息和报文。SNMP最常使用的是请求响应模式,陷阱报文,

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

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

相关文章

Linux C++静态库动态库以及链接方式介绍

在Linux系统中,C/C库分为静态库和动态库两种类型。下面是它们的基础介绍: 静态库(.a文件):静态库是一种归档文件,其中包含了一堆可重用的目标文件,这些目标文件通常是C/C函数的实现。当静态库被…

嵌入式系统中的FPGA

举个栗子 假设你有一台智能家居系统,其中的FPGA可以被类比为智能家居中的中央控制器。 智能家居系统: 定制家居逻辑: 你希望智能家居系统能够根据你的生活习惯、时间表和喜好自动控制灯光、温度、窗帘等设备。就像FPGA中可以根据需求重新配置…

烟台海森大数据——数据驱动材料研发,本土化为安全护航

随着大数据时代的来临,人们的生产和生活,各方面都在发生着深刻的变化。作为与国计民生息息相关的材料行业,也在数据时代迎来了新的机遇与挑战。 新材料是我国重点推进的战略性新兴产业之一,对于支撑整个战略性新兴产业发展&#…

vue + axios + mock

参考来源:Vue mock.js模拟数据实现首页导航与左侧菜单功能_vue.js_AB教程网 记录步骤:在参考资料来源添加axios步骤 1、安装mock依赖 npm install mock -D //只在开发环境使用 下载完成后,项目文件package.json中的devDependencies就会加…

1.2 HTML5

一.HTML5 简介 1.什么是HTML5 HTML5是新一代的 HTML 标准,2014年10月由万维网联盟( W3C)完成标准制定。官网地址: w3c提供:HTML StandardWHATWG提供: HTML Standard HTML5在狭义上是指新—代的 HTML 标准,在广义上是指:整个前端。 2.HTML…

数据结构(四)--队列及面试常考的算法

一、队列介绍 1、定义 与栈相似,队列是另一种顺序存储元素的线性数据结构。栈与队列的最大差别在于栈是LIFO(后进先出),而队列是FIFO,即先进先出。 2、优缺点及使用场景 优点:先进先出(FIFO&…

Qt利用VCPKG和CMake和OpenCV和Tesseract实现中英文OCR

文章目录 1. 开发平台2. 下载文件2.1 下载安装 OpenCV 库2.2 下载安装 Tesseract-OCR库2.3 下载训练好的语言包 3. CMakeLists.txt 内容4. Main.cpp4.1 中英文混合OCR 5. 在Qt Creator 中设置 CMake vcpkg5.1 在初始化配置文件里修改5.2 在构建配置里修改 说明:在Q…

踩坑记录一

先呼自己两耳巴 临床采集的增强CT数据,有时候是同时采集了静脉期和动脉期。就会导致图像多一分如下: 但是勾画的时候,是以下面的期相进行标注的。所以在训练分割,对于这种案例,他识别到了在上面一个期相的目标位置&am…

xilinx primitives(原语)

Xilinx的原语分为10类,包括:计算组件,IO端口组件,寄存器/锁存器,时钟组件,处理器组件,移位寄存器,配置和检测组件,RAM/ROM组件,Slice/CLB组件,G-t…

百面深度学习-循环神经网络

循环神经网络 什么是循环神经网络? 循环神经网络(Recurrent Neural Network,RNN)是一类用于处理序列数据的神经网络。你可以将它想象成一个机器,它不仅考虑当前的输入,还考虑之前接收过的输入。这使得它非…

[Linux打怪升级之路]-信号的产生

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、信号基础…

Docker Stack部署应用详解+Tomcat项目部署详细实战

Docker Stack 部署应用 概述 单机模式下,可以使用 Docker Compose 来编排多个服务。Docker Swarm 只能实现对单个服务的简单部署。而Docker Stack 只需对已有的 docker-compose.yml 配置文件稍加改造就可以完成 Docker 集群环境下的多服务编排。 stack是一组共享…

专访HuggingFace CTO:开源崛起、创业故事和AI民主化丨智源独家

导读 HuggingFace CTO Julien Chaumond认为,在大模型时代,AI民主化至关重要。随着大语言模型和复杂人工智能系统的崛起,持续提升AI技术的可及性有助于确保这些技术的获取和控制不集中在少数强大实体手中。技术民主化促进了机会均等&#xff0…

CSV是什么

CSV是逗号分隔值(Comma-Separated Values)的缩写,它是一种常见的文本文件格式,通常以纯文本形式存储表格数据。在CSV文件中,数据通常由逗号分隔,并且每行表示一个记录。这种格式广泛应用于电子表格和数据库…

(四) Python Pandas入门

一、介绍 Pandas是Python中一个强大的数据处理库,它提供了许多功能强大的数据结构和数据分析工具。在本文中,我们将介绍Pandas的基本概念和如何使用它生成一个包含今天到未来20个工作日的日期列表的Excel文件。 Pandas提供了大量的数据结构和数据分析工…

「Java开发指南」如何用MyEclipse搭建Spring MVC应用程序?(一)

本教程将指导开发者如何生成一个可运行的Spring MVC客户应用程序,该应用程序实现域模型的CRUD应用程序模式。在本教程中,您将学习如何: 从数据库表的Scaffold到现有项目部署搭建的应用程序 使用Spring MVC搭建需要MyEclipse Spring或Bling授…

工程(十二)Ubuntu20.04LSD_SLAM运行

LSD_SLAM适配于ubuntu20.04修改过程的参考连接如下 Ubuntu20.04配置并运行LSD_SLAM,实测可行_nice-wyh的博客-CSDN博客 【已解决】/lib/x86_64-linux-gnu/libapr-1.so.0: undefined reference to uuid_generateUUID_1.0_Mr.Winter的博客-CSDN博客 博主将修改好的…

jar包的精细化运营,Java模块化简介 | 京东云技术团队

图:模块化手机概念 一、什么是Java模块化 Java模块化(module)是Java9及以后版本引入的新特性。 官方对模块的定义为:一个被命名的,代码和数据的自描述集合。( the module, which is a named, self-descri…

rust 开发入门

要入门Rust编程,首先需要安装Rust编程环境并创建一个Hello World项目。以下是步骤: 1. 安装Rust 首先,你需要安装Rust编程环境。你可以使用rustup,它是Rust的官方工具,用于安装和管理Rust的不同版本。打开终端并运行…

如何让设计作品更有张力?优漫教育

有些平面设计作品,让人看了提不起劲,更别说能达到宣传作用了。那么问题来了,如果让自己的设计作品更有视觉效果和更有张力,能让甲方满意,下面分享的九个大招,能提升你的设计水平。 如何让设计作品更有张力…