第13部分 VLAN,Trunk 和VTP

news2024/11/28 10:36:09

目录

13.1 VLAN,Trunk 和VTP 简介

13.1.1 VLAN

13.1.2 Trunk

13.1.3 VTP

13.1.4 EtherChannel

13.2 实验1:划分VLAN

1.实验目的

2.实验拓扑

3.实验步骤

4.实验调试

13.3 实验2:Trunk 配置

1.实验目的

2.实验拓扑

3.实验步骤

13.4 实验3:VTP 配置

1.实验目的

2.实验拓扑

3.实验步骤

4.实验调试

13.5 实验4:EtherChannel 配置

1.实验目的

2.实验拓扑

3.实验步骤

13.6 VLAN、Trunk 和VTP 命令汇总


        Cisco 交换机不仅仅具有2 层交换功能,它还具有VLAN 功能。VLAN 技术使我们很容易地控制广播域的大小。有了VLAN,交换机之间的级联链路就需要Trunk 技术来保证望该链路可以同时传输多个VLAN 的数据。同时为了方便管理各交换机上的VLAN 信息,VTP 也被引入了。交换贡之间的级联链路带宽如果不够,我们可以把多条链路捆绑起来形成链路。本章将一一介绍以上各种技术的具体配置。

13.1 VLAN,Trunk 和VTP 简介

13.1.1 VLAN

        如图所示,虚拟局域网(Virtual LAN,VLAN)是交换机端口的逻辑组合。VLAN 工作在OSI 的第2 层,一个VLAN 就是一个广播域,VLAN 之间的通信是通过第3 层的路由器来完成的。VLAN 有以下优点。

①控制网络的广播问题:每一个VLAN 是一个广播域,一个VLAN 上的广播不会扩散到另一VLAN;

②简化网络管理:当VLAN 中的用户位置移动时,网络管理员只需设置几条命令即可;

③提高网络的安全性:VLAN 能控制广播,VLAN 之间不能直接通信;

定义交换机的商品在哪个VLAN 上的常用方法,如下所述。

①基于端口的VLAN:管理员把交换机某一商品指定为某一VLAN 的成员;

②基于MAC 地址的VLAN:交换机根据节点的MAC 地址,决定将其旋转于哪个VLAN 中。

13.1.2 Trunk

        当一个VLAN 跨过不同的交换机时,在同一VLAN 上但是却是在不同的交换机上的计算机进行通过时需要使用Trunk。Trunk 技术使得一条物理线路可以传送多个VLAN 的数据。交换机从属于某一VLAN(例如VLAN 3)的端口接收到数据,在Trunk 链路上进行传输前,会加上一个标记,表明该数据是VLAN 3 的;到了对方交换机,交换机会把该标记去掉,只发送到属于VLAN 3 的端口上。

        有两种常见的帧标记技术:ISL 和802.1Q。ISL 技术在原有的帧上重新加了一个帧头,并重新生成了帧检验序列(FCS),ISL 是Cisco 特有的技术,因此不能在Cisco 交换机和非Cisco 交换机之间使用。而802.1Q 技术在原有帧的源MAC 地址字段后插入标记字段,同时用新的FCS 字段替代了原有的FCS 字段,该技术是国际标准,得到所有厂家的支持。Cisco 交换机之间的链路是否形成Trunk 是可以自动协商的,这个协议称为DTP(Dynamic Trunk Protocol),DTP 还可以协商Trunk 链路的封装类型。下表是链路两端是否会形成Trunk 的总结。

