标签:建立 SYN TCP 发送 终止 服务器 FIN 客户端
三次握手
- 服务器必须准备好接受外来的连接。通常通过socket, bind, listen三个函数完成,通常称为被动打开
- 客户端通过调用connect发起主动打开,导致客户TCP发送一个SYN(同步)分节,告诉服务器客户端将在(待建立)连接中发送数据的初始序列号
- 服务器必须确认(ACK)客户端的SYN, 同时自己发送一个SYN分节, 含有服务器将在同一连接中发送数据的初始序列号。服务器在单个分节中发送SYN和对客户SYN的ACK确认
- 客户端必须确认服务器的ACK
TCP终止
- 客户端应用进程调用close, 我们称为主动关闭, 该客户端TCP发送一个FIN分节,表示数据发送完毕
- 服务器接收到这个FIN对服务器端执行被动关闭, 这个FIN由TCP确认。接收也作为一个文件结束符传递给接收端应用程序, 因为FIN接收意味着接收端应用进程在相应连接上无额外数据可接收
- 一段时间后,服务器端接收到这个文件结束符的应用进程将调用close关闭套字连接,导致服务器端的TCP发送一个FIN分节
- 客户端接收这个最终FIN的原发送端TCP(即主动关闭的哪一端)确认FIN
标签:建立,SYN,TCP,发送,终止,服务器,FIN,客户端 来源: https://www.cnblogs.com/simple-record/p/13029938.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。