You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
datacom/Datacom-MD/第四章:动态路由技术 (1).md

74 KiB

第四章:动态路由技术

作者:行癫


第一节:动态路由概述

一:动态路由概述

image-20220210132050229

静态路由的缺点是不能自动适应网络拓扑的变化,需要人工干预

动态路由协议有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定数量三层设备的网络

1.动态路由类型
image-20220210132226810

根据路由信息传递的内容、计算路由的算法,可以将动态路由协议分为两大类:

距离矢量协议

RIP

链路状态协议

OSPF、IS-IS

BGP使用一种基于距离矢量算法修改后的算法该算法被称为路径矢量Path Vector算法。因此在某些场合下BGP也被称为路径矢量路由协议

根据工作范围不同,又可以分为:

内部网关协议IGPInterior Gateway Protocol:在一个自治系统内部运行。RIP、OSPF、ISIS为常见的IGP协议

外部网关协议EGPExterior Gateway Protocol运行于不同自治系统之间。BGP是目前最常用的EGP协议

二:路由高级特性

1.路由递归

路由必须有直连的下一跳才能够指导转发,但是路由生成时下一跳可能不是直连的,因此需要计算出一个直连的下一跳和对应的出接口,这个过程叫做路由递归;路由递归也称路由迭代

image-20220210132925448

image-20220210132943125

2.等价路由

路由表中存在等价路由之后前往该目的网段的IP报文路由器会通过所有有效的接口、下一跳转发这种转发行为被称为负载分担 image-20220210133132942

3.浮动路由
image-20220210133205759

静态路由支持配置时手动指定优先级,可以通过配置目的地址/掩码相同、优先级不同、下一跳不同的静态路由,实现转发路径的备份

浮动路由是主用路由的备份,保证链路故障时提供备份路由,主用路由下一跳可达时该备份路由不会出现的路由表

image-20220210133501543

RTA-RTB之间的链路正常时20.0.0.0/30的两条路由条目都是有效的条目此时比较优先级下一跳为10.1.1.2的优先级60下一跳为10.1.2.2的优先级70因此下一跳为10.1.1.2的加入路由表

RTA-RTB之间的链路故障时10.1.1.2不可达因此下一跳为10.1.1.2的路由失效此时前往20.0.0.0/30的路由就只存在一条该条路由将会被选入路由表。前往20.0.0.1的流量将会被转发到10.1.2.2

4.路由汇总

CIDR无类别域间路由采用IP地址加掩码长度来标识网络和子网而不是按照传统的A、B、C等类型对网络地址进行划分

CIDR容许任意长度的掩码长度将IP地址看成连续的地址空间可以使用任意长度的前缀分配多个连续的前缀可以聚合成一个网络该特性可以有效的减少路由表条目数量

image-20220210134024146

路由汇总需求

子网划分、VLSM解决了地址空间浪费的问题但同时也带来了新的问题路由表中的路由条目数量增加

为减少路由条目数量可以使用路由汇总

image-20220210134222378

对于一个大规模的网络来说路由器或其他具备路由功能的设备势必需要维护大量的路由表项为了维护臃肿的路由表这些设备就不得不耗费大量的资源。同时由于路由表的规模变大会导致路由器在查表转发时效率降低。因此在保证网络中的路由器到各网段都具备IP可达性的同时需要减小设备的路由表规模。一个网络如果具备科学的IP编址并且进行合理的规划是可以利用多种手段减小设备路由表规模的。一个非常常见而又有效的办法就是使用路由汇总Route Summarization。路由汇总又被称为路由聚合Route Aggregation是将一组有规律的路由汇聚成一条路由从而达到减小路由表规模以及优化设备资源利用率的目的我们把汇聚之前的这组路由称为精细路由或明细路由把汇聚之后的这条路由称为汇总路由或聚合路由

路由汇总简介

image-20220210134309351

RTA上为了能够前往远端地址需要为每一个远端网段配置一条明细路由。去往10.1.1.0/24、10.1.2.0/24、10.1.3.0/24…拥有相同下一跳。将拥有相同下一跳一组有规律的路由汇总成一条路由这叫做路由汇总路由汇总可以有效减少路由表项大小

汇总计算

image-20220210134417435

基于一系列连续的、有规律的IP网段如果需计算相应的汇总路由且确保得出的汇总路由刚好“囊括”上述IP网段则需确保汇总路由的掩码长度尽可能长

5.汇总引发的环路问题
image-20220210134659528

解决方案

image-20220210134725973

一般来说一条路由无论是静态的或者是动态的都需要关联到一个出接口路由的出接口指的是设备要到达一个目的网络时的出站接口。路由的出接口可以是该设备的物理接口例如百兆、千兆以太网接口也可以是逻辑接口例如VLAN接口VLAN Interface或者隧道Tunnel接口等。在众多类型的出接口中有一种接口非常特殊那就是Null无效接口这种类型的接口只有一个编号也就是0。Null0是一个系统保留的逻辑接口当网络设备在转发某些数据包时如果使用出接口为Null0的路由那么这些报文将被直接丢弃就像被扔进了一个黑洞里因此出接口为Null0的路由又被称为黑洞路由

6.精确汇总

image-20220210134926567

image-20220210134937514

第二节动态路由协议RIP

RIP 路由信息协议

它基于距离矢量算法的协议,使用跳数作为度量来衡量达到目的网络的距离

矢量:从源到目的,源只知道目的是谁

工作原理设备之间互相发送request路由更新请求消息收到request消息的设备将路由放到response路由更新中发送出去当网络稳定后RIP周期性发送response消息周期为30s一次

1.RIP的报文格式
Command指令/命令1request或2response
Version版本 rip v1 和 rip v2
Address family identitier 地址族标识 固定取值ipv4
Ip address  ip地址 在request消息中不显示
Metric固定取值16

RIP v1 以广播的形式发送response路由更新 255.255.255.255

RIP v2 以组播的形式发送response路由更新 224.0.0.9

RIP度量Metric度量等同于开销

RIP使用跳数作为度量值来衡量到达目的的网络

缺省的情况下直连网络的路由条数为0当路由器发送路由更新时会把度量值加1不能超过15跳

2.RIPv1和RIPv2的比较

V1有类别路由协议不支持VLSM和CIDR无类别域间路由

以广播的形式发送报文255.255.255.255

V2无类别路由协议支持VLSM支持路由聚合与CIDR

支持以广播或者组播224.0.0.9)方式发送报文

支持明文认证和MD5密文认证

3.V2的报文格式

Route Tag路由标记 用来做路由策略使用

Subnet Mask子网掩码

Next Hop 下一跳

RIP基本配置

image-20220210140442194

R1

