6-0动态路由协议&OSPF

OSPF描述
PIR:路由信息协议
OSPF:开放式最短路径优先协议,链路状态路由协议,更新的链路状态信息(LSA),而不是路由条目(RIP直接更新路由条目)
链路(link)→路由器接口
状态(state)→描述接口及其与邻居路由器间的关系
管理距离:110
SPF算法:通过链路状态信息计算生成达到目的的网段“绝对无环”的“最短”路径的路由条目

OSPF适用于大型网络环境:
  • 路由器变化收敛速度快,不需要通过定期更新来实现路由收敛
  • 无路由环路:SPF、区域划分
  • 支持VLSM
  • 支持等价路由:可利用多条路由分流
  • 划分区域,方便管理
  • 以组播方式发送协议报文:224.0.0.5、224.0.0.6
  • 触发更新:一旦链路信息变化,马上更新(增量更新)
  • 定期更新:1800s,防止触发更新未收到信息 、老化时间:3600s

router-ID:用来唯一标识一台ospf路由器(IP地址格式)
生成规则:
  • 手动配置,用命令手动指定的RouterID,最优先
  • 回环接口(R口:活跃的回环接口)中IP地址最大的
  • 物理接口(R口:活跃的回环接口)中IP地址最大的
大--是说IP数值的大,比如:10.1.1.1 、 1.10.10.10,10.1.1.1大

OSPF的三张表:
  • 邻居表--邻居关系、邻接关系:列出本地路由器全部已经建立邻接关系的邻居路由器信息
  • 拓扑表(链路状态数据库LSDB):列出网络中其他路由器的信息,由此显示了全网的网络拓扑图
  • 路由表:列出通过SPF算法计算出的到达每个相连网络的最佳路径

建立邻接关系(更新链路状态信息)→链路状态数据库(LSDB)(经过SPF计算,生成最优的路由信息)→生成最短路径树→放入路由表

DR/BDR(是一个接口角色):DR指定路由器、BDR备份指定路由器、DRother为非DR和BDR路由器

选举规则:
  • 接口优先级(范围0-255)最大的为DR、其次为BDR,其他为DRother,默认为:1,如果接口优先级为0,那么不参与DR、BDR选举
  • 如果接口优先级相同,比较接口所在路由器的router-ID,大的DR,其次BDR,其他DRother
作用:(只有DR或BDR会跟其他接口角色(DRother)形成邻接关系)减少邻接关系数量,达到减少链路状态信息泛洪数量,提高网络的稳定性。
  • 只有邻接关系之间会互相更新链路状态信息(只有DR、BDR会跟DRother之间更新,DRother之间不能互相发送链路状态信息)
  • 所有的接口角色会加入:224.0.0.5,DR、BDR接口会加入224.0.0.6
  • 不抢占原则:初始环境下,选举出来的DR、BDR,不会因为后加入的接口角色更优秀而发生改变。 除非所有角色重启建立邻居或邻接关系时,所有人参与选举。
  • 在点到点链路下不选举DR、BDR。也就是gns3中的S口

OSPF的hello包:
  • OSPF的邻接关系的建立和维持是依赖于hello包的(周期10S)、死亡时间40S
  • hello包的发送周期与OSPF类型有关
  • 管理hello包交换的规定则是hello协议
  • hello用来确定DR、BDR路由器的选项

OSPF的报文类型:
  • hello包:建立和维护邻居(邻接)关系,hello时间10s,death时间40s
  • DBD包:链路状态描述包,用来描述数据库中的链路信息,用来同步双方的LSDB是否一样。
  • LSR:链路状态请求包,用来请求缺少的LSA信息。
  • LSU:链路状态更新包(报文里面包含多个LSA信息),用来回应LSR的请求的,更新LSA。
  • LSAck:链路状态确认包,用来确认LSU。

OSPF网络类型:
  • 广播型网络
  • 非广播多路访问
  • 点到点型
  • 点到多点型
OSPF的邻居(邻接)关系建立过程
  • DOWN :开始交互hello信息
  • Init:收到对方hello信息
  • Two-way:当收到的hello信息里面neighbors字段发现自己的router-id信息。
开始选举DR、BDR:只有跟DR、BDR接口的关系会继续向下建立邻接关系,DRother之间的接口会保持在这个状态,也就是所谓的邻居关系。
  • exstart:开始交互空的DBD:选出主/从(master/slaver)(选举规则:接口所在路由器router-id大的为主)
“从”会向“主”去同步DBD报文序列号
  • exchange:交互有内容的DBD,对比双方数据库(LSBD)内容是否同步,如果不同步接下来进行请求。
  • Loading:
    • 发送LSR请求缺失链路信息
    • 收到对方的LSR将对方请求的链路信息(LSA)放入LSU报文中更新给对方
    • 对方收到的LSU会回应一个LSAck确认报文进行确认。
  • Full :建立完成,这时就是邻接状态。

OSPF邻居(邻接)起不来的原因:(OSPF建立邻接关系需要满足的条件)
  • area-ID:两个路由器必须在共同的网段上,它们的端口必须属于该网段上的同一个区,且属于同一个子网
  • 验证(authentication OSPF):同一区域路由器必须交换相同的验证密码,才能成为邻居
  • hello interval和dead interval:OSPF协议需要两个邻居路由器的这些时间间隔相同,否则就不能成为邻居路由器
  • stub区域标记:两个路由器可以在hello报文中通过协商stub区域的标记来成为邻居
  • route-ID在区域内需唯一
  • 掩码要一致
  • MTU要一致:DBD协商,exstart/exchange

总结OSPF步骤:
  • 建立路由器的邻接关系
  • 选择DR/BDR
  • 发现路由器
  • 选举适当的路由
  • 维护路由信息

OSPF度量值的衡量方法:开销(cost)--ospf中每个接口都有开销值
  • ospf路由条目度量值:到达目的网段所经过的所有出接口开销之和
  • 接口开销算法(算最短路径):10^8/接口带宽值(b/s)。比如:100M(b/s)=10^8,那么开销是:1。如果开销算出来有小数,那么注意:开销小于等于1,取值为:1,比如0.1,取1。大于1且不为整,取整。比如5.9取5
  • e口:10M f口:100M g口:1000M s口:T1(1.544M)
  • 一条路由的开销=沿路所有出站接口的开销之和

OSPF层次结构:
  • 骨干区域(area 0)
  • 常规区域


你可能感兴趣的:(初级网络)