这个是配套的视频观看地址:https://edu.51cto.com/center/course/lesson/index?id=484528

OSPF协议

OSPF协议的工作机制类似于咱们的中国地图一样,咱们认拿着地图到达目标地点 ,路由器运行OSPF后,也会有一张类似于地图的东西,叫做LSDB(链路状态数据库)那么,路由器会利用这个LSDB(地图)去寻找到达其他路由器的最优路径(执行SPF算法)。把寻找好的最优路径用笔记记录(就是放在路由表中)下来,以便于以后再去这个地方的时候,直接看下笔记上面的路径就可以了
精通企业网络当中网红协议OSPF协议_第1张图片

OSPF协议的区域概念

中国的首都是北京,咱们中国34个省,每一个省份都是紧紧的挨着,并且相互连接着
在OSPF协议当中,有区域的概念,比如area 0、area 1、area 2等区域 我们可以把area 0看作是北京,是最核心的一个区域,把area 1、area 2等区域看作成非北京区域
精通企业网络当中网红协议OSPF协议_第2张图片

OSPF的原理

精通企业网络当中网红协议OSPF协议_第3张图片
精通企业网络当中网红协议OSPF协议_第4张图片

OSPF原理总结

1、所有路由器都使能OSPF进程,并在一个区域中把自己的网段接口宣告
(network)进去
2、然后所有使能OSPF进程的设备之间交互LSA(链路状态通告)直到所有的
设备上的LSDB(链路状态数据库)都一样即可
3、然后在根据LSDB进行SPF计算,算出自己到达其他设备的最优路由出来
4、将算出的最优路由放入IP路由表中

OSPF Router ID

什么是route id?

和ip地址类似的32位的值,作为一台设备的标识符 企业网中的设备少则几台多则几十台甚至几百台,每台路由器都需要有一个唯一的ID用于标识自己。

精通企业网络当中网红协议OSPF协议_第5张图片

手动配置route id

router id 8.8.8.8        #本地全局生效
ospf 1 router-id 8.8.8.8    #本地ospf进程生效 生产环境优先选择这样

配置自动选举route id(不建议)

 如果设备存在多个逻辑接口地址(如环回口loo1口),则路由器使用逻辑接口中最大的IP地址作为Router ID
 如果没有配置逻辑接口,则路由器使用物理接口的最大IP地址作为Router ID

Router ID选举规则如下

 手动配置OSPF路由器的Router ID(通常建议手动配置);
 如果没有手动配置Router ID,则路由器使用Loopback接口中最大的IP地址作为Router ID;
 如果没有配置Loopback接口,则路由器使用物理接口中最大的IP地址作为Router ID。
OSPF的路由器Router ID重新配置后,可以通过重置OSPF进程来更新Router ID。

reset ospf process   ------Y

华为这边比较奇葩 优先选择第一个UP接口作为router id

OSPF的常见结构

单区域结构

 区域的划分是以接口进行划分的,不是以网段进行划分
 如果ospf是单区域结构的话,那这个区域建议是area 0
精通企业网络当中网红协议OSPF协议_第6张图片
精通企业网络当中网红协议OSPF协议_第7张图片

多区域结构

 如果ospf的区域结构是多区域的话,一定会有area 0区域,另外还有非骨干区域,比如area 1或者area 2等等区域
 并且所有的非骨干区域一定要连接到area 0周围
精通企业网络当中网红协议OSPF协议_第8张图片
精通企业网络当中网红协议OSPF协议_第9张图片

OSPF配置介绍

精通企业网络当中网红协议OSPF协议_第10张图片

什么是反掩码

反掩码也叫做通配符
计算方式:反掩码=255.255.255.255-掩码
比如:192.168.1.1/24
反掩码=255.255.255.255-255.255.255.0=0.0.0.255

注意:

 反掩码中的0表示的意思就是精确值
 反掩码中的255表示的意思就是任意值
有的工程师可能会写反掩码为0.0.0.0(0.0.0.0表示精确匹配)

OSPF配置思路

在R1的AREA 1当中

network 192.168.12.0 0.0.0.255

或者

