3.8【OSPF】NP十二班第五天OSPF Router LSA详解

OSPF Router-LSA详解


帧中继环境下DR和BDR的选举

1、DR和BDR在同一网段而不是同一区域,因为在同一区域里面可能会存在多个DR,多个BDR;DR和BDR是接口的概念。
2、在NBMA网络环境中一般是不能通过组播去建立邻居关系的,在NBMA环境中如何通过组播去建立邻居关系?
 
需要把网络类型改成点到多点,会从接口发送组播报文,需要将PVC修改一下:
 
需要开启伪广播:
开启brocast以后,帧中继也是支持组播和广播
 
加broadcast关键字,更改网络类型,R2上可以有正常路由条目,和算法是有关系的。
 
或者把网络类型改成点到多点:
 改成点到多点网络类型,是不会选举DR和BDR的,只是通过单播的方式:点到点的方式去维护邻居关系。
横杠:表示接口的状态机是点到点(网络类型是点到多点):
 
点到多点、非广播网(帧中继、ATM非广播网的 环境,低速链路)
网络类型             hello timer         dead timer           DR/BDR选举
广播                     10                        40                         有
非广播网              30                       120                        有
点到点                  10                        40                         无
点到多点               30                       120                       无
虚链路                   无                        无                         无
点到多点非广播(cisco)  30        120                        无
 
结论:由于DR和BDR的选举会造成DR会通告2类LSA,造成SPF算法错误 ,所以才引申出一个点到多点的网络类型去解决这个问题。
 
*******************************************************

OSPF LSA(LSA在OSPF里面是一个最重要的内容)

LSA:链路状态通告,不同的LSA通告不同的内容
LSDB:在链路状态数据库保存的是不同类型的LSA
 
有了LSA以后,才可以执行SPF算法,计算一个最短路径
 
 
ASBR:将Rip、Eigrp重分发进OSPF的话,它的角色就是ASBR
ASBR:自治系统边界路由器(如果将一些外部路由重分发进OSPF,这样的设备就是ASBR)
ABR:区域边界路由器,连接了多个区域
 
OSPF常用的LSA?(R/S)
 
1类LSA(Router LSA)  :
 
由谁通告:所有配置OSPF的设备;
传递范围:本区域内通告
2不会将 1的1类LSA传递到3中,但可以在本区域内传递的;最终,在这个区域的所有设备都会有这条1类LSA
通告的内容:通告所有宣告进OSPF的链路信息
 
 
【分解实验】31:01
 
show ip ospf database       //查看LSDB
 Router Link states:1类LSA
ADV Router:通告路由器
Age: age时间-LSA的一个老化时间;LSA的 最大老化时间:3600秒;
Seq#序列号:0X 80 00 00 02 有4个字节,1个字节8个比特,2的32次方比特
checksum:对LSA的 一个校验
Link count:在这个LSA里面,通告了几条链路信息
 

show  ip ospf database ?  //查看各种LSA
 为什么router-id不能重复?
因为LSA通告的时候,会标识这个LSA是由谁通告的,而标识者就是自己的Router-id。
 
show ip ospf database router  12.1.1.1  //加router参数,后见指定一个链路状态ID,实际上这个链路状态ID等于自己的Router-ID
 
LSA的头部内容:
 1类LSA的内容:
 R1#show ip ospf database router 12.1.1.1
 
            OSPF Router with ID (12.1.1.1) (Process ID 1)
 
                Router Link States (Area 0)
 
  LS age: 331  \LSA的保存时间,老化时间为3600S, LSA的更新时间为1800S。
 Options: (No TOS-capability, DC) 
  LS Type: Router Links      \ 1类LSA
  Link State ID: 12.1.1.1 \1类LSA中LS ID等于发送者的Router-id
  Advertising Router: 12.1.1.1 \LSA通告者的Router-id(填充LSA通告者的Router-id)
  LS Seq Number: 80000002  \LSA序列号为32个bit,第一个比特代表符号(1=负数 0=整数),同时用到线性增长和棒棒糖算法。每个LSA更新序列号都会加1,这样来表示每个LSA都是最新的
  Checksum: 0xCF25
  Length: 36
  Number of Links: 1
 
    Link connected to: a Transit Network    链路类型 -LINK类型
     (Link ID) Designated Router address: 12.1.1.2
     (Link Data) Router Interface address: 12.1.1.1
      Number of TOS metrics: 0                   服务类型
       TOS 0 Metrics: 1
 
 
