文章目录
一、OSPF的基本概念
1.内部网关协议和外部网关协议
-
自治系统(AS)
要进一步了解路由,还应先了解自治系统这个概念
大型网络都被分成很多个自治系统(AS),且每个AS都被看成是一个进行自我管理的互联网络,一个自治系统只负责管理自己内部的路由
也可以说AS是由同一个技术管理机构管理,使用同一选路策略的一些路由器的集合
AS之间通过边界路由协议来进行连接,按作用范围,路由协议可以分为内部网关协议和外部网关协议
-
内部网关协议(IGP)
运行在AS内部的路由协议,用于自治内部:解决AS内部的选路问题,发现、计算路由
主要:RIP1/RIP2、OSPF、ISIS -
外部网关协议(EGP)
运行在自治系统之间,实现自治系统之间的通信,解决AS之间的选路问题,最常用最流行的是边界路由协议(BGP)
2.OSPF是链路状态路由协议
动态路由按照执行算法分为两类,第一类是距离矢量协议(RIP),它依据从源网络到目标网络所经过的路由器的个数选择路由,只是使用跳数这个度量值来衡量到达目的地址的距离
而我们现在学习的OSPF是链路状态路由协议,它会综合考虑从源网络到目标网络的各条路径的情况选择路由
所以它会对全网拓扑完全了解,现举例来描述一下
可以理解这是一个“传信”的过程,以RA为开始为例进行描述:
RA将自己的全部路由网段信息放在一封信里面发送给RB
RB收到后不会对信做出任何改变,会进行学习记录,然后将自己的除了那封信里面的别的信息放在另一封信里面,两封信一起送给C
…
这样进行下去,信息没有任何丢失和改变,最后所有的路由器都会收到相同的一堆信,这一堆信就是LSDB
然后每个路由运用相同的SPF算法,以自己为根计算出SPF Tree(即到达目的地的各个方案),选出最佳路径,再放入路由表
二、OSPF的工作过程(3张表)
- 邻居列表:列出每台路由器全部已经建立邻接关系的邻居路由表
启动配置完成后,本地收发hello包,建立邻居关系(互相进行传信、学习) - 链路状态数据库:列出网络中其他路由器的信息,由此现实了全网的网络拓扑
之后互相发送LSA,学习链路状态信息(度量值,比如有跳数,带宽,时延等),生成数据库,比如图中的A到B距离为1,A到E距离为1.5 - 路由表:列出通过SPF算法计算出到达每个相连网络的最佳路径
计算最佳路径(cost最小)后放入路由表,比如从A到D的最佳路径就是A-B-C-D(1+1+1=3),而不是A-E-F-D(1.5+1+1.5=4),虽说跳数都一样,这时就算哪个成本最低
(这里记住了,每个路由器都是以自己为根进行计算的)
OSPF区域
为了适应大型网络,OSPF在AS内划分多个区域,且每个OSPF路由器只维护所在区域的完整链路状态信息
- Area 0 可以理解为使骨干区域,负责区域间路由信息的传播,其他区域的通信都需要通过骨干区域(相连)
- 区域ID可以表示成一个十进制的数字,也可以表示成一个IP
- Router ID:OSPF区域内唯一标识路由器的IP地址
Router ID 选取规则:
选取路由器Loopback接口上数值最高的IP地址
如果没有Loopback接口,就在物理端口中选取IP地址最高的
也可以使用router-id命令指定Router ID(手动选择,优先级最高)
三、DR和BDR
从上图中可以看到,在广播网络中建立邻接关系,互相之间是很多的
五个路由器就能构成5×(5-1)=20种邻接关系,很多,看着也很复杂,网络世界本来就很复杂,需要规则来规整
在OSPF中,其他路由器(DRothers)只和DR及BDR形成邻接关系DR:指定路由器,OSPF协议启动后开始选举而来,能解决链路邻接关系过多问题,进行统一管理
BDR:备份指定路由器,同样是由OSPF启动后选举而来
1.DR和BDR的选举
- 自动选举
网段上Router ID最大的路由器将被选举为DR,第二大的被选举为BDR - 手工选择
优先级范围为0~255,数制越大,优先级越高,默认为1
如果优先级相同,则需要比较Router ID
如果路由器的优先级被设置为0,它将不参与DR和DBR的选举(直接就退位称为其他路由器)
一般用不到手工选择,都是自动
路由器的优先级可以影响一个选举过程,但是它不能强制更换已经存在的DR或BDR路由器
路由器基本不存在同时开机来全部一起进行选举的进程,所以可以这样说:先开的就是DR,第二台是BDR,先到先得,除非Down故障了,才会进行选举补位
2.OSPF的组播地址
- 224.0.0.5
- 225.0.0.6
刚开机后,大家通过224.0.0.5发送hello包进行选举出DR和BDR
然后其他路由器通过0.6把自己的链路消息发送给DR和BDR
DR和BDR再通过0.5发送给其他路由器
即其他路由器只监听0.5,而DR和BDR只监听0.6
3.OSPF的度量值
OSPF的度量值为COST(可以理解为成本,即从发送端到目的地出方向的代价之和)
COST=10^8÷带宽
最短路径是基于接口指定的代价(cost)计算的
Fast Ethernet 为高速以太网
Ethernet为以太网
56K可以理解为以前的那种电话线,相对而言传输效率很低
这个值是越小越好,成本越低越好
四、OSPF的数据包类型(5种包)
1.OSPF数据包
承载在IP数据包内,使用协议号89
2.OSPF的包类型
五、OSPF邻接关系的建立(7种状态)
1.第一个阶段是使用hello报文建立双向通信的过程
2.第二个极端是建立完全邻接关系
六、OSPF的网络类型(4种类型)
- 点到点网络(Point-to-Point)
点到多点网络(Point-to-Multipoint) - 广播多路访问网络(Broadcast MultiAccess, BMA)
动发现邻居、选DR/BDR,组播224.0.0.5, 224.0.0.6 - 非广播多路访问网络(None Broadcast MultiAccess, NBMA)
手工指定邻居、选DR/BDR,单播 - 点到多点网络(Point-to-Multipoint)
自动发现邻居,不需DR/BDR,组播224.0.0.5
七、OSPF的应用环境
1.从以下几方面考虑OSPF的使用
- 网络规模
- 网络拓扑
- 其他特殊要求
- 路由器自身要求
2.OSPF的特点
- 可适应大规模网络
- 路由变化收敛速度快
- 无路由环
- 支持变长子网掩码VLSM
- 支持区域划分
- 支持以组播地址发送协议报
八、OSPF与RIP的比较
九、华为配置命令
[R1]int g0/0/0 ##配置接口ip地址
[R1-GigabitEthernet0/0/0]ip add 11.0.0.2 24
[R1-GigabitEtherneto/0/0]un sh
[R1-GigabitEtherneto/0/0] int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 12.0.0.1 24
[R1-GigabitEthernet0/0/1]un sh
[R1-GigabitEtherneto/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 0 ##进入区域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进程
[Huawei]display ip routing-table ##查看路由表