计算机网络——网络层学习笔记(中):路由算法

article/2025/10/2 23:23:08

路由选择算法

1、路由算法概述

路由算法(协议)确定去往目的网络的最佳路径

转发表确定在本路由器如何转发分组。

网络抽象:图

图:G=(N,E)

N=路由器集合,E=链路集合

关键问题:源到目的的最小费用路径是什么?

路由算法:寻找最小费用路径的算法。

2、路由算法分类

分类方式一:

静态路由:手工配置、路由更新慢、优先级高

动态路由:路由更新快(定期更新、及时响应链路费用或网络拓扑变化)

分类方式二:

全局式路由选择算法:所有路由器掌握完整的网络拓扑和链路费用信息。例如链路状态算法(LS,Link State)。

分散式路由选择算法:路由器值掌握物理相连的邻居以及链路费用,邻居间信息交换、运算的迭代过程。例如距离向量算法(DV,Distance-Vector)。

3、链路状态路由算法

Dijkstra算法

所有结点(路由器)掌握网络拓扑和链路费用。

    通过链路状态广播。

    所有结点拥有相同信息。

计算从一个结点(源)到达所有其他结点的最短路径。

    获得该结点的转发表

迭代:K次迭代后得到到达K个目的结点的最短路径。

符号:

c(x,y) 结点x到y的链路费用,不直接相连为记为无穷大

D(v) 从源到目的v的当前路径费用值

p(v) 沿从源到v的当前路径,v的前序结点

N' 已经找到最小费用路径的结点集合

★算法描述:

1  Initialization: 
2    N' = {u} 
3    for all nodes v 
4      if v adjacent to u 
5          then D(v) = c(u,v) 
6      else D(v) = ∞ 

8   Loop 
9     find w not in N' such that D(w) is a minimum 
10    add w to N' 
11    update D(v) for all v adjacent to w and not in N' : 
12       D(v) = min( D(v), D(w) + c(w,v) ) 
13    /* new cost to v is either old cost to v or known 
14     shortest path cost to w plus cost from w to v */ 

15  until all nodes in N' 

★算法复杂性:n个结点

    每次迭代需要检测所有不再集合N'中的结点w

    n(n+1)/2次比较:O(n2)

    更高效的实现:O(nlogn)

★存在问题:震荡(oscillations)


数据报可能总是路由不到A,随着TTL减少最终被丢包。通常会使用其他机制也避免震荡现象,比如引入随机延时。

4、距离向量算法

Bellman-Ford方程(动态规划)

Define
dx(y) := cost of least-cost path from x to y
Then
dx(y) = min {c(x,v) + dv(y) }
where min is taken over all neighbors v of x


重点:结点获得最短路径的下一跳,该信息用于转发表中!

Dx(y)=从结点x到结点y的最小费用估计

    x维护距离向量(DV):Dx=[Dx(y): y∈N]

结点x:

    已知到达每个邻居的费用:c(x,v)

    维护其所有邻居的距离向量:Dv=[Dv(y): y∈N]

核心思想:

    每个结点不定时地将其自身的DV估计发送给其邻居。

    当x接收到邻居的新的DV估计时,即一句B-F更新其自身的距离向量估计

    Dx(y) ← minv{c(x,v) + Dv(y)}    for each node y ∊ N

    Dx(y)最终会收敛于实际的最小费用dx(y)

特点:

1、异步迭代:

    引发每次局部迭代的因素

        1)局部链路费用改变

        2)来自邻居的DV变化

2、分布式

    每个结点只有当DV变化时才通告给邻居,邻居在必要时(其DV更新后发生变化)再通告它们的邻居。

每个结点的状态变化:

等待(本地局部链路费用变化或收到邻居的DV更新)

        ↓

重新计算DV估计

        ↓

如果DV中到达任一目的距离发生改变,通告所有邻居

(回到等待……)

存在问题:无穷计数

坏消息传播得慢,当网络中存在环路时,可能会出现无穷计数问题。

解决方法:

1、毒性逆转

如果一个结点Z到达某目的X的最短路径是经过某个邻居Y,则通告给该邻居结点到达该目的的距离为无穷大。

注:涉及3个或更多结点的环路将无法用毒性逆转技术检测到。

2、定义最大度量

定义一个最大的有效费用值,如15跳步,16跳步代表无穷大。

--------------------------------------------------------------

