Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> networking >> Voice Over IP >> .

Quando un pacchetto di ricezione host descrive cosa succede?

Quando un host riceve un pacchetto, si verifica una serie complessa di eventi, orchestrati da hardware e software. Ecco una rottura del processo, dal livello fisico al livello dell'applicazione:

1. Ricezione di strato fisico:

* Ricezione del segnale: La scheda di interfaccia di rete (NIC) riceve il segnale in arrivo (onda elettrica, ottica o radio) che trasporta il pacchetto.

* Conversione del segnale: La NIC converte il segnale in un formato digitale che il computer può comprendere (bit e byte).

* Rilevamento degli errori del livello fisico: La NIC esegue spesso il rilevamento degli errori di base, controllando cose come l'integrità del segnale e gli errori di inquadratura nel livello fisico. Se vengono rilevati errori, il pacchetto potrebbe essere lasciato cadere immediatamente.

2. Elaborazione del livello del collegamento dati (in genere Ethernet):

* Demarcazione del frame: La NIC identifica l'inizio e la fine del frame di dati utilizzando delimitatori di frame (ad es. Preambolo e delimitatore del frame di avvio in Ethernet).

* Verifica della sequenza di controllo del frame (FCS): La NIC calcola l'FCS (noto anche come CRC - Check di ridondanza ciclica) per il frame ricevuto e lo confronta con gli FC inclusi nel frame. Questo è un controllo di errore più robusto che a livello fisico. Se l'FCS non corrisponde, indicando la corruzione dei dati durante la trasmissione, il frame viene scartato.

* Indirizzo di destinazione Mac Verifica: La NIC estrae l'indirizzo MAC di destinazione dall'intestazione del frame e lo confronta con l'indirizzo MAC della NIC o l'indirizzo MAC di trasmissione.

* Match: Se gli indirizzi MAC corrispondono (o è una trasmissione), il frame viene accettato e passato al livello successivo (livello di rete).

* Mismatch: Se gli indirizzi MAC non corrispondono, il frame viene in genere scartato. In modalità promiscua (utilizzata per il monitoraggio della rete), la NIC potrebbe essere configurata per acquisire tutti i frame indipendentemente dall'indirizzo MAC di destinazione.

* Apprendimento dell'indirizzo MAC di origine (per switch): Se il dispositivo ricevente è uno switch di rete, imparerà la mappatura dell'indirizzo MAC di origine sulla porta su cui è stato ricevuto il frame. Questo aiuta a cambiare i frame futuri in modo più efficiente.

3. Elaborazione del livello di rete (in genere IP):

* Estrazione dei pacchetti: Il NIC passa il payload del frame (il pacchetto IP) allo stack di rete del sistema operativo.

* Convalida dell'intestazione IP: Lo stack di rete controlla l'intestazione IP per la validità:

* Versione: Verifica la versione IP (IPv4 o IPv6).

* Checksum di intestazione: Convalida il checksum di intestazione IP per garantire che l'intestazione non sia stata corrotta. Se il checksum non è valido, il pacchetto viene scartato.

* Time to Live (TTL) / Limite hop: Riduce il campo TTL (IPv4) o Limite Hop (IPv6). Se il limite TTL/Hop raggiunge 0, il pacchetto viene scartato per prevenire i loop di routing e un messaggio "Time Time superato" ICMP potrebbe essere inviato alla fonte.

* Indirizzo IP di destinazione Verifica: Lo stack di rete confronta l'indirizzo IP di destinazione nell'intestazione IP con l'indirizzo IP dell'host.

* Match: Se gli indirizzi IP corrispondono, il pacchetto è destinato a questo host ed è ulteriormente elaborato.

* Mismatch: Se gli indirizzi IP non corrispondono:

* non un router: Se l'host non è configurato come router, il pacchetto viene scartato.

* router: Se l'host è configurato come router, consulta la sua tabella di routing per determinare il hop successivo per il pacchetto e inoltra il pacchetto di conseguenza (dopo aver decretato il limite TTL/hop e l'aggiornamento del checksum di intestazione).

* frammentazione/rimontaggio (se necessario): Se il pacchetto è stato frammentato sulla fonte (o un router intermedio) perché era troppo grande per il percorso di rete (problemi di MTU), l'host ricevente potrebbe aver bisogno di riassemblare i frammenti nel pacchetto IP originale.

