自己用C语言构造数据包,实现TCP三次握手过程,为啥中间会产生一个RST信号?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自己用C语言构造数据包,实现TCP三次握手过程,为啥中间会产生一个RST信号?相关的知识,希望对你有一定的参考价值。
请问图中为什么会产生一个RST信号呢?
参考技术A 1.杀掉服务器端处理客户端的子进程,进程退出后,关闭它打开的所有文件描述符,此时,当服务器TCP接收到来自此客户端的数据时,由于先前打开的那个套接字接口的进程已终止,所以以RST响应。2。服务器主机与客户端建立连接后崩溃,如果此时,客户端向服务器发送数据,而服务器已经崩溃不能响应客户端ACK,客户TCP将持续重传数据分节,试图
从服务器上接收一个ACK,如果服务器一直崩溃客户端会发现服务器已经崩溃或目的地不可达,但可能需要比较长的时间;
如果服务器在客户端发现崩溃前重启,服务器的TCP丢失了崩溃前的所有连接信息,所以服务器TCP对接收的客户数据分节以RST响应。
以上是关于自己用C语言构造数据包,实现TCP三次握手过程,为啥中间会产生一个RST信号?的主要内容,如果未能解决你的问题,请参考以下文章