OSPF - 3,OSPF区域和LSA
1,四种末端区域
骨干区域和标准区域:1,2,3,4,5,包含5类LSA,为了减少某些普通区域的LSA(主要就是4类和5类,有时做绝到连3类也不要了),引入了末梢区域。同时为了确保数据能出去,一般ABR会自动引入默认路由。即“外面怎么精彩不用告诉我,我只要能出去即可”。
收到的LSA | 默认路由 | 配置命令 | |
stub | 1,2,3 | 自动下放(3类LSA) | area x stub |
totally stub | 1,2 | 自动下放(3类LSA) | area x stub no-su |
NSSA | 1,2,3,7 | 不下放 | area x nssa |
totally NSSA | 1,2,7 | 自动下放(3类LSA) | area x nssa no-su |
需要注意:
a)表示路由器的特殊角色,如ASBR、ABR,是通过type1 LSA中的V、B、E位置来实现的
b)stub区域中所有路由器必须都配置为stub,否则邻居建不起来,hello中有个特殊区域标志
c)totally stub和totally nssa的no-summary命令只需要在ABR上做
d)不能把area 0配置成stub区域,不能有虚链路通过stub区域
e)下放的默认路由是3类LSA(show ip ospf database),默认cost=1,通过area X defult-cost X 更改
f)多个ABR下放默认路由时,末端区域内的路由器会自动选择COST最近的ABR放到LSDB
g)假设area 1有个ASBR,则本区域不会有该ASBR的4类LSA,为什么呢?(因为该区域已经直接通过ASBR发出的type1 LSA的位置标志V/B/E,知道了该ASBR)。area0和area 2(不是末端区域)会有4类LSA指向area 1内的ASBR,这些4类LSA都是由ABR产生的。
h)NSSA不允许5类LSA进入,由于过滤了5类,但NSSA区域需要保留出现ASBR的外部AS的路由,因此定义了7类lsa,作用相当于5类
i)NSSA或totally NSSA区域中的7类LSA,经过ABR时,会转换成5类LSA
j)所有末端区域都没有5类,7类LSA只能在本NSSA区域出现,一个NSSA的7类不会传播到另一个NSSA,因为被转换成了5类遭拒收
k)NSSA默认不下放默认路由,可以area x default-information-orignate下放默认路由
l)注意STUB区域中是没有4类LSA的,因为4类LSA是为5类LSA服务的,帮助定位ASBR的位置,既然5类进不来,4类也没必要进来。
2,路由表与LSA
OSPF内部域内:O
OSPF内部域间3类:O IA
OSPF外部5类:O E1,O E2
OSPF外部7类:O N1,O N2
3,不规则区域
造成不规则区域主要原因是割接。
不规则区域类型:远离area 0;分割的area 0。
解决不规则区域的方法:
a)多进程双向重分布:以area0-area1-area2为例,在area1和area2之间的abr上起2个ospf进程,然后双向重发布。
b)tunnel:在area1中建立一条tunnel(GRE隧道?),使得aera2能够连接到area0。
c)virtual link虚链路:类似于tunnel,和tunnel相比只有配置不一样。互指两边Router-ID即可,area x virtual-link x.x.x.x。
4,LSA
4.1,LSA种类
TYPE1 Router :每台设备产生,域内LSA,描述自己链路状态和开销。
TYPE2 Network :DR产生,域内LSA,存在于MA网络,描述DR相连的所有网络的信息。帮助Drother重定向,避免次优路径,否则DROTHER与DROTHER流量都会经过DR。
TYPE3 Summary :ABR产生,域间路由,通告区域间路由。
TYPE4 Summery ASB :ABR产生,通告其他区域中ASBR的位置,type4没有area属性,与type5大致相同,只有目的改成主机。
TYPE5 AS external :ASBR产生,描述OSPF域外路由,通告给所有区域(除末端区域) 。
TYPE7:ASBR产生,描述OSPF域外路由,仅在NSSA中传播,经过ABR后会转换为type5。
总结:
4.2,LSA说明
a)2类LSA对MA网段进行了重定向,区域内其他路由器收到此MA网段是1类和2类LSA相结合的结果。
b)TYPE6组播的,现在基本不用。
c)show ip ospf database中可以看到,5类lsa不属于任何区域,7类lsa属于NSSA区域。
d)不同LSA,link ID含义不同,对TYPE3,Link ID就是每条路由一个Link ID。对TYPE1,表示一台路由器相邻所有接口,所以如果一台路由器通告本区域的相邻多个接口,则只有一条LSA,如果通告其他区域的相邻多个接口,则有多条LSA。(例如,路由器上的环回口,通告在本区域内和区域外,产生的LSA类型和条数是不同的)
e)由于五类LSA通告者永远是ASBR的Router ID,但很多其他区域的路由器不知道ASBR在哪,就引出了四类LSA。
f)ASBR所在区域不含该ASBR的四类LSA,因为可以通过一类LSA搞定。ASBR开启重发布后(即正式成为ASBR),相应在本区域传播的一类LSA会标示该路由器为ASBR。
g)7类LSA:①TYPE7相当于TYPE5,为什么出现TYPE7呢?因为(totally)NSSA需要保留区域内ASBR传来的5类,同时过滤掉其他地方传来的5类,因此重新定义了7类。②在NSSA区域中的7类lsa,传播到本AS的其他区域(area0)时会通过abr转成5类LSA。该abr同时也能称为asbr。(asbr定义:只要能够产生5类lsa的路由器即为asbr)
4.3,查看LSDB(LSA表)
show ip ospf database看到有:
linkid,advrouter,age,seq#,checksum
其中advrouter即是通告的路由器,例如summary LSA都是ABR通告的,显示的就是ABR的router-id
LSDB中LSA对应关系:
router link states (areax) : 1类LSA
net link states (areax) : 2类LSA
summary net link states (aerax) : 3类LSA
summary asb link states (areax) : 4类LSA
type-5 as external link states : 5类LSA
4.4,OSPF LSDB overload protection
超过设定的LSA量,可以报警/重置邻居
限制的是非自己产生的LSA
命令:max-lsa 条数(百分比),默认百分比是75%
5,NSSA补充详解
5.1,NSSA ABR上的路由汇总
NSSA ABR会将type7转换成type5,可以使用summary-address通告汇总的5类LSA(仅针对外部引入路由),如果想对NSSA区域内部路由做汇总需要使用area range命令。
5.2,NSSA ABR,某种程度上可以理解为ASBR
由于NSSA ABR承担了7转5,它负责生产了5,其他区域没必要知道真正的ASBR(产生7的路由器),因此NSSA ABR也就没必要在area0等常规区域产生4指向真正的ASBR。其他区域只需要将NSSA ABR当做ASBR即可。
5.3,NSSA双ABR问题
上图中,两个ABR都会 收到7,但只有router-id大的ABR执行7转5。
两台ABR都会在NSSA区域泛洪,并从中了解到对方存在。
5.4,N/P位
Hello报文中,用于指示NSSA。LSA报文中,用于指示NSSA区域的ABR能否将这条7转成5。
5.5,NSSA中默认路由的传递问题
1)NSSA区域中,ABR通告默认路由,有2种方法:
将区域类型配置为totally NSSA,ABR自动下发默认路由(type3 LSA);同时会阻塞LSA3向NSSA区域传递。
在进程下使用area x nssa default-information-originate,自动下放默认路由(type7 LSA);ABR并不阻塞骨干区域来的type3 LSA。
2)NSSA区域中,ASBR通告默认路由
在进程下使用area x nssa default-information-originate,不会自动下放默认路由(type7 LSA),必须路由表中事先有默认路由。
备注:在NSSA区域中,无论是ASBR还是ABR,使用default-information-originate(配合本路由器的默认),或者default-information-originate always,均无法注入默认路由,原因是使用这种方法产生的是type5,而NSSA不允许type5存在。
总结:5.5中,发现只有totally NSSA会自动下放type3 LSA的默认路由,NSSA不会。
OSPF - 3,OSPF区域和LSA的更多相关文章
- OSPF特殊区域和LSA
OSPF路由计算优选次序: (1) 直连路由:本路由器发起的LSA 1.2: (2) 区域内路由:O: LSA 1.2: (3) 区域间路由:O IA: LSA 3: (4) 1类外部路由:O E1: ...
- H3C OSPF协议分区域管理
- CCNA学习指南 -开放最短路径优先OSPF(多区域部分)
在之前的介绍中,可以看到单区域OSPF对于古老的RIP的优点: 路由选择更新流量减小 使用与大型网络和链路速度不一样的网络 OSPF能够在LSDB中呈现网络拓扑结构,这使得它汇聚的速度远快于RIP. ...
- CCNA学习指南 -开放最短路径优先OSPF(单区域)
在上个世纪九十年代撰写的<TCP/IP协议详解 卷一:协议>的动态选路中,内容大部分还是介绍 RIP路由选择信息协议,在互联网络如此发达的今天,RIP因为它的局限性逐步被OSPF取代. 在 ...
- ospf几种lsa
ospf网络类型 1.点到点 点到点网段 2.广播网络 transit网段(至少有两台路由器的广播型网段) 3.NBMA transit网段 4.点到多点 ospf网段的类型(网段的类型只与网络的类型 ...
- ospf 提升 二 ---LSA
ospf ABR和ASBR的区别 官方建议中大型网络的规模参考 根据spf算法 而不是路由器的硬件性能强弱 a ABR最多关联3个区域 b 单区域内路由器最多50台 c 一台运行ospf的路由 ...
- OSPF多区域
目录 一.OSPF的多区域 1.1 生成OSPF多区域的原因 1.2 路由器的类型 1.3 区域的类型 二.链路状态数据库 2.1 链路状态数据库的组成 2.2链路状态通告 三.OSPF多区域配置 四 ...
- HCNP Routing&Switching之OSPF LSA类型
前文我们了解了OSPF中的虚连接相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15202348.html:今天我们来聊一聊OSPF数据包中LSA类型相 ...
- HCNP Routing&Switching之OSPF特殊区域
前文我们了解了OSPF LSA更新规则以及路由汇总相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15231880.html:今天我们来聊一聊OSPF的 ...
随机推荐
- caffe中的若干问题
找不到cublas....: 在/etc/ld.so.conf文件夹中新建cuda.conf,里面添加/usr/local/cuda/lib64,然后sudo /sbin/ldconfig -v. c ...
- PyCharm笔记之搭建Python开发环境
新建一个空helloworld项目,然后新建一个main.py文件: 此时还无法运行,因为没有配置项目的入口脚本,通过下图的步骤指定一个: 在scrip框里填入你的入口脚本 之后就可以点击绿色的播放按 ...
- Java1.7 HashMap 实现原理和源码分析
HashMap 源码分析是面试中常考的一项,下面一篇文章讲得很好,特地转载过来. 本文转自:https://www.cnblogs.com/chengxiao/p/6059914.html 参考博客: ...
- linux下安装tomcat和jdk
1.现在的linux服务器一般自带jdk,先查询是否已经安装jdk rpm -qa | grep java rpm -qa | grep jdk 如上则是没有安装,可以直接跳到步骤X,安装jdk.否则 ...
- Restful framework【第八篇】频率组件
基本使用 频率: -限制每个ip地址一分钟访问10次 -写一个类 from rest_framework.throttling import SimpleRateThrottle class Visi ...
- Spyder 调出绘图界面
Tools->Preference->IPython console->Graphics->Graphics backend->QT4 or QT5
- java 安装环境
网上关于win10 jdk安装.配置环境变量的经验有很多,但是按照方法配置后出现了运行javac 报告javac不是内部或外部命令,但是运行java.java-version正常.并不是说那些经验不正 ...
- IDEA入门及maven配置
idea基本使用 下载安装 idea下载地址 激活方法 上面的失效使用这个 配置SDKs和编译版本 选择jdk 我是主要用于Java开发,因此配置JDK8 配置编码 其他配置 个人配置主题等 注意 与 ...
- Netty 核心组件笔记
Netty是一款高效的NIO框架和工具,基于JAVA NIO提供的API实现. 在JAVA NIO方面Selector给Reactor模式提供了基础,Netty结合Selector和Reactor模式 ...
- Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'zoneId' in 'class java.lang.String'
本文为博主原创,未经允许不得而转载: 异常展示: dao层定义的接口为: public int getClientTotal(); 在mybatis中的sql为: <select id=&quo ...