网络拓扑配置案例练习(VRRP,浮动路由,DCHP,三层交换机配置)

news2024/9/22 7:37:52

网络拓扑配置案例

  • 网络拓扑配置案例练习
    • 网络拓扑
    • 需求描述
    • 具体操作命令
      • 交换机创建vlan,配置access、trunk口,划分vlan
      • vrrp配置
      • 路由配置
      • 验证vrrp和浮动路由
      • DHCP配置
    • 总结

网络拓扑配置案例练习

在这篇文章中将记录网络的常见配置:VRRP,浮动路由,DCHP,三层交换机配置等,练习怎么配置这些内容,话不多说,直接开始

网络拓扑

在这个网络拓扑中,划分了4个vlan,每台pc对应一个vlan;配置了两台三层交换机(LSW3和LSW4),做虚拟路由冗余协议VRRP1,与路由器AR1一起做浮动路由2配置(概念就不过多解释,直接上引用,不懂的小伙伴可以点击进入查看);路由器AR1为边界路由器,AR2和AR3模拟为ISP的路由器,PC5模拟为互联网其它用户,不同接口的IP地址配置见网络拓扑图,网络拓扑图如下图所示。
网络拓扑图

需求描述

  1. 基本配置:
    a. 为每台PC配置IP地址,掩码,网关;
    b. 为交换机创建vlan,配置access口,trunk口,划分vlan;
    c. 配置不同vlan的网关,配置路由器不同接口IP地址;
  2. 配置vrrp:这里将LSW3设置为master组,将LSW4设置为backup组,虚拟网关的IP都为:x.1.1.254,master组的IP都为:x.1.1.252,backup组的IP都为:x.1.1.253,测试不同vlan间的访问能否互通。
  3. 配置路由,AR1与两台三层交换机可以配置浮动路由,边界路由器可以配置默认路由,测试与PC5的连通性。
  4. 测试vrrp是否起作用,浮动路由是否起作用。
  5. 配置DHCP,让这些PC自动获取IP地址并能互通。

具体操作命令

交换机创建vlan,配置access、trunk口,划分vlan

为每台PC配置IP地址,掩码,网关这些基础操作忽略,如:PC1的IP为:10.1.1.1/24,网关为10.1.1.254。PC2,3,4,5也是类似。

  1. 创建vlan:
**LSW1:**
system-view
sysname LSW1
vlan batch 10 20 30 40
**LSW2:**
system-view
sysname LSW2
vlan batch 10 20 30 40
**LSW3:**
system-view
sysname LSW3
vlan batch 10 20 30 40 50 60
**LSW4:**
system-view
sysname LSW4
vlan batch 10 20 30 40 50 60

可以用:dis vlan命令查看自己创建了哪些vlan
2. 配置access口,划分到不同vlan中。

**LSW1:**	
[LSW1]interface Ethernet 0/0/2
[LSW1-Ethernet0/0/2]port link-type access 
[LSW1-Ethernet0/0/2]port default vlan 10	
[LSW1-Ethernet0/0/2]quit 
[LSW1]interface Ethernet 0/0/3	
[LSW1-Ethernet0/0/3]port link-type access 
[LSW1-Ethernet0/0/3]port default vlan 20
**LSW2:**
[LSW2-Ethernet0/0/2]port link-type access 	
[LSW2-Ethernet0/0/2]port default vlan 30	
[LSW2-Ethernet0/0/2]quit 	
[LSW2]interface Ethernet 0/0/3	
[LSW2-Ethernet0/0/3]port link-type access 	
[LSW2-Ethernet0/0/3]port default vlan 40	
[LSW2-Ethernet0/0/3]quit 
  1. 配置trunk口,在这个拓扑中,我们要配置的trunk就是不同交换机设备间连接的端口,为了方便起见,这次我们允许所有vlan通过,但是在实际环境中,为了安全起见,应该对vlan进行限制。
