Day34-Linux网络管理4

Day34-Linux网络管理4

  • 1. IP地址分类与子网划分基础
    • 1.1 什么是IP地址
    • 1.2 十进制与二进制的转换
    • 1.3 IP地址的分类
    • 1.4 私网地址和局域网地址
  • 2. 通信类型
  • 3. 子网划分讲解
    • 3.1 为什么要划分子网?
    • 3.2 什么是子网划分?
    • 3.3 子网划分的作用?
    • 3.4 子网划分常见问题
      • 3.4.1 选定的子网掩码将创建多少个子网?
      • 3.4.2 每个子网可包含多少台主机?
      • 3.4.3 有哪些合法的子网?
      • 3.4.4 每个子网的广播地址是什么?
      • 3.4.5 每个子网可包含哪些主机地址?
  • 4. 虚拟局域网 VLAN
  • 5. Linux网络管理实践
    • 5.1 物理层及数据链路层
      • 5.1.1 查看网卡工作状态
      • 5.1.2 查看网络接口的协商状态
      • 5.1.3 更改网络接口的工作模式
      • 5.1.4 恢复网卡适应的工作状态
    • 5.2 查询及设置网卡参数ethtool
    • 5.3 什么是arp欺骗?如果解决arp欺骗。
  • 6. 网络层
    • 6.1 网络配置
    • 6.2 systemd-analyze
    • 6.3 网卡配置

使用wireshark查看tcp3次握手及四次断开细节实践。
wireshark抓包新手使用教程
链接: https://www.cnblogs.com/mq0036/p/11187138.html

1. IP地址分类与子网划分基础

1.1 什么是IP地址

  • 32位二进制数字序列组成的数字序列
  • 采用点将32位数字进行分割为4段,每段8位的二进制数,但二进制数不便于记忆,因此转换为10进制数显示,即点分十进制

在一个网络范围内,唯一标识一台主机。

1.2 十进制与二进制的转换

在这里插入图片描述
在这里插入图片描述

1.3 IP地址的分类

简单的说,IP地址分5类,常见的地址是A、B、C类
A 1.0.0.0 到 126.0.0.0 (0.0.0.0 和127.0.0.0保留)
B 128.1.0.0 到 191.254.0.0 (128.0.0.0和191.255.0.0保留)
C 192.0.1.0 到 223.255.254.0 (192.0.0.0和223.255.255.0保留)
D 224.0.0.0 到 239.255.255.255 用于多点广播
E 240.0.0.0 到 255.255.255.254 保留(255.255.255.255用于广播)

注意:
1)ABC三类分配给互联网用户所使用
2)D类型做为组播使用(keepalived,heartbeat多播)

mcast eth1 225.0.0.1 694 1 0  #heartbeat组播配置
ucast eth1 172.16.49.133      #heartbeat单播

3)E类型作为科学研究使用,进行保留

特殊地址:
127.0.0.1 —表示回环地址,进行测试使用,验证本地的TCP协议簇安装的是否正确
0.0.0.0 —主机位全为0的称为是网络地址
255.255.255.255 —主机位全为1的称为是广播地址,即向所有人发出信息

1.4 私网地址和局域网地址

在一个企业内部可以复用,局域网地址不能进入公网,路由器不转发。
数据包出网的时候路由器会用SNAT改变局域网的地址为路由器的公网地址。
数据包回来的时候路由器会用DNAT把路由器的公网地址改变局域网的地址。

NAT:
私网地址:下面的网络地址段就是分配给专用网络地址使用的。
10.0.0.0/8 (10.0.0.0到10.255.255.255)
172.16.0.0/12 (172.16.0.0到172.31.255.255)
192.168.0.0/16 (192.168.0.0到192.168.255.255) ###192.168.0.0/16
169.254.0.0/16 (169.254.0.0到169.254.255.255)*
其他地址:用于IDC机房,办公室场景中ISP给我们分配的外网地址。

