s5-15 开放的最短路径优先_OSPF
L-S路由协议的实例—OSPF
开放的路径优先(Open Shortest Path First)
使用图(graph)来表述真实的网络
- 每个路由器/Lan都是一个节点
- 测量代价/量度(metric)
计算最短路径
OSPF在参考模型中的地位
OSPF概述
- OSPF是一种基于开放标准的链路状态路由协议,是目前IGP中应用最广、
性能最优的一个协议
- OSPF可以在大型网络中使用
- 无路由自环
- OSPF支持VLSM、CIDR等
- 使用带宽作为度量值(108/BW)
- 收敛速度快
- 通过分区实现高效的网络管理
单域OSPF的基本概念
- 必须划分区域
- Area 0(区域0),骨干区域( Backbone area )
-所有子区域必须连接到区域 0上
OSPF的发展历程

单区域OSPF
RouterID 一个32位的无符号整数,是一台路由器的唯一标识,在整个自治系统内唯一
协议号 IP头中代表OSPF报文的协议号是89

TTL=1 通常OSPF报文不转发,只被传递一条,即在IP报头的TTL值被设为1,但虚联接除外
OSPF的网络类型

OSPF术语

OSPF分组(packet)类型
OSPF数据包类型 描述
Type 1-Hello 与邻居建立和维护毗邻关系。
Type 2-数据库描述包(DD) 描述一个OSPF路由器的链路状态数据库内容。
Type 3-链路状态请求(LSR) 请求相邻路由器发送其链路状态数据库中的具体条目
Type 4-链路状态更新(LSU) 向邻居路由器发送链路状态通告
Type 5-链路状态确认(LSA) 确认收到了邻居路由器的LSU
OSPF的运行步骤
1 建立路由器毗邻关系
2 选举DR和BDR
3 发现路由
4 选择最佳路由
5 维护路由信息

建立路由器毗邻关系

OSPF 状态
Down
Init(初始)
Two-way(双向)
ExStart(准启动)
Exchange(交换)
Loading(加载)
Full adjacency(全毗邻)
运行OSPF的路由器状态图

为什么要选举DR和BDR?

DR(村长)选举过程
登记选民 本网段内的OSPF路由器 (本村内的18岁以上公民)
登记候选人 本网段内的priority > 0的OSPF路由器 (本村内的30岁以上公民,且在本村居住3年以上)
竞选演说 所有的priority>0的OSPF路由器都认为自己是DR (所有的候选人都自认为应该当村长)
投票 选priority值最大的,若priority值相等,选Router ID最大的 ( 选年纪最大的,若年龄相等,按姓氏笔划排序)
DR选举中的指导思想

DR可能带来的问题

DR带来的变化
同步的次数减少了(O(n)),减少了带宽的利用
路由器的角色:DR、BDR、DROther
路由器间的关系:Unknown、Neighbor、Adjacent
选择最佳路由
SPF算法
负载均衡

