OSPF 路由协议详解(一)
ospf 协议是网络层协议
此篇文章适合有一定网络基础的人
ospf 协议最多应用在企业网络中,针对于运营商网络并不是特别的适用,端口号为 89 通过 IP 进行数据的转发
ospf 基础知识
ospf 的路由更新通过组播地址:224.0.0.5 / 224.0.0.6 进行更新
spf 算法是 ospf 路由协议的基础,spf 算法有时也被称为 Dijkstra (迪杰斯特拉)算法
ospf 协议的普及率要比 is-is 协议的普及率高
ospf 协议的内部路由优先级为 10 ,外部路由优先级为 150 ,开销值为 1
ospf 中修改带宽的参考值命令:

ospf 的度量值计算:参考带宽除以实际带宽
Stub 网络没有邻居(末节网络),Transnet 网络有邻居(记录出去的开销)
ospf 协议在域内是链路状态协议,在域间是距离矢量协议
因为 ABR 会把一类和二类的 LSA 一同转换为三类的 LSA 传递出去
ospf 的进程号只具有本地意义,如果只有一个区域,那么任何区域都可以作为骨干区域
路由协议通用小知识
ospf 可以直接配置负载均衡

配置通过多种路径进行转发报文
不配置等价路由的情况下影响路由选路

ospf 中的网络类型
在 ospf 协议中一共有四种网络类型:
广播网络(broadcast)
点到点网络(P2P)
点到多点网络类型(P2MP)
NBMA 网络
ospf 的工作流程
1、邻居建立
DOWN 状态习互相发送 Hello 报文,双方在接收到报文之后会进入 Init 状态
Init 状态习会发送带有邻居 ID 的 hello 报文,对方会进入 2-way 状态,之后邻居也会向本设备发送同样的带有邻居 ID 的 hello 报文----此状态经历完成之后,标志着邻居建立完成
对于不支持组播网络的网络需要进行手动指定邻居
ospf 支持手动指定邻居,通过单播的方式