network 192.168.12.1 0.0.0.0

R1配置如下命令:

intterface loopback 0
ip address 1.1.1.1 32
[R1]ospf 10 router-id 1.1.1.1   推荐这种方式配置router id
[R1]ospf 10   进入ospf进程里面
[R1-ospf-10]area 1   进入ospf的区域1当中
[R1-ospf-10-area-0.0.0.1]network 192.168.12.0 0.0.0.255  是在我们区域1当中宣告我们的网段

R2配置如下命令:

intterface loopback 0
ip address 2.2.2.2 32
[R1]ospf 10 router-id 2.2.2.2   推荐
[R2]ospf 10   进入ospf进程里面
[R2-ospf-10]area 1   进入ospf的区域1当中
[R2-ospf-10-area-0.0.0.1]network 192.168.12.0 0.0.0.255   是在我们区域1当中宣告我们的网段

同理R3 R4 R5的OSPF配置类似于R1 R2的配置

查看如下三张表

邻居表

[R1]display ospf peer brief 

         OSPF Process 10 with Router ID 192.168.12.1
                  Peer Statistic Information
 ----------------------------------------------------------------------------
 Area Id          Interface                        Neighbor id      State    
 0.0.0.0          GigabitEthernet0/0/0             192.168.12.2     Full        
 ----------------------------------------------------------------------------
[R1]

路由表

display ip routing-table protocol ospf  在R1查看ospf学习到的路由
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
         Destinations : 2        Routes : 2        

OSPF routing table status : 
         Destinations : 2        Routes : 2

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

   192.168.45.0/24  OSPF    10   3           D   192.168.12.2    GigabitEthernet0/0/0
  192.168.234.0/24  OSPF    10   2           D   192.168.12.2    GigabitEthernet0/0/0

OSPF routing table status : 
         Destinations : 0        Routes : 0

总结:
ospf这边是基于接口划分区域的 在我们OSPF区域当中 其中area 0必须得有 area 0是骨干区域 其他的非区域0叫非骨干区域 非骨干区域必须连接到骨干区域周边

数据库表

display ospf lsdb  查看ospf当中LSDB

         OSPF Process 10 with Router ID 192.168.12.2
                 Link State Database 

                         Area: 0.0.0.0
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    192.168.234.3   192.168.234.3     1462  36    80000005       1
 Router    192.168.234.4   192.168.234.4     1374  36    80000006       1
 Router    192.168.12.2    192.168.12.2      1459  36    80000007       1
 Network   192.168.234.4   192.168.234.4     1462  36    80000003       0
 Sum-Net   192.168.45.0    192.168.234.4     1362  28    80000001       1
 Sum-Net   192.168.12.0    192.168.12.2      1554  28    80000001       1
 Sum-Net   192.168.2.0     192.168.234.4      327  28    80000001       2
 Sum-Net   192.168.1.0     192.168.12.2       367  28    80000001       2

                         Area: 0.0.0.1
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    192.168.12.2    192.168.12.2      1572  36    80000004       1
 Router    192.168.12.1    192.168.12.1       325  48    80000007       1
 Network   192.168.12.1    192.168.12.1        80  32    80000003       0
 Sum-Net   192.168.45.0    192.168.12.2      1361  28    80000001       2
 Sum-Net   192.168.234.0   192.168.12.2      1554  28    80000001       1
 Sum-Net   192.168.2.0     192.168.12.2       326  28    80000001       3

OSPF的开销计算方式

OSPF的开销计算公式为带宽参考值/带宽

修改OSPF的默认参考带宽值,作用范围是本路由器使能OSPF的接口。建议参考整个网络的带宽情况建立参考基线,所有路由器修改相同的参考带宽值,从而确保选路的一致性。
cost=参考带宽/实际带宽,默认参考带宽为100M。当计算结果有小数位时,只取整数位;结果小于1时,cost取1。
注意:所有路由器都需要修改,确保选路一致性
精通企业网络当中网红协议OSPF协议_第11张图片

出接口上面修改开销

直接在接口下配置,需要注意的是,配置的cost是此接口最终的cost值,作用范围仅限于本接口

