TCP三次握手四次挥手详解

TCP三次握手四次挥手详解

ID:40551994

大小:118.87 KB

页数:4页

时间:2019-08-04

TCP三次握手四次挥手详解_第1页
TCP三次握手四次挥手详解_第2页
TCP三次握手四次挥手详解_第3页
TCP三次握手四次挥手详解_第4页
资源描述:

《TCP三次握手四次挥手详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、TCP(TransmissionControlProtocol)传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机)ACK(acknowledgement确认)PSH(push传送)FIN(finish结束)RST(reset重置)URG(urgent紧急)Sequencenumber(顺序号码)Acknowledgenumber(确认号码)第一次握手:主机A发送位码为syn=1,随机产生seqnumber=1234567的数据包到服务

2、器,主机B由SYN=1知道,A要求建立联机;第二次握手:主机B收到请求后要确认联机信息,向A发送acknumber=(主机A的seq+1),syn=1,ack=1,随机产生seq=7654321的包第三次握手:主机A收到后检查acknumber是否正确,即第一次发送的seqnumber+1,以及位码ack是否为1,若正确,主机A会再发送acknumber=(主机B的seq+1),ack=1,主机B收到后确认seq值与ack=1则连接建立成功。完成三次握手,主机A与主机B开始传送数据。在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一

3、个连接。第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。完成三次握手,客户端与服务器开始传送数据.实例:IP192.168.1.116.3337>192.168

4、.1.123.7788:S3626544836:3626544836IP192.168.1.123.7788>192.168.1.116.3337:S1739326486:1739326486ack3626544837IP192.168.1.116.3337>192.168.1.123.7788:ack1739326487,ack1第一次握手:192.168.1.116发送位码syn=1,随机产生seqnumber=3626544836的数据包到192.168.1.123,192.168.1.123由SYN=1知道192.168.1.116要求建立联机

5、;第二次握手:192.168.1.123收到请求后要确认联机信息,向192.168.1.116发送acknumber=3626544837,syn=1,ack=1,随机产生seq=1739326486的包;第三次握手:192.168.1.116收到后检查acknumber是否正确,即第一次发送的seqnumber+1,以及位码ack是否为1,若正确,192.168.1.116会再发送acknumber=1739326487,ack=1,192.168.1.123收到后确认seq=seq+1,ack=1则连接建立成功。图解:一个三次握手的过程(图1,图2

6、)(图1)(图2)第一次握手的标志位(图3)我们可以看到标志位里面只有个同步位,也就是在做请求(SYN)(图3)第二次握手的标志位(图4)我们可以看到标志位里面有个确认位和同步位,也就是在做应答(SYN+ACK)(图4)第三次握手的标志位(图5)我们可以看到标志位里面只有个确认位,也就是再做再次确认(ACK)(图5)一个完整的三次握手也就是请求---应答---再次确认四次分手:由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这个原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个FIN只意味着这一方向上没有数据流

7、动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。(1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送(报文段4)。(2)服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1(报文段5)。和SYN一样,一个FIN将占用一个序号。(3)服务器B关闭与客户端A的连接,发送一个FIN给客户端A(报文段6)。(4)客户端A发回ACK报文确认,并将确认序号设置为收到序号加1(报文段7)。1.为什么建立连接协议是三次握手,而关闭连接却是四次握手呢?这是因为服务端的LISTEN状态下的

8、SOCKET当收到SYN报文的建连请求后,它可以把ACK和SYN(ACK起应答作用,而SYN起

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。