13.1.3 VTP

        VTP(VLAN Trunk Protocol)提供了一种用于在交换机上管理VLAN 的方法,该协议使得我们可以在一个或者几个中央点(Server)上创建、修改和删除VLAN,VLAN 信息通过Trunk 链路自动扩散到其他交换机,任何参与VTP 的交换都可以接受这些修改,所有交换机保持相同的VLAN 信息。

        VTP 被组织成管理域(VTP Domain),相同域中的交换机能共享VLAN 信息。根据交换机在VTP 域中的作用不同,VTP 可以分为以下3 种模式。

        ①服务器模式(Server):在VTP 服务器上能创建、修改和删除VLAN,同时这些信息会通告给域中的其他的交换机。在默认情况下,交换机是服务器模式。每个VTP 域必须至少有一台服务器,域中的VTP 服务器可以有多台。

        ②客户机模式(Llient):VTP 客户机上不允许创建、修改和删除VLAN,但它会监听来自其他交换机的VTP 通告并更改自己的VLAN 信息。接收到的VTP 信息也会在Trunk 链路上向其他交换机转发,因此这种交换机还能充当VTP 中继。

        ③透明模式(Transparent):这种模式的交换机不参与VTP。可以在这种模式的交换机创建、修改和删除VLAN,但是这些VLAN 信息并不会通告给其他交换机,它也不接受其他交换机的VTP 通告而更新自己的VLAN 信息。然而需要注意的是,它会通过Trunk 链路转发接收到的VTP 通告,从而充当 了VTP 中继的角色,因此完全可以把该交换机看成是透明的。

        VTP 通告是以组播帧的方式发送的,VTP 通告中有一个字段称为修订号(Revision),初始值为0.只要在VTP Server上创建、修改和删除VLAN,通告的Revision 就增加1,通告中还包含了VLAN 的变化信息。需要注意的是:高Revision的通告会覆盖低Revision 的通告,而不管发送者是Server 还是Client。交换机只打官腔比本地在哪保存的Resivison号更高的通告;如果交换机收到比自己的Resivison 号更低的通告,会用自己的VLAN 信息反向覆盖。

13.1.4 EtherChannel

        EtherChannel(以太通道)是由Cisco 公司开发的,应用于交换机之间的多链路捆绑技术。它的基本原理是:将两个设备间多条快速以太或千兆以太物理链路捆绑在一起组成一条逻辑链路,从而达到带宽倍增的目的。除了增加带宽外,EtherChannel 还可以在多条链路上均衡分配流量,起到负载分担的作用。当一条或多条链路出现故障时,只要还有链路正常,流量将转移到其他的链路上,整个过程在几毫秒内完成,从而直到冗余的作用。在EtherCnahnel中,负载在各个链路上的分布可以根据源IP 地址、IP 地址、源MAC 地址、目的MAC 地址、源IP 地址和IP 地址组合,以及源MAC地址和目的MAC 地址组合等来进行分布。

        两台交换机之间是否形成EtherChannel 也可以用协议自动协商。目前有两个协商协议:PAGP 和LACP,前者是Cisco 专有的协议,而LACP 是公共的标准。

PAGP 协商的规律总结

LACP协商的规律总结。

13.2 实验1:划分VLAN

1.实验目的

通过本实验,可以掌握如下技能:

①熟悉VLAN 的创建;

②把交换机接口划分到特定VLAN

2.实验拓扑

3.实验步骤

本配置VLAN,首先要创建VLAN,然后才把交换机的端口划分到特定的端口上。

①步骤1:在划分VLAN 前,配置路由器R1 和R2 的g0/0 接口,从R1 ping 192.168.12.2 进行测试。默认时,交换机的全部接口都在VLAN 1 上,R1 和R2 应该能够通信。

②步骤2:在S1 上创建VLAN。

S1#vlan database                //进入到VLAN 配置模式

S1(vlan)#vlan 2 name VLAN2

        //以上创建VLAN,2 就是VLAN 的编号,VLAN 号的范围为1~1001,VLAN2 是该VLAN 的名字

S1(vlan)#vlan 3 name VLAN3

S1(vlan)#exit

        //退出VLAN 模式,创建的VLAN 立即生效

【提示】

        交换机中的VLAN 信息存放在单独的文件中flash;vlan.dat,因此如果要完全清除交换机的配置,除了使用”erase starting-config”命令外,还可使用”delete flash;vlan.dat”命令把VLAN 数据删除。

【提示】

新的IOS 版本中,可以在全局配置模式中创建VLAN,如下所述。

S1(config)#vlan 2

S1(config-vlan)#name VLAN 2

S!(config-vlan)#exit

S1(config)#vlan 3

S1(config-vlan)#name VLAN 3

③步骤3:把端口划分在VLAN 中

S1(config)#interface f0/1

S1(config-if)#switch mode access

