OSPF网络类型及链路类型
OSPF网络类型
1.网络类型network-type
网络类型network-type:
指的是OSPF协议在接口上针对不同的层数据链路层介质或封装而定义的,例如如果接口二层封装协议是以太,那么OSPF在这个接口的网络类型为broadcast ,如果接口的二层封装是HDLC或者PPP ,那么OSPF的网络类型是P2P。OSPF在不同的接口网络类型下,操作方式是不尽相同的。
使用show ip ospf interface x可以查看到接C的网络类型,如下:
OSPF定义了如下几种网络类型:
● 点到点P2P
● 广 播Broadcast
● 非广播Non-Broadcast
非广播又包括了5种运行模式:
●NBMA (RFC)
●P2MP (RFC)
●P2MP nonbroadcast(CISCO)
●Broadcast(CISCO)
●P2P(CISCO)
⑴ 点到点类型
●如果二层的协议为PPP、HDLC 等,则OSPF网络类型为P2P
●如果帧中继子接口类型为 P2P的,则OSPF网络类型也为P2P
●不选举DR、 BDR
●使用组播地址 224.0.0.5
●OSPF 能够根据二层封装自动检测到P2P网络类型
⑵ 广播多路访问型
●通常出现在以太网
●选举DR、 BDR
●所有路由器均与DR及BDR建立邻接关系
●使用组播地址 224.0.0.5及224.0.0.6
⑶ 非广播
可参考红茶三杯OSPF在NBMA环境下的操作
2.链路类型link-type
4.2链路类型link-type
OSPF除了定义网络类型,还定义了链路类型,注意链路类型与网络类型是两个概念,不要混淆。链路类型主要用于描述OSPF路由器的接口或邻居。在1类LSA中,可以看到始发该LSA的路由器所连接的所有链路( Link )链路的类型以及相关的内容。
1类LSA中,用于描述Link的LINKID、Link Date的取值根据OSPF link类型不同而不同:
OSPF链路类型分为以下几种:
(1) Stub Network Link
在一个网段中只有一台OSPF路由器的情况下,该网段被OSPF链路类型定义为Stub Network Link ;因为一个网段中只有一台OSPF路由器,所以在这个网段就不可能有OSPF邻居,一个接口被通告进OSPF ,无论其二层链路是什么介质,只要在该接口上没有OSPF邻居,那么就是Stub Network Link ; Loopback接口永远被定义为Stub Network Link ,默认使用32位掩码表示,无论将Loopback接口改为哪种OSPF网络类型( Network Type ),始终改变不了它的OSPF链路类型( Link Type )属性,但可以改变它在LSA中的掩码长度。
(2) Point-To-Point Link
OSPF网络类型( Network Type )为Point To-Point的接口, OSPF链路类型( Link Type )为Point- To-PointLink ,但Loopback接口除外;而网络类型为点到多点( Point- To-Multipoint )的接口,同样链路类型也为Point-' To-Point Link。Point-To-Point Link可以是手工配置的地址( Numbered ),也可以是借用的地址( Unnumbered ),也可以是物理接口或逻辑子接口。
(3) Transit Link
拥有两台或两台以上OSPF路由器的链路,简单理解为有邻居的OSPF接口就是Transit Link ,但网络类型为Point- To-Point和点到多点( Point-To-Multipoint )的接口除外,因为它们被定义为Point-To-Point Link。
(4) Virtual link
就是OSPF虛链路( Virtual Link ) ,但稀奇的是,虚链路( Virtual Link )被定义为手工配置的地址( Numbered )的Point-To-Point Link。
LSA详解
1.各类LSA解析
我们本次LSA详解采用的拓扑结构相对比较简单,如上图所示,R1. R2、R3之间连接到-一个广播多路访问的介质上(以太网交换机),网段为192.168.123.0/24, R1、R2、R3的接口IP分别是.1、.2、 .3;R3. R4以及R4、R5之间通过串行链路直连;所有路由器上均开启LOOPBACK接口,R1的LOOPBACK接口IP为1.1.1.1 ,R2为2.2.2.2,其他设备依次类推;所有的上述LOOPBACK接口仅作为路由器Router-ID的选取使用,并不做network宣告; R5.上将LOOPBACK接口重发布进OSPF ;
设备互联地址如上图所示。我们开始来逐一认识每种LSA:
(1)Type 1 LSA : Router LSA
每一个运行OSPF的路由器均会产生1类LSA, 1类LSA怎么理解?其实很简单, 就是每台路由器描述-下
自己“家门口的状况”,并且只会告诉给“全村的人”(本区域内泛洪b主要的功能有以下两点:
● 表示路由器的特殊角色,如Virtual-link. ABR、 ASBR
这是通过1类LSA中相关的V、B、E位置为来实现的
● 描述本路由器在某个区域内部与的直连链路 (接口)及接口COST值
在这个环境中,每台路由器均会产生1类LSA,并且这些1类LSA只会在本区域内泛洪。譬如area1内,泛洪的1类LSA有哪些呢?
可以看到,R1、R2、R3 均在area1内产生了各自的1类LSA,每个1类LSA中均包含1个LINK,也即三台路由器各有一一个直连接 连接到这个区域内。
接着来看1类LSA详细内容,譬如R1 , R1有一个直连接口,连接到一个MA网络192.168.123.0,因此R1产生的1类LSA (在area1内泛洪)中,包含-条链路,
详细输出如下:
这就是1类LSA, "Link connected to”开始就是该路由器的所有直连链路的相关信息。
R2及R3在Area1中的1类LSA大体上类似,那么R3在area0中泛洪的1类LSA是如何?
我们注意到R3产生的1类LSA中,有着"Area Border Router”字样,标识该路由器是ABR,而这,正是使得其产生的1类LSA中B位=1
再来看一下R3在area0中泛洪的1类LSA:
R3在area0中只有一个接口,由于是serial接口, OSPF用了两条LINK来描述。
我们来总结一下,针对不同的链路类型, OSPF 1类LSA的有不同的内容:
(2)Type 2 LSA: Network LSA
在MA网络中,会选举DR、BDR ,而所有的Drother都只能和DR及BDR建立邻接关系.
从某种层面上说, DR实际上代表了这个MA网络,在本区域内泛洪2类LSA ,来呈现该MA网络中的所有
路由器。因此2类LSA仅存在于有MA网络的区域中,并且由DR发送,用来描述这个MA网络中的所有路由器的(Router-ID)。
在上例中, R3作为123.0 网络的DR,因此R1、R2都只和R3建立邻接关系。这时候R3就成了这个MA网络的代表者,其发送2类LSA ,该LSA包含的内容如图,详细信息见下,注意该2类LSA也只是在area1内泛洪。
总结一下:
LSA2描述TransNet (包括Broadcast和NBMA网络)网络信息;由DR产生,描述其在该MA网络上连接的所有路由器的RouterlD (包括DR )以及该MA网络的掩码
LSA类型2只在本区域Area内洪泛,不允许跨越ABR ;
LSA类型2中没有COST字段(因此需借助1类LSA来进行SPF算法)
得益于1.2类LSA, OSPF在一个区域内的路由计算就没有问题了,由此产生的路由,在路由表中的标记为"0", 表示本区域内的路由。
3. Type 3 LSA : Network summary LSA
前两类LSA解决了区域内路由计算的问题,那么区域间呢?如果路由器需要访问其他区域呢?这时就需要3类LSA。3类LSA是网络汇总LSA ,这里的汇总,其实翻译为归纳更贴切,它和路由汇总是完全不同的概念。由ABR同时属于两个以上的区域(其中必须有骨干区域),它知道这些区域的1、2类LSA,那么就能做一件事:将某个区域的1.2类LSA ,做个归纳,然后为其他区域生成3类LSA并泛洪到其他区域中,如此一来,区域间的路由计算就没问题了。.
因此3类LSA,由ABR产生:
上图中,R3两个接口分属area1及area0 ,它是一台ABR ,因此它将area1内的LSA做个归纳,为area0生成3类LSA,实际上就是192.168.123.0这个网段的信息,然后泛洪到area0中,接着,再被R4泛洪到area2中。这样,R4. R5就都能根据这个LSA3计算到123.0 的路由。
当然,R1, R2也都能通过R3泛洪过来的3类LSA了解到34.0、45.0 的路由信息。
Area0中,有2个3类LSA在泛洪,分别描述的是192. 168.45.0、192. 168.123.0两个网络。可以再详细点查看一下3类LSA的内容:
以上是在area0中泛洪的192. 168.123.0这条三类LSA的详细内容, 注意到3类LSA的link state ID也就是这个LSA所描述的子网号,同时LSA中还描述了这个子网的掩码以及到达该子网的metric,也就是cost值,这里cost=1 ,其实就是R3的fast0/0口的接口cost.
4. Type 4 LSA: ASBR summary LSA
4类LSA是-一个指向ASBR的LSA,由该ASBR所在的区域中的ABR产生(这点要格外留意)。ASBR作为域边界路由器,将外部的路由通过重发布的方式注入了OSPF域,这些外部路由在OSPF中进行传递(这些外部路由是以5类LSA的形式在域内传播),而我们OSPF内部的路由器如果想前往这些外部网段,则需要同时具备两个条件:
●知道外部的路由 (这通过重发布的动作,已经完成了注入,借助5类LSA完成传播)
●知道完成这个重分发动作的ASBR的位置
关键在于第二点,与ASBR在同一区域的区域内部路由器(例如本实验中的R4 ),能通过ASBR产生的
1类LSA知道该ASBR的位置( 1类LSA中E位=1所以与ASBR同区域的路由器都知道) ,但是问题来了,1类LSA的泛洪范围是本区域内,那么该区域外的路由器,如何得知这台ASBR的位置呢?那么就需要借助4类LSA了.
因此4类LSA由ABR产生,用来告诉与ASBR不在同一个区域内的其他OSPF Router关于ASBR的信息。
上图中R5做为ASBR ,在了路由重发布,将5.5.5.0/24的直连网段发布进了OSPF.那么R1. R2、R3、R4如何能够访问5.5.5.0呢?.上面已经说了, 条件1 ,是需要5.5.5.0的路由信息,这通过重发布将这些外部路由引入就OK。条件2 ,是需要了解ASBR ,也就是R5的信息。
R5作为OSPF路由器,其本身会泛洪1类LSA (在area2内部),并且该LSA1的E位被置1 ,用以表示其本身是一台ASBR,如此-来,R4就能通过该1类LSA,知道ASBR的存在,那么R4本身去往5.5.5.0.就没问题了,但是R1. R2、R3呢?他们是无法收到上述的1类LSA的。因此R4 ,作为ASBR所在区域的ABR ,就承担起解决这个问题的关键,它会向area0下发一条4类的LSA,该4类LSA会进-步被泛洪,那么R1、R2、R3就都能了解到R5,也就是ASBR了,所以条件2就具备了,问题也解决了。下面的输出,即是4类LSA:
5. Type 5LSA: AS external LSA
外部路由,被重发布进OSPF以后,将产生5类的LSA,在OSPF与中进行传递;
因此5类LSA由ASBR产生
上图中, R5做为ASBR将5.5.5.0这条直连网段重发布进了OSPF ,因此R5产生-一个关于该外部路由的5类LSA ,其实就是描述的这条外部路由5.5.5.0/24 ,体现如下:
6. Type 6 LSA : Group-membership-LSA
这里不做讨论
7. Type 7LSA : NSSA external LSA
7类LSA是一-种非常特殊的LSA要注意的是这种LSA作为-种描述外部路由的LSA它只能被在NSSA中进行泛洪,不能跨越NSSA进入常规区域。NSSA区域阻挡从骨干区域area0中过来的5类LSA进入,同时允许NSSA本地始发外部路由,这些外部路由以7类LSA的形式在本地NSSA中进行泛洪,当这些7类LSA到达NSSA的ABR时,由该ABR负责将这些7类LSA转换成5类LSA,可注入骨干区域。
留意一下上图,在上图中,我们将area2配置为NSSA,接下去再观察R5的LSDB :
我们看到,重发布注入进来的5.5.5.0这条外部路由,是7类LSA所描述的。再看一下详细的内容:
我们发现7类LSA的结构与5类LSA并无明显差异,其实在数据包方面, 也并没有明显的差别。当然,他们的差异从应用或者规划的角度而言,是非常明显的,这里不做详细描述。
我们再看一下R4的OSPF LSDB
我们看到R4收到R5始发的7类LSA后,装入的自己的LSDB,同时他还做了-件利国利民的事情,那就是将这条LSA“转换"成了5类LSA,并将它传递给骨干区域,好让其他区域的OSPF路由器知道这条外部路由。当然,在R4的路由表中,该条5.5.5.0的外部路由:
2.E1、E2的比较(N1及N2类似)
Type5 LSA由ASBR产生,告诉相同自治区的路由器通往外部AS的路由。
1. E1/E2路由的优选问题:
E1永远优于E2路由,也就是说,如果一台OSPF路由器,同时学习到去往同-一个目的地的两条外部路由,-条为OE1-条为OE2,则不论各自metric如何,OE1的路由永远优选。
●E1路由之间比较
当本地接收到多条描述同一外部路由信息的类型1外部LSA (都是OE1 )时,需要比较每条外部LSA中携带的Metric与本地到达产生该LSA的ASBR的Metric之和(即路由表中显示的Metric ),并优选值小的类型1外部LSA;如果比较的结果Metric之和相等,则产生路由的负载均衡。
●E2路由之间比较
当本地接收到多条描述同一外部路由信息的类型2外部LSA(都是OE2 )时,按照如下顺序比较不同的Metric值,从而实现优选:
1、首先比较外部LSA本身携带的Metric ,优选值小的外部LSA。
2、如果外部LSA携带的Metric值相同,则继续按照下面原则比较
3、比较本地到达通告每条LSA的ASBR/FA地址的Metric ,优选值小的。
4、如果本地到达通告每条LSA的ASBR/FA地址的Metric值相同,则产生路由负载均衡。
2. ON2 和OE2的选择问题
当metric不一样时,比较各自到ASBR/FA地址的内部metric,如果metric -样, CISCO优选择OE2
如图R2收到44.4.0的OE2和ON2,在两者metric相等时,CISCO默认选择OE2,但是更改R2接口cost后,可以看到相应变化。
当上面的OE2和ON2两metric相等,各自到ASBR或FA地址的metric相当时,CISCO默认优选OE2,当两metric相等,但各自到FA或ASBR的metrci不等时,优选这个距离小的。
3.查看LSDB
经过前面的讲解,相信大家对于各种类型的LSA都能掌握了,那么下面,我们就来全面的分析- - 下实验环境中的LSDB。OSPF最底层的东西就是LSA ,LSA在OSPF路由择域中泛洪并发挥着自己的作用,OSPF Router搜集到LSA后都存储在自己的LSDB (链路状态数据库)里,并且根据这LSA进行SPF算法的计算,最终得出前往每个目的地最优的路径。因此在从事OSPF的网络建设及维护过程中,学会读懂LSDB ,学会读懂每一类的LSA是非常关键的。
还是这张拓扑,完成基本配置后,我们看看R1的LSDB。
R1属于常规区域内部路由器,因此其LSDB相对比较好读,分别有1、2、3. 4、5类LSA;其中1类LSA产生自本区域( area1 )的三台路由器R1、R2、R3。2类LSA产生自本MA网络的DR也就是R3.3类LSA产生自本区域的ABR也就是R3 ,目的是告诉本区域内的路由器OSPF域内其他area的网络信息。4类LSA也由ABR R3产生,用于告知本区域内的路由器关于ASBR的信息。5类LSA是用于描述域外路由的,由ASBR R5产生并最终被泛洪到本区域。R2 的LSDB应该和R1类似,这里不再赘述。
R3的LSDB与R1有一个很直观的变化,那就是R3作为ABR,同时连接到了area0及area1 ,因此R3需为两个区域同时创建并泛洪LSA.这里注意到area0中.并没有2类LSA存在.这是因为2类LSA只存在与MA网络中.而area0中并没有MA网络.因此没有2类LSA.而area1中的2类LSA,自然是不能超越区域泛洪到area0中的,当然,也没有这个必要。另外R3关于area1的LSA.与R1并无两样,这里不再赘述。
我们再观察一-下R4的LSDB, R4作为-台ABR , LSDB中自然也有两个区域的LSA描述信息。细心的朋友一定会发现,在R4 LSDB中, area2里并没有Summary ASB Link States也就是4类LSA,原因上面已经讲过了,这是因为R4与ASBRR5同属一个区域,通过R5发出的1类LSA即可知道ASBR的所在。
4.各区域中的LSA
各区域内所允许出现的LSA总结如下:
●骨干区域: 1.2.3.4.5
●标准区域:1.2.3.4.5
●Stub区域: 1. 2. 3. 3类0.0.0.0/0 ( ABR向区域内发起的-条3类缺省路由LSA)
●完全Stub区域:1. 2 3类0.0.0.0/0 ( ABR向区域内发起的一条3类缺省路由LSA )
●NSSA区域:1.23.7
●完全NSSA区域: 1. 2 7. 3类0.0.0.0/0 ( ABR向区域内发起的-条3类缺省路由LSA )
为了方便广大网络爱好学习者一起学(聚)习(众)交(搞)流(基),特开设思科干货交流群,里面已经上传大量学习资料,欢迎广大网络工程师进群学习!
扫描下方二维码 进群学习~