计网复习(五)

运输层

Posted by Gavin on August 20, 2019

花不解语花颔首

佛度我心佛空叹

概念

  1. 运输层主要为进程之间提供端到端的可靠的通信服务
  2. 两种不同的协议
    • 面向连接的传输控制协议TCP
      尽管下面的网络是不可靠的,但TCP的逻辑信道确相当于一条全双工的可靠信道
    • 无连接的用户数据报协议UDP
      逻辑信道仍不可靠
  3. UDP
    • 提供无连接服务
    • 传送数据前不需要先建立连接
    • 传送的数据单位协议是UDP报文或用户数据报
    • 对方运输层收到UDP报文后,不需要给出确认
    • 虽然UDP不是可靠交付,但某些情况下是最有效的工作方式

    PS:此用户数据报非网络层IP数据报

  4. TCP
    • 面向连接的服务
    • 传送的数据单位协议是TCP报文段
    • TCP不提供广播或多播服务
    • TCP提供可靠的、面向连接的服务,因此开销大
  5. 软件端口
    在协议栈层抽象的协议端口
  6. 硬件端口
    路由器或交换机上的端口
  7. 运输层端口用一个16位端口号进行标识
  8. 两大类端口号
    • 服务器端
      • 熟知端口(0~1023)
      • 登记端口(1024~49151)
    • 客户端(49152~65535)
  9. TCP将连接作为最基本的抽象
    TCP的端点是套接字
  10. 可靠传输
    • 停止-等待
    • 自动重传ARQ
  11. 流量控制
    • 可变滑动窗口
  12. 拥塞控制
    • 开环拥塞控制
      设计网络时就考虑一切因素,避免拥塞
    • 闭环拥塞控制(反馈环路)
      • 监测网络系统以便检测拥塞何时发生、何处发生
      • 将拥塞信息传送到可采取行动的地方
      • 调整网络系统的运行以解决出现的问题
  13. 检测拥塞的指标
    • 缺少缓存空间而被丢弃的分组百分数
    • 平均队列长度
    • 超时重传分组数
    • 平均分组时延
    • 分组时延标准差
  14. TCP的拥塞控制
    • TCP发送方维持一个拥塞窗口CWND
    • 拥塞窗口的大小取决于网络拥塞程度,动态变化
    • 发送端利用拥塞窗口根据网络拥塞情况调整发送数据量
  15. TCP拥塞控制算法
    • 慢开始(由小到大增加拥塞窗口的值)
    • 拥塞避免(拥塞窗口缓慢增大)
    • 快重传(尽早知道报文丢失)
    • 快恢复(收到三个重复确认后,停止慢开始,执行快恢复)
  16. TCP连接管理
    • 连接建立(三次握手)
    • 连接释放(四次握手)

注意

  1. 运输层是面向通信的最高层面向用户的最低层
  2. 只有网络边缘的主机才有运输层协议栈,网络核心的路由器只有下三层
  3. 运输层向高层用户屏蔽了网络核心的细节(网络拓扑、路由选择等)
  4. UDP在IP的数据报服务上增加了的功能
    • 复用和分用功能
    • 差错检测功能
  5. UDP特点
    • 无连接
    • 尽最大努力交付
    • 面向报文
    • 无拥塞控制
    • 支持一对一、一对多、多对一、多对多的交互通信
    • 首部开销小
  6. TCP特点
    • 面向连接
    • 每一条TCP连接只有两个端点,即只能点对点(一对一)
    • 可靠交付
    • 全双工通信
    • 面向字节流(不保证接受方收到的数据块和发送方发送的数据块大小对应,但字节流完全一样)
  7. TCP首部最小20字节
  8. 拥塞控制和流量控制区别
    • 拥塞控制
      • 防止过多数据注入到网络中,使网络中的路由器或链路不至过载
      • 拥塞控制前提,网络能够承受现有的网络负荷
      • 拥塞控制是一个全局性的过程,涉及所有主机、路由器,以及降低网络传输性能有关的所有因素
    • 流量控制
      • 点对点通信量的控制,是个端到端的问题
      • 抑制发送端速率以便接受端能够接收