配置trunk口:
**LSW1:**
[LSW1]interface Ethernet 0/0/1
[LSW1-Ethernet0/0/1]port link-type trunk 
[LSW1-Ethernet0/0/1]port trunk allow-pass vlan all
[LSW1-Ethernet0/0/1]quit
[LSW1]interface Ethernet 0/0/4 
[LSW1-Ethernet0/0/4]port link-type trunk 
[LSW1-Ethernet0/0/4]port trunk allow-pass vlan all
**LSW2:**
[LSW2]interface Ethernet 0/0/1	
[LSW2-Ethernet0/0/1]port link-type trunk 
[LSW2-Ethernet0/0/1]port trunk allow-pass vlan all	
[LSW2-Ethernet0/0/1]quit 	
[LSW2]interface Ethernet 0/0/4
[LSW2-Ethernet0/0/4]port link-type trunk 
[LSW2-Ethernet0/0/4]port trunk allow-pass vlan all
[LSW2-Ethernet0/0/4]quit 
**LSW3:**
[LSW3]interface GigabitEthernet 0/0/1	
[LSW3-GigabitEthernet0/0/1]port link-type trunk 
[LSW3-GigabitEthernet0/0/1]port trunk allow-pass vlan all 	
[LSW3-GigabitEthernet0/0/1]quit 
[LSW3]interface GigabitEthernet 0/0/2
[LSW3-GigabitEthernet0/0/2]port link-type trunk 
[LSW3-GigabitEthernet0/0/2]port trunk allow-pass vlan all 	
[LSW3-GigabitEthernet0/0/2]quit 
[LSW3]interface GigabitEthernet 0/0/3
[LSW3-GigabitEthernet0/0/3]port link-type trunk 
[LSW3-GigabitEthernet0/0/3]port trunk allow-pass vlan all 	
[LSW3-GigabitEthernet0/0/3]quit 
**LSW4:**
[LSW4]interface GigabitEthernet 0/0/1
[LSW4-GigabitEthernet0/0/1]port link-type trunk 
[LSW4-GigabitEthernet0/0/1]port trunk allow-pass vlan all	
[LSW4-GigabitEthernet0/0/1]quit 
[LSW4]interface GigabitEthernet 0/0/2
[LSW4-GigabitEthernet0/0/2]port link-type trunk 
[LSW4-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[LSW4-GigabitEthernet0/0/2]quit
[LSW4]interface GigabitEthernet 0/0/3
[LSW4-GigabitEthernet0/0/3]port link-type trunk 
[LSW4-GigabitEthernet0/0/3]port trunk allow-pass vlan all 	
[LSW4-GigabitEthernet0/0/3]quit 
  1. 配置不同vlan的虚拟网关,配置路由器不同接口IP地址
**LSW3:**
[LSW3]interface Vlanif 10	
[LSW3-Vlanif10]ip address 10.1.1.252 24 // master组IP
[LSW3-Vlanif10]quit 	
[LSW3]interface Vlanif 20 	
[LSW3-Vlanif20]ip address 20.1.1.252 24
[LSW3-Vlanif20]quit 	
[LSW3]interface Vlanif 30	
[LSW3-Vlanif30]ip address 30.1.1.252 24
[LSW3-Vlanif30]quit 	
[LSW3]interface Vlanif 40
[LSW3-Vlanif40]ip add	
[LSW3-Vlanif40]ip address 40.1.1.252 24	
[LSW3-Vlanif40]quit 	
[LSW3]interface Vlanif 50
[LSW3-Vlanif50]ip address 50.1.1.1 24
[LSW3-Vlanif50]quit 
[LSW3]interface GigabitEthernet 0/0/4
[LSW3-GigabitEthernet0/0/4]port link-type access 
[LSW3-GigabitEthernet0/0/4]port default vlan 50	
[LSW3-GigabitEthernet0/0/4]quit 

**LSW4:**
[LSW4]interface Vlanif 10
[LSW4-Vlanif10]ip address 10.1.1.253 24  // backup组IP
[LSW4-Vlanif10]quit	
[LSW4]interface Vlanif 20	
[LSW4-Vlanif20]ip address 20.1.1.253 24
[LSW4-Vlanif20]quit 
[LSW4]interface Vlanif 30	
[LSW4-Vlanif30]ip address 30.1.1.253 24
[LSW4-Vlanif30]quit	
[LSW4]interface Vlanif 40	
[LSW4-Vlanif40]ip address 40.1.1.253 24 
[LSW4-Vlanif40]quit 
[LSW4]interface Vlanif 60 	
[LSW4-Vlanif60]ip address 60.1.1.1 24
[LSW4-Vlanif60]quit 
[LSW4]interface GigabitEthernet 0/0/4	
[LSW4-GigabitEthernet0/0/4]port link-type access 
[LSW4-GigabitEthernet0/0/4]port default vlan 60	
[LSW4-GigabitEthernet0/0/4]quit 

**AR1:**
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ip address 50.1.1.2 24	
[AR1-GigabitEthernet0/0/0]quit 
[AR1]interface GigabitEthernet 0/0/1 	
[AR1-GigabitEthernet0/0/1]ip address 60.1.1.2 24	
[AR1-GigabitEthernet0/0/1]quit 
[AR1]interface GigabitEthernet 0/0/2	
[AR1-GigabitEthernet0/0/2]ip address 70.1.1.1 24	
[AR1-GigabitEthernet0/0/2]quit

**AR2:**
[AR2]interface GigabitEthernet 0/0/0	
[AR2-GigabitEthernet0/0/0]ip address 70.1.1.2 24	
[AR2-GigabitEthernet0/0/0]quit 
[AR2]interface GigabitEthernet 0/0/1
[AR2-GigabitEthernet0/0/1]ip address 80.1.1.1 24	
[AR2-GigabitEthernet0/0/1]quit 

**AR3:**	
[AR3]interface GigabitEthernet 0/0/0	
[AR3-GigabitEthernet0/0/0]ip address 80.1.1.2 24	
[AR3-GigabitEthernet0/0/0]quit 
[AR3]interface GigabitEthernet 0/0/1	
[AR3-GigabitEthernet0/0/1]ip address 90.1.1.254 24
[AR3-GigabitEthernet0/0/1]quit 

至此,我们就完成了需求的基本配置,下一步是进行vrrp配置。

vrrp配置

具体需求:将LSW3设置为master组,将LSW4设置为backup组,虚拟网关的IP都为:x.1.1.254,master组的IP都为:x.1.1.252,backup组的IP都为:x.1.1.253,测试不同vlan间的访问能否互通。

  1. master组LSW3配置:
[LSW3]interface Vlanif 10	
[LSW3-Vlanif10]vrrp vrid 10 virtual-ip 10.1.1.254 // 创建id为10的vrrp配置,虚拟IP为:10.1.1.254
[LSW3-Vlanif10]vrrp vrid 10 priority 110 // 设置该交换机的优先级
[LSW3-Vlanif10]vrrp vrid 10 preempt-mode timer delay 20 // 设置抢占时间
[LSW3-Vlanif10]quit 
[LSW3]int vlanif 20
[LSW3-Vlanif20]vrrp vrid 20 virtual-ip 20.1.1.254
[LSW3-Vlanif20]vrrp vrid 20 priority 110
[LSW3-Vlanif20]vrrp vrid 20 preempt-mode timer delay 20
[LSW3-Vlanif20]quit
[LSW3]int vlanif 30
[LSW3-Vlanif30]vrrp vrid 30 virtual-ip 30.1.1.254
[LSW3-Vlanif30]vrrp vrid 30 priority 110
[LSW3-Vlanif30]vrrp vrid 30 preempt-mode timer delay 20
[LSW3-Vlanif30]quit
[LSW3]int vlanif 40
[LSW3-Vlanif40]vrrp vrid 40 virtual-ip 40.1.1.254
[LSW3-Vlanif40]vrrp vrid 40 priority 110
[LSW3-Vlanif40]vrrp vrid 40 preempt-mode timer delay 20
[LSW3-Vlanif40]quit
// 以下是配置监听接口	
[LSW3]interface Vlanif 10 	
[LSW3-Vlanif10]vrrp vrid 10 track interface g0/0/4 reduce 20 // 跟踪g0/0/4的接口,假如这个接口坏了,则将优先级自降20	
[LSW3-Vlanif10]quit 
[LSW3]int vlanif 20
[LSW3-Vlanif20]vrrp vrid 20 track interface g0/0/4 reduce 20
[LSW3-Vlanif20]quit
[LSW3]int vlanif 30
[LSW3-Vlanif30]vrrp vrid 30 track interface g0/0/4 reduce 20
[LSW3-Vlanif30]quit
[LSW3]int vlanif 40
[LSW3-Vlanif40]vrrp vrid 40 track interface g0/0/4 reduce 20
[LSW3-Vlanif40]quit

2. backup组LSW4配置:

[LSW4]int vlanif 10
[LSW4-Vlanif10]vrrp vrid 10 virtual-ip 10.1.1.254 //vrid需与相同vlan接口一致
[LSW4-Vlanif10]vrrp vrid 10 priority 100
[LSW4-Vlanif10]vrrp vrid 10 preempt-mode timer delay 20
[LSW4-Vlanif10]quit
[LSW4]int vlanif 20
[LSW4-Vlanif20]vrrp vrid 20 virtual-ip 20.1.1.254
[LSW4-Vlanif20]vrrp vrid 20 priority 100
[LSW4-Vlanif20]vrrp vrid 20 preempt-mode timer delay 20
[LSW4-Vlanif20]quit
[LSW4]int vlanif 30
[LSW4-Vlanif30]vrrp vrid 30 virtual-ip 30.1.1.254
[LSW4-Vlanif30]vrrp vrid 30 priority 100
[LSW4-Vlanif30]vrrp vrid 30 preempt-mode timer delay 20
[LSW4-Vlanif30]quit
[LSW4]int vlanif 40
[LSW4-Vlanif40]vrrp vrid 40 virtual-ip 40.1.1.254
[LSW4-Vlanif40]vrrp vrid 40 priority 100
[LSW4-Vlanif40]vrrp vrid 40 preempt-mode timer delay 20
[LSW4-Vlanif40]quit

自此,我们就将vrrp配置好了,下面我们来测试下不同网段能否正常通信,假如vrrp配置没有问题,是能够正常通信的,配置有问题肯定是无法通信了,当然,在最后验证环节可以看到vrrp的作用。
如下图,用PC1去ping PC2能够正常通信,说明vrrp配置没有问题。
ping PC2 结果
ping PC3 结果
ping PC4 结果

路由配置

**技巧:**边界路由器可以配置默认路由器,若是中间的路由器,则不同的出口都要去配路由,除非某个接口是边界出口。此外在配置一个路由器的路由后,就进行一段的连通性测试,保证能够及时发现问题和解决问题。

**LSW3和LSW4**
[LSW3]ip route-static 0.0.0.0 0.0.0.0 50.1.1.2
[LSW4]ip route-static 0.0.0.0 0.0.0.0 60.1.1.2
**AR1:**
[AR1]ip route-static 10.1.1.0 24 50.1.1.1	
[AR1]ip route-static 20.1.1.0 24 50.1.1.1
[AR1]ip route-static 30.1.1.0 24 50.1.1.1
[AR1]ip route-static 40.1.1.0 24 50.1.1.1
[AR1]ip route-static 10.1.1.0 24 60.1.1.1 preference 2
[AR1]ip route-static 20.1.1.0 24 60.1.1.1 preference 2
[AR1]ip route-static 30.1.1.0 24 60.1.1.1 preference 2
[AR1]ip route-static 40.1.1.0 24 60.1.1.1 preference 2
[AR1]ip route-static 80.1.1.0 24 70.1.1.2	
[AR1]ip route-static 90.1.1.0 24 70.1.1.2
**AR2:**
[AR2]ip route-static 90.1.1.0 24 80.1.1.2
[AR2]ip route-static 10.1.1.0 24 70.1.1.1
[AR2]ip route-static 20.1.1.0 24 70.1.1.1
[AR2]ip route-static 30.1.1.0 24 70.1.1.1
[AR2]ip route-static 40.1.1.0 24 70.1.1.1
[AR2]ip route-static 50.1.1.0 24 70.1.1.1
[AR2]ip route-static 60.1.1.0 24 70.1.1.1
**AR3:**
[AR3]ip route-static 0.0.0.0 0.0.0.0 80.1.1.1

最后,用PC1 ping了PC5,测试了下连通性没有问题,如下图所示。
路由连通性测试
至此,我们就完成了整个网络都连通的任务,最后我们来验证一下vrrp和浮动路由的作用

验证vrrp和浮动路由

  1. vrrp验证
    先让PC1持续ping PC5,当我们把master组(LSW3)交换机的ge0/0/4口(即我们配置vrrp设置的监听口)down掉,看看backup组(LSW4)交换机能否顶替上,此外再看看会不会ping不通,如果能够持续通信,说明vrrp配置就成功了。

(1)down掉前,ping情况,master组和backup组的vrrp情况:
ping情况

LSW3
LSW4
(2)把LSW3 ge0/0/4 设置shutdown后,ping情况,master组和backup组的vrrp情况:
shutdown
ping情况
LSW3 vrrp
LSW4 vrrp
从上几张图可以看到,在切换到备份组交换机的时候,通信会丢几个包,但是不影响总体通信。而由于通信链路的阻塞,原本的master组交换机变成了backup组交换机,原本的backup组交换机变成了master组交换机。综上可以看到,vrrp配置成功了。
3. 浮动路由验证
这次我们运用wireshark抓包功能,分别抓取路由器AR1的两个接口(GE0/0/0和GE0/0/1)进行浮动路由验证。在上面配置中,GE0/0/0>GE0/0/1,因此,在链路正常的情况下,不同主机的通信应该是经过GE0/0/0,抓GE0/0/0口的包应当是有内容的。当GE0/0/0出现故障(这里我们将其shutdown掉模拟故障),就会走GE0/0/1,抓GE0/0/1口的包应当是有内容的。
链路正常情况:
GE0/0/0抓包情况
主动将GE0/0/0shutdown掉,GE0/0/1的抓包情况:
GE0/0/1的抓包情况

DHCP配置

在LSW3配置DHCP中继,使得PC1-PC4能够自动获取IP地址。
DHCP配置可以分为基于全局的配置模式和基于接口的配置模式(前提是该接口配置了网关)
基于全局的配置模式命令示例如下:

dhcp enable 
ip pool 10
network 10.1.1.0 mask 24
gateway-list 10.1.1.254
dns-list 8.8.8.8
interface ge 0/0/0 // 路由器接口
dhcp select global

本次进行的是基于接口的配置,如下:

[LSW3]dhcp enable 
[LSW3]interface Vlanif 10
[LSW3-Vlanif10]dhcp select interface 
[LSW3-Vlanif10]dhcp server lease day 1 // 设置租期
[LSW3-Vlanif10]dhcp server dns-list 8.8.8.8 // 设置dns地址
[LSW3-Vlanif10]quit 
[LSW3]interface Vlanif 20
[LSW3-Vlanif20]dhcp select interface 
[LSW3-Vlanif20]dhcp server lease day 1
[LSW3-Vlanif20]dhcp server dns-list 8.8.8.8
[LSW3-Vlanif20]quit 
[LSW3]interface Vlanif 30
[LSW3-Vlanif30]dhcp select interface 	
[LSW3-Vlanif30]dhcp server lease day 1
[LSW3-Vlanif30]dhcp server dns-list 8.8.8.8
[LSW3-Vlanif30]quit 	
[LSW3]interface Vlanif 40	
[LSW3-Vlanif40]dhcp select interface 	
[LSW3-Vlanif40]dhcp server lease day 1
[LSW3-Vlanif40]dhcp server dns-list 8.8.8.8
[LSW3-Vlanif40]quit

验证:
在这里插入图片描述
在这里插入图片描述
测试连通性:
在这里插入图片描述

至此,就完成了DHCP配置并验证通过了。

总结

感觉进行网络配置,我总结的经验就是:

  1. 从基本的配置开始,比如:IP,vlan,trunk等;
  2. 从局域网的配置开始,先把局域网调通再进行后续配置;
  3. 每配置一步,或者配置一段链路都需要进行测试,及时发现问题,及时解决问题。
    以上就是网络配置案例的全部,当然可能还缺防火墙,服务器,NAT等内容,有什么问题欢迎评论指正,后续会继续更新,不断学习,继续进步。

  1. vrrp协议详解 ↩︎

  2. 浮动路由详解 ↩︎

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

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

相关文章

vue-cli和vue有什么区别

目录 1、什么是 Vue? 2、什么是vue-cli? 3、区别和关联 👉 区别 👉 关联 🍀 扩展知识 “vue-cli”和vue的区别:vue是“vue.js”的简称,是一个成熟的用于构建用户界面的JavaScript渐进式框…

「Docker学习系列教程」9-Docker容器数据卷介绍

通过前面8篇文章的学习,我们已经学会了docker的安装、docker常用的命令已经docker镜像修改后提交的远程镜像仓库及提交到公司的私服仓库中。接下来,我们再来学学Docker另外一个重要的东西-容器数据卷。 我们先来看看一个场景:我们有多个dock…

18. 权重衰退的代码的从零实现和简洁实现

通过一个简单的例子来演示权重衰减。 %matplotlib inline import torch from torch import nn from d2l import torch as d2l0.01就是权重,xi是随机的输入,噪音是均值为0,方差为0.01的一个正态分布 n_train,n_test,num_inputs,batch_size 2…

Alibaba 官方微服务扛把子「SpringCloudAlibaba 全彩学习手册.PDF」,开源学习ing,

最近我在知乎上看过的一个热门回答: 初级 Java 开发面临的最大瓶颈在于,脱离不出自身业务带来的局限。日常工作中大部分时间在增删改查、写写接口、改改 bug,久而久之就会发现,自己的技术水平跟刚工作时相比没什么进步。 所以我们…

Spring Batch 批处理入门案例

引言 书接上篇 何为Spring Batch?怎么玩? ,前面普及了一下Spring Batch 相关介绍,本篇来一个helloword,简单试一下Spring Batch 怎么玩 批量处理流程 开始前,先了解一下Spring Batch程序运行大纲&#x…

[附源码]计算机毕业设计惠农微信小程序论文Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

这些不知道,别说你熟悉 Spring

写在前面 我们大多数 Java 程序员的日常工作基本都是在做业务开发,俗称 crudboy。 作为 crudboy 的你有没有这些烦恼呢? 随着业务的迭代,新功能的加入,代码变得越来越臃肿,可维护性越来越低,慢慢变成了屎…

【亲测有用】ERR_PROXY_CONNECTION_FAILED的解决方案(电脑明明有网络,但就是无法访问浏览器的网页!)

一、问题描述 就我而言,每次遇到这种问题,都是因为电脑意外关机导致的。昨天,我忘记给电脑充电,结果一觉醒来,发现电脑明明有网络,因为微信、QQ甚至向日葵远程连接别的电脑都没有问题,但就是所…

基于java+springboot+mybatis+vue+mysql的漫画动漫管理网站

项目介绍 本系统主要包括管理员和用户两个角色组成,主要包括以下功能: (1)前台:首页、漫画资源、排行榜、交流论坛、公告信息、个人中心、后台管理 。 (2)管理员:首页、个人中心、…

算法基础篇-06-排序-NB三人组(快速/堆/归并排序)

1. NB 三人组介绍 1.1 快速排序(Quick Sort) 时间复杂度:O(nlogn) 归位: 让元素去它该去的位置,保证左边的元素都比他小,右边都比他大; 1.1.1 原理图示: 假设初始列表: 我们从左边第一个…

三秒钟,我要拿到世界杯所有队伍阵容信息

文章目录🕐Im coming~🕑我写了个啥?🕔咋写的?🕘代码供上🕛 See you next time专栏Python零基础入门篇🔥Python网络蜘蛛🔥Python数据分析Django基础入门宝典🔥…

硬核,阿里自爆虐心万字面试手册,Github上获赞89.7K

开篇小叙 现在Java面试可以说是老生常谈的一个问题了,确实也是这么回事。面试题、面试宝典、面试手册......各种Java面试题一搜一大把,根本看不完,也看不过来,而且每份面试资料也都觉得Nice,然后就开启了收藏之路。 …

CSS - 02. CSS进阶

文章目录CSS进阶1 Emmet语法1.1 快速生成HTML结构语法1.2 快速生成CSS样式语法1.3 快速格式化代码2 CSS的复合选择器2.1 什么是复合选择器2.2 后代选择器2.3 子选择器2.4 并集选择器2.5 伪类选择器2.6 链接伪类选择器2.7 :focus 伪类选择器2.8 复合选择器总结3 CSS 的元素显示模…

Pr:导出设置之多路复用器与常规

多路复用器 MULTIPLEXERH.264、HEVC(H.265)和 MPEG 等格式中包含多路复用器 MULTIPLEXER模块,可用于控制如何将视频和音频数据合并到单个流中(又称“混合”)。基本设置Basic Settings多路复用器Multiplexer视频和音频流…

SolidWorks综合教程

SolidWorks综合教程 SolidWorks 认证工程师 (CSWA​​) 考试的完美指南,包含实例、测验和实践培训 课程英文名:SOLIDWORKS Academy A Comprehensive Course on SolidWorks 此视频教程共11.0小时,中英双语字幕,画质清晰无水印&a…

Android编译优化~Gradle构建基准测试

背景 之前对安卓打包编译优化有所实践,但当时对优化提升结果采取了手动测试的办法才拿到结果,而且遇到大型工程更是痛不欲生。不过当时采取的策略是将增量测试代码提到了Git,编译一次抄一次代码,样本数据只重复了10次&#xff0c…

【实时数仓】业务数据采集之Maxwell的介绍、底层原理、安装及初始化、监控功能、采集服务和MySQL的binlog

文章目录一 业务数据采集0 业务数据采集思路1 Maxwell 介绍2 Maxwell工作原理(1) MySQL主从复制过程(2)Maxwell的工作原理3 MySQL的binlog(1)什么是binlog(2)binlog的开启&#xff0…

算法基础篇-07-排序-希尔排序(Shell Sort)

1. 希尔排序简介 希尔排序(Shell Sort) 是一种分组插入排序算法,是基于插入排序算法演进而来;首先取一个整数d1n/2, 将元素分为d1个组,每组相邻元素之间距离d1,在各组内进行直接插入排序;取第二个整数d2d1/2,重复上述分组排序过程…

微信小程序框架(二)-全面详解(学习总结---从入门到深化)

目录 组件_基础视图 容器 view 文本 text 图片 image 组件_滑块视图容器 基本实现 Swiper常用属性说明 组件_滚动视图区域 水平滚动 垂直滚动 常用属性 组件_icon 图标使用 字体图标属性 组件_progress 基本进度条 属性说明 组件_表单 登录页面 组件_button 按钮属…

这个队列的思路是真的好,现在它是我简历上的亮点了。

前几天在一个开源项目的 github 里面看到这样的一个 pr: 光是看这个名字,里面有个 MemorySafe,我就有点陷进去了。 我先给你看看这个东西: 这个肯定很眼熟吧?我是从阿里巴巴开发规范中截的图。 为什么不建议使用 Fix…