思科OSPF笔记

单区域OSPF

OSPF的特征

OSPF是一种流行的、多厂商开放标准的无类链路状态路由协议

  • 一种链路状态路由协议
  • 无类路由协议
  • 开放最短路径优先

功能:

  • 无类

OSPFv2被设计为无类方式;因此,可支持IPv4 VLSM和CIDR

  • 高效

路由变化会触发路由更新(非指定更新)

使用SPF算法选择最优路径

  • 快速收敛

能够迅速传播网络变化

  • 可扩展

在小型和大型网络中都能够良好运行

路由器可以分为多个区域,以支持分层结构

  • 安全

启用身份验证时,OSPF路由器只接受来自对等设备中具有相同与共享密钥的加密路由更新

OSPFv2支持消息摘要5(MD5)和安全散列算法(SHA)身份验证

OSPFv3使用互联网协议安全性(IPsec)添加OSPFv3数据包的身份验证

管理距离表示路由器来源的可信度(即优先级)OSPF的默认管理距离为110

管理距离

路由源管理距离
已连接路由0
静态路由1
EIGRP汇总路由5
外部BGP20
内部EIGRP90
IGRP100
OSPF110
IS-IS115
RIP120
外部EIGRP170
内部BGP200

ospf的组件

  • 数据结构

  • 路由协议消息

  • 算法

    ​ OSPF的数据结构

数据库说明
邻接数据库邻居表路由器已建立双向通信的所有邻居路由器的列表、该表对于每一个路由器都是唯一的show ip ospf neighour
链路状态数据库(LSDB)拓扑表列出网络中所有的其他路由器的相关信息、该数据库显示了为了与拓扑、某个区域内的所有路由器都有相同的LSDBshow ip ospf database
转发数据库路由表在链路状态数据库上运行算法时生成的路由表、每台路由器的路由器的路由表都是唯一的,都包含向其他路由器发送数据包的方式和位置show ip route

OSPF使用路由协议消息来传递路由信息。这样的数据包用于发现相邻的路由器,并交换路由信息以保持相关网络的准确信息

OSPF使用5种类型的数据包:

  • Hello数据包
  • 数据库描述数据包
  • 链路状态请求数据包
  • 链路状态更新包
  • 链路状态确认包

路由器根据SPF算法计算结果创建拓扑表

SPF算法将每台路由器置于树的根部并计算到达每个节点的最短路径,从而创建SPF树,然后使用SPF树计算最佳路由。OSPF将最佳路由放入转发数据库,用于创建路由表

链路状态工作原理

(1)建立邻居邻接关系:

启用OSPF的路由器将Hello数据包从所有启用OSPF的接口发出,以确定这些链路上是否存在邻居。如果存在邻居,启用OSPF的路由器将尝试与邻居建立邻接关系

(2)交换链路状态通告

建立邻接关系之后,路由器会交换链路状态通告(LSA)

LSA包含每条直连链路的状态和开销。路由器将其LSA泛红到邻居,收到LSA的邻接邻居立即将LSA泛红到其他直接连接的邻居,直到区域中的所有路由器收到所有的LSA。

(3)建立拓扑

收到LSA后,启用OSPF的路由器根据收到的LSA构建拓扑表(LSDB)此数据库最终负责维护有关网络拓扑的信息

(4)执行SPF算法

路由器将执行SPF算法,创建一颗SPF树。

在SPF树中,把最佳路径插入到IP路由表中,除非路由来自管理距离较近的相同网络,例如静态路由,否则会将路由插入到路由表中。系统根据路由表中的条目做出路由决策。

单区域OSPF和多区域OSPF

为使OSPF跟高效且可扩展,OSPF使用多个区域支持分层路由。

OSPF区域是在共享相同链路状态信息的一组路由器

当部署单区域OSPF时,所有的路由器都位于主干区域(area 0)

当部署为多区域OSPF时,多区域OSPF以分层方式实施

  • ABR:互联各个区域的路由器称为区域边界路由器

    ​ 多区域OSPF的优势

优势描述
路由表减少路由表条目减少,因为区域之间的网络地址可以汇总,默认情况下不启用路由汇总。
链路状态更新开销减少设计包含更小区域的多区域OSPF,将处理和内存要求降低到最低。
SPF计算频率降低使拓扑变化仅影响区域内部/例如由于LSA泛红在区域边界终止,因此使路由器更新的影响降到最小。

OSPF消息

​ ospfv2数据包类型

数据包类型描述
第一类:Hello数据包用于建立和维护与其他OSPF路由器的邻接关系
第二类:数据库描述(DBD)数据包发送路由器的LSDB的简略列表,用于让接收路由器检查本地LSDB、LSDB必须在同一区域内的所有链路状态路由器上保持一致,以构建准确的SPF树
第三类:链路状态请求(LSR)数据包接收路由器可以通过发送LSR来请求DBD中任意条目的详细信息
第四类:链路状态更新(LSU)数据包用于回复LSR和通告新信息,LSU包含7种不同类型的LSA
第五类:链路状态确认(LSAck)数据包当路由器收到LSU后,会发送LSAck来接收到LSU,LSAck数据字段为空
Hello数据包
  • 用于建立邻接关系
  • 通告两台路由器成为邻接关系所必须的参数
  • 指定路由器(DR)和备份指定路由器(BDR)

