讲讲三次握手和四次挥手、TCP和UPD协议

讲讲三次握手和四次挥手、TCP和UPD协议

首先我们的明白,它是TCP协议独有的特征,三次握手是建立连接过程,四次挥手是结束连接的过程。

SYN:synchronization 同步(1是开启,0是关闭,下同)

ACK:acknowledgment 确认

FIN:finish 结束

Sequence:序号(第一次随机生成,此后都是有规律的)

  • 三次握手


①sync是同步的意思,这一步代表客户端想和服务端进行数据同步,会发一包SYN数据过去

②SYN+ACK合起来的意思就是服务端 确认同步,回复一包SYN和一包ACK

③告诉服务端确认收到了,回复一包ACK

在三次握手成功完成之后,就可以进行数据传输了

那为什么不是两次握手,而是三次握手?

假如第一次发送SYN时,由于网络信道原因滞留了,那么此时客户端会重新发送一包SYN,服务器正常收到。要是突然第一包SYN的网络信道好了,正常发到服务器了,这时服务器就会认为又是一次新的连接。那么此时的状态就是,客户端认为是一次连接,服务器认为是两次连接,造成的连接状态不匹配。而且那样的话,就会有一个连接是闲置的,这样会消耗服务器的带宽

如果是第三次握手就不会有这样的问题了,即第三次箭头是客户端确认连接,这样就不会出现这种由于网络信道不可靠而引起的问题。

也正是因为这样,TCP协议在不可靠的网络信道上建立了可靠的连接。它能实现稳定传输,不会丢包,所以一般传送文件用它

UDP协议速度快,占用内存少,所以一般视频通话用它

  • 四次挥手

双方都要发送一次结束,因为可能存在未发送完的数据。在①那里,如果服务端还有要发送的数据那么就还可再发。

  • TCP协议

它是基于连接的,比如打电话,要连接上了才能通话

  • UDP协议

基于非连接,比如写信,但是写信就存在一些丢包问题,寄件人不知道收件人是否收到信件,以及信件是否完好无损未开封

posted @ 2022-06-18 17:25  朱在春  阅读(96)  评论(0编辑  收藏  举报