CLI举例:上下行连接路由器(路由引流)

CLI举例:上下行连接路由器(路由引流)

介绍了集群设备,上下行连接路由器的配置举例。

组网需求

如图1所示,上行网络使用BGP,下行网络使用OSPF,多数据中心统一通过路由器R4接入Internet。

希望本数据中心的流量优先由本数据中心FW承担。当某台FW故障时,流量能切换到其他FW上进行。

同时配置路由引流,实现业务组和路由协议联动:当下行流量切换时,路由协议根据业务组的状态调整发布路由的Cost值,使上行流量也同步切换。

图1 上下行连接路由器组网图

数据规划

项目

数据

说明

FW_A

  • GE1/0/1:10.1.2.1/24
  • GE1/0/2:10.2.2.1/24
  • Eth-Trunk1:10.1.5.1/24,加入接口:GE1/0/3和GE1/0/4
  • Eth-Trunk2:10.1.6.1/24,加入接口:GE1/0/5和GE1/0/6
  • Eth-Trunk3:10.1.7.1/24,加入接口:GE1/0/7和GE1/0/8
  • Tunnel1:10.1.10.1/24
  • Tunnel2:10.1.11.1/24
  • 业务组1:优先级100,绑定OSPF进程1
  • 业务组2:优先级80,绑定OSPF进程2
  • 业务组3:优先级90,绑定OSPF进程3
  • Eth-Trunk1:作为集群协商通道
  • Eth-Trunk2:作为集群备份通道
  • Eth-Trunk3:作为集群转发通道
  • 业务组1:对应DC1的业务
  • 业务组2:对应DC2的业务
  • 业务组3:对应DC3的业务
  • Tunnel1:与R2建立GRE通道,对端IP地址是10.1.10.2
  • Tunnel2:与R3建立GRE通道,对端IP地址是10.1.11.2

FW_B

  • GE1/0/1:10.1.3.1/24
  • GE1/0/2:10.2.3.1/24
  • Eth-Trunk1:10.1.5.2/24,加入接口:GE1/0/3和GE1/0/4
  • Eth-Trunk2:10.1.6.2/24,加入接口:GE1/0/5和GE1/0/6
  • Eth-Trunk3:10.1.7.2/24,加入接口:GE1/0/7和GE1/0/8
  • Tunnel1:10.1.12.1/24
  • Tunnel2:10.1.13.1/24
  • 业务组1:优先级90,绑定OSPF进程1
  • 业务组2:优先级100,绑定OSPF进程2
  • 业务组3:优先级80,绑定OSPF进程3
  • Eth-Trunk1:作为集群协商通道
  • Eth-Trunk2:作为集群备份通道
  • Eth-Trunk3:作为集群转发通道
  • 业务组1:对应DC1的业务
  • 业务组2:对应DC2的业务
  • 业务组3:对应DC3的业务
  • Tunnel1:与R1建立GRE通道,对端IP地址是10.1.12.2
  • Tunnel2:与R3建立GRE通道,对端IP地址是10.1.13.2

FW_C

  • GE1/0/1:10.1.4.1/24
  • GE1/0/2:10.2.4.1/24
  • Eth-Trunk1:10.1.5.3/24,加入接口:GE1/0/3和GE1/0/4
  • Eth-Trunk2:10.1.6.3/24,加入接口:GE1/0/5和GE1/0/6
  • Eth-Trunk3:10.1.7.3/24,加入接口:GE1/0/7和GE1/0/8
  • Tunnel1:10.1.14.1/24
  • Tunnel2:10.1.15.1/24
  • 业务组1:优先级80,绑定OSPF进程1
  • 业务组2:优先级90,绑定OSPF进程2
  • 业务组3:优先级100,绑定OSPF进程3
  • Eth-Trunk1:作为集群协商通道
  • Eth-Trunk2:作为集群备份通道
  • Eth-Trunk3:作为集群转发通道
  • 业务组1:对应DC1的业务
  • 业务组2:对应DC2的业务
  • 业务组3:对应DC3的业务
  • Tunnel1:与R1建立GRE通道,对端IP地址是10.1.14.2
  • Tunnel2:与R2建立GRE通道,对端IP地址是10.1.15.2

