OSPF笔记总结
OSPF协议:Open Shortest Path First开放式最短路径优先
1.采用SPF算法计算路由,从算法上保证了无路由环路
SPF算法:也被称为Dijkstra算法,这是因为最短路径优先算法SPF是Dijkstra发明的。SPF算法将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离,每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图,该结构图类似于一棵树,在SPF算法中,被称为最短路径树。在OSPF路由协议中,最短路径树的树干长度,即OSPF路由器至每一个目的地路由器的距离,称为OSPF的Cost,其算法为:Cost = 100×(10)^6/链路带宽 .
2.所有非骨干区域必须与骨干区域直接相连,区域间路由需经由骨干区域中转。ABR从非骨干区域收到的Type-3 LSA不能用于区域间路由的计算。
3.区域间的水平分割: ABR不会将描述一个Area内部的路由信息的Type-3 LSA再注入回该区域中。
后续补充算法学习
抓包数据后续补充
1、五种数据包类型
#LSA(链路状态广播)是链接状态协议使用的一个分组,它包括有关邻居和通道成本的信息。
(1)hello报文:建立和维护邻居关系
报头:route id、区域号、认证
包中有:hello间隔(10s)、失效时间(40s)、特殊区域标志。
邻居关系定义:
双向收发Hello报文,参数匹配(hello间隔,失效时间,认证,区域号,特殊区域标志)
在对方的hello报文中的邻居列表中有自身id,且为two way状态,则表示建立了邻居关系。
(2)DBD报文:数据库描述包、检查路由器的数据库之间是否同步
分为两个阶段:
路由器发送DBD报文(不携带LSDB,带route id和***)选出主从路由器
发送带LSDB的DBD报文
(3)LSR报文:向另外一台设备请求特定的链路状态,即链路状态请求包,向邻居请求特定的LSA
(4)LSU报文:发送链路状态信息,携带LSA
(5)LSACK报文:链路状态确认包,对收到的LSA进行确认
2、状态机 – 总结8种
down:初始状态。没发现hello包,或邻居被手动删除。默认的时间为10s-40s,若40s还没有收到hello包就进入down状态
Attempt
Attempt状态仅存在与NBMA网络中手工配置邻居的情况中。在这个状态下,路由器发送单播的hello包给邻居而且在dead interval超时之前没收到邻居发过来的hello包。
init:互相发送Hello报文,hello报文中包含Router ID,AreaID,各种定时器,认证,DR信息,接口优先级等等。初始化状态即单向通信,A收到B的hello(或B收到A的hello)。
tow way:路由器收到对方的Hello包,网络中非DR,BDR路由器之间就是这种状态,也是一种稳态。 双方互相通信状态,彼此收到对方的hello,并且从hello包中读取信息,建立邻居关系。
exstart:确立主从关系,RID高的路由器成为主路由器,如果MTU值不匹配,将停留在此阶段。就是要开始发送DBD,在发送前确认谁先发,谁后发,自动协商,依靠router id,越大越优先。
exchange:主从关系确立后,开始交换DBD报文,LSDB同步的第一个阶段,建立LSDB的总体框架。
lading:加载DBD,发送LSR,通过更新LSU,LSA报文,交换相互缺少的DD报文,完成LSDB的同步。第二个阶段。收到DBD后进行比较是否相同(比较依据查看***),然后进行LSR、LSU的请求和更新
full:同步完成后,建立邻接关系。以后LSA的交换,用过LSU报文进行。
3、各个类型的LSA 传播范围 通告者 携带信息
OSPF的11种LSA类型
LSA1路由器LSA(Router LSA)
LSA2 网络LSA(Network LSA)
LSA3网络汇总LSA(Network summary LSA)
LSA4 ASBR汇总LSA(ASBR summary LSA)
LSA5 自治系统外部LSA (Autonomous system external LSA)
LSA6 组成员LSA (Group membership LSA) 目前不支持组播OSPF (MOSPF协议)
LSA7 NSSA外部LSA (NSSA External LSA)
LSA8 BGP的外部属性LSA(External attributes LSA for BGP)
LSA9 不透明LSA(本地链路范围) (opaque LSA) 目前主要用于MPLS多协议标签交换协议
LSA10不透明LSA(本地区域范围) (opaque LSA) 目前主要用于MPLS多协议标签交换协议
LSA11不透明LSA(AS范围) (opaque LSA) 目前主要用于MPLS多协议标签交换协议
五种常用LSA
1、Router LSA
仅在本区域内传播不能穿越ABR
ABR与ASBR的区别
ABR为copyarea border router的缩写 释义:区域边界路由器用于将一个或多个OSPF区域边界上、将这些区域连接到主干网络的路由器
ASBR为Autonomous System Boundary Router的缩写 释义2113:自治系统边界路由器
ASBR位于OSPF自治系统和非OSPF网络5261之间。
1.1每台属于一个区域的路由器都会基于该区域通告一条1类LSA
1.2一个区域内只发一个一类LSA,包含纯拓扑信息,包含所有宣告进此区域的直连链路、前缀、掩码、网络类型及度量值
Link-ID:通告该LSA的路由器的RID
ADV Router:通告该LSA的路由器的RID
2、Network LSA
2.1、同区域内传播
2.2、通告者:MA网段中的DR
2.3、纯拓扑信息,包含了该MA网段直连的所有路由器的RID信息,该MA网段的掩码
Link-ID 该网段DR接口的IP地址
ADV Router :该DR的RID
3、Summary LSA
3. 1、传播范围: 除了该区域外的整个OSPF路由选择域
3.2、通告者:ABR
3.3、包含内容:一条3类LSA包含一条OSPF域间路由,O IA
Link-ID :3类LSA路由的前缀
ADV Router : ABR的RID 。 3类LSA在OSPF路由选择域内传递的时候,为了保证可达性,每跨越一个ABR都会自动改写为该ABR的RID
4、Summary ASB LSA
4.1、传递范围:除了ASBR所在区域之外的整个路由选择域
4.2、通告者:和ASBR在同一个区域的ABR路由器
4.3、包含内容: 纯拓扑信息,表述了ASBR所在位置
Link-ID:ASBR的RID
ADV Router :通告者ABR的RID,并且该值每跨越一个ABR都会自动改变,同3类LSA
5、External LSA
5.1、传递范围: 整个OSPF路由选择域
5.2、通告者: ASBR
5.3、包含内容: 纯路由信息,一条OSPF域外路由对应一条5类LSA
Link-ID 域外路由的路由前缀
ADV Router ASBR的RID ,该LSA在OSPF域内传递时,ADV Router 不会发生任何改变。
4、特殊区域
4.1:OSPF的特殊区域:Stub Area末梢区域
在Stub区域中只有域内和域间路由。只允许LSA 3进入本区域,LSA 4/5不允许进入。配置Stub区域后会在区域内自动的生成一条默认路由(以便访问OSPF中其他区域的网络)。
4.2:OSPF的特殊区域:Total Stub Area绝对末梢区域
在Total Stub Area中只有本区域内的路由。LSA3/4/5均不允许进入本区域。配置Total Stub Area后会在区域内自动的生成一条默认路由(以便访问OSPF中其他区域的网络)。
4.3:OSPF的特殊区域:NSSA Area次末梢区域在NSSA区域中允许存在ASBR,所以也就可以引入外部路由。这个外部路由在NSSA区域内以LSA 7存在。当此LSA 7路由离开NSSA区域进入别的区域时,NSSA的ABR会进行LSA 7向LSA 5的转换(如图Area 6所示)。本区域只允许LSA 3进入,禁止LSA4/5的进入。所以此区域有域内、域间和外部路由。
配置NSSA区域需要在区域内手工的创建一条默认路由(以便访问OSPF中其他区域的网络)。
router ospf x# area 6 nssa default-information-originate
4.4:OSPF的特殊区域:Total NSSA Area绝对次末梢区域
在NSSA区域中允许存在ASBR,所以也就可以引入外部路由。这个外部路由在NSSA区域内以LSA 7存在。当此LSA 7路由离开NSSA区域进入别的区域时,NSSA的ABR会进行LSA 7向LSA 5的转换(如图Area 7所示)。
本区域禁止LSA3/4/5进入,只有本区域内路由和外部路由。配置Total NSSA Area后会在区域内自动的生成一条默认路由(以便访问OSPF中其他区域的网络
5、接口网络类型
1、 点到点: DA 224. 0. 0. 5(即使设置nei ghbor也组播更新),一对路由器形成邻接关系。无DR,每个子接口属于不同IP子网。
2、 点到多点: DA: 224. 0.0. 5 (即使设置neighbor也组播更新),无DR,同一个IP子网。Ptp和ptmp无法形成邻居(在PTMP中hello-interval 30 dead -interval 120)
3、 点到多点非广播: DA: 单播,无DR, 同一IP子网。
4、 NBMA: DA:单播,选DR (DR和BDR必须与其他所有路由器直接相连),同- -IP子网。全互联或部分互联。
5、 广播:选举DR,所有路由器发信息到224.0.0.6 (DR监听这地址),然后DR发送信息到224.0.0.5,DR与所有路由器建立邻接关系,所有路由器之间到2way状态(即使设置neighbor也组播更新)。同一IP子网,全互联或部分互联。
点家族不用选举DR和BDR
多路访问需要选举DR和BDR
非广播要手动指定邻居,非广播是单播更新
neighbor命令后指定的cost仅在非广播下才有效
0SPF用接口的第一IP地址建立邻居 和 形成邻接
6、选路规则
6.1:DR,BDR作用
减少邻居关系的数量,从而减少链路状态信息和路由信息的次数。Drother只与DR/BDR建立完全邻接关系。DR与BDR之间建立完全邻接关系。
DR产生网络LSA来描述NBMA网段或者广播网段信息。
6.2:DR、BDR选举
DR/BDR由OSPF的Hello协议选举,选举是根据端口的路由器优先级(Router Priority)进行的。
6.2.1Router Priority被设置为0,那么该路由器将不允许被选举成DR或者BDR。
6.2.2Router Priority越大越优先。如果相同,Router ID大者优先。
6.2.3如果当前DR故障,当前BDR自动成为新的DR,网络中重新选举BDR;如果当前BDR故障,则DR不变,重新选举BDR。