<Huawei>system view
Enter system view, return user view with Ctrl+Z.
[Huawei]
[Huawei]int g0/0/0            //进入接口
[Huawei-GigabitEthernet0/0/0]ip address 10.1.1.1 24   //配置IP地址
[Huawei-GigabitEthernet0/0/0]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 10.1.2.1 24
[Huawei-GigabitEthernet0/0/1]display ip interface brief  //查看接口配置
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 3
The number of interface that is DOWN in Physical is 1
The number of interface that is UP in Protocol is 3
The number of interface that is DOWN in Protocol is 1

Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              10.1.1.1/24          up         up        
GigabitEthernet0/0/1              10.1.2.1/24          up         up        
GigabitEthernet0/0/2              unassigned           down       down      
NULL0                             unassigned           up         up(s) 

R2

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.
[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 10.1.2.2 24
[Huawei-GigabitEthernet0/0/0]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 10.1.3.1 24 
[Huawei-GigabitEthernet0/0/1]display ip interface brief 
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 3
The number of interface that is DOWN in Physical is 1
The number of interface that is UP in Protocol is 3
The number of interface that is DOWN in Protocol is 1

Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              10.1.2.2/24          up         up        
GigabitEthernet0/0/1              10.1.3.1/24          up         up        
GigabitEthernet0/0/2              unassigned           down       down      
NULL0                             unassigned           up         up(s)  

R3

<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 10.1.3.2 24
[Huawei-GigabitEthernet0/0/0]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 10.1.4.1 24
[Huawei-GigabitEthernet0/0/1]display ip interface brief 
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 3
The number of interface that is DOWN in Physical is 1
The number of interface that is UP in Protocol is 3
The number of interface that is DOWN in Protocol is 1

Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              10.1.3.2/24          up         up        
GigabitEthernet0/0/1              10.1.4.1/24          up         up        
GigabitEthernet0/0/2              unassigned           down       down      
NULL0                             unassigned           up         up(s) 
1.结果
image-20220210140659812
2.抓包
image-20220210140731552

第三节开放式最短路径优先OSPF

一:动态路由协议分类

1.距离矢量路由协议

运行距离矢量路由协议的路由器周期性的泛洪自己的路由表,通过路由的交互,每台路由器都从相邻的路由器学习到路由,并加载到自己的路由表中

对于网络中的所有路由器而言,路由器并不清楚网络的拓扑,只是简单的知道要去往某个目的方向在哪里,距离有多远,这即是距离矢量算法的本质

image-20220210141754284
2.链路状态路由协议—LSA泛洪

与巨鹿矢量路由协议不同链路状态路由协议通告的是链路状态而不是路由表运行链路状态路由协议的路由器之间是首先会建立一个协议的邻居关系然后彼此之间开始交互LSALink State Advertisement 链路状态通告)

image-20220210142045413

链路状态通告,可以简单的理解为每台路由器都产生一个描述自己直连接口状态(包括接口的开销、与邻居路由器之间的关系等)的通告

3.链路状态路由协议-LSDB组建

每台路由器都会产生LSAs路由器将接收到的LSAs放入到自己的LSDB链路状态数据库路由器通过LSDB掌握了全网的拓扑

image-20220210143537604
4.链路状态路由协议—SPF计算

每台路由器基于LSDB使用SPFShortest Path First 最短路径优先)算法进行计算,每台路由器都计算出一颗以自己为根的、无环的、拥有最短路径的“树”,有了这颗树,路由器就已经知道了到达网络各个角落的优选路径

image-20220210143939311

SPF是OSPF路由协议的一个核心算法用来在一个复杂的网络中做出路由优选的决策

5.链路状态路由协议—路由表生成

路由器将计算出来的优选路径,加载进自己的路由表

image-20220210144117682
6.链路状态路由协议总结
image-20220210144156764

链路状态路由协议有四个步骤:

第一步是建立相邻路由器之间的邻居关系

第二步是邻居之间交互链路状态信息和同步LSDB

第三步是进行优选路径计算

第四步是根据最短路径树生成路由表项加载到路由表

OSPF协议

1.OSPF简介

OSPF是IETF定义的一种基于链路状态的内部网关路由协议。目前针对IPv4协议使用的是OSPF Version 2RFC2328针对IPv6协议使用OSPF Version 3RFC2740

OSPF有以下优点

基于SPF算法以“累计链路开销”作为选路参考值

采用组播形式收发部分协议报文

支持区域划分

支持对等价路由进行负载分担

支持报文认证

OSPF应用场景

image-20220210144610351

大型企业网络中通常部署OSPF实现各个楼宇的网络之间的路由可达

核心和汇聚层部署在OSPF骨干区域

接入和汇聚层部署在OSPF非骨干区域

注意:

接入层:接入层利用光纤、双绞线、同轴电缆、无线接入技术等传输介质,实现与用户连接,并进行业务和带宽的分配。接入层目的是允许终端用户连接到网络,因此接入层交换机具有低成本和高端口密度特性

汇聚层:汇聚层为接入层提供基于策略的连接,如地址合并,协议过滤,路由服务,认证管理等。通过网段划分实现与网络隔离,可以防止网络故障蔓延和影响到核心层。汇聚层同时也可以提供接入层虚拟网之间的互连,控制和限制接入层对核心层的访问,保证核心层的安全和稳定

核心层:核心层的功能主要是实现骨干网络之间的优化传输,核心层任务的重点通常是冗余能力、可靠性和高速的传输

2.OSPF基础术语

Router ID

Router ID用于在自治系统中唯一标识一台运行OSPF的路由器它是一个32位的无符号整数

Router ID选举规则如下

手动配置OSPF路由器的Router ID建议手动配置

如果没有手动配置Router ID则路由器使用Loopback接口中最大的IP地址作为Router ID

如果没有配置Loopback接口则路由器使用物理接口中最大的IP地址作为Router ID

image-20220210144927724

Router ID一旦选定之后如果要更改的话就需要重启OSPF进程

在实际工程中推荐手工指定OSPF路由设备的Router ID。首先规划出一个私有网段用于OSPF的Router ID选择例如192.168.1.0/24。在启用OSPF进程前在每个OSPF路由器上建立一个Loopback接口使用一个32位掩码的私有地址作为其IP地址这个32位的私有地址即作为该路由设备的Router ID。如果没有特殊要求这个Loopback接口地址可以不发布在OSPF网络中

区域

OSPF Area用于标识一个OSPF的区域

区域是从逻辑上将设备划分为不同的组每个组用区域号Area ID来标识

OSPF的区域ID是一个32bit的非负整数按点分十进制的形式与IPv4地址的格式一样呈现例如Area0.0.0.1。为了简便起见,我们也会采用十进制的形式来表示

image-20220210145147950

度量值

OSPF使用Cost开销作为路由的度量值。每一个激活了OSPF的接口都会维护一个接口Cost值缺省的接口Cost = 100 Mbit/s 接口带宽。其中100 Mbit/s为OSPF指定的缺省参考值该值是可配置的

OSPF以“累计cost”为开销值也就是流量从源网络到目的网络所经过所有路由器的出接口的cost总和

image-20220210145307160

注意:

在实际应用中推荐根据接口带宽大小手动配置Cost值而不是修改OSPF参考带宽

3.OSPF三大表项

邻居表

OSPF有三张重要的表项OSPF邻居表、LSDB和OSPF路由表。对于OSPF的邻居表需要了解

