OSPF(一)

本文详细解读OSPF协议的工作原理,包括网关分类、区域划分、邻居选举、链路状态数据、度量值COST、数据包类型及状态转换,还对比了与RIP的区别。重点介绍了OSPF区域的配置和4种网络划分类型,适合理解IGP在大型网络中的应用。
摘要由CSDN通过智能技术生成

一OSPF概述

1.根据网关协议分类

AS是指由同一个技术管理机构管理、使用统一选路策略的一些路由器的集合。
内部网关路由协议(IGP):运行在AS内部的路由协议,主要解决AS内部的选路问题,发现、计算路由
主要有:RIP1/RIP2、OSPF、ISIS、EIGRP(思科私有协议)
外部网关路由协议(EGP):运行在AS与AS之间的路由协议,他解决AS之间选路问题。
通常有:BGP

2.OSPF

OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。著名的迪克斯彻(Dijkstra)算法被用来计算最短路径树。OSPF支持负载均衡和基于服务类型的选路,也支持多种路由形式,如特定主机路由和子网路由等。

3.工作原理

1.建立邻居表
2.形成链路状态数据库
3.形成路由表
在这里插入图片描述

OSPF的简单说就是两个相邻的路由器通过发报文的形式成为邻居关系,邻居再相互发送链路状态信息形成邻接关系,之后各自根据最短路径算法算出路由,放在OSPF路由表,OSPF路由与其他路由比较后优的加入全局路由表。整个过程使用了五种报文、三个阶段、四张表。

二.OSPF区域

1.OSPF区域

目的:OSPF 中划分区域的目的就是在于控制链路状态信息LSA 泛洪的范围、减小链路状态数据库LSDB的大小、改善网络的可扩展性、达到快速地收敛。
1.当网络中包含多个区域时,OSPF 协议有特殊的规定,即其中必须有一个 Area 0通常也叫做骨干区域(Backbone Area),当设计 OSPF 网络时,一个很好的方法就是从骨干区域开始,然后再扩展到其他区域。
2.骨干区域在所有其他区域的中心,即所有区域都必须与骨干区域物理或逻辑上相连,这种设计思想的原因是 OSPF 协议要把所有区域的路由信息引入骨干区,然后再依次将路由信息从骨干区域分发到其它区域中。

2.路由器

1)Router ID :OSPF区域内唯一标识路由器的IP地址
2)Router ID选取规则
选取路由器loopback接口上数值最高的IP地址
如果没有loopback接口,在物理端口中选取IP地址最高的
上面两个都是自动选取的,下面这个是手动选取的规则:
使用router-id命令指定Router lD
3)DR和BDR
当多台OSPF路由器连到同一个多路访问网段时,如果每两台路由器之间都相互交换LSA,那么该网段将充满着众多LSA条目,为了能够尽量减少LSA的传播数量,这时候需要一个路由器和所有的路由器互换LSA,减少LSA的数量,那么这个路由器被称为DR;在选DR的时候,也会选出一个作为备份,称为BDR;最后其他路由器(DRothers)只和DR和BDR形成邻接关系。
4)DR和BDR的选举方法
自动选举DR和BDR
网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR
手工选择DR和BDR
优先级范围是0~255,数值越大,优先级越高,默认为1
如果优先级相同,则需要比较Router lD
如果路由器的优先级被设置为0,它将不参与DR和DBR的选举
现实中,很少能有路由器同时开机,所以先上线的是DR,第二上线的是BDR。
注:当DR和BDR存在时,除非他俩down了,不然没法强制更换。
5)在OSPF中使用224.0.0.5和224.0.0.6作为组播地址,选举时,大家都是用组播地址224.0.0.5发送Hello包(这个时候路由器都认为自己是DR),当DR和BDR选出来后,DR和BDR使用224.0.0.5发送,其他路由器使用224.0.0.6发送。

3.OSPF组播地址

  • 224.0.0.5
  • 224.0.0.6
    DR/BDR工作原理
    DRothers向DR/BDR发送DBD、LSR或者ISU时目标地址是224.0.0.6 。或者理解为:DR/BDR帧听224.0.0.6
    DR/BDR向DRothers发送更新的DBD、lSR或者LSU时日标地址是224.0.0.5,或着理解为: DAothors侦听224.0.0.5

4.OSPF的度量值:COST

规则:数值越小越优先
最短路径是基于接口指定的代价(COST)计算的
计算公式=108 /BW
常用的端口与COST

接口类型COST(108 /BW)
Gigabit Ethernet0.1
fast Ethernet1
Ethernet10
电话线56k1785

5.OSPF数据包(5个包)

OSPF数据包承载在lP数据包内,使用协议号89

OSPF的包类型描述
Hello包用于发现和维持邻居关系,选举DR和BDR
数据库描述包(DBD)用于向邻居发送摘要信息以同步链路状态数据库
链路状态请求包(LSR)在路由器收到包含新信息的DBD后发送,用于请求更详细的信息
链路状态更新包(LSU)收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含几个LSA
链路状态确认包(LSAck)确认已经收到DBD/ LSU,每个LSA需要被分别确认

