OSPF
路由优先级缺省:
OSPF内部:10
静态:60
OSPF外部(O_ASE):150
BGP:255
OSPF基本概念与特点
Open Shortest Path First,基于SPF算法的链路状态的内部网关协议
适应范围广:支持各种规模的网络,最多可支持几百台路由器。
快速收敛:在网络的拓扑结构发生变化后立即发送更新报文,使这一变化在自治系统中同步。
无自环:由于OSPF根据收集到的链路状态用最短路径树算法计算路由,从算法本身保证了不会生成自环路由。
区域划分:允许自治系统的网络被划分成区域来管理。路由器链路状态数据库的减小降低了内存的消耗和CPU的负担;区域间传送路由信息的减少降低了网络带宽的占用。
等价路由:支持到同一目的地址的多条等价路由。
路由分级:使用4类不同的路由,按优先顺序来说分别是:区域内路由、区域间路由、第一类外部路由、第二类外部路由。
支持验证:支持基于区域和接口的报文验证,以保证报文交互和路由计算的安全性。
组播发送:在某些类型的链路上以组播地址发送协议报文,减少对其他设备的干扰。
OSPF报文类型(IP协议,89)
OSPF报文头部信息,所有的OSPF报文使用相同的OSPF报文头部。
Version :OSPF协议号,应当被设置成2。
Type:OSPF报文类型,OSPF共有五种报文。
Packet length:OSPF报文总长度,包括报文头部。单位是字节。
Router ID:生成此报文的路由器的Router ID。
Area ID:此报文需要被通告到的区域。
Checksum:是指一个对整个数据包(包括包头)的标准IP校验和。
AuType:验证此报文所应当使用的验证方法。
Authentication:验证此报文时所需要的密码等信息。
1. Hello报文
周期性发送,用来发现和维持OSPF邻居关系,以及进行DR(Designated Router,指定路由器)/BDR(Backup Designated Router,备份指定路由器)的选举。
² Network Mask:发送Hello报文的接口的网络掩码。
² HelloInterval:发送Hello报文的时间间隔。单位为秒(缺省P2P、Broadcast类型接口发送Hello报文的时间间隔为10秒,P2MP、NBMA类型接口发送Hello报文的时间间隔为30秒)。
² Options:标识发送此报文的OSPF路由器所支持的可选功能。主要为E位,是否洪泛AS-external-LSA,N/P位,处理7类LSA(详见RFC 2382附录A.2)
² Rtr Pri:发送Hello报文的接口的Router Priority,用于选举DR和BDR。
² RouterDeadInterval:宣告邻居路由器不继续在该网段上运行OSPF的时间间隔,单位为秒,通常为四倍HelloInterval。
² Designated Router:发送Hello报文的路由器所选举出的DR的IP地址。如果设置为0.0.0.0,表示未选举DR
² Backup Designated Router:发送Hello报文的路由器所选举出的BDR的IP地址。如果设置为0.0.0.0,表示未选举BDR路由器。
² Neighbor:邻居路由器的Router ID列表。表示本路由器已经从该邻居收到合法的Hello报文。
NBMA或广播网络才有DR/BDR字段,其余类型该字段值为0
2. DD(Database Description,数据库描述)报文
描述了本地LSDB(Link State DataBase,链路状态数据库)中每一条LSA(Link State Advertisement,链路状态通告)的摘要信息,用于两台路由器进行数据库同步。
² 接口MTU:是指在数据包不分段的情况下,始发路由器接口可以发送的最大IP数据包大小。当在虚连接时,该在段为0x0000。
² Option:同hello报文。
² I位:当发送的是一系列DD报文中的第一个数据包时,该为置位为1。后续的DD报文将该位置位0。
² M位:当发送的数据包还不是一个系列DD报文中的最后一个数据包时,该为置为1。如果是最后一个DD报文,则将该为置为0。
² MS位:在数据库同步中,主要用来确认协商过程中的序列号。
² DD Sequence Number:DD的序列号报文。
² LSA头部信息。
DD初始交互时(exstart)没有携带LSA头部信息
3. LSR(Link State Request,链路状态请求)报文
向对方请求所需的LSA。两台路由器互相交换DD报文之后,得知对端的路由器有哪些LSA是本地的LSDB所缺少的,这时需要发送LSR报文向对方请求所需的LSA。
² Link State Type:用来指明LSA标识是一个路由器LSA、一个网络LSA还是其他类型的LSA。
² Link State ID:不同类型LSA该字段意义不同。
² Advertising Router:始发LSA通告的路由器的路由器ID。
请求的LSA由LSA类型、链路状态标识和通告路由器组成。
LSR的目的IP:P2P类型为224.0.0.5,广播网络/NBMA类型是单播IP。
此时,OSPF刚建立,只请求DD阶段交互的LSA,OSPF FULL后还会update路由信息,但不会有新的LSR。
4. LSU(Link State Update,链路状态更新)报文
向对方发送其所需要的LSA。LSU必须被LSAck确认,可以一个ack包确认多个或者隐式确认(发送相同的LSU,如广播链路DRother发送LSU给DR,DR需要把这个洪泛给其他DRother,该DRother收到LSU后即算确认)