动态路由——OSPF
目录:
一、OSPF路由协议概述
1,OSPF协议
OSPF路由协议是用于网际协议(IP)网络的链路状态路由协议。该协议使用链路状态路由算法的内部网关协议(IGP),在单一自治系统(AS)内部工作。
2,内部网关协议和外部网关协议
自治系统(AS)
内部网关协议(IGP)
外部网关协议(EGP)

内部网关路由协议(IGP)
例如:RIP、OSPF等
外部网关路由协议(EGP)
例如:BGP等

OSPF是链路状态路由协议

3,OSPF的工作过程
- 邻居列表
- 链路状态数据库
- 路由表

(1)OSPF协议启动后,某个端向本地所有启动OSPF协议的直连接口组播224.0.0.5发送hello包;
(2)链路状态数据库:当其他端收到后将回复hello包,建立邻接关系,端口学习链路状态信息存入链路状态数据库;
(3)最短路径树:Dijkstra算法,计算到达所有未知网段的最短路径;
(4)路由表:将计算出的最短路径加载到本地的路由表中,收敛完成。

二、OSPF基本概念
1,OSPF区域
为了适应大型的网络,OSPF在AS内划分多个区域
每个OSPF路由器只维护所在区域的完整链路状态信息

2,区域ID
区域ID可以表示成一个十进制的数字
也可以表示成一个IP
骨干区域Area 0
负责区域间路由信息传播
非骨干区域
3,Router ID
OSPF区域内唯一标识路由器的IP地址
Router ID选取规则
选取路由器loopback接口上数值最高的IP地址
如果没有loopback接口,在物理端口中选取IP地址最高的
也可以使用router-id命令指定Router ID
4,DR和BDR
在广播网络中,5台路由器总共需要建立n(n-1)/2 个邻接关系。占用了大量带宽,同时也不方便管理。
因此,需要配置DR和BDR来改进。
- DR(Designated Router):指定路由器,所有其他路由器只和它一个交换整个网络的一些路由更新信息,再由它对邻居路由器发送更新报文;
- BDR(Backup Designated Router):备份指定路由器,当DR出现故障时,BDR起着备份的作用;
- DROther(Designated Router Other):成员路由器

5,DR和BDR的选举
(1)自动选举DR和BDR
- 网段上Rouoter ID最大的路由器将被选举为DR,第二大的将被选举为BDR
(2)手工选举DR和BDR
- 优先级范围是0——255,数值越大,优先级越高,默认为1
- 如果优先级相同,则需要比较Router ID
- 如果路由器的优先级被设置为0,它将不参与DR和BDR的选举
注:
路由器的优先级可以影响一个选举过程,但是,它不能强制更换已经存在的DR或者BDR路由器。
如原来选举的DR router-id为1.1.1.1 之后又接入一个路由,router-id 为9.9.9.9 ,但是,因为DR已经选举出来,所以,9.9.9.9 不会替代1.1.1.1 成为新的DR
三、OSPF的报文
1,OSPF的组播地址
- DR会通过224.0.0.6,向所有邻居通告信息
- DRother 会通过224.0.0.5 向DR和BDR通告网络状态信息
2,OSPF数据包类型
OSPF数据包承载在IP数据包内,使用协议号89
类型:

3,OSPF邻接关系的建立
(1)OSPF启动的第一个阶段是使用Hello报文建立双向通信的过程
(2)OSPF启动的第二个阶段是建立完全邻接关系
4,OSPF的网络类型
- 点到点网络(Point-to-Point)
- 广播多路访问网络(Broadcast MultiAccess ,BMA)
- 非广播多路访问网络(None Broadcast MultiAccess , NBMA)
- 点到多点网络 (Point -to - Multipoint)
目前主要使用的是前两种
5,OSPF的应用环境考虑与OSPF特点
考虑:
- 网络规模:自治域内路由器数量
- 网络拓扑:是网型拓扑还是其他
- 其他特殊要求:收敛速度等
- 路由器自身要求:路由器本身的硬件性能
特点:
- 可适应大规模网络
- 路由变化收敛速度快
- 无路由环
- 支持区域划分支持可变长子网掩码VLSM
- 支持以组播地址发送协议报
6,OSPF与RIP的对比