//以上把交换机端口的模式改为access 模式,说明该端口是用于连接计算机的,而不是用于Trunk

S1(config-if)#switch access vlan 2

//然后把该端口f0/1 划分到VLAN2 中

S1(config)#interface f0/2

S1(config-if)#switch mode access

S1(config-if)#switch access vlan 3

【提示】

        默认时,所有交换机接口都在VLAN 1 上,VLAN 1 是不能删除的。如果有多个接口需要划分到同一VLAN 下,也可以采用如下节约时间,注意”-”前的空格。

S1(config)#interface range f0/2 - 3

S1(config-if-range)#switch mode access

S1(config-if-range)#switch access vlan 2

【提示】

        如果要删除VLAN,使用”no vlan 2”命令即可。删除某一VLAN 后,要记得把该VLAN 上的端口重新划分到别的VLAN上,否则将导致端口的”消失”。

4.实验调试

(1)查看VLAN

        使用”show vlan”或者”show vlan brief”命令查看VLAN 信息,以及每个VLAN 上有什么端口。要注意这里只能看到的是本交换机上哪个端口在VLAN 上,而不能看到其他交换机的端口在什么VLAN 上。如下:

SwA#show vlan

 //在交换机,VLAN1 是默认VLAN,不能删除,也不能改名。此外,还有1002 和1003 等VLAN 存在。

(2)VLAN 间的通信

由于f0/1 和f0/2 属于不同VLAN,从R1 ping 192.168.12.2 应该不能成功了。

13.3 实验2:Trunk 配置

1.实验目的

通过本实验,读者可以掌握如下技能:

①配置交换机接口的Trunk;

②理解DTP 的协商规律

2.实验拓扑

3.实验步骤

在实验1 的基础上继续本实验

①根据实验1 的步骤在S2 上创建VLAN,并把接口划分在图13-3 所示的VLAN 中。

②配置Trunk:

S1(config)#int f0/13

S1(config-if)#switchport trunk encanpsulation dot1q

//以上是配置Trunk 链路的封装类型,同一链路的两端封装要相同。有的交换机,例如2950 只能封装dot1q,因此无须执行该命令

S1(config-if)#switch mode trunk

//以上是把接口配置为Trunk

S2(config)#int f0/13

S2(config-if)#switchport trunk encanpsulation dot1q

S2(config-if)#switch mode trunk

③检查Trunk 链路的状态,测试跨交换机、同一VLAN 主机间的通信。

使用”show interface f0/13 trunk”可以查看交换机端口的trunk 状态,如下:

Port Mode Encapsulation Status Native vlan

Fa0/13 on 802.1q trunking 1

//f0/13 接口已经为Trunk 链路了,封装为802.1q

Port Vlans allowed on trunk

Fa0/13 1-4094

Port Vlans allowed and active in management domain

Fa0/13 1-3

Port Vlans in spanning tree forwarding state and not pruned

Fa0/13 2-3

        需要在链路的两端都确认Trunk 的形成。测试R1 和R3 以及R2 和R4 之间的通信。由于R1 和R3 在同一VLAN 上,所以R1 应该能ping 通R3 。R2 和R4 之间也应该能相互ping 通。

④配置Native VLAN:

S1(config)#int f0/13

S1(config-if)#switchport trunk native vlan 2

//以上是在Trunk 链路上配置Native VLAN,我们把它改为VLAN 2 了,默认是VLAN 1

S2(config)#int f0/13

S2(config-if)#switchport trunk native vlan 2

S1#show interface f0/13 trunk

【技术要点】

        之前介绍说在Trunk 链路上,数据帧会根据ISL 或者802.1Q 被重新封装,然而如果是Native VLAN 的数据,是不会被重新封装而就在Trunk 链路上传输。很显然链路两端Native VLAN 是要一样的。如果不一样,交换机会提示出错。

⑤DTP 配置

