TCP 连接为什么是三次握手,可以是两次吗

为方便描述,以客户端主动向服务端发起TCP连接为例。

建立连接的过程就是通信双方在不确定的网络环境中建立信任的过程。
这个信任包括四个相信:
一、客户端相信自己给服务端发送的消息服务端能接收到;
二、客户端相信服务端给自己发送的消息自己能接收到;
三、服务端相信自己给客户端发送的消息客户端能接收到;
四、服务端相信客户端给自己发送的消息自己能接收到;

当客户端完成前两个相信之后,确定自己可以与服务端进行TCP连接,并开始分配连接所需要的缓冲区等资源。
当服务端完成后两个相信之后,确定自己可以与客户端进行TCP连接,并开始分配连接所需要的缓冲区等资源。
至此TCP连接在客户端与服务端之间建立起来。

结合三次握手,分析TCP连接的建立与通信双方之间的信任过程:
第一次握手
客户端向服务端发出连接请求:“喂!服务端听得到吗?我想跟你建立TCP连接(SYN)”。
当服务端收到客户端的SYN请求,服务端相信客户端给自己发送的消息自己能接收到
第二次握手
如果服务端同意与客户端建立TCP连接,则向客户端回复:“服务端能听到(ACK),同意连接请求(SYN)”。
当客户端收到服务端的回复,客户端相信服务端给自己发送的消息自己能接收到,而且自己给服务端发送的消息服务端能接收到
于是客户端开始为此次连接分配缓冲区等资源。

但是此时服务端还不确定自己给客户端发消息客户端能否接收到,于是有了第三次握手。
第三次握手
客户端给服务端回复:“你的同意连接的消息我收到啦(ACK)”。
当服务端收到客户端的回复,服务端确信自己给客户端发送消息客户端能收到,便开始为此次连接分配缓冲区等资源。

至此TCP 连接 在客户端与服务端之间 建立

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值