OSPF在传递链路状态信息之前需先建立OSPF邻居关系

OSPF的邻居关系通过交互Hello报文建立

OSPF邻居表显示了OSPF路由器之间的邻居状态使用display ospf peer查看

image-20220210145627652

LSDB

LSDB会保存自己产生的及从邻居收到的LSA信息本例中R1的LSDB包含了三条LSA

Type标识LSA的类型AdvRouter标识发送LSA的路由器

使用命令行display ospf lsdb查看LSDB表

image-20220210145711139

OSPF路由表

OSPF路由表和路由器路由表是两张不同的表。本例中OSPF路由表有三条路由

OSPF路由表包含Destination、Cost和NextHop等指导转发的信息

使用命令display ospf routing查看OSPF路由表

image-20220210145808370

注意:

路由器路由表通常称为全局路由表并非所有OSPF路由都可以放到路由器路由表

3.OSPF报文格式和类型

OSPF一共定义了5种类型的报文不同类型的OSPF报文有相同的头部格式

OSPF报文直接采用IP封装在报文的IP头部中协议号为89

image-20220210145943467

Version 对于当前所使用的OSPFv2该字段的值为2

Router ID表示生成此报文的路由器的Router ID

Area ID表示此报文需要被通告到的区域

Type类型字段

Packet length表示整个OSPF报文的长度单位是字节

Checksum校验字段其校验的范围是整个OSPF报文包括OSPF报文头部

Auth Type为0时表示不认证为1时表示简单的明文密码认证为2时表示加密MD5认证

Authentication认证所需的信息。该字段的内容随AuType的值不同而不同

4.OSPF工作过程
image-20220210150146745

建立邻居关系

OSPF使用Hello报文发现和建立邻居关系

在以太网链路上缺省时OSPF采用组播的形式发送Hello报文目的地址224.0.0.5

OSPF Hello报文中包含了路由器的Router ID、邻居列表等信息

image-20220210150229349

注意:

R1和R2路由器相互发送Hello报文第一个Hello报文包含的邻居列表为空

R2收到R1发送的Hello报文后如果各项参数匹配再次发送Hello报文时将R1加入自己的邻居列表

在以太网链路上通常以组播形式发送Hello报文

224.0.0.5的组播地址为OSPF设备的预留IP组播地址

224.0.0.6的组播地址为OSPF DR/BDR的预留IP组播地址

对于不支持组播的链路OSPF支持采用单播的方式发送Hello报文

Hello报文

Hello报文的主要作用

邻居发现:自动发现邻居路由器

邻居建立完成Hello报文中的参数协商建立邻居关系

邻居保持:通过周期性发送和接收,检测邻居运行状态

image-20220210150519487

Network Mask发送Hello报文的接口的网络掩码

HelloInterval发送Hello报文的时间间隔。通常为10s

RouterDeadInterval失效时间。如果在此时间内未收到邻居发来的Hello报文则认为邻居失效。通常为40s

Neighbor邻居以Router ID标识

Options

E是否支持外部路由

MC是否支持转发组播数据包

N/P是否为NSSA区域

Router PriorityDR优先级。默认为1。如果设置为0则路由器不能参与DR或BDR的选举

Designated RouterDR的接口地址

Backup Designated RouterBDR的接口地址

邻接关系建立

image-20220210150724080

DD报文部分字段解释

I当发送连续多个DD报文时如果这是第一个DD报文则置为1否则置为0

M (More)当发送连续多个DD报文时如果是最后一个DD报文则置为0。否则置为1表示后面还有其他的DD报文

MS (Master/Slave)当两台OSPF路由器交换DD报文时首先需要确定双方的主从关系Router ID大的一方会成为Master。当值为1时表示发送方为Master

DD sequence numberDD报文序列号。主从双方利用序列号来保证DD报文传输的可靠性和完整性

注意:

R1和R2的Router ID分别为10.0.1.1和10.0.2.2并且二者已建立了邻居关系。当R1的邻居状态变为ExStart后R1会发送第一个DD报文。此报文中M-bit设置为1表示后续还有DD报文要发送MS-bit设置为1表示R1宣告自己为Master。DD序列号被随机设置为XI-bit设置为1表示这是第一个DD报文

同样当R2的邻居状态变为ExStart后R2也会发送第一个DD报文。此报文中DD序列号被随机设置为YI-bit=1M-bit=1MS-bit=1含义同上。由于R2的Router ID较大所以R2将成为真正的Master。收到此报文后R1会产生一个Negotiation-Done事件并将邻居状态从ExStart变为Exchange

当R1的邻居状态变为Exchange后R1会发送一个新的DD报文此报文中包含了LSDB的摘要信息序列号设置为R2在步骤2中使用的序列号YI-bit=0表示这不是第一个DD报文M-bit=0表示这是最后一个包含LSDB摘要信息的DD报文MS-bit=0表示R1宣告自己为Slave。收到此报文后R2将邻居状态从ExStart变为Exchange

当R2的邻居状态变为Exchange后R2会发送一个新的DD报文此报文包含了LSDB的摘要信息。DD序列号设置为Y+1, MS-bit=1表示R2宣告自己为Master

虽然R1不需要发送新的包含LSDB摘要信息的DD报文但是作为SlaveR1需要对Master发送的每一个DD报文进行确认。所以R1向R2发送一个新的DD报文序列号为Y+1该报文内容为空。发送完此报文后RTA产生一个Exchange-Done事件将邻居状态变为Loading。R2收到此报文后会将邻居状态变为Full假设R2的LSDB是最新最全的不需要向R1请求更新

DD报文

DD报文包含LSA头部信息包括LS Type、LS ID、Advertising Router、LS Sequence Number、LS Checksum

image-20220210150932072

Interface MTU指示在不分片的情况下此接口最大可发出的IP报文长度。在两个邻居发送DD报文中包含MTU参数如果收到的DD报文中MTU和本端的MTU不相等则丢弃该DD报文。缺省情况下华为设备未开启MTU检查

Optinons字段同Hello报文

image-20220210150956105

R1开始向R2发送LSR报文请求那些在Exchange状态下通过DD报文发现的、并且在本地LSDB中没有的链路状态信息

R2向R1发送LSU报文LSU报文中包含了那些被请求的链路状态的详细信息。R1在完成LSU报文的接收之后且没有其他待请求的LSA后会将邻居状态从Loading变为Full

R1向R2发送LSAck报文作为对LSU报文的确认

DR与BDR的作用

MA网络中的问题

n×(n1)/2个邻接关系管理复杂

重复的LSA泛洪造成资源浪费

image-20220210151107489

解决方案:

在MA网络中选举DR

DRDesignated Router指定路由器负责在MA网络建立和维护邻接关系并负责LSA的同步

DR与其他所有路由器形成邻接关系并交换链路状态信息其他路由器之间不直接交换链路状态信息

为了规避单点故障风险通过选举BDR备份指定路由器 在DR失效时快速接管DR的工作

image-20220210151201562

