网络层:控制平面

路由选择算法

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

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

链路状态路由选择算法

简单来说,在一台路由器上:首先在一张表中显示出所有与它直接相连地路由器,并且记录开销,然后依次计算与这些路由器相连的路由器,当算到最后的时候,每一台路由器知道它的前一个节点,这样就计算出了具有最低开销的链路。
但是我们要考虑一个情况,比如说,路由器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最常使用的是请求响应模式,陷阱报文,

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基础Redis-Java客户端操作介绍

Java客户端操作介绍 2.基础-Redis的Java客户端a.介绍b.Jedisc.Jedis连接池d.SpringDataRedise.SpringDataRedis的序列化方式f.StringRedisTemplate 2.基础-Redis的Java客户端 a.介绍 Jedis 以Redis命令作为方法名称,学习成本低,简单实用。但是Jedis实例…

性能工作站,双十一大促,超值推荐:蝰蛇峡谷 NUC12SNKi7迷你主机,优惠抢购!

近年来,ITX主机和小型化系统变得越来越受欢迎。英特尔的NUC受到许多玩家们的关注。作为mini主机的代表NUC小巧设计和灵活性使它成为很多玩家和科技爱好者的选择。它的高性能和可玩性使得它在迷你型准系统市场上备受推崇。双11来临之际,我们分析下哪款高性…

【React】【react-globe.gl】3D Objects效果

目录 想要实现的效果实现过程踩坑安装依赖引入页面 想要实现的效果 示例地址 实现过程 踩坑 示例是通过script引入的依赖,但本人需要在react项目中实现该效果。按照react-globe.gl官方方法引入总是报错 Cant import the named export AmbientLight from non EcmaS…

前端的几种网络请求方式

网络请求 node编写接口 这里用到的几个包的作用 express:基于 Node.js 平台,快速、开放、极简的 Web 开发框架,官网:https://www.expressjs.com.cn/cors:用来解决跨域问题body-parser:可以通过 req.body…

Leetcode48旋转图像

