LSA的含义
LSA(Link-State Advertisement,链路状态通告),是OSPF路由协议的协议报文中携带的、用于进行路由计算的信息。根据用途及作用范围的不同,可以分为11类(即type1~11)。
本文介绍LSA中用于区域内路由计算的LSA1和LSA2,以及路由计算的 步骤。
LSA type 1 (Router LSA)
每台路由器会为自己所处的每一个区域产生一份RouterLSA,该LSA包含本区域所有链路的状态信息。
LSA1消息包含的字段:
- LS Age :DoNotAge Flag和age数值(秒)
- Option位
- LS type :1
- Link State ID
- Advertising Router
- Sequence Number
- CheckSum
- Flags
- Number Of Links: OSPF有向图上的Link
- Point to point
- ID:邻居路由器的RID;Data:自己接口的IP
- TransNetwork:MA类型链路
- ID:DR的接口IP ;Data:自己接口IP
- StubNetwork:末节类型链路/网络
- ID:网络号 Data:掩码
- Virtual Link
- ID:vlink对端ABR的RID ;Data:本地Vlink的IP
- Point to point
有向图的说明
- 每个实节点外出方向的链路成本是该接口的成本(OSPF Cost值)
- MA网络:所有节点之间通过虚节点(N1)拓扑互联
- N1到所连节点的距离为0
- 节点到N1的边的距离是其cost值
- 末节网络:到其他节点的叶子的cost需要计算邻居间cost和对方节点到其叶子的cost的和
- 路由器到自身叶子节点的cost也是叶子所在链路的cost(如果叶子是链路接口的网段)
LSA type2 (Network LSA)
Network LSA用于描述MA网络的拓扑关系:TransNet网络号和该网络与路由器的关系,在MA网络的DR路由器产生。
LSA2消息包含的字段:
- LS Age:同LSA1
- Option
- LSType : 2
- Link Stat ID :DR接口IP地址
- Advertising Router
- Sequence Num
- Checksum
- Netmask:和LS ID逻辑与,得出LSA2的网络号
- Attacked Router:本网络所有邻居路由器列表
与lSA1区别
LSA1由实节点(代表路由器的节点)产生,描述实节点周边的关系;LSA2由虚节点DR产生,描述虚节点周边关系。
DR的作用
- DR选举机制
- MA网络可以没有BDR但不能没有DR
- 在2-way之后,交互hello完成选举
- 根据所有邻居的hello报文,构建接口的数据结构
- DR集合:接口刚开启时为全0
- BDR集合:接口刚开启时为全0
- DRother集合:有资格成为DR/BDR的路由器(优先级不为0的)
- 选举过程:
- 接口开启,hello中DR字域全0,wait timer启动
- 若收到hello中有dr字域,wait timer停止,接受字域数值
- 从other中选出BDR,再从这里面选出DR,如果BDR空,则再次从other中选出BDR
路OSPF由计算
OSPF路由计算包含以下步骤。
- 画出网络图Graph:根据LSA1和LSA2
- LSDB中的链路信息不能反映出路由
- 对Graph进行SPF计算:以该路由器为Root
- 华为设备初次计算过程执行全部节点的Full SPF,此后执行iSPF
- iSPF只重画受影响的节点及周边连接关系,位置不同范围不同,根节点的边发生变化则重新计算整个拓扑
- 添加叶子节点
- PRC:在ISPF计算出的最短路径树基础上计算叶子节点路由
- 链路网段的cost:对端路由器和本路由器均下挂同一网段,选择成本更小的本路由器的网段放到OSPF路由中,IP路由表中的直连路由更优所以看不到OSPF这条
- lSA2:MA网络 的网段挂在虚节点N上
- LSA3:挂在ABR节点上(其他区域内拓扑变化不影响本区域SPF
- LSA7:挂在ASBR节点上
- LSA5: 挂在ASBR或ABR,依ASBR是否在当前区域而定