Estou desenvolvendo um driver Ethernet e implementando o código de troca TCP. Para testar meu código TCP este é o cenário (monitorado no wireshark):
Servidor: dispositivo Ethernet personalizado
Cliente: computador
- Abri o soquete do cliente TCP no utilitário hercules.
- Consigo ver a solicitação ARP e a troca de resposta do dispositivo ethernet e do hercules.
- Depois que a solicitação ARP é atendida, o cliente envia o pacote TCP SYN e as respostas do servidor com SYN-ACK.
- Para concluir o handshake de 3 vias, o cliente deve enviar ACK no final, o que não estou recebendo e o hercules informa que o tempo limite da conexão TCP está esgotado.
Preciso diagnosticar o possível problema do motivo pelo qual o cliente não está reconhecendo o SYN-ACK para concluir o handshake de 3 vias.