OSPF:开放式最短路径优先协议
无类别链路状态型路由协议;组播更新224.0.0.5、224.0.0.6支持等开销负载均衡;
链路状态协议,邻居间共享拓扑,优势在于防环和选路,缺点为更新量和计算量很大;
故OSPF为了能够在大型网络生成,设计了结构化部署规则---1、良好的地址规划
触发更新,每30min一次周期更新;
【1】OSPF的5种数据包
hello包?--邻居、邻接关系的发现、建立、周期保活(10s)
DBD包?-- 数据库描述包?---本地数据库目录
LSR包-- 链路状态请求?--用于询问本地未知的LSA信息
LSU包--链路状态更新?--- 用于共享具体的LSA信息
LSack包--链路状态确认
LSA--链路状态通告--具体的一条一条拓扑或者路由信息
【2】OSPF的状态机
Down?????一旦接到到其他设备发出的hello包进入下一个状态
init初始化??一旦接收到的hello包中,本地我方RID进入下一状态
2way双向通讯?邻居关系建立的标志
条件:点到点直接进入下一状态;MA网络将进行DR/BDR选举(40S),非DR/BDR之间不能进入下一状态;
Exstart预启动??使用不携带数据库目录的DBD包,进行主从关系的选举,RID数值大的为主,优先进入下一个状态--其目的在于对DBD包进行排序,避免更新量同一时间的激增
exchange准交换??--- 使用DBD包进行数据库目录信息的交换
loadling加载?-- 基于接收的数据库目录和本地比对,然后基于本地未知的LSA信息,使用LSR进行查询,对端使用LSU来应答,需要本地最后ack确认--获取本地未知的LSA信息
full转发??--- 邻接(毗邻)关系建立的标志
【3】OSPF的工作过程
启动配置完成后,本地路由器开始收发ospf的hello包,建立邻居关系,生成邻居表;
之后与邻居表中所有邻居进行条件的匹配,匹配失败者间维持邻居关系,仅hello包周期保活即可;
匹配成功者间,将建立邻接关系;先使用类hello的DBD进行主从关系选举,之后使用DBD包进行数据库目录的共享;再使用LSR进行查询,LSU进行应答,ack确认;
---- ?使用DBD/LSR/LSU/LSack来获取本地未知的LSA信息;
当本地的数据库与邻居的数据库一致时,同步完成--本地存在数据库表(LSDB链路状态数据库--所有LSA集合);
同步完成后,本地启动SFP算法,将数据库转换为有向图-->最短路径树;然后以本地为起点,到达所有未知网段的最短路径,加载于本地的路由表中;
收敛完成后,仅hello每10s周期保活邻居、邻接关系;再每1800s周期和邻接比对数据库;
结构的突变:
【4】OSPF的基础配置
[r1]ospf 1 router-id 1.1.1.1?启动时可以定义进程号,仅具有本地意义;默认为1;建议同时定义该设备的RID -- 使用IPV4地址,全网唯一;手工配置--环回接口最大数值的ip地址---物理接口最大数值的ip地址??一旦RID生效,默认不能直接修改
[r1-ospf-1]
宣告:1、激活接口协议??2、共享接口信息??3、区域划分
[r1-ospf-1]area ?0
[r1-ospf-1-area-0.0.0.0]network ?192.168.1.65?0.0.0.0
[r1-ospf-1-area-0.0.0.0]network ?192.168.1.0 0.0.0.255
[r2-ospf-1]area ?1
[r2-ospf-1-area-0.0.0.1]net
[r2-ospf-1-area-0.0.0.1]network 192.168.1.5 0.0.0.0 ?
宣告时,使用反掩码精确的匹配
区域划分规则:
宣告配置完成后,邻居间开始收发hello包,获取对端的RID,建立邻居关系,生成邻居表:
[r2]display ospf peer 查看邻居表-详细
[r2]display ?ospf peer brief ?查看邻居关系简表
邻居关系建立后,邻居间进行条件的匹配;匹配失败,仅hello保活邻居关系即可;匹配成功者间,可建立邻接关系,基于DBD/LSR/LSU/LSack来获取本地未知的所有LSA信息;完整本地的数据库;
[r2]display ?ospf lsdb
当本地数据库同步完成后,本地启动SFP(最短路径优先算法),将数据库中所有的1/2类LSA整合为有向图,再生成最短路径树;然后以本地为起点计算到达本地所有未知网段的最短路径,将它们加载于本地的路由表中来完成收敛;
<r1>display ?ip routing-table protocol ?ospf
华为设备通过OSPF协议学习到的路由,正常其优先级为10;使用的度量为cost值;
cost值=开销值= 参考带宽/接口带宽
默认参考带宽为100兆;若接口带宽大于参考带宽,cost值为1;可能导致选路不佳,建议修改参考带宽
[r1]ospf 1
[r1-ospf-1]bandwidth-reference ?
??INTEGER<1-2147483648> ?The reference bandwidth (Mbits/s)
[r1-ospf-1]bandwidth-reference 1000??若修改参考带宽,全网设备需要修改为一致
OSPF默认选择cost值之和最小的路径,为最佳路径来加载到路由表中;
【5】OSPF的扩展配置
需要关注网络类型
点到点?--- 一个网段内只能存在两个节点--物理限制,无法添加第三个节点--串行链路(串线)
MA--多路访问?-- 在一个网段内节点的数量不限制,不由当下连接了几个节点来决定,而是该网络是否限制了连接数量来决定--以太网(RJ-45双绞线、光纤、同轴电缆、WIFI。。。)
在点到点网络中,所有邻居关系直接建立为邻接关系;
在MA网络中,若两两之间皆为邻接,那么将出现大量的重复更新,且ospf需要和邻接之间对比数据库,故不能像RIP协议一样,使用接口水平分割来规避;
最终OSPF协议在MA中进行DR/BDR选举来解决重复更新;
在一个网段,只有非DR/BDR路由器之间为邻居关系
选举规则:
先比较参选接口的优先级,0-255,大优;默认为1;若优先级相同,比较参选设备的RID,数值大优;
通过修改接口优先级,可以干涉选举
[r7]interface g0/0/0?在参选接口上配置
[r7-GigabitEthernet0/0/0]ospf dr-priority 2?
该选举是非抢占性;因此在修改优先级后,需要手工重启所有参选设备的OSPF进程;
<r6>reset ospf process
Warning: The OSPF process will be reset. Continue? [Y/N]:y
建议将非DR/BDR的设备优先级修改为0,0代表不参选,不用重启进程;
切记:在一个ma网段,有且至少有一台参选,否则该网段无任何邻接关系;
2)认证?--- 邻居间使用共享秘钥核实身份,华为设备同时可以加密ospf信息
[r1]interface g0/0/1?在直连邻居的接口上配置
[r1-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher 123456
?????????????????????????????????????????????模式?编号??加密???秘钥
要求邻居间模式、编号、秘钥、加密完全一致
[r2]ospf 1
[r2-ospf-1]area ?0?该区域编号为,明细路由的来源区域
[r2-ospf-1-area-0.0.0.0]abr-summary 192.168.1.64 255.255.255.192
[r1]ospf 1
[r1-ospf-1]silent-interface GigabitEthernet 0/0/2
[r3]ospf 1
[r3-ospf-1]default-route-advertise always