栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

TCP-三次握手

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

TCP-三次握手

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

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

客户主机的应用进程首先通知下层的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。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/320406.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号