- tcp 的状态:
在 tcp 层,有一个 flags 字段,这个字段有以下几个标识:SYN、FIN、ACK、PSH、RST、URG- 它们的含义是:
- SYN 表示建立连接,
- FIN 表示关闭连接,
- ACK 表示响应,
- PSH 表示有 DATA 数据传输,
- RST 表示连接重置。
- 它们的含义是:
三次握手时客户端和服务端的状态码:
-
Client: [SYN] Seq=0: 26 ff 1b c8
- 客户端请求建立连接
-
Server:[SYN+ACK] Seq=0,ack=1 : Ack: 26 ff 1b c9 Seq: 1b ee 8c ba
- 服务端发送收到连接建立,同时发送确认联机信息(标识位、)
-
Client:[ACK] Seq=1,ack=1 : Seq: 26 ff 1b c9 Ack: 1b ee 8c bb
- 客户端收到后检查 ack number 是否正确,即第一次发送的 seq number+1,以及位码 ack 是否为 1
若正确,客户端会再发送 ack number=(服务端的 seq+1),ack=1,服务端收到后确认 seq 值与 ack=1 则连接建立成功。
- 客户端收到后检查 ack number 是否正确,即第一次发送的 seq number+1,以及位码 ack 是否为 1
-
发送数据:
- Client:[PSH,ACK] Seq: 26 ff 1b c9 Ack: 1b ee 8c bb
- Server:[ACK] Seq: 1b ee 8c bb Ack: 26 ff 1b cb
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于