1. 概述

在本篇文章中,我们将介绍一组最常用且广受欢迎的网络协议。这些协议构成了现代网络通信的基石,广泛应用于互联网、企业网络、物联网等多个领域。


2. 网络协议简介

通信与信息交换是当今世界最重要的能力之一。计算机网络通过电缆、卫星等方式连接多个设备,使它们能够跨地域共享信息、资源和数据库。

为了确保网络中通信的高效与安全,设计了多种协议。协议是一组定义网络通信规则的规范。它使得不同架构、不同内部机制的设备能够相互通信,是现代数字通信不可或缺的一部分。


3. 以太网协议(Ethernet)

以太网(Ethernet)最初于1983年被标准化为 IEEE 802.3,最初使用粗同轴电缆(10BASE-5)实现局域网(LAN)通信。

IEEE 802.3 标准定义了有线网络模型中的物理层(Physical Layer)和数据链路层中的介质访问控制子层(MAC Sublayer)。

不同版本的 IEEE 802.3(如 802.3a、802.3i、802.3j)支持不同类型的传输介质。

另一个广泛应用的标准是 IEEE 802.11,它定义了无线局域网(WLAN)的物理层和 MAC 层协议,是实现无线通信的核心标准,被广泛用于笔记本电脑和智能手机之间的无线连接。

下面是 802.3 和 802.11 帧格式对比图:

ethernet 802.3
Ethernet 802.11

主要区别在于帧大小、字段数量和传输数据量。802.11 比 802.3 多两个地址字段,且其帧体最大为 2312 字节(802.3 为 1500 字节)。


4. 网际协议(IP)

IP 协议于 1974 年由 IEEE 标准化,负责在数字网络中对数据包进行寻址和分片,确保数据包从源端成功传输到目标端。

IP 的第一个主要版本是 IPv4,1982 年首次部署于 SATNET,使用 32 位地址空间。最新的 IPv6 使用 128 位地址空间,提供更大的地址容量。

IPv4 和 IPv6 报文头格式如下:

IPV4 header
IPV6 header

IPv6 在 IPv4 的基础上进行了优化,减少了头部字段数量,提升了效率和可扩展性。


5. ICMP 协议(Internet Control Message Protocol)

ICMP 协议用于在网络中发送错误消息,通常与 IP 协议配合使用,用于诊断网络通信问题,如判断数据是否成功到达目标。

ICMP 是无连接协议,不需要建立连接即可发送消息。其头部结构如下:

icmp 1

ICMP 通过类型(Type)和代码(Code)标识错误类型,使用校验和(Checksum)确保消息准确性。

✅ 常见用途:pingtraceroute
❌ 缺点:常被用于 DDoS 攻击(如 ICMP Flood)


6. 地址解析协议(ARP)

应用程序使用逻辑地址(IP 地址)进行通信,但实际通信需要物理地址(MAC 地址)。ARP 协议负责将 IP 地址解析为 MAC 地址,是网络通信的基础。

ARP 在 OSI 模型中负责网络层与数据链路层之间的地址映射。

ARP 请求示意图如下:

ARP modified


7. 传输控制协议(TCP)

TCP 是一种面向连接、可靠的传输协议,建立在 IP 之上,提供数据包的可靠传输

TCP 通信前需建立连接(三次握手),通信过程中通过确认机制(ACK/NACK)保证数据完整性,若发送方收到 NACK,则重传数据。

TCP 连接建立过程如下:

TCP connection

TCP 报文头包含源端口和目标端口,用于区分不同应用程序的通信:

TCP

✅ 常见用途:HTTP、HTTPS、FTP、SSH
✅ 优点:可靠、有序、流量控制
❌ 缺点:建立连接开销大,延迟较高


8. 用户数据报协议(UDP)

UDP 是一种无连接、不可靠的传输协议,适用于对延迟敏感的实时通信,如音视频传输、在线游戏等。

UDP 不建立连接,也不提供确认机制或重传机制,因此效率高但可靠性低。

UDP 通信示意图如下:

UDP Connection 1

UDP 报文头结构如下:

UDP Header

✅ 常见用途:VoIP、直播、DNS 查询
✅ 优点:低延迟、高效
❌ 缺点:不可靠、无序


