ospf状态机 lsa 特殊区域 个人见解

open shortest path first是ietf组织开发的一个基于链路状态的内部网关协议(interior gateway protocol)
ospf具有收敛快,路由无环,可扩展(但扩展性不是很强)等优点,成为优秀的内部网关协议被快速接受并广泛使用

ospf状态机

ospf状态机 lsa 特殊区域 个人见解
1)int 互相发送hello包
2) two-way 收到对方的hello包
3) exstart 通过空的dbd确立主从关系(将ms位和m位置位,比较ospf头里的router-id,大的为主,主先进入下一状态。一共发三次包)
4)exchange 通过dbd交互确定自己什么没有,lsr,lsack 没啥要啥,和确定
5)loading lsu,信息加载,形成lsdb(数据库),启动spf算法,会算出一个基于本路由器的spf树,(树上的枝是其他路由器)接下来会将路由器的网段长在spf树上(形成树的的叶),形成路由表。
6)full 路由表加载成功
当链路状态发生变化,重新启动spf算法
  会使ospf停止的有:rooter-id一样,***不一致,时间不一致,mtu不一致,多路不同网段,dr的优先级都为0,认证不一样,特殊区域标记,lsa最大装载量,虚链路建邻要保证abr的出接口ospf能通,sham-link指定的原目不能通
  当收不到对方的hello包,会卡在int状态
  多路会因为mtu的问题或者选不出dr,会卡在two-way
  当mtu参数不同,会卡在 exstare
  发了lsr对方没有回复ack会卡在exchange
  没有ack,lsa无法装载(可能限制lsa的装载数量),会卡在loading

lsa

lsa的头部
ospf状态机 lsa 特殊区域 个人见解
其中lsu携带完整lsa信息,dbd,lsr,lsack都会携带lsa的头部
Ls age:生存时间,年龄最大为3600s,刷新时间为30分种,超过一小时会删除
option:可选项
lstype:lsa的类型
Link id;对象
advertisingrouter:通告者adv
Sequence number :***,用于可靠传输,新旧比较(越大越新)(如何判断lsa是不是新的,看***和年龄)
checksum:校验和
length:长度
dbd的作用:通告自己拥有的lsa,
lsr:要自己没有的
lsack:确认自己收到的
lsa类型
Link state id 和adv都是产生这条lsa的路由器
flag:v置1时,始发路由器是虚链路的abr,标识虚链路节点
  E置1,始发路由器为asbr,用来防环
  B置1,始发路由器为abr,用来防环
  Number of links:lsa的路由器链路数
  link-type
    为1是为点到点链路
    为2时,为ma网络
    为3时,为stubnet为末节
    为4时,为虚链路
  linkid:
    link-type为1是表示对方的router id
    link-type为2时表示dr路由器的接口ip地址
    link-type为3时表示网段
    link-type为4时表示abr的router id
  Link data
     link-type为1是我用哪个地址连的它
    link-type为2时我用哪个地址连的它
    link-type为3时子网掩码
    link-type为4时虚链路出接口ip地址
router-lsa(1类)
   Type:Router-LSA是一类LSA。
   LS id:链路状态ID。
   Adv rtr:产生此Router-LSA的路由器Router ID
   Link ID:此链接的对端标识,不同链接类型的Link ID表示的意义也不同。
   Data:用于描述此链接的附加信息,不同的链接类型所描述的信息也不同。
   Metric:描述此链接的开销
network-lsa(2类)
   Type:LSA类型,Network-LSA是二类LSA。
   LS id:DR的接口IP地址。
   Adv rtr:产生此Network-LSA的路由器Router ID,即DR的Router ID。
   Net mask:该网段的网络掩码。
   Attached Router:连接到该网段的路由器列表,呈现了此网段的拓扑信息。
network-summary-lsa(3类)
   Ls id:目的网段地址。
   Adv rtr:ABR的Router ID。
   Net mask:目的网段的网络掩码。
   Metric:ABR到达目的网段的开销值。
   ospf如何避免域间出现环路
asbr-summary-lsa(4类)
   描述5类lsa 的asbr
   Ls id:该ASBR的Router ID。
   Adv rtr:该产生此四类LSA的ABR的Router ID。
   Metric:从该ABR到达此ASBR的OSPF开销值。
as-external-lsa(5类)
Ls id:目的网段地址。
   Adv rtr:ASBR的Router ID。
   Net mask:目的网段的网络掩码。
   Metric:ASBR到达目的网络的开销值,默认值为1。
   Tag:外部路由信息可以携带一个Tag标签,用于传递该路由的附加信息,通常用于路由策略,默认值为1。

特殊区域

末端区域:只承载本区域发起的流量和访问本区域的流量,访问其他区域通过单一出口,“汇总”路由相对明细路由更为简洁,设备可选择较为便宜的
stub区域
   Stub区域的ABR不向Stub区域内传播它接收到的4类5类lsa,Stub区域中路由器的LSDB、路由表规模都会大大减小,为保证Stub区域能够到达自治系统外部,Stub区域的ABR将生成一条缺省路由,并发布给Stub区域中的其他路由器。
stub区域配置注意事项
  1)骨干区域不能被配置为Stub区域。
  2)如果要将一个区域配置成Stub区域,则该区域中的所有路由器必须都要配置成Stub路由器。
   3)Stub区域内不能存在ASBR,自治系统外部路由不能在本区域内传播。
   4)虚连接不能穿越Stub区域建立。
total stub
  Totally Stub区域不允许3类,4类,5类lsa传播,但有一条3类的缺省
配置在abr上追加no-summary
nssa(Not-So-Stubby Area)
  区域中存在asbr,,NSSA区域能够将自治域外部路由引入并传播到整个OSPF自治域中,同时又不会学习来自OSPF网络其它区域的外部路由,为了支持NSSA区域而新增一种NSSA LSA(七类LSA),由NSSA区域的ASBR产生,其扩散范围仅限于ASBR所在的NSSA区域。
7类转5类
   NSSA区域的ABR收到七类LSA时,会有选择地将其转换为五类LSA,以便将外部路由信息通告到OSPF网络的其它区域,转发规则是当NSSA区域有多个ABR时,进行7类LSA与5类LSA转换的是Router ID最大的ABR。
total nssa
   total nssa在nssa的基础上进一步限制3类lsa

lsa总结

1)Router LSA(一类):每个路由器都会产生,描述了路由器的链路状态和开销,在所属的区域内传播。
2)Network LSA(二类):由DR产生,描述本网段的链路状态,在所属的区域内传播。
3)Network-summary-LSA(三类):由ABR产生,描述区域内某个网段的路由,并通告给其他相关区域。
4)ASBR-summary-LSA(四类):由ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域。
5)AS-external-LSA(五类):由ASBR产生,描述到AS外部的路由,通告到所有的区域(除了Stub区域和NSSA区域)。
7)NSSA LSA(七类):由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播
  dn位发防环:当ospf处在bgpmplsv*n使用3p时ospf的3类5类7类会把dn为置位,被置位的ospflsa会被pe进库但不进表。用于防环,但是在bgpmplsv*n的hib-spoke的环境下dn位需要关闭。
  router-tag置位:当bgp引入ospf时,会观察路由的tag是否包含本区域,如果包含,就不引入