发送缓存与接收缓存的作用 发送缓存用来暂时存放: ·发送应用程序传送给发送方TCP准备发送的数据; ·TCP已发送出但尚未收到确认的数据。 ·接收缓存用来暂时存放: ● 按序到达的、但尚未被接收应用程序读取的数据; 。 不按序到达的数据。 运输层(1) 12
发送缓存与接收缓存的作用 • 发送缓存用来暂时存放: • 发送应用程序传送给发送方 TCP 准备发送的数据; • TCP 已发送出但尚未收到确认的数据。 • 接收缓存用来暂时存放: • 按序到达的、但尚未被接收应用程序读取的数据; • 不按序到达的数据。 运输层(1) 12
需要强调三点 ·第一,A的发送窗口并不总是和B的接收窗口 一样大(因为有一定的时间滞后)。 ·第二,TCP标准没有规定对不按序到达的数据 应如何处理。通常是先临时存放在接收窗口中 等到字节流中所缺少的字节收到后,再按序交付 上层的应用进程 第三,TCP要求接收方必须有累积确认的功能, 这样可以减小传输开销。 运输层(1) 13
需要强调三点 • 第一,A 的发送窗口并不总是和 B 的接收窗口 一样大(因为有一定的时间滞后)。 • 第二,TCP 标准没有规定对不按序到达的数据 应如何处理。通常是先临时存放在接收窗口中, 等到字节流中所缺少的字节收到后,再按序交付 上层的应用进程。 • 第三,TCP 要求接收方必须有累积确认的功能, 这样可以减小传输开销。 运输层(1) 13
接收方发送确认 ·接收方可以在合适的时候发送确认,也可以在自 己有数据要发送时把确认信息顺便捎带上。 ·但请注意两点: 第一,接收方不应过分推迟发送确认,否则会导致发 送方不必要的重传,这反而浪费了网络的资源。。 0 第二,捎带确认实际上并不经常发生,因为大多数应 用程序很少同时在两个方向上发送数据。 运输层(1) 14
接收方发送确认 • 接收方可以在合适的时候发送确认,也可以在自 己有数据要发送时把确认信息顺便捎带上。 • 但请注意两点: • 第一,接收方不应过分推迟发送确认,否则会导致发 送方不必要的重传,这反而浪费了网络的资源。。 • 第二,捎带确认实际上并不经常发生,因为大多数应 用程序很少同时在两个方向上发送数据。 运输层(1) 14
5.6.2超时重传时间的选择 ·重传机制是TCP中最重要和最复杂的问题之一。 ·TCP每发送一个报文段,就对这个报文段设置 一次计时器。 只要计时器设置的重传时间到但还没有收到确认, 就要重传这一报文段。 ·重传时间的选择是TCP最复杂的问题之一。 运输层(1) 15
5.6.2 超时重传时间的选择 • 重传机制是 TCP 中最重要和最复杂的问题之一。 • TCP 每发送一个报文段,就对这个报文段设置 一次计时器。 • 只要计时器设置的重传时间到但还没有收到确认, 就要重传这一报文段。 • 重传时间的选择是 TCP 最复杂的问题之一。 运输层(1) 15
往返时延的方差很大 由于TCP的下层是一个互联网环境,P数据报所选择 的路由变化很大。因而运输层的往返时间(RTT)的方 差也很大。 往返时间的 概率分布 数据链路层 运输层 时间 T2 T3 运输层(1) 16
往返时延的方差很大 时间 数据链路层 运输层 T1 T2 T3 往返时间的 概率分布 由于 TCP 的下层是一个互联网环境,IP 数据报所选择 的路由变化很大。因而运输层的往返时间 (RTT) 的方 差也很大。 运输层(1) 16