网站首页 > 精选文章 正文
你知道吗?每当你刷视频、发邮件、传文件时,背后都有一群“数字交警”在默默指挥流量!今天我们将深入揭秘支撑互联网运转的八大核心协议,用最生动的语言+表情包+技术细节,带你解锁网络世界的底层密码!
SSH协议
黑客最恨的“加密隧道”
定义
Secure Shell(安全外壳协议)
核心功能
加密远程登录(默认端口22)
技术亮点
- 非对称加密(RSA/ECDSA) + 对称加密(AES/ChaCha20)双保险
- 防中间人攻击:首次连接时验证主机指纹
- 端口转发:轻松突破防火墙限制(ssh -L/-D/-R)
验证方式
- 基于口令的安全验证:只要知道自己的帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证正在连接的服务器就是自己想连接的服务器,可能会受到“中间人”攻击。
- 基于密钥的安全验证:需要为自己创建一对密钥,并把公用密钥放在需要访问的服务器上。连接时,客户端软件向服务器发出请求,服务器收到请求后,先在服务器上的主目录下寻找公用密钥,然后与客户端发送过来的公用密钥进行比较。如果一致,服务器用公用密钥加密“质询”并发送给客户端软件,客户端软件收到“质询”后用私人密钥解密再发送给服务器。这种方式不仅加密所有传送的数据,而且能有效防止“中间人”攻击,因为攻击者没有私人密钥。不过,整个登录过程可能需要10秒左右。
组成部分
- 传输层协议(SSH - TRANS):提供了服务器认证,保密性及完整性,有时还提供压缩功能。通常运行在TCP/IP连接上,也可能用于其它可靠数据流上,提供了强力的加密技术、密码主机认证及完整性保护。该协议中的认证基于主机,并且不执行用户认证,更高层的用户认证协议可以设计在此协议之上。
- 用户认证协议(SSH - USERAUTH):用于向服务器提供客户端用户鉴别功能,运行在传输层协议SSH - TRANS上面。当SSH - USERAUTH开始后,它从低层协议那里接收会话标识符,会话标识符唯一标识此会话并且适用于标记以证明私钥的所有权,同时也需要知道低层协议是否提供保密性保护。
- 连接协议(SSH - CONNECT):将多个加密隧道分成逻辑通道,运行在用户认证协议上,提供了交互式登录话路、远程命令执行、转发TCP/IP连接和转发X11连接。
深度扩展
SSH密钥对生成命令:
ssh-keygen -t ed25519 -C "your_email@example.com"
(比传统RSA更安全高效)
企业级应用
- GitHub代码推送的底层协议
- 云服务器运维的黄金标准
FTP协议
文件传输界的“老司机”
定义
File Transfer Protocol(文件传输协议)
双通道架构
- 控制连接(端口21)
- 数据连接(动态端口/被动模式)
FTP使用客户端 - 服务器模型,客户端与服务器之间建立两个连接:控制连接和数据连接。控制连接用于在客户端和服务器之间传输命令和响应,数据连接则用于传输实际的文件数据。客户端通过控制连接向服务器发送各种命令,如登录、切换目录、上传文件、下载文件等,服务器根据接收到的命令执行相应的操作,并通过控制连接返回响应信息。当需要传输文件时,客户端和服务器之间会建立数据连接,进行文件数据的传输。
安全隐患
明文传输 → 衍生出FTPS(FTP over SSL)和SFTP(SSH File Transfer Protocol)
经典操作演示
ftp 192.168.1.100
user: admin
pass: ********
get filename.zip
现代替代方案
云存储协议(S3/MinIO)+ 断点续传技术
TCP协议
数据快递的“保价服务”
核心特性
- 三次握手建立连接(SYN → SYN-ACK → ACK)
在进行数据传输之前,TCP客户端和服务器之间需要通过三次握手来建立连接。首先,客户端向服务器发送一个SYN(同步序列编号)包,请求建立连接;服务器收到SYN包后,向客户端发送一个SYN + ACK(确认编号)包,表示同意建立连接;客户端收到服务器的SYN + ACK包后,再向服务器发送一个ACK包,确认连接建立。通过三次握手,客户端和服务器之间就建立了一个可靠的连接。
- 数据分片重组 + 超时重传机制
- 流量控制(滑动窗口) + 拥塞控制(慢启动/AIMD)
报文结构图
| 源端口(16bit) | 目的端口(16bit) |
| 序列号(32bit) | 确认号(32bit) |
| 数据偏移 | 保留位 | URG|ACK|PSH|RST|SYN|FIN | 窗口大小(16bit) |
| 校验和(16bit) | 紧急指针(16bit) |
性能调优
Linux内核参数调整:
sysctl -w net.ipv4.tcp_window_scaling=1 (启用窗口缩放)
UDP协议
直播游戏的“闪电侠”
核心定位
无连接 + 尽最大努力交付
杀手级应用
- 实时游戏(UDP数据包头部仅8字节!)
- 视频会议(RTP协议基于UDP)
- DNS查询(快速响应优先)
协议对比实验
指标 | TCP | UDP |
延迟 | 100-300ms | <50ms |
丢包处理 | 自动重传 | 直接丢弃 |
适用场景 | 网页/邮件 | 直播/物联网 |
IP协议
网络世界的“GPS导航”
核心任务
- IPv4地址分配(32位,如192.168.1.1)
- IPv6革命性升级(128位,fe80::1%lo0)
- 路由选择(OSPF/BGP协议协作)
IP版本
目前,IP协议主要有两个版本:IPv4和IPv6。
- IPv4:IPv4是目前广泛使用的IP协议版本,它使用32位二进制数表示IP地址,理论上可以提供约43亿个IP地址。然而,随着互联网的快速发展,IPv4地址已经逐渐耗尽。
- IPv6:IPv6是IPv4的下一代版本,它使用128位二进制数表示IP地址,理论上可以提供的IP地址数量几乎是无限的。IPv6不仅解决了IPv4地址耗尽的问题,还在安全性、移动性等方面进行了改进和增强。
IP数据报结构
| 版本(4) | 头长度 | 服务类型 | 总长度 |
| 标识符 | 标志 | 分片偏移 |
| TTL | 协议 | 头部校验和 |
| 源IP地址 |
| 目的IP地址 |
NAT穿透技术
STUN/TURN/ICE三剑客解决P2P连接难题
HTTPS协议
电商支付的“防盗门”
安全四重奏
1 对称加密(AES-256-GCM)
2 非对称加密(RSA/ECC)
3 数字证书(CA机构认证)
4 散列算法(SHA-256)
TLS握手全流程
- ClientHello → 2. ServerHello → 3. 证书验证 → 4. 密钥交换 → 5. 加密通信
实战命令
查看网站证书链:
openssl s_client -connect www.baidu.com:443 -showcerts
HTTP协议
万维网的“普通话”
版本进化史
- HTTP/1.1:持久连接 + 管线化
- HTTP/2:二进制分帧 + 头部压缩
- HTTP/3:基于QUIC协议 + 0-RTT握手
请求报文解剖
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept-Language: en-us
开发者工具
Chrome DevTools中的Waterfall图表分析加载性能
SMTP协议:
电子邮件的“邮递员”
工作流程
- 客户端 → SMTP服务器(端口25)
- 服务器间MX记录查询
- 收件服务器(POP3/IMAP)
安全升级
- STARTTLS加密传输
- SPF/DKIM/DMARC反垃圾邮件三件套
手动发邮件实验
telnet smtp.example.com 25
HELO client.example.com
MAIL FROM: <sender@example.com>
RCPT TO: <receiver@example.com>
DATA
Subject: Test
Hello World!
.
QUIT
协议森林的生存法则
在这个每秒传输PB级数据的时代,这些协议就像精密的瑞士钟表零件般协同工作。下次当你在直播中抢购商品时,请记住:正是UDP保证了实时画面流畅,HTTPS守护着支付安全,而SMTP正悄悄把你的订单确认信送向云端!
猜你喜欢
- 2025-05-03 邮件撤回的操作方法与注意事项(邮件撤回的操作方法与注意事项是什么)
- 2025-05-03 B端空状态异常页面设计指南(b端 ui)
- 2025-05-03 MCP 服务器很危险!这里有安全使用指南!
- 2025-05-03 勒索病毒让人手足无措?手把手教你应对攻略
- 2025-05-03 如何打造优质 Web 表单(制作一个表单网页)
- 2025-05-03 禁用功能那些事(禁用设置在哪里)
- 2025-05-03 干货 ▏Outlook客户端功能设置指引
- 2025-05-03 解决网易邮箱大师设置阿里企业邮箱遇到的用户名密码错误问题
- 2025-05-03 加密邮箱的数字签名和加密原理(邮件加密密钥)
- 2025-05-03 无法访问此账户,可能需要更新密码或授权账户同步到此设备的权限
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)