为什么DV逐渐让位于LS?

DV

 站的不高,看得不远

 完全相信邻居

LS

 想办法站得高,看更远

 多高、多远?

 怎么做?

链路状态路由(Link State)

主要思想

发现 它的邻居节点们,了解它们的网络地址

设置 到它的每个邻居的成本度量

构造 一个分组,包含它所了解到的所有信息

发送 这个分组给所有其他的路由器

计算 到每个路由器的最短路径

发现邻居节点

 当一个路由器启动的时候,在每个点到点的线路发送一个特

别的HELLO分组

设置链路成本

为了决定线路的开销,路由器发送一个特别的 ECHO 分组,

另一端立刻回送一个应答

 通过测量往返时间(round-trip time) ,发送路由器可以获得

一个合理的延迟估计值

为了得到更好的结果,可多次测量,取均值

 一种常用的选择

与链路带宽成反比

构造链路状态分组

链路状态分组构造后被发送给其他的路由器,分组中包含这些信息:

1 发送方的标识(ID of the sender)

2 序列号(sequence number )

3 年龄(age )

4 邻居列表(list of neighbors )

5 到邻居的成本/量度(delay to each neighbor )

应该什么时候构造分组?

周期性地构造和发送,或者有特别的事件发生时

构造,比如某条线路或邻居down掉了

发布链路状态分组

基本算法:

 每个分组都包含一个序列号,序列号随着新分组产生而递增

 路由器记录下他看见的所有 (源路由器,序列号)对

当一个的新的分组到达时,路由器根据它的记录:

如果该分组是新的,就被从除了来线路外的所有其他线路转

发出去 ( flooding,泛洪)

如果是重复分组,即被丢弃(喜新厌旧)

如果该分组的序列号比对应的源路由器发送的到过此地的分

组的最大序列号还小,则该分组被当作过时的信息而被拒绝

基本算法遇到的问题:

 序列号回转,引起新老分组识别混淆

解决办法:使用 32-bit 的序列号,即使每秒产生一个分组,也

需要137年才发生号码回转

 如果一台路由器崩溃,那么他将丢失自己的序列号记录,如果他

再从0开始,新分组将被当作旧分组被拒绝

 解决上述的路由器崩溃和序列号损坏的方法是:每个分组的

序列号之后是年龄(age) ,并且每秒钟年龄减1

 当年龄为零 ( zero )时,来自该路由器的信息被丢弃

 通常地,每隔一段时间,如10秒钟,一个新分组就会到来,

所以,只有路由器down机才可能导致超时( 或者,连续6个

间隔因为丢失,没有收到新的分组)

一些改进让基本算法更加健壮:

 当一个链路状态分组到达某个路由器时,它首先被放到一个保留

区中等待一段时间

 如果来自相同路由器的另一个分组到达了,这两个分组的序列号

会被比较:

如果相等,是重复分组,丢弃

如果不相等,旧的那个被丢弃

为了防止路由器到路由器的线路发生错误,所有的链路状态分组

都要被确认

 当一条线路空闲的时候,路由器扫描保留区,以便选择一个分组

或确认,并将其发送出去

计算新的路由路径

 一旦一个路由器获得了全部的链路状态分组就可以构造出全

网络图来了(Graph)

 现在,可以使用最短路径算法来计算路由器之间的最短路径

 计算结果是一棵树,会形成相应的路由,安装在路由表中,

引导数据分组的转发

链路状态路由选择的基本原理

发现邻居

设置成本

构造LSA

分发LSA

计算

