广域网架构与路由技术项目教程11.熟悉OSPF路由协议的工作原理;2.理解点对点链路上的OSPF邻居建立过程;3.理解OSPF的应用场景,单区域与多区域OSPF的学习,实现网络全网连通;4.掌握分析各路由器的OSPF邻居表、全局路由表、OSPFLSDB;5.掌握OSPF区域路由汇总与外部路由汇总。本章项目任务:第6章OSPF路由协议配置广域网架构与路由技术项目教程2运行链路状态路由协议的路由器,在互相学习路由之前,会首先向邻居路由器学习整个网络的拓扑结构,在自己的内存中建立一个拓扑表(或称链路状态数据库),然后使用最短路径优先(SPF)算法,从自己的拓扑表里计算出路由来。6.1链路状态路由协议概述1.链路状态路由协议工作原理广域网架构与路由技术项目教程3运行链路状态路由协议的路由器在计算路由之前会首先学习网络拓扑,建立拓扑表。然后,它们会使用最短路径优先SPF算法(基于Dijkstra算法),根据拓扑表计算路由。SPF算法会把网路拓扑转变为最短路径优先树(ShortestPathFirstTree),然后从该树型结构中找出到达每一个网段的最短路径,该路径就是路由;同时该树型结构还保证了所计算出的路由不会存在路由环路。6.1链路状态路由协议概述2.链路状态路由协议的算法广域网架构与路由技术项目教程4向邻居发送Hello数据包:路由器使用Hello协议来发现其链路上的所有邻居,形成一种邻接关系,这里的邻居是指启用相同的链路状态路由协议的其他任何路由器。6.1链路状态路由协议概述3.链路状态路由协议的工作过程建立链路状态数据包:每台路由器创建一个链路状态数据包(LSP),其中包含与该路由器直连的每条链路的状态。将链路状态数据包泛洪给邻居:每台路由器使用数据库构建一个完整的拓扑图并计算通向每个目的网络的最佳路径。所有的路由器将会有共同的拓扑图,但是每一个路由器独立确定到达拓扑内每一个网络的最佳路径。构建链路状态数据库:每台路由器将LSP泛洪(flooding)到所有邻居,然后邻居将收到的所有LSP存储到数据库中。广域网架构与路由技术项目教程5链路状态路由协议与距离矢量路由协议相比的优点:•创建拓扑图•快速收敛•事件驱动更新•层次式设计6.1链路状态路由协议概述4.链路状态路由协议的特性链路状态路由协议的要求•内存要求•处理器要求•带宽要求链路状态路由协议的应用•开放式最短路径优先(OSPF)•中间系统到中间系统(IS-IS)广域网架构与路由技术项目教程6区域(Area)6.2OSPF协议基础1.OSPF中的常见概念OSPF把大型网络划分为骨干区域和非骨干区域。骨干区域只有一个并且固定地称为区域0,所有的非骨干区域都必须和骨干区域相连Area1Area0Area2ASArea0注意:区域号(ID)可以是一个10进制数,如图中Area1、Area2,也可以是一个32位十进制点分形式(与IP地址表示形式一样)广域网架构与路由技术项目教程7路由器标识(RouterID)6.2OSPF协议基础1.OSPF中的常见概念OSPF协议使用一个被称为RouterID的32位无符号整数来唯一标识一台路由器,每一台运行OSPF的路由器都需要一个RouterID,支持手工配置和自动从当前所有接口的IP地址选举一个IP地址作为RouterID,选举规则:(1)优选通过手工配置指定的RouterID;(2)次选本路由器最大的Loopback接口地址;(3)如果没有配置Loopback接口,那么就选取路由器中最大的物理接口地址;如果一台路由器的RouterID在运行中改变,则必须重启OSPF协议或重启路由器才能使新的RouterID生效。广域网架构与路由技术项目教程8OSPF的协议号和进程号6.2OSPF协议基础1.OSPF中的常见概念•OSPF协议用IP报文直接封装协议报文,协议号是89•在同一台路由器上可以运行多个不同的OSPF进程,它们之间互不影响,彼此独立。OSPF进程号是本地概念,不影响与其它路由器之间的报文交换。因此,不同的路由器之间即使进程号不同也可以进行报文交换。路由器的一个接口只能属于某一个OSPF进程。OSPFHeaderProtocol#89OSPFPacket广域网架构与路由技术项目教程9OSPF中的3张表6.2OSPF协议基础1.OSPF中的常见概念•邻居列表•拓扑表(或称链路状态数据库LSDB)•路由表OSPF中的5类包•hello包•DBD(DatabaseDescription,数据库状态描述包)•LSR(link-stateRequest,链路状态请求包)•LSU(Link-stateUpdate,链路状态更新包):类型1——routerLSA;类型2——networkLSA•LSAck(Link-stateAcknowledgement,链路状态确认)广域网架构与路由技术项目教程10OSPF协议运行的网络类型有:广播(Broadcast)网络、点对点(Point-to-Point)网络、NBMA(Non-BroadcastMulti-Access,非广播多路访问)网络。6.2OSPF协议基础2.OSPF的网络类型FR/X.25广播类型网络点到点类型网络FR/X.25NBMA类型网络点到多点类型网络点到多点类型网络点到多点类型网络广域网架构与路由技术项目教程11在OSPF网络中,为了减少LSA通告的流量,各路由器之间不直接发送链路状态信息,而是通过选举DR/BDR进行统一分发。6.2OSPF协议基础3.OSPF网络中的DR与BDRABCEDDRBDRDRothersDRothersDRothersDR与BDR的选举,在广播型网络中是自动的。其选举原则如下:•通过组播发送Hello报文•具有最高OSPF优先级的路由器会被选为DR•如果OSPF优先级相同,则具有最高RouterID的路由器会被选为DR广域网架构与路由技术项目教程12(1)建立邻接关系“邻接关系”是指OSPF路由器以交换路由信息为目的,在所选择的相邻路由器之间建立的一种关系。6.2OSPF协议基础4.OSPF路由形成基本过程广域网架构与路由技术项目教程13(2)选举DR/BDR:在广播(Broadcast)或多路访问(NBMA)网络中,各相邻路由器都建立了相邻关系后,就要选举一个担当区域内的LSA通告代理角色的DR(指定路由器)和BDR(备份指定路由器)6.2OSPF协议基础4.OSPF路由形成基本过程(3)当路由器初始化或当网络结构发生变化(例如,增减路由器、链路状态发生变化等)时,路由器会产生链路状态广播数据包LSA,该数据包里包含路由器上所有端口的状态信息。所有路由器会通过一种称为Flooding(泛洪)的方法来交换链路状态数据。(4)路由计算:当网络重新稳定下来,所有的路由器会根据其各自的链路状态信息数据库,采用SPF算法计算并创建路由表。(5)维护路由信息:当链路状态发生变化时,OSPF通过泛洪过程广播网络上的其他路由器。OSPF路由器接收到包含有新信息的链路状态更新报文,将更新自己的链路状态数据库,然后用SPF算法重新计算路由表。广域网架构与路由技术项目教程146.2OSPF协议基础4.OSPF路由形成基本过程RARBRCRD(1)网络的拓扑结构(2)每台路由器的LSDB(3)由LSDB得到的带权有向图(4)每台路由器分别以自已为根节点计算最小生成树路由计算的过程广域网架构与路由技术项目教程156.3单区域OSPF的配置1.OSPF的基本配置命令步骤命令说明1先配置好各端口地址并激活各端口各条链路应测试通2routerospfprocess-id例:Router(config)#routerospf1启动OSPF路由进程,进程号1-65535,并进入路由器配置模式3router-idip-address例:RA(config-router)#router-id1.1.1.1(可选)配置Router-id(也可自动产生)4networkip-addresswildcard-maskareaarea-id例:RA(config-router)#network192.168.10.00.0.0.255area0通告网络及网络所在的区域广域网架构与路由技术项目教程166.3单区域OSPF的配置1.OSPF的基本配置命令【示例】配置OSPF路由协议,使全网连通。1、先配置各路由器的端口地址并激活端口RA#conftRA(config)#interfacelo0RA(config-if)#ipaddress10.1.1.1255.0.0.0RA(config-if)#interfacese0/0RA(config-if)#ipaddress192.168.10.1255.255.255.0RA(config-if)#clockrate128000RA(config-if)#noshutRA(config-if)#intfa0/0RA(config-if)#ipaddress192.168.20.1255.255.255.0RA(config-if)#noshutRA(config-if)#exit2、配置OSPF路由RA(config)#routerospf1//启动路由器进程RA(config-router)#router-id1.1.1.1//配置Router-idRA(config-router)#network10.0.0.00.255.255.255area0//通告各网段在区域0中的路由RA(config-router)#network192.168.10.00.0.0.255area0RA(config-router)#network192.168.20.00.0.0.255area0RA(config-router)#end思考:RB、RC的配置命令广域网架构与路由技术项目教程176.3单区域OSPF的配置2.OSPF的显示命令序号命令说明1showiproute查看路由表2showipospfneighbor查看OSPF邻居的基本信息3showipospfdatabase查看OSPF拓扑结构数据库4showipospfinterfaceinterface-id查看OSPF路由器某接口的信息5showipospf查看OSPF进程及其细节6debugipospfadj显示OSPF邻接关系创建或中断的过程7debugipospfevents显示OSPF发生的事件8debugipospfpacket显示路由器收到的所有的OSPF数据包广域网架构与路由技术项目教程18序号命令说明1ipospfprioritynumber配置接口优先级:优先级的范围为0~255,其中如果优先级为0,则该路由器永远不能成为DR。路由器上默认的优先级是12ipospfcostnumber配置接口开销cost值:number可以是1~65535之间的数值,它表示分配给该接口的度量值;路径开销是沿路径到目的地途中所有转发数据流的接口所分配的开销总和;OSPF路由协议是通过对链路的带宽计算得出路径的开销值的,计算公式是:COST=108/带宽(bps)3ipospfhello-intervalnumber配置Hello间隔:该命令用来指定OSPF接口发送hello消息包的时间间隔。在广播网或者点对点网上,默认的Hello的发送间隔是10秒;在NBMA网络上,Hello的发送间隔是30秒。4ipospfdead-intervalnumber配置邻居的死亡时间:该命令是用来设置因没有收到某邻居设备的hello包而宣告邻居OSPF路由器关闭前所需等待的时间。5ipospfnetworknetwork-type配置接口网络类型:broadcast(广播类型)、point-to-point(点对点类型)、point-to-multipoint(点对多点类型)、non-broadcast(非广播多路访问(NBMA)类型)6.3单区域OSPF的配置3.OSPF的接口参数配置命令广域