三次握手小解

一.TCP建立连接时候的三次握手

三次握手指的是TCP在建立连接时,客户端和服务器之间会发送三个包,这样可以让数据在传输过程中保证其完整性

为什么要进行三次握手呢? 

        三次握手是保证面向连接的,确保双方的发送和接收数据是否正常,保证数据传输的安全可靠,为什么两次就不行呢?是因为两次并不能保证双方可以接收到数据

第一次握手 -- 建立连接时客户端会向服务器发送SYN包,就是连接请求。同时SYN=1,ACK=0,seq是客户端随机分配的序列号码假设为x,发完之后进入SYN_send状态,等待服务器的确认

第二次握手 -- 服务器收到客户端发送的SYN包,开始确认客户的SYN,同时自己也发送一个SYN包其中SYN=1,ACK=1,seq=y(服务器端生成的一个序列号假设为y),ack=x+1(确认客户端)。即syn+ack包。服务端发送之后进入SYN-RCVD状态

第三次握手 -- 客户端收到了来自服务器的SYN+ACK包,收到之后向服务器发送确认包ACK=1 ,seq=x+1,ack=y+1,该包发送完毕,客户端和服务器均进入established状态,表示连接建立完成。完成三次握手

当第三次握手之后,连接建立成功才会进行数据的传输

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值