跳到主要内容

运输层服务与协议

运输层与网络层的职责如何划分?​

  • 网络层: 在不同主机之间提供逻辑通信;
  • 运输层: 在同一台主机的不同进程之间提供逻辑通信;
  • 分组名称: 运输层的分组称为报文段, 网络层的分组称为数据报;

运输层协议需要满足哪些要求?​

  • 可靠数据传输;
  • 吞吐量;
  • 定时保证 (时延);
  • 安全性;

TCP 提供哪些服务?​

  • 面向连接: 数据传输前双方交换运输层控制信息完成握手, 握手后在两个套接字之间建立连接;
  • 全双工: 连接建立后双方可同时收发;
  • 可靠数据服务: 具备差错恢复与拥塞控制机制;
  • 面向字节流: 不保留应用层消息边界, 因此会出现粘包, 见 TCP 粘包与队首阻塞;
  • 单播: 只能一对一;

UDP 提供哪些服务?​

  • 轻量级: 无握手过程, 无连接状态;
  • 不可靠数据服务: 不保证交付、不保证顺序;
  • 面向报文: 保留应用层消息边界;
  • 传输方式: 支持单播、广播与多播;

SSL 补充了什么?​

  • SSL: 安全套接字层, 可视为加强版的 TCP;
  • 提供的能力: 进程到进程的安全性服务, 包括加密、完整性与端点鉴别;
  • 层次归属: 在应用层与运输层之间补充的安全能力;

TCP 与 UDP 如何取舍?​

维度TCPUDP
连接面向连接无连接
可靠性可靠交付尽力交付
消息边界面向字节流面向报文
传输方式单播单播/广播/多播