s5-14 链路状态路由选择的更多相关文章

  1. OSPF(Open Shortest Path First开放式最短路径优先 -链路状态路由协议

    OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在IPv4网络,OSPFv3用在IPv6网络 思科OSPF的协议管理距离(AD)是110,华为OSPF的协议管理距离是10 通告网络接 ...

  2. LwIP:处理链路状态改变

    [文/告别年代   Email:byeyear@hotmail.com] 重大修订记录 ----------------------------------------- 2016.11.03 感谢@ ...

  3. 【ISIS(中间系统到中间系统)路由链路状态信息协议初识】

    ISIS单区域的基本配置 一:根据项目需求,考虑到组网的规模和条件,部署ISIS单区域的拓扑图如下: 二:配置 1:首先对RTA进行配置,在系统视图创建ISIS进程:进入ISIS配置视图,指定IS的级 ...

  4. rip是典型的距离矢量动态路由协议。Ospf是链路状态型的协议

    网络工程师十个常见面试问题-看准网 https://m.kanzhun.com/k-mianshiwenti/1465113.html 两者都属于IGP协议,rip是典型的距离矢量动态路由协议.Osp ...

  5. 3.OSPF协议及链路状态算法

    OSPF的特点: 1.使用洪泛法向自治系统内所有路由器发送信息,即路由器通过输出端口向所有相邻的路由器发送信息,而每一个相邻路由器又再次将此信息发往其所有的相邻路由器.最终整个区域内所有路由器都得到了 ...

  6. Dijkstra链路状态选路算法

  7. ansible检测链路状态和切换状态

    控制机 ansible.cfg callback_plugins = /usr/share/ansible/plugins/callback:/opt/ansible/plugins/callback ...

  8. H3C 显示OSPF的链路状态数据库

  9. [Network] 计算机网络基础知识总结

    计算机网络学习的核心内容就是网络协议的学习.网络协议是为计算机网络中进行数据交换而建立的规则.标准或者说是约定的集合.因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标 ...

随机推荐

  1. [Java学习]集合

    一. Collection与Map继承结构图 Collection继承结构图 实现Collection接口的类只能存储引用类型!所以set.add(10)会有自动装箱的过程,把int 转成 Integ ...

  2. 编程,计算data段中的第一组数据的3次方,结果保存在后面一组dword单元中

    assume cs:code data segment dw ,,,,,,, dd ,,,,,,, data ends code segment start: mov ax,data mov ds,a ...

  3. CALL transaction 的用法-传内表

    使用memory (这个方法和第二种方式的区别是可以传输复选框的值) data:  wfbomcom type rc29n.  move-corresponding bom_key to wfbomc ...

  4. 比特币学习-Transaction的locktime属性

    Locktime, also known as nLockTime from the variable name used in the reference client, defines the e ...

  5. Jmeter常用脚本开发之Beanshell Sampler

    Beanshell Sampler Beanshell介绍:是一种完全符合java语法规范的脚本语言,且又拥有自己的一些语法和方法:是一种松散类型的脚本语言:它执行标准java语句和表达式,另外它还包 ...

  6. txt写入时报错出现:正由另一进程使用,原来是多此一举的操作

    //if (!File.Exists(newfilepath + "\\" + name + num + ".txt")) //{ // File.Create ...

  7. js的面向对象

    JavaScript不区分类和实例的概念,而是通过原型(prototype)来实现面向对象编程. 原型是指当我们想要创建xiaoming这个具体的学生时,我们并没有一个Student类型可用 var ...

  8. 5I - 汉诺塔IV

    还记得汉诺塔III吗?他的规则是这样的:不允许直接从最左(右)边移到最右(左)边(每次移动一定是移到中间杆或从中间移出),也不允许大盘放到小盘的上面.xhd在想如果我们允许最大的盘子放到最上面会怎么样 ...

  9. mysql技术内幕之常规使用

    mysql中:终止语句方法: 1.在语句结尾处,输入分号(:)表示语句到此结束 2.使用\g(意思是go) \G以垂直的方式显示结果,每行显示一个值 数据库:数据库中包含表,对表中数据执行插入,检索, ...

  10. ATM作业

    关于ATM作业,最近做了很久,才明白,其实看了很久的作业视频讲解,到不如将作业的整个下载下来进行运行,去了解程序本身的结构和运行方式.首先说需求,就感觉是各种懵逼,这才学了函数,和模块之间的简单调用就 ...