精通企业网络当中网红协议OSPF协议

OSPF协议

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

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

OSPF的原理


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

OSPF报文格式

OSPF协议是网络层协议 IP协议号为89号

OSPF协议报文结构分为OSPF头部+OSPF数据包 注意:OSPF数据包一共有5个

? Hello 报文
? DD(Database Description)报文
? LSR(LSA Request)报文
? LSU(LSA Update)报文
? LSACK(Link State Acknowledgment)报文

OSPF数据包类型

HELLO报文

Hello报文作用:
1、维护邻居状态
2、选择DR与BDR

DBD(DD)报文

第一份DBD报文作用:
1、选择主从关系,用来控制序列号的顺序
2、无任何LSA的信息

非第一份DBD报文作用:
1、用来描述LSA的头部信息

LSR报文

LSR报文作用:
1、请求对方的LSA信息
2、里面无LSA头部内容

LSU报文

LSU报文作用:
1、这个报文中才含有真正LSA的拓扑信息和网络信息

LSACK报文

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 Router ID

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

手动配置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的时候,当两台路由器之间相互配置好OSPF协议后,会在显示屏上面出现如下信息 这些类似于广告信息就是OSPF的日志信息,从中可以看出OSPF的建立过程有如下几个阶段


一般情况下,OSPF的状态机分为如下几个过程

邻居过程

? 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的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
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
通过命令怎么查看
<R1>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
<R1>

选举的过程:

1、首先选择的是DROther集合
2、然后选择的是BDR
3、最后选择的是DR

问题:
1、左边DR、BDR、DROther是谁?
2、右边DR、BDR、DROther是谁?

线路恢复后:
1、DR是谁?BDR是谁?DROther是谁?
2、当DR出现故障后,DR是谁?BDR是谁?DROther是谁?
3、当DR恢复后,DR是谁?BDR是谁?DROther是谁?

总结:
1、DR/BDR是非抢占的进行选择的
2、首先选择的是DROther
3、然后选择的是BDR
4、最后选择的是DR

邻接过程


? ExStart:邻居状态变成此状态以后,路由器开始向邻居发送DD报文。Master/Slave关系是在此状态下形成的,初始DD序列号也是在此状态下确定的。在此状态下发送的DD报文不包含链路状态描述。
? Exchange:在此状态下,路由器与邻居之间相互发送包含链路状态信息摘要的DD报文。
? Loading:在此状态下,路由器与邻居之间相互发送LSR报文、LSU报文、LSAck报文。
? Full:LSDB同步过程完成,路由器与邻居之间形成了完全的邻接关系。

OSPF协议网络类型

数据链路层协议类型多种多样,工作机制也各不相同。
为适配多种数据链路层协议,必须考虑各类链路层协议在组网时的应用场景。
[R1-GigabitEthernet0/0/1]ospf network-type

P2P网络

P2P网络连接了一对路由器,广播、组播数据包都可以转发。
P2P网络的例子:两台通过PPP(Point-to-Point Protocol)链路相连的路由器网络。
特点:
仅两台路由互连


查看OSPF的邻居状态

通过抓包可以看到目的ip地址都是224.0.0.5

结论
DR和BDR监听的地址为224.0.0.6
DROther监听的地址为224.0.0.5
P2P所有报文都是224.0.0.5

详细查看OSPF在接口下的信息

观察P2P网络类型的状态机的变化过程

结论:在P2P中是没有2-way邻居关系的,说明P2P类型下,是不需要选择DR和BDR的

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


问题:P2P链路上两边不在同一个网段,full关系能够建立起来吗?

广播型网络

广播型网络的例子:通过以太网链路相连的路由器网络。
两台或两台以上的路由器通过共享介质互连。
支持广播、组播。

其中,DR是123.0.0.5
BDR是123.0.0.4
DROther是123.0.0.3




在R3的G0/0/0接口抓包看到的现象

总结:广播类型报文中所使用的地址
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关系起来?

网络类型混合

左边是P2P 右边是广播网络 看下是否能够建立起OSPF的关系

在R1这边查看OSPF的接口状态是P2P

在R2这边查看OSPF的接口状态时Broadcast状态

R1和R2已经建立起OSPF的FULL的邻接关系了

R2和R1已经建立起OSPF的FULL的邻接关系了

在R1上面查看状态机如下

在R2上面查看状态机如下

NBMA和P2MP

OSPF配置介绍

什么是反掩码

反掩码也叫做通配符

计算方式:反掩码=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表示精确匹配)

在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]

在R1查看ospf学习到的路由

<R1>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
         Destinations : 2        Routes : 2        

OSPF routing table status : <Active>
         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 : <Inactive>
         Destinations : 0        Routes : 0

<R1>

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

怎么样查看OSPF当中LSDB

<R2>display 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的开销计算方式

rip这边是通过跳数来计算开销
ospf协议是通过带宽来计算开销
OSPF的开销计算公式为带宽参考值/带宽

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

一般可以出接口上面修改开销

OSPF认证

OSPF的认证方式分为三种
不认证(默认情况就是不认证)
接口下启动OSPF认证
区域下启用认证

OSPF认证的类型分为二种
明文认证(在抓包的时候可以看到密码)
密文认证(在抓包的时候看不到密码)

要么两端都不配置认证
要么两端都都配置simple认证
要么两端都都配置md5认证
(其实  ospf的认证  接口和区域是一样的)因为认证在OSPF头部当中,区域下认证的含义就是把该设备运行OSPF的所有接口都启用该认证

例子:R1配置接口认证 R2在area 1配置区域认证

R1的配置

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

R2的配置

