Lo stack di protocolli Internet principale. Protocolli e standard di rete. Architettura della rete centrale

Stack di protocolli

Uno stack di protocolli è un insieme organizzato gerarchicamente di protocolli di rete a vari livelli, sufficiente per organizzare e garantire l'interazione dei nodi nella rete. Attualmente, le reti utilizzano un gran numero di stack di protocolli di comunicazione. Gli stack più popolari sono: TCP/IP, IPX/SPX, NetBIOS/SMB, Novell NetWare, DECnet, XNS, SNA e OSI. Tutti questi stack, ad eccezione di SNA, ai livelli inferiori - collegamento fisico e dati - utilizzano gli stessi protocolli ben standardizzati Ethemet, Token Ring, FDDI e alcuni altri, che consentono di utilizzare la stessa apparecchiatura in tutte le reti. Ma avanti livelli superiori x tutti gli stack operano secondo i propri protocolli. Questi protocolli spesso non sono conformi alla stratificazione consigliata dal modello OSI. In particolare, le funzioni dei livelli sessione e presentazione sono tipicamente combinate con il livello applicazione. Questa discrepanza è dovuta al fatto che Modello OSIè apparso come risultato della generalizzazione di pile già esistenti ed effettivamente utilizzate, e non viceversa.

Tutti i protocolli inclusi nello stack sono stati sviluppati da un produttore, ovvero sono in grado di funzionare nel modo più rapido ed efficiente possibile.

Un punto importante nel funzionamento delle apparecchiature di rete, in particolare dell'adattatore di rete, è il vincolo dei protocolli. Consente di utilizzare diversi stack di protocolli durante la manutenzione di un adattatore di rete. Ad esempio, è possibile utilizzare contemporaneamente gli stack TCP/IP e IPX/SPX. Se all'improvviso si verifica un errore durante il tentativo di stabilire una connessione con il destinatario utilizzando il primo stack, si passerà automaticamente all'utilizzo del protocollo dallo stack successivo. Un punto importante in questo caso è l'ordine vincolante, poiché influenza chiaramente l'uso dell'uno o dell'altro protocollo da stack diversi.

Indipendentemente dal numero di adattatori di rete installati nel computer, l'associazione può essere eseguita "uno a più" o "diversi a uno", ovvero uno stack di protocollo può essere collegato a più adattatori contemporaneamente o più stack a un adattatore .

NetWare è un sistema operativo di rete e un insieme di protocolli di rete utilizzati in questo sistema per interagire con i computer client connessi alla rete. I protocolli di rete del sistema si basano sullo stack di protocolli XNS. NetWare attualmente supporta i protocolli TCP/IP e IPX/SPX. Novell NetWare era popolare negli anni '80 e '90 grazie alla sua maggiore efficienza rispetto ai sistemi operativi generici. Questa è ormai una tecnologia obsoleta.

Lo stack di protocolli XNS (Xerox Network Services Internet Transport Protocol) è stato sviluppato da Xerox per la trasmissione di dati su reti Ethernet. Contiene 5 livelli.

Il livello 1 - mezzo di trasmissione - implementa le funzioni dei livelli fisico e di collegamento dati nel modello OSI:

* gestisce lo scambio dati tra il dispositivo e la rete;

* instrada i dati tra dispositivi sulla stessa rete.

Il livello 2 - internetwork - corrisponde al livello di rete nel modello OSI:

* gestisce lo scambio di dati tra dispositivi situati su reti diverse (fornisce il servizio datagram secondo il modello IEEE);

* descrive il modo in cui i dati fluiscono attraverso la rete.

Il livello 3 - trasporto - corrisponde al livello di trasporto nel modello OSI:

* fornisce la comunicazione end-to-end tra l'origine dati e la destinazione.

Il livello 4 - controllo - corrisponde ai livelli di sessione e rappresentativi nel modello OSI:

* controlla la presentazione dei dati;

* gestisce il controllo sulle risorse del dispositivo.

Il livello 5 - applicazione - corrisponde ai livelli più alti del modello OSI:

* fornisce funzioni di elaborazione dati per attività applicative.

Lo stack di protocolli TCP/IP (Transmission Control Protocol/Internet Protocol) è oggi il più comune e funzionale. Funziona in reti locali di qualsiasi dimensione. Questo stack è lo stack principale rete globale Internet. Il supporto dello stack è stato implementato nei computer con un sistema operativo Sistema UNIX. Di conseguenza, la popolarità del protocollo TCP/IP è aumentata. Lo stack di protocolli TCP/IP comprende numerosi protocolli che operano a diversi livelli, ma ha preso il nome grazie a due protocolli: TCP e IP.

TCP (Transmission Control Protocol) è un protocollo di trasporto progettato per controllare la trasmissione dei dati nelle reti utilizzando lo stack di protocolli TCP/IP. IP (Protocollo Internet) è un protocollo del livello di rete progettato per fornire dati su una rete composita utilizzando uno dei protocolli di trasporto, come TCP o UDP.

Il livello inferiore dello stack TCP/IP utilizza protocolli di trasferimento dati standard, il che ne rende possibile l'utilizzo in reti che ne utilizzano qualsiasi tecnologie di rete e su computer con qualsiasi sistema operativo.

Il protocollo TCP/IP è stato originariamente sviluppato per l'utilizzo nelle reti globali ed è per questo motivo estremamente flessibile. In particolare, grazie alla capacità di frammentare i pacchetti, i dati, nonostante la qualità del canale di comunicazione, raggiungono comunque il destinatario. Inoltre, grazie alla presenza del protocollo IP, diventa possibile il trasferimento di dati tra segmenti di rete diversi.

Lo svantaggio del protocollo TCP/IP è la complessità dell'amministrazione della rete. Sì, per funzionamento normale la rete richiede server aggiuntivi, come DNS, DHCP, ecc., il cui funzionamento richiede la maggior parte del tempo amministratore di sistema. Limoncelli T., Hogan K., Cheylap S. - Amministrazione di sistemi e reti. 2a ed. anno 2009. 944с

Lo stack di protocolli IPX/SPX (Internetwork Packet Exchange/Sequenced Packet Exchange) è sviluppato e di proprietà di Novell. È stato sviluppato per le esigenze del sistema operativo Novell NetWare, che fino a poco tempo fa occupava una delle posizioni di leader tra i sistemi operativi per server.

I protocolli IPX e SPX operano rispettivamente ai livelli di rete e di trasporto del modello ISO/OSI e quindi si completano perfettamente a vicenda.

Il protocollo IPX può trasmettere dati utilizzando datagrammi utilizzando informazioni di routing di rete. Tuttavia, per poter trasmettere i dati lungo il percorso trovato, è necessario prima stabilire una connessione tra mittente e destinatario. Questo è ciò che fa il protocollo SPX o qualsiasi altro protocollo di trasporto che funzioni in tandem con IPX.

Sfortunatamente, lo stack di protocolli IPX/SPX è inizialmente progettato per servire reti di piccole dimensioni, quindi il suo utilizzo in reti di grandi dimensioni è inefficace: un uso eccessivo della trasmissione su linee di comunicazione a bassa velocità è inaccettabile.

A livello fisico e di collegamento dati, lo stack OSI supporta i protocolli Ethernet, Token Ring, FDDI, nonché i protocolli LLC, X.25 e ISDN, ovvero utilizza tutti i popolari protocolli di livello inferiore sviluppati all'esterno dello stack , come la maggior parte degli altri stack. Il livello di rete include il ConnectionOriented Network Protocol (CONP) e il Connectionless Network Protocol (CLNP), utilizzati relativamente raramente. I protocolli di instradamento dello stack OSI sono ES-IS (End System -- Intermediate System) tra i sistemi finali e intermedi e IS-IS (Intermediate System -- Intermediate System) tra i sistemi intermedi. Il livello di trasporto dello stack OSI nasconde le differenze tra servizi di rete orientati alla connessione e senza connessione in modo che gli utenti ricevano la qualità di servizio desiderata indipendentemente dal livello di rete sottostante. Per fornire ciò, il livello di trasporto richiede all'utente di specificare la qualità del servizio desiderata. I servizi del livello applicativo forniscono trasferimento di file, emulazione di terminale, servizi di directory e posta. Di questi, i più popolari sono il servizio di directory (standard X.500), la posta elettronica (X.400), il protocollo terminale virtuale (VTP), il protocollo di trasferimento file, accesso e gestione (FTAM), il protocollo di inoltro e gestione dei lavori (JTM) .

Uno stack di protocolli abbastanza popolare sviluppato rispettivamente da IBM e Microsoft, destinato all'uso nei prodotti di queste aziende. Come TCP/IP, i protocolli standard come Ethernet, Token Ring e altri operano a livello fisico e di collegamento dati dello stack NetBIOS/SMB, il che ne rende possibile l'utilizzo insieme a qualsiasi apparecchiatura di rete attiva. Ai livelli superiori operano i protocolli NetBIOS (Network Basic Input/Output System) e SMB (Server Message Block).

Il protocollo NetBIOS è stato sviluppato a metà degli anni '80 del secolo scorso, ma è stato presto sostituito dal protocollo più funzionale NetBEUI (NetBIOS Extended User Interface), che consente uno scambio di informazioni molto efficiente in reti composte da non più di 200 computer.

Per lo scambio di dati tra computer vengono utilizzati nomi logici che vengono assegnati dinamicamente ai computer quando sono collegati alla rete. In questo caso, la tabella dei nomi viene distribuita su ciascun computer della rete. Supporta anche il lavoro con nomi di gruppo, che consente di trasferire dati a più destinatari contemporaneamente.

I principali vantaggi del protocollo NetBEUI sono la velocità e i requisiti di risorse molto bassi. Se è necessario organizzare uno scambio veloce di dati in una piccola rete composta da un singolo segmento, non esiste un protocollo migliore per questo. Inoltre, per consegnare messaggi connessione stabilita non è un requisito obbligatorio: in caso di mancata connessione, il protocollo utilizza il metodo del datagramma, dove il messaggio si correda dell'indirizzo del destinatario e del mittente e “va in viaggio”, spostandosi da un computer all'altro.

Tuttavia, NetBEUI presenta anche uno svantaggio significativo: è completamente privo del concetto di instradamento dei pacchetti, quindi il suo utilizzo in reti composite complesse non ha senso. Pyatibratov A.P., Gudyno L.P., Kirichenko A.A. Computer, reti e sistemi di telecomunicazione Mosca 2009. 292

Per quanto riguarda il protocollo SMB (Server Message Block), viene utilizzato per organizzare il funzionamento della rete ai tre livelli più alti: livelli di sessione, presentazione e applicazione. È quando lo si utilizza che diventa possibile l'accesso a file, stampanti e altre risorse di rete. Questo protocollo è stato migliorato più volte (sono state rilasciate tre versioni), il che rende possibile l'utilizzo anche nei sistemi operativi moderni come Microsoft Vista e Windows 7. Il protocollo SMB è universale e può funzionare in tandem con quasi tutti i protocolli di trasporto , come TCP/IP e SPX.

Lo stack di protocolli DECnet (Digital Equipment Corporation net) contiene 7 livelli. Nonostante la differenza terminologica, i livelli DECnet sono molto simili ai livelli del modello OSI. DECnet implementa il concetto di architettura di rete DNA (Digital Network Architecture), sviluppato da DEC, secondo il quale sistemi informatici eterogenei (computer di classi diverse), che operano con sistemi operativi diversi, possono essere combinati in reti informatiche e informatiche geograficamente distribuite.

Il protocollo SNA (System Network Architecture) di IBM è progettato per la comunicazione remota con computer di grandi dimensioni e contiene 7 livelli. SNA si basa sul concetto di macchina host e fornisce accesso terminale remoto ai mainframe IBM. La principale caratteristica distintiva di SNA è la capacità di ciascun terminale di accedere a qualsiasi programma applicativo del computer host. L'architettura di rete del sistema viene implementata sulla base di un metodo di accesso virtuale alle telecomunicazioni (VTAM) nel computer host. VTAM gestisce tutti i collegamenti e i terminali di comunicazione, ciascun terminale ha accesso a tutti i programmi applicativi.

Questo articolo tratterà le nozioni di base del modello TCP/IP. Per una migliore comprensione vengono descritti i principali protocolli e servizi. La cosa principale è prendersi il proprio tempo e cercare di capire ogni cosa passo dopo passo. Sono tutti interconnessi e senza comprenderne uno sarà difficile comprendere l’altro. Le informazioni qui contenute sono molto superficiali, quindi questo articolo può essere facilmente definito “uno stack di protocolli TCP/IP per manichini”. Tuttavia, molte cose qui non sono così difficili da capire come potrebbero sembrare a prima vista.

TCP/IP

Lo stack TCP/IP è un modello di rete per la trasmissione dei dati su una rete; determina l'ordine in cui interagiscono i dispositivi. I dati entrano nel livello di collegamento dati e vengono elaborati a turno da ciascun livello superiore. Lo stack è rappresentato come un'astrazione che spiega i principi dell'elaborazione e della ricezione dei dati.

Lo stack di protocolli di rete TCP/IP ha 4 livelli:

  1. Canale (Link).
  2. Rete (Internet).
  3. Trasporto.
  4. Applicazione.

Livello di applicazione

Il livello dell'applicazione offre la possibilità di interagire tra l'applicazione e altri livelli dello stack di protocolli, analizza e converte le informazioni in ingresso in un formato adatto al software. È il più vicino all'utente e interagisce con lui direttamente.

  • HTTP;
  • SMTP;

Ciascun protocollo definisce il proprio ordine e i propri principi per lavorare con i dati.

HTTP (HyperText Transfer Protocol) è progettato per il trasferimento dei dati. Invia, ad esempio, documenti in formato HTML che fungono da base per una pagina web. In modo semplificato lo schema di lavoro si presenta come “client – ​​server”. Il client invia una richiesta, il server la accetta, la elabora correttamente e restituisce il risultato finale.

Serve come standard per il trasferimento di file sulla rete. Il client invia una richiesta per un determinato file, il server cerca questo file nel suo database e, se trovato con successo, lo invia come risposta.

