Inp*_*t J 45 networking connection tcp
对于 TCP 连接,当我移除电缆并在 30-40 秒后重新连接时,没有丢包问题。但是当重新连接时间超过几分钟时,所有数据包都丢失了。我知道它可以在重传计时器用完的情况下工作,但我想知道拔掉网络电缆时到底发生了什么。
jcb*_*rmu 65
根据OSI或TCP/IP等分层模型的定义,每一层独立工作并且不知道较低层。
当您移除电缆时,这是物理中断(第 1 层),因此以太网(第 2 层)几乎立即检测到信号丢失(如果您使用的是 Windows,您会看到非常可怕的弹出窗口,通知网络已断开连接)
IP(第 3 层)和 TCP(第 4 层)不会注意到它,因此它们会尝试继续工作。
TCP 不会在一段时间内中断已建立的 TCP 连接,因为当 TCP 发送数据时,它期待一个 ACK 回复,如果它在一段时间内没有到达,它会重新传输数据。
TCP 将重新传输数据,将它传递给 IP,谁将它传递给以太网,谁无法发送它并简单地丢弃它。
TCP 将再次等待并重复这个过程,直到超时发生,让它声明连接结束。TCP 重置段序列号,丢弃试图发送的信息,并释放为该连接分配的缓冲区和内存资源。
在它发生之前插入电缆,一切都会继续进行。这就是 TCP 可靠且同时容易受到 DDos 攻击的原因。
如果操作系统有多个接口(例如,以太网和 wi-fi),当以太网出现故障时,它可能会尝试通过 wifi。这取决于路由的配置方式,但一般来说“ TCP 不会意识到这一点”。
DDoS 攻击的基本结构是:数千个客户端每隔几秒钟打开一个 TCP 连接到服务器,然后放弃连接。在很长一段时间内,每个 TCP 连接在服务器上保持打开状态(浪费宝贵的资产,如 TCP 端口、分配的内存、带宽等),从而堵塞服务器资源以访问合法用户。