说明:
划分私网ip地址的作用主要是避免地址的枯竭,对于一般不同局域网环境中,地址实际是可以重复使用的,不必要仍保持唯一性
就类似于人的身份证和护照的关系一样
默认私网地址只在本局域网中有效识别,但一旦出局域网到达公网,就没有任何意思了
因此未解决这种问题,就出现了一个技术NAT(SNAT和DNAT),即地址的映射技术

2. 通信类型

单播(点到点) 就是点到点的通讯,例如A-B的通信方式
组播(需要配地址)也是一对多的方式,但是可以根据需要进行接收,如果不想接收可以进行过滤掉
广播(广播域) 在一定的范围内,所有成员都会收到的信息,称为广播信息,并且每个成员都要收取,都要进行处理。

#heartbeat

mcast eth1 225.0.0.1 694 1 0  #heartbeat组播配置
ucast eth1 172.16.49.133      #heartbeat单播

#KeepAlived
MASTER以IP组播(组播地址:224.0.0.18)形式发送VRRP协议包,与BACKUP保持心跳连接,若MASTER不可用(或BACKUP接收不到VRRP协议包),则BACKUP通过竞选产生新的MASTER并继续对外提供服务,从而实现高可用。

3. 子网划分讲解

3.1 为什么要划分子网?

  1. 会出现大量的局域网地址,同时向一个网关发送请求,引起网关设备的负载过高
  2. 会引起局域网内的大量广播数据传送,形成广播风暴
  3. 而且会非常的浪费地址空间,有可能只有两台主机或者一台,就分配一个C类地址

3.2 什么是子网划分?

通过子网划分(通过子网掩码进行划分)
可以将一个大的局域网络进行切割为多个小的局域网,这样就解决了上面说的两个问题,而得到的新的局域网络就称为子网

3.3 子网划分的作用?

1.将一个大的广播域划分成几个小的广播域环境
2. 减少网关设备所承载的负载量
3. 有效的避免ip地址的浪费,使一个大的地址空间更加弹性和更加灵活的进行分配

通过子网划分(通过子网掩码进行划分)
可以将一个大的局域网络进行切割为多个小的局域网,这样就解决了上面说的两个问题,而得到的新的局域网络就称为子网

链接: https://blog.csdn.net/dyyay521/article/details/94381876
链接: https://www.cnblogs.com/simon4you/p/11159102.html

3.4 子网划分常见问题

3.4.1 选定的子网掩码将创建多少个子网?

2^x个,其中x是子网掩码借用的主机位数。如:192.168.10.32/28,我们知道C类ip的默认子网掩码为:255.255.255.0,而由上文的CIDR知识,我们了解到这个ip的实际子网掩码是:255.255.255.240。原本最后一个字节应该是0(00000000),现在却是240(11110000)。故其借用了主机位4位来充当网络位。

3.4.2 每个子网可包含多少台主机?

2^y-2台,其中y是没被借用的主机位的位数。-2是因为,主机位全为0的部分是这个子网的网段号(Net_id),全为1的部分是这个网段的广播地址。

3.4.3 有哪些合法的子网?

算出子网的步长(增量)。一个例子是256-192 =64,
即子网掩码为192时,步长为64。从0开始不断增加剧,直到到达子网掩码值,中间的结果就是子网,即0、64、128和192,

3.4.4 每个子网的广播地址是什么?

主机位全为1就是该子网的广播地址。一般我们这样计算:广播地址总是下一个子网前面的数.前面确定了子网为0、64、128和192,例如,子网0的广播地址为63,因为下一个子网为64;子网64的广播地址为127,因为下一个子网为128,以此类推。请记住,最后一个子网的广播地址总是255

3.4.5 每个子网可包含哪些主机地址?

合法的主机地址位于两个子网之间,但全为0和全为1的地址除外。例如,如果子网号(网段号)为64,而广播地址为127,则合法的主机地址范围为65-126,即子网地址和广播地址之间的数字。

4. 虚拟局域网 VLAN

VLAN原理
虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组

这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的工作站是属于哪一个 VLAN。虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网

