Bedeutet das Setzen von tcp_orphan_retries auf 0, dass es keine Begrenzung für Wiederholungsversuche gibt, oder bedeutet dies, dass es überhaupt nicht erneut versucht wird?
quelle
Bedeutet das Setzen von tcp_orphan_retries auf 0, dass es keine Begrenzung für Wiederholungsversuche gibt, oder bedeutet dies, dass es überhaupt nicht erneut versucht wird?
Es bedeutet nicht "für immer versuchen", es bedeutet "überhaupt nicht versuchen". Dies ist der Server, der versucht, dem Client höflich mitzuteilen, dass der Server bereit ist, seinen Socket zu schließen, und wenn er eine ordnungsgemäße Trennung vornehmen oder weitere Daten senden würde, wäre dies wunderbar. Es wird X-mal versucht, den Client zur Antwort zu bewegen, und nach X wird der Socket auf der Systemseite zurückgefordert.
Das Setzen dieser Zahl auf 0 würde mir bedeuten, dass dieser Server stark ausgelastet ist und eine Null-Toleranz-Richtlinie für Waisenkinder gilt. Es könnte auch eine Antwort auf ein DDOS gewesen sein: Viele Arbeiten von DDOS wurden ausgeführt, indem eine Socket-Verbindung geöffnet und dann daran festgehalten wurde, ohne etwas zu tun.
Das Setzen von tcp_orphan_retries auf 0 ist ein Sonderfall, siehe tcp_timer.c
quelle
Ziemlich sicher, dass es bedeutet, dass es überhaupt nicht erneut versucht wird. Diese Kommentare aus der Kernelquelle (tcp_timer.c) unterstützen Folgendes:
quelle
tcp_out_of_resources()
und "ein administrativ konfiguriertes Limit" ist in der Definition näher antcp_max_orphans
.