Protocolli Internet

Protocollo di controllo della trasmissione (TCP)

TCP è un protocollo orientato alla connessione e offre la consegna di pacchetti end-to-end. Funge da spina dorsale per la connessione e presenta le seguenti caratteristiche chiave:

  • Il protocollo TCP (Transmission Control Protocol) corrisponde al livello di trasporto del modello OSI.

  • TCP è un protocollo affidabile e orientato alla connessione.

  • TCP offre:

    • Trasferimento dati in streaming.

    • Reliability.

    • Controllo efficiente del flusso

    • Funzionamento full duplex.

    • Multiplexing.

  • TCP offre la consegna di pacchetti end-to-end orientata alla connessione.

  • TCP garantisce l'affidabilità sequenziando i byte con un numero di riconoscimento di inoltro che indica alla destinazione il byte successivo che la sorgente si aspetta di ricevere.

  • Trasmette i byte non riconosciuti con nel periodo di tempo specificato.

Servizi TCP

TCP offre i seguenti servizi ai processi a livello dell'applicazione:

  • Stream Delivery Service

  • Invio e ricezione di buffer

  • Byte e segmenti

  • Servizio Full Duplex

  • Servizio orientato alla connessione

  • Servizio affidabile

Stream Deliver Service

Il protocollo TCP è orientato al flusso perché consente al processo di invio di inviare dati come flusso di byte e al processo di ricezione di ottenere dati come flusso di byte.

Invio e ricezione di buffer

Potrebbe non essere possibile per il processo di invio e ricezione produrre e ottenere dati alla stessa velocità, pertanto, TCP necessita di buffer per l'archiviazione alle estremità di invio e ricezione.

Byte e segmenti

Il protocollo TCP (Transmission Control Protocol), a livello di trasporto, raggruppa i byte in un pacchetto. Questo pacchetto è chiamato segmento. Prima della trasmissione di questi pacchetti, questi segmenti vengono incapsulati in un datagramma IP.

Servizio Full Duplex

Trasmettere i dati in modalità duplex significa flusso di dati in entrambe le direzioni contemporaneamente.

Servizio orientato alla connessione

TCP offre un servizio orientato alla connessione nel modo seguente:

  1. TCP del processo-1 informa TCP del processo-2 e ottiene la sua approvazione.

  2. TCP del processo - 1 e TCP del processo - 2 e scambiano dati in entrambe le direzioni.

  3. Dopo aver completato lo scambio di dati, quando i buffer su entrambi i lati sono vuoti, i due TCP distruggono i propri buffer.

Servizio affidabile

Per motivi di affidabilità, TCP utilizza un meccanismo di riconoscimento.

Protocollo Internet (IP)

Il protocollo Internet è connectionless e unreliableprotocollo. Non garantisce la corretta trasmissione dei dati.

Per renderlo affidabile, deve essere associato a un protocollo affidabile come TCP a livello di trasporto.

Il protocollo Internet trasmette i dati sotto forma di datagramma come mostrato nel diagramma seguente:

Points to remember:

  • La lunghezza del datagramma è variabile.

  • Il datagramma è diviso in due parti: header e data.

  • La lunghezza dell'intestazione è compresa tra 20 e 60 byte.

  • L'intestazione contiene le informazioni per l'instradamento e la consegna del pacchetto.

User Datagram Protocol (UDP)

Come l'IP, UDP è un protocollo senza connessione e inaffidabile. Non è necessario stabilire una connessione con l'host per lo scambio di dati. Poiché UDP è un protocollo inaffidabile, non esiste alcun meccanismo per garantire che i dati inviati vengano ricevuti.

UDP trasmette i dati sotto forma di datagramma. Il datagramma UDP è composto da cinque parti come mostrato nel diagramma seguente:

Points to remember:

  • UDP viene utilizzato dall'applicazione che in genere trasmette piccole quantità di dati contemporaneamente.

  • UDP fornisce la porta del protocollo utilizzata, ovvero il messaggio UDP contiene sia il numero di porta di origine che quello di destinazione, che consente al software UDP di destinazione di consegnare il messaggio al programma applicativo corretto.

File Transfer Protocol (FTP)

FTP viene utilizzato per copiare file da un host a un altro. FTP offre il meccanismo per lo stesso nel modo seguente:

  • FTP crea due processi come il processo di controllo e il processo di trasferimento dati su entrambe le estremità, ovvero sul client e sul server.

  • FTP stabilisce due diverse connessioni: una per il trasferimento dei dati e l'altra per le informazioni di controllo.

  • Control connection è fatto tra control processes mentre Data Connection è fatto tra

  • FTP utilizza port 21 per la connessione di controllo e Port 20 per la connessione dati.

Trivial File Transfer Protocol (TFTP)

Trivial File Transfer Protocolviene utilizzato anche per trasferire i file ma trasferisce i file senza autenticazione. A differenza di FTP, TFTP non separa le informazioni di controllo e dati. Poiché non esiste l'autenticazione, TFTP manca di funzionalità di sicurezza, quindi non è consigliabile utilizzare TFTP.

Key points

  • TFTP utilizza UDP per il trasporto dei dati. Ogni messaggio TFTP viene trasportato in un datagramma UDP separato.

  • I primi due byte di un messaggio TFTP specificano il tipo di messaggio.

  • La sessione TFTP viene avviata quando un client TFTP invia una richiesta per caricare o scaricare un file.

  • La richiesta viene inviata da una porta UDP temporanea al file UDP port 69 di un server TFTP.

Differenza tra FTP e TFTP

SNParametroFTPTFTP
1OperazioneTrasferimento di fileTrasferimento di file
2AutenticazioneNo
3ProtocolloTCPUDP
4Porti21 - Controllo, 20 - DatiPorta 3214, 69, 4012
5Controllo e datiSeparatoSeparato
6Trasferimento datiAffidabile Inaffidabile

Telnet

Telnet è un protocollo utilizzato per accedere al computer remoto su Internet. Esistono numerosi client Telnet con un'interfaccia utente intuitiva. Il diagramma seguente mostra che una persona ha effettuato l'accesso al computer A e da lì ha effettuato l'accesso remoto al computer B.

Hyper Text Transfer Protocol (HTTP)

HTTP è un protocollo di comunicazione. Definisce il meccanismo per la comunicazione tra il browser e il server web. Viene anche chiamato protocollo di richiesta e risposta perché la comunicazione tra browser e server avviene in coppie di richieste e risposte.

Richiesta HTTP

La richiesta HTTP è composta da righe che contengono:

  • Riga richiesta

  • Campi di intestazione

  • Corpo del messaggio

Key Points

  • La prima riga, ovvero il file Request line specifica il metodo di richiesta es Get o Post.

  • La seconda riga specifica l'intestazione che indica il nome di dominio del server da cui viene recuperato index.htm.

Risposta HTTP

Come la richiesta HTTP, anche la risposta HTTP ha una certa struttura. La risposta HTTP contiene:

  • Riga di stato

  • Headers

  • Corpo del messaggio