TCP的滑动窗口
2024-10-21 04:04:21
TCP发送方的窗口可以划分成四个部分:
1、已经发送并且确认的TCP段;
2、已经发送但是没有确认的TCP段;
3、未发送但是接收方准备接收的TCP段,
4、未发送并且接收方也为准备接受的TCP段。
第3部分是可用窗口,长度为snd_una + snd_wnd - snd_nxt。
第2部分和第3部分合并起来,成为发送窗口,简称窗口。
发送窗口的左边界是snd_una,右边界是snd_una + snd_wnd 。
同理,TCP接受方的窗口可以划分成四个部分:
1、已经接收并且已经确认的TCP段;
2、已经接收但是没有确认的TCP段;
2、还未接收但是发送方已经发送的TCP段;
3、还未接收但是发送也不允许发送的TCP段。
第1部分和第2部分合并在一起,因为没有区别(???)。
接收窗口的左边界是rcv_nxt,右边界是rcv_nxt + rcv_wnd。
接收窗口rcv_wnd会通过TCP首部的window字段传递给对方。
在一个TCP连接中,一方的rcv_wnd等于另一方的snd_wnd。
如果一定要严格分成四部分的话,大致这么划分:
窗口左边界是rcv_wup,右边界是rcv_wup + rcv_wnd。
第3部分是 rcv_wup + rcv_wnd - rcv_nxt。
最新文章
- stanford corenlp自定义切词类
- scanf、printf、gets、puts的应用及区别
- C#如何在DataGridViewCell中自定义脚本编辑器
- Mat 转 IplImage
- JAVA 数组算法(复制、查找、插入)
- javascript 传递引用类型参数
- lightoj 1104 Birthday Paradox
- [翻译]怎么写一个React组件库(二)
- 拦截请求并记录相应信息-springboot
- 精进之路之CAS
- Linux下查看某个进程打开的文件数-losf工具常用参数介绍
- Unity 如何检测鼠标双击事件
- Linux下性能调试工具运维笔记
- linux下expect环境安装以及简单脚本测试
- java编程感悟01
- What is the difference between WinRT, UWP and WPF?
- C站投稿映兔源的方法
- php打印负载函数、Linux awk打印负载
- C#-集合及特殊集合——★★哈希表集合★★
- svchost.exe占网速的解决办法
热门文章
- less.js
- Codeforces Round #364 (Div. 1)B. Connecting Universities
- shiro权限笔记
- Spring Context及ApplicationContext
- Phonetic Symbols:2个半元音:[w] ,[j]
- Nginx-rtmp直播之业务流程分析 http://www.mamicode.com/info-detail-2287896.html
- IO流入门-第十章-DataInputStream_DataOutputStream
- IO流入门-第一章-FileInputStream
- xml与java对象转换 -- XStreamAlias
- vc判断当前用户是否具有administrator 权限代码