【技术要点】

        和DTP 配置有关的命令如下所述,这些命令不能任意组合。

        “switchport trunk encapsulation{negotiate|isl|dot1q}”:配置Trunk 链路上的封装类型,可以是双方协商确定,也可以是指定的isl 或者dot1q。

        “switchport nonegotiate”:Trunk 链路上不发送协商包,默认是发送的。

        “switch mode {trunk|dynamic desirable|dynamic auto}”:

  • Turnk——该设置将端口置为永久trunk 模式,封装类型由”switchport trunk encapsulation”命令决定;
  • Dynamic desirable——端口主动变为trunk,如果另一端为negotiate,dynamic desirable 和dynamic auto,将成功协商;
  • Dynamic auto——被动协商,如果另一端为negotiate 和dynamic desirable,将成功协商。

如果想把接口配置为negotiate,使用:

S1(config-if)#switchport trunk encapsulation {isl|dot1q}

S1(config-if)#switchport mode trunk

S1(config-if)#no switchport negotiate

如果想把接口配置为nonegotiate,使用:

S1(config-if)#switchport trunk encapsulation {isl|dot1q}

S1(config-if)#switchport mode trunk

S1(config-if)#no switchport nonegotiate

如果想把接口配置为desirable,使用:

S1(config-if)#switchport mode dynamic desirable

S1(config-if)#switch trunk encapsulation{negotiate|isl|dot1q}

如果想把接口配置为auto,使用:

S1(config-if)#switchport mode dynamic auto

S1(config-if)#switch trunk encapsulation{negotiate|isl|dot1q}

在这里,进行如下配置:

S1(config-if)#switchport mode dynamic desirable

S1(config-if)#switch trunk encapsulation negotiate

S2(config-if)#switchport mode dynamic auto

S2(config-if)#switch trunk encapsulation negotiate

S1#show interfaces f0/13 trunk

Port Mode Encapsulation Status Native vlan

Fa0/13 desirable n-isl trunking 1

//可以看到Trunk 已经形成,封装为n-isl,这里的”n”表示封装类型也是自动协商的。需要在两端都进行检查,确认两端都形成Trunk 才行

【提示】

        由于交换机有默认配置,进行以上配置后,使用”show running”可能看不到我们配置的命令。默认时,catalyst2950和3550 的配置是desirable 模式;而catalyst 3560 是auto 模式,所以,两台3560 交换机之间不会自动形成Trunk,3560 交换机和2950 交换机之间却可以形成Trunk。

13.4 实验3:VTP 配置

1.实验目的

通过本实验,读者可以掌握如下技能:

①理解VTP 的3 种模式;

②熟悉VTP 的配置。

2.实验拓扑

3.实验步骤

(1)把3 台交换机配置清除干净,重启交换机

S1#delete flash;vlan.dat

S1#erase startup-config

S1#reload

//S2 和S3 采用相同步骤

(2)检查

        检查S1 和S3 之间、S3 和S2 之间链路Trunk 是否自动形成,如果没有形成,请参照实验2 步骤配置Trunk。

(3)配置S1 为VTP server

S1(config)#vtp mode server

Device mode already VTP SERVER.

//以上配置S1 为VTP server,实际上这时默认值

S1(config)#vtp domain VTP-TEST

Changing VTP domain name from NULL to VTP-TEST

//以上配置VTP 域名

S1(config)#vtp password cisco

Setting device VLAN database password to cicso

//以上配置VTP 的密码,目的是为了安全,防止不明身份的交换机加入到域中

(4)配置S3 为VTP transparent

S3#vlan database

S3(vlan)#vtp transparent

Setting device VTP TRANSPARENT mode.

S3(vlan)#vtp domain VTP-TEST

Domain name already set to VTP-TSET

S3(config)#vtp password cisco

Setting device VLAN database password to cicso

【提示】

        有的IOS 版本只支持在VLAN Database 下配置VLAN。

(5)配置S2 为VTP client

S2(vlan)#vtp mode client

Setting device VTP CLIENT mode.

S2(vlan)#vtp domain VTP-TEST

Domain name already set to VTP-TSET

S2(config)#vtp password cisco

Setting device VLAN database password to cicso

4.实验调试

(1)在S1 上创建VLAN,检查S2 和S3 上的VLAN 信息

S1(config)#vlan 2

S1(config)#vlan 3

S2#show vlan

S3#show vlan

//可以看到S2 上有了VLAN2 和VLAN3,而S3 上并没有,因为S3 是透明模式