操作步骤
  1. 完成网络基本配置。包括配置接口IP地址、接口加入安全区域和路由。

    以下配置需要在每个集群成员上执行。下面给出FW_A上的配置,FW_B/C的配置请参考。

    # 配置各接口的IP地址。<FW_A> system-view 
    [FW_A] interface GigabitEthernet 1/0/1
    [FW_A-GigabitEthernet1/0/1] ip address 10.1.2.1 24
    [FW_A-GigabitEthernet1/0/1] quit 
    [FW_A] interface GigabitEthernet 1/0/2
    [FW_A-GigabitEthernet1/0/2] ip address 10.1.1.1 24
    [FW_A-GigabitEthernet1/0/2] quit
    [FW_A] interface Eth-Trunk 1
    [FW_A-Eth-Trunk1] ip address 10.1.5.1 24
    [FW_A-Eth-Trunk1] trunkport GigabitEthernet 1/0/3 to 1/0/4
    [FW_A-Eth-Trunk1] quit
    [FW_A] interface Eth-Trunk 2
    [FW_A-Eth-Trunk2] ip address 10.1.6.1 24
    [FW_A-Eth-Trunk2] trunkport GigabitEthernet 1/0/5 to 1/0/6
    [FW_A-Eth-Trunk2] quit
    [FW_A] interface Eth-Trunk 3
    [FW_A-Eth-Trunk3] ip address 10.1.7.1 24
    [FW_A-Eth-Trunk3] trunkport GigabitEthernet 1/0/7 to 1/0/8
    [FW_A-Eth-Trunk3] quit
    # 将各接口加入相应的安全区域。[FW_A] firewall zone trust
    [FW_A-zone-trust] add interface GigabitEthernet 1/0/2
    [FW_A-zone-trust] quit
    [FW_A] firewall zone dmz
    [FW_A-zone-dmz] add interface Eth-Trunk 1
    [FW_A-zone-dmz] add interface Eth-Trunk 2
    [FW_A-zone-dmz] add interface Eth-Trunk 3
    [FW_A-zone-dmz] add interface Tunnel 1
    [FW_A-zone-dmz] add interface Tunnel 2
    [FW_A-zone-dmz] quit
    [FW_A] firewall zone untrust
    [FW_A-zone-untrust] add interface GigabitEthernet 1/0/1
    [FW_A-zone-untrust] quit
    # 配置GRE隧道。[FW_A] interface Tunnel 1
    [FW_A-Tunnel1] ip address 10.1.10.1 255.255.255.0
    [FW_A-Tunnel1] tunnel-protocol gre
    [FW_A-Tunnel1] source 10.2.2.1
    [FW_A-Tunnel1] destination 10.2.3.2
    [FW_A-Tunnel1] quit
    [FW_A] interface Tunnel 2
    [FW_A-Tunnel2]  ip address 10.1.11.1 255.255.255.0
    [FW_A-Tunnel2] tunnel-protocol gre
    [FW_A-Tunnel2] source 10.2.2.1
    [FW_A-Tunnel2] destination 10.2.4.2
    [FW_A-Tunnel2] quit
    # 配置OSPF,保证路由可达。[FW_A] ospf 1
    [FW_A-ospf-1] area 0.0.0.1
    [FW_A-ospf-1-area-0.0.0.1] network 10.2.2.0 0.0.0.255
    [FW_A-ospf-1-area-0.0.0.1] quit
    [FW_A-ospf-1] quit
    [FW_A] ospf 2
    [FW_A-ospf-2] area 0.0.0.1
    [FW_A-ospf-2-area-0.0.0.1] network 10.1.10.0 0.0.0.255
    [FW_A-ospf-2-area-0.0.0.1] quit
    [FW_A-ospf-2] quit
    [FW_A] ospf 3
    [FW_A-ospf-3] area 0.0.0.1
    [FW_A-ospf-3-area-0.0.0.1] network 10.1.11.0 0.0.0.255
    [FW_A-ospf-3-area-0.0.0.1] quit
    [FW_A-ospf-3] quit
    # 配置BGP,保证路由可达。[FW_A] bgp 10
    [FW_A-bgp] router-id 1.1.1.1
    [FW_A-bgp] peer 10.1.2.2 as-number 10
    [FW_A-bgp] ipv4-family unicast
    [FW_A-bgp-af-ipv4] undo synchronization
    [FW_A-bgp-af-ipv4] import-route ospf 1
    [FW_A-bgp-af-ipv4] import-route ospf 2
    [FW_A-bgp-af-ipv4] import-route ospf 3
    [FW_A-bgp-af-ipv4] peer 10.1.2.2 enable
    [FW_A-bgp-af-ipv4] quit
    [FW_A-bgp] quit

  2. 开启集群功能。

    以下配置需要在每个集群成员上执行。# 配置集群协商参数。[FW_A] cluster id 1000
    [FW_A] cluster detect-interval 2
    [FW_A] cluster timer holding-multiplier 4
    [FW_A] cluster timer hello 2
    [FW_A] cluster backup node-num 2
    [FW_A] cluster preempt delay 70
    [FW_A] cluster ip-list node 1 negotiation 10.1.5.1 backup 10.1.6.1 forward 10.1.7.1
    [FW_A] cluster ip-list node 2 negotiation 10.1.5.2 backup 10.1.6.2 forward 10.1.7.2
    [FW_A] cluster ip-list node 3 negotiation 10.1.5.3 backup 10.1.6.3 forward 10.1.7.3
    [FW_A] cluster node bind 1
    [FW_A] cluster standby config enable
    [FW_A] cluster session fast-sync enable
    [FW_A] cluster enable

  3. 配置业务组,将业务组关联到OSPF进程,实现路由引流。

    以下配置请在集群管理主上配置,会自动同步到集群其他成员。C_No1_M[FW_A] business-group 1
    C_No1_M[FW_A-business-group-1] node 1 priority 100
    C_No1_M[FW_A-business-group-1] node 2 priority 90
    C_No1_M[FW_A-business-group-1] node 3 priority 80
    C_No1_M[FW_A-business-group-1] bind ospf 1
    C_No1_M[FW_A-business-group-1] quit
    C_No1_M[FW_A] business-group 2
    C_No1_M[FW_A-business-group-2] node 1 priority 80
    C_No1_M[FW_A-business-group-2] node 2 priority 100
    C_No1_M[FW_A-business-group-2] node 3 priority 90
    C_No1_M[FW_A-business-group-2] bind ospf 2
    C_No1_M[FW_A-business-group-2] quit
    C_No1_M[FW_A] business-group 3
    C_No1_M[FW_A-business-group-3] node 1 priority 90
    C_No1_M[FW_A-business-group-3] node 2 priority 80
    C_No1_M[FW_A-business-group-3] node 3 priority 100
    C_No1_M[FW_A-business-group-3] bind ospf 3
    C_No1_M[FW_A-business-group-3] quit

  4. 配置安全策略。

    以下配置请在集群管理主上配置,会自动同步到集群其他成员。# 配置安全策略,允许内网用户访问外网。C_No1_M[FW_A] security-policy
    C_No1_M[FW_A-policy-security] rule name policy_sec1 
    C_No1_M[FW_A-policy-security-rule-policy_sec1] source-zone trust
    C_No1_M[FW_A-policy-security-rule-policy_sec1] destination-zone untrust
    C_No1_M[FW_A-policy-security-rule-policy_sec1] source-address 10.4.0.0 16
    C_No1_M[FW_A-policy-security-rule-policy_sec1] action permit
    C_No1_M[FW_A-policy-security-rule-policy_sec1] quit
    # 配置安全策略,允许FW与上下行路由器交互OSPF/BGP报文。C_No1_M[FW_A-policy-security] rule name policy_sec2
    C_No1_M[FW_A-policy-security-rule-policy_sec2] source-zone local
    C_No1_M[FW_A-policy-security-rule-policy_sec2] destination-zone trust untrust
    C_No1_M[FW_A-policy-security-rule-policy_sec2] action permit
    C_No1_M[FW_A-policy-security-rule-policy_sec2] quit
    C_No1_M[FW_A-policy-security] rule name policy_sec3
    C_No1_M[FW_A-policy-security-rule-policy_sec3] source-zone trust untrust
    C_No1_M[FW_A-policy-security-rule-policy_sec3] destination-zone local
    C_No1_M[FW_A-policy-security-rule-policy_sec3] action permit
    C_No1_M[FW_A-policy-security-rule-policy_sec3] quit
    # 配置Local和DMZ的域间安全策略,允许封装后的GRE报文通过域间安全策略。C_No1_M[FW_A-policy-security] rule name policy2
    C_No1_M[FW_A-policy-security-rule-policy2] source-zone local dmz
    C_No1_M[FW_A-policy-security-rule-policy2] destination-zone dmz local
    C_No1_M[FW_A-policy-security-rule-policy2] action permit
    C_No1_M[FW_A-policy-security-rule-policy2] quit
    C_No1_M[FW_A-policy-security] quit

  5. 配置路由器R1,具体配置命令请参考路由器的相关文档。

    R1上接口IP等基础配置略。R2/R3上的配置与R1类似,请参考以下配置。# 配置GRE隧道。Tunnel 1和FW_B建立GRE隧道;Tunnel 2和FW_C建立GRE隧道。<R1> system-view
    [R1] interface Tunnel 1
    [R1-Tunnel1] ip address 10.1.12.2 24
    [R1-Tunnel1] tunnel-protocol gre
    [R1-Tunnel1] source 10.2.2.2
    [R1-Tunnel1] destination 10.2.3.1
    [R1-Tunnel1] quit
    [R1] interface Tunnel 2
    [R1-Tunnel2] ip address 10.1.14.2 24
    [R1-Tunnel2] tunnel-protocol gre
    [R1-Tunnel2] source 10.2.2.2
    [R1-Tunnel2] destination 10.2.4.1
    [R1-Tunnel2] quit
    # 配置OSPF。[R1] ospf 1
    [R1-ospf-1] import-route static type 1
    [R1-ospf-1] area 0.0.0.1
    [R1-ospf-1-area-0.0.0.1] network 10.2.2.0 0.0.0.255
    [R1-ospf-1-area-0.0.0.1] quit
    [R1-ospf-1] area 0.0.0.2
    [R1-ospf-1-area-0.0.0.2] network 10.1.12.0 0.0.0.255
    [R1-ospf-1-area-0.0.0.2] quit
    [R1-ospf-1] area 0.0.0.3
    [R1-ospf-1-area-0.0.0.3] network 10.1.14.0 0.0.0.255
    [R1-ospf-1-area-0.0.0.3] quit
    [R1-ospf-1] quit

  6. 配置路由器R4。具体配置命令请参考路由器的相关文档。

    R4上接口IP等基础配置略。<R4> system-view
    [R4] bgp 10
    [R4-bgp] router-id 4.4.4.4
    [R4-bgp] peer 10.1.2.1 as-number 10
    [R4-bgp] peer 10.1.3.1 as-number 10
    [R4-bgp] peer 10.1.4.1 as-number 10
    [R4-bgp] quit

