各层协议总结

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

网络协议要素

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

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

DetailedVerticalProtocolStackARPARP地址解析PPPPPP点对点传输HDLCHDLC同步链路控制IPIP无连接、不可靠IP->ARPIP->PPPIP->HDLCICMPICMP网络诊断ICMP->IPNATNAT地址转换NAT->IPRIPRIP路由选择UDPUDP无连接、不可靠RIP->UDPOSPFOSPF路由选择OSPF->IPBGPBGP路由选择TCPTCP面向连接、可靠BGP->TCPTCP->IPUDP->IPHTTPHTTP/HTTPS80/443, TCPHTTP->TCPFTPFTP20/21, TCPFTP->TCPSMTPSMTP25, TCPSMTP->TCPPOP3POP3110/995, TCPPOP3->TCPDNSDNS53, UDP/TCPDNS->TCPDNS->UDPDHCPDHCP67/68, UDPDHCP->UDP

应用层协议

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

协议端口号依赖协议简要说明
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) :面向连接,提供可靠的字节流服务,适用于要求高可靠性的应用(如 HTTPFTP)。
  • UDP (User Datagram Protocol) :无连接,不保证可靠性,但开销小、速度快,适用于实时性要求高的场景(如 DNS、视频流)。

网络层协议

网络层负责实现数据包从源主机到目标主机的传输:

  • IP (Internet Protocol) :不可靠的无连接协议,提供数据报服务,是整个互联网的核心协议。
  • ICMP (Internet Control Message Protocol) :用于发送错误报告与网络诊断信息(如 ping 命令使用的就是 ICMP 回显请求)。
  • RIP / OSPF / BGP :路由选择协议,主要用于自治系统内部(RIP、OSPF)或之间(BGP)的路由计算
  • NAT (Network Address ):网络地址转换,在私网和公网之间转换 IP 地址

数据链路层协议

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

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