OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。著名的迪克斯加算法被用来计算最短路径树。OSPF支持负载均衡和基于服务类型的选路,也支持多种路由形式,如特定主机路由和子网路由等。
一、用户需求
某学校网络拓扑图如图所示,要求完成OSPF的配置,实现计算机PC1、PC2和PC3互通。
二、知识梳理
OSPF的特点
OSPF是链路状态路由协议。
OSPF是真正的无路由环路的路由协议。
OSPF收敛速度快,能够在最短的时间内将路由变化传递到整个自治系统。
提出区域(area)划分的概念,将自治系统划分为不同区域后,区域之间对路由信息的摘要,大大减少了需要传递的路由信息量,也使得路由信息不会随网络规模的扩大而急剧膨胀。
在广播网络中,使用组播(而非广播)发送报文,可减少对其他不运行OSPF的网络设备的干扰。
OSFP采用cost作为度量值。
OSPF支持MD5身份验证,启用该功能后,OSFP路由器只接受来自对等设备中具有相同预共享密钥的加密路由更新。
OSPF适应各种规模的网络,最大规模网络中计算机数量可达数千台。
OSPF默认管理距离是110。
OSPF数据包类型
Hello数据包
Hello数据包用于与其他OSPF路由器建立和维持邻居关系。
DBD数据包
DBD(数据库描述)数据包包含发送方路由器的链路状态数据库的简略列表,用于接收方路由器检查本地链路状态数据库。同一区域的所有链路状态路由器上链路状态数据库必须保持一致。
LSR数据包
接收方路由器可以通过发送LSR(链路状态请求)数据包来请求DBD 数据包中任何条目的有关详细信息。
LSU数据包
LSU(链路状态更新)数据包用于回复LSR和通告新信息。
LSAck数据包
路由器收到LSU数据包后,会发送一个链路状态确认(LSAck)数据包来确认接收到了LSU。
OSPF的网络类型
点到点
点到点(Point-to-Point,P2P)网络是将一对路由器连接起来的网络。当链路层协议是PPP或HDLC时,OSPF的默认网络类型是P2P,这种类型的网络不进行OSPF的DR和BDR选举。
广播多路访问
广播多路访问(Broadcast Multi-Access,BMA)是一个支持广播的网络环境,允许多台设备接入,任意两台设备都可以进行二层通信。当链路层协议是Ethernet和FDDI时,OSPF的默认网络类型是BMA,这种类型的网络要进行OSPF的DR和BDR选举。
非广播多路访问
非广播多路访问(Non-Broadcast Multi-Access,NBMA)允许多台设备接入,但是不具备广播功能。当链路层协议是帧中继、ATM和X.25时,OSPF的默认网络类型是NBMA。在NBMA网络中,也要进行OSPF的DR和BDR选举。
点到多点
没有一种链路层协议会被OSPF默认地认为是点对多点点到多点(Point-to-Multipoint,P2MP)类型,这种网络类型需要管理员手动配置,这种类型的网络不进行OSPF的DR和BDR选举。
OSPF Router ID
OSPFRouter ID用于唯一标识OSPF路由域内的每台路由器。一个RouterID其实就是一个IP地址。RouterID通过以下步骤确定。
使用通过OSPF router-id命令配置的RouterIDIP地址。
如果路由器未配置router-id,路由器会选择其所有环回口的最高IP地址。
如果路由器未配置router-id和环回口,路由器会选择所有活动物理接口的最高IP地址。
DR和BDR的选举
具有最高OSPF接口优先级的路由器当选为DR。
具有第二高OSPF接口优先级的路由器当选为BDR。
如果OSPF接口优先级相等,则取Router ID最高者作为DR。
DR/BDR选举的时间安排
当多路访问网络中第一台启用了OSPF接口的路由器开始工作时,DR和BDR选举过程随即开始。DR一旦选出,将保持DR地位,直到出现下列条件之一为止。
DR发生故障。
DR上的OSPF进程发生故障。
DR上的多路访问接口发生故障。
度量
OSPF度量称为开销(cost),开销与每个路由器接口的输出端关联,接口的开销值通过10的8次幂bit/s(参考带宽,100Mbps)除以以bit/s为单位的默认带宽值计算得到。
配置命令
启用OSPF
Router(config)#router ospfprocess-id
process-id:是一个介于1和65535之间的数字,由网络管理员选定。process-id仅在本地有效,这意味着路由器之间建立邻接关系时无须匹配该值。
通告网络
Router(config-router)#network network-addresswildcard-mask areaarea-id
network-address:接口的网络地址。network命令中的网络地址的接口都将启用,可发送和接收OSPF数据包,此网络(或子网)将被包括在OSPF路由更新中。
wildcard-mask:反掩码和网络地址一起,用于指定network命令启用的接口或接口范围。
area-id:OSPF区域ID。
配置Router ID
Router(config-router)#router-id ip-address
配置环回口
Router(config)#interface loopback number
Router(config-if)#ipaddress ip-addresssubnet-mask
重新加载OSPF进程
Router#clearipospfprocess
DR和BDR选举的控制
Router(config-if)#ipospfpriority value
虚链路的配置
Router(config-router)#area area-idvirtual-link router-id
被动接口的配置
Router(config-router)#passive-interface type number
显示路由器当前配置的路由协议
Router#showip protocols
显示邻居表
Router#showipospf neighbor [detail]
查看接口的OSPF信息
Router#showipospf interface
显示OSPF的Router ID、OSPF定时器、SPF算法的执行次数和LSA信息
Router#showipospf
查看OSPF各类LSA
Router#showipospf database
查看OSPF的虚链路
Router#showipospf virtual-link
三、方案设计
网络拓扑图中,3台路由器R1、R2和R3互联了5个网络,路由器R1有3个非直连网络,路由器R2有2两个非直连网络,路由器R3有3个非直连网络,因为路由器R1、R2和R3没有去往非直连网络的路由,所以网络无法互通。要实现网络的互通,可以在路由器R1、R2和R3配置OSPF。
四、项目实施
单区域OSPF的配置
要求完成单区域OSPF的配置,实现计算机PC1、PC2和PC3互通。
多区域OSPF的配置
要求完成多区域OSPF的配置,实现计算机PC1和PC2互通。
OSPF虚链路的配置
完成多区域OSPF和OSPF虚链路的配置,实现计算机PC1和PC2互通。
不同进程OSPF的配置
要求在路由器R1配置OSPF进程1,在路由器R2配置OSPF进程2,实现计算机PC1和PC2互通。
五、拓展训练
完成路由器接口和计算机IP地址的配置。
完成不同进程多区域OSPF的配置,OSPF进程规划和区域规划按照网络拓扑图中的标注配设置。
完成OSPF虚链路的配置,实现全网互通。
要求业务网段中不出现协议报文。