结果验证
  1. 在集群管理主上执行display cluster negotiation status命令,查看集群协商的状态信息。
    C_No1_M<FW_A> display cluster negotiation statusID    status   health   version   join                 leave                    
    ------------------------------------------------------------                    
    3     slave    10000    A         2018/02/20 16:56:14  NA                       
    2     slave    10000    A         2018/02/20 16:56:17  NA      
    1*    master   10000    A         2018/02/20 16:55:32  NA
    以上信息表示集群1000已经建立,存在3个成员,版本一致,健康度均是10000。在管理主上执行display business-group brief命令,检查业务组信息。C_No1_M<FW_A> display business-group brief
    TotalBG:3   Master:1    Slave:2    Invalid:0   Init:0                           
    BGID   State      TopThree         IP_num  Pre_Preempt  next_master             
    ------------------------------------------------------------------------------- 1   master      1 2 3               0        NO            -                  2   slave       2 3 1               0        NO            -                  3   slave       3 1 2               0        NO            -

  2. 以上信息表示:FW_A作为业务组1的主设备;作为业务组2、3的备设备;每个业务组的排序符合预期。

  3. 在R4上查看路由表,正常情况下去DC1的下一跳地址是10.1.2.1。当FW_A故障后,通往DC1的下一跳地址变成10.1.3.1,即通过FW_B转发。