- 帧中继网络建立邻居会进入 Attempt 状态尝试唤醒状态
2、同步链路状态数据库
Exstart 状态,发送 DD 报文,确认主从
Exstart 状态里面有一些序列号:
- x 为序列号
- I 表示为第一个数据包
- MS 确认是否为 Master (主从关系)
- M 表示后面还有其他的数据包
主从关系的选举是根据谁的 RID 大的为主,选举主从是为了隐式确认(主从序列号)
当 ospf 开启了 MTU 检测之后,当 MTU 超过 1500 之后邻居的状态会卡在 Exstart 状态
Exchange 状态
Exchange 状态,第一次发送的 DD 里面携带各自的序列号,选举主从之后会响应主设备的序列号,之后开始对比 LSDB 数据库进行摘要信息的交互,此状态可以直接进入 Full 状态
Loading 状态
经过 exchange 状态的对比,双方都会知道自己缺少什么信息,在 Loading 状态就会向对方请求回复以及进行确认消息
LSR -- 请求
LSU -- 回复--最重要的 LSA 就存在于 LSU 报文中
LSACK -- 确认--当对方之后收到路由信息之后会发送一个确认收到的信息
3、计算最优路由
执行 spf 算法进行计算最短路径树
ospf 邻居状态机
- Down:在此状态下的路由器不会从邻居收到任何的信息。
- Init:发送 hello 报文,此状态发送的 hello 报文是单向的 hello 报文。
- Attempt:此状态只存在于 NBMA 环境中手动配置邻居的情况(一般情况下见不到此状态)。
- 2-way:发送 hello 报文,此状态下邻居双发都发送过彼此的 hello 报文,此状态标志着邻居状态建立成功。
- Exstart:此状态发送的 DD 报文是一个假的 DD 报文,主要是用来选举主从关系的报文。
- Exchange:真的 DD 报文,发送 DD 报文用于告诉对方自己简要的 LSDB 摘要信息。
- Loading状态:里面包含 LSR、LSU、LSACK LSU(里面包含的LSA),通过请求、发送信息和确认最后进入 Full 状态进行计算最短路径树。
- Full:开始计算到各个节点的路由--标志着邻接关系的建立成功。
作者:Joker
OSPF 路由协议详解(一)的更多相关文章
- OSPF路由协议详解
OSPF:开放式最短路径优先协议无类别链路状态路由协议,组播更新224.0.0.5/6:跨层封装到三层,协议号89:基于拓扑工作,故更新量大-----需要结构化部署–区域划分.地址规划触发更新.每30 ...
- 动态选路、RIP协议&&OSPF协议详解
动态选路.RIP协议&&OSPF协议详解 概念 当相邻路由器之间进行通信,以告知对方每个路由器当前所连接的网络,这时就出现了动态选路.路由器之间必须采用选路协议进行通信,这样的选路协议 ...
- OSPF协议详解
CCNP OSPF协议详解 2010-02-24 20:30:22 标签:CCNP 职场 OSPF 休闲 OSPF(Open Shortest Path Fitst,ospf)开放最短路径优先协议,是 ...
- BGP路由协议详解(完整篇)
原文链接:http://xuanbo.blog.51cto.com/499334/465596/ 2010-12-27 12:02:45 上个月我写一篇关于BGP协议的博文,曾许诺过要完善这个文档,但 ...
- OSPF基本详解
- BGP路由协议详解(完整版)
(免责声明:来源于网络,版权原作者所有,转载仅为了传播.学习交流使用,如需删除请私信联系,严禁其他用途.) END 关注「开源Linux」加星标,提升IT技能 好文章,分享.点赞.在看三连哦️↓↓↓
- 《OSPF和IS-IS详解》
<OSPF和IS-IS详解> 基本信息 作者: (美)Jeff Doyle 译者: 孙余强 出版社:人民邮电出版社 ISBN:9787115347886 上架时间:2014-4-25 出版 ...
- OSPF详解
OSPF 详解 (1) [此博文包含图片] (2013-02-04 18:02:33) 转载 ▼ 标签: 端的 第二 以太 第一个 正在 目录 序言 初学乍练 循序渐进学习OSPF 朱皓 入门之前 了 ...
- 《OSPF和IS-IS详解》一1.5 ARPANET内的路由选择
本节书摘来异步社区<OSPF和IS-IS详解>一书中的第1章,第1.5节,作者: [美]Jeff Doyle 译者: 孙余强 责编: 傅道坤,更多章节内容可以访问云栖社区"异步社 ...
随机推荐
- WinDbg调试托管程序环境问题总结
基本环境搭建及安装 安装 有2个方式可以安装WinDbg. 新版 安装WinDbg Preview 在商店里搜WinDbg直接就可以安装,这里安装的版本是x64版本.x64版本的WinDbg其实是可以 ...
- 一致性 hash 环
一致性 hash 环 最近做项目 做了一个分发器 ,需要 根据请求携带的参数 把请求分发到 不同的服务器上面,最终我选择使用 一致性hash 环 来实现 ,本篇 就主要讲解一下 一致性hash环 它的 ...
- ssh-ssl编译安装
升级前准备 #下载所需依赖包#yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-d ...
- ZYNQ 驱动初始化套路--UART串口
@ 目录 UART 串口 GPIO之 MIO控制 LED 套路如下: 1.定义硬件信息结构体 namePs_Config *Config; 2.定义驱动信息结构体 namePs name_Ps; 3. ...
- 数据库原理 之MySQL
数据库种类: 关系型数据库: mysql 专注于数据安全 和功能 ,存取时 会有表的结构化操作解析sql语句---- 丢给磁盘存取 ----取出,结构化成表 常用关系型数据库产品介绍oracle数据库 ...
- xss平台搭建
1. xss平台搭建 l 将xss平台源码放置在网站目录下 l 进入MySQL管理界面中的phpMyAdmin界面,新建一个XSS平台的数据库 l 修改XSS源码文件目录下的config.php中的数 ...
- 问鼎杯预赛web writeup
1. php的一个精度问题,具体什么精度自己查. 2017.000000000001=2017 2016.999999999999=2017 直接拿谷歌浏览器访问那个链接就可以拿到flag 2. 访问 ...
- HMS Core机器学习服务图像超分能力,基于深度学习提升新闻阅读体验
在移动端阅读资讯时,人们对高分辨率.高质量的图像要求越来越高.但受限于网络流量.存储.图片源等诸多因素,用户无法便捷获得高质量图片.移动端显示设备的高分辨率图片获得问题亟待解决.不久前,HMS Cor ...
- Python 字典(键值对)
Python 字典(键值对) 创建字典 特性:字典中的键不能变,而且唯一 格式:变量名={"键1":值1,"键2":值2} 函数 作用 dict() 强制转换为 ...
- 程序语言与编程实践7-> Java实操4 | 第三周作业及思路讲解 | 异常处理考察
第三周作业,可能是异常那一章当时没怎么听,此前也不怎么接触,感觉还挺陌生的. 00 第1题 00-1 题目 /* * To change this license header, choose Lic ...