OSPF四天讲义

OSPF 讨论讲义
OSPF 总结了15 个块儿,如下:
1. 什么是 OSPF?
2. OSPF 邻居。
3. OSPF 路径计算过程
4. OSPF 的三张表
5. OSPF 的包
6. OSPF 邻接关系的建立
7. OSPF 的router ID
8. OSPF 的几种网络类型及配置
9. OSPF 的几种LSA
10. 多区域的 OSPF
11. OSPF 的配置
12. OSPF 的路由汇总
13. OSPF 的特殊区域。
14. OSPF 虚链路
15. OSPF 的身份验证

下面我们就开始将以上问题一一讨论。
1. 什么是 OSPF?
􀂄 链路状态路由选择协议,运行本身,包括一些细节方面,具有距离矢量协议。
􀂄 发送 hello 包,有database
􀂄 使用组播地址发送链路状态更新
􀂄 对拓扑结构设计采用层次化结构,如分中转区域和常规区域。
􀂄 有三张表:邻居表、拓扑表、路由表
􀂄 可以认为是地图协议,对于每一个路由器,它们各自都存有整个网络拓扑,并根据自身
的为止,通过算法,以自己为根算出最优路径。

2. OSPF 邻居关系。
􀂄 邻居关系与 EIGRP 一样,仍然是直连邻居。即具有物理直连关系的路由器之间才能建
立邻居关系。但与EIGRP 邻居关系又不一样,并不是简单的收到hello 包就建立邻居关
系。
􀂄 在 OSPF 中会遇到“邻居”和“邻接”的概念,下面我们进行一下区分:
小弟用通俗的话语给大家解释一下:
邻居关系:
比如在一个单元楼里搬来两户家庭,起初他们只知道自己是对门,但彼此和对方并没有
深交,不知道对方的家庭及背景。见了面也只是打个招呼,这样的关系就叫邻居关系,在
OSPF 中就是物理直连的路由器,在没有建立任何会话前,它们只是邻居关系。对于对方具
体的路由以及其他一些信息并不了解。
邻接关系:
这两户家庭随着时间的推移,彼此互相有来有往,有了深交,对彼此家庭的情况了如指
掌,比如:叫什么,家有什么人,都是干什么的等等。这样的关系就叫邻接关系。在OSPF
中也就是通过OSPF 邻接关系建立的过程,从而知道对方路由器上的详细路由信息,如router
ID,路由表等等。
在 point-to-point WAN 类型中,邻接关系全部为full
在LAN 类型中,DR 和BDR 关系为full 状态,其他路由器之间的关系始终为two-way
总结:
在 OSPF 中,是邻居的并不一定具有邻接关系;是邻接关系的,必定是邻居。

3. OSPF 路径计算过程
笼统的介绍一下 OSPF 的算法:
首先每个路由器产生自己的 LSA,并将自身的LSA 传递到相连的邻居上,不断的两两
相传,直到整个区域内的LSA 全部相同,达到同步。每个路由器都知道与自己不直连路由
器的情况,知道整个网络的拓扑,之后自己自动根据自身所在的位置计算最短路径,算出来
一棵以自己为根的树。

4. OSPF 的三张表
􀁺 邻居表:通过发送 hello 包建立的,目标地址224.0.0.5
􀁺 拓扑表:描述哪些路由器产生哪些 LSA。Database,同一区域内database 一致。
􀁺 路由表:最优的路径才能放进此表。

5. OSPF 的包
OSPF 的包都是封装在IP 包里面的,它的协议号为89,包括如下五种包:
1 类 Hello 包:建立和维护邻接关系。
2 类 DBD:数据库的摘要信息,LSA 头部信息的汇总,LSA 通告路由器是谁,序列号,类型。类似于在图书馆借书,查看目录。查看自己需要的LSA,自己所没有的LSA。
3 类 LSR: 一个 LSR 可以包含多个LSA 请求。
4 类 LSU: 包含了真正的 LSA 条目,可以包含多条LSA
5 类 LSAck:有两种确认,一种是显示确认,一种是隐式确认。
其中:DBD,LSR,LSU 需要可靠传输。LSR,LSU 需要ack 确认。

