数据通信网络组建与维护(项目式教学课件) 项目5 OSPF实现网络互联.ppt
文本预览下载声明
OSPF协议数据包类型 周期性发送,用来发现和维持OSPF邻居关系。内容包括一些定时器的数值、DR(Designated Router,指定路由器)、BDR(Backup Designated Router,备份指定路由器)以及自己已知的邻居。 Hello数据报头结构 Hello数据包 OSPF协议数据包类型 DD(数据库描述)报文 描述了本地LSDB 中每一条LSA 的摘要信息,用于两台路由器进行数据库同步。 LSR(链路状态请求)报文 向对方请求所需的LSA。两台路由器互相交换DD 报文之后,得知对端的路由器有哪些LSA 是本地的LSDB 所缺少的,这时需要发送LSR 报文向对方请求所需的LSA。内容包括所需要的LSA 的摘要。 LSU(链路状态更新)报文 向对方发送其所需要的LSA。 LSAck(链路状态确认)报文 用来对收到的LSA 进行确认。内容是需要确认的LSA 的Header(一个报文可对多个LSA进行确认)。 OSPF邻居状态机 OSPF邻接建立过程 关闭(Down)状态:没有发送hello数据包,也没有收到hello数据包。 尝试(Attempt)状态:不停地向对方发送hello数据包。 初始(Init)状态:收到了对方的hello数据包。但对方没有收到自己的hello报文。 双向(Two-Way)状态:双方均收到了对方的hello数据包。 启动(ExStart)状态:发送DBD报文,选举主/从设备、设定初始序列号。 交换(Exchange)状态:互相交换LSA报头信息。 装入(Loading)状态:向对方请求自己没有的或过时的LSA信息,并在收到对方的更新LSA后添加到自己的链路状态数据库中。 完成(Full)状态:双方的链路状态数据库完全相同 OSPF协议工作过程 接口是否启动OSPF OSPF启动 不做任何处理 没有 定时发送Hello包,寻找邻居 启动 是否接收到 邻居的Hello包 没有 继续等待接收 邻居状态达到 2-WAY状态 有 DR/BDR 是否选举? 进行DR/BDR选举 未选举 与DR/BDR交互链路状态, 邻居状态达到Full状态 选举完成 计算路由 仅与DR/BDR 建立邻接关系 已选举 OSPF协议工作过程主要有四个阶段: 寻找邻居、建立邻接关系、链路状态信息传递、计算路由 OSPF邻接建立过程 RT A E0:172.16.5.1/24 E1:172.16.5.2/24 RT B 172.16.6.0/24 关闭状态:没有启动OSPF 初始状态 发送hello报文,RID=172.16.5.1,SEEN=0 发送hello报文,RID=172.16.5.2,SEEN=RTA 双向状态 启动状态 我是主发送方,将开始交换DBD,因为我的ID=172.16.5.1 不,我将开始交换,因为我的ID比你高,应为主发送方 交换状态 发送RTB的DBD摘要信息给RTA 发送RTA的DBD摘要信息给RTB 双方都发送收到LSA的确认信息:LSAck 装入状态 我需要加载172.16.6.0/24的LSA信息(LSR) B将172.16.6.0/24的LSA信息发送给A(LSU) A发送LSA的确认信息给B:LSAck 完成状态 计算最短路径树 1 2 5 3 A D C B D C B 1 2 3 D C 1 2 3 A D B 1 2 3 A C B 1 2 3 A A (一)网络的拓扑结构 (二)每台路由器的LSDB (三)由LSDB得到的带权有向图 (四)每台路由器分别以自己为根节点计算最小生成树 RTA RTB RTC RTD 1 2 5 3 B C D RTA的LSA RTB的LSA RTC的LSA RTD的LSA LSDB 计算路由表 D C B 1 2 3 D C 1 2 3 A D B 1 2 3 A C B 1 2 3 A A B C D 目标 下一跳 A 直连 B B C C D C A节点路由表 目标 下一跳 A A B 直连 C A D A B节点路由表 目标 下一跳 A A B A C 直连 D D C节点路由表 目标 下一跳 A C B C C C D 直连 D节点路由表 OSPF单区域问题 1)路由器数量的增多会导致LSDB 非常庞大,这会占用大量的存储空间。 2)庞大的LSDB会增加运行SPF 算法的复杂度,导致CPU负担很重。 3)路由器之间达到LSDB 同步会需要很长时间。 4)拓扑结构发生变化会导致网络经常处于“动荡”之中。 OSPF协议多区域 区域0 区域1 区域10.0.0.1 区域边界 路由器 自治系统 边界路由器 骨干路由器 区域内部路由器 区域内部路由器 DR和BDR选举注意事项 1)
显示全部