服务器网站环境,南宁百度关键词推广,阿里云的wordpress如何设置密码,招聘网哪个平台比较好招人文章目录 TCP 协议为什么要设计三次握手TCP 协议#xff0c;是一种可靠的#xff0c;基于字节流的#xff0c;面向连接的传输层协议。TCP 通信双方的数据传输是通过字节流来实现传输的客户端向服务端发送连接请求并携带同步序列号 SYN。 今天我们来谈谈tcp的三次握手 TCP 协… 文章目录 TCP 协议为什么要设计三次握手TCP 协议是一种可靠的基于字节流的面向连接的传输层协议。TCP 通信双方的数据传输是通过字节流来实现传输的客户端向服务端发送连接请求并携带同步序列号 SYN。 今天我们来谈谈tcp的三次握手 TCP 协议为什么要设计三次握手
我们可以三个方面来说
TCP 协议是一种可靠的基于字节流的面向连接的传输层协议。 可靠性体现在 TCP 协议通信双方的数据传输是稳定的即便是在网络不好的情况下TCP 都能够保证数据传输到目标端而这个可靠性是基于数据包确认机制来实现的。
TCP 通信双方的数据传输是通过字节流来实现传输的 面向连接是说数据传输之前必须要建立一个连接然后基于这个连接进行数据传输 因为 TCP 是面向连接的协议所以在进行数据通信之前需要建立一个可靠的连接TCP 采用了三次握手的方式来实现连接的建立。 所谓的三次握手就是通信双方一共需要发送三次请求才能确保这个连接的建立。
客户端向服务端发送连接请求并携带同步序列号 SYN。 服务端收到请求后发送 SYN 和 ACK这里的 SYN 表示服务端的同步序列号 ACK 表示对前面收到请求的一个确认表示告诉客户端我收到了你的请求。 客户端收到服务端的请求后再次发送 ACK这个 ACK 是针对服务端连接的一个确认表示告诉服务端我收到了你的请求。 之所以 TCP 要设计三次握手我认为有三个方面的原因 TCP 是可靠性通信协议所以 TCP 协议的通信双方都必须要维护一个序列号 去标记已经发送出去的数据包哪些是已经被对方签收的。而三次握手就是通信双方相互告知序列号的起始值为了确保这个序列号被收到所以双方都需要有一个确认的操作。 TCP 协议需要在一个不可靠的网络环境下实现可靠的数据传输意味着通信双方必须要通过某种手段来实现一个可靠的数据传输通道而三次通信是建立这样一个通道的最小值。当然还可以四次、五次只是没必要浪费这个资源。 防止历史的重复连接初始化造成的混乱问题比如说在网络比较差的情况下客户端连续多次发送建立连接的请求假设只有两次握手那么服务端只能选择接受或者拒绝这个连接请求但是服务端不知道这次请求是不是之前因为网络堵塞而过期的请求也就是说服务端不知道当前客户端的连接是有效还是无效。
以上就是我对这个问题的理解。感谢大家的支持