MA Multiple Access多路访问 分为BMA Broadcast Multi-Access广播多路访问和NBMANon-Broadcast Multiple Access非广播多路访问。以太网链路组成的网络是典型的BMA网络。帧中继链路通过逻辑上的划分组成典型的NBMA网络

DRother既不是DR也不是BDR的路由器就是DRother路由器

DR与BDR的选举规则

DR/BDR的选举是非抢占式的

DR/BDR的选举是基于接口的

接口的DR优先级越大越优先

接口的DR优先级相等时Router ID越大越优先

image-20220210151332106

广播链路或者NBMA链路上DR和BDR的选举过程如下

接口UP后发送Hello报文同时进入到Waiting状态。在Waiting状态下会有一个WaitingTimer该计时器的长度与DeadTimer是一样的。默认值为40秒用户不可自行调整

在WaitingTimer触发前发送的Hello报文是没有DR和BDR字段的。在Waiting阶段如果收到Hello报文中有DR和BDR那么直接承认网络中的DR和BDR而不会触发选举。直接离开Waiting状态开始邻居同步

假设网络中已经存在一个DR和一个BDR这时新加入网络中的路由器不论它的Router ID或者DR优先级有多大都会承认现网中已有的DR和BDR

当DR因为故障Down掉之后BDR会继承DR的位置剩下的优先级大于0的路由器会竞争成为新的BDR

只有当不同Router ID或者配置不同DR优先级的路由器同时起来在同一时刻进行DR选举才会应用DR选举规则产生DR

不同网络类型中DR与BDR的选举操作

P2MPpoint-to-multipoint点到多点

image-20220210151454398

OSPF状态机

image-20220210152247640
5.OSPF基本配置

image-20220210151614195

image-20220210151623681

6.OSPF配置举例
image-20220210152338230
以R2为例
[R2]ospf 1 router-id 10.0.2.2 
[R2-ospf-1]area 0.0.0.0
[R2-ospf-1-area-0.0.0.0] network 10.0.12.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0] network 10.0.24.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0] network 10.0.35.2 0.0.0.0

注意:

ospf发布network 192.168.1.1 0.0.0.0 和network 192.168.1.0 0.0.0.255区别

开放不同

network 192.168.1.1 0.0.0.0network 192.168.1.1 0.0.0.0指定向外部IP地址开放了192.168.1.1这个ip地址的路由。

network 192.168.1.0 0.0.0.255network 192.168.1.0 0.0.0.255向外部IP地址开放了192.168.1.0这个ip地址里24位网段里的所有子地址的路由。

通信不同

network 192.168.1.1 0.0.0.0其他ip地址的路由只能通过network 192.168.1.1 0.0.0.0和同一192.168.1这个ip地址进行通信。

network 192.168.1.0 0.0.0.255其他ip地址的路由可以通过network 192.168.1.0 0.0.0.255能和同一192.168.1以下网段里的所有子地址之间进行通信。

OSPF配置验证

display ospf interface all可查看当前设备所有激活OSPF的接口信息

时间参数例如Hello报文发送间隔死亡时间。

接口的链路类型、接口的MTU。

对于以太网链路可查看DR的接口地址DR的优先级。

[R2]display ospf interface all  
	 OSPF Process 1 with Router ID 10.0.2.2
 Area: 0.0.0.0
 Interface: 10.0.12.2 (GigabitEthernet0/0/0)
 Cost: 1       State: DR      Type: Broadcast    MTU: 1500  Priority: 1
 Designated Router: 10.0.12.2
 Backup Designated Router: 10.0.12.1
 Timers: HELLO 10 , Dead 40 , Poll  120 , Retransmit 5 , Transmit Delay 1 

 Interface: 10.0.235.2 (GigabitEthernet0/0/1)
 Cost: 1      State: DROther Type: Broadcast  MTU: 1500  Priority: 1
 Designated Router: 10.0.235.5
 Backup Designated Router: 10.0.235.3
 Timers: HELLO 10 , Dead 40 , Poll  120 , Retransmit 5 , Transmit Delay 1 

 Interface: 10.0.24.2 (Serial1/0/1) --> 10.0.24.4
 Cost: 48      State: P-2-P     Type: P2P       MTU: 1500  
 Timers: HELLO 10 , Dead 40 , Poll  120 , Retransmit 5 , Transmit Delay 1 

display ospf peer可查看当前设备的邻居状态

邻居路由器的Router ID

邻居状态例如FULLTWO-WAYDOWN等

image-20220210152639604
<R2>display ospf peer
	 OSPF Process 1 with Router ID 10.0.2.2
 Area 0.0.0.0 interface 10.0.12.2(GigabitEthernet0/0/0)'s neighbors
 Router ID: 10.0.1.1          Address: 10.0.12.1       
   State: Full  Mode:Nbr is  Slave  Priority: 1
   DR: 10.0.12.2  BDR: 10.0.12.1  MTU: 0    
   Dead timer due in 28  sec 
   Retrans timer interval: 5 
   Neighbor is up for 00:01:31     
   Authentication Sequence: [ 0 ] 

 Area 0.0.0.0 interface 10.0.235.2(GigabitEthernet0/0/1)'s neighbors
 Router ID: 10.0.3.3          Address: 10.0.235.3      
   State: Full  Mode:Nbr is  Master  Priority: 1
   DR: 10.0.235.5  BDR: 10.0.235.3  MTU: 0    
   Dead timer due in 30  sec 
   Retrans timer interval: 5 
   Neighbor is up for 00:01:31     
   Authentication Sequence: [ 0 ] 

在P2P网络中不需要选举DR/BDR。因此在本例中查看R2的OSPF邻居表时会发现其Serial1/0/1接口的数据结构中DR/BDR字段为None

image-20220210152717792
 <R2>display ospf peer
	 OSPF Process 1 with Router ID 10.0.2.2
Area 0.0.0.0 interface 10.0.235.2(GigabitEthernet0/0/1)'s neighbors
Router ID: 10.0.5.5          Address: 10.0.235.5      
   State: Full  Mode:Nbr is  Master  Priority: 1
   DR: 10.0.235.5  BDR: 10.0.235.3  MTU: 0    
   Dead timer due in 40  sec 
   Retrans timer interval: 0 
   Neighbor is up for 00:01:27     
   Authentication Sequence: [ 0 ] 

 Area 0.0.0.0 interface 10.0.24.2(Serial1/0/1)'s neighbors
 Router ID: 10.0.4.4          Address: 10.0.24.4   
   State: Full  Mode:Nbr is  Master  Priority: 1
   DR: None   BDR: None   MTU: 0    
   Dead timer due in 35  sec 
   Retrans timer interval: 5 
   Neighbor is up for 00:01:56     
   Authentication Sequence: [ 0 ]

display ospf lsdb可查看当前设备的LSDB

LSDB由多种类型的LSA构成所有的LSA都有相同的报文头部格式其中关键字段如Type、LinkState ID、AdvRouter等。下节课程将重点介绍LSA的详细信息

<R2>display ospf lsdb 

	 OSPF Process 1 with Router ID 10.0.2.2
		 Link State Database 

		         Area: 0.0.0.0
