HCIP-Datacom Core Technology V1.0_4 OSPF路由计算

ospf是如何计算生成这些路由呢,

区域内路由计算

LSA概述

 同一个区域内路由器去进行一个数据库同步,形成一个LSDB,那么数据库里面所存在的LSA,是如何利用它去进行计算和生成路由的呢,以及这些LSA分别包含了哪些信息,比如说查看R2的LSDB,里面包含了很多条LSA,这些LSA它分别有什么意义呢?

 LSA是链路状态信息,包含路由器以及一些接口地址和开销等其他参数,来看一下这些LSA分别有什么作用,首先LSA有一个报文头,里面有一个LSA的类型,表明了LSA有很多种,不然也不可能有LS Type这个字段,接着看一下其他字节内容的介绍。

LS Age, 链路状态老化时间,表明了该LSA在数据库存活的时间,那么它的最大取值范围0~3600s,也就是3600秒之后,该LSA就失效了。

Option,可选项包含了很多内容。

LS Type,LS类型表明了LSA属于什么类型的,

Link State ID,LS ID,因为前面有不同类型的LSA,所以LS ID在不同类型的LSA中,它表明的意义是不一样的,那么是你的Router ID,还是接口IP地址,还是DR等等。要根据他所存在的LSA类型所确定,

Adverting Router,是该LSA是由谁产生的,叫做通告路由器。

LS Type, LinkState ID,Adverting Router这三个参数表明确定了唯一一条LSA,它类似于三元组信息一样,来确定一条LSA。

LS Sequence Number,链路状态序列号,LS Checksum(校验和),Length。

生存时间,序号号,校验和,是判断一条LSA的新旧的,那么这个新旧是如何通过这个参数来判断呢,LSA的Squence Number,它其实也有一个取值范围,它的最大范围应该是0X7FFFFFFF,这个序列号越大,表明该LSA越新,比如说新产生一个LSA,它的序号号在原来的基础上加1,肯定比原来的序号号更新,第二个是比较校验和,那么校验和越大表明该LSA更新,第二个才比较LS Age,LSA正常情况下,是每隔1800s更新一次,关于自己本路由的LSA。

 正常情况下,LSA类型的取值来称呼该LSA,比如说,Router LSA,这的取值类型是1,一般称它为1类LSA,在后续的章节中,会用取值来取代LSA和名称。每一类LSA它是什么,它在OSPF的工作机制中起到怎么的作用,它是如何计算生成路由的。

Router-LSA

Router -LSA又叫做1类LSA, 顾名思义,和它的名字一样,它是每一台只要运行OSPF协议的路由器都会产生的,它的作用是描述该路由器接口信息,ASBR和ABR在1类LSA的报文里面可以表明它的身份。1类LSA只能在所属区域内泛洪。

 1类LSA使用Link表明路由器直连接口信息,链路类型,链路ID以及度量值这几个参数,其中最关键的是去理解1类LSA里面所包含的链接类型。这是1类LSA所支持的链接类型或者说你可以称它为链路类型,和支持的网络类型是不同的概念,不要混淆,因为很多人在学习过程中发现,这个链接类型第一个是点到点,在网络类型中也有一个点到点,所以把很多概念弄混淆了,这是1类LSA所定义的或者说它所支持的链路类型。它实际上支持了4种链路类型,上图中只列举了3个,第4个链路类型是虚链接。虚链接是不参与区域内路由计算的的。

点到点链接类型,Link ID表明了邻居的Router ID,Link Data表明了1类LSA该路由器接口的IP地址,要去该Link Type所表明的信息,是属于拓扑信息还是路由信息?其中点到点是属于拓扑信息,第二个Link ID,它表明的是邻居路由器的Router ID,因为不同的链路类型,这的Link ID包含Link Data是不同的,在后续SPF算法中会用到它们,所以必须理解和掌握它们所代表的含义。同是Link Data表明的是什么呢?接口的IP地址。

TransNet链路类型,它描述MA或着NBMA的连接,也是属于拓扑信息,但是它的Link ID是DR的接口IP地址,不再是邻居的Router ID。Link Data表明的是路由器的接口IP地址。

StubNet链路类型,属于网段信息,就是路由信息,表明是从本地路由器到另一个Stub网段,Stub网段可以理解为是Loopback这样的一个虚拟逻辑网段,该Link ID表明的是接口的IP地址,Link Data表明的是网段的子网掩码。在这里比较抽象,不太理解它是干嘛用的。

如上图,是一个点到点网络,中间R1和R3之间是串行口去连接的,每台路由器都会产生1类LSA,那么 R1会向R3通告自己的1类LSA,这个1类LSA都包含哪些内容呢?

 LSA的头部,由三个元组信息来确定一条LSA,类型,Ls id,Adv rtr,

LSA中的内容,第一个链接是描述拓扑信息,什么是拓扑,Link Type,点到点,表明我连接对端是10.0.3,3,是不是邻居的Router ID,知道我连接了谁,谁是我的邻居,这算不算是拓扑。第二个描述了网段信息,可以理解为路由信息,Link ID 10.0.13.0,表明了接口所在的一个网段,它的子网掩码是255.255.255.0,从这里能够推断出什么呢?假设现在去查看R1路由器的1类LSA,没有网络拓扑,可以通过1类LSA去判断网络是怎么的,怎么去判断,首先可以通过每一个拓扑信息能够知道,我连接了一个路由器,是点到点的网络,同是它的Router ID是10.0.3.3,那么我自己接口IP地址是10.0.13.1,再通过网段信息,能够判断我和这台路由器之间所连的网段是不是10.0.13.0,掩码是24位,也就是说哪怕没有拓扑的情况下,通过OSPF的1类LSA,也能推断出网络连接以及它中间的网段,其实这也就是SPF算法的一外基本核心思想,通过LSA去计算和生成路由,以及如何知晓全网的拓扑情况。

Router LSA描述MA 网络

1类LSA在描述占到点网络里面,是即包含了拓扑信息,又包含了网段信息,那么1类LSA在描述MA网络中又会产生怎么的问题呢?

LSA的头部,在描述MA网络里面,发现1类LSA只有拓扑信息,TransNet是一个广播型网络,那么网段信息在哪里,没有,也就是说1类LSA在描述广播型网络里面有一个致命的缺点,没有网段的子网掩码,没有办法去判断所连的网段信息,也就是没有路由信息的概念。怎么知道是拓扑信息呢?

Network-LSA

Network LSA详解

Network LSA又称为二类LSA, 它是由DR产生的,DR只有在广播型网络以及NBMA网络中才需要去选举,也就是说在点到点的网络类型中,是不是就没有二类LSA。那么由DR产生是用来描述本网段的链路状态,同是它也只能在所属的区域内泛洪,也就是它和一类LSA一样,只能在同一区域内泛洪,不能跨不同的区域,来看一下二类LSA它里面所重要的内容包含了哪些。

Link ID,二类LSA的Link ID又变了,表明DR接口的IP地址.

Network Mask:MA网络的子网掩码,也就是说二类LSA在描述广播型网络里面因为有子网掩码的存在,就可以判断出它的网段信息,

Attached Router:表明连接该网络路由器的Router-ID,也就是说表明了哪些网络设备加入到这个MA网络中,这是不是算作一种是属于拓扑信息,而Network Mask是属于路由信息,也就是说二类LSA在描述广播型网络中,既包含了拓扑信息,又包含了路由信息,弥补了一类LSA在描述广播型网络中的缺点, 同是要注意到,二类LSA只会存在在广播型网络里面,它因它是由DR产生的,点到点网络是没有DR的。

 Ls id在二类LSA里面表述的是DR接口ip地址,10.0.235.2,子网掩码是255.255.255.0,在MA网络里,知道DR的ip地址,又知道网段的掩码,就能够判断广播性网络它所在的网段,做与运算不可以得出10.0.235.0/24。第二个通过Attached Router,可以判断这个网络里面谁连接了10.0.2.2,10.0.3.3,10.0.5.5这三台设备共同组建的一个广播性网络是不是和图中网络拓扑架构是一样的。

SPF计算过程

在区域内如何通过1类LSA和2类LSA进行一个路由计算,也就是SPF的计算过程。

 大体分为两步骤,第一步是每台路由器会以自己为根,通过1类和2类LSA里面的拓扑信息,计算去往目的的最短路径。但是SPF算法,仅仅是在同一区域内使用它进行计算,然后中间经过这样的一个路由器会添加到添加到SPF树中,用路由器的Router ID或者DR去标识。如何去判断哪些是属于拓扑信息,那么就跟之前介绍过的,如果说是1类LSA,根据它的链路类型去区分,比如说是P2P或者是TransNet。是不是属于拓扑信息,同时在2类LSA中有一个Attached Router,也表明了它的拓扑信息。

广播网络中DR和其所连接路由器的Cost值为0。以图中的案例来看,R1和R2之间在同一个网络里面有一个DR,DR的IP地址是10.0.12.2,t,已知DR是基于接口的,实际上它不是R1接口的IP地址就是R2接口的IP地址。但是我们把DR叫做虚拟伪节点,就是逻辑意义上把它看作是一台路由器,所以会发现这台Router和DR的开销等于1,代表我该接口和DR的开销等于1,如果再把这个DR和下面的 R2的接口开销再计算出来等于1,是不是就会有问题。

比如说有两台路由器,现在是一个广播型网络要选举DR,假设现在R1的接口为DR,那么两台设备之间到达DR的开销是不是只有这一段等于1。但是现在逻辑意义上把这台DR看作是一个虚拟路由器,所以R1和R2认为是和这台路由器去连,所以在它们的眼中的逻辑拓扑是这个样子的。

假设把DR的开销和左边这台路由器计算出来等于1,那么右边这台开销必须等于0了,如果右边的开销也等于1 ,是不是相当于中间这一段开销计算了两次,所以这就是为什么DR和其他连接的路由器的开销为0。

也就是说DR为了避免在计算过程中,它的开销取值连续重复,所在广播网络中DR和其连接的路由器开销值为0.

 SPF只有单向的最短路径树,保证了在同一区域内不可能有环路的形成。这是第一步通过拓扑信息构建拓扑。

第二步是根据1类和2类LSA中的路由信息,以叶子节点的形式挂在树干上,这样就形成了一个完美的路由。即有拓扑又有路由。

当计算出全网拓扑之后,把相应的网段信息比如说10.0.13.0/24,10.0.12.0/24,这些路由信息,挂载在相应的节点上面,这样就可以组成一条完善的路径,既知道拓扑,又知道路由,能够去实现路由的转发。

SPF算法举例,

假设全网拓扑如上图构建而成的,现在在R1上,以R1为根节点去计算全网的路径。

从图中可以看出,R1去往任意节点是不是有多条路径可以到达,但SPF它是形成了一个最短路径避免了环路,R1它是如何计算去往其它目的的这样的一条路径。是否会有次优路径的产生。

