《网络是怎样连接的》2.3节图表(自用)

图4.1:TCP拆分数据与ACK号

图4.2:连接阶段与通信阶段ACK号与序号的交互过程

首先,客户端在连接时需要计算出与从客户端到服务器方向通信相关的序号初始值,并将这个值发送给服务器(①)。

接下来,服务器会通过这个初始值计算出ACK号并返回给客户端(②)。这是因为初始值有可能在通信过程中丢失,因此当服务器收到初始值后需要返回ACK号作为确认

同时,服务器也需要计算出与从服务器到客户端方向通信相关的序号初始值,并将这个值发送给客户端(②)。

一样的,客户端也需要根据服务器发来的初始值计算出ACK号并返回给服务器(③)。

到这里,序号和ACK号都已经准备完成了,接下来就可以进入数据收发阶段了。数据收发操作本身是可以双向同时进行的。在Web中是先由客户端向服务器发送请求,序号也会跟随数据一起发送(④)。然后,服务器收到数据后再返回ACK号(⑤)。从服务器向客户端发送数据的过程则正好相反(⑥⑦)。

图4.3:滑动窗口发送方式

所谓滑动窗口,就是在发送一个包之后,不等待ACK号返回,直接发送后续的一系列包。这样等待ACK号的时间就被有效利用起来了。

图4.4:接收缓冲区与窗口

图中 接收方 发送给 发送方 的虚线剩余空间大小就是窗口,写在接收方发给发送方的TCP头部窗口字段中。

当然,因为数据收发是双向的,上述的过程也是双向的。

相关推荐
兔兔爱学习兔兔爱学习3 小时前
Spring Al学习7:ImageModel
java·学习·spring
李子红了时4 小时前
【墨铺网教程】一台电脑加入多个局域网,让电脑做上传下载主力又当存储盘
运维·服务器·电脑
Black蜡笔小新5 小时前
赋能智慧货运:视频汇聚平台EasyCVR打造货运汽车安全互联网视频监控与管理方案
网络·汽车·音视频
Awkwardx5 小时前
Linux系统编程—线程同步与互斥
linux·服务器
江苏世纪龙科技6 小时前
新能源汽车动力系统拆装与检测实训MR软件介绍-比亚迪秦EV标准版
学习
im_AMBER6 小时前
数据结构 09 二叉树作业
数据结构·笔记·学习
鹿鸣天涯7 小时前
关于进一步做好网络安全等级保护有关工作的问题释疑-【二级以上系统重新备案】、【备案证明有效期三年】
网络·安全·web安全
周杰伦_Jay7 小时前
【网络核心协议全景解析】IP、TCP、UDP与HTTP(多表格深度对比)
网络·tcp/ip·udp
duration~8 小时前
TCP 首部格式
网络·网络协议·tcp/ip
www.028 小时前
linux服务器升级显卡驱动(笔记)
linux·运维·服务器·笔记·ubuntu·服务器环境