OSPF:开放式最短路径优先协议

OSPF:开放式最短路径优先协议

  • 标准的链路状态型路由协议----拓扑状态。
  • 无类别协议,更新时携带子网掩码;组播更新224.0.0.5/6。
  • 需要结构化部署的协议-----区域划分(区域之间传路由)、地址规划。
  • 触发更新、周期更新(30min)。
  • 链路状态型路由协议的距离矢量特征--------区域之内传拓扑,区域之间传路由;

【1】OSPF的数据包:
1、hello包 用于发现、建立、周期保活邻居关系 , 存在router ID----RID (全网唯一的编号,使用ip地址)。
2、DBD包 数据库描述包 所有LSA目录信息 , 对比lsa
3、LSR 链路状态请求
4、LSU 链路状态更新 —用于携带各种LSA(12种)
5、LSack 链路状态确认

【2】OSPF的状态机:

  1. Down:一旦本地发出hello包就进入下一个状态
  2. Init初始化:如果收到的hello包中携带自己的RID,则和邻居一起进入下一状态
  3. 2way双向通信:邻居关系建立的标志 条件匹配:若成功,进入下一状态,若失败,保持邻居关系,仅hello包10s周期保活即可;
    点到点网络直接进入下一状态;MA网络中将进行DR/BDR选举(40s),DR非抢占性,只有DRother与DRother之间为邻居关系,其余均为邻接关系,DRother即非DR/BDR间不得进入下一状态,因为为邻居关系。
  4. Exstart预启动:类hello的DBD(只含有RID),进行主从关系选举,(先比较优先级,大优,默认为1,再比较RID),RID数字大者为主即DR,优先进入下一状态,选举的目的是为了减少重复更新量,不同网段内选举不同的DR与BDR。
  5. Exchange准交换:使用真正的DBD包,进行数据库目录的共享,需要ACK确认;
  6. Loading 加载:使用LSR/LSU/LSack来获取未知的LSA信息;
  7. Full转发:邻接关系建立的标志----收敛完成,实际的邻接关系在条件匹配完成后建立

【3】OSPF的工作过程:

  1. 启动配置完成后,本地使用组播(224.0.0.5)发送hello包到所有邻居处,若收集到其他邻居的hello包中携带自己的RID,那么建立邻居关系,生成邻居表;
  2. 之后和所有邻居间进行条件匹配,若失败将停留于邻居关系,仅hello包10s周期保活即可;
  3. 若匹配成功,将建立邻接(毗邻)关系;RID大者优先发送DBD报文,交换之后进入加载状态,邻接关系间将使用DBD/LSR/LSU/LSack来获取未知的LSA信息;当收集齐所有的LSA信息(路由与拓扑)后,本地生成LSDB–链路状态数据库—数据库表;
  4. 再本地基于LSDB,使用SPF算法计算到达所有未知网段的最佳路径,然后将其加载到路由表中,收敛完成。
    收敛完成后,hello包(10秒)周期保活邻居、邻接关系;30min周期DBD比对数据库;

若结构突变:
1、新增、断开网段—直连设备使DBD/LSR/LSU/LSACK获取新增LSA信息或删除断开网段;
2、设备断电或无法沟通—dead time(40秒)到时后断开邻接关系,同时删除所有从邻居出学到的信息;

LSA–链路状态通告–拓扑或路由;
LSDB–链路状态数据库–所有LSA的集合;
Ospf协议的收敛被称为----LSA洪泛、LSDB同步;

【4】OSPF的配置:

r1(config)#router ospf 1           
//启动时需要配置进程号,仅具有本地意义
r1(config-router)#router-id 1.1.1.1   
配置RID,要求为全网唯一;
推荐手工---默认环回接口ip地址最大数字---物理接口IP地址最大数字
宣告:1、激活接口  2、路由或拓扑   3、区域划分
r1(config-router)#network 1.1.1.1 0.0.0.0 area 0
r1(config-router)#network 12.1.1.0 0.0.0.255 area 0
                                    反掩码:精确匹配

OSPF反掩码宣告:
若反掩码为1,代表此为可以变化;
反掩码为0,代表此为固定。

ospf必须结构化部署:
1.区域划分;
2.IP地址规划-------最好的划分为一个区域内可以汇总为一条路由;

