TCP、UDP、ARP、Socket 与网络加密协议知识点整理
在计算机网络中,TCP、UDP、IP、ARP、ICMP、Socket、PPP、IPSec 等概念经常一起出现,也容易混淆。本文主要从协议层次、核心作用、典型应用和考试常见考点几个角度进行整理。
出自:智澈乐尚网络工作平台
一、TCP 是传输层协议,不是网络层协议
TCP,全称是 Transmission Control Protocol,中文叫传输控制协议。
TCP 属于传输层,不是网络层。
它工作在 IP 协议之上,主要作用是为应用程序之间提供可靠的数据传输服务。
可以简单理解为:
IP 负责主机到主机之间的寻址和转发,TCP 负责进程到进程之间的可靠传输。
TCP 是面向连接 的协议,在正式传输数据前需要先建立连接,这个过程就是常说的三次握手。
三次握手的目的主要是确认通信双方都具备发送和接收能力,并为后续可靠传输做准备。
二、TCP 与 UDP 的核心区别
TCP 和 UDP 都属于传输层协议,但是二者设计目标不同。
TCP 更重视可靠性,UDP 更重视效率和实时性。
| 特性 | TCP | UDP |
|---|---|---|
| 开销 | 开销较大 | 开销较小 |
| 是否连接 | 面向连接,需要三次握手 | 无连接,即发即传 |
| 可靠性 | 提供可靠传输 | 不保证可靠传输 |
| 传输效率 | 较低,但稳定性高 | 较高,但可能丢包 |
| 典型应用 | HTTP、HTTPS、FTP、SMTP、POP3、IMAP 等 | DNS、DHCP、TFTP、SNMP、VoIP、视频流等 |
一句话记忆:
TCP 追求可靠,UDP 追求快速。
如果应用场景要求数据尽量不能丢失,例如网页访问、文件传输、邮件发送,通常使用 TCP。
如果应用场景更看重实时性,例如语音通话、视频直播、实时游戏、DNS 查询,通常使用 UDP。
三、常见协议的层次对应关系
常见网络协议可以按层次整理如下:
| 层次 | 常见协议 |
|---|---|
| 应用层 | FTP、Telnet、POP3、IMAP、HTTP、SMTP、SNMP、DNS、TFTP、DHCP |
| 传输层 | TCP、UDP |
| 网络层 | IP、ARP、ICMP、X.25 |
| 数据链路层 | PPP、以太网协议等 |
需要注意:
ARP 的层次在不同教材中可能有不同说法。
从功能上看,ARP 是为 IP 服务的,用来完成 IP 地址到 MAC 地址的映射,所以很多考试题会把 ARP 归入网络层相关协议。
从实际工作位置看,ARP 又和数据链路层关系密切。
考试中可以重点记:
IP、ARP、ICMP、X.25 通常都归为网络层相关协议。
四、常见应用层协议整理
常见应用层协议可以这样记:
| 协议 | 作用 | 常见传输层协议 |
|---|---|---|
| HTTP | 网页访问 | TCP |
| HTTPS | 加密网页访问 | TCP |
| FTP | 文件传输 | TCP |
| Telnet | 远程登录 | TCP |
| SMTP | 发送邮件 | TCP |
| POP3 | 下载邮件 | TCP |
| IMAP | 在线访问和管理邮件 | TCP |
| DNS | 域名解析 | UDP 为主,部分情况使用 TCP |
| DHCP | 动态分配 IP 地址 | UDP |
| TFTP | 简单文件传输 | UDP |
| SNMP | 网络设备管理 | UDP |
| VoIP | 网络语音通话 | UDP |
其中,IMAP 是互联网邮件访问协议,主要用于客户端在线访问和管理邮件服务器上的邮件。
和 POP3 相比,IMAP 更适合多设备同步邮件,因为邮件通常保留在服务器上。
邮件协议可以这样记:
| 协议 | 作用 |
|---|---|
| SMTP | 发送邮件 |
| POP3 | 下载邮件 |
| IMAP | 在线访问和管理邮件 |
五、ARP 协议与 ARP 攻击
ARP,全称是 Address Resolution Protocol,中文叫地址解析协议。
ARP 的作用是:
实现 IP 地址与 MAC 地址之间的转换。
在局域网通信中,主机真正发送数据帧时,需要知道对方的 MAC 地址。
但是应用层和网络层通常只知道目标 IP 地址,所以就需要 ARP 根据 IP 地址查询对应的 MAC 地址。
例如,一台主机想访问网关 192.168.1.1,但它不知道这个 IP 对应的 MAC 地址,于是会发送 ARP 请求:
谁是
192.168.1.1?请把你的 MAC 地址告诉我。
网关收到后,会回复自己的 MAC 地址。
ARP 协议本身没有严格的身份认证机制,所以容易被伪造。
ARP 攻击通常是指攻击者伪造 ARP 报文,让局域网中的其他主机记录错误的 IP 地址和 MAC 地址映射关系。
常见攻击方式是:
攻击者伪造网关 ARP 报文,让其他主机误以为攻击者的 MAC 地址就是网关的 MAC 地址。
这样可能导致:
- 数据包被错误发送给攻击者,形成中间人攻击;
- 数据包无法正确发送到真实网关,导致断网或通信失败。
所以可以总结为:
ARP 攻击是指攻击者伪造 ARP 报文,使主机建立错误的 IP 地址与 MAC 地址映射关系,从而导致中间人攻击、流量劫持或网络中断。
六、ICMP 与 X.25
ICMP,全称是 Internet Control Message Protocol,中文叫互联网控制报文协议。
ICMP 属于网络层相关协议,主要用于网络差错报告和网络诊断。
常见的 ping 命令就使用了 ICMP。
例如执行 ping 192.168.1.1,本质上就是向目标主机发送 ICMP 回显请求,然后等待对方返回 ICMP 回显应答。
ICMP 的作用不是传输用户数据,而是辅助 IP 协议进行错误报告和网络状态检测。
X.25 是一种较早期的分组交换网络协议,在考试中通常归为网络层相关协议。
它主要用于广域网中的分组交换通信,虽然现代网络中已经不常见,但仍然可能作为计算机网络考试中的层次分类考点出现。
七、IP 地址、端口号与 Socket
在网络通信中,只有 IP 地址是不够的。
IP 地址只能定位到某一台主机,而端口号用于定位这台主机上的某个具体应用进程。
例如 192.168.1.10:80 中:
| 内容 | 含义 |
|---|---|
192.168.1.10 |
主机的 IP 地址 |
80 |
端口号 |
192.168.1.10:80 |
这台主机上的 Web 服务端点 |
所以可以这样理解:
IP 地址定位主机,端口号定位进程。
Socket,中文叫套接字。
Socket 是操作系统提供给应用程序使用网络通信的一种接口。
可以简单理解为:
Socket 是应用程序和网络协议栈之间的通信入口。
TCP 和 UDP 使用 IP 地址和端口号来标识通信端点,映射关系由操作系统的 Socket 机制实现。
对于一条 TCP 连接,通常可以用五元组唯一标识:
源 IP 地址 + 源端口号 + 目的 IP 地址 + 目的端口号 + 协议
例如:
192.168.1.100:52345 -> 192.168.1.10:80 TCP
这表示客户端 192.168.1.100 的临时端口 52345 正在通过 TCP 访问服务器 192.168.1.10 的 80 端口。
一句话总结:
IP 找主机,端口找进程,Socket 让程序真正进行网络通信。
八、PPP、PPTP 与 IPSec 的层次区别
你原来写的"PP2P"这里需要注意,常见相关概念一般是 PPP 或 PPTP。
PPP,全称是 Point-to-Point Protocol,中文叫点对点协议。
PPP 工作在数据链路层,主要用于点到点链路上的数据封装和传输。
如果在数据链路层进行加密,可以理解为链路加密。
链路加密保护的是相邻节点之间的一段通信链路。
PPTP,全称是 Point-to-Point Tunneling Protocol,中文叫点对点隧道协议。
PPTP 是一种早期 VPN 隧道协议,常常和 PPP 一起出现,可以把 PPP 帧封装进隧道中传输。
IPSec 工作在网络层。
它主要用于保护 IP 数据报文,可以提供加密、认证、完整性校验和防重放攻击等功能。
可以简单记为:
PPP 工作在数据链路层,IPSec 工作在网络层。
更进一步:
PPP 相关加密偏向链路层加密,IPSec 是给 IP 数据报文加密。