Universita’


Identificare univocamente una medesima connessione TCP



Scaricare 0.54 Mb.
Pagina22/38
29.03.2019
Dimensione del file0.54 Mb.
1   ...   18   19   20   21   22   23   24   25   ...   38

4.3 Identificare univocamente una medesima connessione TCP


Nel caso della lettura del file binario di Tcpdump, si pone il problema di identificare tutti i pacchetti che provengono dalla stessa connessione TCP. Per il formato di output del simulatore ns-2 questo informazione non serve ricavarla, perché ogni pacchetto ha un suo identificativo di flusso. Nel campo di Tcpdump come si può invece, capire se un pacchetto fa parte o no di una connessione già esistente? In questo caso, per identificare univocamente una medesima connessione TCP stabilita fra due host, si tiene conto della quadrupla formata da: indirizzo IP sorgente, porta sorgente, indirizzo IP destinazione, porta destinazione. Questa definizione è vera in linea di massima, ma non del tutto, infatti nulla vieta ad un host, che ha instaurato una connessione con un altro host, di chiudere la connessione esistente e di riaprirne una nuova con lo stesso host, utilizzando le stesse porte. Per tener conto di questo caso, l’algoritmo implementato effettua il seguente controllo: se una stessa quadrupla invia un nuovo pacchetto con il flag SYN inizializzato per stabilire una nuova connessione, controllo il numero di sequenza. Se questo numero di sequenza coincide con il numero di sequenza inviato del primo pacchetto SYN visto, allora se ne deduce che non è stata creata una nuova connessione, perché questo potrebbe essere un pacchetto duplicato o un pacchetto arrivato a destinazione ma corrotto.

Se il numero di sequenza visto è diverso da quello del primo pacchetto SYN, allora si può dedurre che è stata aperta una nuova connessione e viene creato una nuovo file e un nuovo database per quel nuovo flusso di pacchetti.

Certo in questo modo non si è certi che l’instaurazione di una nuova connessione venga riconosciuta come tale. Tuttavia il fatto che il numero di sequenza sia un numero di 32 bit, e che tale numero sia calcolato in modo casuale, ogni qual volta si crea una nuova connessione, rende irrisoria la probabilità che una stessa quadrupla instauri una nuova connessione con lo stesso numero di sequenza iniziale.

Per implementare questo algoritmo si utilizza una tabella hash con alcune informazioni. Per ogni singola connessione viene creato un record nella tabella hash. Ad ogni record della tabella hash corrisponde una lista che contiene tanti record quante sono le connessioni TCP instaurate da una quadrupla. Per ogni connessione TCP viene memorizzato il riferimento al database in cui memorizzare le informazioni relative al pacchetto e il numero di sequenza.






Condividi con i tuoi amici:
1   ...   18   19   20   21   22   23   24   25   ...   38


©astratto.info 2019
invia messaggio

    Pagina principale