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] 计算机网络基础知识总结
计算机网络学习的核心内容就是网络协议的学习.网络协议是为计算机网络中进行数据交换而建立的规则.标准或者说是约定的集合.因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标 ...
随机推荐
- f5双机配置
1.1)要确认2 台设备的型号及版本完全一致! 2)2台设备分别取名f5_4.com 和f5_3.com,并将时区修改成上海时区 注:设备的hostname不能随便修改. 3)VLAN配置 由于当前环 ...
- c#: TabControl隐藏选项卡(WizardPages)
如Delphi之TPageControl控件,其TTabSheet有TabVisible属性,在制作类似Wizard页面切换时,甚为有用. 而c#对应之TabControl控件,其页面TabPage无 ...
- echarts中间有字饼图Demo1
echarts链接:http://gallery.echartsjs.com/editor.html?c=xHy2vIPzLQ 代码: option = { backgroundColor: 'bla ...
- 基于java NIO 的服务端与客户端代码
在对java NIO selector 与 Buffer Channel 有一定的了解之后,我们进行编写java nio 实现的 客户端与服务端例子: 服务端: public class NIOC ...
- java_2变量和运算符
1.变量 存储数据的容器. 2.变量创建的3要素 数据类型 变量名 = 变量值: 如int a = 10; 3.数据类型的自动转化 当小范围变量向大范围变量转化的时候,会发生这种情况.如int类型变 ...
- Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools"
https://blog.csdn.net/saucyj/article/details/79043443
- Vue 1.0 和 2.0 执行顺序
// Vue 生命周期 // Vue 1.0 // 执行步骤:选项/生命周期钩子 // 1 init // 2 created // 3 beforeCompile // 4 compiled // ...
- Informatica_(2)第一个例子
PowerCenter Repository Manager1.启动客户端程序连接服务器打开客户端(PowerCenter Repository Manager)PCRM;存储库--配置域--添加新域 ...
- Oracle_PL/SQL(6) 触发器(序列、视图)
序列1.创建序列create sequence seq_alog start with 1 increment by 1 maxvalue 999999999999999999999999999 mi ...
- DataStructure.BloomFilter
Bloom Filters Ref[1] 1. 简介 Bloom filter(布隆过滤器:有更好的或正确的翻译,告诉我) 是一个数据结构,该数据结构快速并且内存高效,它可以告诉你某个元素是否在集合中 ...