Начиная с Windows 2008R2 Появилась фича ограничивающая время жизни неактивной TCP сессии, это может вызывать неудобства при работе клиент-серверной спайке приложений.
Например при работе с базой данных Firebird возможны разрывы сессии, связан с ограничениями по безопасности ОС Windows
параметр описан в конфиге:
C:\Program Files (x86)\Firebird\Firebird_2_1\intl\fbintl.conf
---------------------------------
Normally, Firebird uses SO_KEEPALIVE socket option to keep track of
# active connections. If you do not like default 2-hour keepalive timeout
# then adjust your server OS settings appropriately. On UNIX-like OS's,
# modify contents of /proc/sys/net/ipv4/tcp_keepalive_*. On Windows,
# follow instrutions of this article:
# http://support.microsoft.com/default.aspx?kbid=140325
----------------------------------
Microsoft не рекомендует изменять этот параметр, ввиду защиты от Перегрузки и доступности по количеству соединений в стеке протокола TCP/IP (это зависит от 15 бит отведенных для Destination Port в пакете передачи данных ) -- поддержку и переподключение как правило настраивают на стороне клиента подключения.
При крайней необходимости, можно выполнить настройку(увеличение времени жизни сессии), но это может вылиться в проблему, что прийдется просто банально периодически перезагружать ОС(операционную систему) так как параметр применяется на все соединения системы( а их может быть очень много)
Вот здесь есть рекомендации:
https://blogs.technet.microsoft.com/nettracer/2010/06/03/things-that-you-may-want-to-know-about-tcp-keepalives/
https://habr.com/ru/company/intersystems/blog/155565/
создал 2 параметра
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"KeepAliveTime"=dword:fffffff0
"KeepAliveInterval"=dword:0ffffff0
значения в милиСекундах
• tcp_keepalive_time — интервал времени с момента отправки последнего пакета с данными; по истечении этого срока соединение помечается как требующее проверки; после начала проверки параметр не используется;
• tcp_keepalive_intvl — интервал между проверочными пакетами (отправка которых начинается по истечении tcp_keepalive_time);