#
 area 0.0.0.1
  authentication-mode simple plain Huawei
#

怎么检查是否配置成功
你可以把接口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就成功了

Key id的作用




R1和R2之间无full的邻接关系


检查OSPF的错误信息

Key id的作用:平滑过渡的作用

原文地址:https://blog.51cto.com/13817711/2452446

时间: 2024-10-06 13:03:26

精通企业网络当中网红协议OSPF协议的相关文章

网络必备——动态路由之OSPF协议(超详细理论)

动态路由之OSPF协议 一.路由概述之内部和外部网关协议 内部网关协议和外部网关协议 1.区域划分管理,自治系统(AS) 这么多路由. 2.内部网关协议(IGP)RIP OSPF ISIS 在各自的内部区域去跑 但是不同的区域没法通信 3.外部网关协议(EGP) BGP 只有一个协议 比如阿里巴巴飞天 想通信通过外部协议 BGP ECS是阿里巴巴的云主机 2.ospf是链路状态路由协议 OSPF是链路状态路由协议 每条链路都是一个路由器的直连网段 它自己知道所有数据包信息,他们会相互交换信息,会

Linux从入门到精通——企业网络安装

####企业网络安装### 目的:批量部署服务器 通过TFTP通过网络共享文件 在服务器端:  安装并配置dhcp的配置文件 systemctl stop firewalld     ##特别重要,要关掉 yum install dhcp -y cp /usr/share/doc/dhcp-4.2.5/dhcp.conf.example /etc/dhcp/dhcpd.conf vim dhcpd.conf ##27和28以及35行以后删除 ##195 option domain-name "s

中小型企业网络的构建之RIP协议的原理

中小型企业网络的构建之RIP协议的原理一.路由的分类1.根据路由的来源不同,可把路由分为以下三大类-- 通过链路层协议发现的路由称为直连路由(Direct),不需要配置:特点:① 路径信息不需要网络管理员维护:② 不需要路由器通过计算获得,只要该接口处于活动状态(Active):③ 无法直接获取与其不直接相连的路由信息.-- 通过网络管理员手动配置的路由称为静态路由(Static):特点:① 不能自动生成,纯靠管理员手动配置② 运行和维护都比较简单③ 仅适用于拓扑结构简单并且稳定的小型网络,或者

动态路由协议之OSPF协议

之前我们介绍了距离矢量路由协议,路由器之间互相传递路由表来传递路由信息,距离矢量协议的路由器只知道某个网段可以通过那个下一跳到达和到达这个网络有多远等这样的信息,并不了解整个网络的拓扑结构.而今天所说的链路状态路由协议则通过与邻居路由器建立邻接关系,互相传递链路状态信息来了解整个网络拓扑结构.运行链路状态路由协议的路由器就好像各自"绘制"自己所了解的网段信息,然后通过与邻居路由器建立邻接关系,互相"交流"链路信息,学习整个区域内的链路信息,来"绘制&quo

linux下使用quagga配置ospf协议

环境:三台redhat6.5(VM虚拟机) 一.ospf协议 OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由.是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部. PS:这里不过多讲解ospf协议,可在网上自行查找学习 二.配置 首先下载安装软件包,其他yum源以及网络配置就不再

OSPF协议配置

拓扑图: 要求: 理解 OSPF 协议的工作原理,并通过 OSPF 路由协议实现不同网络互通. 实验步骤: 1.配置好 PC 机的 IP 地址等参数. PC 0>ipconfig IP Address......................: 172.16.0.2 Subnet Mask.....................: 255.255.255.0 Default Gateway.................: 172.16.0.1  2.配置路由器各个接口的 IP 地址等参数

DHCP在企业网络中的应用

DHCP在企业网络中的应用 一.DHCP及DHCP的工作原理 DHCP(Dynamic Host Configure Protocol,动态主机配置协议),用于向网络中的计算机分配IP地址及一些TCP/IP配置信息. DHCP的工作工程大致分为四步: (1)Dhcpdiscover:客户端向DHCP服务器端发送广播,寻找DHCP服务器 (2)Dhcpoffer:DHCP服务器收到客户端的广播后,DHCP服务向客户端提供IP地址. (3)Dhcprequest:客户端收到DHCP服务器提供的IP地

浅析IRF虚拟化技术增强企业网络架构的弹性

浅析IRF虚拟化技术增强企业网络架构的弹性  [摘要]随着"云"时代到来和各种虚拟化技术日趋成熟,对传统企业网络架构提出新挑战.例如:在不破坏企业原有网络架构和资产投入情况下,可以为企业网络提供更好的扩展性,其中包括简化管理.简化网络运行.降低整体投入成本.扩展端口密度和带宽容量.保护用户投资,使企业网络具备高可用性和持续的.不间断的运行效果.为了达到此效果,可利用H3C的IRF虚拟化技术在企业网络架构中增强弹性,现浅析如下. 关键词:云时代.企业网络.虚拟化技术.持续不间断.IRF.

3.HCNP-R&amp;S-IERN——OSPF协议报文和链路状态通告

本次介绍OSPF协议报文和链路状态通告.包括协议报文头部,报文类型和LSA类型等 学习目标: 1. 理解OSPF报文头和报文类型 2. 理解链路状态通告类型 OSPF是直接运行在IP协议上的协议,使用的IP协议号为89. OSPF有五种报文类型,但是OSPF报文头部格式都是相同的. 所有的OSPF报文使用相同的OSPF报文头部. Version填2,Type有五种,Packet Length指出OSPF报文总长度,包括报文头部.单位是字节. Router ID是生成此报文的路由器的Router