(2)查看VTP 信息

S1#show vtp status

VTP Version ; 2         //该VTP 支持版本2

Configuration Revision ; 2         //修订号为2,该数值非常重要

Maximum VLANs supported locally ; 1005

Number of existing VLANs ; 7         //VLAN 数量

VTP Operating Mode ; Server         //VTP 模式

VTP Domain Name ; VTP-TEST         //VTP 域名

VTP Pruning Mode ; Disabled         //VTP 修剪没有启用

VTP V2 Mode ; Disabled         //VTP 版本2 没有启用,现在是版本1

VTP Traps Generation ; Disabled

MD5 digest ; 0xD4 0x30 0xE7 0xB7 0xDC 0xDF 0x1B 0xD8

Configuration last modified by 0.0.0.0 at 3-1-93 00;22;16

Local updater ID is 0.0.0.0(no valid interface found)

(3)观察VTP 的revision 数值在S1 上,修改、创建或删除VLAN,在S2 和S3 上使用”Show vtp status”命令观察revision 数值是否增加1 。

(4)配置修剪、版本2

S1(config)#vtp pruning

S1(config)#vtp version 2

S1#show vtp status

【提示】

        VTP 修剪和VTP 版本只需要在一个VTP server 上进行即可,其他server 或者client 会自动跟着更改。VTP 修剪是为了防止不必要必要的流量从Trunk 链路上通过,通常需要启用。

13.5 实验4:EtherChannel 配置

1.实验目的

通过本实验,读者可以掌握如下技能:

①EtherChannel 的工作原理;

②EtherChannel 的配置。

2.实验拓扑

3.实验步骤

        构成EnterChannel 的端口必须具有相同的特性,如双工模式、速度和Trunking 的状态等。配置EtherChannel 有手支配置和自动配置(PAGP 或者LAGP)两种方法,自动配置就是让EtherChannel 协商协议自动协商EtherChannel 的建立。

(1) 手动配置EtherChannel

S1(config)#interface port-channel 1

//以上是创建以太通道,要指定一个唯一的通道组号,组号的范围是1~6 的正整数。要取消EtherChannel 时用”no interface port-channel 1”命令

S1(config)#interface f0/13

S1(config-if)#channel-group 1 mode on

S1(config)#interface f0/14

S1(config-if)#channel-group 1 mode on

//以上将物理接口指定到已创建的通道中

S1(config)#int port-channel 1

S1(config-if)#switchport 1 mode trunk

S1(config-if)#speed 100

S1(config-if)#duplex full

//以上配置通道中的物理接口的速率及双工等属性

S2(config)#interface port-channel 1

S2(config)#interface f0/13

S2(config-if)#channel-group 1 mode on

S2(config)#interface f0/14

S2(config-if)#channel-group 1 mode on

S2(config)#int port-channel 1

S2(config-if)#switchport 1 mode trunk

S2(config-if)#speed 100

S2(config-if)#duplex full

S1(config)#port-channel load-balance dst-msc

S2(config)#port-channel load-balance dst-msc

//以上是配置EtherChannel 的负载平衡方式,命令格式为”port-channel load-balance method”,负载平衡的方式有:dst-ip、dst-mac、src-dst-ip、src-dst-mac 等

(2)查看EtherChannel 信息

S1#show etherchannel summary

//可以看到EtherChannel 已经形成,”SU”表示EtherChannel 正常,如果显示为”SD”,表示把EthernetChannel 接口关掉重新开启。

(3)配置PAGP 或者LAGP

【技术要点】

  • 要想把接口配置为PAGP 的desirable 模式使用命令:”channel-group 1 mode desirable”;
  • 要想把接口配置为PAGP 的auto 模式使用命令:”channel-group 1 mode auto”;
  • 要想把接口配置为LACP 的active 模式使用命令:”channel-group 1 mode active”;
  • 要想把接口配置为LACP 的passive 模式使用命令:”channel-group 1 mode passive”。

在这里进行如下配置:

S1(config)#interface range f0/13 – 14

S1(config-if)#channel-group 1 mode desirable

S2(config)#interface range f0/13 – 14

S2(config-if)#channel-group 1 mode desirable