Utilizzato per la trasmissione E-mail. L'operazione SMTP comprende tre passaggi sequenziali:

  1. Determinazione dell'indirizzo del mittente. Questo è necessario per restituire le lettere.
  2. Definizione del destinatario. Questo passaggio può essere ripetuto più volte quando si specificano più destinatari.
  3. Determinazione del contenuto del messaggio e invio. I dati sul tipo di messaggio vengono trasmessi come informazioni di servizio. Se il server conferma la sua disponibilità ad accettare il pacchetto, la transazione stessa è completata.

Intestazione

L'intestazione contiene i dati del servizio. È importante capire che sono destinati solo a un livello specifico. Ciò significa che non appena il pacchetto viene inviato al destinatario, verrà elaborato lì secondo lo stesso modello, ma in ordine inverso. L'intestazione incorporata conterrà informazioni speciali che possono essere elaborate solo in un certo modo.

Ad esempio, un'intestazione nidificata nel livello di trasporto può essere elaborata solo dal livello di trasporto sull'altro lato. Altri semplicemente lo ignoreranno.

Strato di trasporto

A livello di trasporto, le informazioni ricevute vengono elaborate come una singola unità, indipendentemente dal contenuto. I messaggi ricevuti vengono divisi in segmenti, viene aggiunta un'intestazione e il tutto viene inviato a valle.

Protocolli di trasferimento dati:

Il protocollo più comune. È responsabile del trasferimento garantito dei dati. Quando si inviano pacchi, sono controllati controlla la somma, processo di transazione. Ciò significa che le informazioni arriveranno “sane e sane” indipendentemente dalle condizioni.

UDP (User Datagram Protocol) è il secondo protocollo più popolare. È anche responsabile del trasferimento dei dati. La sua caratteristica distintiva risiede nella sua semplicità. I pacchetti vengono semplicemente inviati senza creare alcuna connessione speciale.

TCP o UDP?

Ciascuno di questi protocolli ha il proprio ambito. È logicamente determinato dalle caratteristiche dell'opera.

Il vantaggio principale di UDP è la velocità di trasmissione. Il TCP è un protocollo complesso e con molti controlli, mentre l'UDP risulta essere più semplificato e quindi più veloce.

Lo svantaggio sta nella semplicità. A causa della mancanza di controlli, l’integrità dei dati non è garantita. Pertanto, le informazioni vengono semplicemente inviate e tutti i controlli e le manipolazioni simili rimangono nell'applicazione.

UDP viene utilizzato ad esempio per guardare video. Per un file video, la perdita di un piccolo numero di segmenti non è fondamentale, mentre la velocità di caricamento è il fattore più importante.

Tuttavia, se è necessario inviare password o dettagli carta bancaria, allora la necessità di utilizzare TCP è ovvia. La perdita anche del più piccolo dato può avere conseguenze catastrofiche. La velocità in questo caso non è importante quanto la sicurezza.

Livello di rete

Il livello di rete forma pacchetti dalle informazioni ricevute e aggiunge un'intestazione. La parte più importante dei dati sono gli indirizzi IP e MAC dei mittenti e dei destinatari.

Indirizzo IP (indirizzo del protocollo Internet): l'indirizzo logico del dispositivo. Contiene informazioni sulla posizione del dispositivo sulla rete. Voce di esempio: .

Indirizzo MAC (indirizzo Media Access Control): l'indirizzo fisico del dispositivo. Utilizzato per l'identificazione. Assegnato alle apparecchiature di rete in fase di produzione. Presentato come un numero di sei byte. Per esempio: .

Lo strato di rete è responsabile di:

  • Determinazione dei percorsi di consegna.
  • Trasferimento di pacchetti tra reti.
  • Assegnazione di indirizzi univoci.

I router sono dispositivi a livello di rete. Aprono la strada tra il computer e il server in base ai dati ricevuti.

Il protocollo più popolare a questo livello è IP.

IP (Internet Protocol) è un protocollo Internet progettato per l'indirizzamento in rete. Utilizzato per costruire percorsi lungo i quali vengono scambiati i pacchetti. Non dispone di alcun mezzo per verificare e confermare l'integrità. Per fornire garanzie di consegna, viene utilizzato TCP, che utilizza IP come protocollo di trasporto. La comprensione dei principi di questa transazione spiega gran parte del funzionamento dello stack di protocolli TCP/IP.

Tipi di indirizzi IP

Esistono due tipi di indirizzi IP utilizzati nelle reti:

  1. Pubblico.
  2. Privato.

Pubblico (Public) vengono utilizzati su Internet. La regola principale è l'assoluta unicità. Un esempio del loro utilizzo sono i router, ognuno dei quali ha il proprio indirizzo IP per interagire con Internet. Questo indirizzo è chiamato pubblico.

Private (Private) non vengono utilizzati su Internet. Nella rete globale, tali indirizzi non sono univoci. Esempio - la rete locale. A ciascun dispositivo viene assegnato un indirizzo IP univoco all'interno di una determinata rete.

L'interazione con Internet avviene tramite un router che, come accennato in precedenza, dispone di un proprio indirizzo IP pubblico. Pertanto tutti i computer collegati al router appaiono in Internet sotto il nome di un indirizzo IP pubblico.

IPv4

La versione più comune del protocollo Internet. È precedente a IPv6. Il formato di registrazione è composto da quattro numeri a otto bit separati da punti. La maschera di sottorete è indicata tramite il segno di frazione. La lunghezza dell'indirizzo è di 32 bit. Nella stragrande maggioranza dei casi, quando stiamo parlando per quanto riguarda l'indirizzo IP, intendiamo IPv4.

Formato di registrazione: .

IPv6

Questa versione ha lo scopo di risolvere i problemi versione precedente. La lunghezza dell'indirizzo è 128 bit.

Il problema principale risolto da IPv6 è l'esaurimento degli indirizzi IPv4. I presupposti cominciarono ad apparire già all'inizio degli anni '80. Nonostante il fatto che questo problema sia entrato in una fase acuta già nel 2007-2009, l’implementazione di IPv6 sta guadagnando slancio molto lentamente.

Il vantaggio principale di IPv6 è una connessione Internet più veloce. Questo perché questa versione del protocollo non richiede la traduzione degli indirizzi. Viene eseguito il routing semplice. Questo è meno costoso e, pertanto, l'accesso alle risorse Internet viene fornito più velocemente rispetto a IPv4.

Voce di esempio: .

Esistono tre tipi di indirizzi IPv6:

  1. Unicast.
  2. Comunque.
  3. Multicast.

Unicast è un tipo di unicast IPv6. Quando viene inviato, il pacchetto raggiunge solo l'interfaccia situata all'indirizzo corrispondente.

Anycast si riferisce agli indirizzi multicast IPv6. Il pacchetto inviato verrà inviato all'interfaccia di rete più vicina. Utilizzato solo dai router.

Il multicast è multicast. Ciò significa che il pacchetto inviato raggiungerà tutte le interfacce presenti nel gruppo multicast. A differenza del broadcast, che viene “trasmesso a tutti”, il multicast trasmette solo a un gruppo specifico.

Maschera di sottorete

La maschera di sottorete determina il numero di sottorete e host dall'indirizzo IP.

Ad esempio, un indirizzo IP ha una maschera. In questo caso, il formato di registrazione sarà simile a questo. Il numero "24" è il numero di bit nella maschera. Otto bit equivalgono a un ottetto, che può anche essere chiamato byte.

Più in dettaglio, la maschera di sottorete può essere rappresentata nel sistema di numerazione binario come segue: . Ha quattro ottetti e la voce è composta da "1" e "0". Se sommiamo il numero di unità, otteniamo un totale di “24”. Fortunatamente non devi contare per uno, perché ci sono 8 valori in un ottetto. Vediamo che tre di essi sono pieni di unità, li sommiamo e otteniamo “24”.

Se parliamo specificamente della maschera di sottorete, nella rappresentazione binaria ha uno o zero in un ottetto. In questo caso, la sequenza è tale che i byte con uno vengono prima e solo dopo con zero.

Diamo un'occhiata a un piccolo esempio. C'è un indirizzo IP e una maschera di sottorete. Contiamo e annotiamo: . Ora abbiniamo la maschera all'indirizzo IP. Quegli ottetti maschera in cui tutti i valori sono uguali a uno (255) lasciano invariati gli ottetti corrispondenti nell'indirizzo IP. Se il valore è zero (0), anche gli ottetti nell'indirizzo IP diventano zero. Pertanto, nel valore dell'indirizzo della sottorete otteniamo .

Sottorete e host

La sottorete è responsabile della separazione logica. Essenzialmente si tratta di dispositivi che utilizzano la stessa rete locale. Determinato da un intervallo di indirizzi IP.

Host è l'indirizzo dell'interfaccia di rete ( scheda di rete). Determinato dall'indirizzo IP mediante una maschera. Per esempio: . Poiché i primi tre ottetti costituiscono la sottorete, rimane . Questo è il numero dell'ospite.

L'intervallo degli indirizzi host va da 0 a 255. L'host numerato "0" è, infatti, l'indirizzo della sottorete stessa. E il numero host “255” è un'emittente.

Indirizzamento

Esistono tre tipi di indirizzi utilizzati per l'indirizzamento nello stack di protocolli TCP/IP:

  1. Locale.
  2. Rete.
  3. Nomi di dominio.

Gli indirizzi MAC sono chiamati locali. Vengono utilizzati per l'indirizzamento nelle tecnologie di rete locale come Ethernet. Nel contesto del TCP/IP, la parola "locale" significa che operano solo all'interno di una sottorete.

L'indirizzo di rete nello stack del protocollo TCP/IP è l'indirizzo IP. Quando si invia un file, l'indirizzo del destinatario viene letto dalla sua intestazione. Con il suo aiuto, il router apprende il numero host e la sottorete e, sulla base di queste informazioni, crea un percorso verso il nodo finale.

I nomi di dominio sono indirizzi leggibili per i siti Web su Internet. I server Web su Internet sono accessibili tramite un indirizzo IP pubblico. Viene elaborato con successo dai computer, ma sembra troppo scomodo per le persone. Per evitare tali complicazioni vengono utilizzati nomi di dominio costituiti da aree chiamate “domini”. Sono organizzati in una rigida gerarchia, dal livello più alto a quello più basso.

Il dominio di primo livello rappresenta informazione specifica. I generici (.org, .net) non sono limitati da confini rigidi. La situazione opposta è con quelli locali (.us, .ru). Di solito sono localizzati.

I domini di basso livello sono tutto il resto. Può avere qualsiasi dimensione e contenere un numero qualsiasi di valori.

Ad esempio, "www.test.quiz.sg" è un nome di dominio corretto, dove "sg" è un dominio locale di primo livello (superiore), "quiz.sg" è un dominio di secondo livello, "test.quiz.sg" è un dominio di terzo livello. I nomi di dominio possono anche essere chiamati nomi DNS.

Stabilisce una corrispondenza tra nomi di dominio e indirizzo IP pubblico. Quando digiti un nome di dominio nel tuo browser, il DNS rileverà l'indirizzo IP corrispondente e lo segnalerà al dispositivo. Il dispositivo lo elaborerà e lo restituirà come pagina web.

Livello di collegamento dati

A livello di collegamento viene determinata la relazione tra il dispositivo e il mezzo di trasmissione fisico e viene aggiunta un'intestazione. Responsabile della codifica dei dati e della preparazione dei frame per la trasmissione sul supporto fisico. Gli switch di rete operano a questo livello.

I protocolli più comuni:

  1. Ethernet.
  2. Wi-Fi.

Ethernet è la tecnologia LAN cablata più comune.

WLAN: basata su rete locale tecnologie senza fili. I dispositivi interagiscono senza connessioni di cavi fisici. Un esempio del metodo più comune è il Wi-Fi.

Configurazione di TCP/IP per utilizzare un indirizzo IPv4 statico

Un indirizzo IPv4 statico viene assegnato direttamente nelle impostazioni del dispositivo o automaticamente durante la connessione alla rete ed è permanente.

Per configurare lo stack del protocollo TCP/IP per utilizzare un indirizzo IPv4 permanente, immettere il comando ipconfig/all nella console e trovare i seguenti dati.

Configurazione di TCP/IP per utilizzare un indirizzo IPv4 dinamico

Un indirizzo IPv4 dinamico viene utilizzato per un po', affittato e poi modificato. Assegnato automaticamente al dispositivo quando connesso alla rete.

Per configurare lo stack del protocollo TCP/IP per utilizzare un indirizzo IP non permanente, è necessario andare nelle proprietà della connessione desiderata, aprire le proprietà IPv4 e selezionare le caselle come indicato.

Metodi di trasferimento dei dati

I dati vengono trasmessi attraverso il supporto fisico in tre modi:

  • Semplice.
  • Half-duplex.
  • Duplex completo.

Simplex è una comunicazione unidirezionale. La trasmissione viene effettuata da un solo dispositivo, mentre l'altro riceve solo il segnale. Possiamo dire che le informazioni vengono trasmesse in una sola direzione.

Esempi di comunicazione simplex:

  • Trasmissione televisiva.
  • Segnale dai satelliti GPS.

Half-duplex è una comunicazione bidirezionale. Tuttavia, solo un nodo alla volta può trasmettere un segnale. Con questo tipo di comunicazione due dispositivi non possono utilizzare contemporaneamente lo stesso canale. Uno completo potrebbe essere fisicamente impossibile o portare a collisioni. Si dice che siano in conflitto sul mezzo di trasmissione. Questa modalità viene utilizzata quando si utilizza un cavo coassiale.

Un esempio di comunicazione half-duplex è la comunicazione tramite walkie-talkie su una frequenza.

Full Duplex: comunicazione bidirezionale completa. I dispositivi possono trasmettere e ricevere simultaneamente un segnale. Non sono in conflitto sul mezzo di trasmissione. Questa modalità si applica durante l'utilizzo Tecnologie veloci Connessioni Ethernet e doppino intrecciato.

Un esempio di comunicazione duplex è la comunicazione telefonica tramite una rete mobile.

TCP/IP e OSI