现在假设以R1为根节点,查看R1的1类LSA,R1的1类LSA如图所示,一共有三条链路类型,其中SPF算法第一步是构建拓扑,所以StubNet属于路由信息,路由信息的这条链接可以忽略,

首先看拓扑信息,拓扑信息一共有两个,一个是描述点到点网络,一个是描述MA网络,然后对应的相应的开销,把它放到候选列表中,在候选列表中能够看到,以根节点10.0.1.1,以R1自己为根。去往目的的这样的一个开销,取最短的放到路径树中,会发现以10.0.1.1,去往10.0.12.2,它的开销等于1,是最短路径,所以把它添加到最短路径树上,并把它从候选列表中给它删除,就可以看到,10.0.12.2代表着和R1相连,同是这里10.0.12.2,它是DR,去往10.0.12.2的它的这样的一个链路类型是TransNet,那么TransNet中的Link ID代表DR接口的IP地址,R2是DR,是不是代表在一个MA网络中,在一个MA网络中是不是可以直接查看DR的2类LSA,因为2类LSA即包含了拓扑信息,又包含了路由信息,同时2类LSA通过Attached Router是不是可以非常清晰了然的表明哪些设备加入到这个拓扑中,所以下一步是不是要查看DR的二类LSA。其中Attached Router表明连接了哪些拓扑,同时Ls  id和子网掩码结合在一起成为了第二个路由信息,但是路由信息一直是忽略的,因为第一步是不是构建拓扑,然后再添加路由信息,以叶子的形式添加在树干上。

拓扑信息中DR连接着哪些设备,10.0.2.2和10.0.1.1, 那么问题来了,这个10.0.1.1是不是不是R1自己本身,这一条可以忽略,同是连接另一台设备是10.0.2.2,把它放到候选列表中,和之前的10.0.3.3对比,开销等于1,是最小的,所以去往10.0.2.2会添加到最短路径树上,同是它的开销等于0,为什么?为了避免去计算去往DR的开销等于两次,在广播型网络中DR与其连接的设备的开销等于0,因为实际上DR它是一个虚拟的逻辑路由器,它实际上是R1或者R2某一接口的IP地址,在是从路由器的角度去观察,认为它是一台路由器,为什么这段开销等于0,然后将最短路径树上的这条候选条目已经使用了,给它删除。

删除之后,再往下是不是去查看R2的1类LSA去看它连接着哪些设备。紧接着去查看R2的1类LSA,首先忽略路由信息,然后3条拓扑信息,

 其中10.0.12.2是不是已经在拓扑中出现过,是DR接口的IP地址,可以忽略,然后再看一下,将100.0.235.2和10.0.4.4添加到候选列表中,然后根据假造总开销进行一个对比,发现去往10.0.235.2的开销值最小一共等于2,把它添加到最短路径树上,同是发现去往10.0.235.2链接类型又是一个MA网络,TransNet,它是描述MA网络的,所以这个10.0.235.2代表的又是一个DR的IP地址,那么这个将从候选列表中删除,下一步是不是要接着去查看关于DR它的2类LSA,重复上面一个步骤,紧接着查看DR的2类LSA,会发现

 它连接了10.0.3.3和10.0.5.5,那么这个时候,就有一个问题产生了,去往10.0.3.3,这前以10.0.1.1为根节点添加到候选列表中是不是有一条它的开销等于48,现在又算出一台,R2连接着10.0.3.3,但是它去往R1的开销加起来,一共等于2,那么根据最短路径开销的算法,首先是把10.0.3.3和10.0.5.5添加到树干中,然后从候选列表中删除,同是没有用过的10.0.3.3开销为40的这条候选列表也删除了,为什么?因为R1通过这样的一个SPF计算之后,它会发现实际上一开始就计算出R1连着R3有条线是这么直连的,但是它们之间的开销是48,但是通过往后计算过程中发现R1能够通往R3从另一条路径计算出开销等于2,那么秉着最优路径这样的一条算法去计算的话,会发现直连R3的这条路径从算法上R1屏蔽了,就不再使用了,而选择R1去访问R3从R2再到R3这条路径,那是不是就是最优路径,所以会把去往10.0.3.3开销为48的,这条列表也在候选列表中给它删除。也就是说为什么把相应的条目添加到候选列表中,一开始不是直接添加到拓扑信息,而是把候选列表中最小的开销添加到最短路径树上,因为在后面计算过程中会发现假设去往同一目的网段有多条路径,它只保留最小的,而计算出去往同一目的网段,如果说没有多条路径,我才会去使用它,从这里可以看出,SPF算法,可以解决一个次优路径的问题。

接着往下看,是不是去查看R3和R5的一类LSA,为什么,因为在把R3和R5添加到拓扑中,会发现它们的开销是一样的,所以要接着去查看R3和R5,去判断它们是否有其它连接设备,所以紧接着去查看后面R3和R5的1类LSA,

 首先在查看R3的1类LSA中会发现,拓扑信息里面所出现的10.0.1.1和10.0.235.2,已经在拓扑中出现过,说明R3这条节点计算拓扑已经到达了尽头,它没有连接其它额外的设备了。

再看一下R5,

 会发现R5也连接着10.0.4.4,把它添加到候选列表中,会发现去往10.0.4.4的这条路由有两条路径,一条是以R2为根节点的,一条是以R5为根节点的,也就是说R4(10.0.4.4),实际上是不是和R5也有一跟线连接的,因为是以R1为根节点去计算去往10.0.4.4,它会发现如果从R2走, 它的开销是49,如果通过R5去访问10.0.4.4,它的开销是50,明显这里有一条次优路径,通过算法得知,它通过两条路径都可以选择去往R4,明显会选择开销小的,所以会把R4和R2相连添加到拓扑中,最后在R1的眼中,它的整个网络拓扑架构就是这样子的,计算出R1通过R2去访问10.0.4.4之后,是不是要接着去查看关于R4它是否还连接着其它的拓扑信息。

最后一步去查看R4的1类LSA,会发现它里面的拓扑信息已经全部出现在拓扑中,所以通过R4,这条路径也是最终的终点,没有其它设备,那么最终在R1眼中,最后网络拓扑就是这样的,那么来看一下实际的网络拓扑是怎么连接的,首先R1是不是以自己为根节点计算,去连接了R2,这 个DR实际上是不是R1或者R2的一个接口IP地址,它是逻辑的虚拟的设备,所以R1实际直接和R2连接的,然后R2计算出去连接R3和R4,中间通过一个DR,实际上它们是处在一个MA网络中,寻到三台路由器在一个MA网络中,中间是不是会通过一个交换机去连接,去连接R3和R5,同时在计过程中发现R1是不是和R3是连着的,只不过这一条开销会比较大,选择通过R2去访问R3会最近,然后会出现什么问题呢,R2和R5是不是连接着一台设备R4,只不过会发现R1去访问R4通过R2走会最优,通过R5去往R4是次优路径,通过算法屏蔽了这条路径。所以实际上网络拓扑是不是R1既和R2连又和R3连,R2和R5都和R4连,同时R2,R3,R5通过一个交换机组成一个广播型网络,只不过通过算法机制,把次优路径全部给屏蔽掉,那么这个网络拓扑晃是就是之前教材中的。

也就是说在一个OSPF网络中,假设在同一个区域,如果我们去给公司做维护,如果该公司它没有拓扑信息或者拓扑对我们进行保密,是不是通过SPF算法工程师可以自己推断出该公司的网络架构,当然了有个前提是它必须在同一个区域里面都使用了OSPF这个协议。

然后你会发现另一个什么问题呢?都是在R1上面去看不同路由的1类LSA和2类LSA,首先R1查看自己的1类lSA,然后查看10.0.12.2的2类LSA,再去查看10.0.2.2的1类LSA,为什么都可以在R1上面去查看,因为在同一个区域里面,它的数据库要保持同步,所以去查看R2的1类LSA和2类LSA,去登录到R2上面去查看和在R1上面去查看,关于R2的1类LSA和2类LSA是不是本质上没有任何区别,因为两台设备的数据库是同步的。

这样的一个拓扑计算过程中它是如何进行的,它是不是通过1类LSA和2类LSA循环交替查询的,一直去计算拓扑完成连接,但是这里有一个问题,第一个,是否一定要先查1类LSA,再查2类LSA,第二个是否一定需要查询2类LSA呢。

为什么在SPF计算的过程中要先去查询1类lSA,2类LSA是不是只在广播型网络中才会出现,而Router LSA只要路由器运行了OSPF,它是一定会生成的,所以先查询1类LSA是不是一定会有一个结果,如果该网络类型不是广播型网络,你查询2类LSA是不是就没有意义,是空的,这是为什么先查询1类LSA的原因。因为必然会得出一个结果。第二点,是否真的需要1类LSA和2类LSA这样的循环交替进行,答案是否定的,为什么,因为在计算过程中发了开销最小的一个取值,它连接的一个链路类型是TransNet,代表描述了是一个MA网络,所以去查询它的2类LSA,更加方便的去知道广播型网络里面连接的其他哪些设备,如果开销最小的是一个点到点的网络类型,那么是不是就不需要去查询它的2类LSA,只需要一直查询1类LSA,就可以完成整个拓扑的这样的一个组成。所以1类和2类LSA循环交替查询也不是一个必然的过程,而是根据链路类型以及候选列表中开销取值它所对应的这样的一个链路类型来决定下一步所查询的动作和执行的操作。完成了拓扑计算之后,来看一下SPF算法的第二个步骤。

查询1类和2类LSA的时候,里面包含了各种路由信息和前缀。当整个拓扑完成之后,就将1类和2类LSA中的路由信息挂载到相应的树干节点上面,然后组成了整个这样的一个网络架构,那么这样就通过SPF算法,计算出来了每台路由器以自己为根运往目的的最短路径树,同是也知道了全网的拓扑和路由信息,保证了从自己为根访问目的的节点是一颗没有环路同是最优的,那么这就是SPF的一个基本工作机制。通过SPF计算之后形成的OSPF这样的一个路由会添加到本协议的路由表中,关于OSPF的路由表会出现,那么这里在查看IP路由表会发现在OSPF里面通过SPF算法算出来的最短最优的路由条目没有全部添加到IP核心路由表中,那么问题是什么呢,关于本协议存在的最优路由是否要添加到IP核心路由表中,是需要条件的,因为在路由选择过程中,是不是不同协议之间还需要根据优先级的大小进行一个选择,所以出现在协议里在的最优路由未必会添加到全局的路由表中。

首先介绍了LSA的基本概念,同是学习了1类LSA和2类LSA,在不同的场景下有什么作用,哪些是描述拓扑信息,哪些是描述路由信息,最后介绍了区域内如何通过SPF算法,计算去往目的的最短路径优先树,其中SPF算法是一个比较复杂的机制,需要去理解。

区域间路由计算

