目录
一、ospf概述
OSPF(开放式最短路径优先协议)是一种链路状态路由协议隶属于内部网关协议(IGP)运作于自治系统内部。通过收发拓扑信 息(LSA),然后根据特定算法(SPF)计算得出路由条目。目前针对IPv4协议使用的是OSPF Version 2。OSPF直接工作在IP层之上,IP协议号89,OSPF以组播方式发送协议包,组播地址为224.0.0.5和224.0.0.6。
二、ospf与rip的区别
1、相同点:
- OSPFV2和RIPV2都是无类别的动态路由协议(都支持汇总和子网划分)
- OSPFV2和RIP都是通过组播发送自身的数据包。
- OSPF和RIPV2都支持等开销负载均衡。
2、不同点:
- RIPV2只适用中小型网络环境,OSPFV2适用中大型网络环境。
- RIP—通过跳数选路(选路不够科学),可能出现环路。ospf—链路状态路由协议(传递拓扑信息) 收集LSA(拓扑信息)形成有向图,转换为最短路径树,依靠自身的最短路径优先算法计算得出路由。
三、ospf详述
1、ospf区域划分
OSPF结构化部署的思路——区域划分,区域内部传递拓扑信息,区域之间依然传递路由信息。ABR(区域边界路由器)同时属于两个区域,一个ABR可以同时属于多个区域区域。设置了区域ID——area ID,由32位二进制构成。区域划分的原则:
- 必须存在ABR(区域边界路由器)必须有接口属于区域0,同时可以存在多个ABR。
- 必须按照星形拓扑结构部署—中间区域(骨干区域)area 0
OSPF网络如果存在多个区域——多区域OSPF网络
OSPF网络如果只有一个区域——单区域OSPF网络
2、OSPF的工作过程
2.1 OSPF的数据包
- Hello包 : 用来周期性的发现建立和保活邻居关系,默认hello 包的hello 时间为10s或30s , dead time(死亡时间)为hello时间的4倍。
- DBD(链路状态数据库描述包) : 描述LSDB中LSA头部信息,相当于是链路状态数据库摘要信息。
- LSR (链路状态请求包): 用于向OSPF邻居请求链路状态(LSA)信息。
- LSU (链路状态更新包): 携带一条或多条LSA信息。
- LSAck(链路状态确认包) : 对LSU中的LSA进行确认。
RID—路由器的ID,由32位二进制组成,用来区别和标识不同的OSPF路由器。具有唯一性,格式统一性,有两种分配方式:手工指定、自动生成。
- 手工指定RID—符合RID规则即可。
- 自动生成RID—首先会检测路由器是否配置环回地址,然后选择环回地址最大的作为自己的RID,如果设备没有配置环回地址,则选择接口IP地址数值最大的作为自己的RID。
2.2 ospf状态机
- Down State:接口处于down状态,没有ospf报文发送。
- Init Satate:初始状态,接口发送带有自己router ID的 hello 包。
- Two-Way State:双方发送含有自己和对方router ID 的 hello 包,如果收到一个hello,并且从这个hello中看到自己的router-id,则形成Two-way状态,邻居建立完成。然后进行条件匹配,匹配成功才能继续向下进行。如果失败,则是停留在邻居关系,之后仅使用Hello包进行保活。
-
Exstart State:交换准备状态,发送DBD包,里面仅包含自己的router-id,比router-id的大小,选出主从关系,谁大谁为主。
-
Exchange State:交换 LSDB 的 summary 信息,头部信息。
- Loading State:发送LSR用来请求自己没有的链路状态信息,并且回复LSU。
- Full State:标志着邻接关系的建立,并且只有达到邻接状态才能真正共享LSA信息。
2.3 ospf工作过程
建立邻居关系—启动配置完成后,OSPF将将本地所有运行了OSPF协议的接口,以组播224.0.0.5(目标IP)周期性的发送hello包,hello包中将携带自己本地的RID,邻居接收到对端的 RID将会把这些信息存储在邻居表。
条件匹配:如果条件匹配成功则进入下一个状态,如果匹配失败则,停留在邻居关系。需要用 hello包进行周期保活。
建立邻接关系:进行主从关系的选举,首先采用未携带数据(真正LSA摘要)的DBD包进行选举—对比RID,RID大的作为主设备,后续将由主设备优先共享自己的数据库摘要信息,同时也将由主设备先共享自己的LSA信息。之后使用LSR/LSU/LSACK获取本地未知的LSA信息,完成了本地 lsdb的建立—形成本地链路数据库表。
完成收敛:基于自己本地的链路状态数据库,依靠OSPF算法形成有向图—最终计算得出路由加载到自己本地的路由表中。收敛完成后,将使用hello包周期保活,每30min进行周期更新。
四、ospf基本配置
[r1]ospf 1 router-id 1.1.1.1——创建ospf进程,并手动指定RID
[r1-ospf-1]area 0——选择对应区域
[r1-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255——范围宣告(相当于宣告一个网段)0.0.0.255——反掩码,由连续的0和1组成(32位二进制),0代表不可变,1代表不可变。192.168.1.0 0.0.0.255相当于宣告了一个IP为192.168.1.X的网段。
[r1]display ospf peer brief ——查看邻居表简表
[r1-ospf-1-area-0.0.0.0]undo network 192.168.1.0 0.0.0.255——删除宣告
[r1-GigabitEthernet0/0/1]ospf dr-priority 2——更改OSPFDR选举优先级,数值越大的称为主
设备,当优先级数值为0,意味着该路由器将放弃DR和BDR的选举。
五、ospf拓展配置
1、手工认证
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 ?STRING<1-255>/<20-392> The password (key)—KEY必须得一致[r3-GigabitEthernet0/0/0]ospf authentication-mode simple plain 123456
2、手工汇总
配置位置—ABR区域边界路由器上进行配置[r2-ospf-1]area 0—进入区域(OSPF的汇总是区域汇总)[r2-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.252.0
3、沉默接口
[r1-ospf-1]silent-interface GigabitEthernet 0/0/1
4、加快收敛—OSPF的计时器
[r1-GigabitEthernet0/0/0]ospf timer helloospf timer hello 2—配置位置接口
5、 缺省路由
[r3-ospf-1]default-route-advertise —下发缺省(前提是自身必须存在缺省)[r3-ospf-1]default-route-advertise always—强制下发一条缺省