1 / 73

OSPF 路由协议原理

IPUB_404_C1. OSPF 路由协议原理. V1.1. 经过本节的学习,你可以获得以下收获: 掌握OSPF路由协议计算方法 掌握OSPF路由协议的高级应用. 6. 5. 7. 1. OSPF概述. 邻接关系的建立. 2. OSPF的一些概念. 区域内路由的计算. 3. OSPF的协议报文. 区域的划分. 4. 8. DRBDR的作用. 多区域路由的维护. OSPF 概述. OSPF(Open Shortest Path First) 开放型最短路径优先协议 OSPF 是一个内部网关协议 (IGP)

sol
Download Presentation

OSPF 路由协议原理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IPUB_404_C1 OSPF路由协议原理 V1.1

  2. 经过本节的学习,你可以获得以下收获: • 掌握OSPF路由协议计算方法 • 掌握OSPF路由协议的高级应用

  3. 6 5 7 1 OSPF概述 邻接关系的建立 2 OSPF的一些概念 区域内路由的计算 3 OSPF的协议报文 区域的划分 4 8 DR\BDR的作用 多区域路由的维护

  4. OSPF 概述 • OSPF(Open Shortest Path First)开放型最短路径优先协议 • OSPF是一个内部网关协议(IGP) • OSPF属于链路状态协议, 维护一个复杂的网络拓扑数据库,采用SPF算法计算最优路由。

  5. OSPF的优点 • 无路由自环 • 可适应大规模网络 • 路由变化收敛速度快 • 支持区域划分 • 支持等值路由 • 支持验证 • 支持路由分级管理 • 支持以组播地址发送协议报文

  6. 6 2 3 5 7 4 1 OSPF概述 邻接关系的建立 OSPF的一些概念 区域内路由的计算 OSPF的协议报文 区域的划分 8 DR\BDR的作用 多区域路由的维护

  7. OSPF 概念 • Router ID(路由器标识符): 32位二进制数,用于标识每个路由器,要求全局唯一。通常,为第一个先激活的接口IP地址,若有多个已经激活的接口,则为路由器的最小的IP地址。如果在路由器上配置了Loopback接口,那么,路由器 ID是所有Loopback接口中的最小的IP地址,不管其他物理接口的IP地址的值,激活后不变。 • Interface(接口):路由器和具有唯一IP地址和子网掩码的网络之间的连接。也称为链路(Link)。

  8. OSPF 概念(续) • 指定路由器(DR)和备份指定路由器(BDR):在一个多路访问环境中的路由器必须选举一个DR和BDR来代表这个网络。DR和BDR的选举是为了减少在局域网上的OSPF的流量。 • Adjacency(邻接关系):邻接在广播或NBMA网络的DR和非指定路由器之间形成。 • Neighboring Routers(邻居路由器):带有到公共网络接口的路由器。

  9. OSPF 概念(续) • 邻居表(Neighbor Database):包括所有建立联系的邻居路由器。 • 链接状态表(拓扑表)(Link State Database):包含了网络中所有路由器的链接状态。它表示着整个网络的拓扑结构。同Area内的所有路由器的链接状态表,都是相同的。 • 路由表(Routing Table):也称转发表,在链接状态表的基础之上,利用SPF算法计算而来。

  10. OSPF 术语和概念 接口

  11. 邻居 OSPF 术语和概念(续) 接口

  12. 邻居 OSPF 术语和概念(续) 自治系统 接口 邻居列表

  13. 邻居 拓扑数据库 OSPF 术语和概念(续) 自治系统 接口 邻居列表

  14. 邻居 OSPF 术语和概念(续) 自治系统 接口 邻居列表 拓扑数据库 路由表

  15. 6 3 2 5 7 4 1 OSPF概述 邻接关系的建立 OSPF的一些概念 区域内路由的计算 OSPF的协议报文 区域的划分 8 DR\BDR的作用 多区域路由的维护

  16. 封装在 IP 包中的OSPF • OSPF 是一种链接-状态路由协议 • 依靠IP包来承载OSPF信息 • 使用的协议号: 89 协议号: 89 - OSPF 6 - TCP 17 - UDP Frame Payload C R C Frame Header OSPF Header IP Header Payload

  17. OSPF的报文格式

  18. OSPF 的报文格式 (1) • 版本号——标识所使用的OSPF版本 • 类型——将OSPF数据包类型标识为以下类型之一: • hello包:建立和维持邻居关系。 • 数据库描述包(DBD或DDP):描述拓扑结构数据库的内容。 • 链路状态请求包(LSR):向相邻路由器请求其拓扑结构数据库的部分内容。 • 链路状态更新包(LSU):对链路状态请求数据包的回应,包含具体的链路状态信息。 • 链路状态确认包(LSAck):对链路状态更新数据包的确认,这种确认使O S P F的扩散过程更可靠。

  19. OSPF 的报文格式 (2) • 数据包长度——以字节为单位的数据包的长度,包括OSPF包头; • 路由器ID——标识数据包的发送者; • 区域ID——标识数据包所属的区域。所有OSPF数据包都与一个区域相关联; • 校验和——校验整个数据包的内容,以发现传输中可能受到的损伤; • 认证类型——包含认证类型:类型0标识不进行认证,类型1表示采用明文方式进行认证,类型2表示采用MD5算法进行认证。OSPF协议交换的所有信息都可以被认证,认证类型可按各个区域进行配置; • 认证——包含认证信息; • 数据——包含所封装的上层信息(实际的链路状态信息)

  20. D E Hello B A C 邻居关系 Router ID Hello/dead intervals Neighbors Area-ID Router priority DR IP address BDR IP address Authentication password Stub area flag * afadjfjorqpoeru 39547439070713 * Hello * * * 带星号的项目必须要一致

  21. 6 4 2 5 7 3 1 OSPF概述 邻接关系的建立 OSPF的一些概念 区域内路由的计算 OSPF的协议报文 区域的划分 8 DR\BDR的作用 多区域路由的维护

  22. DR and BDR DR BDR • 每个网段都会选出DR和BDR • 然后,每个Router都会和DR,BDR建立邻接关系

  23. Hello DR and BDR的选举 P=3 P=2 DR BDR • Hello 包的交换是通过组播实现的。 • 拥有最高优先级的Router 将成为DR(BDR) • 优先级一样则Router-id最大的Router将成为DR。 P=1 P=1 P=0

  24. 6 5 2 7 4 3 1 OSPF概述 邻接关系的建立 OSPF的一些概念 区域内路由的计算 OSPF的协议报文 区域的划分 8 DR\BDR的作用 多区域路由的维护

  25. OSPF的邻居表的建立过程 172.16.5.1/24 E0 172.16.5.2/24 E1 A B Down State 我的router ID是172.16.5.1,没有看到邻居。 Init State 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 Two-Way State

  26. afadjfjorqpoeru 39547439070713 DBD OSPF链接状态数据库的建立过程(1) DR E0 172.16.5.1 E0 172.16.5.3 Exstart State afadjfjorqpoeru 39547439070713 我将发起链路信息的交互,我是主发送方(MS=1) DBD 不, 我是主发送方, 因为我拥有更高的router ID. afadjfjorqpoeru 39547439070713 DBD Exchange State afadjfjorqpoeru 39547439070713 这是我的链路状态数据库的汇总信息。 DBD 这是我的链路状态数据库的汇总信息。

  27. OSPF链接状态数据库的建立过程(2) DR E0 172.16.5.1 E0172.16.5.3 Loading State afadjfjorqpoeru 39547439070713 我需要 172.16.6.0/24完整的LSA条目. LSR afadjfjorqpoeru 39547439070713 这是172.16.6.0/24的LSA条目. LSU afadjfjorqpoeru 39547439070713 收到,谢谢! LSAck Full State

  28. 2 1 x x 3 Flooding(洪泛)过程(1) • 路由器用224.0.0.5将拓扑改变消息通告给邻居 点对点链路状态发生变化 更新路由表。 LSU B A LSU

  29. 2 1 x x 3 Flooding(洪泛)过程(2) 广播类型链路状态发生变化 DR LSU 更新路由表。 4 LSU B A LSU • 路由器A用224.0.0.6通告给DR • DR用224.0.0.5通告给其他路由器

  30. 2 1 x x 3 Flooding(洪泛)过程(3) NBMA环境下链路状态发生变化 LSU DR 更新路由表。 4 C LSU 帧中继云 LSU B A LSU • 路由器A用单播地址通告给DR(或邻居)

  31. 5 6 2 7 4 3 1 OSPF概述 邻接关系的建立 OSPF的一些概念 区域内路由的计算 OSPF的协议报文 区域的划分 8 DR\BDR的作用 多区域路由的维护

  32. OSPF协议计算过程 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)每台路由器分别以自己为根节点计算最小生成树

  33. 最小生成树计算 • 数据方向出端口COST之和 10.2.2.0/24 10.3.3.0/24 10.1.1.0/24 Cost=1 Cost=1 Cost=1 A B C Cost=5 Cost=5 Topology Table Net Cost 10.2.2.0 2 10.3.3.0 3 Topology Table Net Cost 10.1.1.0 10

  34. Cost计算方式 • 范围:1-65535的整数 • 计算方式: 1.自动计算 参考值/接口带宽,参考值默认为100M auto-cost reference-bandwidth <ref-bw> 2.手工指定 ZXR10(interace-if)#ip ospf cost <cost>

  35. 链路状态信息的封装

  36. LSA头部 • 所有LSA头部都有20个字节,它包含了足够的信息来唯一标识一条LSA

  37. LS AGE • 用来标识LSA产生后所经历的时间,单位为秒; • LSA产生达到30分钟重新洪泛一次; • LS AGE达到60分钟撤销该LSA。

  38. LSA Type

  39. LSA Type

  40. LSA Type

  41. Link State ID

  42. Ls Sequence Number • 4个字节大小,从0x80000001 开始到0x7fffffff结束; • 每更新一次加1。 • LS Type、Link State Id & Advertising Router三者表示唯一一条LSA • Ls Sequence Number & Ls Age 表示该LSA是否是更新信息

  43. LSU LSA Go to A 维护路由表 (cont.) 序列号 是否一样? 该记录在 链接-状态数据库中 已经存在了吗? 忽略该 LSA Yes Yes No No A 序列号 是否更高? 增加到数据库中去 Yes 发送LSAck 给 DR No 将携带更新信息 的LSU发送给 源Router LSA洪泛 利用SPF算法 计算新的路由表 End End

  44. afadjfjorqpoeru 39547439070713 afadjfjorqpoeru 39547439070713 OSPF 单区域网络的构成 Areas Routers LSAs Area 0 骨干区域 Internal Type 1 Type 2 DR Router lsa 是如何产生的?Network lsa是如何产生的?

  45. 5 7 2 6 4 3 1 OSPF概述 邻接关系的建立 OSPF的一些概念 区域内路由的计算 OSPF的协议报文 区域的划分 8 DR\BDR的作用 多区域路由的维护

  46. 一个大规模 OSPF 网络遇到的问题 OSPF 老是要算路由表,烦死了! 我现在只能收到 LSA了, 根本没有数据 OSPF OSPF OSPF OSPF 我的路由表太大了, 而我的内存又太小了

  47. 解决办法: 划分区域(AREA) Area 0 Area 1 Area 2 自治系统

  48. 外部AS/ 其他路由协议域 OSPF Routers 的类型 Area 1 骨干区域 Area 0 Area 2 ABR 和 骨干路由器 骨干/内部路由器 内部路由器 内部路由器 ASBR 和 骨干路由器 ABR 和骨干 路由器

  49. 重分发 • 其他方式发现的路由如何在OSPF世界传递? • ZXR10(config-router)#redistribute <protocol> • 将其他协议发现的路由用Type 5类型LSA重新封装,发布到整个OSPF世界。

  50. 重分发路由COST计算 • 重分发后TYPE 5 LSA的metric-type,取值为ext-1或ext-2,缺省为ext-2 : • EXT-1:将OSPF世界的cost值记入该条路由的花费值中进行计算; • EXT-2:缺省metric在重分配BGP路由时为1,其他路由时为20 ; • 优选EXT-1类型路由。

More Related