Type	LinkState ID	AdvRouter	Age	Len	Sequence	Metric
Router	10.0.4.4	10.0.4.4	662	72	80000006	48
Router	10.0.2.2	10.0.2.2	625	72	8000000C	1
Router	10.0.1.1	10.0.1.1	638	60	80000007	1
Router	10.0.5.5	10.0.5.5	634	60	8000000B	1
Router	10.0.3.3	10.0.3.3	639	60	80000009	1
Network	10.0.235.5	10.0.5.5	634	36	80000005	0
Network	10.0.12.2	10.0.2.2	629	32	80000003	0

display ospf routing可查看当前设备的OSPF路由表

从R2的OSPF路由表可看出它已经通过OSPF获知到达全网的路由

<R2>display ospf routing 

	 OSPF Process 1 with Router ID 10.0.2.2
		  Routing Tables 
Destination	Cost	Type	NextHop	AdvRouter	Area
10.0.12.0/24	1	Transit	10.0.12.2	10.0.2.2	0.0.0.0
10.0.24.0/24	48	Stub	10.0.24.2	10.0.2.2	0.0.0.0
10.0.235.0/24	1	Transit	10.0.235.2	10.0.2.2	0.0.0.0
10.0.13.0/24	49	Stub	10.0.12.1	10.0.1.1	0.0.0.0
10.0.13.0/24	49	Stub	10.0.235.3	10.0.3.3	0.0.0.0
10.0.45.0/24	49	Stub	10.0.235.5	10.0.5.5	0.0.0.0

第四节OSPF路由计算

一:区域内路由计算

1.LSA概述

LSA的基本概念

LSA是OSPF进行路由计算的关键依据

OSPF的LSU报文可以携带多种不同类型的LSA

各种类型的LSA拥有相同的报文头部

链路状态类型、链路状态ID、通告路由器三元组唯一地标识了一个LSA

链路状态老化时间 、链路状态序列号 、校验和用于判断LSA的新旧

image-20220210153537721

LS Age链路状态老化时间此字段表示LSA已经生存的时间单位是秒

Options可选项每一个bit都对应了OSPF所支持的某种特性

LS Type链路状态类型指示本LSA的类型

Link State ID链路状态ID不同的LSA对该字段的定义不同

Advertising Router通告路由器产生该LSA的路由器的Router ID

LS Sequence Number链路状态序列号当LSA每次有新的实例产生时序列号就会增加

LS Checksum校验和用于保证数据的完整性和准确性

Length是一个包含LSA头部在内的LSA的总长度值

注意:

LS Age当LSA被始发时该字段为0随着LSA在网络中被泛洪该时间逐渐累加当到达MaxAge缺省值为3600sLSA不再用于路由计算

LS Sequence Number该字段用于判断LSA的新旧或是否存在重复的实例。序列号范围是0x80000001-0x7FFFFFFF路由器始发一个LSA序列号为0x80000001之后每次更新序列号加1当LSA达到最大序列号时重新产生该LSA并且把序列号设置为0x80000001

2.常见LSA的类型
类型 名称 描述
1 路由器LSARouter LSA 每个设备都会产生描述了设备的链路状态和开销该LSA只能在接口所属的区域内泛洪
2 网络LSANetwork LSA 由DR产生描述该DR所接入的MA网络中所有与之形成邻接关系的路由器以及DR自己。该LSA只能在接口所属区域内泛洪
3 网络汇总LSANetwork Summary LSA 由ABR产生描述区域内某个网段的路由该类LSA主要用于区域间路由的传递
4 ASBR汇总LSAASBR Summary LSA 由ABR产生描述到ASBR的路由通告给除ASBR所在区域的其他相关区域。
5 AS外部LSAAS External LSA 由ASBR产生用于描述到达OSPF域外的路由
7 非完全末梢区域LSANSSA LSA 由ASBR产生用于描述到达OSPF域外的路由。NSSA LSA与AS外部LSA功能类似但是泛洪范围不同。NSSA LSA只能在始发的NSSA内泛洪并且不能直接进入Area0。NSSA的ABR会将7类LSA转换成5类LSA注入到Area0
3.Router LSA

Router LSA1类LSA每台OSPF路由器都会产生。它描述了该路由器直连接口的信息

Router LSA只能在所属的区域内泛洪

image-20220210154017685

V (Virtual Link ) 如果产生此LSA的路由器是虚连接的端点则置为1

E (External ) 如果产生此LSA的路由器是ASBR则置为1

B (Border )如果产生此LSA的路由器是ABR则置为1

links LSA中的Link链路数量。Router LSA使用Link来承载路由器直连接口的信息

详解

Router LSA使用Link来承载路由器直连接口的信息

每条Link均包含“链路类型”、“链路ID”、“链路数据”以及“度量值”这几个关键信息

路由器可能会采用一个或者多个Link来描述某个接口

image-20220210154316040

Router LSA描述P2P网络

image-20220210154346573
<R1>display ospf lsdb router self-originate
    Type      : Router              
     Ls id     : 10.0.1.1             
     Adv rtr   : 10.0.1.1	     
   * Link ID: 10.0.3.3
     Data   : 10.0.13.1
     Link Type: P-2-P
     Metric : 48
   * Link ID: 10.0.13.0           
     Data   : 255.255.255.0   
     Link Type: StubNet
     Metric : 48 
     Priority : Low
image-20220210154418095

Router LSA描述TransNet

image-20220210154600920
4.Network LSA

Network LSA2类LSA 由DR产生描述本网段的链路状态在所属的区域内传播

Network LSA 记录了该网段内所有与DR建立了邻接关系的OSPF路由器同时携带了该网段的网络掩码

image-20220210154646334

Link State ID DR的接口IP地址

Network MaskMA网络的子网掩码

Attached Router连接到该MA网络的路由器的Router-ID与该DR建立了邻接关系的邻居的Router-ID以及DR自己的Router-ID如果有多台路由器接入该MA网络则使用多个字段描述

Network LSA描述MA网络

image-20220210154737936

二:区域间路由计算

1.大型网络中单区域OSPF存在的问题
image-20220210154929589

一系列连续的OSPF路由器构成的网络称为OSPF域Domain

OSPF要求网络内的路由器同步LSDB实现对于网络的一致认知

当网络规模越来越大时LSDB将变得非常臃肿设备基于该LSDB进行路由计算其负担也极大地增加了此外路由器的路由表规模也变大了这些无疑都将加大路由器的性能损耗

当网络拓扑发生变更时,这些变更需要被扩散到整个网络,并可能引发整网的路由重计算

单区域的设计使得OSPF无法部署路由汇总

2.区域划分
image-20220210155254340 image-20220210155308835

Router LSA和Network LSA只在区域内泛洪因此通过区域划分在一定程度上降低网络设备的内存及CPU的消耗

划分区域后,路由器可以分为两种角色:

区域内部路由器Internal Router该类设备的所有接口都属于同一个OSPF区域。如R1、R4、R5

区域边界路由器Area Border Router该类设备接口分别连接两个及两个以上的不同区域。如R2、R3

