云杰通信助您了解行业,全方位掌握国际互联网最新资讯
TCP(Transmission Control Protocol)可靠的、面向连接的协议 (什么是面向连接呢?就是发送消息之前先建立连接然后再发送消息例如打电话 场景,在网络中具体指的是三次握手)
TCP 协议特点:数据安全,速度略低。分为客户端和服务端
使用 TCP 的应用:Web 浏览器;电子邮件等程序
TCP 的三次握手和 4 次挥手
TCP报文类型:SYN/ACK
SYN(连接请求信号):同步序列编号(Synchronize Sequence Numbers)是TCP/IP建立连接时使用的握手信号,TCP连接的第一个包,非常小的一种数据包
ACK(应答信号):确认标识(Acknowledge character)是对所收到的报文进行检查,若未发现错误,便向对方发出确认回答ACK信号,表明信息已被正确接收,并准备好接收下一份报文
TCP 三次握手:
TCP 是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出 SYN 连接请求后等待对方回答 SYN+ACK[1],并最终对对方的 SYN 执行 ACK 确认。 这种建立连接的方法可以防止产生错误的连接
TCP 三次握手的过程如下:
(1)客户端发送 SYN(SEQ=x)报文给服务器端,进入 SYN_SEND 状态
(2)服务器端收到SYN报文,回应一个SYN(SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV 状态
(3)客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established 状态
三次握手完成,TCP 客户端和服务器端成功地建立连接,可以开始传输数据了
数据传输: 每传递一次消息,服务端都会告诉客户端说收到消息了,这样确保数据不会丢失,因此我们说 TCP 是可靠地面向连接(连接一直连着)的传输协议
TCP四次挥手:
建立一个连接需要三次握手,而终止一个连接要经过四次挥手
TCP四次挥手的过程如下:
(1) 某个应用进程首先调用 close,称该端执行“主动关闭”(active close),该端的 TCP 于是发送一个 FIN 分节,表示数据发送完毕
(2) 接收到这个 FIN 的对端执行 “被动关闭”(passive close),这个 FIN 由 TCP 确认
注意:FIN 的接收也作为一个文件结束符(end-of-file)传递给接收端应用进 程,放在已排队等候该应用进程接收的任何其他数据之后,因为,FIN 的接收意 味着接收端应用进程在相应连接上再无额外数据可接收
(3) 一段时间后,接收到这个文件结束符的应用进程将调用 close 关闭它的套接字,这导致它的 TCP 也发送一个 FIN
(4) 接收这个最终FIN的原发送端TCP(即执行主动关闭的那一端)确认这个FIN
文章标题:《TCP 协议的三次握手和四次挥手》
作 者:云杰小编。本文部分资料来源于网络,转载目的在于传递更多信息及学习参考:https://www.gdyunjie.cn/showinfo-114-4010-0.html