网络协议 Day10 TCP 建立连接 三次握手
2021-01-09 本文已影响0人
望穿秋水小作坊
1.我们在建立TCP连接的时候,可以用抓包工具抓到下面请求过程。
建立连接前的三次请求2. 在 TCP 连接和相互发送数据时,seq(序号)和 ack(确认号)
,有什么含义?(两层意思)
理想状态下的序号和 ACK 号
核心概念
-
seq = N + 1
表示:前面我已经发送
了 N 个字节,这次是从 N + 1 开始
发送。 -
ack = X + 1
表示:前面我已经确认收到
X 个字节,希望对方从 X + 1 个字节开始
发送
3. 上题中的 ACK= 1461
和 序号 = 1
是真实值吗?如果不是,它们和真实值之间如何换算?
- 它们都是
相对值
,是便于理解换算的相对值
- 在客户端和服务端在
第一次和第二次握手
时,它们会交换一个各自的随机序号初始值
,这个随机值 + 相对值
就是真实值
。
4. 简述 TCP 的三次握手从(SYN、ACK)以及客户端、服务端状态变化来说?
TCP 的三次握手5. TCP - 建立连接 - 前 2 次握手的特点(了解)
前 2 次握手的特点6. 为什么建立连接的时候,要进行 3 次握手?2 次不行吗?(重点,要能自圆其说)
-
主要目的:
防止 server 端一直等待,浪费资源。