1)基本特性
①链路状态:发送的不是路由表,是链路状态。
②更新方式:触发更新 增量更新。
③没有自动汇总,手工汇总,分为区域汇总和外部路由汇总。
④层次化网络设计
⑤支持VLSM CIDR(无类路由协议)2)3张表
①邻居表
形成邻接关系之后的邻居(必须在相同网段,必须直连,掩码必须一样important)
②LSDB 链路状态数据库
LinkID
ADV
SEQ
AGE
CHECKSUM
③RIB路由表
最优路径 O OIA OE1 OE2 ON1ON2 OIA* OE*3)Message
hello:发现和维护邻接关系(router-id,time ,neighbor ,area ,dr / bdr , stub ,auth ,priority)。组播也有单播。HELLO包总有掩码,所有直连掩码不一样不会建立邻居。(important)
DBD:本地网络的检索信息。选举主从关系,控制数据的同步。I M MS (单播)
LSR:请求
LSU:更新组播
LSACK:可靠的发送组播
TWO-WAY:在收到的HELLO包中看到了自己的router-id。(双向)
Exstart:交换DBD (选举主从关系没有LSA,交换的exchange的时候有。)
I表示是不是第一个数据包。
M表示是不是最后一个数据包。
MS表示主从关系。
Exchange(loading):形成链路状态请求列表,向对方发送。知道这个这个请求列表为空。就会进入进入到FULL状态。所有请求发完。
Full状态。
OSPF等待时间,这段时间没有人告诉我,我自己就是DRBDR。这个等待时间四十秒。OSPF没有抢占。(除非把DR的优先级改为0)(important)4)邻居TS
①OSPF很严格,邻居掩码不一样,建立不了邻居。
②正常网络 10 dead 40 / NBMA 40 dead 120
Hello不一致肯定建立不了邻居关系。
Dead不一致也无法建立邻居关系。
更改Hello时间,Dead时间会自动变为Hello时间的四倍
更改Dead时间,Hello时间不会跟着变 - =!!!
③OSPF router-id一样也无法建立邻接关系
④不同区域(区域是发生在接口上的)。也不能建立邻居。
⑤stub标志不一样也不能建立邻居。
⑥网络类型不一致 会影响邻居关系,但是可以建立邻居。
⑦MTU
⑧底层 2层帧中继
⑨ACL
⑩passive-interface OSPF永远没单向的邻居(important)没有任何意义。
11从地址无法建立邻居,只能主地址。5)LSA类型 (十一种)---->路由选路
①Router Link LSA (每台路由器产生)
LSA1发送方式不一样,包含在特定的一个源地址中,可以在show ip ospf database 中的link count看到。(important)
更新源是对端直连接口地址。
②Network LSA (DR产生)
上面两种不会穿越区域
③Network Summary LSA (ABR发送)一类和二类在其他区域的表现形式 OIA
④ASBR Summary LSA asbr router-id 标识当前ASBR是谁,有五类才有四类。
⑤AS External LSA标明具体的外部路由是什么。
⑥用于组播的OSPF
⑦NSSA的 External LSA
⑧External attributes LSA (BGP充分发进OSPF)
⑨opaque LSA (本地链路)
⑩opaque LSA (本地区域)
九号十号就是IPV6中的一类二类
11当ospf打上TAG就是十一类TIPs:
distribute-list对于OSPF只能用于IN方向。OSPF传的不是路由表,对下一条没影响。EIGRP和RIP会有影响。(important)LSA类型
ADV(谁通告的)
link-id(表明是谁)
①三类的LSA的ADV由最后一个ABR决定。路由代码是OIA
②四类的LSA是有ASBR所在的区域的ABR产生的。也会随着区域的变化而变化。四类LSA没有路由代码,只是一个标识。标识ASBR在哪。
③五类的LSA是不会随着区域的变化而变化的。
④NSSA区域ABR被视为ASBR,在这个视为ASBR的ABR上七类被专为五类。四类只会因为五类的出现才会出现,所以在当五类区域泛洪到下一个区域的时候,下一个区域的ABR就会用一个四类的LSA代替这个五类的LSA。七类不会跨区域传播,所以不需要四类,但是五类是要夸区域传播的,所以需要四类。(important)
OSPF的路由选路
O/OIA/OE1/ON1OE2/ON2
O的路由优先于OIA
OIA由于OE1/ON1
OE1大于OE2
ON1大于ON2
OSPF和EIGRP都是在接口接收的时候累加COST数值,只有RIP是在发送的时候累加COST数值。(important)
OE1优于ON1
OE1优于ON2
O>OIA>OE1>ON1>OE2>ON2
都是OE2先比较到达ASBR的开销。越小越优。到达ASBR的开销一样,负载均衡。
区域类型
骨干区域
area0
非骨干区域
area1....
特殊区域
ST TST NSSA TNSSA
STUB区域:过滤四类五类LSA,自动产生一条星号的OIA默认路由。
如何在这个区域充分发路由,会报错,不会向外产生五类路由。(important)
接受三类,也向外部发送三类。
TotallStub区域:在ABR上area 1 stub no summary。就可以了。别的路由只要加上 area 1stub.
只有三类。过滤三四五类LSA。可以向外产生三类,虽然自己不接受。
NSSA:
最大特点允许ASBR的存在,跟STUB一样过滤四类五类,但是可以向外通告外部路由。NSSA不会产生默认路由。默认路由不是O*IA,是O*N2。
在ABR上 AREA 1NSSAdefault-information-origina产生默认路由(需要本地有一条静态路由,否则加ALWAYS,路由类型是O*E2)。在ABR上充分发路由可以进入NSSA区域。
在abr上area1 nss在后面加上no redistr 这条路由就不会进入NSSA区域。(important)
Totall区域:
会产生默认路由 O*IA
会向外产生三类LSA汇总:
区域间路由汇总:
area 1 range汇总地址参数
做了汇总也会产生NULL 0
删除NULL 0路由的命令,在进程下: no discard-route
汇总一定要在明细区域产生的区域内的ABR上配置(important)
汇总路由的开销
参数如果就上not advi 就明细汇总都不通告,起到过滤作用
外部路由汇总:
做在ASBR上,进程下,summaryaddress 汇总地址。OSPF认证:
1是明文认证
0是没有认证
2 MD5认证
没有密码是空认证。(important)
区域认证:
明文认证:
一定要声明,但是可以不配置密码。明文认证。
密文认证:
最年轻的认证机制,最后配置的那个密码生效。(important)
左:key 1 cisco右:key 1 cisco
key 2 ccie
OSPF的倒退机制,如果最年轻的密码不通过,就跟老的比对,一旦认证通过,KEY1 KEY2一起向外发送。因为没有轮状的认证机制,所以有这个最年轻和倒退的机制。虚链路:
hello包被抑制,但是第一次会发送HELLO单播来建立邻居。网络类型point-to-point.
区域0有认证,虚链路也要配置认证。
区域0中做虚链路连接两个想通的区域无法还原路由。
跳过区域0 可以在区域0上打上tunnel。 tunnel mode .tunnel口的COST六个1 ,避免次优路径。
tunnelIP要被宣告进要被宣告的IP
OSPF一个区域推荐25台路由器维护5000条路由条目。
SHOWIP OSPF DATABASE看到的时间是秒,每三十分钟泛洪一次。OSPF网络类型
接口类型和网络类型分开
(example:ospf的网络类型只是OSPF自己的。)
PTP:之所以不选DRBDR,是因为本地优先级为0
broadcast:
NBMA:
①NBMA
②PTP HELLO 10秒
③B HELLO 10秒
④PTM HELLO 30秒 会产生32位路由,这个不是换回口的32位
⑤PTMNON
帧中继多点子接口运行OSPF默认接口网络类型:NBMA 和主接口一样
帧中继点到掉子接口:点到点
hubAND spoke会引起DR BDR的错乱。导致路由学校混乱。OSPF综合实验二里的现象。(important)解决办法,手动选择DR。
点到点在HUB-SPOKE的上面会导致邻居浮动。因为同时只能和一个邻居建立邻居关系。(important)
两边的网络类型不一样,会导致HELLO时间不一样,如果HELLO时间不一样,就建立不了邻居。
思考题,BDR学不学目标地址为.6的地址的更新内容?
答案:可以从DR学习
FILTER-LIST过滤LSA
进程下area [num] filter-list prefix [name] in/out
可以过滤任何的LSA
OSPF的快速HELLO包特性
ipospf dead-interval minimal hello-multiplier 3
两边都要敲
死亡时间定义为一秒,一秒钟发三个包
外部路由转发地址(important)
默认是最大环回口地址(network中的地址)
查看命令:(important)
ship ospf database nssa-external
area 1 nssa traslate type7 suppresss-fa()
查看效果命令:
sh ip ospf database external
把外部路由的下一条地址变成自己
外部路由的转发地址