Il modello OSI definisce i principi della trasmissione dei dati. Gli strati dello stack del protocollo TCP/IP corrispondono direttamente a questo modello. A differenza del TCP/IP a quattro livelli, ha 7 livelli:

  1. Fisico.
  2. Canale (collegamento dati).
  3. Rete.
  4. Trasporto.
  5. Sessione.
  6. Presentazione.
  7. Applicazione.

IN questo momento Non è necessario approfondire questo modello, ma è necessaria almeno una comprensione superficiale.

Il livello dell'applicazione nel modello TCP/IP corrisponde ai primi tre livelli OSI. Funzionano tutti con le applicazioni, quindi puoi vedere chiaramente la logica di questa combinazione. Questa struttura generalizzata dello stack di protocolli TCP/IP rende l'astrazione più semplice da comprendere.

Lo strato di trasporto rimane invariato. Esegue le stesse funzioni.

Anche il livello di rete è invariato. Esegue esattamente gli stessi compiti.

Il livello di collegamento dati in TCP/IP corrisponde agli ultimi due livelli OSI. Il livello di collegamento dati stabilisce i protocolli per la trasmissione dei dati sul supporto fisico.

Il fisico rappresenta se stesso connessione fisica- segnali elettrici, connettori, ecc. Nello stack del protocollo TCP/IP si è deciso di unire questi due livelli in uno solo, poiché entrambi si occupano del supporto fisico.

Internet- sistema globale computer interconnessi, reti locali e altre reti che interagiscono tra loro attraverso lo stack di protocolli TCP/IP (Fig. 1).

Figura 1 – Schema generalizzato di Internet

Internet garantisce lo scambio di informazioni tra tutti i computer ad esso collegati. Il tipo di computer e il sistema operativo utilizzato non hanno importanza.

Le cellule principali di Internet sono le reti locali (LAN – Local Area network). Se una rete locale è connessa direttamente a Internet, anche ogni workstation di questa rete può connettersi ad essa. Esistono anche computer connessi a Internet in modo indipendente. Si chiamano computer ospiti(ospite – proprietario).

Ogni computer connesso alla rete ha il proprio indirizzo, presso il quale un abbonato può trovarlo da qualsiasi parte del mondo.

Una caratteristica importante di Internet è che, collegando varie reti, non crea alcuna gerarchia: tutti i computer collegati alla rete hanno uguali diritti.

Ancora uno caratteristica distintiva Internet è altamente affidabile. Se alcuni computer e linee di comunicazione falliscono, la rete continuerà a funzionare. Questa affidabilità è garantita dal fatto che non esiste un unico centro di controllo su Internet. Se alcune linee di comunicazione o computer falliscono, i messaggi possono essere trasmessi su altre linee di comunicazione, poiché esistono sempre diversi modi per trasmettere informazioni.

Internet non è un'organizzazione commerciale e non è di proprietà di nessuno. Ci sono utenti Internet in quasi tutti i paesi del mondo.

Gli utenti si connettono alla rete tramite computer di organizzazioni speciali chiamate fornitori di servizi Internet. La connessione Internet può essere permanente o temporanea. I fornitori di servizi Internet dispongono di molte linee per connettere gli utenti e di linee ad alta velocità per connettersi al resto di Internet. Spesso i fornitori più piccoli sono collegati a quelli più grandi, che a loro volta sono collegati ad altri fornitori.

Le organizzazioni collegate tra loro dalle linee di comunicazione più veloci costituiscono la parte centrale della rete, o la spina dorsale del Backbon Internet. Se il fornitore è collegato direttamente alla cresta, la velocità di trasferimento delle informazioni sarà massima.

In realtà, la differenza tra utenti e fornitori di servizi Internet è del tutto arbitraria. Qualsiasi persona che ha collegato il proprio computer o il proprio locale rete di computer a Internet e avendo installato i programmi necessari, può fornire servizi di connessione di rete ad altri utenti. Un singolo utente, in linea di principio, può connettersi tramite una linea ad alta velocità direttamente alla dorsale di Internet.

In generale, Internet scambia informazioni tra due computer qualsiasi collegati alla rete. I computer connessi a Internet sono spesso chiamati nodi o siti Internet. , dalla parola inglese site, che si traduce come luogo, luogo. Gli host installati presso i fornitori di servizi Internet forniscono agli utenti l'accesso a Internet. Ci sono anche nodi specializzati nel fornire informazioni. Ad esempio, molte aziende creano siti su Internet attraverso i quali distribuiscono informazioni sui loro prodotti e servizi.

Come vengono trasferite le informazioni? Ci sono due concetti principali utilizzati su Internet: indirizzo e protocollo. Qualsiasi computer connesso a Internet ha il proprio indirizzo univoco. Proprio come un indirizzo postale identifica in modo univoco la posizione di una persona, un indirizzo Internet identifica in modo univoco la posizione di un computer sulla rete. Gli indirizzi Internet costituiscono la parte più importante e verranno discussi in dettaglio di seguito.

I dati inviati da un computer a un altro tramite Internet vengono suddivisi in pacchetti. Si muovono tra i computer che compongono nodi della rete. I pacchetti dello stesso messaggio possono prendere percorsi diversi. Ogni pacco ha una propria marcatura, che garantisce il corretto assemblaggio del documento sul computer a cui è indirizzato il messaggio.

Cos'è un protocollo? Come detto in precedenza, un protocollo rappresenta le regole di interazione. Ad esempio, il protocollo diplomatico prescrive cosa fare quando si incontrano ospiti stranieri o si tiene un ricevimento. Il protocollo di rete prescrive anche regole operative per i computer collegati alla rete. I protocolli standard fanno sì che computer diversi "parlino la stessa lingua". Ciò rende possibile connettere a Internet diversi tipi di computer che eseguono diversi sistemi operativi.

I protocolli di base di Internet sono lo stack di protocolli TCP/IP. Innanzitutto è necessario chiarire che, nella comprensione tecnica del TCP/IP - non si tratta di un protocollo di rete, ma di due protocolli che si trovano a livelli diversi del modello di rete (questo è il cosiddetto pila di protocolli). Protocollo TCP - protocollo livello di trasporto. Lui controlla cosa come avviene il trasferimento dei dati. Protocollo IP - indirizzo. Appartiene livello di rete e determina dove avviene il trasferimento.

Protocollo TCP. Secondo il protocollo TCP , i dati inviati vengono “tagliati” in piccoli pacchetti, dopodiché ciascun pacchetto viene contrassegnato in modo che contenga i dati necessari al corretto assemblaggio del documento sul computer del destinatario.

Per comprendere l'essenza del protocollo TCP, puoi immaginare una partita a scacchi per corrispondenza, in cui due partecipanti giocano contemporaneamente a una dozzina di partite. Ogni mossa viene registrata su una carta separata che indica il numero del gioco e il numero della mossa. In questo caso, tra due partner attraverso lo stesso canale di posta, esistono fino a una dozzina di collegamenti (uno per parte). Allo stesso modo, due computer collegati da una connessione fisica possono supportare più connessioni TCP contemporaneamente. Ad esempio, due server di rete intermedi possono trasmettersi reciprocamente contemporaneamente numerosi pacchetti TCP provenienti da numerosi client su una linea di comunicazione in entrambe le direzioni.

Quando lavoriamo su Internet, allora uno singolo linea telefonica Possiamo accettare contemporaneamente documenti dall'America, dall'Australia e dall'Europa. I pacchi di ciascun documento vengono ricevuti separatamente, separati nel tempo e, man mano che vengono ricevuti, vengono raccolti in documenti diversi.

Protocollo IP . Ora diamo un'occhiata al protocollo dell'indirizzo: IP (protocollo Internet). La sua essenza è che ogni partecipante World Wide Web deve avere un proprio indirizzo univoco (indirizzo IP). Senza ciò, non possiamo parlare di consegna accurata dei pacchetti TCP al luogo di lavoro desiderato. Questo indirizzo è espresso in modo molto semplice: quattro numeri, ad esempio: 195.38.46.11. Esamineremo più dettagliatamente la struttura di un indirizzo IP in seguito. È organizzato in modo tale che ogni computer attraverso il quale passa un pacchetto TCP può determinare da questi quattro numeri quale dei suoi "vicini" più vicini deve inoltrare il pacchetto in modo che sia "più vicino" al destinatario. Come risultato di un numero finito di trasferimenti, il pacchetto TCP raggiunge il destinatario.

La parola "più vicino" è racchiusa tra virgolette per un motivo. In questo caso non viene valutata la “vicinanza” geografica. I termini di comunicazione e portata linee. Due computer situati in continenti diversi, ma collegati da una linea di comunicazione spaziale ad alte prestazioni, sono considerati “più vicini” tra loro di due computer di villaggi vicini collegati da un semplice cavo telefonico. Viene affrontata la soluzione alle domande su cosa è considerato “più vicino” e cosa è “più lontano”. mezzi speciali - router. Il ruolo dei router in una rete viene solitamente svolto da computer specializzati, ma possono esserlo anche questi programmi speciali, in esecuzione sui server nodo della rete.

Stack di protocolli TCP/IP

Stack di protocolli TCP/IP- un insieme di protocolli di trasferimento dati di rete utilizzati nelle reti, inclusa Internet. Il nome TCP/IP deriva dai due protocolli più importanti della famiglia: Transmission Control Protocol (TCP) e Internet Protocol (IP), che sono stati sviluppati e descritti per primi in questo standard.

I protocolli funzionano tra loro in uno stack. pila, stack) - ciò significa che il protocollo situato a un livello superiore funziona "sopra" quello inferiore, utilizzando meccanismi di incapsulamento. Ad esempio, il protocollo TCP viene eseguito sopra il protocollo IP.

Lo stack di protocolli TCP/IP comprende quattro livelli:

  • livello di applicazione
  • strato di trasporto
  • livello di rete (livello Internet),
  • livello di collegamento.

I protocolli di questi livelli sono pienamente implementati funzionalità Modelli OSI (Tabella 1). Tutta l'interazione dell'utente nelle reti IP è basata sullo stack di protocolli TCP/IP. Lo stack è indipendente dal mezzo fisico di trasmissione dei dati.

Tabella 1– Confronto tra lo stack di protocolli TCP/IP e il modello di riferimento OSI

Livello di applicazione

Il livello Applicazione è il luogo in cui opera la maggior parte delle applicazioni di rete.

Questi programmi hanno i propri protocolli di comunicazione, come HTTP per il WWW, FTP (trasferimento file), SMTP (e-mail), SSH (connessione sicura a una macchina remota), DNS (mappatura di nomi simbolici su indirizzi IP) e molti altri.

Nella maggior parte dei casi questi protocolli funzionano su TCP o UDP e sono collegati a una porta specifica, ad esempio:

  • Porta da HTTP a TCP 80 o 8080,
  • Porta FTP a TCP 20 (per trasferimento dati) e 21 (per comandi di controllo),
  • Query DNS sulla porta UDP (meno spesso TCP) 53,

Strato di trasporto

I protocolli del livello di trasporto possono risolvere il problema della consegna non garantita dei messaggi (“il messaggio ha raggiunto il destinatario?”), oltre a garantire la corretta sequenza di arrivo dei dati. Nello stack TCP/IP, i protocolli di trasporto determinano a quale applicazione sono destinati i dati.

I protocolli di routing automatico rappresentati logicamente a questo livello (perché vengono eseguiti su IP) fanno effettivamente parte dei protocolli del livello di rete; ad esempio OSPF (ID IP 89).

TCP (ID IP 6) - "garantito" meccanismo di trasporto connessione prestabilita, fornendo all'applicazione un flusso di dati affidabile, dando la certezza che i dati ricevuti siano privi di errori, richiedendo nuovamente i dati in caso di perdita ed eliminando la duplicazione dei dati. TCP consente di regolare il carico sulla rete, nonché di ridurre la latenza dei dati durante la trasmissione su lunghe distanze. Inoltre, TCP garantisce che i dati ricevuti siano stati inviati esattamente nella stessa sequenza. Questa è la sua principale differenza rispetto a UDP.

Protocollo di trasmissione di datagrammi senza connessione UDP (IP ID 17). Viene detto anche protocollo di trasmissione “inaffidabile”, nel senso dell'impossibilità di verificare la consegna di un messaggio al destinatario, nonché della possibile mescolanza di pacchetti. Le applicazioni che richiedono un trasferimento dati garantito utilizzano il protocollo TCP.

UDP viene generalmente utilizzato in applicazioni come streaming video e giochi per computer, dove la perdita di pacchetti è accettabile e riprovare è difficile o ingiustificato, o in applicazioni di risposta (come le query DNS) dove la creazione di una connessione richiede più risorse del nuovo invio.

Sia TCP che UDP utilizzano un numero chiamato porta per identificare il protocollo di livello superiore.

Livello di rete

Il livello Internet è stato originariamente progettato per trasferire dati da una (sotto)rete a un'altra. Con lo sviluppo del concetto di rete globale, al livello sono state aggiunte ulteriori capacità per la trasmissione da qualsiasi rete a qualsiasi rete, indipendentemente dai protocolli di livello inferiore, nonché la possibilità di richiedere dati a una parte remota, ad esempio in il protocollo ICMP (utilizzato per trasmettere informazioni diagnostiche di una connessione IP) e IGMP (utilizzato per gestire flussi multicast).

ICMP e IGMP si trovano sopra IP e dovrebbero andare al livello di trasporto successivo, ma dal punto di vista funzionale sono protocolli del livello di rete e quindi non possono essere inseriti nel modello OSI.

I pacchetti del protocollo di rete IP possono contenere codice che indica quale protocollo di livello successivo utilizzare per estrarre i dati dal pacchetto. Questo numero è unico Numero di protocollo IP. ICMP e IGMP sono numerati rispettivamente 1 e 2.

Livello di collegamento dati

