0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通俗地讲解TCP的固定窗口和滑动窗口

如意 ? 来源:厦门微思网络 ? 作者:小微 ? 2020-08-13 09:56 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

固定窗口

TCP 还提供了流量控制机制。 流量控制可以调整给定会话中源和目的之间的数据流速,有助于保持 TCP 传输的可靠性。 流量控制的实施方法包括限制一次可以转发的数据段数量,并要求在发送更多数据段之前确认接收。

要实施流量控制,TCP 要确定的第一件事是目的设备可以接受的数据段数量。 TCP 报头包括一个称为“窗口大小”的 16 位字段。 这是 TCP 会话的目的设备一次可以接受和处理的字节数。 通过源和目标之间的三次握手,会话开始时即可确定初始窗口大小。 一旦同意,源设备必须根据窗口大小限制发送到目的设备的数据段数量。 只有源设备收到数据段已接收的确认之后,才能继续发送更多会话数据。

在接收确认的延迟过程中,发送方不会发送任何额外数据段。 如果网络拥堵,或者接收主机资源紧张,延迟时间可能就更长。 延迟时间越长,该会话过程的有效传输速率越低, 当运行多个会话时,减缓每个会话的数据传输有助于减少网络和目的设备上的资源冲突。

通俗地讲解TCP的固定窗口和滑动窗口

请参看上图中对窗口大小和确认消息的简易展示。 在本例中,TCP 会话的初始窗口大小为 3000 字节。 此会话的发送方在传输 3000 字节后等待这些数据的确认消息,以便继续传输更多数据段。 一旦发送方收到接收方发送的确认消息,它就可以传输另外 3000 字节的数据段。

TCP 使用窗口大小尝试管理传输速率,将其调整为网络和目的设备可以支持的最大速度,同时最大限度减少损失和重新传输。

TCP滑动窗口

我们也可以通过动态窗口大小来控制数据流量。 当网络资源受到限制时,TCP 可以减小窗口的大小,这样,目的主机就需要更加频繁地确认所接收的数据段。 由于源主机需要更加频繁地等待数据确认,这便可以大大降低传输的速率。

接收主机将窗口大小值发送到发送主机,表示其准备接收的字节数。 如果目的主机由于缓冲内存受限需要降低通信速率,那么它向源主机发送的确认信息中可以包含一个较小的窗口大小值。

通俗地讲解TCP的固定窗口和滑动窗口

如图所示,如果接收主机发生拥堵,它可以向发送主机发送指定了较小窗口大小的数据段。 图中显示,其中一个数据段丢失了。 接收方将返回数据段的 TCP 报头中的窗口字段值由 3,000 减为 1,500,即将窗口大小改为 1,500。

在没有数据丢失或资源限制的情况下传输一段时间后,接收方开始增加窗口字段,这样可以减少网络开销,因为必须发送的确认减少。 窗口大小持续增加,直至出现数据丢失,然后窗口大小随之减少。

