Segmenti, pacchetti e frame hanno le stesse dimensioni se ignoriamo le intestazioni?


12

Ho cercato alcune spiegazioni sulle differenze tra segmenti, pacchetti e frame e da ciò che ho letto:

  • Il segmento è i dati originali + intestazione del livello di trasporto.
  • Il pacchetto è un'intestazione Segmento + Livello di rete.
  • Frame è un'intestazione Packet + Data Link Layer.

Quindi, in pratica, ciò significa che se mettiamo da parte le intestazioni, Segments = Packets = Frames.

Ricordo di aver letto che il livello Data Link prende i dati trasferiti dal livello di rete e li divide in blocchi di dati più piccoli per il trasferimento del livello fisico. Pertanto, ho ipotizzato che quei frame siano pezzi più piccoli di un determinato pacchetto.

Ma ovunque cerco, leggo che l'unica differenza tra Segmenti, Pacchetti e Cornici sono le intestazioni associate ai dati originali nei diversi livelli e che i nomi sono diversi perché sono unici per ogni livello, anche se fondamentalmente è il stessa cosa.

Segmenti, pacchetti e cornici sono davvero la stessa cosa, ad eccezione delle intestazioni che ognuna include? Hanno tutte le stesse dimensioni?


1
il "riempimento", o quantità di dati, può essere diverso. Dai un'occhiata all'algoritmo Nagle, implementato in una serie di stack di rete: en.wikipedia.org/wiki/Nagle's_algorithm
Florenz Kley

Risposte:


16

inserisci qui la descrizione dell'immagine

Ogni livello ha la sua intestazione, come puoi vedere:

  • Segmenti: livello di trasporto (TCP / UDP) = intestazione di trasporto + dati (dal livello superiore)
  • Pacchetto: livello Internet (IP) = intestazione di rete + intestazione di trasporto e dati (sia trasporto che dati dai livelli superiori)
  • Frame: livello di rete (Ethernet) = intestazione frame + rete, intestazione di trasporto e dati (dai tre livelli superiori).

Quindi, per rispondere alla tua domanda, la differenza tra segmento, pacchetto e frame è fondamentalmente ciò che i rispettivi livelli considerano "dati". Su un segmento, i dati provengono dal livello dell'applicazione; su un pacchetto, i dati provengono dal livello di trasporto (intestazione di trasporto + dati); e su un frame, i dati provengono dal livello Internet (intestazioni di trasporto e Internet + dati dal livello applicazione).


1
E che dire del modo in cui i dati vengono infine trasferiti attraverso il livello fisico? Se non tutti i dati vengono trasferiti contemporaneamente, come funziona la suddivisione? Succede simultaneamente nei livelli Network & Data Link (e gestito dal livello Transport)? Puoi per favore approfondire questo processo nella tua risposta?
amiregelz,

Diogo è corretto, ma ci sono anche alcune considerazioni che possono essere fuorvianti. Nonostante si stia inviando 100 byte di dati, il pacchetto occupa ancora l'intero MTU (in genere ~ 1500 byte) sul filo. Il lato negativo è che se si inviano un sacco di piccoli pacchetti, non si otterrà mai la massima larghezza di banda in grado per il collegamento di rete. Alcuni tunnel incapsulati possono ridurre / minimizzare questo spreco ... ma questo è un altro argomento.
TheCompWiz

@Diogo Puoi modificare la tua risposta in base al mio commento? Grazie.
amiregelz,

0

Segmenti, pacchetti e cornici sono davvero la stessa cosa, ad eccezione delle intestazioni che ognuna include?

http://www.inetdaemon.com/tutorials/basic_concepts/communication/frames_packets_n_pdus.shtml

Hanno tutte le stesse dimensioni?

Se pensi ai livelli come entità singole, allora no; tutti hanno dimensioni massime e minime diverse. Pensandoli in relazione l'uno con l'altro; il livello inferiore determina quale sia la dimensione massima dei dati che può essere distribuita da un livello superiore.

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.