优点
(1)更有效地共享网络资源。如果用交换机构成较大的局域网,大量的广播报文就会使网络性能下降。
VLAN能将广播报文限制在本VLAN范围内,从而提升了网络的效能
(2)简化网络管理。当结点物理位置发生变化时,如跨越多个局域网,通过逻辑上配置VLAN即可形成网络设备的逻辑组,
无需重新布线和改变IP地址等。这些逻辑组可以跨越一个或多个二层交换机
(3)提高网络的数据安全性。一个VLAN中的结点接收不到另一个VLAN中其他结点的帧

虚拟局域网的实现技术
(1)基于端口的VLAN
(2)基于MAC地址的VLAN
(3)基于协议的VLAN
(4)基于网络地址的VLAN

5. Linux网络管理实践

5.1 物理层及数据链路层

(1)网卡检测命令mii-tool
mii-tool #是用于查看管理物理的网络接口的状态,还可以配置网卡需要的协商方式。

[root@oldboy ~]# mii-tool 
No interface specified
usage: mii-tool [-VvRrwl] [-A media,... | -F media] [-p addr] <interface ...>
       -V, --version               display version information
       -v, --verbose               more verbose output
       -R, --reset                 reset MII to poweron state
       -r, --restart               restart autonegotiation
       -w, --watch                 monitor for link status changes
       -l, --log                   with -w, write events to syslog
       -A, --advertise=media,...   advertise only specified media
       -F, --force=media           force specified media technology
       -p, --phy=addr              set PHY (MII address) to report
media: 1000baseTx-HD, 1000baseTx-FD,
       100baseT4, 100baseTx-FD, 100baseTx-HD,
       10baseT-FD, 10baseT-HD,
       (to advertise both HD and FD) 1000baseTx, 100baseTx, 10baseT

5.1.1 查看网卡工作状态

mill-tool 【网卡名】 #查看物理网卡连接状态

-V 显示版本信息;
-v 显示网络接口的信息;
-R 重设MII到开启状态;
-r 重启自动协商模式;
-w 查看网络接口连接的状态变化;
-l 写入事件到系统日志;
-A 指令特定的网络接口;
-F 更改网络接口协商方式;

5.1.2 查看网络接口的协商状态

#mii-tool -v eth0

[root@oldboy ~]# mii-tool  eth0
eth0: negotiated 1000baseT-FD flow-control, link ok

[root@oldboy ~]# mii-tool  -v eth0
eth0: negotiated 1000baseT-FD flow-control, link ok
  product info: Yukon 88E1011 rev 3
  basic mode:   autonegotiation enabled
  basic status: autonegotiation complete, link ok
  capabilities: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  link partner: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

5.1.3 更改网络接口的工作模式

-F选项后面接1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD等参数
#mii-tool -F media [interface]
例:置网卡工作在100M半双工模式

[root@oldboy ~]# mii-tool -F 100baseTx-HD eth0
[root@oldboy ~]# mii-tool  -v eth0
eth0: 1000 Mbit, half duplex, link ok
  product info: Yukon 88E1011 rev 3
  basic mode:   100 Mbit, half duplex ############
  basic status: link ok
  capabilities: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  link partner: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

5.1.4 恢复网卡适应的工作状态

用-r选项:

#mii-tool -r eth0

5.2 查询及设置网卡参数ethtool

ethtool是用于查询及设置网卡参数的命令。
概要:

ethtool eth0       //查询eth0网口基本设置
ethtool –h         //显示ethtool的命令帮助(help)
ethtool –i eth0    //查询eth0网口的相关信息 
ethtool –d eth0    //查询eth0网口注册性信息
ethtool –r eth0    //重置eth0网口到自适应模式
ethtool –S eth0    //查询eth0网口收发包统计
ethtool –s eth0 [speed 10|100|1000]\         //设置网口速率10/100/1000M
[duplex half|full]\           //设置网口半/全双工
[autoneg on|off]\            //设置网口是否自协商
[port tp|aui|bnc|mii]\         //设置网口类型

