【网络协议】聊聊网络路由相关算法

news2024/11/16 15:55:37

如何配置路由

路由器是一台网络设备,多张网卡,当一个入口的网络包到达路由器时,会根据本地的信息库决定如何正确的转发流量,通常称为路由表

路由表主要包含如下 核心思想是根据目的 IP 地址来配置路由

  • 目的网络:要去哪
  • 出口设备:将包从那个口扔出去
  • 下一跳网关:下一个路由器的地址

ip route add 10.176.48.0/20 via 10.173.32.1 dev eth0
要去10.176.48.0/20 网络,从eth0端口出去,经过10.173.32.1。

如何配置策略路由

但是实际上可能根据不同的策略进行配置
ip rule add from 192.168.1.0/24 table 10
从网络192.168.1.0/24来,使用table10中的路由表。
虽然我们可以通过静态配置路由的方式,但是这种方式是不灵活的,所以,一般使用的是动态路由算法。

动态路由算法

动态路由算法,其实在网络中就是一个图结构,计算不同路由器之间的路径,找到最短路径。知道求最短路径常用的有两种方法,一种是 Bellman-Ford 算法,一种是 Dijkstra 算法。在计算机网络中基本也是用这两种方法计算的。

距离矢量路由算法

矢量路由其实是使用Bellman-Ford算法,本质每个路由器会存储一个路由表,一个是到目标路由器,走那条线出去,还有距离目标路由器的距离。
由此可以看出,如果一旦网络结构更新的话,那么整个网络就需要全部更新路由器信息,代价非常大。并且由于网络是不稳定的,一旦出现路由器挂掉,无法及时获取对应路由器的在线状态。

所以本算法只适用于小规模,限制了距离矢量路由的网络规模。

链路状态路由算法

链路状态路由,其实是每次启动一个路由器,都会计算周边路由器的距离,然后进行全局广播,每个路由器会构建一个完整的图,使用Dijkstra算法 找到两点之间最短的路径。

不像距离距离矢量路由协议那样,更新时发送整个路由表。链路状态路由协议只广播更新的或改变的网络拓扑,这使得更新信息更小,节省了带宽和 CPU 利用率。而且一旦一个路由器挂了,它的邻居都会广播这个消息,可以使得坏消息迅速收敛。

动态路由协议

1. 基于链路状态路由算法的 OSPF

OSPF(Open Shortest Path First,开放式最短路径优先)是基于链路状态路由协议。
内部网关协议重点是找到最短路径,在一个组织内部,路径最短往往优先。也可能会出现多个最短路径,那么就是等等价路由。
这种方式针对大流量可以进行分摊。实现高吞吐量的接入层设计。
在这里插入图片描述

2. 基于距离矢量路由算法的 BGP

小结

本篇主要简单介绍了路由相关信息,路由分为静态路由和动态路由,静态路由可以配置不同的策略,但是不够灵活,动态路由有距离矢量算法和链路状态算法,基于两种算法产生两种协议,BGP协议和OSPF协议。

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

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

相关文章

电影评分数据分析案例-Spark SQL

# cording:utf8from pyspark.sql import SparkSession from pyspark.sql.types import IntegerType, StringType, StructType import pyspark.sql.functions as Fif __name__ __main__:# 0.构建执行环境入口对象SparkSessionspark SparkSession.builder.\appName(movie_demo)…

DDOS直接攻击系统资源

