OSPF的LSA和特殊区域

文章目录

  • OSPF的LSA
    • 6种LSA
    • 举个例子理解
  • OSPF特殊区域
    • STUB区域
    • 完全stub区域
    • NSSA区域
    • 完全NSSA区域

OSPF的LSA

6种LSA

类别 名称 描述
1 路由器LSA 区域内router产生,描述了路由器所有接口、链路和cost值,只在本区域内泛洪。
2 网络LSA 由DR产生,报文包括了其连接的所有router的routerID,其中包含自己的routerID,在本区域内泛洪。
3 网络汇总LSA 可以通知本区域的路由器通往区域外的路由信息,默认路由也被通告。
4 ASBR汇总LSA 也是由ABR产生,但是它是一条主机LSA,指向ASBR路由器,用于在网络中通告ASBR的位置,传递范围是整个OSPF域。
5 自治系统外部汇总LSA 由ASBR产生,告诉本自治区的路由器通往外部自治区的路径。用于描述OSPF系统外部的路由信息,传递范围是整个OSPF区域。
7 NSSA外部LSA 由ASBR产生,几乎和LSA5通告是相同的,但NSSA外部LSA通告仅仅在始发这个NSSA外部LSA通告的非纯末梢区域内部进行泛洪。

举个例子理解

举个例子来理解,整个OSPF域就是一个国家,而骨干区域(area 0)就是这个国家的首都,非骨干区域就是首都周边的小村子。

事件1:

有一天,area 1这个村要做全村的通讯录,需要收集大家的信息,比如地址、电话号码还有所有接口、链路和cost值……但是大家如果都互相去交换信息的话未免太过麻烦,于是乎村长DR想到一个好方法:大家都到我这里来登记信息,事后我再来告诉大家我收集到的信息。

家家户户都到了村长那里汇报自己的信息(LSA1),DR整理完后将信息告诉每个路由器(LSA2)。这样每个路由器的路由表都得到同步了。

注:DR、BDR其实是基于链路上的角色,用在这个例子中可能有点不太恰当,但笔者认为可以帮助大家理解。

事件2:

又有一天,首都派人来area 1村视察民情,而area 1村的人大(ABR)需要出来接应。ABR将area 1的民情进行汇总向上汇报(LSA3),而首都在收到汇报后也会在自己的小本本(路由表)上记下,这样首都也知道area 1村的情况了。

事件3:

要致富,先修路。area 2的一台路由器跟外国(非OSPF域或者其他的OSPF进程)的一台路由器往来密切,带动了area 2的经济发展。于是乎这台路由器就成了ASBR,ASBR知道怎么去外国的路,于是他告诉area 2里的路由器:我这里有一条去往外国的路!(LSA5)村子里都知道了,于是村子的ABR决定向上汇报“area 2有条去往外国的路”的情况(LSA4),于是首都也知道了area 2中有ASBR这么一号人物(ASBR的信息)。

LSA7因为涉及特殊区域,我们暂时先不讲,它的作用跟LSA5是类似的。

OSPF特殊区域

STUB区域

经济发展快是好事,但有些人并不喜欢外国的文化,于是他们不再接收过多的“洋文化”。故stub区域是为了区域内不接收ospf域外的路由,禁止LSA 4和LSA 5在区域内传播

当设置完stub后,最直观的表现是,**本区域内除了ABR外的路由器上,所有域外路由都消失了,域内路由和域间路由还是正常的(不论是本区域内产生的,还是其他区域产生的)。与此同时,路由表中还会出现一条由ABR下发的全零默认路由。**如果stub区域内,谁要去往域外,他会通过全零默认路由,去往ABR,当到达ABR后,ABR是知道域外路由的明细的。

stub区域的存在价值在域外路由特别庞大、域间路由不是很大的情况下才能凸显出来。

配置:

在区域内的所有路由器上,进入ospf进程

(config-router)#area area号 stub

非骨干区域可以配置为stub,stub不会学习ospf系统外的路由

完全stub区域

这个区域相比stub来说更加“自闭”一点,他们不喜欢灯红酒绿,在自己的世外桃源安居乐业就好,所以完全stub区域内不接收除本ospf域外的路由,只要下发一条默认路由即可

完全末梢区域的作用是禁止LSA 3 4 5的传播。其实这个说法有些偏激,因为ABR还是会使用3类LSA下发一条全零默认路由的。

直观表现是路由表中,域外路由和明细的域间路由都消失了,取而代之的是一条由ABR下发的0.0.0.0的域间路由。

完全末梢区域的存在价值在域外和域间路由都很庞大的情况下才能凸显。

配置:

先变成stub区域,在stub区域的ABR的ospf进程中敲

(config-router)#area area号 stub no-summary

非骨干区域可以配置为完全stub区域,不学习ospf其他区域的路由

NSSA区域

虽然我们定义了stub区域,但区域内并不是所有人都讨厌“洋文化”,stub区域中还是有人“修路修到了外国”……

为了能够在不允许LSA4和LSA5传播的环境下让ASBR把外部路由传出该区域,特意开发了LSA 7,作用跟LSA5一模一样,LSA 7只在NSSA区域传递,当到达NSSA区域的ABR的时候,ABR会把LSA 7转换为LSA 5往外传递

与stub区域不同,NSSA首先他会产生LSA 7,也就是说如果本区域内某台设备产生了域外路由。在stub区域中,由于禁止了LSA 5的传播,这条域外路由是无法传播出去的,除了产生他的本人,连本区域内其他设备,都不会知道这条域外路由的存在。但是NSSA区域中,他会把本地产生的域外路由信息,通过LSA 7传播出去,然后到了ABR上,ABR会把这LSA7 转化为LSA 5再发送出去。NSSA区域很好的解决了本区域需要减少路由负担,但是同时本区域内存在ASBR的情况。

第二个不同,NSSA默认配置情况ABR是不会下发默认路由的,也就是说,本区域的设备是去往不了其他区域的域外的。如果想让ABR下发默认路由,则需要在配置命令后跟上default-information 的参数。

配置:

在区域的所有路由器的进程下

(config-router)#area area号 nssa

完全NSSA区域

其实这个区域作用就是结合了完全stub区域和NSSA区域的特性。他禁止LSA3、LSA4、LSA5的传播。同时ABR会下发默认路由,当本地产生域外路由时,会通过LSA 7传播出去。直观表现是路由表中,其他区域域外路由和明细的域间路由都消失了,取而代之的是一条由ABR下发的0.0.0.0的域间路由。

存在价值在域外和域间路由都很庞大且本区域内存在ASBR的情况下才能凸显。

配置:

先把区域配置成nssa区域

在该区域的ABR进程下

消失了,取而代之的是一条由ABR下发的0.0.0.0的域间路由。**

存在价值在域外和域间路由都很庞大且本区域内存在ASBR的情况下才能凸显。

配置:

先把区域配置成nssa区域

在该区域的ABR进程下

(config-router)#area area号 nssa no-summary

你可能感兴趣的:(网络基础)