Protocollo di controllo della trasmissione (TCP)

Il protocollo di controllo della trasmissione (TCP) è il protocollo più comune utilizzato su Internet. È orientato alla connessione, il che significa che i dati possono essere inviati in modo bidirezionale una volta stabilita la connessione.[1] Il protocollo di controllo della trasmissione è più comunemente usato rispetto al protocollo UDP (User Datagram Protocol). A differenza dell'UDP, include un sistema automatico di controllo degli errori per garantire che ogni pacchetto venga consegnato, come richiesto. Il protocollo User Datagram, d'altra parte, non fornisce un sistema tale da richiedere il riconoscimento che la trasmissione dei pacchetti ha avuto successo. Questo controllo degli errori integrato, sebbene più efficiente, lo rende più lento dell'UDP poiché dà la priorità all'accurata trasmissione dei dati tra i sistemi.

Il TCP è quindi molto preferito nel trasferimento della maggior parte dei tipi di dati, come file e pagine web, attraverso i sistemi di rete. UDP, d'altra parte, è più ideale per i media online e lo streaming perché non richiede che tutti i pacchetti consegnati siano funzionali.[2]

Funzionalità

Il protocollo di controllo della trasmissione funziona quando gli utenti caricano una pagina web sul proprio browser web, il che comporta l'invio di pacchetti TCP dal computer all'indirizzo del server host del sito web. Questi pacchetti inviano una richiesta di recupero del contenuto della pagina del sito dal server host a cui l'utente può accedere. Un flusso di pacchetti TCP viene inviato all'utente o al dispositivo finale come risposta del server web. Il browser web è quindi responsabile di cucire insieme questi pacchetti per leggere i dati da visualizzare per l'utente. Quando gli utenti accedono a un sito web specifico o pubblicano commenti online, si affidano al TCP. Il sistema prevede non solo l'invio di pacchetti, ma anche il riconoscimento del fatto che anche questi pacchetti vengono ricevuti. Questo è garantito da un sistema di numerazione.

Attraverso il sistema, la ricezione di una risposta errata innesca i pacchetti da inviare nuovamente per garantire che i destinatari richiedenti ricevano i dati corretti richiesti. I pacchetti inviati all'interno del TCP rendono la connessione più affidabile, poiché questi dati sono tracciati, il che significa che nessun dato viene danneggiato o perso durante il trasporto. Questo è il motivo per cui gli utenti sono ancora in grado di ricevere un file completo e non corrotto anche nei momenti in cui la rete subisce un singhiozzo o interferenze. In alcuni casi, quando il ricevitore è offline, il computer invia un messaggio di errore che indica che non è stato in grado di comunicare con l'host remoto.[3]

Effetti

Il Transmission Control Protocol, essendo uno dei protocolli più diffusi su Internet, ha ancora i suoi pro e contro, come ogni altro protocollo in uso. Possiede ancora il potenziale per l'ottimizzazione e il miglioramento. Di seguito sono riportati alcuni dei pro e contro del TCP, come osservato nel suo utilizzo su Internet.

Vantaggi

È affidabile in quanto la ricezione e la conferma dei pacchetti sono garantite. È anche orientato alla connessione, il che significa che richiede endpoint per stabilire un canale sicuro prima di trasmettere i messaggi.[4] Nessun pacchetto verrà danneggiato o smarrito durante il trasporto, il che significa che riceverete quello che avete richiesto come lo avete richiesto.

Svantaggi

È noto per le scarse prestazioni delle reti wireless. Ciò è dovuto principalmente al fatto che i collegamenti wireless tendono a far cadere i pacchetti durante il transito a causa del "rumore" sul canale radio, e che la congestione della rete è un indicatore di perdita di pacchetti.[5] Poiché richiede un set completo di pacchetti per trasmettere il messaggio, può causare un breve ritardo nella trasmissione quando i pacchetti vengono persi lungo il percorso, con conseguente aumento del tempo di attesa per il caricamento e del tempo di ritardo rapido.

Porti e protocolli

