OSI 七层与 TCP/IP 四层模型分别是什么?前端常见协议在哪一层?

先理解原理和示例,再练习完整口述与追问。

OSI 七层:物理、数据链路、网络、传输、会话、表示、应用;TCP/IP 四层:网络接口(链路)、网际(IP)、传输(TCP/UDP)、应用。HTTP、DNS、WebSocket 属于应用层;TLS 位于 TCP 与 HTTP 之间;QUIC 运行在 UDP 上,自己实现可靠传输;IP 负责寻址路由,MAC 只在局域网内有效。

OSI 是理论参考模型,TCP/IP 是互联网实际使用的分层。数据发送时逐层加上头部:HTTP 报文 → TCP 段(端口、序号)→ IP 包(源与目的 IP)→ 以太网帧(MAC 地址)。路由器根据 IP 转发,交换机根据 MAC 转发;跨网段时,每一跳的 MAC 地址都会变化,IP 地址保持不变(NAT 除外)。

TLS 常被归入会话层或表示层,实际工作在传输层之上、HTTP 之下。HTTP/3 使用 QUIC,把可靠性、拥塞控制和加密都放在 UDP 之上的用户态实现。WebSocket 先通过 HTTP 请求升级协议,之后在同一 TCP 连接上收发帧。

DevTools 的请求 Timing 中,DNS Lookup 对应应用层的域名解析,Initial connection 是 TCP 握手,SSL 是 TLS 握手,Waiting 是服务器处理时间。若只有 MAC 地址没有 IP:MAC 是扁平地址,没有网络层级,无法聚合路由表,也不能跨网段路由,只能在局域网内通过广播寻找对方。

不要把 HTTPS 说成单独一层协议;也不要说 UDP 一定不可靠,QUIC 就在 UDP 上实现了可靠传输。

OSI 是七层参考模型,TCP/IP 实际用四层:链路层、网际层、传输层、应用层。前端打交道最多的 HTTP、DNS、WebSocket 在应用层,TCP、UDP 在传输层,IP 在网际层负责寻址和路由。TLS 位于 TCP 和 HTTP 之间,HTTP/3 的 QUIC 跑在 UDP 上自己实现可靠性。排查时可以对照 DevTools 里 DNS、TCP 连接、TLS 和等待时间分别定位是哪一层慢。