Linux 在丢弃输入的网络流量之前,操作系统会存储多长时间?
在丢弃输入的网络流量之前,操作系统会存储多长时间 假设我在某个端口上有一个打开的套接字,该端口为输入数据包打开 如果网络上的其他主机向该套接字发送大量数据包,而该套接字没有发出读取该数据的Linux 在丢弃输入的网络流量之前,操作系统会存储多长时间?,linux,sockets,networking,Linux,Sockets,Networking,在丢弃输入的网络流量之前,操作系统会存储多长时间 假设我在某个端口上有一个打开的套接字,该端口为输入数据包打开 如果网络上的其他主机向该套接字发送大量数据包,而该套接字没有发出读取该数据的read()调用,会发生什么情况?操作系统将开始以FIFO方式销毁数据,还是停止接收(拒绝)输入数据包 我已经读过操作系统将与套接字相关的通信存储在单独的缓冲区中,即每个(打开的)套接字都有单独的输入/输出缓冲区。当缓冲区已满时,是否会发生上述情况 另外,如果某个主机将数据包发送到关闭的套接字,会发生什么情况?
read()
调用,会发生什么情况?操作系统将开始以FIFO方式销毁数据,还是停止接收(拒绝)输入数据包
我已经读过操作系统将与套接字相关的通信存储在单独的缓冲区中,即每个(打开的)套接字都有单独的输入/输出缓冲区。当缓冲区已满时,是否会发生上述情况
另外,如果某个主机将数据包发送到关闭的套接字,会发生什么情况?操作系统是否拒绝数据包?或者它们暂时存储在某个缓冲区中?直到读取数据或关闭本地套接字 在TCP的情况下,这意味着在套接字接收缓冲区已满时向对等方公布零发送窗口。另一方面,到达时出现故障的TCP段可能会被忽略
对于UDP,它意味着丢弃套接字接收缓冲区填满后到达的数据报。您应该读取TCP/UDP的RFC。为什么要在信息免费提供时在此询问?为什么要求它被无意义地重写?因此,可以肯定的是,在TCP的情况下,数据不会丢失,因为接收方将强制发送方在窗口更新发出绿灯之前不发送更多数据。然而,在UDP的情况下,数据将丢失,对吗?这就是“丢弃数据报”的意思。