6.OSPF的7个状态

状态作用
down状态初始化,没有来自邻居的Hello包
init状态收到第一个Hello包,但没发出去,建立了自己的邻居表
2 Way 状态双向建立会话,邻居表都建立完成
Exstart状态建立主从关系
Exchange状态交换摘要信息,到确认信息收到
Loading状态加载详细信息
full状态完全连接,计算最短路径,并载入路由表

7.OSPF与RIP的比较

OSPFRIPv1RIPv2
链路状态路由协议距离矢量路由协议同v1
没有跳数的限制RIP的15跳限制,超过15跳的路由被认为不可达同V1
支持可变长子网掩码(VLSM)不支持可变长子网掩码(VLSM)支持可变长子网掩码(VLSM)
收敛速度快收敛速度慢同V1
使用组播发送链路状态更新周期性广播更新整个路由表周期性组播更新整个路由表

8.OSPF状态

路由器从启动OSPF进程,到根据链路状态数据库计算出路由表,同样需要经历一系列的启动过程,总共有7种可能的启动过程,但并不是一定会经历这7个过程,具体过程如下:
Down → Init → Two-way → Exstart → Exchange → Loading → Full
Down
邻居状态机的初始状态,是指在过去的Dead-Interval时间内没有收到对方的Hello报文或OSPF没有成功启动时。
Init
本状态表示已经收到了邻居的Hello报文,但是该报文中列出的邻居中没有包含我的Router ID(对方没有收到我的Hello报文)。
2-way
本状态表示双方互相收到了对端发送的Hello报文,建立了邻居关系,在广播和NBMA类型的网络中,两个接口状态是DRother的路由器之间将停留在此状态。
EXStart
在此状态下,路由器和他的邻居间通过互相交换DD报文(该报文并不包含实际内容,只包含一些标志位)来决定发送时的主/从关系,建立主/从关系主要是为了保证在后续的DD报文交换中能够有序的发送。
EXchange
路由器将本地的LSDB用DD报文来描述,并发送给邻居。
Louding
路由器发送LSR报文向邻居请求对法的DD报文。
Full
在此状态下,邻居路由器的LSDB中所有的LSA本路由器全都有了,即本路由器和邻居建立了邻接adjacency状态。
在这里插入图片描述

9.4种网络划分类型

点到点网络
自动发现邻居,不需要DR/BDR,组播224.0.0.5
广播多路访问网络
自动发现邻居,选举DR/BDR,组播224.0.0.5、224.0.0.6
非广播多路访问网络
手工指定邻居,选举DR/BDR,单播
点到多点网络
自动发现邻居,不需要DR/BDR,组播224.0.0.5

简单配置

在这里插入图片描述
R1

[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.10.1 24
[R1-GigabitEthernet0/0/0]un shu	
[R1-GigabitEthernet0/0/0]un shutdown 
Info: Interface GigabitEthernet0/0/0 is not shutdown.
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 12.0.0.1 24
[R1-GigabitEthernet0/0/1]un shu	
[R1-GigabitEthernet0/0/1]un shutdown 
Info: Interface GigabitEthernet0/0/1 is not shutdown.
[R1-GigabitEthernet0/0/1]q
[R1]int loo	
[R1]int LoopBack 0
[R1-LoopBack0]ip add 1.1.1.1 32
[R1-LoopBack0]ospf		
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]net 1.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]net 192.168.10.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]net 12.0.0.1 0.0.0.255
[R1-ospf-1-area-0.0.0.0]

R2

[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 23.0.0.2 24
[R2-GigabitEthernet0/0/0]un shu	
[R2-GigabitEthernet0/0/0]un shutdown 
Info: Interface GigabitEthernet0/0/0 is not shutdown.
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 12.0.0.2 24
[R2-GigabitEthernet0/0/1]un shu
Info: Interface GigabitEthernet0/0/1 is not shutdown.
[R2-GigabitEthernet0/0/1]int loo 0
[R2-LoopBack0]ip add 2.2.2.2 32
[R2-LoopBack0]os	
[R2-LoopBack0]ospf
[R2-ospf-1]are	
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]net 2.2.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]net 12.0.0.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]net 23.0.0.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]

R3

[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 23.0.0.3 24
[R3-GigabitEthernet0/0/0]un shu
Info: Interface GigabitEthernet0/0/0 is not shutdown.
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 192.168.20.1 24
[R3-GigabitEthernet0/0/1]un shu
Info: Interface GigabitEthernet0/0/1 is not shutdown.
[R3-GigabitEthernet0/0/1]q
[R3]int lo	
[R3]int LoopBack 0
[R3-LoopBack0]ip add 3.3.3.3 32
[R3-LoopBack0]os	
[R3-LoopBack0]ospf	
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]net 3.3.3.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]net 23.0.0.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]net 192.168.20.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值