Para mensajes de tipo de consulta / respuesta ICMP como Echoes (pings), NAPT usa el ID de consulta ICMP (a veces simplemente llamado ID ICMP) de la misma manera que usaría un número de puerto TCP o UDP.
Para los mensajes de error ICMP como Destination Unreachable, utiliza la copia interna del paquete ICMP de los encabezados de la trama que causó el error para determinar qué mapeo en la tabla NAT usar para traducirlo.
Estos procedimientos se mencionan brevemente en varios RFC relacionados con NAT, pero me costó encontrar uno que explique explícitamente el procedimiento. Consulte "NAT tradicional", RFC3022 , sección 4.1.
Esto no entra en conflicto con ningún mapeo TCP o UDP porque en una buena implementación NAPT, el protocolo es una de las piezas de información contenidas en la entrada de la tabla NAT para hacerlo único.