OSPF定义
RIP与OSPF的差异RIP
:
1、距离矢量路由协议,基于跳数选择最优路径,以跳数评估的路由并非最优路径
2、最大跳数是15导致网络规模小
3、每隔30s跟新发送全部RIP路由表浪费网络资源OSPF
:
1、链路状态路由协议
2、基于路径开销选择最优路径
3、触发发跟新或每隔30分钟向邻接路由器发送链路状态信息的摘要,增量跟新机制。
注意:
开销计算:1、ospf链路开销与带宽成反比
2、H3C默认链路开销计算公式: 100Mbps/带宽
3、计算结果小于1的都算作1
OSPF(Open Shortest Path First 开放式最短路径优先)概述:自治系统(AS)
:OSPF 是内部网关路由协议,工作于自治系统内部链路状态(LS)
:指路由器接口的状态(如:网络类型、链路开销以及路由器和它邻接路由器间的关系) 链路状态信息通过链路状态通告(Link State Advertisement, LSA) 扩散到网络上的每台路由器,每台路由器根据 LSA 信息建立一个网络的拓扑数据库(邻居表)。特点
:工作于IP层之上,IP协议号为89,以组播地址224.0.0.5发送协议包。基本思想
:每个路由器将其已知的链路状态信息告诉邻接路由器,收敛以后,网络上每个路由器对全网的链路状态有相同的认识。然后,每台路由器根据了解到的全网链路状态,独立计算路由。
OSPF简单运行原理
发送 Hello 报文建立邻间关系(邻居表)→选举DR和BDR,全网之与DR和BDR形成邻接关系—>每个路由器上面都有LSDB,彼此之间通过交换lsa形成链路状态数据库(拓扑表)------>每个路由器以自己为根,通过spf算法形成最短路径树-------->通过最短路树计算路形成路由表。
邻居关系
:路由器之间彼此只是交互hello报文,没有泛洪LSA。
邻接关系
:路由器和DR、BDR之间交互LSA
邻居表
:dis ospf brief 可以查看router id
拓扑表
:dis ospf lsdb(利用从 LSA 通告得来的信息计算到达每一个目标网络的最短路径,以自身为根生成一棵树,包含了到达每个目的网络的完整路径 )
路由表
:dis ip routing-table:由上面的拓扑表为根节点来计算出到每个路由器(叶子节点)的距离,将的出的最短路径放到路由表当中
邻居发现
1、 通过组播hello
包
2、通过同一个广播域内的接口
建立一组邻居关系
3、所有邻居都可能
跟自己交换链路状态信息
建立邻接关系(为了提高第三步的交换效率)
建立邻接关系
1、只有建立邻接关系的路由器之间才会交换链路状态信息
2、在同一个广播域的接口中选举DR和BDR,网络内所有路由器只与DR和BDR建立邻接
关系
3、广播型网络中会选DR和BDR,P2P和点到多点网络中不会选举DR和BDR
交换链路状态信息
1、每台设备都有一个LSDB(Link State Database,链路状态数据库)
2、LSDB 中 每 一 条 就 是 LSA(Link State Advertisement,链路状态公告):描述链路状态信息,例如网络中某台路由器的ID是什么,其直连的网段是什么,开销是多少等
传递链路状态信息
1、触发更新或每隔30分钟更新一次;
触发更新:如果网络发生变化,不需要等到30分钟周期,立刻向邻居发送信息。
2、增量更新机制,只发邻居需要的LSA
3、 收敛以后,区域内所有路由器具有相同的LSDB
这个LSDB能体现全区域的拓扑结构(该网络中有哪些路由器,各自ID是什 么,每台路由器直连的网段是什么,开销是多少)
交换链路状态信息
计算路由
每台路由器根据自己的LSDB独立计算路由
OSPF分区域管理
区域管理
1、每个区域有一个ID,ID是32位二进制,可以表示为一个十进制数,也可以表
示为点分十进制形式。
例如:区域0等价于区域0.0.0.0; 区域1等价于区域0.0.0.1。
2、骨干区域——区域0。
3、 非骨干区域之间不能直接通信,要通过骨干区域0转发,防止产生路由环路。
4、如果网络中有不同的ospf区域,肯定有个区域是区域0.
ABR:两个区域之间通过区域边界路由器连接。
注意
:
1、同一个区域内路由器才会建立邻居关系,交换LSA,收敛后,同一个区域内所有设备具有相同的LSDB,这个LSDB反映了区域内的链路状态,再计算区域内的路由。
2、不同区域之间,由区域边界路由器ABR直接转发路由。ASBR:连接两个不同的自治系统的路由器(如连接rip和ospf之间的路由器)
OSPF网络类型
ospf当中有4四种网络类型:点到点(不选举DR、BDR)、点到多点(不选举),广播类型(选举), NBMA(选举)。
ospf报文发送形式:点到点P2P类型
:当链路层协议是ppp,HDLC时,缺省情况下,ospf认为网络类型是P2P,在该类型网络中,以组播形式(224.0.0.5)发送协议报文(hello报文,DD报文,LSR报文,LSU报文,Lsack报文)。
点到多点P2MP类型
(point-to-multipoint):没有一种链路层协议会被缺省的认为是point-to-multipost类型点到多点必须是由其他的网络类型强制更改,常用做法是将非全连通的NBMA改为点到多到多点的网络,在该类型的网络中以组播形式(224.0.0.5)发送hello报文,以单播形式发送其他协议报文(DD报文,LSR报文,LSU报文LSAck报文)。
NBMA类型
(non-broadcast multiple access):当链路层协议缺省情况是ATM,ospf认为网络类型是NBMA,在该类型的网络中,以单播形式发送协议报文(hello报文,DD报文,LSR报文,LSU报文,LSAck报文)
广播类型
(broadcast)当链路层协议是enternet,FDD时,缺省情况下,ospf认为网络类型是broadcast,在该类网络中,通常以组播形式发送hello报文,LSU报文和LSAck报文,其中,dr和bdr通告drother以224.0.0.5的组播地址,当drother失效以后以224.0.0.6的组播地址向dr和bdr以单播形式发送DD报文和LSR报文。其中只有dr和bdr有224.0.0.6的地址。