`
chengyfbj
  • 浏览: 8400 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Tcp握手

    博客分类:
  • net
 
阅读更多

Tcp: Transmission Control protocol传输控制协议(转载)

      
 Tcp是主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接

位码即标记位,有6种表示:syn(Synchronous)建立联机,ACK(acknowledgement)确认,PSH(push)传送,FIN(finish)结束,RST(rest)重置,URG(urgent)紧急,Seq(sequence number)顺序号,Acknowledgement number确认顺序号。

 第一次握手:主机A发送syn=1,随机参数顺序号seq number=1234567的数据包到服务器,主机B由syn=1知道,A要求建立联机。

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

第三次握手:主机A收到后确认Ack number是否正确,即第一次发送的seq+1,ack=1。若正确,主机A会在发送ack number=(主机B的seq number+1),ack=1,主机B收到seq值与ack=1确认正确,联机成功。

完成3次握手,主机A与主机B开始传送数据。

 

       Tcp/IP采用3次握手建立一个可靠的连接。

第一次握手:建立连接是,客户端发送syn包到服务器(syn=j),并进入syn_send状态,等待服务器确认。

第二次握手:服务器收到syn包,必须回复客户端SYN包的确认Ack包(ack = j +1),同时自己也发送一个SYN包(syn = k),即syn+ack包,此时服务器进入SYN_RECV状态。

第三次握手:客户端收到SYN+ACK包,向服务器SYN回复确认Ack包(ack = k+1),此包发送完毕,客户端和服务器进入established状态,完成3次握手。然后客户端和 服务器端进行传输数据。

    

实例:

       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收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,192.168.1.116会再发送ack number=1739326487,ack=1,192.168.1.123收到后确认seq=seq+1,ack=1则连接建立成功。

       
 

     

  

      TCP的断开采用4次握手的机制。

      

       客户端的状态:

       
 

       服务端的状态:

      
 

      
 

      

 

  • 大小: 70.4 KB
  • 大小: 51.9 KB
  • 大小: 51.7 KB
  • 大小: 61.1 KB
  • 大小: 56.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics