awk#!/usr/bin/awk -f # BEGIN 块会在读取输入之前执行,类似于 C 中的 main 函数 BEGIN { # 通过循环读取 /proc/cpuinfo 文件中的每一行,直到匹配到包含 "flags" 的行 while (!/flags/) if (getline < "/proc/cpuinfo" != 1) exit 1 # 检查 CPU 是否支持基本的 x86-64 指令集 if (/lm/&&/cmov/&&/cx8/&&/fpu/&&/fxsr/&&/mmx/&&/syscall/&&/sse2/) level = 1 # 如果支持基本指令集,还进一步检查是否支持更多扩展指令集 if (level == 1 && /cx16/&&/lahf/&&/popcnt/&&/sse4_1/&&/sse4_2/&&/ssse3/) level = 2 # 检查是否支持 AVX 和 AVX2 指令集,这些是高性能运算的关键 if (level == 2 && /avx/&&/avx2/&&/bmi1/&&/bmi2/&&/f16c/&&/fma/&&/abm/&&/movbe/&&/xsave/) level = 3 # 检查是否支持最新的 AVX512 指令集扩展,极大提升了高端运算性能 if (level == 3 && /avx512f/&&/avx512bw/&&/avx512cd/&&/avx512dq/&&/avx512vl/) level = 4 # 如果支持任何版本的 x86-64 指令集,输出对应的版本并退出 if (level > 0) { print "CPU supports x86-64-v" level; exit level + 1 } # 如果没有匹配到支持的指令集,脚本以退出码 1 结束 exit 1 }
层次 | 名称 | 作用 | 识别正确路径的方法 | 数据名称 |
---|---|---|---|---|
7 | 应用层 (Application) | 处理应用程序与网络之间的交互,提供网络服务,如 HTTP、FTP 等。 | 不涉及路径识别 | 数据(Data) |
6 | 表示层 (Presentation) | 处理数据的表示、编码和解码,负责数据格式转换和加密解密。 | 不涉及路径识别 | 数据(Data) |
5 | 会话层 (Session) | 管理会话(连接),控制用户会话的建立、维持和终止。 | 不涉及路径识别 | 数据(Data) |
4 | 传输层 (Transport) | 提供端到端的通信,确保数据的完整性与顺序,负责流量控制和错误恢复。 | 通过端口号识别应用服务 | 段(Segment) |
3 | 网络层 (Network) | 处理数据包的路由和转发,管理网络地址和逻辑寻址,如 IP 协议。 | 通过 IP 地址识别正确路径 | 数据包(Packet) |
2 | 数据链路层 (Data Link) | 处理物理地址(MAC 地址)和帧的传输,确保在同一网络上的数据传输。 | 通过 MAC 地址识别本地网络设备 | 帧(Frame) |
1 | 物理层 (Physical) | 负责物理介质的传输,如电缆、光纤等,处理比特流的传输。 | 不涉及路径识别 | 比特(Bits) |
Cookie:Cookie是存储在客户端浏览器中的小型数据,用于存储用户的状态信息,如登录信息。它以键值对的形式存在,浏览器可以选择保存或拒绝这些信息。
Session:Session是存储在服务器端的用户数据,通常包含用户的状态信息。Django通过Session在服务器上保存用户的相关数据,并通过一个唯一的Session ID(随机字符串)与客户端进行关联。
协议 | 端口号 | 功能 |
---|---|---|
HTTP | 80 | 超文本传输协议,用于网页传输 |
HTTPS | 443 | 安全的 HTTP,使用 SSL/TLS 加密 |
FTP | 21 | 文件传输协议,用于文件传输 |
FTPS | 990 | FTP 的安全版本,使用 SSL/TLS 加密 |
SFTP | 22 | SSH 文件传输协议,通过 SSH 进行文件传输 |
SSH | 22 | 安全外壳协议,用于安全远程登录和命令执行 |
Telnet | 23 | 远程登录协议,未加密(不安全) |
SMTP | 25 | 简单邮件传输协议,用于发送邮件 |
POP3 | 110 | 邮局协议版本 3,用于接收邮件 |
IMAP | 143 | Internet 邮件访问协议,用于接收邮件 |
DNS | 53 | 域名系统,用于域名解析 |
DHCP | 67/68 | 动态主机配置协议,用于动态分配 IP 地址 |
NTP | 123 | 网络时间协议,用于同步计算机时间 |
RDP | 3389 | 远程桌面协议,用于远程桌面连接 |
MySQL | 3306 | MySQL 数据库服务的默认端口 |
PostgreSQL | 5432 | PostgreSQL 数据库服务的默认端口 |
Redis | 6379 | Redis 数据库的默认端口 |
MongoDB | 27017 | MongoDB 数据库的默认端口 |
OSI 层次 | 协议名称 | 作用 |
---|---|---|
物理层 | Ethernet | 定义网络物理传输介质和信号传输方式。 |
USB | 定义设备连接和数据传输标准。 | |
DSL | 数字用户线路,用于提供高速互联网接入。 | |
数据链路层 | PPP | 点对点协议,用于直接连接两个网络节点。 |
MAC | 媒体访问控制协议,用于局域网设备间的通信。 | |
Frame Relay | 一种广域网技术,用于高效传输数据帧。 | |
网络层 | IP | Internet Protocol,负责数据包的寻址和路由。 |
ICMP | 互联网控制消息协议,报告网络错误和状态。 | |
IGMP | Internet Group Management Protocol,用于多播组管理。 | |
ARP | 地址解析协议,将 IP 地址转换为 MAC 地址。 | |
传输层 | TCP | 传输控制协议,提供可靠的连接和数据传输。 |
UDP | 用户数据报协议,提供无连接的、不可靠的传输。 | |
会话层 | NetBIOS | 网络基本输入输出系统,用于会话管理。 |
RPC | 远程过程调用,允许在不同主机间调用服务。 | |
表示层 | TLS/SSL | 传输层安全协议,用于加密和保护数据传输。 |
JPEG | 图像格式协议,处理图像数据的压缩和传输。 | |
MIME | 多用途互联网邮件扩展,用于邮件内容的描述和编码。 | |
应用层 | HTTP | 超文本传输协议,支持网页的传输和显示。 |
FTP | 文件传输协议,支持文件的上传和下载。 | |
DNS | 域名系统,负责将域名解析为 IP 地址。 | |
SMTP | 简单邮件传输协议,用于发送电子邮件。 | |
SNMP | 简单网络管理协议,用于网络设备的管理和监控。 |