S1#show etherchannel summary

//可以看到EtherChannel 协商成功。注意:应在链路的两端都进行检查,确认两端都形成以太通道才行

13.6 VLAN、Trunk 和VTP 命令汇总

命令                                                         作用

vlan database                                          进入到VLAN Database 配置模式

vlan 2 name VLAN 2                               创建VLAN 2

switch access vlan 2                               把端口划分到VLAN 2 中

interface range f0/2 -3                             批量配置接口的属性

show vlan                                                查看VLAN 的信息

switchport trunk encanpsulation              配置Trunk 链路的封装类型

switch mode trunk                                   把接口配置为Trunk

show interface f0/13 trunk                       查看交换机端口的Trunk 状态

switchport nonegotiate Trunk                  链路上不发送Trunk 协商包

vtp mode server                                      配置交换机为VTP server

vtp domain VTP-TEST                            配置VTP 域名

vtp password cisco                                 配置VTP 的密码

vtp mode client                                       配置交换机为VTP client

vtp transparent                                       配置交换机为VTP transparent

show vtp status                                      显示VTP 的状态

vtp pruning                                             启用VTP 修剪

vtp version 2 VTP                                   版本为 2

interface port-channel 1                         创建以太通道

channel-group 1 mode on                      把接口加入到以太通道中,并指明以太通道模式

port-channel load-balance dst-mac        配置EtherChannel 的负载平衡方式

show etherchannel summary                 查看EtherChannel 的简单信息

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

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

相关文章

SpringBoot整合Graylog做日志收集

日志收集折腾过程 ELK 之前整合过ELK做日志采集,就是Elasticsearch Logstash Kibana: Elasticsearch:存储引擎,存放日志内容,利于全文检索Logstash:数据传输管道,将日志内容传输到Elastics…

无法在Anaconda环境中使用pre-commit run --all-files:缺少匹配版本的ruamel.yaml

参考来源:https://stackoverflow.com/questions/68794749/unable-to-run-pre-commit-in-anaconda-environment 问题 与电脑两地隔离了半个月,今天开机commit的时候忽然弹出了下面的错误(自己图忘存了,图源置顶链接)&…

b站黑马的Vue快速入门案例代码——小黑记事本

目录 目标效果: 重点原理: (1)push()方法——向数组末尾,添加新元素,并返回新长度 (2)v-on可以传递自定义参数,v-on:click”...“的简写是clic…

jdk11新特性——标准Java异步HTTP客户端

目录一、概述二、HTTP Client 同步发送请求使用示例2.1、创建简单的服务端2.2、创建HTTP Client 同步代码三、HTTP Client 异步发送请求使用示例3.1、创建简单的服务端(参考2.1)3.2、创建HTTP Client 异步代码一、概述 Java 9 开始引入的一个处理 HTTP …

浅谈ioremap,vmalloc,mmap三者之间的脉络

前言 系统mmu开启后, 程序对内存的访问都是虚拟地址, 之后mmu会自动将虚拟地址变为实际的物理地址(硬件行为), 所以我们的程序如果要访问物理地址的话,必须要通过mmu建立虚拟地址与物理地址之间的映射关系。对于虚拟地址映射到物理地址的操作…

非零基础自学Golang 第7章 函数 7.6 延迟执行语句 7.7 小结

非零基础自学Golang 文章目录非零基础自学Golang第7章 函数7.6 延迟执行语句7.7 小结第7章 函数 7.6 延迟执行语句 Go语言中存在一种延迟执行的语句,由defer关键字标识,格式如下: defer 任意语句defer后的语句不会被马上执行,在…

Redis持久化详解

一、概述 在Redis中,实现高可用的技术主要包括持久化、复制、哨兵和集群,下面分别说明它们的作用,以及解决了什么样的问题。 持久化:持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份…

springboot整合系列之如何选择版本及项目搭建

特别说明:本次项目整合基于idea进行的,如果使用Eclipse可能会略有不同。因为我很久没用过eclipse了,所以也没有办法给出两个版本。如果不一致的地方就自行google解决吧~~ springboot整合之如何选择版本及项目搭建 springboot整合mybatis-pl…