区域间路由计算过程

 OSPF支持划分区域的这样的一个特点,OSPF定义了区域0为骨干区域,其它区域为非骨干区域,但是并没有介绍为什么要划分区域。OSPF有一个数据库同步的一个概念,试想一下,如果所有的路由器都在OSPF的同一个区域中,保持数据库同步,那么数据库规模是不是非常的大,只要任意节点发生故障,全网数据库的规模要保持同步的话,需要进行同一时间进行收敛,这样所消耗的时间是不是十分庞大,同是SPF算法在同一个区域内去计算的,如果区域过大的话,SPF计算时间也会非常耗时耗力,同是呢还有一个比较关键的一点是如果要做一些路由汇总,单区域的设计是没有办法实现区域汇总的,所以OSPF定义了划分区域,将区域0定义为骨干区域,其它区域为骨干区域,每个区域只需要维护自己本区域的数据库,保持同步,相当于将一个庞大的数据库把它切割成不同小的这样的一个数据库规模。不同区域之间互相维护自己独立的数据库,减轻了设备的压力和CPU的负荷。

 划分区域之后,因为1类LSA和二类LSAS只在同一区域泛洪,所以从某种程序上说,就降低了对于设备的内存消耗以及CPU的压力。

划分区域之后关于设备类型定义为两种类型,第一种,如果说该设备的所有接口都在一个区域肉,以R4为例,就称它为区域内部路由器。如果某个设备属于两个或者两个以上不同的区域,同是一定有一个区域是属于区域0,属于骨干区域的,那么这样的设备,我们称它叫区域边界路由器ABR,虽然划分区域能够解决计算压力这个问题和做路由汇总的问题,但是不同区域之间又是如何进行路由的交互去学习路由。

那么区域间路由信息的传递需要使用另一个LSA叫做Network Summary LSA(3类LSA),又称它叫做三类LSA,它是由ABR产生的,现在以192.18.1.0/24这条路由信息为例,首先在区域1里面去泛洪,通过一类和二类LSA去生成计算路由,然后将它通告给R2,R2想要将这条路由信息通告给骨干区域里面的其它路由器,和区域2里面的其它路由器,但是一类LA和二类LSA只能在本区域1里面泛洪,不能通告给其它区域,R2会生成一个新的LSA,叫做三类LSA,将192.168.1.0的路由信息转换成三类LSA,通告给其它区域,那么别的区域的路由器就通过三类LSA去学习了如何去往192.168.1.0这个网段。简单概述一下,就是一类LSA和二类LSA只能在同一区域内泛洪,会将1类LSA和二类LSA转化成三类LSA在其他区域泛洪,去学习去往该目的的网段。

三类LSA它是由ABR产生的, 是用来向另一相区域通告自己区域的这样的一个路由,它是由ABR向别的区域进行通告。

Link State ID:在3类它代表的是路由的目的网络地址,

Advertising Router:通告路由器是生成该LSA的Router ID,也就是ABR的Router ID。

Network Mask:路由的网络掩码。

metric:到目的网络的路由开销。

当R4通过一类和二类LSA会给R2之后,R2学习了这条路由条目,现在他向其它区域去传播的时候,要把它转成三类LSA,第一个Ls id代表访问目的网段是192.168.1.0,开销是1,三类LSA里面所描述的开销是ABR到达192.168.1.0的开销,所以其它区域要去访问192.168.1.0开销是不是从R5到达192.168.1.0开销的总和。

 R2传给R1之后,R1再传给R3,R3再传给R5,但是他们的开销取值是什么呢?

ABR所传递的三类LSA,LSA里面的开销是指ABR去往目的网段192.168.1.0的开销,所以R1去往目的网段的开销是不是要加上这一段的开销,R2也就是ABR它所传递的三类LSA的开销,是自己本身去往目的网段的开销等于1,但是R1去往目的网段开销是不是还要去计算自己到ABR,也就是去往R2网段的开销,所以开销是一个累计和的概念。同理比如说R3还是R5去往192.168.1.0的开销,首先他们要计算如何去往R2,然后再加上R2运往目的的网段的这段开销,这是开销的一个计算概念。

如何去判断谁是ABR呢,如果给了网络拓扑,其实可以比较简单明了的知道哪个路由器ABR,因为只要它的一个接口属于骨干区域,其它接口属于别的区域,它就是区域边界路由器ABR,如果没有拓扑,怎么判断。其中的B比特位就代表了谁是ABR,是不是一类LSA中的B(Border),代表了谁是ABR,一类LSA中能够表明ABR的身份。也可以通过其它的命令的方式去查看谁是ABR,谁是ASBR,比如说可以通过display ospf abr-asbr。

R3作为ABR它向别的区域去泛洪的时候,它自己其实也能够算出去往目的的网段,去往192.168.1.0的开销,包含了自己本段的开销值,然后通告给R5,R5的开销只需要自己加上自己去往R3的开销,那么R3去往目的网段的开销,就可以去计算去往192.168.1.0开销的总和等于1+3。这里有个问题,R3再向R5通告这条三类LSA的时候,它会有怎么的变化呢,三类LSA里面的通告路由器是不是代表ABR的Router ID,那么这里可能会发生一个非常小小的变化,R2是不是作为ABR,向区域0里面去通告三类LSA,所以该三类LSA的Advertise Router是ABR也就是R2的Router,但是R3再向R5通告的时候,还是这三条LSA,只不过会把他的通告都路由器改成了R3,不再是R2,因为R3它自己本身也是一个ABR,我向别的区域去传播是由我来通告的,所以通告者路由器这样一个字节会变成自己的Router ID。

通过计算验证,查看R1的路由表,会发现它去往192.168.1.0的开销等于2,然后R3,R5它的取值开销会发生变化,也就是说这样一上区间路由计算就是这样的一个工作机制。

区域间路由防环机制

 假设网络拓扑如图所示,首先R2向区域0里面去通告192.168.1.0,这个区域间路由,三类LSA给R1,R1传给R3,R3传给R5,R5再传给R4,R4又将这条路由传回给始发的区域1中,那么这样就会导致路由成环,所以区域间也要有一定的防环规则。

在OSPF中,非骨干区域之间进行路由信息交互的过程中定义了一个规则,假设区域1,区域3,区域2和骨干区域0相连,如果非骨干区域之间可以直接互相通信,同是它们又能够和骨干区域互相通信,这样是不是就形成了一个三角环路,为了避免这条环路形成,将中间某一条链路给它禁止通行,所以定义的规则非骨干区域不能直接通信。他们要经过骨干区域0进行通信,那么这样就避免了一个环路的形成。逻辑上就形成了一个类似于新型的拓扑避免了环路的形成。

区域间路由成环的本质是因为传递三类LSA,按照刚才的拓扑是从始发的这样一个区域,以过一系列的交互,最后三类LSA的路由信息又发回给始发区域,所以定义从某个区域传递过来的三类LSA,不会再重新传回过过去,避免了三类LSA的环路。

第三类防环机制是比较重要的,也是去需要理解的,是ABR从非骨干区域收到的三类LSA不能够用于路由计算,假设网络拓扑如上图所示,R1,R2,R3,R4组成了骨干区域0,R3,R4,R5,R6组成了区域1,现在R2上的Loopback0上面有个10.0.2.2这条路由信息,那么问题是什么呢?R2上面将这条路由以三类LSA的形式传递给R4,R4传递给R6,R6传递给R5,R5再传递给R3,现在R1和R2以及R3和R4之间链路中断,链路中断就会导致骨干区域不连续不完整,骨干区域不完整之后会造成怎么的问题呢?按照这条规则,R1和R3学习到的3类LSA,是从非骨干区域收到的,那么这是不能用于路由计算的,而R1、R2、R3、R4之间它们中间的网段断开了,从非骨干传回来的三类LSA又不能够进行路由计算,导致R1和R3无法计算去往10.0.2.2的这条路由,所以就无法和R2进行一个通信。

所以区域间路由防环机制3虽然可以帮助我们解决环路问题,但是在特殊的应用场景下,会导致无法正常进行通信。那么如何解决如果骨干区域不连续的这样的一个问题呢。

虚连接的作用及配置

 虚链接,在现网中一般是不推荐使用的,为什么又有这样一个技术,因为在早期的时候,网络组网并不是那么规范,会导致很多骨干区域并不能直接相连,如果为了要去使用OSPF这个协议进行整个网络的改造,那么所花费的成本和精力会非常庞大,可以不太想去使用这个协议,有没有办法在不改变网络架构的情况下,依然在原有的网络基础之上,能够去实现不连续的骨干区域之间能够互相通信。所以就衍生出了虚连接这个技术,这个技术要求在物理并不是直接连续的,通过这个技术能够实现骨干区域在逻辑上进行一个连续。

如上图,左边是区域0,中间中区域1,右边是区域2,明显区域2和骨干区域不是直接相连的,也就是说他无法和骨干去直接进行互相通信,那么怎么办,通过配置一个虚链接,逻辑上认为区域2穿越区域1,和骨干区域相连,类似于在区域0和区域2之间打通了一条隧道,把它们连接在一起,实现一个互相通信。在配置上的要求是这两个ABR上面必须有一个接口,在同一个区域,比如说在区域1,它们互相指向了对端的Router ID。

课后实验。

假设在区域2后面还有一个区域3,它是否能够再接一条虚链接,去实现区域0之间进行互通。

三类LSA其实是比较简单的,它是为了帮助去实现一类和二类LSA在区域间的传递,所以要把它转换成三类LSA,去传播,但是在传递的过程中,会有各种各样的问题,比如开销,以及路由如何去防环的。同是还要知道OSPF为什么要划分区域,单区域过大会导致什么问题。至此是否可以反过来总结一下,关于OSPF这个协议它能够给我们实现一个防环的这样的机制,是如何帮助我们解决环路的问题,第一个,如歌是在同一个区域内,是否有SPF算法帮助我们去解决环路问题,第二个,区域间是否有它的这样的一个连接规则,帮助我们去解决环路问题,哪三个连接规则,第一个,非骨干区域之间的信息交互是不是必须要经过骨干区域,第二个,三类LSA从某个始发区域传过来之后,不会再重新注入回该区域,第三个,从非骨干区域传递过来的三类LSA ,不用于路由计算,那么这是区域间的防环机制。那么到此这两个组合在一起,是不是就形成了完美的OSPF整个协议的一个防环机制。

外部路由计算

 OSPF能够支持引入外部路由的能力,那么在什么应用场景下,需要引用外部路由呢?比如说在网络企业设备的边缘,路由器连接的通过静态路由或者BGP这样的网络,第二种是服务器直连的网络和内部的网络没有开启OSPF协议,没有办法进行直接的路由学习,那么面对上面的场景,就需要将这些网络引入到OSPF中,帮助去实现内部去访问外部的网络。

