OSPF定义:
OSPF(Open Shortest Path First,开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。采用SPF算法进行路径计算,属于链路状态协议。
特征:
建立邻居的使用的是hello包,在hello包里面有一些重要的字段:
以上四个字段是建立邻居的四个条件。
Down:两边都处于“沉默”状态;
Init:一边开始发送hello分组;
2way:两边相互发送hello分组,并且处于“邻居状态”,形成邻居关系后要进行DR/BDR选举;
Exstart:在执行Master/Slave选举;
Exchange:交换DBD分组;
Loading:相互加载对方链路状态信息;
Full:表示数据库达到一致,此时处于"邻接状态".
【邻居状态+链路状态交互==>邻接状态】
指定路由器 (designated router,DR) ——作用:描述多路访问网络及与该网络相连的其他路由器
备份路由器(backup designated router,BDR)——作用:当指定路由器无法正常工作时,备份路由器充当指定路由器
选举DR/BDR的作用是为了减少邻接数目,减小链路消耗。
DR/BDR的选举规则:
OSPF的6种LSA:
LSA种类 | 传播范围 | ADV router | 内容 |
---|---|---|---|
1型(Router-LSA) | 本区域内 | 区域内每台路由器 | 包含本路由器的直连的邻居,以及直连接口的信息 |
2型(network LSA) | 本区域内 | DR | 标识出本MA网中有哪些路由器以及本网的掩码信息 |
3型(summary LSA) | 整个OSPF区域 | 由ABR发出,每穿越一个ABR,其ADV Router就会变成此ABR的Router-id | 包含本区域中的路由信息,包括网络号和掩码 |
4型(Summary ASBR LSA) | 整个OSPF区域 | 由ABR产生并发出,穿越一个ABR,其ADV Router就会变成此ABR的Router-id | 把ASBR的Router-id传播到其他区域,让其他区域的ABR路由器得知ASBR的位置 |
5型(Type-5 AS External Link States) | 整个OSPF区域 | ASBR产生,泛洪到整个AS。不会改变ADV Router | 域外路由条目,包括网络号和掩码,不属于某个区域 |
7型(Type-7 AS External LSA) | 只存在于NSSA网络中 | ASBR | 域外路由 |
注:①2型LSA只在MA网络中存在;
②5型LSA由重分发产生;
③7型LSA只在NSSA网络中存在。
可以使用命令dispaly ospf lsdb
来查看OSPF的链路状态数据库信息。
OSPF中的常规区域:
area 0
。area 0
以外的区域,非骨干区域之间交换数据需要通过骨干区域进行。OSPF中的特殊区域:
解决脱节区域的办法:
创建OSPF进程,并进入OSPF进程进行配置:
router(config)#router ospf 100 //进程号的范围为1-65535,用于标识或者区分不同的OSPF进程。同一台路由器的不同ospf进程会影响路由的传递
标识当前路由器的身份,以便其他路由器识别:
Router(config-router)#router-id 1.1.1.1 //路由器标识符,相当于路由器的身份证
通告指定直连接口的网络地址并划分进指定区域:
Router(config-router)#network 1.1.1.1 0.0.0.0 area 0 //指定接口与路由器直接连接的网络并划分进区域0,0.0.0.0是反掩码
查看邻居信息:
router#show ip ospf neighbor
查看OSPF数据库信息:
router#show ip ospf database
修改接口优先级:
Int f0/0 Router(config-if)#Ip ospf priority 0 //默认值为1,值为0-255,值越大越有可能成为DR
修改计算cost的参考值(默认参考值为100M):
Router(config-router)#auto-cost reference-bandwidth 1000 //进入OSPF配置模式,将默认参考值从100M修改为1000M
向OSPF网络中注入默认路由:
Router(config-router)#default-information originate