针对资源占用的优化措施:
1,DBD包——数据库描述报文——描述所包含的信息,但是不会传递所有的信息,只供对方选择
2,主从关系选举——同时发送会导致资源占用量大,主从关系选举避免了这种情况的产生
3,区域划分:内部传递拓扑信息,区域之间传递路由信息。
OSPF的结构化部署 --- 区域划分
区域划分的主要目的 --- 区域内部传递拓扑信息,区域之间传递路由信息。 --- 链路状态型协议的距离矢量特征
如果一个OSPF网络只存在一个区域,这个网络称为单区域OSPF网络;
如果一个OSPF网络存在多个区域,这样的网络称为多区域OSPF网络。
区域边界路由器 --- ABR --- 同时属于多个区域,一个接口对应一个区域,必须有一个接口在区域0中,将区域内的拓扑信息收集计算成路由信息,之后进行传递。
区域之间可以存在多个ABR设备,一个ABR设备可以处于多个区域
区域划分的要求:
1,区域之间必须存在ABR设备;
2,区域划分必须按照星型拓扑结构进行划分。 --- 星型拓扑的中间区域 --- 骨干区域。 为了方便区分和标识不同的区域,所以,我们给每一个区域都定义一个区域ID --- area id --- 32位二进制构成的 --- 两种表示方法 -- 1,直接使用十进制进行表示;2,使用点分十进制进行表示。 ---- 骨干区域的区域ID定义为区域0。
1,OSPF的数据包
hello包 --- 周期性的发现,建立和保活邻居关系
hello包的发送周期 --- hello时间 --- 10S(以太网)/30S
RID --- 区分和标识不同的路由器 --- 本质由32位二进制构成 --- 1,格式统一;2.全网唯一
RID的生成方式:
1,手工配置
2,自动生成 --- 首先,设备将优先选择环回接口的IP地址作为RID,如果存在多个环回接口则会选择所有环回接口中IP地址最大的作为RID;如果没有配置环回接口,则将使用设备的物理接口的IP地址作为RID,如果物理接口存在多个,则选择IP地址最大的作为RID;
DBD包——数据库描述报文——LSDB——链路状态数据库——LSA——“菜单”
LAR包——链路状态请求报文——基于DBD包,请求未知的LSA信息——“点菜”
LSU包——链路状态更新报文——真正携带LSA的数据包,发送对方需要的数据信息——“上菜”
LSACK——链路状态确认报文——确认收到数据——确认包
OSPF协议具有周期更新机制,每个30MIN发送一次。
2,OSPF的状态机
244.0.0.5——所有默认ospf的设备的组播地址
lnit State——初始化状态
Two-Way State——双向通信状态——标志着邻居关系的建立。 (A收到B的信息后)
(条件匹配)条件匹配成功则可以进入到下一个状态,如果条件匹配失败。则将停留在邻居关系,则仅周期性的发送hello包进行保活
主从关系选举——通过发送没有携带数据的DBD包来进行主从关系的选举,比较RID来进行选举,RID大的为主,为主可以优先进入后面的状态——同时发送会导致资源占用量大
之所以使用DBD包进行主从关系选举——主要是为了和之前的邻居关系进行区分。
隐性确认:A发送给B一个DBD包,里面携带一部分信息,B会回复一个DBD包里面包括A发送的信息,从而实现B对数据的确认
显性确认: 通过LSACK包发送确认信息
Full State——标志着邻接关系的建立——主要目的是为了和之前的邻居关系进行区分,邻居关系只能通过hello包进行保活,而邻接之间可以交换LSA(拓扑)信息。
down状态——设备启动ospf之后,发出hello包进入下一个状态
init状态(初始化)——收到对方的hello包中包含自己本地的RID,则进入到下一状态
Two-way(双向通信)状态——标志着邻居关系的建立
(条件匹配)匹配成功,则进入到下一个状态;失败则停留在邻居状态,仅使用hello包进行周期保活
exstart(预处理)状态——通过发送没有携带数据的DBD包来进行主从关系的选举,比较RID来进行选举,RID大的为主,为主可以优先进入后面的状态(主从选举)
exchange(准交换)状态——交换携带数据(摘要信息)的DBD包进行LSD数据库目录共享
loading(加载)状态——基于对端发送的LSR/LSU/LSACK交换未知的LSA信息
FULL状态——标志着邻接关系的建立
3.OSPF的工作过程
启动配置完成,ospf协议向本地所有运行协议的接口以组播的形式(224.0.0.5)发送hello包,hello包中携带自己本地RID,以及本地已知的邻居的RID。之后,将收集到的邻居关系记录在一张表中——邻居表;
邻居关系建立完成后,进行条件匹配,失效则停留在邻居关系,仅用·hello包进行保活,匹配成功,则开始建立邻接关系。首先,使用未携带数据的DBD包进行主从关系选举,之后,使用携带数据的DBD包共享目录信息,之后,基于DBD包,通过LSR/LSU/LSACK获取未知的LSA信息,将所有的LSA信息保存在本地的LSDB数据库——数据库表;
最后,基于LSDB,使用SPF算法进行计算,得到未知网段的路由信息,将其加载到路由表。
收敛完成后,周期性的发送hello包进行保活,每30min一次周期更新
结构突变:
1.突然新增一个网段:触发更新,第一时间将变更信息通过LSU包传递出去,需要ACK确认
2.突然断开一个网段:触发更新,第一时间将变更信息通过LSU包传递出去,需要ACK确认
3.无法联系——dead time——40s
4.OSPF的基本配置
1,启动OSPF进程
[r1]ospf 1 router-id 1.1.1.1——手工配置RID需要在进程启动时配置——1为进程号
[r1-ospf-1]
2,创建区域
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]
3,宣告
宣告的作用:
1,激活接口——只有宣告的网段包含的接口会被激活,只有激活的接口可以收发OSPF的数据
2,发布路由——只有激活的接口所对应的直连网段的路由才能被发布
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0——反掩码——由连续的0和连续的1组成,0对应位不可变,1对应位可变。
1.1.1.1 0.0.0.0——精准宣告
12.0.0.0 0.0.0.255——范围宣告
[r1]display ospf peer——查看邻居表( MTU:0最大传输数据量为0原因华为设备默认不检测)
[r1]display ospf peer brief——查看邻居关系简表
[r1]display ospf lsdb——查看数据库
[r1]display ospf lsdb router 2.2.2.2——展开一条LSA的方法
router——Type类型 2.2.2.2——LinkState ID
[r1]dis ip routing-table protocol ospf——查看过滤的ospf信息路由表
华为设备,OSPF协议的默认优先级为 -- 10
COST=参考带宽/真实带宽——华为设备默认的参考带宽为100Mbps
注意:如果计算出来的值是一个小于1的小数,则直接按照1来算;如果是一个大于1的小数,则只取整数部分
[r1-ospf-1]bandwidth-reference 1000——修改参考带宽为1000mbps
主机路由
2.2.2.2/32——代表的不再是一个网段,而是一个具体的IP地址
条件匹配
DR——指定路由器——和广播域内其他设备建立邻接关系
BDR——备份指定路由器——和广播域内其他设备建立邻接关系,称为DR设备的备份。
一个广播域内部,至少需要4台设备才能看到邻居关系
DR和BDR其实是接口的概念
条件匹配 --- 在一个广播域中,若所有设备均为邻接关系,将出现大量的重复更新;故需要进行DR/BDR的选举,所有DRother之间,仅维持邻居关系即可。
DR/BDR的选举规则:
1,先比较优先级,优先级最大的为DR,次大的为BDR;
优先级默认为1 --- 主要目的让人为修改
[r1]int g 0/0/0
[r1-GigabitEthernet0/0/0]ospf dr-priority ?
INTEGER<0-255> Router priority value
注意:如果将一个接口优先级设置为0,则代表这个接口将放弃DR/BDR的选举。
2,如果优先级相同,则比较RID。RID大的路由器所对应的接口为DR,次大的为BDR。
DR/BDR的选举是非抢占模式的——一旦角色选举出来,则将无法抢占
选举时间——40s(等同于死亡时间)
<r1>reset ospf 1 process——重启OSPF进程
OSPF的拓展配置
1,OSPF的手工认证
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
1——key ID两边需要保持一致
2,手工汇总 --- 区域汇总
在ABR设备上进行配置
[r2-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.254.0
3,沉默接口
配置了沉默接口的接口,将只接受不发送路由信息
[r2-ospf-1]silent-interface GigabitEthernet 0/0/2
4,加快收敛 --- 减少计时器的时间
[r1-GigabitEthernet0/0/0]ospf timer hello 5 --- 修改hello时间的方法
[r2-GigabitEthernet0/0/0]ospf timer dead ?
INTEGER<1-235926000>Second(s)
注意:邻居双方的hello时间和死亡时间必须相同,否则将断开邻居关系
5,缺省路由
[r3-ospf-1]default-route-advertise
注意:这个命令要求边界设备自身得具有缺省路由才行
[r3-ospf-1]default-route-advertise always --- 在没有缺省情况下强制下发缺省
ACL --- 访问控制列表
策略
ACL访问控制列表的作用:
1,访问控制 --- 在路由器流量流入或流出的接口上,匹配流量,然后执行设定好的动作 --permit(允许),deny(拒绝)。
2,抓取感兴趣流 --- ACL的另一个作用就是和其他服务结合使用。ACL只负责抓取流量,动作由其他服务来执行。
ACL列表的匹配规则 --- 自上而下,逐一匹配。如果匹配到了,则执行对应的动作,则不再向下匹配。
思科 --- ACL列表末尾默认包含一条拒绝所有的规则。
华为 --- ACL列表末尾没有包含任何规则。
ACL列表的分类
基础ACL --- 仅关注数据包中的源IP地址 --- “只关注你是谁”
高级ACL --- 不仅关注数据包中的源IP地址,还关注目标IP地址,以及协议和端口号 ---“不仅关注你是谁,还关注你去哪,干啥”
二层ACL
用户自定义ACL列表