协议篇---OSPF基础
OSPF(open shortest path first):开放式最短路径优先协议
1.协议使用范围:IGP(Interior Gateway Protocol内部网关协议)
2.协议算法特点:链路状态型路由协议 —距离矢量型(DV)路由协议
3.协议是否传递网络掩码:传递网络掩码(无类别的路由协议)
4.协议封装: 基于IP协议封装(跨层封装),协议号为89
1、OSPF 特点
1.OSPF 是一种典型的链路状态型路由协议
2.传递信息称作LSA,LSA 链路状态通告,包含路由信息和拓扑信息。
路由LSA:描述本路由器上接口的路由信息
拓扑LSA:描述路由器之间的链接状态
3.更新方式:触发更新+30分钟的链路状态刷新
触发更新(当网络稳定时不发更新,当网络结构变化{网络增加、减少、修改}时才发送路由信息更新)
30分钟的链路状态刷新 (针对一条路由有多条LSA信息用作多条LSA新旧比较然后刷新路由信息)
4.更新地址: 组播和单播更新,
组播地址: 224.0.0.5(ALL SPF router所有运行OSPF的路由器都要接收组播信息) 224.0.0.6 (ALL DR router)
5.支持路由认证
6.支持手工汇总 ----只能针对路由器信息进行汇总,拓扑信息不能
7.支持区域划分
8.OSPF 比较消耗设备资源,一个路由器上最多支持31个OSPF 进程(思科中的!!!)
2、OSPF 区域 ----LSA信息常见有六种:1类、2类、3类、4类、5类、7类**
区域划分的意义: 1.减少LSA的数量 2.减少LSA的传播范围
区域的划分是基于接口的(链路的)
区域的标记:使用了32个二进制 1.十进制 2.类似于IP地址 A.B.C.D
区域的分类:
骨干区域: 区域标记为0或0.0.0.0
非骨干区域:区域标记不等于0或0.0.0.0
区域设计原则: 向日葵型网络结构—多个非骨干网络连接一个骨干网络
1.OSPF网络中必须存在并唯一的骨干区域(单区域除外)
2.若存在非骨干区域,非骨干区域必须与骨干区域直接相连
OSPF中路由器的角色:
骨干路由器:
非骨干路由器:
ABR:区域边界路由器,能够产生3类LSA的路由器
ASBR:自治系统边界路由器,能够产生5类或7类LSA的路由器
3、OSPF 邻居状态机制
Down、 init 、 attempt(过渡) 、 two-way 、 exstart 、 exchange 、loading 、full
交互过程:
Init —初始化状态,
一旦开始发送hello报文,进入初始化状态。
Two-way—双向通信状态(邻居状态),
接收到包含自己router-id 的对方hello报文。
邻居关系建立条件:
1.router-id 必须不同
2.area ID 相同
3.认证: 认证类型 (不认证=0 明文认证=1 MD5=2) 认证数据 —邻里必须一致
4.hello时间,dead时间 —邻里必须一致
5.特殊区域标识(E(外部路由位)=1 ; N(NSSA外部路由位)=0 P=0) —邻里必须一致
6.MA网络中,网络掩码必须一致
7.必须同时使用单播或组播更新
8.更新源检测(双方的IP地址必须在同一网段)
邻居状态下(two-way):选DR与BDR
MA的网络中会选举DR(指定路由器) BDR(备份指定路由器)
DR选举:
1.比较优先级 (范围:0-255,默认优先级为1 ,越大越优)
2.比较各自的router-id,越大越优
注意:1.DR抢占是关闭的 2.DR是一个接口概念 3.优先级范围0-255,数字为0代表不参与选举 4.先选举BDR ,再升级为DR
Exstart—预启动状态,
一旦开始发送主从DBD,则进入预启动状态。
**主从选举:**发生在exstart状态, 通过双方的router-id进行比较,router-id大的一方为主。 发送的 主从选举DBD,DBD中包含了MTU值(默认思科直接启用,华为中默认不包含MTU,可以使用命令 **传递MTU值的功能,若双方的MTU值不值则卡在exstart 状态)。
Exchange —预交换,
主从选举完成,则发送携带LSA头部信息的DBD,进入预交换状态,会发送LSR 数据包。(但是没有LSU)
Loading —加载状态,
一旦发送LSU数据包,进入了加载状态,进行大量LSA的学习。(学习:双方开始互传,各自有请求列表与重传列表)
Full —邻接状态。
双方LSA同步(双方的请求列表与重传列表都清空,双方LSA全部学习)
排错:卡死于各状态下的可能原因
**down:**OSPF关闭,邻居关系的建立不符合条件;
**init:**收到的hello包里都没有包含自己的router-id,过一段时候后(同dead time)退回down状态。
**two-way:**不能选举出DR,例如优先级为0的时候。
**exstart:**双方的MTU值不一致
**loading:**设备性能问题,传递的LSA的数量太多,已超过设备容限。
**attempt:**某些特殊的网络中不能通过广播或组播的方式发送hello包,需要手动指定邻居来通过单播方式发送;
若该网络是MA网络,那么在选举等待DR、BDR选举的这个状态为attempt。如果出现指错邻居等失误,会卡在该状态。
4、OSPF基本配置
启用OSPF 并指定router-id
[R3]ospf 100 router-id 93.3.3.3
[R3-ospf-100]
Router-id : 路由器标识符,用于标识本路由器在OSPF网络中的唯一性(因为OSPF在网络中要发送拓扑信息,需要唯一性)
OSPF router-id 选举规则:1.手工指定最优先 2.选举所有逻辑中IP地址最大的 3.选举所有物理接口IP 地址最大的
华为中: 若以上三点都不满足,则可以创建router-id 为0.0.0.0 ;在使用逻辑或物理接口IP地址时, 接口可以是关闭状态;若一台路由器启用了多个OSPF进程,不同进程可以使用相同的router-id(不 推荐);
**思科中:**若以上三点都不满足,则无法启用OSPF;在使用逻辑或物理接口时,接口必须双 up ,该 接口可以不通告进入OSPF中;同一路由器上多个OSPF进程必须router-id必须不同;
全局模式下可以选择针对所有的OSPF进程修改router-id ;
若同时在接口部署时,接口优先生效
[R1]router id 94.4.4.4
查看ospf:
[R4]display ospf interface
Network通告:
[R4]ospf 100
[R4-ospf-100]area 0
[R4-ospf-100-area-0.0.0.0]network 4.4.4.0 0.0.0.255(反子网掩码)
2.必须先创建OSPF 进程并开启需用使用的区域ID,再进入接口启用:
[R4-GigabitEthernet0/0/0]ospf enable 100 area 1
**DBD中携带MTU值功能:
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ospf mtu-enadle
修改接口MTU值: (同时修改3层和2层的MTU值)
[R1-GigabitEthernet0/0/0]mtu ?
<46-1600> MTU value
[R1-GigabitEthernet0/0/0]mtu 1500
查看二层接口信息:
[R1]display int g0/0/0
查看三层信息:
[R1]display ip int g0/0/0
GigabitEthernet0/0/0 current state : UP
OSPF三张表:
1、OSPF邻居表
查看邻居表:
查看邻居表摘要信息:
2、LSDB表(链路状态数据库):
查看LSDB详细信息:
查看LSDB摘要信息:
LSA中存在3个参数用于LSA的新旧比较:3600s的LSA 都是最新的.
1.***(Sequence)—越大越新
2.校验和(chksum : 0x9dca;Len长度)—计算完整性,越大越新
3.LSA老化时间(Age)—若以上都相同,LSA age 之差小于15分钟,越小越优,若大于15分钟,则无 法比较 认为都是最新的。
3、OSPF路由表
OSPF的路由表形成:路由器会发送它的直连网段告诉对方形成邻居关系,对方学习到内容以后就会形成完整的的网络拓扑结构也就是形成了链路状态的结构。