三次握手,四次挥手为什么要三次和四次?

首先我们需要先了解两个东西:

TCP  传输控制协议       面向连接的可靠传输协议

UDP  用户数据报文协议   非面向连接的不可靠传输协议

TCP传输速度慢

而UDP传输速度快

 用一张通俗易懂的图来表示

 了解了TCP和UDP的区别,接下来我们再说什么是”三次握手,四次挥手”

首先我们先来讲三次握手,我们要先了解两个词语

SYN:同步序列号请求

ACK:确认

 通过这张图我们了解了三次握手,但是我们通俗易懂的来讲

把客户端当成小马,把服务器端当成小王,两个人发消息

第一次握手

小马对小王发消息:在吗?

第二次握手

小王发消息:我在

小马不确定小王是否收到消息

第三次握手

直到小王回复“我在”小马才知道小王收到,建立起来了对话连接

四次挥手

建立在三次握手的基础上

FIN----请求断开连接

接下来我们继续用上一个例子

第一次挥手

小马收到消息后回复一个:好

第二次挥手

小王收到消息后给小马回复:怎么了

第三次挥手

小马迟迟不给小王回消息,小王给小马发了一句:还在不在

第四次挥手

小马给小王回复了一个:在

小王明白了小马是真的无聊

为什么TCP建立连接时候,要进行3次握手,2次不行吗?

主要目的:防止server端一直等待,浪费资源,

为什么建立连接是三次握手,关闭连接确是四次挥手呢?

建立连接的时候, 服务器在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端。而关闭连接时,服务器收到对方的FIN报文时,仅仅表示对方不再发送数据了但是还能接收数据,而自己也未必全部数据都发送给对方了,所以己方可以立即关闭,也可以发送一些数据给对方后,再发送FIN报文给对方来表示同意现在关闭连接,因此,己方ACK和FIN一般都会分开发送,从而导致多了一次。为了确保正确关闭连接,所以需要四次。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值