[RTA- GigabitEthernet0/0/1]ospf cost 20

精通企业网络当中网红协议OSPF协议_第12张图片

OSPF认证

安全隐患
精通企业网络当中网红协议OSPF协议_第13张图片
非法设备收到财务部的流量之后,进行恶意分析,获取财务部关键信息,造成公司机密泄露 OSPF如何保证路由的安全性呢?

认证解决安全隐患

OSPF支持认证功能,只有通过认证的OSPF路由器才能正常建立邻居关系,交互信息。
精通企业网络当中网红协议OSPF协议_第14张图片

OSPF的认证方式

区域认证方式
接口认证方式
注意:在区域下认证,比如在area 0做认证,那么该设备在区域0接口下的所有接口都认证,如果是在该设备启用接口认证,那么只针对于该接口做单独的认证,但是由于认证字段在OSPF头部当中,所以,两台设备之间R1和R2,R1做接口认证,R2做区域认证,只有认证模式一样,密码一样,R1和R2之间依然可以建立起邻居或者邻接关系

支持的认证模式分为

null(不认证)
simple(明文认证)
MD5(密文认证)
当simple和MD5都存在时,优先使用接口认证方式
两台设备之间 要么两端都不配置认证 要么两端都都配置simple认证 要么两端都都配置md5认证

案例1:OSPF认证导致FULL关系down

精通企业网络当中网红协议OSPF协议_第15张图片

R1的配置明文认证

#
interface GigabitEthernet0/0/0
 ip address 192.168.12.1 255.255.255.0 
 ospf authentication-mode simple plain Huawei 
#

如果此时R2这边不配置明文认证的话,R2和R1之间的FULL的关系就会down掉

[R1]display ospf peer brief 

         OSPF Process 10 with Router ID 192.168.12.1
                  Peer Statistic Information

在R2配置明文认证,密码为Huawei@123 由于R1和R2的密码不一致,所以R1和R2之间的OSPF关系依旧也是down

[R1]display ospf peer brief 

         OSPF Process 10 with Router ID 192.168.12.1
                  Peer Statistic Information

在R2上面配置明文认证,并且密码为Huawei

#
interface GigabitEthernet0/0/0
 ip address 192.168.12.2 255.255.255.0 
 ospf authentication-mode simple plain Huawei 
#

怎么检查是否配置成功
你可以把接口R1连接R2的接口down一下 然后再undo shutdown一下 通过命令行检查一下

[R1]display ospf peer brief 

         OSPF Process 10 with Router ID 192.168.12.1
                  Peer Statistic Information
 ----------------------------------------------------------------------------
 Area Id          Interface                        Neighbor id      State    
 0.0.0.1          GigabitEthernet0/0/0             192.168.12.2     Full        
 ----------------------------------------------------------------------------

看到full就成功了

区域验证和接口验证

精通企业网络当中网红协议OSPF协议_第16张图片
在区域下做认证
精通企业网络当中网红协议OSPF协议_第17张图片
在接口下做认证
精通企业网络当中网红协议OSPF协议_第18张图片
R1和R2之间的full邻接关系建立正常
精通企业网络当中网红协议OSPF协议_第19张图片
精通企业网络当中网红协议OSPF协议
精通企业网络当中网红协议OSPF协议_第20张图片
精通企业网络当中网红协议OSPF协议_第21张图片

Key id的作用

精通企业网络当中网红协议OSPF协议_第22张图片
精通企业网络当中网红协议OSPF协议_第23张图片
精通企业网络当中网红协议OSPF协议_第24张图片
R1和R2之间无full的邻接关系
精通企业网络当中网红协议OSPF协议_第25张图片
精通企业网络当中网红协议OSPF协议_第26张图片
检查OSPF的错误信息
精通企业网络当中网红协议OSPF协议_第27张图片
Key id的作用:平滑过渡的作用
精通企业网络当中网红协议OSPF协议_第28张图片
精通企业网络当中网红协议OSPF协议_第29张图片

OSPF报文格式

