路由协议与交换技术(三)
OSPF:
OSPF是一种典型的链路状态路由协议,启用OSPF协议的路由器彼此交换并保存整个网络的链路信息,通过SPF(最短路径优先)算法计算到达每个网络的最佳路由。OSPF作为一种内部网关协议,其网关和路由器都在同一个自治系统内部,用于在同一个自治域(AS)中的路由器之间发布路由信息。当到达同一目的网络的路由器存在多条相同代价的路由时,OSPF能够在多条路由上分配流量,实现负载均衡。
OSPF特征:
- 支持大型网络,路由收敛快,占用网络资源少
- 无路由环路
- 支持VLSM和CIDR
- 支持等价路由
- 支持区域划分,构成结构化的网络,提供路由分级管理
OSPF:
OSPF封装在IP包中,协议号89。
OSPF路由协议维护3张表:邻居表,拓扑表,路由表。路由器通过发送hello包将与其物理直连且同样运行OSPF路由协议的路由器作为邻居放在邻居表中。当路由器建立邻居表之后,运行OSPF路由协议的路由器会互相通告自己的网络拓扑从而建立拓扑表,。在一个区域内,一旦收敛,所有路由器就具有相同的拓扑表。当完整的拓扑表建立起来,路由器便会按照链路带宽的不同,使用SPF算法从拓扑表中选出最佳路由,放在路由表中。
区域,OSPF引入分层路由的概念,将网络分割成一个主干连接的一组相互独立的部分,这些独立的部分被称为区域。多区域的OSPF必须存在一个主干区域(Area0),主干区域负责收集非主干区域发出的汇总路由信息,并将这些信息返回各区域,同一区域链路状态数据库保持同步。区域的好处:1.减少路由更新。2.加速收敛。3.将不稳定限制在一个区域内。4.提高网络性能。
OSPF形成邻居的条件,路由器直连且同样运行OSPF协议。
OSPF路由id选择方法:1.手动配置的路由id。2.最大的loopback接口地址。3.物理接口最大ip。
OSPF网络类型:
- 广播多路访问型(BMA)网络,如以太网,令牌环网,FDDI。选举DR和BDR。涉及IP地址和MAC地址,用ARP实现二层和三层映射。
- 非广播多路访问型(NBMA)网络,如帧中继、X.25、SMDS。选举DR和BDR。网络中允许存在多台路由器,在物理上共享链路,通过二层虚链路建立逻辑上的连接。广播针对每一条虚链路发送,而不是针对全网发送的广播或多播分组,所以其他路由器收不到广播。
- 点到点型(point-to-point)网络,一个网络里仅有两个接口,使用HDLC或PPP封装,不需寻址,地址字段固定为FF,不选举DR和BDR
- 点到多点型(point-to-multipoint)网络,又分为点到多点广播式网络(自动选举DR和BDR)和点到多点非广播式网络(人工配置DR和BDR)
OSPF报文类型:
Hello包:用于发现、建立和维护邻居关系。不需要确认。通过组播224.0.0.5发送,默认更新周期10s,超时时间40s。
DBD(链路状态描述)报文:描述LSDB情况,交换链路状态数据库摘要。
LSR(链路状态请求)报文:请求自身缺少的链路状态信息。可靠传输。显式确认。
LSU(链路状态更新)报文:发送详细的链路状态信息,回应LSR请求。可靠传输。显式确认。
LSAck(链路状态确认)报文:收到LSU后进行确认,发送确认报文。显式确认。
OSPF虚链路:
虚链路(virtual link)是指一条通过一个非主干区域连接到主干区域的链路。应用虚链路的目的和场所:
- 把一个远离主干区域的区域,通过一个能连接到主干区域的非主干区域将其与主干区域连接。
- 通过一个非主干区域连接一个分段的主干区域两边的部分区域。
配置虚链路规则:
- 虚链路必须配置在两台ABR之间,其中一台是主干区域的ABR1,另一台是远离主干区域的ABR2,但ABR1和ABR2都在某一个非主干区域中,这样的区域又被称为传送区域。
- 配置虚链路的区域必须拥有全部的路由选择信息。
- 传送区域不能是一个末梢区域
OSPF中LSA类型:
-
路由器LSA:始发路由:域内所有的路由器。作用:列出路由器的所有链路或接口。
-
网络LSA:始发路由:DR。作用:列出与之相连的所有路由器,在产生这条网络LSA的区域内部进行泛洪。
-
网络汇总LSA:始发路由:ABR。作用:将发送给网络的另一个区域,用来通告该区域外部的目的地址。
-
ASBR汇总LSA:始发路由:ABR。作用:通告汇总LSA的目的地是一个ASBR。
-
自治系统外部LSA:始发路由:ABR。作用:用来通告到达OSPF自治系统外部的目的地或者到达OSPF自治系统外部的默认路由的LSA。
-
多播OSPF:始发路由:组成员路由器。作用:利用链路状态数据库的信息构造用于多播报文的多播发布树。
-
NSSA外部LSA:始发路由:ASBR。作用:通告仅在始发这个NSSA的非完全存根区域内部进行泛洪。
每种区域内允许泛洪的LSA类型
区域类型 | 1,2 | 3 | 4,5 | 7 |
---|---|---|---|---|
主干区域 | 允许 | 允许 | 允许 | 不允许 |
非主干区域、非存根区域 | 允许 | 允许 | 允许 | 不允许 |
存根区域 | 允许 | 允许 | 不允许 | 不允许 |
完全存根区域 | 允许 | 不允许 | 不允许 | 不允许 |
NSSA | 允许 | 允许 | 不允许 | 允许 |
DR和BDR选举规则:
指定路由器(DR):在接口所连接的个邻居路由器中具有最高优先级的路由器。
备份指定路由器(BDR):在各邻居路由器中具有次高优先级的路由器。
1.首先比较Hello包的优先级,最高的为DR,次高的为BDR,默认优先级都为1。优先级为0,不参加DR/BDR选举。
2.优先级相同时,比较路由ID,路由id大的为DR,次之为BDR。
3.如果已经选举出DR和BDR,即使有优先级更高的路由器加入进来,也不会重新选举。
4.如果DR发生故障,BDR直接成为DR,重新选举新的BDR
OSPF区域类型:
- 标准区域:接收链路更新信息和路由汇总
- 主干区域(传递区域):主干区域是连接各个区域的中心实体,所有其他区域都要连接主干区域交换路由信息,拥有标准区域的所有性质。
- 存根区域(Stub区域):区域内ABR不允许注入自治系统外部LSA,从而大大减少路由表规模。该区域ABR生成一条默认路由,并发布给本区域内非ABR路由器(只出不进)
- 完全存根区域(Totally Stub区域):完全存根区域的的ABR不会将区域间的路由信息和外部自治系统路由信息传递到本区域。
- 不完全存根区域(NSSA):stub区域的变形,不允许自治系统外部LSA注入,允许NSSA外部LSA注入。NSSA外部LSA由NSSA的ABSR产生,在NSSA内传播。