OSOF:开放式最短路径优先协议
无类别(带掩码)链路状态(共享拓扑)igp协议(as内部);
周期更新(30分钟)+触发更新
链路状态协议的更新量随着网络范围的扩展指数性上升,因此OSPF协议为了在中大型网络中工作,需要结构化(区域内传拓扑,区域间传路由)的部署----区域划分,合理IP地址规划;
一旦有了保活和确认就不需要周期更新,OSPF不自信
组播更新---224.0.0.5 224.0.0.6
1,OSPF的5种数据包:
Hello包:邻居的发现;关系的建立;周期(10 s)的保活;携带rid
DBD包: 数据库描述包;本地数据库目录
Lsr包 : 链路状态请求包;
Lsu包: 链路状态更新包;
Lsack包:链路状态确认包;
LSA---链路状态通告,具体的一条一条路由信息或拓扑信息;但它不是一个
包,是被LSU数据包来携带;
LSDB:链路状态数据库--所有LSA的集合
2,OSPF的7种状态机(关系):
<1>down:一旦接收到hello包,进入下一个状态机
<2>Init (初始化):一旦接受到的hello包中存在本地的rid,进入下一个状态
<3>2-way(双向通讯) :邻居关系建立的标志
关注条件:
<4>Exstart(预启动):使用不携带目录信息的DBD包,进行主从关系的选举;rid
大的优先进入下一个状态,解决了目录共享时的无序;
<5>Exchange(准交换):使用携带目标信息的DBD包,共享本地数据库目录
<6>Loading(加载):查看完邻接的DBD信息后,对比本地,然后基于本地未知
的LSA进行查询;使用LSR向对端查询,对端使用LSU来传输这些LSA信息,
本地收到后需要LSACK来进行确认;
<7>FULL:邻接关系建立的标志;意味着邻接间,数据库同步(一致)
3,OSPF的工作过程
启动配置完成后,邻居间开始收发HELLO包,HELLO包中将携带本地及本地所有已知邻居的rid;之后生成邻居表;邻居间需要关注是否可以成为邻接的条件;若不能建立为邻接,将保持我邻居关系,仅HELLO包周期保活即可;
若可以建立邻接关系;将使用DBD进行本地数据库目录的对比;之后基于对比的结果,使用LSR/LSU/LSACK来获取本地未知的LSA信息;使用邻接关系间的数据库(lsdb)完成同步(一致),生成数据库表;
之后本地基于LSDB,使用SPF算法,生成有向图---->最短路径树----->计算本地到达所有未知网段的最短路径,将其加载到本地路由表中;收敛完成;
收敛完成后,邻居和邻接关系间均HELLO每10s保活;每30min一次邻接关系间周期数据库比对,保障一致;
结构突变:
1,新增网段
2,断开网段
3,无法沟通 -----dead time 为 hello time 的4倍;在4次周期内未收到对端的
hello包,将断开与其的邻居关系;删除通过该邻居计算所得路由;
4,基础配置
[r1]ospf 1 router-id 1.1.1.1 启动时可以定义进程号。RID:默认进程1,RID----格式为IPV4地址;全网唯一;手工--->环回接口的最大数值---->物理接口最大数值
[r1-ospf-1]
宣告:1,激活--可以收发OSPF的信息;
2,被选中的接口的拓扑信息可以共享给邻接
[r1-odpf-1]area 0
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[r1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
OSPF在宣告时,必须使用欧冠反掩码
区域划分规则:
1,星型结构---编号为0骨干区域(中心),大于0位非骨干区域(分支)
非骨干区域必须直连骨干区域
2,必须存在ABR(边界路由器)---两个区域间互联的设备
启动配置完成后,邻居间收发HELLO包,建立邻居关系,生成个邻居表。
[r2]display ospf peer----查看邻居关系
[r2]display ospf peer brief----查看邻居关系简表
邻居关系建立后,关注条件;匹配失败,保持为邻居关系,仅HELLO包周期保活;匹配成功,可以建立为邻接(毗邻)关系;邻接关系间,将使用DBD/LSR/LSU/LSACK来获取本地未知的信息;完整本地的LSDB(数据库表);
[r2]display ospf lsdb----查看数据库简表
[r2]display ospf lsdb router 2.2.2.2----查看数据库表详细
当数据库同步完成后;本地基于SPF算法,将数据库占环卫有向图,再将有向图转换为树形结构;之后基于树形结构,以本地为起点到达所有未知网段的最短路径,加载到路由表中;
[r1]display ip routing-table protocol ospf----查看OSPF路由表
优先级为10,度量值为cost值;cost值=开销值
Ospf cost = 参考带宽/接口带宽 默认产考带宽为100M
Ospf 优选cost值之和最小,为最佳路径;若两条链路cost值之和相同,等开销负载均衡;若接口带宽大于参考带宽,cost为1,将可能导致选路不佳;建议修改默认的参考带宽;
[r1]ospf 1
[r1-ospf-1]bandwidth-reference ?
INTEGER<1-2147483648> The reference bandwith (Mbits/s)
[r1-ospf-1]bandwith-reference 1000
切记:若修改参考带宽,全网需修改的一致;
5,扩展配置
1,DR/BDR选举
邻居成为邻接关系的条件;与网络类型有关;
网络类型:
点到点----一个网段内只能存在两个节点----串线链路
MA---多路访问--在一个网段内的节点数量不限制;不是当下连接了几个节点;而是该网络类型允许最终连接多个节点;----以太网
点到点网络邻居关系直接成为邻接关系;在MA网络中,将进行DR/BDR选举,剩余的被称为DR other.在一个网段中仅DR/BDR与其他路由器为邻接关系;非DR/BDR之间为邻居关系;
选举规则:
1,先比较该网段多有先选设备接口的优先级;越大越优;
默认优先级为1;取值范围0-255;0代表不参选
2,若哦所有参选者优先级相同,比较参选设备的RID,数值大优;
干涉选举:
1,DR优先级最大,BDR次大----切记OSPF的厍是非抢占性的;故在修改完优先级后,需要所有路由器设备重启OSPF进程。
[r2]interface GigbitEthernet 0/0/0
[r2-GiabitEthernet0/0/0]ospf dr-priority 3-----修改接口优先级
[r1]rest ospf process----重启进程
2,DR优先级最大,BDR次大;其它设备修改为0;无需重启进程
2,区域汇总
OSPF协议不支持接口汇总;只能在ABR上将a区域拓扑计算所得路由,共享给B
区域时进行汇总;
[r2]ospf 1
[r2-ospf-1-area 0
[r2-ospf-1-area-0.0.0.0]abr-summary 1.1.0.0 255.252.0.0
R2为一台连接区域0和其它区域的ABR;以上操作为,R2将通过区域0学习到的拓扑计算所得的路由,传递给其它区域时进行汇总,汇总网段1.1.0.0/22
3,被动接口(沉默接口)---仅接收不发送路由协议信息;用于连接用户终端的接口。不得用于连
接邻居路由器的接口,否则无法建立邻居关系;
[r1]ospf 1
[r1-ospf-1]silent-interface GiagbithEthernet 0/0/0
4,认证---接口人证,在之恋邻居或邻接的接口上配置,保障更新的安全性。
[r1]interface g0/0/0
[r1-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher 123456
模式, 编号,密码 这三者要求邻居间一致
5,加快收敛
邻居间的计时器 10s hello time 40s dead time
邻居间,修改本端的hello time,本端的dead time自动4倍关系匹配;但是OSPF中邻居间的hello time 和dead time 必须完全一致,否则无法建立邻居关系;
[r1-GigabitEthernet0/0/0]ospf timer hello 5
6,缺省路由----边界路由器上配置后,将自动向内网下放一条缺省路由,之后内网
设备将自动生成缺省路由指向边界。
[r4-ospf-1]default-route-advertise always