引入外部网络之后会怎么呢? ASBR,自治系统边界路由器,在OSPF中,只要某台路由器它引入了外部网络路由,它就可以称为ASBR,比如图中的R1,在OSPF协议里面执行import-route然后引用相应的路由协议,那么这台路由器它就会成为ASBR,ASBR引用的外部信息会以AS-external,也就是5类LSA的形式,出现在数据库中,5类LSA它会有什么特点,又如何通过5类LSA计算去往外部的路由信息。

在5类LSA的 LS ID里面, 它代表的是外部路由的目的地址,然后子网掩码以及通告路由器,这里有一个E比特位,它代表开销所使用的类型,是Type1,还是Type2,这两个什么区别。最后一个有一个叫做Forwarding Address,也可以叫做FA,它表明了所通告目的地址的报文将衩转发到这个地址上,正常情况下,这个FA的取值是0.0.0.0,它代表如果别的路由器收到了5类LSA之后去查看FA,如果想要去访问外部网络,发现这个FA是0.0.0.0,代表就要转发给ASBR,实现路由的转发,但是在一些特殊的应用场景下,这个FA的取值如果不为0的话,可以帮助我们去解决一个次优路径的问题。

FA的应用场景。

 R1、R2、R3通过交换机互联,它们是一个广播型网络,R1和R2之间运行的是OSPF协议,R2和R3之间运行了另一种协议,比如说是RIP协议,现在R3上面有一个直连网段是192.168.1.0/24,现在R2引入外部路由,充当ASBR,将192.168.1.0的网段引进到OSPF中,传递给R1,这个时候,R2充当ASBR它所产生的5类LSA里面的FA,正常情况下,取值是0.0.0.0,代表它本身,也就是说R1要去访问外部网络,就去找ASBR,传给ASBR,由ASBR去访问R3,好像没有什么问题,但实际上,R1去访问R3的192.168.1.0这个网段,因为R1、R2、R3在同一个MA网络里面,所以R1直接访问是不是更快,所以R2在传给R1 5类LSA中,会将FA的地址由0.0.0.0改为R3的接口地址,那么R1学习到该5类 LSA地址之后,发现它的FA是R3接口的IP地址,所以R1去访问192.168.1.0会直接访问R3,而不从R2走,这样就避免了一个次优路径,这是一个FA地址简单的应用。

 正常情况下,ASBR所传递的5类 LSA,  它的FA都是0.0.0.0,代表自己本身,那么只要内部路由想要访问外部路由,都要通过ASBR去帮助实现访问。

5类LSA会在所有区域里面面泛洪,除了特殊区域。

 R1现在引入了一个直连路由,那么直连路由是和服务器连接的地址,这个5类LSA地址192.168.1.0代表的是目的网段,也就是服务器引用的外部路由这个地址,以及掩码和开销,同是在达里也能够看到这个FA为0.0.0.0,

整个路由计算过程中会遇到怎样的问题,

 R1会将一条外部路由引进到 OSPF中,外部路由是以叶子的形式挂在R1上面,然后R1会将5类LSA在区域0里面进行泛洪,R3收到之后,要经过R1才能访问192.168.1.0网段,同是因为R3和R1都属于骨干区域,所以在同一区域,通过SPF计算就能够知道如何去往R1及R3去往192.168.1.0的开销是多少,同理R2也是一样。但是这个时候有一个问题,5类LSA会在所有区域里泛洪,R5和R1不在同一个区域,R5收到这5类LSA之后,是如何计算这条外部路由信息的呢?

这里就衍生出一个新的LSA类型,就是4类LSA,ASBR-Summary LSA,这个4类LSA又是ASBR产生的,它描述的是到达ASBR的路由。

LS ID代表的是ASBR的Router ID,然后开销代表的是去往目的的路由开销,那么这个目的是不是就是ASBR,也就是说R3所通知的4类LSA里面的开销是自己如何去往ASBR的开销,R5和R3在同一个区域,通过SPF算法能够计算出开销,同时R1所发布的5类LSA是不是描述了本身自己到达外部路由的开销,这样R5就能够通过这样的计算方式先到达ABR, 然后再到达ASBR。

现在ASBR去往外部的路由,这一段总的路程开销总和计算出来路由信息,也就是说R3再向别的区域去传递5类LSA的时候,同是也会生成一条4类的LSA,表明ASBR是谁,去往ASBR的开销是多少,指导其他区域的路由器访问外部网络,先通过我然后再通过ASBR,一步步到达、计算去往外部的路由信息。这就是4类LSA它的作用,这里注意的一点的是,在引入外部路由的本区域内并没有4类LSA的泛洪的,

R5路由计算过程

R1引入关于192.168.1.0的外部路由,开成5类LSA,在整个区域里面进行泛洪,同时R3作为ABR向R5去泛洪5类LSA的时候,同时会生成一条4类LSA,告诉R5,ASBR是谁,ABR到达ASBR的开销是多少,最后去计算路由,但是这里有个问题,看一下R3和R5的OSPF路由表,关于去往192.168.1.0/24的这条路由,会发现它们的开销都是1,是不是有问题。为什么,如果说R3去往192.198.1.0的开销这一段等于1,那么R5明显比R3去往192.168.1.0的开销大,因为R3和R5之间有一段开销,同是开销取值范围最小是不是等于1,那么R3和R5之间如果说等于1的话,那么它的开销应该最小应该等于2才对。那么为什么R3和R5去往同一目的网段的开销都等于1呢?这就涉及到了开销的计算方式。

OSPF外部路由,开销的这样的一个计算方式,分为两种类型,一种是Type-1,另一种是Type-2.

Type1,如果外部开销和内部开销的路由开销相当,这种情况下就会计算开销的时候,将OSPF协议的内部开销加上ASBR到达外部的路由开销。也就是说,ASBR去往外部网络的开销它的数量级和OSPF内部开销的这样的一个数量级是处于同一个级别,比如说大概都在10左右。那么则认为在计算整个内部路由器到达外部网络的时候,整个OSPF内部路由的开销也要计算上。如果外部路由的开销数量级远远大于内部开销,就可以把内部开销忽略不计,只算外部开销。

默认开销类型是2,只算外部开销,不算内部开销。R1引入外部路由之后,这一段的开销等于1,那么默认的一个开销类型是Type-2,只算外部,所以R1将这条外部路由引入之后传递给其他设备,其他设备学习去往这条192.168.1.0的开销全部等于1,这里有个问题,外部路由的开销和内部路由的开销它的数量级别是相似的,都是大概1~5之间,R1和R3等于1,R3和R5之间也等于1,如果你忽略内部的话,这样会有一些问题的产生,于是如果内部和外部开销的数量级差别不大的情况下,可以把类型改为类型1,案例中这条命令就是在import-router direct引用直连路由的时候,把它的类型改成了1类型,同是设置了外部的开销为1,那么这样其他路由学习到外部路由之后,会同是加上自己的内部趾开销,以R5为例,1+1+1=3,所以它的路由表里面关于192.168.1.0这条路由的开销为3,类型等于1。

OSPF支持引用外部路由协议,引用外部路由协议之后,它又会衍生出两种不同类型的LSA,一种是5类,一种是4类。5类所描述的是如何去往外部路由,它会在所有区域进行泛洪,那么4类LSA是为了描述ASBR是谁,ABR去往ASBR的开销。同是在引入外部路由过程中会提出两种度量值的概念,一种是Type1,一种是Type2,那么不同的度量值在不同的应用场景下是有所区别的。

本单内容主要学习了不同类型的LSA,以及这些LSA在OSPF路由计算的过程中会起到怎么的作用,那么我们所需要去理解的是什么呢?第一个,它些LSA分哪些类型,第二个它的作用是什么,第三个它的传播范围是什么,是在本区域内传播还是在区域间传播。

OSPF的邻接关系和LSA实验

在R1、R2、R3、R4这几台设备上是通过交换机互联的,通过干预DR和BDR的选举,通过设备,去控制选举,使得R3作为DR,R2作为BDR,R3,R4为Drother的角色。本次实验,了解多路访问网络中,如果有多台路由器接入的时候,它们的邻居是怎么建立起来的,然后通过怎么样的方式去影响这几台路由器中关于DR、BDR的选举,且这5种类型的LSA它的内容,以及在什么场景下起作用。

那么我们先来明确一下,本次实验的配置步骤。

第一步,按照拓扑图及数据规划在每台设备上的对应接口上配置正确的 IP地址。

第二步,根据规划,配置OSPF的多区域,比如说R4这台设备,它是某些接口在区域0,某些接口在区域1,在需要配置的时候,创建两个区域,area0,area1。接着在对应的接口上去发布相应的网段。

第三步,检查OSPF的配置结果。通过一些常见的display命令,去查看OSPF的状态,比如说查看邻居,查看路由表,或者查看 LSDB。

第四步,接着的话想要通过手动修改的方式去干预这4台路由器也就是落在区域0中这几台路由器的选举。

第五步,需要把R5的Loopback0接口路由引入进来,引入到 OSPF当中,看一看在R1这一侧,观察到学习到的5类的LSA,同时也可以单独的看一下Type1、Type2、Type3、Type4p 这4类LSA,通过R1上的debug的功能,去查看LSU、LSAck、LSR的报文,方便后续在做故障处理或者运维的时候,能够清晰的通过这些报文里面获取到一些有用的信息。

 对于OSPF的R4路由器,它是有4个邻居,但是只有三个到达了稳定的邻接的状态,其中有一台设备处于2-way的状态,为什么会处于2-way的状态,是因为这几台设备R1、R2、R3、R4是处于一个广播型的网络当中,那么在广播型网络当中会产生一次关于OSPF的角色选举,其中就涉及到DR、BDR和DRother的角色。其它的落选的设备就是会称为是DRother的角色。所以像R4这台设备,它是跟其它的DR的设备是没法建立起稳定的full的一个状态的邻接关系的,我们可以观察到,最后只是停留在了2-Way的一个状态。没有到达邻接的关系。

查看一下R4这台设备的路由表,

 10.0.4.0的网段,10.0.1.0,10.0.2.0,10.0.3.0.

在R5上这台设备看一下display ospf lsdb.

 可以观察到是有两条1类的LSA,分别描述的是10.0.5.5和 10.0.4.4,剩余的话除了一条2类的,剩下的都是Type3类的LSA,是从R4向R5通告的域间的路由信息,接着看一下R2设备的一些状态。

 有2类LSA以及1类的还有3类的一些LSA的信息,对于2类的LSA的话,通过他的AdvRouter,通告路由器,可以看到,生成这条2类的LSA的设备是10.0.4.4,也就是对应的设备是R4这台设备,也就可以判断出R4就是它个网段当中的DR。

下一步,试着去影响一下DR的选举。比如想把R1 路由器的接口作为这个网段当中的DR,进入到R1的接口视图下,去修改对应的ospf的DR优先级。

 R2改成254,

 R3改成0,当某个接口的DR优先级改成0了之后,他就不会再参与选举了。

 因为ospf中dr的选举是非抢占的模式,那么为了验证DR选举的影响,需要先把接口关闭,再次打开,去重新触发本网段的DR选举,