区域间路由信息传递

OSPF区域间路由信息传递是通过ABR产生的Network Summary LSA3类LSA实现的

以192.168.1.0/24路由信息为例

R2依据Area 1内所泛洪的Router LSA及Network LSA计算得出192.168.1.0/24路由区域内路由并将该路由通过Network Summary LSA通告到Area 0。R3根据该LSA可计算出到达192.168.1.0/24的区域间路由

R3重新生成一份Network Summary LSA通告到Area 2中至此所有OSPF区域都能学习到去往192.168.1.0/24的路由

image-20220210155617909

Network Summary LSA

Network Summary LSA3类LSA由ABR产生用于向一个区域通告到达另一个区域的路由

image-20220210155729987

LS Type取值3代表Network Summary LSA

Link State ID路由的目的网络地址

Advertising Router生成LSA的Router ID

Network Mask路由的网络掩码

metric到目的地址的路由开销

Network Summary LSA示例

image-20220210155829248

此LSA是R2产生的用于向Area0通告到达192.168.1.0/24的区域间路由

<R2>display ospf lsdb summary 192.168.1.0
	OSPF Process 1 with Router ID 10.0.2.2
	   Area: 0.0.0.0
	   Link State Database 

  Type		: Sum-Net	
  Ls id		: 192.168.1.0	
  Adv rtr		: 10.0.2.2		
  Ls age		: 86 
  Len		: 28 
  Options		: E  
  seq#		: 80000001 
  chksum		: 0x7c6d
  Net mask	: 255.255.255.0	
  Tos0		metric: 1		
  Priority		: Low

R1和R3的路由计算

image-20220210160004386

通过区域内SPF的计算R1到达R2的Cost值为1R3到达R2的Cost值为2

R1和R3根据收到的Network Summary LSA进行路由计算

R1将到达R2和Cost值和Network Summary LSA所携带的Cost值相加因此R1到达192.168.1.0/24的Cost值为2

R3将到达R2和Cost值和Network Summary LSA所携带的Cost值相加因此R3到达192.168.1.0/24的Cost值为3

R5的路由计算

image-20220210160047254

R3作为ABR它通过Area 0内泛洪的Network Summary LSA计算出到达192.168.1.0/24的路由然后重新向Area 2注入到达该网段的Network Summary LSA其中包含自己到达该网段的Cost值为3

R5在SPF中计算得知到达R3的Cost为1因此R5到达192.168.1.0/24的Cost为4

区域间路由计算结果验证

image-20220210160121031

区域间路由的防环机制

image-20220210193759181

OSPF要求所有的非骨干区域必须与Area0直接相连区域间路由需经由Area0中转

区域间的路由传递不能发生在两个非骨干区域之间这使得OSPF的区域架构在逻辑上形成了一个类似星型的拓扑

注意:

OSPF要求ABR设备至少有一个接口属于骨干区域

image-20220210202627608

ABR不会将描述到达某个区域内网段路由的3类LSA再注入回该区域

虚连接的作用及配置

OSPF要求骨干区域必须是连续的但是并不要求物理上连续可以使用虚连接使骨干区域在逻辑上连续

虚连接可以在任意两个ABR上建立但是要求这两个ABR都有端口连接到一个相同的非骨干区域

image-20220210202847887
[R2-ospf-1]ospf 1
[R2-ospf-1]area 1 
[R2-ospf-1-area-0.0.0.1]vlink-peer 10.0.3.3

[R3-ospf-1]ospf 1
[R3-ospf-1]area 1 
[R3-ospf-1-area-0.0.0.1]vlink-peer 10.0.2.2

三:外部路由计算

1.OSPF外部路由引入背景

网络中存在部分链路未开启OSPF协议如

路由器连接外部网络使用静态路由或者BGP协议

服务器直连的链路未开启OSPF协议

image-20220210203338255
2.外部路由引入的基本概念

ASBRAS Boundary Router自治系统边界路由器。只要一台OSPF设备引入了外部路由它就成为了ASBR

ASBR将外部路由信息以AS-external LSA5类LSA的形式在OSPF网络内泛洪

image-20220210203253520
在OSPF进程下通过如下命令引入外部路由。设备支持引入BGP、ISIS、OSPF、直连以及静态路由。
import-route { limit limit-number | { bgp [ permit-ibgp ] | direct | unr | rip [ process-id-rip ] | static | isis [ process-id-isis ] | ospf [ process-id-ospf ] } [ cost cost | type type | tag tag | route-policy route-policy-name ] * }

AS-external LSA详解

AS-external LSA5类LSA由ASBR产生描述到达AS外部的路由该LSA会被通告到所有的区域除了Stub区域和NSSA区域

image-20220210203353681

LS Type取值5代表AS-external-LSA

Link State ID外部路由的目的网络地址

Advertising Router生成该LSA的Router ID

Network Mask网络掩码

E :该外部路由所使用的度量值类型

0度量值类型为Metric-Type-1

1度量值类型为Metric-Type-2

metric到目的网络的路由开销

Forwarding AddressFA到所通告的目的地址的报文将被转发到这个地址

AS-external LSA示例

image-20220210203523142

R1与服务器直连的网段为192.168.1.0/24在R1上将直连路由引入OSPF此时R1会向OSPF注入用于描述192.168.1.0/24路由的AS-external-LSA该LSA将在整个OSPF域内泛洪

<R1>display ospf lsdb ase self-originate 
	 OSPF Process 1 with Router ID 10.0.1.1
		 Link State Database
  Type		: External		
  Ls id		: 192.168.1.0	
  Adv rtr		: 10.0.1.1		 
  Ls age		: 1340 
  Len		: 36 
  Options		:  E  
  seq#		: 80000004 
  chksum		: 0xb5cc
  Net mask	: 255.255.255.0     
  TOS 0		Metric: 1               
  E type		: 2
  Forwarding Address	: 0.0.0.0 
  Tag 		: 1 
  Priority		: Low

ASBR-Summary LSA

ASBR-Summary LSA4类LSA由ABR产生描述到ASBR的路由通告给除ASBR所在区域的其他相关区

image-20220210203711581 image-20220210203730911

LS Type取值4代表ASBR-Summary LSA

Link State ID ASBR的Router ID

Advertising Router:生成LSA的Router ID

Network Mask仅保留无意义

metric到目的地址的路由开销

ASBR-Summary LSA示例

image-20220210203833449

以R3向Area 2通告的ASBR-Summary LSA为例

<R3>display ospf lsdb asbr self-originate 
Area: 0.0.0.2
                 Link State Database 
  Type		: Sum-Asbr  	 
  Ls id		: 10.0.1.1    //ASBR的Router ID

  Adv rtr		: 10.0.3.3    
  Ls age		: 15 
  Len		: 28 
  Options		:  E  
  seq#		: 80000005 
  chksum		: 0xf456
  Tos 0		metric: 1   //R3到达ASBR的开销
3.区分OSPF外部路由的2种度量值类型

Metric-Type-1

