企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

一文带你玩转网络八大核心协议,收藏!

wudianyun 2025-05-03 17:00:13 精选文章 8 ℃

你知道吗?每当你刷视频、发邮件、传文件时,背后都有一群“数字交警”在默默指挥流量!今天我们将深入揭秘支撑互联网运转的八大核心协议,用最生动的语言+表情包+技术细节,带你解锁网络世界的底层密码!

SSH协议

黑客最恨的“加密隧道”

定义

Secure Shell(安全外壳协议)

核心功能

加密远程登录(默认端口22)

技术亮点

  • 非对称加密(RSA/ECDSA) + 对称加密(AES/ChaCha20)双保险
  • 防中间人攻击:首次连接时验证主机指纹
  • 端口转发:轻松突破防火墙限制(ssh -L/-D/-R)

验证方式

  1. 基于口令的安全验证:只要知道自己的帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证正在连接的服务器就是自己想连接的服务器,可能会受到“中间人”攻击。
  2. 基于密钥的安全验证:需要为自己创建一对密钥,并把公用密钥放在需要访问的服务器上。连接时,客户端软件向服务器发出请求,服务器收到请求后,先在服务器上的主目录下寻找公用密钥,然后与客户端发送过来的公用密钥进行比较。如果一致,服务器用公用密钥加密“质询”并发送给客户端软件,客户端软件收到“质询”后用私人密钥解密再发送给服务器。这种方式不仅加密所有传送的数据,而且能有效防止“中间人”攻击,因为攻击者没有私人密钥。不过,整个登录过程可能需要10秒左右。

组成部分

  1. 传输层协议(SSH - TRANS):提供了服务器认证,保密性及完整性,有时还提供压缩功能。通常运行在TCP/IP连接上,也可能用于其它可靠数据流上,提供了强力的加密技术、密码主机认证及完整性保护。该协议中的认证基于主机,并且不执行用户认证,更高层的用户认证协议可以设计在此协议之上。
  2. 用户认证协议(SSH - USERAUTH):用于向服务器提供客户端用户鉴别功能,运行在传输层协议SSH - TRANS上面。当SSH - USERAUTH开始后,它从低层协议那里接收会话标识符,会话标识符唯一标识此会话并且适用于标记以证明私钥的所有权,同时也需要知道低层协议是否提供保密性保护。
  3. 连接协议(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。

  1. IPv4:IPv4是目前广泛使用的IP协议版本,它使用32位二进制数表示IP地址,理论上可以提供约43亿个IP地址。然而,随着互联网的快速发展,IPv4地址已经逐渐耗尽。
  2. 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握手全流程

  1. 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协议:

电子邮件的“邮递员”

工作流程

  1. 客户端 → SMTP服务器(端口25)
  2. 服务器间MX记录查询
  3. 收件服务器(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正悄悄把你的订单确认信送向云端!

最近发表
标签列表