PDA

View Full Version : TCP e UDP


leon84
25-06-2003, 11:58
I seguenti protocolli differiscono tra le tante cose per il fatto che tcp è un protocollo connesso , UDP un protocollo connectioless ... Mi spiegate la differenza ? Grazie

daitan
25-06-2003, 12:04
ci provo io....

tcp sono una sicurezza maggiore ovvero i pacchetti vengono controllati alla partenza e dalla destinazione....se percaso qualche pacchetto andasse perso nel tragitto te ne accorgi.....

udp....non si controlla niente ne da quando parte ne da dove torna .....perciò less si puo perdere molti pacchetti in una transazione udp


spero che qualcuno lo spieghi meglio.....e soprattutto non vorrei aver scritto c@zzate :eek: ;)

leon84
25-06-2003, 12:08
Si questa differenza la conosco .... ma se non sbaglio c'è proprio una definizione tra connessione e senza ... quelle che hai detto credo siano conseguenze del tipo di connessione

gohan
25-06-2003, 14:26
il TCP controlla prima di mandare il pacchetto stabilisce una connessione col pc destinatario; l'UDP invece manda il pacchetto e basta

leon84
25-06-2003, 14:45
Originally posted by "gohan"

il TCP controlla prima di mandare il pacchetto stabilisce una connessione col pc destinatario; l'UDP invece manda il pacchetto e basta

Potresti farmi qualche esempio pratico ? Cioè voglio dire la differenza può essere paragonata a quella di una linea telefonica ( connessione) o la spedizione di un pacco postale (connectionless) ?

gohan
25-06-2003, 18:39
l'esempio potrebbe andare. :) :cool:

RiKkaRdo
25-06-2003, 18:46
Allora TCP ha le seguenti proprietà:
1) Connection oriented: significa che crea una connessione (vedila come un tubo) fra sender e receiver. Sender immette i bit nel tubo, receiver estrae i bit dal tubo. Inoltre mantiene l'ordinamento dei messaggi.
2) Reliable: tutti i messaggi trasmessi sono ricevuti ( se li perde avvisa: e c'è la ritrasmissione)
3) Byte oriented: messaggi consecutivi creano un unico flusso di byte. Se il receiver riceve una sequenza di 2KB non può dire da quanti messaggi essi son stati originati.

UDP invece è un protocollo di trasporto con le seguenti proprietà:
1) Connection less: ogni messaggio fra sender e receiver è indipendente dai precedenti, ogni messaggio specifica l'indirizzo di destinazione e sopratutto può non mantenere l'ordinamento dei messaggi.
2) Unreliable: alcuni messaggi possono essere persi.
3) Message oriented: messaggi consecutivi vengono mantenuti separati (sender trasmette 2 msg da 1 KB ciascuno e receiver riceve 2 msg da 1 KB ciascuno separatamente)

Ora da queste proprietà capisci che TCP DEVE essere utilizzato per applicazioni che sfruttano protocolli tipo: POP SMTP HTTP FTP TELNET; mentre UDP può venir utilizzato per video e audio stream oppure anche per una richiesta DNS (perchè se la richiesta o la risposta vanno perse, basta inviarne un altra). Nota che tutte le applicazioni che richiedono 100% di garanzia sui dati trasmessi richiedono TCP.

TCP visto che sta sopra IP (che è connection less, message oriented e unreliable: insomma può perdere , duplicare e recapitare in ordine inverso i messaggi) deve implementare tutta una serie di "marchingeni" che permettano di comunicare utilizzando un livello di rete (IP) che non offre alcuna garanzia. Di qui: Window remote, buffer di trasmissione, meccanismo di notifica di messaggio arrivato (ACK), RTT (round trip time) RTO (retransmission time out) per capire quando ritrasmettere se non arriva un acknowlgment dal ricevente. apertura e chiusura della connessione, congestion window (TCP è fair UDP no) e altro ...

Se mi son spiegato male o non capisci qualcosa chiedimi pure :)

Saluti

gohan
25-06-2003, 18:50
il TCP è RELIABLE perchè pensa lui a gestire il fatto che tutti i pacchetti arrivino a destinazione; nulla vieterebbe di usare l'UDP e controllare la sequenza dei pacchetti ai livelli superiori. :cool:

sismaone
25-06-2003, 22:54
E nei firewall software quali conseguenze ha settare le "condizioni" di accesso alla rete per un certo programma in base al TCP e UDP? ( vedi firewall Symantec Norton ).

RiKkaRdo
26-06-2003, 06:29
se ad esempio prendi ip 217.128.156.156 subnet mask 255.255.255.255 protocollo TCP porta 80: accesso negato.
questo vuol dire che l'ip 217.128.256.156 non può riuscire ad aprire una connessione TCP sulla tua porta 80. Ad esempio se hai un web server vieti a quel calcolatore di navigare nel sito che detieni nel web server.

se invece fai ip 217.128.156.156 subnet mask 255.255.255.255 protocollo UDP porta 80: accesso negato.
Il tuo sistema operativo (o meglio il firewall) bloccherà tutti i pacchetti UDP provenienti da 217.128.156.156 indirizzati verso la porta 80. Un browser che gira su 217.128.156.156 potrà comunque navigare sul tuo webserver.
non conosco Symantec Norton ma il concetto è questo

sismaone
26-06-2003, 19:21
quindi per dare accesso a programmi comuni quali p2p,ftp,http mi conviene sempre impostare su parametri TCP?

RiKkaRdo
26-06-2003, 20:29
Originally posted by "sismaone"

quindi per dare accesso a programmi comuni quali p2p,ftp,http mi conviene sempre impostare su parametri TCP?

Certo perchè sfruttano TCP.

sismaone
26-06-2003, 21:56
d'accordo grazie ;)


saluti

gohan
27-06-2003, 09:51
ci sono programmi che però usano anche l'UDP! :cool:

sismaone
30-06-2003, 03:00
Originally posted by "gohan"

ci sono programmi che però usano anche l'UDP! :cool:

del tipo? ( che nn siano x dns o streaming :D )

gohan
30-06-2003, 12:41
un sacco di programmi che usano audio o video, i giochi, i programmi di file sharing.....ecc ecc

sismaone
30-06-2003, 18:39
ok ;)

thx