TCP的三次握手

使用三次握手的原因:

为什么要使用“三次握手的方式”,目的是为了防止报文段在传输连接建立的过程当中出现差错,通过3次报文段的交互之后,能够建立一条安全的传输连接,然后可以使用全双工的方式在此基础之上正常的传输报文段了。

首先了解三次握手之前需要了解几个专用词的概念(很重要):

握手:链接定义和建立的过程则称为握手。

同步比特(SYN):SYN设置为1的时候,表示这是一个请求,或者一个链接接受报文。

确认比特(ACK):只有当ACK=1时,确认号字段才有效,当ACK设置为0的时候,确认号无效,建立起链接之后,所有传送的报文段都必须把ACK设置为1。

TCP三次握手的过程:

如上图所示,下面进行详细解释:

第一次:首先A向B发送一个同步比特(SYN),因为SYN报文段不能够携带数据,但是需要消耗一个序号,所以选择序号seq=x

第二次:服务器B收到数据报,得到的SYN=1,B服务器知道这是一个建立链接的请求。同意建立链接则发回确认。B的确认报文段也是用来建立链接的所以,SYN=1,因为是确认A的消息,所以ACK=1,确认号就为ack=x+1,自己选择seq=y。(因为SYN=1,所以不能带数据)

第三次:A收到了B发送的报文段后,向B发送确认。因为还是建立链接,所以ACK=1,确认号ack=y+1,A的TCP通知上层的应用进程,此时链接已经建立。B在收到A的确认之后,也会通知其上曾的应用进程,此时TCP连接已经建立。ACK报文能够携带没有SYN的数据,不携带数据则不会消耗序号。

而TCP的四次挥手是怎么样的呢?

TCP的四次挥手

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ybbgrain

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值