TCP的三次握手
Posted sy11112027
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP的三次握手相关的知识,希望对你有一定的参考价值。
PS.(里面的一些解释)1.Client/Server:
Client/Server结构(C/S结构)是大家熟知的客户机和服务器结构.C/S又称Client/Server或客户/服务器模式.
2.ACK:
ACK (Acknowledgement)即是确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符。表示发来的数据已确认接收无误。
在TCP/IP协议中,如果接收方成功的接收到数据,那么会回复一个ACK数据。通常ACK信号有自己固定的格式,长度大小,由接收方回复给发送方。
3.SYN_SENT:
传输控制协议(英语:Transmission Control Protocol, TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。
4.SYN_RECV:
SYN_RECV是指服务端被动打开后,接收到了客户端的SYN并且发送了ACK时的状态。
5.ESTABLISHED:
TCP连接成功
TCP的三次握手:
首先客户发送连接请求报文,服务器接受连接后回复ACK报文,并为这次连接分配资源.
客户接收到ACK报文后也向服务器发送ACK报文,并分配资源,这样TCP连接就建立了.
第一次
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
第二次
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)
以上是关于TCP的三次握手的主要内容,如果未能解决你的问题,请参考以下文章