举例:

1[root@oldboy ~]# ethtool eth1
2[root@oldboy ~]# ethtool -i eth1
3[root@oldboy ~]# ethtool -S eth1
4[root@oldboy ~]# ethtool -s eth1 autoneg off speed 100 duplex full

怎样使ethtool设置永久保存在网络设备中?
方法一:
ethtool设置可通过/etc/sysconfig/network-scripts/ifcfg-eth0文件保存,从而在设备下次启动时激活选项。
例如:

ethtool -s eth0 speed 100 duplex full autoneg off

此指令将eth0设备设置为全双工自适应,速度为100Mbs。若要eth0启动时设置这些参数, 修改文件/etc/sysconfig/network-scripts/ifcfg-eth0 ,添加如下一行:

ETHTOOL_OPTS="speed 100 duplex full autoneg off"

方法二:
将ethtool设置写入/etc/rc.local中。

(查看MAC地址) #ip命令趋势,尽量用。

[root@oldboy ~]# ip link  #ifconfig
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:5f:42:a7 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:5f:42:b1 brd ff:ff:ff:ff:ff:ff

(查看ARP缓存)

[root@oldboy ~]# ip neigh
10.0.0.254 dev eth1 lladdr 00:50:56:e8:46:33 REACHABLE
10.0.0.1 dev eth1 lladdr 00:50:56:c0:00:08 REACHABLE
10.0.0.254 dev eth0 lladdr 00:50:56:e8:46:33 STALE

[root@oldboy ~]# arp -a
gateway (10.0.0.254) at 00:50:56:e8:46:33 [ether] on eth1
? (10.0.0.1) at 00:50:56:c0:00:08 [ether] on eth1
gateway (10.0.0.254) at 00:50:56:e8:46:33 [ether] on eth0

ARP缓存表就长这样!
接口: 192.168.14.251 — 0x12

Internet 地址物理地址类型
192.168.14.1dc-da-80-17-e7-ae动态
192.168.14.310-e7-c6-ec-28-23动态
192.168.14.654-05-db-f4-c5-b7动态
192.168.14.800-e0-99-00-0f-eb动态
192.168.14.900-0c-29-ac-d0-ff动态
192.168.14.1000-d8-61-87-1c-ad动态

维护系统的arp缓存命令arp
arp: 显示所有的表项。

arp  -d address # 删除一个arp表项。
arp  -s address hw_addr: #手工绑定arp地址和IP地址。

意义何在???

5.3 什么是arp欺骗?如果解决arp欺骗。

1)局域网内机器中毒,大量发广播包。说我是10.0.0.100,我的MAC是(05(网关的MAC))
2)局域网机器的ARP表里:

Internet 地址物理地址类型
10.0.0.100dc-da-80-17-e7-ad动态

#dc-da-80-17-e7-ad实际上真实网关的mac地址。
3)后果。PC上不了网了。
arp -s 10.0.0.254 dc-da-80-17-e7-ad: #手工绑定arp地址和IP地址。
解决办法:
PC arp防火墙。
清除中毒的机器,让大家重启电脑。
选项列表

-d     删除一个arp表项
-a     Use alternate BSD style output format (with no fixed columns).
-e     Use default Linux style output format (with fixed columns).
-n     使用数字方式显示
-v     显示执行过程

#查看arp表

[root@oldboy ~]# arp
Address                  HWtype  HWaddress           Flags Mask            Iface
gateway                  ether   00:50:56:e8:46:33   C                     eth1
10.0.0.1                 ether   00:50:56:c0:00:08   C                     eth1
gateway                  ether   00:50:56:e8:46:33   C                     eth0

#查看arp表,并且用ip显示而非主机名称:

[root@oldboy ~]# arp -n
Address                  HWtype  HWaddress           Flags Mask            Iface
10.0.0.254               ether   00:50:56:e8:46:33   C                     eth1
10.0.0.1                 ether   00:50:56:c0:00:08   C                     eth1
10.0.0.254               ether   00:50:56:e8:46:33   C                     eth0

