TCP/IP三次握手详解

时间:2022-04-18 17:23:57

TCP(Transmission Control Protocol) 传输控制协议


因为是网络协议中最为重要的部分,所以今天给大家介绍一下三次握手,这也是在面试过程中经常问到的网络问题,下面咱们来看一下具体的过程,TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:

位码即tcp标志位,6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急)

Sequence number(顺序号码) Acknowledge number(确认号码)

第一次握手:主机A发送位码为syn1,随机产生seq number=1234567的数据包到服务器,主机BSYN=1知道,A要求建立联机;

第二次握手:主机B收到请求后要确认联机信息,向A发送ack number=(主机Aseq+1),syn=1,ack=1,随机产生seq=7654321的包

第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,主机A会再发送ack number=(主机Bseq+1),ack=1,主机B收到后确认ackn值与ack=1则连接建立成功。

完成三次握手,主机A与主机B开始传送数据。也正因为主机之间通信必须经过三次握手,才得以保证数据传输的稳定性与可靠性

三次握手的过程可以用打电话来形象的描述一下,比如小红给小明打电话

第一次握手:小红拿起电话拨号,然后电话接通后,小红问:您好是小明吗?这一个过程也相当于主机A向主机B发送了一个联机请求

第二次握手:小明听到小红的问题后回答:是,我是小明,你是谁?这一个过程相当于主机B收到联机请求后,应答并且也同样发出联机请求

第三次握手:小红收到小明的应答后得知,是小明,然后说,我是小红,我找你有事。这一个过程相当于主机A收到主机B的应答后,确认并且应答主机B发出的联机请求

这样三次握手建立成功,开始正常交流,或者开始正常通信传输数据