通过display ospf beer显示邻居详细信息。

可以看到DR现在是 10.0.123.1, BDR是10.0.123.2,符合我们的预期。因为它的优先级一个是255,一个是254,那么R3这台设备,因为修改了它的优先级为0,所以它是不会参与选举的,当查看了邻居状态信息之后,也可以得出几个结论,即不是DR也不是BDR的路由器,那就是DrOther角色。它是会跟DR和BDR稳定的形成一个full的状态,邻接关系。会跟其它Drother进入到一个2-2way状态,单纯的邻居的一个关系的状态。可以通过display ospf peer brief简单的查看一下邻居的信息。

接着的话在R5这台设备上,还有一些外部的路由需要引入,也就是Loopback 0这条网段,怎么进行引入,可以通过import的命令,把它引用进来,在R5的设备上,在OSPF的进程中,通过命令import route direct,

 把这条外部路由给它引入进来,接着查看一下OSPF的路由信息,

 在R1这台设备上查看OSPF路由信息,是否有外部的路由信息,可以看到已经能这看到10.0.5.0/24这条路由信息,它是一个Type2的外部引入的一条路由信息,那么已经是以外部路由的形式存在了,可以通过display ospf lsdb ase来看到这一条外部的LSA信息。

 这条5类LSA存在两条,分别的ls id是10.0.5.0,是通过10.0.5.5发布的,还有一条10.0.45.0,,也是10.0.5.5这台路由器发布出来的,这两条的话,可以看到,在R1的路由表中,外部路由只存在一条10.0.5.0,这是因为10.0.45.0,除了刚才这条5类LSA描述,它还存在区域间路由来进行描述。

对于10.0.45.0,它是要吧通过区域间的路由来进行描述,域间路由的优先级是高于外部路由的,所以最后在OSPF的路由表当中,10.0.45.0不是以外部路由的形式存放在OSPF的路由表里面。

接着看一下,在R1上面的三类LSA,

<R1>display ospf lsdb summary OSPF Process 1 with Router ID 10.0.1.1Area: 0.0.0.0Link State Database Type      : Sum-NetLs id     : 10.0.1.0Adv rtr   : 10.0.1.1  Ls age    : 409 Len       : 28 Options   :  E  seq#      : 8000000f chksum    : 0x5addNet mask  : 255.255.255.0Tos 0  metric: 0Priority  : LowType      : Sum-NetLs id     : 10.0.45.0Adv rtr   : 10.0.4.4  Ls age    : 411 Len       : 28 Options   :  E  seq#      : 8000000f chksum    : 0x57adNet mask  : 255.255.255.0Tos 0  metric: 1Priority  : LowArea: 0.0.0.2Link State Database Type      : Sum-NetLs id     : 10.0.3.0Adv rtr   : 10.0.1.1  Ls age    : 431 Len       : 28 Options   :  E  seq#      : 8000000d chksum    : 0x52e4Net mask  : 255.255.255.0Tos 0  metric: 1Priority  : LowType      : Sum-NetLs id     : 10.0.2.0Adv rtr   : 10.0.1.1  Ls age    : 436 Len       : 28 Options   :  E  seq#      : 8000000d chksum    : 0x5ddaNet mask  : 255.255.255.0Tos 0  metric: 1Priority  : LowType      : Sum-NetLs id     : 10.0.4.0Adv rtr   : 10.0.1.1  Ls age    : 294 Len       : 28 Options   :  E  seq#      : 8000000d chksum    : 0x47eeNet mask  : 255.255.255.0Tos 0  metric: 1Priority  : LowType      : Sum-NetLs id     : 10.0.45.0Adv rtr   : 10.0.1.1  Ls age    : 294 Len       : 28 Options   :  E  seq#      : 8000000d chksum    : 0x8c7fNet mask  : 255.255.255.0Tos 0  metric: 2Priority  : LowType      : Sum-NetLs id     : 10.0.123.0Adv rtr   : 10.0.1.1  Ls age    : 414 Len       : 28 Options   :  E  seq#      : 8000000f chksum    : 0x219bNet mask  : 255.255.255.0Tos 0  metric: 1Priority  : Low<R1>

同样有10.0.45.0的描述,掩码24位,

一类的LSA信息,可以看到,

<R1>display ospf lsdb router 10.0.1.1OSPF Process 1 with Router ID 10.0.1.1Area: 0.0.0.0Link State Database Type      : RouterLs id     : 10.0.1.1Adv rtr   : 10.0.1.1  Ls age    : 476 Len       : 36 Options   :  ABR  E  seq#      : 8000001c chksum    : 0x50dLink count: 1* Link ID: 10.0.123.1   Data   : 10.0.123.1   Link Type: TransNet     Metric : 1Area: 0.0.0.2Link State Database Type      : RouterLs id     : 10.0.1.1Adv rtr   : 10.0.1.1  Ls age    : 583 Len       : 36 Options   :  ABR  E  seq#      : 80000010 chksum    : 0xff20Link count: 1* Link ID: 10.0.1.0     Data   : 255.255.255.0 Link Type: StubNet      Metric : 0 Priority : Low<R1>

在1类的LSA当中,Ls id代表的是生成了这条LSA的路由ID号,那么同样可以看到R1这边的话生成了两条一类LSA,一条在区域0当中泛洪,一条在区域2当中泛洪,那么这个区域0中,R1的话,它又会与另外一个Transit的网段来进行连接,可以看到它的link id是网段上的DR的接口地址,也就是10.0.123.1。在区域2当中的话,R1的Loopback 0地址属于这个接口,LinkType类型是StubNet,Link ID 也是对应的网段IP地址10.0.1.0/24。

 假设在R2这台设备上看一下二类LSA,可以看到,对应的二类LSA的信息,因为二类LSA信息的话是由DR产生的,所以它是由10.0.1.1的这台路由器产生的,描述了R1,R2,R3,R4这4台路由器分别接入在同一个广播型的网段里面。

在R1上看一下三类LSA,可以看到,有两条三类LSA,一条由10.0.4.4发布,一条由10.0.1.1发布的,那么三类LSA的话呢,他的ls-id,它的字段值表示的是表示的是网络前缀10.0.45.0,掩码表示的是网段。在R1上面,一条是在区域0发布,一条是在区域2里面发布,那么从Adv Router可以看出,一条是由R4产生的,一条是由R1产生的,因为这两台设备刚好在拓扑图里面是处于ABR的一个位置,分别处于两个不同的区域的。

在R1上查看一下4类LSA,可以观察到,有两条,同样是由ABR所产生的,因为4类LSA是要来描述怎么去到达ASBR,那么从输出信息上可能看到的话,一条是R4,一条是R1自己本身产生的,那么以上就是观察到的一些常见的LSA的一个信息。

通过一些debug命令,查看一下报文的交互状态。

在R1上开启调试,在R4上取消发布网段10.0.4.4.

