OSPF Router-LSA详解


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

1、DR和BDR在同一网段而不是同一区域,因为在同一区域里面可能会存在多个DR,多个BDR;DR和BDR是接口的概念。
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
2、在NBMA网络环境中一般是不能通过组播去建立邻居关系的,在NBMA环境中如何通过组播去建立邻居关系?
 
需要把网络类型改成点到多点,会从接口发送组播报文,需要将PVC修改一下:
 
需要开启伪广播:
开启brocast以后,帧中继也是支持组播和广播
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
 3.8【OSPF】NP十二班第五天OSPF Router LSA详解
加broadcast关键字,更改网络类型,R2上可以有正常路由条目,和算法是有关系的。
 
或者把网络类型改成点到多点:
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
 改成点到多点网络类型,是不会选举DR和BDR的,只是通过单播的方式:点到点的方式去维护邻居关系。
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
横杠:表示接口的状态机是点到点(网络类型是点到多点):
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
 3.8【OSPF】NP十二班第五天OSPF Router LSA详解
点到多点、非广播网(帧中继、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算法,计算一个最短路径
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
 3.8【OSPF】NP十二班第五天OSPF Router LSA详解
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
 3.8【OSPF】NP十二班第五天OSPF Router LSA详解
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的链路信息
 3.8【OSPF】NP十二班第五天OSPF Router LSA详解3.8【OSPF】NP十二班第五天OSPF Router LSA详解
 
【分解实验】31:01
 
show ip ospf database       //查看LSDB
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
 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
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
 为什么router-id不能重复?
因为LSA通告的时候,会标识这个LSA是由谁通告的,而标识者就是自己的Router-id。
 
show ip ospf database router  12.1.1.1  //加router参数,后见指定一个链路状态ID,实际上这个链路状态ID等于自己的Router-ID
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
 3.8【OSPF】NP十二班第五天OSPF Router LSA详解
LSA的头部内容:
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
 1类LSA的内容:
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
3.8【OSPF】NP十二班第五天OSPF Router 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算法做一个计算
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
 1类LSA中其实用31bit去表示序列号,如果到达最大序列号,会重复执行最小序列号,开始重新执行算法,这种算法是棒棒糖算法
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
 增长方法:线性增长
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
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
 注:在Router-LSA中包含3个flag位。
    1、Vbit 标识虚链路
    2、Ebit 标识是ASBR
    3、Bbit 标识是ABR
 
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
 3.8【OSPF】NP十二班第五天OSPF Router LSA详解
在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分钟则认为是一样的,忽略。
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
3.8【OSPF】NP十二班第五天OSPF Router LSA详解
 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 >

 
 
 
 





相关文章: