ICMP utilizza numeri di porta?
No—ICMP non utilizza numeri di porta.
ICMP (Internet Control Message Protocol) opera al Livello 3 (Livello Rete) del modello OSI, accanto a IP. È incapsulato direttamente in pacchetti IP (numero protocollo 1), non in segmenti TCP (protocollo 6) o UDP (protocollo 17) dove risiedono le porte.
Come ICMP identifica le comunicazioni
- Campi Tipo e Codice: Invece di porte, i messaggi ICMP usano un Tipo a 8 bit (es. 0 = Eco Risposta, 8 = Eco Richiesta, 3 = Destinazione Non Raggiungibile, 11 = Tempo Scaduto) e un Codice a 8 bit per sottotipi.
- Identificatore e Numero di sequenza: In Eco Richiesta/Risposta (ping), questi campi abbinano richieste a risposte—funzionalmente simili alle porte ma al livello ICMP.
Perché questo è importante
- I firewall filtrano ICMP per Tipo/Codice, non per porta.
- Non puoi "associare" un socket a una porta ICMP—sono richiesti socket grezzi (SOCK_RAW, IPPROTO_ICMP).
- Strumenti come
ping,traceroutee Path MTU Discovery si basano sul design senza porte di ICMP.
ICMP è un protocollo di piano di controllo per diagnostica di rete e segnalazione errori—non un trasporto applicativo. Ecco perché bypassa completamente l'astrazione delle porte.