di: Yan Raber 07 Aprile 2004
Le porte sono il mezzo essenziale che permette ai protocolli TCP e UDP di gestire flussi multipli di dati attraverso una unica connessione fisica alla rete.
Per fare un paragone con la vita reale immaginiamo di spedire una lettera ad un amico. Se il destinatario vivesse in una abitazione indipendente e ne fosse l'unico inquilino, sulla busta sarebbe sufficiente indicare il suo indirizzo. Questa situazione è però piuttosto inusuale in quanto, più probabilmente, egli vivrà in un palazzo con altri condomini oppure condividerà l'abitazione con altri parenti. Ognuno di questi può ricevere posta al medesimo indirizzo e quindi per individuare univocamente il destinatario sarà necessario specificare anche il suo nome completo. Allo stesso modo indicheremo sulla busta le informazioni riguardanti il mittente per poter ricevere una risposta.
Una cosa analoga avviene per le comunicazioni in rete attraverso il protocollo TCP/IP. Ogni macchina sarà individuata sulla rete da un indirizzo IP ma poiché molteplici possono essere i servizi offerti dal sistema e molte le connessioni contemporanee è necessario un metodo per separare i singoli flussi di dati ed indirizzarli
verso il corretto programma di gestione. A chi non è capitato per esempio di navigare e contemporaneamente di scaricare la posta elettronica o usare un programma
peer to peer? Come fa il sistema a riconoscere a chi sono diretti i dati in arrivo?
Il problema viene risolto attraverso le porte che, in un paragone con l'esempio precedente, fanno le veci del nome del
mittente e del destinatario. Flussi di dati distinti all'interno della stessa macchina sono caratterizzati da
porte diverse.
Una connessione tra due computer viene quindi univocamente identificata dalla coppia IP:porta del mittente e del destinatario.
Le porte sono indicate con un numero intero compreso tra 0 e 65.535 e possono essere assegnate al protocollo TCP o al protocollo UDP. Questo fa si che possano esistere in totale 131.072 porte diverse. In linea di principio i numeri di porta potrebbero essere scelti arbitrariamente durante la connessione tra due computer ma, come vedremo dall'analisi che segue, la cosa si rivela decisamente poco pratica.
Ogni comunicazione sulla rete presume che inizialmente una delle due macchine coinvolte nello scambio di dati non faccia altro che attendere un contatto dall'esterno. Questa macchina viene indicata con il nome di server. Un sistema che contatta il server viene invece definito client. Sarà sempre il client quindi a fare il primo passo per instaurare una connessione.
Come detto in precedenza, se un computer collegato ad un rete desidera comunicare con un altro sistema deve necessariamente
sapere l'indirizzo completo della macchina remota. In questo caso quindi il
client deve essere a conoscenza sia dell' l'IP sia della porta su cui il server si aspetta di ricevere i dati relativi
al servizio di interesse. Se il server scegliesse la porta in modo casuale nessuno saprebbe come raggiungerlo.
Per questo motivo nasce l'esigenza di standardizzare e rendere pubblici i numeri di porta relativi ai più comuni servizi disponibili su internet. In questo modo un client che volesse accedere ad un qualsiasi server HTTP saprebbe a priori di doversi collegare alla porta TCP numero 80. Un server di posta SMTP sarà sempre raggiungibile sulla
sua porta TCP 25 così come un server FTP userà la TCP 21 e un DNS la porta UDP 53.
Contrariamente al caso precedente il client non ha mai l'esigenza di rendere pubblico il suo indirizzo completo prima della connessione perché questo verrà automaticamente comunicato al server nel momento in cui verrà contattato. In questo caso quindi il numero di porta del client può essere scelto arbitrariamente dal sistema tra quelli al momento disponibili.
Guida SQL Injection con SqlmapScopriamo se le nostre applicazioni web sono vulnerabili alle SQL... |
Guida sicurezza applicazioni WebLe tecniche di attacco più comuni, i metodi per verificare la... |
Guida Sicurezza wirelessQuali sono i pericoli di sicurezza di una rete senza filo e quali... |
Ogni lunedì, direttamente nella tua e-mail: approfondimenti e bollettini su virus, vulnerabilità e sicurezza informatica.
Iscriviti alla newsletter
|
|
Amministratore di Reti Windows Server 200820 Febbraio 2012 a Milano |
|
Nessun corso previsto |