6. OSPF 邻接关系的建立(用A,B 两个路由器来说明全过程)
down:A,B 分别向对方发送hello 包激活OSPF。down 下仍然发送hello 包。
init:比如B 先收到来自收到对方A 的hello 包,发现router ID 字段为A,邻居字段并没有
看到自己,于是B 将A 放入自己的邻居表,并向A 发送一个router ID 为B 的,邻居
字段为A 的hello 包。
two-way:这时A 收到来自B 发给它的数据包,经过查看,发现B 的hello 包中邻居字段
看到了A 自己,到此为止,A 知道了B,同时B 也知道了A,这样的关系就认
为是two-way 的关系,也就是邻居关系
如果是 MA 网络,则选举DR 和BDR,过程如下:
1) 先看优先级,优先级最高的为 DR,次高的为BDR。默认下优先级为1,最大为255,
如果优先级为0,则不参加选举。
修改优先级的命令:(config-if)#ip ospf priority <xx>
2) 如果优先级相同,则看 router-id 大小,较大的称为DR。
3) 优先级更高的 router 加入网络时,并不会抢占原先的DR 和BDR。
说明:卡 TWO-WAY 一般就一个原因,就是都把优先级给配置成0 了
注意:DR,BDR,DRother 是针对参与OSPF 进程的接口来说的,并不能简单的就说明某
台路由器是DR,BDR 或者DRother,因为我们在修改优先级的时候是在接口模式下修改的。
如果在同一个网段,并且不对接口做任何修改的情况下,可以简单的认为该路由器为该网段
的DR,BDR 或者DRother。
举例说明:
比如在一个网络中,所有路由器的优先级都为1,这时,但有一台路由器一个接口是0,
另一个接口的优先级是2,那么这个路由器只能说是在针对优先级为0 的接口的网段,它是
DRother,针对优先级为2 的接口的网段,它是DR。
选举之后进入 exstart
Exstart:发送DBD,通过rotuer ID 确定主从关系(有两个位:I 位(init),M(more)位,
MS(master)位,这里要注意的是,主从关系的路由器与DR 和BDR 无关,这里的
主从关系只是用于同步DBD。而DR 和BDR 是用于维护路由信息的。所有路由器
在最初运行的时候全部认为自己是主路由器。
说明:卡在exstart exchange 主要原因
一 MTU 不匹配 debug ip ospf adj 会看到有类似什么nbr xxxxxx has larger
interface MTU 的报错, 仔细改掉就好~ 当然可以配置 Ip ospf mtu-ignore 来忽略
二 就是 ROUTE-ID 重复了也就是烽火说的,在debug ip ospf adj 会看到DBD 的
分组一直再传送, flag 0x7 一直是7~ 这个时候注意检查ROUTE-ID~ 改掉之
以上为主要的原因~
还有就是底层的了, 比如 ping 都PING 不通,也就是单播都通不了~ 检查dlci vci 那些
映射,检查是不是做了过滤, 检查是不是NAT 错误的转换了~ 这些就不多说了
Exchange:在主从关系确立之后,主路由器与从路由器之间交换一个或者多个DBD 分组。
从路由器向主路由器发送确认的DBD,与主路由器达到同步。根据序列号可以看
出来。
loading:DBD 同步之后,从路由器将根据自己没有的LSA,向主路由器发送LSR,主路由
器在收到LSR 之后,向从路由器加载LSU。
full:从路由器收到LSU 后,向主路由器发送LSAck,用于确认。
至此,在 OSPF 网路中,路由器处于full adjance 状态。

7. OSOP 的router ID
router-id 是一个标识路由器的IP 地址,设置router-id 有以下三种方法:
a) 默认下,会将最大的活动物理接口设置为router-id,一旦设置成功,即使该接口
shutdown,也不会更改。
b) 如果存在loop 接口,则其IP 地址总是优于物理接口。因为loop 接口永远不会shutdown
c) 如果通过router-id 命令配置了ID,则优于前两者。
配置的时候应当注意如下事项:
1) 如果 router ID 是物理接口或者loop 接口的话,要重新更改其router ID,则应当重启路
由器,或者禁用OSPF 路由选择协议之后并重新启动。
2) 如果是通过 router-id 配置命令指定的router ID,要重新更改其router ID 的话,可以通
过命令clear ip ospf process 来重启OSPF 进程。
5 月19 日课后问题讨论
ESP 大哥的问题:
问:OSPF 中DR,BDR 和主从路由器的区别
答:
􀂾 所处阶段不一样:
DR 和BDR 在Exstart 之前就已经选出来了,主从路由器是在Exstart 中选举的。
􀂾 是各自的选举方法不一样:
DR 和BDR 是通过先查看优先级,大的为DR,如果优先级相同的话,就查看rouerID,
大的为DR。而主从路由器的选举先看MS 位,1 为主,0 为从,如果相同都为1,就看routerID,
大的为主。
􀂾 各自职能不同
DR 和BDR 的职能是维护网络用的,比如,如果网络拓扑发生变化,那么就更新就会
以主播地址224.0.0.6 发送到DR 和BDR,DR 和BDR 更新之后,再以组播地址224.0.0.5 发
送到其他路由器中。主从路由器的职能是:在建立邻接关系的时候同步DBD 用的,说白了
就是同一大家对整个网络有一个统一的认识,然后每个路由器根据整个统一的地图,以自身
为根,画树。画自己的树,也就是最佳路由,然后将最佳路由加载到路由表里
游泳池大哥的问题:
问:new_router 如何和其他路由器建立邻居,新加近的路由器如果参与OSPF 的话,会不会
重新选举DR。
答:
第一个问题:
首先得配置了 OSPF 之才可以建立邻居,不然,邻居给你发个hello 包,你都不认识,
怎么建立。就像你出国,你得先学会英语,不然,去了美国,人家跟你打招呼,你都不知道,
怎么跟人家相处。
第二个问题:
首先要强调的一点是,如果在你加入之前,已经是一个非常稳定的OSPF 网络,那么新
加进去的这台路由器不会影响任何DR 和BDR 的。DR 和BDR 一旦选定,不会轻易改变的。
除非 DR 挂了,那么就由BDR 升级到DR。
举例说明:
比如有经理和副经理,经理是DR,副经理是BDR。那么你是一个非常优秀的职员,比
经理优秀多了,新加入到这个公司,那么,难道你一进这个公司,你就能成为经理吗?即使
经理是小学文化,也不会让你去当经理的。如果有一天经理挂了,副经理没你优秀,所有的
职员都一致认为你应该当经理,那么你就可以当经理吗?注意,这里即使你再优秀,也不能
当经理,凡事都要有个先来后到。副经理就是在你来之前,如果经理挂了,他直接当经理。
因为在你没来之前,已经选好经理和副经理,它们是这个公司最优秀的和次优秀的,没有人
再比它们优秀了。所以直接升经理,你来了之后,虽然你比副经理优秀,但你仍然不可能当
经理,最多你能当上副经理。
总结:主路由器在最初建立邻接关系时有用,整个网络稳定了,它就废了,剩下的变化
交给DR 管理了。打江山的是主路由器,守江山的是DR 和BDR。
一点红大哥的问题:
问:路由器的主从关系是根据什么来产生的
答:是这样的,所有路由器在Exstart 中确定主从关系么,它们都在发送第一个DBD 中将自
己的M 位设置为1,认为自己是主路由器,然后比较routerID,较大的为主,剩下的全部为