当外部路由的开销与自治系统内部的路由开销相当并且和OSPF自身路由的开销具有可比性时可以认为这类路由的可信程度较高将其配置成Metric-Type-1

Metric-Type-1外部路由的开销为AS内部开销路由器到ASBR的开销与AS外部开销之和

Metric-Type-2

当ASBR到AS之外的开销远远大于在AS之内到达ASBR的开销时可以认为这类路由的可信程度较低将其配置成Metric-Type-2

Metric-Type-2外部路由的开销等于AS外部开销

Type 描述 开销计算
Metric-Type-1 可信程度高 AS内部开销+AS外部开销
Metric-Type-2 (缺省) 可信程度低AS外部开销远大于AS内部开销 AS外部开销
image-20220210204127873
4.OSPF多区域项目实战
image-20220210213643343

第五节OSPF特殊区域及其他特性

Stub区域和Totally Stub区域

1.网络规模变大引发的问题

OSPF路由器计算区域内、区域间、外部路由都需要依靠网络中的LSA当网络规模变大时设备的LSDB规模也变大设备的路由计算变得更加吃力造成设备性能浪费

image-20220210215448897 image-20220210220222493
2.传输区域和末端区域
image-20220210220303280

传输区域Transit Area除了承载本区域发起的流量和访问本区域的流量外还承载了源IP和目的IP都不属于本区域的流量即“穿越型流量”如本例中的Area 0

末端区域Stub Area只承载本区域发起的流量和访问本区域的流量如本例中的Area 1和Area 2

3.Stub区域

Stub区域的ABR不向Stub区域内传播它接收到的AS外部路由Stub区域中路由器的LSDB、路由表规模都会大大减小

为保证Stub区域能够到达AS外部Stub区域的ABR将生成一条缺省路由使用3类LSA描述

配置Stub区域时需要注意下列几点

骨干区域不能被配置为Stub区域

Stub区域中的所有路由器都必须将该区域配置为Stub

Stub区域内不能引入也不接收AS外部路由

虚连接不能穿越Stub区域

image-20220210220451525

Stub区域的路由表及3类LSA

[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 2
[R3-ospf-1-area-0.0.0.2]stub 
R5相同

R1作为ASBR引入多个外部网段如果Area 2是普通区域则R3将向该区域注入5类和4类LSA

当把Area 2配置为Stub区域后

R3不会将5类LSA和4类LSA注入Area 2

R3向Area 2发送用于描述缺省路由的3类LSAArea 2内的路由器虽然不知道到达AS外部的具体路由但是可以通过该默认路由到达AS外部

<R5>display  ospf lsdb 
	 OSPF Process 1 with Router ID 10.0.5.5
		 Link State Database 
		         Area: 0.0.0.2
 Type      LinkState ID    AdvRouter             Metric
 Sum-Net   0.0.0.0         10.0.3.3                   1
 Sum-Net   10.0.13.0       10.0.3.3                   1
 Sum-Net   10.0.24.0       10.0.3.3                   3
 Sum-Net   10.0.12.0       10.0.3.3                   2
不存在4、5类LSA但描述区域间路由的3类LSA仍然存在
<R5>display ospf routing 

	 OSPF Process 1 with Router ID 10.0.5.5
		  Routing Tables 
 Routing for Network 
 Destination        Cost  Type          NextHop      AdvRouter    Area
 10.0.35.0/24       1     Transit        10.0.35.5       10.0.5.5         0.0.0.2
 0.0.0.0/0            2     Inter-area  10.0.35.3      10.0.3.3         0.0.0.2
 10.0.12.0/24       3     Inter-area   10.0.35.3       10.0.3.3         0.0.0.2
 10.0.13.0/24       2     Inter-area   10.0.35.3       10.0.3.3         0.0.0.2
 10.0.24.0/24       4     Inter-area   10.0.35.3       10.0.3.3         0.0.0.2
<h5>4.Totally Stub区域</h5>

Totally Stub区域既不允许AS外部路由在本区域内传播也不允许区域间路由在本区域内传播

Totally Stub区域内的路由器通过本区域ABR下发的缺省路由使用3类LSA描述到达其他区域以及AS外部

配置Totally Stub区域时需要注意

与Stub区域配置的区别在于在ABR上需要追加no-summary关键字

image-20220210221609140

Totally Stub区域访问其他区域及AS外部是通过默认路由实现的

AS外部、其他OSPF区域的拓扑及路由变化不会导致Totally Stub区域内的路由器进行路由重计算减少了设备性能浪费

image-20220210221723631
[R3-ospf-1-area-0.0.0.2]stub no-summary 
[R5-ospf-1-area-0.0.0.2]stub
<R5>display  ospf lsdb 
	 OSPF Process 1 with Router ID 10.0.5.5
		 Link State Database 
		         Area: 0.0.0.2
 Type           LinkState ID    AdvRouter               Metric
 Sum-Net     0.0.0.0           10.0.3.3                     1

当Area 2配置为Totally Stub区域后

R3不会将5类LSA和4类LSA注入Area 2

R3不会将3类LSA注入Area 2但是会向该区域注入一条使用3类LSA描述的缺省路由

R5通过缺省路由到达AS外部网络和其他OSPF区域

注意:

Stub区域、Totally Stub区域解决了末端区域维护过大LSDB带来的问题但对于某些特定场景它们并不是最佳解决方案

NSSA区域和Totally NSSA区域

1.Stub区域与Totally Stub区域存在的问题

OSPF规定Stub区域是不能引入外部路由的这样可以避免大量外部路由引入造成设备资源消耗

对于既需要引入外部路由又要避免外部路由带来的资源消耗的场景Stub和Totally Stub区域就不能满足需求了

image-20220210222703709
2.NSSA区域与Totally NSSA区域

NSSA区域能够引入外部路由同时又不会学习来自OSPF网络其它区域引入的外部路由

Totally NSSA与NSSA区域的配置区别在于前者在ABR上需要追加no-summary关键字

image-20220210222816965

NSSA区域能够引入外部路由同时又不会学习来自OSPF网络其它区域的外部路由

7类LSA是为了支持NSSA区域而新增的一种LSA类型用于描述NSSA区域引入的外部路由信息。NSSA区域的ASBR将外部路由引入该区域后使用7类LSA描述这些路由

7类LSA的扩散范围仅限于始发NSSA区域7类LSA不会被注入到普通区域

NSSA区域的ABR会将7类LSA转化为5类LSA并将该LSA注入到骨干区域从而在整个OSPF域内泛洪

NSSA区域的ABR会阻挡其他区域引入的外部路由引入本区域即NSSA区域内不会存在4类及5类LSA为了让NSSA区域内的路由器能够通过骨干区域到达AS外部NSSA区域的ABR会自动向该区域注入一条缺省路由该路由采用7类LSA描述

3.NSSA区域与Totally NSSA区域的LSDB

image-20220210223227300

image-20220210223242584

[R3-ospf-1-area-0.0.0.2]nssa 
[R5-ospf-1-area-0.0.0.2]nssa 
[R5-ospf-1]import-route  direct

场景1将Area 2配置为NSSA区域当R5将外部路由192.168.3.0/24引入NSSA区域时R5作为ASBR生成7类LSA在Area 2内泛洪R3生成使用7类LSA描述的缺省路由注入Area 2Area 2内的路由器依然会收到R3注入的3类LSA并计算出到达其他区域的区域间路由

场景2将Area2配置为Totally NSSA区域Totally NSSA区域和NSSA区域类似只是Totally NSSA区域的ABR会阻挡3类LSA进入该区域因此在场景2中R3不会将区域间路由注入Area 2故而在R5的LSDB中仅会看到一条描述缺省路由的3类LSA

4.OSPF LSA回顾
类型 名称 描述
1 路由器LSARouter LSA 每个设备都会产生描述了设备的链路状态和开销该LSA只能在接口所属的区域内泛洪
2 网络LSANetwork LSA 由DR产生描述该DR所接入的MA网络中所有与之形成邻接关系的路由器以及DR自己。该LSA只能在接口所属区域内泛洪
3 网络汇总LSANetwork Summary LSA 由ABR产生描述区域内某个网段的路由该类LSA主要用于区域间路由的传递
4 ASBR汇总LSAASBR Summary LSA 由ABR产生描述到ASBR的路由通告给除ASBR所在区域的其他相关区域。
5 AS外部LSAAS External LSA 由ASBR产生用于描述到达OSPF域外的路由
7 非完全末梢区域LSANSSA LSA 由ASBR产生用于描述到达OSPF域外的路由。NSSA LSA与AS外部LSA功能类似但是泛洪范围不同。NSSA LSA只能在始发的NSSA内泛洪并且不能直接进入Area0。NSSA的ABR会将7类LSA转换成5类LSA注入到Area0

特殊区域的使用减小了设备的LSDB规模从而减少设备性能浪费且一定程度上也缩小了网络故障的影响范围

5.路由器对LSA的处理原则

如果收到的LSA本地没有则更新LSDB并泛洪该LSA

如果本地LSDB已存在该LSA但是收到的更新则更新LSDB并泛洪该LSA

如果收到的LSA和LSDB中相同则忽略并终止泛洪

如果收到的LSA损坏例如Checksum错误则不接收该LSA

image-20220210224851053

三:区域间路由汇总和外部路由汇总

1.在ABR执行路由汇总

路由汇总又被称为路由聚合,即是将一组前缀相同的路由汇聚成一条路由,从而达到减小路由表规模以及优化设备资源利用率的目的,我们把汇聚之前的这组路由称为精细路由或明细路由,把汇聚之后的这条路由称为汇总路由或聚合路由

OSPF路由汇总的类型

在ABR区域边界路由器)执行路由汇总:对区域间的路由执行路由汇总