Poiché è orientato alla connessione, richiede porte per un facile trasferimento e trasmissione di dati e altri file. Di seguito sono riportati alcuni dei protocolli più comuni e le corrispondenti porte utilizzate nel TCP. Alcuni di questi sono spesso utilizzati negli uffici locali, garantendo la disponibilità di trasferimenti sicuri di dati e file nelle reti aziendali.

File Transfer Protocol (FTP RFC 959: porte 20/21)

Si tratta di uno dei protocolli più utilizzati su Internet e anche all'interno di reti private. Chiunque abbia scarsa conoscenza di rete può configurare un server FTP. In questo modo è possibile trasferire facilmente i file da un sistema all'altro. Questo è controllato sotto la porta TCP 21 mentre la porta di trasferimento dati è la porta TCP 20.

Protocollo di trasferimento ipertesto (RFC 2616: porta 80)

L'HTTP è uno dei protocolli più utilizzati universalmente sulla maggior parte delle reti e su Internet. È il protocollo principale utilizzato dai browser web, e più utilizzato dai clienti di tutto il mondo.

Protocollo di trasferimento ipertesto su SSL/TLS (HTTPS RFC 2818: Porta 443)

In collaborazione con HTTP, il ruolo principale di HTTPS è quello di fornire gli stessi servizi attraverso una connessione sicura, sia da Secure Sockets Layer Sockets Layer o Transport Layer Security.

Guscio di sicurezza (RFC 4250-4256: Porta 22)

Secure Shell (SSH) è il protocollo a livello di comando che gestisce principalmente i dispositivi di rete utilizzati. Questo è comunemente usato come alternativa a Telnet che non fornisce connessioni sicure.

Telnet (RFC 854 - Porta 23)

A differenza di Secure Shell, Telnet non fornisce una connessione sicura. In pratica, ne fornisce una non protetta. Poiché non è protetto, la maggior parte dei dispositivi di rete di livello inferiore lo utilizza al posto di SSH che richiede un'elaborazione aggiuntiva. Avviso giusto, l'uso di Telnet sulle reti pubbliche può mostrare le credenziali di accesso in aperto.

Protocollo di trasferimento posta semplice (SMTP - Porta 25)

L'SMTP viene utilizzato principalmente per due funzioni. Utilizzando la porta TCP 25, è principalmente per il trasferimento di posta (e-mail) dall'origine alla destinazione tra i server di posta e gli utenti finali per inviare e-mail a un sistema di posta elettronica.[6]

Storia

Inizialmente sviluppato come parte della rete di ricerca della United States Defense Advanced Research Projects o DARPA, il Transmission Control Protocols o precedentemente noto come Transmission Control Program è stato progettato e lanciato nel 1974 dagli scienziati Vinton Gray "Vint" Cerf e Robert Elliot Kahn. In seguito furono soprannominati i "Padri di Internet".[7] ARPAnet è stato poi sviluppato come un sistema maturo di protocolli di interreti con TCP come protocollo principale. Scritto nel 1973 è la prima versione del predecessore del moderno TCP. Essa è stata rivista e documentata formalmente nella Request For Comments 675 intitolata Specification of Internet Transmission Control Program (Specification of Internet Transmission Control Program) del dicembre 1974.[8] Il Transmission Control Protocol è uno dei protocolli più utilizzati insieme al protocollo Internet. Dalla sua concezione nel 1974, molte revisioni, modifiche e innovazioni attraverso la Request for Comments (RFCs) hanno portato a ciò che lo rende oggi.


  1. https://www.diffen.com/difference/TCP_vs_UDP ↩︎

  2. https://techterms.com/definition/tcp ↩︎

  3. https://support.holmsecurity.com/hc/en-us/articles/212963869-What-is-the-difference-between-TCP-and-UDP- ↩︎

  4. https://www.itprotoday.com/strategy/tcp-vs-udp-ports ↩︎

  5. https://web.archive.org/web/20110503193100/http://academic.research.microsoft.com/Paper/3352358.aspx ↩︎

  6. http://www.pearsonitcertification.com/articles/article.aspx?p=1868080 ↩︎

  7. http://history-computer.com/Internet/Maturing/TCPIP.html ↩︎

  8. http://www.tcpipguide.com/free/t_TCPIPOverviewandHistory.htm ↩︎