Pacchetti TCP/UDP

di dna_programmer il
32 risposte

32 Risposte - Pagina 2

  • Riferendomi al primo punto non capisco una cosa:

    se è il protocollo ethernet che si occupa di riorganizzare i pacchetti perchè su wikipedia dice:

    "inoltre non gestisce il riordinamento dei pacchetti né la ritrasmissione di quelli persi"(http://it.wikipedia.org/wiki/User_Datagram_Protoco)

    Se è il protocollo ethernet che si occupa di riorganizzare è ovvio che l'UDP non se ne occupi
  • Attenzione l' UDP non se ne occupa, ma il TCP si.
    Il protocollo ethernet si occupa di frammentare (eventualmente) un singolo pacchetto, protocolli come il TCP si occupano di ricostruire un messaggio diviso in tanti pacchetti.
  • No aspetta sto andando in confusione,nel messaggio precedente hai scritto:

    "È il protocollo èthernet che quando trasferisce un pacchetto decide se frammentarlo o meno e poi ricostruirlo dall' altra parte"

    è il protocollo ethernet che si occupa di ricostruire il tutto oppure i protocolli di trasporto?
  • Tranquillo, tiriamo un bel respiro e mettiamoci comodi.

    Un conto è la frammentazione di un singolo pacchetto (e se ne occupa eventualmente l' ethernet).
    Per i protocolli superiori (UDP, TCP) il pacchetto è indivisibile.

    Poi c' e una trasmissione secondo un certo protocollo (sempre TCP o UDP) che può avvenire inviando una serie di pacchetti. In questo caso il procolollo può controllare o meno se i pacchetti sono arrivati tutti e nel giusto ordine.
  • Cioè quindi da quello che ho capito il protocollo di trasporto(esempio TCP) può controllare se il protocollo ethernet ha eseguito bene il lavoro di riassemblamento. E' cosi'?
  • Esatto! il TCP si ritrova i suoi pacchetti tutti belli pronti, li esamina e stabilisce se sono arrivati integri, nell' ordine giusto ecc.

    Del fatto che a fargli arrivare i pacchetti sia stato un dispositivo ethernet piuttosto che altro non gliene importa nulla.
  • Allora riassumo un po' la situazione per ricapitolare le idee:

    io invio dei dati mediante TCP,essi vengono inglobati in un pacchetto IP e a sua volta in un frame ethernet o wi-fi.Il protocollo ethernet puo' frammentare i dati in più frame ethernet e spedirli singolarmente.Il ricevente riceverà tutti i frame in maniera "sparpagliata" ed il protocollo TCP li riorganizza e assembla.

    Per quanto riguarda l'UDP la situazione è simile solo che, se dovesse avvenire la frammentazione,esso non controlla l'ordine di arrivo dei dati percio' possono arrivare in ordine casuale e far causare errori per il riassemblamento.

    E' giusto?
  • dna_programmer ha scritto:


    allora riassumo un po' la situazione per ricapitolare le idee:

    io invio dei dati mediante TCP,essi vengono inglobati in un pacchetto IP e a sua volta in un frame ethernet o wi-fi.Il protocollo ethernet puo' frammentare i dati in più frame ethernet e spedirli singolarmente.Il ricevente riceverà tutti i frame in maniera "sparpagliata" ed il protocollo TCP li riorganizza e assembla. (questo è scorretto)
    il protocollo ethernet riassembla i frame ethernet e ricompone il pacchetto IP.

    IP vede sempre i pacchetti interi. TCP riorganizza insiemi di pacchetti (non il singolo pacchetto)
  • Quindi in pratica se io devo mandare dei dati e ipotizzando il SO li divide in 5 pacchetti,ogni pacchetto viene inserito in un frame ethernet e spedito dopodichè il ricevente,mediante protocollo ethernet,ricompone tutti i frame ethernet e "li passa" al protocollo IP che li vede unici; a questo punto si passa allo strato superiore e il TCP controlla la correttezza dell'intero pacchetto IP.

    Giusto cosi?

    Scusa se ripeto queste cose solo che sembra sempre che mi manchi qualche step
  • Direi che hai capito il giro.
    Lasciami però essere pignolo e precisare un punto:

    dna_programmer ha scritto:


    se io devo mandare dei dati e ipotizzando il SO li divide in 5 pacchetti,ogni pacchetto viene inserito in un frame ethernet e spedito dopodichè il ricevente,mediante protocollo ethernet,ricompone tutti i frame ethernet e "li passa" al protocollo IP che li vede unici; a questo punto si passa allo strato superiore e il TCP controlla la correttezza dell'intero pacchetto IP.
    È il protocollo IP che controlla la correttezza del singolo pacchetto IP, il protocollo TCP controlla la correttezza dell' intero messaggio, cioè dell' insieme dei 5 pacchetti. Per esempio controlla che siano proprio 5 e che siano nell' ordine corretto.
  • Ciao ragazzi

    @barba, bella spiegazione. Ma sei sicuro che funzioni così? Mi spiego, come farebbe a funzionare il Traceroute se venissero persi i pacchetti contenitori precedenti? Devono per forza essere impachettati in blocco dentro un altro.
  • Ho capito cosa intendi, ma questo sarebbe impossibile, il pacchetto diventerebbe sempre più grande.
  • Ma allora come farebbe il traceroute a funzionare?
  • Ma nei film si vede sempre che ti tracciano il messaggio, come fanno?
Devi accedere o registrarti per scrivere nel forum
32 risposte