计算机网络第5章知识点——运输层

知识点对应教材为《计算机网络(第7版)》,电子工业出版社

目录

  • 第1章 概述
    • 三大网络
    • 计算机网络和互联网
    • 互联网基本特点
    • 互联网发展的阶段
    • 互联网的组成
    • 计算机网络的类别
    • 计算机网络指标
    • 网络协议
    • 服务
    • 实体
    • 计算机体系结构
  • 第3章 数据链路层
    • 数据链路层的简单模型
    • 数据链路层使用的信道类型
    • 使用点对点信道的数据链路层
    • 点对点协议 PPP
    • 使用广播信道的数据链路层
  • 第4章 网络层
    • 网络层提供的两种服务
    • 网际协议 IP
    • 中间设备
    • IP 地址
    • 地址解析协议 ARP
    • IP 数据报
    • 子网划分
    • 无分类域间路由选择 CIDR
    • 网际控制报文协议 ICMP
    • 互联网路由选择协议
    • 路由器
    • IPv6
    • IP 多播
    • 虚拟专用网 VPN
    • 网络地址转换 NAT
    • 多协议标记交换 MPLS
  • 第5章 运输层
    • 运输层协议概述
    • 用户数据报协议 UDP
    • 传输控制协议 TCP
    • 可靠传输的工作原理
    • TCP 报文段
    • TCP 可靠传输的实现
    • TCP 的流量控制
    • TCP 的拥塞控制
    • TCP 的运输连接管理

运输层协议概述

运输层作用

计算机网络第5章知识点——运输层_第1张图片

网络层与运输层

网络层是为主机之间提供逻辑通信,
而运输层为应用进程之间提供端到端的逻辑通信。

计算机网络第5章知识点——运输层_第2张图片

运输层功能

  • 复用(multiplexing)
  • 分用 (demultiplexing)

计算机网络第5章知识点——运输层_第3张图片

运输层协议

  • 无连接的 用户数据报协议 UDP (User Datagram Protocol)

  • 面向连接的 传输控制协议 TCP (Transmission Control
    Protocol)

计算机网络第5章知识点——运输层_第4张图片

用户数据报协议 UDP

提供无连接服务不提供可靠交付

在传送数据之前不需要先建立连接。

传送的数据单位协议UDP 报文用户数据报

对方的运输层在收到 UDP 报文后,不需要给出任何确认。

传输控制协议 TCP

TCP 提供可靠的面向连接的运输服务。

TCP 不提供广播或多播服务。

传送的数据单位协议TCP 报文段 (segment)

运输层端口

端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程

端口类别
  • 服务器端使用的端口号
    • 熟知端口,数值一般为 0~1023
    • 登记端口号,数值为 1024~49151
  • 客户端使用的端口号
    • 短暂端口号,数值为 49152~65535

计算机网络第5章知识点——运输层_第5张图片

用户数据报协议 UDP

  • UDP 是无连接的
  • UDP 使用尽最大努力交付
  • UDP 是面向报文的
  • UDP 没有拥塞控制
  • UDP 支持一对一、一对多、多对一和多对多的交互通信
  • UDP 的首部开销小
  • UDP协议适合对传输协议的可靠性要求不高需要传送的数据不多使用频率不高,或者对实时性要求较高的应用。

计算机网络第5章知识点——运输层_第6张图片
计算机网络第5章知识点——运输层_第7张图片

传输控制协议 TCP

  • TCP 是面向连接的运输层协议。

  • 每一条 TCP 连接只能有两个端点 (endpoint),每一条TCP 连接只能是点对点的(一对一)。

  • TCP 提供可靠交付的服务

  • TCP 提供全双工通信

  • TCP 面向字节流

计算机网络第5章知识点——运输层_第8张图片

TCP 根据对方给出的窗口值当前网络拥塞的程度来决定一个报文段应包含多少个字节。

TCP 连接的端点叫做套接字 (socket)插口,端口号拼接到 (contatenated with) IP 地址即构成了套接字。

计算机网络第5章知识点——运输层_第9张图片