添加一对IP和MAC地址的绑定:

#arp -s 10.1.1.1 00:11:22:33:44:55:66    #如果网络无法达到,那么会报告错误
ps:正常情况下无法成功,略鸡肋!!

删除一个arp表项:

#arp -d  10.0.0.54  
#arp -i eth1 -d 10.0.0.1  #指定网卡删除;

指定回复的MAC地址:

#arp -i eth0 -Ds 10.0.0.2 eth1 pub

当eth0收到IP地址为10.0.0.2的请求时,将会用eth1的MAC地址回答。

This will answer ARP requests for 10.0.0.2 on eth0 with the MAC address for eth1.

arp知识重点:

  1. arp原理
  2. arp欺骗及解决办法。
  3. 查看arp表

6. 网络层

6.1 网络配置

基本网络配置
将Linux主机接入到网络,需要配置网络相关设置

一般包括如下内容:

  • 主机名
  • IP/netmask
  • 路由:默认网关
  • DNS服务器
    主DNS服务器
    次DNS服务器

1.查看及修改主机名(/etc/hostname 主机名文件):
1)hostname

hostname        ##查看主机名(uname -n)
hostname oldboy ##设置主机名为oldboy,临时生效

2)vim /etc/hostname ##通过编辑配置修改主机名

3)hostnamectl

[root@oldboy ~]# hostnamectl set-hostname oldgirl  ##设置主机名永久生效
[root@oldboy ~]# cat /etc/hostname 
oldgirl

4)nmtui #图形设置主机名,永久生效

  ┌┤ 网络管理器文 ├┐                                
  │                │                                
  │ 请选择选项     │                                
  │                │                                
  │ 编辑连接       │                                
  │ 启用连接       │                                
  │ 设置系统主机名 │    #####                            
  │                │                                
  │ 退出           │                                
  │                │                                
  │         <确定> │                                
  │                │                                
  └────────────────┘      

C6/C7:可以关闭NetworkManager,C8主力。

systemd 入门教程:命令篇
链接: http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

6.2 systemd-analyze

systemd-analyze命令用于查看启动耗时。

#查看启动耗时
$ systemd-analyze                                                                                       

#查看每个服务的启动耗时
$ systemd-analyze blame

#显示瀑布状的启动过程流
$ systemd-analyze critical-chain

#显示指定服务的启动流
$ systemd-analyze critical-chain atd.service

查看linux字符集

[root@www ~]# localectl
   System Locale: LANG=zh_CN.UTF-8
       VC Keymap: cn
      X11 Layout: cn
	  

linux字符集配置文件

[root@www ~]# cat /etc/locale.conf 
LANG="zh_CN.UTF-8"

配置linux字符集:

vim /etc/profile
export LANG="zh_CN.UTF-8"

查看与修改时区

[root@www ~]# timedatectl
      Local time: Sat 2030-06-22 07:02:58 CST
  Universal time: Fri 2030-06-21 23:02:58 UTC
        RTC time: Fri 2030-06-21 23:02:58
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: n/a
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a
[root@www ~]# timedatectl 
list-timezones  set-local-rtc   set-ntp         set-time        set-timezone    status          
[root@www ~]# timedatectl set-timezone Asia/Chongqing

6.3 网卡配置

接口命名方式:
CentOS6以前eth[0,1,2,…]
CentOS7开始ens[33,34,35,…]

#调整ens33为eth0方式

安装系统时:grep菜单内核后:biosdevname=0,net.ifnames=0
安装系统后:修改内核文件,然后重新加载内核文件。

启停网卡设备

ifdown eth0 ##停止网卡设备
ifup eth0   ##启动网卡设备
systemctl restart network  ##重启网络 /etc/init.d/network restart
/etc/init.d/network restart #和service network restart等价 #C6其他服务也是这么起。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

表单进阶(3)-上传文件和隐藏字段

