TCP三次握手和四次挥手简述

三次握手、四次挥手
三次握手:客户端与服务端传输数据

第一次:客户端向服务端发送消息,此信息主要确定的是服务端是否处于运行状态,传输内容包括(ACK=0,协议为syn)。
注:syn:同步序列编号(Synchronize Sequence Numbers),是TCP/IP建立连接时使用的握手信号。

第二次:服务端向客户端发送消息,此信息主要是告诉客户端,服务器处于运行状态,传输内容包括(标识为0+1,协议为syn+ack)当客户端接收到此消息后,客户端与服务端就处于连接状态
注:ACK (Acknowledge character)即是确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符。表示发来的数据已确认接收无误。

第三次:客户端向服务端发送数据包,传输内容包括(ack,标识为1,数据)。
在这里插入图片描述

四次挥手:客户端与服务端断开连接

第一次:客户端调用close方法,向服务端发送长度为0的消息,协议为FIN。
注:FIN,为结束标志。

第二次:服务端向客户端发送确认消息(关闭连接消息)。

第三次:服务端调用close方法,通知客户端。

第四次:客户端向服务端发送确认消息,此时客户端与服务端断开连接。
在这里插入图片描述

Tcp比Udp稳定

Tcp在建立连接时,需要客户端与服务端确认是否连接成功,如果没有连接成功,客户端还会想服务端发送确认消息,在建立连接后,每次客户端向服务端发送消息后,服务端都会向客户端发送确认收到的消息。
而upd,每次只会发送数据,而不管数据是否发送成功。

Tcp的长连接与短连接

长连接:client请求server,会创建一次连接,访问结束就断开连接,长连接多用于操作频繁,点对点的通讯,而且连接数不能太多情况。
注:在http1.0中,默认使用的是短连接。

短连接:client请求server,会先建立连接,(响应头的属性:connect:keep-alive)每次client访问server时,都会使用第一次创建的连接,当超过一定时间没有请求时,会断开连接,重新访问时,会再次创建连接,client主动调用close时,也会断开连接。诸如WEB网站的http服务一般都用短链接。
注:在http1.1中,默认使用的是长连接。

seq是序号,ack是确认号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值