TCP三次握手四次挥手详解.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TCP(Transmission Control Protocol) 传输控制协议 TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: 位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急) Sequence number(顺序号码) Acknowledge number(确认号码) 第一次握手:主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,主 机B由SYN=1知道,A要求建立联机; 第二次握手:主机B收到请求后要确认联机信息,向A发送ack number=(主机A的 seq+1),syn=1,ack=1,随机产生seq=7654321的包 第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq number+1,以及位 码ack是否为1,若正确,主机A会再发送ack number=(主机B的seq+1),ack=1,主机B收到 后确认seq值与ack=1则连接建立成功。 完成三次握手,主机A与主机B开始传送数据。 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待 服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN 包(syn=k),即SYN+ACK包,此时服务器 进入SYN_RECV状态; 第三次握手:客户端收到服 务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进 入 ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据. 实例: IP 192.168.1.116.3337 192.168.1.123.7788: S 3626544836:3626544836 IP 192.168.1.123.7788 192.168.1.116.3337: S 1739326486:1739326486 ack 3626544837 IP 192.168.1.116.3337 192.168.1.123.7788: ack 1739326487,ack 1 第一次握手:192.168.1.116发送位码syn=1,随机产生seq number=3626544836的数据包到 192.168.1.123,192.168.1.123由SYN=1知道192.168.1.116要求建立联机; 第二次握手:192.168.1.123收到请求后要确认联机信息,向192.168.1.116发送ack number=3626544837,syn=1,ack=1,随机产生seq=1739326486的包; 第 三次握手:192.168.1.116收到后检查acknumber是否正确,即第一次发送的seqnumber+1, 以及位码ack是否为1,若正确,192.168.1.116会再发送ack number=1739326487,ack=1, 192.168.1.123收到后确认seq=seq+1,ack=1则连接建立成功。 图解: 一个三次握手的过程(图1,图2) (图1) (图2) 第一次握手的标志位(图3) 我们可以看到标志位里面只有个同步位,也就是在做请求(SYN) (图3) 第二次握手的标志位(图4) 我们可以看到标志位里面有个确认位和同步位,也就是在做应答(SYN + ACK) (图4) 第三次握手的标志位(图5) 我们可以看到标志位里面只有个确认位,也就是再做再次确认(ACK) (图5) 一个完整的三次握手也就是 请求应答再次确认 四次分手: 由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这个原则是当一方完成它的 数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上 没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主 动关闭,而另一方执行被动关闭。 (1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送(报文段4)。 (2)服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1(报文段5)。 和SYN一样,一个FIN将占用一个序号。 (3)服务器B关闭与客户端A的连

文档评论(0)

cjp823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7060131150000004

1亿VIP精品文档

相关文档