O primeiro pacote (e todos os outros até que a negociação seja concluída) é sempre descartado.
Isso é verdade para todas as implementações do ISAKMP com as quais lidei. Eu não acredito que haja necessariamente qualquer razão que não pudesse armazenar em buffer os pacotes que estão sendo descartados; em vez disso, não deveria .
Esta é uma extensão de uma decisão de design consciente que é usada em toda a infraestrutura de roteamento da Internet: Não segure os pacotes .
Os sistemas de roteamento na Internet sempre descartarão um pacote em vez de atrasá-lo, quando não conseguirem (quase) direcioná-lo imediatamente. A perda de pacotes na Internet como um todo poderia ser facilmente reduzida a níveis muito mais baixos simplesmente mantendo um pacote em buffer até que haja espaço para isso. Mas é aí que reside o problema; um roteador sobrecarregado executando 200ms em uma fila first-in-first-out atrasaria cada pacote por 200ms.
Trazendo isso de volta para a situação do ISAKMP; segurar um par de pings até que o caminho esteja pronto para carregá-los é ótimo, mas e se for um fluxo constante de centenas de milhares de pacotes UDP? E se o sistema remoto estiver inacessível, então o ISAKMP fica lá esperando por uma mensagem de negociação do ISAKMP 2 por 60 segundos?
Embora esses não sejam problemas de engenharia intransponíveis, a sabedoria convencional na comunidade de engenharia da Internet é que é muito mais simples e fácil ter sistemas clientes lidando com problemas de perda de pacotes, principalmente por meio do uso de protocolos tolerantes a perdas como o TCP. / p>