思路:找规律 方法一、一般辅助数组解法 行列转换,第一行变到第三列,第二行变到第二列,第三行变到第一列 matrix[row][col] matrix[col][n-row-1] 然后复制回原数组 class Solution {public void rotate(int[][] matrix) {in…

Spring cloud负载均衡 @LoadBalanced注解原理

接上一篇文章,案例代码也在上一篇文章的基础上。 在上一篇文章的案例中,我们创建了作为Eureka server的Eureka注册中心服务、作为Eureka client的userservice、orderservice。 orderservice引入RestTemplate,加入了LoadBalanced注解&#x…

线性【SVM】数学原理和算法实现

一. 数学原理 SVM是一类有监督的分类算法,它的大致思想是:假设样本空间上有两类点,如下图所示,我们希望找到一个划分超平面,将这两类样本分开,我们希望这个间隔能够最大化来使得模型泛化能力最强。 如上图所…

谷歌浏览器默认https 怎么关闭

#然后把网址从 https 改成http 回车即可

用于3D Visual Grounding的多模态场景图

文章目录 引言方法1. Language Scene Graph Module Paper:《Free-form Description Guided 3D Visual Graph Network for Object Grounding in Point Cloud》【ICCV’2021】 Code:https://github.com/PNXD/FFL-3DOG 引言 3DVG任务有以下三个挑战&#x…

c语言 简单认识 指针和结构体

指针 代码 #include <stdio.h>int main(){int a 10;//指针类型需要与变量的类型相同&#xff0c;且后面需要添加一个*符号&#xff08;注意这里不是乘法运算&#xff09;表示是对于类型的指针int * p &a; //这里的&并不是进行按位与运算&#xff0c;而是取…

迅为iTOP-i.MX8M开发板使用 make 工具

make 工具是编译辅助工具&#xff0c;用来解决使用命令编译工程非常繁琐的问题。 调用这个命令工具&#xff1a;我们在 windows 上编程使用 ide &#xff0c;我们有图形界面&#xff0c;有相应的按钮&#xff0c;比如说 build 或者 run 来编译。其实 make 这个编译辅助工具使…

【Python基础】IF、Else判断以及Whlie、for循环介绍符实例

运算符 1. if 语句体验2.逻辑运算3. if 语句进阶4.While循环4.1基本语法 5.break 和 continue6. for循环 1. if 语句体验 if 判断语句基本语法 在 Python 中&#xff0c;if 语句 就是用来进行判断的&#xff0c;格式如下&#xff1a; if 要判断的条件: 条件成立时&#xff0c;…

如何使用腾讯云+Picgo搭建图床

目录 一、进入腾讯云进行实名认证 二、领取免费存储额度 2.1新用户界面概览就可以领取 三、开始创建远端图床并生成秘钥等信息 3.1创建存储桶 3.2配置基本信息 3.3配置高级选项 3.4确认配置页面点击创建即可 3.5创建访问秘钥 3.6查看秘钥等信息 3.7查看桶名称 四、图…

lv9 嵌入式开发 数据库sqlite

1 数据库基本概念 数据&#xff08;Data&#xff09; 能够输入计算机并能被计算机程序识别和处理的信息集合 数据库 &#xff08;Database&#xff09; 数据库是在数据库管理系统管理和控制之下&#xff0c;存放在存储介质上的数据集合 2 常用的数据库 大型数据库…

【实践篇】一次Paas化热部署实践分享 | 京东云技术团队

前言 本文是早些年&#xff0c;Paas化刚刚提出不久时&#xff0c;基于部门内第一次Paas化热部署落地经验所写&#xff0c;主要内容是如何构建一些热部署代码以及一些避雷经验。 一、设计-领域模型设计 1.首先&#xff0c;确定领域服务所属的领域 2.其次&#xff0c;确定垂直…

前端基础之BOM和DOM

1、BOM和DOM简述 BOM&#xff1a;指浏览器对象模型&#xff0c;它使JavaScript有能力与浏览器进行对话 DOM&#xff1a;指文档对象模型&#xff0c;通过它&#xff0c;可以访问HTML文档的所有元素 2、Window对象 所有浏览器都支持window对象&#xff0c;他表示浏览器窗口。 如果…

5.3 连接和分离线程

方法 pthread_join(thread, status) pthread_detach(thread) pthread_attr_setdetachstate(attr, detachstate) pthread_attr_getdetachstate(attr) 连接 连接&#xff08;joining&#xff09;是一种线程之间完成同步的方法&#xff0c;举例如下。 pthread_join()方法会阻…

无代码平台哪家好,盘点最新国内十大无代码零代码平台排名

无代码&#xff08;No Code&#xff09;是一种通过使用可视化界面和预构建的模块来创建应用程序、网站或其他数字化解决方案的方法&#xff0c;不需要编写大量的手动代码。 无代码平台通常包括一些基本的构建块&#xff0c;如表单、按钮、文本框等&#xff0c;用户可以通过拖拽…

Android Studio(对话框AlertDialog)

前言 前面介绍了常用控件的相关属性&#xff0c;那些控件的使用起来也很容易。在本节及后面的章节介绍的控件将是相比于前面使用起来较为复杂的&#xff08;不过使用多了&#xff0c;也很容易上手&#xff09;。 这些控件常常需要配合java代码来使用&#xff0c;比如说对话框、…

zookeeper本地部署和集群搭建

zookeeper&#xff08;动物园管理员&#xff09;是一个广泛应用于分布式服务提供协调服务Apache的开源框架 Zookeeper从设计模式角度来理解&#xff1a;是一个基于观察者模式设计的分布式服务管理框架&#xff0c;它 负责存储和管理大家都关心的数据 &#xff0c;然 后 接受观察…