Pages: [1]   Go Down
Print
Author Topic: Checksum pacchetto TCP e Checksum datagram IP  (Read 4181 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
@NIKA89@
Apprendista Forumista
**
Offline Offline

Gender: Female
Posts: 329



« on: 12-06-2011, 16:18:38 »

Salve a tutti. Il problema che ho trovato è una piccola discordanza tra due affermazioni che ho trovato rileggendo gli appunti presi a lezione e vorrei capire se sono io che ho capito male, se ho scritto peggio oppure se le cose davvero non sono chiare.

Parlando dell'intestazione del pacchetto TCP ho trovato questa frase:

La checksum usata riguarda il preambolo, i dati e lo pseudo-preambolo, cioè una parte dell'intestazione del datagram IP. Questo perché a livello di rete non si effettua il controllo degli errori.

Parlando dell'intestazione del datagram IP ho trovato quest'altra frase:

Il campo checksum è usato per il solo preambolo.

Il mio dubbio suppongo sia palese. Perché a livello TCP si dovrebbe controllare anche una parte del datagram IP (con una super violazione del sistema a livelli) quando nell'header IP si trova una checksum per farlo? Oppure sono io che non ho interpretato male quello che veniva detto?

EDIT: E' possibile che si riferisca al fatto che nell'IPv6 il campo di checksum è stato eliminato?
« Last Edit: 12-06-2011, 16:31:47 by @NIKA89@ » Logged

"In genere è meglio palesare la propria intelligenza con quello che si tace piuttosto che con quello che si dice. La prima alternativa è la saggezza, la seconda vanità."

Arthur Schopenhauer
AmNeSiA
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 318



« Reply #1 on: 12-06-2011, 16:34:42 »

non so se può esserti utile ma considera che a livello di rete la checksum è implementata solo per IPv4 e non per IPv6. Magari può essere che effettua un controllo sui datagrammi IPv6.
Quello che dico è solo una mia supposizione sulla base di quello che ho letto fin'ora, ma non prenderla troppo in considerazione 
Logged
denote
Apprendista Forumista
**
Offline Offline

Posts: 136


« Reply #2 on: 12-06-2011, 17:36:26 »

Su RFC 793 c'e scritto tutto. Devi andare li a vedere come funziona. Meno male che ti avevo consigliato di farlo nei post precedenti.

Comunque per quanto riguarda il dubbio delle violazioni dei livelli  se  qui c'e violazione  non è una novità.
Se fai attenzioni ai livelli che ci stanno sotto violazioni ce ne sono a non finire

ciao
« Last Edit: 12-06-2011, 17:39:50 by denote » Logged

Con la concorrenza di Java hanno ucciso 40 anni di computer science
@NIKA89@
Apprendista Forumista
**
Offline Offline

Gender: Female
Posts: 329



« Reply #3 on: 12-06-2011, 21:48:32 »

considera che a livello di rete la checksum è implementata solo per IPv4 e non per IPv6.

E' quello che ho pensato anche io (vedi edit del mio primo post)


Su RFC 793 c'e scritto tutto. Devi andare li a vedere come funziona. Meno male che ti avevo consigliato di farlo nei post precedenti.

  Bravo! Hai scoperto l'acqua calda!
Un dubbio posto sul forum, non implica che io non continui a ricercare la risposta.
Dato che è una cosa che è stata detta a lezione, mi sembrava corretto dirlo "pubblicamente" in modo che anche qualcun altro che le avesse seguite potesse notare quella che a primo impatto sembra una contraddizione. Ti ricordo che il forum è stato creato per condividere/ricevere aiuto anche su questo tipo di dubbi.
La prossima volta che vedi una domanda di questo tipo (fatta da me o da chiunque altro e per qualsiasi argomento) e l'unica risposta che puoi dare è "vai a cercare in tal posto" limitati a dire "vai a cercare in tal posto". La ricamatina del "meno male che te l'avevo detto" risparmiatela perché gli insulti velati puoi tenerli benissimo per te!

Comunque per quanto riguarda il dubbio delle violazioni dei livelli  se  qui c'e violazione  non è una novità.
Se fai attenzioni ai livelli che ci stanno sotto violazioni ce ne sono a non finire

  Ti meriti un altro applauso. Non ho detto infatti che il problema fosse la violazione.

[OFF TOPIC]
La tua risposta mi ha fatto capire ancora di più perché sempre più spesso in questo forum fanno avanti post inutili e polemici mentre diminuiscono a vista d'occhio quelli in cui qualcuno chiede "aiuto" agli altri.
[/OFF TOPIC]
« Last Edit: 12-06-2011, 21:52:22 by @NIKA89@ » Logged

"In genere è meglio palesare la propria intelligenza con quello che si tace piuttosto che con quello che si dice. La prima alternativa è la saggezza, la seconda vanità."

Arthur Schopenhauer
shiny
Forumista
***
Offline Offline

Posts: 810



WWW
« Reply #4 on: 13-06-2011, 12:46:11 »


La checksum usata riguarda il preambolo, i dati e lo pseudo-preambolo, cioè una parte dell'intestazione del datagram IP. Questo perché a livello di rete non si effettua il controllo degli errori.

Il campo checksum è usato per il solo preambolo.

Guarda io non vedo completamente ne la discordanza ne la presunta violazione dei livelli in quanto:

siano Dp=dati visti dal livello IP, P=intestazione IP, Dt=dati visti dal livello TCP, e T=intestazione TCP, allora

CHK(Dp,P,T) = CHK(Dt,T)

ovvero ciò che si afferma e' che Tcp fa un checksum sull'intero pacchetto mentre si presuppone che a livello IP il protocollo non lo faccia ovvero che sotto ci stia IPv6   
« Last Edit: 13-06-2011, 12:56:24 by shiny » Logged
@NIKA89@
Apprendista Forumista
**
Offline Offline

Gender: Female
Posts: 329



« Reply #5 on: 13-06-2011, 14:18:48 »

Guarda io non vedo completamente ne la discordanza ne la presunta violazione dei livelli in quanto:

siano Dp=dati visti dal livello IP, P=intestazione IP, Dt=dati visti dal livello TCP, e T=intestazione TCP, allora

CHK(Dp,P,T) = CHK(Dt,T)

ovvero ciò che si afferma e' che Tcp fa un checksum sull'intero pacchetto mentre si presuppone che a livello IP il protocollo non lo faccia ovvero che sotto ci stia IPv6  

Sinceramente non riesco a seguire il tuo ragionamento.
Il pacchetto a livello TCP è formato da intestazione TCP + dati. Per seguire le tue sigle sarebbe Dt + T.
A livello IP poi si aggiunge l'altra intestazione, quindi P +Dp = P + T + Dt se non mi sbaglio.
Perciò quando calcolo una checksum a livello TCP, dovrei calcolare CHK(Dt, T) != CHK(P, T, Dt) == CHK(P, Dp). Per calcolarla anche su P devo sapere già cosa verrà "attaccato" a livello inferiore.
Cerco di spiegarmi meglio.
Se io sono il livello di trasporto ricevo Dt dal livello Applicativo, ci attacco T e lo mando giù a livello di rete. Il livello di rete prende quello che io gli passo come Dp e gli attacca P.
Se a livello di trasporto devo calcolare CHK(P, T, Dt), devo conoscere P perciò violo la pila protocollare.

Il problema, comunque non è la violazione perchè non sarebbe nè la prima nè l'ultima!

Il fatto che si presupponga che ci sia IPv6 sotto è stata anche la mia ipotesi in quanto mentre IPv4 effettua il controllo sulla propria intestazione, IPv6 non lo fa.
« Last Edit: 13-06-2011, 14:23:08 by @NIKA89@ » Logged

"In genere è meglio palesare la propria intelligenza con quello che si tace piuttosto che con quello che si dice. La prima alternativa è la saggezza, la seconda vanità."

Arthur Schopenhauer
shiny
Forumista
***
Offline Offline

Posts: 810



WWW
« Reply #6 on: 13-06-2011, 16:48:28 »

Hai proprio ragione ho scritto una caxxata perché pensavo che lo pseudo preambolo non fosse qualcosa del livello sottostante anche se riferito all'header IP (qualcosa tipo "collagene" tra header per la sincronizzazione)... Cmq ho trovato un po di info qui   
« Last Edit: 13-06-2011, 16:51:02 by shiny » Logged
Pages: [1]   Go Up
Print
Jump to: