1.1 ospf简介
OSPF协议(Open Shortest Path First,开放最短路径优先)是一种基于链路状态的动态路由协议,使用Dijkstra的最短路径优先算法SPF在单一的自治系统(Autonomous System,简称AS)内计算路由。
OSPF协议由IETF开发,主要用于解决距离矢量路由存在的收敛慢、易形成环路的问题,适用于大中型网络。 目前实现的OSPF版本2,遵循RFC2328,并且支持其它相关RFC定义的OSPF扩展功能。
在OSPF协议中,每台设备都维持一个描述AS网络的链路状态数据库,同一区域内设备的数据库相同,数据库完全同步之后,每台设备以自己为根,使用SPF算法计算出一个无环路的最短路径树,来描述它所知道的到达每一个目的地的最短路径,最后每台设备再从SPF树中构建出自己的路由表。
OSPF主要特性有:
l 快速收敛:在网络的拓扑结构发生变化后立即发送更新报文,并使这一变化在自治系统中同步;
l 无自环:OSPF根据链路状态数据库运行SPF计算路由,从算法本身保证了不会形成路由环路;
l 划分区域:OSPF允许自治系统划分为多个区域,从而减少了网络带宽的占用,并使得构建层次化的网络成为可能;
l 支持认证:OSPF设备每接收一个路由协议包,都会验证该包中的认证信息,以防止信息外泄或网络中的恶意攻击;
l 支持不同长度的子网:OSPF通告的路由中携带网络掩码,以支持不同长度的子网;
l 支持负载均衡:支持到同一目的地址的多条等价路由。
二、ospf功能配置1(Cisco系)
2.1 ospf功能配置
2.1.1 配置ospf基本功能
在OSPF的各项配置任务中,必须先使能OSPF协议,其它功能特性的配置才能生效。
放置条件
在配置OSPF基本功能之前,首先完成以下任务:
l 配置链路层协议,保证链路层通信正常;
l 配置接口的IP地址,使各相邻节点网络层可达。
使能OSPF协议
启用OSPF功能,需先创建OSPF进程,指定该进程所关联的网络地址范围以及该地址范围所属的区域; 如果某个接口IP地址在某个区域的网段内,则该接口属于这个区域并使能了OSPF功能,OSPF将把这个接口的直连路由通告出去。
运行OSPF协议的设备,必须存在Router ID,用于在一个OSPF自治系统内唯一的标识一台设备。 需要保证自治系统内Router ID的唯一性,否则会影响邻居建立和路由学习。 可在创建OSPF进程时指定Router ID,若没有指定Router ID,则根据以下规则进行选举:
l 首先从Loopback接口的IP地址中选择最大的作为Router ID;
l 若没有配置IP地址的Loopback接口,则从其它接口的IP地址中选择最大的作为Router ID;
l 只有接口处于UP状态时,该接口地址才可能被选作Router ID。
OSPF支持多进程,使用进程号标识一个进程,不同进程间相互独立,互不影响。
下图 使能OSPF协议
2.2.2 配置ospf区域
为了减少大量数据库信息对CPU和内存的占用,将OSPF自治系统划分多个区域。 区域通过32位的区域ID来标识,可以用0~4294967295范围的十进制数或者0.0.0.0~255.255.255.255范围的IP地址表示。 区域0或0.0.0.0表示OSPF骨干区域,其它非0区域为非骨干区域。 所有的区域间路由信息都需要通过骨干区域进行转发,非骨干区域之间不能直接交换路由信息。
OSPF中定义了几种类型的路由器:
l 内部路由器(Internal Router):所有接口都属于一个区域的设备;
l 区域边界路由器(Area Border Router,简称ABR):连接到多个区域的设备;
l 自治系统边界路由器(Automonous System Boundary Router,简称ASBR):为OSPF自治系统引入外部路由的设备。
配置条件
在配置OSPF区域前,首先完成以下任务:
l 配置接口的IP地址,使相邻节点网络层可达;
l 使能OSPF协议。
配置OSPF NSSA区域
非完全存根区域(Not-So-Stub-Area,简称NSSA)内不允许Type-5 LSA注入,但允许Type-7 LSA注入。通过配置重分发向NSSA区域引入外部路由,NSSA区域的ASBR生成Type-7 LSA,并泛洪到该NSSA区域。NSSA区域的ABR会将Type-7 LSA转换为Type-5 LSA,并把这些转换的Type-5 LSA泛洪到整个自治系统。
通过命令area area-id nssa no-summary配置的OSPF NSSA区域,称为完全NSSA区域。OSPF完全NSSA区域禁止区域间路由在该区域内泛洪,此时ABR会生成一条默认路由,并泛洪到NSSA区域内,NSSA区域内的设备将通过这条默认路由访问区域外的网络。
下图 配置OSPF NSSA区域
配置OSPF Stub区域
存根区域(Stub)不允许AS外部路由在该区域内泛洪,以减少链路状态数据库的大小。配置区域为Stub后,位于Stub边界的ABR产生一条默认路由,并泛洪到该Stub区域内,Stub区域内的设备将通过这条默认路由访问自治系统外的网络。
通过命令area area-id stub no-summary配置的OSPF Stub区域,称为完全Stub区域。OSPF完全Stub区域禁止区域间路由、外部路由在该区域内泛洪,区域内的设备将通过默认路由访问该区域外以及OSPF自治系统外的网络。
下图 配置OSPF Stub区域
配置ospf 虚链接
OSPF中非骨干区域间必须通过骨干区域来完成数据库的同步和数据的交互。因此,要求所有的非骨干区域必须和骨干区域保持连通。
当某些情况不能满足该要求时,可通过配置虚链接来解决这个问题。配置虚链接后,可以为该虚链接配置认证方式、修改Hello时间间隔等,这些参数的含义与一般OSPF接口参数的含义一致。
下图 配置OSPF虚链接
2.2.3 配置OSPF网络类型
OSPF根据链路协议类型将网络划分为四种类型:
l 广播网络(Broadcast Networks)——链路协议是Ethernet、FDDI时,OSPF缺省网络类型为广播;
l P2P(Point To Point Network)——当链路协议是PPP、LAPB、HDLC时,OSPF缺省网络类型为P2P;
l NBMA网络(Non-Broadcast Multi-Access Network)——当链路协议是ATM、帧中继或X.25时,OSPF缺省网络类型是NBMA;
l P2MP(Point To Multi-Point Network)——没有一种链路协议会被OSPF缺省认为是P2MP类型,通常将不是全联通的NBMA网络配置为OSPF P2MP网络。
可根据需要,修改OSPF接口的网络类型。 建立OSPF邻居的接口网络类型需要一致,否则将影响路由的正常学习。
配置条件
在配置OSPF网络类型前,首先完成以下任务:
l 配置接口的IP地址,使相邻节点网络层可达;
l 使能OSPF协议。
配置OSPF接口网络类型为广播
广播网络支持多台(两个以上)设备,这些设备都有能力与网络上的所有设备交互信息。 OSPF使用Hello报文动态的发现邻居。
下图 配置OSPF接口网络类型为广播
配置OSPF接口网络类型为P2P
点到点网络,即由两台设备组成的网络,每台设备在点到点链路的一端。 OSPF使用Hello报文动态的发现邻居。
下图 配置OSPF接口网络类型为P2P
配置OSPF接口网络类型为NBMA
NBMA网络支持多台(两个以上)设备,但是没有广播能力,需要手动指定邻居。
下图 配置OSPF接口网络类型为NBMA
配置OSPF接口网络类型为P2MP
当NBMA不是全连通时,可配置网络类型为P2MP,节省网络开销。 配置网络类型为P2MP单播时,需手动指定邻居。
下图 配置OSPF接口网络类型为P2MP
努力拼搏,让雄心与智慧在十一月闪光!