OSFP大部分讲解
定义:开放式最短路径优先协议,内部网关协议的一种,基于链路状态算法
特点:支持无类域间路由(CIDR),无路自由环,收敛速度快,使用组播收发协议数据,支持多条等值路由,支持协议报文的认证
OSPF学习方式
通过组播地址224.0.0.5发送hello包建立邻居关系 | 邻居表 |
---|---|
建立邻居后,交互拓扑表(链路状态信息),构建拓扑表 | 拓扑表 |
根据拓扑表执行SPF算法,计算最佳路径,将最佳路径放入路由表 | 路由表 |
自治系统AS
一个自治系统是指使用同一种路由协议交换路由协议信息的一组路由器,俗称路由域,同一个AS中所有路由器必须运行相同的路由协议,且必须彼此相互连接,分配相同的AS号
Ruter-id
用于在自治系统中的唯一标识一台同时运行ospf的路由器的32的整数,每个运行OSPF的路由器都有一个router-id
区域内路由器AR:该类设备所有接口都在同一个OSPF区域内
区域边界路由器ABR:该类设备接口可以分别属不同区域,但其中一个接口必须链接骨干区域,ABR用来连接骨干区域和非骨干区域,她与骨干区域之间既可以是物理连接,也可以是逻辑连接(“虚连接”)
自治系统边界路由器ASBR:与其他AS中的设备交换路由信息的设备称为ASBR,虽然ASBR通常位于AS边界,但也可以是区域内设备,也可以同时是ABR,只要一台OSPF设备引入了外部路由,他就是ASBR
DR:
在多路访问中可以减少邻接关系和LSA泛洪,优先级越高越容易称为DR,若优先级相同,id数值越高越容易成为DR,DR和BDR不能被抢占,除非设备断掉
作用:减少邻接关系的数量,从而减少链轮状态信息以及路由信息的交换次数,这样可以节省带宽,减少路由器硬件的负担
只有在广播或NBMA(Non-Broadcast Multiple Access 非广播-多路访问网络)类型接口才会选举DR,在点到点或点到多点类型的接口上不需要选举DR。
DR是某个网段中的概念,是针对路由器的接口而言的。某台路由器在一个接口上可能是DR,在另一个接口上有可能是BDR,或者是DR Other。
路由器的优先级可以影响一个选取过程,但是当DR/BDR已经选取完毕,就算一台具有更高优先级的路由器变为有效,也不会替换该网段中已经选取的DR/BDR成为新的DR/BDR。
DR并不一定就是路由器优先级最高的路由器接口;同理,BDR也并不一定就是路由器优先级次高的路由器接口。
Ospf的邻居状态
Down–attempt—init(收到对端hello包,对端称为init)—two-way(在邻居列表中看见自己的router-id,意味邻居的建立,选举DR和BDR)—exstart(选举主从,router-id大的被选举为master)—exchange(交互LSA,用DBD的序列号进行确认)—loading(发送特定的LSA) – full(完全邻接状态)
OSPF支持网络类型:广播多路访问(点到点和广播),非广播多路访问NBMA(帧中继),点到多点
虚链路
由于网络的拓扑结构复杂,有时无法满足每个区域必须和骨干区域直接相连的要求,为解决此问题,OSPF提出了虚链路的概念
OSPF报文类型
hello | 发现和维护邻居关系 |
---|---|
database dascription | 发现链路状态数据库摘要 |
link state request | 请求特定的链路状态信息 |
link state update | 发送详细的链路状态信息 |
link state ack | 发送确认报文 |
LSA类型
router lsa(路由器LSA) | 每个路由器都会发送LSA描述某区域内路由器接口链路状态的集合,只在本区域内泛洪 |
---|---|
network lsa(网络LSA) | 由DR生成,用于描述广播型网络和NBMA网络,这种LSA包含了该网络上所连接路由器的列表,只在该网络所属的区域内泛洪 |
network summary LSA (网络汇总LSA) | 由ABR产生,描述到AS本区域外部某一网段的路由信息,在该LSA所产生的区域内泛洪,传递区域内路由的摘要信息,根据LSA类型三构建区域间路由‘OIA’,传递范围:在所有区域额你传递,特殊区域除外 |
ASBR external LSA(ASBR汇总LSA) | 由ASBR产生,描述AS外部某一网段的路由信息,在整个AS内部泛洪 |
特殊区域 | 控制LSA传递范围,节约资源,包括stub区域,完全stub区域,nssa区域,nssa no-summary(完全非末梢区域)只能将非骨干区域设置成特殊区域 |
特殊区域
完全stub区域 | 只通告一条默认路由,不通告任何区域间路由信息,不通告任何AS external lsa |
---|---|
stub区域 | 过滤LSA4、5,stub区域中的ABR将自动生成默认路由,不存在虚链路,(stub区域和虚链路不能共存),路由表中不存在OE2,OE1路由,(OE2–外部路由类型2,OE1–外部路由类型1,根据LSA类型4和5执行SPF算法),不存在ASBR(ASBR注入LSA类型5) |
NSSA区域 | |
NSSA区域和stub区域的区别 | NSSA区域可以存在ASBR,过滤类型4和5,ASBR将重分布的路由(LSA5)转换为LSA类型7,以LSA类型7传递 |
LSA类型7 | 只在NSSA区域,NSSA no-summary区域中存在,根据LSA类型7构建ON1 ON2的路由(ON1{度量值累加}和ON2{度量值不累加}只在NSSA区域和NSSA no summary区域中存在 |
在ospf中,每1800秒刷新lsa,若一小时内没变化,则删除这条lsa
点到点网段,配置接口开销:参考带宽(华为是10的8次方)/实际带宽=开销
ospf路由汇总:
1、ABR上对区域间的路由汇总
2、ASBR对外部引入的路由汇总
ospf支持四种接口网络类型:P2P broadcast NBMA P2MP
接口网络类型
一、广播型网络broadcast
1、自动建立邻居关系
2、适用于全互联或者部分互联拓扑结构
3、帧中继的二层映射必须支持伪广播参数
4、需要手动选举DR和BDR
5、支持广播和组播
二、点到多点P2MP
1、适用于星型拓扑结构
2、帧中继的二层映射必须支持伪广播参数
3、自动建立邻居(224.0.0.5)
4、不需要选举DR和BDR
5、支持广播和组播
三、动态多点VPN DMVPN
1、支持单播和广播,将GRE隧道结合IPSec,基于IPSec协议建立动态隧道,IPSec-互联网安全协议只支持单播
四、点到多点非广播 non-broad
1、适用于星型拓扑结构
2、帧中继的二层可以不支持伪广播参数
3、要求手动指定邻居关系(单播更新)
4、不需要选举DR和BDR
五、非广播多路访问NBMA
1、在帧中继环境中,默认的接口类型为NBMA,点到点子接口除外
2、在NBMA网络中不支持广播和组播
3、适用于全互联拓扑结构(拓扑结构:全互联,星型拓扑,部分拓扑,扩展的星型拓扑)
4、需要手动指定邻居关系,使用单播发送OSPF数据包(单播:eigrp,rip)(华为需要双向指定邻居,思科可以单向)
5、帧中继的二层映射可以不支持伪广播参数
6、选举DR和BDR(如果网络为星型拓扑,不适用于NBMA导致网络存在多个DR,影响SPF算法,导致路由缺失)
物理接口和协议接口:协议接口与PPP,HDLC,帧中继有关,和路由协议无关
六、点到点网络类型 P2P
1、适用于所有的网络拓扑结构
2、结合帧中继的点到点子接口一起使用
3、帧中继的二层映射必须支持伪广播参数
4、自动建立邻居关系
5、不需要选举DR和BDR
6、支持广播和组播
tunnel的应用
1、帧中继跨越IP网络(帧中继交换机)
2、地址迁移
3、DMVPN
4、gre over ipsec vpn
5、代替虚链路解决ospf非骨干区域中存在
端口状态
点到点:和网络类型有关,例P2P,P2MP,不需要选举DR和BDR
MA网络的状态
邻居认证
认证类型:明文认证,MD5加密认证
认证方式:
1、区域认证:开启区域认证后,整个区域的路由器都必须配置认证,否则邻居关系无法建立
2、链路认证:直连接口必须配置认证
需要两端都开启
Ospf邻居的建立
1、 版本必须相同
2、 Router-id必须唯一
3、 Area-id不相同(满足两种情况:1、和接收端所属区域id一致,2、和接收端口所属区域id不一致,但是值为0,表示属于骨干区域,而且是在同一个虚链路上发送的)
4、 认证必须一致
5、 子网掩码(必须和接收端口一致,除了一种情况,接收端口的网络类型为点到点类型或者是虚连接,则不检查)
6、 死亡间隔和hello间隔必须一致
7、 链路MTU大小一致(默认不开启检查,思科默认开启)
8、 网络地址一致
9、 末梢区域设置一致(option{E-bit表示是否接收外部路由信息,必须和相关区域的配置保持一致})
Forwarding address
如果引入到ospf中的外部路由的下一跳在一个osof路由域中(两个路由器的出接口为同一网段),则在描述该外部路由的AS-external-LSA中,forwarding address应当被设置为ASBR路由表中该路由的下一跳
RTB路由表中到达192.168.3.0/24的下一跳地址为10.1.123.3,而10.1.123.3所属网段10.1.123.0/24运行ospf