-
磁盘存储术语总结: head, track, sector, sylinder.
head:磁盘驱动器中的读/写头,用于读取或写入数据。每个磁盘表面有一个头。
track:磁盘表面上的一个圆形数据存储区域,由多个扇区组成。
sector:把每个磁道按512bytes大小再进行划分,这就是扇区,每个磁道上的扇区数量是不一样的
sylinder:磁头移动的时候,是一起移动的,如果是6个盘面,则6个磁头对应的磁道是一致的,这就是柱面 -
总结MBR,GPT结构
MBR:磁盘分区的一种方式;存储于磁盘的第一个扇区,包含分区表和启动加载程序。支持最多4个主分区或3个主分区加1个扩展分区。最大支持2TB磁盘
GPT:使用UEFI系统,支持更大硬盘,最大支持128个分区。允许使用更大的磁盘(超过2TB),每个分区可以超过2TB
3.总结学过的分区,文件系统管理,SWAP管理相关的命令及示例(加注释),示例 fdisk, parted, mkfs, tune2fs, xfs_info, fsck, mount, umount, swapon, swapoff
分区工具fdisk:一个用于创建、删除、修改磁盘分区的命令行工具
列出所有磁盘及其分区信息:fdisk -l
对指定磁盘进行分区管理:fdisk /dev/sdb
分区工具parted:支持 GPT 分区表,parted 的操作都是实时生效的,没有交互式确认
显示所有硬盘分区信息:parted -l
列出/dev/sda 的分区信息:parted /dev/sda print
用于在分区上创建文件系统mkfs mkfs. 双击tab键显示指定文件系统类型 (ext2|ext3|ext4|xfs)
在分区上创建 ext4 文件系统:mkfs.ext4 /dev/sdb1
在分区上创建 XFS 文件系统:mkfs.xfs /dev/sdb5
查看所有设备:
tune2fs:调整 ext 文件系统参数
显示 /dev/sdb1 上的 ext 文件系统的配置信息:tune2fs -l /dev/sdb1
xfs_info:查看 XFS 文件系统信息
显示 /dev/sdb5 上的 XFS 文件系统的配置信息:xfs_info /dev/sdb5
fsck: 用于检查和修复 Linux 文件系统。
mount:挂载文件系统
将 /dev/sdb1 挂载到 /logs 目录。
umount:卸载文件系统
卸载挂载在 /logs 目录下的文件系统。
swapon:用于启用交换分区或交换文件。
swapoff:禁用swap分区
-
总结raid 0, 1, 5, 10, 01的工作原理。总结各自的利用率,冗余性,性能,至少几个硬盘实现。
RAID 0: 数据条带化,无冗余,提升性能;至少2个硬盘,利用率100%。
RAID 1: 镜像冗余,提升数据安全性;至少2个硬盘,利用率50%。
RAID 5: 条带化和奇偶校验,提供冗余和性能;至少3个硬盘,利用率(1-1/N)。
RAID 10: 条带化与镜像组合,性能与冗余兼顾;至少4个硬盘,利用率50%。
RAID 01: 镜像后条带化,冗余性弱于RAID 10;至少4个硬盘,利用率50%。 -
总结LVM的基本原理,完成实验对LVM的创建和磁盘扩容
LVM的基本原理
物理卷(Physical Volume, PV):
物理卷是LVM的基本存储单元,可以是整个磁盘或分区。
每个物理卷被分成若干个相同大小的物理扩展块(PE,Physical Extent),通常大小为4MB。
卷组(Volume Group, VG):
卷组是由一个或多个物理卷组成的存储池。
你可以在卷组中创建多个逻辑卷,并且可以随时向卷组中添加新的物理卷以增加存储空间。
逻辑卷(Logical Volume, LV):
逻辑卷类似于传统的分区,但更为灵活。
逻辑卷从卷组中分配空间,可以在不影响数据的情况下动态调整大小。
LVM的创建和磁盘扩容:
-
总结程序包管理器有哪些,以及包中包含什么内容的文件,尝试这些文件如何获取命令获取? yum/dnf/apt总结程序包获取途径,以及rpm, yum, apt命令选项示例。
主流的程序包管理器:
redhat:rpm文件, rpm 包管理器,rpm:Redhat Package Manager,RPM Package Manager
debian:deb文件, dpkg 包管理器
程序包获取途径:自己制作、系统发版的光盘或官方网站、第三方组织提供、软件项目官方站点、搜索引擎
rpm命令:
查询已安装的包
查询包的详细信息
查询文档文件
查询配置文件
yum命令:
显示所有可用的包:
安装程序包 yum install [options] PACKAGE [...]
apt命令:
apt install安装软件包
列出所有包和安装包的数量
在包名和描述信息中搜索 -
简要总结yum/dnf工作原理。并搭建私有yum仓库(base, epel源)给另一个虚拟机使用。
yum/dnf 是基于C/S模式
yum 服务器存放rpm包和相关包的元数据库
yum 客户端访问yum服务器进行安装或查询等
yum 实现过程
先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装包时,会自动下载repodata中的元数据,查询元数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。
(待补充) -
总结系统安装之后的常用初始化步骤。rocky/ubuntu
(待补充) -
总结开放系统互联OSI模型,每层作用及对应的协议。
OSI模型(Open Systems Interconnection Model)是一种标准化的网络架构模型,分为七层。每一层都有特定的功能和对应的协议:
物理层 (Physical Layer):
作用: 负责物理设备的传输,包括电压、电缆、连接器等物理传输介质的管理。
协议: 以太网 (Ethernet)、USB、Bluetooth。
数据链路层 (Data Link Layer):
作用: 负责点对点的传输,提供物理寻址、帧传输、差错检测与修正。
协议: 以太网 (Ethernet)、MAC、PPP、HDLC。
网络层 (Network Layer):
作用: 负责路由选择与数据包的传输,进行逻辑寻址。
协议: IP (Internet Protocol)、ICMP、IGMP。
传输层 (Transport Layer):
作用: 提供端到端的通信服务,管理数据传输的可靠性与流量控制。
协议: TCP (Transmission Control Protocol)、UDP (User Datagram Protocol)。
会话层 (Session Layer):
作用: 管理会话的建立、维护和终止,支持数据交换的同步和对话管理。
协议: PPTP、RPC、NetBIOS。
表示层 (Presentation Layer):
作用: 负责数据的格式转换、加密与解密、数据压缩。
协议: SSL/TLS、JPEG、MPEG。
应用层 (Application Layer):
作用: 为用户提供网络服务接口,支持各种网络应用。
协议: HTTP、FTP、SMTP、DNS、Telnet。
-
调整动态端口范围为20000-60000
-
总结TCP包头结构,TCP三次握手,4次挥手。
源端口、目标端口:计算机上的进程要和其他进程通信是要通过计算机端口的,而一个计算机端口某个时刻只能被一个进程占用,所以通过指定源端口和目标端口,就可以知道是哪两个进程需要通信。
源端口、目标端口是用16位表示的,可推算计算机的端口个数为2^16个,即65536
序列号:表示本报文段所发送数据的第一个字节的编号。在TCP连接中所传送的字节流的每一个字节都会按顺序编号。由于序列号由32位表示,所以每2^32个字节,就会出现序列号回绕,再次从 0 开始
确认号:表示接收方期望收到发送方下一个报文段的第一个字节数据的编号。也就是告诉发送方:我希望你(指发送方)下次发送的数据的第一个字节数据的编号为此确认号
数据偏移:表示TCP报文段的首部长度,共4位,由于TCP首部包含一个长度可变的选项部分,需要指定这个TCP报文段到底有多长。它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。该字段的单位是32位(即4个字节为计算单位),4位二进制最大表示15,所以数据偏移也就是TCP首部最大60字节
URG:表示本报文段中发送的数据是否包含紧急数据。后面的紧急指针字段(urgent pointer)只有当URG=1时才有效
ACK:表示是否前面确认号字段是否有效。只有当ACK=1时,前面的确认号字段才有效。TCP规定,连接建立后,ACK必须为1,带ACK标志的TCP报文段称为确认报文段
PSH:提示接收端应用程序应该立即从TCP接收缓冲区中读走数据,为接收后续数据腾出空间。如果为1,则表示对方应当立即把数据提交给上层应用,而不是缓存起来,如果应用程序不将接收到的数据读走,就会一直停留在TCP接收缓冲区中
RST:如果收到一个RST=1的报文,说明与主机的连接出现了严重错误(如主机崩溃),必须释放连接,然后再重新建立连接。或者说明上次发送给主机的数据有问题,主机拒绝响应,带RST标志的TCP报文段称为复位报文段
SYN:在建立连接时使用,用来同步序号。当SYN=1,ACK=0时,表示这是一个请求建立连接的报文段;当SYN=1,ACK=1时,表示对方同意建立连接。SYN=1,说明这是一个请求建立连接或同意建立连接的报文。只有在前两次握手中SYN才置为1,带SYN标志的TCP报文段称为同步报文段
FIN:表示通知对方本端要关闭连接了,标记数据是否发送完毕。如果FIN=1,即告诉对方:“我的数据已经发送完毕,你可以释放连接了”,带FIN标志的TCP报文段称为结束报文段
窗口大小:表示现在允许对方发送的数据量,也就是告诉对方,从本报文段的确认号开始允许对方发送的数据量,达到此值,需要ACK确认后才能再继续传送后面数据,由Window size value * Window size scaling factor(此值在三次握手阶段TCP选项Window scale协商得到)得出此值校验和:提供额外的可靠性
紧急指针:标记紧急数据在数据字段中的位置
选项部分:其最大长度可根据TCP首部长度进行推算。TCP首部长度用4位表示,选项部分最长为:(2^4-1)*4-20=40字节
TCP的三次握手用于建立可靠的连接:
SYN: 客户端发送一个SYN包(同步序列号),请求建立连接。
SYN-ACK: 服务器响应一个SYN-ACK包,确认请求并同步序列号。
ACK: 客户端发送一个ACK包,确认连接建立。
TCP的四次挥手用于优雅地关闭连接:
FIN: 一方发送FIN包,请求关闭连接。
ACK: 对方响应ACK包,确认请求。
FIN: 对方发送FIN包,请求关闭连接。
ACK: 一方响应ACK包,确认关闭。
- 总结主机到主机的包传递过程。
主机到主机的数据传输过程涉及多层次的封装和解封装,具体过程如下:
应用层: 数据在应用层生成,如HTTP请求,然后被封装成消息。
传输层: 消息被封装成段,TCP/UDP头部添加,包含源端口和目标端口。
网络层: 段被封装成数据包,IP头部添加,包含源IP和目标IP。
数据链路层: 数据包被封装成帧,MAC地址头部添加,包含源MAC和目标MAC。
物理层: 帧被转换成比特流,通过物理介质传输,如电缆或无线信号。
传递过程:
发送端: 数据从应用层依次向下传递,每一层都添加特定的头部信息。
网络传输: 物理层的比特流通过介质传输到目标主机。
接收端: 数据从物理层依次向上传递,每一层都移除相应的头部信息,直到最终还原为应用层的数据。
- 总结IP地址 A, B, C, D 类,并解析IP地址的组成
IP地址(IPv4)由32位二进制数构成,通常以四段十进制数表示,每段8位(即一个字节),范围是0到255。根据IP地址的前几位,可以划分为不同的类别,主要包括A、B、C、D类。
A类地址:
范围: 1.0.0.0 到 127.255.255.255
前缀: 第一位是0(即以0开头)
默认子网掩码: 255.0.0.0
主机部分: 后24位
适用范围: 大型网络(最多支持16,777,214台主机)
B类地址:
范围: 128.0.0.0 到 191.255.255.255
前缀: 前两位是10(即以10开头)
默认子网掩码: 255.255.0.0
主机部分: 后16位
适用范围: 中型网络(最多支持65,534台主机)
C类地址:
范围: 192.0.0.0 到 223.255.255.255
前缀: 前三位是110(即以110开头)
默认子网掩码: 255.255.255.0
主机部分: 后8位
适用范围: 小型网络(最多支持254台主机)
D类地址:
范围: 224.0.0.0 到 239.255.255.255
前缀: 前四位是1110(即以1110开头)
用途: 用于多播(Multicast),不区分主机和网络部分
IP地址的组成:
网络部分: 标识网络的部分,根据类别不同,长度不同。
主机部分: 标识同一网络中的具体设备。
-
201.222.200.111/18计算主机数?子网掩码?说明计算方法。
子网掩码由32位组成 前18位为1 后14位为0 所以 /18 的子网掩码表示为:11111111.11111111.11000000.00000000
转化成十进制为255.255.192.0
主机ID位数为14 则主机数为2^14-2=16384 - 2 = 16382 -
当A(10.0.1.1/16)与B(10.0.2.2/24)通信,A如何判断是否在同一个网段?A和B能否通信?
A的子网掩码为11111111.11111111.00000000.00000000
AIP地址为 00001010.00000000.00000001.00000001
BIP地址为 00001010.00000000.00000010.00000010
按位与运算得A与B 网络地址 都是00001010.00000000.00000000.00000000即10.0.0.0 即在同一网段
由于A的子网掩码为 /16,而B的子网掩码为 /24,A会认为B在同一网段内并直接发送数据,但B的子网掩码为 /24,B会将自己视为不同网段,因此无法直接通信,需要通过路由器中转。 -
如何将10.0.0.0/8划分32个子网?求每个子网的掩码,主机数。
子网掩码: /8 表示子网掩码为 255.0.0.0,有24位主机部分
需要分配5位(二进制的 2^5 = 32)用于子网编号,因此新的子网掩码为 /13,即 255.248.0.0
剩余的19位用于表示主机部分,因此每个子网的主机数为 2^19 - 2 = 524,286
每个子网的子网掩码为 /13,即 255.248.0.0