В чем отличие между параметрами tcp-fin-wait-timeout и tcp-close-wait-timeout в Mikrotik?

Как настроить таймауты tcp-fin-wait-timeout и tcp-close-wait-timeout в connection tracker'е согласно документации микрота? В диаграмме отражены оба упомянутых параметра, их значения и их влияние на работу системы?
  • 18 июля 2024 г. 15:53
Ответы на вопрос 2
Параметр tcp-fin-wait-timeout отвечает за время ожидания завершения соединения в состоянии FIN-WAIT. Когда TCP соединение завершается, одна сторона отправляет пакет с флагом FIN, а другая сторона должна отправить ACK и перейти в состояние FIN-WAIT. После этого она ждет еще какое-то время завершения соединения перед закрытием его окончательно. Параметр tcp-fin-wait-timeout устанавливает время ожидания завершения соединения в этом состоянии.

Параметр tcp-close-wait-timeout отвечает за время ожидания закрытия соединения после того, как закрытие было инициировано одной из сторон. Находясь в состоянии CLOSE-WAIT, сторона, которая инициировала закрытие, ожидает пока другая сторона закроет соединение. Параметр tcp-close-wait-timeout устанавливает время ожидания закрытия соединения в этом состоянии.

Для настройки таймаутов tcp-fin-wait-timeout и tcp-close-wait-timeout в connection tracker'е Mikrotik необходимо использовать команду:

/ip firewall connection tracking set tcp-fin-wait-timeout=10m tcp-close-wait-timeout=5m

Значения параметров (10m и 5m) указывают время ожидания в минутах. Эти значения можно изменить в зависимости от требований к сети и работе системы.

Диаграмма работы соединений в системе с установленными значениями tcp-fin-wait-timeout и tcp-close-wait-timeout может выглядеть следующим образом:
- Клиент и сервер устанавливают TCP соединение
- Клиент отправляет FIN и переходит в состояние FIN-WAIT
- Сервер получает FIN, отправляет ACK и также переходит в состояние FIN-WAIT
- Ожидание завершения соединения в состоянии FIN-WAIT (время устанавливается параметром tcp-fin-wait-timeout)
- Сервер отправляет FIN, клиент отправляет ACK и переходит в состояние CLOSE-WAIT
- Ожидание закрытия соединения в состоянии CLOSE-WAIT (время устанавливается параметром tcp-close-wait-timeout)
- Закрытие соединения

Установка правильных значений параметров tcp-fin-wait-timeout и tcp-close-wait-timeout поможет оптимизировать работу сети и улучшить производительность.
Это унаследованное от Линуха (РоутерОСь-то родом оттуда).. 

RouterOS | Linux (if your value are right)

tcp-close-timeout=10s | close timeout = 10s
tcp-close-wait-timeout=10s | close-wait timeout = 60s
tcp-established-timeout=1d | established timeout = 5 days
tcp-fin-wait-timeout=10s | fin-wait timeout = 120s
tcp-last-ack-timeout=10s | last-ack timeout = 30s
tcp-syn-received-timeout=5s | syn-received timeout = 60s
tcp-syn-sent-timeout=5s | syn-sent timeout = 120s
tcp-time-wait-timeout=10s | time-wait timeout = 120s
Похожие вопросы