TCP是一种面向连接的字节流服务,相较于UDP而言有更可靠的传输机制,数据传输有更高的可靠性,但是传输速度相对较慢(视频通话等通常不使用这种传输协议),并且仅使用于单播即只有双方进行彼此通讯。
三次握手指的是在传输数据之前客户端与服务端双方先发送三次数据包已确认相互之间可以发送与接收数据。这个过程可以确保连接的可靠性与完整性,防止数据包的丢是与重复传输。
那么三次握手是怎样进行的呢?
首先客户端先向服务端发送SYN包,请求建立连接。
服务端接收到SYN包后向客户端发送SYN包和ACK包,表示同意建立连接。
最后客户端收到服务端的SYN包ACK包后向服务端发送ACK包,表示客户端也同意建立连接。
这个过程类似于你对你的同事发微信说:你能看见我消息吗,我要给你传个文件,收到回复。你的同事回:ok,没问题你发吧。你又对你的同事说:ok,是通的就行。接下来就开始传输文件。
四次断开指的是在传输数据后客户端主动请求关闭传输,客户端与服务端相互确认数据已经传输完毕。
四次断开过程:
客户端向服务端发送FIN包,请求关闭传输。
服务端收到FIN包后向客户端回复ACK包,表示收到。
客户端收到ACK包后向服务端发送FIN包和ACK包,表示数据已经传输完毕,可以关闭了。
服务端收到后发送ACK包,表示收到。随后进入CLOSE状态。
这个过程类似于文件传送完后你对你的同事说:你那边收到没有?我这边传完了。你的同事回:ok,收到了。你收到同事的信息后对他说:既然传完了那我关电脑了哦。你的同事说:ok,传完了我也关电脑了。于是你们双方关闭了电脑,下了班。
TCP中三次握手四次断开的作用就在于确保数据连接传输过程中保证数据连接的可靠性和数据报的完整性。
标签:发送,断开,ACK,传输控制协议,TCP,收到,传输,服务端,客户端 From: https://blog.csdn.net/nxb556/article/details/140191747