* Identificazione del protocollo: Lo stack di rete utilizza il campo "Protocollo" nell'intestazione IP (ad es. 6 per TCP, 17 per UDP, 1 per ICMP) per determinare quale protocollo di livello di trasporto sta utilizzando il pacchetto.

4. Elaborazione del livello di trasporto (TCP o UDP):

* Identificazione del numero di porta: Il livello di trasporto estrae il numero di porta di destinazione dall'intestazione TCP o UDP. Il numero di porta identifica l'applicazione o il servizio specifico in esecuzione sull'host che dovrebbe ricevere i dati.

* Convalida dell'intestazione del livello di trasporto: Il livello di trasporto controlla l'integrità dell'intestazione.

* checksum: Le intestazioni TCP e UDP contengono un checksum per garantire che i dati non siano stati corrotti durante la trasmissione. Se il checksum non è valido, il pacchetto viene in genere scartato.

* Connection Management (solo TCP): Se il pacchetto è un pacchetto TCP, il livello di trasporto gestisce le caratteristiche orientate alla connessione:

* Verifica del numero di sequenza: TCP utilizza i numeri di sequenza per garantire che i pacchetti vengano ricevuti nell'ordine corretto e per rilevare i pacchetti mancanti. Il ricevitore verifica il numero di sequenza per riassemblare correttamente il flusso di dati.

* Riconoscimento (ACK) Invio: Il ricevitore invia il riconoscimento (ACKS) al mittente per confermare che i pacchetti sono stati ricevuti con successo.

* Controllo del flusso: TCP implementa i meccanismi di controllo del flusso per impedire al mittente di schiacciare il ricevitore con i dati.

* Consegna dei dati: Il livello di trasporto fornisce i dati (il payload del pacchetto TCP o UDP) all'applicazione o al servizio appropriato identificato dal numero di porta.

5. Elaborazione del livello dell'applicazione:

* Interpretazione dei dati: L'applicazione riceve i dati dal livello di trasporto. Quindi interpreta i dati in base al suo protocollo specifico (ad esempio HTTP, SMTP, DNS).

* Azione basata sui dati: L'applicazione intraprende azioni appropriate in base ai dati ricevuti. Questo potrebbe comportare:

* Visualizzazione di una pagina Web in un browser (HTTP).

* Consegna di un'e -mail (SMTP).

* Risoluzione di un nome di dominio (DNS).

* Riproduzione di uno streaming video.

Tabella di riepilogo:

| Strato | Azioni chiave |

| ---------------- | ------------------------------------------------------------------------------------- |

| Fisico | Ricezione del segnale, conversione, rilevamento di errori di base |

| Link dei dati | DEMARCATION FRAFE, Verifica FCS, filtro dell'indirizzo MAC |

| Rete | Convalida dell'intestazione IP, corrispondenza dell'indirizzo IP, routing, frammentazione/rimontaggio |

| Trasporto | Identificazione del numero di porta, convalida dell'intestazione, gestione della connessione (TCP) |

| Applicazione | Interpretazione dei dati, elaborazione specifica dell'applicazione |

Considerazioni importanti:

* Gestione degli errori: Il rilevamento e la gestione degli errori sono cruciali ad ogni livello. I pacchetti ritenuti danneggiati sono in genere scartati.

* multithreading/multiprocessing: I moderni sistemi operativi utilizzano multithreading e multiprocessing per gestire il traffico di rete in modo efficiente. Lo stack di rete può gestire più pacchetti contemporaneamente.

* Ottimizzazione delle prestazioni: I sistemi operativi impiegano varie tecniche per ottimizzare le prestazioni della rete, come la gestione dei buffer, la memorizzazione nella cache e la mitigazione degli interruzioni.

* Sicurezza di rete: I firewall e i sistemi di rilevamento delle intrusioni (ID) possono ispezionare i pacchetti a vari livelli per identificare e bloccare il traffico dannoso.

* Accelerazione hardware: Alcuni NIC offrono un'accelerazione hardware per alcune attività di rete, come il calcolo del checksum TCP, che può migliorare le prestazioni.

Questa rottura dettagliata illustra il complesso processo coinvolto nella ricezione e l'elaborazione di un pacchetto. Ogni livello svolge funzioni specifiche per garantire una trasmissione di dati affidabile ed efficiente.

 

networking © www.354353.com