各层协议总结
这节还是作为计算机网络各层协议的一个概览,具体协议细节还是到相应章节去看。在本节中关注以下几点:1. 应用层协议的端口和下层传输层协议是什么。2. 每一层具体有哪些协议。
网络协议要素
网络协议规定了通信双方交互的规则,主要包括以下三要素:
- 语法 :定义信息的格式和结构(如报文结构、编码方式等)
- 语义 :规定控制信息的含义和需要完成的操作
- 时序 :定义事件的发生顺序和通信双方的协同工作方式(如请求与响应的先后顺序)
应用层协议
应用层协议直接面向用户,为应用程序之间的通信提供服务:
| 协议 | 常用端口 | 传输层 | 简要说明 |
|---|---|---|---|
| HTTP / HTTPS | 80 / 443 | TCP(HTTP/3 使用 QUIC/UDP) | 超文本传输协议;HTTPS 指 HTTP 经 TLS 提供机密性与完整性保护。408 通常按 HTTP/1.1、HTTP/2 基于 TCP 讨论。 |
| FTP | 21(控制);20 常用于主动模式数据连接 | TCP | 文件传输协议。被动模式的数据连接端口由服务器另行协商,不固定为 20。 |
| SMTP | 25 | TCP | 简单邮件传输协议,用于邮件服务器之间的传送。 |
| POP3 | 110 / 995 | TCP | 从邮件服务器读取邮件;995 通常为 POP3 over TLS。 |
| DNS | 53 | UDP 或 TCP | 常规查询优先使用 UDP;区域传送、截断响应后的重试等情况使用 TCP。 |
| DHCP | 67(服务器)/ 68(客户端) | UDP | 自动分配 IP 地址及其他网络参数。 |
传输层协议
传输层为应用进程间提供可靠或不可靠的数据传输服务:
- TCP (Transmission Control Protocol) :面向连接,提供可靠的字节流服务,适用于要求高可靠性的应用(如 HTTP、FTP)。
- UDP (User Datagram Protocol) :无连接,不保证可靠性,但开销小、速度快,适用于实时性要求高的场景(如 DNS、视频流)。
网络层协议
网络层负责实现数据包从源主机到目标主机的传输:
- IP (Internet Protocol) :不可靠的无连接协议,提供数据报服务,是整个互联网的核心协议。
- ICMP (Internet Control Message Protocol) :用于发送错误报告与网络诊断信息(如 ping 命令使用的就是 ICMP 回显请求)。
- RIP / OSPF / BGP :路由选择协议,主要用于自治系统内部(RIP、OSPF)或之间(BGP)的路由计算
- NAT(Network Address Translation):网络地址转换,在私网和公网之间转换 IP 地址与必要的传输层端口信息。
数据链路层协议
数据链路层负责将网络层传来的数据组装成帧,在链路上传输并进行差错控制:
- ARP(Address Resolution Protocol):地址解析协议,用于在本地链路上把 IPv4 地址解析为对应的 MAC 地址。它直接封装在链路层帧中、服务于 IP;不同教材可能将其列为网络层辅助协议或 TCP/IP 网络接口层协议。
- PPP (Point-to-Point Protocol) :点对点协议,用于点对点链路的数据传输,常用于拨号上网。
- HDLC (High-Level Data Link Control) :高级数据链路控制协议,用于同步链路的帧传输,支持面向比特流的通信。