I numeri di porta sono compresi tra 0 e 65535. I numeri da 1 a 1023 sono assegnati ai servizi e da 1024 a 65535 sono porte effimere utilizzate per identificare una fonte. La porta 0 è assegnata da IANA (Internet Assigned Numbers Authority) come "riservata”.
Che cosa sono le porte e come funzionano?
Nella presentazione precedente abbiamo esaminato gli indirizzi IP e il modo in cui i router prendono decisioni in base alla parte del prefisso dell'indirizzo per instradare i pacchetti dagli host di origine agli host di destinazione. Abbiamo utilizzato un'analogia con il servizio postale osservando che il prefisso è come un codice postale e il resto dell'indirizzo IP è come un indirizzo stradale.
Ora, continuando la nostra analogia postale, cosa dire del nome del destinatario? Quando indirizziamo una lettera, includiamo il nome del destinatario, ad esempio Lucille Ball. Naturalmente, il servizio postale non deve guardare il nome del destinatario, ma una volta che la lettera arriva all'indirizzo di destinazione, qualcuno deve guardare il nome del destinatario e consegnare la lettera a tale persona. Dopotutto, allo stesso indirizzo possono risiedere più persone.
Lo stesso vale per gli host Internet. Gli host eseguono più processi o applicazioni. Ad esempio, un server potrebbe eseguire più servizi come web ed e-mail. Inoltre, i dispositivi utente come i laptop possono eseguire più client come browser web e lettori di posta elettronica. Quindi, quando un pacchetto arriva a un host, come determiniamo a quale processo deve essere consegnato? Questo è il compito dei protocolli TCP e UDP.
Il protocollo TCP (Transmission Control Protocol) e il protocollo UDP (User Datagram Protocol):
- fanno parte della suite di protocolli Internet (IP), a volte chiamata TCP/IP?
- Formano quello che viene chiamato livello di trasporto e definiscono la comunicazione da processo a processo.
- TCP e UDP identificano gli endpoint di comunicazione con i numeri di porta. Un numero di porta è analogo al nome del destinatario su una lettera.
Esaminiamo il TCP un po' più in dettaglio. TCP viene utilizzato per inviare un flusso di byte dal mittente al destinatario. Garantisce una consegna in ordine affidabile del flusso di byte. Tieni presente che l'IP da solo non garantisce l'ordine e nemmeno la consegna. I pacchetti IP possono essere e vengono eliminati. TCP garantisce la consegna in ordine garantita suddividendo il flusso in segmenti e quindi consegnando ciascun segmento in un pacchetto IP con un numero di sequenza. Il destinatario invia una conferma dei segmenti ricevuti al mittente, che poi ritrasmette i segmenti che non sono stati riconosciuti dopo un timeout.
Passiamo all'UDP. UDP viene utilizzato per inviare un datagramma dal mittente al destinatario. Un datagramma viene consegnato in un pacchetto IP. I datagrammi UDP non forniscono garanzie di consegna. L'unica differenza sostanziale tra un datagramma UDP e un pacchetto IP sono i numeri di porta.
I processi comunicano tramite porte identificate da numeri (a 16 bit). I numeri di porta di origine e di destinazione vengono aggiunti a ciascun pacchetto IP. I numeri di porta vengono spesso scritti aggiungendo :<numero-porta> all'indirizzo IP.
Ogni host mantiene una tabella che mappa i numeri di porta ai processi, quindi quando un pacchetto arriva a un host, l'host può utilizzare questa tabella per instradare il pacchetto al processo corretto. In questo esempio, la porta di destinazione 443 corrisponde alla seconda riga, quindi il pacchetto verrà consegnato al server web.
Allora come determiniamo i numeri di porta? Per i server, la risposta è che i servizi ascoltano su numeri di porta noti (nell'intervallo 1-1023). Ad esempio:
- Web (HTTP) è la porta 80,
- Secure Web (HTTPS) è la porta 443 e
- DNS è la porta 43.
Il client sceglie il numero di porta di destinazione corrispondente al servizio richiesto. Nel nostro esempio stiamo comunicando con un servizio HTTPS, quindi il numero di porta di destinazione è 443.
Per quanto riguarda il numero di porta di origine, il client avvia la comunicazione da quella che viene chiamata una porta temporanea (nell'intervallo 1024-65535). Sceglie qualsiasi numero di porta in quell'intervallo che attualmente non è in uso. In questo esempio, il client ha scelto il numero di porta 12627, quindi quello è il numero di porta di origine.
Quando il server risponde, inverte semplicemente l'origine e la destinazione.
Ma come determiniamo quegli indirizzi IP? La risposta è tramite un servizio di denominazione, e questo è l'argomento della prossima presentazione.
Ma prima di concludere con l'indirizzamento, riassumiamo riesaminando l'analogia del servizio postale. Il numero di porta è come il nome del destinatario. Proprio come solo i residenti devono guardare il nome del destinatario, solo l'host stesso deve guardare il numero di porta. Quando esaminiamo l'indirizzo IP, lo suddividiamo in un prefisso che è come il codice postale e il resto dell'indirizzo IP che è come l'indirizzo stradale. Nel nostro esempio, proprio come solo l'ufficio postale 90210 deve guardare l'indirizzo stradale, solo i router nella rete del MIT devono guardare l'intero indirizzo IP. E proprio come al di fuori del 90210, per instradare la lettera è necessario solo il codice postale, così anche al di fuori del MIT, per instradare il pacchetto è necessario solo il prefisso.
Ricapitolando: i messaggi dell'applicazione, ad esempio le richieste e le risposte web, vengono inseriti nei pacchetti IP. Sono spesso crittografati. I pacchetti IP vengono indirizzati con indirizzi IP di origine e destinazione e numeri di porta
Un indirizzo IP o un protocollo Internet viene utilizzato per fornire dati attraverso le connessioni di rete. Questo indirizzo è costituito da una stringa di numeri che fungono da identificatore univoco. I numeri di porta sono un numero intero senza segno a 16 bit aggiunto a questa stringa, separato da due punti, ad esempio 17.253.207.54: 443. Questo numero aggiunto è chiamato "numero di porta" e viene utilizzato per dirigere il traffico Internet quando arriva a un server. Il protocollo TCP (Transmission Control Protocol) e il protocollo UDP (User Datagram Protocol) vengono utilizzati per instradare un pacchetto di dati al processo corretto. Esistono numerosi numeri di porta e sono una parte essenziale del funzionamento di Internet.
Come funzionano le porte?
Le porte dei computer esistono fin dagli albori dell'informatica. L'ARPANET (Advanced Research Projects Agency Network) ha formulato il concetto di numeri di porta.
Le porte vengono utilizzate per identificare un endpoint di connessione e indirizzare i dati a un servizio. Esistono porte virtuali e fisiche: una porta USB è un esempio di porta fisica e spesso quella che viene in mente quando si pensa alle porte del computer. Tuttavia, le porte virtuali sono molto più comuni, ed è questo il punto della storia in cui le porte ci interessano per capire come funziona Internet. Le porte fanno parte del livello 4, il livello di trasporto, del modello OSI di Internet.
Per spiegare come funzionano le porte, dobbiamo tornare all'analogia di una lettera indirizzata a "Lucille Ball, 1000 Roxbury Drive, Beverly Hills, CA 90210". Nel nostro post sugli indirizzi IP, questa analogia aiuta a spiegare come nell'indirizzo virtuale equivalente alla lettera, un indirizzo IP ha instradato la lettera alla destinazione. Nell'analogia postale, una volta che una lettera raggiunge l'indirizzo finale, il nome sulla lettera identifica specificamente il destinatario della lettera; a questo proposito, una porta è l'equivalente del nome Lucille Ball.
Esistono molte porte virtuali, con numeri di porta compresi tra 0 e 65535. I protocolli Internet TCP e UDP decidono a quale processo viene inviato il pacchetto di dati; questo si basa su uno schema server-client, come descritto nelle nostre altre pagine su HTTP (Hypertext Transfer Protocol) e HTTPS.
Che cos'è un host?
Un host, come un server, spesso esegue più processi o applicazioni come web ed e-mail. Ogni host mantiene una tabella che associa i numeri di porta ai processi; quando un pacchetto di dati arriva a un host, l'host utilizza questa tabella per instradare il pacchetto al processo o servizio corretto. I dispositivi endpoint come i laptop in genere eseguono più client, come browser web e lettori di posta elettronica. TCP e UDP sono i protocolli che decidono dove inviare un pacchetto di dati una volta arrivato all'indirizzo di destinazione. Tuttavia, sebbene entrambi indirizzino il traffico, hanno caratteristiche diverse.
Che cos'è il TCP?
Il TCP (o Transmission Control Protocol) utilizza un flusso di byte per inviare dati dal mittente al destinatario. La caratteristica principale di TCP è la sua capacità di garantire una consegna affidabile e in ordine del flusso di byte. Ciò è necessario poiché i pacchetti IP potrebbero essere eliminati durante il percorso. TCP garantisce la consegna in ordine garantita suddividendo il flusso in segmenti e quindi consegnando ciascun segmento in un pacchetto IP con un numero di sequenza; il destinatario conferma la ricezione di una sequenza di pacchetti IP. Se la ricezione di una sequenza di pacchetti IP non viene confermata, il mittente ritrasmette i segmenti non ricevuti dopo un timeout.
Che cos'è il UDP?
La differenza principale tra UDP e TCP è che la consegna non è garantita. UDP viene utilizzato per inviare un datagramma dal mittente al destinatario. Un datagramma viene consegnato in un pacchetto IP. I numeri di porta sono l'unica differenza significativa tra un datagramma UDP e un pacchetto IP. Ma a causa di questa mancanza di garanzia di consegna, le porte TCP sono la scelta per i servizi che richiedono una trasmissione dati sicura e affidabile, come e-mail e siti web.
Esempi di numeri di porta per i servizi
Sono disponibili 65.535 numeri di porta possibili. I servizi ascoltano su numeri di porta noti nell'intervallo 1-1023. Alcuni dei numeri di porta di servizio più utilizzati sono:
- Porta 80: Web (HTTP)
- Porta 443: web sicuro (HTTPS)
- Porta 43: DNS (Domain Name System)
- Porta 3389: RDP (Remote Desktop Protocol)
- Porta 21: FTP (File Transfer Protocol)
- Porta 22: SSH (Secure Shell), un protocollo di tunneling utilizzato per creare connessioni di rete sicure
Nel nostro esempio di indirizzo IP, 17.253.207.54: 443, la comunicazione avviene tramite l'HTTPS, ovvero la porta 443.
Numeri di porta di origine
I numeri di porta di origine utilizzano una "porta temporanea" nell'intervallo 1024–65535. È possibile scegliere qualsiasi numero di porta nell'intervallo attualmente non in uso.
Lo strumento IANA (IANA) mantiene un elenco di numeri di porta. La porta 0 è assegnata come riservata da IANA e non disponibile per l'uso.
Akamai, porte e prevenzione degli attacchi online
Gli attacchi informatici basati sul cloud sono onnipresenti. Akamai è impegnata a eliminare gli exploit web diffusi su Internet utilizzati da hacker e criminali informatici. La perdita di pacchetti IP può essere causata da attacchi DDoS (Distributed Denial-of-Service) contro un server web. Le porte non protette o le porte che consentono exploit di vulnerabilità sono vettori di attacco ben noti. La nostra infrastruttura dedicata fornisce la prevenzione degli attacchi DDoS per bloccare gli attacchi nel cloud prima che raggiungano applicazioni, data center e infrastrutture connesse a Internet, pubbliche o private. L'architettura unica di Akamai segmenta le risorse DNS su cloud dedicati e non sovrapposti. Oltre 225 operatori SOCC in prima linea sostengono Akamai; la nostra soluzione completamente gestita filtra il traffico degli attacchi e blocca anche gli attacchi più significativi, consentendo agli addetti alla sicurezza di concentrarsi su programmi di sicurezza ad alta priorità. Akamai protegge l'azienda moderna dalle vulnerabilità introdotte dal cloud e da una forza lavoro distribuita.
Akamai e cybersicurezza
L'autorità di Akamai nella cybersicurezza si fonda su una profonda conoscenza del funzionamento di protocolli quali IP, HTTP, HTTPS e porte. Oltre alla sicurezza, Akamai ottimizza il cloud computing con la nostra suite di soluzioni di cloud computing; fornisce sicurezza, scalabilità e visibilità; ed è indipendente dal provider di servizi cloud. La nostra suite di prodotti per il cloud computing include la linea di prodotti Download Delivery che ottimizza in modo impeccabile i download di file HTTP di grandi dimensioni, ogni volta, su scala globale.
Domande frequenti (FAQ)
Le porte sono virtuali o fisiche e vengono utilizzate per identificare l'inizio e la fine di una rete. A una porta virtuale viene assegnato un numero univoco a 16 bit utilizzato per identificare un endpoint di connessione e indirizzare i dati a un servizio o processo specifico. Una porta verrà utilizzata per indirizzare diversi tipi di traffico quando entrano in un dispositivo, ad esempio e-mail e pagine web.
Le porte utilizzano due tipi di protocolli, TCP (Transmission Control Protocol) e UDP (User Datagram Protocol). TCP offre un servizio più affidabile poiché utilizza la consegna in ordine del flusso di byte, suddividendo i pacchetti in flussi; tutti i flussi non riconosciuti vengono inviati nuovamente.
I criminali possono scansionare le porte, cercando porte aperte che possano essere sfruttate. I firewall bloccano o consentono il traffico in base a regole di sicurezza. Gli hacker tentano di sfruttare le porte aperte per diffondere traffico dannoso. I firewall bloccano il traffico verso tutte le porte tranne alcuni servizi essenziali, come la porta 25 per la posta elettronica, la porta 80 per il traffico Web HTTP e la porta 443 per il traffico web HTTPS protetto. Porta 3389 per il traffico RDP è un noto vettore di attacco dove gli hacker cercheranno le vulnerabilità nell'RDP e le utilizzeranno per attacchi ransomware e altri exploit.
Un host, come un server, spesso esegue più processi o applicazioni come web ed e-mail. Ogni host mantiene una tabella che associa i numeri di porta ai processi; quando un pacchetto di dati arriva a un host, l'host utilizza questa tabella per instradare il pacchetto al processo o servizio corretto. I dispositivi endpoint come i laptop in genere eseguono più client, come browser web e lettori di posta elettronica. TCP e UDP sono i protocolli che decidono dove inviare un pacchetto di dati una volta arrivato all'indirizzo di destinazione. Tuttavia, sebbene entrambi indirizzino il traffico, hanno caratteristiche diverse.
Il TCP (o Transmission Control Protocol) utilizza un flusso di byte per inviare dati dal mittente al destinatario. La caratteristica principale di TCP è la sua capacità di garantire una consegna affidabile e in ordine del flusso di byte. Ciò è necessario poiché i pacchetti IP potrebbero essere eliminati durante il percorso. TCP garantisce la consegna in ordine garantita suddividendo il flusso in segmenti e quindi consegnando ciascun segmento in un pacchetto IP con un numero di sequenza; il destinatario conferma la ricezione di una sequenza di pacchetti IP. Se la ricezione di una sequenza di pacchetti IP non viene confermata, il mittente ritrasmette i segmenti non ricevuti dopo un timeout.
La differenza principale tra UDP e TCP è che la consegna non è garantita. UDP viene utilizzato per inviare un datagramma dal mittente al destinatario. Un datagramma viene consegnato in un pacchetto IP. I numeri di porta sono l'unica differenza significativa tra un datagramma UDP e un pacchetto IP. Ma a causa di questa mancanza di garanzia di consegna, le porte TCP sono la scelta per i servizi che richiedono una trasmissione dati sicura e affidabile, come e-mail e siti web.
Perché i clienti scelgono Akamai
A sostegno e protezione della vita online c'è sempre Akamai. Le principali aziende al mondo scelgono Akamai per creare, offrire e proteggere le loro experience digitali, aiutando miliardi di persone a vivere, lavorare e giocare ogni giorno. Akamai Connected Cloud, una piattaforma edge e cloud ampiamente distribuita, avvicina le app e le experience agli utenti e allontana le minacce.