【HCIP]——OSPF综合实验
题目
实验需求
根据上图可得,实验需求为:
1.R5作为ISP:其上只能配置IP地址;R4作为企业边界路由器,出口公网地址需要通过PPP协议获取,并进行CHAP认证。(PS:因PPP协议尚未学习,在此次实验中不使用)
2.每个OSPF邻居ID 基于IP地址172.16.0.0/16划分;
3.所有设备均可访问R5的环回;
4.减少LSA的数量,加快收敛,保障更新安全;
5.全网可达。
实验思路
1.首先确定网络拓扑结构,根据实验需求搭建网络拓扑图,确定每台路由器的接口以及互联关系。
2.子网划分与OSPF配置
基于IP地址划分OSPF邻居ID:
根据IP地址172.16.0.8/16划分OSPF区域,确保每个邻居ID唯一。
配置OSPF路由协议,并在每个路由器上配置相应的网络命令。
3.配置R5作为ISP
4.网络优化
减少LSA数量:
通过合理规划OSPF区域,使用区域划分来减少LSA的数量。
使用路由汇总来减少LSA的数量。
加快收敛:
配置OSPF的快速收敛特性,如调整Hello和Dead间隔。
确保网络中无环路,避免不必要的路由更新。
保障更新安全:
使用OSPF的认证功能,如明文认证或MD5认证,来保障路由更新安全。
5.配置NAT保证私网能正常访问公网
6.确保全网可达
测试连通性:
使用Ping命令测试网络中每个设备之间的连通性。
确认所有设备均能访问R5的环回接口。
实验步骤
子网划分与OSPF配置
子网划分
——对五个区域基于IP地址172.16.0.0进行划分,再对各个区域内进行详细的IP地址划分。
如图:
具体划分如下所示:
172.16.0.0/16
172.16.0.0/19 ----area0
172.16.0.0/24----骨干
172.16.0.0/30----R3-R4
172.16.0.4/30----R4-R6
172.16.0.8/30----R4-R7
45.0.0.0/30----R4-R5
100.1.1.0/24----R5环回
172.16.32.0/19----area1
172.16.32.0/24----R1
172.16.33.0/24----R2
172.16.34.0/24----R3
172.16.35.0/24----骨干
172.16.35.0/29
172.16.64.0/19----area2
172.16.64.0/24----R6环回
172.16.66.0/30----R6-R11
172.16.65.0/24----R11环回
172.16.66.4/30----R11-R12
172.16.96.0/19----area3
172.16.96.0/24----R7环回
172.16.98.0/30----R7-R8
172.16.97.0/24----R8环回
172.16.98.4/30----R8-R9
172.16.128.0/19----area4
172.16.128.0/24----R9环回
172.16.130.0/30----R9-R10
172.16.129.0/24----R10环回
rip
10.1.1.0/24
10.1.2.0/24
配置IP地址同时进行OSPF宣告
PS:R4的S接口是连接公网的,不可宣告!
R1
R2
R3
R4
ISP
R6
R7
R8
R9
R10
R11
R12
OSPF配置
在各个路由器上进行OSPF配置,由于area 4 是远离骨干的特殊区域所以不能直接进行宣告,且由于area 3需要进行优化,所以让R9成为ASBR设备进行双向重发布(不使用Vink是因为使用Vink可能会产生换路问题,且area 3需要优化),在配置R12时顺便将RIP同时进行配置与宣告。
R1
[r1]ospf 1 router-id 1.1.1.1
[r1-ospf-1]a 1
[r1-ospf-1-area-0.0.0.1]network 172.16.32.1 0.0.0.0[r1-ospf-1-area-0.0.0.1]network 172.16.35.1 0.0.0.0
R2
[r2]ospf 1 rou
[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1]a 1
[r2-ospf-1-area-0.0.0.1]network 172.16.33.1 0.0.0.0
[r2-ospf-1-area-0.0.0.1]network 172.16.35.2 0.0.0.0
R3
[r3]ospf 1 rou
[r3]ospf 1 router-id 3.3.3.3
[r3-ospf-1]a 1
[r3-ospf-1-area-0.0.0.1]network 172.16.35.3 0.0.0.0
[r3-ospf-1-area-0.0.0.1]network 172.16.34.1 0.0.0.0[r3-ospf-1-area-0.0.0.0]network 172.16.0.1 0.0.0.0
R4
[r4]ospf 1 router-id 4.4.4.4
[r4-ospf-1]a 0
[r4-ospf-1-area-0.0.0.0]network 172.16.0.2 0.0.0.0
[r4-ospf-1-area-0.0.0.0]network 172.16.0.5 0.0.0.0[r4-ospf-1-area-0.0.0.0]network 172.16.0.9 0.0.0.0
R6
[r6]ospf 1 router-id 6.6.6.6
[r6-ospf-1]a 0
[r6-ospf-1-area-0.0.0.0]network 172.16.0.6 0.0.0.0
[r6-ospf-1-area-0.0.0.2]network 172.16.66.1 0.0.0.0[r6-ospf-1-area-0.0.0.2]network 172.16.64.1 0.0.0.0
R7
[r7]ospf 1 router-id 7.7.7.7
[r7-ospf-1]a 0
[r7-ospf-1-area-0.0.0.0]network 172.16.0.10 0.0.0.0
[r7-ospf-1]a 3[r7-ospf-1-area-0.0.0.3]network 172.16.96.1 0.0.0.0
[r7-ospf-1-area-0.0.0.3]network 172.16.98.1 0.0.0.0
R8
[r8]ospf 1 router-id 8.8.8.8
[r8-ospf-1]a 3[r8-ospf-1-area-0.0.0.3]network 172.16.98.2 0.0.0.0
[r8-ospf-1-area-0.0.0.3]network 172.16.97.1 0.0.0.0
[r8-ospf-1-area-0.0.0.3]network 172.16.98.5 0.0.0.0
R9
[r9]ospf 2 router-id 9.9.9.9
[r9-ospf-2]area 4
[r9-ospf-2-area-0.0.0.4]network 172.16.128.1 0.0.0.0
[r9-ospf-2-area-0.0.0.4]network 172.16.130.1 0.0.0.0
R10
[r10]ospf 1 router-id 10.10.10.10
[r10-ospf-1]a 4
[r10-ospf-1-area-0.0.0.4]network 172.16.129.1 0.0.0.0
[r10-ospf-1-area-0.0.0.4]network 172.16.130.2 0.0.0.0
R11
[r11]ospf 1 router-id 11.11.11.11
[r11-ospf-1]a 2
[r11-ospf-1-area-0.0.0.2]network 172.16.65.1 0.0.0.0
[r11-ospf-1-area-0.0.0.2]network 172.16.66.5 0.0.0.0
R12
[r12]ospf 1 router-id 12.12.12.12
[r12-ospf-1]a 2
[r12-ospf-1-area-0.0.0.2]network 172.16.66.6 0.0.0.0
[r12-rip-1]ver 2
[r12-rip-1]network 10.0.0.0
检查OSPF邻居
R1
R2
R3
R4
R6
R7
R8
R9
R10
R11
R12
连通性测试
由于该实验设备太多,故我们举例测试,不展示所有设备的测试
R1pingR3的环回
R3pingR6的环回
配置缺省路由
R4
在R4上配置一条0.0.0.0的缺省路由指向R5的 4/0/0方向
[R4]ip route-static 0.0.0.0 0 45.0.0.2
通过pingR5的环回检测是否可通,可通则没问题
PS:当前不用急着去下放R4的缺省路由,因为下放路由操作是在私网全部做完(优化后)时再去下放
OSPF优化部分
路由汇总
域间路由汇总
因为域间路由汇总是针对骨干区域(area 0)的优化,所以配置域间路由汇总的应该是与area 0直连(直接相连的)的区域,即区域1、2、3;那么则在这三个区域的ABR上进行配置:
Area 1的ABR
[r3]ospf 1
[r3-ospf-1]a 1 ---配置路由汇总在区域1做的原因是因为R3上的明细路由是通过区域1的1/2类LSA学到的
[r3-ospf-1-area-0.0.0.1]abr-summary 172.16.64.0 255.255.224.0
Area 2的ABR
[r6]ospf 1
[r6-ospf-1]a 2
[r6-ospf-1-area-0.0.0.2]abr-summary 172.16.64.0 255.255.224.0
Area 3的ABR
[r7]ospf 1
[r7-ospf-1]a 3
[r7-ospf-1-area-0.0.0.3]abr-summary 172.16.96.0 255.255.224.0
查表
在R4上查OSPF表,发现三个区域已经汇总
域外路由汇总
非直连的远离骨干区域则为域外路由汇总
RIP区域的ASBR
[r12]ospf 1
[r12-ospf-1]asbr-summary 10.1.0.0 255.255.252.0
OSPF 2区域的ASBR
[r9]ospf 1
[r9-ospf-1]asbr-summary 172.16.128.0 255.255.224.0
查表
在R4上查OSPF表,发现RIP区域和OSPF 2区域都已汇总
做特殊区域
区域1可以做成完全末梢区域、区域2可以做成完全NSSA区域、区域3也可以做成完全NSSA区域、区域4则不能做特殊区域(因为区域4上ospf 2的骨干区域!骨干区域不能做成特殊区域!!!)
Area 1
----- R1 -----
[r1]ospf 1
[r1-ospf-1]a 1
[r1-ospf-1-area-0.0.0.1]stub
----- R2 -----
[r2]ospf 1
[r2-ospf-1]a 1
[r2-ospf-1-area-0.0.0.1]stub
----- R3 -----
[r3]ospf 1
[r3-ospf-1]a 1
[r3-ospf-1-area-0.0.0.1]stub no-summary
Area 2
----- R6 -----
[r6]ospf 1
[r6-ospf-1]a 2
[r6-ospf-1-area-0.0.0.2]nssa no-summary
----- R11 -----
[r11]ospf 1
[r11-ospf-1]a 2
[r11-ospf-1-area-0.0.0.2]nssa
----- R12 -----
[r12]ospf 1
[r12-ospf-1]a 2
[r12-ospf-1-area-0.0.0.2]nssa
Area 3
----- R7 -----
[r7]ospf 1
[r7-ospf-1]a 3
[r7-ospf-1-area-0.0.0.3]nssa no-summary
----- R8 -----
[r8]ospf 1
[r8-ospf-1]a 3
[r8-ospf-1-area-0.0.0.3]nssa
----- R9 -----
[r9]ospf 1
[r9-ospf-1]a 3
[r9-ospf-1-area-0.0.0.3]nssa
查表
在R2/12/9上
做完特殊区域后的缺省下放
在R9上下放缺省(OSPF 2)
----- R9 -----
[r9]ospf 2
[r9-ospf-2]default-route-advertise
下放完毕,我们在R10上查看是否有缺省路由
有,则下方成功
但因为有了缺省,R10能通过缺省获取R9的所有路由,所以R9上的一个重发布就不用执行了,故我们undo一下
[r9-ospf-2]undo import-route ospf 1
在R4上下放缺省
目前我们做完了私网的所有包括优化,所以我们可以正式下放缺省路由了
[r4]ospf 1
[r4-ospf-1]default-route-advertise
那么这样对于与R4直连的区域而言,就有了缺省,下面举例R3的查表:
加快收敛配置
修改network-type类型
加快收敛操作即把此图的多个两个端点链路修改成P2P类型,如遇一点对多点,则修改为P2MP类型即可,因为P2P不需要选举DR和BDR,这样即可加快收敛
----- R3-R1/2 -----
[r3]int g0/0/0
[r3-GigabitEthernet0/0/0]ospf network-type p2mp
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ospf network-type p2mp
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ospf network-type p2mp
----- R3-R4 -----
[r3]int g0/0/1
[r3-GigabitEthernet0/0/1]ospf network-type p2p
[r4]int g0/0/1
[r4-GigabitEthernet0/0/1]ospf network-type p2p
----- R4-R6 -----
[r4]int g0/0/2
[r4-GigabitEthernet0/0/2]ospf network-type p2p
[r6]int g0/0/1
[r6-GigabitEthernet0/0/1]ospf network-type p2p
----- R4-R7 -----
[r4]int g0/0/0
[r4-GigabitEthernet0/0/0]ospf network-type p2p
[r7]int g0/0/0
[r7-GigabitEthernet0/0/0]ospf network-type p2p
----- R6-R11 -----
[r6]int g0/0/0
[r6-GigabitEthernet0/0/0]ospf network-type p2p
[r11]int g0/0/0
[r11-GigabitEthernet0/0/0]ospf network-type p2p
----- R11-R12 -----
[r11-GigabitEthernet0/0/0]int g0/0/1
[r11-GigabitEthernet0/0/1]ospf network-type p2p
[r12]int g0/0/0
[r12-GigabitEthernet0/0/0]ospf network-type p2p
----- R7-R8 -----
[r7]int g0/0/1
[r7-GigabitEthernet0/0/1]ospf network-type p2p
[r8]int g0/0/0
[r8-GigabitEthernet0/0/0]ospf network-type p2p
----- R8-R9 -----
[r8-GigabitEthernet0/0/0]int g0/0/1
[r8-GigabitEthernet0/0/1]ospf network-type p2p
[r9]int g0/0/0
[r9-GigabitEthernet0/0/0]ospf network-type p2p
----- R9-R10 -----
[r9]int g0/0/1
[r9-GigabitEthernet0/0/1]ospf network-type p2p
[r10]int g0/0/0
[r10-GigabitEthernet0/0/0]ospf network-type p2p
修改hello时间
改完network-type后确实加快了收敛,但是P2P和P2MP类型的hello时间和dead时间是比ospf原本的要长的,所以为了完成加快收敛的要求,我们还要修改其hello与dead时间(但修改只用改hello时间,因为dead时间随hello时间变化,无需修改)
由于修改hello时间的配置思路与上面的“修改network-type类型”思路类似,所以这里就只展示R3-R1/2区域的修改配置指令,其余路由器配置同理,不做赘述
----- R3-R1/2 -----
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ospf timer hello 10 -- hello时间统一修改成10s,如还想再快,缩短时间即可
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ospf timer hello 10
[r3]int g0/0/0
[r3-GigabitEthernet0/0/0]ospf timer hello 10
配置OSPF认证
一般情况下,ospf的认证只在骨干区域0配置即可,故我们在此只配置区域0的
----- Area 0 -----
[r4]ospf 1
[r4-ospf-1]a 0
[r4-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher 123456
[r3]ospf 1
[r3-ospf-1]a 0
[r3-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher 123456
[r6]ospf 1
[r6-ospf-1]a 0
[r6-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher 123456
[r7]ospf 1
[r7-ospf-1]a 0
[r7-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher 123456
保障更新安全
通过设置密码来保障更新安全
配置NAT
配置NAT来访问外网环境
[r4]acl 2000
[r4-acl-basic-2000]rule permit source 172.16.0.0 0.0.255.255
[r4]int s4/0/1
[r4-Serial4/0/1]nat outbound 2000
R1pingISP
R10的环回上进行ping测试
都可通,则配置无误
至此,整个OSPF综合实验配置完毕。
如有错误,请多指正。
相关文章:

【HCIP]——OSPF综合实验
题目 实验需求 根据上图可得,实验需求为: 1.R5作为ISP:其上只能配置IP地址;R4作为企业边界路由器,出口公网地址需要通过PPP协议获取,并进行CHAP认证。(PS:因PPP协议尚未学习&#…...

PW系列工控电脑复制机:效率与精度双重提升
工控电脑复制应用:效率与精度的双重提升 随着现代企业对大数据、数据备份、和跨平台兼容性需求的快速增长,工控电脑已成为数据密集型产业的核心设备。针对工控环境中大量数据复制的特殊需求,PW系列NVMe/SATA PCIe SSD复制机(如PW…...

学习QT第二天
QT6示例运行 运行一个Widgets程序运行一个QT Quick示例 工作太忙了,难得抽空学点东西。-_-||| 博客中有错误的地方,请各位道友及时指正,感谢! 运行一个Widgets程序 在QT Creator的欢迎界面中,点击左侧的示例…...
11.20作业
题目一: 题目: // 数组的行列转置 代码: // 数组的行列转置 #include <stdio.h> int main() {int a[2][3], i, j, b[3][2];printf("输入一个两行三列的数组a:\n");for (i 0; i < 2; i)for (j 0; j < 3; j){scanf…...

Ubuntu Linux使用前准备动作_使用root登录图形化界面
Ubuntu默认是不允许使用 root 登录图形化界面的。这是出于安全考虑的设置。但如果有需要,可以通过以下步骤来实现使用 root 登录: 1、设置 root 密码 打开终端,使用当前的管理员账户登录系统。在终端中输入命令sudo passwd root,…...

DICOM核心概念:显式 VR(Explicit VR)与隐式 VR(Implicit VR)在DICOM中的定义与区别
在DICOM(Digital Imaging and Communications in Medicine)标准中,VR(Value Representation) 表示数据元素的值的类型和格式。理解显式 VR(Explicit VR)与隐式 VR(Implicit VR&#…...
源码分析Spring Boot (v3.3.0)
. ____ _ __ _ _/\\ / ____ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | _ | _| | _ \/ _ | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) ) |____| .__|_| |_|_| |_\__, | / / / /|_||___//_/_/_/:: Spring Boot :: (v3.3.0)//笔记背…...

IPv6 NDP 记录
NDP(Neighbor Discovery Protocol,邻居发现协议) 是 IPv6 的一个关键协议,它组合了 IPv4 中的 ARP、ICMP 路由器发现和 ICMP 重定向等协议,并对它们作出了改进。该协议使用 ICMPv6 协议实现,作为 IPv6 的基…...
linux常用命令(文件操作)
目录 1. ls - 列出目录内容 2. cd - 更改目录 3. pwd - 打印当前工作目录 4. mkdir - 创建目录 5. rm - 删除文件或目录 6. cp - 复制文件或目录 7. mv - 移动或重命名文件 8. touch - 更新文件访问和修改时间 9. cat - 显示文件内容 10. grep - 搜索文本 11. chmod…...

内存管理 I(内存管理的基本原理和要求、连续分配管理方式)
一、内存管理的基本原理和要求 内存管理(Memory Management)是操作系统设计中最重要和最复杂的内容之一。虽然计算机硬件技术一直在飞速发展,内存容量也在不断增大,但仍然不可能将所有用户进程和系统所需要的全部程序与数据放入主…...

【Redis】基于Redis实现秒杀功能
业务的流程大概就是,先判断优惠卷是否过期,然后判断是否有库存,最好进行扣减库存,加入全局唯一id,然后生成订单。 一、超卖问题 真是的场景下可能会有超卖问题,比如开200个线程进行抢购,抢100个…...
Hadoop 使用过程中 15 个常见问题的详细描述、解决方案
目录 问题 1:配置文件路径错误问题描述解决方案Python 实现 问题 2:YARN 资源配置不足问题描述解决方案Python 实现 问题 3:DataNode 无法启动问题描述解决方案Python 实现 问题 4:NameNode 格式化失败问题描述解决方案Python 实现…...

【Flutter 问题系列第 84 篇】如何清除指定网络图片的缓存
这是【Flutter 问题系列第 84 篇】,如果觉得有用的话,欢迎关注专栏。 博文当前所用 Flutter SDK:3.24.3、Dart SDK:3.5.3,网络图片缓存用的插件 cached_network_image: 3.4.1,缓存的网络图像的存储和检索用…...

【UE5】使用基元数据对材质传参,从而避免新建材质实例
在项目中,经常会遇到这样的需求:多个模型(例如 100 个)使用相同的材质,但每个模型需要不同的参数设置,比如不同的颜色或随机种子等。 在这种情况下,创建 100 个实例材质不是最佳选择。正确的做…...

鸿蒙动画开发07——粒子动画
1、概 述 粒子动画是在一定范围内随机生成的大量粒子产生运动而组成的动画。 动画元素是一个个粒子,这些粒子可以是圆点、图片。我们可以通过对粒子在颜色、透明度、大小、速度、加速度、自旋角度等维度变化做动画,来营造一种氛围感,比如下…...

IDEA2023 创建SpringBoot项目(一)
一、Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 二、快速开发 1.打开IDEA选择 File->New->Project 2、…...

VSCode:终端打开一片空白,无cmd
第一步:找到右下角设置图标 第二步:找到 Terminal - Integrated - Default Profile: Windows: 选择一个本地存在的命令方式,重启即可 也可以直接在右下角直接选择...

Zea maize GO
1.涉及到新旧基因组的转化 B73v4_to_B73v5 (davidbioinformatics只支持新版基因组) MaizeGDB Map文件下载https://download.maizegdb.org/Pan-genes/B73_gene_xref/小处理脚本(制作map文件) import pandas as pd# 读取CSV文件 …...
Android开发实战班 - 数据持久化 - 数据加密与安全
在 Android 应用开发中,数据安全至关重要,尤其是在处理敏感信息(如用户密码、支付信息、个人隐私数据等)时。数据加密是保护数据安全的重要手段,可以有效防止数据泄露、篡改和未经授权的访问。本章节将介绍 Android 开…...

EDA实验设计-led灯管动态显示;VHDL;Quartus编程
EDA实验设计-led灯管动态显示;VHDL;Quartus编程 引脚配置实现代码RTL引脚展示现象记录效果展示 引脚配置 #------------------GLOBAL--------------------# set_global_assignment -name RESERVE_ALL_UNUSED_PINS "AS INPUT TRI-STATED" set_…...

wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...

SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...