<R1>terminal debugging
Info: Current terminal debugging is on.
<R1>terminal monitor
Info: Current terminal monitor is on.
<R1>debugging ospf packet ack
<R1>debugging ospf packet update
<R1>
Jun 22 2025 10:23:20.97.1-08:00 R1 RM/6/RMDEBUG:FileID: 0xd0178024 Line: 2236 Level: 0x20OSPF 1: RECV Packet. Interface: GigabitEthernet0/0/1
<R1>
Jun 22 2025 10:23:20.97.2-08:00 R1 RM/6/RMDEBUG:  Source Address: 10.0.123.4
<R1>
Jun 22 2025 10:23:20.97.3-08:00 R1 RM/6/RMDEBUG:  Destination Address: 224.0.0.6<R1>
Jun 22 2025 10:23:20.97.4-08:00 R1 RM/6/RMDEBUG:  Ver# 2, Type: 4 (Link-State Up
date)
<R1>
Jun 22 2025 10:23:20.97.5-08:00 R1 RM/6/RMDEBUG:  Length: 64, Router: 10.0.4.4
<R1>
Jun 22 2025 10:23:20.97.6-08:00 R1 RM/6/RMDEBUG:  Area: 0.0.0.0, Chksum: 782d
<R1>
Jun 22 2025 10:23:20.97.7-08:00 R1 RM/6/RMDEBUG:  AuType: 00
<R1>
Jun 22 2025 10:23:20.97.8-08:00 R1 RM/6/RMDEBUG:  Key(ascii): * * * * * * * *
<R1>
Jun 22 2025 10:23:20.97.9-08:00 R1 RM/6/RMDEBUG:  # LSAS: 1
<R1>
Jun 22 2025 10:23:20.97.10-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:23:20.97.11-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.4.4
<R1>
Jun 22 2025 10:23:20.97.12-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:23:20.97.13-08:00 R1 RM/6/RMDEBUG:    LSA Age: 1
<R1>
Jun 22 2025 10:23:20.97.14-08:00 R1 RM/6/RMDEBUG:    Options: ExRouting:ON
<R1>
Jun 22 2025 10:23:20.97.15-08:00 R1 RM/6/RMDEBUG:    Length: 36, Seq# 8000001a
<R1>
Jun 22 2025 10:23:20.97.16-08:00 R1 RM/6/RMDEBUG:    CheckSum: cc38
<R1>
Jun 22 2025 10:23:20.97.17-08:00 R1 RM/6/RMDEBUG:    NtBit: 0  VBit: 0 EBit: 0 B
Bit: 1
<R1>
Jun 22 2025 10:23:20.97.18-08:00 R1 RM/6/RMDEBUG:    # Links: 1
<R1>
Jun 22 2025 10:23:20.97.19-08:00 R1 RM/6/RMDEBUG:    LinkID: 10.0.123.1
<R1>
Jun 22 2025 10:23:20.97.20-08:00 R1 RM/6/RMDEBUG:      LinkData: 10.0.123.4
<R1>
Jun 22 2025 10:23:20.97.21-08:00 R1 RM/6/RMDEBUG:      LinkType: 2
<R1>
Jun 22 2025 10:23:20.97.22-08:00 R1 RM/6/RMDEBUG:      TOS# 0 Metric 1
<R1>
Jun 22 2025 10:23:20.97.23-08:00 R1 RM/6/RMDEBUG:  
<R1>
Jun 22 2025 10:23:20.97.24-08:00 R1 RM/6/RMDEBUG:FileID: 0xd0178021 Line: 2450 Level: 0x20OSPF 1: SEND Packet. Interface: GigabitEthernet0/0/1
<R1>
Jun 22 2025 10:23:20.97.25-08:00 R1 RM/6/RMDEBUG:  Source Address: 10.0.123.1
<R1>
Jun 22 2025 10:23:20.97.26-08:00 R1 RM/6/RMDEBUG:  Destination Address: 224.0.0.
5
<R1>
Jun 22 2025 10:23:20.97.27-08:00 R1 RM/6/RMDEBUG:  Ver# 2, Type: 4 (Link-State U
pdate)
<R1>
Jun 22 2025 10:23:20.97.28-08:00 R1 RM/6/RMDEBUG:  Length: 64, Router: 10.0.1.1
<R1>
Jun 22 2025 10:23:20.97.29-08:00 R1 RM/6/RMDEBUG:  Area: 0.0.0.0, Chksum: 7b2f
<R1>
Jun 22 2025 10:23:20.97.30-08:00 R1 RM/6/RMDEBUG:  AuType: 00
<R1>
Jun 22 2025 10:23:20.97.31-08:00 R1 RM/6/RMDEBUG:  Key(ascii): * * * * * * * *
<R1>
Jun 22 2025 10:23:20.97.32-08:00 R1 RM/6/RMDEBUG:  # LSAS: 1
<R1>
Jun 22 2025 10:23:20.97.33-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:23:20.97.34-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.4.4
<R1>
Jun 22 2025 10:23:20.97.35-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:23:20.97.36-08:00 R1 RM/6/RMDEBUG:    LSA Age: 2
<R1>
Jun 22 2025 10:23:20.97.37-08:00 R1 RM/6/RMDEBUG:    Options: ExRouting:ON
<R1>
Jun 22 2025 10:23:20.97.38-08:00 R1 RM/6/RMDEBUG:    Length: 36, Seq# 8000001a
<R1>
Jun 22 2025 10:23:20.97.39-08:00 R1 RM/6/RMDEBUG:    CheckSum: cc38
<R1>
Jun 22 2025 10:23:20.97.40-08:00 R1 RM/6/RMDEBUG:    NtBit: 0  VBit: 0 EBit: 0 B
Bit: 1
<R1>
Jun 22 2025 10:23:20.97.41-08:00 R1 RM/6/RMDEBUG:    # Links: 1
<R1>
Jun 22 2025 10:23:20.97.42-08:00 R1 RM/6/RMDEBUG:    LinkID: 10.0.123.1
<R1>
Jun 22 2025 10:23:20.97.43-08:00 R1 RM/6/RMDEBUG:      LinkData: 10.0.123.4
<R1>
Jun 22 2025 10:23:20.97.44-08:00 R1 RM/6/RMDEBUG:      LinkType: 2
<R1>
Jun 22 2025 10:23:20.97.45-08:00 R1 RM/6/RMDEBUG:      TOS# 0 Metric 1
<R1>
Jun 22 2025 10:23:20.97.46-08:00 R1 RM/6/RMDEBUG:  
<R1>
Jun 22 2025 10:23:20.187.1-08:00 R1 RM/6/RMDEBUG:FileID: 0xd0178024 Line: 2236 Level: 0x20OSPF 1: RECV Packet. Interface: GigabitEthernet0/0/1
<R1>
Jun 22 2025 10:23:20.187.2-08:00 R1 RM/6/RMDEBUG:  Source Address: 10.0.123.2
<R1>
Jun 22 2025 10:23:20.187.3-08:00 R1 RM/6/RMDEBUG:  Destination Address: 224.0.0.
5
<R1>
Jun 22 2025 10:23:20.187.4-08:00 R1 RM/6/RMDEBUG:  Ver# 2, Type: 5 (Link-State A
ck)
<R1>
Jun 22 2025 10:23:20.187.5-08:00 R1 RM/6/RMDEBUG:  Length: 44, Router: 10.0.2.2
<R1>
Jun 22 2025 10:23:20.187.6-08:00 R1 RM/6/RMDEBUG:  Area: 0.0.0.0, Chksum: 874a
<R1>
Jun 22 2025 10:23:20.187.7-08:00 R1 RM/6/RMDEBUG:  AuType: 00
<R1>
Jun 22 2025 10:23:20.187.8-08:00 R1 RM/6/RMDEBUG:  Key(ascii): * * * * * * * *
<R1>
Jun 22 2025 10:23:20.187.9-08:00 R1 RM/6/RMDEBUG:  # LSA Headers: 1
<R1>
Jun 22 2025 10:23:20.187.10-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:23:20.187.11-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.4.4
<R1>
Jun 22 2025 10:23:20.187.12-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:23:20.187.13-08:00 R1 RM/6/RMDEBUG:    LSA Age: 2
<R1>
Jun 22 2025 10:23:20.187.14-08:00 R1 RM/6/RMDEBUG:    Options: ExRouting:ON
<R1>
Jun 22 2025 10:23:20.187.15-08:00 R1 RM/6/RMDEBUG:    Length: 36, Seq# 8000001a
<R1>
Jun 22 2025 10:23:20.187.16-08:00 R1 RM/6/RMDEBUG:    CheckSum: cc38
<R1>
Jun 22 2025 10:23:20.187.17-08:00 R1 RM/6/RMDEBUG:  
<R1>
Jun 22 2025 10:23:20.457.1-08:00 R1 RM/6/RMDEBUG:FileID: 0xd0178024 Line: 2236 Level: 0x20OSPF 1: RECV Packet. Interface: GigabitEthernet0/0/1
<R1>
Jun 22 2025 10:23:20.457.2-08:00 R1 RM/6/RMDEBUG:  Source Address: 10.0.123.3
<R1>
Jun 22 2025 10:23:20.457.3-08:00 R1 RM/6/RMDEBUG:  Destination Address: 224.0.0.
6
<R1>
Jun 22 2025 10:23:20.457.4-08:00 R1 RM/6/RMDEBUG:  Ver# 2, Type: 5 (Link-State A
ck)
<R1>
Jun 22 2025 10:23:20.457.5-08:00 R1 RM/6/RMDEBUG:  Length: 44, Router: 10.0.3.3
<R1>
Jun 22 2025 10:23:20.457.6-08:00 R1 RM/6/RMDEBUG:  Area: 0.0.0.0, Chksum: 8648
<R1>
Jun 22 2025 10:23:20.457.7-08:00 R1 RM/6/RMDEBUG:  AuType: 00
<R1>
Jun 22 2025 10:23:20.457.8-08:00 R1 RM/6/RMDEBUG:  Key(ascii): * * * * * * * *
<R1>
Jun 22 2025 10:23:20.457.9-08:00 R1 RM/6/RMDEBUG:  # LSA Headers: 1
<R1>
Jun 22 2025 10:23:20.457.10-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:23:20.457.11-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.4.4
<R1>
Jun 22 2025 10:23:20.457.12-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:23:20.457.13-08:00 R1 RM/6/RMDEBUG:    LSA Age: 3
<R1>
Jun 22 2025 10:23:20.457.14-08:00 R1 RM/6/RMDEBUG:    Options: ExRouting:ON
<R1>
Jun 22 2025 10:23:20.457.15-08:00 R1 RM/6/RMDEBUG:    Length: 36, Seq# 8000001a
<R1>
Jun 22 2025 10:23:20.457.16-08:00 R1 RM/6/RMDEBUG:    CheckSum: cc38
<R1>
Jun 22 2025 10:23:20.457.17-08:00 R1 RM/6/RMDEBUG:  

第一个报文可以看到是由R4这台设备发现的update报文包含了一个网段的通告信息,表示的是10.0.4.4,接着收到了两条LSACk信息,一条来自R2, 一条来自R3,通告的地址是224.0.0.65,和224.0.0.6,这个报文是由R1发送给DR和BDR的。而由R3的话,它的目的地是224.0.0.5的一个组播地址,现在在把取消的网段再次给它发布进行。

