ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

TCP-三次握手

2021-10-11 10:04:03  阅读:174  来源: 互联网

标签:主机 握手 TCP 序号 isn 三次 服务器 报文


关于三次握手和四次挥手网络上已经存在太多,我的理解也很浅薄,因此这篇文章只做加深记忆。

一台主机上的一个进程想与另一台主机上的一个进程 建立连接,我们将发送连接请求的主机称为客户主机,另一台主机称为服务器主机

客户主机的应用进程首先通知下层的TCP,和他说:我想和另一台主机的进程交流一下,你能不能帮我联系一下。

接下来,客户主机的TCP就会通过三次握手与服务器主机的TCP建立连接:

第一次握手:客户端TCP首先向服务器端TCP发送一个特殊的TCP报文段,这个报文段并不携带任何应用层数据。在报文段首部,将SYN(同步序列号)置为1,SYN是TCP/IP建立连接时使用的握手信号。并且,客户端随机地选择一个初始序号(client_isn),将其存放在报文段的序号字段

第二次握手:一旦客户端的IP数据报到达服务器主机,服务器从该数据包中提取出报文段,并为这个TCP连接分配TCP缓存和变量并向客户端发送允许连接的报文段。这个报文段同样不包含应用层数据,但是该报文段的首部包含3个重要信息。SYN=1服务器的初始序号(server_isn),同客户端一样,也存放在报文段的序号字段;确认号字段为client_isn+1,表示已收到序号为client_isn的报文段。

第三次握手:当客户端收到服务器端的允许连接报文后,客户主机也为该连接分配缓存和变量。客户主机也向服务器发送第二个报文段,表示对服务器允许连接的确认。这个报文可以携带客户到服务器的数据。报文段首部同样包含3个重要信息:连接已建立,因此将SYN置为1;将序号为client_isn+1放入序号字段确认号字段为server_isn+1,表示已收到序号为server_isn的报文段。

 三次握手完成,表示客户和服务器主机可以相互发送包括数据的报文段。在以后的每一个报文段中,SYN都将被置为0

标签:主机,握手,TCP,序号,isn,三次,服务器,报文
来源: https://blog.csdn.net/weixin_43810096/article/details/120696850

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有