链路状态路由协议
公有协议
OSPF (开放式最短路径优先)
又称为最短路径优先协议,它建基于Edsger Dijkstra 的 SPF (最短路径优先) 算法。
路由协议的最终目的是为了学习全网的路由信息
工作原理
首先建立邻居,然后学习路由,建立数据库,然后通过数据库计算出最佳路径。
-OSPF (Open Shortest Path First,开放最短路径优先)是一种链路状态路由协议,
无路由循环(全局拓扑),属于IGP。RFC 2328, “开放”意味着非私有的,对公众开放的。
-管理性距离:110
OSPFv2用在ipv4
OSPFv3用在ipv6
-OSPF采用SPF算法计算达到目的地的最短路径:
-什么叫链路(LINK)?=路由器接口
-什么叫状态(State)?=描述接口和邻居路由器之间的关系
SPF算法
- 每个路由器都把自己当做根,并且给予累积成本(Cost值)来计算到达目的地的最短路径。
- Cost=参考带宽(10^8) / 接口带宽(b/s)
100/100=1;100/10=10
链路状态路由协议他都要全部自己计算的
缺点:
如果拓扑中有连读频繁掉线,他是要重新运行spf再重新计算,所以对设备资源占用比较多。
如果一个接口地址更改后,他会重新运行spf算法,再去全部重新计算。(v3版本改正了这个缺陷)。
-ospf的高级特性,LFA 无环路替代路径。
OSPF分层次网络设计
-减少了路由选择表条目
-将区域内的拓扑变化影响限制在本地区域
Backbone Area --- 骨干层
Area 1 --- 非骨干层 --- 配置一些默认路由和汇总路由做出接口就行了,不影响骨干层的核心网络状态。
层次性网络设计
OSPF的三张表
邻居表 (neighbor table) :
- OSPF用邻居机制来发现和维持路由的存在,邻居表存储了双向通信的邻居关系OSPF路由器列表的信息。
拓扑表 (topology table) :
- OSPF用LSA ( link state Advertisement链路状态通告)来描述网络拓扑信息,
然后OSPF路由器用拓扑数据库来存储网络的这些LSA。
OSPF路由表 (routing table) :
- 对链路状态数据库进行SPF (Dijkstra)计算,而得出的OSPF路由表。
OSPF的基本运行步骤
·步骤1、建立邻接关系
·步骤2、必要的时候进行DR的选举
·步骤3、发现路由
·步骤4、选择合适的路由器
·步骤5、维护路由信息
步骤1、建立邻接关系 - Hello 包
·Hello包用来发现OSPF邻居并建立相邻关系,通过组播地址:224.0.0.5发送给ALL SPF Routers
·通告两台路由器建立相邻关系所必需统一的参数
·在以太网和帧中继网络等多路访问网络中选举指定路由器(DR)和备用指定
=======================================================================Router lD
-Hello and dead intervals ---直连必须连接
Neighbors
-Area lD ---区域id
Router priority
DR IP address
BDR IP address
-Authentication password ---认证密码
-Stub area flag ---特色区域的标识
步骤1、hello包
步骤2、必要的时候进行DR的选举
-为减小多路访问网络中的OSPF 流量,OSPF 会选举一个指定路由器(DR)和一个备用指定路由器(BDR)。
-选举规则:最高接口优先级被选作DR,如果相等,具有最高的路由器ID的路由器被选举成DR,并且DR不具有强制性。
-指定路由器(DR): DR负责使用该变化信息更新其它所有OSPF 路由器(称为DROther)
-备用指定路由器(BDR):BDR会监控DR的状态,并在当前DR发生故障时接替其角色
步骤2、DR的选举
建立邻居数量计算的公式
n = 拓扑中要建立邻居关系的设备总数
n(n-1)/2
5(5-1)/2=10
根据优先级,来选举DR,优先级相同再比较RouterID
路由器ID的选举
Router ID:
用于标识OSPF路由器的ID,全网唯一性; 可手动配置,也可动态选举
(有Loopback接口时,选择最高的Loopback IP地址;否则,选择最高活跃物理接口的IP地址)。
自动选举规则,先选举环回口IP地址大的。
一般手动方式选举。
步骤3、发现路由
-在这个步骤中,路由器与路由器之间首先利用Hello包的路由器ID信息确认主从关系,
然后主从路由器相互交换链路状态信息,交换完成后建立完全邻接关系,同时邻接路由器拥有自己独立的、完整的链路状态数据库。
-在多路访问网络(Multi-Access)内,DR与BDR相互交换链路状态信息,
并同时与本子网内的其他路由器交换链路状态信息,在点对点和点对多点的网络中,相邻路由器之间互换链路状态信息
---默认RouterID大的先发Hello包---
步骤4、选择合适的路由器
-当一台路由器拥有完整独立的链路状态数据库后,OSPF路由器依据链路状态数据库的内容,
独立的运行SPF算法计算出到每一个目的网络的最优路径,并将这条路径添加到路由表中。
-OSPF利用开销cost计算到目的地的路径,cost最小即为最优路径。
当它信息数据库同步之后,就会运行SPF算法来计算到达目标网络的最佳路径,
Cost公式前面讲过,- Cost=参考带宽(10^8) / 接口带宽(b/s)
步骤5、维护路由信息
·路由器A是DR-Other它的接口有更改会用224.0.0.6通知DR路由器
·如果有BDR,同时也会发送给BDR路由器
·然后DR再通过224.0.0.5通告给其他所有的路由器
·所以其他的DR-Other回去监听224.0.0.5这个地址的信息。
---回顾5个步骤---
·步骤1、建立邻接关系
·步骤2、选举DR;BDR
·步骤3、选举主从路由器,路由器来同步数据库
·步骤4、运行SPF算法,计算最佳路径
·步骤5、维护路由信息
最后OSPF的网络类型
OSPF网络类型 骨干区和非骨干区ABR = Area border router = 区域边界路由器
连接着骨干和边界的路由器
ASBR = AutoSystem border router = 自治系统边界路由器
配置单区域的OSPF
Router (config)# router ospf process-id #一个进程ID就是一个OSPF的数据库
·开启OSPF进程
Router (config-router)# network address wildcard-mask area area-id #网络号+反掩码+区域号
·指定网络到特定的OSPF区域
===========================================================================
多区域的OSPF
配置ABR(区域边界路由器):---路由器B
Router-B(config)router ospf 100
Router-B(config-router)#network 10.1.1.2 0.0.0.0 area 0
Router-B(config-router)#network 10.2.2.2 0.0.0.0 area 1
-查看OSPF邻居表
Router# show ip ospf neighbor
-显示路由表的信息
Router# show ip route
-清除IP路由表的信息
Router# clear ip route *
-在控制台显示OSPF的工作状态
Router# debug ip ospf
网友评论