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

最通俗的三次握手

时间:2014-10-16 11:47:12      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:通信   数据   tcp   服务器   linux   

    假如有一台客户机和一台服务器,现在客户机想要和服务器通信,那么首先客户机就会发送一个同步位等于1确认序列号有效位等于0的数据包给服务器,(syn(同步位)等于1表示请求建立链接)同时会随机产生一个sequence number(序列号),假如是100,当服务器接受到客户机发来的数据后,客户机从SYN(同步位)=1可知客户机是想要建立连接,第一次握手完成
第二次握手:服务器收到消息后肯定要进行确认,就像我和你打招呼的时候我说hello你肯定要回一个给我,所以这时候服务器就会向客户机发送一个确认报文ACK(确认序列号有效位)=1,SYN(同步位)=1,Acknowledge number=101,(确认序列号等于序列号+1)同时还会随机产生一个序列号sequence number假如等于200,这样就告诉了客户机可以进行连接,二次握手完成
第三次握手:当客户机收到服务器的确认信息后,客户机会检查Acknowledge number(确认序列号)是否等于序列号+1即101,以及ACK(确认序列号有效位)是否为1,若为1,客户机会发送一个ACK=1.Acknowledge number=201的确认报文,告诉服务器你的请求连接已经被确认,连接可以建立,客户机进入ESTABLISHED状态,TCP连接建立。三次握手完成


最通俗的三次握手

标签:通信   数据   tcp   服务器   linux   

原文地址:http://blog.csdn.net/u010718976/article/details/40142497

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