Hello数据包间隔

  • 10s:多接入网络和点对点网络上的默认设置
  • 30s:非广播多接入[NBMA]网络的默认设置,如帧中继
  • 40s:多接入网络和点对点网络上的默认设置
  • 120s:NBMA网络的默认设置
链路状态更新

第四类LSU数据包用于回复LSR数据包。第五类数据包用于确认收到第四类LSU数据包

LSU也用于转发OSPF路由更新,例如链路更改。一个LSU数据包可能包含11种不同类型的LSA

LSA
路由器LSA、网络LSA、汇总LSA、自治系统外部LSA、组播OSPFLSA、用于边界网关协议(BGP)的外部属性LSA、不透明LSA

OSPF的运行

  • 与邻居建立邻接关系

  • 交换路由信息

  • 计算最佳路由

  • 实现收敛

    ​ OSPF状态及描述

    OSPF描述
    Down状态没有接收到Hello数据包=Down、路由器发送Hello数据包、过度到init状态
    init状态Hello数据包已从邻居接收、包含发送方路由器的路由器ID、过度到Two-way状态
    Two-way状态在以太网链路上选DR和BDR、过度到Exstart状态、
    EXStart状态协商主从关系和DBD数据包序列号、主设备启动DBD数据包交换
    Exchange状态路由器交换DBD数据包、需要其他路由器信息才能渡过Loading状态,否则会过度到Full状态
    loading状态LSR和LSU用于获取更多路由信息、路由使用SPF算法进行处理、过度到Full状态
    Full状态路由器已收验

OSPF开销

开销 = 参考带宽/接口带宽

调整带宽:

  • 要调整千兆以太网的开销:auto-cost reference-bandwidth 1000
  • 要调整万兆以太网的开销:auto-cost reference-bandwidth 10000
  • 要恢复默认参考带宽:auto-cost reference-bandwidth 100

配置

(1)进入OSPF配置模式
R1(config)#router ospf xx

xx为process-id取值范围1~65535.在本地有效,不需要与其他OSPF路由器采用相同的值,也能与邻居建立邻接关系

(2)路由器ID

每台路由器需要一个路由器ID来参与OSPF域

唯一标识路由器:其他路由器使用路由器ID来唯一标识OSPF域中的每一台路由器以及来自这些路由器的所有数据包

参与DR的选择:初步建立OSPF网络时会进行DR的选择。配置为最高优先级的路由器设备选作DR。假设没有配置优先级,或者优先级相等,则具有最高路由器ID的路由器被选为DR。第二高的被选为BDR。

思科路由器根据3个条件的其中一个获取路由器ID:

  • 使用OSPF路由器配置明确的路由器ID
  • 路由器将选择任意环回接口的最高IPv4地址
  • 路由器会选择其所有物理接口的最高活动IPv4地址
R1(config)#router ospf x
R1(config-router)#router-id x.x.x.x
//show ip protocols来验证路由器ID
//重置路由器ID的首选方式是清除OSPF进程clear ip ospf process

(3)宣告接口地址

network intf-ip-address widcard-mask area area-id

宣告默认路由:default-information originate always

被动接口

默认情况下,OSPF消息通过所有启用OSPF的接口转发出去。但实际上不需要那么多

使用路由器配置被动接口能够防止通过路由器接口传输路由消息,但是仍然允许向其他路由器通告该网络

R1(config)#router ospf x
R1(config-router)#passive-interface Gi x/x
//也可以先配置所有的接口为被动接口,在开启需要转发OSPF的消息
R1(config-router)#passive-interface default
R1(config-router)#no passive-interface s x/x/x
//show ip protocols验证被动接口

调整接口带宽

R1(config)#int s x/x/x
R1(config-if)#bandwidth xx

手动修改OSPF开销

R1(config)#int s x/x/x
R1(config-if)#no bandwidth xx
R1(config-if)#ip ospf cost xx

检验链路的OSPF接口开销show ip ospf interface s x/x/x

验证度量值show ip route | include x.x.x.x

验证带宽show interface s x/x/x | include BW

查看OSPFshow ip ospf neighour

OSPFv3和OSPFv2

特性OSPFv2OSPFv3
通告IPv4IPv6
源地址OSPFv2消息从送出接口的二IPv4地址发出OSPFv3消息使用送出接口的本地链路地址发送
通告网络networkipv6 ospf process-id area area-id接口配置命令
IP单播路由单播路由默认情况下已启动单播路由必须使用ipv6 unicast-routing全局配置命令启用

配置(用到的时候在补充……)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无法长大的Panda

您的鼓励是最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值