OSPF:开放式最短路径优先
协议 OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运做于自治系统内部
AD 思科OSPF的协议管理距离是110
华为OSPF的协议管理距离是150
链路状态 链路是路由器接口的另外一种说法,所以OSPF也称为接口状态路由协议
OSPF经过路由器之间通告网络接口的状态来创建链路状态数据库,生成最短路径树,每一个OSPF路由器使用这些最短路径构造路由表
LS-支持网络的层次化设计
-区域 骨干 : 0区域,就是骨干区域
非骨干:不是区域0的,都叫作非骨干区域
全部的非0区域,必须直接链接0区域;
非0区域之间,不能够直接进行通讯的;
Hello协议的目的 1.用于发现邻居
2.在成为邻居以前,必须对Hello包里的一些参数协商成功
3.Hello包在邻居之间扮演着keepalive的角色
4.容许邻居之间的双向通讯
5.它在NBMA(Nonbroadcast Multi-access)网络上选举DR和BDR
创建邻居影响因素 一、确保最小范围内双向ping通;
二、可以正常发送OSPF报文;
#确保链路正常宣告;
三、可以正常接收OSPF报文;
#确保链路正常宣告;
#确保ACL放行 OSPF 流量;
四、开始比较OSPF报文参数:
一、RID不能相同;
router ospf 1
router-id x.x.x.x
clear ip ospf process
二、区域ID必须相同;
三、认证必须成功(认证类型必须相同,而且密码必须相同)
四、子网掩码必须相同(特殊状况下)
五、hello时间必须相同;
interface fas0/0
ip ospf hello-interval {value}
六、dead时间必须相同;
interface fas0/0
ip ospf dead-interval {value}
七、特殊标记位必须相同;
八、优先级必须不能全为0(特殊状况下)
九、3层MTU必须相同,不然会卡在Exatart状态
Interface fas0/0
Ip mtu +num(如1499)
MTU MTU-最大传输单元<max transmit unit> 1500
Hello packet包含 1.源路由器的RID
2.源路由器的Area ID
3.源路由器接口的掩码
4.源路由器接口的认证类型和认证信息
5.源路由器接口的Hello包发送的时间间隔
6.源路由器接口的无效时间间隔
7.优先级
8.DR/BDR
9.五个标记位(flag bit)
10.源路由器的全部邻居的RID
OSPF状态: 1.Down:此状态尚未与其余路由器交换信息。首先从其ospf接口向外发送hello分组,还并不知道DR(若为广播网络)和任何其余路由器。发送hello分组是,使用组播地址224.0.0.5。
2.Attempt: 只适于NBMA网络,在NBMA网络中邻居是手动指定的,在该状态下,路由器将使用HelloInterval取代PollInterval来发 送Hello包.
3.Init:初始化收到了Hello包,可是2-Way通讯仍然没有创建起来.
4.two-way: 双向会话创建,而 RID 彼此出如今对方的邻居列表中。(若为广播网络:例如:以太网。在这个时候应该选举DR,BDR。
5.ExStart: 信息交换初始状态,在这个状态下,本地路由器和邻居将创建Master/Slave关系,路由器ID大的的成为Master.
6.Exchange: 信息交换状态:本地路由器和邻居交换一个或多个DBD分组(也叫DDP) 。DBD包含有关LSDB中LSA条目的摘要信息)。
7.Loading: 信息加载状态:收到DBD后,使用LSACK分组确认已收到DBD.将收到的信息同LSDB中的信息进行比较。若是DBD中有更新的链路状态条目,则想对方发送一个LSR,用于请求新的LSA 。
8.Full: 彻底邻接状态,该状态表示双方的数据库彻底同步
DR与BDR的选取原则: 1.优先级为0的不参与选举
2.优先级高的路由器为DR
3.优先级相同时,以router ID 大为DR。router ID 以回环接口中最大ip为准。若无回环接口,以真实接口最大ip为准。
4.缺省条件下,优先级为1
OSPF定义的5种网路类型 OSPF的工做过程,彻底由网络类型来决定;任何一种类型的链路,默认都对应着一种网络类型,可是,能够基于网络需求,进行人工修改
类型 2层 Hello与dead DR/BDR 是否主动发包
broadcast :广播
(MA , multi-access) 当2层协议为ethernet时,
对应的是广播网络类型; hello是10s;
dead是40s 须要选举DR/BDR 端口主动发包,发包方式为组播(224.0.0.5/6)
non-broadcast :
非广播。(NBMA)
当2层协议为Frame-relay时,
对应的是非广播网络类型; hello是30s;
dead是120s 须要选举DR/BDR; 端口不主动发包,发包方式为单播;
【OSPF实现单播:neighbor x.x.x.x】
point-to-point
点到点(P2P) 当2层协议为HDLC\PPP时,
对应的是点到点网络类型; hello是10s;
dead是40s 不须要选举DR/BDR; 端口主动发包,发包方式为组播(224.0.0.5)
point-to-Multipoint:
点到多点(p2mp) hello是30s;
dead是120s; 不须要选举DR/BDR; 端口主动发包,发包方式为组播(224.0.0.5) 数据库
point-to-Multipoint non-broadcast:
点到多点(p2mp-NB) hello是30s;
dead是120s; 不须要选举DR/BDR; 端口不主动发包,发包方式为单播安全
LSA类型
LSA的类型: LSA的摘要信息详解: LSA的摘要信息中表明的意思
OSPF的数据库中包含的是 LSA ;
OSPF的数据库是以区域的形式来组织 LSA 的;
同一个区域中的全部路由器,数据库是彻底同步的; link-id:表示的是LSA的名字,
adv:表示的是产生这个LSA的路由器的名字;
age:表示的是存活时间;最大存活时间是3600s;
seq:表示的序列号;LSA表示的链路每变化一次,LSA的序列号就会增长1;
checksum:校验和,用于确保 LSA在传输过程当中,没有被损坏。
link-count:链路计数器,只有1类LSA才会拥有。表示的是该路由器上有多少个链路宣告进入了该区域;
1类LSA:router LSA 任何一个路由器,都会在任何一个区域中产生一个 1类LSA ;
能够将1类LSA理解为“自我介绍”,用于说明自己有哪些链路进入了该区域,而且是链接着哪些设备,是如何链接的;到对方的距离是多少;
1类LSA只能在一个区域内部进行传输 link-id:路由器的RID
adv:路由器的RID
传输范围:只能在一个区域内部
ADV是否变化:不变化
2类LSA:net Link state 这种类型的 LSA ,只有在选举DR的网络环境中才会有。
只有DR才有资格产生 2 类 LSA link-id:表示的是 DR 的接口IP地址;
ADV:DR的 RID ;
传输范围:一个区域内部
ADV是否变化:不变化;网络
// 基于 LSDB 中的1类LSA 或者 1和2类LSA,就能够计算出一个区域内部的路由,叫作 O 的路由;
3类LSA:summary net link state 在不一样的区域之间传输路由信息;
这种类型的LSA,仅有 ABR 能够产生。
3类LSA被ABR产生之后,首先进入到 OSPF 区域0,而后再转发到其余区域。 ABR:
一、能够将非0区域中的“域内-O”路由,转变成3类LSA,发送到0区域;
二、能够将0区域中的“域内-O”路由,转变成3类LSA,发送到非0区域;也能够将0区域中的“域间-OIA”路由,转变成新的3类LSA,发送到其余的非0区域中;
三、必定不能够将非0区域中的3类LSA转发到0区域;
link-id:表示的是路由的前缀;
adv:ABR的RID;
传输范围:一个区域内部
ADV是否变化:是;
4类LSA:summary ASB link state 专门是为了辅助5类LSA计算路由而生的;
传递的信息是 ASBR 的 RID ;
是由与 ASBR在同一个区域的 ABR 产生的;
传递过程当中每通过一个ABR,ADV都会变化一次。 link-id:表示的是 ASBR的 RID;
adv:ABR
传输范围:同一个区域内部;
ADV是否变化:是的;
5类LSA:external LSA 表示的是OSPF的外部路由,没有任何区域概念;
能够在OSPF网络中畅通无阻。
哪里有OSPF,哪里就有5类LSA。 link-id:表示的是外部路由前缀;
adv:ASBR的 RID ;
传输范围:没有限制;
ADV是否变化:否
注意:
计算域内路由时,使用的1类或者1类和2类LSA;
计算域间路由时,使用的是3类和1类;
计算外部路由时,使用的是5类和1类,或者是5类,4类和1类;ide
非0区域没有直接与0区域互联,解决方案: 一、引入外部路由;
#运行多个OSPF进程,而且相互之间进行重分发;
二、引入内部路由(O IA)
#引入虚链路。
通虚链路创建的OSPF邻居关系,永远都是属于区域0的;
路由过滤 distribute-list(只能是作入向的“路由”过滤)
acl/prefix-list 设计
前缀列表
同时看前缀和掩码,在全部的IGP中都能用;
Metric Metric(在OSPF中,称之为 cost - 开销)
不管是什么协议的路由,在计算Metric的时候,仅仅关心的是路由沿传递方向上的全部入端口的;
OSPF的路由的 Metric 计算方法为:沿路由传递方向,全部入端口的 cost 的累加和。code
Cost = 100000000/bw ( bw表示的是接口带宽,代为是 bit ) 所得除数小于1的,都按照整数1来计算。 上面的 10的8次方,咱们称之为计算路由时的“参考带宽”。
能够经过命令进行你更改(当网络中的路由器之间的互联链路带宽都大于100M的时候)
router ospf 1
auto-cost reference-bandwidth 1000(单位是Mbit;)
若是进行该参数的修改,必须在全网的每个路由器都得进行修改,不然会出现路由次优路径。
汇总 自动汇总:NO
手动汇总:YES
-对象: 3类LSA和5类LSA
3类LSA汇总
在产生被汇总的3类LSA的ABR上进行配置配置完成之后,仅仅发送汇总以后的3类LSA,不发送明细LSA
而且会在本地造成一个针对汇总路由的Null0路由,目的是为了实现防止数据转发环路的产生。
5类LSA汇总
在产生5类LSA的 ASBR 上面操做
路由器类型 1.Internal Router:内部路由器router
-totally stub area : 彻底末节区域;
仅仅须要在 stub 区域的 ABR 上实施 -
router ospf 1
area 12 stub no-summary
此时的彻底末节区域,仅仅有1类LSA或者1和2类LSA,还有一个特殊的3类LSA,表示默认路由,是 ABR 自动产生的; 验证命令:show ip ospf 对象
区域类型 OSPF的区域类型有不少:
标准区域、主干、末节、绝对末节、NSSA、绝对NSSA
标准区域:默认的OSPF区域类型
主干区域:就是area 0
末节区域:不接受五类LSA,若是要到AS外部,路由器会使用默认路由,其中末节区域不能包含ASBR
绝对末节:不接受五类LSA与三类LSA,路由器会有默认路由,也不能包含ASBR
NSSA:这是一种特殊的区域,它定义了七类LSA,NSSA具有了末节与绝对末节的优势,可是能够包含ASBR
路由协议支持的认证类型:
RIPv2->明文/密文
EIGRP->密文
OSPF->明文/密文/null
OSPF的认证: 链路认证(仅仅对某一个或者几个链路)
启动认证和配置密码,都是在链路上进行的;
区域认证(对整个区域的全部的链路)
启动认证是在 OSPF 进程下,对区域配置的;密码,仍是配置在具体的链路上;
认证成功必须确保: 一、认证必须同时开启 -->认证类型不一样,一方是0,一方是1;
二、认证类型必须相同
三、认证密码必须相同(也能够同时为空)-> mismatch authentication key 接口