9. 超文本传输协议(HTTP)

HTTP 是万维网(WWW)的基础协议,属于应用层协议,用于客户端与服务器之间交换超文本信息

HTTP 是无连接、无状态协议,客户端与服务器只在通信期间保持联系,通信结束后互不保留状态。

HTTP 请求与响应流程如下:

http

✅ 常见用途:网页浏览、RESTful API
✅ 优点:通用性强、支持多种数据格式
❌ 缺点:无状态、需配合 Cookie/Session 使用


10. 动态主机配置协议(DHCP)

DHCP 协议用于在 IP 网络中自动分配 IP 地址及其他网络参数(如子网掩码、默认网关、DNS 地址等),简化网络设备配置。

DHCP 工作流程如下:

  1. 客户端广播 DHCP Discover
  2. 服务器响应 DHCP Offer
  3. 客户端发送 DHCP Request
  4. 服务器确认 DHCP Acknowledge

DHCP 协议交互过程如下图:

dhcp

DHCP 报文头结构如下:

DHCP Header

✅ 常见用途:家庭路由器、企业网络
✅ 优点:自动分配、减少配置工作量
❌ 缺点:安全性较弱,需配合 DHCP Snooping 等防护机制


11. 生成树协议(STP)

STP(Spanning Tree Protocol)由 IEEE 802.1d 定义,用于防止局域网中出现环路,避免广播风暴。

STP 通过运行生成树算法(STA)构建网络拓扑,自动阻断冗余链路,当主链路故障时自动启用备用链路。

STP 协议使用配置消息(BPDU)进行通信,其报文结构如下:

STP Header

✅ 常见用途:交换机网络、数据中心
✅ 优点:自动防止环路、提高网络可靠性
❌ 缺点:收敛速度慢,RSTP 为改进版本


12. 文件传输协议(FTP)

FTP 是基于 TCP/IP 的标准网络协议,用于在服务器之间可靠高效地传输文件

FTP 在传输过程中建立两个连接:

  • 控制连接:用于命令传输
  • 数据连接:用于文件传输

FTP 连接示意图如下:

FTP connection

✅ 常见用途:网站部署、文件备份
✅ 优点:支持断点续传、权限控制
❌ 缺点:文件大小限制(通常 2GB)、安全性差(明文传输)


13. 安全外壳协议(SSH)

SSH(Secure Shell)是一种加密网络协议,用于在不安全网络上安全地执行远程命令和访问远程系统

SSH 提供了加密通信、用户认证、数据完整性等安全机制,是远程登录、远程命令执行的首选协议。

✅ 常见用途:服务器管理、自动化脚本
✅ 优点:加密传输、支持密钥认证
❌ 缺点:配置复杂、性能略低于 Telnet(但更安全)


14. SSH 文件传输协议(SFTP)

SFTP(SSH File Transfer Protocol)是基于 SSH 的文件传输协议,用于安全地在系统之间传输文件

SFTP 使用公钥加密保障通信安全,支持密码认证和密钥认证两种方式。

SFTP 与 FTP 不同,仅需一个连接即可完成命令和数据传输,简化了管理:

SFTP

✅ 常见用途:安全文件同步、远程备份
✅ 优点:加密传输、支持二进制模式
❌ 缺点:依赖 SSH 服务、部分功能受限


15. 总结

本文介绍了 12 种常见网络协议,涵盖从物理层到应用层的多个层面,包括:

协议 层级 特点
Ethernet 物理层/数据链路层 局域网通信基础
IP 网络层 数据寻址与路由
ICMP 网络层 网络诊断
ARP 网络层 IP 到 MAC 映射
TCP 传输层 可靠、面向连接
UDP 传输层 快速、无连接
HTTP 应用层 网页通信基础
DHCP 应用层 自动分配 IP
STP 数据链路层 防止网络环路
FTP 应用层 文件传输
SSH 应用层 安全远程访问
SFTP 应用层 安全文件传输

这些协议虽各有优劣,但共同构建了现代网络通信的基础设施,支撑着互联网的运行与发展。掌握它们的工作原理,有助于我们在开发、运维、网络安全等工作中做出更合理的决策。


原始标题:Popular Network Protocols