码迷,mamicode.com
首页 > 其他好文 > 详细

TCP

时间:2018-11-05 17:33:57      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:状态   表示   bsp   同步   报文   完成   需要   解释   strong   

1.TCP握手

  TCP的根本目的是传输数据,而在正式传输之前需要同步一些信息,握手就是这些信息的同步过程,只有保证信息同步完成了(标志就是两端都确认对方收到了自己的SYN报文),才能开始交互数据。

  [1]A向B发送SYN,A向B同步本端的连接信息(seq、MSS、SACK选项等等)。

  [2]B向A发送SYN ACK,SYN表示B向A同步本端的连接信息(seq、MSS、SACK选项等等),ACK表示对A的SYN的确认。

  [3]A向B发送ACK,对B的SYN的确认。(A发送出去后便进入到establish状态,而B需要成功收到ACK后进入establish状态)

  握手完成的标志就是两端都确认对方收到了自己的SYN报文而进入establish状态,如果A确认B收到了自己的SYN报文(A收到SYN ACK),则A进入到establish状态,如果B确认A收到了自己的SYN报文(B收到ACK),则B进入到establish状态。

  如果一端不能确认对端收到了自己的SYN报文,则不能进入到establish状态,而是通过重传方式确认对端收到了自己的SYN报文。

  另外解释为什么不是两次握手,其实握手的目的是为了正式传输数据之前同步信息,如果是前两次握手消息并不能保证信息确认同步完成(B向A发送了SYN ACK后不能直接进入establish状态,因为B不能保证A收到了自己的SYN报文)。

  

 

TCP

标签:状态   表示   bsp   同步   报文   完成   需要   解释   strong   

原文地址:https://www.cnblogs.com/ne-liqian/p/9909894.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!