维护路由信息
- 触发更新,LSU
- Hello分组发送的时间间隔:缺省10秒
- Hello分组的失效间隔:缺省40秒
- 即使没有拓扑变化,LSA在条目过期(缺省30分钟)后,发送LSU,通告链路存活
为什么说OSPF克服了路由自环?
- 每一条LSA都标记了生成者(用生成该LSA的路由器的RouterID标记),其他路由器只负责传输,这样不会在传输的
过程中发生对该信息的改变和错误理解。
- 路由计算的算法是SPF,计算的结果是一棵树,路由是树上的叶子节点,从根节点到叶子节点是单向不可回复的路径。
- 区域之间通过规定骨干区域避免
小结
- OSPF是内部网关协议(IGP)中性能最优、应用最广的一个协议
- 建立全毗邻关系的目的是:同步链路状态数据库(拓扑数据库)
- OSPF路由器启动之后,随着报文的交互,状态发生了变化(初始、双向、准启动……)
- 选举DR来减少同步次数
s5-15 开放的最短路径优先_OSPF的更多相关文章
- CCNA学习指南 -开放最短路径优先OSPF(单区域)
在上个世纪九十年代撰写的<TCP/IP协议详解 卷一:协议>的动态选路中,内容大部分还是介绍 RIP路由选择信息协议,在互联网络如此发达的今天,RIP因为它的局限性逐步被OSPF取代. 在 ...
- 开放式最短路径优先OSPF
1.OSPF基本知识 OSPF作为基于链路状态的协议,解决了RIP在收敛慢,路由环路,可扩展性差等问题,还有以下优点: 采用组播方式发布报文,可以减少对其他不运行ospf路由器的影响 ospf直尺无类 ...
- CCNA学习指南 -开放最短路径优先OSPF(多区域部分)
在之前的介绍中,可以看到单区域OSPF对于古老的RIP的优点: 路由选择更新流量减小 使用与大型网络和链路速度不一样的网络 OSPF能够在LSDB中呈现网络拓扑结构,这使得它汇聚的速度远快于RIP. ...
- [数据结构与算法-15]单源最短路径(Dijkstra+SPFA)
单源最短路径 问题描述 分别求出从起点到其他所有点的最短路径,这次主要介绍两种算法,Dijkstra和SPFA.若无负权优先Dijkstra算法,存在负权选择SPFA算法. Dijkstra算法 非负 ...
- OSPF(Open Shortest Path First开放式最短路径优先 -链路状态路由协议
OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在IPv4网络,OSPFv3用在IPv6网络 思科OSPF的协议管理距离(AD)是110,华为OSPF的协议管理距离是10 通告网络接 ...
- OSPF(Open Shortest Path First)
1.概述 路由协议OSPF全称为Open Shortest Path First,也就开放的最短路径优先协议,因为OSPF是由IETF开发的,所以所有厂商都可以用. OSPF的流量使用IP协议号. O ...
- 最短路径——Dijkstra算法和Floyd算法
Dijkstra算法概述 Dijkstra算法是由荷兰计算机科学家狄克斯特拉(Dijkstra)于1959 年提出的,因此又叫狄克斯特拉算法.是从一个顶点到其余各顶点的最短路径算法,解决的是有向图(无 ...
- CCNA2.0笔记_OSPF v2
OSPF(开放最短路径优先)协议概述: - 链路状态路由协议 - 无类路由协议 - 要点:RouterID.区域ID - 触发更新 .以传播 LSA 代替路由表更新 - 快速响应变更(比距离矢量路由协 ...
- 第6章 静态路由和动态路由(4)_OSPF动态路由协议
6. OSPF动态路由协议 6.1 OSPF协议(Open Shortest Path First,OSPF开放式最短路径优先协议) (1)通过路由器之间通告链路的状态来建立链路状态数据库,网络中所有 ...
随机推荐
- [leetcode]252. Meeting Rooms会议室有冲突吗
Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si ...
- day 11 生成器
生成器生成器本质就是迭代器,生成器是自己用python代码写的迭代器 将函数变成生成器yield用next 取值一个next,对应一个yield def func(): yield 111 yield ...
- Bootstrap(5)栅格系统
一.移动设备优先 在 HTML5 的项目中,我们做了移动端的项目.它有一份非常重要的 meta,用于设置屏幕和设备等宽以及是否运行用户缩放,及缩放比例的问题. //分别为:屏幕宽度和设备一致.初始缩放 ...
- 创建smartfroms页格式
1.输入TCODE:spad 2.页格式:完全管理 ---> 设备类型 ---> 页格式 ---> 创建 3.比如:长:24.2cm 宽:11.5cm 则设置:纸宽:115MM 纸 ...
- java的eclipse的使用
1下载eclipse地址:www.eclipse.org/downloads/ 解压就可安装 注意: 这可能你是没有安装java运行环境(jre或jdk) 直接www.java.com,下载就行 下一 ...
- python 常库介绍及安装方法
bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheetahcherrypy:一个WEB frameworkctypes:用来调用动态链接库DBUtils:数 ...
- python 3.6.5 sys模块和os模块
1 sys.argv 命令行参数List,第一个元素是程序本身路径 2 sys.exit(n) 退出程序,正常退出时exit(0) 3 sys.version 获取Python解释程序的版本信息 4 ...
- Oracle存储过程in、out、in out 模式参数
Oracle存储过程in.out.in out 模式参数 标签: oracle存储inout参数 2016-11-14 11:59 3272人阅读 评论(0) 收藏 举报 分类: oracle(7) ...
- C# Contains 包含空字符串的问题
一个基本的条件判断,之前没有遇到,这次遇到后,感觉真是这些年白写程序了. if(("1,2,3").Contains("")) { MessageBox.Sho ...
- andorid 计算器
avtivity_main.xml <?xml version="1.0" encoding="utf-8"?> <GridLayout xm ...