42
|
20000
|
DNP |
Ciao a tutti, oggi vi dirò come si differenzia il protocollo TCP da UDP. I protocolli del livello di trasporto che seguono l'IP nella gerarchia vengono utilizzati per trasferire i dati tra i processi applicativi implementati nei nodi di rete. Un pacchetto di dati ricevuto da un computer all'altro tramite Internet deve essere trasferito al processo del gestore, e precisamente per uno scopo specifico. Il livello di trasporto si assume la responsabilità di questo. A questo livello, i due protocolli principali sono TCP e UDP.
Cosa significano TCP e UDP
TCP– un protocollo di trasporto per la trasmissione di dati in reti TCP/IP, che stabilisce preliminarmente una connessione alla rete.
UDP– un protocollo di trasporto che trasmette messaggi di datagramma senza la necessità di stabilire una connessione in una rete IP.
Ti ricordo che entrambi i protocolli funzionano a livello di trasporto del modello OSI o TCP/IP e capire come differiscono è molto importante.
Differenza tra protocolli TCP e UDP
La differenza tra i protocolli TCP e UDP è la cosiddetta “garanzia di consegna”. TCP richiede una risposta dal client a cui viene consegnato il pacchetto di dati, una conferma di consegna, e per questo necessita di una connessione prestabilita. Inoltre, il protocollo TCP è considerato affidabile, mentre UDP ha persino ricevuto il nome di "protocollo datagram inaffidabile". Il TCP elimina la perdita di dati, la duplicazione e la combinazione di pacchetti, i ritardi. UDP consente tutto questo e non richiede una connessione per funzionare. I processi a cui i dati vengono inviati tramite UDP devono accontentarsi di ciò che ricevono, anche con perdite. TCP controlla la congestione della connessione, UDP non controlla altro che l'integrità dei datagrammi ricevuti.
D'altra parte, a causa di tale non selettività e mancanza di controllo, UDP fornisce pacchetti di dati (datagrammi) molto più velocemente, quindi, per applicazioni progettate per un'elevata larghezza di banda e uno scambio veloce, UDP può essere considerato il protocollo ottimale. Questi includono giochi di rete e browser, oltre a visualizzatori di video in streaming e applicazioni per la comunicazione video (o vocale): dalla perdita di un pacchetto, totale o parziale, non cambia nulla, non è necessario ripetere la richiesta, ma il download è più veloce. Il protocollo TCP, essendo più affidabile, viene utilizzato con successo anche nei programmi di posta, consentendo di controllare non solo il traffico, ma anche la lunghezza del messaggio e la velocità di scambio del traffico.
Diamo un'occhiata alle principali differenze tra tcp e udp.
- TCP garantisce la consegna dei pacchetti di dati in forma invariata, sequenza e senza perdita, UDP non garantisce nulla.
- TCP enumera i pacchetti durante la trasmissione, ma non UDP.
- TCP opera in modalità duplex, in un pacchetto è possibile inviare informazioni e confermare la ricezione del pacchetto precedente.
- TCP richiede una connessione prestabilita, UDP non richiede una connessione, è solo un flusso di dati.
- UDP fornisce velocità di trasferimento dati più elevate.
- TCP è più affidabile e controlla il processo di comunicazione.
- UDP è preferibile per i programmi che riproducono video in streaming, videofonia e telefonia, giochi di rete.
- UPD non contiene funzionalità di recupero dati
Esempi di applicazioni UDP, ad esempio, sono il trasferimento di zone DNS ad Active Directory, dove l'affidabilità non è richiesta. Molto spesso a loro piace porre domande del genere durante le interviste, quindi è molto importante conoscere le differenze tra tcp e udp.
Intestazioni TCP e UDP
Diamo un'occhiata a come appaiono le intestazioni dei due protocolli di trasporto, poiché qui le differenze sono cardinali.
Intestazione UDP
- Porta di origine a 16 bit > La specifica della porta di origine per UDP è facoltativa. Se questo campo viene utilizzato, il destinatario può inviare una risposta a questa porta.
- Porta di destinazione a 16 bit > Numero della porta di destinazione
- Lunghezza UDP a 16 bit > Lunghezza del messaggio inclusi intestazione e dati.
- Checksum a 16 bit > Intestazione e checksum dei dati da controllare
Intestazione TCP
- Porta sorgente a 16 bit > Numero porta sorgente
- Porta di destinazione a 16 bit > Numero della porta di destinazione
- Numero di sequenza a 32 bit > Il numero di sequenza viene generato dalla sorgente e utilizzato dalla destinazione per riordinare i pacchetti per creare il messaggio originale e inviare un riconoscimento alla sorgente.
- Numero di riconoscimento a 32 bit > Se è impostato il bit ACK del campo Controllo, questo campo contiene il successivo numero di sequenza previsto.
- Lunghezza intestazione 4 bit > Informazioni sull'inizio del pacchetto di dati.
- riserva > Riservato per uso futuro.
- Checksum a 16 bit > Intestazione e checksum dei dati; determina se il pacchetto è stato danneggiato.
- Puntatore urgente a 16 bit > In questo campo, il dispositivo di destinazione riceve informazioni sulla natura urgente dei dati.
- Parametri > Valori facoltativi specificati se necessario.
La dimensione della finestra consente di risparmiare traffico, considera quando il suo valore è 1, quindi per ogni risposta inviata, il mittente attende la conferma, che non è del tutto razionale.
Con una dimensione della finestra di 3, il mittente invia già 3 frame e attende 4, il che implica che ha tutti e tre i frame, +1.
Spero che ora tu abbia un'idea delle differenze tra i protocolli TCP udp.
Il protocollo TCP/IP è alla base di Internet, mediante il quale i computer inviano e ricevono informazioni da qualsiasi parte del mondo, indipendentemente dalla posizione geografica. Accedere a un computer TCP/IP in un altro paese è facile come accedere a un computer nella stanza accanto. La procedura di accesso è identica in entrambi i casi, anche se potrebbero volerci alcuni millisecondi in più per connettersi a una macchina in un altro paese. Di conseguenza, i cittadini di qualsiasi paese possono facilmente fare acquisti su Amazon.com; tuttavia, a causa della vicinanza logica, il compito della protezione delle informazioni diventa più complicato: qualsiasi proprietario di un computer connesso a Internet in qualsiasi parte del mondo può tentare di stabilire una connessione non autorizzata con qualsiasi altra macchina.
È responsabilità dei professionisti IT installare firewall e sistemi per rilevare il traffico sospetto. Lo sniffing dei pacchetti estrae informazioni sugli indirizzi IP di origine e destinazione e sulle porte di rete coinvolte. Il valore delle porte di rete non è inferiore agli indirizzi IP; questi sono i criteri più importanti per separare il traffico utile dai pacchetti falsi e dannosi in entrata e in uscita dalla rete. La maggior parte del traffico di rete Internet è costituito da pacchetti TCP e UDP, che contengono informazioni sulle porte di rete utilizzate dai computer per dirigere il traffico da un'applicazione all'altra. Un prerequisito per la sicurezza del firewall e della rete è la conoscenza approfondita da parte dell'amministratore di come i computer e i dispositivi di rete utilizzano queste porte.
Esplorare i porti
Conoscere i principi di base delle porte di rete sarà utile a qualsiasi amministratore di sistema. Con una conoscenza di base della progettazione delle porte TCP e UDP, un amministratore può diagnosticare in modo indipendente un'applicazione di rete guasta o proteggere un computer che accederà a Internet senza chiamare un tecnico di rete o un consulente firewall.
La prima parte di questo articolo (costituita da due parti) descrive i concetti di base necessari per considerare le porte di rete. Verrà mostrato il posto delle porte di rete nel modello di rete generale e il ruolo delle porte di rete e del firewall NAT (Network Address Translation - network address translation) nelle connessioni dei computer aziendali a Internet. Verranno infine indicati i punti di rete dove è conveniente identificare e filtrare il traffico di rete sulle porte di rete corrispondenti. La parte 2 esamina alcune delle porte utilizzate da applicazioni e sistemi operativi comuni e introduce alcuni strumenti per trovare porte aperte su una rete.
Breve panoramica dei protocolli di rete
TCP/IP è un insieme di protocolli di rete attraverso i quali i computer comunicano tra loro. La suite TCP/IP non è altro che pezzi di codice installati sul sistema operativo che forniscono l'accesso a questi protocolli. TCP/IP è uno standard, quindi le applicazioni TCP/IP su una macchina Windows dovrebbero comunicare correttamente con un'applicazione simile su una macchina UNIX. Agli albori del networking, nel 1983, gli ingegneri svilupparono il modello di interoperabilità OSI a sette livelli per descrivere come i computer comunicano attraverso le reti, dal cavo all'applicazione. Il modello OSI è costituito da fisico, collegamento dati, rete, trasporto, rappresentazione di sessione dei dati e livelli applicativi. Gli amministratori che lavorano costantemente con Internet e TCP/IP si occupano principalmente dei livelli di rete, trasporto e applicazione, ma è necessario conoscere altri livelli per diagnosticare correttamente. Nonostante la notevole età del modello OSI, molti specialisti lo usano ancora. Ad esempio, quando un ingegnere di rete parla di switch di livello 1 o 2 e un fornitore di firewall parla di controllo di livello 7, si riferiscono ai livelli definiti nel modello OSI.
Questo articolo parla delle porte di rete situate al livello 4 - trasporto. Nella suite TCP/IP, queste porte sono utilizzate dai protocolli TCP e UDP. Ma prima di entrare in una descrizione dettagliata di un livello, è necessario rivedere brevemente i sette livelli OSI e il ruolo che svolgono nelle moderne reti TCP/IP.
Layer 1 e 2: cavi fisici e indirizzi MAC
Il livello 1, quello fisico, rappresenta il mezzo effettivo in cui si propaga il segnale, come cavo di rame, cavo in fibra ottica o segnali radio (nel caso del Wi-Fi). Layer 2, canale, descrive il formato dei dati per la trasmissione nel supporto fisico. Al livello 2, i pacchetti sono organizzati in frame e possono essere implementate funzioni di controllo del flusso di base e gestione degli errori. Lo standard IEEE 802.3, meglio noto come Ethernet, è lo standard di livello 2 più utilizzato per le reti locali di oggi. Un tipico switch di rete è un dispositivo di livello 2 attraverso il quale più computer si connettono fisicamente e comunicano tra loro. A volte due computer non possono connettersi tra loro anche se gli indirizzi IP sembrano essere corretti: errori nella cache ARP (Address Resolution Protocol) possono essere la causa del problema, indicando un problema a livello 2. Inoltre, alcuni punti di accesso wireless ( Access Point, AP) forniscono il filtraggio degli indirizzi MAC, consentendo solo agli adattatori di rete con un indirizzo MAC specifico di connettersi a un AP wireless.
Livelli 3 e 4: indirizzi IP e porte di rete
Layer 3, rete, supporta il routing. In TCP/IP, il routing è implementato in IP. L'indirizzo IP di un pacchetto appartiene al livello 3. I router di rete sono dispositivi di livello 3 che analizzano gli indirizzi IP dei pacchetti e inoltrano i pacchetti a un altro router o consegnano i pacchetti ai computer locali. Se viene rilevato un pacchetto sospetto sulla rete, il primo passaggio consiste nel controllare l'indirizzo IP del pacchetto per determinare l'origine del pacchetto.
Insieme al livello di rete, il livello 4 (trasporto) è un buon punto di partenza per la diagnosi dei problemi di rete. In Internet, il livello 4 contiene i protocolli TCP e UDP e le informazioni sulla porta di rete che associa un pacchetto a una particolare applicazione. Lo stack di rete del computer utilizza un'associazione di porta di rete TCP o UDP con un'applicazione per indirizzare il traffico di rete a tale applicazione. Ad esempio, la porta TCP 80 è associata a un'applicazione server Web. Questa mappatura delle porte alle applicazioni è nota come servizio.
TCP e UDP sono diversi. In sostanza, TCP fornisce una connessione affidabile per lo scambio di dati tra due applicazioni. Prima che la comunicazione possa iniziare, due applicazioni devono stabilire una connessione seguendo il processo di handshake TCP in tre fasi. UDP è più un approccio "impostalo e dimenticalo". L'affidabilità della comunicazione per le applicazioni TCP è fornita dal protocollo, mentre l'applicazione UDP deve verificare l'affidabilità della connessione stessa.
La porta di rete è un numero compreso tra 1 e 65535 specificato e noto a entrambe le applicazioni che stanno comunicando. Ad esempio, un client invia in genere una query non crittografata a un server a un indirizzo di destinazione sulla porta TCP 80. In genere, un computer invia una query DNS a un server DNS a un indirizzo di destinazione sulla porta UDP 53. Il client e il server hanno un'origine e l'indirizzo IP di destinazione, nonché la porta di rete di origine e di destinazione, che potrebbe essere diversa. Storicamente, tutti i numeri di porta inferiori a 1024 sono stati chiamati "numeri di porta noti" e sono registrati presso la IANA (Internet Assigned Numbers Authority). Su alcuni sistemi operativi, solo i processi di sistema possono utilizzare le porte in questo intervallo. Inoltre, le organizzazioni possono registrare le porte da 1024 a 49151 con IANA per associare la porta alla propria applicazione. Questa registrazione fornisce una struttura che aiuta a evitare conflitti tra le applicazioni che cercano di utilizzare lo stesso numero di porta. Tuttavia, in generale, non c'è nulla che impedisca a un'applicazione di richiedere una porta particolare se non viene utilizzata da un altro programma attivo.
Storicamente, un server può essere in ascolto su numeri di porta bassi e un client può avviare una connessione da un numero di porta alto (maggiore di 1024). Ad esempio, un client Web potrebbe aprire una connessione a un server Web sulla porta di destinazione 80, ma associare una porta di origine scelta a caso, come la porta TCP 1025. Quando risponde al client, il server Web indirizza il pacchetto al client con origine porta 80 e porta di destinazione 1025. La combinazione di un indirizzo IP e di una porta è denominata socket e deve essere univoca sul computer. Per questo motivo, quando si configura un server Web con due siti Web separati sullo stesso computer, è necessario utilizzare più indirizzi IP, ad esempio indirizzo 1:80 e indirizzo 2:80, oppure configurare il server Web per l'ascolto su più porte di rete, ad esempio come indirizzo 1:80 e indirizzo 1:81. Alcuni server Web forniscono più siti Web su una singola porta richiedendo un'intestazione host, ma questa funzione viene effettivamente eseguita dall'applicazione del server Web a un livello 7 superiore.
Quando le funzionalità di rete sono apparse nei sistemi operativi e nelle applicazioni, i programmatori hanno iniziato a utilizzare porte superiori a 1024 senza registrare tutte le applicazioni con IANA. Cercando in Internet qualsiasi porta di rete, di solito è possibile trovare rapidamente informazioni sulle applicazioni che utilizzano tale porta. Oppure puoi cercare Porti conosciuti e trovare molti siti con elenchi dei porti più comuni.
Quando si bloccano le applicazioni di rete di un computer o si risolve un difetto del firewall, la maggior parte del lavoro consiste nel classificare e filtrare gli indirizzi IP di livello 3, nonché i protocolli e le porte di rete di livello 4. Per distinguere rapidamente tra traffico legittimo e sospetto, dovresti imparare a riconoscere il 20 porte TCP e UDP più comunemente utilizzate.
Imparare a riconoscere e acquisire familiarità con le porte di rete non si limita all'assegnazione di regole del firewall. Ad esempio, alcune patch di sicurezza Microsoft descrivono come chiudere le porte NetBIOS. Questa misura consente di limitare la diffusione di "worm" che penetrano attraverso le vulnerabilità del sistema operativo. Sapere come e dove chiudere queste porte può aiutare a mitigare il rischio per la sicurezza della tua rete mentre ti prepari a distribuire una patch critica.
E direttamente al livello 7
Al giorno d'oggi si sente raramente parlare di livello 5 (sessione) e livello 6 (presentazione), ma il livello 7 (applicazione) è un argomento caldo tra i fornitori di firewall. L'ultima tendenza nello sviluppo di firewall di rete è Layer 7 Inspection, che descrive i metodi utilizzati per analizzare il funzionamento di un'applicazione con i protocolli di rete. Analizzando il carico utile di un pacchetto di rete, un firewall può determinare la legittimità del traffico che lo attraversa. Ad esempio, una richiesta Web contiene un'istruzione GET all'interno di un pacchetto di livello 4 (porta TCP 80). Se il firewall implementa le funzioni di livello 7, è possibile verificare la correttezza dell'istruzione GET. Un altro esempio è che molti programmi di condivisione file peer-to-peer (P2P) possono dirottare la porta 80. Di conseguenza, una persona non autorizzata può configurare il programma per utilizzare una porta a sua scelta, molto probabilmente una porta che dovrebbe rimanere aperta in questo firewall. Se i dipendenti di un'azienda hanno bisogno di accedere a Internet, la porta 80 deve essere aperta, ma per distinguere tra traffico Web legittimo e traffico P2P diretto da qualcuno sulla porta 80, il firewall deve fornire il controllo di livello 7.
Ruolo del firewall
Dopo aver descritto i livelli di rete, possiamo passare alla descrizione del meccanismo di comunicazione tra applicazioni di rete tramite firewall, prestando particolare attenzione alle porte di rete utilizzate. Nell'esempio seguente, il browser client comunica con un server Web sull'altro lato di un firewall, in modo simile a come comunica un dipendente di un'azienda con un server Web su Internet.
La maggior parte dei firewall Internet opera ai livelli 3 e 4 per esaminare e quindi consentire o bloccare il traffico di rete in entrata e in uscita. In generale, l'amministratore imposta gli elenchi di controllo di accesso (ACL) che definiscono gli indirizzi IP e le porte di rete del traffico da bloccare o consentire. Ad esempio, per accedere al Web, è necessario avviare un browser e puntarlo a un sito Web. Il computer avvia una connessione in uscita inviando una sequenza di pacchetti IP composta da un'intestazione e un carico utile. L'intestazione contiene informazioni sul percorso e altri attributi del pacchetto. Le regole del firewall sono spesso composte da informazioni di routing e in genere contengono indirizzi IP di origine e destinazione (livello 3) e protocollo di pacchetto (livello 4). Durante la navigazione sul Web, l'indirizzo IP di destinazione appartiene al server Web e il protocollo e la porta di destinazione (per impostazione predefinita) sono TCP 80. L'indirizzo IP di origine è l'indirizzo del computer da cui l'utente accede al Web e l'origine porta è solitamente un numero assegnato dinamicamente, maggiore di 1024. Il carico utile non dipende dall'intestazione ed è generato dall'applicazione utente; in questo caso, si tratta di una richiesta a un server Web di fornire una pagina Web.
Il firewall analizza il traffico in uscita e lo consente in base alle regole del firewall. Molte aziende consentono tutto il traffico in uscita dalla propria rete. Questo approccio semplifica la configurazione e l'implementazione, ma la mancanza di controllo sui dati in uscita dalla rete riduce la sicurezza. Ad esempio, un cavallo di Troia può infettare un computer su una rete aziendale e inviare informazioni da quel computer a un altro computer su Internet. Ha senso creare liste di controllo degli accessi per bloccare tali informazioni in uscita.
A differenza dell'approccio adottato da molti firewall al traffico in uscita, la maggior parte è configurata per bloccare il traffico in entrata. In genere, i firewall consentono il traffico in entrata solo in due casi. Il primo è il traffico che arriva in risposta a una richiesta in uscita inviata in precedenza dall'utente. Ad esempio, se si punta il browser all'indirizzo di una pagina Web, il firewall consente al codice HTML e ad altri componenti della pagina Web di accedere alla rete. Il secondo caso è l'hosting di un servizio interno su Internet, ad esempio un server di posta, un sito Web o un sito FTP. L'hosting di un servizio di questo tipo viene comunemente chiamato traduzione di porte o pubblicazione su server. L'implementazione della conversione delle porte varia tra i diversi fornitori di firewall, ma il principio alla base è lo stesso. L'amministratore definisce un servizio, come la porta TCP 80 per il server Web, e un server interno per ospitare il servizio. Se i pacchetti entrano nel firewall attraverso l'interfaccia esterna corrispondente a questo servizio, il meccanismo di conversione delle porte li inoltra a un computer di rete specifico nascosto dietro il firewall. Il port forwarding viene utilizzato insieme al servizio NAT descritto di seguito.
Nozioni di base di NAT
Con NAT, più computer in un'azienda possono condividere un piccolo spazio di indirizzi IP pubblici. Il server DHCP di un'azienda può allocare un indirizzo IP da uno dei blocchi di indirizzi IP privati e non instradabili definiti in Request for Comments (RFC) n. 1918. Più aziende possono anche condividere lo stesso spazio di indirizzi IP privati. Esempi di sottoreti IP private sono 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16. I router Internet bloccano tutti i pacchetti destinati a uno degli indirizzi privati. NAT è una funzionalità del firewall che consente alle aziende che utilizzano indirizzi IP privati di comunicare con altri computer su Internet. Il firewall sa come tradurre il traffico in entrata e in uscita in indirizzi IP interni privati in modo che ogni computer possa accedere a Internet.
Sulla fig. La figura 1 mostra un diagramma di base di una connessione NAT tra un client e un server Web. Nel passaggio 1, il traffico destinato a Internet da un computer della rete aziendale entra nell'interfaccia interna del firewall. Il firewall riceve il pacchetto e inserisce una voce nella tabella di tracciamento della connessione che gestisce la traduzione degli indirizzi. Il firewall sostituisce quindi l'indirizzo di origine privato del pacchetto con il proprio indirizzo IP pubblico pubblico e invia il pacchetto alla sua destinazione su Internet (passaggio 2). Il computer di destinazione riceve il pacchetto e invia una risposta al firewall (passaggio 3). Dopo aver ricevuto questo pacchetto, il firewall cerca il mittente del pacchetto originale nella tabella di tracciamento della connessione, sostituisce l'indirizzo IP di destinazione con il corrispondente indirizzo IP privato e inoltra il pacchetto al computer di origine (passaggio 4). Poiché il firewall invia i pacchetti per conto di tutti i computer interni, cambia la porta di rete di origine e queste informazioni vengono archiviate nella tabella di rilevamento delle connessioni del firewall. Ciò è necessario affinché le prese in uscita rimangano univoche.
È importante capire come funziona NAT perché NAT cambia l'indirizzo IP e le porte di rete dei pacchetti di traffico. Questa comprensione aiuta nella risoluzione dei problemi. Ad esempio, diventa chiaro perché lo stesso traffico può avere diversi indirizzi IP e porte di rete sulle interfacce esterne e interne del firewall.
Fondazione prima, struttura dopo
Comprendere i principi fondamentali della rete dall'applicazione, dal firewall e dal lato porta non è solo per gli ingegneri di rete. Oggi è raro trovare un sistema informatico che non sia connesso a una rete e anche gli amministratori di sistema trovano molto più facile risolvere i loro problemi comprendendo almeno le basi dell'uso delle porte di rete per comunicare le applicazioni su Internet.
Nella seconda parte dell'articolo considereremo gli strumenti per scoprire le applicazioni sulla rete analizzando le porte di rete coinvolte. Per trovare applicazioni che aprono porte in ascolto e sono disponibili sulla rete, il computer viene interrogato tramite la rete (scansione porte) e localmente (scansione host). Inoltre, visualizzando i registri del firewall, è possibile esaminare il traffico di rete che attraversa il confine di rete e guardare le varie porte di rete utilizzate dalle applicazioni Windows e UNIX.
Una porta nelle reti di computer è un endpoint di comunicazione in un sistema operativo. Il termine viene utilizzato anche per i dispositivi hardware, ma nel software si riferisce a un costrutto logico che identifica un particolare tipo di servizio o processo. La porta è sempre associata all'indirizzo IP dell'host o al tipo di protocollo di comunicazione. Completa l'assegnazione dell'indirizzo di sessione. Una porta è identificata per ciascun protocollo e indirizzo da un numero a 16 bit, noto anche come numero di porta. Spesso vengono utilizzati numeri di porta specifici per definire servizi specifici. Delle diverse migliaia elencate, 1024 numeri conosciuti sono protetti da un accordo speciale. Definiscono tipi specifici di servizi su un host. I protocolli che utilizzano principalmente le porte vengono utilizzati per controllare i processi. Un esempio è il protocollo di controllo della trasmissione TCP o lo User Datagram Protocol della suite di protocolli Internet.
Senso
Le porte TCP non sono necessarie sui collegamenti point-to-point diretti quando i computer a ciascuna estremità possono eseguire solo un programma alla volta. La loro necessità è nata dopo che queste macchine sono state in grado di eseguire più di un programma contemporaneamente. Erano collegati a moderne reti a commutazione di pacchetto. Nel modello di architettura client-server, porte, applicazioni e client di rete sono connessi all'avvio del servizio. Forniscono servizi di multiplexing dopo che lo scambio iniziale di informazioni è associato a un numero di porta. Viene liberato spostando ogni istanza del servizio di richiesta su una linea dedicata. Collegato a un numero specifico. Grazie a ciò, è possibile servire clienti aggiuntivi senza alcuna attesa.
Particolari
I protocolli di trasferimento dati UDP e TCP vengono utilizzati per indicare il numero di porta di destinazione e l'origine nelle intestazioni di segmento. Il numero di porta è un numero a 16 bit senza segno. Può variare da 0 a 65535. Le porte TCP, tuttavia, non possono utilizzare il numero 0. Per UDP, la porta di origine è facoltativa. Un valore uguale a zero indica la sua assenza. Questo processo collega i canali di input o output utilizzando un protocollo di trasporto, un numero di porta e un indirizzo IP su una presa Internet. Questo processo è anche noto come legame. Consente la ricezione e la trasmissione di informazioni sulla rete. Il software di rete del sistema operativo viene utilizzato per trasmettere i dati in uscita da tutte le porte dell'applicazione alla rete. Inoltre inoltra i pacchetti di rete in entrata facendo corrispondere il numero e l'indirizzo IP. Solo un processo può associarsi a un determinato indirizzo IP e combinazione di porte utilizzando lo stesso protocollo di trasporto. Gli arresti anomali dell'applicazione, noti anche come conflitti, si verificano quando più programmi tentano di comunicare con gli stessi numeri di porta sullo stesso indirizzo IP utilizzando lo stesso protocollo contemporaneamente.
Come si applicano
È abbastanza comune che le applicazioni che implementano servizi condivisi utilizzino un elenco noto e riservato di porte UDP e TCP per accettare le richieste del servizio client. Questo processo è anche noto come ascolto. Implica la ricezione di una richiesta da una porta ben nota e l'instaurazione di una conversazione tra il client e il server l'uno con l'altro utilizzando lo stesso numero di porta locale. Altri client potrebbero continuare a connettersi. Ciò è possibile perché una connessione TCP è identificata come una catena composta da porte e indirizzi locali e remoti. Le porte standard UDP e TCP possono essere definite per convenzione sotto il controllo della IANA o dell'Internet Assigned Numbers Authority. Di norma, i servizi di rete principali, principalmente il World Wide Web, utilizzano numeri di porta piccoli, inferiori a 1024. In molti sistemi operativi, le applicazioni richiedono privilegi speciali per l'associazione. Per questo motivo, sono spesso considerati critici per il funzionamento delle reti IP. Il cliente finale di una connessione, invece, tende a utilizzarne di più, allocati per un utilizzo a breve termine. Per questo esistono i cosiddetti porti effimeri.
Struttura
Le porte TCP sono codificate nell'intestazione del pacchetto di trasporto. Possono essere facilmente interpretati non solo dai PC riceventi e trasmittenti, ma anche da altri componenti dell'infrastruttura di rete. I firewall, in particolare, sono generalmente configurati per distinguere tra i pacchetti in base ai numeri di porta di destinazione e alla loro origine. Un classico esempio di questo è il reindirizzamento. I tentativi di connessione in serie a un intervallo di porte sullo stesso computer sono noti anche come scansioni. Tali procedure sono generalmente associate a tentativi di errore dannosi o al fatto che gli amministratori di rete cercano specificamente possibili vulnerabilità per prevenire tali attacchi. Le azioni volte all'apertura di una porta TCP vengono registrate e controllate dai computer. Questa tecnica utilizza una serie di connessioni di riserva per garantire una comunicazione senza interruzioni con il server.
Esempi di utilizzo
Un ottimo esempio in cui le porte UDP e TCP sono molto utilizzate è il sistema di posta Internet. Il server viene utilizzato per lavorare con la posta elettronica. In generale, ha bisogno di due servizi. Il primo servizio è utilizzato per il trasporto via e-mail e da altri server. Ciò si ottiene utilizzando il Simple Mail Transfer Protocol (SMTP). L'applicazione del servizio SMTP è in genere in ascolto sulla porta TCP numero 25 per elaborare le richieste in entrata. L'altro servizio è POP o IMAP. Sono necessari per le applicazioni client di posta elettronica sui computer degli utenti al fine di ricevere messaggi di posta elettronica dal server. I servizi POP sono in ascolto sulla porta TCP 110. Tutti i servizi di cui sopra possono essere eseguiti sulla stessa macchina host. Il numero di porta, quando questo si verifica, distingue il servizio richiesto dal dispositivo remoto. Se il numero della porta di ascolto del server è definito correttamente, questo parametro per il client è determinato dall'intervallo dinamico. I client e il server singolarmente, in alcuni casi, utilizzano determinate porte TCP assegnate da IANA. DHCP è un buon esempio. In questo caso, il client utilizza comunque UDP 68 e il server utilizza UDP 67.
Utilizzo negli URL
A volte i numeri di porta sono chiaramente visibili su Internet o su altri localizzatori di risorse uniformi, come gli URL. HTTP utilizza la porta TCP 80 per impostazione predefinita e HTTPS utilizza la porta 443. Esistono anche altre variazioni. Ad esempio, l'URL http://www.example.com:8080/path indica che il browser Web si sta connettendo a 8080 anziché a un server HTTP.
Elenco delle porte UDP e TCP
Come notato in precedenza, la IANA, o Autorità per i numeri firmata da InternetA, è responsabile del coordinamento globale di DNS-Root, indirizzi IP e altre risorse del protocollo Internet. Queste procedure includono la registrazione delle porte comunemente utilizzate per i servizi Internet noti. Tutti i numeri di porta sono divisi tra loro in tre intervalli: noto, registrato e privato o dinamico. Le porte conosciute sono numeri da 0 a 1023. Sono anche chiamate porte di sistema. I requisiti per i nuovi valori in questa fascia sono più severi rispetto ad altre registrazioni.
Esempi
Esempi di porte che sono nell'elenco noto includono:
- Porta TCP 443 - HTTPS;
- 21 - Protocollo di Trasferimento File;
- 22-conchiglia sicura;
- 25 - protocollo di trasferimento posta semplice STMP;
- 53 - Sistema di nomi di dominio DNS;
- 119 - Network News Transfer Protocol o NNTP;
- 80 – Protocollo di trasferimento ipertestuale HTTP;
- 143 - Protocollo di accesso ai messaggi Internet;
- 123 - Protocollo orario rete NTP;
- 161 è un semplice protocollo di gestione della rete SNMP.
Le porte registrate devono avere numeri da 1024 a 49151. Internet Assigned Numbers Authority mantiene un elenco ufficiale di tutti gli intervalli conosciuti e registrati. Le porte di frequenza o dinamiche vanno da 29152 a 65535. Un caso d'uso per questo intervallo sono le porte di tempo.
Storia della creazione
Il concetto di numeri di porta è stato sviluppato dai primi creatori di ARPANET. È stato sviluppato in una collaborazione informale tra autori di software e amministratori di sistema. A quel tempo, il termine "numero di porta" non era ancora utilizzato. La stringa numerica dell'host remoto era un numero a 40 bit. I primi 32 bit assomigliavano all'indirizzo IPv4 di oggi. Il più significativo in questo caso sono stati i primi 8 bit. La parte meno significativa del numero (questi sono i bit da 33 a 40) indicava un oggetto chiamato AEN. Era un prototipo del moderno numero di porta. La creazione di un catalogo dei numeri di presa fu proposta per la prima volta il 26 marzo 1972. Gli amministratori di rete sono stati quindi chiamati a descrivere ciascun numero permanente per i servizi di rete e le sue caratteristiche. Questo catalogo è stato successivamente pubblicato in RFC 433 nell'inverno del 1972. Comprendeva un elenco di host, i loro numeri di porta e la funzione corrispondente utilizzata da ciascun nodo della rete. Per la prima volta, i significati ufficiali dei numeri di porta sono stati documentati nel maggio 1972. Contestualmente è stata proposta una funzione amministrativa speciale per la tenuta di tale registro. Il primo elenco di porte TCP includeva 256 valori AEN, suddivisi nei seguenti intervalli:
- da 0 a 63 - funzioni standard dell'intera rete;
- da 64 a 127 - funzioni host-specific;
- da 128 a 239 - funzioni riservate ad usi futuri;
- da 240 a 255 - qualsiasi funzione sperimentale.
Il termine AEN nei primi giorni di ARPANET era anche il nome del socket utilizzato con il protocollo di connessione originale e il componente del programma di controllo della rete, o NCP. In questo caso, NCP è stato il precursore dei protocolli Internet odierni, che utilizzano le porte TCP/IP.
Articoli correlati in alto