Perché l'ICMP è classificato come protocollo di livello 3? [chiuso]


11

ICMP è classificato come protocollo di livello 3 nel modello OSI, ma per quanto ne so non soddisfa la definizione di protocollo di livello di rete.

Non fornisce l'indirizzamento o il routing dei pacchetti (utilizza IP per questo), quindi tutto ciò che fa è inviare informazioni da un nodo a un altro nodo, come un protocollo di trasporto. Quindi, dato ciò, perché l'ICMP è classificato come protocollo di livello 3?


Può anche dirti da che parte va il traffico, confermare l'esistenza di host, informare i mittenti dei problemi e, soprattutto, per funzionare, ha bisogno dell'indirizzo IP
NickW

credo che tutte le cose che hai citato siano semplici forme di spostamento delle informazioni. sono d'accordo che ha bisogno di IP, ma sicuramente questo è un motivo per essere collocato in uno strato sopra IP nello stack.
Robbie Mckennie,

1
Ci sono comunque troppi livelli :)
NickW,

1
Suppongo di aver sbagliato a parlare quando ho detto che DOVREBBE essere nel livello di trasporto. Volevo dire che sembra essere fuori posto nel livello della rete, quindi qual è la spiegazione che lo dice lì? Ovviamente presumo che tutto abbia una ragione, a volte sbaglio.
Robbie Mckennie,

7
È importante rendersi conto che Internet non si adatta alla pulizia nel modello OSI. In effetti le RFC (3439 2.4) menzionano che considerano dannose le stratificazioni quando le persone cercano di essere troppo rigide al riguardo. Fondamentalmente l'ICMP è richiesto per l'IP, quindi si potrebbe sostenere che appartiene all'IP. ICMP è sostanzialmente la funzione di notifica degli errori dell'IP. TCP / UDP utilizza l'IP per i messaggi di errore (porta non raggiungibile). PMTU è fatto da ICMP. Quindi ICMP sicuramente abbassa il TCP / UDP. Devi semplicemente accettare che in TCP / IP non ci sono bordi rigidi tra i layer . Importa solo che qualcosa funzioni.
Zoredache,

Risposte:


15

ICMP è in realtà nella parte superiore del livello 3. Utilizza il protocollo IP per inviare i dati a un host remoto. In altre parole, i messaggi ICMP devono essere incapsulati in pacchetti IP.

Consideralo simile all'ARP che potrebbe essere considerato "nella parte superiore" del livello 2, mentre utilizzi il protocollo Ethernet per inviare effettivamente i pacchetti.

ICMP è implementato come parte del livello IP in modo che l'elaborazione ICMP possa essere vista in parallelo o come parte dell'elaborazione IP. Pertanto, nell'argomento sulla rete a più livelli basata su TCP / IP, ICMP viene mostrato come protocollo di livello 3.

@Robbie Mckennie

A quale livello appartiene ICMP è oggetto di un acceso dibattito. L'intestazione ICMP è al livello 4, proprio come TCP e UDP, quindi le persone sostengono che appartiene al livello 4. Altri invece sostengono che ICMP è un protocollo di livello 3, poiché assiste IP e non ha il concetto di porte.

Per me, la classificazione di un protocollo come appartenente a un determinato livello nel modello OSI dipende da come funziona il protocollo. Un esempio:

BGP viene utilizzato per instradare al livello 3, ma BGP stesso è trasportato da TCP (e ovviamente IP)


Quindi stai dicendo che è classificato come protocollo di livello 3 a causa del modo in cui viene elaborato nello stack, non per quello che fa?
Robbie Mckennie,

3
No, funziona al livello 3. Per tutto ciò che fa, è al livello 3. La cosa importante che dovresti chiedere a te stesso:What is the "data unit of layer 4 protocol"?
cuonglm,

Non so nemmeno cosa significhi quella domanda. Stavo solo pensando lungo le linee delle definizioni che ho letto per i diversi livelli, forse la mia idea di come funziona il modello di livelli osi è errata
Robbie Mckennie,

1
Ops, solo un suggerimento. data unit of layer 1 is bits, data unit of layer 2 is frames, data unit of layer 3 is packets. Che cos'è il layer 4?
cuonglm,

Per rispondere a cuonglm: la PDU del layer 4 è un "segmento"
lobi,

6

ICMP (e ICMPv6, IGMP, ecc.) Gestiscono tutti le connessioni del livello di rete. Non sono (in genere) utilizzati dagli utenti finali, ma dal sistema operativo. Per questo motivo, appartiene a Layer 3 (Network) anche se si basa su IP per l'indirizzamento e la determinazione del percorso (routing).

Il modello OSI è in gran parte scritto dalla prospettiva di connettere gli utenti (persone reali o server delle applicazioni). Tutti i protocolli di gestione e quant'altro non si adattano ancora al modello OSI, ma non sembrano corrispondere perfettamente alla lingua perché non (tipicamente) servono direttamente gli utenti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.