OSPF 讨论讲义
――5 月20——22 日
(风火连城)
仅在这里向灾区遇难的同胞们释怀,哀悼,愿他们一路走好,中国不哭,
中国加油,我为我自己是一个中国人而感到骄傲!
大家好,我是风火连城,今天我们将继续讨论OSPF,昨天讨论了一些OSPF 的基本知
识,但就是基本知识也有许多东西让人很搞不懂。但多看看就会懂了,说这话的意思并不意
味着小弟对OSPF 有多少建树,只是觉得,技术,是一个不断学习的学问,三天打鱼,两天
晒网,终究是达不到技术巅峰的。
当然,自学是一个枯燥的过程,为此,何不三五成群,与技术高手们一起讨论,何乐不
为,在这里,衷心感谢离歌,光头哥,印哥,蝎哥,星哥,大象哥哥,兵哥,红哥,ESP 大
哥,池哥,小C….等等热衷于技术的兄弟们,我想说,在通往技术巅峰的道路上,因为有
了你们,而不再感到寂寞!!
闲话少说,我们还是开始今天的课程吧。
今天的课程是这样安排的,我们首先要介绍的是 OSPF 中的一个非常重要的知识板块
儿,就是OSPF 的几种网络类型及配置方法,此外如果我们还将介绍OSPF 的7 种LSA,及
它们各自的作用。最后如果有时间的话,我们还将介绍OSPF 的几个特殊区域。
好,首先我们来看第一个知识板块儿。

