一、OSPF基础
1.技术背景(RIP中存在的问题)
- RIP中存在最大跳数为15的限制,不能适应大规模组网
- 周期性发送全部路由信息,占用大量的带宽资源
- 路由收敛速度慢
- 以跳数作为度量值
- 存在路由环路可能性
- 每隔30秒更新
2.OSPF协议特点
- 没有跳数限制,适合大规模组网
- 使用组播更新变化的路由和网络信息
- 路由收敛快,可以触发更新
- 以COST作为度量值
- 采用SPF算法有效避免环路
- 每隔30分钟周期性更新---LSA
- 在互联网上大量使用,是运用最广泛的路由协议
注意:OSPF传递的是拓扑信息和路由信息,RIP传递的是路由表
3.OSPF三张表
邻居表:记录邻居状态和关系
拓扑图:链路状态数据库(LSDB)
路由表:记录由SPF算法计算的路由,存放在OSPF路由表中
dis ip routing-table pro ospf
4.OSPF数据包(可抓包)
- 版本(Version):对于OSPFv2,该字段值恒为2。
- 类型(Type):该OSPF报文的类型。该字段的值与报文类型的对应关系是:1-Hello;2-DD;3-LSR;4-LSU;5-LSAck。
- 报文长度(Packet Length):整个OSPF报文的长度(字节数)。
- 路由器ID(Router Identification):路由器的OSPF Router-ID。
- 区域ID (Area Identification):该报文所属的区域ID,这是一个32bit的数值。
- 校验和(Checksum):用于校验报文有效性的字段。
- 认证类型(Authentication Type):指示该报文使用的认证类型。
- 认证数据(Authentication Data):用于报文认证的内容。
5.OSPF工作过程
邻居:双方通过hello报文,相互认识
邻接:邻居关系建立好后,进行一系列报文交互,当两台路由器LSDB同步完成,开始独立计算路由时,这两台路由器形成了邻接关系
(1)确认可达性,建立邻居
router ID:
标明的是路由器身份
手工配置:IPV4地址格式
自动选举:
环回口:IP地址大的优先
物理口:IP地址大的优先
2-way前,确认DR/BDR
选举原因:广插网络中使路由信息交换更加高速有序,可以降低需要维护的邻接关系数量
邻居关系过多缺点:
1)大量产生hello包,消耗CPU性能
(2)产生重复路由通告,消耗CPU性能
(3)任何一台路由器的路由变化都会导致多次传递.浪费了带宽资源
选举范围:每个网段都需要选出一个DR和BDR(0-255)
选举规则:1.优先级大的优先,默认优先级是1;2.router-d大的优先
注:DR/BDR的选举没有抢占性
关系状态:DRother与DR建立邻接关系;-fullDRother与BDR建立邻接关系;DR/BDR建立邻接关系;DRother之间保持邻居关系---2-way
(2)邻接路由器之间交换链路状态信息,实现区域内链路状态数据库同步
- 向邻接路由器发送DBD报文,通告本LSDB中所有LSA的摘要信息
- 收到DBD报文后,与本地LSDB对比,向对方发送LSR报文,请求发送本地所需要的LSA的完整信息
- 收到LSR后,把对方所需的LSA的完整信息打包为一条LSU报文,发送至对方
- 收到LSU后,向对方回复LSAck报文,进行确认
(3)完整信息同步,完全邻接关系建立
完全邻接关系建立,LSDB表与路由表形成
6.OSPF的状态机
邻居关系开始建立
(1)down:关闭状态(稳定状态),这种情况处于手动指定邻居的情况下,发送hello包之后进入下一个状态
(2)INIT:初始化状态,收到对方的hello报文,但没有收到对方的hello确认报文
(3)Attempt:一般不会出现,只出现在NBMA网络中,发出hello,但收不到对方的hello包
(4)2-way(稳定状态):双方互相发现,邻居状态稳定,并确认了DR/BDR的角色;当选举完毕后,就算出现一台优先级更高的路由器,也不会替换成新的DRIBDR;需要原DRIBDR失效,或重置OSPF进程才会成为新的DRIBDR;
2-way的前提:
· Router-id无冲突,修改router-id需要重置ospf进程使生效;· 掩码长度一致(MA网络中);
· 区域ID一致;
· 验证密码一致;
· hello-time一致;
· dead-time一致;
· 特殊区域类型一致;
邻接关系开始建立
(5)Exstart:交换开始状态;发送第一个DD报文,但不发送LSA摘要,仅用于确定LSDB协商的主从,ROUTER-ID大的成为master
(6)Exchange:交换状态;发送后续DD报文,用于通告LSDB摘要
(7)Loading:读取状态,进行LSA的请求、加入和确认
(8)Full:邻接状态(稳定状态),两端同步LSDB;FULL的前提:两端MTU一致,否则可能卡在EXSTARTExchange状态能够计算路由的前提:两端网络类型一致,否则邻居状态full,但无法学习路由
7.LSDB的更新
8.OSPF开销计算
(1)参考带宽:
·默认是100M·计算开销的基准带宽值
·参考带宽仅本地有效
·建议把网络中最高的链路带宽设置为参考带宽(不然千兆链路和百兆链路的开销值都是1,无法判断哪条线路最优)
(2)计算方法:
链路带宽大于等于参考带宽cost=1
反之,cost=参考带宽/链路带宽(Mb)
注:在路由器上。千兆以太网、百兆以太网、十兆以太网的缺省OSPF链路开销值分别是:1、1、10
二、OSPF的区域划分
1.区域产生背景
- OSPE路电器在同一个区域中泛洪LSA.为了确保每台路由婴都拥有对本区域的网络拓扑的一致认知LSDB需要在区域内进行同步。
- 如果OSPF域仅有一个区域,随着网络规模越来越大,OSPF路由器的数量越来越多,这将导致诸多问题。
2.分区好处
减少LSA泛洪范围;
提高网络扩展性,有利于组建大规模的网络;3.区域类型
骨干区域:
非骨干区域:
特殊区域:优化路由表、优化LSDB表
多区互连原则:
非骨干区域与非骨干区域不能直接相连;所有非骨干区域必须与骨干区域相连;
此设计是为防止区域间环路;
4.OSPF的路由器类型
区域内路由器(IR):所有接口在同一区域
骨干路由器(BR):有接口都在骨干区域
区域边界路由器(ABR):连接骨干区域和非骨干区域
自治系统边界路由器(ASBR):连接外部自治系统并引入外部路由
三、综合实验
实验要求:
1、R4为ISP,其上只配置IP地址;R4与其他所直连设备间均使用公有IP;
2、R3-R5、R6、R7为MGRE环境,R3为中心站点;
3、整个OSPF环境IP基于172.16.0.0/16划分;除了R12有两个环回,其他路由器均有一个环回IP
4、所有设备均可访问R4的环回;
5、减少LSA的更新量,加快收敛,保障更新安全;
6、全网可达;实验拓扑图:
实验步骤:
地址规划(私有+公有)
私有地址(OSPF区域,基于 172.16.0.0/16 ):
- Area 1:物理链路 172.16.32.0/23 ,环回 172.16.33.0/24 (AR1)、 172.16.34.0/24 (AR2)
- Area 2:物理链路 172.16.64.0/23 ,环回 172.16.65.0/24 (R11)、 172.16.66.0/24 + 172.16.67.0/24 (R12双环回)
- Area 3:物理链路 172.16.96.0/23 ,环回 172.16.97.0/24 (R6)、 172.16.98.0/24 (R7)
- Area 4:物理链路 172.16.128.0/23 ,环回 172.16.129.0/24 (AR10)
- Area 0(MGRE隧道): 172.16.0.0/24 (隧道IP,如R3: 172.16.0.1 ,分支: 172.16.0.2/3 )
公有地址(ISP链路,示例 202.0.0.0/30 ):
- R4与AR3链路:AR3端 202.0.0.1 ,R4端 202.0.0.2
- R4环回: 202.0.0.1/32 (需被全网访问)
具体操作:
1.基础IP配置(所有设备)
以AR1(Area1)为例:
interface GigabitEthernet 0/0/0
ip address 172.16.32.1 255.255.254.0
interface LoopBack 0
ip address 172.16.33.1 255.255.255.02.OSPF多区域配置(认证+汇总)
以AR3(ABR,Area0+Area1)为例:
ospf 1 router-id 3.3.3.3
area 0
authentication-mode md5 1 cipher Huawei@123
network 172.16.0.0 0.0.0.255
area 1
network 172.16.32.0 0.0.1.255
summary 172.16.32.0 255.255.252.03. MGRE配置(R3中心,分支自动注册)
中心站点(R3)
interface Tunnel 0/0/0
ip address 172.16.0.1 255.255.255.0(Area 0)
tunnel-protocol gre p2mp
source Serial 4/0/1
nhrp network-id 100
nhrp authentication cipher 123
ospf area 0分支站点(R5)
interface Tunnel 0/0/0
ip address 172.16.0.2 255.255.255.0
tunnel-protocol gre p2mp
source Serial 4/0/0
nhrp network-id 100
nhrp authentication cipher 123
nhrp next-hop-server 172.16.0.1
ospf area 04. ISP互联(默认路由+全网可达)
AR3(指向ISP的默认路由)
ip route-static 0.0.0.0 0.0.0.0 202.0.0.2
default-route-advertiseR4(静态路由到OSPF私网)
ip route-static 172.16.0.0 255.255.0.0 202.0.0.1
5. 验证测试
1、划分地址、配置IP地址
2、公网通,并做测试
3、各个内网通,重发布,做测试--邻居表-OSPF路由表
4、配置MGRE VPN
5、NAT
6、做区域间的路由聚合,防环--精简area 0的LSDB、路由表
7、做域外路由聚合,防环--精简area 0的LSDB、路由表
8、做特殊区域,精简除了AREA 0外的其他ospf区域的LSDB\路由表
9、加快收敛---更改HELLO时间
10、区域认证、接口