您的位置:首页 > 理论基础 > 计算机网络

网络初级OSPF协议之我见

2020-04-07 12:36 1506 查看

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

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

无类别链路状态型协议;存在V1/2/3 三个版本;其中V2为IPV4下各厂商设备的主流版本;V3为IPV6环境下使用;组播更新-224.0.0.5、224.0.0.6,需要结构化的部署(区域划分,合理的ip地址规划);触发更新,每30MIN一次周期更新

一、OSPF的数据包:

OSPF含有五种数据包:
Hello包—发现、建立、周期保活邻居关系 使用router-id来相互区分;
DBD包—数据库描述包 本地的数据目录
LSR包—链路状态请求 LSA的查询包
LSU包—链路状态更新 包装传递各种LSA信息
LSack包—链路状态确认包
LSA—链路状态通告—具体的一条一条拓扑或者路由条目信息

二、OSPF的状态机:

Down 一旦向外发送hello包,那么可以进入下一个状态
Init-初始化 若接收到的hello包中,存在本地的RID,进入下一状态
2way双向通讯 邻居关系建立的标志;
条件匹配:
Exstart 预启动 使用类似hello 的DBD进行主从关系的选举,RID数值大为主,优先进入
下一状态
Exchange 准交换 使用真正的DBD来交换数据库目录,需要ACK进行确认
Loading 加载 查看对端DBD报文,使用LSR/LSU/LSack来获取本地未知的LSA信息;
Full 转发 邻接(毗邻)关系建立完成

三、OSPF的工作过程:

启动配置完成后;本地路由器组播224.0.0.5发送hello包;若接到来自其他路由器发送的hello包,且内容中包含本地的RID;邻居关系建立—生成邻居表;
邻居关系建立后,基于建邻过程中的条件匹配结果进行下一步动作;
1、 匹配失败—将和邻居一直卡在邻居关系,仅hello包每10s周期保活一次
2、 匹配成功—开始进行邻接关系的进程
使用类似hello 的DBD包进行主从关系选举,之后主优先发送本地的DBD来换取对端的DBD;再基于对端DBD包,对照本地未知的LSA;使用LSR,对端LSU,再LSack来获取本地未知的LSA信息;
当所有的LSA被收集完成后,生成数据库表—LSDB(链路状态数据库)
之后基于本地的数据库表—生成有向图—》树型结构
基于数据结构进行最短路径选路,将选择结果,加载到本地的路由表中;
邻接关系建立,收敛完成;仅hello包每10s周期保活即可;
再每30min邻接关系周期比对一次DBD,进行查漏;

OSPF可能出现的结构突变:
1、 新增网段
2、 断开网段
3、 无法沟通
我们可以在设备上预演这三种结构突变时,通过抓包来观察协议内路由器配置的变化

四、OSPF的基础配置:

配置环境默认为ENSP


[r1]ospf 1 router-id 1.1.1.1 启动时,需要定义进程号;进程号仅具有本地意义;
我们可以手动配置router-id;也可以不配置,让ospf协议自动生成;
Router-id规则—必须全网唯一,使用IPV4地址来作为格式
关于OSPF router-id自动生成的规定:
在本地所有的环回接口寻找最大数值的ip地址—若环回接口未配置ip地址,再在本地所有的物理接口上寻找数值最大的ip地址

[r1-ospf-1]
宣告:1、激活接口 2、授权传递接口信息 3、区域划分
由于OSPF协议需要在中大型网络环境下工作,避免产生环路,故基于拓扑进行收敛更新,导致更新量较大,由使得协议无法在中大型网络服务;所以必须进行区域的划分来减少控制更新量;最终使得协议可以在中大型网络生存。
区域划分要求:
1、 星型结构,中心区域必须为骨干区域0,其他非骨干区域必须连接骨干区域,编号大于0;
2、 区域间必须存在ABR—区域边界路由器

[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255
[r1-ospf-1-area-0.0.0.0]network 12.1.1.1 0.0.0.0

启动配置完成后,邻居间组播收发hello包,建立邻居关系,生成邻居表:
[r2]display ospf peer brief

邻居关系建立后,邻居间匹配成功可以建立成为邻接关系;邻接关系间可以收发LSA,来生成本地的数据库-LSDB ---- 数据库表:
[r2]display ospf lsdb

最后,基于本地的路由表,生成有向图,计算树型结构;再基于树型结构,计算本地到达所有未知网段的最短路径,将其加载到本地的路由表中;
路由表中默认优先级为10;cost值基于带宽计算 参考带宽/接口带宽=cost值
OSPF选路,是将整段路径cost值之和最小加载到路由表中;

注意:默认参考带宽为100M;若接口带宽大于了参考带宽,结果依然向上求整;可能导致选路不佳;故在接口带宽大于参考的网络环境下,建议修改默认的参考带宽;
[RTB]ospf
[RTB-ospf-1]bandwidth-reference 10000
注:若修改,整个网络中所有路由器均需要修改为一致;

五、成为邻接关系的条件

MA—多路访问—在一个网段中;节点数量不限制
点到点网络类型—在一个网段内,只能存在两个节点

在点到点网络中,邻居关系间将直接建立成为邻接关系;

在MA网段中,若该网段所有设备均建立为邻接关系,将可能导致大量的重复更新;
故需要进行DR/BDR的选举—DR-指定路由器 BDR -备份指定路由器
该网段中其余路由器为非DR/BDR设备;所有的非DR/BDR之间只能建立邻居关系;
成为DR的条件:
1、 比较接口的优先级 0-255 默认为1,越大越优;若为0,表示放弃选举
2、 若接口接口优先级相同,比较RID,数值大优;

[r2-GigabitEthernet0/0/0]ospf dr-priority 2 进入参选接口,修改接口优先级

注意:选举为非抢占选举;故修改优先级后,必须重启OSPF进程;
该网段所有设备,重启进程后,可以进行重新选举;
reset ospf process
Warning: The OSPF process will be reset. Continue? [Y/N]:y

六、ospf的扩展配置

1、认证
直连邻居的接口上配置,邻居间密码编号必须一致,否则无法建立邻居关系
[r1-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher cisco123

2、缺省路由 – 边界路由器上配置,让内部设备生产缺省路由指向边界
[r3]ospf 1
[r3-ospf-1]default-route-advertise always

3、 汇总—区域间汇总,不支持接口汇总-因为接口上传递的是拓扑,与RIP协议汇总不同
在ABR上,进入明细路由所在的区域,进行汇总配置;将区域内的路由汇总到其他区域
[r2]ospf 1
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]abr-summary 192.168.1.0 255.255.255.0

4、加快收敛,修改计时器

  • 点赞
  • 收藏
  • 分享
  • 文章举报
JOKERSNEAKER 发布了14 篇原创文章 · 获赞 0 · 访问量 243 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: