摘要:
一个TCP报文段 由报文段头部(Header)和数据两部分组成。 头部包含了确保数据可靠传输所需的各种可靠信息 比如序列号,确认号,窗口大小。 具体说明: 源端口号:用于标识发送端的应用程序。 目标端口号:用于标识接收端的应用程序。 序列号:用于标识从TCP发送者发送的 数据字节流中的第一个字节的顺 阅读全文
posted @ 2025-06-03 21:17
kuki'
阅读(29)
评论(0)
推荐(0)
摘要:
1. close-wait状态有什么意义? 服务端收到客户端关闭连接的请求并向客户端发回ACK确认之后, 就会进入close-wait状态。 此时服务端可能还有一些数据没有传输完成,因此不能立即关闭连接, 而close-wait状态就是为了保证服务端在关闭连接之前将待发送的数据处理完。 2. tim 阅读全文
posted @ 2025-06-03 20:10
kuki'
阅读(38)
评论(0)
推荐(0)
摘要:
为什么需要等待? 为了保证客户端发送的最后一个ACK报文段能够到达服务端 。 这个ACK报文段可能丢失,因而使处在last_ack状态的服务端收不到客户端对已经发送的FIN+ACK报文段的确认。 服务端会超时重传这个FIN+ACK报文段, 这样,客户端就能在2MSL时间内(超时+1MSL传输)收到这 阅读全文
posted @ 2025-06-03 19:01
kuki'
阅读(118)
评论(0)
推荐(0)
摘要:
因为TCP是全双工通信协议, 数据的发送和接收需要一来一回,四次,来确保双方都能正确关闭连接。 阅读全文
posted @ 2025-06-03 16:31
kuki'
阅读(11)
评论(0)
推荐(0)
摘要:
第3次握手是可以携带数据的。 此时客户端已经处于Established状态, 对于客户端来说,它已经建立连接成功,并且确认服务端的接收和发送能力是正常的。 第一次握手不能携带数据是出于安全的考虑,因为如果携带数据, 攻击者每次在SYN报文中携带大量数据,会导致-> 服务端消耗更多的时间和空间去处理这 阅读全文
posted @ 2025-06-03 13:56
kuki'
阅读(18)
评论(0)
推荐(0)
摘要:
ACK是为了告诉客户端传来的数据已经接收无误。 传回SYN是为了告诉客户端,服务端响应的是客户端发送的报文 阅读全文
posted @ 2025-06-03 13:50
kuki'
阅读(13)
评论(0)
推荐(0)
摘要:
第一次握手服务端未收到SYN报文 服务端不会进行任何的动作, 而客户端由于一段时间内没有收到服务端发来的确认报文 等待一段时间后会重新发送SYN报文, 如果仍然没有回应,会重复这个过程,直到发送次数超过最大重传次数限制 就会 返回连接建立失败。 第二次握手:客户端未收到服务端响应的SYN+ACK报文 阅读全文
posted @ 2025-06-03 13:33
kuki'
阅读(43)
评论(0)
推荐(0)
摘要:
(没用)三次握手可建立一个可靠的连接,目的是 确保双方都知道对方已准备好通信, 并同步双方的序列号,从而保证数据包的顺序性和完整性。 为什么TCP握手不能是两次? 防止服务器一直等 防止客户端已经失效的连接请求又传送到了服务器。 第一种情况:举例:网络传输是有延时的 假如 客户端发起了SYN的第一次 阅读全文
posted @ 2025-06-03 12:51
kuki'
阅读(30)
评论(0)
推荐(0)
摘要:
SYN是TCP协议中用来建立连接的标志位,(Synchronize Sequence Numbers)同步序列编号。 SYN不仅确保了序列号的同步,使得后续的数据能有序传输, 还防止旧的报文段被误认为是新连接。 阅读全文
posted @ 2025-06-03 10:54
kuki'
阅读(73)
评论(0)
推荐(0)

浙公网安备 33010602011771号