配置脚本

本例中,集群成员上的配置基本一致。主要差异在:接口IP和本设备对应集群节点ID。

下面配置文件以FW_A为例,差异部分会加粗显示,请注意替换。

#
cluster id 1000
cluster detect-interval 2
cluster timer holding-multiplier 4
cluster timer hello 2
cluster backup node-num 2
cluster preempt delay 70
cluster standby config enable
cluster session fast-sync enable
cluster preempt
cluster ip-list node 1 negotiation 10.1.5.1 backup 10.1.6.1 forward 10.1.7.1
cluster ip-list node 2 negotiation 10.1.5.2 backup 10.1.6.2 forward 10.1.7.2
cluster ip-list node 3 negotiation 10.1.5.3 backup 10.1.6.3 forward 10.1.7.3
cluster node bind 1
cluster enable
#business-group 1node 1 priority 100node 2 priority 90node 3 priority 80bind ospf 1business-group 2node 1 priority 80node 2 priority 100node 3 priority 90bind ospf 2business-group 3node 1 priority 90node 2 priority 80node 3 priority 100bind ospf 3
#
ospf 1area 0.0.0.1network 10.2.2.0 0.0.0.255
#
ospf 2area 0.0.0.1network 10.1.10.0 0.0.0.255
#
ospf 3area 0.0.0.1network 10.1.11.0 0.0.0.255
#
bgp 10router-id 1.1.1.1peer 10.1.2.2 as-number 10ipv4-family unicastundo synchronizationimport-route ospf 1import-route ospf 2import-route ospf 3peer 10.1.2.2 enable
#
firewall zone trustset priority 85add interface GigabitEthernet 1/0/2
# 
firewall zone untrustset priority 5add interface GigabitEthernet 1/0/1
# 
firewall zone dmzset priority 50add interface Eth-Trunk1add interface Eth-Trunk2add interface Eth-Trunk3add interface Tunnel1add interface Tunnel2
#
interface GigabitEthernet 1/0/1ip address 10.1.2.1 255.255.255.0
#
interface GigabitEthernet 1/0/2ip address 10.2.2.1 255.255.255.0
#
interface GigabitEthernet 1/0/3eth-trunk 1
#
interface GigabitEthernet 1/0/4eth-trunk 1
#
interface GigabitEthernet 1/0/5eth-trunk 2
#
interface GigabitEthernet 1/0/6eth-trunk 2
#
interface GigabitEthernet 1/0/7eth-trunk 3
#
interface GigabitEthernet 1/0/8eth-trunk 3
#
interface Eth-Trunk1ip address 10.1.5.1 255.255.255.0
#
interface Eth-Trunk2ip address 10.1.6.1 255.255.255.0
#
interface Eth-Trunk3ip address 10.1.7.1 255.255.255.0
#
interface Tunnel1ip address 10.1.10.1 255.255.255.0tunnel-protocol gresource 10.2.2.1destination 10.2.3.2
#
interface Tunnel2ip address 10.1.11.1 255.255.255.0tunnel-protocol gresource 10.2.2.1destination 10.2.4.2
#
security-policyrule name policy_sec1source-zone trustdestination-zone untrustsource-address 10.4.0.0 16action permitrule name policy_sec2source-zone localdestination-zone localdestination-zone untrustaction permit    rule name policy_sec3source-zone untrustsource-zone trustdestination-zone localaction permitrule name policy2source-zone localsource-zone dmzdestination-zone localdestination-zone dmzaction permit
#

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/805261.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

