OSPF(Open Shortest Path First,开放式最短路径优先),它是IETF (Internet Engineering Task Force)组织开发的一个基于链路状态的自治系统内部路由协议。在 IP 网络上,它通过收集和传递自治系统的链路状态来动态地发现并传播路由。
1、OSPF数据包类型
1)Hello包:用于建立和维护相邻的两个OSPF路由器的邻接关系,该数据包时周期性地发送。
2)Database Description(数据包描述包 DBD):用于描述整个数据库,该数据包仅在OSPF初始化时发送。
3)Link state request(链路链路状态请求包LSQ):用于向相邻的OSPF路由器请求部分或全部的数据,这种数据包是在当路由器发现其数据已经过期时才发送的。
4)Link state update(链路状态更新包LSU):这是对link state请求数据包的响应,即通常所说的LSA数据包。
5)Link state acknowledgment(链路状态确认包LSAck):是对LSA数据包的确认,以确保可靠地传输和信息交换。
2、OSPF网络类型
OSPF链路类型有3种:点到点,广播型,NBMA。在3种链路类型上扩展出5种网络类型:点到点,广播,NBMA,点到多点,虚链路。其中虚链路较为特殊,不针对具体链路,而NBMA链路对应NBMA和点到多点两种网络类型。
以上是RFC的定义,在Cisco路由器的实现上,我们应记为3种链路类型扩展出8种网络类型,其中NBMA链路就对应5种,即在RFC的定义基础上又增加了3种类型。首先分析一下3种链路类型的特点:
1)点到点:一个网络里仅有2个接口,使用HDLC或PPP封装,不需寻址,地址字段固定为FF;
2)广播型:广播型多路访问,目前而言指的就是以太网链路,涉及IP 和Mac,用ARP实现二层和三层映射;
3) NBMA:网络中允许存在多台Router,物理上链路共享,通过二层虚链路(VC)建立逻辑上的连接。
NBMA网络不是没有广播的能力,而是广播针对每一条VC发送,这样就使得一台路由器在不是Full-Mesh的NBMA拓扑中,发送的广播或组播分组可能无法到达其他所有路由器。 在点到点链路上运行OSPF没有必要选举DR,因为就是两点一线,简单得很;而在NBMA网络中运行OSPF由于是多路访问,DR可以存在,通过调整成手动发现邻居可以防止过多的Hello 开销。
3、OSPF LSA类型
1类LSA(路由器LSA):每台路由器都通告1类LSA,描述了与路由器直连的所有链路(接口)状态,只能在本区域内扩散;
2类LSA(网络LSA):只有DR才有资格产生,只能在本区域内扩散,描述了多路访问网络的所有路由器(Router ID)和链路的子网掩码;
3类LSA(汇总LSA):只有ABR可以产生,能在整个OSPF自治系统扩散,描述了目的网路的路由(还可能包含汇总路由);
4类LSA(汇总LSA):仅当区域中有ASBR时,ABR才会产生,该LSA标识了ASBR,提供一条前往该ASBR的路由;
5类LSA(外部LSA):只能由ASBR产生,描述了前往OSPF自治系统外的网络的路由,被扩散到整个AS(除各种末节区域外); 7类LSA(用于NSSA的LSA):只能由NSSA ASBR产生,只能出现在NSSA,而NSSA ABR将其转换为5类LSA并扩散到整个OSPF自治系统。
4、OSPF区域类型
标准区域:默认的区域类型,它接收链路更新、汇总路由和外部路由;
骨干区域:骨干区域为Area 0,其他区域都与之相连以交换路由信息,该区域具有标准区域的所有特征;
末节区域:它不接收4类汇总LSA和5类外部LSA,但接收3类汇总LSA,使用默认路由到到AS外部网络(自动生成),该区域不包含ABR(除非ABR也是ASBR); 绝对末节区域:这个是Cisco专用。它不接收3类、4类汇总LSA和5类外部LSA,使用默认路由到AS外部网络(自动生成),该区域不包含ABR(除非ABR也是ASBR); NSSA:它不接收4类汇总LSA和5类外部LSA,但接收3类汇总LSA且可以有ASBR,使用默认路由前往外部网络,默认路由是由与之相连的ABR生成的, 但默认情况下不会生成,要让ABR生成默认路由,可使用命令area area-idnssa default-information-originate; 绝对末节NSSA:这个是Cisco专用。它不接收3类、4类汇总LSA和5类外部LSA且可以有ASBR,使用默认路由到AS外部网络,默认路由是自动生成的。
5、OSPF路由类型
1.区域内路由:所有路由器都计算前往其所有在区域中每个目的地的最佳路径,并将他们加入到路由表中。这些是1类LSA和2类LSA,在路由表中用路由指示符O(OSPF)表示。
2.区域间路由:所有路由器都计算前往互联网络中其他区域的最佳路径。在这些路径是区域间路由(3类和4类LSA),在路由表中用路由指示灯IA(区域间)表示。 3.外部路由:.除末节区域内的路由器外,所有路由器都计算前往外部自治系统中目标网络的最佳路径(5类)。这些路由是1类外部路由(E1)还是2类外部路由(E2)取决于配置。在路由表中,1类外部路由用O E1表示,2类外部路由用O E2表示。类似的还有ON1/ON2,与OE1/OE2相同,不过是来自NSSA区域的路由。
路由聚合是将多条路由合;并成一条路由通常在ABR上实现。虽然路由聚合可以在任意两个区域之间进行,但推荐在往骨干区的方向上进行。这样,骨干区会接收到所有聚合的路由,然后依次将聚合过的路由引入其它区域。路由器有两种路由聚合方法:
Inter-area 路由聚合和External 路由聚合。
1.Inter-area 路由聚合
Inter-area路由聚合在ABR上进行,对来自AS内部的路由其作用。对通过路由重新分发而引入的外部路由不起作用。为了利用路由聚合这个特性;在一个区域中的网络地址应当连续,这些成块的地址可以形成一个范围。为了指定一个地址范围,可以使用下面的命令:area area-id range address mask
“area-id” 是进行路由聚合的区域的号码,“address”、“mask”、“是进行路由聚合后的网络地址范围。
如图1,RTB将128.213.64.0至128.213.95.0 网段聚合成一个网段:128.213.64.0, 掩码为255.255.224.0. 同理,RTC将128.213.96.0 至128.213.127.0 网段聚合成一个网段128.213.96.0,掩码为255.255.224.0.
如果Area 1和Area 2中有重合的网段,那将比较难以聚合,因为聚合后的地址到达Area 0后,它将不知道该网段是来自Area 1, 还是Area 2.
2. External 路由聚合
External 路由聚合是指通过路由重新分发将External 路由引入OSPF区域中。同样,要确保要聚合的External路由的范围是连续的。如果从两个不同的路由器聚合的路由含有相同部分,则在报文转发到目的地址过程中会出错的。External 路由聚合通过在router ospf 配置模式下配置:
summary-address ip-address mask
注意:这个命令仅仅在将External 路由引入OSPF区域的ASBR上起作用。
如图1,RTB将128.213.64.0至128.213.95.0 网段聚合成一个网段:128.213.64.0, 掩码为255.255.224.0. 同理,RTC将128.213.96.0 至128.213.127.0 网段聚合成一个网段128.213.96.0,掩码为255.255.224.0.
假如Area 1和Area 2中有重合的网段,那将比较难以聚合,因为聚合后的地址到达Area 0后,它将不知道该网段是来自Area 1, 还是Area 2。
在RTB上进行如下配置:
RTB#
router ospf
area 1 range 128.213.64.0 255.255.224.0
External 路由聚合是指通过路由重新分发将External 路由引入OSPF区域中。同样,要确保要聚合的External路由的范围是连续的。假如从两个不同的路由器聚合的路由含有相同部分,则在报文转发到目的地址过程中会出错的。External 路由聚合通过在router ospf 配置模式下配置:
在图2中;RTA和RTD通过路由重新分发将External 路由(如RIP)引入OSPF区域中。RTA要引入的路由子网地址为:128.213.64-95, RTD要引入的路由子网地址为:128.213.96-127. 为了将每个路由器上的子网聚合成一个地址范围,我们可以在两个路由器上作如下设置:
RTA#
router ospf
summary-address 128.213.64.0 255.255.240.0
redistribute rip
RTD#
router ospf
summary-address 128.213.96.0 255.255.240.0
redistribute rip
通过路由聚合后,RTA将产生一条External 路由128.213.64.0 255.255.240.0. RTD将产生一条128.213.96.0 255.255.240.0 的External 路由。
注意,Summary-address 命令假如用在RTB上将没有用,因为RTB不执行分发路由到OSPF区域中。
发布者:老王,转转请注明出处:https://u148.cn/83.html