TLV思路——火车头加车厢:满足要求同时拥有高兼容性/满足需求同时具有高兼容性。
ping 百度的全过程动作流程如下:
1. **用户操作与命令发起**: - 用户打开终端或命令提示符窗口(在 Windows 系统中按 Win+R 键,输入“cmd”后回车;在 Linux 或 macOS 系统中可通过应用程序搜索或快捷键打开终端)。 - 在终端中输入“ping www.baidu.com”命令并回车,向操作系统发起对百度域名的 ping 请求。
2. **域名解析**: - 操作系统首先检查本地的 DNS 缓存,查看是否已经缓存了“www.baidu.com”对应的 IP 地址。如果有缓存且未过期,直接获取 IP 地址;如果没有缓存或缓存过期,则进行后续的 DNS 查询操作。 - 若本地没有缓存,操作系统会生成一个 DNS 查询报文。这个报文将“www.baidu.com”字符串封装在其中,并将其放置于 UDP 报文段中,目的端口为 53 号(DNS 服务器使用的端口)。 - 接着,该 UDP 报文被放入具有特定 IP 目的地址(通常是在网络初始化阶段从 DHCP 服务器获取到的 DNS 服务器地址)和源 IP 地址(本机 IP 地址)的 IP 数据报中。
3. **ARP 请求与响应**: - 当 IP 数据报准备发送时,操作系统发现要将数据报发送到的目标 IP 地址(即 DNS 服务器的 IP 地址或后续百度服务器的 IP 地址)与本机不在同一网段,需要通过网关进行转发。但此时操作系统不知道网关的 MAC 地址,因此会生成一个 ARP 查询报文。 - ARP 查询报文被放置在一个具有广播目的地址(ff:ff:ff:ff:ff:ff)的以太网帧中,并向交换机发送该以太网帧。交换机将该帧交付给所有连接的设备。 - 网关路由器接收到包含该 ARP 查询报文的帧后,发现报文中目标 IP 地址匹配自己接口的 IP 地址,便准备一个 ARP 回答,指示该接口的 MAC 地址对应目标 IP 地址。然后将 ARP 回答放在一个以太网帧中,目的地址为主机的 MAC 地址,并向交换机发送该帧,交换机再将该帧发送给发起请求的主机。 - 主机接收包含 ARP 回答的帧,并从 ARP 回答报文中抽取网关路由器的 MAC 地址。
4. **DNS 查询与响应**: - 主机获取到网关的 MAC 地址后,将包含 DNS 查询报文的以太网帧发送给交换机,交换机将该帧发送给网关路由器。 - 网关路由器接收该帧并抽取包含 DNS 查询的数据报,根据其转发表(根据自身域内协议和因特网域间协议 BGP 填写)决定该数据报的最佳转发链路,经过数个路由器的转发,最终到达 DNS 服务器。 - DNS 服务器抽取出 DNS 查询报文,在数据库中查找“www.baidu.com”及其 IP 地址的 DNS 记录。如果找到,DNS 服务器形成一个包含这种主机名到 IP 地址映射的 DNS 回答报文,并将该报文放到 UDP 报文段中,报文段再放入寻址到主机的 IP 数据报中,沿反向路径转发回主机。如果 DNS 服务器不存在“www.baidu.com”的记录与其对应的 IP 地址,则本地 DNS 服务器将主机报文发送到根 DNS 服务器,根服务器匹配“com”后缀并向本地 DNS 服务器返回负责“com”的顶级域(TLD)的 IP 地址列表。本地服务器再次向列表中的 TLD DNS 服务器之一发送请求,该 TLD 服务器利用权威 DNS 服务器的 IP 地址进行响应,最后本地 DNS 服务器直接向权威服务器发起请求,权威服务器将返回响应报文,逐层返回给本地主机。至此,主机获得“www.baidu.com”对应的 IP 地址。
5. **ICMP 请求与响应**: - 主机通过“www.baidu.com”的 IP 地址和子网掩码判断出该地址跨网段,将 ICMP 类型 8(请求回显)编码 0 的请求回显查询报文封装成 IP 数据报,源地址为主机的 IP 地址,目的地址是域名对应的 IP 地址。然后再将该 IP 数据报封装成以太网帧,源地址是主机的 MAC 地址,目的地址是网关路由器的 MAC 地址。 - 主机发送以太网帧,经过交换机发送到网关路由器,路由器解封装该帧,发现 MAC 目的地址是自己,而 IP 目的地址不是自己,便将帧的 MAC 源地址改为自己的 MAC 地址,并根据路由协议计算出最短路径的下一个网关路由器的 MAC 地址(若不知道 MAC 地址,则再次经由 ARP 协议获取),作为该帧的目的地址。如此经过多个网关路由器的转发,最后一个网关路由器接收到该帧,找到子网内 IP 地址符合目的 IP 地址的百度服务器,将该 IP 数据包转发给百度服务器。 - 百度服务器接收到 ICMP 请求报文后,生成一个 ICMP 类型 0(回显应答)编码 0 的回显应答报文,经过多层封装,按照之前的路径反向转发回本地主机。
6. **结果呈现**: - 本地主机接收到百度服务器返回的 ICMP 回显应答报文后,ping 命令的执行结果会显示在终端上,包括发送的数据包数量、接收的数据包数量、丢包率、往返时间等信息,表明 ping 百度的操作完成。
LIUNX三剑客—— grep sed awk
HD:IDE
SD:SCSI虚拟硬盘
四个主分区
从第五个分区开始为逻辑分区
命令字—— 要求
选项——额外需求
参数——操作对象
绝对路径以根为起点
相对路径以当前目录为起点
LIUNX 一切皆根,一切皆文件。严格区分大小写
1. 普通文件:包含文本文件、二进制文件等,用 `-` 表示。
2. 目录文件:用于组织和管理其他文件和子目录,用 `d` 表示。
3. 字符设备文件:以字符为单位进行输入输出,如终端设备,用 `c` 表示。
4. 块设备文件:以块为单位进行输入输出,如磁盘,用 `b` 表示。
5. 套接字文件:用于网络通信,用 `s` 表示。
6. 符号链接文件:也称为软链接,指向另一个文件或目录,用 `l` 表示。
7. 管道文件:用于进程间通信,用 `p` 表示。
ls查看当前目录下的内容
ls-l长格式-d目录属性-s人性化
du统计文件目录空间占用情况
-a(all)所有 -h人性化
wc -l统计目录文件
- -l:仅统计行数。
- -w:仅统计单词数。
- -c:仅统计字节数
|管道符前面结果后面输入
mkdir -p连续嵌套多层
touch -p 没有父目录则同时创建 -m设置新创建目录的权限
ln -s软连接 快速打开文件 针对文件或目录
ln 硬链接相当于复制只能链接文件
cp复制-f 强制复制 -i提醒 -p保留文件权限 -r递归(目录及目录下的子文件)
rm 删除
-f强制
-i提醒
-r递归
mv移动和重命名两个作用
同目录重命名指定目录移动
find 查找
名称/大小/类型/属性属主
-name按名称
-size按大小
-user按属主
-type按类型——普通文件f (file)-d目录(directory)文件 -c字符设备-b(硬盘光驱镜像)块设备
可以多个选项
+大于
-a(and)而且两者其二
-o (or)或者两者其一
*通配符
查看文件内容
- cat:用于连接文件并打印到标准输出设备上。
- more:分页显示文件内容,按空格键翻页,按 q 键退出。
- less:与 more 类似,但功能更强大,支持前后翻阅,搜索等。分页显示
- head:默认显示文件的开头 10 行。
- tail:默认显示文件的末尾 10 行
检索文件内容
- grep:用于在文件中搜索指定的模式。“ ”双引号选定
-v除这以外
-i忽略大小写
^以什么开头
$以什么结尾
上三角+$空行
-n显示行号
- find:用于在指定目录下查找文件和目录
- locate:通过数据库快速查找文件和目录。但数据库不是实时更新的。
- which:查找可执行文件的位置。
内部放在/usr和/bin供系统
应用程序命令自带
外部命令格式更自由
/etc放应用配置文件
- /usr/bin:存放大多数用户可以执行的应用程序。
- /usr/sbin:存放系统管理员使用的系统管理程序。
目录结构方面,Linux 采用分层的目录结构,根目录为
/ ,其下包含众多子目录,如:
- /bin:存放基本的系统命令。
- /boot:包含系统启动相关的文件。
- /dev:设备文件目录。
- /etc:系统配置文件所在目录。
- /home家:用户主目录的存放位置。
- /lib:系统库文件。
- /mnt:用于临时挂载文件系统。
- /opt:可选的应用程序安装目录。
- /proc:虚拟的文件系统,反映内核和进程的信息。
- /root:root 用户的主目录。
- /sbin:存放系统启动、恢复等所需的命令。
- /tmp:临时文件存放目录。
- /usr:包含大量的用户程序和文件。
- /var:经常变化的文件,如日志文件等
media 挂载可移动设备
软件包的封装类型
RPM软件包 扩展名 点rpm
DEB软件包点deb
源代码包一般为tar.gz 或 tar.bz2等格式,具有灵活性
绿色免安装
包名 ——版本号 ——扩展名
rpm -q 查询 (qa所有qi包详细信息ql软件包所在位置qf)
-i 表示安装软件包,install
-v 表示显示详细的安装信息,
-h 表示以 # 号显示安装进度人性化显示
杠杠force强制安装
杠杠nodeps不检查依赖关系
挂载是因为用户和系统没办法直接读取
点杠当前目录。/
yum挂载三种方式
本地
远程挂载
FTP
HTTP
SSH
NFS
归档
解压
gzip只能压缩文件
bizp兔只能压缩文件
-9压缩-d解压缩
tar zxvf 解压缩z调用gizp x解压 v详细信息 f归档
tar zxcf 创建压缩
源码安装过程rpm -ivh -i 安装-v详细信息 -h进度条
- 下载
- 解压解压到指定目录
- 配置。/configure安装目录
- make编译
Zabbix 主要由以下几个组件构成:
1. Zabbix Server(服务器):核心组件,负责接收、处理和存储来自被监控主机的数据,执行触发器计算,并生成告警。
2. Zabbix Agent(代理):安装在被监控主机上,收集本地数据并将其发送到 Zabbix Server。
3. Database(数据库):用于存储配置信息、收集到的数据、历史记录等。
4. Web 界面:提供一个直观的图形界面,用于配置监控项、查看数据、管理告警等操作。
5. Zabbix Proxy(代理服务器):在大规模环境中,用于分担 Zabbix Server 的工作负载,收集部分被监控主机的数据并转发给 Server。
一个程序都包含多个进程
echo $?
输出0则正确
1、PC2 发送arp请求自己网关的mac地址(arp请求包)
2、网关回应自己的mac地址给PC2(arp回应包)
3、PC2发送DNS查询包到网关(DNS查询包)
网关:PC2的网关
网关:DNS的网关
4、网关转发这个DNS包给到DNS服务器(DNS查询包)
5、DNS服务器回应DNS包给到网关(DNS响应包)
网关:PC2的网关
6、网关把DNS包给到PC2(DNS响应包)
7、PC2发送ICMP请求包发送给网关(ICMP请求包)
8、网关做了一个地址转换但是由于下一跳ip地址对应的mac地址缺失,无法完成新二层头部封装
(89.0.0.8)发送一个arp请求包给到AR9(arp请求包)
9、AR9回应一个arp回应包给到AR8(arp回应包)
10、AR8发送一个ICMP请求包给到AR9(ICMP请求包)
11、AR9也是先做一个新的二层封装,所以发送一个ARP请求包给到百度服务器(arp请求包)
12、百度服务器回应一个ARP回应包给到AR9(arp回应包)
13、AR9就可以发送ICMP请求包给到百度服务器(ICMP请求包)
去的时候说完了
下面是回复情况:
14、百度服务器直接回应一个ICMP响应包给到自己的AR9(ICMP回应包)
15、AR9回应一个ICMP响应包给到AR8(ICMP回应包)
16、AR8回应一个ICMP响应包给到PC2(ICMP回应包)