窗口大小的这种动态增减是 TCP 中的一个持续不断的过程。 在高效网络中,由于不丢失数据,窗口可能会相当大。 在基层基础设施面临压力的网络中,窗口可能会很小。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据传输
    +关注

    关注

    9

    文章

    2031

    浏览量

    66299
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1410

    浏览量

    81610
  • 流量控制
    +关注

    关注

    0

    文章

    28

    浏览量

    9833
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    德州仪器TPS3436-Q1汽车级窗口看门狗定时器技术解析

    Texas Instruments TPS3436-Q1精密窗口看门狗定时器是一款超低功耗(250nA典型值)器件,提供可编程窗口看门狗定时器。TPS3436-Q1可提供具有多种功能的高精度超时
    的头像 发表于 08-18 14:54 ?62次阅读
    德州仪器TPS3436-Q1汽车级<b class='flag-5'>窗口</b>看门狗定时器技术解析

    技术干货 | AD/DA动态分析中的信号窗口处理技术

    前一章详解了TX7006上的线性计算,AD/DA动态分析中的傅里叶变换和动态参数计算。本期文章将为大家继续介绍AD/DA动态分析中的信号窗口
    的头像 发表于 07-03 13:39 ?594次阅读
    技术干货 | AD/DA动态分析中的信号<b class='flag-5'>窗口</b>处理技术

    HarmonyOS实战:实现任意拖动的应用悬浮窗口

    为了增加应用程序功能的丰富性和便利性,很多应用都会提供一个悬浮窗口实现多页面显示。特别是一些性能检测工具,比如 dokit 。在鸿蒙上怎么实现类似的全局悬浮窗口呢?阅读完本篇文章你将学会在鸿蒙上如何实现这一功能。
    的头像 发表于 06-24 17:04 ?834次阅读

    第二十四章 WWDG——窗口看门狗

    W55MH32的窗口看门狗是7位递减计数器,有上下窗口值,时钟来自PCLK1用于监测软件故障,代码演示了其配置、中断测试与复位测试。
    的头像 发表于 06-20 14:00 ?695次阅读
    第二十四章 WWDG——<b class='flag-5'>窗口</b>看门狗

    TCP协议的性能测试与评估方法

    的、基于字节流的传输层通信协议。它通过三次握手建立连接,使用序列号和确认应答机制保证数据的有序传输,并通过滑动窗口机制控制数据流量,以避免网络拥塞。 性能测试指标 吞吐量(Throughput) :衡量单位时间内成功传输的数据量,通常以Mbps或
    的头像 发表于 01-22 10:03 ?1719次阅读

    如何优化TCP协议的性能

    优化TCP协议的性能可以从多个方面入手,以下是一些关键的策略和方法: 一、调整TCP参数 TCP窗口大小 : 重要性 :TCP
    的头像 发表于 01-22 09:52 ?1075次阅读

    TCP-UART数据透传技术,居然如此简单!

    连接的、可靠的、基于字节流的传输层通信协议。它主要用于在不可靠的网络环境中提供稳定的数据传输服务,确保数据能够按照顺序、无错误地到达接收端。 TCP通过三次握手建立连接,使用滑动窗口进行流量控制,以及通过校验和确认应答、超时重传
    的头像 发表于 12-30 16:46 ?734次阅读
    <b class='flag-5'>TCP</b>-UART数据透传技术,居然如此简单!

    TCP-UART透传示例~看完就会源码开放!

    连接的、可靠的、基于字节流的传输层通信协议。它主要用于在不可靠的网络环境中提供稳定的数据传输服务,确保数据能够按照顺序、无错误地到达接收端。 TCP通过三次握手建立连接,使用滑动窗口进行流量控制,以及通过校验和确认应答、超时重传
    的头像 发表于 12-30 16:43 ?685次阅读
    <b class='flag-5'>TCP</b>-UART透传示例~看完就会源码开放!

    滑动变阻器的工作原理 滑动变阻器与固定电阻器的区别

    (通常是碳膜或线绕电阻)、一个滑动触点(滑块或滑片)和一个固定端子组成。电阻体通常绕在一个绝缘轴上,滑动触点可以在电阻体上移动。 电阻变化 :当滑动触点沿着电阻体移动时,它与电阻体之间
    的头像 发表于 11-25 15:00 ?5626次阅读

    Air780E之TCP应用,你了解吗?

    的数据传输服务,确保数据能够按照顺序、无错误地到达接收端。TCP通过三次握手建立连接,使用滑动窗口进行流量控制,以及通过校验和、确认应答、超时重传等机制来保证数据的可靠性。它是互联网协议套件(
    的头像 发表于 11-04 14:30 ?738次阅读
    Air780E之<b class='flag-5'>TCP</b>应用,你了解吗?

    使用SNRBoost 3G技术的窗口

    电子发烧友网站提供《使用SNRBoost 3G技术的窗口.pdf》资料免费下载
    发表于 10-18 09:44 ?0次下载
    使用SNRBoost 3G技术的<b class='flag-5'>窗口</b>

    控制台窗口主机是什么

    控制台窗口主机(conhost),通常指的是在Windows操作系统中用于承载和控制控制台窗口(即命令行界面或CMD窗口)的进程。以下是对控制台窗口主机的介绍: 一、定义与功能 定义
    的头像 发表于 10-08 18:12 ?6643次阅读

    针对DLP DMD窗口的波长透射率考虑因素

    电子发烧友网站提供《针对DLP DMD窗口的波长透射率考虑因素.pdf》资料免费下载
    发表于 09-26 09:13 ?1次下载
    针对DLP DMD<b class='flag-5'>窗口</b>的波长透射率考虑因素

    航天级100krad窗口比较器电路

    电子发烧友网站提供《航天级100krad窗口比较器电路.pdf》资料免费下载
    发表于 09-20 10:34 ?2次下载
    航天级100krad<b class='flag-5'>窗口</b>比较器电路

    基于ArkTS语言的OpenHarmony APP应用开发:窗口管理

    1、程序介绍 本示例展示了在应用主窗口中创建和拉起子窗口,以及窗口跳转等功能。 本案例已在OpenHarmony凌蒙派-RK3568开发板验证通过,具体代码可参考:https://gitee.com
    发表于 09-18 15:29