网络和操作系统基础

网络基础

三次握手过程

客户端——发送带有SYN标志的数据包——服务端一次握手Client进入syn_sent状态;
服务端——发送带有SYN/ACK标志的数据包——客户端二次握手服务端进入syn_rcvd;
客户端——发送带有ACK标志的数据包——服务端三次握手连接就进入Established状态;

为什么三次:

主要是为了建立可靠的通信信道,保证客户端与服务端同时具备发送、接收数据的能力。

为什么两次不行:

1、防止已失效的请求报文又传送到了服务端,建立了多余的链接,浪费资源。

2、两次握手只能保证单向连接是畅通的。(为了实现可靠数据传输,TCP协议的通信双方,都必须维护一个序列号,以标识发送出去的数据包中,哪些是已经被对方收到的。三次握手的过程即是通信双方相互告知序列号起始值,并确认对方已经收到了序列号起始值的必经步骤;如果只是两次握手,至多只有连接发起方的起始序列号能被确认,另一方选择的序列号则得不到确认)。

TCP四次挥手过程

四次挥手过程:

客户端——发送带有FIN标志的数据包——服务端,关闭与服务端的连接,客户端进入FIN-WAIT-1状态。

服务端收到这个FIN,它发回⼀个ACK,确认序号为收到的序号加1,服务端就进入了CLOSE-WAIT状态。

服务端——发送⼀个FIN数据包——客户端,关闭与客户端的连接,客户端就进入FIN-WAIT-2状态。

客户端收到这个FIN,发回ACK报⽂确认,并将确认序号设置为收到序号加1,TIME-WAIT状态。


网络和操作系统基础
https://zzy-1128.github.io/2024/04/11/计算机网络/
Author
智勇爱学习
Posted on
April 11, 2024
Licensed under