8. OSPF 的几种网络类型及配置(这块儿,一直还是晕,准备找几个高手,就这儿开个专
题,希望大家届时参加)
有的人说 OSPF 总体说来有5 种网络类型:
Point-to-point, broadcast, NBMA, point-to-multipoint, point-to-multipoint NBMA,这是卷一
里的分类。
但这里小弟个人的看法是这样的:
小弟将 OSPF 网络类型从大范围分为三大类:点到点,广播,非广播
在非广播下又分为 5 种模式
点到点,非广播,广播,点到多点,点到多点非广播
为什么会这样分呢?
通俗的解释:一句话,鱼找鱼,虾找虾,乌龟找个大王八。3 层OSPF 网络类型必须与
2 层链路类型匹配,否则,OSPF 跑不起来。原因如下:
1. OSPF 是为一个大型网络而设计的,在大型网络中,底层的情况往往是不同的,应
当支持这些情况,至少是二层以上。
2. OSPF 建立邻接关系是以组播建立的,但有些二层链路是不支持组播和广播的,因
此这些类型是为了更好的适应底层的网络类型。
3. 对于每一个二层网络类型都有一个默认的网络类型,不一定就是广播的,或者不一
定就是P2P 的
例如,如果底层是一个支持广播的以太网络,所以就会选 OSPF 的broadcast 类型
如果底层是一个串行接口封装HDLC 的网络,则OSPF 就会选P2P 的网络类型
个人的一点建议,要想真正理解OSPF 这几种网络类型的情况,首先要理解的是这几种
网络类型的特点,下面我就一一讲解。
􀂄 Point-to-point,
1) 如果 2 层链路封装的HDLC,或者是PPP,则3 层的OSPF 的默认网路类型是P-to-P
2) 邻居状态是 full
3) 不会出现 DR 和BDR 的选举,不存在DR 和BDR
4) 所有数据包都发往组播地址 224.0.0.5
5) hello 间隔时间10 秒,dead 40 秒
􀂄 MBA,multiaccess broadcast Network
1) 如果 2 层链路是典型的以太网或者令牌环网,则3 层的OSPF 的默认网络类型是
MBA
2) 由于是广播网络,所以选举DR 和BDR,DR 与BDR 之间是full 关系,DR 和DRother
是full 关系,BDR 和DRother 是full 关系,DRother 与DRother 之间的关系是2-
way 关系。(补充一点:为什么BDR 和DRother 是full 关系而不是2-way 关系呢?
答:因为,如果是2-way 关系的话,则DR 挂了之后还要重新选举DR 和BDR,
这样将导致BDR 是没有任何意义的,而不是直接由BDR 接替DR 来继续工作,从
而增加网络的收敛时间)
3) 发送到 DR 和BDR 的地址是组播224.0.0.6
4) 从 DR 发送到DRother 的地址是224.0.0.5
5) 一般 BDR 不发包。
说明:
在 MBA 网络中,如果OSPF 邻居关系想建立,必须掩码相同
BDR 接替DR 工作时要等待dead 时间超时,即40 秒之后,再此期间,BDR
始终为BDR。
DR,BDR,DRother 是针对参与OSPF 进程的接口来说的,并不能简单的就
说明某台路由器是DR,BDR 或者DRother,如果在同一个网段,并且不对接
口做任何修改的情况下,可以简单的认为该路由器为该网段的DR,BDR 或者
DRother。
􀂄 NBMA
1) 由于 2 层NBMA 本身是一个不支持广播的,如:ATM,帧中继。所以3 层OSPF
的默认网络类型也是非广播的。
2) 由于帧中继是从 PVC 走的,PVC 是一对一的,所以帧中继不支持广播。邻居关系
是无法自动发现的。所以在配帧中继的时候,做映射的时候加参数broadcast。意
思就是将一个帧在多条PVC 上进行复制。
3) 由于帧中继是由虚链路组成的,因此有三种拓扑形式,全互联,部分互联,星型
拓扑(hub-and-spoken),其中星型拓扑最为常用。
4) 当 OSPF 工作在帧中继的时候,又分如下5 种类型:
Non-broadcast
Point-to-multipoint
Point-to-point
Point-to-multipoint norbroadcast
broadcast
说明:
前两种是由于 RFC 定义的,业界标准的,绝大多数厂商所支持的类型,
后三种是思科设备在原有点到点,广播的基础上在NBMA 下有添加了3
种模式,是思科专有的,也就是思科设备支持的,这里大家一定要区分清
楚,这里说的大前提是在NBMA 情况下的模式,前提是NBMA 下的。
在我们 NBMA 模式的OSPF 时,首先我们先得把帧中继配置起来。我们
知道帧中继包括全互联,部分互联,以及hub-and-spoken,而我们实际
工作中往往采用hub-and-spoken,原因是全互联比较昂贵,而部分互联
往往是由于前期没有很好做规划的网络升级所导致的情况。
先说 NBMA 模式下的norbroadcast
Nobroadcast 是默认的模式
由于是非广播的,所以我们应当将其模仿成广播网上的运行方式,广播网
上是由DR 发送LSA 的,因此我们应当在NABMA 上选举DR,但选举
DR 的前提必须得建立邻居
由于 cisco 路由器检查到接口的封装模式是HDLC,则它就讲接口默认为
非广播模式。不能自动发现邻居,因此必须手动建立邻居。必须选hub 为
DR。(原因:hello 包的目标地址是224.0.0.5.又称为本地链路地址,所有
以本地链路地址为目标地址的TTL 值为1。因此不能跨路由器去建立邻接
关系。只有hub 能与所有路由器建立邻居。
补充:这里大家对那个 TTL 是1 可能理解不是很好,我再详细说明一下:
在非广播网中,拓扑如下:
A——B——C——D
A 发一个组播地址给BCD 传
并不是说 A 发给B,在发给C,再发给D,这不是组播,
应当是A 发个B,B 一看这个地址是组播的,就将这个包复制一下,然后发个
在这个组内的成员C,C 一看,它知道了,然后它再复制这个包给D。
整个过程都是 1 跳1 跳的
在起 OSPF 之前,我们首先要搭建NBMA 环境。
(config)#int s1/0
(config-if)#encapsulation frame-relay
(config-if)#no frame-relay inver
(config-if)#no arp frame-relay
(config-if)#frame lmi-type xxx
(config-if)#ip add x.x.x.x
(config-if)#frame-relay map ip 对端IP 本地 DLCI 值 broadcast
(config-if)#no shut
必须加,由于帧中继想要发送数据包的话,必须有映射关系,学习映射关系有两
种方法,一种是手动,一种是动态。只有当帧中继是全互联的情况才可以做动态
映射。而我们现在不是全互联的。如上命令就是关闭帧中继的动态学习,关闭帧
中继的逆向ARP 学习
注意:做 OSPF 实验过程中,如果起loop 来模拟内网的话,必须配置如下一条命令:
(config)#int loop 1
(config-if)#ip add 1.1.1.1
(config-if)#ip ospf network point-to-point
这条命令,如果要求路由中不能出现/32 位掩码的话,就要配;如果不要求的话,
就无需配置。
原因:OSPF 默认情况下,会将loop 口看成是一个默认的主机。而OSPF 类型是凌驾于物理
链路之上的,因此它会学到32 位掩码的地址,而不是一个stub。即告诉你什么,就
是什么。
接着手工指定邻居
(config-router)#neighbor x.x.x.x priority 0
说明:这条命令中的参数priority 会给大家造成一个假象:认为在hub 路由器上已经将branch
的优先级设置为0,不参加选举DR,从而保证hub 路由器为DR。其实这是错误的。
这只能是一厢情愿,这样的配置只是说明hub 路由器第一次发包的时候会将branch 路
由器的优先级认为是0.其实在branch 路由器上并没有真正修改优先级,我们会发现它
的优先级还是默认的1.因此,建议应当在branch 路由器接口级下去手动修改优先级。
邻居只需在 hub 路由器上指就OK 了,没有必要在边缘路由器上指。
最后起 OSPF
(config)#router ospf 1
(config-router)#net 1.1.1.1 0.0.0.0 area 0
以上就是 NBMA 网络下nobroadcast 模式的OSPF 配置方法
再说 NBMA 模式下的Point-to-multipoint
特点:
OSPF 使用组播hello 来自动发现邻居
无需指定邻居
不用选举 DR 和BDR,可以将其看成是多个点到点链路的集合
配置方式:
与 nobroadcast 稍有不同的地方就是不用手动指定邻居
直接在接口配置一条命令即可
(config-if)#ip ospf net point-to-multipoint
声明:
剩下的那三种,大家做一个泛泛了解就行了,知道有这三种就可以了,由于卷一没有
再说到,所以我也不给大家在这较真而,否则大家会越看越晕的,想进一步做了解的话,
查阅CCNP BSCI 中的P165 查询。
NBMA 下的Point-to-multipoint nonbroadcast 模式(思科专有)
只需在 point-to-multipoint 原有基础之上指定邻居就可以了
NBMA 下的Broadcast(思科专有)
全互联模式
NBMA 下的Point-to-point(思科专有)
两个路由器通过帧中继相连的情况

OSPF 的LSA
在讲OSPF 的LSA 之前,我们首先要了解一个概念,OSPF 的层次化概念。OSPF 如果
用于大型网络环境的话,会有一些要求,如缩小路由表,减少LSA 条目,这样可以使得OSPF
运行更加稳定,减少路由器负担,减少路由器CPU 占用率。所以我们应当将OSPF 设计为
层次化的模型。
由于产生了层次化模型,所以对于处在 OSPF 中的路由器也被分为了如下几种:
内部路由器:所有接口都位于同一个区域中
主干路由器:至少有一个接口在区域 0
ABR:链接骨干区域和多个非骨干路由器的时候,有两个LSDB,一个是针对area0 的
另一个是非主干区域。
ASBR:链接了一个不运行OSPF 的网络的路由器
说明:所有的非骨干区域都要与主干区域相连,没办法直接相连,就用到虚链路了。
虚链路特点:
1. 单播发送 hello 消息
2. 以一个区域作为传输区域
3. DC,demond circuit 按需电路
Hello 抑制,(值传输第一次hello 包,以后不发送了)
DNA do not age las LSA 不老化
每 30 分钟泛红抑制掉,no flood
下面我们来看 LSA,首先说明的是每个路由器都会生成LSA 来描述自身情况和它所知
道的网络状况,同样路由器也会接受LSA,并把这些LSA 放入自己的LSDB,并保证所有
的LSDB 同步。同步之后运行SPF 算法。
用俗话说:其实哇这个 LSA 就是一个自我介绍,如同你求职用的简历,每个路由器都
会生成LSA 来描述自身的情况和它所知道的网络状况。在路由器发出自我介绍的LSA 的同
时,它也会接受别的路由器的LSA 自我介绍
举个通俗的例子:
新生开学
一大堆学生被分到一个班,你们得相互认识呢吧,于是老师组织的来个自我介绍,每个
人都介绍的同时,也听别人介绍。最后,每个人对他所在的班有了一个整体的认识,大家对
这个班集体的认识是相同的。LSDB 就相当于学生们存放每个学生资料的大脑的一根神经。
LSA 总共有11 种
第 1 类:Router LSA
第2 类:Network LSA
第3 类,和第4 类: Summary LSA(但有区别)
第 5 类:AS 外部LSA
第6 类:组播 OSPF LSA
第7 类:NSSA LSA
第8 类:BGP 外部LSA
第9 类,第10 类,第11 类:保留,未定义。
重点是:1,2,3,4,5,7
第 1 类:Router LSA
每一个路由器都会产生
只能在一个区域内部进行传播,这叫关起门来窝里,但这里不是斗,是相互谈心
包含了直连链路的列表,描述了每个链路的网络信息和路由信息。
比如: 你叫什么?router ID
你认识谁?neighbor ID
谁产生就用谁的名字
第 2 类:Network LSA
描述传输网络的内容
包含传输网络上的所有路由器,以及子网掩码。
由 MA 网络上的DR 产生的
传输范围仅限于本区域内部,不能超越区域。
名字是 DR 的接口IP 地址
在 DR 上可以 sh ip ospf database 查看到
第 3 类, Summary LSA
用于域间路由,用于网络汇总路由,
只包含网络号,子网掩码,度量值,不支持自动汇总,除非你手动汇总。
名字为它所传播的网络号,传播范围是在 OSPF 整个区域内传播
由 ABR 产生,它将与之相连的一个区域的的1 类LSA 转化为3 类LSA 再发到与之相
连的另一个区域。
O IA 是由3 类LSA 学习到的
在 ABR 上可以sh ip ospf database 查看到
俗话说一下工作原理:
好比有俩区域 ,区域 1 和区域0,它们之间肯定有ABR 吧,这个ABR 连接着区域1
和区域0,ABR 把区域1 内大家互相通告的1 类LSA 转化到3 类LSA,然后发布到区域0,
那边也一样
第 4 类:Summary LSA
4 类LSA 汇总的是AS 外部的LSA
ASBR 会产生一个特殊的LSA1,这个LSA1 是链接AS 外部的,ABR 收到以后,想让
其他区域认识这个LSA
就将这个 LSA1 转化为LSA4 这个1 类LSA 告诉ABR,我这有发送到ABR 上,ABR
收到后创建一个4 类LSA,并把它扩散到其他区域中
(如有不懂的,晕的,请联系我,我会用最最通俗的例子给你说清楚的,^_^)
第 5 类:AS 外部LSA
没有 5 类LSA 就没有4 类LSA
由 ASBR 产生的
必须将 AS 外部路由重分布到OSPF 中,才能产生5 类LSA
在传播过程中,不会发生改变的
在我们讲 7 类LSA,也就是NSSA LSA 之前,我们应当先了解一下什么是NSSA,这就要
我们先对OSPF 的区域类型,做一个了解:
􀂄 OSPF 区域总的分为两大类型
中转区:中转区就是我们常说的区域 0
骨干区:常规区就是除主干区域外的其他区域
􀂄 在常规区下我们还可以细分
非特殊区域:是普通区域,如 area 1 area 2 area 4 .........
特殊区域:末节区域、绝对末节区域、NSSA 区域
为什么会有特殊区域存在呢?
原因:实际中最多的就是5 类, 占用大量的资源, 甚至超过 60%~在每个区域都洪泛, 一
个内部的区域,他并不需要知道外部的地址,只需要知道,我到到其他区域的包丢给
我的ABR 就可以了,这个时候就可以把LSA 5 阻塞掉了~ 接节省了大量的资源~
以上是原因,也就是为什么有STUB 的存在
(注:这个原因是离歌提供的,这里对离歌的支持表示感谢)
末节区域
在这个区域内中没有 ASBR
也不接受 45 类LSA
原因:没有ASBR,不接受45 类LSA,
要想到达外部的话,走默认路由,ABR 通告的默认路由,目的地址是0.0.0.0
totally stub
它连 3 类LSA 也干掉了
只通告 12 类LSA
该区域中的 router 到达其他区域的以及AS 外都走默认路由
NSSA
它不但具有 stub 的特点,还具有totally stub 的特点
可以包含 ASBR
NSSA 相当于带有中转性质的末节区域
举个例子:如下是 NSSA 的网络拓扑
AS 外部---NSSA-----主干区域----其他末节区域或者绝对末节区域
NSSA 本身学不到其他AS 外部的路由,自己引如的路由,会被别人学到的
本质就是为了不让 5 类到我的区域,我用7 类代替了5 类的作用
补充:(有离歌提供,对离歌的支持表示感谢)
OSPF 选路
路由标记如下:
1. O 区域内路由
2. O IA 区域间路由
3. O N1
O N2 Nssa 区域通告的Type7 LSA 生成的路由
4. O E1
O E2 外部路由区别在于后者计算时会不必加上到达ASBR 的Metric
路由表查询
1. 路由器读取目的地址,并查找路由表,选择和目的地址最长匹配的路由进行转发
2. 如果存在2 条相同的路由,查看管理距离
3. 根据 O > O IA > O E1 > O E2 的优先级顺序转发
4. 比较Cost,如果此时还存在等Cost 路径,则作负载均衡转发
OSPF 默认 4 条路径负载均衡, 可以通过 maximum-paths 6 修改,最多6 条路径负载均

E1 和E2 没有可比性,永远E1 优先
以上是小弟这几天的讲义总结,至于路由汇总,过载保护,默认路由的创建,身份验证,
虚链路,大家自己看看书吧。多做做实验,如果哪位大哥有疑义可以拿到群里进行讨论。
OPSF,确实有好多东西需要掌握,希望大家多多努力。
谢谢各位的支持,至于路由及交换的其他课程,看小弟能力了,如有能力,小弟还会陆
续开课,争取用最通俗的语言让大家更清晰的了解每个协议的工作原理,便于记忆。
最后诚挚的感谢多位哥哥们对我的大力支持,谢谢你们!
风火连城
2008.5.22 ^_^
补充
OSPF 路由汇总
1. 为什么要汇总,汇总有什么好处?
减少网络中 LSA 传送条目的数量,减轻路由器负担
减少网络变化
减少路由表,提高数据包转发效率
避免了由于 LSDB 的变化,而引发大面积的SPF 重计算
选择边界进行配置,限制 3 类LSA,5 类LSA 传递
汇总方式
ABR 上汇总
(config-router)#area 1 range 汇总后的地址掩码
可跟参数:advertise not advertise
为什么不能在域内路由器做汇总?
因为,我们说过,在同一个区域内,内部路由器的LSDB 是同步的,如果做了汇总就传
递的信息不一致了。因此只能在区域边界上
为什么不能跨区域进行路由汇总?
因为,这里的汇总只是针对 1 类和2 类LSA 进行汇总,如果跨区域的话,收到的是3
类LSA 汇总。不能针对3 类LSA 做汇总。
ASBR 上汇总
(config-router)#summary-address 汇总IP 掩码
OSPF 默认路由
想让谁发布这条默认路由,就在谁上面配置
(ocnfig-router)#default-information originate always
Always; 不打的话,如果有默认路由就传播,如果没有就不传播,反之,一直产生__
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值