动态路由——OSPF的更多相关文章
- 动态路由 - OSPF 一文详解
动态路由 在之前的文章中,介绍了基于距离矢量的路由协议.而在今天这这一部分中会主要讲解链路状态的路由协议,对于动态的路由协议来说,需要具备如下的能力: 发现远端网络 路由器可以直接获得直连路由,这是由 ...
- H3C路由器配置——动态路由OSPF协议
一.介绍 1.OSPF协议介绍 (1).OSPF(Open Shortest Path First,开放最短路径优先)路由协议是用于网际协议(IP)网络的链路状态路由协议.是一个被各厂商设备广泛支持的 ...
- Cisco动态路由 OSPF协议
OSPF描述: 组播扩展OSPF 锁定 同义词 ospf一般指组播扩展OSPF 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . OSPF(Open Shortest Path Firs ...
- 八、路由详细介绍之动态路由OSPF(重点)
一.OSPF介绍 OSPF优点:无环路.收敛快.扩展性好.支持认证 二.工作原理: 图中RTA.RTB.RTC每个路由器都会生成一个LSA, 通过LSA泛洪进行互相发送相互学习,形成LSDB (链路状 ...
- RIP、OSPF、BGP、动态路由选路协议、自治域AS
相关学习资料 tcp-ip详解卷1:协议.pdf http://www.rfc-editor.org/rfc/rfc1058.txt http://www.rfc-editor.org/rfc/rfc ...
- 三台三层交换机OSPF多区域划分动态路由实验
一.实验拓扑 二.实验步骤 1.给主机设置IP,网关:给交换机划分VLAN,给VLAN划分端口,给VLAN设置IP 2.启用OSPF.宣告网段(network 网络地址 反掩码 区域名 其中0 ...
- 两台三层交换机单区域OSPF动态路由实验
一. 实验目的 1. 掌握三层交换机之间通过OSPF协议实现网段互通的配置方法. 2. 理解RIP协议和OSPF协议内部实现的不同点 二. 应用环境 当两台三层交换机级联时,为了保证每台交 ...
- 浅谈-动态路由之OSPF的理解
路由 在网络中,路由相当于就是一张地图,让路由器知道这个对应的IP数据包应该往哪端口.网段走:而这个"地图"我们称之为路由表,不同的目的IP路由表的下一个跳也不同,其生成方式有又有 ...
- CCNP路由实验之七 动态路由之BGP
CCNP路由实验之七 动态路由之BGP 动态路由协议能够自己主动的发现远程网络,仅仅要网络拓扑结构发生了变化,路由器就会相互交换路由信息,不仅能够自己主动获知新添加的网络,还能够在当前网络连接失 ...
随机推荐
- 抄书抄博客毒害社区的Writer几时休?
曾几何时,博客园用户也渐渐分成了两类人:Writer和Coder. 何为Coder?就是认认真真写代码,平时分享工作中的一些问题.好的解决方案,或者写一些实用的原理技术文.答疑解惑的教程技术文. 何为 ...
- C++员工管理系统(封装+多态+继承+分类化+函数调用+读写文件+指针+升序降序算法等一系列知识结合)
1 C++职工管理系统 2 该项目实现 八个 功能 3 1-增加功能 2-显示功能 3-删除功能 4-修改功能 4 5-查找功能 6-排序功能 7-清空功能 8-退出功能 5 实现多个功能使用了多个C ...
- Markdown插入LaTex数学公式
本文转载自Nautilus_sailing的试试LaTeX插入数学公式,内容有所改动 今天写了一篇随笔,其中需要写几个数学式子,但是我又不想直接将公式做成图片后插入,我觉得很不美观还麻烦.但是我也不会 ...
- SQL语法 - SELECT 语句
SELECT 语句用于从数据库中选取数据. SQL SELECT 语句 SELECT 语句用于从数据库中选取数据. 结果被存储在一个结果表中,称为结果集. SQL SELECT 语法 SELECT c ...
- idea注释
* * $params$ * @author wangxiaolei * @date $date$ $time$ * @return $return$ */ groovyScript("de ...
- 【MySQL】自定义数据库连接池和开源数据库连接池的使用
数据库连接池的概念 数据库连接背景 数据库连接是一种关键的.有限的.昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性 ...
- Easylogging++的使用及扩展
目录 简介 使用 扩展 配置日志路径 时间滚动日志 自动删除日志 封装到一个头文件 源代码优化(不推荐) 附件 简介 Easylogging++ 是用于 C++ 应用程序的单头高效日志库.它非常强大, ...
- 题解 [AHOI2017/HNOI2017]大佬
传送门 注意到题面里n很小,有\(n\leq100\) 考虑联系n的实际意义 n是你在大佬手中能活的天数 题面颇富深意 好了不闹了 n很小,对于\(40\%\)的数据,爆搜即可 考场上靠这个骗了40p ...
- docker配置cdn-容器内可以通过域名访问
添加docker的cdn配置 # 没有这个文件创建 vim /etc/docker/daemon.json 添加内容如下 { "dns":["8.8.8.8", ...
- javascript - 将字符串转换为模板字符串
参考: https://www.itranslater.com/qa/details/2325714161562551296 是否可以将模板字符串创建为常用字符串 let a="b:${b} ...