OSPF路由协议原理及配置
协议原理(P147-P159)
OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。
OSPF特点:(P147-148)
(1)OSPF无路由自环问题。
(2)OSPF支持变长子网掩码VLSM。
(3)OSPF支持区域划分、适应大规模网络。
(4)OSPF支持等值路径负载分担(Cisco定义最大6条)。
(5)OSPF支持验证,防止对路由器、路由协议的攻击行为
(6)OSPF路由变化时收敛速度快,可适应大规模网络。
(7)OSPF并不周期性地广播路由表,因此节省了宝贵的带宽资源。
(8)OSPF被直接封装于IP协议之上(使用协议号89),它靠自身的传输机制保证可靠性。
(9)OSPF数据包的TTL值被设为1,即OSPF数据包只能被传送到一跳范围之内的邻居路由器。
(10)OSPF以组播地址发送协议报文(对所有DR/BDR路由器的组播地址:224.0.0.6;
对所有的SPF路由器的组播地址:224.0.0.5)。
OSPF的hello协议
1.Hello协议的目的:
1.用于发现邻居
2.在成为邻居之前,必须对Hello包里的一些参数进行协商
3.Hello包在邻居之间扮演着keepalive的角色
4.允许邻居之间的双向通信
5.用于在NBMA(Nonbroadcast Multi-access)网络上选举DR和BDR
2.Hello 数据包包含以下内容:(P150)
1.网络掩码(Network Mask):发送此Hello包的接口子网掩码。
2.Hello间隔(Hello Interval):发送Hello包的时间间隔(在广播类型和点到点类型网络上是10秒钟,在其他类型网络上是30秒。)
3.路由器优先级(Priority):用于选举DR、BDR。
4.死亡间隔(Dead Interval):在这个时间间隔内如果没有收到邻居的Hello 包,则将邻居从邻居列表中删除。
5.指定路由器(DR):指出本网段指定路由器的路由器ID。
6.备份指定路由器(BDR):指出本网段备份指定路由器的路由器ID。
7.邻居路由器列表:该路由器(发送此Hello数据包的路由器)在此网段上所有的邻居路由器的路由器ID(从这些邻居路由器收到了Hello数据包)。
OSPF的网络类型
OSPF定义的5种网络类型:
1.点到点网络 (point-to-point),由cisco提出的网络类型,自动发现邻居,不选举DR/BDR,hello时间10s。
2.广播型网络 (broadcast),由cisco提出的网络类型,自动发现邻居,选举DR/BDR,hello时间10s。
3.非广播型(NBMA)网络 (non-broadcast),由RFC提出的网络类型,手工配置邻居,选举DR/BDR,hello时间30s。
4.点到多点网络 (point-to-multipoint),由RFC提出,自动发现邻居,不选举DR/BDR,hello时间30s。
5.点到多点非广播,由cisco提出的网络类型,自动发现邻居,选举DR/BDR,hello时间10s。
OSPF邻居关系
邻接关系建立的4个阶段:(P156-P159)
1.邻居发现阶段
2.双向通信阶段:Hello报文都列出了对方的RID,则BC完成.
3.数据库同步阶段:主从协商;DD交换;LSA请求;LSA传播;LSA应答。
4.完全邻接阶段: full adjacency
OSPF区域(P159-P160)
区域长度32位,可以用10进制,也可以类似于IP地址的点分十进制,分3种通信量
1. Intra-Area Traffic:域内间通信量
2. Inter-Area Traffic:域间通信量
3. External Traffic:外部通信量
路由器类型
1. Internal Router:内部路由器
2. ABR(Area Border Router):区域边界路由器
3. Backbone Router(BR):骨干路由器
4. ASBR(Autonomous System Boundary Router):自治系统边界路由器
OSPF协议主要优点:
1、OSPF是真正的LOOP- FREE(无路由自环)路由协议。源自其算法本身的优点。(链路状态及最短路径树算法)
2、OSPF收敛速度快:能够在最短的时间内将路由变化传递到整个自治系统。
3、提出区域(area)划分的概念,将自治系统划分为不同区域后,通过区域之间的对路由信息的摘要,大大减少了需传递的路由信息数量。也使得路由信息不会随网络规模的扩大而急剧膨胀。
4、将协议自身的开销控制到最小。见下:
1)用于发现和维护邻居关系的是定期发送的是不含路由信息的hello报文,非常短小。包含路由信息的报文时是触发更新的机制。(有路由变化时才会发送)。但为了增强协议的健壮性,每1800秒全部重发一次。
2)在广播网络中,使用组播地址(而非广播)发送报文,减少对其它不运行ospf 的网络设备的干扰。
3)在各类可以多址访问的网络中(广播,NBMA),通过选举DR,使同网段的路由器之间的路由交换(同步)次数由 O(N*N)次减少为 O (N)次。
4)提出STUB区域的概念,使得STUB区域内不再传播引入的ASE路由。
5)在ABR(区域边界路由器)上支持路由聚合,进一步减少区域间的路由信息传递。
6)在点到点接口类型中,通过配置按需播号属性(OSPF over On Demand Circuits),使得ospf不再定时发送hello报文及定期更新路由信息。只在网络拓扑真正变化时才发送更新信息。
5、通过严格划分路由的级别(共分四极),提供更可信的路由选择。
6、良好的安全性,ospf支持基于接口的明文及md5 验证。
7、OSPF适应各种规模的网络,最多可达数千台。
配置命令(P160-P178)
1.router ospf
启动OSPF路由协议进程并进入OSPF配置模式。若进程已经启动,则该命令的作用就是进入OSPF配置模式。
2.network address mask area area-id
配置OSPF运行的接口并指定这些接口所在的区域ID。
OSPF路由协议进程将对每一个network配置,搜索落入address mask范围(可以是无类别的网段)的接口,然后将这些接口信息放入OSPF链路状态信息数据库相应的area-id中。
OSPF协议交互的是链路状态信息而不是具体路由信息。OSPF路由是对链路状态信息数据库调用SPF算法计算出来的。
area-id为0的区域为主干区,一个OSPF域内只能有一个主干区。其他区域维护各自的链路状态信息数据库,非0区域之间的链路状态信息交互必须经过主干区。