为什么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. 属于链路状态路由选择协议,

    SPF (SPF) 属于链路状态路由选择协议,并且是公有标准,理论上是没有网络规模限制的:支持网络的层次化设计,可以将网络分为2层. 层,是通过"区域"的概念来进行区分的. 划分区 ...

  2. 动态路由选择协议(三)链路状态路由选择协议

    链路状态不同于距离矢量路由协议依照传闻进行路由选择的工作方式,原因是链路状态路由器从对等路由器那里获取第一手信息.每台路由器会产生一些关于自己.本地直连链路.这些链路的状态(以此而得名)和所有直连相连 ...

  3. 链路状态路由选择LS

    链路状态路由(Link State)主要思想 发现它的邻居节点们,了解它们的网络地址 设置到它的每个邻居的成本度量 构造一个分组,包含它所了解到的所有信息 发送这个分组给所有其他的路由器 计算到每个路 ...

  4. 路由算法-链路状态路由

    路由算法   网络层的主要功能是将数据包从源机器路由到目标机器.在大多数网络中,数据包需要经过多跳才能到达目的地.路由算法和这些算法所用的数据结构是网络层设计的最主要内容.   可以这样想,路由器内部 ...

  5. 链路状态算法实现Java,JAVA基于蚁群算法路由选择可视化动态模拟(开题报告+任务书+毕业论文+外文翻译+源代码+可执行程序+答辩P...

    JAVA基于蚁群算法路由选择可视化动态模拟(开题报告+任务书+毕业论文+外文翻译+源代码+可执行程序+答辩PPT) 摘 要 路由选择是一种基于网络层的协议,而所有流行的网络层路由选择协议都是基于以下两 ...

  6. 融合了距离矢量和链路状态两种路由选择协议的优点

    个人电脑开始进入千家万户.与之伴随产生的是电脑的利用问题.越来越多的电脑处于闲置状态,即使在开机状态下中央处理器的潜力也远远不能被完全利用. EIGRP是最典型的平衡混合路由选择协议,它融合了距离矢量 ...

  7. 路由选择算法——链路状态算法

    好久没写东西了,好生疏的感觉.. 链路状态算法 这是一种全局式的路由选择算法,也就是说,一个路由器知道到其他路由器的所有链路的状态信息(例如某条链路上堵不堵),并且假设这种信息是被量化好了的(以拥堵情 ...

  8. 《OSPF和IS-IS详解》一第6章 链路状态数据库同步6.1 OSPF数据库同步

    本节书摘来自异步社区<OSPF和IS-IS详解>一书中的第6章,第6.1节,作者 [美]Jeff Doyle,更多章节内容可以访问云栖社区"异步社区"公众号查看 第6章 ...

  9. linux 查看san链路状态,linux系统运行状态检查

    1 CPU状态检查 1.1 运行时间 信息: 运行时间 / Uptime 工具: uptime 示例: [root@paris ~]# uptime 17:03:12 up 2 days, 20:08 ...

最新文章

  1. 速卖通现在好做吗?深耕产品供应,优化售后发货才能走的更远
  2. 互联网医院 2020年突出成就_资讯丨2020中国医院互联网影响力排行榜
  3. fastapi jinja2_(入门篇)Python框架之FastAPI——一个比Flask和Tornado更高性能的API 框架
  4. boost::fusion::pair用法的测试程序
  5. php.ini文件中的include_path设置
  6. 嵌入式C语言之struct内存分配分析
  7. Android安全笔记-进程间通信基本概念(intent、bundle、Parcelable、parcel)
  8. linux系统调用sysconf(获取系统信息)
  9. 通过opencv的函数进行图片修复:cv2.inpaint()
  10. Linux 技巧: 从命令行创建像素标尺
  11. 数据竞赛入门-金融风控(贷款违约预测)四、建模与调参
  12. Excel向数据库插入数据(执行一次只需连接一次)-batch简单使用
  13. 【白皮书分享】2022年私域运营趋势及创业机会.pdf(附下载链接)
  14. 华为android已锁定,教你如何查看华为手机是否己解锁bootloader
  15. 从零开始学USB(十五、USB的设备状态)
  16. python爬取南京市房价_屌丝想买房,爬取南京20000多套二手房|上篇
  17. 支付宝,微信付款码正则表达式
  18. 强烈推荐:C#编码规范手册
  19. 解决java.util.ConcurrentModificationException:null
  20. lammps案例:分子自由落体运动模拟

热门文章

  1. 轨道角度分布图_高分五号:大气气溶胶多角度偏振探测仪
  2. java响应鼠标滚轮事件_一文读懂鼠标滚轮事件(wheelEvent)
  3. python 创建json_使用Django和Python创建Json response的方法
  4. config kubectl_kubectl常用命令归档及pod诊断工具安装
  5. HDFS中的safemode
  6. 发现 4 个 Python 命令行可视化库,又酷又炫!
  7. mysql删除七天_自动备份mysql并删除7天前备份
  8. JavaScript中ajax如何不刷新,JavaScript基于Ajax实现不刷新在网页上动态显示文件内容...
  9. python怎么输入程序代码_学习用 Thonny 写代码: 一个面向初学者的Python IDE
  10. ajax异步日历,用AJAX自定义日历(示例代码)