700 likes | 1.01k Views
OSPF 协议原理. ISSUE 1.0. 前 言. 本课程由浅入深的讲解 OSPF 协议基本概念, OSPF 路由计算过程,各种类型的 LSA ,以及如何合理规划设计 OSPF 网络。学完本课程,无论您是新手,还是资深专家,都能从中获益匪浅。. 学习指南. 本课程全套资料包括培训胶片、配套原理教材、多媒体课件、试题、演练案例和教师教学指导书,合理有效利用上述资料您将会取得良好的学习效果。. 参考资料. VRP 3.30 《 操作手册 》 、 《 命令手册 》 RFC1583, RFC1587, RFC2178, RFC2328, RFC2370 TCP/IP 协议卷.
E N D
OSPF协议原理 ISSUE 1.0
前 言 • 本课程由浅入深的讲解OSPF协议基本概念,OSPF路由计算过程,各种类型的LSA,以及如何合理规划设计OSPF网络。学完本课程,无论您是新手,还是资深专家,都能从中获益匪浅。
学习指南 • 本课程全套资料包括培训胶片、配套原理教材、多媒体课件、试题、演练案例和教师教学指导书,合理有效利用上述资料您将会取得良好的学习效果。
参考资料 • VRP 3.30 《操作手册》、《命令手册》 • RFC1583, RFC1587, RFC2178, RFC2328, RFC2370 • TCP/IP协议卷
目 标 • 学习完此课程,您将会: • 掌握OSPF协议的基本概念 • 掌握OSPF协议的基本原理 • 设计规划OSPF网络
内容介绍 第1章 OSPF协议基本概念 第2章 OSPF网络类型 第3章 OSPF路由计算过程 第4章 LSA链路状态通告 第5章 设计规划OSPF网络
OSPF协议概述 • OSPF(Open Shortest Path First) • 属于IGP(内部网关协议) • 基于链路状态算法的路由协议 • 由IETF开发 • 目前为版本2 • 相关协议:RFC1583, RFC2178, RFC2328
OSPF协议基本特征 • 无路由自环 • 可适应大规模网络 • 路由变化收敛速度快 • 支持区域划分 • 支持等值路由 • 支持验证 • 支持路由分级管理 • 支持以组播地址发送协议报文
OSPF协议相关术语 • Router ID OSPF域中路由器的唯一标识 • Area 区域 • Cost 花费值 • ABR、ASBR 区域边界路由器、自治系统边界路由器 • LSA 链路状态通告 • Link Type 链路类型,包括广播,非广播,点到点,点到多点 • DR和BDR 指定路由器和非指定路由器 • 区域类型 骨干区域,STUB区域,TRANSIT区域 • Virtual-Link 虚连接
OSPF Header Protocol #89 OSPF Packet OSPF Router ID • Router ID • 一个32-bit的无符号整数,是一台路由器的唯一标识,在整个自治系统内唯一 • Router ID • OSPF 是基于IP的,其协议号是89
OSPF协议区域 • OSPF使用Area实现了分层----两层模式 • 区域号是一个32bit的整数 • 定义为IP address格式 • 也可以用一个十进制整数表示 • (ie. Area 0.0.0.0, or Area 0) • 区域0.0.0.0保留为骨干区 • 非骨干区一定要连接到骨干区
OSPF协议Cost值 • Cost应用于每一个启动了OSPF的链路 • 16-bit正数,范围[1—65,535] • Cost值越小链路越优 • 该值表示的是出接口Cost值 • 路由选取是依靠整个链路Cost值的总和
OSPF协议Cost值(续) • 计算方法 • 108 /bandwidth • 56-kbps serial link = 1785 • Ethernet = 10 • 64-kbps serial link = 1562 • T1 (1.544-Mbps serial link) = 64 • 用户调节链路Cost的方法: • ospf cost value
Internal Internal Area 10 LAN LAN Area 12 ABR ABR ABR Backbone Area 0 ABR Area 11 RIP/RIPV2 World ASBR Internal 外部路由信息传播轨迹 Ping向外部路由的报文轨迹 ABR & ASBR
问题 • 什么是Router ID ?有什么作用?修改Router ID之后是否会立即生效? • 为什么要划分区域?怎样合理划分区域?为什么其他区域必须和骨干区域相连? • Cost值有什么作用?
内容介绍 第1章 OSPF协议基本概念 第2章 OSPF网络类型 第3章 OSPF路由计算过程 第4章 LSA链路状态通告 第5章 设计规划OSPF网络
HUB PTP BROADCAST FR/X.25 FR/X.25 NBMA PTMP OSPF协议支持的网络类型 • 链路类型:广播,非广播,点到点,点到多点
FR/X.25 HUB NBMA BROADCAST OSPF邻居关系太多 • 对于多点接入网络,即NBMA和broadcast,如果网络内有上百台路由器,那将形成多少邻接关系:两两互相形成,即100*(100-1),这些邻接关系要定期的交换LSDB,这样耗费的系统资源更是不计其数。
DR BDR M= n(n-1)/2 = 28 M= (n-2)×2+1 = 13 DR和BDR
问题 • LSA描述的网络类型主要有哪些? • 为什么要选举DR和BDR?它们有什么作用?
内容介绍 第1章 OSPF协议基本概念 第2章 OSPF网络类型 第3章 OSPF路由计算过程 第4章 LSA链路状态通告 第5章 设计规划OSPF网络
OSPF报文头 OSPF报文头格式:
OSPF的五种协议报文 • Hello报文 • 发现及维持邻居关系,选举DR,BDR • DD报文 • 本地LSDB的摘要 • LSR报文 • 向对端请求本端没有或对端的更新的LSA • LSU报文 • 向对方发送其需要的LSA • LSAck报文 • 收到LSU之后,进行确认
邻接关系的形成与维持 • 通过HELLO报文形成邻接关系 • 邻居建立后,还需要通过HELLO报文进行邻居关系的维持,有两个定时器来进行这项工作: • HELLO TIME:缺省为10秒(对于NBMA网络为30秒) • DEAD TIME:缺省为4倍的HELLO TIME
Down Attempt Init Loading 2-way ExStart Exchange Full OSPF的邻居状态机
邻接关系形成后开始相互交流 • 数据库交换过程 • 主从协商 • DD交换 • LSA请求 • LSA传播 • LSA应答
RT1 RT2 Down Hello( DR = 0.0.0.0,Neighbors Seen = 0) Down Hello( DR = RT2,Neighbors Seen = RT1) Init DD (Seq = x,I = 1, M = 1, MS = 1) ExStart DD (Seq = y,I = 1, M = 1, MS = 1) ExStart DD (Seq = y,I = 0, M = 1, MS = 0) Exchange Exchange DD (Seq = y+1,I = 0, M = 1, MS = 1) DD (Seq = y+1,I = 0, M = 1, MS = 0) DD (Seq = y+n,I = 0, M = 0, MS = 1) DD (Seq = y+n,I = 0, M = 0, MS = 0) Loading Full LS Request LS Update Full LS Ack 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 (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 OSPF协议路由计算过程 (1)网络的拓扑结构 (4)每台路由器分别以自己为根节点计算最小生成树
问题 • OSPF协议报文有哪些? • OSPF协议路由计算的过程是怎样的? • OSPF域中有两个相同的ID,会造成什么问题? • OSPF查找路由表的顺序是怎样的? • OSPF中有哪些表?生成这些表的顺序是怎样的?
内容介绍 第1章 OSPF协议基本概念 第2章 OSPF网络类型 第3章 OSPF路由计算过程 第4章 LSA链路状态通告 第5章 设计规划OSPF网络
LSA头部 • 所有LSA头部都有20个字节,它包含了足够的信息来唯一标识一条LSA
RT8 RT3 70.1.1.0/24 Area 2 80.1.1.0/24 ASBR ASBR Area 0 10.1.1.0/24 40.1.1.0/24 RT4 30.1.1.0/24 BGP 20.1.1.0/24 50.1.1.0/24 Area 3 RT2 RT9 RIPv2 60.1.1.0/24 Area 4 NSSA RT5 AS200 RT6 OSPF AS100 LSA进一步阐述 • 以下图为例,介绍各种LSA
Router LSA (Type 1) • Router LSA 报文格式: Router LSA(不包括LSA头部)
[RT4]disp ospf lsdb router 4.4.4.4 OSPF Process 1 with Router ID 4.4.4.4 Link State Database Area: 0.0.0.0 Type : Router Type 1 LSA Ls id : 4.4.4.4 OSPF的Router ID Adv rtr : 4.4.4.4 LSA的始发者 Ls age : 1195 Len : 36 Seq# : 80000008 Chksum : 0x5d57 Options : (DC) ABR Link count : 1 Link ID : 3.3.3.3 连接对象 Data : 40.1.1.1 取决于链路类型 Type : Virtual 连接类型 Metric : 1562 Router LSA of RT4
Network LSA (Type 2) • 生成且只在Broadcast 和 NBMA 网络中生成 • 包含所有连接到该网络上的Router • 只有DR(designated router)生成Network LSA • 和Router LSA一样,只在区域内传播,不再向外传播 Network LSA报文格式: Network LSA(不包括LSA头部)
Network LSA for 6.6.6.6 <RT6>disp ospf lsdb network OSPF Process 1 with Router ID 6.6.6.6 Link State Database Area: 0.0.0.4 Type : Net LSA类型 Ls id : 60.1.1.2 DR在该网段的接口地址 Adv rtr : 6.6.6.6 LSA的始发者 Ls age : 166 Len : 32 Seq# : 80000003 Chksum : 0xfbc5 Options : (DC) Net mask : 255.255.255.0 Attached Router 6.6.6.6 连接到该网络的路由器 Attached Router 2.2.2.2
Summary LSA (Type 3,4) Summary LSA报文格式: Summary LSA(不包括LSA头部)
Type 3 Details <RT2>display ospf lsdb summary OSPF Process 1 with Router ID 2.2.2.2 Link State Database Area: 0.0.0.0 Type : SumNet LSA类型 Ls id : 40.1.1.0 被通告的网络地址 Adv rtr : 4.4.4.4 始发此LSA的Router Ls age : 1382 Len : 28 Seq# : 80000004 Chksum : 0x439e Options : (DC) (Non DN) Net mask : 255.255.255.0 网络掩码 Tos 0 metric: 1562 花费
Type 4 Details <RT5>disp ospf lsdb asbr OSPF Process 1 with Router ID 5.5.5.5 Link State Database Area: 0.0.0.3 Type : SumASB LSA类型 Ls id : 1.1.1.1 ASBR Router ID Adv rtr : 4.4.4.4 通告路由器 Ls age : 1498 Len : 28 Seq# : 80000002 Chksum : 0x7176 Options : (DC) Tos 0 metric: 3125
External LSA (Type 5) AS-external-LSAs 报文格式: External LSA(不包括LSA头部)
External Cost = 1 To N1 Cost =10 R3 R1 External Cost = 2 To N1 Cost =8 R2 Network Metric Next Hop N1 11 R1 Selected Route N1 10 R2 External Type 1
External Cost = 1 To N1 Cost =10 R3 R1 External Cost = 2 To N1 Cost =8 R2 Network Metric Next Hop Selected Route N1 1 R1 N1 2 R2 External Type 2
Type 5 Details <RT2>disp ospf lsdb ase OSPF Process 1 with Router ID 2.2.2.2 Link State Database Type : ASE LSA类型 Ls id : 80.0.0.0 Link State ID Adv rtr : 1.1.1.1 通告路由器 Ls age : 789 Len : 36 Seq# : 80000002 Chksum : 0x756 Options : (DC) Net mask : 255.0.0.0 掩码 Tos 0 metric: 1 E type : 2 Forwarding Address :0.0.0.0 转发地址 Tag: 1
NSSA External LSA (Type 7) • NSSA区域可以有选择的引入外部路由 • NSSA中的引入操作产生Type 7 LSA • Type 7 LSA是由NSSA ASBR产生的 • Type 7 LSA只存在于NSSA 区域 • Type 7 LSA在传出NSSA区后,被转换成TYPE 5 LSA,这是由NSSA ABR完成的 • NSSA ABR会告诉OSPF域:我是一个ASBR
Type 7 Details <RT2>disp ospf lsdb nssa OSPF Process 1 with Router ID 2.2.2.2 Link State Database Area: 0.0.0.4 Type : NSSA LSA类型 Ls id : 0.0.0.0 Adv rtr : 2.2.2.2 Ls age : 1330 Len : 36 Seq# : 80000004 Chksum : 0xdcc8 Options : (DC) Net mask : 0.0.0.0 Tos 0 metric: 1 E type : 2 Forwarding Address :0.0.0.0 Tag: 1
初始状态的LSA • 当一个路由器的接口上启动了OSPF,那么就会生成一个且只生成一个LSA----Router LSA • 随着邻居关系向邻接关系的过渡,这些ROUTER LSA会根据从对方学到的LSA信息,发生一些变化,比如生成NETWORK LSA或其他类型的 LSA.
LSA交换之后接下来是? • 广播和NBMA网络中,DR产生NETWORK LSA,同时ROUTER LSA也发生了一些变化 • PTP和PTMP网络中产生了POINT-TO-POINT类型的ROUTER LSA • 这些变化稳定之后,邻接关系形成 • 邻接关系形成之后,开始进行路由计算,具体的计算过程参见我们将要介绍的第四部分
问题 • LSA主要包括哪些类型? • Network-LSA 、Net-Summary-LSA、Asbr-Summary-LSA和AS-External-LSA主要区别是什么?
内容介绍 第1章 OSPF协议基本概念 第2章 OSPF网络类型 第3章 OSPF路由计算过程 第4章 LSA链路状态通告 第5章 设计规划OSPF网络