ospf链路状态路由协议(开放式最短路径优先)
用ip承载其报文,协议号为89.
ospf链路状态(link state)路由协议基本原理:
路由信息传递与路由计算分离,基于spf算法,以累计链路开销作为选路参考值。
ospf要求每台运行ospf的路由器都了解整个网络的链路状态信息,这样才能计算出到达目的地的最优路径,ospf的收敛过程有链路状态公告LSA(link state advertisement)泛洪开始,lsa中包含了路由器已知接口ip地址,掩码,开销和网络类型等信息。收到lsa的路由器都可以根据lsa提供的信息建立直接的链路状态数据库lsdb(link state database),并在lsdb的基础上使用spf算法进行运算,建立起到达每个网络最短路径树,最后通过最短路径树得到的最优路由,加入到ip路由表中。
ospf工作过程
1 路由器之间发现并建立邻居关系,
2 邻居之间同步链路状态数据库
3 每台路由器基于lsdb通过spf算法,计算得到一个以自己为根的spt,再以spt为基础计算去往各目的网络的最优路由,并形成路由表。
router ID在自治系统中唯一标识运行ospf的路由器。
router ID获取方法
1,手动配置
2,如没有手动配置,路由器使用loopback接口中最大ip地址作为routerid
3,如果没有配置loopback接口,则使用物理接口中最大ip地址为router ID
邻居与邻接关系 :
形成邻居关系的双方不一定都能形成邻接关系,需要根据网络类型而定,只有当双方成功交换dd报文,并同步lsdb后,才能形成真正意义上的邻接关系。
ospf报文
hello报文作用,邻居发现,建立,保持使用。(down初始状态,init,2-way)
database description DD交互链路状态数据库摘要
link state request LSR请求铁定的链路状态信息
link state update LSU发送详细的链路状态信息
link state ack LSAck发送确认报文
链路状态信息
链路的类型,接口ip和掩码 链路上所连接的邻居路由器,链路的带宽
网络类型,
p2p网络 仅2台路由互连,支持广播,组播。
广播型网络,2台以上的路由器通过共享介质互连,支持广播,组播
nbma网络,路由器通过vc互连,不支持广播,组播。
p2mp网络, 多个点到点网络的集合,支持广播,组播。
ospf的度量方式
接口cost=参考带宽/实际带宽
更改cost的两种方法
1,直接在接口下配置cost值,作用范围仅限本接口。
2,修改ospf的默认参考带宽值,作用范围是本路由器使能ospf的接口。
配置
int g 0/0/0ospf cost 20ospfbandwidth-reference 1000
DR指定路由器
BDR备份指定路由器
接口的dr优先级越大越优先
接口dr优先级相等时,routerid越大越优先
router-lsa主要有p2p, transnet, stubnet, vlink 几种链路类型。
在广播网络上,dr和bdr都使用组播地址224.0.0.6来接收链路状态跟新报文。
ospf 配置
ospf router-id 1.1.1.1area 0network 192.168.1.0 0.0.0.255dis ospf peeer
ospf认证```cint g 0/0/0ospf authentication-mode md5 1cipe *****```
ospf域内路由
router-lsa描述p2p网络和ma,nbma网络
每台ospf路由器使用一条router-LSA描述本区域内的链路状态信息。
LSA头部
type lsa类型,router-lsa是一类lsa
ls id 链路状态id
adv rtr 产生此router-lsa的路由器router id
link-id 此链路对端标识
data 用于此链路附加信息
metric 此链路的开销
network-lsa描述ma网络或者nbma网络
lsdb,链路状态数据库
单区域ospf配置
ospf 1 router-id 1.1.1.1area 0network 10.1.1.0 0.0.0.255network 10.1.2.0 0.0.0.255
ospf域间路由
ospf采用划分区域的方式,将一个大网络划分为多个相互连接的小网络,每个区域内的设备只需要同步所在区域内的链路状态数据库,一定程度上降低内存和cpu的消耗。
虚连接vlink
骨干区域必须是连续的,但是并不要求物理上连续,可以使用虚连接骨干区域上连续
配置
R1
ospf 1
areaa 1
vlink-peer 3.3.3.3
R3ospf 1area 1vlink-peer 2.2.2.2
ospf外部路由
引入外部路由的ospf路由器叫做ASBR
其他路由器称为ABR
目的地址10.1.1.0、24
ip route-static 10.1.1.0 24 10.1.2.25
ospf 1
import-route static
AS-External-LSA 五类lsa 描述如何从ASBR到达外部目的地,
dis ospf lsdb self-originate
ls id 目的网段地址
adv rtr asbr的router id
net mask 目的网段的网络掩码
metric asbr到达目的网络的开销值,默认为1
tag 外部路由信息可以携带一个tag标签
ASBR-Summary-LSA 四类lsa 描述内部路由器如何到达asbr
dis ospf lsdb asbr self-originate
ls id 该asbr的routerid
adv rtr 该产生四类lsa的abr的router id
metric 从该abr到达此asbr的ospf开销值
OSPF特殊区域和其他特性
传输区域和末端区域
传输区域,除了承载本区域发起的流量和访问本区域外的流量
末端区域 只承载本区域流量
stub区域
ospf 1
area 1
stub
dis ospf routing
stub区域的abr不向stub区域内传播它接收到的自治系统外部路由。
是一种可选的配置属性,一般位于自治系统的末梢。
骨干区域不能配置为stub区域,
如果将一个区域配置成stub区域,则该区域所有路由器必须配置成stub路由器。
stub区域不能存在asbr,自治系统外部路由不能在本区域内传播
虚连接不能穿越stub区域建立
配置stub区域后,所有自治系统外部路由均由一条三类的默认路由替代。
当外部网络发生变化时,stub区域内的路由器不受影响。
totally stub区域
ospf 1
area 1
stub no-summary
dis ospf routing
totally stub区域既不允许自治系统外部路由(4,5类lsa)在本区内传播,也不允许区域间路由(3类lsa)在本区内传播。
totally stub区域内的路由器对其他区域及自治系统外部访问需求时通过本区域abr所产生的3类lsa缺省路由实现。
nssa区域与totally nssa区域
ospf 1
area 1
nssa
dis ospf lsdb
nssa区域能将自治域外部路由引入并传播整个ospf自治域中,又同时不会学习来自ospf网络其他区域的外部路由。
totally nssa区域
totally nssa不允许3类lsa在本区域内泛洪
totally nssa与nssa区域配置区别在于abr上追加no-summary参数
nssa lsa(7类lsa)
LSA类型 | 通告路由器 | LSA内容 | 传播范围 |
---|---|---|---|
router lsa type-1 | ospf router | 拓扑信息+路由信息 | 本区域内 |
network lsa type-2 | DR | 拓扑信息+路由信息 | 本区域内 |
network-summary-lsa type-3 | abr | 域间路由信息 | 非(totally)stub区域 |
asbr-summary-lsa type-4 | abr | asbr router id | 非(totally)stub区域 |
as-external-lsa type-5 | asbr | 路由进程域外部路由 | (非stub区域)ospf进程域 |
nssa lsa type-7 | asbr | nssa域外部路由信息 | (totally)nssa区域 |
区域间路由
ospf 1
area 1
abr-summary 172.16.0.0 255.255.255.0
认证
ospf 1
area 0
authentication-mode md5 1 cipher abc