一、前期回顾之前讲过运行ospf的路由器之间是通过lsa进行消息传递,且建立邻接关系时,两端接口的网络类型必须一致,如果在MA类型网络中接口的掩码也要一致,p2p网络掩码可以不一致,只有MA网络中才有
.
一、前期回顾
之前讲过运行ospf的路由器之间是通过lsa进行消息传递,且建立邻接关系时,两端接口的网络类型必须一致,如果在MA类型网络中接口的掩码也要一致,p2p网络掩码可以不一致,只有MA网络中才有DR与BDR角色等约束条件,之所以有这些要求,从另一个维度讲都是因为lsa需要满足这些条件,本章就来详细介绍下ospf中的lsa种类及作用。
二、拓扑介绍
area1是一个MA网络类型,area0是p2p网络类型,R1,R2,R3处于一个广播域,交换机上未作任何设备,只当一个纯二层设备,R3的g0/0/0口作为本area的DR,其余信息如图上所示。
三、lsa的种类级使用场景
lsa根据种类共分为7种,即1~7类lsa,每一种lsa的出现都需要满足特定的条件,本章重点介绍前3种lsa的特点及功能,其余lsa后续介绍。
1类lsa
每一个运行ospf的路由器都会产生1类lsa,1类lsa自己(本路由器)直连接口的信息在本area内进行泛洪,类似于广播终结于网关,1类lsa终结于ABR,1类lsa主要的两个特点:
- 通过lsa中相关的V、B、E位是否置1,描述路由器的virtual-link,ABR,ASBR等特殊角色。
- 描述本路由器在某个区域内部的直连链路接口及接口cost值。
通过查看R1的lsdb可以看到R1上有3条标表项为router的1类路由,R2上的lsdb与R1一致,印证了同一area内的lsdb完全一样
[R1]display ospf lsdb OSPF Process 1 with Router ID 1.1.1.1 Link State Database Area: 0.0.0.1 Type LinkState ID AdvRouter Age Len Sequence Metric Router 2.2.2.2 2.2.2.2 6 48 8000000B 1 Router 1.1.1.1 1.1.1.1 13 48 80000007 1 Router 3.3.3.3 3.3.3.3 6 36 8000000B 1 Network 123.0.0.3 3.3.3.3 6 36 80000008 0 Sum-Net 34.0.0.0 3.3.3.3 1194 28 80000005 48
仔细看下MA网络区域area1中router id为1.1.1.1路由器的lsdb
[R1]display ospf lsdb router 1.1.1.1 OSPF Process 1 with Router ID 1.1.1.1 Area: 0.0.0.1 Link State Database Type : Router Ls id : 1.1.1.1 Adv rtr : 1.1.1.1 Ls age : 263 Len : 48 Options : E seq# : 80000007 chksum : 0x49c4 Link count: 2 #lsa包含2个链路描述 * Link ID: 123.0.0.3 #DR的ip地址 Data : 123.0.0.1 #始发路由接口地址 Link Type: TransNet #传输区域网络 Metric : 1 #接口cost=1 * Link ID: 11.11.11.11 Data : 255.255.255.255 Link Type: StubNet #末梢网络 Metric : 0 Priority : Medium
总结一下,不同链路类型的1类lsa中包含的link id及link data字段内容有所不同,具体为:
序号 | 链路类型 | link id | link data |
---|---|---|---|
1 | 点到点链接另一台路由 | 邻接路由器route id | 和网络相连的本地路由器始发接口ip地址 |
2 | 传输区域网络(MA) | dr路由器的接口ip地址 | 和网络相连的本地路由器始发接口ip地址 |
3 | 末梢网络 | ip或子网地址 | 网络的ip地址或子网掩码 |
4 | 虚链路 | 邻接路由器route id | 和网络相连的本地路由器始发接口MIB-II iflndex值 |
在R1的lsdb中除了代表1leilsa的router表项,还有network跟sum-net表项,这分别代表了2类和3类lsa,下面就这两种lsa进行介绍。
2类lsa
首先需要说明的是,2类lsa只存在于MA类型的网络中,在右边p2p网络区域area0中route id为4.4.4.4路由器lsdb中就没有network表项
[R4]dis ospf lsdb OSPF Process 1 with Router ID 4.4.4.4 Link State Database Area: 0.0.0.0 Type LinkState ID AdvRouter Age Len Sequence Metric Router 4.4.4.4 4.4.4.4 552 48 80000007 48 Router 3.3.3.3 3.3.3.3 552 48 80000007 48 Sum-Net 123.0.0.0 3.3.3.3 672 28 80000001 1 Sum-Net 11.11.11.11 3.3.3.3 629 28 80000001 1 Sum-Net 22.22.22.22 3.3.3.3 631 28 80000001 1
还记得介绍lsa建立邻接关系的条件时有一条是:MA网络类型下,接口的子网掩码位数要一致,而p2p网络就没有这个要求,原因是在1类lsa中p2p类型的网络使用2条描述信息来进行说明
[R4]display ospf lsdb router 4.4.4.4 OSPF Process 1 with Router ID 4.4.4.4 Area: 0.0.0.0 Link State Database Type : Router Ls id : 4.4.4.4 Adv rtr : 4.4.4.4 Ls age : 603 Len : 48 Options : E seq# : 80000007 chksum : 0x6a02 Link count: 2 * Link ID: 3.3.3.3 #邻接路由器router id Data : 34.0.0.2 #与router id为3.3.3.3路由器相连的的本地接口ip Link Type: P-2-P Metric : 48 * Link ID: 34.0.0.0 #与router id为3.3.3.3路由器相连使用的网段 Data : 255.255.255.0 #该网段掩码 Link Type: StubNet Metric : 48 Priority : Low
而MA网络中只是介绍了dr的接口ip跟接入该网络本地ip地址与cost值,但光凭这一点还没发准确描述一个网络地址,还需要知道这ip所对应的掩码
Link count: 2 * Link ID: 123.0.0.3 Data : 123.0.0.1 Link Type: TransNet Metric : 1
而network表项,就是弥补1类lsa中所缺少的掩码信息,且2类lsa只由DR产生,其掩码是dr接口的掩码信息,但该信息不包含cost值,所以在MA网络中需要通过1类和2类lsa一起才能准确的描述出网络信息
[R1]display ospf lsdb network OSPF Process 1 with Router ID 1.1.1.1 Area: 0.0.0.1 Link State Database Type : Network Ls id : 123.0.0.3 #dr接口ip地址 Adv rtr : 3.3.3.3 #通告路由器 Ls age : 402 Len : 36 Options : E seq# : 8000000c chksum : 0xd2d5 Net mask : 255.255.255.0 #子网掩码 Priority : Low Attached Router 3.3.3.3 #该MA网络中包含的路由器route id Attached Router 1.1.1.1 #该MA网络中包含的路由器route id Attached Router 2.2.2.2 #该MA网络中包含的路由器route id
通过上图中Adv rtr: 3.3.3.3可以看出,2类lsa是由本area中的dr路由器产生,并通过224.0.0.5这个组播地址发送给area内所有的路由器,还记得224.0.0.6这个组播地址么,之前介绍ospf在MA网络中的时候提到过,所有的drother相互间不通信,停留在2way阶段,只能与dr与bdr通信,原因就是dr与bdr同时又侦听了224.0.0.6地址接收lsa,再通过224.0.0.5这个组播将lsa下发到本区域内所有的路由器。总结一下,2类lsa的特点:
- 2类lsa由dr产生,描述所有连接到该MA网络的路由器route id及该MA网络的掩码地址(dr接口掩码地址)
- 2类lsa只在本area泛洪,终结于abr
- 2类lsa没有cost字段
1类lsa结合2类lsa才能完整提供一个MA网络所需要的信息
3类lsa
从拓扑图中,我们能够看到,无论是area1中的MA网络还是area0中的p2p网络,其内部的1类、2类lsa都无法传递到对方区域,这样无法计算出到达11.11.11.11/24等ip地址路由,3类lsa就是解决此类问题。3类lsa由abr路由器产生,其表项为Sum-Net,其功能是收集本区域的1类2类lsa,再将他们以3类lsa发送到其他区域泛洪,这样计算路由的问题就解决了
以上图中R3将area0中的1类lsa收集后发送到area1为例,此时在R1上看到的3类lsa是由R3产生,并且cost值为48,此处cost值是R4计算到R3的开销(p2p网络开销为48),而R3只是将此信息直接泛洪到了area1[R1]display ospf lsdb OSPF Process 1 with Router ID 1.1.1.1 Link State Database Area: 0.0.0.1Type LinkState ID AdvRouter Age Len Sequence MetricRouter 2.2.2.2 2.2.2.2 656 48 8000000D 1Router 1.1.1.1 1.1.1.1 662 48 8000000D 1Router 3.3.3.3 3.3.3.3 656 36 80000009 1Network 123.0.0.3 3.3.3.3 656 36 80000006 0Sum-Net 34.0.0.0 3.3.3.3 821 28 80000002 48
在R1上详细看下3类lsa所包含的信息,能够看到area0中的网段、掩码、cost值都包含在本信息中,所以可以直接计算路由
[R1]display ospf lsdb summary OSPF Process 1 with Router ID 1.1.1.1 Area: 0.0.0.1 Link State Database Type : Sum-NetLs id : 34.0.0.0Adv rtr : 3.3.3.3 Ls age : 1009 Len : 28 Options : E seq# : 80000002 chksum : 0x35c8Net mask : 255.255.255.0Tos 0 metric: 48Priority : Low
总结一下3类lsa的特点:
- 由abr产生,将本区域的1,2类lsa进行收集并在其他区域泛洪,以解决不同区域见路由计算问题
- cost是直接将本区域内到达abr的开销泛洪到其他区域
- 3类lsa这种自身不参与链路状态计算,只是收集1,2类lsa并泛洪到其他区域的工作特点与距离矢量协议特别类似