solidworks卸载不干净怎么办?

当Solidworks卸载不干净时&#xff0c;您可以尝试以下方法来彻底清理卸载残留&#xff1a; 手动删除残留文件和注册表项&#xff1a; • 卸载程序&#xff1a;首先通过控制面板的“卸载或更改程序”功能尝试卸载Solidworks。 • 删除残留文件&#xff1a;在硬盘上找到Solidw…

数据结构之堆练习题及PriorityQueue深入讲解!

题外话 上午学了一些JavaEE初阶知识,下午继续复习数据结构内容 正题 本篇内容把堆的练习题做一下 第一题 1.下列关键字序列为堆的是:( A ) A: 100,60,70,50,32,65 B: 60,70,65,50,32,100 C: 65,100,70,32,50,60 D: 70,65,100,32,50,60 E: 32,50,100,70,65,60 …

HarmonyOS 开发-多模态页面转场动效实现案例

介绍 本示例介绍多模态页面转场动效实现&#xff1a;通过半模态转场实现半模态登录界面&#xff0c;通过配置NavDestinationMode类型为DIALOG&#xff0c;实现半模态的背景为透明&#xff0c;再与全屏模态和组件转场结合实现多模态组合登录场景&#xff0c;其中手机验证码登录…

第四次面试总结 — 嘉和智能 - 全栈开发

