各层协议总结

了解各层所包含的网络协议,以及应用层协议使用的端口号、是依赖 UDP 还是 TCP。

网络协议要素

网络协议规定了通信双方交互的规则,主要包括以下三要素:

  • 语法:定义信息的格式和结构(如报文结构、编码方式等)
  • 语义:规定控制信息的含义和需要完成的操作
  • 时序:定义事件的发生顺序和通信双方的协同工作方式(如请求与响应的先后顺序)

应用层协议

应用层协议直接面向用户,为应用程序之间的通信提供服务:

协议端口号依赖协议简要说明
HTTP/HTTPS80 / 443TCP超文本传输协议,用于网页浏览。HTTPS 是加密版本,基于 TLS/SSL。
FTP20 / 21TCP文件传输协议,用于文件上传与下载。20 为数据通道,21 为控制通道。
SMTP25TCP简单邮件传输协议,用于邮件的发送。
POP3110 / 995TCP邮局协议,用于从邮件服务器接收邮件。995 是加密版本(POP3S)。
DNS53UDP(部分 TCP)域名系统,将域名解析为 IP 地址。较大响应或区域传输时使用 TCP。
DHCP67(服务器)/ 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:网络地址转换,在私网和公网之间转换 IP 地址

数据链路层协议

数据链路层负责将网络层传来的数据组装成帧,在链路上传输并进行差错控制:

  • ARP(Address Resolution Protocol):地址解析协议,用于将 IP 地址解析为对应的 MAC 地址。
  • PPP(Point-to-Point Protocol):点对点协议,用于点对点链路的数据传输,常用于拨号上网。
  • HDLC(High-Level Data Link Control):高级数据链路控制协议,用于同步链路的帧传输,支持面向比特流的通信。