文章目录
OSPF
RIP的缺陷
- 最大跳数限制了网络规模
- 以跳数为度量值无法准确判断最优路径
- 路由更新发送完整路由表消耗网络带宽
- 收敛速度慢
- 协议会产生路由自环
定义
- 开放式最短路径优先,基于链路状态特征
- 工作在IP层,协议号89
OSPF初始化流程
1.建立邻居和邻接关系
发送hello报文发现和建立邻居关系,组播地址224.0.0.5
接口UP
双方接口IP地址在同一网段
双方接口在同一区域
选举DR/BDR,建立邻接关系
DR/BDR选举:
选举原因:广播网络中使路由信息交换更加高速有序
选举范围:每条广播链路上都需要选举出一个DR和一个BDR
选举规则:1.优先级数字大的优先,默认优先级都是1
2.Router-id大的优先
Router-id:标识路由器的身份
产生方法:1.手动配置一个IPv4地址格式作为Rid
2.自动选举
a.在所有环回口中选举IP地址最大的作为Rid
b.在所有物理接口中选举IP地址最大的作为Rid
建议手动配置一个本地环回口的IP地址作为Rid
关系状态:1.DRother与DR建立邻接关系
2.DRother与BDR建立邻接关系
3.DR与BDR建立邻接关系
4.两个DRother之间保持邻居关系
2.邻接路由器之间交换链路状态信息,实现区域内链路状态数据库同步
相关概念:
链路状态通告:LSA,用来描述路由器的接口、路由条目的相关信息
链路状态数据库:LSDB,存储本地所有LSA
工作流程:
1.向邻接路由器发送DD报文,通告本地LSDB中所有LSA的摘要信息
2.收到DD后,与本地LSDB对比,向对方发送LSR报文,请求发送本机所需的LSA的完整信息
3.收到LSR后,把对方所需的LSA的完整信息打包为一条LSU报文,发送至对方
4.收到LSU后,向对方回复LSAck报文,进行确认
3.每台路由器根据本机链路状态数据库,计算到达每个目的网段的最优路由,写入路由表
OSPF报文类型
- Hello报文:发现、建立和维护邻居关系
- DD报文:数据库描述报文,用于描述本地LSDB中所有LSA的摘要
- LSR报文:链路状态请求
- LSU报文:链路状态更新
- LSAck报文:链路状态确认
OSPF分区域管理
分区域的原因
- 加快收敛速度
- 把网络故障隔离在区域内部
路由器角色
IR 内部路由器,所有接口都处于同一个区域
ABR 区域边界路由器,连接不同区域的路由器
ASBR 自治系统边界路由器,连接外部自治系统的路由器
区域类型
骨干区域:只能有一个骨干区域,一般是区域0,骨干区域必须是连续的
非骨干区域:非骨干区域必须连接到骨干区域
常用命令
[h3c]ospf 'process id' router-id 'rid' //开启OSPF进程,指定Router-id,进入OSPF协议视图
[h3c-ospf-1]area 'area id' //进入区域视图
[h3c-ospf-1-area 0.0.0.0]network 'ip address' 'wild-mask' //宣告网段
(wild-mask掩码通配符,0对应的部分需要匹配一致,1对应的部分不检查)
[h3c-ospf-1]slient-interface 'interface id' //配置静默接口,OSPF不会在向静默接口上收发协议报文
[h3c]display ospf peer //查看OSPF邻居关系(FULL:邻接关系,2-Way:邻居关系)
[h3c]display ospf routing //查看OSPF路由
OSPF相关文章请参考《OSPF协议基础》:https://blog.csdn.net/wuhan_aaa/article/details/120529371?spm=1001.2014.3001.5501
ACL包过滤
ACL
定义
访问控制列表,用于数据流的匹配和筛选
常见功能
- 访问控制:ACL+Packet-filter
- 路由控制:ACL+Route-policy
- 流量控制:ACL+QOS
基于ACL的包过滤
定义
- 对进出的数据包逐包检查,丢弃或允许通过
- 包过滤必须配置在接口的某个方向上才能生效
- 一个接口的一个方向只能配置一个包过滤策略
包过滤的方向
- 入方向:只对从外部进入的数据包做过滤
- 出方向:只对从内部发出的数据包做过滤
包过滤的工作流程
- 数据包到达接口检查是否应用了ACL,是则进入匹配,否则放行
- 按照ACL编号匹配第一条规则,匹配则进一步检查该条规则动作,否则与下一条规则进行匹配 (动作允许则放行,动作拒绝则丢弃)
- 继续进行匹配,如匹配则检查规则动作,否则与下一条进行匹配
- 所有规则都不匹配,检查默认动作 (默认动作允许则放行,默认动作拒绝则丢弃)
注意事项
1.如果默认动作是允许,至少需要一条拒绝规则
2.如果默认动作是拒绝,至少需要一条允许规则
3.H3C的ACL用于包过滤默认允许,用于其他默认拒绝
4.把小范围的规则分配一个靠前的顺序
5.在不影响实际效果前提下,把包过滤尽量配置在离源地址最近的接口的入方向
ACL分类
基本ACL
- 只对数据包的源地址进行匹配
- 编号2000-2999
高级ACL
- 对数据包的五元组进行匹配(源IP,目的IP,源端口,目的端口,协议)
- 编号3000-3999
常用命令
[h3c]acl basic 'acl-number' //创建基本ACL,进入ACL视图
[h3c]acl advanced 'acl-number' //创建高级ACL,进入ACL视图
[h3c-acl-basic-2000]rule 'rule id' 'permit/deny' source 'ip address' 'wild-mask'
//创建基本ACL规则,如不写rule-id,则系统自动从0开始以5的倍数增加序号
[h3c-acl-advanced-3000]rule 'rule id' 'permit/deny' 'protocol' source 'ip address' 'wild-mask' source-port 'port' destination 'ip address' 'wild-mask' destination-port 'eq/lt/gt/neq/range' 'port'
//创建高级ACL规则
[h3c-GigabitEthernet 0/0]packet-filter 'acl number' 'inbound/outbound' //配置包过滤
[h3c]packet-filter default deny //更改默认动作为拒绝