OSPF协议是网络层协议 IP协议号为89号
精通企业网络当中网红协议OSPF协议_第30张图片
OSPF协议报文结构分为OSPF头部+OSPF数据包 注意:OSPF数据包一共有5个
精通企业网络当中网红协议OSPF协议
 Hello 报文
 DD(Database Description)报文
 LSR(LSA Request)报文
 LSU(LSA Update)报文
 LSACK(Link State Acknowledgment)报文

OSPF数据包类型

HELLO报文

精通企业网络当中网红协议OSPF协议_第31张图片
Hello报文作用:
1、维护邻居状态
2、选择DR与BDR

DBD(DD)报文

精通企业网络当中网红协议OSPF协议_第32张图片
第一份DBD报文作用:
1、选择主从关系,用来控制序列号的顺序
2、无任何LSA的信息
精通企业网络当中网红协议OSPF协议_第33张图片
非第一份DBD报文作用:
1、用来描述LSA的头部信息

LSR报文

精通企业网络当中网红协议OSPF协议_第34张图片
LSR报文作用:
1、请求对方的LSA信息
2、里面无LSA头部内容

LSU报文

精通企业网络当中网红协议OSPF协议_第35张图片
LSU报文作用:
1、这个报文中才含有真正LSA的拓扑信息和网络信息

LSACK报文

精通企业网络当中网红协议OSPF协议_第36张图片
LSAck报文作用:
1、用于确认从对方收到的LSU报文
2、LSAck里面包括LSA的头部信息

总结

DD、LSR、LSU、LSAck与LSA的关系:
 DD报文中包含LSA头部信息,包括LS Type、LS ID、Advertising Router 、LS Sequence Number、LS Checksum。
 LSR中包含LS Type 、LS ID和Advertising Router 。
 LSU中包含完整的LSA信息。
 LSAck中包含LSA头部信息,包括LS Type、LS ID、Advertising Router、LS Sequence Number、LS Checksum。

OSPF协议状态机

我们在敲命令配置OSPF的时候,当两台路由器之间相互配置好OSPF协议后,会在显示屏上面出现如下信息 这些类似于广告信息就是OSPF的日志信息,从中可以看出OSPF的建立过程有如下几个阶段
精通企业网络当中网红协议OSPF协议_第37张图片
一般情况下,OSPF的状态机分为如下几个过程
精通企业网络当中网红协议OSPF协议_第38张图片

邻居过程

精通企业网络当中网红协议OSPF协议_第39张图片
 Down:这是邻居的初始状态,表示没有从邻居收到任何信息。
 Init:在此状态下,路由器已经从邻居收到了Hello报文,但是自己的Router ID不在所收到的Hello报文的邻居列表中,表示尚未与邻居建立双向通信关系。
 2-Way:在此状态下,路由器发现自己的Router ID存在于收到的Hello报文的邻居列表中,已确认可以双向通信。

邻居建立过程如下

1、RTA和RTB的Router ID分别为1.1.1.1和2.2.2.2。当RTA启动OSPF后,RTA会发送第一个Hello报文。此报文中邻居列表为空,此时状态为Down,RTB收到RTA的这个Hello报文,状态置为Init。
2、RTB发送Hello报文,此报文中邻居列表为空,RTA收到RTB的Hello报文,状态置为Init。
3、RTB向RTA发送邻居列表为1.1.1.1的Hello报文,RTA在收到的Hello报文邻居列表中发现自己的Router ID,状态置为2-way。
4、RTA向RTB发送邻居列表为2.2.2.2的Hello报文,RTB在收到的Hello报文邻居列表中发现自己的Router ID,状态置为2-way。
因为邻居都是未知的,所以Hello报文的目的IP地址不是某个特定的单播地址。邻居从无到有,OSPF采用组播的形式发送Hello报文(目的地址224.0.0.5)

DR和BDR的选举及作用

精通企业网络当中网红协议OSPF协议_第40张图片
在运行OSPF的MA网络包括广播型和NBMA网络,会存在两个问题:
因为在同一个区域的路由器必须的保证他们的LSDB(链路状态数据库)是一样的,因此在一个有n个路由器的网络,会形成(n×(n−1))/2个邻接关系,我们可以做一些优化,在一个MA网络中选出一个DR角色出来,DR(Designated Router)即指定路由器和BDR(Backup Designated Router)和DROther(非DR路由器)

