目录
一、动态路由评判标准
1、选路佳
跳数--选路依据不够合理;
选择的路径可能成环;
OSPF--开放式的最短路径优先算法;
收集(LSA )拓扑信息---形成有向图--最短路径树(无环的结构)--OSPF算法计算得出路由。
2、收敛快
OSPF也存在计时器,并且计时器的周期小于RIP。
3、资源占用
单个数据包--OSPF数据包包含的信息很多;
整体很大;
OSPF采用很多办法去解决资源占用。
二、RIP和OSPF的相同点
RIP v1 v2--ipv4
RIP NG---ipv6
OSPF v1 v2 ---ipv4
OSPF v3 ---ipv6
RIP和OSPF都是无类别的动态路由协议,可以进行汇总和子网划分;
RIP都是使用组播发送数据包--RIP-224.0.0.9 OSPF 224.0.0.5 224.0.0.6;
都支持等开销负载均衡。
不同点:
RIP只能用在中小型网络;
OSPF可以适用于中大型的网络(80%网都是靠OSPF实现的)。
三、结构化部署---区域划分
AS--自治系统
OSPF区域
OSPF区域内部传递的是拓扑信息
区域之间传递路由信息
链路状态路由协议的矢量特征---OSPF具有RIP区域之间传递路由信息的特点。
四、ABR--区域边界路由器
必须同时属于两个区域;
OSPF区域划分也得根据实际情况---没有规定大小;
如果进行了区域划分--称为多区域OSPF;
如果没有进行区域划分--称为单区域OSPF;
OSPF设计了区域ID--->area ID --32位二进制构成--由点分十进制表示-->为了区和标识不同的区域。
五、OSPF--区域划分的规则
必须存在ABR--必须存在一个路由器同时属于多个个区域,可以存 在多个ABR起到备份作用,必须存在接口属于0。
OSPF区域划分必须按照星型结构划分;
骨干区域位于的区域ID是 area 0=0.0.0.0。
六、OSPF数据包
1、Hello包
- 用来周期性的发现建立和保活邻居关系;
Hello时间--10s发送一次;
死亡时间(Dead time)--默认等于四倍的hello时间--40s。
OSPF在某些特殊的环境下,会出现每30s发送一次hello包的情况;
ROUTER-ID(RID)---用来区分和标识不同的OSPF路由器的身份--由32位二进制构成。具有唯一性、格式统一(按照IP 地址的格式去执行)的特点;
设备获取RID的方法
手工配置
自动生成
如果路由器配置了环回地址,那么它会选择环回地址中最大的作为自身的RID;如果路由器没有环回地址,则会选择接口IP地址最大的作为自身的RID。
2、DBD包
数据库描述包,相当于目录,LSDB数据库(Link State Database)-- 用来存储LSA(拓扑信息)。
3、LSR包
链路状态请求包,用来请求本地没有的LSA信息。
4、LSU包
链路状态更新包,真正携带LSA信息的数据包进行发送。
5、LSACK包
链路状态确认包,对对方发送过来的LSA信息收到进行确认。
七、OSPF状态机
1、Down状态
启动ospf,发送hello包进入下一个状态。
2、Init(初始化)状态
收到的hello包中有本地的RID时则进入下一 个状态。
3、Two - way(双向通讯)状态
标志着邻居关系的建立。 (条件匹配)匹配成功则进入下一个状态,否则,停留在邻居关系, 仅依靠hello包进行周期保活。
4、Exstart(预启动)状态
使用未携带信息的DBD包进行主从关系 的选举,RID大的为主,优先进入下一个状态。
5、Exchange(准交换)状态
使用携带信息的DBD包进行目录共享, 需要ACK确认。
6、Loading(加载)状态
通过查看对端发来DBD包和本地的LSA信息 进行对比,基于未知的LSA信息发送LSR请求,对端发送LSU包,需要 ACK确认。
7、Full状态
标志着邻接关系的建立。
注:LSA(链路状态通告),具体的一条一条拓扑或者路由信息,基于LSU包进行传递,只有邻接状态才真正共享LSA信息。
八、OSPF的工作过程
1、建立邻居关系
启动配置完成后,OSPF将本地所有运行了OSPF协议的接口,以组播224.0.0.5(目标IP)周期的发送hello包(10s),hello包中将携带自己本地的RID,邻居接收到对端的RID将会把这些信息存储在邻居表。
2、条件匹配
如果条件匹配成功则进入下一个状态,如果匹配失败,则停留在邻居关系,需要hello包进行周期保活。
3、建立邻接关系
进行主从关系的选举,首先采用未携带真正数据(真正LSA摘要)的DBD包进行选举--对比RID,RID大的设备作为主设备,后续将由主设备优先共享自己的数据库摘要信息,同时也将由主设备先共享自己的LSA信息,之后使用LSR/LSU/LSACK获取本地未知的LSA信息,完成了本地lsdb的建立--形成本地链路数据库表。
4、完成收敛
基于自己本地的链路状态数据库,依靠OSPF算法形成有向图--最终计算得出路由--加载到自己本地的路由表中。
收敛完成后,将使用hello包周期保活,每30min进行周期更新,LSA有关。
九、OSPF的配置
1、配置进程ID
[r1]ospf ?
INTEGER<1-65535> Process ID
启动OSSPF进程,配置RID
[r1]ospf 1 router-id 1.1.1.1 #尽量手工配置RID
2、创建区域
[r1-ospf-1]area 0
3、宣告
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.255 --范围宣告
0.0.0.255--反掩码,32位二进制构成, 由连续的0或连续的1构成;
反掩码0代表不可变,1代表可变;
掩码为0的部分是网络位,相当于不可变;
精准宣告,相当于只宣告一个IP地址。
[r1-ospf-1-area-0.0.0.0]network 12.0.0.1 0.0.0.0
display ospf peer brief ----查看邻居简表
display ospf peer ----查看邻居表
display ospf lsdb ----查看数据库目录
display ospf lsdb router 2.2.2.2 ----查看指定RID的数据库表
十、扩展配置
1、手工认证
区域认证
本质任然是接口认证
[r1]ospf 1 #先进入OSPF进程
[r1-ospf-1]area 0 #进入区域
[r1-ospf-1-area-0.0.0.0]authentication-mode md5 1 plain 123456
接口认证
interface GigabitEthernet0/0/0 #进入接口
ospf authentication-mode md5 1 plain 123456
2、手工汇总
OSPF是区域汇总---ABR上进行配置
[r4-ospf-1]area 0—进入对应的区域
[r4-ospf-1-area-0.0.0.0]abr-summary 172.16.0.0 255.254.0.0—汇总(掩码只能写点分 十进制)
3、沉默接口
[r5]ospf 1 #先进入OSPF进程
[r5-ospf-1]silent-interface GigabitEthernet 0/0/1
4、加快收敛
[r4-GigabitEthernet0/0/1]ospf timer hello 5
只需要接口改变hello时间 死亡时间默认会根据4被的关系,自动修改。
结论:所有接口都需要修改
5、缺省路由
[r5-ospf-1]default-route-advertise —配置位置,ospf进程中 必须得自身存在一条缺省才能给其他的设备下发缺省
[r5-ospf-1]default-route-advertise always —强制下发缺省
6、修改DR/BDR优先级
数值越大优先级越高,默认为1,取值范围0—255,若为0代表不参选;若优先级相同,比较参选设备的RID值,越大越优。
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ospf dr-priority 0
十一、交换--交换机相关的技术
VLAN--虚拟局域网
LAN--局域网
MAN--城域网
WAN--广域网
1、VLNA定义
一个VLAN相当于是一个广播域
VLAN---是通过路由器和交换机协同工作后,将原本的一个广播域逻辑上,拆分为多个虚拟的广播域。
2、VLAN配置
① 创建VLAN
[sw1]vlan ?
INTEGER<1-4094> VLAN ID---创建单个VLAN
[sw1]vlan batch 2 to 10 -- 批量创建VLAN
[sw1]undo vlan batch 2 to 10 -- 批量删除VLAN
② 将接口划分到VLAN中
一层VLAN/物理VLAN:将对应的接口划分到对应的VLAN中,相当于建立接口和VLAN的一种映射关系,从而实现VLAN的划分-
二层VLAN:将VLAN和MAC地址进行绑定,从而实现VLAN的划分
三层VLAN:因为以太网帧中存在类型字段,所以可以更具不同的IP流量(IPV4/IPV6),
映射对应的VLAN,从而实现VLAN的划分。
③ 接口分配类型
access接口类型
[sw1-GigabitEthernet0/0/2]port link-type access
规定Access类型的链路传递 的是不携带标签的流量,交换机和PC相连的接口类型都是Access。
把接口放入VLAN 2
[sw1-GigabitEthernet0/0/2]port default vlan 2
Trunk链路
交换机和路由器之间的链路类型配置Trunk(如果这条链路承载多个VLAN的 流量)
[sw1]int g0/0/5
[sw1-GigabitEthernet0/0/5]port link-type trunk
[sw1-GigabitEthernet0/0/5]port trunk allow-pass vlan 2 to 3
3、跨网段通讯--需要借助路由器
因为一个物理接口不能同时服务多个 广播域,所以设计了一个虚拟接口—子接口
r1]int g0/0/0.1
[r1-GigabitEthernet0/0/0.1]ip address 192.168.2.1 24
让路由器的子接口服务某 个VLAN
[r1-GigabitEthernet0/0/0.1]dot1q termination vid 2
开启ARP广播功能
[r1-GigabitEthernet0/0/0.1]arp broadcast enable
十二、OSPF+VLAN综合实验
题目
R1、R2、R3为区域0,R3-R4为区域1;其中R3的用户也在区域0,R1-R2各有一个环回。
R1-R3 R3为DR设备,没有DBR。
R4环回地址以固定4.4.4.4/24;其中所有网段使用192.168.1.0/24进行合理的分配。
PC1在VLAN 2,PC2在VLAN 3。
R4环回不能宣告,全网可达,保障更新安全,避免环路,减少路由条目。
1、IP地址规划
在OSPF中,我们可以先根据区域划分子网,该图有两个区域,先划分两个子网,向主机位借一位即可 2^1=2
192.168.1.0/24
area 0 :192.168.1.0 0000000/25 = 192.168.1.0/25
area 2 :192.168.1.1 0000000/25 = 192.168.1.128/25
因为area 0中R1、R2、R3分别有一个环回和一个骨干线,所以需要划分四个子网,向主机位借2两位 2^2=4
area 0 192.168.1.0/25
骨干:192.168.1.0 00 00000/27 = 192.168.1.0/27
R1环回:192.168.1.0 01 00000/27 = 192.168.1.32/27
R2环回:192.168.1.0 10 00000/27 = 192.168.1.64/27
R3用户网段:192.168.1.0 11 00000/27 = 192.168.1.96/27
因为area 1只有1个广播域,所以不需要划分子网,只有两个路由器直连,则直接把掩码写到30位,更节约IP地址资源。即192.168.1.0/30
2、IP地址配置
R1
<Huawei>system-view
[Huawei]sysname r1
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ip address 192.168.1.1 27
[r1-GigabitEthernet0/0/0]int lo0
[r1-LoopBack0]ip address 192.168.1.33 27
R2
<Huawei>system-view
[Huawei]sysname r2
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ip address 192.168.1.2 27
[r2-GigabitEthernet0/0/0]int lo0
[r2-LoopBack0]ip address 192.168.1.65 27
R3
<Huawei>system-view
[Huawei]sysname r3
[r3]int g0/0/0
[r3-GigabitEthernet0/0/0]ip address 192.168.1.3 27
[r3-GigabitEthernet0/0/0]int g0/0/1
[r3-GigabitEthernet0/0/1]ip address 192.168.1.129 30
R4
<Huawei>system-view
[Huawei]sysname r4
[r4]int g0/0/0
[r4-GigabitEthernet0/0/0]ip address 192.168.1.130 30
[r4-GigabitEthernet0/0/0]int lo0
[r4-LoopBack0]ip address 4.4.4.4 24
PC1
PC2
3、VLAN划分
配置SW2
<Huawei>system-view
[Huawei]sysname sw2
[sw2]vlan batch 2 to 3
[sw2]int g0/0/2
[sw2-GigabitEthernet0/0/2]port link-type access
[sw2-GigabitEthernet0/0/2]port default vlan 2
[sw2-GigabitEthernet0/0/2]int g0/0/3
[sw2-GigabitEthernet0/0/3]port link-type access
[sw2-GigabitEthernet0/0/3]port default vlan 3
[sw2-GigabitEthernet0/0/3]int g0/0/1
[sw2-GigabitEthernet0/0/1]port link-type trunk
[sw2-GigabitEthernet0/0/1]port trunk allow-pass vlan 2 to 3
配置R3单臂路由
[r3]int g0/0/2.1
[r3-GigabitEthernet0/0/2.1]ip address 192.168.1.97 28
[r3-GigabitEthernet0/0/2.1]dot1q termination vid 2
[r3-GigabitEthernet0/0/2.1]arp broadcast enable
[r3-GigabitEthernet0/0/2.1]int g0/0/2.2
[r3-GigabitEthernet0/0/2.2]ip address 192.168.1.113 28
[r3-GigabitEthernet0/0/2.2]dot1q termination vid 3
[r3-GigabitEthernet0/0/2.2]arp broadcast enable
配置之后进行看PC机是否可以互相访问
4、启动OSPF宣告
R1宣告环回和接口
[r1]ospf 1 router-id 1.1.1.1
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]network 192.168.1.32 0.0.0.31
[r1-ospf-1-area-0.0.0.0]network 192.168.1.1 0.0.0.0
R2宣告环回和接口
[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]network 192.168.1.64 0.0.0.31
[r2-ospf-1-area-0.0.0.0]network 192.168.1.2 0.0.0.0
R3是abr,处在两个区域,所以需要分区域宣告
[r3]ospf 1 router-id 3.3.3.3
[r3-ospf-1]area 0
[r3-ospf-1-area-0.0.0.0]network 192.168.1.3 0.0.0.0
[r3-ospf-1-area-0.0.0.0]network 192.168.1.96 0.0.0.31
[r3-ospf-1-area-0.0.0.0]q
[r3-ospf-1]area 1
[r3-ospf-1-area-0.0.0.1]network 192.168.1.129 0.0.0.0
R4只用宣告如R3连接的接口
[r4]ospf 1 router-id 4.4.4.4
[r4-ospf-1]area 1
[r4-ospf-1-area-0.0.0.1]network 192.168.1.130 0.0.0.0
5、沉默接口
因为R3的0/0/2.1和0/0/2.2连接的用户网段,hello包每10s发送一次,用户网段不需要进行hello包的更新,所以沉默这两个接口。
[r3]ospf 1
[r3-ospf-1]silent-interface g0/0/2.1
[r3-ospf-1]silent-interface g0/0/2.2
6、修改DR、BDR优先级
R3为DR,没有BDR,那么R1和R2的abr优先级为0
修改前R1为DR,R2为BDR
R1
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ospf dr-priority 0
R2
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ospf dr-priority 0
修改后R3为DR,没有BDR
7、缺省路由
R4的环回地址4.4.4.4/24不能用OSPF宣告,可以用省路由来解决。
[r4]ospf 1
[r4-ospf-1]default-route-advertise always
可以在其他路由器上面查看路由,有一条缺省路由,并测试R1访问4.4.4.4是否可达。
8、接口进行安全认证
认证前,抓包可以看类型是为NULL
R1
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
R2
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
R3
[r3]int g0/0/0
[r3-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
[r3-GigabitEthernet0/0/0]int g0/0/1
[r3-GigabitEthernet0/0/1] ospf authentication-mode md5 1 cipher 123456
R4
[r4]int g0/0/0
[r4-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
加密后 抓包看显示已加密
9、减少路由条目
减少路由条目就是进行子网汇总,在OSPF中是支持区域汇总,因为区域内是传递的是拓扑信息,不能进行汇总。区域间是传递的是路由信息,可以进行汇总。 abr是R3所以在R3上进行区域汇总。
汇总前查看R4上的路由表
R3 area 0汇总
[r3]ospf 1
[r3-ospf-1]area 0
[r3-ospf-1-area-0.0.0.0]abr-summary 192.168.1.0 255.255.255.128
R3 area 1因为只有一个网段,不需要进行汇总。
汇总之后再去查看区域1 R4上面查看路由表
10、避免环路
路由黑洞+缺省路由百分百形成环路,因为在ABR上进行了192.168.1.0/25网段的汇总,会形成路由黑洞,为了全网可以访问4.4.4.4地址不能用OSPF宣告,在R4上发布了一条下发缺省路由,所以就出现了环路,解决办法就是将汇总网段指向一个空接口。
11、测试全网可达
PC1访问其他节点
PC2访问其他节点
R1访问其他节点