上传文件&#xff1a;<input type"file"> 隐藏字段&#xff1a;<input type"hidden" name"" id"" value"带给后端的信息"> 禁用disabled&#xff1a;<button disabled"disabled">注册</bu…

简历--毕业论文

文章目录 MPLS VPN网络的设计与实施一、研究背景和意义二、研究内容2.1网络设计2.1.1 MPLS VPN配置思路2.1.2基本配置2.1.3 实验结果 三、结论其他 MPLS VPN网络的设计与实施 摘 要&#xff1a;本文选择研究对象是cisco的MPLS VPN网络&#xff0c;具有经济适用&#xff0c;扩展…

08 线性卷积

各位看官&#xff0c;大家好&#xff01;本讲为《数字信号处理理论篇》08 线性卷积。&#xff08;特别提示&#xff1a;课程内容为由浅入深的特性&#xff0c;而且前后对照&#xff0c;不要跳跃观看&#xff0c;请按照文章或视频顺序进行观看。 最近阳春三月&#xff0c;万物复…

HarmonyOS系统开发基础环境搭建

一 鸿蒙介绍&#xff1a; 1.1 HarmonyOS系统是华为自研的一款分布式操作系统&#xff0c;兼容Android&#xff0c;但又区别Android&#xff0c;不仅仅定位于手机系统。更侧重于万物物联和智能终端&#xff0c;目前已更新到4.0版本。 1.2 HarmonyOS软件编程语言是ArkTS&#x…

MySQL--索引优化实战篇(1)

前言&#xff1a; 我们常说的SQL优化&#xff0c;简单来说就是索引优化&#xff0c;通过合理创建索引&#xff0c;调整SQL语法等&#xff0c;来提升查询效率&#xff0c;想要进行SQL优化&#xff0c;就必须知道索引的原理&#xff0c;而且能够看懂SQL的执行计划。 MySQL–索引…

瑞芯微第二代8nm高性能AIOT平台 RK3576 详细介绍

RK3576处理器 RK3576瑞芯微第二代8nm高性能AIOT平台&#xff0c;它集成了独立的6TOPS&#xff08;Tera Operations Per Second&#xff0c;每秒万亿次操作&#xff09;NPU&#xff08;神经网络处理单元&#xff09;&#xff0c;用于处理人工智能相关的任务。此外&#xff0c;R…

ARM-v7 程序计数器PC的相关指令与应用

1. 前言 如图1所示&#xff0c;R14是连接寄存器&#xff08;Link Register&#xff09;&#xff0c;在汇编指令中通常也写为LR&#xff0c;用于存储函数调用和异常等的返回信息&#xff0c;复位时&#xff0c;默认值为0xFFFFFFFF&#xff1b; 图1 Core register R15是程序计数…

华为OD机考-C卷

文章目录 攀登者问题停车场最短路径 攀登者问题 24/03/09 20:50~23:10 攀登者喜欢寻找各种地图&#xff0c;并且尝试攀登到最高的山峰。地图表示为一维数组&#xff0c;数组的索引代表水平位置&#xff0c;数组的元素代表相对海拔高度。其中数组元素0代表地面。一个山脉可能有多…

【软考】单元测试

目录 1. 概念2. 测试内容2.1 说明2.2 模块接口2.3 局部数据结构2.4 重要的执行路径 3. 测试过程2.1 说明2.2 单元测试环境图2.3 驱动模块2.4 桩模块 4. 模块接口测试与局部数据结构测试的区别 1. 概念 1.单元测试也称为模块测试&#xff0c;在模块编写完成且无编译错误后就可以…

C++ 11 新特性线程mutex互斥访问共享变量

一.互斥锁介绍 互斥锁&#xff08;mutex&#xff09;是C11中用于保护共享资源的一种同步机制&#xff0c;其原理基于以下关键点&#xff1a; 独占所有权&#xff1a;std::mutex提供独占所有权的特性&#xff0c;即在同一时间只有一个线程能够拥有互斥锁。当一个线程拥有锁时&am…

嵌入式 Linux 学习

