1.起源
- 发明者:迪克斯特拉
- RIP(距离矢量)缺点:收敛慢、度量值不科学、可扩展性差
2.链路状态路由协议-建立过程
- 1. LSA泛洪:链路状态通告,建立连接,了解各位的连接,描述接口的状态信息。
- 2. LSDB维护:路由器收到LSA放入自己的LSDB,对所有LSA进行分析后得到全网拓扑。
- 3. SPF计算:最短路径优先,计算出一棵以自己为根的、无环、最短的树。
- 4. 生成路由表。
3.OSPF优点
- 基于SPF算法,无环
- 采用组播收发协议报文
- 支持区域划分,区间路由采用距离矢量的算法
- 支持报文认证
- 支持对等价路由进行负载分担
4.OSPF应用场景
- 核心和汇聚层部署在骨干区域
- 接入和汇聚层部署在非骨干区域
- OSPF度量值:用于区分路径的快慢,路径的每个出接口累加,越小越快 。
- Cost=100Mbit/S➗接口带宽
5.OSPF三大表
- 邻居表:显示邻居是谁,通过Hello报文建立。(查询命令:display ospf peer)
- LSDB表:所有LSA的集合,构建出拓扑图。(查询命令:display ospf lsdb)
- OSPF路由表:通过SPF后,获得的最佳路由。(查询命令:display ospf routing)
6.OSPF五个包
- HELLO包(1):发现和维护邻居关系。
- DBD包(2):交互链路状态数据库摘要。
- LSR包(3):请求需要的链路状态信息。
- LSU包(4):发送详细的链路状态信息。
- LSA包(5):确认LSA收到。
7.DR与BDR的选举(从上往下选)
- 1. 优先级(dr-priority)高的成为DR。
- 2. Router-id 大的为DR。
- 3. Loopback ID 大的成为DR。
- 4. 接口地址最大的成为DR。
- 将OSPF改为点到点类型:为了减少选DR的时间。进入链路接口(ospf network-type p2p)
8.OSPF配置命令
- 1. 启动进程设置router-id,进入OSPF视图
#ospf process-id(1) router-id Router ID(1.1.1.1)
- 2. 创建OSPF的区域(area)
#area area-id(0)
- 3. 在ospf区域中宣布连接的网段
#network network-address(192.168.1.1) wildcard-mask(0.0.0.255)
- 4. 在接口下使能OSPF
#ospf enable process-id(1) area area-id(0)
- 5. 在接口下设置DR优先级
#ospf dr-priority priority(100)
- 6. 在接口下设置Hello包发送的时间间隔
#ospf timer Hello interval(10s)
- 7. 在接口下选择网络类型
#ospf network-type p2p | broadcast|nbma|p2mp
9.四种设备类型
- 区域内路由器(IR):设备所有接口都在同一区域。
- 区域边界路由器(ABR):设备同时连接两个区域(骨干区域和非骨干区域)。
- 骨干路由器(BR):至少有一个接口属于骨干区域(area 0)。
- 自治系统边界路由器(ASBR):两个协议之间的路由,引入外部路由的设备。
9.七类LSA类型
- Type-1(路由器LSA):每个路由器都会产生,描述了设备的状态和开销,只在所属区域内泛洪。
- Type-2(网络LSA):由DR产生,只在接口所属区域内泛洪,描述区域内有多少设备。
- Type-3(网络汇总LSA):由ABR产生,汇总某个区域的路由,通过距离矢量的方式传给区域间的路由。(抄作业)
- Type-4(ASBR汇总LSA):由ASBR同区域的ABR产生,告诉你们需要的ASBR在我这儿。
- Type-5(AS外部LSA):由ASBR产生,描述引入非OSPF协议的路由。
- Type-7 (NSSA LSA):由ASBR产生,描述引入非OSPF协议的路由,但仅在NSSA区域中产生。
10.OSPF防环机制
- 非骨干区域只能和骨干区域相连
- 从某个区域出去的type-3的LSA不能返回原区域
- 从非骨干区域收到type-3收到SLA,不进行路由计算,也不将其发到其他区域
11.虚连接的作用及配置
- 将没有与骨干区域的区域通过虚连接的方式将其连接到骨干区域
#area area-id(骨干区域和非骨干区域相连的区域,1)
#vlink-peer router-id(对端 1.1.1.1)
12.特殊区域
- Stub area
- ABR不向stub 区域转播它接受到的AS外部路由(过滤:type-4 、type-5),但是会生成一个缺省路由。
- 骨干区域不能配置stub
- 虚连接不能通过stub
- 命令:#stub
- Totally stub(完全stub)
- 不允许外部路由在本区域传播
- 不允许区间路由传播
- 生成一条确实路由
- 命令:#stub no-summary
NASS 区域
- 学习自己引入的外部路由,但是不学习其他区域引入的外部路由。
- 过滤type-4、type-5
- 命令:#NASS
Totally NASS 区域
- 学习自己引入的外部路由,但是不学习其他区域引入的外部路由。
- 过滤type-4、type-5
- 其他区域的type-3类也会被生成缺省路由
- 命令:#NASS no-summary
11.ABR路由汇总
#ospf 进程号
#area area-id(1)
#abr-summary X.X.X.X mask
ASBR路由汇总#ospf 进程号
#asbr-summary X.X.X.X mask
12.Silent-interface
- 不会接收和发送ospf包
- 直连路由可以发布出去
- 一般在连接终端的接口上使用
#ospf 进程号
#area 区域号
#network 网段 反掩码 (终端网段)
#silent-interface 接口号
13.OSPF报文认证
- 通过密码认证才能接收ospf包
接口认证
#interface 接口号
#ospf authentication-mode 验证模式 1 cipher 密码
区域认证
#ospf 进程号
#area 区域号
#authentication-mode simple(明文) cipher 密码