当前位置: 首页 > news >正文

BFD综合详细实验配置案例

前言

本实验的目的是通过配置BGP(边界网关协议)、OSPF(开放式最短路径优先协议)、VRRP(虚拟路由冗余协议)以及BFD(双向转发检测)等网络协议,模拟企业级网络环境中的多协议协作场景,提升网络的可靠性和稳定性。

  1. 使用OSPF作为IGP,确保内部路由互联。
  2. 使用BGP实现跨自治系统的路由转发。
  3. 使用VRRP提供冗余的网关解决方案。
  4. 配置BFD以实现对链路快速检测,并与VRRP和BGP联动,优化故障检测和切换时间。
技术
  1. OSPF(开放式最短路径优先协议): 作为内部网关协议,用于实现自治系统内部的路由传播。
  2. BGP(边界网关协议): 用于跨AS(自治系统)的路由交换。
  3. VRRP(虚拟路由冗余协议): 提供主备网关冗余,确保网络的高可用性。
  4. BFD(双向转发检测): 提供对链路状态的快速检测,并与BGP和VRRP联动,提升故障响应速度。
接口划分

以下是拓扑中各设备的接口和IP地址配置说明(根据图中数据整理):

设备接口IP地址
PC1Eth0/0/110.1.100.100/24
PC2Eth0/0/110.1.200.100/24
网关10.1.200.3
AR1GE0/0/110.1.12.1/24
GE0/0/210.1.13.1/24
GE0/0/010.1.100.1/24
LoopBack 01.1.1.1/32
AR2GE0/0/110.1.24.2/24
GE0/0/010.1.12.2/24
LoopBack 02.2.2.2/32
AR3GE0/0/110.1.35.3/24
GE0/0/010.1.13.3/24
LoopBack 03.3.3.3/32
AR4GE0/0/110.1.200.1/24
GE0/0/010.1.24.4/24
LoopBack 04.4.4.4/32
AR5GE0/0/110.1.200.2/24
GE0/0/010.1.35.5/24
LoopBack 05.5.5.5/32
实验要求

根据上述拓扑图,PC1 与PC2 通信有两条链路,R2/R4 中间存在传输设备 LSW1/LSW3, R3/R5 中间存在传输设备LSW2/LSW4,PC1 与PC2 通信优先选择链路 R1-R3-R5。

拓扑图

![[Pasted image 20241225202751.png]]

实验配置
1.实验思路
  1. 配置设备接口 IP 地址
  2. 配置IGP路由 OSPF
  3. 配置BGP路由
  4. 配置 VRRP
  5. 配置BFD与VRRP联动
  6. 配置BFD与BGP联动
2.实验步骤
  1. 配置设备接口IP地址
    AR1
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]ip address 10.1.100.1 24
[AR1-GigabitEthernet0/0/0]int g0/0/1
[AR1-GigabitEthernet0/0/1]ip address 10.1.12.1 24
[AR1-GigabitEthernet0/0/1]int g0/0/2
[AR1-GigabitEthernet0/0/2]ip address 10.1.13.1 24
[AR1-GigabitEthernet0/0/2]q
[AR1]int lo0	
[AR1-LoopBack0]ip address 1.1.1.1 32
[AR1-LoopBack0]q
[AR1]

AR2

[AR2]int g0/0/0
[AR2-GigabitEthernet0/0/0]ip address 10.1.12.2 24
[AR2-GigabitEthernet0/0/0]int g0/0/1
[AR2-GigabitEthernet0/0/1]ip address 10.1.24.2 24
[AR2-GigabitEthernet0/0/1]q
[AR2]int lo0	
[AR2-LoopBack0]ip address 2.2.2.2 32
[AR2-LoopBack0]q
[AR2]

AR3

[AR3]int g0/0/0
[AR3-GigabitEthernet0/0/0]ip address 10.1.13.3 24
[AR3-GigabitEthernet0/0/0]int g0/0/1
[AR3-GigabitEthernet0/0/1]ip address 10.1.35.3 24
[AR3-GigabitEthernet0/0/1]q
[AR3]int lo0
[AR3-LoopBack0]ip address 3.3.3.3 32
[AR3-LoopBack0]q
[AR3]

AR4

[AR4]int g0/0/0	
[AR4-GigabitEthernet0/0/0]ip address 10.1.24.4 24
[AR4-GigabitEthernet0/0/0]int g0/0/1
[AR4-GigabitEthernet0/0/1]ip address 10.1.200.1 24
[AR4-GigabitEthernet0/0/1]q
[AR4]int lo0	
[AR4-LoopBack0]ip address 4.4.4.4 32
[AR4-LoopBack0]q
[AR4]

