OSPF空间占用优化措施:
区域划分
数据库描述报文
主从关系选择
OSPF的结构化部署---区域划分
区域划分的目的---区域内部传递拓扑信息,区域之间传递路由信息---链路状态协议的距离矢量特征
如果一个OSPF网络只存在一个区域,这个网络称为单区域OSPF网络
如果一个OSPF网络存在多个区域,这个网络称为多区域OSPF网络
区域边界路由器---ABR---属于两个区域,连接两个区域,一个接口对应一个区域,必须有一个接口在区域0中,将区域内的拓扑信息收集计算成路由信息,之后进行传递
区域划分的要求:
1.区域之间必须存在ABR设备
2.区域划分必须按照星型拓扑结构进行划分---星型拓扑的中间区域---骨干区域
为了方便区分和表示不同区域,所以,我们给每一个区域都定义一个区域ID---area id---32位二进制构成---两种表示方法---1.直接使用十进制进行表示; 2.使用点分十进制进行表示---骨干区域的ID定义为区域0
1.OSPF的数据包(5种)
Hello包---周期性的发现、建立和保活邻居关系
Hello包的发送周期---Hello时间---10s(以太网)/30s
死亡时间---dead time---4倍的Hello时间
RID---区分和标识不同的路由器---本质由32位二进制构成---1.格式统一;2.全网唯一
RID的生成方式:
1.手工配置
2.自动生成---首先,设备将优先选择环回接口的IP地址作为RID,如果存在多个环回地址接口,则将选择所有环回接口中地址最大的作为RID;如果没有配置环回接口,则将使用设备的物理接口的IP地址作为RID,将选择所有物理接口中地址最大的作为RID
DBD包---数据库描述报文---LSDB---链路状态数据库---LSA---“菜单”
LSR包---链路状态请求报文---基于DBD包,请求未知的LSA信息---“点菜”
LSU包---链路状态更新报文---真正携带LSA的数据包---“上菜”
LSAC包---链路状态确认报文---确认包
OSPF协议具有周期更新机制,每隔30分钟发送一次
2.OSPF的状态机
Two-Way---双向通信状态---标志着邻居关系的建立
(条件匹配)---条件匹配成功则可以进入下一状态,如果条件匹配失败,则将停留在邻居关系,则仅周期性的发送hello包进行保活
主从关系选择---通过发送没有携带数据的DBD包来进行主从关系选举,再比较RID来进行选举,RID大的为主,为主可以优先进入后面的状态
之所以使用DBD包主要是为了和之前的邻居关系进行区分
FULL---标志着邻接关系的建立---主要目的是与之前的邻居关系进行区分,邻居只能通过hello包进行保活,而邻接之间,可以交换LSA信息
Down状态---启动OSPF之后,发出hello包进入下一个状态
Init(初始化)状态---收到对方的hello包中包含自己本地的RID,则进入下一个状态
Two-way(双向通信)状态---标志邻居关系建立
(条件匹配)---条件匹配成功则可以进入下一状态,如果条件匹配失败,则将停留在邻居关系,则仅周期性的发送hello包进行保活
Exstart(预启动)状态---通过发送没有携带数据的DBD包来进行主从关系的选举,再比较RID来进行选举,RID大的为主,为主可以优先进入后面的状态
Exchange(准交换)状态---交换携带数据(摘要信息)的DBD包进行LSDB数据库目录共享
Loading(加载)状态---基于对端发送的DBD包,使用LSR/LSU/LSACK交换未知的LSA信息
FULL状态---标志着邻接关系的建立---主要目的是与之前的邻居关系进行区分,邻居只能通过hello包进行保活,而邻接之间,可以交换LSA信息
3.OSPF的工作状态
启动配置完成,OSPF协议向本地所有运行协议的接口以组播的形式(224.0.0.5)发送hello包,hello包中携带自己本地RID,以及本地已知的邻居的RID。之后,将收集到的邻居关系记录在一张表中---邻居表
邻居关系建立成功后,进行条件匹配。失败则停留在邻居关系,仅hello包进行保活
匹配成功,则开始建立连接关系,首先,使用未携带数据的DBD包进行主从关系选举,之后,使用携带数据的DBD包共享目录信息,之后,基于DBD包,通过LSR/LSU/LSACK获取未知的LSA信息,将所有的也有一些信息保存本地的LSDB数据库---数据库表
最后,基于DBD,使用SPF算法进行计算,得到未知网段信息,将其加载到路由表
收敛完成后,周期性的发送hello包进行保活,每30分钟一次周期更新
结构突变:
1.突然增加一个网段:触发更新,第一时间将变更信息
2.突然断开一个网段
3.无法联系---dead time---40s
4.OSPF的基本配置
1.启动OSPF
[r1]ospf router-id 1.1.1.1---手工配置RID需要在进程启动时配置
[r1-ospf-1]
2.创建区域
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]
3.宣告
宣告的作用:
1.激活接口---只有宣告的网段包含的接口会被激活,只有激活的接口可以收发OSPF数据
2.发布接口---只有激活的接口所对应的直连网段的路由才能被发布
[r1-ospf-1-area-0.0.0.0]network1.1.1.1 0.0.0.0---反掩码---由连续的0和连续的1组成,0对应位不可变,1对应位可变
[r1-ospf-1-area-0.0.0.0]network12.0.0.0 0.0.0.255
[r1]display ospf peer---查看邻居表
[r1]display ospf peer brief---查看邻居简表
MTU---最大传输量
[r1]display ospf lsdb---查看数据库表
[r1]display ospf lsdb router 2.2.2.2---展开一条LSA(数据库表)
[r1]display ip routing-table protocol ospf---查看路由表
华为设备,OSPF协议的默认优先级为10
COST=参考带宽/真实带宽---华为设备默认的参考带宽为100Mbps
如果计算出来是一个小于1的小数,则直接按照1来算;如果是一个大于1的小数,只取整数部分
[r1-ospf-1]bandwith-reference 1000---修改参考带宽
条件匹配
DR---指定路由器---和广播域内其他设备建立邻接关系
BDR---备份指定路由器---和广播域内其他设备建立邻接关系,称为DR设备的备份
一个广播域内,至少需要有4台设备才能看见邻居关系
DR和BDR其实是接口的概念
条件匹配---在一个广播域中,若所有设备均为邻接关系,将出现大量的重复更新;故需要进行DR/BDR
DR/BDR的选举规则---1.先比较优先级,优先最大的为DR,次大的为BDR;
优先级默认为1---主要目的让人为修改
[r1-GiabitEthernet0/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- GiabitEthernet0/0/0]ospf authentication-mode md5 1 cipher123456
2.手工汇总---区域汇总
在ABR设备上进行配置
[r2-ospf-1-area-0.0.0.0]abr-summary192.168.0.0 255.255.254.0
3.沉默接口
配置了沉默接口的接口,将只接受不发送路由信息
[r1-ospf-1]slient-interfaceGiabitEthernet0/0/2
4.加快收敛---减少计时器时间
[r1- GiabitEthernet0/0/0]ospftimer hello 5---修改发送hello包时间
[r1- GiabitEthernet0/0/0]ospftimer dead ?
INTEGER<1-235926000>Second(s)
Hello和死亡时间必须一致,否则断开邻居关系
5.缺省路由
[r1-ospf-1]default-route-advertise
注意:这个命令要求边界设备自身得具有缺省路由才行
[r1-ospf-1]default-route-advertisealways---在没有缺省的情况下,强制下发缺省
ACL---访问控制列表
策略
ACL访问控制列表作用:
1.访问控制---在路由器流量流入或流出的接口上,匹配流量,然后执行设定好的动作---permit(拒绝),deny(拒绝)
2.抓取感兴趣流---ACL的另一个作用就是和其他服务结合使用。ACL只负责抓取流量,动作行
ACL列表的匹配规则---自上而下,逐一匹配。如果匹配到了,则执行对应的动作,则不再向下匹配
思科---ACL列表末尾默认包含一条拒绝所有的规则
华为---ACL列表末尾没有包含任何规则
ACL列表的分类
1.基础ACL---仅关注数据包中的源IP地址---“只关注你是谁”
2.高级ACL---不仅关注数据包中的源IP地址,还关注目标IP地址,以及协议和端口号---“不仅关注你是谁,还关注你去哪,做什么”
3.二层ACL
4.用户自定义ACL列表