一、OSPF特性:
1.IETF标准:开房协议,被不同厂商设备所支持
2.无环路由协议:执行SPF算法,不会产生环路
3.无类路由协议:支持VLSM和CIDR
4.拥有不受限的跳计数:可以应用与大型网络
5.层次型:容易拓展,路由器负担不会随着网络规模的增大而急剧增加
6.区域化设计:减少路由更新的流量,降低内存、cpu和带宽的使用
7.快速收敛:触发式更新
8.支持验证:支持对区域和链路的验证
二、OSPF术语
1.链路(link):接口被加入到OSPF进程中就被认为是OSPF的一个链路
2.链路状态(link-state):包括IP地址和子网掩码、接口的网络类型、链路花费、链路上的邻居
3.路由器ID(router id 即RID):①手工指定 ②换回接口中最高IP地址 ③所有激活的屋里接口中最高的IP地址
4.邻居(neighbor):连接在一个公共的网络上
5.邻接(adjacency):OSPF只与建立了邻接关系的邻居共享路由信息 但①不是所有的邻居都可以成为邻接关系 ②并不是有邻接关系的路由器都是邻居(虚电路)
6.区域(area):OSPF以链路划分区域来实现分层设计。同一个AS(自治系统)内的路由器被划分在多个区域,跨越多个区域的路由器成为ABR(区域边界路由器)。Area 0 为骨干区域
7.指定路由器(designated router 即DR):所有的DROther路由器都与DR和BDR建立邻接关系,DR代表该多路访问网络中的所有路由器,每台路由器都把拓扑变化发往DR和BRD,然后由DR通知该多路访问网络中的其他路由器
8.备用的指定路由器(backup designated router 即BDR):当DR因故离线时,BRD转变成DR,接替DR的工作
9.花费(cost):OSPF使用的唯一度量值就是花费。每条链路都有一个花费,可根据链路的带宽计算而来,也可以人为修改
三、OSPF包类型
1.hello
①建立和维护OSPF路由器间的邻接关系 ②再多路访问网络中选择DR和DBR
2.DBD(database description,数据库状态描述包)
发送LSDB的简短描述,对比接收路由器和本地的LSDB,检测LADB是否同步
3.LSR(link-state request,链路状态请求包)
接收路由器可以发送LSR来请求发送路由器DBD中的某些条目的详细信息
4.LSU(link-state update,链路状态更新包)
更新OSPF路由信息,回复LSR请求。
LSU被分成多种类型的LSA(link-state advertisement,链路状态通告),如:类型1——router LSA;类型2——network LSA
5.LSAck(link-state Acknowledgement,链路状态确认)
当一个LSU被收到时,路由器发送LSAck进行确认
四、OSPF邻居关系建立阶段
1.down:初始状态,没有任何交换信息
2.init:初始化阶段,收到了邻居的hello报文,但邻居还没发现自己
3.two-way:双向阶段,建立了邻居关系,但不能共享路由信息
4.exstart:准备开始交换阶段,用hello分组来协商路由器的主/从关系
5.exchange:开始交换阶段,将本地的LSDB用DBD报文来描述,发送给邻居
6.loading:加载阶段,发送LSR报文向邻居请求对方的路由条目的详细信息
7.full:完全邻接状态,路由器变成full adjacency
五、配置解析
1.OSPF进程号(process-id),取值范围1-65535,仅具有本地意义,与同一个区域中的OSPF路由器进程号没有关系,进程号不同不影响连接关系的建立
2.EIGRP的AS号,则必须相同,才能交互路由信息
3.一台路由器的不同接口可以属于多个OSPF区域,相邻路由器的接口要在同一个区域内才能建立邻接关系
4.如果一台路由器的所有接口都运行OSPF,,可以节约时间使用简化的配置写法:network 0.0.0.0 0.0.0.0 area 0 。但show run时,会发现命令被自动修改为:network 0.0.0.0 255.255.255.255 area 0。
5.OSPF中,所有环回接口都自动宣告成32为的主机路由,而忽略接口实际的子网掩码,如果想显示环回接口的真实子网掩码,可使用:
int lo0
ip ospf network point-to-print
6.接口优先级主要用于DR和BDR的选举,默认是1. 点对点链路不需要选举DR和BDR,接口优先级是0,显示“-”。查看接口优先级可用:
7.在同一个区域内的所有OSPF路由器的拓扑数据库都是一样的
8.所有的DROther路由器由于DR和BDR建立邻接关系,DROther路由器之间停留在two-way状态,路由器邻接关系的减少,可以加速网络的收敛
9.224.0.0.5是DROther路由器的组播地址;224.0.0.6是DR和BDR的组播地址
10.广播型多路访问的网络有以太网、令牌环和FDDI;非广播型多路访问的网络有帧中继、X.25和SMDS
11.点对点(PPP或HDLC封装)或点对多点(由管理员手工配置)的网络中不需要选举DR和BDR
12.手工配置了RID以后,要是配置生效,需要重启路由器或者重启OSPF进程。
reload 重启路由器
clear ip ospf process 重启OSPF进程
13.OSPF路由器的Router ID 可以是一个并不存在的IP地址,更不需要路由可达,仅仅标识路由器的名字,不用于路径的寻址
14.优先使用环回接口作为RID,是因为换回接口比物理接口更稳定,除非手工关闭接口,否则只要路由器正常运行,环回接口就一直有效
15.DR和BDR的选择规则:① 接口优先级最高的路由器选为DR,次高的选为BDR ②接口优先级相同时,Router ID最高的路由器被选为DR或BDR ③除DR和BDR之外的路由器称为DROther
16.OSPF为了保障网络的相对稳定性,DR和BDR的选举没有采用抢占机制,根据选择规则选举DR、BDR和DROther
17.事实上,按照启动OSPF进程的顺序,最先启动的将会成为DR,其次的成为BDR,最后的成为DROther
18.有一种让路由器永远是DR的方法,那就是把网络中其他的路由器接口的优先级都设成0。优先级0表示该接口不参与DR和BDR的选举
int f0/0
ip ospf priority 0
19.DR和BDR的选举是基于接口的,而不是基于路由器的。一台路由器可能是某一个网段的DR,也可能同时是另一个网段的BDR,还可能是第三个网段的DROther
20.OSPF的度量值(即花费cost)的计算公式:
Cost = 100Mb/s / 实际的链路带宽
Cost结果小于1的,取最小非零整数1
show int f0/0 内容中的 BW 8000000 Kbit 即为带宽
show ip ospf int f0/0 内容中的 Cost:1 即为花费值
auto-cost reference-bandwidth 10000 参考带宽改成1000Mb/s
21.若要区分100Mb/s、1000Mb/s和10000Mb/s链路,可以使用10000Mb/s作为参考带宽:
auto-cost reference-bandwidth 10000 参考带宽改成1000Mb/s