Para mensagens de tipo de consulta / resposta ICMP, como Ecos (pings), o NAPT usa a ID de consulta ICMP (às vezes chamada apenas de ID do ICMP) da mesma maneira que usaria um número de porta TCP ou UDP.
Para mensagens de erro ICMP, como Destino Inacessível, ele usa a cópia interna do pacote ICMP dos cabeçalhos do quadro que causou o erro para descobrir qual mapeamento na tabela NAT deve ser usado para traduzi-lo.
Esses procedimentos são referenciados brevemente em vários RFCs relacionados a NAT, mas eu tive dificuldade em encontrar um que explicitamente descrevesse o procedimento. Consulte "NAT tradicional", RFC3022 , seção 4.1.
Isso não entra em conflito com nenhum mapeamento TCP ou UDP porque, em uma boa implementação do NAPT, o protocolo é uma das informações armazenadas na entrada da tabela NAT para torná-la única.