Il livello Link descrive come vengono trasmessi i pacchetti di dati strato fisico, Compreso codifica(ovvero sequenze speciali di bit che determinano l'inizio e la fine di un pacchetto di dati). Ethernet, ad esempio, contiene nei campi dell'intestazione del pacchetto un'indicazione di quale macchina o macchine della rete è destinato il pacchetto.

Esempi di protocolli del livello di collegamento sono Ethernet, Wi-Fi, Frame Relay, Token Ring, ATM, ecc.

Il livello di collegamento dati è talvolta diviso in 2 sottolivelli: LLC e MAC.

Inoltre, il livello di collegamento dati descrive il mezzo di trasmissione dei dati (sia esso cavo coassiale, doppino intrecciato, fibra ottica o canale radio), le caratteristiche fisiche di tale mezzo e il principio della trasmissione dei dati (separazione dei canali, modulazione, ampiezza del segnale, frequenza del segnale, metodo di sincronizzazione della trasmissione, risposta alla latenza e distanza massima).

Incapsulamento

L'incapsulamento è il confezionamento, o l'annidamento, di pacchetti di alto livello (possibilmente di protocolli diversi) in pacchetti dello stesso protocollo (livello inferiore), compreso l'indirizzo.

Ad esempio, quando un'applicazione deve inviare un messaggio utilizzando TCP, viene eseguita la seguente sequenza di azioni (Fig. 2):

Figura 2 – Processo di incapsulamento

  • innanzitutto l'applicazione compila un'apposita struttura dati in cui indica le informazioni sul destinatario (protocollo di rete, indirizzo IP, porta TCP);
  • trasmette il messaggio, la sua lunghezza e struttura con le informazioni sul destinatario al gestore del protocollo TCP (livello di trasporto);
  • il gestore TCP genera un segmento in cui il messaggio contiene i dati e le intestazioni contengono la porta TCP del destinatario (oltre ad altri dati);
  • il gestore TCP passa il segmento generato al gestore IP (livello di rete);
  • l'handler IP tratta il segmento TCP trasmesso come un dato e lo precede con la sua intestazione (che, in particolare, contiene l'indirizzo IP del destinatario, prelevato dalla stessa struttura dati dell'applicazione, e il numero di protocollo superiore;
  • Il gestore IP trasmette il pacchetto ricevuto al livello di collegamento dati, che ancora una volta considera questo pacchetto come dati “grezzi”;
  • il gestore a livello di collegamento, simile ai gestori precedenti, aggiunge la sua intestazione all'inizio (che indica anche il numero di protocollo di livello superiore, nel nostro caso è 0x0800(IP)) e, nella maggior parte dei casi, aggiunge il checksum finale, quindi formare una cornice;
  • Quindi il frame ricevuto viene trasmesso allo strato fisico, che converte i bit in segnali elettrici o ottici e li invia al mezzo di trasmissione.

Dal lato ricevente, viene eseguito il processo inverso (dal basso verso l'alto), chiamato decapsulamento, per decomprimere i dati e presentarli all'applicazione.

Informazioni correlate:



2015-2020 lektsii.org -

Con aiuto Livello di sessione viene organizzato un dialogo tra le parti, viene registrato quale delle parti è l'iniziatore, quale delle parti è attiva e come viene completato il dialogo.

Livello di presentazione si occupa della forma di fornitura di informazioni ai livelli inferiori, ad esempio, ricodificazione o crittografia delle informazioni.

Livello di applicazione Si tratta di un insieme di protocolli scambiati tra nodi remoti che implementano la stessa attività (programma).

Va notato che alcune reti sono apparse molto prima dello sviluppo del modello OSI, quindi per molti sistemi la corrispondenza tra i livelli del modello OSI è molto condizionata.

1.3. Pila di protocolli Internet

Internet è progettato per trasportare qualsiasi tipo di informazione dalla fonte al destinatario. Nel trasporto delle informazioni sono coinvolti diversi elementi della rete (figura 1.1): terminali, dispositivi di commutazione e server. Gruppi di nodi sono uniti in una rete locale mediante dispositivi di commutazione; le reti locali sono interconnesse da gateway (router). I dispositivi di commutazione utilizzano varie tecnologie: Ethernet, Token Ring, FDDI e altre.

Ciascun dispositivo terminale (host) può servire contemporaneamente più processi di elaborazione dell'informazione (parlato, dati, testo...), che esistono sotto forma di applicazioni di rete (programmi specializzati) situate al livello più alto; Dall'applicazione, le informazioni fluiscono verso le strutture di elaborazione delle informazioni ai livelli inferiori.

Il trasporto di un'applicazione su ciascun nodo viene deciso in sequenza da diversi livelli. Ogni livello utilizza i propri protocolli per risolvere la propria parte del problema e garantisce la trasmissione duplex delle informazioni. La sequenza dei passaggi delle attività forma uno stack di protocolli. Nel processo di trasporto delle informazioni, ciascun nodo utilizza lo stack di protocolli di cui ha bisogno. Nella fig. 1.3 mostra lo stack completo dei protocolli di base connessione di rete in Internet.

I nodi, dal punto di vista di una rete, rappresentano fonti e destinatari di informazioni. I quattro livelli inferiori sono collettivamente indipendenti dal tipo di informazioni trasmesse. Ogni applicazione di rete che comunica con il livello 4 è identificata dal suo numero di porta univoco. I valori delle porte occupano l'intervallo da 0 a 65535. In questo intervallo, i numeri di porta 0-1023 sono assegnati per applicazioni di rete note, i numeri di porta 1024-49151 sono utilizzati dagli sviluppatori di software specializzato, i numeri di porta 49152-65535 sono dinamicamente assegnato agli utenti delle applicazioni di rete per la durata della sessione di comunicazione. Vengono forniti i valori numerici dei numeri di porta dello stack.

Il livello di trasporto (quarto) supporta due modalità di comunicazione

– con realizzazione della connessione e senza realizzazione della connessione. Ciascuna modalità è identificata dal relativo numero di protocollo (Protocollo). Gli standard Internet utilizzano la codifica esadecimale. La prima modalità è utilizzata dal modulo TCP, che ha un codice di protocollo 6 (in codice esadecimale - 0x06) e viene utilizzato per il trasporto garantito di informazioni. Per fare ciò, ogni pacchetto trasmesso è dotato di un numero di sequenza e deve essere riconosciuto

______________________________________________________________________________

la parte ricevente sulla sua corretta ricezione. La seconda modalità viene utilizzata dal modulo UDP senza garantire la consegna delle informazioni al destinatario (la garanzia di consegna è fornita dall'applicazione). Il protocollo UDP ha il codice 17 (in codice esadecimale è 0x11).

Applicato

Rappresentante

Sessione

DHCP (Porta = 67/68)

Trasporto

Protocollo = 0x0059

Protocollo = 0x0002

Protocollo = 0x0001

Tipo di protocollo = 0x0806

Tipo di protocollo = 0x0800

Condotto

Condotto

Condotto

Fisico

Condotto

Cavo, doppino intrecciato Ethernet, fibra ottica

Cavo fisico, doppino intrecciato, fibra ottica

Fisico

Cavo, doppino intrecciato, fibra ottica

Fisico

Cavo, radio, fibra ottica

Riso. 1.3. Stack di protocolli Internet di base

______________________________________________________________________________

Il livello di rete (terzo) garantisce il movimento delle informazioni sotto forma di pacchetti tra reti (interfacce del livello di collegamento) utilizzando un indirizzo di rete. La famiglia di protocolli di livello 3 viene identificata dai livelli sottostanti dal tipo di protocollo (ARP - tipo 0x0806 o IP - tipo 0x0800). La combinazione “protocollo – indirizzo di rete – numero di porta” è chiamata socket. Una coppia di prese - trasmittente e ricevente - determina in modo univoco la connessione stabilita. L'indirizzo di destinazione di ciascun pacchetto che arriva al modulo IP dal livello di collegamento viene analizzato per capire dove il pacchetto dovrà essere inoltrato successivamente: alla propria applicazione o spostato su un'altra interfaccia per l'ulteriore trasporto sulla rete.

Il secondo livello (link) elabora i pacchetti sulla rete locale utilizzando varie tecnologie: Ethernet, Token Ring, FDDI e altre. Il primo livello garantisce la conversione dei codici binari in codici lineari più adatti al mezzo di trasporto utilizzato (cavo metallico, linea di comunicazione in fibra ottica, canale radio).

DOMANDE PER LA SEZIONE 1.3

1. Cosa definisce le strutture del livello di rete per l'elaborazione dei pacchetti provenienti dal livello di collegamento dati?

Risposta. Tipo di protocollo: 0x0806 – per ARP e 0x0800 – per IP.

2. Cosa determina il modo in cui il livello di trasporto elabora i pacchetti provenienti dal livello di rete?

Risposta. Numero di protocollo: 0x0006 – per TCP e 0x0011 – per UDP.

3. Cosa determina il tipo di applicazione di rete per l'elaborazione dei datagrammi?

Risposta. Numero di porta.

4. Fornire esempi di numeri di porta per applicazioni a livello di rete.

Risposta: Porta 80 – HTTP, porta 23 – TELNET, porta 53 – DNS.

1.4. Protocolli di accesso a Internet

Per accedere a Internet, viene utilizzata una famiglia di protocolli sotto il nome generale PPP (Point-to-Point Protocol), che comprende:

1. Link Control Protocol (LCP) per coordinare i parametri di scambio di pacchetti a livello di collegamento nella sezione server di accesso alla rete host (in particolare, per coordinare la dimensione del pacchetto e il tipo di protocollo di autenticazione).

2. Protocollo di autenticazione per stabilire la legittimità dell'utente (in particolare, utilizzando il Challenge Handshake Authentication Protocol - CHAP).

3. Protocollo di controllo di rete (IP Control Protocol - IPCP) per la configurazione dei parametri di scambio di rete (in particolare, l'assegnazione indirizzi IP).

Successivamente inizia lo scambio di informazioni tramite il protocollo IP.

Ciascuno di questi protocolli può utilizzare qualsiasi mezzo di trasporto, quindi esistono molti modi per incapsulare PPP a livello fisico. Per incapsulare PPP in collegamenti punto a punto, una procedura simile a

HDLC.

Lo scambio di frame utilizzando una procedura simile all'HDLC (procedura di controllo del collegamento dati ad alto livello) prevede lo scambio di frame duplex. Ogni frame trasmesso deve essere confermato; se non avviene alcuna conferma entro il timeout, il trasmettitore ripete la trasmissione. La struttura del telaio è mostrata in Fig. 1.4. L'ordine di trasmissione dei campi frame è da sinistra a destra. Lo scopo dei campi frame è il seguente.

Yu.F.Kozhanov, Kolbanev M.O INTERFACCE E PROTOCOLLI DI RETI DI PROSSIMA GENERAZIONE

______________________________________________________________________________

Riso. 1.4. Struttura del campo del frame HDLC

Ogni frame trasmesso deve iniziare e terminare con la combinazione “Flag”, che ha una struttura di bit nella forma 01111110 (0x7e). La stessa combinazione di bandiere può essere utilizzata come chiusura per un fotogramma e come apertura per il fotogramma successivo. Le combinazioni "flag" devono essere rilevate dal lato ricevente per determinare i limiti del frame. Per garantire il trasferimento delle informazioni indipendente dal codice, è necessario escludere dai campi successivi del frame tutte le combinazioni che coincidono con i caratteri di servizio (ad esempio, la combinazione "Flag").

IN In modalità asincrona, tutti i campi del frame sono formati byte per byte, ogni byte è preceduto da un bit di “start” e termina con un bit di “stop”.

IN viene utilizzata anche la modalità sincrona inserimento di byte o inserimento di bit. Nel primo caso, le sequenze di byte 0x7e (“Flag”) vengono sostituite nei campi del frame con sequenze di 2 byte 0x7d e 0x5e, 0x7d con 0x7d e 0x5d, 0x03 con 0x7d e 0x23. Nel secondo caso, dopo che tutti i campi del frame sono formati, viene eseguita una scansione bit per bit del contenuto di ciascun frame tra le combinazioni di “Flag” e viene inserito un bit “zero” dopo ogni cinque “uno” adiacenti. ” pezzi. Quando si decodifica un frame alla ricezione, viene eseguita una scansione bit per bit del contenuto del frame tra le combinazioni "Flag" e il bit "zero" viene rimosso dopo ogni cinque bit "uno" adiacenti.

Il campo Indirizzo ha un valore costante di 11111111 (0xff) e il campo Controllo ha un valore costante di 00000011 (0x03).

Il campo protocollo assume il valore 0xc021 per il protocollo LCP, 0xc223 per il protocollo CHAP, 0x8021 per IPCP e 0x0021 per il protocollo IP.

Il riempimento del campo informazioni dipende dal tipo di protocollo, ma la sua lunghezza non deve essere inferiore a 4 byte.

La Frame Check Sequence (FCS) sulla trasmissione è formata in modo tale che a) moltiplicando l'informazione tra i flag per X16 e b) successiva divisione modulo 2 per il polinomio generatore X16 + X12 + X5 + 1, il risultato sarebbe uguale a il numero costante 0xf0b8.

La procedura per l'accesso a Internet di un abbonato PSTN si compone di diverse fasi. La prima fase utilizza il protocollo LCP (Protocollo = 0xc021), che

utilizza il seguente formato (Fig. 1.5).

Riso. 1.5. Formato frame LCP

Il campo protocollo assume il valore 0xc021. Ogni messaggio è caratterizzato da un proprio codice (Code), numero di sequenza (ID) e lunghezza (Length). La lunghezza del messaggio include tutti i campi da Codice a FCS. Un messaggio può contenere più parametri, ognuno dei quali è caratterizzato dal tipo di parametro (Tipo),

lunghezza (Length) e dati (Date).

(Configure-Nak), 04 – rifiuto della configurazione (Configure-Reject), 05 – richiesta di disconnessione (Terminate-Request), 06 – conferma di disconnessione (Terminate-Ack).

Un diagramma completo dell'interazione tra il dispositivo terminale (Host), il server di accesso alla rete (NAS) e il server di autenticazione, autorizzazione e contabilità (AAA) durante l'organizzazione dell'accesso degli abbonati PSTN a Internet è mostrato in Fig. 1.6.

______________________________________________________________________________

Dalla Figura 1.6 è chiaro che inizialmente l'host tramite il protocollo LCP (Protocollo = 0xc021) ha richiesto una connessione con i parametri MTU=300, PFC=7, ma a seguito del loro coordinamento con il server di accesso NAS (Codice=02) , i parametri MTU=200 (MTU - taglia massima pacchetto in byte), protocollo di autenticazione – CHAP (Auth.prot=c223). Lo scambio di intestazioni compresse (PFC=7) da parte del server di accesso NAS è stato rifiutato (Codice=04).

Tipo = 3, Indirizzo IP = a.b.c.d, Maschera,

Protocollo = 0xc021, codice=04,

Protocollo = 0xc021, codice=01,

Tipo = 1, MTU=300

Protocollo = 0xc021, codice=03,

Tipo = 1, MTU=200

Protocollo = 0xc021, codice=01,

Tipo = 1, MTU=200

Protocollo = 0xc021, codice=02,

Tipo = 1, MTU=200

Protocollo = 0xc021, codice=01,

Protocollo = 0xc021, codice=02,

Tipo = 3, Auth.prot=0xc223, Algoritmo=5

Protocollo = 0xc223, codice=01,

Protocollo = 0xc223, codice=02,

Prot=UDP, codice=01,

Nome=ABC, Valore=W

Aut = 0, Attr = Nome, Chall = V

Prot=UDP, codice=02,

Indirizzo IP=a.b.c.d , Maschera,

Prot=UDP, codice=05, Dati

Protocollo = 0x0021, ...

Protocollo =0x0021, ...

Protocollo = 0xc021, codice=05,

1994, DS]. L'essenza della procedura di autenticazione è che il NAS invia un numero casuale V all'host e l'host restituisce un altro numero W, calcolato da una funzione precedentemente nota utilizzando il Nome e la Password, che vengono immessi dall'utente nel computer dal Carta Internet acquistata dal fornitore. In altre parole, W=f(V, Nome, Password). Si presuppone che un utente malintenzionato (hacker) sia in grado di intercettare i valori V, Nome e W inviati in rete e conosca l'algoritmo per il calcolo della funzione f. L'essenza della formazione di W è che gli elementi iniziali (bit) numero casuale V vengono “mischiati” in vari modi con elementi della Password sconosciuti all'aggressore. Il testo cifrato risultante viene quindi compresso, ad esempio aggiungendo i byte modulo due. Questa trasformazione è chiamata funzione digest o funzione hash e il risultato è un digest. La procedura esatta per generare il digest è determinata dall'algoritmo MD5 ed è descritta in. Il NAS, utilizzando il protocollo RADIUS, richiede il vero valore di W al server AAA, inviandogli i valori Nome e Challenge=V. Il server AAA, in base ai valori V e Nome ricevuti dal NAS e alla password Password che ha nel database, utilizza lo stesso algoritmo per calcolare W e inviarlo al NAS. Il NAS confronta i due valori W ricevuti dall'host e dal server AAA: se corrispondono, viene inviato all'host un messaggio di avvenuta autenticazione - Success (Codice=03).

Nella terza fase avviene la configurazione parametri di rete tramite protocollo IPCP (noto anche come PPP IPC, Protocollo=0x8021). L'host richiede gli indirizzi IP di rete dal NAS e il NAS assegna un indirizzo IP per l'host dal pool (intervallo) (indirizzo IP=a.b.c.d) e

riporta anche l'indirizzo IP del server DNS (IP-address=e.f.g.h). NAS tramite protocollo RADIUS

invia una notifica (Codice=04) al server AAA dell'inizio della ricarica e riceve conferma (Codice=05).

Nella 4a fase l'utente inizia una sessione di comunicazione con Internet tramite il protocollo IP (Protocollo = 0x0021).

Al termine della sessione (passo 5), l'utente invia un messaggio di errore di connessione al NAS tramite il protocollo LCP (Codice=05), il NAS conferma questo messaggio (Codice=06), invia una notifica di fine ricarica a il server AAA e riceve conferma da esso. Tutti i dispositivi vengono riportati al loro stato originale.

DOMANDE PER LA SEZIONE 1.4

1. Nominare la composizione e lo scopo della famiglia di protocolli PPP.

Risposta. LCP – per negoziare i parametri di scambio dei pacchetti, CHAP – per stabilire la legittimità dell’utente, IPCP – per assegnare un indirizzo IP.

2. PPP fornisce il rilevamento degli errori e la consegna ordinata dei pacchetti?

Risposta. Rilevamento degli errori - sì, consegna ordinata - no, questo è fornito dal protocollo TCP.

3. Dove vengono archiviati i dati di autenticazione dell'utente?

Risposta. Sulla mappa Internet e sul server AAA.

4. È possibile determinare l'indirizzo IP dell'utente prima di stabilire una connessione al server NAS?

Risposta: no. Una volta completata con successo l'autenticazione, il NAS emette un indirizzo IP libero dall'intervallo di indirizzi allocato.

5. Quali metodi vengono utilizzati per contabilizzare il costo delle connessioni Internet? Risposta: Di solito è prevista una quota di abbonamento o una commissione per il volume ricevuto

Dai socket ai driver di dispositivo

Introduzione ai protocolli

Mentre l'introduzione formale alla rete fa riferimento al modello Open Systems Interconnection (OSI), questa introduzione allo stack di rete principale di Linux utilizza un modello a quattro livelli noto come modello Internet (vedere Figura 1).

Figura 1. Modello Internet dello stack di rete

In fondo allo stack c'è il livello di collegamento dati. Livello di collegamento dati si riferisce ai driver di dispositivo che forniscono accesso al livello fisico, che può essere costituito da più supporti come collegamenti seriali o dispositivi Ethernet. Sopra il canale c'è livello di rete, che è responsabile di indirizzare i pacchetti verso la loro destinazione. Chiamato il livello successivo trasporto responsabile delle comunicazioni peer-to-peer (ad esempio, all'interno di un host). Il livello di rete gestisce le comunicazioni tra host e il livello di trasporto gestisce le comunicazioni tra gli endpoint all'interno di tali host. Finalmente c'è livello di applicazione, che solitamente è semantico e comprende i dati spostati. Ad esempio, l'Hypertext Transfer Protocol (HTTP) sposta richieste e risposte per il contenuto Web tra un server e un client.

In sostanza, gli strati dello stack di rete hanno nomi più riconoscibili. A livello di collegamento dati troverai Ethernet, il mezzo ad alta velocità più comune. I protocolli a livello di collegamento più vecchi includono protocolli seriali come Serial Line Internet Protocol (SLIP), Compressed SLIP (CSLIP) e Point-to-Point Protocol (PPP). Il protocollo del livello di rete più comune è il protocollo Internet (IP), ma ce ne sono altri che soddisfano altre esigenze, come il protocollo ICMP (Internet Control Message Protocol) e l'ARP (Address Risoluzione Protocol). A livello di trasporto, questi sono il Transmission Control Protocol (TCP) e l'User Datagram Protocol (UDP). Infine, il livello applicativo include molti dei protocolli con cui abbiamo familiarità, tra cui HTTP, un protocollo Web standard e SMTP (Simple Mail Transfer Protocol), un protocollo di trasferimento di posta elettronica.

Architettura della rete centrale

Passiamo ora all'architettura dello stack di rete Linux e vediamo come implementa il modello Internet. La Figura 2 mostra una vista di alto livello dello stack di rete Linux. In alto c'è il livello dello spazio utente o livello di applicazione, che definisce gli utenti dello stack di rete. Sotto ci sono dispositivi fisici, che forniscono la possibilità di connettersi alle reti (reti seriali o ad alta velocità come Ethernet). Al centro, o dentro spazio del kernel, è il sottosistema di rete al centro di questo articolo. Nel backend dello stack di rete sono presenti buffer socket (sk_buffs) che spostano i dati dei pacchetti tra origini e destinazioni. Verrà mostrata brevemente la struttura di sk_buff.

Figura 2. Architettura di alto livello dello stack di rete Linux

Per prima cosa ti verrà fornita una rapida panoramica degli elementi di base del sottosistema di rete Linux, con maggiori dettagli nelle sezioni seguenti. In alto (vedi Figura 2) c'è un sistema chiamato interfaccia delle chiamate di sistema. Fornisce semplicemente un modo per le applicazioni dello spazio utente di accedere al sottosistema di rete del kernel. Poi c'è il livello indipendente dal protocollo, che fornisce un modo generale per lavorare con i protocolli del livello di trasporto inferiore. Poi vengono i protocolli veri e propri, che su Linux includono i protocolli integrati TCP, UDP e ovviamente IP. Il successivo è un altro livello indipendente che fornisce un'interfaccia comune da e verso i singoli driver di dispositivo disponibili, seguito infine da tali driver stessi.

Interfaccia per chiamate di sistema

L'interfaccia delle chiamate di sistema può essere descritta da due prospettive. Quando l'utente effettua una chiamata di rete, viene multiplexata tramite una chiamata di sistema al kernel. Ciò termina con una chiamata a sys_socketcall in ./net/socket.c, che poi demultiplexa la chiamata alla destinazione prevista. Un'altra prospettiva sull'interfaccia delle chiamate di sistema è quella di utilizzare le normali operazioni sui file per l'input/output di rete (I/O). Ad esempio, è possibile eseguire normali operazioni di lettura e scrittura su un socket di rete (che è rappresentato da un descrittore di file come un normale file). Quindi, mentre ci sono operazioni specifiche per la rete (creare un socket con una chiamata a socket , associarlo a un handle con una chiamata a connect e così via), ci sono anche una serie di operazioni sui file standard che si applicano agli oggetti di rete come se erano file normali. Infine, l'interfaccia delle chiamate di sistema fornisce un mezzo per trasferire il controllo tra un'applicazione nello spazio utente e il kernel.

Interfaccia indipendente dal protocollo

Il livello socket è un'interfaccia indipendente dal protocollo che fornisce una serie di funzioni standard per supportare un numero di protocolli diversi. Questo livello non supporta solo i consueti protocolli TCP e UDP, ma anche IP, Raw Ethernet e altri protocolli di trasporto come SCTP (Stream Control Transmission Protocol).

La comunicazione attraverso lo stack di rete avviene tramite un socket. La struttura del socket in Linux è struct sock, definita in linux/include/net/sock.h. Questa grande struttura contiene tutto lo stato necessario per un singolo socket, incluso il protocollo specifico utilizzato dal socket e le operazioni che possono essere eseguite su di esso.

Il sottosistema di rete conosce i protocolli disponibili da una struttura speciale che ne definisce le capacità. Ogni protocollo contiene una struttura chiamata proto (che si trova in linux/include/net/sock.h). Questa struttura definisce le singole operazioni socket che possono essere eseguite dal livello socket al livello di trasporto (ad esempio, come creare un socket, come stabilire una connessione a un socket, come chiudere un socket, ecc.).

Protocolli di rete

La sezione dei protocolli di rete definisce i singoli protocolli di rete disponibili (come TCP, UDP e così via). Vengono inizializzati all'inizio della giornata nella funzione inet_init in linux/net/ipv4/af_inet.c (poiché TCP e UDP appartengono alla famiglia di protocolli inet). La funzione inet_init registra ciascuno dei protocolli integrati che utilizzano la funzione proto_register. Questa funzione è definita in linux/net/core/sock.c e, oltre ad aggiungere un protocollo all'elenco di quelli validi, può allocare una o più slice cache, se necessario.

Puoi vedere come i singoli protocolli si identificano attraverso la struttura proto nei file tcp_ipv4.c, udp.c e raw.c, in linux/net/ipv4/. Ognuna di queste strutture di protocollo è mappata come tipo e protocollo su un inetsw_array, che assegna i protocolli integrati alle relative operazioni. La struttura di inetsw_array e le sue connessioni sono mostrate nella Figura 3. Ciascuno dei protocolli in questo array viene inizializzato all'inizio della giornata in inetsw chiamando inet_register_protosw da inet_init . La funzione inet_init inizializza anche vari moduli inet come ARP, ICMP, moduli IP e moduli TCP e UDP.

Figura 3. Struttura dell'array del protocollo Internet

Correlazione tra socket e protocollo

Ricordiamo che quando viene creato un socket, definisce un tipo e un protocollo, ad esempio my_sock = socket(AF_INET, SOCK_STREAM, 0) . AF_INET specifica una famiglia di indirizzi Internet con un socket di flusso definito come SOCK_STREAM (come mostrato qui in inetsw_array).

Lo spostamento dei dati per i socket avviene utilizzando una struttura di base chiamata buffer del socket (sk_buff). sk_buff contiene dati di pacchetto e dati di stato che si estendono su più livelli dello stack del protocollo. Ogni pacchetto inviato o ricevuto è rappresentato in sk_buff. La struttura di sk_buff è definita in linux/include/linux/skbuff.h ed è mostrata nella Figura 4.

Figura 4. Buffer socket e sue connessioni ad altre strutture

Come puoi vedere, diverse strutture sk_buff for di questa connessione possono essere collegati insieme. Ognuno di essi identifica la struttura del dispositivo (net_device) verso il quale il pacchetto viene inviato o ricevuto. Poiché ogni pacchetto è rappresentato in sk_buff , le intestazioni dei pacchetti sono opportunamente definite da un insieme di puntatori ( th , iph e mac per l'intestazione MAC (Media Access Control). Poiché le strutture sk_buff sono centrali per l'organizzazione dei dati del socket, un numero di funzioni di supporto: sono presenti funzioni per creare, distruggere, clonare e gestire la coda sk_buff.

I buffer dei socket sono progettati per comunicare tra loro per un determinato socket e includono una grande quantità di informazioni, inclusi riferimenti alle intestazioni del protocollo, timestamp (quando il pacchetto è stato inviato o ricevuto) e il dispositivo corrispondente.

Interfaccia indipendente dal dispositivo

Sotto il livello del protocollo c'è un altro livello di interfaccia indipendente che collega i protocolli a diversi driver di dispositivi fisici con funzionalità diverse. Questo livello fornisce un insieme standard di funzioni utilizzate dai dispositivi di rete di basso livello per poter interagire con lo stack di protocolli di alto livello.

Prima di tutto, i driver del dispositivo possono registrarsi e annullare la registrazione nel kernel chiamando Register_netdevice o unregister_netdevice . Il comando chiamante prima popola la struttura net_device e poi la passa per la registrazione. Il kernel chiama la sua funzione init (se definita), esegue alcuni controlli di integrità, crea una voce sysfs e quindi aggiunge un nuovo dispositivo all'elenco dei dispositivi ( lista collegata dispositivi attivi nel kernel). La struttura net_device può essere trovata in linux/include/linux/netdevice.h. Alcune funzioni sono in linux/net/core/dev.c.

La funzione dev_queue_xmit viene utilizzata per inviare sk_buff dal livello di protocollo al dispositivo. Accoda sk_buff per un possibile inoltro da parte del driver di dispositivo appropriato (il dispositivo definito da net_device o il puntatore sk_buff->dev in sk_buff). La struttura dev contiene un metodo chiamato hard_start_xmit che memorizza una funzione del driver per inizializzare il trasferimento sk_buff.

La ricezione del pacchetto avviene tradizionalmente utilizzando netif_rx . Quando un driver di dispositivo di livello inferiore riceve un pacchetto (contenuto all'interno di un sk_buff allocato), sk_buff sale al livello di rete utilizzando una chiamata a netif_rx . Questa funzione quindi accoda sk_buff a un livello di protocollo superiore per un'ulteriore elaborazione utilizzando netif_rx_schedule . Le funzioni dev_queue_xmit e netif_rx si trovano in linux/net/core/dev.c.

Infine, nel kernel è stata introdotta una nuova interfaccia del programma applicativo (NAPI) per interfacciarsi con il livello indipendente dal dispositivo (dev). Alcuni conducenti lo utilizzano, ma la stragrande maggioranza utilizza ancora la vecchia interfaccia di acquisizione dei frame (circa sei su sette). NAPI può dare prestazioni migliori sotto carichi pesanti evitando interruzioni su ogni frame in entrata.

I driver di periferica

Nella parte inferiore dello stack di rete ci sono i driver di dispositivo, che controllano i dispositivi di rete fisici. Esempi di dispositivi a questo livello includono il driver SLIP interfaccia seriale o un driver Ethernet su un dispositivo Ethernet.

Durante l'inizializzazione, il driver del dispositivo alloca spazio per la struttura net_device e quindi la inizializza con le routine necessarie. Uno di questi, chiamato dev->hard_start_xmit, specifica come il livello superiore dovrebbe accodare sk_buff per la trasmissione. Viene passato sk_buff . Il funzionamento di questa funzione dipende dall'hardware, ma in genere il pacchetto descritto in sk_buff viene spostato in quello che viene chiamato "anello hardware" o "coda". L'arrivo del frame, come descritto a livello indipendente dal dispositivo, utilizza l'interfaccia netif_rx o netif_receive_skb per il driver di rete compatibile con NAPI. Il driver NAPI impone limitazioni alle funzionalità dell'hardware sottostante. Consulta la sezione per i dettagli.

Dopo che un driver di dispositivo ha configurato le sue interfacce nella struttura dev, una chiamata a Register_netdevice lo rende disponibile per l'uso. In linux/drivers/net puoi trovare driver specifici per dispositivi di rete.

Andare avanti

Il codice sorgente Linux è un ottimo modo per conoscere la progettazione dei driver per molti tipi di dispositivi, inclusi i driver dei dispositivi di rete. Troverai differenze nella progettazione e nell'uso delle API del kernel disponibili, ma ognuna sarà utile come istruzioni o come punto di partenza per un nuovo driver. Il resto del codice nello stack di rete è standard e viene utilizzato finché non viene richiesto un nuovo protocollo. Ma anche in questo caso, le implementazioni di TCP (per un protocollo di streaming) o UDP (per un protocollo di passaggio di messaggi) fungono da modelli utili per avviare un nuovo sviluppo.

Questo articolo tratterà le nozioni di base del modello TCP/IP. Per una migliore comprensione vengono descritti i principali protocolli e servizi. La cosa principale è prendersi il proprio tempo e cercare di capire ogni cosa passo dopo passo. Sono tutti interconnessi e senza comprenderne uno sarà difficile comprendere l’altro. Le informazioni qui contenute sono molto superficiali, quindi questo articolo può essere facilmente definito “uno stack di protocolli TCP/IP per manichini”. Tuttavia, molte cose qui non sono così difficili da capire come potrebbero sembrare a prima vista.

TCP/IP

Lo stack TCP/IP è un modello di rete per la trasmissione dei dati su una rete; determina l'ordine in cui interagiscono i dispositivi. I dati entrano nel livello di collegamento dati e vengono elaborati a turno da ciascun livello superiore. Lo stack è rappresentato come un'astrazione che spiega i principi dell'elaborazione e della ricezione dei dati.

Lo stack di protocolli di rete TCP/IP ha 4 livelli:

  1. Canale (Link).
  2. Rete (Internet).
  3. Trasporto.
  4. Applicazione.

Livello di applicazione

Il livello dell'applicazione offre la possibilità di interagire tra l'applicazione e altri livelli dello stack di protocolli, analizza e converte le informazioni in ingresso in un formato adatto al software. È il più vicino all'utente e interagisce con lui direttamente.

  • HTTP;
  • SMTP;

Ciascun protocollo definisce il proprio ordine e i propri principi per lavorare con i dati.

HTTP (HyperText Transfer Protocol) è progettato per il trasferimento dei dati. Invia, ad esempio, documenti in formato HTML che fungono da base per una pagina web. In modo semplificato lo schema di lavoro si presenta come “client – ​​server”. Il client invia una richiesta, il server la accetta, la elabora correttamente e restituisce il risultato finale.

Serve come standard per il trasferimento di file sulla rete. Il client invia una richiesta per un determinato file, il server cerca questo file nel suo database e, se trovato con successo, lo invia come risposta.

Utilizzato per trasmettere e-mail. L'operazione SMTP comprende tre passaggi sequenziali:

  1. Determinazione dell'indirizzo del mittente. Questo è necessario per restituire le lettere.
  2. Definizione del destinatario. Questo passaggio può essere ripetuto più volte quando si specificano più destinatari.
  3. Determinazione del contenuto del messaggio e invio. I dati sul tipo di messaggio vengono trasmessi come informazioni di servizio. Se il server conferma la sua disponibilità ad accettare il pacchetto, la transazione stessa è completata.

Intestazione

L'intestazione contiene i dati del servizio. È importante capire che sono destinati solo a un livello specifico. Ciò significa che non appena il pacchetto viene inviato al destinatario, verrà elaborato lì secondo lo stesso modello, ma in ordine inverso. L'intestazione incorporata conterrà informazioni speciali che possono essere elaborate solo in un certo modo.

Ad esempio, un'intestazione nidificata nel livello di trasporto può essere elaborata solo dal livello di trasporto sull'altro lato. Altri semplicemente lo ignoreranno.

Strato di trasporto

A livello di trasporto, le informazioni ricevute vengono elaborate come una singola unità, indipendentemente dal contenuto. I messaggi ricevuti vengono divisi in segmenti, viene aggiunta un'intestazione e il tutto viene inviato a valle.

Protocolli di trasferimento dati:

Il protocollo più comune. È responsabile del trasferimento garantito dei dati. Quando si inviano pacchetti, viene controllato il loro checksum, il processo di transazione. Ciò significa che le informazioni arriveranno “sane e sane” indipendentemente dalle condizioni.

UDP (User Datagram Protocol) è il secondo protocollo più popolare. È anche responsabile del trasferimento dei dati. La sua caratteristica distintiva risiede nella sua semplicità. I pacchetti vengono semplicemente inviati senza creare alcuna connessione speciale.

TCP o UDP?

Ciascuno di questi protocolli ha il proprio ambito. È logicamente determinato dalle caratteristiche dell'opera.

Il vantaggio principale di UDP è la velocità di trasmissione. Il TCP è un protocollo complesso e con molti controlli, mentre l'UDP risulta essere più semplificato e quindi più veloce.

Lo svantaggio sta nella semplicità. A causa della mancanza di controlli, l’integrità dei dati non è garantita. Pertanto, le informazioni vengono semplicemente inviate e tutti i controlli e le manipolazioni simili rimangono nell'applicazione.

UDP viene utilizzato ad esempio per guardare video. Per un file video, la perdita di un piccolo numero di segmenti non è fondamentale, mentre la velocità di caricamento è il fattore più importante.

Tuttavia, se è necessario inviare password o dettagli di carte bancarie, la necessità di utilizzare TCP è ovvia. La perdita anche del più piccolo dato può avere conseguenze catastrofiche. La velocità in questo caso non è importante quanto la sicurezza.

Livello di rete

Il livello di rete forma pacchetti dalle informazioni ricevute e aggiunge un'intestazione. La parte più importante dei dati sono gli indirizzi IP e MAC dei mittenti e dei destinatari.

Indirizzo IP (indirizzo del protocollo Internet): l'indirizzo logico del dispositivo. Contiene informazioni sulla posizione del dispositivo sulla rete. Voce di esempio: .

Indirizzo MAC (indirizzo Media Access Control): l'indirizzo fisico del dispositivo. Utilizzato per l'identificazione. Assegnato alle apparecchiature di rete in fase di produzione. Presentato come un numero di sei byte. Per esempio: .

Lo strato di rete è responsabile di:

  • Determinazione dei percorsi di consegna.
  • Trasferimento di pacchetti tra reti.
  • Assegnazione di indirizzi univoci.

I router sono dispositivi a livello di rete. Aprono la strada tra il computer e il server in base ai dati ricevuti.

Il protocollo più popolare a questo livello è IP.

IP (Internet Protocol) è un protocollo Internet progettato per l'indirizzamento in rete. Utilizzato per costruire percorsi lungo i quali vengono scambiati i pacchetti. Non dispone di alcun mezzo per verificare e confermare l'integrità. Per fornire garanzie di consegna, viene utilizzato TCP, che utilizza IP come protocollo di trasporto. La comprensione dei principi di questa transazione spiega gran parte del funzionamento dello stack di protocolli TCP/IP.

Tipi di indirizzi IP

Esistono due tipi di indirizzi IP utilizzati nelle reti:

  1. Pubblico.
  2. Privato.

Pubblico (Public) vengono utilizzati su Internet. La regola principale è l'assoluta unicità. Un esempio del loro utilizzo sono i router, ognuno dei quali ha il proprio indirizzo IP per interagire con Internet. Questo indirizzo è chiamato pubblico.

Private (Private) non vengono utilizzati su Internet. Nella rete globale, tali indirizzi non sono univoci. Un esempio è una rete locale. A ciascun dispositivo viene assegnato un indirizzo IP univoco all'interno di una determinata rete.

L'interazione con Internet avviene tramite un router che, come accennato in precedenza, dispone di un proprio indirizzo IP pubblico. Pertanto tutti i computer collegati al router appaiono in Internet sotto il nome di un indirizzo IP pubblico.

IPv4

La versione più comune del protocollo Internet. È precedente a IPv6. Il formato di registrazione è composto da quattro numeri a otto bit separati da punti. La maschera di sottorete è indicata tramite il segno di frazione. La lunghezza dell'indirizzo è di 32 bit. Nella stragrande maggioranza dei casi, quando parliamo di indirizzo IP, intendiamo IPv4.

Formato di registrazione: .

IPv6

Questa versione ha lo scopo di risolvere i problemi con la versione precedente. La lunghezza dell'indirizzo è 128 bit.

Il problema principale risolto da IPv6 è l'esaurimento degli indirizzi IPv4. I presupposti cominciarono ad apparire già all'inizio degli anni '80. Nonostante il fatto che questo problema sia entrato in una fase acuta già nel 2007-2009, l’implementazione di IPv6 sta guadagnando slancio molto lentamente.

Il vantaggio principale di IPv6 è una connessione Internet più veloce. Questo perché questa versione del protocollo non richiede la traduzione degli indirizzi. Viene eseguito il routing semplice. Questo è meno costoso e, pertanto, l'accesso alle risorse Internet viene fornito più velocemente rispetto a IPv4.

Voce di esempio: .

Esistono tre tipi di indirizzi IPv6:

  1. Unicast.
  2. Comunque.
  3. Multicast.

Unicast è un tipo di unicast IPv6. Quando viene inviato, il pacchetto raggiunge solo l'interfaccia situata all'indirizzo corrispondente.

Anycast si riferisce agli indirizzi multicast IPv6. Il pacchetto inviato verrà inviato all'interfaccia di rete più vicina. Utilizzato solo dai router.

Il multicast è multicast. Ciò significa che il pacchetto inviato raggiungerà tutte le interfacce presenti nel gruppo multicast. A differenza del broadcast, che viene “trasmesso a tutti”, il multicast trasmette solo a un gruppo specifico.

Maschera di sottorete

La maschera di sottorete determina il numero di sottorete e host dall'indirizzo IP.

Ad esempio, un indirizzo IP ha una maschera. In questo caso, il formato di registrazione sarà simile a questo. Il numero "24" è il numero di bit nella maschera. Otto bit equivalgono a un ottetto, che può anche essere chiamato byte.

Più in dettaglio, la maschera di sottorete può essere rappresentata nel sistema di numerazione binario come segue: . Ha quattro ottetti e la voce è composta da "1" e "0". Se sommiamo il numero di unità, otteniamo un totale di “24”. Fortunatamente non devi contare per uno, perché ci sono 8 valori in un ottetto. Vediamo che tre di essi sono pieni di unità, li sommiamo e otteniamo “24”.

Se parliamo specificamente della maschera di sottorete, nella rappresentazione binaria ha uno o zero in un ottetto. In questo caso, la sequenza è tale che i byte con uno vengono prima e solo dopo con zero.

Diamo un'occhiata a un piccolo esempio. C'è un indirizzo IP e una maschera di sottorete. Contiamo e annotiamo: . Ora abbiniamo la maschera all'indirizzo IP. Quegli ottetti maschera in cui tutti i valori sono uguali a uno (255) lasciano invariati gli ottetti corrispondenti nell'indirizzo IP. Se il valore è zero (0), anche gli ottetti nell'indirizzo IP diventano zero. Pertanto, otteniamo il valore dell'indirizzo della sottorete.

Sottorete e host

La sottorete è responsabile della separazione logica. Essenzialmente si tratta di dispositivi che utilizzano la stessa rete locale. Determinato da un intervallo di indirizzi IP.

Host è l'indirizzo dell'interfaccia di rete (scheda di rete). Determinato dall'indirizzo IP mediante una maschera. Per esempio: . Poiché i primi tre ottetti costituiscono la sottorete, rimane. Questo è il numero dell'ospite.

L'intervallo degli indirizzi host va da 0 a 255. L'host numerato "0" è, infatti, l'indirizzo della sottorete stessa. E il numero host “255” è un'emittente.

Indirizzamento

Esistono tre tipi di indirizzi utilizzati per l'indirizzamento nello stack di protocolli TCP/IP:

  1. Locale.
  2. Rete.
  3. Nomi di dominio.

Gli indirizzi MAC sono chiamati locali. Vengono utilizzati per l'indirizzamento nelle tecnologie di rete locale come Ethernet. Nel contesto del TCP/IP, la parola "locale" significa che operano solo all'interno di una sottorete.

L'indirizzo di rete nello stack del protocollo TCP/IP è l'indirizzo IP. Quando si invia un file, l'indirizzo del destinatario viene letto dalla sua intestazione. Con il suo aiuto, il router apprende il numero host e la sottorete e, sulla base di queste informazioni, crea un percorso verso il nodo finale.

I nomi di dominio sono indirizzi leggibili per i siti Web su Internet. I server Web su Internet sono accessibili tramite un indirizzo IP pubblico. Viene elaborato con successo dai computer, ma sembra troppo scomodo per le persone. Per evitare tali complicazioni vengono utilizzati nomi di dominio costituiti da aree chiamate “domini”. Sono organizzati in una rigida gerarchia, dal livello più alto a quello più basso.

Un dominio di primo livello rappresenta informazioni specifiche. I generici (.org, .net) non sono limitati da confini rigidi. La situazione opposta è con quelli locali (.us, .ru). Di solito sono localizzati.

I domini di basso livello sono tutto il resto. Può avere qualsiasi dimensione e contenere un numero qualsiasi di valori.

Ad esempio, "www.test.quiz.sg" è un nome di dominio corretto, dove "sg" è un dominio locale di primo livello (superiore), "quiz.sg" è un dominio di secondo livello, "test.quiz.sg" è un dominio di terzo livello. I nomi di dominio possono anche essere chiamati nomi DNS.

Il DNS (Domain Name System) stabilisce una mappatura tra i nomi di dominio e l'indirizzo IP pubblico. Quando digiti un nome di dominio nel tuo browser, il DNS rileverà l'indirizzo IP corrispondente e lo segnalerà al dispositivo. Il dispositivo lo elaborerà e lo restituirà come pagina web.

Livello di collegamento dati

A livello di collegamento viene determinata la relazione tra il dispositivo e il mezzo di trasmissione fisico e viene aggiunta un'intestazione. Responsabile della codifica dei dati e della preparazione dei frame per la trasmissione sul supporto fisico. Gli switch di rete operano a questo livello.

I protocolli più comuni:

  1. Ethernet.
  2. Wi-Fi.

Ethernet è la tecnologia LAN cablata più comune.

La WLAN è una rete locale basata su tecnologie wireless. I dispositivi interagiscono senza connessioni di cavi fisici. Un esempio del metodo più comune è il Wi-Fi.

Configurazione di TCP/IP per utilizzare un indirizzo IPv4 statico

Un indirizzo IPv4 statico viene assegnato direttamente nelle impostazioni del dispositivo o automaticamente durante la connessione alla rete ed è permanente.

Per configurare lo stack del protocollo TCP/IP per utilizzare un indirizzo IPv4 permanente, immettere il comando ipconfig/all nella console e trovare i seguenti dati.

Configurazione di TCP/IP per utilizzare un indirizzo IPv4 dinamico

Un indirizzo IPv4 dinamico viene utilizzato per un po', affittato e poi modificato. Assegnato automaticamente al dispositivo quando connesso alla rete.

Per configurare lo stack del protocollo TCP/IP per utilizzare un indirizzo IP non permanente, è necessario andare nelle proprietà della connessione desiderata, aprire le proprietà IPv4 e selezionare le caselle come indicato.

Metodi di trasferimento dei dati

I dati vengono trasmessi attraverso il supporto fisico in tre modi:

  • Semplice.
  • Half-duplex.
  • Duplex completo.

Simplex è una comunicazione unidirezionale. La trasmissione viene effettuata da un solo dispositivo, mentre l'altro riceve solo il segnale. Possiamo dire che le informazioni vengono trasmesse in una sola direzione.

Esempi di comunicazione simplex:

  • Trasmissione televisiva.
  • Segnale dai satelliti GPS.

Half-duplex è una comunicazione bidirezionale. Tuttavia, solo un nodo alla volta può trasmettere un segnale. Con questo tipo di comunicazione due dispositivi non possono utilizzare contemporaneamente lo stesso canale. La comunicazione bidirezionale completa potrebbe non essere fisicamente possibile o potrebbe provocare collisioni. Si dice che siano in conflitto sul mezzo di trasmissione. Questa modalità viene utilizzata quando si utilizza un cavo coassiale.

Un esempio di comunicazione half-duplex è la comunicazione tramite walkie-talkie su una frequenza.

Full Duplex: comunicazione bidirezionale completa. I dispositivi possono trasmettere e ricevere simultaneamente un segnale. Non sono in conflitto sul mezzo di trasmissione. Questa modalità viene utilizzata quando si utilizza la tecnologia Fast Ethernet e una connessione a doppino intrecciato.

Un esempio è la comunicazione telefonica tramite una rete mobile.

TCP/IP e OSI

Il modello OSI definisce i principi della trasmissione dei dati. Gli strati dello stack del protocollo TCP/IP corrispondono direttamente a questo modello. A differenza del TCP/IP a quattro livelli, ha 7 livelli:

  1. Fisico.
  2. Canale (collegamento dati).
  3. Rete.
  4. Trasporto.
  5. Sessione.
  6. Presentazione.
  7. Applicazione.

Non è necessario approfondire troppo questo modello in questo momento, ma è necessaria almeno una comprensione superficiale.

Il livello dell'applicazione nel modello TCP/IP corrisponde ai primi tre livelli OSI. Funzionano tutti con le applicazioni, quindi puoi vedere chiaramente la logica di questa combinazione. Questa struttura generalizzata dello stack di protocolli TCP/IP rende l'astrazione più semplice da comprendere.

Lo strato di trasporto rimane invariato. Esegue le stesse funzioni.

Anche il livello di rete è invariato. Esegue esattamente gli stessi compiti.

Il livello di collegamento dati in TCP/IP corrisponde agli ultimi due livelli OSI. Il livello di collegamento dati stabilisce i protocolli per la trasmissione dei dati sul supporto fisico.

Fisico rappresenta la connessione fisica effettiva: segnali elettrici, connettori, ecc. Nello stack del protocollo TCP/IP si è deciso di unire questi due livelli in uno solo, poiché entrambi si occupano del supporto fisico.

Viene chiamato un insieme concordato di protocolli a diversi livelli, sufficienti per organizzare l'internetworking pila di protocolli. Per ogni livello viene definito un insieme di funzioni di query per l'interazione con il livello superiore, che viene chiamato interfaccia. Le regole per l'interazione tra due macchine possono essere descritte come un insieme di procedure per ciascun livello, chiamate protocolli.

Esistono molti stack di protocolli ampiamente utilizzati nelle reti. Si tratta di stack che rappresentano standard internazionali e nazionali e stack proprietari che si sono diffusi a causa della prevalenza di apparecchiature di una particolare azienda. Esempi di stack di protocolli popolari includono lo stack IPX/SPX di Novell, lo stack TCP/IP utilizzato su Internet e molte reti basate su UNIX, lo stack OSI dell'International Standards Organization, lo stack DECnet di Digital Equipment Corporation e molti altri.

Gli stack di protocolli sono divisi in tre livelli:

    trasporto;

    applicato.

Protocolli di rete

I protocolli di rete forniscono i seguenti servizi: indirizzamento e instradamento delle informazioni, controllo degli errori, richiesta di ritrasmissione e definizione di regole per l'interazione in uno specifico ambiente di rete. Di seguito sono riportati i protocolli di rete più popolari.

    DDP(DatagramDeliveryProtocol).Il protocollo di trasferimento dati Apple utilizzato in AppleTalk.

    IP(Protocollo Internet - Protocollo Internet). Un protocollo stack TCP/IP che fornisce informazioni di indirizzamento e routing.

    IPX(InternetworkPacketeXchange) in NWLink.Un protocollo NovelNetWare utilizzato per instradare e instradare i pacchetti.

    NetBEUI(NetBIOSExtendedUserInterface – esteso interfaccia utente sistema I/O di rete di base) . Sviluppato congiuntamente da IBM e Microsoft, questo protocollo fornisce servizi di trasporto per NetBIOS.

Protocolli di trasporto

I protocolli di trasporto forniscono i seguenti servizi per il trasporto affidabile dei dati tra computer. Di seguito sono riportati i protocolli di trasporto più popolari.

    ATP(AppleTalkProtocol – AppleTalk Transaction Protocol) e NBP(NameBindingProtocol – Protocollo di associazione dei nomi). Sessioni AppleTalk e protocolli di trasporto.

    NetBIOS ( Sistema I/O di rete di base) . NetBIOS Stabilisce una connessione tra computer e NetBEUI fornisce servizi dati per questa connessione.

    SPX(SequencedPacketeXchange – Scambio sequenziale di pacchetti) nel protocollo NWLink.NovelNetWare utilizzato per garantire la consegna dei dati.

    TCP(TransmissionControlProtocol – Transmission Control Protocol) Un protocollo dello stack TCP/IP responsabile della consegna affidabile dei dati.

Protocolli applicativi

I protocolli applicativi sono responsabili del modo in cui le applicazioni comunicano. Di seguito sono riportati i protocolli applicativi più diffusi.

    AFP(Protocollo Apple Talk File - Protocollo Apple Talk File). telecomando File Macintosh.

    FTP(Protocollo di trasferimento file - Protocollo di trasferimento file). Un protocollo stack TCP/IP utilizzato per fornire servizi di trasferimento file.

    PCN(Protocollo NetWare Core - Protocollo NetWare Basic). Shell e reindirizzatori del client NovelNetWare.

    SNMP(SimpleNetworkManagementProtocol).Un protocollo stack TCP/IP utilizzato per gestire e monitorare i dispositivi di rete.

    HTTP(HyperTextTransferProtocol) – protocollo di trasferimento ipertestuale e altri protocolli.

La suite di protocolli Internet fornisce comunicazioni dati end-to-end, definendo il modo in cui i dati vengono impacchettati, elaborati, trasmessi, instradati e ricevuti. Questa funzionalità è organizzata in quattro livelli di astrazione che classificano tutti i protocolli associati in base all'ambito delle reti coinvolte. Il livello dal più basso al più alto è il livello di comunicazione contenente i metodi di comunicazione per i dati che rimangono all'interno di un singolo segmento di rete (collegamento); Livello Internet, che fornisce l'interconnessione tra reti indipendenti; livello di trasporto, che gestisce la comunicazione tra host; e il livello dell'applicazione, che fornisce la comunicazione tra processi per le applicazioni.

Lo sviluppo dell'architettura e dei protocolli Internet nel modello TCP/IP è portato avanti dalla comunità internazionale aperta di progettisti IETF.

Storia

Stack di protocolli TCP/IPè stato creato sulla base dell'NCP (Network Control Protocol) da un gruppo di sviluppatori guidati da Vinton Cerf nel 1972. Nel luglio 1976, Vint Cerf e Bob Kahn dimostrarono per la prima volta la trasmissione dei dati utilizzando TCP su tre varie reti. Il pacco ha seguito il seguente percorso: San Francisco - Londra - University of Southern California. Alla fine del suo viaggio il pacco aveva percorso 150mila km senza perdere neanche un pezzettino. Nel 1978, Cerf, Jon Postel e Danny Cohen decisero di creare due funzioni separate in TCP: TCP e IP (protocollo Internet inglese, protocollo di rete). TCP era responsabile della suddivisione del messaggio in datagrammi e della loro connessione al punto di invio finale. IP era responsabile della trasmissione (con controllo della ricezione) dei singoli datagrammi. È così che è nato il moderno protocollo Internet. E il 1° gennaio 1983 ARPANET passò a un nuovo protocollo. Questo giorno è considerato la data di nascita ufficiale di Internet.

Livelli dello stack TCP/IP

Lo stack di protocolli TCP/IP comprende quattro livelli:

I protocolli a questi livelli implementano pienamente le funzionalità del modello OSI. Tutta l'interazione dell'utente nelle reti IP è basata sullo stack di protocolli TCP/IP. Lo stack è indipendente dal mezzo fisico di trasmissione dei dati, il che garantisce in particolare un'interazione completamente trasparente tra reti cablate e wireless.

Distribuzione dei protocolli per livelli del modello TCP/IP
Applicato
(Livello di applicazione)
ad esempio HTTP, RTSP, FTP, DNS
Trasporto

Strato di trasporto

Livello di rete (Internet).

Livello di collegamento dati

Inoltre, il livello di collegamento dati descrive il mezzo di trasmissione dei dati (sia esso cavo coassiale, doppino intrecciato, fibra ottica o canale radio), le caratteristiche fisiche di tale mezzo e il principio della trasmissione dei dati (separazione dei canali, modulazione, ampiezza del segnale, frequenza del segnale, metodo di sincronizzazione della trasmissione, risposta alla latenza e distanza massima).

Quando si progetta uno stack di protocolli a livello di collegamento, viene presa in considerazione la codifica resistente al rumore, che consente di rilevare e correggere errori nei dati dovuti all'impatto del rumore e delle interferenze sul canale di comunicazione.

Confronto con il modello OSI

I primi tre livelli nel modello OSI, ovvero il livello dell'applicazione, il livello di presentazione e il livello di sessione, non sono distinti separatamente nel modello TCP/IP, che ha solo un livello di applicazione sopra il livello di trasporto. Sebbene anche alcune applicazioni del protocollo OSI puro, come X.400, combinino i due, non vi è alcun requisito che lo stack del protocollo TCP/IP debba sovrapporre un'architettura monolitica sopra il livello di trasporto. Ad esempio, il protocollo applicativo NFS opera tramite il protocollo XDR (External Data Representation), che a sua volta opera tramite il protocollo RPC (Remote Procedure Call). RPC fornisce un trasferimento dati affidabile in modo da poter utilizzare in sicurezza il trasporto UDP più efficiente.

Vari autori hanno interpretato il modello TCP/IP in modi diversi e non concordano sul fatto che il livello di collegamento o l'intero modello TCP/IP catturi il livello OSI 1 (livello fisico) riguarda o presuppone che il livello hardware sia al di sotto del livello di collegamento.

Diversi autori hanno tentato di incorporare i livelli 1 e 2 del modello OSI nel modello TCP/IP, poiché ad essi si fa comunemente riferimento negli standard moderni (ad esempio IEEE e ITU). Ciò si traduce spesso in un modello a cinque livelli, in cui il livello di comunicazione o il livello di accesso alla rete è diviso nei livelli 1 e 2 del modello OSI.

Gli sforzi di sviluppo del protocollo IETF non riguardano una rigorosa stratificazione. Alcuni dei suoi protocolli potrebbero non seguire il modello OSI puro, sebbene le RFC a volte vi facciano riferimento e spesso utilizzino numeri di livello OSI precedenti. L'IETF ha ripetutamente affermato che il protocollo Internet e la progettazione dell'architettura non dovrebbero essere conformi ai requisiti OSI. RFC 3439, che riguarda l'architettura Internet, contiene una sezione intitolata "Layer Considered Harmful".

Ad esempio, i livelli sessione e presentazione del pacchetto OSI sono considerati inclusi nel livello applicazione del pacchetto TCP/IP. La funzionalità del livello sessione può essere trovata in protocolli come HTTP e SMTP ed è più evidente in protocolli come Telnet e SIP (Session Initiation Protocol). La funzionalità del livello sessione è implementata anche con la numerazione delle porte per i protocolli TCP e UDP, che si estendono al livello di trasporto nella suite TCP/IP. Le funzioni del livello di presentazione sono implementate nelle applicazioni TCP/IP con lo standard MIME per lo scambio di dati.

I conflitti sono evidenti anche nel modello OSI originale, ISO 7498, quando le appendici di quel modello, come il Management Framework ISO 7498/4 o l’Organizzazione interna del livello di rete (IONL) ISO 8648, non vengono affrontate. Quando vengono esaminati i documenti IONL e Management Framework, ICMP e IGMP vengono definiti come protocolli di controllo del livello per il livello di rete. Allo stesso modo, IONL fornisce un framework per "oggetti di convergenza dipendenti dalla sottorete" come ARP e RARP.

I protocolli IETF possono essere incapsulati in modo ricorsivo, come evidenziato dai protocolli di tunneling come General Routing Encapsulation (GRE). GRE utilizza lo stesso meccanismo utilizzato da OSI per il tunneling a livello di rete. Vi è disaccordo su come adattare il modello TCP/IP al modello OSI perché i livelli di questi modelli non sono gli stessi.

Inoltre, il modello OSI non utilizza uno strato aggiuntivo - "Internetworking" - tra il collegamento dati e gli strati di rete. Un esempio di protocollo controverso sarebbe ARP o STP.

Ecco come i protocolli TCP/IP si inseriscono tradizionalmente nel modello OSI:

Distribuzione dei protocolli per livelli del modello OSI
TCP/IP OSI
7 Applicato Applicato ad esempio HTTP, SMTP, SNMP, FTP, Telnet, SSH, SCP, SMB, NFS, RTSP, BGP
6 Rappresentazione ad esempio XDR, AFP, TLS, SSL
5 Sessione ad esempio ISO 8327 / CCITT X.225, RPC, NetBIOS, PPTP, L2TP, ASP
4 Trasporto Trasporto ad esempio TCP, UDP, SCTP, SPX, ATP, DCCP, GRE
3 Rete Rete ad esempio ICMP, IGMP, CLNP, OSPF, RIP, IPX, DDP, ARP
2 Condotto Condotto ad esempio Ethernet, Anello di gettone, HDLC , PPP , X.25 , Frame Relay , ISDN , ATM , SPB , MPLS
1 Fisico ad esempio cavi elettrici, comunicazioni radio, cavi in ​​fibra ottica, radiazioni infrarosse

Tipicamente, nello stack TCP/IP, i primi 3 livelli del modello OSI (applicazione, presentazione e sessione) sono combinati in un'unica applicazione. Poiché tale stack non fornisce un protocollo di trasferimento dati unificato, le funzioni di determinazione del tipo di dati vengono trasferite all'applicazione.

Descrizione del modello TCP/IP nella letteratura tecnica

Appunti

  1. Modelli OSI e TCP/IP. Base di conoscenza osLogic.ru
  2. Modelli di rete TCP/IP e OSI. Cisco Apprendimento
  3. Vasiliev A. A., Telina I. S., Izbachkov Yu. S., Petrov V. N. Sistemi di informazione: Libro di testo per le università. - San Pietroburgo. : Pietro, 2010. - 544 pag. - ISBN 978-5-49807-158-9.
  4. Andrew Krowczyk, Vinod Kumar, Noman Laghari e altri. Programmazione di rete .NET per professionisti/trans. dall'inglese V. Streltsov. - M.: Lori, 2005. - 400 p. - ISBN 1-86100-735-3. - ISBN 5-85582-170-2.

Livello di trasporto (TL) definisce le regole per il trasporto dei pacchetti sulla rete. Il livello di trasporto monitora la consegna end-to-end dei singoli pacchetti; non tiene conto delle eventuali dipendenze tra questi pacchetti (anche quelli appartenenti allo stesso messaggio). Tratta ogni pacchetto come se ogni parte appartenesse a esso messaggio separato, indipendentemente dal fatto che ciò sia effettivamente vero o meno. I protocolli del livello di trasporto garantiscono che tutti i messaggi arrivino a destinazione intatti e che i pacchetti siano ordinati nell'ordine originale. A livello di trasporto vengono effettuati il ​​controllo della violazione delle informazioni e degli errori, nonché il controllo del flusso lungo l'intero percorso sorgente-destinazione.

Il livello di trasporto svolge le seguenti attività:

  • Indirizzamento del punto di servizio. I computer spesso eseguono più programmi contemporaneamente. Per questo motivo, consegna origine-destinazione significa consegna non solo da un computer a quello successivo, ma anche da un dato processo (programma in esecuzione) su un computer a un dato processo (programma in esecuzione) su un altro. Pertanto, l'intestazione del livello di trasporto deve includere un tipo di indirizzo denominato indirizzo del punto di servizio (o indirizzo di porta). Il livello di rete consegna ogni pacchetto all'indirizzo corretto del computer; Il livello di trasporto consegna il messaggio completo al processo corretto su quel computer.
  • Segmentazione e riassemblaggio. Il messaggio è diviso in segmenti trasportabili, ciascun segmento contenente un numero di sequenza. Questi numeri consentono al livello di trasporto, una volta raggiunta la destinazione, di riassemblare correttamente il messaggio e sostituire i pacchetti persi durante la trasmissione.
  • Gestione della connessione. Il livello di trasporto può essere orientato alla connessione (trasferimento senza connessione) o trasferimento orientato alla connessione (modalità datagramma). Il livello di trasporto senza connessione (su una connessione virtuale prestabilita) elabora ciascun segmento come un pacchetto indipendente e lo consegna al livello di trasporto sulla macchina di destinazione. Il livello di trasporto orientato alla connessione stabilisce innanzitutto una connessione al livello di trasporto sul computer di destinazione prima di consegnare i pacchetti. Una volta trasferiti tutti i dati, la connessione termina.

    Nella modalità senza connessione, il livello di trasporto viene utilizzato per trasmettere singoli datagrammi senza garantirne la consegna affidabile. La modalità orientata alla connessione viene utilizzata per la consegna affidabile dei dati.

  • Controllo del flusso. Come il livello di collegamento dati, il livello di trasporto è responsabile del controllo del flusso. Tuttavia, il controllo del flusso a questo livello viene effettuato end-to-end.
  • Controllo degli errori. Come il livello di collegamento dati, il livello di trasporto è responsabile del controllo degli errori. Il livello di trasporto di trasmissione garantisce che il messaggio completo raggiunga il livello di trasporto di ricezione senza errori (danni, perdite o duplicazioni). La correzione degli errori avviene solitamente tramite ritrasmissione.

Livello di sessione SL- controllore del dialogo di rete. Stabilisce, mantiene e sincronizza le interazioni tra sistemi comunicanti.

Utilizzando il Session Layer, viene organizzato un dialogo tra le parti, viene registrato quale parte è l'iniziatore, quale parte è attiva e come termina il dialogo.

Le attività del livello sessione sono le seguenti:

  • Gestione del dialogo. Livello di sessione permette a due sistemi di entrare in dialogo. Permette lo scambio di messaggi tra due processi. In questo caso sono possibili le seguenti modalità: half-duplex (un percorso alla volta) o full-duplex (due percorsi contemporaneamente). Ad esempio, il dialogo tra il terminale e il mainframe può essere half-duplex.
  • Sincronizzazione. Livello di sessione Consente a un processo di aggiungere checkpoint (punti di sincronizzazione) a un flusso di dati. Ad esempio, se il sistema invia un file di 2.000 pagine, è opportuno inserire dei checkpoint ogni 100 pagine per garantire che ogni modulo da 100 pagine venga ricevuto e riconosciuto in modo indipendente. In questo caso, se si verifica una violazione durante la trasmissione della pagina 523, l'unica pagina richiesta e verrà inviata nuovamente dopo ripristino del sistema- pagina 501 (prima pagina del cinquecento)

Livello di presentazione si occupa della forma di fornitura di informazioni ai livelli inferiori, ad esempio, ricodificazione o crittografia delle informazioni.

I compiti del livello di presentazione sono:

  • Ricodificazione delle informazioni. I processi (programmi in esecuzione) sui due sistemi in genere si scambiano informazioni sotto forma di stringhe di caratteri, numeri e così via. Le informazioni devono essere trasformate in flussi di bit prima di essere trasmesse. Poiché computer diversi utilizzano sistemi di codifica diversi, livello di presentazioneè responsabile dell'interoperabilità tra questi diversi metodi di codifica. Livello di presentazione presso il trasmettitore modifica le informazioni da una forma specifica del trasmettitore a una forma generale. Livello di presentazione nel computer ricevente sostituisce il formato comune con il formato del suo ricevitore.
  • Crittografia. Per fornire informazioni sensibili, il sistema deve garantire la segretezza. La crittografia significa che il trasmettitore converte le informazioni originali in un'altra forma e invia il messaggio risultante sulla rete. La decodificazione deve essere esattamente l'opposto del processo originale per riportare il messaggio alla sua forma originale.
  • Compressione. La compressione dei dati riduce il numero di bit contenuti nelle informazioni. La compressione dei dati diventa particolarmente importante nella trasmissione di contenuti multimediali come testo, audio e video.

Livello di applicazione (AL)è un insieme di protocolli scambiati tra nodi remoti che implementano lo stesso compito (programma). Livello di applicazione consente all'utente (persona o Software) accedere alla rete. Fornisce interfacce utente e supporto per servizi quali posta elettronica, accesso remoto e trasferimento di fondi, gestione di database pubblici e altri tipi di servizi di informazione distribuita.

Esempi di servizi forniti dal livello applicativo:

  • Terminale virtuale di rete. Un terminale virtuale di rete è una versione software di un terminale fisico, consente all'utente di accedere a un host remoto. Per fare ciò, l'applicazione crea un'emulazione software di un terminale sull'host remoto. Il computer dell'utente comunica con il terminale software, che, a sua volta, comunica con l'host e viceversa. L'host remoto definisce questa connessione come connessione con uno dei propri terminali e consente l'ingresso.
  • Trasferimento, accesso e gestione dei file. Questa applicazione consente all'utente di accedere ai file su un host remoto per modificare o leggere dati, recuperare file da un computer remoto per utilizzarli su un computer locale e amministrare o gestire file su un computer remoto.
  • Servizi Postali. Questa applicazione fornisce una base per l'invio e l'archiviazione di e-mail.
  • Servizi di elenchi. Questa applicazione fornisce origini di database distribuiti e accesso a informazioni globali su vari oggetti e servizi.

Pila di protocolli Internet

Lo stack di protocolli Internet2 è stato sviluppato prima del modello OSI. Pertanto, i livelli nello stack del protocollo Internet non corrispondono ai livelli corrispondenti nel modello OSI. Lo stack di protocolli Internet è costituito da cinque livelli: fisico, collegamento dati, rete, trasporto e applicazione. I primi quattro livelli forniscono standard fisici, interfaccia di rete, internetworking e funzioni di trasporto che corrispondono ai primi quattro livelli del modello OSI. I primi tre livelli del modello OSI sono rappresentati nello stack del protocollo Internet da un singolo livello chiamato livello dell'applicazione. 1.3.

Riso. 1.3.

ARP Protocollo di risoluzione dell'indirizzo Protocollo per la ricerca degli indirizzi
ATM Modalità di trasferimento asincrono Modalità di trasferimento asincrono
BGP Protocollo Gateway di frontiera Protocollo di routing perimetrale
DNS Domain Name System Domain Name System
Ethernet Rete Ethernet Rete Ethernet
FDDI Interfaccia dati distribuiti in fibra Interfaccia dati distribuiti in fibra ottica
HTTP Protocollo di trasferimento ipertestuale Protocollo di trasferimento ipertestuale
FTP Trasferimento di file Protocollo File Transfer Protocol
ICMP Protocollo dei messaggi di controllo Internet Protocollo dei messaggi di controllo
IGMP Protocollo di gestione dei gruppi Internet Protocollo di gestione dei gruppi Internet (utenti).
IP Protocollo Internet Protocollo Internet
NFS File system di rete Protocollo di accesso alla rete file system
OSPF Apri prima il percorso più breve Apri il protocollo di preferenza del canale più corto
PDH Gerarchia digitale plesiocrona Gerarchia digitale plesiocronica
PPP Protocollo punto a punto Protocollo di comunicazione punto a punto


 Superiore