Reborn's Blog

计算机网络体系结构

2018-10-31·Network, TCP/IP, HTTP

五层协议

| 层 | 功能 | 协议 | | --- | --- | --- | | 应用层 | 为应用程序提供数据传输服务 | HTTP, DNS, SMTP | | 运输层 | 进程间的通用数据传输 | TCP, UDP | | 网络层 | 主机间数据传输,封装分组 | IP, ARP, ICMP | | 数据链路层 | 同一链路主机间服务,封装成帧 | 以太网 | | 物理层 | 传输数据比特流 | - |

TCP/IP 协议

  • IP 协议是核心,TCP 和 UDP 都基于 IP
  • ARP:将 IP 地址转换成 MAC 地址
  • ICMP:网际控制报文协议(Ping、Traceroute)
  • 网络层只负责尽最大努力交付,可靠性由运输层负责

IP 地址分类

  1. 网络号 + 主机号(A/B/C/D/E 类)
  2. 网络号 + 子网号 + 主机号(三级地址 + 子网掩码)
  3. 网络前缀 + 主机号(CIDR 无分类编址,如 128.14.35.7/20)

TCP 三次握手

  1. A → B:SYN=1, seq=x
  2. B → A:SYN=1, ACK=1, ack=x+1, seq=y
  3. A → B:ACK=1, ack=y+1, seq=x+1

为什么要三次握手? 防止已失效的连接请求导致服务器错误建立连接。

TCP 四次挥手

  1. A → B:FIN=1
  2. B → A:ACK(半关闭状态,B 仍可发数据)
  3. B → A:FIN=1(B 确认不再发送)
  4. A → B:ACK(等待 2MSL 后释放)

为什么等待 2MSL?

  1. 确保最后一个确认报文能到达
  2. 让本连接所有报文从网络中消失

Web 页面请求过程

  1. DHCP 配置:获取 IP 地址、DNS 服务器、默认网关
  2. ARP 解析:获取网关路由器 MAC 地址
  3. DNS 解析:域名 → IP 地址
  4. HTTP 请求:TCP 三次握手 → HTTP GET → 服务器响应 → 浏览器渲染
#Network#TCP/IP#HTTP