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。

最新文章

  1. stanford corenlp自定义切词类
  2. scanf、printf、gets、puts的应用及区别
  3. C#如何在DataGridViewCell中自定义脚本编辑器
  4. Mat 转 IplImage
  5. JAVA 数组算法(复制、查找、插入)
  6. javascript 传递引用类型参数
  7. lightoj 1104 Birthday Paradox
  8. [翻译]怎么写一个React组件库(二)
  9. 拦截请求并记录相应信息-springboot
  10. 精进之路之CAS
  11. Linux下查看某个进程打开的文件数-losf工具常用参数介绍
  12. Unity 如何检测鼠标双击事件
  13. Linux下性能调试工具运维笔记
  14. linux下expect环境安装以及简单脚本测试
  15. java编程感悟01
  16. What is the difference between WinRT, UWP and WPF?
  17. C站投稿映兔源的方法
  18. php打印负载函数、Linux awk打印负载
  19. C#-集合及特殊集合——★★哈希表集合★★
  20. svchost.exe占网速的解决办法

热门文章

  1. less.js
  2. Codeforces Round #364 (Div. 1)B. Connecting Universities
  3. shiro权限笔记
  4. Spring Context及ApplicationContext
  5. Phonetic Symbols:2个半元音:[w] ,[j]
  6. Nginx-rtmp直播之业务流程分析 http://www.mamicode.com/info-detail-2287896.html
  7. IO流入门-第十章-DataInputStream_DataOutputStream
  8. IO流入门-第一章-FileInputStream
  9. xml与java对象转换 -- XStreamAlias
  10. vc判断当前用户是否具有administrator 权限代码