一、路由协议基础:
1. 静态路由协议缺点:
1)路由不能随着拓扑的变化而自动变化(网络中接口关闭或者故障是不可知的,有无汇总都会有黑洞的——接口故障关闭断电或者网段不存在之后,此时如果有缺省就会出现环回);
2) 在中大型网络中配置量很大,比较复杂,更新量大,人为操作困难,容易出问题;
3)用于相对很小,结构很简单的网络中
2. 动态路由协议优点:
1)随拓扑变化而变化(最大优势);
2)在中大型网络中配置量较少
3. 动态路由协议缺点(=静态优点):
1)对资源有占用(设备的CPU/内存/带宽——更新路由通信协商);
2)存在安全隐患——电脑运行模拟仿真器假冒路由器运行OSPF路由协议引导路由流量去向发生变化;
3)算法计算错误,算出环路——任何算法都可能存在该问题。
4. 比较一个动态路由协议的优劣的依据(相辅相成):
1)防环(最重要思想) 2)占用资源少 3)选择路径佳 4)收敛速度快(否则信息不同步将导致环路)
5. 动态路由协议分类:
1)基于AS进行分类
* IGP(内部网关路由协议—AS内部)-- RIP/OSPF/EIGRP(思科专有)/ISIS;
* IGP分类方式:
* 更新时是否携带子网掩码 – 有类别(更新时不带掩码)/ 无类别(更新时带掩码);无类别好,RIPv1 用的有类别不好,RIPv2、OSPF、ISIS、EIGRP、BGP
* 工作特征:
1) DV距离矢量-RIP/EIGRP : 邻居间直接共享路由表,属于传闻型协议。优点——更新量少;缺点——选路没有基于拓扑严谨
2) LS 链路状态-OSPF/ISIS :邻居间共享拓扑,属于本地计算型协议。缺点——更新量大,占用资源多,收敛速度受更新量影响;优点——防环,选路相对较好
* EGP(外部网关路由协议—AS之间)–EGP(有两个版本V1/2,已淘汰)/BGP(有五个版本V1-4+,主流)
* 为什么OSPF要基于LSA(拓扑信息)收敛?——防环(OSPF有特殊防环机制,不依赖于更新量大小导致的收敛速度快慢)
二、OSPF(开放式最短路径优先协议)简介
1. 版本:
V1/V2/V3 ;主讲V2 ,V3为IPV6环境使用。
2. 属性:
无类别链路状态路由协议(更新带掩码),基于拓扑信息进行收敛,基于组播更新(地址为:224.0.0.5/6
3. 选路依据:
使用cost作为度量
4. 更新方式:
支持触发更新(相对周期更新节约资源,提高工作效率。一个好的协议最好只有触发更新如EIGRP),每30min周期更新(可靠性更高)—因为更新量过大,为保证可靠性
5. OSPF为了在中大型网络中工作(解决关键问题——更新量大)需要结构化的部署:
1、区域划分(=链路状态协议(传拓扑)的距离矢量特征(传路由)——区域间)
2、良好的IP地址规划
6. 若一个协议希望实现增量更新即仅触发无周期(EIGRP/BGP)需要:
hello机制(周期保活)& ACK确认机制
三、OSPF报头
OSPF属于跨层封装的协议
标准OPSF协议报头内容:
全部封装填充在三层IPv4包头之后——跨层封装于IP v4报头。
扩展:IP包头正常字节是20可填充最大达到60,每填充40个字节为一片。
协议号为89——三层报头里边会有一个协议号,类似于端口号作用(ACL拦截89相当于干掉了OSPF协议[r1-acl-adv-3000]rule deny 89 source 192.168.1.1 0.0.0.0 destination 192.168.1.2 0.0.0.0
)。
报头标签 | 含义 | 备注 |
---|---|---|
Version Number | 版本号 | 现学v2版,IP v6 用v3版本 |
Type | 类型号 | 共5种类型,1-hello包,2-DBD包;3-LSR包;4-LSU包;5-LSack包 |
Packet Length | 数据包长度 | |
Router ID | 相当于路由器编号 | 每个编号唯一,采用了IP地址规则 |
Area ID | 区域ID | OSPF有区域划分规则 |
Checksum | 校验和 | 用于检测数据包完整性 |
Authentication Type | 认证类型 | 有3种,不做认证即为空;明文认证;密文认证 |
Authentication | 认证密码 | 明文密码或者密文密码 |
Data | 数据 | 以上是5个包都共有的,是OSPF的标准包头结构,只有这一部分的内容是每个OSPF数据包所不同的 |
四、OSPF的数据包类型
OSPF存在5种不同类型的数据包:
包名 | 用途 | 备注 |
---|---|---|
Hello包 | 邻居、邻接的发现、建立,周期保活 | hello time 10s或30s ;dead time为hello time 4倍;防止单向链路故障——只能收或只能发 |
DBD 包(Database Description) | 数据库描述包 ——相当于数据库目录 | 因为OSPF更新量过大,这个包的存在可以减少更新量,排查重复的信息 |
LSR 包 (Link-State Request) | 链路状态请求 | 询问本地没有的拓扑信息 |
LSU 包(Link-State Update) | 链路状态更新,真正传递路由拓扑信息的包,内部携带具体的LSA信息 | 最核心的包 |
LSack 包(Link-State Acknowlegment) | 链路状态确认包 | 保证可靠性 |
补充!!!:LSU内包含的是LSA(即链路状态通告 — 路由或者拓扑信息 ;在不同条件下产生不同类型的拓扑或路由信息,区域之内传拓扑,区域之间传路由信息)
五、OSPF的状态机
OSPF状态机标准7个,还存在第八个(扩展)。
每一个关系阶段就是一种状态