&#x1f9f8;欢迎来到dream_ready的博客&#xff0c;&#x1f4dc;相信您对专栏 “本人真实面经” 很感兴趣o (ˉ▽ˉ&#xff1b;) 专栏 —— 本人真实面经&#xff0c;更多真实面试经验&#xff0c;中大厂面试总结等您挖掘 目录 总结&#xff08;非详细&#xff09; 面试内…

【leetcode面试经典150题】39. 赎金信(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主&#xff0c;题解使用C语言。&#xff08;若有使用其他语言的同学也可了解题解思路&#xff0c;本质上语法内容一致&…

c# InvokeRequested delegate解决线程访问界面

说明 界面操作的代码应该写在界面&#xff08;Form/Dialog&#xff09;里 方法定义 private void Method1(string s) {...... }delegate定义 private delegate void Method1Delegate(string s);界面调用代码 private void op(){string sText"hello";if (this.In…

集合框架(数组,Arrays.sort,list,map,set,stack,queue)蓝桥杯习题

前言(基本知识) List集合 有序&#xff0c;接口&#xff0c; List<引用数据类型> listnew ArrayList<>(); 方法&#xff1a; add() size() get()//索引index从0开始&#xff0c;返回对应的值 isEmpty()判断是否包含该元素,不包含返回true&#xff0c;包含返…

从零开始为香橙派orangepi zero 3移植主线linux——2.kernel + rootfs

从零开始为香橙派orangepi zero 3移植主线linux——2.kernel rootfs 参考文章&#xff1a;一、linux kernel移植二、根文件系统2.1 buildroot构建1.修改toolchain下的交叉编译链2.修改系统配置3.去除内置kernel和uboot编译4.添加rootfs.tar格式的输出 2.2 ubuntu-base移植 三、…

代码随想录算法训练营第二十九天| 491.递增子序列、46.全排列、47全排列II

系列文章目录 目录 系列文章目录491.递增子序列回溯法使用 HashSet 作为哈希表进行树层去重使用 数组 作为哈希表进行树层去重&#xff08;最快&#xff09;使用 HashMap 作为哈希表进行树层去重 46.全排列回溯法使用used数组&#xff0c;标记已经选择的元素直接通过LinkedList…

python学习面向对象之继承的那些事儿

都说python里都是对像&#xff0c;所以选择了python&#xff0c;都说人生苦短&#xff0c;我用python&#xff0c;想用它当然就得了解它&#xff0c;爱它&#xff0c;并懂它。 序章 话说盘古开天辟地&#xff0c;女娲补天的时候&#xff0c;天地间一片混沌&#xff0c;女娲开…

Linux gcc day4 权限

首先来看比如ls、pwd等究竟是什么呢&#xff1f; 那ls是如何在shell中执行起来的呢&#xff1f;shell命令又是什么呢&#xff1f; shell命令&#xff1a;命令行解释器&#xff1a;表现&#xff1a;你看到的命令行提示符&#xff0c;以及可以输入指令并且可以执行&#xff08;是…

解决大模型,你是谁的问题

通过数据微调解决&#xff0c;数据如下 [{"id": "way0", "conversations": [{"from": "user", "value": "你是谁&#xff1f;"}, {"from": "assistant", "value": &quo…

贪心算法简介

目录 一、什么是贪心算法&#xff1f; 二、贪心算法的特点 三、贪心算法解决找零问题、最短路径问题、背包问题 1.找零问题 2.最短路径问题 3.背包问题 一、什么是贪心算法&#xff1f; 贪心算法就是希望通过局部最优来解决全局最优 基本步骤&#xff1a;1.将问题分为若…

【I/O】Unix IO 介绍

IO 模型&#xff08;一&#xff09; Unix IO 一个输入操作共包含两个阶段&#xff1a; 等待数据准备好从内核将数据复制到进程 对于一个套接字上的输入操作&#xff0c;通常第一步是等待数据从网络中到达&#xff0c;当数据到达时&#xff0c;先将数据复制到内核缓冲区中&a…

【UE 委托】如何利用函数指针理解委托的基本原理

目录 0 引言1 函数指针模拟多播委托 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;UE虚幻引擎专栏&#x1f4a5; 标题&#xff1a;【UE 委托】如何利用函数指针理解委托的基本原理❣️ 寄语&#xff1a;书到用时方恨少&#xff0c;事非经过不知难…

力扣239滑动窗口最大值——java中双端队列的一些知识

这道题. - 力扣&#xff08;LeetCode&#xff09;涉及到了双端队列的知识点&#xff0c;这里记录一下。Deque是可以从头部或者尾部来进行操作的。 Deque 是 Java 中双端队列&#xff08;Double Ended Queue&#xff09;的接口&#xff0c;它继承自 Queue 接口。双端队列允许在…

js base64 img 转 file

打印canvas图像的dataurl const imgDataUrl canvas.toDataURL();console.log(imgDataUrl)上传的图像编码 1,把base64编码转为文件对象第一个参数dataUrl是一个base64的字符串。第二个参数是文件名可以随意命名funtion base64toFile(dataurl, filename file) {let arr datau…

VSCode配置settings.json

快捷键 ctrl, 打开设置&#xff0c;右上角运行箭头的右边的那个图标&#xff0c;鼠标放到上面可以看到 “打开设置(json)” 点击它就能打开settings.json配置文件 常用的配置选项 "files.autoSave": "onWindowChange",// 当窗口失去焦点时&#xff0c;会…

Git 安装和配置

下载 Git 网址: https://git-scm.com/download 安装 Git 双击安装包, 开始安装. 修改安装路径, 选择非中文无空格路径: 开始安装: 安装成功: 配置 Git 安装完成后, 在任意文件夹内, 右键, 可以显示两个 Git 选项, 就说明安装成功了.

002 springboot整合mybatis-plus

文章目录 TestMybatisGenerate.javapom.xmlapplication.yamlReceiveAddressMapper.xmlreceive_address.sqlReceiveAddress.javaReceiveAddressMapper.javaIReceiveAddressServiceReceiveAddressServiceImpl.javaReceiveAddressController.javaTestAddressService.javaSpringboo…