




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OSPF协议原理及配置 概念 OSPF OpenShortestPathFirst 开放最短路径优先由IETF InternetEngineeringTaskForce 组织开发OSPF是链路状态协议 采用SPF算法OSPF是IGP InteriorGatewayProtocol 协议 用于在自治系统 AutonomousSystem AS 内发现和计算路由在IP网络上 它通过收集和传递自治系统的链路状态来动态地发现并传播路由相关RFC文档 RFC2328 RFC1583 RFC2178 链路状态路由选择协议 OSPF 基本思想每个路由器有责任和邻机会话 并获悉它们的名字 每个路由器构建一个称为 链路状态广播 LSA 的包 该包列出了邻机的名字和到达这些邻机的费用 LSA被传送到所有的别的路由器 每个路由器存储了来自其他路由器的最新的LSA 每个路由器现在有了完整的拓扑图 计算出到每个目的地的路由 OSPF协议概述 1 OSPF是OpenShortestPathFirst的缩写 是IETF组织开发的一个基于链路状态的自治系统内部路由协议 适应范围 OSPF支持各种规模的网络 最多可支持几百台路由器 快速收敛 如果网络的拓扑结构发生变化 OSPF立即发送更新报文 使这一变化在自治系统中同步 这是衡量路由协议好坏的重要指标 无自环 由于OSPF通过收集到的链路状态用最短路径树算法计算路由 故从算法本身保证了不会生成自环路由 但是在引入外部路由时不能保证没有路由环路 OSPF协议概述 2 子网掩码 由于OSPF在描述路由时携带网段的掩码信息 所以OSPF协议不受自然掩码的限制 对VLSM提供很好的支持 区域划分 OSPF协议允许自治系统的网络被划分成区域来管理 区域间传送的路由信息被进一步抽象 从而减少了占用网络的带宽 等值路由 OSPF支持到同一目的地址的多条等值路由 在RIP中也有 OSPF协议概述 3 路由分级 OSPF使用4类不同的路由 按优先顺序分别是 区域内路由 区域间路由 第一类外部路由 第二类外部路由 支持验证 它支持基于接口的报文验证以保证路由计算的安全性 组播发送 OSPF在有组播发送能力的链路层上以组播地址发送协议报文 即达到了广播的作用 又最大程度的减少了对其他网络段设备的干扰 224 0 0 5 OSPF和RIP的比较 1 向本自治系统中所有路由器发送信息 这里使用的方法是洪泛法 flooding 这样 最终整个区域中所有的路由器都得到了这个信息的一个副本 而RIP协议是仅仅向自己相邻的几个路由器发送信息 发送的信息就是与本路由器相邻的所有路由器的链路状态 这是路由器所知道的部分信息 链路状态就是说明本路由器都和哪些路由器相邻 以及该链路的 度量 OSPF将这个 度量 用来表示费用 距离 时延 带宽等等 而RIP协议发送的信息是 到所有网络的距离和下一跳路由器 OSPF和RIP的比较 2 只有当链路状态发生变化时 路由器才用洪泛法向所有路由器发送此信息 而RIP不管网络拓扑有无发生变化 路由器之间都要定期交换路由器表的信息 基本的OSPF协议 RouterID 一个32bit的无符号整数 是一台路由器的唯一标识 在整个自治系统内惟一 一般是手工配置 有些厂家路由器支持自动从当前所有接口的IP地址自动选举一个IP地址作为ROUTERID OSPF报文直接封装在IP报文中传输 IP头部中协议号为89 指定路由器DR DesignatedRouter 备份指定路由器BDR BackupDesignatedRouter 在一个广播型多路访问环境中的路由器必须选举一个DR和BDR来代表这个网络作用 减少在局域网上的OSPF的流量选举 DB BDR的选举是根据路由器优先级 优先级高者为DR 次高者为BDR 如果Priority值相同 Router id值大者成为DR DR BDR DR和BDR选举的原因 在广播和NBMA类型的网络上 任意两台路由器之间都需要传递路由信息 flood 如果网络中有N台路由器 则需要建立N N 1 2个邻接关系 任何一台路由器的路由变化 都需要在网段中进行N N 1 2次的传递 这是没有必要的 也浪费了宝贵的带宽资源 为了解决这个问题 OSPF协议指定一台路由器DR DesignatedRouter 来负责传递信息 所有的路由器都只将路由信息发送给DR 再由DR将路由信息发送给本网段内的其他路由器 两台不是DR的路由器 DROther 之间不再建立邻接关系 也不再交换任何路由信息 这样在同一网段内的路由器之间只需建立N个邻接关系 每次路由变化只需进行2N次的传递即可 优先级携带在Hello包中进行传递的其余每个DRother都会和DR BDR建立邻接关系 DRother之间建立邻居关系 P 1 P 0 P 1 DR BDR的选举 P 3 P 2 BDR DR BDR DRother DRother DRother DR的选举过程如下 登记选民 本网段内的运行OSPF的路由器 登记候选人 本网段内的Priority 0的OSPF路由器 Priority是接口上的参数 可以配置 缺省值是1 竞选演说 一部分Priority 0的OSPF路由器认为自己是DR 投票 在所有自称是DR的路由器中选priority值最大的当选 若两台路由器的priority值相等 则选RouterID最大的当选 选票就是HELLO报文 每台路由器将自己选出的DR写入HELLO中 发给网段上的每台路由器 说明 由于网段中的每台路由器都只和DR建立邻接关系 如果DR频繁的更迭 则每次都要重新引起本网段内的所有路由器与新的DR建立邻接关系 这样会导致在短时间内网段中有大量的OSPF协议报文在传输 降低网络的可用带宽 所以协议中规定应该尽量的减少DR的变化 具体的处理方法是 每一台新加入的路由器并不急于参加选举 而是先考察一下本网段中是否已有DR存在 如果目前网段中已经存在DR 即使本路由器的priority比现有的DR还高 也不会再声称自己是DR了 而是承认现有的DR BDR 快速响应 如果DR由于某种故障而失效 这时必须重新选举DR 并与之同步 这需要较长的时间 在这段时间内 路由计算是不正确的 为了能够缩短这个过程 OSPF提出了BDR BackupDesignatedRouter 的概念 BDR实际上是对DR的一个备份 在选举DR的同时也选举出BDR BDR也和本网段内的所有路由器建立邻接关系并交换路由信息 当DR失效后 BDR会立即成为DR 由于不需要重新选举 并且邻接关系事先已建立 所以这个过程是非常短暂的 当然这时还需要重新选举出一个新的BDR 虽然一样需要较长的时间 但并不会影响路由计算 注意 网段中的DR并不一定是priority最大的路由器 同理 BDR也并不一定就是priority第二大的路由器 DR是指某个网段中概念 是针对路由器的接口而言的 某台路由器在一个接口上可能是DR 在另一个接口上可能是BDR 或者是DROther 只有在广播和NBMA类型的接口上才会选举DR 在point to point和point to muiltipoint类型的接口上不需要选举 两台DROther路由器之间不进行路由信息的交换 但仍旧互相发送HELLO报文 OSPF网络类型 OSPF区域是由不同类型的网络链路组成的 明白这一点很重要 因为邻接行为随网络类型而异 而要确保OSPF在某些类型的网络上正确运行 必须对其进行合适的配置 OSPF根据物理链路类型定义了不同的网络类型 在每种网络中 OSPF的运行方式各不相同 其中包括如何建立邻接关系以及所需的配置 网络类型 OSPF协议计算路由是以本路由器周边网络的拓扑结构为基础的 每台路由器将自己周边的网络拓扑描述出来 传递给其他所有的路由器 OSPF将不同的网络拓扑抽象为以下四种类型该接口所连的网段中只有本路由器自己 stubnetworks 该接口通过点到点的网络与一台路由器相连 point to point 该接口通过广播或NBMA的网络与多台路由器相连 broadcastorNBMAnetworks 该接口通过点到多点的网络与多台路由器相连 point to multipoint 网络类型 OSPF协议根据链路层封装协议不同分为以下四种网络类型 Point to Point 点对点网络 当链路层协议是PPP HDLC LAPB时 OSPF缺省认为网络类型是Point to Point 在这种类型网络中 以组播地址 224 0 0 5 发送协议报文 不需要选举DR BDR Broadcast 广播网络 当链路层协议是Ethernet时 OSPF缺省认为网络类型是Broadcast 在这种类型网络中 以组播地址 224 0 0 5 224 0 0 6 发送协议报文 需要选举DR BDR NBMA 非广播多路访问网络 Non broadcastMulti access 当链路层协议是FrameRelay X 25时 OSPF缺省认为网络类型是NBMA 在这种类型网络中 以单播地址发送协议报文 必须手工配置邻居的IP地址 Point to Multipoint 点对多点网络 没有一种链路层协议会被缺省的认为是Point to Multipoint类型 通常由NBMA的类型手工修改而来 如果NBMA类型的网络不是全连通的 则可以手工更改为点到多点网络 在这种类型网络中 以组播地址 224 0 0 5 发送协议报文 不用手工配置邻居 点到点网络 point to point 广播网络 broadcast 网络类型 链路层封装PPP HDLC协议 链路层封装Ethernet FDDI TokenRing NBMA网络 Non BroadcastMulti Access 点到多点网络 point to multipoint 网络类型 FR ATM X 25 FR ATM X 25 邻接关系 邻接关系在广播或NBMA网络的DR和非指定路由器之间形成DRother与DR BDR之间建立邻接关系邻接 好朋友邻接需要互通信息 需要同步信息DRother之间为邻居关系 之间不同步数据库邻居 刚认识 邻居 邻接 术语 1 自治系统AS AutonomousSystem 指共享同一路由选择策略的一组路由器的集合在互联网中 一个自治系统是一个有权自主地决定在本系统中应采用何种路由协议的小型单位 这个网络单位可以是一个简单的网络也可以是一个由一个或多个普通的网络管理员来控制的网络群体 它是一个单独的可管理的网络单元 如一所大学 一个企业或者一个公司个体 路由器标识 RouterID 由32位数组成 在AS内唯一 这个RouterID一般需要手工配置 一般将其配置为该路由器的某个接口的IP地址 由于IP地址是唯一的 所以这样就很容易保证RouterID的唯一性 在没有手工配置RouterID的情况下 一些厂家的路由器支持自动从当前所有接口的IP地址自动选举一个IP地址作为RouterID 区域标识 AreaID 由32bit数组成 在AS内唯一标识区域 如 Area0或者Area0 0 0 0一个区域是指一个路由器的集合 它有一个一样的拓扑数据库 OSPF用区域把一个AS分成多个链路状态域 因为一个区域的拓扑结构对另一个区域是不可见的 一个区域不会被扩散 这个特征大大降低了一个AS中的路由交通数量 区域被用来包含链路状态的更新并使管理者能建立分层网络 链路状态通告 LSA LSA用来描述路由器的本地状态 LSA包括的信息有关于路由器接口的状态和所形成的邻接状态链路状态表 拓扑表 LinkStateDatabase 包含了网络中所有路由器的链接状态 它表示整个网络的拓扑结构 同Area内的所有路由器的链接状态表 都是相同的路由表 RoutingTable 即转发表 在链接状态表的基础之上 利用SPF算法计算而来 术语 2 OSPF协议报文 1 OSPF报文格式 OSPF依靠IP包来承载OSPF信息使用的协议号 89 OSPF单区域的问题 当一个巨型网络中的路由器都运行OSPF路由协议时 就会遇到如下问题 1 路由器数量的增多会导致LSDB非常庞大 这会占用大量的存储空间 2 LSDB的庞大会增加运行SPF算法的复杂度 导致路由器的CPU负担很重 3 由于LSDB很大 两台路由器之间达到LSDB同步会需要很长时间 4 网络规模增大之后 拓扑结构发生变化的概率也增大 网络会经常处于 动荡 之中 为了同步这种变化 网络中会有大量的OSPF协议报文在传递 降低了网络的带宽利用率 更糟糕的是 每一次变化都会导致网络中所有的路由器重新进行路由计算 OSPF区域划 分区域 解决方法 将自治系统划分成不同的区域 Area 解决上述问题的关键主要有两点 减少LSA的数量和屏蔽网络变化波及的范围 每一个网段必须属于一个区域 或者说每个运行OSPF协议的接口必须指明属于某一个特定的区域 区域用区域号 AreaID 来标识 不同的区域之间通过ABR 区域边界路由器 来传递路由信息 划分区域后的好处 由于划分区域后ABR是根据本区域内的路由生成LSA 则可以根据IP地址的规律先将这些路由进行聚合后再生成LSA 这样做可以大大减少自治系统中LSA的数量 划分区域之后 网络拓扑的变化首先在区域内进行同步 如果该变化影响到聚合之后的路由 则才会由ABR将该变化通知到其他区域 大部分的拓扑结构变化都会被屏蔽在区域之内了 OSPF区域类型 1 OSPF协议里把区域划分为以下5种类型 标准区域这个默认的区域接收链路状态更新 路由汇总和外部路由信息 骨干区域 backbonearea 骨干区域是连接所有其他区域的中心点 区域号总是 0 所有其他区域都连接到这个区域以交换路由信息 Area0 Area1 Area2 AS100 注意 所有的区域必须和骨干区域相连 而且骨干区域自身也必须是连通的 末节区域和完全末节区域特点 通常只能有一个出口区域内不能有ASBR不能是Area0 Backbone 不能使用虚连接 Virtuallinks 单一出口 Area2 0 0 0 0 ExternalAS OSPF区域类型 2 末节区域 stubarea 不接受任何自治系统外部路由的信息 比如非OSPF网络的信息 使用缺省的0 0 0 0路由连接AS外的网络 末节区域不能包含ASBR 完全末节区域 totallystubarea 不接受任何AS外部的路由 及AS内部的其他区域的汇总信息 使用缺省的路由发送数据包到外部网络或是其他区域 不包含ASBR Type5LSA Type7LSA RIP area0 NSSAarea ASBR ABR 非完全末节区域 not so stubbyarea OSPF区域类型 3 OSPF虚连接 所有的区域必须和骨干区域相连 而且骨干区域自身也必须是连通的 由于网络的拓扑结构复杂 有时无法满足这个条件 为此 OSPF提出了虚连接的概念 虚连接是指在两台ABR之间 穿过一个非骨干区域 转换区域 transitarea 建立的一条逻辑上的连接通道 Area2 Area0 Backbone Area3 Area1 VirtualLink TransitArea OSPFRouter的类型 路由器根据在自治系统中的不同位置划分为以下四种类型 IAR InternalAreaRouter ABR AreaBorderRouter BBR BackBoneRouter ASBR ASBoundaryRouter IAR InternalAreaRouter 区域内路由器 是指该路由器的所有接口都属于同一个OSPF区域 这种路由器只生成一条RouterLSA 只保存一个LSDB ABR AreaBorderRouter 区域边界路由器 该路由器同时属于两个以上的区域 其中必须有一个是骨干区域 也就是区域0 该路由器为每一个所属的区域生成一条RouterLSA 为每一个所属的区域保存一个LSDB 并根据需要生成NetworkSummaryLSA Type 3 和ASBRSummaryLSA Type 4 BBR BackBoneRouter 骨干路由器 是指该路由器属于骨干区域 也就是0区域 由定义可知 所有的ABR都是骨干路由器 所有的骨干区域内部的IAR也属于BBR ASBR ASBoundaryRouter 自治系统边界路由器 是指该路由器引入了其他路由协议 也包括静态路由和接口的直接路由 发现的路由 需要注意的是ASBR并不一定在拓扑结构中位于自治系统的边界 ASBR生成ASExternalLSA Type 5 LSA的类型 LSA是OSPF路由器之间链路状态数据库交流信息的方式 路由器使用LSA构造一个准确 完整的网络图 并由此产生路由表中所使用的路由 常见的六种LSA类型 Type1 Routerlinkentry 路由器LSAType2 Networklinkentry 网络LSAType3and4 Summarylinkentry 网络汇总LSAType5 ASexternallinkentry AS外部LSAType7 NSSAexternallinkentry NSSA外部LSA LSAType 1 LSAType 2 LSAType 3 OSPF协议计算过程 LSDB LSAofRTA LSAofRTB LSAofRTC LSAofRTD 2 每台路由器的LSDB 3 由链路状态数据库生成带权有向图 C A B D 3 4 6 C A B D 2 3 4 C A B D 2 3 4 C A B D 2 3 4 C A B D 2 3 4 RTA RTC RTD 4 3 2 6 1 网络的拓扑结构 4 每台路由器分别以自己为根节点计算最小生成树 RTB 2 上图中描述了通过OSPF协议计算路由的过程 由四台路由器组成的网络 连线旁边的数字表示从一台路由器到另一台路由器所需要的花费 为简化问题 我们假定两台路由器相互之间发送报文所需花费是相同的 首先 每台路由器都根据自己周围的网络拓扑结构生成一条LSA 链路状态广播 并通过相互之间发送协议报文将这条LSA发送给网络中其它的所有路由器 这样每台路由器都收到了其它路由器的LSA 所有的LSA放在一起称作LSDB 链路状态数据库 显然 4台路由器的LSDB都是相同的 其次 由于一条LSA是对一台路由器周围网络拓扑结构的描述 那么LSDB则是对整个网络的拓扑结构的描述 路由器很容易将LSDB转换成一张带权的有向图 这张图便是对整个网络拓扑结构的真实反映 显然 4台路由器得到的是一张完全相同的图 最后 接下来每台路由器在图中以自己为根节点 使用SPF算法计算出一棵最短路径树 由这棵树得到了到网络中各个节点的路由表 显然 4台路由器各自得到的路由表是不同的 这样每台路由器都计算出了到其它路由器的路由 由上面的分析可知 OSPF协议计算出路由主要有以下三个主要步骤 描述本路由器周边的网络拓扑结构 并生成LSA 将自己生成的LSA在自治系统中传播 并同时收集所有的其他路由器生成的LSA 根据收集的所有的LSA计算路由 路由汇聚的作用减小路由表的大小将拓扑变化的影响限制在本地减少LSA的数量 节省CPU资源路由聚合只有在ABR上配置才会有效 路由汇聚 一条路由信息就可以代表多个子网 路由汇聚举例 O172 16 8 0255 255 252 0O172 16 12 0255 255 252 0O172 16 16 0255 255 252 0O172 16 20 0255 255 252 0O172 16 24 0255 255 252 0O172 16 28 0255 255 252 0 RoutingTableforB LSAsSenttoRouterC IA172 16 16 0255 255 240 0 Area1 Area0 ABR Summarization IA172 16 8 0255 255 248 0 A B C Hello 用于建立和维护邻居关系 同时也发现邻居DDP DatabaseDescriptionPacket 数据库描述包 用于描述拓扑结构数据库的内容 为同步邻居间数据库信息LSR LinkStateRequest 链路状态请求包 向相邻路由器请求其拓扑结构数据库的部分内容LSU LinkStateUpdate 链路状态更新包 对链路状态请求数据包的回应 包含具体的链路状态信息 LSAck LinkStateAcknowledge 链路状态确认包 用于对链路状态更新数据包的确认 这种确认使OSPF的扩散过程更可靠 OSPF报文类型 OSPF包括以下5种协议报文 HELLO报文 HelloPacket 最常用的一种报文 周期性 发送Hello报文的间隔叫做hello interval 的发送给本路由器的邻居 内容包括一些定时器的数值 DR BDR 以及自己已知的邻居 HELLO报文中包含有RouterID Hello deadintervals 饱和 失效间隔 Neighbors Area ID Routerpriority DRIPaddress BDRIPaddress Authenticationpassword 认证密码 Stubareaflag 特殊区域标识 等信息其中Hello deadintervals Area ID Authenticationpassword Stubareaflag必须一致 相邻路由器才能建立邻居关系 DR BDR选举规则 当选举DR BDR的时候要比较hello包中的优先级 priority 优先级最高的为DR 次高的为BDR 默认优先级都为1 在优先级相同的情况下就比较RID RID等级最高的为DR 次高的为BDR 当你把优先级设置为0以后 OSPF路由器就不能成为DR BDR 只能成为DROTHERDR BDR选举完成后 DRother只和DR BDR形成邻接关系 所有的路由器将组播Hello包到地址224 0 0 5以便它们能跟踪其他邻居的信息 即DR将洪泛LSU到224 0 0 5 DRother只组播LSU到AllDRouter地址224 0 0 6 只有DR BDR监听这个地址 DBD报文 DatabaseDescriptionPacket 两台路由器进行数据库同步时 用DBD报文来描述自己的LSDB 链路状态数据库 内容包括LSDB中每一条LSA的摘要 摘要是指LSA的HEAD 通过该HEAD可以唯一标识一条LSA 这样做是为了减少路由器之间传递信息的量 因为LSA的HEAD只占一条LSA的整个数据量的一小部分 根据HEAD 对端路由器就可以判断出是否已经有了这条LSA LSR报文 LinkStateRequestPacket 两台路由器互相交换过DBD报文之后 知道对端的路由器有哪些LSA是本地的LSDB所缺少的或是对端更新的LSA 这时需要发送LSR报文向对方请求所需的LSA 内容包括所需要的LSA的摘要 LSU报文 LinkStateUpdatePacket 用来向对端路由器发送所需要的LSA 内容是多条LSA 全部内容 的集合 LSAck报文 LinkStateAcknowledgmentPacket 用来对接收到的DBD LSU报文进行确认 内容是需要确认的LSA的HEAD 一个报文可对多个LSA进行确认 OSPF邻居状态机 Down Two way Full为稳定的状态 其他状态则是在转换过程中瞬间 一般不会超过几分钟 存在的状态 本路由器的状态可能与对端路由器的状态不相同 例如本路由器的邻居状态是Full 对端的邻居状态可能是Loading Down Two way Full Attempt Init Exstart Exchange
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 聘用合同格式
- 保卫管理员中秋节后复工安全考核试卷含答案
- 增材制造设备操作员国庆节后复工安全考核试卷含答案
- 酶制剂制备工中秋节后复工安全考核试卷含答案
- 地理信息建模员国庆节后复工安全考核试卷含答案
- 氟化盐生产工中秋节后复工安全考核试卷含答案
- 流行饰品制作工中秋节后复工安全考核试卷含答案
- 宝玉石琢磨工节假日前安全考核试卷含答案
- 公司借款合同(用于子公司或集团本部)6篇
- 膨胀烟丝设备操作工节假日前安全考核试卷含答案
- 2024年08月北京2024年建信养老金管理有限责任公司校园招考笔试历年参考题库附带答案详解
- DG-TJ 08-2445-2024 城镇排水管渠在线监测技术标准
- 强信念 转作风 提能力 促发展 学习心得体会
- 朋友的古诗句
- 房屋市政工程生产安全重大事故隐患判定标准(2024版)宣传海报
- 道路工程交通安全设施施工方案及保障措施
- 征信数据纠正服务合同
- 肝癌超声课件教学课件
- 合规岗位季度工作计划
- 制造业生产管理:Excel2024版高效培训教程
- 漫展嘉宾合同模板
评论
0/150
提交评论