DDOS ——直接攻击系统资源 思路: 攻击机利用三次握手机制,产生大量半连接,挤占受害者系统资源,使其无法正常提供服务。 1、先体验下受害者的正常网速。在受害者主机上执行以下命令 (1)开启Apache。 systemctl start apache2 (2…

C++数据结构X篇_20_选择排序

文章目录 1. 选择排序原理2. 选择排序原理核心代码3. 选择排序时间消耗 1. 选择排序原理 选择排序:相对于冒泡排序,减少了交换次数,下图展示了选择排序的原理,具体仍需要结合代码分析。 2. 选择排序原理核心代码 //选择排序 v…

运行报错(三)git bash报错fatal: detected dubious ownership in repository at

报错现象 在运行git 命令时,出现报错 “fatal: detected dubious ownership in repository at” 报错原因 文件夹的所有者和现在的用户不一致 栗子: 文件夹的所有者是root,而当前用户是admin 解决方案 方法一、 将文件夹的所有者替换成ad…

九章云极DataCanvas公司入选Forrester AI/ML权威报告

日前,全球研究机构Forrester最新发布了《The Forrester Wave™: AI/ML Platforms In China, Q4 2023》报告(以下简称“报告”)。凭借DataCanvas APS机器学习平台这一人工智能核心基础软件的持续研发和广泛应用,九章云极DataCanvas…

数据集-特征降维

1、降维 降维是指在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程 降低随机变量的个数 相关特征(correlated feature) 相对湿度与降雨量之间的相关等等 正是因为在进行训练的时候,我们都是使用特征进行学习。如果…

基于 Android 的文件同步设计方案

1、背景 随着用户对自身数据保护意识的加强,让用户自己维护自己的数据也成了独立开发产品时的一个卖点。若只针对少量的文件进行同步,则实现起来比较简单。当针对一个多层级目录同步时,情况就复杂多了。鉴于相关的文章甚少,本文我…

MODIS数据产品预处理方法

1 MCTK重投影 第一步:安装ENVI的MCTK扩展工具 解压压缩包,将其中的mctk.sav与modis_products.scsv文件复制到如图所示,相应的ENVI安装路径中去。 第二步:打开ENVI5.3标准版如图所示 在右边的工具栏处打开最下方的Extensions工具…

代码随想录笔记--单调栈篇

1--单调栈 使用单调栈的特征:寻找第一个比当前元素大或者小的元素。 2--每日温度 主要思路: 基于单调栈,单调栈从栈顶开始递增;单调栈存储的是元素对应的索引。 当遇到一个元素大于栈顶元素i时,计算 answer[i]。 #incl…

腾讯待办关停之后还能用吗?可替代的待办提醒APP

如果你之前喜欢用“腾讯待办”这款微信小程序设置待办提醒,那么接下来不得不面对一个事实:腾讯待办将于2023年的12月20日全面停止运营并下架。如果在这款小程序中记录了很多的待办事项,现在应该尽快导出数据,避免数据丢失。 还有…

Rowset Class

Rowset类在PeopleCode中非常常见,以下将Rowset翻译成行集,顾名思义,行的集合 目录 Understanding Rowset Class Shortcut Considerations Data Type of a Rowset Object Scope of a Rowset Object Rowset Class Built-In Functions Row…

CUDA学习笔记(十二) CUDA库简介

CUDA Libraries简介 上图是CUDA 库的位置,本文简要介绍cuSPARSE、cuBLAS、cuFFT和cuRAND,之后会介绍OpenACC。 cuSPARSE线性代数库,主要针对稀疏矩阵之类的。cuBLAS是CUDA标准的线代库,不过没有专门针对稀疏矩阵的操作。cuFFT傅里…

YOLOv5算法改进(20)— 如何去写YOLOv5相关的论文(包括论文阅读+规律总结+写作方法)

前言:Hello大家好,我是小哥谈。最近一直在阅读关于YOLOv5的相关论文,读着读着我发现一条可以发论文的规律,特此简单总结一下,希望能够对同学们有所启迪!🌈 前期回顾: YOLOv5算法改进(1)— 如何去改进YOLOv5算法

CanIf Transmit Buffering 机制说明

目录 前言未使能场景的报文发送机制使能场景的报文发送机制如何配置前言 在AUTOSAR CanIf 中,提供了发送的Buffering机制 。对于一个报文来说,Buffering起始于CanIf_Transmit,结束于CanIf_TxConfirmation 。 主要应用与一个MailBox 发送多个报文的场景,用于解决因为硬件发…

scp通过跳板机向服务器传文件的方法

scp上传 scp -P 端口号 要传的文件 服务器用户名服务器IP:服务器目录scp下载 scp -P 端口号 服务器用户名服务器IP:服务器目录 要下载的文件在实际情况下如果目标服务器无法通过ssh直接连接,需要跳板机才能连接,如何使用scp呢? 跳板机host…

​​​​​​​Python---练习:打印直角三角形(利用wihle循环嵌套)

案例: 打印直角三角形,特征:一共有5行,第1行,有1列。第2行,有2列,第3,有3列。 思考: pycharm里面,输出三角形,因为本来控制台就是长方形&#…

PLC单按钮启停算法汇总

单按钮启停在三菱PLC里可以通过简单的取反指令"ALT"实现,西门子PLC如何实现ALT指令,请参考下面文章链接,这篇博客我们汇总常用的单按钮启停实现方法,希望大家读了本篇博客后有所收获。 博途ALT指令 博途S7-1200/1500PLC 取反指令(ALT)-CSDN博客SMART PLC的ALT指…

62 最小路径和

最小路径和 题解1 DP 给定一个包含非负整数的 m x n 网格 grid ,请找出一条 从左上角到右下角的路径,使得路径上的 数字总和为最小。 说明:每次只能向下或者向右移动一步。 题解1 DP class Solution { public:int minPathSum(vector&l…

从传统云架构到云原生生态体系架构的演进

文章目录 概述传统云架构:虚拟化的时代云原生生态体系架构的兴起容器化和微服务架构自动化和自动伸缩基础设施即代码云原生存储和数据库 云原生的影响结语 概述 随着科技的不断发展,云计算领域也经历了巨大的变革。这一演进的核心焦点是从传统云架构过渡…

活动回顾∣企企通亮相高质量企业数字化活动,深入探讨各领域采购数字化转型与变革

当前,以数字技术为代表的新一轮科技革新正在加速兴起,数字经济已成为推动我国社会经济发展的重要引擎,而数字化转型也成为构筑企业竞争新优势的有力支撑。 作为企业数字化采购与供应链协同服务的优秀厂商,企企通近期受邀参加了多场…