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不会。