一、 七层模型和五层模型以及对应的作用
二、 TCP和UDP的区别
UDP | TCP | |
---|---|---|
是否连接 | 无连接 | 面向连接 |
是否可靠 | 不可靠传输,不使用流量控制和拥塞控制 | 可靠传输,使用流量控制和拥塞控制 |
连接对象个数 | 支持一对一,一对多,多对一和多对多交互通信 | 只能是一对一通信 |
传输方式 | 面向报文 | 面向字节流 |
首部开销 | 首部开销小,仅8字节 | 首部最小20字节,最大60字节 |
场景 | 适用于实时应用(IP电话、视频会议、直播等) | 适用于要求可靠传输的应用,例如文件传输 |
TCP:可靠的、面向连接的传输层协议。主要它有三次握手、四次断开、窗口滑动、数据分段、数据重组、数据重传机制保证数据的可靠性。
UDP:不可靠的、面向无连接的传输层协议。它没有什么机制保证数据可靠性,当数据量非常庞大时可以通过此协议来保证数据的高效低延时。
三、 交换机的工作原理
1 初始状态:将还击开机时Mac地址表没有任何记录
2 Mac地址学习:源主机通过交换机发送数据帧给目标主机,交换机学习数3 3 据帧中的源Mac地址和对应的接口标识,并记录Mac地址表中
广播位置数据帧:如果交换机Mac地址表没有目的Mac地址所对应的接口记录,则会进行广播泛洪。
4 接受回应:只有拥有对应目的Mac地址的主机才会进行回复。
5 交换机实现单播通信:交换机会从目的主机回复的消息中学习到Mac地址和对应的接口标识,并记录到Mac地址表中,之后两台之间可通过交换机的Mac地址表的记录去实行单播通信。
总结:根据源MAC地址学习,根据目标MAC地址转发,除源端口外的端口广播未知数据帧接收方回应
交换机实现单播通信更新:老化时间300秒
交换机对应端口的MAC 地址发生变化时
四、ARP工作原理
每台主机都会在自己的ARP缓冲区中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。
当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址。
如果有,就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。
此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。
如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中。
如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址。
源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。
如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
五、Ping和Traceroute
Ping和Traceroute之间的主要区别在于,Ping是一个快速简便的实用程序,用于判断指定的服务器是否可访问以及从服务器发送和接收数据需要多长时间,而Traceroute会找到到达服务器的确切路由,每一步(跳)所花费的时间
六、三次握手和四次挥手
三次握手的本质是确认通信双方收发数据的能力
1.发送方向接收方发送SYN请求
⒉接收方接收到此请求后会主动回复一个ACK,并且同时也发送一个SYN请求
3.发送方接收到接收方发来的SYN请求后,给出一个ACK确认。
**四次挥手的目的是关闭一个连接 **
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gpHtnhR9-1690354780500)(C:\Users\youzi\AppData\Roaming\Typora\typora-user-images\image-20230726101026491.png)]
1.发送方向接收方发送一个FIN请求
⒉接收方收到此请求后给出一个ACK确认(半关闭状态)
3.接收方发送一个FIN请求给发送方
4.发送方收到接收方的FIN请求后,回复一个ACK。
1、为什么TCP连接的时候是3次?2次不可以吗?
因为需要考虑连接时丢包的问题,如果只握手2次,第二次握手时如果服务端发给客户端的确认报文段丢失,此时服务端已经准备好了收发数(可以理解服务端已经连接成功)据,而客户端一直没收到服务端的确认报文,所以客户端就不知道服务端是否已经准备好了(可以理解为客户端未连接成功),这种情况下客户端不会给服务端发数据,也会忽略服务端发过来的数据。
如果是三次握手,即便发生丢包也不会有问题,比如如果第三次握手客户端发的确认ack报文丢失,服务端在一段时间内没有收到确认ack报文的话就会重新进行第二次握手,也就是服务端会重发SYN报文段,客户端收到重发的报文段后会再次给服务端发送确认ack报文。
2、为什么TCP连接的时候是3次,关闭的时候却是4次?
因为只有在客户端和服务端都没有数据要发送的时候才能断开TCP。而客户端发出FIN报文时只能保证客户端没有数据发了,服务端还有没有数据发客户端是不知道的。而服务端收到客户端的FIN报文后只能先回复客户端一个确认报文来告诉客户端我服务端已经收到你的FIN报文了,但我服务端还有一些数据没发完,等这些数据发完了服务端才能给客户端发FIN报文(所以不能一次性将确认报文和FIN报文发给客户端,就是这里多出来了一次)。
3、为什么客户端发出第四次挥手的确认报文后要等2MSL的时间才能释放TCP连接?
这里同样是要考虑丢包的问题,如果第四次挥手的报文丢失,服务端没收到确认ack报文就会重发第三次挥手的报文,这样报文一去一回最长时间就是2MSL,所以需要等这么长时间来确认服务端确实已经收到了。
4、如果已经建立了连接,但是客户端突然出现故障了怎么办?
TCP设有一个保活计时器,客户端如果出现故障,服务器不能一直等下去,白白浪费资源。服务器每收到一次客户端的请求后都会重新复位这个计时器,时间通常是设置为2小时,若两小时还没有收到客户端的任何数据,服务器就会发送一个探测报文段,以后每隔75秒钟发送一次。若一连发送10个探测报文仍然没反应,服务器就认为客户端出了故障,接着就关闭连接。
七、 vlan
1 作用是分割广播域 有
- 物理分割 :通过路由器进行分割
- 逻辑分割:通过vlan分割
子网掩码划分网段,每个网段都有IP范围值,每个网段之间不相关,同一网段之间可通信
分隔广播域之前是在一个网段中,分隔广播域之后,在同一个网段同一个掩码不同的VLAN是无法进行通信的
逻辑分割就是将网络从逻辑上划分为若干个小网络,即VLAN(虚拟局域网)VLAN工作在数据链路层,一个VLAN就是一个交换网络,其中的所有用户都在同一个广播域,各VLAN之间通过 路由设备连接来实现通信。
2 VLAN的种类
- 静态VLAN:通过划分端口来划分VLAN(最常用的)
- 动态VLAN :基于MAC地址来划分
3 VLAN的范围
- VLAN ID一共有4096个,即0-4095
- 0与4095为系统专用
- 1为默认
4 总结
-
VLAN是逻辑隔离的虚拟局域网
-
VLAN是能够隔离广播,提高安全性,简化管理
-
VLAN分为动态VLAN和静态VLAN
-
静态VLAN有两种配置方式:VLAN数据库和全局配置
八、 VRRP的工作原理
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tvwDsW6Q-1690354780501)(C:\Users\youzi\AppData\Roaming\Typora\typora-user-images\image-20230726101929162.png)]
(1) 虚拟路由器中的路由器根据优先级选举出Master。Master路由器通过发送免费ARP报文,将自己的虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务;
(2) Master路由器周期性发送VRRP报文,以公布其配置信息(优先级等)和工作状况;
(3) 如果Master路由器出现故障,虚拟路由器中的Backup路由器将根据优先级重新选举新的Master;
(4) 虚拟路由器状态切换时,Master路由器由一台设备切换为另外一台设备,新的Master路由器只是简单地发送一个携带虚拟路由器的MAC地址和虚拟IP地址信息的免费ARP报文,这样就可以更新与它连接的主机或设备中的ARP相关信息。网络中的主机感知不到Master路由器已经切换为另外一台设备。
(5) Backup路由器的优先级高于Master路由器时,由Backup路由器的工作方式(抢占方式和非抢占方式)决定是否重新选举Master。
九、 Linux的常用命令
显示
du 显示每个文件和目录的磁盘使用空间
ss -t , --tcp 仅显示 TCP套接字(sockets)
ss -u, --udp 仅显示 UCP套接字(sockets)
ifconfig 显示Linux系统的网卡配置及参数
df -Th 显示磁盘上的磁盘格式加人性化的信息
id 显示用户的ID以及所属群组的ID
ls 显示目录内容列表
pv 显示当前在命令行执行的命令的进度信息,管道查看器
cal 显示当前日历或指定日期的日历
date 显示当前系统时间 -s 修改
env 显示系统中已存在的环境变量
free -m 显示内存的使用情况
stat 用于显示文件的状态信息
查询
nslookup 查询域名DNS信息的工具
ss 比 netstat 好用的socket统计信息
扫描
lvscan 扫描逻辑卷
pvscan 扫描系统中所有硬盘的物理卷列表
vgscan 扫描并显示系统中的卷组
lsof -i 端口扫描
备份
dump 用于备份ext2或者ext3文件系统
mysqldump MySQL数据库中备份工具
tar Linux下的归档使用工具,用来打包和备份
top
显示或管理执行中的程序
top交互命令
在top命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了-s选项, 其中一些命令可能会被屏蔽。
h:显示帮助画面,给出一些简短的命令总结说明;
k:终止一个进程;
i:忽略闲置和僵死进程,这是一个开关式命令;
q:退出程序;
r:重新安排一个进程的优先级别;
S:切换到累计模式;
s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
f或者F:从当前显示中添加或者删除项目;
o或者O:改变显示项目的顺序;
l:切换显示平均负载和启动时间信息;
m:切换显示内存信息;
t:切换显示进程和CPU状态信息;
c:切换显示命令名称和完整命令行;
M:根据驻留内存大小进行排序;
P:根据CPU使用百分比大小进行排序;
T:根据时间/累计时间进行排序;
w:将当前设置写入~/.toprc文件中。
十、 yum的安装
- 挂载光盘镜像
mount /dev/sr0 /mnt
- 进入yum仓库配置目录
cd /etc/yum.repos.d/
mkdir repos.bak
mv *.repo repos.bak#对原文件做好备份
- 创建本地yum源配置文件
cd /etc/yum.repos.d/
vim local.repo
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
:wq!
yum clean all && yum makecache
yum -y install/remove/update
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3tNDWIOk-1690354780501)(C:\Users\youzi\AppData\Roaming\Typora\typora-user-images\image-20230726113203157.png)]
十一、 查看系统信息
1 CPU
- 型号和频率
cat /proc/cpuinfo | grep "model name" | uniq
cat /proc/cpuinfo | grep "cpu MHz" | uniq
-
个数
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
-
核数
cat /proc/cpuinfo | grep "cpu cores" | uniq
- 逻辑CPU=物理CPU个数×每颗核数
cat /proc/cpuinfo | grep "processor" | wc -l
- 内核版本
uname -r
cat /etc/*release
十二、 监控巡检
1 找到占用空间大的目录或文件
-
df -Th
- 查看磁盘空间快满的目录或文件
-
**方法一:在根目录下 du -hs ***
- 列出各目录所占空间大小
- 然后依次用相同的方法继续到对应的目录下寻找
-
方法二:du -d n 或 du --max-depth n | grep [GT]| sort -nr
- 目录深度增加,展示出来会很多
-
这时候通过grep进行过滤
- 搜出以G或者T为单位的占用磁盘空间大的目录并排序
-
特殊情况lsof
- 空间被已删除文件占用,文件删除但是资源没释放
- 重启应用释放空间
-
Linux文件系统安全策略
- 默认为root用户留5%的磁盘空间用作紧急情况
2 监测磁盘I/O性能
- 利用率utiliz