点击上方 网络工程师俱乐部 选择 「设为星标」
一手资讯 及时查看
主笔/老杨 编辑/山城
这是网络工程师俱乐部的第625篇文章
晚上好,我是老杨。
好久没和你聊聊OSPF的技术,又有新的一批萌新陆续登场,想了想,还是得系统整理一番,以便一年又一年的新粉丝查一查、翻一翻。
关于OSPF,毕竟基础且经典我也陆陆续续分享过一些内容,趣味科普,面试考题,实验操作,都有涉及。
按照惯例,往期内容都丢在文末整理汇总好了。今天,我就从图解的角度,再给你梳理一遍技术内容。
从标题你也应该知道,这份图解很详尽,所以,老杨打算分三期更新完毕,方便大家阅读。
我可是知道你们的,太长了就是直接转发、收藏,然后积灰,从来没打开过,是不是
第一篇图解更新的内容包括:OSPF的基础技术点、OSPF报文类型,以及配置OSPF的详解。
今日文章阅读福利:《OSPF网络设计解决方案》
作为网络基础,了解它是你入门精进的第一步。添加老杨微信,备注“方案”,前10名粉丝即可获得此份OSPF经典读物。
如果想从0到1系统学习网络,也欢迎添加老杨微信,告知学习意向,我会为你推荐最适合你学习网络的方式。
添加老杨为好友 获取网工必备资源
01
OSPF基础知识
01 链路状态路由协议
运行链路状态路由协议的路由器,比运行距离矢量路由协议的路由器识别更多的网络信息。
每一台路由器拥有整个拓扑结构,能够根据准确的网络拓扑信息独立地作出决策。
02 链路状态数据结构
邻居表:也被称为邻接数据库,包含邻居列表
拓扑表:
通常被称为链路状态数据库(LSDB)
包含该区域或网络中的所有路由器及其连接链路
区域内的所有路由器有相同的LSDB
路由表:
通常称为转发数据库(forwarding database),包含到目的地的最佳路径。
03 网络层次结构
链路状态路由协议通过OSPF协议执行具有层次网络结构。两层的层次结构由中转区域 (骨干区域0)和常规区域 (非骨干区域)组成。
OSPF区域特点:
最大限度地减少路由表条目
本地区域内拓扑变化的影响
在区域边界阻止LSA的泛洪
需要分层网络设计
路由器A和B都是骨干路由器
骨干路由器属于区域0
路由器C,D和E被称为区域边界路由器
ABR连接着骨干区域和非骨干区域
04 SPF计算
02
OSPF报文类型
01 OSPF报文类型
02 OSPF报文头格式
03 OSPF邻居建立过程
过程详细描述:
(1) OSPF路由器接口up,发送Hello包(NBMA模式时将进入Attempt状态)
(2) OSPF路由器接口收到Hello包,进入Init状态;并将该Hello包的发送者的Router ID,添加到Hello包(自己将要从该接口发送出去的Hello包)的邻居列表中
(3) OSPF路由器接口收到邻居列表中含有自己Router ID的Hello包,进入Two-way状态,形成OSPF邻居关系,并把该路由器的Router ID添加到自己的OSPF邻居表中
(4) 在进入Two-way状态后,广播、非广播网络类型的链路,在DR选举等待时间内进行DR选举。点对点没有这个过程
(5) 在DR选举完成或跳过DR选举后,建立OSPF邻接关系,进入exstart(准启动)状态;并选举DBD交换主从路由器,以及由主路由器定义DBD序列号,Router ID大的为主路由器。目的是为了解决DBD自身的可靠性
(6) 主从路由器选举完成后,进入Exchange(交换)状态,交换DBD信息
(7) DBD交换完成后,进入Loading状态,对链路状态数据库和收到的DBD的LSA头部进行比较,发现自己数据库中没有的LSA就发送LSR,向邻居请求该LSA;邻居收到LSR后,回应LSU;收到邻居发来的LSU,存储这些LSA到自己的链路状态数据库,并发送LSAck确认
(8) LSA交换完成后,进入FULL状态,所有形成邻居的OSPF路由器都拥有相同链路状态数据库
(9) 定期发送Hello包,维护邻居关系
1. 邻居关系: Hello包
2. 建立双向通信
3. 发现网络路由
4. 添加链路状态条目
5. 维护路由信息
04 LSA序列编号
1. 在LSDB中每一条LSA维护一个序列号
2. 序列号的长度为4个字节,范围是0x80000001 ~ 0x7FFFFFFF
3. OSPF每隔30分钟泛洪每一条LSA以保持适当的数据库同步
4. 每次LSA泛洪,序列号被加1
5. 最终,一个LSA序列号将返回到0x80000001的。当发生这种情况时,现有的LSA达到最大老化时间,重新刷新LSA时间
6. 当路由器遇到一个LSA的两个实例,它必须确定哪个更新,具有较新的(更高)的LSA的LS序列号是更一些
05 LSA操作
LSA序列号和最大年龄:
03
配置OSPF
01 配置OSPF
02 OSPF Router ID
1. 在OSPF网络内通过OSPF router ID标识路由器。
2. LSDBs 使用OSPF的 Router ID 区分不同的路由器。
3. 默认情况下, Router ID在OSPF进程启动时选择活动接口中最⼤大的IP地址。
4. 环回接口可以参与OSPF路由器ID的选举,如果存在Loopback接口,路由器ID是在任何活动的loopback接口中最大的IP地址。
5. OSPF的Router-id命令可以用来覆盖OSPF路由器ID。
6. 使用Loopback接口或一个Router-id命令用于保持Router-ID稳定.
If the OSPF process is already running, the router must be
reloaded or the OSPF process must be removed and
reconfigured before the new loopback address will take effect
OSPF router-id 命令:
阅读推荐:
《 5个超经典实验,老杨带你高效进阶OSPF 》
《 不懂OSPF,你就千万别点开这篇文章 》
网工界最有含金量的华为认证,到底是啥?
拿下华为认证之后,身为网工的你可以:
跨越90%企业的招聘硬门槛
增加70%就业机会
拿下BAT全国TOP100大厂敲门砖
体系化得到网络技术硬实力
IE大佬年薪可达30w+
如何了解+系统学习?
识别下方二维码加老杨为好友
好友验证请备注“考证”
获得1v1专属咨询+报班千元满减券
前30名粉丝 免费获得老杨答疑机会
- 推荐阅读 -