动态路由协议——OSPF1

OSPF:开放式最短路径优先协议{IGP中}

无类别链路状态路由协议
属于(IGP内部网关协议)
版本:v1/v2/v3; [v3是IPV6使用]
更新方式:组播更新;224.0.0.5/6触发更新;30min一次周期更新
基于拓扑进行收敛–>更新量特别大–>无法适应中,大型网络环境;
所以:OSPF需结构化部署:
1.区域划分 2.地址规划

一.OSPF的数据包类型

1>Hello包:发现,建立,周期保活;
2>DBD包(数据库描述):把整个拓扑生成数据库生成目录发送对方 ,查看是否有重复;
3>LSR(链路状态请求):询问没有自己路由表中不存在的路由;
4>LSU(链路状态更新):携带各种LSA;
5>LSack(链路状态确认)
[LSA]:-----链路状态通告:具体一条拓扑/路由信息;
[LSDB]:-----链路状态数据库:本地所有LSA集合;

## 二.OSPF状态机

1.Down:一旦本地发出Hello 包,进入下一个状态;
2.Init(初始化): R1收到R2的Hello 包中存在R1的Route-ID进入下一个状态;
3.2-way(双向通信):邻居关系建立的标志;
4.Exstart(预启动):使用没有数据库信息的DBD包进行主从关系选举,RID数值大为主,优先进入下一状态;
5.Exchange(准交换):使用携带数据库目录信息的DBD包后,进行共享,需ack确认;
6.Loading(加载)查看完对端邻居的DBD包后,使用 LSR/LSU/LSack来获取未知的LSA信息;
7.Full(转发):邻接关系建立标志;

三.OSPF工作过程

路由器上OSPF启动配置完成后,本地收发Hello包;
在接收到Hello包中存在本地的RID,建立邻居关系;生成邻居表;邻居关系建立后;基于条件进行抉择;
1.条件匹配失败,维持邻居关系,仅Hello周期保活即可;
2.条件匹配成功,可建立邻接关系;

  • 使用DBD包共享本地LSDB目录,本地基于其他邻接共享过来DBD,判断本地未知的LSA信息;
  • 再使用LSR向邻接进行信息查询,邻接返回LSU包传递具体的LSA信息,同时本地需ACK确认接收;
  • 当本地收到所有LSA后,本地LSDB数据库建立完成;{ 数据库表}
  • 本地基于LSDB生成有向图—>树形结构图—>路由表
  • 收敛完成,Hello继续周期保活
    [每30min周期进行一次DBD的对比]

结构突变
1.无法沟通:dead time (默认40s) 到时间,断开邻居关系,删除该邻接学习到的信息;
2.新增网段:直连新增网段设备,直接使用LSU将更新,新增网段的LSU信息发送给本地所有邻接关系;对端需确认[ack];
3.断开网段:直连断开网段设备,直接使用LSU将更新,断开网段的LSU信息发送给本地所有邻接关系;对端需确认[ack];
在这里插入图片描述
默认hello 包中的hello time 为10s/30s;dead time为hello time4倍;
邻居间hello 包中必须完全一致的参数:hello 和dead time;区域ID;认证字段;末梢区域标记;
注:在华为设备的体系中,邻居间接口配置IP地址子网掩码必须完全一致;
为了防止:这样子,两边能通!
在这里插入图片描述
但这种情况下,两边不通;
所以华为,为了防止这种情况出现,规定邻居间IP地址的子网掩码必须完全一致;
在这里插入图片描述

四.OSPF的基础配置

[r1]ospf 1 router-id 1.1.1.1
//启动时需要定义进程号,仅具有本地意义;同时建议定制router-id;
RID必须全网唯一,手工配置;
若没有手工配置RID,将自选,
1.环回接口IP最大数值;
2.物理接口IP最大值;
[r1-ospf-1]area 0  进入某个区域
宣告:1.激活 2.接口信息可以传递 3.区域划分
[r1-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255
OSPF宣告时,必须携带反掩码;

OSPF划分区域规则:
1.星型结构;区域0为骨干区域,大于0为非骨干区域,非骨干区域必须连接到骨干区域;
2.ABR区域边界路由器;

五.工作过程

1.启动配置完成后,邻居间收发hello包,生成邻居表
2.邻居关系建立后,进条件匹配;若成功可建立邻接关系;
邻接关系间将进LSA的洪泛,LSDB同步——学习未知的LSA信息;
生成数据库表
3.LSDB同步完成后---->有向图----->树形结构------>路由表;

在华为设备中,OSPF协议优先级为10;
OSPF度量=cost值=开销值=参考带宽(默认100M)/接口带宽

OSPF选路规则:
整段路径cost值之和最小

当接口带宽大于参考带宽是,cost值为1;可能导致选路不佳;
建议修改参考带宽;切记全网设备参考带宽必须一致

[Huawei]ospf 1 router-id 1.1.1.1
[Huawei-ospf-1]bandwidth-reference 1000
//单位M

六.OSPF邻居成为邻接关系的条件

基于网络类型决定的:
点到点:一个网段内只能存在两个节点;
MA(多路访问):在一个网段内,节点数量不限;

  1. 点到点网络中,邻居关系必然直接建立为邻接关系;
  2. MA网络中,由于OSPF协议在MA网络中没有接口水平分割,故该网段两两间皆邻接,将会出现大量重复更新;
  3. 因此为了避免大量重复更新,将进行DR/BDR选举;
    所有非DR/BDR间为邻居关系;
  4. 选举规则比较优先级,0-255默认为1;数值大优;若为0,表示不参加选举;优先级相同比较参选设备RID,数值大优;
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ospf dr-priority 2

切记:选举为非抢占行为;若原先已经定下了DR,后期再修改非DR的优先级,DR仍为原先的选举出来的;
因此修改参数后,必须重启该网段所有设备的OSPF进程;

<r1>reset ospf process 

注:OSPF协议要求邻接关系间接口MTU值必须一致
否则将卡在exstart/exchange状态机;
默认华为设备不检测邻接间的MTU;

[Huawei-GigabitEthernet0/0/0]ospf mtu	
[Huawei-GigabitEthernet0/0/0]ospf mtu-enable 
//要求本地与该接口的邻接设备进行mtu值一致;

七.OSPF扩展配置

1.认证—在直连邻居的接口上配置

[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 (编号)cipher 123(密码)
//邻居间认证模式,编号和秘钥必须完全一致;

2.汇总——域间汇总
由于OSPF协议传递拓扑信息,故不能直接进行接口汇总;
只能在区域间传递路由时,进行汇总配置;

[r1]ospf 1
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]abr-summary 1.1.0.0 255.255.252.0
//汇总来自那个区域就在哪进行汇总

3.加快收敛
hello time 10s; dead time 40s;
修改本端接口的hello time,本端口的dead time自动4倍关系匹配;
直连邻居间hello和dead time必须完全一致,否则无法建立邻居关系;

[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ospf timer hello 5

4.缺省路由
边界路由器上配置后,内部其他OSPF路由生成缺省路由指向边界;

[r1]ospf 1
[r1-ospf-1]default-route-advertise always 

おすすめ

転載: blog.csdn.net/m0_47218990/article/details/121193789