OSPF----
开放式最短路径优先协议
1
、
RIP
是基于跳数选路的
----
跳数小的优,不会考虑带宽问题,可能会导致选路不佳
2
、
RIP
的占用资源过多
---30S
的周期更新,使得链路中充斥着大量的广播报文
3
、仅支持小规模网络
----RIP
支持最大
基本概念
OSPF
是一个标准的
IGP
协议(
AS
内部使用)
OSPF
的协议算法是
链路状态型协议
-
font>--->
传递拓扑
OSPF
版本
OSPFv1
、
OSPFv2
、
OSPFv3
OSPF
是携带真实掩码的(无类别的路由协议)
优先级
----10
(华为)
开销值:参考带宽
/
实际带宽(华为默认的参考带宽
100Mbps
)
OSPF
是跨层封装协议
----
协议号为
89
OSPF
协议特点
OSPF
传递的不是路由,是
LSA
(链路状态通告)
OSPF
的更新方式
触发更新
30min
的周期链路状态刷新
OSPF
算法叫做
SPF
算法
OSPF
是一种比较消耗路由器资源的协议,并且也会消耗链路资源
更新方式
使用组播
224.0.0.5
(所有
OSPF
路由器)
224.0.0.6
(一个
MA
网络中的
DR/BDR
接收的信息地址)
OSPF
区域化结构
OSPF
为了适应大中型网络环境,进行了结构化部署
----
区域划分
我们把只有一个区域的
OSPF
网络称为单区域
OSPF
网络
我们把只有多个区域的
OSPF
网络称为多区域
OSPF
网络
区域划分的特点
区域内部传递拓扑信息,区域间传递路由信息
区域划分的
标准是基于路由器的接口
的
区域的编号
----
帮助设备区分信息的不同来源、方便管理
32
位二进制组成,也是点分十进制表现形式
区域编号为
0
的区域
--->
他被称为
骨干区域(有且只有一个)
,其他编号的区域被称为非
骨干区域
在单区域网络中,这个区域一定是骨干区域
。
在多区域网络中,所有的
非骨干区域必须和骨干区域直接相连
。
区域边界路由器
----ABR
同时属于多个区域,并且一个接口对应一个区域,且至少有一个接口是属于区域
0
的
区域间可以存在多个
ABR
,一个
ABR
也可以对应多个区域
自治系统边界路由器
----ASBR
同时属于多个网络,例如某台路由器既属于
OSPF
网络,又属于
RIP
网络
为什么要区域划分
限制
LSA
的传播范围
减少
LSA
的数量
OSPF 的工作过程: 5 种数据包、 7 种状态机、 2 种关系、 3 种接口角色、 4 种路由器角色与 3 张表
OSPF
数据包类型
hello
包
周期保活、发现、建立
邻居关系
10s hello-time
死亡时间
hold-time====4
倍的
hello
包时间
如果在死亡时间内没有接收到对端邻居发送的
hello
报文,则认为邻居不存在
Router-ID
全网唯一,标识路由器的身份
32
位二进制组成,由点分十进制形式表示
DBD
包
数据库表述报文
内部包含了所有的拓扑的
目录
信息
LSR
包
链路状态请求报文
请求获取未知的链路信息
LSU
包
路状态更新报文
携带真正的
LSA
信息的数据包
LSAck
包
链路状态确认报文
OSPF
七种状态机
![](https://i-blog.csdnimg.cn/blog_migrate/a2f5519614a930e6075b9d2a5138ce5f.png)
down
:关闭状态
----
一旦启动
OSPF
协议后,则发出
Hello
报文,进入
init
状态
init:初始化状态
---
收到的
Hello
报文中包含本地的
Rid
时,进入下一状态
2-way:双向通信
----
邻居关系
建立的标志
条件匹配:匹配成功进入下一状态,匹配失败,则停留在邻居关系
exstart:预启动状态
---
使用未携带信息的
DBD
报文进行主从关系的选举,
RID
大为主
exchange:准交换状态
---
使用携带了目录信息的
DBD
报文进行目录共享
loading:加载状态
----
接收到LSR后进入该状态,在该状态中使用LSR/LSU/LSAck三种报文来获取完整的拓扑信息
full:转发状态
---
拓扑交换完成后进入,该状态是
邻接关系
建立的标志
条件匹配
三种接口角色
指定路由器---DR
备份指定路由器----BDR
其他路由器---DROther
OSPF
成为邻接关系的条件
---
根据网络类型不同而不同
MA网络(以太网)类型
点到点网络类型
角色之间的关系
DR与
BDR---
邻接
DR与
DRother---
邻接
BDR与
DRother---
邻接
DRother与
DRother----
邻居
选举规则
接口优先级(0-255
),优先级越大,则越优。华为默认为
1
比较RID
,越大越优先
选举的范围
一个广播域,进行一次DR/BDR
的选举
选举模式
非抢占性的
一旦选举成功,不会因为新加入的设备而重新选举
若需要重新选举,则需要重启OSPF进程
reset ospf 1 process
在一个
MA
网络中,可以没有
BDR
,但是一定要有
DR
OSPF
工作过程
1、OSPF
协议启动后,路由器
A
向本地所有启动了
OSPF
协议的
直连接口
,使用组播地址
224.0.0.5
发送 hello报文;
hello
报文中携带了本地的全网唯一的
RID
值;之后对端路由器
B
也将回复
hello
报文,该 hello报文中若携带了对端
A
的
RID
值,则
A
与
B
建立
邻居关系
,并生成
邻居表
。
2、邻居关系建立后,邻居间进行条件匹配,匹配失败就停留在
邻居关系
,仅使用
hello
报文保活;若条 件匹配成功,则可以开始建立
邻接关系
。
3、邻接间共享
DBD
报文,将本地与邻接的
DBD
包进行对比,查找本地没有的
LSA
信息,之后使用
LSR 报文来询问,对端使用LSU
报文来回复具体的
LSA
信息,之后本地使用
LSAck
报文进行显性确认,该 过程完成后,生成
数据库表(
LSDB
表)
。
4在之后,本地基于数据库表,启用
SPF
算法,计算到达所有未知网段的最短路径,然后将其加载到 本地的
路由表
中。此时收敛完成。
5、最后,邻接间使用
hello
报文进行保活,并进行
30min
的周更刷新。
结构突变
1、新增网络
直接使用更新包(LSU
)告知邻居路由器
2、断开网段
直接使用更新包告知邻居路由器
3、无法沟通
hello
包
10s
发送一次,若
40s
时间未接收到对端发来的
hello
报文,即超出死亡时间
断开邻接关系,删除路由
基本配置
![](https://i-blog.csdnimg.cn/blog_migrate/d5be745dfbddc83f52b49d923d599020.png)
[r1]ospf 1 router-id 1.1.1.1 // 启动 OSPF 进程 1 ,并配置 rid 为 1.1.1.1如果不进行手工配置RID,最大环回 IP 地址 > 最大物理接口 IP 地址[r1-ospf-1]area 0 // 进入骨干区域[r1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255 // 宣告,使用反掩码的形式宣告;反掩码:32位二进制,使用点分十进制表示,由连续的 0 和连续的 1 组成, 0 表示 IP 的对 应位不变,1 表示 IP 对应位可变[r1-ospf-1-area-0.0.0.0]network 12.1.1.1 0.0.0.0[r1-ospf-1-area-0.0.0.0]network 0.0.0.0 255.255.255.255
OSPF
邻居表
[r1]display ospf peer //
查看邻居表
[r1]display ospf peer brief //查看邻居简表
OSPF
数据库表
[r2]display ospf lsdb //查看数据库简表
OSPF
路由表
[r1]display ip routing-table protocol ospf
OSPF
扩展配置
修改参考带宽
[r1-ospf-1]bandwidth-reference 1000
一台设备修改参考带宽后,所有设备均需要修改
修改接口优先级
[r3-GigabitEthernet0/0/0]ospf dr-priority 0
当修改接口优先级为
0
时,则认为不参与选举
缺省路由(默认路由)
----
一般在
ABR
上配置
[r1]ospf 1 router-id 1.1.1.1 //
启动
OSPF
进程
1
,并配置
rid
为
1.1.1.1
如果不进行手工配置
RID
,最大环回
IP
地址
>
最大物理接口
IP
地址
[r1-ospf-1]area 0 //
进入骨干区域
[r1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255 //
宣告,使用反掩码的形式宣告;
反掩码:
32
位二进制,使用点分十进制表示,由连续的
0
和连续的
1
组成,
0
表示
IP
的对
应位不变,
1
表示
IP
对应位可变
[r1-ospf-1-area-0.0.0.0]network 12.1.1.1 0.0.0.0
[r1-ospf-1-area-0.0.0.0]network 0.0.0.0 255.255.255.255
非强制性下发
[r3-ospf-1]default-route-advertise //
路由器中必须有缺省路由存在
强制性下发
[r3-ospf-1]default-route-advertise always
静默接口
不接不发,一般在连接用户的接口配置
[r3-ospf-1]silent-interface GigabitEthernet 0/0/1
认证支持在邻居间的接口上配置认证秘钥
认证类型
不认证---0
明文认证-1
密文认证-2
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
双方都要配置,并且key ID
保持一致
OSPF
与
RIP
的对比
根本区别
OSPF是基于链路状态的协议,RIP
是基于距离矢量的协议
交换技术
VLAN----
虚拟局域网
VLAN
技术通过在交换机上配置
VLAN
机制,将一个大的交换网络在逻辑上划分成多个小的交换网络。
VLAN
的基本原理
![](https://i-blog.csdnimg.cn/blog_migrate/f64c4f14baf7786cf18d8982434109c6.png)
VLAN帧格式
VLAN
的类型
基于端口的VLAN----
一层
VLAN
在接口进行配置,将vlan编号映射到交换机物理接口
从该接口进入的帧都将被认为是该vlan
最常用的方式
基于MAC
地址的
VLAN----
二层
VLAN
配置一个vlan和
mac地址的映射关系,当数据帧进入交换机时,交换机会查询该映射关系表根据不同的源MAC地址来划分不同的
vlan
一般用于PC接入交换机的端口会发送变化的情况
。
基于协议的VLAN----
三层
VLAN
根据帧中的不同协议来划分。
端口类型
Access端口
一般用于交换机与终端设备相连的接口
假设此时有一个Access端口,其
VID
为
2
,从这个端口进入的数据包,都会被规划到
vlan2
,而从这个端口发出的vlan
则必须是
vlan2
的数据包,并且删除
vlan
的字段
Trunk端口
一般用于交换机与交换机相连的接口
Hybrid端口
同时具备Access和
Trunk
端口的功能,是一种工作机制及其灵活的端口
VLAN的配置
第一步,在交换机上创建
VLAN
配置命令
[sw1]vlan 2-----创建vlan2
;默认情况下交换机存在
vlan1
,并且所有接口属于
vlan1
VID
VLAN ID:用来标识和区分VLAN
取值范围0-4095;其中,
0
和
4095
保留不能使用,可使用的范围是
1-4094
[sw1]vlan batch 4 10 20 ----同时批量的创建
vlan4
、
10
、
20
[sw1]vlan batch 30 to 60 ---同时批量的创建
vlan30
到
vlan60
第二步,将接口划入
VLAN
[sw1]interface GigabitEthernet 0/0/1 //进入接口
[sw1-GigabitEthernet0/0/1]port link-type access // 将接口类型更改为 access[sw1-GigabitEthernet0/0/1]port default vlan 2 // 将接口划分给 vlan 2
[sw1]display vlan summary // 查看 vlan 简表[sw1]display vlan // 查看 vlan 表
第三步,配置
Trunk
干道
配置位置,交换机与交换机相连的接口
配置命令
[sw1]interface GigabitEthernet 0/0/3 //进入与其他交换机相连的接口
[sw1-GigabitEthernet0/0/3]port link-type trunk // 修改接口类型为 trunk[sw1-GigabitEthernet0/0/3]port trunk allow-pass vlan 2 3 // 在 trunk 的允许通过列表中加入vlan2 和 vlan3注意:不再 trunk 的允许列表中的 vlan 不允许通过该接口,并且, trunk 的配置是双向的。[sw1-GigabitEthernet0/0/3]port trunk allow-pass vlan all // 代表放通 所有vlan
VLAN
之间通讯
多臂路由实现VLAN
间通讯
单臂路由实现VLAN
间通讯
单臂路由就是通过对路由器的物理接口划分子接口的方式进行数据转发。
子接口是基于路由器以太网接口所创建的逻辑接口,以物理接口ID+子接口
ID
进行标识,子接口具备同物理接口一样的三层路由转发功能。
子接口不同于物理接口,子接口可以处理携带VLAN Tag
的数据帧。
当收到携带与自己相同属性的VLAN Tag的数据包时,将剥离该标签。
当需要发送一个数据时,则会将自己所属的VLAN Tag加入到该数据包中。
基于一个物理接口所创建的子接口,可以有多个。该物理接口所连接的交换机的Trunk
接口,需要放通多个
VLAN
。
配置
第四步,针对于三层设备
[r1]interface GigabitEthernet 0/0/0.1 //创建子接口
[r1-GigabitEthernet0/0/0.1]ip address 192.168.1.254 24 // 配置网关 IP 地址[r1-GigabitEthernet0/0/0.1]dot1q termination vid 2 // 开启路由器子接口 处理vlan 标签的功能,并定义其处理的 vlan 为 2 ,默认不开启[r1-GigabitEthernet0/0/0.1]arp broadcast enable // 开启子接口的 ARP 功 能,因为我们的PC 在第一次通讯的时候需要请求网关的 MAC地址,而子接口(虚拟接口)默认 不进行ARP应答。
三层交换机(具备路由功能的交换机)实现VLAN
间通讯
三层交换机的
SVI
接口
二层交换机指的是仅具备二层交换功能的交换机。
三层交换机,除了具备二层交换机的所有功能外,还支持通过三层接口实现路由转发的功能。
三层交换机对于
VLAN
数据包的通讯经过了四个接口。
VLANif接口是一种三层的逻辑接口,支持
VLAN Tag
的剥离和添加操作,因此可以通过
VLANif
接口 实现VLAN
间通讯。
子接口与
SVI
接口对比
子接口本身并不具备对标签的处理功能。而SVI接口具备。
子接口本身通讯需要开启ARP
功能,而
SVI
接口不需要。
VLANif
接口编号与所对应的
VLAN ID
相同。
[sw3]vlan batch 2 3 // 创建 vlan[sw3-GigabitEthernet0/0/1]port link-type trunk[sw3-GigabitEthernet0/0/1]port trunk allow-pass vlan 2 3[sw3]interface Vlanif 2 // 创建 VLANif 接口,且编号为 2. 该接口可以处理 vlan2 的标签。[sw3-Vlanif2]ip address 192.168.1.254 24
ACL
技术
----
访问控制列表
网络安全
网络管理---SNMP
协议
ACL
原理
配置了ACL
的网络设备会根据事先设定好的报文匹配规则对经过该设备的报文进行匹配,然后对报 文执行预先设定好的处理动作。
ACL是一张表,就是一系列规则的集合。
ACL
功能
访问控制:在设备的流入或流出接口上,匹配流量,然后执行设定的动作
流量的流入或者流出是一个相对的概念
动作
permit----允许
deny---拒绝
抓取流量
因为ACL经常与其他协议共同使用,所以
ACL
一般只做匹配流量的作用,而对应的动作由其他协议完成。
路由策略、策略路由、防火墙、QoS技术
ACL
的匹配规则
自上而下,逐一匹配。
匹配上则按照该规则进行执行,不再向下匹配。
未匹配上,则执行默认规则。
在思科设备上,ACL访问控制列表的最后隐含条件:拒绝所有规则。
在华为设备上,ACL访问控制列表的最后隐含条件:允许所有规则
ACL
分类
基本ACL
只能基于IP报文的源
IP
地址、报文分片标记和时间段信息来定义规则
编号:2000-2999(用于区分不同的列表)
高级ACL
可以基于IP报文的源目
IP
地址、源目端口号、协议字段、
IP
报文优先级、报文长度等信息来定 义规则
编号:3000-3999
二层ACL
使用报文的以太网帧头信息来定义规则
编号:4000-4999
用户自定义ACL
即可以使用IPv4报文的源
IP
地址,也可以使用目的
IP
地址,协议类型、甚至使用
ICMP
、
TCP、
UDP、
IPv6
等协议的各类字段信息来定义规则
编号:5000-5999
需求一
:
PC1
可以访问
192.168.2.0
网段,而
PC2
不行
分析结果
仅对源有要求,配置基本ACL即可。
基本ACL
配置位置
由于基本ACL
仅关注数据包中的
源
IP
地址
,故配置时需尽量靠近目标,避免对其他地址访问误
伤;
假设此时,在R1
上配置,那么它不仅仅是无法到达
192.168.2.0
网段,其余网段也不可以
配置
[r2]acl 2000 // 创建基本 acl 列表[r2-acl-basic-2000]rule deny source 192.168.1.2 0.0.0.0 // 配置规则,拒绝 源IP地址为192.168.1.2 的地址通过 0.0.0.0 这个字符串 ---> 通配符( 0 代表不可变, 1 代表可变)[r2-acl-basic-2000]rule 8 permit source any // 允许所有 该数字是规则的序列号,华为默认步长为5 ,如果未指定规则的序列号,则每条规则都是从前 一条规则的序列号+5 得出,方便后期在任意两条规则中间加入或者删除规则。[r2-GigabitEthernet0/0/1]traffic-filter outbound acl 2000 // 在 0/0/1 接口调用 ACL2000 ,且方向为出方向。 一个接口的一个方向只能调用一张ACL 列表;但是一张 ACL 列表可以在不同的地方多次调用。[r2]display acl 2000 // 查看 ACL 列表[r2-acl-basic-2000]undo rule 8 // 删除已存在的 ACL 规则
例 1 :仅允许 192.168.1.1 通过rule permit source 192.168.1.1 0.0.0.011000000.10100100.00000001.0000000100000000.00000000.00000000.00000000例 2 :拒绝 192.168.1.2 和 192.168.1.3 通过rule deny source 192.168.1.2 0.0.0.111000000.10100100.00000001.0000001 100000000.00000000.00000000.00000001例 3:拒绝 192.168.1.0/24 网段中的所有单数 IP 地址通过rule deny source 192.168.1.1 0.0.0.25411000000.10100100.00000001.0000000100000000.00000000.00000000.11111110例 4 :192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.411000000.10100100.00000001.0000000111000000.10100100.00000001.0000001011000000.10100100.00000001.0000001111000000.10100100.00000001.0000010000000000.00000000.00000000.00000111例 5 :192.168.1.1 192.168.1.10 192.168.1.16 192.168.1.6811000000.10100100.00000001.0000000111000000.10100100.00000001.0000101011000000.10100100.00000001.0001000011000000.10100100.00000001.01000100 00000000.00000000.00000000.01011111
需求二
:要求
PC1
可以访问
PC3
,但是不能访问
PC4
分析:对目标有要求,需要使用高级
ACL
技术
高级
ACL
的配置位置
由于高级
ACL
对流量进行了精准匹配,可以避免误伤,所以调用时应当尽量靠近源,减
少链路资源的占用。
配置
[r1]acl 3100 // 创建高级 ACL 列表[r1-acl-adv-3100]rule 5 deny ip source 192.168.1.1 0 destination 192.168.2.2 0设置检测 IP 报文的源目地址[r1-GigabitEthernet0/0/1]traffic-filter inbound acl 3100 // 调用
需求三
:要求
PC1
可以
ping
通
R2
,但是不能
telnet R2
![](https://i-blog.csdnimg.cn/blog_migrate/8dbd7d739819f8562c95b33d1c215b14.png)
分析
需求中包含telnet
,也就是涉及了
TCP
或
UDP
的端口。使用高级
ACL
配置
[r1]acl 3000[r1-acl-adv-3000]rule deny tcp source 192.168.1.1 0 destination 2.2.2.20 destination-port eq 23 //拒绝 TCP 协议,源为 192.168.1.1 目的 1.1.1.1 ,端口号为 23 的数据流量[r1-acl-adv-3000]rule 10 deny tcp source 192.168.1.1 0 destination 2.2.2.2 0 destination-port eq telnet //两种方式二选一[r1-GigabitEthernet0/0/1]traffic-filter inbound acl 3000 // 调用