为什么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. 使用pyqt写了一个检查大数据环境的gui

    通过pyqt做了一个大数据最佳实践检查的gui界面 1.首先是需要用到的模块 from PyQt5.QtWidgets import QApplication from PyQt5.QtWidgets ...

  2. tar.gz和.rpm包的区别与使用(转)

    一.Linux软件的二进制分发 Linux软件的二进制分发是指事先已经编译好二进制形式的软件包的发布形式,其优点是安装使用容易,缺点则是缺乏灵活性,如果该软件包是为特定的硬件/操作系统平台编译的,那它 ...

  3. 通过docker-compose构建ghost博客(二)

    上一篇通过yml文件构建 ghost博客,这次通过构建nginx服务,并添加反向代理来运行搭建的ghost博客. 目录结构 ghost.conf 就是 定义的nginx 加载的配置文件 server ...

  4. config/index.js

    // see http://vuejs-templates.github.io/webpack for documentation.var path = require('path') module. ...

  5. 运行SVO

    安装与运行的所有文档:https://github.com/uzh-rpg/rpg_svo/wiki 有两种安装方式: 有ros:https://github.com/uzh-rpg/rpg_svo/ ...

  6. centos7下swoole1.9的安装与HttpServer的使用

    一.下载swoole源码包 https://github.com/swoole/swoole-src/releases 如:swoole-src-1.9.6.tar.gz 二.编译安装 > yu ...

  7. mysql命令行导入结构化数据

    数据样本 103252765-|--|-stephanie_mt@hotmail.com-|-o/35+nGaNEU=-|-ion|-- 其中|为分隔符,每行的换行符\n mysql -uroot M ...

  8. c#异步等待

    1:一直等待 2方法  现实等待 3:方法    带返回值得 begin -endinvoke 4: func 带返回值

  9. c++文件的输入输出

    emmm,错误地方还请指出(以下代码复制粘贴会报错,我用codeblocks测试过,不知道为什么qaq) 头文件#include < fstream > 这里ofstream是" ...

  10. PS制作纸质复古野外露营插画分享

    经常有人说一些复古风,就觉得蛮难,其实制作过程其实没有想象中复杂,从1850年到2017年,通过这160多年里的平面设计,给我们的作品添加上一些新鲜的灵感和活力,本次教程就来教大家用PS做出耐看的纸质 ...