知识1:
OSPF概述
开放式最短路径优先协议(Open Shortest Path First,OSPF)是基于开放标准的发链路状态路由选择协议
1.OSPF是内部网关路由协议
内部网关路由协议(IGP):用于在单一自治系统(Autonomous System-AS)内决策路由
自制系统(AS):执行统一路由策略的一组网络设备的组合
2.OSPF区域
为了适应大型的网络,OSPF在AS内划分多个区域;一定要划分区域0(骨干区域),其他区域必须和区域0相连。
每个OSPF路由器只维护所在区域的完整的链路状态信息
3.链路状态路由协议
OSPF是链路状态路由协议,链路状态路由协议中的路由器了解OSPF网络内的链路状态信息
链路状态路由协议中,直连的路由器之间建立邻接关系,互相“交流”链路信息,来“画”出完整的网络结构
知识2:
Router ID
Router ID 是在OSPF区域内唯一标识一台路由器的IP地址。
Router ID选取规则
§
首先,路由器选取它所有loopback接口上数值最高的IP地址
§
如果没有loopback接口,就在所有物理端口中选取一个数值最高的IP地址
Router ID 不具备强占性,Router ID 只要选定就不会改变,即使是物理接口关闭,Router ID 也不会变,除非重启路由器或进程。
知识3:
OSPF的工作过程
邻居列表
•
列出每台路由器全部已经建立邻接关系的邻居路由器
链路状态数据库(LSDB)
•
列出网络中其他路由器的信息,由此显示了全网的网络拓扑
路由表
•
列出通过SPF算法计算出的到达每个相连网络的最佳路径
知识4
:OSPF邻接关系
邻接关系的建立过程
建立邻接关系的条件
1、Area-id:两个路由器必须在共同的网段上,它们的端口必须属于该网段上的同一个区,且属于同一个子网
2、验证(Authentication OSPF):同一区域路由器必须交换相同的验证密码,才能成为邻居
3、Hello Interval和Dead Interval: OSPF协议需要两个邻居路由器的这些时间间隔相同,否则就不能成为邻居路由器。
4、stub区域标记:两个路由器可以在Hello报文中通过协商Stub区域的标记来成为邻居
知识5:
OSPF的网络接口类型
路由器接口类型不同,在建立邻接关系的时候,OSPF路由器执行的操作也略有不同,所以定义了4种类型,如下
知识6:
OSPF多址网络中的DR与BDR
一个网段上的其他路由器都和指定路由器(DR)构成邻接关系,而不是它们互相之间构成邻接关系
广播多址型网络选DR或BDR在2-way阶段,他们不具备强占性,要想成为DR必须先成为BDR。
DR与BDR的选举
通过Hello报文选择DR和BDR来代表OSPF网段
通过组播发送Hello报文
具有最高OSPF优先级的路由器会被选为DR
如果OSPF优先级相同,则具有最高Router ID的路由器会被选为DR
其他的路由器(DRothers)只和DR及BDR路由器之间形成邻接关系
每台路由器的每一个多点访问的接口都有一个路由器的优先级(Router Priosrity),用一个8位的无符号整数来表示,范围是0—255,数值越大,优先级越高,默认优先级是1,可以通过命令ip ospf priority来更改,具有0优先级的路由器不能成为DR或BDR。
知识7:
OSPF包类型
1.HELLO协议:
当路由器上启动OSPF进程时,每台路由器都会间隔一定的时间发送Hello包
Hello包通过组播地址224.0.0.5发送
OSPF路由器使用Hello包发起建立邻接关系并监视这种关系的存在和消失
在广播网或者点对点网上,Hello的发送间隔是10秒;在NBMA网络上,Hello的发送间隔是30秒
2.Hello报文用于发现和维护邻居关系,并保证邻居间的双向通信。不同类型的网络种,Hello协议的工作方式如下:
多址网络:周期性的组播Hello包,允许邻居的动发现,尝试进行指定路由器DR/备份路由器BDR的选举。
点到多点型网络:发送Hello包给于直连的能通信的全部路由器。
DBD和LSR报文用于建立邻接关系。
LSU和LSAck报文用于实现OSPF可靠的更新机制。
知识8:
OSPF的路由传播
整个OSPF的拓扑图可以描绘成一组互联的路由器或一组互联的节点。为了使这些节点能够在这些逻辑的拓扑上完全的进行路由选择,每一个节点都必须拥有一个关于这个拓扑结构的相同的拓扑图,这个拓扑图就是拓扑数据库,也叫链路状态数据库。这个数据库由路由器可以接收到的所有LSA组成。在拓扑图中发生的一个变化将可以表示为一条或多条LSA的变化。
泛洪(Flooding)过程就是将这些变化或更新的LSA发送到整个网络中去,以保证每一个节点的数据库都可以更新。
泛洪过程将会使用到下面两种类型的OSPF报文
链路状态更新报文(Link State Updatapackets,类型4)
链路状态确认报文(Link State Acknowledgmentpackets,类型5)
在点到点网络中,路由器以组播的方式将更新报文发送到组播地址(224.0.0.5)。在点到多点网络上,路由器是以单播方式将更新报文发送到邻接邻居的接口地址的。
在广播型的网络上,DRouthers路由器只能和DR与BDR路由器形成邻接关系,因此更新报文将发送到组播地址(224.0.0.6),相应,DR路由器也将以组播的方式发送包含LSA的更新包问道网络上与之建立邻接关系的路由器。接着,所有的路由器将从他们所有其他的接口上泛洪LSA通告。
知识9:
OSPF
度量值
OSPF用来度量路径优劣的度量值称为Cost(代价),是指从该接口发送出去的数据报的出站口代价。并用16位无符号的整数表示,范围在1--65535之间。默认代价是
,表示一个整数,BW是指再接口上配置的带宽,而
是Cisco路由器使用的参考带宽。
接口的代价值可以通过命令 ip ospf Cost 来改变
知识10:
OSPF路由协议的应用环境
1.OSPF的使用地方
网络的规模 :网络中的路由器在10台以上;中等或大规模的网络
网络的拓扑结构 :网络的拓扑结构为网状,并且任意两台路由器之间都有互通的需求
其它特殊的需求 :要求路由变化时能够快速收敛,要求路由协议自身的网络开销尽量降低
对路由器自身的要求 :运行OSPF协议时,对路由器的CPU的处理能力及内存的大小都有一定的要求,性能很低的路由器不推荐使用OSPF协议
2.OSPF的特点
可适应大规模网络
路由变化收敛速度快
无路由环
支持变长子网掩码VLSM
支持区域划分
支持以组播地址发送协议报
3.OSPF与RIP的比较
知识11:
OSPF单区域介绍
1.区域ID
是通过一个32为的区域ID(Aera ID)来标识的。
2.相连的路由器接口
指的是连接到区域的路由器的接口。一个路由器的接口属于且仅属于一个区域。
3.路由器链路状态通告列表
区域内的每台路由器产生的链路状态通告,他描述了连接到区域的路由器接口的状态。
4.网络链路状态通告列表
由DR/BDR产生的链路状态通告。用于描述链接到该区域的路由器。
5.汇总链路状态通告列表
由ABR发起的链路状态通告。用于描述区域间的或者达到AS外部的路径信息
6.最短路径树
每台路由器都会以自身作为树的根利用SPF算法来计算到达目的网络的最短路劲。
知识12:配置命令
v
配置loopback接口地址
Router(config)# interface loopback 0
Router(config-if)# ip address IP地址掩码
v
启动OSPF路由进程
Router(config)# router ospf 进程号
v
指定OSPF协议运行的接口和所在的区域
Router(config-router)# network 网络号反向掩码 area 区域号
v
修改接口的Cost值
Router(config-if)#ip ospf cost number
例如:
Router(config)#interface s0
Router(config-if)#ip ospf cost 1000
v
配置OSPF计时器
Router(config-if)#ip ospf hello-interval 时间(s)
Router(config-if)#ip ospf dead-interval 时间(s)
例如:
Router(config)#interface e0
Router(config-if)#ip ospf hello-interval 5
Router(config-if)#ip ospf dead-interval 20
v
查看邻居列表
Router#show ip ospf neighbor
v
查看链路状态数据库
Router#show ip ospf database
v
查看路由表
Router#show ip route
查看OSPF的配置
Router#show ip ospf
v
查看OSPF接口数据结构
Router#show ip ospf interface 接口