简单总结一下,路由算法很重要!!!要好好看书哇(#^.^#)



http://chatgpt.dhexx.cn/article/nIXoGX0s.shtml

相关文章

路由算法(Dijkstra, Bellman-Ford算法)

文章目录 前言一、路由算法引入二、静态路由三、动态路由1.链路状态(LS)路由算法2.距离向量(DV)路由算法 总结 前言 提示:以下是本篇文章正文内容 一、路由算法引入 路由器的功能: 路由算法(协议)确定去往目的网络的最佳路径,转发表确定在本…

前置路由守卫和后置路由守卫

路由跳转之前, 会触发的一个函数 叫前置路由守卫 语法:router.beforeEach((to, from, next) > {这里可以写路径的跳转判断/有无token值的情况分析}) 作用 : 防止别人猜到网址的hash值后直接跳过登录就可以查看数据 里面的3个参数: to : 到哪里去 …

华为路由器的递归路由、迭代路由

一、什么是路由递归? 路由必须有直连的下一跳才能够指导转发,但是路由生成时下一跳可能不是直连的,因此需要计算出一个直连的下一跳和对应的出接口,这个过程就叫做路由递归。路由递归也被称为路由迭代。 【AR1】ip route-static …

什么是动态路由如何使用动态路由

文章目录 什么是动态路由和概述动态路由特点动态路由如何实现动态路由协议选择依据:度量值收敛动态路由协议分类什么是RIPRIP的基本概念路由表的形成RIP的度量值与更新时间RIP协议防环机制RIP路由协议版本区别RIP配置命令 什么是动态路由和概述 动态路由是与静态路…

路由策略概述

文章目录 1.Route-Policy2.Route-Policy的基本概念3.基础配置3.1创建一个Route-Policy节点3.2(可选)配置if-match语句3.3(可选)配置apply语句 4.Filter-Policy5.IP前缀列表 路由策略(Routing Policy)是一套用于对路由信息进行过滤、属性设置等操作的方,法,通过对路由的控制,可以…

1.路由迭代

** 路由迭代 ** 原因: 路由必须有直连的下一跳才能指导转发 在下一跳不是直连邻居的时候 就需要计算出直连邻居的下一跳 图例: 如图 R1想去往R3的192.168.2.0网段 中间要经过非直连的R2 静态路由该怎么写? 简单的想 两条静态 不就够了么 R…

路由守卫的详解

路由守卫总共有7个 全局路由守卫: beforeEach 前置守卫 affterEach 后置守卫 beforeResolve 解析守卫 路由的守卫 beforeRouterEnter 进入组件之前触发,在Created前面 beforeRouterUpdated 路由更新但是内容不会改变 beforeRouterLeave 离开之前触发,在beforeDestory之前…

路由选择算法总结

文章目录 一、路由算法1.静态路由与动态路由①静态路由算法(非自适应路由算法)②动态路由算法(自适应路由算法) 2.链路状态(LS)算法3.距离向量(DV)算法 二、层次路由与自治系统层次路由方法自治系统(Autono…

什么是浮动路由及作用

目录 一、浮动路由介绍 二、配置步骤及命令 一、浮动路由介绍 浮动路由指的是配置两条静态路由,默认选取链路质量优(带宽大的)作为主路径,当主路径出现故障时,由带宽较小的备份路径顶替主路径。 作用:保持…

路由基本概念(路由优先级、路由表、路由转发)

目录 路由基本概念 什么是路由 实现路由的设备 实现路由的依据 路由表包含内容(华为设备) 路由信息(路由表)的来源 路由进表的规则 路由报文转发机制 路由转发流程 路由高级特性 路由递归 等价路由(负载分…

vue 路由懒加载

1. 路由懒加载如何实现 当打包构建应用时,JavaScript 包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就会更加高效 当前,我们使用如下…

路由引入基本概念

目录 路由引入概念 基本概念 路由引入的初始度量值 路由引入概念加深 路由引入的方式 路由引入场景 单点单向引入场景 双点单向引入 单点双向引入 双点双向引入 路由引入概念 基本概念 路由引入(import注入、redistribute重发布) 为什么需要路…

Vue路由详解

目标 1.能够说出什么是路由 2.能够说出前端路由的实现原理 3.能够使用Vue-Router实现前端路由 4.能够实现嵌套路由,动态路由 5.能够实现命名路由以及编程式导航 6.理解并实现后台管理案例 1.路由的概念 路由的本质就是一种对应关系,比如说我们在url地…

路由协议是什么?路由协议在网络中有哪些作用

目录 前言 干货来啦~ 说点想说的 前言 "薄荷,我今天在做一个实验,感觉好复杂啊!而且这里面好多路由协议,我都不知道我的实验对不对呢!"小曼又可怜巴巴地找到我 “你做的是什么实验啊!” “…

【路由】静态路由

静态路由 1、静态路由的概念1.1、概念1.2、注意事项1.3、弊端 2、静态路由的配置须知2.1、出接口为BMA类型2.2、出接口为P2P类型2.3、出接口为NBMA类型 3、默认路由3.1、概念3.2、实验场景3.3、适用场景3.4、注意事项 4、浮动静态路由4.1、静态路由负载均衡的实验场景4.2、静态…

什么是前端路由?

什么是路由? 路由这个概念最先是后端出现的。在以前用模板引擎开发页面时,经常会 看到这样: http://hometown.xxx.edu.cn/bbs/forum.php 有时还会有带.asp或.html的路径,这就是所谓的SSR(Server Side Render), 通…

路由是什么

中秋节公司放假3天,第一天去公司加班,第二天宅了一天,今天第三天,也是中秋节,还是继续宅着… 言归正传,本文站在初学者的角度,尽量通俗的讲解什么是路由,它有什么作用。 如下网络拓…

什么是路由策略?路由策略和策略路由有什么区别? 如何配置路由策略?

对于IP网络工程师来说,路由策略的部署随处可见,无论在运营商IP网络还是在企业网中,路由策略的应用都是非常普遍的。同时,在网络规划中,路由策略的规划也是一个核心的内容。为了方便大家更好的掌握和应用路由策略&#…

什么是路由选择?

路由选择包括两类:①静态路由选择 ②动态路由选择 # 因特网所采用的路由选择协议的主要特点 自适应:动态路由选择,能较好地适应网络状态的变化。 分布式:因特网中的各路由器通过相互间的信息交互,共同完成路由信息的…

路由的基本概念

一、什么是路由 1、路由器的作用:网络中的路由器负责为数据包选择转发路径。 2、路由表:每个路由器中有一个路由表,路由表则是若干条路由信息的一个集合。 3、路由条目的各个字段进行解释: ①Destination/Mask :表示目标IP地…