规定:DR/BDR和BDR可以建立FULL的连接关系 DROther之间只能建立2-way的关系

DR和BDR监听的地址为224.0.0.6
DROther监听的地址为224.0.0.5
精通企业网络当中网红协议OSPF协议_第41张图片
DROther路由器将路由信息发往226.0.0.6这个目标地址,因为这个目标ip地址是DR或者BDR设备监听的,然后DR设备会监听到这些路由信息,DR设备会把路由信息发往224.0.0.5这个IP地址,因为224.0.0.5这个IP地址是所有运行OSPF的路由器监听的,这样所有的路由器都能够收到这个路由信息

DR作用:

1、减少连接关系数量也就是full的关系
2、产生LSA-2

选举规则:

DR/BDR的选举是基于接口的。
接口的DR优先级越大越优先。
接口的DR优先级相等时,Router ID越大越优先。

注意:

优先级为0是不参与DR与BDR的选举的
一般建议人工干预进行DR和BDR的选择
只有MA的网络才会选择DR和BDR
P2P和P2MP中不选举DR和BDR
接口优先级 默认情况是1 取值范围就是0~255
命令

[R1-GigabitEthernet0/0/0]ospf dr-priority ?
  INTEGER<0-255>  Router priority value
[R1-GigabitEthernet0/0/0]ospf dr-priority 1

通过命令怎么查看

display ospf interface GigabitEthernet 0/0/0

         OSPF Process 10 with Router ID 1.1.1.1
                 Interfaces 

 Interface: 192.168.12.1 (GigabitEthernet0/0/0)
 Cost: 10      State: BDR       Type: Broadcast    MTU: 1500  
 Priority: 1
 Designated Router: 192.168.12.2
 Backup Designated Router: 192.168.12.1
 Timers: Hello 10 , Dead 40 , Poll  120 , Retransmit 5 , Transmit Delay 1 

选举的过程:

1、首先选择的是DROther集合
2、然后选择的是BDR
3、最后选择的是DR
精通企业网络当中网红协议OSPF协议_第42张图片
问题:
1、左边DR、BDR、DROther是谁?
2、右边DR、BDR、DROther是谁?
精通企业网络当中网红协议OSPF协议_第43张图片
线路恢复后:
1、DR是谁?BDR是谁?DROther是谁?
2、当DR出现故障后,DR是谁?BDR是谁?DROther是谁?
3、当DR恢复后,DR是谁?BDR是谁?DROther是谁?
精通企业网络当中网红协议OSPF协议_第44张图片
总结:
1、DR/BDR是非抢占的进行选择的
2、首先选择的是DROther
3、然后选择的是BDR
4、最后选择的是DR

邻接过程

精通企业网络当中网红协议OSPF协议_第45张图片
精通企业网络当中网红协议OSPF协议_第46张图片
 ExStart:邻居状态变成此状态以后,路由器开始向邻居发送DD报文。Master/Slave关系是在此状态下形成的,初始DD序列号也是在此状态下确定的。在此状态下发送的DD报文不包含链路状态描述。
 Exchange:在此状态下,路由器与邻居之间相互发送包含链路状态信息摘要的DD报文。
 Loading:在此状态下,路由器与邻居之间相互发送LSR报文、LSU报文、LSAck报文。
 Full:LSDB同步过程完成,路由器与邻居之间形成了完全的邻接关系。

OSPF协议网络类型

数据链路层协议类型多种多样,工作机制也各不相同。
为适配多种数据链路层协议,必须考虑各类链路层协议在组网时的应用场景。

[R1-GigabitEthernet0/0/1]ospf network-type

精通企业网络当中网红协议OSPF协议_第47张图片

P2P网络

