网络安全-园区网路由2
园区网路由
OSPF网络类型
七大状态
状态 | 状态描述 |
---|---|
Down | OSPF最开始的状态 |
Init | 初始化状态,收到对端发来Hello报文后状态为Init,但Hello报文中不含自己的Router ID |
two-way | 收到的Hello报文中包含有自己的Router ID ,则状态为2-way |
Exstart | 信息交换初始化状态,交互第一个DD报文,开始建立邻接状态 |
Exchange | 信息交换状态,交互其余所有的DD报文 |
Loading | 交互LSR,LSU,LSACK报文 |
Full | 完全邻接状态 |
- Down:发送hello报文
- Init:接收到邻居发来的hello报文,但是该hello报文中没有自己的router id
- Two-way:接收到的hello报文中,有自己的router-id,选举DR/BDR
- Exstart: 交互第一个dd 报文,确认主从关系,保证传输可靠
- Exchange:交互数据库描述信息
- Loading:数据库同步
- Full:完全邻接状态
建立邻居关系
- OSPF使用Hello报文发现和建立邻居关系
- 在以太网链路上,缺省时,OSPF采用组播的形式发送Hello报文(目的地址224.0.0.5)
- OSPF Hello报文中包含了路由器的RouterID、邻居列表等信息
同步数据库
DD报文部分字段解释
- I:当发送连续多个DD报文时,如果这是第一个DD报文,则置为1,否则置为0
- M (More):当发送连续多个DD报文时,如果这是最后一个DD报文,则置为0。否则置为1,表示后面还有其他的DD报文
- MS (Master/Slave):当两台OSPF路由器交换DD报文时,首先需要确定双方的主从关系,RouterID大的一方会成为Master。当值为1时表示发送方Master
- DD sequence number:DD报文序列号。主从双方利用序列号来保证DD报文传输的可靠性和完整性
OSPF网络类型
为什么要有网络类型
- 因为OSPF运行在不同的链路层就会有不同的问题,比如运行在以太网,默认为广播的网络环境下,就会存在共享网段中邻居数量多的问题,占用设备资源的问题,所以有了多种网络类型来适应不同的网络环境
OSPF有四种网络类型
- 广播类型(Broadcast)
- 非广播类型(NBMA)
- 点到点类型(P2P)
- 点到多点类型(P2MP)
链路层协议
当链路层协议是Ethernet,OSPF网络类型默认是Broadcast
当链路层协议是fr(帧中继)时,国内都已经不用了,OSPF运行在这个网络环境中,默认使用NBMA的网络类型 (不常见)
数据链路层运行的协议为PPP或者HDLC时,默认的网络类型为P2P
点到多点就是多个点到点(不常见)
DR和BDR
广播网络中的问题
一个共享网段中,存在多个OSPF路由器,同步信息效率低
- 任何一台路由器都会与其余所有路由器建立邻接关系,会形成n*(n-1)/2个邻接关系,管理复杂
- 重复的发送和接收数据库信息,浪费带宽和设备资源
DR
DR(Designated Router):指定路由器
- 其他所有路由器都与DR建立邻接关系,和DR交换链路状态信息
- 其他路由器之间不建立邻接关系,不直接交换链路状态信息
BDR
BDR(Backup Designated Router):备份指定路由器
- 为了规避单点故障风险,通过选举BDR,在DR失效时快速接管DR的工作
- 当一个网段中,具有多个ospf路由器的时候,为了快速和可靠的实现ospf数据库同步,需要指定一个路由器,也就是DR
- 选举为DR后,本网段中其他所有路由器,仅仅和DR同步消息,所以DR就拥有全部的数据库信息,所以DR非常重要
- 如果DR一旦出现故障,会导致DR与其他所有的路由器的邻接关系失效,数据库无法同步信息,也无法进行路由计算和数据转发
- 所以为了规避单点故障风险,会选举备份指定路由器,也就是BDR
- 在DR失效时,BDR可以快速接管DR的工作
DR和BDR的作用
- 减少邻接关系,降低设备负担
- 降低OSPF协议流量
- 加快数据库同步
DR与BDR的选举规则
DR/BDR的选举是非抢占式的
DR/BDR的选举是基于端口的
- 接口的DR优先级越大越优先
- 接口的DR优先级相等时,RouterID越大越优先
每个网段中DR只有一个,BDR可以没有,DR必须有一个,如果没有DR,邻居将会一直卡在Two-way状态,无法建立邻接,无法full
当DR优先级为0时,不参加DR选举,直接变成DR-other
哪个接口先配置IP地址和OSPF,哪个接口会成为DR
不同网络类型中DR与BDR的选举操作
OSPF网络类型 | 是否选举DR | 是否和邻居建立邻接关系 |
---|---|---|
P2P | 否 | 是 |
Broadcast | 是 | DR与BDR、DRother建立邻接关系,BDR与DR、DRother建立邻接关系,DRother之间只建立邻居关系 |
NBMA | 是 | DR与BDR、DRother建立邻接关系,BDR与DR、DRother建立邻接关系,DRother之间只建立邻居关系 |
P2MP | 否 | 是 |
路由器接口的角色分类
- DR:指定路由器
- BDR:备份指定路由器
- DR-other:其他路由器
- 同网段中,接口既不是DR,也不是BDR,就是DR-other
路由器接口的角色概述
- DR,BDR,DR-other都是指的接口,不是指的路由器
- 是在同一网段中选举DR,不是在一个区域中选举DR
- 在运行OSPF的路由器的多个接口角色可能相同,也可能不同
- 比如:同一台路由器1个接口是DR,另外1个接口是DR-other
DR优先级
查看接口的DR优先级
1 | [R1]display ospf interface |
优先级默认为1
修改接口的DR优先级
1 | [R1-GigabitEthernet0/0/0]ospf dr-priority 100 //修改接口优先级为100 |
OSPF数据库
OSPF数据库
OSPF数据库
- OSPF数据库中,包含的是自己的链路状态信息,以及从邻居设备所学习过来的链路状态信息
- 而OSPF协议,正是通过链路状态信息,才可以将最终的路由条目计算出来,用于指导数据转发
查看OSPF数据库
1 | <R1>display ospf lsdb |
LSDB:链路状态数据库
- 作用:存储LSA
LSA:链路状态通告
- LSA是什么:用于计算路由的网段信息和拓扑信息
- 拓扑信息:拓扑图(我是谁,我连着谁)
- 网段信息:IP地址,掩码,cost值
- 拓扑信息和网段信息作用是什么? 计算路由, 他们都属于计算路由的源材料
- 所以:LSA包含就是拓扑信息和网段信息,而拓扑信息和网段信息又是计算路由的原材料
- 所以LSA就是计算路由的原材料
- 数据库同步的过程,其实就是,邻居之间,LSA交换的过程
OSPF数据库解析
查看OSPF数据库
1 | <R1>display ospf lsdb |
LSA结构
LSA结构
- Type:类型:表示的是LSA的各种类型
- LinkState ID:名字:表示的是LSA的名字
- AdvRouter:通告路由器:表示的是产生这个LSA的路由器的router-id
- Age:年龄:表示的是LSA的老化时间,最大时间是3600s
- Len:长度:表示的是LSA的大小(单位是字节)
- Sequence:序列号:表示的LSA的新旧程度,数值越大表示越新
- Metric:度量值:表示链路的度量值
常见的LSA类型
类型 | 名称 | 描述 |
---|---|---|
1 | 路由LSA (Router LSA) |
每个设备都会产生,描述了区域内路由器的网段信息、拓扑信息与开销值 |
2 | 网络LSA (Network LSA) |
由DR产生,辅助1类LSA完善区域内的拓扑信息和掩码 |
3 | 网络汇总LSA (Network Summary LSA) |
由ABR产生,描述区域内某个网段的路由,该类LSA主要用于区域间路由的传递 |
4 | ASBR汇总LSA (ASBR Summary LSA) |
由ASBR产生,描述到ASBR的路由 |
5 | AS外部LSA (AS External LSA) |
由ASBR产生,用于描述到达OSPF的外部路由 |
7 | 非完全末梢区域LSA (NSSA LSA) |
由ASBR产生,用于描述到达OSPF的外部路由 |
Router LSA详解
Router LSA详解
Router LSA(1类LSA):
- 每台OSPF路由器都会产生
- 它描述了该路由器的拓扑信息、接口网络信息、度量值
- Router LSA只能在所属的区域内传播
1 | <R2>display ospf lsdb router 2.2.2.2 //查看名字为2.2.2.2的LSA |
LSA的三元组:链路状态类型、链路状态ID、通告路由器三元组唯一地标识了一个LSA
判断LSA新旧:链路状态老化时间、链路状态序列号 、校验和用于判断LSA的新旧
Link Type | Link ID | Link Data |
---|---|---|
Point-to-Point(P2P):描述一个从本路由器到邻居路由器之间的点到点链路,属于拓扑信息 | 邻居路由器的Router ID | 宣告该Router LSA的路由器接口的IP地址 |
TransNet:描述一个从本路由器到一个Transit网段(例如MA或者NBMA网段)的连接,属于拓扑信息 | DR的接口IP地址 | 宣告该Router LSA的路由器接口的IP地址 |
stubNet:描述一个从本路由器到一个stub网段(例如Loopback接口)的连接,属于网段信息 | 宣告该RouterLSA的路由器接口的网络IP地址 | 该Stub网络的网络掩码 |
Network LSA详解
Network LSA详解
Network LSA(2类LSA):
- 由DR产生,描述本网段的链路状态,在所属的区域内传播
- Network LSA记录了该网段内所有与DR建立了邻接关系的OSPF路由器,同时携带了该网段的网络掩码
1 | [R2]display ospf lsdb network 192.168.23.2 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Nicopilot!