AR5

[AR5]int g0/0/0
[AR5-GigabitEthernet0/0/0]ip address 10.1.35.5 24
[AR5-GigabitEthernet0/0/0]int g0/0/1
[AR5-GigabitEthernet0/0/1]ip address 10.1.200.2 24
[AR5-GigabitEthernet0/0/1]q
[AR5]int lo0	
[AR5-LoopBack0]ip address 5.5.5.5 32
[AR5-LoopBack0]q
[AR5]
  1. 配置路由协议 OSPF
    AR1
[AR1]ospf router-id 1.1.1.1
[AR1-ospf-1]a 0
[AR1-ospf-1-area-0.0.0.0]network 10.1.12.0 0.0.0.255
[AR1-ospf-1-area-0.0.0.0]network 10.1.13.0 0.0.0.255	
[AR1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[AR1-ospf-1-area-0.0.0.0]q
[AR1-ospf-1]q
[AR1]

AR2

[AR2]ospf router-id 2.2.2.2
[AR2-ospf-1]a 0	
[AR2-ospf-1-area-0.0.0.0]network 10.1.12.0 0.0.0.255
[AR2-ospf-1-area-0.0.0.0]network 10.1.24.0 0.0.0.255
[AR2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[AR2-ospf-1-area-0.0.0.0]q
[AR2-ospf-1]q
[AR2]

AR3

[AR3]ospf router-id 3.3.3.3
[AR3-ospf-1]a 0	
[AR3-ospf-1-area-0.0.0.0]network 10.1.13.0 0.0.0.255
[AR3-ospf-1-area-0.0.0.0]network 10.1.35.0 0.0.0.255
[AR3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[AR3-ospf-1-area-0.0.0.0]q
[AR3-ospf-1]q
[AR3]

AR4

[AR4]ospf router-id 4.4.4.4
[AR4-ospf-1]a 0	
[AR4-ospf-1-area-0.0.0.0]network 10.1.24.0 0.0.0.255
[AR4-ospf-1-area-0.0.0.0]network 4.4.4.4 0.0.0.0
[AR4-ospf-1]q
[AR4]

AR5

[AR5]ospf router-id 5.5.5.5
[AR5-ospf-1]a 0
[AR5-ospf-1-area-0.0.0.0]network 10.1.35.0 0.0.0.255	
[AR5-ospf-1-area-0.0.0.0]network 5.5.5.5 0.0.0.0
[AR5-ospf-1-area-0.0.0.0]q
[AR5-ospf-1]q
[AR5]
  1. 配置BGP

配置 BGP 路由,要求PC1 与PC2 通信优先走路径 R1-R3-R5,配置 R3 为反射器,R1/R2/R4/R5 为客户端,并且R1/R4/R5 宣告主机路由

AR1

[AR1]bgp 100
[AR1-bgp]undo summary automatic 
[AR1-bgp]undo synchronization 
################# 上面可省略不写 #################   
[AR1-bgp]peer 3.3.3.3 as-number 100
[AR1-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[AR1-bgp]network 10.1.100.0 255.255.255.0
[AR1-bgp]q
[AR1]

AR2

[AR2]bgp 100	
[AR2-bgp]peer 3.3.3.3 as-number 100
[AR2-bgp]peer 3.3.3.3 connect-interface lo0
[AR2-bgp]d th

AR3

[AR3]bgp 100
[AR3-bgp]undo synchronization 
[AR3-bgp]undo summary automatic 
[AR3-bgp]peer 1.1.1.1 as-number 100
[AR3-bgp]peer 1.1.1.1 connect-interface Lo0	
[AR3-bgp]peer 1.1.1.1 reflect-client 
[AR3-bgp]peer 2.2.2.2 as-number 100
[AR3-bgp]peer 2.2.2.2 connect-interface lo0
[AR3-bgp]peer 2.2.2.2 reflect-client 	
[AR3-bgp]peer 4.4.4.4 as-number 100
[AR3-bgp]peer 4.4.4.4 connect-interface lo0	
[AR3-bgp]peer 4.4.4.4 reflect-client 
[AR3-bgp]peer 5.5.5.5 as-number 100
[AR3-bgp]peer 5.5.5.5 connect-interface lo0
[AR3-bgp]peer 5.5.5.5 reflect-client 
[AR3-bgp]d th

AR4

[AR4]bgp 100	
[AR4-bgp]peer 3.3.3.3 as-number 100
[AR4-bgp]peer 3.3.3.3 connect-interface lo0	
[AR4-bgp]network 10.1.200.0 255.255.255.0
[AR4-bgp]d th

AR5

[AR5]bgp 100	
[AR5-bgp]peer 3.3.3.3 as-number 100
[AR5-bgp]peer 3.3.3.3 connect-interface lo0
[AR5-bgp]network 10.1.200.0 255.255.255.0
[AR5-bgp]d th
  1. 配置VRRP

在 R4/R5 上配置VRRP,R5 为主设备,R4 为备设备,Virtual-IP 为 10.1.200.3。

AR4

[AR4]int g0/0/1	
[AR4-GigabitEthernet0/0/1]vrrp vrid 1 virtual-ip 10.1.200.3
[AR4-GigabitEthernet0/0/1]q
[AR4]

AR5

[AR5]int g0/0/1
[AR5-GigabitEthernet0/0/1]vrrp vrid 1 virtual-ip 10.1.200.3 
[AR5-GigabitEthernet0/0/1]vrrp vrid 1 priority 120 //默认100 
[AR5-GigabitEthernet0/0/1]q
[AR5]
  1. 配置BFD和VRRP联动

配置 BFD 检测上行链路 R3-R5,BFD 会话必须为静态形式。当 LSW2/LSW4 链路 Down 之后,业务能够被快速切换到备设备上转发,保证PC1-PC2 正常通信。
简单说:初始默认AR1-AR3-AR5,其中的一条路Down掉,就AR1-AR2-AR4

AR3

[AR3]bfd 
[AR3-bfd]q
[AR3]bfd vrrp bind peer-ip 10.1.35.5 interface g0/0/1 source-ip 10.1.35.3 auto 
[AR3-bfd-session-vrrp]commit 
[AR3-bfd-session-vrrp]q
[AR3]

AR5

[AR5]bfd 	
[AR5]bfd vrrp bind peer-ip 10.1.35.3 interface g0/0/0 source-ip 10.1.35.5 auto 
[AR5-bfd-session-vrrp]commit 
[AR5-bfd-session-vrrp]q
[AR5]
  1. 配置BFD和BGP联动

当链路 R3-R5 之间 Down 之后,业务能够快速切换至备链路 R2-R4,保证 PC1-PC2 正常通信。

AR3

[AR3]bgp 100
[AR3-bgp]peer 5.5.5.5 bfd enable 
[AR3-bgp]q
[AR3]

AR5

[AR5]bgp 100
[AR5-bgp]peer 3.3.3.3 bfd enable 
[AR5-bgp]q
[AR5]int g0/0/1
//VRRP组1中跟踪BFD的会话,一旦BFD检测到故障,VRRP优先级减30 ,也就是120-30=90 就会切换到其他路径(越打越优先,默认100)
[AR5-GigabitEthernet0/0/1]vrrp vrid 1 track bfd-session session-name vrrp reduce
d 30
[AR5-GigabitEthernet0/0/1]q
[AR5]
3.查看验证信息
  1. 查看BFD会话信息
## 命令
display bfd session all

AR5
![[Pasted image 20241225213315.png]]

AR3
![[Pasted image 20241225213340.png]]

  1. 验证BFD与VRRP联动

未启用 BFD 会话与VRRP 联动时,断掉 LSW2/LSW4 之间的链路,可以观察到当链路转换为R1-R2-R4 时,PC1-PC2 之间不能正常通信,主设备仍然为 R5。

AR5命令

dis VRRP

![[Pasted image 20241225213521.png]]

当启用 BFD 会话与VRRP 联动时,断掉 LSW2/LSW4 之间的链路,主设备转换为 R4,PC1-PC2 正常通信。

![[Pasted image 20241225213725.png]]

![[Pasted image 20241225213630.png]]

  1. 验证BFD与BGP联动

当未启用 BFD 检测 R3-R5 之间的链路时,Down 掉 LSW2/LSW4 之间的链路,业务转换到备链路 R1-R2-R4 之间需要较长时间,且这期间 R3-R5 之间 BGP 邻居关系不会发生变化。

PC1 ping PC2
在这里插入图片描述

查看BGP邻居

dis bgp peer

![[Pasted image 20241225214010.png]]

当启用 BFD 检测 R3-R5 之间的链路时,Down 掉 LSW2/LSW4 之间的链路,业务能够较快转换到备链路 R1-R2-R4,且 R3-R5 之间 BGP 邻居关系快速变化。

在这里插入图片描述

![[Pasted image 20241225214105.png]]

PC1 ping PC2
![[Pasted image 20241225214145.png]]

![[Pasted image 20241225214208.png]]

相关文章:

BFD综合详细实验配置案例

前言 本实验的目的是通过配置BGP(边界网关协议)、OSPF(开放式最短路径优先协议)、VRRP(虚拟路由冗余协议)以及BFD(双向转发检测)等网络协议,模拟企业级网络环境中的多协…...

自然语言处理与知识图谱的融合与应用

目录 前言1. 知识图谱与自然语言处理的关系1.1 知识图谱的定义与特点1.2 自然语言处理的核心任务1.3 二者的互补性 2. NLP在知识图谱构建中的应用2.1 信息抽取2.1.1 实体识别2.1.2 关系抽取2.1.3 属性抽取 2.2 知识融合2.3 知识推理 3. NLP与知识图谱融合的实际应用3.1 智能问答…...

c# RSA加解密工具,.netRSA加解密工具

软件介绍 名称: c# RSA加解密工具,.netRSA加解密工具依赖.net版本: .net 8.0工具类型: WinForm源码下载 c# RSA加解密工具,.netRSA加解密工具 依赖项 WinFormsRSA.csproj <Project...

Metricbeat安装教程——Linux——Metricbeat监控ES集群

Metricbeat安装教程——Linux 一、安装 下载安装包&#xff1a; 官网下载地址&#xff1a;https://www.elastic.co/cn/downloads/beats/metricbeat 上传包到linux 切换到安装目录下 解压&#xff1a;tar -zxvf metricbeat-7.17.1-linux-x86_64.tar.gz 重命名安装文件夹 mv met…...

一万多字拆解java中——“ 注解 ”的一切(三)(已完结)

前言&#xff1a; 咱们书接上回&#xff0c;上次按照框架讲了 第一篇&#xff0c;我们讲到了&#xff1a; ①注解的引入&#xff08;简单概述&#xff09;&#xff1a;在jdk5.0的时候 ②注解与注释的区别&#xff1a; 注释 是为了帮助人类阅读代码&#xff0c;不会对程序的执…...

记一次rac故障原因分析(虚拟化平台)

一 现象描述 XX客户于1月14号凌晨业务中断&#xff0c;检查数据库发现数据库集群宕机。 XX客户于2月14号春节初五早上业务异常&#xff0c;连接数据库无响应。 二 问题详细诊断 1月14号故障 1月14号凌晨2点&#xff0c;客户反馈业务中断&#xff0c;发现节点1无法连接&…...

Vue CLI 3 项目构建

Vue CLI 是一个功能强大、易于使用的工具&#xff0c;可以极大地简化 Vue.js 应用的开发过程。通过快速创建项目、灵活的插件系统和丰富的配置选项&#xff0c;开发者可以更专注于业务逻辑&#xff0c;而不是底层配置。无论是新手还是经验丰富的开发者&#xff0c;Vue CLI 都是…...

1114 Family Property (25)

This time, you are supposed to help us collect the data for family-owned property. Given each persons family members, and the estate&#xff08;房产&#xff09;info under his/her own name, we need to know the size of each family, and the average area and n…...

详细介绍Sd-WebUI提示词的语法规则

AI绘画中最大的门槛就是提示词&#xff0c;对英语水平、文学水平、想象力、灵感等要求较高。不能每次一输入正向提示词&#xff08;positive prompt&#xff09;&#xff0c;就只会写a girl, big eyes, red hair。虽然sd-webui软件可以直接翻译&#xff0c;输入一个子母后会立刻…...

document.body为null问题

调用document.body.append方法出现null的问题&#xff0c;一看就是放在了head中&#xff0c;一种方案是放在最后面&#xff0c;要不就和jquery一样监听&#xff0c;下面是代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8…...

2024国赛A问题5

问题五 龙头最大速度优化模型的建立 问题五在问题四的曲线的基础上对速度进行了约束&#xff0c;即在逐步改变龙头速度的情况下&#xff0c;各个龙身的速度也会依次改变&#xff0c;给出龙头的最大行进速度,使得舞龙队各把手的速度均不超过 2 m/s。即可依此构建一个龙头速度的…...

Kalilinux下MySQL的安装

MySQL是一个广泛使用的开源关系型数据库管理系统&#xff0c;它是最流行的关系型数据库之一。在Kalilinux下安装MySQL可以为我们提供方便的数据库管理和开发环境。本文将介绍如何在Kalilinux中安装MySQL&#xff0c;并提供一些常用的代码示例。 步骤一&#xff1a;更新软件包 …...

文件路径与Resource接口详解

目录 第一章、快速了解文件路径1.1&#xff09;什么是文件路径&#xff1f;1.1.1&#xff09;绝对路径1.1.2&#xff09;相对路径 1.2&#xff09;重要&#xff1a;相对路径的表示方法1.2.1) ./ 与 ../ 1.3&#xff09;文件路径与环境变量1.3.1&#xff09;什么是环境变量1.3.2…...

极狐GitLab 17.7正式发布,可从 GitLab 丝滑迁移至极狐GitLab【二】

GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料&#xff1a; 极狐GitLab 官网极狐…...

分布式光纤传感|分布式光纤测温|线型光纤感温火灾探测器DTS|DTS|DAS|BOTDA的行业16年的总结【2024年】

背景&#xff1a; 从2008年&#xff0c;从事分布式光纤传感行业已经过了16年时间了&#xff0c;依稀记得2008年&#xff0c;看的第一遍论文就是中国计量大学张在宣老爷子的分布式光纤测温综述&#xff0c;我的经历算是行业内极少数最丰富的之一。混过学术圈&#xff1a; 发表…...

存储过程实现多个分类不同计算规则得到对应的分类、月份和款号

该存储过程 PRO_MON_MDCODE 实现多个分类不同计算规则得到对应的分类、月份和款号,其中线下分类的款最早出现时间会在20230101,最晚是当前月份后12月,电商的款取商品维表的23,24,25年商品年份的A款,其他业务分类逻辑(A-线上,B电商公司,C品牌公司)的款最早出现时间会在2…...

aj-report本地前后端分离部署运行

github项目地址 aj-report-mine 在源代码v1.4版本基础上&#xff0c;本地进行前后端分离部署开发 这里我是进行了整合&#xff0c;把自己在拉取源代码到成功运行过程中的一些东西直接整合&#xff0c;根据下面的步骤即可成功运行 资源获取 夸克网盘(16-github-aj-report-re…...

CSS 过渡动画效果

在 CSS 中&#xff0c;transition 是用来实现元素属性平滑过渡的一个属性。通过 transition&#xff0c;你可以指定当元素的状态发生变化时&#xff0c;如何在一定时间内平滑地过渡到新的样式&#xff0c;而不是立即跳变。 使用于侧边栏展开和收起了&#xff0c;左侧区域的自适…...

网络安全 - DOS

1.1.1 摘要 最近网络安全成了一个焦点&#xff0c;除了国内明文密码的安全事件&#xff0c;还有一件事是影响比较大的——Hash Collision DoS&#xff08;通过Hash碰撞进行的拒绝式服务攻击&#xff09;&#xff0c;有恶意的人会通过这个安全漏洞让你的服务器运行巨慢无比&…...

【强化学习】Stable-Baselines3学习笔记

【强化学习】Stable-Baselines3学习笔记 Stable-Baselines3是什么安装ExampleReinforcement Learning Tips and TricksVecEnv相关在stablebaselines中使用自定义环境 Stable-Baselines3是什么 Stable Baselines3&#xff08;简称SB3&#xff09;是一套基于PyTorch实现的强化学习…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

Android写一个捕获全局异常的工具类

项目开发和实际运行过程中难免会遇到异常发生&#xff0c;系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler&#xff0c;它是Thread的子类&#xff08;就是package java.lang;里线程的Thread&#xff09;。本文将利用它将设备信息、报错信息以及错误的发生时间都…...

《信号与系统》第 6 章 信号与系统的时域和频域特性

目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...

怎么开发一个网络协议模块(C语言框架)之(六) ——通用对象池总结(核心)

+---------------------------+ | operEntryTbl[] | ← 操作对象池 (对象数组) +---------------------------+ | 0 | 1 | 2 | ... | N-1 | +---------------------------+↓ 初始化时全部加入 +------------------------+ +-------------------------+ | …...

Mac flutter环境搭建

一、下载flutter sdk 制作 Android 应用 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 1、查看mac电脑处理器选择sdk 2、解压 unzip ~/Downloads/flutter_macos_arm64_3.32.2-stable.zip \ -d ~/development/ 3、添加环境变量 命令行打开配置环境变量文件 ope…...

字符串哈希+KMP

P10468 兔子与兔子 #include<bits/stdc.h> using namespace std; typedef unsigned long long ull; const int N 1000010; ull a[N], pw[N]; int n; ull gethash(int l, int r){return a[r] - a[l - 1] * pw[r - l 1]; } signed main(){ios::sync_with_stdio(false), …...