<R1>
Jun 22 2025 10:47:12.667.1-08:00 R1 RM/6/RMDEBUG:FileID: 0xd0178024 Line: 2236 Level: 0x20OSPF 1: RECV Packet. Interface: GigabitEthernet0/0/1
<R1>
Jun 22 2025 10:47:12.667.2-08:00 R1 RM/6/RMDEBUG:  Source Address: 10.0.123.4
<R1>
Jun 22 2025 10:47:12.667.3-08:00 R1 RM/6/RMDEBUG:  Destination Address: 224.0.0.
6
<R1>
Jun 22 2025 10:47:12.667.4-08:00 R1 RM/6/RMDEBUG:  Ver# 2, Type: 4 (Link-State U
pdate)
<R1>
Jun 22 2025 10:47:12.667.5-08:00 R1 RM/6/RMDEBUG:  Length: 76, Router: 10.0.4.4
<R1>
Jun 22 2025 10:47:12.667.6-08:00 R1 RM/6/RMDEBUG:  Area: 0.0.0.0, Chksum: f6a2
<R1>
Jun 22 2025 10:47:12.667.7-08:00 R1 RM/6/RMDEBUG:  AuType: 00
<R1>
Jun 22 2025 10:47:12.667.8-08:00 R1 RM/6/RMDEBUG:  Key(ascii): * * * * * * * *
<R1>
Jun 22 2025 10:47:12.667.9-08:00 R1 RM/6/RMDEBUG:  # LSAS: 1
<R1>
Jun 22 2025 10:47:12.667.10-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:47:12.667.11-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.4.4
<R1>
Jun 22 2025 10:47:12.667.12-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:47:12.667.13-08:00 R1 RM/6/RMDEBUG:    LSA Age: 1
<R1>
Jun 22 2025 10:47:12.667.14-08:00 R1 RM/6/RMDEBUG:    Options: ExRouting:ON
<R1>
Jun 22 2025 10:47:12.667.15-08:00 R1 RM/6/RMDEBUG:    Length: 48, Seq# 80000023
<R1>
Jun 22 2025 10:47:12.667.16-08:00 R1 RM/6/RMDEBUG:    CheckSum: 3da0
<R1>
Jun 22 2025 10:47:12.667.17-08:00 R1 RM/6/RMDEBUG:    NtBit: 0  VBit: 0 EBit: 0 
BBit: 1
<R1>
Jun 22 2025 10:47:12.667.18-08:00 R1 RM/6/RMDEBUG:    # Links: 2
<R1>
Jun 22 2025 10:47:12.667.19-08:00 R1 RM/6/RMDEBUG:    LinkID: 10.0.123.1
<R1>
Jun 22 2025 10:47:12.667.20-08:00 R1 RM/6/RMDEBUG:      LinkData: 10.0.123.4
<R1>
Jun 22 2025 10:47:12.667.21-08:00 R1 RM/6/RMDEBUG:      LinkType: 2
<R1>
Jun 22 2025 10:47:12.667.22-08:00 R1 RM/6/RMDEBUG:      TOS# 0 Metric 1
<R1>
Jun 22 2025 10:47:12.667.23-08:00 R1 RM/6/RMDEBUG:    LinkID: 10.0.4.0
<R1>
Jun 22 2025 10:47:12.667.24-08:00 R1 RM/6/RMDEBUG:      LinkData: 255.255.255.0
<R1>
Jun 22 2025 10:47:12.667.25-08:00 R1 RM/6/RMDEBUG:      LinkType: 3
<R1>
Jun 22 2025 10:47:12.667.26-08:00 R1 RM/6/RMDEBUG:      TOS# 0 Metric 0
<R1>
Jun 22 2025 10:47:12.667.27-08:00 R1 RM/6/RMDEBUG:  
<R1>
Jun 22 2025 10:47:12.667.28-08:00 R1 RM/6/RMDEBUG:FileID: 0xd0178021 Line: 2450 Level: 0x20OSPF 1: SEND Packet. Interface: GigabitEthernet0/0/1
<R1>
Jun 22 2025 10:47:12.667.29-08:00 R1 RM/6/RMDEBUG:  Source Address: 10.0.123.1
<R1>
Jun 22 2025 10:47:12.667.30-08:00 R1 RM/6/RMDEBUG:  Destination Address: 224.0.0
.5
<R1>
Jun 22 2025 10:47:12.667.31-08:00 R1 RM/6/RMDEBUG:  Ver# 2, Type: 4 (Link-State 
Update)
<R1>
Jun 22 2025 10:47:12.667.32-08:00 R1 RM/6/RMDEBUG:  Length: 76, Router: 10.0.1.1<R1>
Jun 22 2025 10:47:12.667.33-08:00 R1 RM/6/RMDEBUG:  Area: 0.0.0.0, Chksum: f9a4
<R1>
Jun 22 2025 10:47:12.667.34-08:00 R1 RM/6/RMDEBUG:  AuType: 00
<R1>
Jun 22 2025 10:47:12.667.35-08:00 R1 RM/6/RMDEBUG:  Key(ascii): * * * * * * * *
<R1>
Jun 22 2025 10:47:12.667.36-08:00 R1 RM/6/RMDEBUG:  # LSAS: 1
<R1>
Jun 22 2025 10:47:12.667.37-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:47:12.667.38-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.4.4
<R1>
Jun 22 2025 10:47:12.667.39-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:47:12.667.40-08:00 R1 RM/6/RMDEBUG:    LSA Age: 2
<R1>
Jun 22 2025 10:47:12.667.41-08:00 R1 RM/6/RMDEBUG:    Options: ExRouting:ON
<R1>
Jun 22 2025 10:47:12.667.42-08:00 R1 RM/6/RMDEBUG:    Length: 48, Seq# 80000023
<R1>
Jun 22 2025 10:47:12.667.43-08:00 R1 RM/6/RMDEBUG:    CheckSum: 3da0
<R1>
Jun 22 2025 10:47:12.667.44-08:00 R1 RM/6/RMDEBUG:    NtBit: 0  VBit: 0 EBit: 0 
BBit: 1
<R1>
Jun 22 2025 10:47:12.667.45-08:00 R1 RM/6/RMDEBUG:    # Links: 2
<R1>
Jun 22 2025 10:47:12.667.46-08:00 R1 RM/6/RMDEBUG:    LinkID: 10.0.123.1
<R1>
Jun 22 2025 10:47:12.667.47-08:00 R1 RM/6/RMDEBUG:      LinkData: 10.0.123.4
<R1>
Jun 22 2025 10:47:12.667.48-08:00 R1 RM/6/RMDEBUG:      LinkType: 2
<R1>
Jun 22 2025 10:47:12.667.49-08:00 R1 RM/6/RMDEBUG:      TOS# 0 Metric 1
<R1>
Jun 22 2025 10:47:12.667.50-08:00 R1 RM/6/RMDEBUG:    LinkID: 10.0.4.0
<R1>
Jun 22 2025 10:47:12.667.51-08:00 R1 RM/6/RMDEBUG:      LinkData: 255.255.255.0
<R1>
Jun 22 2025 10:47:12.667.52-08:00 R1 RM/6/RMDEBUG:      LinkType: 3
<R1>
Jun 22 2025 10:47:12.667.53-08:00 R1 RM/6/RMDEBUG:      TOS# 0 Metric 0
<R1>
Jun 22 2025 10:47:12.667.54-08:00 R1 RM/6/RMDEBUG:  
<R1>
Jun 22 2025 10:47:12.997.1-08:00 R1 RM/6/RMDEBUG:FileID: 0xd0178024 Line: 2236 Level: 0x20OSPF 1: RECV Packet. Interface: GigabitEthernet0/0/1
<R1>
Jun 22 2025 10:47:12.997.2-08:00 R1 RM/6/RMDEBUG:  Source Address: 10.0.123.2
<R1>
Jun 22 2025 10:47:12.997.3-08:00 R1 RM/6/RMDEBUG:  Destination Address: 224.0.0.
5
<R1>
Jun 22 2025 10:47:12.997.4-08:00 R1 RM/6/RMDEBUG:  Ver# 2, Type: 5 (Link-State A
ck)
<R1>
Jun 22 2025 10:47:12.997.5-08:00 R1 RM/6/RMDEBUG:  Length: 44, Router: 10.0.2.2
<R1>
Jun 22 2025 10:47:12.997.6-08:00 R1 RM/6/RMDEBUG:  Area: 0.0.0.0, Chksum: 15cd
<R1>
Jun 22 2025 10:47:12.997.7-08:00 R1 RM/6/RMDEBUG:  AuType: 00
<R1>
Jun 22 2025 10:47:12.997.8-08:00 R1 RM/6/RMDEBUG:  Key(ascii): * * * * * * * *
<R1>
Jun 22 2025 10:47:12.997.9-08:00 R1 RM/6/RMDEBUG:  # LSA Headers: 1
<R1>
Jun 22 2025 10:47:12.997.10-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:47:12.997.11-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.4.4
<R1>
Jun 22 2025 10:47:12.997.12-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:47:12.997.13-08:00 R1 RM/6/RMDEBUG:    LSA Age: 3
<R1>
Jun 22 2025 10:47:12.997.14-08:00 R1 RM/6/RMDEBUG:    Options: ExRouting:ON
<R1>
Jun 22 2025 10:47:12.997.15-08:00 R1 RM/6/RMDEBUG:    Length: 48, Seq# 80000023
<R1>
Jun 22 2025 10:47:12.997.16-08:00 R1 RM/6/RMDEBUG:    CheckSum: 3da0
<R1>
Jun 22 2025 10:47:12.997.17-08:00 R1 RM/6/RMDEBUG:  
<R1>
Jun 22 2025 10:47:13.377.1-08:00 R1 RM/6/RMDEBUG:FileID: 0xd0178024 Line: 2236 Level: 0x20OSPF 1: RECV Packet. Interface: GigabitEthernet0/0/1
<R1>
Jun 22 2025 10:47:13.377.2-08:00 R1 RM/6/RMDEBUG:  Source Address: 10.0.123.3
<R1>
Jun 22 2025 10:47:13.377.3-08:00 R1 RM/6/RMDEBUG:  Destination Address: 224.0.0.
6
<R1>
Jun 22 2025 10:47:13.377.4-08:00 R1 RM/6/RMDEBUG:  Ver# 2, Type: 5 (Link-State A
ck)
<R1>
Jun 22 2025 10:47:13.377.5-08:00 R1 RM/6/RMDEBUG:  Length: 44, Router: 10.0.3.3
<R1>
Jun 22 2025 10:47:13.377.6-08:00 R1 RM/6/RMDEBUG:  Area: 0.0.0.0, Chksum: 14cc
<R1>
Jun 22 2025 10:47:13.377.7-08:00 R1 RM/6/RMDEBUG:  AuType: 00
<R1>
Jun 22 2025 10:47:13.377.8-08:00 R1 RM/6/RMDEBUG:  Key(ascii): * * * * * * * *
<R1>
Jun 22 2025 10:47:13.377.9-08:00 R1 RM/6/RMDEBUG:  # LSA Headers: 1
<R1>
Jun 22 2025 10:47:13.377.10-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:47:13.377.11-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.4.4
<R1>
Jun 22 2025 10:47:13.377.12-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:47:13.377.13-08:00 R1 RM/6/RMDEBUG:    LSA Age: 3
<R1>
Jun 22 2025 10:47:13.377.14-08:00 R1 RM/6/RMDEBUG:    Options: ExRouting:ON
<R1>
Jun 22 2025 10:47:13.377.15-08:00 R1 RM/6/RMDEBUG:    Length: 48, Seq# 80000023
<R1>
Jun 22 2025 10:47:13.377.16-08:00 R1 RM/6/RMDEBUG:    CheckSum: 3da0
<R1>
Jun 22 2025 10:47:13.377.17-08:00 R1 RM/6/RMDEBUG:  

R1上又收到了几个新的Update报文和LSAck的一个报文,第一个来自来R4所发现的LSU报文,那么它的LSA的links的一个字段是有两个,多了一个loopback接口的网段,那么下面就是关于R2设备和R3设备发出来的发出的LSACK报文。

观察一下LSR一个报文它是怎么进行的,它的细节是怎么样的,

