OSPF基本概念及单区域配置
1.OSPF协议概述:
内部网关路由协议(IGP)
用于在单一自治系统(Autonomous System-AS)内决策路由。
自治系统(AS):
执行统一路由策略的一组网络设备的组合。
外部网关路由协议(EGP)
用于在多个自治系统之间执行路由。用来连接不同的AS。
2.什么是OSPF协议:
? 链路状态路由协议。
? 内部网关路由协议。
? 具有更快的收敛速度。
? 支持变长子网掩码VLSM。
? 基于带宽来选择最佳路径。
? 使用SPF算法。
3.OSPF的区域:
为了适应大型的网络,OSPF在AS内划分多个区域,每个OSPF路由器只维护所在区域的完整的链路状态信息。
OSPF区域:
传输区域(骨干区域) 2.普通区域(非骨干区域)
骨干区域为区域0,网络区域 ID为 0 或0.0.0.0 时称为主干区域。它用来连接自治系统内部的所有其他区域,用来连接骨干区域和其他区域的路由器叫做区域边界路由器。
4.Router ID:
是在OSPF区域内唯一标识一台路由器的IP地址。
确定 Router ID 遵循如下顺序:
① 最优先的是在 OSPF 进程中用命令“router-id”指定了路由器 ID;
② 如果没有在 OSPF 进程中指定路由器 ID,那么选择 IP 地址最大的环回接口的 IP 地址为 Router ID;
③ 如果没有环回接口,就选择最大的活动的物理接口的 IP地址为 Router ID。
建议用命令“router-id”来指定路由器 ID,这样可控性比较好。
在配置OSPF路由协议的时候配置回环(loopback)接口是很重要的1件事.Cisco建议你配置OSPF的时候顺便配置回环接口.所谓回环接口,是逻辑接口而非物理接口,即不是你触摸的到的router上的真正的接口.作用是作为诊断OSPF而用.如果router的某一个接口由于故障down 掉而不可用了,此时你怎么通过telnet来连接并进行管理用呢?所以就引入了回环接口是概念,回环接口永远不会down掉,你就可以通过连上回环接口来进行管理。
OSPF 路由进程 ID 的范围必须在 1-65535 之间,而且只有本地含义,不同路由器的路由进程 ID 可以不同。如果要想启动 OSPF 路由进程,至少确保有一个接口是 up 的;
5.链路状态路由协议中的数据库类型:
1.邻居表 :所有的邻居
2.链路状态数据库(LSDB):网络的地图
3.路由表 :最佳的路由
6.OSPF 的几个术语:
① 链路:链路就是路由器用来连接网络的接口;
② 链路状态:用来描述路由器接口及其与邻居路由器的关系。所有链路状态信息构成
链路状态数据库;
③ 区域:有相同的区域标志的一组路由器和网络的集合。在同一个区域内的路由器有
相同的链路状态数据库;
④ 自治系统:采用同一种路由协议交换路由信息的路由器及其网络构成一个自治系统;
⑤ 链路状态通告(LSA):LSA 用来描述路由器的本地状态,LSA包括的信息有关于路由器接口的状态和所形成的邻接状态;
⑥ 最短路经优先(SPF)算法:是 OSPF路由协议的基础。SPF 算法有时也被称为 Dijkstra 算法,OSPF 路由器利用 SPF,独立地计算出到达任意目的地的最佳路由。
DR和BDR是在广播和非广播的多路访问网络上被推选出来的。
7.由邻居(neighbor)状态到建立相邻(adjacency)关系的过程:
OSPF 的各种状态(OSPF 邻居关系建立的过程)
Down → Init → Two-Way → ExStart → Exchange → Loading → Full Adjacency
hello→发现邻居→确定主从关系→比较数据库→交换数据→确立邻接关系。
Down:没有从邻居处接收到信息,但努力尝试同网络邻居联系.
init:从网络邻居处接收到HELLO包,但路由器本身并没有在该HELLO包中列出.
two-way:同网络邻居建立了双向通讯.
Exstart:用于DBD同步,确定主/辅助路由器、DBD包的第一个序列号.
exchange:路由器通过DBD包描述了整个链路状态数据库,一次发送一个DBD包。也可发 送链路状态请求,以请求新的LSA.
loading :系统发链路状态请求包,以得到更新的LSA(在交换期间没有收到的LSA).
full:所有信息都已交换.
8.相邻(Adjacency)关系建立过程:
邻居发现(Neighbor discovery)
双向通信(Bidirectional communication)
数据库同步(Database synchronization)
�C 数据库描述(Database Description)
�C 链路状态查询(Link State Request)
�C 链路状态更新(Link State Update)
相邻关系建立(Full adjacency)
9.建立邻接关系需满足的条件:
两个路由器之间如果不满足下列条件,则他们就不能成为邻居.
Area-id:两个路由器必须在共同的网段上,它们的端口必须属于该网段上的同一个区,且属于同一个子网.
验证(Authentication OSPF):同一区域路由器必须交换相同的验证密码,才能成为邻居.
Hello Interval和Dead Interval: OSPF协议需要两个邻居路由器的这些时间间隔相同,否则就不能成为邻居路由器。
stub区域标记:两个路由器可以在Hello报文中通过协商Stub区域的标记来成为邻居.
10.OSPF的网络类型:
① boradcast(multi-access):广播型(多路访问)网络.比如以太网,允许多个设备连接,访问相同的网络;而且提供广播的能力.在这样的网络中必须要有1 个DR 和BDR.
② nonbroadcast multi-access(NBMA):这类网络类型有帧中继(Frame Relay),X.25 和异步传输模(Asynchronous Transfer Mode,ATM),这类网络允许多路访问,但是不提供广播能力.
③ point-to-point:点对点网络.一个物理上的串行电路连接或者是逻辑上的,不需要DR和 BDR,邻居是自动发现的.
④ point-to-multipoint:点对多点网络.不需要DR 和BDR .
11.OSPF的DR与BDR:
① 指定路由器(DR)
一个网段上的其他路由器都和指定路由器(DR)构成邻接关系,而不是它们互相之间构成邻接关系.
② 通过Hello报文选择DR和BDR来代表OSPF网段.
③ 其他的路由器(DRothers)只和DR及BDR路由器之间形成邻接关系.
④ 通过组播发送Hello报文.
⑤ 具有最高OSPF优先级的路由器会被选为DR.
⑥ 如果OSPF优先级相同,则具有最高Router ID的路由器会被选为DR.
12.建立邻接关系过程总结:
DR 和BDR 有它们自己的组播地址 224.0.0.6
designated router(DR):多路访问网络中为避免router 间建立完全相邻关系而引起大量开销,OSPF 在区域中选举一个 DR,每个router 都与之建立完全相邻关系.router 用Hello 信息选举一个DR.在广播型网络里Hello 信息使用多播地址 224.0.0.5 周期性广播,并发现邻居.在非广播型多路访问网络中,DR 负责向其他router 逐一发送Hello 信息。
backup designated router(BDR):多路访问网络中DR 的备用router,BDR 从拥有adjacency 关系的router 接收路由更新, 但是不会刷新LSA 更新。
只有DR和BDR才会同其它路由器建立相邻关系。
13.链路状态更新:
DROther将更新的LSA只发送到DR和BDR。
DR负责将更新的LSA转送到所有已建立相邻关系的邻居。
所有的路由器负责将更新的LSA转发到其它的接口。
LSDB储存了路由器收到的所有可用的LSA信息,这些LSA描述了一个区域的详细网络拓扑和区域外的路由信息。
14.Designated Router (DR) / Backup Designated Router(BDR)选举过程:
(存在于multiaccess 网络,点对点和点对多点网络中无此选举过程)
选举过程:
1依次比较hello 包中的端口优先级(priority),路由id。选举结束后,只有DR/BDR 失效才会引起新的选举过程;如果发生DR 故障,则BDR 替补上去;次高优先级router 选为BDR。
2新加入的router 只接受现有的DR/BDR,即使拥有更高优先级,亦不会引起新的选举过程。
3优先级默认值1,范围0 到255,应用于 OSPF 端口。路由id 为loopback 接口(或者up 起来的端口)的最高ip 地址值。建议使用优先级操纵DR/BDR 选举过程。
15.OSPF的包类型:
包类型
描述
Hello
用于邻居路由器之间建立和维护邻接关系.
数据库描述包DBD
描述每台OSPF路由器的链路状态数据库的内容.
链路状态请求包LSR
请求链路状态数据库的部分内容.
链路状态更新包LSU
传送链路状态数据通告LSA给邻居路由器.
链路状态确认包LSAck
确认邻居发过来的LSA已经收到.
16.OSPF的Hello协议:
当路由器上启动OSPF进程时,每台路由器都会间隔一定的时间发送Hello包。
Hello包通过组播地址224.0.0.5发送。
OSPF路由器使用Hello包发起建立邻接关系并监视这种关系的存在和消失。
在广播网或者点对点网上,Hello的发送间隔是10秒;在NBMA网络上,Hello的发送间隔是30秒。
默认时 Dead 间隔是 Hello 间隔的四倍。可以在接口下通过“ip ospf hello-interval”
和“ip ospf dead-interval”命令调整。
17.OSPF协议的操作:
1. 发送hello报文,发现Neighbour(邻居)。
2. Neighbour之间形成Adjacencies(“邻接”,或称“毗邻关系”)。
3. 形成Adjacencies的路由器之间发送LSA(Link State Advertisement)。
4. 收到LSA后放入LSDB(链路状态数据库),发送LSA的拷贝到自己的邻居。
5. 通过在区域内扩散LSA,所有路由器具有一致的LSDB。
6. 在LSDB信息一致后,每个路由器以自己为根运行SPF算法生产最短路径树。
7. 根据最短路径树信息,形成路由表。
18.OSPF的度量方法:
COST= 108/BW
OSPF协议决定最短路径是基于路由器每一个接口指定的代价(cost)来的。
一条路由的代价:是指沿着到达目的网络的路由路径上所有出站接口的代价之和。
19.泛洪(Flooding)过程就是将这些变化的或新的LSA发送到整个网络中去,以确保每一个节点的数据库都可以更新,最终保持所有其他节点的数据库的同一性的过程。
泛洪过程使用两种类型的OSPF报文:
① 链路状态更新报文. ② 链路状态确认报文.
更新报文和确认报文却只在具有邻接关系的两个节点之间传送。
20.OSPF协议把一组通过数据链路相连的路由器看作是一组逻辑上通过邻接关系相连的节点。
21.OSPF区域是一组逻辑上的OSPF路由器。每一个区域都是通过它自己的链路状态数据库来描述的,而且每台路由器也都只需要维护路由器本身所在的区域的链路状态数据库。
22.OSPF路由协议的特点:
① 可适应大规模网络。
② 路由变化收敛速度快。
③ 无路由环路。
④ 支持变长子网掩码VLSM。
⑤ 支持区域划分。
⑥ 支持以组播地址发送协议报。
23.何时需要OSPF路由协议:
① 网络的规模:
网络中的路由器在10台以上;中等或大规模的网络。
② 网络的拓扑结构:
网络的拓扑结构为网状,并且任意两台路由器之间都有互通的需求。
③ 其它特殊的需求:
要求路由变化时能够快速收敛,要求路由协议自身的网络开销尽量降低。
④ 对路由器自身的要求:
运行OSPF协议时,对路由器的CPU的处理能力及内存的大小都有一定的要求,性能很低的路由器不推荐使用OSPF协议。
24.OSPF与RIP的比较:
OSPF
RIP V1
RIP V2
链路状态路由协议
距离矢量路由协议
没有跳数的限制
RIP的15跳限制,超过15跳的路由被认为不可达
支持可变长子网掩码(VLSM)
不支持可变长子网掩码(VLSM)
支持可变长子网掩码(VLSM)
收敛速度快
收敛速度慢
使用组播发送链路状态更新,在链路状态变化时使用触发更新,提高了带宽的利用率
周期性广播整个路由表,在低速链路及广域网中应用将产生很大问题
25. 环回接口 OSPF 路由条目的掩码长度都是 32 位,这是环回接口的特性,尽管通告了24 位,解决的办法是在环回接口下修改网络类型为“Point-to-Point”,操作如下:
R2(config)#interface loopback 0
R2(config-if)#ip ospf network point-to-point
这样收到的路由条目的掩码长度和通告的一致。
26.配置OSPF的2个要素:
1.启用OSPF
2.配置OSPF的区域.
27.如果通告的是接口地址,则反码应为0.0.0.0
如果网络号属于骨干区域。则Area-id的值必须是0
28.OSPF的单区域配置:
配置路由器ip和回环接口的ip地址
启动OSPF进程
router(config)#router ospf 进程号
指定OSPF协议运行的接口和所在的区域
Router(config-router)#network 网络号 反向掩码 area 区域号
29.常用的OSPF检查命令:
查看邻接信息表
Router#show ip ospf neighbor
查看路由表:
router#show ip route
查看链路状态数据库:
router#show ip ospf database
查看接口数据结构:
router#show ip ospf interface 接口
查看OSPF的配置
Router#show ip ospf
查看接口状态
routerA#show ip interface brief
实验拓扑:
实验步骤:
首先配置三个路由器R1、R2、R3的LOOPBACK口的地址以及与交换机连接的端口的IP地址,注意在配置完成后,查看一下配置的是否正确以及端口是否开启
打开交换机的端口
在R1、R2、R3上配置OSPF,并且宣告他们的环回口地址及其端口IP地址
配置完成后,SHOW IP ROUTE,查看路由表,验证它们之间的学习情况,注意它们的管理距离110
查看它们的邻接关系
在邻接关系中,会看到DR为192.168.31.11,BDR为192.168.31.22,这与我们所说的选择环回口IP地址大的为DR有一些出入,这个好像跟小凡有关系,如果我们先配置R3的环回口地址192.168.31.33,这样DR就为192.168.31.33了。
实验完成了,OSPF的单区域配置还是比较简单的,但是需要理解的地方很多,特别是理论的地方。
宿舍断网了,今天终于能上了,才发现离开网络的日子真难熬啊,呵呵....