在学习嵌入式 Linux 之前&#xff0c;我们先来了解一下嵌入式 Linux 有哪些东西。 1. 嵌入式 Linux 的组成 嵌入式 Linux 系统&#xff0c;就相当于一套完整的 PC 软件系统。 无论你是 Linux 电脑还是 windows 电脑&#xff0c;它们在软件方面的组成都是类似的。 我们一开电…

使用大型语言模型进行实体提取

原文地址&#xff1a;Using A Large Language Model For Entity Extraction LLM 能否比传统 NLP 方法更好地提取实体&#xff1f; 2022 年 7 月 12 日 Large Language Models for Generative Information Extraction: A Survey 实体简介 使用Co:here大型语言模型。 实体可以被视…

Python之Web开发中级教程----搭建Git环境三

Python之Web开发中级教程----搭建Git环境三 多人分布式使用仓库操作实例 场景&#xff1a;开发者A&#xff0c;开发者B在同一个项目协同开发&#xff0c;修改同一个代码文件。开发者A在Win10下&#xff0c;开发者B在Ubuntu下。 1、开发者A修改提交代码 从GitHub: Let’s bu…

数据库-DQL

基本查询 -- 查询id&#xff0c;name,creatdata select id,name,creatdata from tb_emp;-- 查询所有值 select id, user, name, gender, image, mima, zhiwei, creatdata from tb_emp;select *from tb_emp;-- 不推荐-- 查询id creatdata&#xff0c;并起一个别名 select id ID…

部署LVS负载均衡集群架构

目录 一、ipvsadm 工具 二、NAT模式下部署LVS负载均衡 1、部署NFS共享存储服务器 1.1 安装NFS软件 1.2 新建共享目录和站点文件 1.3 设置共享策略 2、部署节点服务器1 2.1 安装并启动nginx软件 2.2 挂载共享目录到网页站点目录 2.3 修改网关 3、部署节点服务器2 3.…

【国产MCU】-CH32V307-SysTick中断与延时功能实现

SysTick中断与延时功能实现 文章目录 SysTick中断与延时功能实现1、SysTick介绍2、SysTick中断使用3、SysTick实现微秒和毫秒延时功能CH32V307的RISC-V内核控制器自带的一个64位可选递增或递减的计数器,用于产生SYSTICK异常(异常号:15),可专用于实时操作系统,为系统提供“…

ChatGPT预训练的奥秘:大规模数据、Transformer架构与自回归学习【文末送书-31】

文章目录 ChatGPT原理与架构ChatGPT的预训练ChatGPT的迁移学习ChatGPT的中间件编程 ChatGPT原理与架构&#xff1a;大模型的预训练、迁移和中间件编程【文末送书-31】 ChatGPT原理与架构 近年来&#xff0c;人工智能领域取得了巨大的进展&#xff0c;其中自然语言处理&#xf…

算法(递归)黑盒思想

递归vs搜索vs回溯 递归的时候其实就是在搜索&#xff0c;递归返回的时候其实就是在回溯 常见的二叉树的题目基本都用到了递归&#xff1a; 求二叉树节点个数&#xff08;后序遍历&#xff09; int BinaryTreeSize(BTNode* root) {return root NULL ? 0 : BinaryTreeSize(roo…

【学习】DLA (Deep Layer Aggregation)

本研究是有由UC Berkeley的Trevor Darrell组发表于2018年CVPR。因为&#xff0c;工作中应用到CenterNet&#xff0c;文章中使用了DLA作为backbone&#xff0c;能够以较高的速度完成推理并维持较高的AP。 DLA文章&#xff1a;论文 DLA 在实际操作中&#xff0c;常常将高级特征…

Orange3数据预处理(转换器组件)

该组件接收数据&#xff0c;然后重新应用之前在模板数据上执行的转换。 这些转换包括选择变量的子集以及从数据中出现的其他变量计算新的变量&#xff0c; 例如&#xff0c;离散化、特征构建、主成分分析&#xff08;PCA&#xff09;等。 在Orange3中&#xff0c;描述的这个组件…