OSPF区域划分规则:
1、必须为星型结构----区域0为骨干,中心站点,所有的非骨干区域必须和骨干区域相连接,必须存在骨干区域;
2、ABR–区域边界路由器,传送路由条目;
边界路由器的环回可放在任意一个区域;

步骤:
启动配置完成后,所有设备间使用hello包,发现并建立邻居关系,生成邻居表;
Hello time 为10s,dead time 为 hello time 的4倍;

r2#show ip ospf neighbor 
Neighbor ID    Pri   State           Dead Time   Address         Interface
1.1.1.1          0   FULL/  -        00:00:34    12.1.1.1        Serial1/0
3.3.3.3          0   FULL/  -        00:00:39    23.1.1.2        Serial1/1
邻居的RID                             不小于30秒    邻居的          本地的入接口
                                      倒计时

邻居关系建立后,邻居间进行条件匹配,匹配成功者间进入邻接关系;基于DBD/LSR/LSU/LSack获取未知LSA信息,生成LSDB–数据库表;

r2#show ip ospf database
在这里插入图片描述
LSDB同步完成后,本地使用SPF最短路径选路规则,将到达未知网段的路由加载路由表:
使用字母O标识通过OSPF学习的路由;
O 本地区域内的路由,是本地通过拓扑计算所得;
O IA 域间路由,其他区域的路由,通过ABR共享进入的;

cost值为源到目的所有出接口的累加开销值
管理距离为110;
度量为cost值=开销值=参考带宽/接口带宽
默认参考带宽为100M;查看接口带宽 (show interfaces f0/0), 默认带宽(百兆接口),串口带宽为1.544兆;
整段路径cost值之和最小为最佳路径;
注:当接口带宽大于参考带宽时,cost值为1;将可能导致选路不佳,建议修改参考带宽;

修改参考带宽
r1(config)#router ospf 1 
r1(config-router)#auto-cost reference-bandwidth ?    
  <1-4294967>  The reference bandwidth in terms of Mbits per second
r1(config-router)#auto-cost reference-bandwidth 1000
切记:整个网络所有设备均需要修改一致;

【5】OSPF建立成为邻接关系的条件----关注网络类型
点到点–在一个网段内只能存在两个节点
MA网络—在一个网段内节点数量不限制

在点到点网络ospf只能直接建立邻接关系;
在MA网络中为避免重复的更新,将进行DR/BDR选举,所有的非DR/BDR间仅建立邻居关系;DR/BDR与其他非DR/BDR建立邻接关系,基于224.0.0.6沟通;

选举规则:
1、比较接口优先级 ,0-255 大优 ,默认为1;
2、接口优先级若相同,比较RID;大者为DR,次大为BDR;
r1(config)#interface fastEthernet 0/0
r1(config-if)#ip ospf priority 3 // 修改接口优先级
注:ospf选择非抢占的,因此在人为修改了优先级后,必须重启所有设备的OSPF进程;
r1#clear ip ospf process
Reset ALL OSPF processes? [no]: yes

可以将设备的参选接口优先级修改为0,----不参选,直接为Drother;但至少留一台设备参选,否则将无DR,网络无法通行;

【6】OSPF的扩展配置
1)认证–直接在连接邻居的接口上配置

r1(config)#interface s1/1
r1(config-if)#ip ospf authentication message-digest   
 //先开启认证服务
r1(config-if)#ip ospf message-digest-key 1 md5 cisco123  
//再配置认证的秘钥和模式、编号 

明文认证
r1 (config-if)#ip ospf authentication-key 1 cisco

区域认证:
区域的明文认证
Router(config)#router ospf 100
Router(config-router)#area 0 authentication
区域的密文认证
Router(config)#router ospf 100
Router(config-router)#area 0 authentication message-digest

2)加快收敛 hello time10s、 dead time 40s
在直连邻居的接口上修改,且邻居间time 必须完全一致,否则无法保持邻居关系;

r1(config)#interface s1/1
r1(config-if)#ip ospf hello-interval 5   
//修改本端的hello time,本端的dead time自动4倍关系匹配;

3)被动接口----仅接收不发送路由协议信息,用于连接用户的接口,不得用于连接邻居的接口;

r2(config)#router ospf 1 
r2(config-router)#passive-interface loopback 0

4)缺省路由–在边界路由器上配置缺省信息后,向内网发送缺省路由

r4(config)#router ospf 1 
r4(config-router)#default-information originate always
// 强制下放缺省
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值