Tenho tido alguns problemas com dois servidores que tenho com o meu provedor de hospedagem VPS, onde tenho recebido erros de conexão intermitentes.
Eu fiz os rastreamentos de LAN do servidor e descobri o que acredito ser um problema entre o balanceador de carga (fornecido pelo provedor de hospedagem) conectado ao servidor.
No rastreamento, vejo o balanceador de carga enviar um SYN, o servidor responde com SYN ACK e, em seguida, o balanceador de carga envia RST ACK, conforme mostrado no snippet abaixo
192.168.255.20sendoobalanceadordecargae192.168.173.16sendooservidor.
DomeuentendimentodoTCP,verpacotesRSTemumrastreioéumacoisaruim,poissignificapacotenãoreconhecido,conexãoinválida,soquetenãoabertoetcesuaconexãoabortadadevidoaumproblema.
Euconsulteiissocommeuprovedordehospedagemeelesdisseramqueénormal,éapenaspartedeumaverificaçãodeintegridadedeTCPentreobalanceadordecargaeoservidor.
Issomepareceuumpoucoestranho,nãoconsigoencontrarnadaespecíficosobreaverificaçãodeintegridadedoTCPfazendoalgodiferentedeapenasumaconexãoTCPnormal,maspresumiqueaverificaçãodesaúdeétãosimplesquantoabrirconexãocomosoqueteedepoisfechar.
EutesteiissoenquantofaziaumrastreamentodomeulaptopparaumacaixaLinuxemcasaeentãoeuvejoqueolaptopenviaSYN,recebeoSYNACK,olaptopenviadevoltaoACK.Quandoeumedesconectar,euobtenhoFIN,seguidoporFINACKdecadadispositivoparafecharaconexão.Issoéoqueeuesperavavernobalanceadordecarga.
Euconsulteiissonovamentecommeuprovedordehospedagemeelesretornaramcomaseguintedeclaração:
TheimportantpacketintheTCPHealthCheckisthe"SYN ACK" coming from the back end Node. The "RST ACK" simply discards the connection once the back end Node demonstrates that the TCP protocol is up and responding with a "SYN ACK" packet.
It is a Health Check, not a connection, per se.
Isso soa correto, pois não consigo ver nada sobre verificações de integridade TCP específicas e que um pacote RST, nesse caso, seria esperado.
Obrigado
Tags tcp healthcheck