260 likes | 567 Views
《 数据通信技术与应用 》. 第三单元:路由技术与应用. 第 5 讲: OSPF 协议原理. 主讲人:史红彦. 学习目标:. 理解 OSPF 的基本概念 理解 OSPF 协议运行过程 理解最短路径优先算法 掌握 OSPF 中报文的作用. 1.OSPF 协议概述 2. 基本概念 3.OSPF 运行过程 4.OSPF 报文. OSPF 概述. OSPF( O pen S hortest P ath F irst) 开放式最短路径优先协议 OSPF 属于 链路状态 协议 , 基于链路状态算法。是一个 内部网关协议 。
E N D
《数据通信技术与应用》 第三单元:路由技术与应用 第5讲:OSPF协议原理 主讲人:史红彦
学习目标: • 理解OSPF的基本概念 • 理解OSPF协议运行过程 • 理解最短路径优先算法 • 掌握OSPF中报文的作用
1.OSPF协议概述 2.基本概念 3.OSPF运行过程 4.OSPF报文
OSPF 概述 OSPF(Open Shortest Path First)开放式最短路径优先协议 OSPF属于链路状态协议,基于链路状态算法。是一个内部网关协议。 OSPF直接运行于IP协议之上,使用IP协议号89 Link Layer Header IP Packet Header OSPF Protocol Packet Frame Checksum IP协议号为89
OSPF基本特点 支持无类域间路由(CIDR) 支持区域划分 无路由自环 路由变化收敛速度快 使用IP组播收发协议数据 支持多条等值路由 支持协议报文的认证
1.OSPF协议概述 2.基本概念 3.OSPF运行过程 4.OSPF报文
路由器ID即Router ID,它是唯一标识运行OSPF协议的一台路由器,经常设置为掩码为32bits的IP主机地址,关于这样的标识地址产生原则有如下: 手工指定——通过命令router-id ip-address 设置,一般指定逻辑的环回口地址(环回口地址的稳定性) 自动产生——如果没有手工指定,则选择环回口IP地址;如果有多个环回口,则比较IP地址大的作为Router ID;如果没有创建环回口,则选用物理接口IP地址,如果有多个IP地址,则同样选择IP地址最大的作为Router ID。 Router ID
链路开销(cost): OSPF使用开销作为度量值。 参考值/链路实际带宽,参考值默认为100M,带宽单位bps 链路开销
邻居表(Neighbor Database):包括所有建立联系的邻居路由器。 链路状态表(拓扑数据库)(Link State Database):包含了网络中所有路由器的链接状态。它表示着整个网络的拓扑结构。同区域内的所有路由器的链路状态表,都是相同的。 路由表(Routing Table):也称转发表,在链路状态表的基础之上,利用SPF算法计算而来。
1.OSPF协议概述 2.基本概念 3.OSPF运行过程 4.OSPF报文
D E Hello B A C 1、邻居发现阶段 Router ID Hello/dead intervals Neighbors Area-ID Router priority DR IP address BDR IP address Authentication password Stub area flag * * afadjfjorqpoeru 39547439070713 * Hello * • 双方成功交换hello报文,且报文中带星号的项目必须要一致,才能建立邻居关系
2、建立邻接关系 我有三个邻居 RTA 10.1.1.1 10.1.1.2 Ethernet 10.1.1.3 10.1.1.4 邻接关系指通过交互之后,彼此都有对方路由信息。 形成邻居关系的路由器但不一定会有邻接关系。
我有三个邻居,但是只有两个邻接 RTA 10.1.1.2 10.1.1.1 Ethernet 10.1.1.3 10.1.1.4 BDR DR 2、建立邻接关系(续) 通过选举产生一个指定路由器(Designated Router,DR)和备用指定路由器(Backup Designated Router,BDR)。一个既不是DR也不是BDR的路由器则被称之为DRother,在邻接关系建立过程当中,DRother只与DR和BDR形成邻接关系并交换链路状态信息以及路由信息,这样大大减少了网络中的邻接关系数量,从而提高的路由收敛速度。 DR和BDR
DR选举原则: 第一条:比较路由器的优先级,具有最高优先级的路 由器将成为DR,次高的成为BDR 优先级值范围0—255,默认为1 第二条:如果路由器的优先级相同,则:比较Router ID 的IP地址最大的作为DR 2、建立邻接关系(续)
DR and BDR 每个网段都会选出DR和BDR 然后,每个Router都会和DR,BDR建立邻接关系 2、建立邻接关系(续) DR BDR
在建立邻接关系以后,发布LSA(Link State Advertisement链路状态广告)来交互链路状态信息,通过获得对方LSA同步OSPF区域内的LSDB。 LSDB RTA生成的LSA RTB生成的LSA RTC生成的LSA RTD生成的LSA 3、链路状态数据库同步阶段 RTA RTB RTC LSA RTD
第一步骤,计算路由器之间每段链路开销,即cost值,计算公式是10^8/带宽 。 第二步骤,利用SPF算法以自身为根节点计算出一颗最短路径树。 第三步骤,计算完成之后,将开销最低的路径写入路由表当中。 4、路由计算阶段
4、路由计算阶段 LSDB RTA生成的LSA RTB生成的LSA RTC生成的LSA RTD生成的LSA RTA RTB RTC LSA SPF算法 RTD 计算路由 最短路径树 IP路由表
4、路由计算阶段 RTA RTB 1 LSDB 1 A B LSA of RTA 2 5 2 5 C LSA of RTB RTC 3 LSA of RTC 3 D LSA of RTD RTD (1)网络的拓扑结构 (3)由链路状态数据库生成 带权有向图 (2)每台路由器的LSDB 1 1 1 1 A B A B A B A B 2 2 2 2 C C C C 3 3 3 3 D D D D (4)每台路由器分别以自己为根节点计算最小生成树
1.OSPF协议概述 2.基本概念 3.OSPF运行过程 4.OSPF报文
OSPF报文类型 Hello报文:以组播的形式周期性的发送,其作用主要有:发现邻居、建立邻居关系、维护邻居关系、选择DR/BDR、确保双向通信 DBD(DataBase Description)报文:数据库描述报文 , LSDB数据库同步时 ,只包含自身LSA的摘要信息 。 LSR(LSA Request)报文:链路状态请求报文 ,只包含LSA摘要信息 。 LSU(LSA Update)报文:链路状态更新报文 ,接收到LSR报文的路由器发送,携带完整的路由信息 。 LSAck(Link State Acknowledgment)报文:链路状态确认报文
OSPF的邻居表的建立过程 172.16.5.1/24 E0 172.16.5.2/24 E1 A B 我的router ID是172.16.5.1,没有看到邻居。 Router B Neighbors List 172.16.5.1/24, int E1 我的 router ID是172.16.5.2, 我的邻居有 172.16.5.1。 Router A Neighbors List 172.16.5.2/24, int E0
OSPF链接状态数据库的建立过程 afadjfjorqpoeru 39547439070713 DBD DR E0 172.16.5.1 E0 172.16.5.3 这是我的链路状态数据库的汇总信息。 afadjfjorqpoeru 39547439070713 DBD 这是我的链路状态数据库的汇总信息。 afadjfjorqpoeru 39547439070713 我需要 172.16.6.0/24完整的LSA条目. LSR afadjfjorqpoeru 39547439070713 这是172.16.6.0/24的LSA条目. LSU afadjfjorqpoeru 39547439070713 收到,谢谢! LSAck
小结 • OSPF基本概况 • OSPF中的重要概念 • OSPF协议工作过程 • OSPF协议报文