Come configurare smartphone e PC. Portale informativo
  • casa
  • Sistema operativo
  • porti famosi. Qual è la differenza tra il protocollo TCP e UDP, in linguaggio semplice

porti famosi. Qual è la differenza tra il protocollo TCP e UDP, in linguaggio semplice

Nelle reti di computer, una porta è l'endpoint di comunicazione nel sistema operativo. Il termine viene utilizzato anche per i dispositivi hardware, ma nel software è un costrutto logico che identifica un particolare processo o servizio.

Una porta è sempre associata a un indirizzo IP host e a un tipo e quindi completa l'assegnazione dell'indirizzo di sessione. È identificato per ogni indirizzo e protocollo da un numero a 16 bit comunemente noto come numero di porta. Numeri di porta specifici vengono spesso utilizzati per identificare servizi specifici. Delle migliaia elencate, 1024 numeri di porta noti sono protetti per convenzione per identificare tipi specifici di servizi su un host. I protocolli che utilizzano principalmente le porte sono per il controllo del processo (come il TCP (Transmission Control Protocol) e l'UDP (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. Sono diventati necessari dopo che le macchine sono state in grado di eseguire più di un programma alla volta e sono state collegate a moderne reti a commutazione di pacchetto. Nel modello di architettura client-server dell'applicazione, le porte e i client di rete sono collegati all'avvio del servizio, forniscono servizi di multiplexing, dopo che la comunicazione iniziale è stata associata a un numero di porta noto e viene rilasciata commutando ciascuna istanza del servizio di richiesta in una locazione noleggiata linea. Viene stabilita una connessione a un numero specifico e, grazie a ciò, è possibile servire ulteriori clienti senza attendere.

Particolari

I protocolli di trasferimento dati - Transmission Control Protocol (TCP) e User Datagram Protocol (UDP) - vengono utilizzati per indicare il numero di porta di destinazione e l'origine nelle intestazioni di segmento. Il numero di porta è un intero senza segno a 16 bit. Quindi può variare da 0 a 65535.

Tuttavia, le porte TCP non possono utilizzare il numero 0. Una porta di origine per UDP è facoltativa e un valore zero significa nessuna.

Un processo collega i suoi canali di input o output su una presa Internet (un tipo di descrittore di file) utilizzando un protocollo di trasporto, un numero di porta e un indirizzo IP. Questo processo è noto come bonding e consente di inviare e ricevere dati sulla rete.

Il sistema operativo è responsabile della trasmissione dei dati in uscita da tutte le porte dell'applicazione alla rete, nonché dell'inoltro dei pacchetti di rete in entrata (facendo corrispondere l'indirizzo IP e il numero). Solo un processo può collegarsi a un indirizzo IP specifico e a una combinazione di porte utilizzando lo stesso protocollo di trasporto. Gli arresti anomali comuni delle applicazioni, a volte indicati come conflitti di porta, si verificano quando più programmi tentano di comunicare con gli stessi numeri di porta sullo stesso indirizzo IP utilizzando lo stesso protocollo.

Come vengono utilizzati

Le applicazioni che implementano servizi condivisi utilizzano spesso un elenco noto e riservato di porte TCP e UDP per accettare le richieste di servizio dai client. Questo processo è noto come ascolto e implica la ricezione di una richiesta da una porta nota e l'instaurazione di una conversazione uno a uno tra il server e il client utilizzando lo stesso numero di porta locale. Altri client possono continuare a connettersi - questo è possibile perché una connessione TCP è identificata come una catena di indirizzi e porte locali e remoti. Le porte TCP e UDP standard sono definite per convenzione sotto il controllo della Internet Assigned Numbers Authority (IANA).

I servizi di rete principali (principalmente WorldWideWeb) tendono a utilizzare numeri di porta piccoli, inferiori a 1024. Molti sistemi operativi richiedono privilegi speciali per l'associazione delle applicazioni perché sono spesso considerati critici per il funzionamento delle reti IP. D'altra parte, il client finale della connessione tende a utilizzarne un gran numero dedicato per un uso a breve termine, quindi ci sono le cosiddette porte effimere.

Struttura

Le porte TCP sono codificate nell'intestazione del pacchetto del protocollo di trasporto e possono essere facilmente interpretate non solo dai computer trasmittenti e riceventi, ma anche da altri componenti dell'infrastruttura di rete. In particolare, i firewall sono in genere configurati per distinguere i pacchetti in base al numero di porta di origine o di destinazione. Il reindirizzamento ne è un classico esempio.

La pratica di provare a connettersi a un intervallo di porte in serie sullo stesso computer è nota come scansione delle porte. Ciò è in genere dovuto a tentativi di errore dannosi o agli amministratori di rete alla ricerca di possibili vulnerabilità per prevenire tali attacchi.

Azioni dirette alla frequenza con cui i computer vengono monitorati e registrati. Questa tecnica utilizza un numero di connessioni di riserva per garantire una connessione ininterrotta al server.

Esempi di utilizzo

L'esempio più importante in cui le porte TCP/UDP vengono utilizzate attivamente è il sistema di posta Internet. Il server viene utilizzato per lavorare con la posta elettronica (invio e ricezione) e generalmente necessita di due servizi. Il primo servizio viene utilizzato per il trasporto via e-mail e da altri server. Ciò si ottiene con l'applicazione del servizio SMTP in genere in ascolto sulla porta TCP numero 25 per elaborare le richieste in entrata. L'altro servizio è POP (interamente Post Office Protocol) o IMAP (o Internet Message Access Protocol) necessario affinché le applicazioni client di posta elettronica sui computer degli utenti ricevano messaggi di posta elettronica dal server. I servizi POP sono in ascolto sulla porta TCP 110. I servizi di cui sopra possono essere eseguiti entrambi sulla stessa macchina host. Quando ciò accade, il numero di porta distingue il servizio richiesto dal dispositivo remoto: il PC dell'utente o un altro server di posta.

Sebbene il numero della porta di ascolto del server sia ben definito (IANA le chiama porte note), questa impostazione del client viene spesso scelta fuori dall'intervallo dinamico. In alcuni casi, i client e il server utilizzano singolarmente porte TCP specifiche assegnate da IANA. Un buon esempio è DHCP, in cui il client utilizza sempre UDP 68 e il server utilizza UDP 67.

Applicazione negli URL

I numeri di porta sono talvolta chiaramente visibili su Internet o altri URL (Uniform Resource Locator). Per impostazione predefinita, HTTP utilizza 443 e HTTPS utilizza 443. Tuttavia, esistono altre variazioni. Ad esempio, l'URL http://www.example.com:8080/path/ indica che il browser Web si sta connettendo a 8080 anziché al server HTTP.

Elenco delle porte TCP e UDP

Come notato, l'Internet Assigned Numbers Authority (IANA) è responsabile del coordinamento globale di DNS-Root, indirizzi IP e altre risorse del protocollo Internet. Ciò include la registrazione dei numeri di porta comunemente utilizzati per i servizi Internet noti.

I numeri di porta sono divisi in tre intervalli: noto, registrato e dinamico o privato. Noti (detti anche di sistema) sono quelli con numeri da 0 a 1023. I requisiti per i nuovi incarichi in questo intervallo sono più stringenti che per le altre registrazioni.

Esempi ben noti

Esempi in questo elenco includono:

  • Porta TCP 443: HTTP protetta (HTTPS).
  • 22: Secure Shell (SSH).
  • 25: SMTP (Simple Mail Transfer Protocol).
  • 53: Domain Name System (DNS).
  • 80: Protocollo di trasferimento ipertestuale (HTTP).
  • 119: Network News Transfer Protocol (NNTP).
  • 123: Network Time Protocol (NTP)..
  • 143: Protocollo di accesso ai messaggi Internet (IMAP)
  • 161: Protocollo di gestione della rete semplice (SNMP)1.
  • 94: Internet Relay Chat (IRC).

Le porte registrate sono numeri da 1024 a 49151. La IANA mantiene un elenco ufficiale di intervalli noti e registrati. Dinamico o privato: da 49152 a 65535. Un caso d'uso per questo intervallo riguarda le porte temporanee.

Storia della creazione

Il concetto di numero di porta è stato creato dai primi sviluppatori di ARPANET attraverso una collaborazione informale tra autori di software e amministratori di sistema.

Il termine "numero di porta" non era ancora in uso all'epoca. La stringa numerica per l'host remoto era un numero a 40 bit. I primi 32 bit erano simili all'attuale indirizzo IPv4, ma i primi 8 bit erano i più significativi. La parte meno significativa del numero (bit da 33 a 40) indicava un'altra entità, chiamata AEN. Questo è il prototipo del moderno numero di porta.

Il 26 marzo 1972, nella RFC 322 fu proposta per la prima volta la creazione di un catalogo di numeri di socket. Si richiedeva che ogni numero permanente fosse descritto in termini di funzioni e servizi di rete. Questa directory è stata successivamente pubblicata nella RFC 433 nel dicembre 1972 e includeva un elenco di host, i loro numeri di porta e la funzione corrispondente utilizzata da ciascun nodo della rete. Nel maggio 1972 furono documentate per la prima volta le assegnazioni ufficiali dei numeri di porta, dei servizi di rete e fu proposta una funzione amministrativa speciale per mantenere questo registro.

Il primo elenco di porte TCP aveva 256 valori AEN, suddivisi nei seguenti intervalli:

  • Da 0 a 63: funzioni standard dell'intera rete
  • Da 64 a 127: caratteristiche specifiche dell'host
  • da 128 a 239: riservato per usi futuri
  • Da 240 a 255: qualsiasi funzione sperimentale.

Il servizio Telnet ha ricevuto la sua prima assegnazione ufficiale di un valore di 1. All'inizio di ARPANET, AEN era anche un nome socket utilizzato con il componente originale Connection Protocol (MSP) e Network Control Program (NCP). Allo stesso tempo, NCP è stato il precursore dei moderni protocolli Internet che utilizzano porte TCP/IP.

Fonti: Wikipedia, Microsoft, portscan.ru

Come scoprire quali porte sono aperte su un computer?

  1. Per Windows: Start → "cmd" → Esegui come amministratore → "netstat -bn"
  2. In un programma antivirus come Avast, è possibile visualizzare le porte attive nel firewall: Strumenti -> Firewall -> Connessioni di rete.

Utili anche i comandi netstat:

Per visualizzare sia le statistiche Ethernet che le statistiche per tutti i protocolli, digitare il seguente comando:

netstat -e -s

Per visualizzare le statistiche solo per i protocolli TCP e UDP, digitare il comando seguente:

netstat -s -p tcp udp

Per visualizzare le connessioni TCP attive e gli ID di processo ogni 5 secondi, digitare il comando seguente:

nbtstat -o 5

Per visualizzare le connessioni TCP attive e gli ID di processo in forma numerica, digitare il comando seguente:

nbtstat -n -o

Per i socket TCP sono validi i seguenti valori di stato:

CHIUSO Chiuso La presa non viene utilizzata.
ASCOLTA (ASCOLTO) In attesa di connessioni in entrata.
SYN_SENT Tentativo attivo di stabilire una connessione.
SYN_RECEIVED La sincronizzazione iniziale della connessione è in corso.
STABILITO Connessione stabilita.
CLOSE_WAIT Il lato remoto si è disconnesso; in attesa che la presa si chiuda.
FIN_WAIT_1 La presa è chiusa; disconnettere la connessione.
CHIUSURA La presa è chiusa, quindi il lato remoto scollegato; In attesa di conferma.
ULTIMO_ACK Il lato remoto è scollegato, quindi la presa è chiusa; In attesa di conferma.
FIN_WAIT_2 La presa è chiusa; in attesa che il lato remoto si disconnetta.
TEMPO DI ATTESA Il socket è chiuso, ma attende l'elaborazione dei pacchetti ancora sulla rete.

Elenco delle porte più comunemente utilizzate

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.

  1. TCP garantisce la consegna dei pacchetti di dati in forma invariata, sequenza e senza perdita, UDP non garantisce nulla.
  2. TCP enumera i pacchetti durante la trasmissione, ma non UDP.
  3. TCP opera in modalità duplex, in un pacchetto è possibile inviare informazioni e confermare la ricezione del pacchetto precedente.
  4. TCP richiede una connessione prestabilita, UDP non richiede una connessione, è solo un flusso di dati.
  5. UDP fornisce velocità di trasferimento dati più elevate.
  6. TCP è più affidabile e controlla il processo di comunicazione.
  7. UDP è preferibile per i programmi che riproducono video in streaming, videofonia e telefonia, giochi di rete.
  8. 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

Porta Protocollo Descrizione
1 20 Dati FTP File Transfer Protocol - protocollo di trasferimento file. Porta dati.
2 21 Controllo FTP File Transfer Protocol - protocollo di trasferimento file. Porta di comando.
3 22 SSH Secure SHell - "shell sicuro". Protocollo di controllo remoto del sistema operativo.
4 23 telnet Rete terminale. Protocollo per l'implementazione di un'interfaccia testuale su una rete.
5 25 SMTP Simple Mail Transfer Protocol è un semplice protocollo di trasferimento della posta.
6 42 VINCE Servizio nomi Internet di Windows. Un servizio per la mappatura dei nomi dei computer NetBIOS agli indirizzi IP host.
7 43 CHI È Chi è. Protocollo per l'ottenimento dei dati di registrazione sui titolari di nomi a dominio e indirizzi IP.
8 53 DNS Domain Name System - sistema di nomi di dominio.
9 67 DHCP Protocollo di configurazione host dinamico - protocollo di configurazione host dinamico. Ottenere IP dinamico.
10 69 TFTP Trivial File Transfer Protocol è un semplice protocollo di trasferimento file.
11 80 HTTP/Web HyperText Transfer Protocol è un protocollo di trasferimento ipertestuale.
12 110 POP3 Post Office Protocol versione 3 - Protocollo per la ricezione di posta elettronica, versione 3.
13 115 SFTP Protocollo di trasferimento file SSH. Protocollo di trasferimento dati sicuro.
14 123 NTP Protocollo dell'ora di rete. Un protocollo per sincronizzare l'orologio interno del computer.
15 137 NetBIOS Sistema di input/output di base di rete. Un protocollo per fornire operazioni di I/O di rete. servizio di nomi.
16 138 NetBIOS Sistema di input/output di base di rete. Un protocollo per fornire operazioni di I/O di rete. Servizio di connessione.
17 139 NetBIOS Sistema di input/output di base di rete. Un protocollo per fornire operazioni di I/O di rete. Servizio di sessione.
18 143 IMAP Protocollo di accesso ai messaggi Internet. Protocollo a livello di applicazione per l'accesso alla posta elettronica.
19 161 SNMP Simple Network Management Protocol è un semplice protocollo di gestione della rete. Gestione dei dispositivi.
20 179 BGP Border Gateway Protocol, protocollo del gateway di confine. Protocollo di instradamento dinamico.
21 443 HTTPS HyperText Transfer Protocol Secure è un protocollo HTTP che supporta la crittografia.
22 445 PMI blocco dei messaggi del server. Un protocollo per l'accesso remoto a file, stampanti e risorse di rete.
23 514 syslog registro di sistema. Un protocollo per l'invio e la registrazione di messaggi sugli eventi di sistema in corso.
24 515 LPD Demone della stampante di linea. Protocollo per la stampa remota su una stampante.
25 993 SSL IMAP Protocollo IMAP che supporta la crittografia SSL.
26 995 POP3 SSL Protocollo POP3 che supporta la crittografia SSL.
27 1080 CALZINI Presa sicura. Protocollo per ottenere un accesso anonimo sicuro.
28 1194 openvpn Un'implementazione aperta della tecnologia Virtual Private Network (VPN).
29 1433 MSSQL Microsoft SQL Server è un sistema di gestione di database. Porta di accesso al database.
30 1702 L2TP (IPsec) Protocollo per il supporto di reti private virtuali. Oltre a una serie di protocolli di protezione dei dati.
31 1723 PPTP Protocollo Tunnel per una connessione sicura a un server point-to-point.
32 3128 procuratore Al momento, la porta è spesso utilizzata dai server proxy.
33 3268 LDAP Lightweight Directory Access Protocol è un protocollo di accesso alla directory leggero (servizio di directory).
34 3306 MySQL Accesso ai database MySQL.
35 3389 PSR Remote Desktop Protocol è un protocollo desktop remoto per Windows.
36 5432 PostgreSQL Accesso ai database PostgreSQL.
37 5060 SORSO Un protocollo per stabilire una sessione e trasferire contenuti multimediali.
38 5900 VNC Virtual Network Computing è un sistema per l'accesso remoto al desktop di un computer.
39 5938 visualizzatore di squadra TeamViewer è un sistema per fornire il controllo remoto di un computer e lo scambio di dati.
40 8080 HTTP/Web Porta alternativa per il protocollo HTTP. A volte utilizzato dai server proxy.
41 10000 NDMP Porta popolare: Webmin, voce SIP, VPN IPSec su TCP.
42 20000 DNP