学习日记Day12:OSPF概述
一、链路状态路由协议。
1.LSA泛洪
众所周知OSPF是基于链路状态的路由协议,运行链路状态路由协议的路由器之间首先会建立一个协议的邻居关系,然后彼此之间开始交互LSA(Link State Advertisement,链路状态通告)。
链路状态通告,可以简单的理解为每台路由器都产生一个描述自己直连接口状态(包括接口的开销、与邻居路由器之间的关系等)的通告。下面的信息是一台运行了OSPF的路由器描述自己的LSA。
[R1]dis ospf lsdb router 1.1.1.1
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.1
Link State Database
Type : Router
Ls id : 1.1.1.1
Adv rtr : 1.1.1.1
Ls age : 6
Len : 48
Options : E
seq# : 80000005
chksum : 0x31ce
Link count: 2
* Link ID: 2.2.2.2 点到点链路上的邻居的router id
Data : 10.1.12.1 与邻居相连的接口的地址
Link Type: P-2-P 链路类型的点到点
Metric : 1 到邻居的开销
* Link ID: 10.1.12.0 直连的网络号
Data : 255.255.255.0 掩码信息
Link Type: StubNet 描述直连路由信息
Metric : 1 自身到直连网络的ospf cost
Priority : Low
像这样的LSA将会在整个链路中泛洪,这样每个路由器都会清楚整个链路的状态,清楚的知道整个网络的拓扑结构。
2.LSDB的组建。
每台路由器都会产生LSA,路由器将接收到的LSA放入自己的LSDB(Link State DataBase,链路状态数据库)。路由器通过LSDB,掌握了全网的拓扑。
路由器将LSA存放在LSDB中,LSDB汇总了网络中路由器对于自己接口的描述,LSDB包含全网拓扑的描述,所以上图的路由器的LSDB最终将一致。
3.SPF计算。
每台路由器基于LSDB,使用SPF(Shortest Path First,最短路径优先)算法进行计算。每台路由器都计算出一棵以自己为根的、无环的、拥有最短路径的“树”。有了这棵“树”,路由器就已经知道了到达网络各个角落的优选路径。
SPF是OSPF路由协议的一个核心算法,用来在一个复杂的网络中做出路由优选的决策。
4.路由表的生成。
最后,路由器将计算出来的优选路径,加载进自己的路由表(Routing Table)。
链路状态路由协议可以总结为四个步骤:第一步是建立相邻路由器之间的邻居关系;第二步是邻居之间交互链路状态信息和同步LSDB;第三步是进行优选路径计算;第四步是根据最短路径树生成路由表项加载到路由表。
二、OSPF的基础术语。
1.区域(Area)。
OSPF Area用于标识一个OSPF的区域,区域是从逻辑上将设备划分为不同的组,每个组用区域号(Area ID)来标识。
2.Router-ID。
Router-ID(Router Identifier,路由器标识符),用于在一个OSPF域中唯一地标识一台路由器。Router-ID的格式是点分十进制,长度为32bit。
Router-ID的设定可以通过手工配置的方式,或使用系统自动配置的方式。手工配置优于自动配置。在默认的情况下,路由器会使用配置的第一个IP地址作为自己的全局Router-ID,管理员也可以手动配置全局Router-ID。
OSPF Router-ID 如果管理员没有手动配置则默认使用全局Router-ID作为OSPF的Router-ID,如果管理员配置了Router-ID,则优先使用。在实际项目中,通常会通过手工配置方式为设备指定OSPF Router-ID。请注意必须保证在OSPF域中任意两台设备的Router-ID都不相同。通常的做法是将Router-ID配置为与该设备某个接口(通常为Loopback接口)的IP地址一致。
3.度量值(cost)。
OSPF使用Cost(开销)作为路由的度量值。每一个**了OSPF的接口(加入到OSPF进程的接口)都会维护一个接口Cost值,缺省时接口Cost值="100 Mbit/s " /“接口带宽” 。
值得注意的是上面的计算公式如果计算结果为小数,默认cost都为默认取整数部分,如果计算结果小于1,结果取1(接口带宽大于100Mbit/s)。其中100 "Mbit/s"为OSPF指定的缺省参考值,该值是可配置的。
全网参考带宽值应该保持一致。因为若是不同可能会导致数据发送和接收的来回路径不一致。 另外管理员还可以直接在接口处修改cost。管理员直接接口修改cost优于公式计算。
OSPF的网络开销值 = 所经过链路出接口cost + 目的网络链路出接口cost,笼统地说,一条OSPF路由的Cost值可以理解为是从目的网段到本路由器沿途所有入接口的Cost值累加。
上一篇: Kettle 使用问题集
推荐阅读