LSA类型—功能编码
6类不考,不用管
8类、9类LSA是ospfv3新增的LSA
Link State ID:4字节
在ospfv2和ospfv3的不同类型的LSA中代表的是什么
本地唯一的32位整数:区分一台路由器产生的多个不同的某类LSA
Ospfv2和ospfv3的LSA对比异同点:
Router LSA(1类):名称相同,作用类似,但是ospfv3不在描述IP地址信息,仅仅用来描述拓扑结构,也不再包含路由信息,在ospfv2中有link id字段,有IP地址信息
Network LSA(2类):ospfv2也存在地址字段信息,ospfv3不存在任何IP地址信息,没有路由信息
在ospfv3中,它的IP地址信息交给了8类和9类LSA,IP信息由8类LSA描述,路由信息由9类LSA描述
Network Summary LSA(ospfv2中的3类LSA)与Inter Area Prefix LSA(ospfv3中的3类LSA):作用相同,名称不同
ASBR Summarry LSA(ospfv2中的4类LSA)与Inter Area Router LSA(ospfv3中的4类LSA):作用相同,名称不同
AS External LSA(ospfv2中的5类LSA)与AS External LSA(ospfv3中的5类LSA):作用与名称完全相同
Link LSA(8类LSA):ospfv3新增,包含了本路由器的链路本地地址和这个接口上的所有ipv6地址信息向该链路上的其他所有路由器通告
Intra Area Prefix LSA(9类LSA):ospfv3新增,描述路由信息,该类LSA用来公告一个或多个ipv6地址前缀
OSPFv3新增了Link-LSA和Intra Area Prefix LSA。
Router LSA 不再包含ip地址信息,使能 OSPFv3 的路由器为它所连接的每条链路产生单独的 Link-LSA,将当前接口的链路本地地址以及路由器在这条链路上的一系列 IPv6 地址信息向该链路上的所有其它路由器通告。
Router LSA 和 Network LSA 中不再包含路由信息,这两类 LSA 中所携带的路由信息由 Intra Area Prefix LSA 来描述,该类 LSA 用来公告一个或多个IPv6 地址前缀。
原本ospfv2的2类LSA的地址信息交给9类LSA,原本ospfv2的1类LSA在8、9类LSA都有它的相关的地址前缀
前缀表示方法的变化:Prefix Option字段
在OSPFv2中,使用“IP网段+掩码”来表示前缀信息,而且两段信息在不同LSA中的位置还各不相同,结构很不清晰。在OSPFv3的LSA中,使用专门的三元组(Prefix-Length, PrefixOptions, Prefix)来表示前缀信息。由LSA公告的每个前缀都拥有一个自己的PrefixOptions 字段。
Prefix-Length
1字节。前缀的bit位长度,对于缺省路由该字段取值为0。
PrefixOptions,1字节。前缀信息的选项,用来描述前缀的某些特殊属性字段,格式如下:
NU位:非单播位。如果设置为1,则这个前缀不会纳入IPv6单播路由计算中。
LA位:本地地址位。如果设置为1,则这个前缀是路由器的一个接口地址。(环回口一般置为1)
MC位:组播位。如果设置为1,则这个前缀应该纳入组播计算中,否则不纳入组播计算。
P位:传播位。如果一个NSSA区域的前缀需要被ABR传播出去,就需要设置这一位。
Prefix
长度不定,为4字节的倍数。用于表示前缀的IPv6网络地址信息。
Prefix-length可变,但必须是32bit(4字节)的整数倍,可用0来填充。因此它的长度可能是0(0)、4(32)、8(64)、12(96)、16(128)字节。(前缀长度)
不同类型的LSA:
1类LSA:
Router LSA:1类LSA,传播范围是area内,LS Type:0x2001
Ospfv2中Stub链路类型(类型3):点到点,loopback,没有建立邻居关系的物理口
下图是ospfv3中的描述:类型2表示MA网络,ospfv3里没有stub链路类型描述
如何查看1类LSA里面的具体内容:display ospfv3 lsdb router
Router-LSA具有区域泛洪范围,用于描述该路由器在某个区域内的所有连接,而且只描述建立了邻接关系的连接(邻居为full状态)。这意味着Stub类型的链路不在这里描述了(在OSPFv2中用链路类型3描述)。另外,如果是点到多点链路的话,需要为每个邻居都产生一个描述。由于每个链路描述的长度固定,因此可以通过LSA头中的LSA长度来确定Router-LSA中的Link数。
一个Router-LSA可以包含多个链路描述(link description)。同一个路由器可以生成多个Router-LSA,通过Link State ID进行区分。在SPF计算时,对于同一个路由器产生的多个Router-LSA必须合在一起参与运算。
OSPFv3的Router-LSA中不再包含前缀信息,仅仅描述了拓扑连接情况。
实验:抓包查看1类LSA
拓扑图:
AR4:
全局:ipv6
AR1:
全局:ipv6
AR2:
全局:ipv6
AR3:
全局:ipv6
邻接关系建立完成
AR1的g0/0/1抓包,查看AR1给AR4发的包,查看1类LSA(MA网络类型AR4和AR1之间)
AR1:刷新:reset ospfv3 all
LS Type:0x2001表明1类LSA
S2/S1:01表明区域内泛洪
Linnk State ID:Link State ID在1类LSA中表示本地唯一32位标识,这里表示区分同一台路由器产生的不同类型LSA
产生1类LSA设备的router-id号(AR1的)
Flags字段:这里表示AR1是ABR
W:置为1用于组播路由;
V:置为1该路由器为虚连接的一端;
E:置为1该路由器为ASBR;
B:置为1该路由器为ABR。
Type:1字节。路由器的该链路的链路类型;
Metric:2字节。数据报文从此接口发出时的cost值;
Interface ID:4字节。接口ID,用于标识接口,无地址含义。
Neighbor Interface ID:4字节。邻居接口ID。
Neighbor Router ID:4字节。邻居Router ID。
链路类型,表示连接的是transit(MA)网络
Metric为1,表示开销值为1,也就是transit(MA)网络的开销值
AR1的g0/0/1接口id
DR的接口ID(邻居AR4的g0/0/0)
DR的Router ID(邻居AR4)
点到点网络类型抓包(AR1和AR2之间的ppp链路),在AR1的s4/0/0口抓包
AR1:reset ospfv3 all
AR1发给AR2的1类LSA
P2p网络(点到点)
点到点的开销值,默认48
S4/0/0口的interface id
邻居的接口id(AR2)
邻居的router-id(AR2)
AR1上查看1类LSA里面的具体内容:display ospfv3 lsdb router
AR1产生的1类LSA
Area0里面的
发送者AR1
LSA类型1类LSA
Link State ID在1类LSA中表示区分同一台路由器产生的不同的1类LSA
Flags字段:B为1表明AR1是ABR设备
表明网络是点到点
接口开销值默认48
AR1的4/0/0接口id
邻居(AR2)的接口id和router-id
Area1内查看也是按照以上方法查看
2类LSA:
Network LSA:区域内泛洪
查看AR4给AR1在area1里发送的二类LSA抓包,因为AR4是DR设备
AR1的g0/0/1口抓包
LS Type:0x2002表示2类LSA
S2/S1为01表示区域内泛洪
Link State ID在2类LSA中表示DR的接口id
2类LSA的产生者是哪台设备(AR4)
Attached Router:表示连接在同一个网络上的所有设备的router-id(包括DR的),也就是说AR4可以知道周边有哪些设备与自己建立了邻接关系
查看AR4自己产生的2类LSA:display ospfv3 lsdb self-originate network
DR(AR4)的接口id
自己产生的2类LSA
8类LSA:Link-LSA
Ospfv3新增的LSA,泛洪范围link-local
每一个ospfv3设备的接口都会产生一个link-lsa
link-local地址可以作为nexthop(下一跳),帮助用户学习到其他link的ipv6路由
DR的network lsa中的option来源于DR的link-lsa的option(DR设备只在MA网络和NBMA网络出现)
link-local地址仅仅只会出现在link-lsa
Link LSA结构
AR1的g0/0/1口抓包
查看AR4给AR1发送的link lsa(8类LSA)
S2/S1为00表示泛洪范围为链路本地
Link State ID在link lsa中表示的是产生8类LSA的设备的所在接口id(AR4本身的接口id)
接口优先级为1默认(v2版本也是)
Options字段来自于2类LSA的option(和2类LSA相同)
AR4给AR1传递的自己的link-local地址,同时告诉AR1自己的全球单播地址的地址前缀,link-local地址仅仅只会出现在link-lsa
表示通告的前缀个数有2个
标识前缀的三元组(两个)
Prefixlength:64
Prefixlengthoptions:0x00
Address Prefix:2001::
Prefixlength:64
Prefixlengthoptions:0x00
Address Prefix:3001::
inter-area prefix lsa(3类LSA):泛洪范围是area内
查看3类LSA命令display ospfv3 lsdb inter-prefix
抓包
AR2的g0/0/1口抓包
AR4上loopback接口的地址通过8类、9类LSA告诉AR1,然后AR1产生3类LSA,再将AR4的loopback口的ip以3类LSA的形式告诉AR2,AR2收到后产生3类LSA告诉AR3
AR2上:reset ospfv3 all
查看AR2传给AR3的包
LS Type类型:0x2003
LSA类型是3
S2/S1为01表示区域内泛洪
Link State ID在3类LSA中表示用于区分同一台路由器产生的不同的3类LSA
表示3类LSA是由AR2产生的
AR2访问2000::5接口开销值为49,因为默认48,中间经过一跳设备+1,所以是49
命令方式查看,查看AR2通告出来的3类LSA
Intra-Area-Prefix-LSA(9类LSA):area内
9类LSA本质就是承载1类和2类LSA的ipv6地址前缀的
为什么引入Intra-Area-Prefix-LSA(9类LSA)?
Ospfv2中,依附于路由器和stub网络的subnet(子网)出现在router LSA中,依附于Transit(MA)网络的subnet出现在network LSA中,ospfv3中Router LSA和Network LSA不在包含地址信息,所以引入Intra-Area-Prefix-LSA(9类LSA)
Intra-Area-Prefix-LSA(9类LSA)携带区域内ipv6 prefix信息
依附于路由器的prefix(前缀)
依附于stub网络的prefix(前缀)
依附于transit(MA)网络的prefix(前缀)
每台路由器或Transit网络可以产生多个Intra-Area-Prefix-LSA(9类LSA)
参考的是第一类LSA承载的ipv6地址前缀信息(下图)
参考的是第二类LSA承载的ipv6地址前缀信息(下图)
抓包(9类LSA,依附于Transit(MA)网络的抓包,也就是2类LSA,这里发出2类LSA的设备是DR设备,也就是AR4,参考第9类LSA发布接口的ipv6地址信息)
AR1:reset ospfv3 all
在AR1的0/0/1口抓包(AR4给AR1发的9类LSA包)
LS Type:0x2009表示9类LSA
S2/S1置为01表示泛洪范围为区域内
Link State ID在9类LSA中表示本地唯一32位整数,区分同一台路由器产生的不同的9类LSA
表示这个9类LSA是由谁产生的(AR4的Router ID号)
包含几个前缀信息,2个
表示这个9类LSA参考的是2类LSA(Network LSA),Transit网络
由于参考的是2类LSA,所以它的Referenced Link State ID是DR的接口ID
由于参考的是2类LSA,所以它的Referenced Advertising Router是DR的Router ID
抓包(9类LSA,依附于Router(包含stub网络)的抓包,也就是1类LSA,AR4的两个环回口作为stub网络,这里AR4的回环口地址前缀应该是9类LSA参考1类LSA进行发布给AR1)
AR1的0/0/1口抓包(AR4给AR1发的9类LSA包)
0x2009表示9类LSA
S2/S1置为01表示区域内泛洪
Link State ID在9类LSA中表示本地唯一32位整数,区分同一台路由器产生的不同的9类LSA
表示这个9类LSA是由谁产生的(AR4的Router ID号)
包含几个前缀信息,2个(这里指的前缀信息是AR4的回环口信息,表示stub区域)
表示这个9类LSA参考的是1类LSA(Router LSA),依附于Router
由于参考的是1类LSA,所以它的Referenced Link State ID是固定0
由于参考的是1类LSA,所以它的Referenced Advertising Router是依附的路由器的Router ID(AR4作为一个普通路由器的router id号)
三元组中LA置为1表示本地地址位(环回口)
命令查看,在AR4上
Display ospfv3 lsdb self-originate intra-prefix
AR4自己发送的9类LSA
表示area1
9类LSA
区分同一台路由器产生的不同的9类LSA
AR4产生的9类LSA
这个9类LSA参考的是Route
由于参考的是route,表示1类LSA,所以Referenced Link State ID是固定0
由于参考的是route,表示1类LSA,表示的是依附于router的路由器的router id号
发布的两个stub区域(环回口)的地址前缀,所以LA置为1
Inter-Area-Router-LSA(4类LSA):区域内泛洪,ABR产生
第4类lsa的本质就是让其他区域的ospfv3设备知道谁是ASBR
在ospfv2中,该类型LSA叫做Type 4 Summary-LSA。在ospfv3中,更名为Inter-Area-Router-LSA(4类LSA),语义更加明确,它描述了到达其他区域ASBR的信息
- 边界路由器(ABR)产生的4类LSA,在Area内泛洪
- 描述了到本AS内其他区域的ASBR路由器信息
- 每个Inter-Area-Router-LSA(4类LSA)包含一个ASBR路由器信息
- LSA中的能力选项(options)与所描述的ASBR Router LSA中能力选项(options)保持一致
- 使用32位整数作为Link State ID来区分相同的LSA
实验:
因为4类LSA是伴随5类LSA出现的,没有引入外部路由不会产生4类LSA
AR3上将回环口路由3000::3作为外部路由使用路由策略引入到ospfv3
AR2和AR3之间不会有4类LSA,因为直连,直接知道ASBR在那个位置
使用ipv6前缀列表,jinzhen为前缀名字
配置路由策略,jinzhen为策略名
匹配前缀列表,将3000::3引入路由策略
将路由策略引入到ospfv3中
AR3上:
全局:Ospfv3
Import-route direct route-policy Jinzhen
在AR1的0/0/1口抓包(AR1发的update包)
LS Type:0x2004表示4类LSA
S2/S1为01表示区域内泛洪
Link State ID在4类LSA中表示本地唯一的32位整数,同一台路由器产生的不同4类LSA
Advertising Router表示是AR1产生的4类LSA,所以标识AR1的Router ID号
4类LSA的options字段要和ASBR(AR3)的1类LSA的options字段相同
Metric为49表示AR1访问AR3(ASBR)设备所需要的开销值是49(默认是48,经过AR2开销值+1)
表示目的地ASBR的Router ID号
AR1上命令验证:display ospfv3 lsdb self-originate inter-router
AR1产生的4类LSA
区分同一台路由器产生的不同的4类LSA
4类LSA是谁发送给我的
AR1访问到ASBR开销值49
目的ASBR的Router ID号
AS-External-LSA(5类LSA):
由ASBR路由产生,描述了区域外的路由信息;
具有自治系统(AS)泛洪范围;
Link State ID不包含地址信息,只是来和其他AS-External-LSA区分开;
AS-External-LSA不含有Link-Local地址信息;
可选项:
转发(forwarding)地址;
Tag;
Referenced Link State ID:保留字段
抓包:在AR1的0/0/1上抓包,还是update报文
LS Type:0x4005表示5类LSA
S2/S1置为10表示泛洪范围是整个AS
Link State ID在5类LSA中表示本地唯一的32位整数,同一台路由器产生的不同5类LSA
Advertising Router表示是AR3产生的5类LSA,所以标识AR3的Router ID号
Flags的E位表示默认的外部路由类型是type2,只用计算外部开销值,不用计算内部开销值,如果是type1表示既要计算外部开销值,也要计算内部开销值
TYPE2 :仅仅计算外部的开销值
TYPE1:外部开销值+内部开销值
这里表示AR1学习到外部路由的开销值,由于是type2类型,所以开销值只计算外部开销值,外部开销值默认为1,所以开销值为1
Forwarding address(相当于下一跳):置为1表示这个字段存在,置为0表示不存在
External Route Tag:置为1表示外部路由标签默认值为1
三元组
保留字段,所以是0x0000
AR3上命令行查看:display ospfv3 lsdb self-originate external
表示自己产生的5类LSA
表示同一台路由器产生的不同的5类LSA
表示5类LSA是谁产生的
外部路由类型默认Type2
由于是type2类型的外部路由,所以开销值为1
引入的外部路由是3000::3
Tag标签默认为1
NSSA LSA(7类LSA)
AR2和AR3之间作为NSSA区域
AR2:、
全局:ospfv3
Area 2
Nssa
AR3:
全局:ospfv3
Area 2
Nssa
在AR2的0/0/1口抓包
AR3给ARR2发的update包
LS Type:0x2007表示7类LSA
S2/S1为01表示区域内泛洪
Link State ID在7类LSA中表示区分同一台路由器产生的不同的7类LSA
Advertising Router表示7类LSA是由谁产生的(AR3 ASBR)
P置为1表示要做一个7类转5类的动作,原本3000::3从AR3发出,以7类LSA在NSSA区域传播,到达AR2后,AR2做一个7类转5类动作,然后传递给其他区域
通过命令查看7类LSA
AR3:display ospfv3 lsdb self-originate mssa
LSA类型
Link State ID在7类LSA中表示区分同一台路由器产生的不同的7类LSA
AR3产生的7类LSA
通告一个P位置为1的3000::3的路由,传给AR2,AR2再将7类LSA转成5类LSA传给其他区域