Quote:
Originariamente inviato da RobbyBtheOriginal
non mi è chiaro cosa leggere e cosa chiedere a dirti la verità 
per il resto tutto chiaro il tuo post; per i progr più elaborati bisognerebbe andare a vedere che porte utilizzano per comunicare in entrata e in uscita (devo ancora capire bene la differenza tra TCP e UDP anche se penso che quest'ultimo sia per la rete interna LAN mentre TCP internet) e permettere tali porte mentre negare tutto il resto così da escludere che il progr in questione vada "a viole" dove non dovrebbe  ..corretto come linea generale? 
|
non è proprio così.
Qui becchi uno dei miei esami preferiti
Dunque:
Premessa:
quando invii un file sul web, questo viene spezzettato in tanti pacchetti, la cui grandezza è pari al famoso valore MTU (Max Trasmission Unit) che è 1492 o 1500 byte (ce ne sono anche altri ma questi ormai sono uno standard)
Prendi questo MTU come la grandezza di una valigia
Ogni valigia viene quindi riempita con il pezzetto di file e altri dati. Si forma così il pacchetto che viene spedito su Internet verso un server. L'insieme di regole che gestisce la transazione dei pacchetti è detto protocollo. Nonostante internet sia diviso in 5 livelli, ognuno con un suo gruppo di protocolli, vediamo solo il 4° livello e i 2 protocolli che interessano qui.
TCP (Transport Control protocol) è il protocollo che per ogni pacchetto inviato richiede un "Acknowledgement" o conferma di ricezione. Quando il pc mittente riceve la conferma, parte col pacchetto successivo e così con gli altri. Se non riceve conferma in un tempo ragionevole prova a re-inviare il pacchetto. Se ancora non riceve risposta, ferma l'invio e comunica l'errore alla macchina.
Possiamo dire quindi che TCP dà la sicurezza della trasmissione. Si usa per le pagine web o quando si inviano i file da un client ad un server (o pc a pc)
UDP (U... Datagram Protocol) invia pacchetti a raffica senza attendere conferme. E' detto per questo best-effort (fa del suo meglio) cioè invia i pacchetti ma non è detto che "il suo meglio" sia sufficiente; potrebbero andare perduti.
Per farti un esempio: l'UDP si usa nelle videochat o negli streaming, dove non è importante che appaiano tutti i pixel per secondo; è importante invece la sincronia audio-video. Quindi se il video perde qualche "quadratino" pazienza perchè deve subito essere inviato il pacchetto successivo per mantenere la sincronia. Immagina se invece si dovesse attendere la conferma o re-inviare un pacchetto per un temporaneo errore di trasmissione
In eMule, TCP scambia i pacchetti, mentre UDP trova le fonti.
I pacchetti del file che stai scaricando devono arrivare integri come se li scaricassi da un qualsiasi sito web. Invece i pacchetti spediti ad un indirizzo per controllare il suo stato online, possono anche perdersi; almeno abbiamo risparmiato il tempo di attesa della conferma e la conseguente congestione della rete
Piccolo extra:
le porte rappresentano generalmente l'applicazione a cui consegnare il pacchetto (sto semplificando parecchio eh

). Una specie di numero civico
Alcuni "numeri civici" da 1 a 1023 sono già occupati e usarli come porte per software come emule può portare ad errori. Ad esempio: 80 va associato al protocollo HTTP e quindi per proprietà transitiva ai browser. La porta 21 mi pare di ricordare che corrisponda all'FTP, il protocollo usato per caricare i file su uno spazio web o per gestire l'accesso di pochi utenti allo stesso spazio. E così via...
Infatti se ci fai caso, appena vediamo le porte 80 e 443 diciamo subito di dare "Solo in uscita"