OSPF协议
概述
OSPF--开放的最短路径优先协议
内部网关协议和外部网关协议
自治系统(AS)–区域 —> 多个路由器组成,有相同策略
内部网关协议(IGP) ----> 在区域内运行的路由协议
外部网关协议(EGP) —> 在两个AS之间 代表BGP
文字详细解释
AS是指由同一个技术管理机构管理、使用统一选路策略的一些路由器的集合。
【1】按自治系统分为
IGP:内部网关路由协议,运行在AS内部的路由协议,主要解决AS内部的选路问题,发现、计算路由。主要:RIP1/RIP2、OSPF、ISIS、EIGRP(思科私有协议)
EGP:外部网关路由协议,运行在AS与AS之间的路由协议,他解决AS之间选路问题。通常:BGP
【2】按协议类型分类
距离矢量路由协议: RIP1/2、BGP(路径矢量协议)、EIGRP(高级距离矢量协议)
路由器对全网拓扑不完全了解。是"传说的路由”,A发路由信息给B,B加上自己的度量值又发给C,路由表里的条目是听来的。
链路状态路由协议:OSPF、ISIS
路由器对全网拓扑完全了解。是"传信的路由",A将信息放在一封信里发给B,B对其不做任何改变,拷贝下来,并将自己的信息放在另一封信里,两封信一起给C,这样,信息没有任何改变和丢失,最后所有路由器都收到相同的一堆信,这一堆信就是LSDB(链路状态数据库)。然后,每个路由器运用相同的SPF算法,以自己为根,计算出SPF Tree(即到达目的地的各个方案),选出最佳路径,放入路由表中。
OSPF工作过程
1、建立邻居表—学习链路状态信息
2、形成链路状态数据库—Dijkstra(最短路径)算法
最短路径树
3、形成路由表
OSPF区域
- 为了适应大型的网络,OSPF在AS内划分多个区域:加速收敛
- 每个OSPF路由器只维护所在区域的完整链路状态信息
术语
区域ID
- 区域ID可以表示成一个十进制的数字
- 也可以表示成一个IP
骨干区域Area 0:负责区域间路由信息传播
非骨干区域:常规区域,除了Area 0 之外的其他所有许可范围内的区域
Router ID(身份证)
OSPF区域内唯—标识路由器的IP地址
Router ID选取规则
- 选取路由器loopback(回环网口)接口上数值最高的IP地址
- 如果没有loopback接口,在物理端口中选取IP地址最高的
- 也可以使用router-id命令指定Router ID(手动选取的优先级大于自动选取的优先级)
DR(指定路由器)和BDR的选举方法
1.自动选举DR和BDR
- 网段上Router ID最大的路由器将被选举为DR
- 第二大的将被选举为BDR
2.手工选择DR和BDR
- 优先级范围是0~255,数值越大,优先级越高,默认为1
- 如果优先级相同,则需要比较Router lD
- 如果路由器的优先级被设置为0,它将不参与DR和BDR的选举
注意:路由器的优先级可以影响一个选举过程,但是它不能强制更换已经存在的DR或BDR路由器
OSPF的组播地址
OSPF协议号89,组播地址224.0.0.5和224.0.0.6
- 224.0.0.5 传播Hello包
- 224.0.0.6 DRothers将各自的链路状态信息发送给DR、BDR DR、BDR监听224.0.0.6
- DR、BDR在收到信息后在通过224.0.0.5发送给其他DRothers DRothers监听224.0.0.5
OSPF的数据包类型
Hello包:维护邻居关系
数据库描述包DBD/DDB:向邻居发送摘要信息
链路状态请求包LSR:请求更详细的信息
链路状态更新包LSU:发送LSA(链路状态通告)
链路状态确认包:确认收到DBD和LSU
OSPF启动的七种状态
一.OSPF启动的第一个阶段是使用Hello报文建立双向通信的过程
二.OSPF启动的第二个阶段是建立完全邻接关系
OSPF邻接关系建立的状态机
Down | init | 2-way | Exstart | Exchange | Loading | full |
---|---|---|---|---|---|---|
初始化 | 收到的第一个Hello包 | 双向建立会话 | 建立主从关系 | 交换摘要信息 | 加载详细信息 | 完全连接 |
OSPF的度量值为COST
COST= 108/BW bw指的是带宽
最短路径是基于接口指定的代价(cost)计算的
OSPF与RIP的比较
OSPF配置命令
-------OSPF配置命令--------
[R1] int g0/0/0 配置接口ip地址
[R1-GigabitEthernet0/0/0] ip add 11.0.0.2 24
[R1-GigabitEthernet0/0/0] un sh
[R1-GigabitEthernet0/0/0] int g0/0/1
[R1-GigabitEtherneto/0/1] ip add 12.0.0.1 24
[R1-GigabitEthernet0/0/1] un sh
[R1-GigabitEthernet0/0/1] int loo 0
[R1-LoopBack0] ip add 1.1.1.1 32
[R1-LoopBack0] ospf 1 router-id 1.1.1.1
创建OSPF进程,配置路由ID
[R1-ospf-1] area o
进入区域0,区域ID可以用数字表示,也可以用IP表示,若区域0则是骨干区域
[R1-ospf-1-area-0.0.0.0] network 1.1.1.1 0.0.0.0
宣告oSPF区域内的直连网段,使用反掩码
[R1-ospf-1-area-0.0.0.0] network 12.0.0.0 0.255.255.255
reset ospf process
重置OSPF进程
示例
步骤:
一.先给r1、r2、r3配置好相应端口
二.在将r2、r3按照下图r1配置,方法一样(附r1视图)
三.可直接在路由器上进行ping命令或进入主机设置均可