OSPF
动态路由评判标准
1.选路佳
RIP选路通过跳数——选路依据不够合理,选择路径可能成环
OSPF通过带宽选路——开放式的最短路径优先算法
收集LSA(拓扑信息)—形成有向图—最短路径树(无环的
结构)—spf算法计算的出路由
2.收敛快
OSPF也存在自身计时器,并且计时器的周期小于RIP
3.资源占用
a.单个数据包——OSPF的数据包包含的信息很多
b.整体——很大
OSPF采用很多办法去解决资源占用
RIP和OSPF的相同点
RIPV1 V2
NG
OSPF V1(并没有投入使用) V2—IPV4
OSPF V3——IPV6
- RIP和OSPF都是无类别的动态路由协议(携带子网掩码),可以进行汇总和子网划分
- 都是使用组播发生数据包——RIP 224.0.0.9 OSPF 224.0.0.5 224.0.0.6
- RIP的V2和OSPF的V2都支持等开销(负载均衡)
不同点:
RIP只能用在中小型网络,OSPF可以使用中大型网络(80%网都是靠OSPF实现的)
结构化部署——区域划分(AS自治系统/OSPF区域),OSPF区域内部传拓扑信息
区域之间传递路由信息
链路状态路由协议的距离矢量特征(OSPF协议)
ABR——区域便捷路由器(必须同时属于两个区域)
OSPF区域划分也得根据实际情况——没有规定大小
如果进行了区域划分——多区域OSPF网络
如果没有进行区域划分——单区域划分
OSPF设计了区域ID—area ID——三十二位二进制构成由点分十进制表示
区分和标识不同的区域
骨干区域——只能为区域0,area=0.0.0.0
OSPF区域划分的规则
1.必须存在ABR——必须存在一个路由器同时属于多个区域,可以存在多个ABR起到备份的作用(多个路由器),必须存在接口属于区域0
2.OSPF区域划分必须按照星型结构进行划分(其他区域必然要与中间区域相连)
非法ABR:一个区域与其他区域相连并没有和中间区域相连,只能收集路由信息并且可以向外传递
OSPF工作流程
OSPF数据包
1.HELLO包---用来周期性的发现建立和保活邻居关系
HELLO时间—默认每10s发送一次。OSPF在某些特殊的网络环境下会出现每30s发送一次HELLO的情况
Dead Time—死亡时间—默认等于四倍的HELLO时间(40s)
RID——区分和标识具体的OSPF路由器的身份(32位二进制构成)
RID的唯一性、格式统一(按照IP地址的格式去执行)
设备获取RID的方式:手工配置、自动生成(如果路由器配置了环回地址,呢么他会选择环回地址中数值最大的作为自身的RID,如果路由器没有环回地址,则会选择接口IP地址数值最大的作为自身RID)
2.DBD包——数据库描述包
LSDB数据库——链路状态数据库(存储LSA中的拓扑信息),减少OSPF的更新
3.LSR包——链路状态请求包
用来请求我没有的LSA信息
4.LSU包——链路状态更新包
真正携带LSA信息的数据包
5.LSACK包——链路状态确认包
OSPF状态机
TWO-way—双向通讯状态—标志着邻居关系的建立
条件匹配——只有条件匹配成功的设备,才能进入下一个状态,如果条件匹配失败则停留在邻居关系,并通过HELLO包每10s进行保活
主从关系的选举----选举标准看RID的大小
错开发送数据包
区别状态:
FULL状态标志着邻接关系的建立
只有邻接状态才真正共享LSA信息
OSPF的工作过程
邻居和邻接关系
什么是邻居关系?
1、在OSPF协议中邻居关系就是指在两台路由器中进行完两次Hello报文交互之后,建立起来的关系叫邻居关系。
2、该关系在OSPF状态机里显示的是2-way的状态。
详细邻居关系建立 点击即可查看
什么是邻接关系?
1、在OSPF协议中邻居关系就是指在两台路由器中进行完链路状态数据库(LSDB)同步之后,建立起来的关系叫邻居关系。
2、该关系在OSPF状态机里显示的是Full的状态。
详细链路状态数据库同步 点击即可查看
邻居关系和邻接关系的区别
1、邻居(Neighbor)关系与邻接(Adjacency)关系是两个不同的概念。OSPF路由器之间建立邻居关系后,进行LSDB同步,最终形成邻接关系。
2、在P2P网络及P2MP网络上,具有邻居关系的路由器之间会进一步建立邻接关系。
3、在广播型网络及NBMA网络上,非DR/BDR路由器之间只能建立邻居关系,不能建立邻接关系,非DR/BDR路由器与DR/BDR路由器之间会建立邻接关系,DR与BDR之间也会建立邻接关系。
详细DR和BDR基友情 点击即可查看
4、邻接关系建立完成,意味着LSDB已经完成同步,接下来OSPF路由器将基于LSDB使用SPF算法计算路由。.
OSPF的配置
[r1]ospf?
INTEGER<1-65535> Process ID——配置进程ID
1.[r1]ospf 1 router-id 1.1.1.1——尽量手工指定
启动OSPF进程,配置router ID
2.[r1-ospf-1]area 0——创建区域
[r1-ospf-1-area-0.0.0.0]
3.[r1-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255——范围宣告
(0.0.0.255反掩码,32位二进制构成,连续的0或连续的1构成,0代表不可变,1代表可变)掩码是为1的部分是网络位,相当于不可变
注:[r1-ospf-1-area-0.0.0.0]network 12.0.0.1 0.0.0.0——精准宣告(相当于只宣告一个IP)
4.[r2]display ospf peer ——查看邻居表
5.[r1]display ospf peer brief ——查看邻居简表
6.[r3]display ospf lsdb——展示数据库表
7.[r3]display ospf lsdb router 3.3.3.3——展示具体的LSA
OSPF的COST(开销)算法
参考带宽/真实带宽
参考默认带宽是100M
[r3-ospf-1]bandwidth-reference 10000——修改默认带宽
当网络结构发生变化,OSPF怎么处理
当网络新增、缺失一个网段、网络不可达(等40s死亡时间)
OSPF也存在触发更新,并且这个更新包需要被回复
条件匹配
DR(指定路由器)
DR和其他广播域内路由器均建立邻接关系
BDR(备份指定路由器)和其他所有路由器都处于邻接状态
DRother(其他路由器)一个广播域,除了DR和BDR的其他路由器才处于邻居状态
会选择广播域中RID最大的作为DR,RID次大作为BDR,剩余设备为Drother
DR和BDR的选举是非抢占的
选举时间最大是死亡时间
Prioity:1——DR优先级数值越大的成为DR
[r1-GigabitEthernet0/0/0]ospf dr-priority ?
INTEGER<0-255> Router priority value干涉DR和BDR的选举,0代表不选举
<r1>reset ospf process
Warning: The OSPF process will be reset. Continue? [Y/N]:y——重启OSPF进程
拓展配置
1.认证
接口认证[r1-GigabitEthernet0/0/0]ospf authentication-mode md5
区域认证(本质是接口认证)
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 2 plain 234567
2.区域汇总——ABR上进行配置——ABR区域边界路由器
[r4-ospf-1]area 0——进入对应的区域
[r4-ospf-1-area-0.0.0.0]abr-summary 172.16.0.0 255.254.0.0——手工汇总(掩码只能写10进制)
3.[r5-ospf-1]silent-interface GigabitEthernet 0/0/1——配置位置
4.加快收敛
[r5-GigabitEthernet0/0/0]ospf timer hello 5——只需要改变接口HEllo时间,死亡时间自动根据hello时间进行四倍关系的改变
[r5-GigabitEthernet0/0/0]ospf timer dead 20
结论:所有接口都需要修改
5.缺省路由
[r4-ospf-1]default-route-advertise——配置位置,OSPF进程中
必须给自身存在一条缺省,才能给其他设备下发缺省
[r4-ospf-1]default-route-advertise always——强制下发缺省