如何去比较一个LSA的新旧?(大体流程)
1.用LSU去通告LSA,判断这个LSA是否在LSDB里面?
2.如果在的话,比较序列号,看序列号是否一致?
如果一致,Ignore LSA;如果 不一致,看这个序列号是否大于本地保存的一个LSA?如果 大于,接收,替换掉本地保存的LSA;如果不是,继续将LSA发给我的邻居
3.如果这条LSA不在LSDB里面,需要将这条LSA添加到LSDB,并发送LSACK,去泛洪LSA,给邻居,后续去运行SPF算法做一个计算
 1类LSA中其实用31bit去表示序列号,如果到达最大序列号,会重复执行最小序列号,开始重新执行算法,这种算法是棒棒糖算法
 增长方法:线性增长
32个bit位里面,其中的31bit是代表序列号的,第一个bit位代表正负,1为负数,0为正数
最小的序列号十六进制数:0x80000001  = 1000 0000(80)
                             -0000 0001
                              -ffff ffff
                               00000000
                                7f ff ff ff
OSPF序列号增长需要100多年用完
LSA序列号用到两个算法:(1)线性增长 (2)棒棒糖算法
 
checksum:对LSA做一个哈希,保证LSA的可靠性,防止窜改
 
链路类型有4种:
LINK类型                              LINK-ID             LINK-DATA
Transit                              DR接口IP地址        本接口IP地址
Poinit-to-point(P2P)          邻居的Router-id     本接口IP地址   
Stubnet                             网络前缀地址        掩码地址
Virtul-link 虚链路               邻居的Router-id     MIB的接口ID(本接口IP地址)
 
//看OSPF里面的LSU报文
Do Not Age:如果这个比特位置位,1,这个LSA永远不老化
Flags:只有在routerLSA里面才包含,如何知道网络中是 虚链路/ASBR/ABR   -  V / E /B
 注:在Router-LSA中包含3个flag位。
    1、Vbit 标识虚链路
    2、Ebit 标识是ASBR
    3、Bbit 标识是ABR
 
 
在OSPF中的序列号如何判断LSA的新旧?
收到一条LSA之后需要和我的LSA做个比对,用新的LSA去代替旧LSA
1、比较序列号,序列号越大越新。
2、如果序列号一样,比较checksum值,越大越新。
3、如果checksum一样,比较LSA AGE,如果LSA AGE等于MAX AGE(3600)为最新。说明这条LSA是需要马上被老化掉的
4、如果LSA AGE不等于MAX AGE,需要运行Maxage diff算法,比较接收到的LSA和本地保存的LSA的AGE时间差,如果时间差大于15分钟,LSA AGE越小越新,如果小于15分钟则认为是一样的,忽略。
 1.R4转发时延设为500s,经过R2加500,经过R3加500s,变为1000s
,约等于16分钟
2.R3到R4的时间1000多s,而R4到R3约为2秒
3.现在LSA age> max age 15分钟,R4到R3的LSA会变为新的替换掉R3到R4的 LSA
 
【实验演示】1:21

2类LSA(Network LSA):
3类LSA(Network summary LSA):
4类LSA(ASBR summary LSA):
5类LSA (AS External LSA):AS外部的LSA
6类LSA:组播的LSA,用于MSPF
7类LSA(NSSA LSA):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">





原文地址:https://www.cnblogs.com/xuxaut-558/p/11287198.html