OSPF (Open Shortest Path First)
Interior Gateway Protocol |
Exterior Gateway Protocols |
||||
Distance Vector |
Link-State |
Path Vector |
|||
IPv4 |
RIPv2 |
EIGRP |
OSPFv2 |
IS-IS |
BGP-4 |
IPv6 |
RIPng |
EIGRP for IPv6 |
OSPFv3 |
IS-IS For IPv6 |
BGP-MP |
距离矢量路由协议就像使用路标指明目的地,仅为您提供关于距离和方向的信息。
链路状态路由协议则如同使用地图一样,有了地图,您就可以看到所有潜在的路径并确定自己的首选路径。
Dijkstra 算法通常称为SPF(最短路径优先)算法。SPF会累计每条路径从源到目的地的开销。
链路状态的路由过程:
链路:
对于链路状态路由协议来说,链路是路由器上的一个接口。
链路状态的信息包括:
链路状态路由协议的优点:
链路状态路由协议要求:
OSPF(RFC 1247, 2328, 2740)
OSPF, Anatomy of an Internet Routing Protocol John Moy
IS-IS (ISO 10589)
主要供电信和ISP使用
下面推荐一些资源:
Interconnections, Bridges, Routers, Switches, and Internetworking Protocols(互连、网桥、路由器、交换机和网间协议),Radia Perlman 著
Cisco IP Routing(Cisco IP 路由),Alex Zinin 著
Routing the Internet(Internet 路由),Christian Huitema 著
OSPF消息封装
Hello数据包类型:
OSPF 相邻关系前,必须统一三个值:
LSU 链路状态更新
LSU用于OSPF路由更新。 一个LSU数据可能包含十种类型的LSA。
LSA Type |
Description |
1 |
Router LSA |
2 |
Network LSA |
3 or 4 |
Summary LSA |
5 |
Autonomous System External LSA |
6 |
Multicast OSPF LSA |
7 |
Defined for Not-So-Stubby Areas |
8 |
External Attributes LSA for BGP |
9, 10, 11 |
Opaque LSA |
OSPF度量称为Cost。 RFC 2328 中有下列描述: 开销与每个路由器接口的输出端关联。系统管理员可配置此开销。开销越低,该接口越可能被用于转发数据流量。
OSPF定义了五种网络类型:
多路访问网络对OSPF的LSA泛红过程提出了两项挑战:
解决方案:选举DR 与 BDR
多路访问网络中的路由器会选举出一个 DR 和一个 BDR。DROther 仅与网络中的 DR 和 BDR 建立完全的相邻关系。这意味着 DROther 无需向网络中的所有路由器泛洪 LSA,只需使用组播地址 224.0.0.6(ALLDRouters — 所有 DR 路由器)将其 LSA 发送给 DR 和 BDR 即可。DR 使用组播地址 224.0.0.5(AllSPFRouters — 所有 OSPF 路由器)。最终结果是,多路访问网络中仅有一台路由器负责泛洪所有 LSA。
DR/BDR 选举
DR 和 BDR 是如何选出的呢?选举过程遵循以下条件:
1. DR:具有最高 OSPF 接口优先级的路由器
2. BDR:具有第二高 OSPF 接口优先级的路由器
3. 如果 OSPF 接口优先级相等,则取路由器 ID 最高者。
DR 一旦选出,将保持 DR 地位,直到出现下列条件之一为止:
Ip route 0.0.0.0 0.0.0.0 null0
Route ospf 1
Default-information originate
OSPF 外部路由分为以下两类:第 1 类外部 (E1) 和第 2 类外部 (E2)。两种类型的差异在于路由的 OSPF 开销在每台路由器上的计算方式不同。当 E1 路由在整个 OSPF 区域内传播时,OSPF 会累计路由的开销。此过程与普通 OSPF 内部路由的计算过程相同。然而,E2 路由的开销却始终是外部开销,而与通向该路由的内部开销无关。