三次握手
客户端向服务器发出触发请求syn=1;因为这时还没有得到服务器的回应,所以ack=0
服务器接收到客户端的触发请求,回复ack=1,表示已经接收到客户端的请求;同时服务器也向客户端发出触发请求,syn=1
客户端接收到服务器的请求,回复ack=1,表示已经接收到服务端的请求;syn=0,表示不再触发请求。
|------| syn=1;ack=0 | ------|
| 服 | <--------------------------- | 客 |
| | syn=1;ack=1 | |
| 务 | ---------------------------> | 户 |
| | syn=0;ack=1 | |
| 器 | <--------------------------- | 端 |
|------| |-------|
发送方 接收方
| |
| |
发送1| ------------->|接收1
| |
接收确认2| <-------------|发送确认(ACK)2
| |
发送2| ------------->|接收2
| |
接收确认3| <-------------|发送确认(ACK)3
| |
| |
TCP窗口为1
发送方 接收方
| |
| |
发送1| ------------->|接收1
发送2| ------------->|接收2
发送3| ------------->|接收3
| |
接收确认4| <-------------|发送确认(ACK)4
| |
发送4| ------------->|接收4
发送5| ------------->|接收5
发送6| ------------->|接收6
| |
接收确认7| <-------------|发送确认(ACK)7
| |
| |
TCP滑动窗口为3