OSPF基本概念及单区域配置第八部分1Page2/43本章目标掌握OSPF单区域的配置理解OSPF的工作原理掌握OSPF单区域的故障排除理解OSPF的邻接关系建立的过程理解OSPF接口的类型与DR/BDR的选举理解OSPF保存的3张表的内容Page3/43本章结构OSPFOSPF保存的3张表OSPF协议概述OSPF协议的应用环境邻接关系建立的过程OSPF的Cost值OSPF单域的配置路由表状态接口类型邻居列表链路状态数据库报文类型Page4/43OSPF协议概述-内部网关路由协议AS1AS2OSPF内部网关路由协议用于在单一自治系统(AutonomousSystem-AS)内决策路由自治系统(AS)执行统一路由策略的一组网络设备的组合例如:RIPOSPF等例如:BGP外部网关路由协议(EGP)用来连接不同的AS内部网关路由协议(IGP)Page5/43为了适应大型的网络,OSPF在AS内划分多个区域每个OSPF路由器只维护所在区域的完整的链路状态信息OSPF协议概述-区域ASArea0Area1Area2骨干区域边界路由器了解area0和Area2的链路信息Page6/43OSPF协议概述-链路状态路由协议2-1RA103020OSPF是链路状态路由协议,链路状态路由协议中的路由器了解OSPF网络内的链路状态信息最初,RA只知道直连的3个网段10、20、30,RB、RC、RD也一样RARBRCRD1050302060804070Page7/43链路状态路由协议中,直连的路由器之间建立邻接关系,互相“交流”链路信息,来“画”出完整的网络结构OSPF协议概述-链路状态路由协议2-2RA10302050RB40RD8070RC60为了标识链路信息是由谁发出的,用RouterID标识路由器路由器学习到的链路信息,保存在链路状态数据库中相邻路由器之间建立邻接关系,保存在邻居列表中Page8/43RouterIDRouterID是在OSPF区域内唯一标识一台路由器的IP地址RouterID选取规则首先,路由器选取它所有loopback接口上数值最高的IP地址如果没有loopback接口,就在所有物理端口中选取一个数值最高的IP地址Page9/43链路状态路由协议中的数据库类型邻居列表•列出每台路由器全部已经建立邻接关系的邻居路由器链路状态数据库(LSDB)列出网络中其他路由器的信息,由此显示了全网的网络拓扑路由表列出通过SPF算法计算出的到达每个相连网络的最佳路径ABCDEF以A为例,A的链路状态数据库中保存着OSPF网络的所有链路信息A以自己为中心,计算到达每个路由器最近的链路1111111.51.5生成一个最短路径树根据最短路径树,生成路由表链路状态数据库最短路径树Djkstra算法建立邻接关系路由表学习链路状态信息Page10/43建立邻接关系的过程RARBDownDownInit2-way2-wayFullHello(neighbor=“”)Hello(neighbor=“RA”)Hello(neighbor=“RB”)Hello(neighbor=“”)InitDBD(Seq)接收到对方的HELLO报文,转换为初始状态在对方发来的HELLO报文中看到自己的RouterID,转换为双向状态确定数据库描述报文的序列号,转换为信息交换初始状态DBD(Seq)ExStartExStartDBDDBDExChangeExChange发送数据库描述报文,转换为信息交换状态LSRLoadingLSULSRLSULoadingFull发送链路状态信息请求报文,获取未知的链路状态信息发送链路状态信息更新报文,同步链路状态数据库直到两台路由器的链路状态数据库完全一致,形成邻接关系发送Hello消息就像双方互相打个招呼DBD类似于一个目录互相发送对方未知的链路信息Page11/43OSPF的邻接关系需满足的条件邻居两个路由器之间如果不满足下列条件,则他们就不能成为邻居:•Area-id:两个路由器必须在共同的网段上,它们的端口必须属于该网段上的同一个区,且属于同一个子网•验证(AuthenticationOSPF):同一区域路由器必须交换相同的验证密码,才能成为邻居•HelloInterval和DeadInterval:OSPF协议需要两个邻居路由器的这些时间间隔相同,否则就不能成为邻居路由器。•stub区域标记:两个路由器可以在Hello报文中通过协商Stub区域的标记来成为邻居Page12/43OSPF的网络类型网络类型举例广播以太网非广播多路访问NBMA帧中继、X.25点到点PPP,HDLC点到多点多个点到点链路的集合路由器接口类型不同,在建立邻接关系的时候,OSPF路由器执行的操作也略有不同Page13/43OSPF的DR与BDR4-1ACBDEABCED广播网络中建立邻接关系构成n(n一1)/2个邻接关系如果直连的路由器互相都建立邻接关系这种方法非常烦琐!不可取!Page14/43OSPF的DR与BDR4-2ACBDE(DR)ABCED(DR)指定路由器(DR)一个网段上的其他路由器都和指定路由器(DR)构成邻接关系,而不是它们互相之间构成邻接关系Page15/43OSPF的DR与BDR4-3DRBDR通过Hello报文选择DR和BDR来代表OSPF网段其他的路由器(DRothers)只和DR及BDR路由器之间形成邻接关系Page16/43OSPF的DR与BDR4-4P=1P=0P=1P=3P=2HelloDRBDR通过组播发送Hello报文具有最高OSPF优先级的路由器会被选为DR如果OSPF优先级相同,则具有最高RouterID的路由器会被选为DRPage17/43建立邻接关系过程总结发送Hello消息接口类型为点到点接口类型为点到多点接口类型为广播接口类型为NBMA选择DR和BDR发送DBD请求/发送LSU生成完整的LSDB形成邻接关系Page18/43OSPF的包类型总结包类型描述Hello用于邻居路由器之间建立和维护邻接关系数据库描述包DBD描述每台OSPF路由器的链路状态数据库的内容链路状态请求包LSR请求链路状态数据库的部分内容链路状态更新包LSU传送链路状态数据通告LSA给邻居路由器链路状态确认包LSAck确认邻居发过来的LSA已经收到Page19/43OSPF的Hello协议当路由器上启动OSPF进程时,每台路由器都会间隔一定的时间发送Hello包Hello包通过组播地址224.0.0.5发送OSPF路由器使用Hello包发起建立邻接关系并监视这种关系的存在和消失在广播网或者点对点网上,Hello的发送间隔是10秒;在NBMA网络上,Hello的发送间隔是30秒Page20/43OSPF的度量方法COST=108/BWOSPF协议决定最短路径是基于路由器每一个接口指定的代价(cost)来的一条路由的代价:是指沿着到达目的网络的路由路径上所有出站接口的代价之和!100M128KABCC学习到的10网段的Cost是多少?108/100M=1108/128K=781Cost值为1+1+781=78310100MPage21/43何时需要OSPF路由协议网络的规模网络中的路由器在10台以上;中等或大规模的网络网络的拓扑结构网络的拓扑结构为网状,并且任意两台路由器之间都有互通的需求其它特殊的需求要求路由变化时能够快速收敛,要求路由协议自身的网络开销尽量降低对路由器自身的要求运行OSPF协议时,对路由器的CPU的处理能力及内存的大小都有一定的要求,性能很低的路由器不推荐使用OSPF协议Page22/43OSPF路由协议的特点可适应大规模网络路由变化收敛速度快无路由环支持变长子网掩码VLSM支持区域划分支持以组播地址发送协议报Page23/43OSPF与RIP的比较OSPFRIPV1RIPV2链路状态路由协议距离矢量路由协议没有跳数的限制RIP的15跳限制,超过15跳的路由被认为不可达支持可变长子网掩码(VLSM)不支持可变长子网掩码(VLSM)支持可变长子网掩码(VLSM)收敛速度快收敛速度慢使用组播发送链路状态更新,在链路状态变化时使用触发更新,提高了带宽的利用率周期性广播整个路由表,在低速链路及广域网中应用将产生很大问题Page24/43阶段总结OSPF建立邻接关系包类型状态转换接口类型OSPF路由协议的Cost值OSPF的应用环境与特点Page25/43OSPF单区域的配置命令4-1配置loopback接口地址Router(config)#interfaceloopback0Router(config-if)#ipaddressIP地址掩码启动OSPF路由进程Router(config)#routerospf进程号指定OSPF协议运行的接口和所在的区域Router(config-router)#network网络号反向掩码area区域号本路由器的进程号,用于标识同一路由器上的多个OSPF进程可以是网络地址、子网地址、接口地址指明网络所属区域,此处是0---骨干区域用于产生路由器的RouterID192.168.1.0/24子网掩码:255.255.255.0反向掩码:0.0.0.255子网掩码为1的位,在反向掩码中为0;子网掩码为0的位,在反向掩码中为1。例如:192.168.2.0/28的反向掩码应该是多少?反向掩码:0.0.0.15Page26/43OSPF单区域的配置命令4-2修改接口的Cost值Router(config-if)#ipospfcostnumber例如:Router(config)#interfaces0Router(config-if)#ipospfcost1000取值范围1~65535OSPF路由器在接口上使用cost值来决定最佳路径Page27/43OSPF单区域的配置命令4-3配置OSPF计时器Router(config-if)#ipospfhello-interval时间(s)Router(config-if)#ipospfdead-interval时间(s)例如:Router(config)#interfacee0Router(config-if)#ipospfhello-interval5Router(config-if)#ipospfdead-interval20为了交换信息,相邻由器必须有相同的hello和dead间隔,通常dead时间是hello时间的4倍Page28/43OSPF单区域的配置命令4-4查看邻居列表Router#showipospfneighbor查看链路状态数据库Router#showipospfdatabase查看路由表Router#showiproute查看OSPF的配置Router#showipospf查看OSPF接口数据结构Router#showipospfinterface接口Page29/43OSPF单区域配置实例10-1S0/1S0/1ABC192.168.10.1/24192.168.10.2/24192.168.20.1/24192.168.20.2/24f0/0f0/0Loopback0:10.1.1.1Loopback0:20.1.1.1Loopback0:30.1.1.1Page30/43OSPF单区域配置实例10-2RA#configterminalRA(config)#interfaceloopback0RA(config-if)#ipaddress20.1.1.1255.0.0.0RA(config-if)#exitRA(config)#interfacef0/0RA(config-if)#ipaddress192.168.20.1255.255.255.0RA(config-if)#noshutRA(config)#interfaces0/1RA(config-if)#clockr