可靠传输的工作原理

停止等待协议

无差错情况

发送方发送完毕后暂停发送直至收到确认,在收到确认后再发送下一个分组。

计算机网络第5章知识点——运输层_第10张图片

出现差错

发送方超时重传

计算机网络第5章知识点——运输层_第11张图片

确认丢失

发送方超时重传

确认迟到

接收方丢弃重复分组再发送一个确认

自动重传请求 ARQ

自动重传请求 ARQ (Automatic Repeat reQuest),使用确认和重传机制,就可以在不可靠的传输网络上实现可靠的通信

信道利用率

往返时间 RTT 远大于分组发送时间 T D T_{D} TD 时,信道的利用率就会非常低

计算机网络第5章知识点——运输层_第12张图片

连续 ARQ 协议

发送方维持发送窗口,发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。

计算机网络第5章知识点——运输层_第13张图片

流水线传输

流水线传输就是发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认,从而提高信道利用率

计算机网络第5章知识点——运输层_第14张图片

累积确认

接收方一般采用累积确认的方式。即不必对收到的分组逐个发送确认,而是对按序到达的最后一个分组发送确认。

Go-back-N(回退 N)

遇到某个分组丢失的情况,需要再退回来重传已发送过的 N 个分组。

TCP 可靠通信的具体实现

TCP 连接的每一端都必须设有两个窗口——一 个发送窗口和一个接收窗口

TCP 的可靠传输机制用字节的序号进行控制。TCP 所有的确认都是基于序号不是基于报文段

TCP 报文段

格式

计算机网络第5章知识点——运输层_第15张图片

连接

  • TCP的每条连接都有发送序号确认号
  • 序号字段是期望收到对方的下一个报文段的数据的第一个字节的序号。
  • 确认号字段是期望收到对方的下一个报文段的数据的第一个字节的序号。
  • TCP 连接的一端根据缓存空间大小确定自己的窗口大小,利用窗口字段控制对方发送的数据量

TCP 可靠传输的实现

以字节为单位的滑动窗口

TCP 的滑动窗口是以字节为单位的。

TCP连接的一端根据另一端给出的窗口值构造自己的发送窗口

TCP连接的一端可以连续把发送窗口内的数据都发送出去,而不需要等待对方的确认

收到新的确认号,发送窗口向前滑动。

  • 发送缓存用来暂时存放
    • 发送应用程序传送给发送方 TCP 准备发送的数据;
    • TCP 已发送出但尚未收到确认的数据。
  • 接收缓存用来暂时存放
    • 按序到达的、但尚未被接收应用程序读取的数据;
    • 不按序到达的数据。

计算机网络第5章知识点——运输层_第16张图片
计算机网络第5章知识点——运输层_第17张图片

超时重传时间的选择

计算机网络第5章知识点——运输层_第18张图片

TCP 采用了一种自适应算法,记录报文段的往返时间 RTT

加权平均往返时间 R T T S RTT_{S} RTTS

TCP 保留了 RTT 的一个加权平均往返时间 R T T S ​ ∗ ∗ RTT_{S}​** RTTS(这又称为平滑的往返时间**)。

计算机网络第5章知识点——运输层_第19张图片

超时重传时间 RTO

RTO (Retransmission Time-Out) 应略大于上面得出的加权平均往返时间 R T T S RTT_{S} RTTS

在这里插入图片描述

R T T D RTT_{D} RTTD 是 RTT 的偏差的加权平均值

在这里插入图片描述

Karn 算法

计算机网络第5章知识点——运输层_第20张图片

选择确认 SACK

选择确认 SACK (Selective ACK),接收方收到了和前面的字节流不连续的两个字节块。接收方就先收下这些数据。

TCP 的流量控制

**流量控制 (flow control)**就是让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞。

TCP利用滑动窗口机制实现流量控制

TCP 为每一个连接设有一个持续计时器 (persistence timer) ,用于解决互相等待的死锁的问题。

TCP 的拥塞控制

拥塞原因:Σ 对资源需求 > 可用资源

