TCP/IP滑动窗口详解编程语言
2023-06-13 09:20:38 时间
T C P使用一种窗口(w i n d o w)机制来控制数据流。当一个连接建立时,连接的每一端分配一个缓冲区来保存输入的数据,并将缓冲区的尺寸发送给另一端。当数据到达时,接收方发送确认,其中包含了自己剩余的缓冲区尺寸。剩余的缓冲区空间的大小被称为窗口( w i n d o w) ,指出窗口大小的通知称为窗口通告(window advertisement) 。接收方在发送的每一确认中都含有一个窗口通告。
如果接收方应用程序读数据的速度能够与数据到达的速度一样快,接收方将在每一确认中发送一个正的窗口通告。然而,如果发送方操作的速度快于接收方(由于C P U更快) ,接收到的数据最终将充满接收方的缓冲区,导致接收方通告一个零窗口( zero window) 。发送方收到一个零窗口通告时,必须停止发送,直到接收方重新通告一个正的窗口。
TCP的特点之一是提供体积可变的滑动窗口机制,支持端到端的流量控制。TCP的窗口以字节为单位进行调整,以适应接收方的处理能力。处理过程如下:
(1)TCP连接阶段,双方协商窗口尺寸,同时接收方预留数据缓存区;
(2)发送方根据协商的结果,发送符合窗口尺寸的数据字节流,并等待对方的确认;
(3)发送方根据确认信息,改变窗口的尺寸,增加或者减少发送未得到确认的字节流中的字节数。调整过程包括:如果出现发送拥塞,发送窗口缩小为原来的一半,同时将超时重传的时间间隔扩大一倍。
TCP的窗口机制和确认保证了数据传输的可靠性和流量控制。
TCP/IP中滑动窗口的意义
1.在不可靠链路上可靠地传输帧(核心功能) 2.用于保持帧的传输顺序 3.它有时支持流量控制,这是一种接收方能够控制发送方的一种反馈机制
13079.html
c相关文章
- TCP/IP协议详解 卷1 Traceroute程序[通俗易懂]
- Socker编程之TCP
- 28 张图,一次性说清楚 TCP
- 第三章 TCP/IP ip地址概念与应用
- OSI 七层模型和TCP/IP模型及对应协议(详解)
- 深入浅出TCP三次握手 (多图详解)[通俗易懂]
- [NetWork] TCP/IP 四层模型概述
- TCP聊天服务器套接字|PyQt5+socket(TCP端口映射+端口放行)+logging+Thread(含日志,html)+anaconda打包32位exe(3.4万字)|python高阶
- 【计算机网络】传输层 : TCP 可靠传输 ( 可靠传输机制 | 快速重传机制 )
- ORA-30691: failed to allocate system resources while registering a TCP/IP connection for data traffic detection ORACLE 报错 故障修复 远程处理
- MySQL Error number: MY-010252; Symbol: ER_CONN_TCP_ADDRESS; SQLSTATE: HY000 报错 故障修复 远程处理
- 改变虚拟机Linux中的IP更改(虚拟机linux的ip)
- /ipOracle数据库系统的TCP/IP连接指南(oracletcp)
- 访问如何限制 Linux 主机上的IP访问(linux限制ip)
- 端口Linux下监控TCP端口实战指南(linux监听tcp)
- 连不上Oracle本机IP连接失败(oracle本机ip)
- “学会使用 Linux 命令,轻松管理 IP 地址”(linux命令ip)
- 实现网络安全:Linux使用封 IP功能提高网络防御性能(linux封ip)
- MSSQL远程访问:TCP端口号码确定(mssql端口 tcp)
- 如何更改redis的连接IP(更改redis的连接ip)
- Oracle主机改IP实现简单迅速的操作(oracle主机改ip)
- 基于TCP与Redis的认证机制(tcp_redis认证)
- Redis投票IP限制及其必要性(redis 限制投票ip)
- 使用Redis记录可信任IP连接信息(redis记录连接ip)