TCP/IP 的分层管理

应用层

应用层决定了向用户提供应用服务时通信的活动。

其中包括常见的有 HTTP、FTP、DNS等。

传输层

传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据 传输。

分为两个性质不同的协议:

  • TCP(Transmission Control Protocol,传输控制协议)
  • UDP(User Data Protocol,用户数据报 协议)

网络层

网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数 据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计 算机,并把数据包传送给对方。

数据链路层

用来处理连接网络的硬件部分。

TCP/IP 通信传输流

TCP/IP 通信传输流TCP/IP 通信传输流

HTTP传输流HTTP传输流

IP TCP DNS

IP

IP协议保证把数据传输到接收端。其中最重要的两个条件是 IP 地址和 MAC 地址。IP 地址指明了节点被分配到的地址,MAC 地址是指网卡所属的固定地址。IP地址和MAC地址镜像配对。

其中MAC地址之间的转发路由通过 ARP 解析地址协议,通过 IP 反查 MAC 地址。

TCP

TCP 确保数据包送达接收端。

三次握手

握手过程中使用了 TCP 的标志(flag) —— SYN(synchronize) 和 ACK(acknowledgement)。

  1. 发送端首先发送一个带 SYN 标志的数据包给对方。
  2. 接收端收到后, 回传一个带有 SYN/ACK 标志的数据包以示传达确认信息。
  3. 最后,发送端再回传一个带 ACK 标志的数据包,代表“握手”结束。

若在握手过程中某个阶段莫名中断,TCP 协议会再次以相同的顺序发 送相同的数据包。

四次挥手

三次握手四次挥手状态变更三次握手四次挥手状态变更

DNS

域名解析服务,ip和域名的映射服务

各种协议与 HTTP 协议的关系

各种协议与 HTTP 协议的关系各种协议与 HTTP 协议的关系

图片来自《图解HTTP》