最后更新:2022-04-16 10:55
一、TCP基础知识
TCP是一种以字节为基础的联系通信议定书。
TCP通过确认方法、按需转播和滑动窗口保持传输可靠性。
二、3次握手 -- -- 钓鱼
1. Clitend将发出连接请求。
2. 收到连接请求后,服务器即响应 " ACK " 提交文件,并为连接划拨资源。
收到 " ACK " 信息后, " ACK " 信息同样被转发到服务器端,并分配了资源。
简言之,三个握手履行两项关键职能:一、双方愿意交换数据;二、双方同意开始序列号。
三. 依赖性传输-确认机制、随时间的再传输、幻灯片窗口
1、TCP消息头

(1) 目的港口和源港口:TCP应用软件,允许双方按其来源港口和目的地港口查明其来源港口和目的地港口。
(2) 序号:当终端启动 TCP 会话时,生成序列号。他的序列号一开始会变成随机的ISNISN+提供的数据的抵消值与TCP提交材料的序列号相同。例如,如果TCP报告员提供数据1025-2048,序号为ISN+1025。
确认编号:另一方对TCP提交材料的答复(确认的一揽子)的价值是收到的TCP提交材料的序号+1。假设主机A和主机B使用TCP进行通信,因此,A广播了TCP文本,不仅有自己的序列号,而且还有自己的序列号。它还包括B发送的TCP文本电文的确认号。反之,还包括B提供的TCP部分的序号,以及A段发送的确认号。
第一部长:TCP头部有多少四个字节?四个人最多能给TCP头部打15个字节,或最多60个字节。
标志位:
*URG:紧急指针(紧急指针)正确。
*ACK:序列号于1时生效。
PSH:该电文应尽快由接收方于下午1时送达申请一级。
RST:对面一方必须在下午1时前重建连接。
SYN: 同步程序并请求在1: 00连接 。
* FIN:另一方于下午1时收到终止连接的通知。
此字段以字节表示交通控制,值是此端接收缓存区域可以容纳的字节数。
校验值:发送方使用CRC算法计算完整的 TCP 报告,并由接收方验证。
序列号字段中的数值增加了最近紧急数据的字节号。 紧急准则是将紧急数据传送给接收者的技术。
TCP 选项: 32 比特。 窗口扩展系数、 时间戳等选项是可能的 。
2、可靠传输流程
1)交通控制。TCP广播都有一个固定大小的缓冲空间。TCP接收器不允许发送者将数据发送到缓冲空间以外,从而避免了慢速问题。
(2) 数据分包。TCP将数据分为适当的数据区块。
3)确认机制和一段时间内再传送。TCP提供一个数据块,以启动一个计时器,等待接收者确认。如果在一定时间内无法获得确认,则重新发布数据块。
TCP 接收者收到数据后,会计算校验和。 目标是识别数据传输中的任何修改。 如果校验和有问题, 数据块会被拒绝, 直到发送者将数据块发回时为止 。
数据区块在传输过程中可能不合顺序,接收者按正确的顺序接收数据。数据可以重复,接收者过滤重复的数据。
四波 - 断开连接
(1) 客户阻止FIN停止FIN发送服务器数据,客户进入FIN_WAIT_1条件。
2) 服务器收到FIN后,向客户发送ACK,并将服务器置于CLOSE_WAIT状态。
3) 当服务器发送 FIN 时, 它关闭服务器到客户端的数据发送, 服务器进入 LAST_ ACK 条件 。
4) 收到FIN后,客户进入了时间-WAIT模式,向服务器发送了ACK,服务器进入了CLOSED模式,完成了四次握手。
5) 数据发送后,双方可以断开连接。最初,客户和服务器都处于创建状态;然而,客户被积极关闭,服务器被被动关闭。

为什么你要握手三次,如果你有联系 握手三次,如果你没有联系,握手四次?
1 因为SYN+ACK报告在收到客户的SYN请求时可以直接发送到服务器。使用SYN+ACK报告来回应,而SYN报告用来同步。
然而,当连接终止时,当收到服务器发送的FIN信息时,SOCKET很可能不会立即关闭,只允许对一份ACK信息作出答复,Clitend被告知“收到你发送的FIN信息”。
只有在服务器上的所有报告都完成之前 我才能发送FIN的讯息 因此不会联合发送
本文由 在线网速测试 整理编辑,转载请注明出处。