拥塞控制:防止过多的数据注入到网络中,使网络中的路由器或链路不致过载,

拥塞控制与流量控制

  • 拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。
  • 流量控制往往指点对点通信量的控制,是个端到端的问题(接收端控制发送端)。

计算机网络第5章知识点——运输层_第21张图片

拥塞控制方法

TCP 采用基于窗口的方法进行拥塞控制。该方法属于闭环控制方法。

TCP发送方维持一个拥塞窗口 CWND (Congestion Window)

  • 拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化
  • 发送端利用拥塞窗口根据网络的拥塞情况调整发送的数据量

在这里插入图片描述

拥塞判断
  • 重传定时器超时
  • 收到三个相同(重复)的 ACK
TCP 拥塞控制算法
  • 慢开始 (slow-start)
  • 拥塞避免 (congestion avoidance)
  • 快重传 (fast retransmit)
  • 快恢复 (fast recovery)
慢开始

在慢开始阶段,拥塞窗口按指数规律增长

在每收到一个对新的报文段的确认后,可以把拥塞窗口增加最多一个 SMSS 的数值。

使用慢开始算法后,每经过一个传输轮次 (transmission round),拥塞窗口 cwnd 就加倍。一个传输轮次所经历的时间其实就是往返时间 RTT。

在这里插入图片描述
计算机网络第5章知识点——运输层_第22张图片

拥塞避免

在拥塞避免阶段,拥塞窗口按线性规律增长

让拥塞窗口 cwnd 缓慢地增大,即每经过一个往返时间 RTT 就把发送方的拥塞窗口cwnd 加 1,而不是加倍,使拥塞窗口 cwnd 按线性规律缓慢增长。

有**“加法增大”(Additive Increase)** 的特点。

计算机网络第5章知识点——运输层_第23张图片

快重传

快重传FR (Fast Retransmission) 算法可以让发送方尽早知道发生了个别报文段的丢失。

快重传算法首先要求接收方不要等待自己发送数据时才进行捎带确认,而是要立即发送确认,即使收到了失序的报文段也要立即发出对已收到的报文段的重复确认。

发送方只要一连收到三个重复确认,就知道接收方确实没有收到报文段,因而应当立即进行重传(即“快重传”)。

计算机网络第5章知识点——运输层_第24张图片

快恢复

快恢复算法FR (Fast Recovery) 算法。

把门限值设置为当前拥塞窗口值的一半,并大大减小拥塞窗口的数值。即**“乘法减小”MD (Multiplicative Decrease)。**

计算机网络第5章知识点——运输层_第25张图片

主动队列管理 AQM

路由器的队列通常都是按照**“先进先出”FIFO (First In First Out)** 的规则处理到来的分组

当队列已满时,采用尾部丢弃策略 (tail-drop policy)

全局同步 (global syncronization):许多 TCP 连接在同一时间突然都进入到同一状态(如慢开始状态)

随机早期检测 RED

计算机网络第5章知识点——运输层_第26张图片
计算机网络第5章知识点——运输层_第27张图片

TCP 的运输连接管理

运输连接的管理就是使运输连接的建立和释放都能正常地进行。

运输连接阶段

  • 连接建立
  • 数据传送
  • 连接释放

客户服务器方式

主动发起连接建立的应用进程叫做客户 (client)

被动等待连接建立的应用进程叫做服务器 (server)

连接建立

TCP 建立连接的过程叫做握手

握手需要在客户和服务器之间交换三个 TCP 报文段。称之为三报文握手

采用三报文握手主要是为了防止已失效的连接请求报文段突然又传送到了,因而产生错误。

计算机网络第5章知识点——运输层_第28张图片

连接释放

TCP 连接释放过程是四报文握手

计算机网络第5章知识点——运输层_第29张图片

TCP 有限状态机

粗实线箭头表示对客户进程的正常变迁。
粗虚线箭头表示对服务器进程的正常变迁。
细线箭头表示异常变迁。

计算机网络第5章知识点——运输层_第30张图片

你可能感兴趣的:(互联网,计算机网络,网络,1024程序员节)