背景知识
一台路由设备如何获取其他网段的路由,并加入到路由表中
- 直连路由 :接口配上地址,就会把此网段添加到路由表中
- 静态路由(含默认路由):手动配置 ip route-static 目标网段 掩码 下一跳
- 动态路由 :自动学习和分享
今天要将的是动态路由,动态路由产生的背景
随着企业的发展,网络的规模越来越大,网段的数量越来越多,公司内部的路由器的数量越来越多
为实现不同网络之间的互通,需要在路由器上配置大量的路由条目,工作量庞大并且随着网络扩展,后期管理难度增大
解决方案:
在路由器之间运行“动态路由协议”,让路由器之间自动的学习和分享彼此的路由表信息,每个路由器都独立的计算出一个去往目标网段的最优路由
动态路由协议的特点:
- 减少了后期网络管理任务,避免了人为的配置错误
- 在设备之间传输路由,会占用少量的网络带宽
动态路由协议的类型:
内部网关协议:在同一公司内部运行的路由协议,如RIP、ISIS、OSPF
- RIP:最大支持15跳,不适合大型网络
- ISIS: 之前只支持网络层的CLNP地址协议,目前通过扩展支持了网络层的IP协议,会在运营商网络出现,一般不会在企业网络出现
- OSPF: 网红协议,目前最常用的路由协议
外部网关协议:在不同公司之间运行的路由协议,如BGP
- BGP: 用于城市与城市之间,公司与公司之间的网关路由协议,用于传输大量的路由条目信息
根据实现机制不同又可分为:
- 距离矢量:RIP/BGP 直接分享路由条目
- 链路状态:ISIS/OSPF 分享的是LSA,然后根据收到的LSA计算出最优的路由条目
OSPF协议概述:
OSPF:Open Shortest Path First开放式最短路径优先 协议
- 应用在企业内部,属于公有标准协议,位于OSI模型第三层
- OSPF的数据包,包含在IP头部后面,协议号为89
- OSPF支持企业网络的层次化设计,将网络分为2层:骨干区域和非骨干区域
这里需要说明一下的是:AS表示的自治系统的意思,一个园区网,或者一个企业内的全部内网这样子,在一个 AS 内划分不同的区域。这里我们主要讲的是OSPF协议,即都是在同一个AS内,不涉及AS与AS之间的网络通信(外部路由器协议:BGP协议)。在遇到BGP协议时,会涉及AS的详细作用。
OSPF区域的表示
- 通过十分制表示,例如区域 0、1、2、3等
- 通过点分十进制表示,例如 区域 0.0.0.0、0.0.0.1、0.0.0.2等
不管通过哪种表示方式,最终在查询配置时都以点分十进制进行展示
OSPF 骨干区域 –区域0
- 区域号为0,表示的就是 “骨干区域”,即Backbone区域
OSPF 非骨干区域 -非0区域
- 区域号不为0,表示的就是 “非骨干区域”也叫标准区域 ,即 Normal区域
- 非骨干区域必须和骨干区域“直连”相连,才能实现 “区域之间的互通”
OSPF的五种区域类型
具体每种区域的作用,后边通过拓扑实验讲解
OSPF工作原理
- 建立OSPF邻居表 – 建立公路,只有建立的了邻居关系后,才能彼此传递
- 同步OSPF数据库 – 原料仓库
- 计算OSPF路由表 – 将原料制作为成品(路由条目)。具体就是 根据SPF(最短路径优先算法),计算出一条最优路径。
注
:只有建立邻居表和同步数据库是需要发送报文的,而计算路由表时是不需要发生报文。
OSPF 的报文类型
一共有以下五种报文
- Hello报文 – 用于发现、建立、维护、和拆除OSPF邻居。
- 数据库描述报文(DD) – 用于发送OSPF数据库条目的简要信息,高效、稳定的实现数据库同步。
- 链路状态请求报文(LSR) – 用于请求自己数据库中没有的链路状态通告信息(LSA)。
- 链路状态更新报文(LSU)-- 用于回应LSR报文,其中包含的是详细的链路状态通告信息(LSA)。
- 链路状态确认报文(LSAck) – 用于对LSU报文确认,实现LSU的可靠传输。
注意
:第5种报文 是 LSAck,不是LSA。LSA是指的链路状态通告信息。
OSPF邻居表中的七个状态
OSPF邻居表中的7种状态
- down 关闭
- init 初始化
- 2-way 表示双向连接状态 (邻居关系状态)建立邻居表
- Exstart 准备同步
- Excharge 更新同步
- Loading 加载状态
- Full 表示完全邻接状态 (邻接关系状态) 建立邻居表 同步了LSA数据库现就看上面这两个状态
注
:第三种和第七种是经常遇到的。
总结
- 路由器和网段较多时,动态协议效率更高
- 在企业内网,适应性和扩展性最强的动态路由协议是OSPF
- OSPF属于“网络层协议”,所以配置前,必须确保网络层的物理层和数据链路层是互通的
- OSPF支持将网络划分为骨干层和非骨干层,便于网络的扩展、排错和管理