s5-14 链路状态路由选择
为什么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 链路状态路由选择的更多相关文章
- OSPF(Open Shortest Path First开放式最短路径优先 -链路状态路由协议
OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在IPv4网络,OSPFv3用在IPv6网络 思科OSPF的协议管理距离(AD)是110,华为OSPF的协议管理距离是10 通告网络接 ...
- LwIP:处理链路状态改变
[文/告别年代 Email:byeyear@hotmail.com] 重大修订记录 ----------------------------------------- 2016.11.03 感谢@ ...
- 【ISIS(中间系统到中间系统)路由链路状态信息协议初识】
ISIS单区域的基本配置 一:根据项目需求,考虑到组网的规模和条件,部署ISIS单区域的拓扑图如下: 二:配置 1:首先对RTA进行配置,在系统视图创建ISIS进程:进入ISIS配置视图,指定IS的级 ...
- rip是典型的距离矢量动态路由协议。Ospf是链路状态型的协议
网络工程师十个常见面试问题-看准网 https://m.kanzhun.com/k-mianshiwenti/1465113.html 两者都属于IGP协议,rip是典型的距离矢量动态路由协议.Osp ...
- 3.OSPF协议及链路状态算法
OSPF的特点: 1.使用洪泛法向自治系统内所有路由器发送信息,即路由器通过输出端口向所有相邻的路由器发送信息,而每一个相邻路由器又再次将此信息发往其所有的相邻路由器.最终整个区域内所有路由器都得到了 ...
- Dijkstra链路状态选路算法
- ansible检测链路状态和切换状态
控制机 ansible.cfg callback_plugins = /usr/share/ansible/plugins/callback:/opt/ansible/plugins/callback ...
- H3C 显示OSPF的链路状态数据库
- [Network] 计算机网络基础知识总结
计算机网络学习的核心内容就是网络协议的学习.网络协议是为计算机网络中进行数据交换而建立的规则.标准或者说是约定的集合.因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标 ...
随机推荐
- 被遗忘的having
清明节后公司网站搞活动主要功能很简单就是实现一个消费送的功能.比如, 当天消费金额满5000 返回10%,5000 及以下 返 7% 的功能.本身这个功能不是很难,但是 这个功能跟上次的一个 新用户 ...
- swift 快速创建一些基本控件
1.tableview private lazy var cellId = "cellId" fileprivate lazy var tv : UITableView = { l ...
- day 08 函数
函数初始: 什么是函数? 函数:是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段 一个函数封装一个功能. 1,减少重复代码. 2,增加代码的可读性. 函数的结构 def my_len(): ...
- 本地DNS解析
企业搭配本地域名,进行解析 2018年07月23日 09:31:46 阅读数:2 搭建dns服务器,可以进行域名解析,这样方便企业项目本地测试. 可以实现,输入域名访问本地服务器 一.安装软件 1.下 ...
- Java02-java语法基础(一)数据类型
Java02-java语法基础(一)数据类型 一.语法基础 语句:以分号(;)结束 System.out.println(“Hello World !”); 语句块:用一组花括号({})括起来 { … ...
- class configured for Signature (provider: BC) cannot be found
java.security.NoSuchAlgorithmException: class configured for Signature (provider: BC) cannot be foun ...
- 在做excel导出时如何将workbook直接写在输出流中
参考网址 https://blog.csdn.net/u011109420/article/details/51330677 https://blog.csdn.net/u012116457/arti ...
- java命令启动jacocoagent及生成报告
启动jacocoagent: java -Xms1024m -Xmx2048m -XX:-UseGCOverheadLimit -Ddruid.keepAlive=true -javaagent:/h ...
- 比特币测试网络搭建以及RPC服务开启-配置注意事项
.bitcoin QA Test环境 启动指定参数: "C:\Program Files (x86)\Bitcoin\bitcoin-qt.exe" -testnet -serve ...
- Linux操作系统-系统安装与分区
.磁盘分区 使用分区工具在磁盘上划分几个逻辑部分,一旦分成几个分区,不同类型的目录和文件可以存储进不同的分区2.分区类型主分区:最多只能有4个扩展分区:最多只能有1个:主分区加扩展分区最多有4个:扩展 ...