网络-三次握手

三次握手针对的是TCP协议的创建连接,TCP协议是全双工的通讯方式(即存在两条通讯网络,接收和发送不是同一条网络)。
三次握手图示如下:
在这里插入图片描述
其中:SYN:同步标志位,在创建连接时有效;ACK:确认标志位,收到对方的数据包,用于通知对方已收到; seq:序列号;ack:确认号;序列号和确认号之间的依次+1就保证了数据包传输的完整性,如果中间有丢失数据包,能够通过序列号和确认号之间的关系找到是哪一个数据包丢失。

可以形象的记忆为:客户端要和服务器建立连接,使用客户端发送了一个建立的消息(SYN = 1:建立连接,ACK = 0:没有收到你的数据包,seq:我的序列号,即上一个数据包中对方的确认号) ,服务器收到消息之后同意建立连接并也发送一个建立连接的消息(SYN = 1:建立连接,ACK = 1 :确认收到你的数据包,seq:我的序列号,即上一个数据包中对方的确认号,ack:上一个数据包中对方的序列号+1),之后客户端收到这个信息之后,发送连接完成的数据包(SYN = 0:连接网络已完成,不需要置1,ACK = 1:确认收到你的数据包,seq:我的序列号,即上一个数据包中对方的确认号,ack:ack:上一个数据包中对方的序列号+1)之后返回,服务器在接收到这个数据包之后,连接创建完成,并返回。

思考:为什么三次握手只需要三次,而不是两次或者四次?
TCP是基于连接的稳定可靠通讯,每次数据包之间都需要有确认的依据,如果只有两次,客户端给服务器发送数据包,建立了一条通讯网络,之后服务器给客户端再发送一个数据包,建立一条通讯网络,这个就没有之后的确认信号,就会使得全双工通讯变得不够可靠,因为没有后面的一个确认号;为什么不是四个,有三个数据包就能够建立一个稳定的全双工通讯,没必要再多一个数据包,能够加快通讯的速度。这是个人观点,不喜勿喷。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值