精通企业网络当中网红协议OSPF协议_第48张图片
P2P网络连接了一对路由器,广播、组播数据包都可以转发。
P2P网络的例子:两台通过PPP(Point-to-Point Protocol)链路相连的路由器网络。
特点:
仅两台路由互连
精通企业网络当中网红协议OSPF协议_第49张图片
查看OSPF的邻居状态
精通企业网络当中网红协议OSPF协议_第50张图片
通过抓包可以看到目的ip地址都是224.0.0.5
精通企业网络当中网红协议OSPF协议_第51张图片
结论
DR和BDR监听的地址为224.0.0.6
DROther监听的地址为224.0.0.5
P2P所有报文都是224.0.0.5

详细查看OSPF在接口下的信息
精通企业网络当中网红协议OSPF协议_第52张图片
观察P2P网络类型的状态机的变化过程
精通企业网络当中网红协议OSPF协议_第53张图片
结论:在P2P中是没有2-way邻居关系的,说明P2P类型下,是不需要选择DR和BDR的

OSPF在P2P网络类型不同网段之间建立邻居关系

精通企业网络当中网红协议OSPF协议_第54张图片
问题:P2P链路上两边不在同一个网段,full关系能够建立起来吗?
精通企业网络当中网红协议OSPF协议_第55张图片
精通企业网络当中网红协议OSPF协议_第56张图片

广播型网络

精通企业网络当中网红协议OSPF协议_第57张图片
广播型网络的例子:通过以太网链路相连的路由器网络。
两台或两台以上的路由器通过共享介质互连。
支持广播、组播。
精通企业网络当中网红协议OSPF协议_第58张图片
其中,DR是123.0.0.5
BDR是123.0.0.4
DROther是123.0.0.3
精通企业网络当中网红协议OSPF协议_第59张图片
精通企业网络当中网红协议OSPF协议_第60张图片
精通企业网络当中网红协议OSPF协议_第61张图片
在R3的G0/0/0接口抓包看到的现象
精通企业网络当中网红协议OSPF协议_第62张图片
总结:广播类型报文中所使用的地址
Hello报文: 组播报文:224.0.0.5
DBD报文:单播报文
LSR报文:单播报文
LSU报文:单播、组播报文.5或者.6
LSACK报文:单播、组播报文 .5或者.6

广播网络下不同网段

将R3的G0/0/0地址改为192.168.1.1/24,看看R3能否可以和R4、R5建立OSPF关系起来?
精通企业网络当中网红协议OSPF协议_第63张图片
精通企业网络当中网红协议OSPF协议_第64张图片精通企业网络当中网红协议OSPF协议_第65张图片精通企业网络当中网红协议OSPF协议_第66张图片精通企业网络当中网红协议OSPF协议_第67张图片

NBMA和P2MP

精通企业网络当中网红协议OSPF协议_第68张图片

网络类型混合

左边是P2P 右边是广播网络 看下是否能够建立起OSPF的关系
精通企业网络当中网红协议OSPF协议_第69张图片
在R1这边查看OSPF的接口状态是P2P
精通企业网络当中网红协议OSPF协议_第70张图片
在R2这边查看OSPF的接口状态时Broadcast状态
精通企业网络当中网红协议OSPF协议_第71张图片
R1和R2已经建立起OSPF的FULL的邻接关系了
精通企业网络当中网红协议OSPF协议_第72张图片
R2和R1已经建立起OSPF的FULL的邻接关系了
精通企业网络当中网红协议OSPF协议_第73张图片
在R1上面查看状态机如下
精通企业网络当中网红协议OSPF协议_第74张图片
在R2上面查看状态机如下
精通企业网络当中网红协议OSPF协议_第75张图片

邻居和邻接关系总结

精通企业网络当中网红协议OSPF协议_第76张图片

影响OSPF之间FULL关系建立不起来的几种情况

区域area问题

精通企业网络当中网红协议OSPF协议_第77张图片

网段问题

精通企业网络当中网红协议OSPF协议_第78张图片

时间问题

精通企业网络当中网红协议OSPF协议_第79张图片
精通企业网络当中网红协议OSPF协议_第80张图片

router id问题

精通企业网络当中网红协议OSPF协议_第81张图片

认证问题

精通企业网络当中网红协议OSPF协议_第82张图片