首页 > 其他 > 详细

TCP

时间:2018-11-05 16:50:24      阅读:175      评论:0      收藏:0      [点我收藏+]

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!