<R1>
Jun 22 2025 10:56:36.737.2-08:00 R1 RM/6/RMDEBUG:  Source Address: 10.0.123.1
<R1>
Jun 22 2025 10:56:36.737.3-08:00 R1 RM/6/RMDEBUG:  Destination Address: 10.0.123
.2
<R1>
Jun 22 2025 10:56:36.737.4-08:00 R1 RM/6/RMDEBUG:  Ver# 2, Type: 3 (Link-State R
eq)
<R1>
Jun 22 2025 10:56:36.737.5-08:00 R1 RM/6/RMDEBUG:  Length: 156, Router: 10.0.1.1<R1>
Jun 22 2025 10:56:36.737.6-08:00 R1 RM/6/RMDEBUG:  Area: 0.0.0.0, Chksum: 910f
<R1>
Jun 22 2025 10:56:36.737.7-08:00 R1 RM/6/RMDEBUG:  AuType: 00
<R1>
Jun 22 2025 10:56:36.737.8-08:00 R1 RM/6/RMDEBUG:  Key(ascii): * * * * * * * *
<R1>
Jun 22 2025 10:56:36.737.9-08:00 R1 RM/6/RMDEBUG:  # Requesting LSAs: 11
<R1>
Jun 22 2025 10:56:36.737.10-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:56:36.737.11-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.2.2
<R1>
Jun 22 2025 10:56:36.737.12-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.2.2
<R1>
Jun 22 2025 10:56:36.737.13-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:56:36.737.14-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.1.1
<R1>
Jun 22 2025 10:56:36.737.15-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.1.1
<R1>
Jun 22 2025 10:56:36.737.16-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:56:36.737.17-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.3.3
<R1>
Jun 22 2025 10:56:36.737.18-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.3.3
<R1>
Jun 22 2025 10:56:36.737.19-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:56:36.737.20-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.4.4
<R1>
Jun 22 2025 10:56:37-08:00 R1 %%01OSPF/4/NBR_CHANGE_E(l)[18]:Neighbor changes ev
ent: neighbor status changed. (ProcessId=256, NeighborAddress=4.123.0.10, Neighb
orEvent=NegotiationDone, NeighborPreviousState=ExStart, NeighborCurrentState=Exc
hange) 
<R1>
Jun 22 2025 10:56:37-08:00 R1 %%01OSPF/4/NBR_CHANGE_E(l)[19]:Neighbor changes ev
ent: neighbor status changed. (ProcessId=256, NeighborAddress=4.123.0.10, Neighb
orEvent=ExchangeDone, NeighborPreviousState=Exchange, NeighborCurrentState=Loadi
ng) 
<R1>
Jun 22 2025 10:56:37-08:00 R1 %%01OSPF/4/NBR_CHANGE_E(l)[20]:Neighbor changes ev
ent: neighbor status changed. (ProcessId=256, NeighborAddress=4.123.0.10, Neighb
orEvent=LoadingDone, NeighborPreviousState=Loading, NeighborCurrentState=Full) 
<R1>
Jun 22 2025 10:56:36.737.1-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:56:36.737.2-08:00 R1 RM/6/RMDEBUG:  LSA Type 2
<R1>
Jun 22 2025 10:56:36.737.3-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.123.1
<R1>
Jun 22 2025 10:56:36.737.4-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.1.1
<R1>
Jun 22 2025 10:56:36.737.5-08:00 R1 RM/6/RMDEBUG:  LSA Type 2
<R1>
Jun 22 2025 10:56:36.737.6-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.123.2
<R1>
Jun 22 2025 10:56:36.737.7-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.2.2
<R1>
Jun 22 2025 10:56:36.737.8-08:00 R1 RM/6/RMDEBUG:  LSA Type 3
<R1>
Jun 22 2025 10:56:36.737.9-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.1.0
<R1>
Jun 22 2025 10:56:36.737.10-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.1.1
<R1>
Jun 22 2025 10:56:36.737.11-08:00 R1 RM/6/RMDEBUG:  LSA Type 3
<R1>
Jun 22 2025 10:56:36.737.12-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.45.0
<R1>
Jun 22 2025 10:56:36.737.13-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:56:36.737.14-08:00 R1 RM/6/RMDEBUG:  LSA Type 4
<R1>
Jun 22 2025 10:56:36.737.15-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.5.5
<R1>
Jun 22 2025 10:56:36.737.16-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:56:36.737.17-08:00 R1 RM/6/RMDEBUG:  LSA Type 5
<R1>
Jun 22 2025 10:56:36.737.18-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.5.0
<R1>
Jun 22 2025 10:56:36.737.19-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.5.5
<R1>
Jun 22 2025 10:56:36.737.20-08:00 R1 RM/6/RMDEBUG:  LSA Type 5
<R1>
Jun 22 2025 10:56:36.737.21-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.45.0
<R1>
Jun 22 2025 10:56:36.737.22-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.5.5
<R1>
Jun 22 2025 10:56:36.737.23-08:00 R1 RM/6/RMDEBUG:  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/85927.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/85927.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微服务拆分之术与道:从原则到实践的深度解析

引言&#xff1a;微服务的塞壬之歌 - 超越单体巨石 故事要从一家名为“巨石公司”&#xff08;Monolith Inc.&#xff09;的虚构企业说起。它的旗舰产品曾是公司的骄傲&#xff0c;但随着岁月流逝&#xff0c;这个系统逐渐演变成了一个“大泥球”&#xff08;Big Ball of Mud&a…

【新手向】GitHub Desktop 的使用说明(含 GitHub Desktop 和 Git 的功能对比)

GitHub Desktop 是 GitHub 公司推出的一款桌面应用程序&#xff0c;旨在帮助开发人员更轻松地使用 GitHub&#xff0c;以下是其简单的使用说明&#xff1a; 安装与登录 下载 GitHub Desktop |GitHub 桌面 访问GitHub Desktop 官方网站&#xff0c;根据自己的操作系统下载对应的…

Linux驱动编程 - gpio、gpiod函数

​​​​​ 目录 简介&#xff1a; 1、GPIO 子系统有两套API&#xff1a; 一、GPIO新、旧版互相兼容转换 API 1、转化函数 二、基于描述符接口(descriptor-based) &#xff08;以"gpiod_"为前缀&#xff09; 1、获取 GPIO 2.1 struct gpio_desc *gpiod_get(s…

Tensorflow推理时遇见PTX错误,安装CUDA及CuDNN, 解决问题!

问题原因&#xff1a; 使用TensorFlow一个小模型是进行推理的时候&#xff0c;报了PTX错误&#xff1a; Traceback (most recent call last): 20273 2025-06-18 10:20:38.345 INFO 1 --- [checkTask-1] c.l.a.d.a.util.AnalyzeCommonHelper : File "/home/python/commo…

C# 网络编程-关于HTTP/HTTPS的基础(一)

一、HTTP基础概念 1. 请求-响应模型 HTTP是基于客户端-服务器的无状态协议&#xff0c;流程如下&#xff1a; 客户端&#xff08;如浏览器&#xff09;发起请求。服务器接收请求并处理。服务器返回响应&#xff0c;包含状态码、Header和响应体。连接关闭&#xff0c;后续请求…

小程序右上角○关闭事件

小程序用户真实离开事件追踪&#xff1a;一场与技术细节的博弈 在数据分析的场景下&#xff0c;精准捕捉用户行为至关重要。我们遇到了这样一个需求&#xff1a;在小程序的埋点方案中&#xff0c;只记录用户真正意义上的离开&#xff0c;即通过点击小程序右上角关闭按钮触发的…

数据库高性能应用分析报告

数据库高性能应用分析报告 引言摘要 在数字经济加速发展的今天&#xff0c;数据库性能已成为企业核心竞争力的关键要素。根据Gartner 2024年最新研究&#xff0c;全球企业因数据库性能问题导致的直接经济损失高达每年420亿美元&#xff0c;同时性能优化带来的业务提升可达到2…

Java使用itext pdf生成PDF文档

Java使用itext pdf生成PDF文档 Java使用itextpdf生成PDF文档 在日常开发中&#xff0c;我们经常需要生成各种类型的文档&#xff0c;其中PDF是最常用的一种格式。本文将介绍如何使用Java和iText库生成包含中文内容的PDF文档&#xff0c;并通过一个具体的示例来展示整个过程。…

利用VBA将Word文档修改为符合EPUB3标准规范的HTML文件

Word本身具有将docx文件转换为HTML文件的功能&#xff0c;但是转换出来的HTML文档源代码令人不忍卒读&#xff0c;占用空间大&#xff0c;可维护性极差&#xff0c;如果想给HTML文档加上点自定义交互行为&#xff0c;也不是一般的麻烦。如果文档中包含注释&#xff0c;对于Word…

开发语言本身只是提供了一种解决问题的工具

前言 你是否曾经注意到&#xff0c;在中国的软件工程师日常工作中&#xff0c;他们使用的工具界面大多为英文&#xff1f;从代码编辑器到开发框架文档&#xff0c;再到错误信息提示框&#xff0c;英语似乎已经成为了计算机领域事实上的标准语言。那么为什么在全球化日益加深的…

2024计算机二级Python真题精讲|第一套(易错点分析)

一、选择题 1.计算机完成一条指令所花费的时间称为一个( )。 A.执行时序 B.执行速度 C.执行速度 D.指令周期 答案 D 一般把计算机完成一条指令所花费发时间称为一个指令周期。指令周期越短&#xff0c;指令执行就越快。 2.顺序程序不具有&#xff08; &#xf…

BGP路由反射器(RR)实验详解,结尾有详细脚本

目录 路由反射器基础概念 实验拓扑与设计 实验配置步骤 配置验证与排错 实验总结 完整配置命令集 路由反射器基础概念 在传统的IBGP网络中&#xff0c;为了防止路由环路&#xff0c;BGP规定通过IBGP学到的路由不能再传递给其他IBGP对等体&#xff0c;这导致所有IBGP路由…

(aaai2025) SparseViT: 用于图像篡改检测的Spare-Coding Transformer

论文&#xff1a;(aaai2025) SparseViT: Nonsemantics-Centered, Parameter-Efficient Image Manipulation Localization through Spare-Coding Transformer 代码&#xff1a;https://github.com/scu-zjz/SparseViT 这个论文研究的是图像篡改检测&#xff08;Image Manipulatio…

C#测试调用Markdig解析Markdown的基本用法

Markdig是.NET平台的高性能开源Markdown处理器&#xff0c;严格遵循 CommonMark 标准&#xff0c;确保解析一致性&#xff0c;其核心优势在于扩展性强&#xff1a;通过模块化管道模型&#xff0c;可轻松添加自定义语法或修改现有逻辑。Markdig内置支持表格、任务列表、数学公式…

MySQL 主从同步完整配置示例

以下是 MySQL 主从同步完整配置示例&#xff08;基于 Linux 系统&#xff09;&#xff0c;包含主库和从库的配置步骤&#xff1a; 一、主库&#xff08;Master&#xff09;配置 1. 安装 MySQL&#xff08;以 CentOS 为例&#xff09; yum install -y mysql-server systemctl …

可信启动与fTPM的交互验证(概念验证)

安全之安全(security)博客目录导读 目录 一、组件构成 二、Arm FVP平台PoC构建 三、在Armv8-A Foundation FVP上运行PoC 四、微调fTPM TA 可信启动&#xff08;Measured Boot&#xff09;是通过密码学方式度量启动阶段代码及关键数据&#xff08;例如使用TPM芯片&#xff…

SQL Server基础语句4:数据定义

文章目录 一、数据库与架构1.1 创建与删除数据库1.1.1 使用CREATE DATABASE语句创建数据库1.1.2 使用DROP DATABASE语句删除数据库1.1.3 使用SSMS创建数据库1.1.4 使用SSMS删除数据库 1.2 CREATE SCHEMA&#xff1a;创建新架构1.2.1 Schema简介1.2.2 使用CREATE SCHEMA语句创建…

上门按摩app会员系统框架搭建

一、逻辑分析 用户注册与登录&#xff1a; 新用户需要提供基本信息&#xff0c;如姓名、手机号、邮箱等进行注册。手机号用于接收验证码进行身份验证&#xff0c;邮箱可用于密码找回等功能。注册成功后&#xff0c;用户可以使用手机号 / 邮箱和密码进行登录。登录时需要验证用户…

java项目打包成jar包,并给jmeter使用

1.新建项目 编写代码&#xff0c;导入必要的jar包&#xff0c; 右键点击项目&#xff0c;然后export&#xff0c;选择main函数&#xff0c; package utils; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import java.util.Random; …

【Qt开发】Qt音频

Qt中&#xff0c;视频播放的功能主要是通过 QMediaPlayer类和 QVideoWidget类来实现。在使用这两个类时&#xff0c;需要在 .pro项目配置文件中添加对应的模块——multimedia 和 multimediawidgets。 核心的API如下&#xff1a; 下面来模拟实现音频文件的播放。 Widget::Widget…