ADI Blackfin DSP处理器-BF533的开发详解52:图像处理专题-CMOS摄像头采集图像(含源码)

硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 板卡上设计了一个摄像头接口,可以连接与板卡匹配的 ADSP-EDU-CMOS 子卡板。摄像头接口采用 20PIN 插针接入,将插…

照片变漫画怎么做?分享这几个照片变漫画的技巧给你

大家在网上是否有看到过一些绘画博主给别人画漫画图呢?这些图片中的人物形象与现实中的非常相像,而且看起来真的很像漫画中的人物一般,画出来对于一些没有绘画功底的人来说是比较困难的。那么我们又该如何得到我们在漫画中的图片呢&#xff1…

四种常见排序(冒泡、选择、插入、快速排序)--- Python版

经典排序算法总结与实现 经典排序算法在面试中占有很大的比重,也是基础,为了未雨绸缪,这次收集整理并用Python实现了八大经典排序算法,包括冒泡排序,插入排序,选择排序,希尔排序,归…

Python实现批量采集美女视*频 <无水印>

前言 大家早好、午好、晚好吖 ❤ ~ 我给大家准备了一些资料,包括: 2022最新Python视频教程、Python电子书10个G (涵盖基础、爬虫、数据分析、web开发、机器学习、人工智能、面试题)、Python学习路线图等等 直接在文末名片自取即可&#x…

机器学习还能预测心血管疾病?没错,我用 Python 写出来了

全球每年约有1700万人死于心血管疾病,当中主要表现为心肌梗死和心力衰竭。当心脏不能泵出足够的血液来满足人体的需要时,就会发生心力衰竭,通常由糖尿病、高血压或其他心脏疾病引起。 在检测心血管疾病的早期症状时,机器学习就能…

nodejs+vue企业固定资产管理系统-vscode

目 录 摘 要 I 目 录 III 第一章 概述 1.1研究背景 1.2 开发意义 1.3 研究现状 1.4 研究内容 1.5 论文结构 第二章 开发技术介绍 2.5 B/S架构 3.1 可行性分析 3.1.1技术可行性 3.1.2操作可行性 3.1.3 经济可行性 3.1.4 运行可行性 3.2性能需求分析 3.4功能分析 第四章 系统设计…

轻量级的架构决策记录机制

作者:倪新明 ADR是一种性价比非常高的架构决策文档化实践,团队引入和实践成本很低,却能为团队带来极大收益! 1 团队研发面临的问题 不论是在传统的IT行业,还是互联网行业,研发团队在架构决策层面或多或少…

在Arduino IDE上开发ESP32(离线安装SDK)

用过Arduino的朋友都知道,Arduino的整个生态强大得让你不能不服。大家所贡献出来的各种库让基于Arduino的开发虽然还没有变得无所不能,但也算是相当得心应手了。你所能想到的功能大体都能在网上找到对应的库和文章。可能是因为这个原因吧,所以…

Redis整理-未完成

目录 1. Redis安装 1.1 单机 1.2 主从 1.3 哨兵 1.4 集群 1.4.1 方式一 redis-cli --cluster命令 1.4.2 方式二 cluster meet/addslots/replicate 2. Redis配置 2.1 基本参数配置 2.2 持久化配置 2.3 内存策略设置 2.4 主从配置 2.5 哨兵配置 2.6 集群配置 2.6.…

吃透这份 “ 自动化测试 ” 核心技术栈,月薪30K还不是随便叫

为了帮助大家快速回顾学习自动化测试中的知识点,分享一下这些年来,我对于技术一些归纳和总结,和自己对作为一名 高级测试工程师需要掌握那些技能的笔记分享,希望能帮助到有心在技术这条道路上一路走到黑的朋友! 一、L…

[附源码]Python计算机毕业设计SSM基于JAVA快递配送平台(程序+LW)

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

语音怎么转换成文字?这几个实用方法分享给你

当我们在听一些流行的英文歌曲时,发现它没有附带翻译的时候,是不是常常听不懂歌曲的意思内容呢?面对这种情况应该怎么办呢?其实也不难,我们只需要利用软件来将歌曲转换成文字的格式就可以了,那你们知道如何…