在ASBR自治系统边界路由器)执行路由汇总:对引入的外部路由执行路由汇总

image-20220210225017868

注意:

区域边界路由器ABRArea Border Routers

该类路由器可以同时属于两个以上的区域但其中一个必须是骨干区域area 0

ABR用来连接骨干区域和非骨干区域可以是实际连接也可以是虚连接

骨干路由器Backbong Routers

该类路由器属于骨干区域area 0。只维护骨干区域的LSDB

OSPF中所有非骨干区域之间的信息都要通过骨干区域进行中转

因此所有的ABR和位于Area0的内部路由器都是骨干路由器

自治系统边界路由器ASBRAS Boundary Routers

与其他AS交换路由信息的路由器称为ASBR。 使用了多种路由协议

只要一台OSPF路由器引入了外部路由的信息他就称为了ASBR

它有可能是ABR区域路由器不一定位于AS边界

汇总前:

<R2>display  ospf lsdb  
                     area 0
Type      LinkState ID    AdvRouter
Sum-Net   172.16.0.0      10.0.2.2
Sum-Net   172.16.1.0      10.0.2.2
Sum-Net   172.16.2.0      10.0.2.2
Sum-Net   172.16.3.0      10.0.2.2
Sum-Net   172.16.4.0      10.0.2.2
Sum-Net   172.16.5.0      10.0.2.2
Sum-Net   172.16.6.0     

汇总后:

<R2>display  ospf lsdb 
              area 0
Type            LinkState ID    AdvRouter
Sum-Net	172.16.0.0        10.0.2.2 

注意:

执行路由汇总后ABR R2只向Area 0通告汇总路由172.16.0.0/21

明细路由对应的网段如果产生翻动Up/Down该拓扑变更造成的影响将被限制在Area 1内

2.在ASBR执行路由汇总

在ASBR配置路由汇总后ASBR将对自己所引入的外部路由进行汇总

NSSA区域的ASBR也可以对引入NSSA区域的外部路由进行汇总

在NSSA区域中ABR执行7类LSA转化成5类LSA动作此时它也是ASBR。若配置路由汇总则对由7类LSA转化成的5类LSA进行汇总

image-20220210231428727

OSPF协议特性

1.Silent-Interface

通过Silent-Interface的配置增强OSPF的组网适应能力减少系统资源的消耗

Silent-Interface有以下特性

Silent-Interface不会接收和发送OSPF报文

Silent-Interface的直连路由仍可以发布出去

image-20220210231605803
<R1>display ospf interface GigabitEthernet 0/0/1

	 OSPF Process 1 with Router ID 10.0.1.1
Interface: 10.0.13.1 (GigabitEthernet0/0/1)
 Cost: 1       State: Waiting    Type: Broadcast    MTU: 1500  
 Priority: 1
 Designated Router: 0.0.0.0
 Backup Designated Router: 0.0.0.0
 Timers: Hello 10 , Dead 40 , Poll  120 , Retransmit 5 , Transmit Delay 1 
 Silent interface, No hellos

注意:

R1的GE0/0/1接口在OSPF network命令的网段范围内

到达该接口的路由将被通告到OSPF使得其他设备能够访问Server

由于该接口上未连接任何其他OSPF路由器因此管理员将该接口配置为Silent-Interface该接口将不再收发Hello报文从而避免了对Server的性能降低

2.OSPF报文认证

OSPF支持报文认证功能只有通过认证的OSPF报文才能被接收

路由器支持两种OSPF报文认证方式当两种认证方式都存在时优先使用接口认证方式

区域认证方式一个OSPF区域中所有的路由器在该区域下的认证模式和口令必须一致

接口认证方式:相邻路由器直连接口下的认证模式和口令必须一致

image-20220210231750154
[R2]interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher Huawei
[R2]ospf
[R2-ospf-1]area 0	
[R2-ospf-1-area-0.0.0.0]authentication-mode simple cipher Huawei

区域视图下配置OSPF区域的认证模式

执行命令authentication-mode simple [ plain plain-text | [ cipher ] cipher-text ]配置OSPF区域的认证模式

plain表示明文口令类型

cipher表示密文口令类型。对于MD5/HMAC-MD5认证模式当此参数缺省时默认为cipher类型

配置接口认证方式。

执行命令ospf authentication-mode simple [ plain plain-text | [ cipher ] cipher-text ]配置OSPF接口的认证模式