网络 TCP三次握手及滑动窗口

时间:2023-03-09 00:38:15
网络 TCP三次握手及滑动窗口

三次握手
客户端向服务器发出触发请求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