OSPF报文
OSPF协议报文直接封装为IP报文,协议号为89 。
OSPF有五种类型的协议报文 :
1. Hello 报文:周期性发送,用来发现和维持OSPF邻居关系 ,以及进行DR(DesignatedRouter,指定路由器)BDR(Backup Designated Router,备份指定路由器)的选举。
2. DD(Database Description,数据库描述)报文:描述了本地LSDB(Link State DataBase,链路状态数据库)中每一条LSA(Link State Advertisement,链路状态通告)的摘要信息,用于两台路由器进行数据库同步。
3. LSR(Link State Request,链路状态请求)报文:向对方请求所需的LSA。两台路由器互相交换DD报文之后,得知对端的路由器有哪些LSA是本地的LSDB所缺少的,这时需要发送LSR报文向对方请求所需的LSA。
4. LSU(Link State Update,链路状态更新)报文:向对方发送其所需要的LSA。
5. LSACK(Link State Acknowledgment,链路状态确认)报文:用来对收到的LSA进行确认。
LSA类型
OSPF中对链路状态信息的描述都是封装在LSA中发布出去。
常用的LSA有以下几种类型:
1. Router LSA(Type-1):由每个路由器产生,描述路由器的链路状态和开销,在其始发的区域内传播。
2. Network LSA(Type-2):由DR产生,描述本网段所有路由器的链路状态,在其始发的区域内传播。
3. Network Summary LSA(Type-3):由ABR(Area Border Router,区域边界路由器)产生,描述区域内某个网段的路由,并通告给其他区域。
4. ASBR Summary LSA(Type-4):由ABR产生,描述到ASBR(AutonomousSystem Boundary Router,自治系统柜边界路由器)的路由,通告给相关区域。
5. AS External LSA(Type-5):由ASBR产生,描述到AS(AutonomousSystem,自治系统)外部的路由,通告到所有的区域(除了stub区域和NSSA区域)。
6. NSSA External LSA(Type-6):由NSSA区域内的ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。
7. Opaque LSA:用于ospf的扩展通用机制,目前有Type-9,Type-10和Type-11三种。
其中,Type-9 LSA仅在本地链路范围进行泛洪,用于支持GR的Grace LSA就是Type-9的一种类型;Type-10 LSA仅在区域范围进行泛洪,用于支持MPLS TE的LSA就是Type-10的一种类型;Type-11LSA可以在一个自治系统范围进行泛洪。
OSPF区域
1.区域的边界是路由器,而不是链路
一个路由器可以属于不同区域,但是一个网段(链路)只能属于一个区域,或者说每个运行OSPF的接口必须指明属于哪一个区域。划分区域后,可以在区域边界路由器上进行路由聚合,以减少通告到其他区域的LSA数量,还可以将网络拓扑变化带来的影响最小化。
2.骨干区域与虚连接
(1)骨干区域 OSPF划分区域之后,并非所有的区域都是平等的关系。其中由于各区域是与众不同的,它的区域号是0,通常被称为骨干区域。骨干区域负责区域之间的路由,非骨干区域之前的路由信息必须通过骨干区域来转发。
对此,OSPF有两个规定:
所有非骨干区域必须与骨干区域保持连通
骨干区域自身也必须保持连通。
在实际应用中,可能会因为各方面条件的限制,无法满足上面的要求,这时可以通过配置OSPF虚连接予以解决。
(2)虚连接是指两台ABR之间通过一个非骨干区域而建立一条逻辑上的连接通道。它的两端必须是ABR,而且必须在两端同时配置方可生效。为虚连接两端提供一条非骨干区域内部路由的区域称为传输区。
3.STUB区域和Totally stub区域
STUB区域是一些特定的区域。该区域的ABR会将区域间的路由信息传递到本区域,但不会引入自治系统外部路由,区域中路由器的路由表规模以及LSA数量都会大大减少。为保证到自治系统外的路由依旧可达,该区域的ABR将生成一条缺省路由Type-3LSA,发布给本区域中的其他非ABR路由器。
为了进一步减少STUB区域中路由器的路由表规模以及LSA数量,可以将区域配置为Totally stub区域,该区域的ABR不会将区域间的路由信息和自治系统外部路由信息传递到本区域。为保证到本自治系统的其他区域和自治系统外的路由依旧可达,该区域的ABR将生成一条缺省路由Type-3 LSA,发布给本区域中的其他非ABR路由器。
4.NSSA区域和Totally NSSA区域
NSSA区域是STUB区域的变形,与STUB区域的区别在于NSSA区域允许引入自治系统外部路由,由ASBR发布Type-7LSA通告给本区域。当Type-7 LSA到达NSSA的ABR时,由ABR将Type-7LSA转换成Type-5LSA,传播到其他区域。
可以将区域配置为Totally NSSA区域,该区域的ABR不会将区域间的路由信息传递到本区域。为保证到本自治系统的其他区域的路由依旧可达,该区域的ABR将生成一条缺省路由Type-3 LSA,发布给本区域的其他非ABR路由器。