LA CAMPANA

C'è chi legge queste notizie prima di te.
Iscriviti per ricevere articoli freschi.
E-mail
Nome
cognome
Come vuoi leggere The Bell
No spam

Questo articolo tratterà le basi del modello TCP / IP. Per una migliore comprensione, vengono descritti protocolli e servizi di base. La cosa principale è non affrettarsi e cercare di capire ogni cosa in più fasi. Tutti sono interconnessi e senza capirne uno, sarà difficile capire l'altro. Qui vengono raccolte informazioni molto superficiali, quindi questo articolo può essere tranquillamente chiamato "stack di protocollo TCP / IP per i manichini". Tuttavia, molte cose qui non sono così difficili da capire come potrebbe sembrare a prima vista.

TCP / IP

Lo stack TCP / IP è un modello di rete per la trasmissione di dati su una rete e determina l'ordine in cui i dispositivi interagiscono. I dati arrivano al livello del collegamento e vengono elaborati alternativamente da ogni livello sopra. Lo stack è presentato come un'astrazione che spiega i principi di elaborazione e ricezione dei dati.

Lo stack del protocollo di rete TCP / IP ha 4 livelli:

  1. Canale (collegamento).
  2. Rete (Internet).
  3. Trasporto (trasporto).
  4. Applicato (applicazione).

Livello di applicazione

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

  • HTTP;
  • SMTP;

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

HTTP (HyperText Transfer Protocol) è progettato per il trasferimento dei dati. Invia, ad esempio, documenti HTML che fungono da base per una pagina Web. Lo schema di lavoro semplificato è presentato come "client - server". Il client invia la richiesta, il server la accetta, elabora correttamente e restituisce il risultato finale.

Serve come standard per il trasferimento di file sulla rete. Il client invia una richiesta a un determinato file, il server cerca questo file nel suo database e, una volta rilevato correttamente, lo invia come risposta.

Utilizzato per inviare e-mail. Un'operazione SMTP prevede tre passaggi consecutivi:

  1. Determinare l'indirizzo del mittente. Questo è necessario per restituire le lettere.
  2. Definizione del destinatario. Questo passaggio può essere ripetuto più volte quando si specificano più destinazioni.
  3. Identifica il contenuto del messaggio e invia. Come informazioni di servizio, vengono trasmessi dati sul tipo di messaggio. Se il server conferma la propria disponibilità ad accettare il pacchetto, viene eseguita la transazione stessa.

Titolo (intestazione)

L'intestazione contiene i dati di 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 nell'ordine inverso. L'intestazione nidificata contiene informazioni speciali che possono essere elaborate solo in un modo specifico.

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

Livello di trasporto

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

Protocolli di trasferimento dati:

Il protocollo più comune È responsabile del trasferimento dei dati garantito. Quando si inviano pacchetti, il loro checksum e il processo di transazione sono controllati. Ciò significa che le informazioni saranno "sicure" indipendentemente dalle condizioni.

UDP (User Datagram Protocol) è il secondo protocollo più popolare. È anche responsabile della trasmissione dei dati. Una proprietà distintiva risiede nella sua semplicità. I pacchetti vengono semplicemente inviati senza creare una connessione speciale.

TCP o UDP?

Ognuno di questi protocolli ha il suo campo di applicazione. È logicamente determinato dalle caratteristiche del lavoro.

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

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

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

Tuttavia, se è necessario inviare password o dettagli della carta di credito, la necessità di utilizzare TCP è ovvia. La perdita anche della parte più piccola dei dati può portare a conseguenze disastrose. La velocità in questo caso non è importante quanto la sicurezza.

Livello di rete

Il livello di rete dei pacchetti di moduli di informazioni ricevute e aggiunge un'intestazione. Il dato più importante sono gli indirizzi IP e MAC di mittenti e destinatari.

Indirizzo IP (indirizzo Internet Protocol): l'indirizzo logico del dispositivo. Contiene informazioni sulla posizione del dispositivo sulla rete. Esempio di registrazione :.

Indirizzo MAC (Media Access Control address): 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. Ad esempio:

Il livello di rete è responsabile di:

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

I router sono dispositivi a livello di rete. Spianano 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 di rete. Viene utilizzato per creare percorsi lungo i quali vengono scambiati i pacchetti. Non ha alcun mezzo di verifica e conferma dell'integrità. Per garantire le garanzie di consegna, viene utilizzato TCP, che utilizza IP come protocollo di trasporto. La comprensione dei principi di questa transazione spiega in gran parte le basi di come funziona lo stack del protocollo TCP / IP.

Tipi di indirizzi IP

Le reti utilizzano due tipi di indirizzi IP:

  1. Visitor.
  2. Privata.

Il pubblico è utilizzato 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.

Privato (Privato) non viene utilizzato su Internet. In una rete globale, tali indirizzi non sono univoci. Un esempio è una rete locale. A ciascun dispositivo viene assegnato un indirizzo IP univoco all'interno della rete.

L'interazione con Internet avviene tramite un router, che, come detto sopra, ha un proprio indirizzo IP pubblico. Pertanto, tutti i computer collegati al router sono rappresentati su Internet per conto di un indirizzo IP pubblico.

IPv4

La versione più comune del protocollo Internet. IPv6 precede. Il formato di registrazione è composto da quattro numeri a otto bit separati da punti. La maschera di sottorete è indicata attraverso il segno di frazione. L'indirizzo è lungo 32 bit. Nella stragrande maggioranza dei casi, quando si tratta di indirizzo IP, si intende IPv4.

Formato di registrazione :.

IPv6

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

Il problema principale che IPv6 risolve sta esaurendo gli indirizzi IPv4. Prerequisiti iniziarono ad apparire nei primi anni '80. Nonostante il fatto che questo problema sia entrato nella fase acuta già nel periodo 2007-2009, l'implementazione di IPv6 sta lentamente “guadagnando slancio”.

Il vantaggio principale di IPv6 è una connessione Internet più veloce. Questo perché la traduzione dell'indirizzo non è richiesta per questa versione del protocollo. Il routing semplice è in corso. Questo è meno costoso e quindi l'accesso alle risorse di Internet è più veloce che in IPv4.

Esempio di registrazione :.

Esistono tre tipi di indirizzi IPv6:

  1. Unicast.
  2. Anycast.
  3. Multicast.

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

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

Multicast sono multicast. Ciò significa che il pacchetto inviato raggiungerà tutte le interfacce che si trovano nel gruppo multicast. A differenza della trasmissione, che è "trasmessa a tutti", il multicast trasmette solo a un gruppo specifico.

Maschera di sottorete

La subnet mask identifica la subnet e il numero host dall'indirizzo IP.

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

Se in modo più dettagliato, la subnet mask può essere rappresentata in notazione binaria in questo modo :. Ha quattro ottetti e il record è composto da "1" e "0". Se aggiungi il numero di unità, otteniamo la somma di "24". Fortunatamente, contare per uno non è necessario, perché in un ottetto ci sono 8 valori. Vediamo che tre di loro sono pieni di unità, sommano e ottengono "24".

Se parliamo in modo specifico della maschera di sottorete, nella rappresentazione binaria ha una unità o zeri in un ottetto. In questo caso, la sequenza è tale che i byte con quelli vanno per primi, e solo successivamente con zero.

Considera un piccolo esempio. C'è un indirizzo IP e una maschera di sottorete. Consideriamo e scriviamo :. Ora abbina la maschera con l'indirizzo IP. Gli ottetti maschera in cui tutti i valori sono uguali a uno (255) lascia invariati gli ottetti corrispondenti nell'indirizzo IP. Se il valore ha zeri (0), anche gli ottetti nell'indirizzo IP diventano zeri. Quindi, nel valore dell'indirizzo della sottorete otteniamo.

Sottorete e host

La sottorete è responsabile della separazione logica. In realtà, si tratta di dispositivi che utilizzano la stessa rete locale. Definito da un intervallo di indirizzi IP.

L'host è l'indirizzo dell'interfaccia di rete (scheda di rete). Determinato da un indirizzo IP utilizzando una maschera. Ad esempio: Poiché i primi tre ottetti sono una sottorete, rimane. Questo è il numero host.

L'intervallo di indirizzi dell'host è compreso tra 0 e 255. L'host con il numero "0" è, in effetti, l'indirizzo della sottorete stessa. E il numero host 255 viene trasmesso.

indirizzamento

Per l'indirizzamento nello stack del protocollo TCP / IP vengono utilizzati tre tipi di indirizzi:

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

Gli indirizzi locali sono indirizzi MAC. Sono utilizzati per l'indirizzamento in tecnologie LAN come, ad esempio, Ethernet. Nel contesto di TCP / IP, la parola "locale" significa che funzionano solo all'interno della 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 riconosce il numero host e la sottorete e, sulla base di queste informazioni, apre la rotta al nodo finale.

I nomi di dominio sono indirizzi di siti Web leggibili dall'uomo su Internet. I server Web su Internet sono disponibili all'indirizzo IP pubblico. Viene elaborato con successo dai computer, ma per le persone sembra troppo scomodo. Al fine di evitare tali complicazioni, vengono utilizzati nomi di dominio, che consistono in aree chiamate "domini". Sono disposti in una gerarchia rigorosa, dal livello superiore a quello inferiore.

Il dominio di primo livello rappresenta informazioni specifiche. Generale (.org, .net) non si limita a limiti rigorosi. La situazione inversa è con locale (.us, .ru). Di solito sono geograficamente attaccati.

I domini di livello inferiore sono tutto il resto. Può essere di qualsiasi dimensione e contenere qualsiasi numero di valori.

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

Imposta la corrispondenza tra nomi di dominio e indirizzo IP pubblico. Quando si digita un nome di dominio nella barra del browser, DNS rileverà l'indirizzo IP corrispondente e informerà il dispositivo. Il dispositivo elaborerà questo e lo restituirà come una pagina Web.

Livello del canale

A livello di canale, viene determinata la relazione tra il dispositivo e il mezzo di trasmissione fisico, viene aggiunta un'intestazione. Responsabile della codifica dei dati e della preparazione dei frame per la trasmissione nell'ambiente fisico. A questo livello, gli switch di rete funzionano.

I protocolli più comuni sono:

  1. Ethernet.
  2. WLAN.

Ethernet è la tecnologia LAN cablata più comune.

WLAN: una rete locale basata su tecnologie wireless. L'interazione dei dispositivi avviene senza connessioni fisiche via cavo. Un esempio del metodo più comune è il Wi-Fi.

Configurare TCP / IP per utilizzare un indirizzo IPv4 statico

Un indirizzo IPv4 statico viene assegnato direttamente nelle impostazioni del dispositivo o automaticamente quando è collegato a una rete ed è permanente.

Per configurare lo stack del protocollo TCP / IP per l'utilizzo di un indirizzo IPv4 fisso, è necessario immettere il comando ipconfig / all nella console e trovare i seguenti dati.

Configurare TCP / IP per utilizzare un indirizzo IPv4 dinamico

Un indirizzo IPv4 dinamico viene utilizzato per un po ', noleggiato e quindi modificato. Assegnato automaticamente al dispositivo quando connesso a una rete.

Per configurare lo stack del protocollo TCP / IP per l'utilizzo di un indirizzo IP non persistente, accedere alle 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:

  • Simplex.
  • Half-duplex.
  • Full duplex.

Simplex è una comunicazione a senso unico. 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:

  • TV.
  • Segnale dai satelliti GPS.

Half-duplex è una comunicazione a due vie. Tuttavia, solo un nodo può trasmettere un segnale in un determinato momento. Con questa connessione, due dispositivi non possono utilizzare contemporaneamente lo stesso canale. A tutti gli effetti potrebbe non essere fisicamente possibile 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 radio su una singola frequenza.

Full Duplex: comunicazione bidirezionale completa. I dispositivi possono trasmettere contemporaneamente un segnale e ricevere. 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 di comunicazione duplex è la comunicazione telefonica su una rete mobile.

TCP / IP vs OSI

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

  1. Fisico (Physical).
  2. Canale (collegamento dati).
  3. Rete (rete).
  4. Trasporto (trasporto).
  5. Sessione (Sessione).
  6. Esecutivo (presentazione).
  7. Applicato (applicazione).

Al momento, non dovresti approfondire questo modello, ma è necessaria almeno una comprensione superficiale.

Il livello applicazione nel modello TCP / IP corrisponde ai tre livelli OSI principali. Funzionano tutti con le applicazioni, quindi puoi tracciare chiaramente la logica di tale unione. Questa struttura dello stack del protocollo TCP / IP generico semplifica la comprensione dell'astrazione.

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

Anche il livello di rete non è cambiato. Esegue esattamente le stesse attività.

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

Il fisico è una connessione fisica stessa: segnali elettrici, connettori, ecc. Nello stack del protocollo TCP / IP, è stato deciso di combinare questi due livelli in uno, poiché entrambi lavorano con l'ambiente fisico.

TCP / IP è un'abbreviazione del termine Transmission Control Protocol / Internet Protocol. In effetti, TCP / IP non è un protocollo, ma molti, uno stack di protocollo.

TCP / IP è stato progettato in modo tale che le reti informatiche dei centri di ricerca di tutto il mondo possano essere combinate sotto forma di una "rete di reti" virtuale (internetwork). La rete Internet originale è stata creata convertendo un conglomerato esistente di reti di computer chiamato ARPAnet mediante TCP / IP.

In una rete basata su TCP / IP, le informazioni vengono trasmesse sotto forma di blocchi discreti chiamati pacchetti IP o datagrammi IP. In sostanza, TCP / IP nasconde agli utenti i router e l'architettura di rete sottostante, quindi sembra tutto come una grande rete. Proprio come le connessioni Ethernet sono riconosciute da identificatori Ethernet a 48 bit, le connessioni intranet sono identificate da indirizzi IP a 32 bit, che esprimiamo come numeri decimali separati da punti (ad esempio, 128.10.2.3). Prendendo l'indirizzo IP di un computer remoto, un computer sull'Intranet o su Internet può inviargli dati come se facessero parte della stessa rete fisica.

I dati vengono trasmessi in pacchetti. I pacchetti hanno un'intestazione e un finale che contengono informazioni generali. I dati di livello superiore vengono inseriti (incapsulati), come una lettera in una busta, in pacchetti di livello inferiore.

TCP / IP fornisce una soluzione al problema dello scambio di dati tra due computer collegati alla stessa intranet ma appartenenti a reti fisiche diverse. La soluzione è composta da più parti e ogni livello della famiglia di protocolli TCP / IP contribuisce alla causa comune. L'IP - il protocollo più fondamentale dalla suite TCP / IP - trasmette datagrammi IP e offre una scelta del percorso che il datagramma seguirà dal punto A al punto B e l'uso di router per "saltare" tra le reti.

TCP è un protocollo di livello superiore che consente alle applicazioni in esecuzione su vari computer in una rete di scambiare flussi di dati. TCP divide i flussi di dati in catene, chiamati segmenti TCP, e li trasmette tramite IP. Nella maggior parte dei casi, ogni segmento TCP viene inoltrato in un datagramma IP. Tuttavia, se necessario, TCP suddividerà i segmenti in diversi datagrammi IP che si adattano ai frame di dati fisici che vengono utilizzati per trasferire informazioni tra computer sulla rete. Poiché IP non garantisce che i datagrammi saranno ricevuti nella stessa sequenza in cui sono stati inviati, TCP riassembla i segmenti TCP all'altra estremità del percorso per formare un flusso continuo di dati.

Un altro importante protocollo stack TCP / IP è User Datagram Protocol (UDP, che è simile a TCP ma più primitivo. TCP è un protocollo "affidabile" perché fornisce messaggi di verifica degli errori e di conferma per garantire che i dati raggiungano la loro destinazione senza distorsioni. UDP è un protocollo "inaffidabile" che non garantisce che i datagrammi arriveranno nell'ordine in cui sono stati inviati, o addirittura che arriveranno affatto. UDP viene utilizzato per gestire le connessioni.

Altri protocolli TCP / IP svolgono ruoli meno evidenti ma ugualmente importanti nel funzionamento delle reti TCP / IP. Ad esempio, l'ARP (Address Resolution Protocol) traduce gli indirizzi IP in indirizzi di rete fisici, come identificatori Ethernet. Un protocollo correlato, il Reverse Address Resolution Protocol (RARP), esegue l'azione opposta convertendo gli indirizzi di rete fisici in indirizzi IP. Internet Control Message Protocol (ICMP) è un protocollo di accompagnamento che utilizza l'IP per scambiare informazioni di controllo e controllare errori relativi alla trasmissione di pacchetti IP. Ad esempio, se un router non è in grado di trasmettere un datagramma IP, utilizza ICMP per informare il mittente che si è verificato un problema.

TCP / IP: il nome collettivo di un insieme (stack) di protocolli di rete di diversi livelli utilizzati su Internet.

Lo stack del protocollo TCP / IP è diviso in 4 livelli:

· Applicato (applicazioni);

· Trasporto;

· Rete (internetwork);

· Fisico (canale).

La funzionalità principale delle reti TCP / IP è implementata dai protocolli TCP (protocollo di controllo della trasmissione) e IP (protocollo Internet). Il protocollo IP funziona a livello di rete, protocollo TCP - a livello di trasporto. A livello di applicazione, numerosi protocolli funzionano, sia comunemente usati (http, smtp, dns, smb) che a bassa frequenza (binkp), che sono usati da vari programmi utente per comunicare tra loro e trasferire dati, ma tutti usano il trasporto fornito da TCP / IP . Questi protocolli sono chiamati di base, poiché tutti gli altri si basano su di essi e l'intera tecnologia si chiama TCP / IP.

Insieme a TCP, UDP viene utilizzato a livello di trasporto. A differenza di TCP, non crea una connessione, ma invia semplicemente datagrammi. Tale metodo di trasmissione senza connessione è conveniente per alcune applicazioni, principalmente di servizio. In particolare, il protocollo per determinare il nome della rete DNS funziona tramite UDP.

I livelli di stack TCP / IP non corrispondono completamente ai livelli teorici del modello OSI

TCP / IP non regola l'uso di protocolli e tecnologie dei livelli fisici e di collegamento. È necessario e sufficiente disporre dell'interfaccia dei moduli del layer di canale con il modulo IP, che fornisce la trasmissione di pacchetti IP. Mezzi e metodi per fornire questo trasferimento non rientrano nell'ambito di applicazione di TCP / IP. Nell'implementazione pratica dei livelli del modello OSI, si è rivelato più conveniente combinare alcuni livelli in un modulo. La corrispondenza tra i livelli di stack TCP / IP e OSI è simile alla seguente:

La figura mostra come TCP / IP è conforme al modello ISO / OSI. Questa figura illustra anche l'architettura del livello TCP / IP e mostra le relazioni tra i protocolli principali. Quando un blocco dati viene trasferito da un programma applicativo di rete a una scheda di rete, passa in sequenza attraverso un numero di moduli TCP / IP. Allo stesso tempo, ad ogni passaggio è a corto di personale con le informazioni necessarie per il modulo TCP / IP equivalente all'altra estremità della catena. Quando i dati entrano nella scheda di rete, sono un frame standard della tecnologia a cui appartiene questa scheda. Il software TCP / IP all'estremità ricevente ricrea i dati di origine per il programma ricevente passando il frame nell'ordine inverso dell'insieme dei moduli TCP / IP.

I protocolli TCP / IP sono progettati per un ambiente di rete che non era ampiamente utilizzato negli anni '70, ma oggi è diventato la norma. Questi protocolli consentono il collegamento di apparecchiature di diversi produttori e sono in grado di funzionare attraverso vari tipi di media o media e comunicazioni di dati. Hanno permesso di unire le reti in un'unica rete   Internet, tutti gli utenti dei quali hanno accesso a una serie di servizi di base.

Inoltre, le organizzazioni scientifiche, militari e governative che sponsorizzano lo sviluppo di TCP / IP hanno voluto essere in grado di connettere nuove reti a Internet senza modificare i servizi di reti già esistenti su Internet.

Tutti questi requisiti si riflettono nell'architettura TCP / IP. I requisiti di indipendenza dai vettori e l'espansione mediante la connessione di nuove reti hanno portato alla decisione di inviare dati a Internet con la sua separazione in parti e il routing di ciascuna di queste parti come elemento indipendente.

Queste funzionalità assicurano un trasferimento affidabile dei dati dall'host di origine all'host di destinazione. Di conseguenza, gli sviluppatori di router si sono concentrati sul miglioramento della produttività e sull'introduzione di nuove tecnologie di comunicazione.

Tutto ciò ha portato all'eccellente scalabilità dei protocolli TCP / IP e alla possibilità della loro applicazione su vari sistemi, dai mainframe ai computer desktop. In pratica, un utile set di proprietà funzionali del controllo del routing di rete è implementato da dispositivi non intelligenti come bridge, multiplexer o switch.

3.2 Divisione in livelli

Per ottenere l'affidabilità dello scambio di dati tra computer, è necessario garantire l'esecuzione di diverse operazioni:

■ Imballaggio dei dati

■ Definizione dei percorsi di trasferimento dei dati (route)

■ Inoltro di dati a supporti fisici

■ Regolazione della velocità di trasferimento dei dati in base alla larghezza di banda disponibile e alla capacità del ricevitore di ricevere i dati inviati

■ Raccolta dei dati in modo che non vi siano parti perse nella sequenza generata

■ Verifica dei dati in entrata per frammenti duplicati

■ Informare il mittente della quantità di dati trasferiti correttamente

■ Inoltro dei dati all'applicazione desiderata

■ Gestione di errori ed eventi imprevisti

Di conseguenza, il software di comunicazione è piuttosto complesso. Seguire il modello con divisione in livelli consente di semplificare l'integrazione di funzioni simili in gruppi e implementare lo sviluppo di software di comunicazione su base modulare.

La specificità della struttura del protocollo TCP / IP è determinata dai requisiti delle comunicazioni nelle organizzazioni scientifiche e militari. IP consente di combinare vari tipi di reti su Internet e TCP è responsabile della trasmissione affidabile dei dati.

Il modello di comunicazione OSI segue rigorosamente la struttura TCP / IP. I livelli e la terminologia del modello OSI sono diventati una parte standard della struttura di comunicazione dello scambio di dati.

In fig. 3.1 mostra i livelli OSI e TCP / IP. Iniziamo la loro analisi dal livello più basso (in TCP / IP, i livelli di sessione e presentazione non sono definiti formalmente).

Fig. 3.1.   Livelli TCP / IP e OSI

3.2.1 Livello fisico

Il livello fisico si occupa di supporti fisici, connettori e segnali per rappresentare zero e quelli logici. Ad esempio, gli adattatori e i cavi di interfaccia di rete Ethernet e Token-Ring che li collegano forniscono funzioni di livello fisico.

3.2.2 Livello collegamento dati

Il livello di collegamento dati organizza i dati in   personale   (Frame). A volte viene chiamato livello di collegamento. Come mostrato in fig. 3.2, ogni frame ha un'intestazione contenente l'indirizzo e le informazioni di controllo e la sezione finale del frame (trailer) viene utilizzata per correggere gli errori (a volte chiamata la coda del frame. -   Circa. corsia.).

Le intestazioni dei frame LAN contengono indirizzi di origine e destinazione fisici che identificano le schede di interfaccia LAN di trasmissione e ricezione (adattatori di rete). Le intestazioni dei frame inviati tramite la rete regionale di Frame Relay contengono identificatori ciclici in un campo di indirizzi speciali.

chiamata   collegamento   (comunicazioni) nella rete locale, ad es. la creazione di una linea tra gli endpoint di trasferimento dei dati e capacità simili nelle reti regionali sono descritte da protocolli di livello di collegamento dati.

Fig. 3.2.   Formato cornice

3.2.3 Livello di rete

Le funzioni del livello di rete (livello di rete) eseguono il protocollo IP, che implementa il routing dei dati tra i sistemi. I dati possono seguire un percorso o utilizzare diversi percorsi durante la navigazione in Internet. I dati vengono inviati in elementi chiamati datagrammi   (Datagram).

Come mostrato in fig. 3.3, il datagramma ha un'intestazione IP contenente informazioni di indirizzamento per il terzo livello. Il router controlla l'indirizzo di destinazione per inoltrare il datagramma nella posizione desiderata.

Fig. 3.3.   Datagramma IP

Viene chiamato il livello IP   "senza creare una connessione"poiché ogni datagramma viene instradato in modo indipendente e il protocollo IP non garantisce la stessa procedura per la ricezione di datagrammi come al momento dell'invio. L'IP indirizza il traffico senza considerare le interazioni tra applicazioni che possiedono specifici datagrammi.

3.2.4 Transport Layer (TCP)

TCP funge da livello di trasporto e fornisce un servizio di trasferimento dati affidabile per le applicazioni. TCP / IP ha un meccanismo speciale incorporato per garantire che i dati vengano inoltrati senza errori e omissioni nella sequenza in cui sono stati inviati.

Le applicazioni, come i trasferimenti di file, trasmettono i dati a TCP, che aggiunge un'intestazione e forma un elemento chiamato   segmento (Segmento).

TCP invia segmenti a IP, in cui i dati vengono instradati verso una posizione specificata. Dall'altro lato della connessione TCP, presuppone la ricezione degli stessi segmenti di dati dall'IP, determina l'applicazione a cui vengono inviati questi dati e li trasferisce all'applicazione nell'ordine in cui sono stati inviati.

3.2.5 Transport Layer (UDP)

Un'applicazione può inviare un messaggio indipendente a un'altra applicazione utilizzando il protocollo UDP, che aggiunge un'intestazione al messaggio e forma un elemento chiamato   Datagramma UDPo   Messaggio UDP.

UDP trasmette i messaggi in uscita verso l'IP e assume dall'altra parte la ricezione dei messaggi in arrivo dall'IP. Successivamente, UDP definisce l'applicazione a cui sono diretti i dati.

UDP implementa un servizio di comunicazione senza creare una connessione, che viene spesso utilizzato per visualizzare i contenuti di semplici database.

3.2.6 Servizi per le applicazioni

Come menzionato nel Capitolo 2, la suite di protocolli TCP / IP include servizi standard per applicazioni, come accesso ai terminali, trasferimento di file, accesso a file server NFS, e-mail, notizie sulla rete, WWW e ricerche DNS.

3.2.7 Batching dei dati

In fig. La Figura 3.4 mostra come vengono impacchettati i dati dell'applicazione prima di essere inviati sulla rete. Il termine principale per combinare le informazioni con l'intestazione del livello di rete corrispondente è elemento dati protocollo   (Protocol Data Unit - PDU). Ad esempio, un segmento TCP è una PDU a livello di trasporto e un datagramma IP è una PDU a livello di rete.


Fig. 3.4.   Imballaggio dei dati prima dell'inoltro su una rete

3.3 Panoramica del protocollo

In fig. La Figura 3.5 mostra la relazione tra i singoli componenti della suite di protocolli TCP / IP.


Fig. 3.5.   Relazione tra i componenti della suite di protocolli TCP / IP

Sebbene le interfacce utente basate su testo per il trasferimento di file, l'accesso a un terminale, l'utilizzo di notizie o l'interrogazione di DNS per determinare un indirizzo per nome non siano formalmente standardizzate, molti sviluppatori copiano l'interfaccia dell'utente finale da BSD Unix. Gli utenti che lavorano in modalità comando testo scoprono che l'interfaccia utente non è troppo diversa su sistemi diversi.

Per i desktop Windows e Macintosh, esistono molte interfacce utente grafiche. Sebbene differiscano nei dettagli, generalmente seguono le convenzioni del sistema operativo standard e di solito possono essere utilizzate senza uno studio speciale.

Clienti di WWW, notizie di rete, trasferimento file (FTP), posta (SMTP) e accesso al terminale ( telnet) possono comunicare con i loro server tramite connessioni TCP. La maggior parte dei client NFS scambia messaggi UDP con i propri server, sebbene alcune implementazioni NFS utilizzino UDP o TCP.

Le ricerche DNS si basano sui messaggi UDP. Le stazioni di gestione SNMP recuperano le informazioni dai dispositivi di rete utilizzando i messaggi UDP.

3.4 Router e topologia di rete

Una serie di protocolli TCP / IP può essere utilizzata sia in reti locali o regionali indipendenti, sia per la loro integrazione in reti Internet comuni. Qualsiasi host con TCP / IP può comunicare con un altro host attraverso una rete locale, una connessione point-to-point o attraverso una rete regionale con pacchetto di informazioni (vedi Fig. 3.6).


Fig. 3.6.   Reti indipendenti

La rete Internet prevede l'uso di   Router IP. In fig. La Figura 3.7 mostra una rete Internet composta da reti indipendenti collegate da router IP.


Fig. 3.7.   Rete indipendente da router

I router moderni offrono diverse interfacce hardware che possono essere combinate per l'uso con una topologia di rete specifica: Ethernet, Token-Ring, FDDI, connessioni punto-punto sincrone, Frame Relay, ecc.

Le reti Internet possono essere costruite utilizzando un'ampia varietà di topologie. Tuttavia, se Internet ha una struttura logicamente connessa, i router saranno in grado di svolgere il proprio lavoro in modo più efficiente e rispondere più rapidamente ai malfunzionamenti nei singoli segmenti della rete, reindirizzando i datagrammi lungo percorsi funzionanti. Una struttura logica di facile comprensione aiuterà gli amministratori di rete a diagnosticare, localizzare e risolvere i problemi di rete.

Il vasto mercato competitivo dei router IP ha contribuito a sviluppare l'architettura TCP / IP. Gli sviluppatori di router hanno implementato rapidamente nuove topologie di reti locali e regionali, offrendo ai loro clienti l'opportunità di scegliere tra dispositivi simili. Negli ultimi anni, il rapporto tra il prezzo dei router e le loro prestazioni è notevolmente diminuito.

3.5 Routing IP

Il software IP funziona su host e router IP. Se la destinazione del datagramma non si trova nello stesso segmento di rete della sua sorgente, il protocollo IP dell'host locale indirizza tale datagramma al router locale. Se quest'ultimo non è collegato direttamente al nodo di destinazione del datagramma, verrà trasferito su un altro router. Questo processo continua fino a quando il datagramma non raggiunge la destinazione specificata.

Individua il router IP   remoto   nodo sulla tabella di routing (tabella di routing), che contiene informazioni sui router più vicini a cui il traffico datagramma deve essere indirizzato per raggiungere l'endpoint sulla rete.

3.5.1 Protocolli di routing

In una piccola rete Internet statica, le tabelle di routing possono essere popolate e gestite manualmente. Su grandi reti Internet, la correttezza delle tabelle di routing viene mantenuta dai dispositivi stessi attraverso lo scambio di informazioni tra router. I router possono rilevare dinamicamente i seguenti eventi:

■ Aggiunta di una nuova rete a Internet

■ Distruzione del percorso verso la destinazione o incapacità di raggiungerlo in un determinato momento

■ Aggiunta di un nuovo router a Internet in grado di fornire un modo più breve per raggiungere la destinazione

Non esiste uno standard unico per lo scambio di informazioni tra router. La libertà di scegliere tra diversi protocolli coerenti consente di ottenere le migliori prestazioni in ogni caso.

La capacità di rete di gestire l'organizzazione della rete corrisponde al concetto   "sistema autonomo"   (Sistema autonomo - AS). Un'organizzazione può scegliere uno qualsiasi dei protocolli di scambio di informazioni di routing associati al proprio sistema autonomo. I protocolli di scambio di informazioni di routing sono utilizzati all'interno di sistemi autonomi sotto forma di   protocollo gateway interno   (Interior Gateway Protocol - IGP).

Protocollo informativo di routing   (Routing Information Protocol - RIP) è diventato uno dei più popolari standard IGP. L'uso diffuso di questo protocollo è dovuto alla sua semplicità, ma al nuovo protocollo   "Apri prima il percorso più breve"   (Apri prima il percorso più breve - OSPF) ha una serie ancora più ampia di funzioni utili.

Sebbene tutti i router supportino uno o più protocolli standard, alcuni sviluppatori implementano i propri protocolli di licenza per lo scambio di informazioni tra router. Molti prodotti router possono gestire più protocolli contemporaneamente.

3.6 Architettura TCP

TCP è implementato sugli host. La presenza di TCP a ciascuna estremità della connessione fornisce le seguenti funzionalità per il recapito dei dati dell'applicazione locali:

■ Precisione

■ Sequenza di salvataggio

■ Completezza

■ Eliminazione della duplicazione

Il meccanismo di base per implementare queste capacità inizia ad essere utilizzato sin dall'inizio dello scambio di dati. Sistema di trasmissione TCP:

■ Numerare ogni segmento

■ Imposta il timer

■ Inoltra un segmento

Il sistema TCP host comunica al proprio partner quanti dati sono stati trasmessi correttamente emettendo un riconoscimento (ACK). Se la conferma di inoltro del segmento non viene ricevuta entro l'intervallo di tempo specificato, TCP rinvia il segmento. Questa strategia è chiamata   ritrasmesso con riconoscimento positivo   (ritrasmissione con riconoscimento positivo). A volte il re-forwarding porta alla duplicazione dei segmenti consegnati al sistema di ricezione.

Il sistema TCP host deve disporre i segmenti in entrata nell'ordine corretto ed evitare la duplicazione. TCP trasferisce i dati all'applicazione nell'ordine corretto, senza lacune.

Poiché una parte invia i dati e l'altra li riceve, è possibile chiamare TCP   full duplex   Protocollo (full duplex): entrambi i lati della connessione possono inviare e ricevere simultaneamente dati (cioè ci sono due flussi di dati). TCP funge contemporaneamente da trasmettitore e ricevitore.

3.7 Architettura UDP

UDP è implementato sugli host. Il protocollo non garantisce l'integrità della consegna dei dati, poiché questa funzione è assegnata alle applicazioni che scambiano dati. Verificano l'integrità dei dati forniti.

Un'applicazione che desidera inviare dati tramite UDP trasmette un blocco di dati a UDP e UDP aggiunge semplicemente un'intestazione e li invia sulla rete.

Le applicazioni UDP possono inviare messaggi con datagrammi utente in qualsiasi momento. Il client e il server, che sono basati su UDP, sono responsabili di tutte le relazioni nello scambio di datagrammi dell'utente.

3.8 Concetto di sicurezza

TCP / IP serve con successo connessioni aperte tra computer su reti locali, regionali e geografiche. Tuttavia, i requisiti di sicurezza hanno iniziato a essere imposti alle connessioni.

I concetti di sicurezza di base in un ambiente di rete sono simili a concetti simili per un host centrale:

■ Autenticazione utente

■ Integrità (nessuna garanzia di modifica dei dati)

■ Riservatezza (protezione da divulgazioni indesiderate)

3.8.1 Autenticazione

Un aspetto importante della sicurezza informatica è capire chi è chi. In precedenza, questo era determinato dall'ID utente e dalla password. Allo stesso modo, il mittente è identificato nel campo Da: del messaggio di posta elettronica. Tuttavia, la password può essere intercettata da un intercettatore sulla rete e il messaggio di posta elettronica può essere falsificato.

Quando si tratta di inoltrare transazioni serie su reti TCP / IP, è necessario un metodo per identificare in modo affidabile il mittente. Viene chiamato il processo di verifica dell'autore   autenticazione(autenticazione, letteralmente: autenticazione. -   Circa. corsia.).

3.8.2 Tecnologia di riepilogo dei messaggi

Si basa su un metodo semplice ma efficace di tecnologia di autenticazione   riepilogo del messaggio(digest del messaggio). Come mostrato in fig. 3.8, tale sommario viene calcolato dal contenuto del messaggio usando una chiave segreta. Attualmente, l'algoritmo Message Digest 5 (MD5) più comune, sviluppato da Ronald Rivest (vedi RFC 1321).

Fig. 3.8.   Usa un riepilogo del messaggio.

Ricerca reciproca   (handshake sfida) illustra un modo per applicare un riepilogo del messaggio. Come per la normale autenticazione, all'utente viene assegnata una password registrata sull'host. Tuttavia, questa password non viene più inoltrata sulla rete. Al contrario, il sistema desktop esegue il calcolo MD5 utilizzando una password e una chiave segreta (chiave di crittografia. -   Circa. corsia) .. Come mostrato in fig. 3.9:

1. L'utente invia il proprio identificativo all'host.

2. L'host invia un messaggio all'utente con contenuto casuale.

3. L'host e il sistema desktop dell'utente eseguono calcoli MD5 per i messaggi dall'host e la password segreta dell'utente.

4. Il sistema utente invia una risposta all'host.

5. L'host confronta la risposta. Se la risposta è corretta, l'utente è autenticato.


Fig. 3.9.   L'uso dell'MD5 nella ricerca reciproca

3.8.3 Integrità dei messaggi

MD5 e chiavi segrete condivise possono essere utilizzati per rilevare le modifiche ai dati quando vengono inviati sulla rete. Consideriamo la fig. 3.10:

1. Il calcolo MD5 viene eseguito sui dati utilizzando una chiave segreta.

2. I dati e il messaggio ricevuto vengono inviati al partner.

3. Il partner esegue il calcolo MD5 sui dati ricevuti e sulla chiave segreta nota.

4. Il partner confronta il risultato con il corrispondente riepilogo del messaggio. Se si tratta di una corrispondenza, si presume che i dati non siano stati modificati.

Si noti che, senza conoscere la chiave segreta, un utente malintenzionato che si occupa di curiosare sui dati inviati non sarà in grado di falsificare o modificare questi dati. Questo meccanismo viene utilizzato nei sistemi di posta elettronica sicuri e nelle transazioni client / server protette dalle intrusioni.


Fig. 3.10.   Protezione dei dati inoltrati con un riepilogo dei messaggi calcolato utilizzando MD5

3.8.4 Riservatezza con crittografia simmetrica

Per impedire la lettura e l'uso indesiderato dei dati trasferiti da parte di un utente malintenzionato (snooper), i dati devono essere crittografati. Il modo classico è negoziare chiavi segrete tra il mittente e il destinatario. Spesso, durante l'invio, viene aggiunto un riepilogo del messaggio e il destinatario può verificare che i dati vengano ricevuti nel modulo in cui sono stati inviati. Come mostrato in fig. 3.11, dopo la crittografia, i dati sembrano stringhe senza significato.


Fig. 3.11.   Crittografia simmetrica

Questo metodo di crittografia tradizionale viene chiamato   simmetrico. La crittografia simmetrica comporta l'uso di   dello stesso   chiave per la crittografia e la successiva decrittografia. Entrambe le parti conoscono la chiave e devono tenerla segreta. Gli svantaggi di questo metodo sono i seguenti:

■ Per una maggiore sicurezza, ogni coppia che interagisce deve utilizzare la propria chiave privata.

■ La modifica di una chiave è molto difficile.

3.8.5 Chiave di crittografia pubblica asimmetrica

metodi   asimmetrico   la crittografia è nota da molto tempo (le idee principali sono state poste nelle opere di Diffie, Hellman e Merkl). Con questo metodo vengono utilizzati per la crittografia e la decrittografia   vario   le chiavi.

Considera una scatola con due diversi tasti (A e B), come mostrato in Fig. 3.12:

■ Se la scatola viene chiusa con il tasto A, viene aperta con il tasto B.

■ Se la scatola viene chiusa con il tasto B, viene aperta con il tasto A.


Fig. 3.12.   Usare chiavi diverse per aprire e chiudere

La crittografia asimmetrica è anche chiamata crittografia da   chiavi pubbliche   (chiave pubblica), perché consente di gestire le chiavi in \u200b\u200bmodo più coerente. La chiave A potrebbe essere disponibile al pubblico. Il suo valore può essere aperto agli amici o persino archiviato in uno dei file disponibili.

■ Tutti i partner possono utilizzare una chiave pubblica per crittografare i dati inoltrati.

Tuttavia, solo tu conoscerai la chiave privata e nessun altro sarà in grado di decrittografare i dati inviati.

Lo schema di crittografia per le chiavi pubbliche / private si basa sul fatto che è molto difficile selezionare due numeri con valori elevati (il numero di controlli è espresso da una funzione di alimentazione) per ottenere il valore delle chiavi di crittografia. I migliori specialisti impiegheranno alcuni mesi a decrittografare i dati con una chiave a 129 bit. Tuttavia, la velocità dei computer è in costante aumento e non ci si può aspettare che le chiavi a 1024 bit rimangano segrete dopo qualche altro anno.

Fornire chiavi pubbliche / private è molto più semplice che simmetrico. Tuttavia, devi essere sicuro che la chiave pubblica "Jane Jone" pubblicata sia realmente di proprietà della giusta Jane John e non di un'altra persona con lo stesso nome.

Sfortunatamente, i metodi di crittografia asimmetrica conosciuti oggi sono piuttosto lenti, quindi è preferibile una combinazione di metodi simmetrici e asimmetrici.

3.8.6 Crittografia combinata

La crittografia combinata viene implementata come segue:

■ È stata selezionata una chiave simmetrica casuale.

■ I dati vengono crittografati utilizzando questa chiave.

■ La chiave casuale viene crittografata utilizzando la chiave di crittografia pubblica del destinatario e inclusa nel messaggio inoltrato (è come inserire una nuova chiave casuale in un contenitore che verrà chiusa dalla chiave di crittografia pubblica del destinatario).

■ Il destinatario decodifica la chiave casuale temporanea e quindi la utilizza per decrittografare i dati.

Come mostrato in fig. 3.13, la chiave pubblica del destinatario fornisce una shell protettiva attorno alla chiave casuale. Solo il destinatario del messaggio può aprire questo wrapper.


Fig. 3.13.   Chiave crittografata in un messaggio crittografato

Nei capitoli seguenti, esamineremo l'implementazione di questi metodi nelle applicazioni e nelle comunicazioni TCP / IP. Il risultato più impressionante è discusso nel capitolo 24, che descrive l'autenticazione e la crittografia a livello IP sia per la versione classica 4 del protocollo IP sia per la nuova versione 6, IP Next Generation.

Una serie di protocolli multilivello, o come viene chiamato lo stack TCP / IP, è destinata all'uso in varie versioni di un ambiente di rete. Dal punto di vista dell'architettura di sistema, lo stack TCP / IP corrisponde al modello di riferimento OSI (Open Systems Interconnection - Open Systems Interconnection) e consente ad applicazioni e servizi che funzionano su quasi tutte le piattaforme di scambiare dati su una rete, inclusi Unix, Windows, Macintosh e altri.

Fig. 3.2

L'implementazione TCP / IP di Microsoft corrisponde a un modello a quattro livelli anziché a un modello a sette livelli, come mostrato nella Figura 3.2. Il modello TCP / IP include più funzioni per livello, il che riduce il numero di livelli. I seguenti livelli sono utilizzati nel modello:

il livello di applicazione del modello TCP / IP corrisponde ai livelli di Applicazione, Presentazione e Sessione del modello OSI;

il livello di trasporto del modello TCP / IP corrisponde allo stesso livello di trasporto del modello OSI;

il livello gateway del modello TCP / IP svolge le stesse funzioni del livello di rete del modello OSI;

il livello dell'interfaccia di rete del modello TCP / IP corrisponde ai livelli Collegamento e Fisico del modello OSI.

Livello di applicazione

Tramite il livello Applicazione del modello TCP / IP, le applicazioni e i servizi accedono alla rete. L'accesso ai protocolli TCP / IP avviene tramite due interfacce di programmazione (API - Application Programming Interface):

Prese di Windows

L'interfaccia socket di Windows, o come si chiama WinSock, è un'interfaccia di programmazione basata su rete progettata per facilitare la comunicazione tra varie applicazioni TCP / IP e famiglie di protocolli.

L'interfaccia NetBIOS viene utilizzata per la comunicazione tra i processi (IPC - Interpose Communications) di servizi e applicazioni Windows. NetBIOS ha tre funzioni principali:

definizione del nome NetBIOS

servizio NetBIOS Datagram

servizio di sessione NetBIOS

La Tabella 3.1 mostra la famiglia di protocolli TCP / IP.

Tabella 3.1

Nome protocollo

Descrizione del protocollo

Interfaccia di programmazione di rete

Comunicazione con le applicazioni Windows

L'interfaccia del driver di trasporto consente di creare componenti a livello di sessione.

Protocollo di controllo della trasmissione

Protocollo datagramma utente

Protocollo di risoluzione dell'indirizzo

Protocollo di risoluzione degli indirizzi inversi

Protocollo internet

Protocollo dei messaggi di controllo di Internet

Protocollo di gestione del gruppo Internet

Interfaccia per l'interazione tra i driver del protocollo di trasporto

Protocollo di trasferimento file

Semplice protocollo di trasferimento file Trivial

Livello del veicolo

Il livello di trasporto TCP / IP è responsabile per stabilire e mantenere una connessione tra due nodi. Le principali funzioni del livello:

avviso di ricevimento di informazioni 4

gestione del flusso di dati;

ordinazione e inoltro di pacchetti.

È possibile utilizzare due protocolli a seconda del tipo di servizio:

TCP (Transmission Control Protocol);

UDP (User Datagram Protocol).

Il protocollo TCP viene generalmente utilizzato nei casi in cui l'applicazione deve trasferire una grande quantità di informazioni e assicurarsi che i dati vengano ricevuti in modo tempestivo dal destinatario. Le applicazioni e i servizi che inviano piccole quantità di dati e non devono ricevere conferma utilizzano il protocollo UDP, che è un protocollo senza connessione.

TCP (Transmission Control Protocol)

Il protocollo TCP è responsabile del trasferimento affidabile dei dati da un nodo di rete a un altro. Crea una sessione di connessione, in altre parole, un canale virtuale tra le macchine. La connessione viene stabilita in tre passaggi:

Il client che richiede la connessione invia un pacchetto al server indicando il numero di porta che il client desidera utilizzare, nonché il codice ISN (numero di sequenza iniziale) (un numero specifico).

Il server risponde con un pacchetto contenente l'ISN del server, nonché l'ISN del client, aumentato di 1.

Il client deve confermare la connessione restituendo ISN del server aumentato di 1.

Un'apertura di connessione in tre fasi imposta il numero di porta, nonché il client e il server ISN. Ogni pacchetto TCP inviato contiene i numeri di porta TCP del mittente e del destinatario, il numero di frammento per i messaggi suddivisi in parti più piccole, nonché un checksum per garantire che non si siano verificati errori durante la trasmissione.

User Datagram Protocol (UDP)

A differenza di TCP, UDP non stabilisce connessioni. UDP è progettato per inviare piccole quantità di dati senza stabilire una connessione e viene utilizzato da applicazioni che non devono essere confermate dal destinatario della ricevuta. UDP utilizza anche i numeri di porta per determinare un processo specifico all'indirizzo IP specificato. Tuttavia, le porte UDP sono diverse dalle porte TCP e, pertanto, possono utilizzare gli stessi numeri di porta di TCP, senza conflitti tra i servizi.

livello di gateway

Il livello gateway è responsabile del routing dei dati all'interno di una rete e tra reti diverse. A questo livello, i router funzionano, che dipendono dal protocollo utilizzato e vengono utilizzati per inviare pacchetti da una rete (o il suo segmento) a un'altra (o un altro segmento di rete). Lo stack TCP / IP utilizza l'IP a questo livello.

IP protocollo Internet

Il protocollo IP prevede lo scambio di datagrammi tra nodi di rete ed è un protocollo che non stabilisce connessioni e utilizza datagrammi per inviare dati da una rete all'altra. Questo protocollo non prevede di ricevere il riconoscimento (ASK, Acknowledgment) dei pacchetti inviati dall'host di destinazione. Le conferme, così come le ritrasmissioni di pacchetti, vengono eseguite da protocolli e processi che funzionano ai livelli superiori del modello.

Le sue funzioni includono la frammentazione del datagramma e l'indirizzamento del firewall. IP fornisce informazioni di controllo per l'assemblaggio di datagrammi frammentati. La funzione principale del protocollo è il gateway e l'indirizzamento globale. A seconda delle dimensioni della rete su cui verrà instradato il datagramma o il pacchetto, viene utilizzato uno dei tre schemi di indirizzamento.

Indirizzo IP

Ogni computer nelle reti TCP / IP ha indirizzi di tre livelli: fisico (indirizzo MAC), rete (indirizzo IP) e simbolico (nome DNS).

L'indirizzo fisico o locale del nodo, determinato dalla tecnologia con cui è costruita la rete di cui fa parte il nodo. Per i nodi inclusi nelle reti locali, questo è l'indirizzo MAC della scheda di rete o della porta del router, ad esempio 11-А0-17-3D-BC-01. Questi indirizzi sono assegnati dai produttori di apparecchiature e sono indirizzi univoci, in quanto gestiti centralmente. Per tutte le tecnologie esistenti delle reti locali, l'indirizzo MAC è nel formato di 6 byte: i 3 byte più alti sono l'identificatore dell'azienda del produttore e i 3 byte più bassi sono assegnati in modo univoco dal produttore.

Una rete o indirizzo IP, composto da 4 byte, ad esempio 109.26.17.100. Questo indirizzo viene utilizzato a livello di rete. Viene nominato dall'amministratore durante la configurazione di computer e router. L'indirizzo IP è composto da due parti: numero di rete e numero host. Il numero di rete può essere scelto dall'amministratore in modo arbitrario o assegnato su raccomandazione di un'unità speciale di Internet (Network Information Center, NIC), se la rete deve funzionare come parte di Internet. In genere, i fornitori di servizi Internet ottengono intervalli di indirizzi dalle unità NIC e quindi li distribuiscono tra i loro abbonati. Il numero host in IP viene assegnato indipendentemente dall'indirizzo host locale. La divisione dell'indirizzo IP nel campo del numero di rete e del numero di nodo è flessibile e il limite tra questi campi può essere impostato arbitrariamente. Un host può far parte di più reti IP. In questo caso, l'host deve avere diversi indirizzi IP, in base al numero di connessioni di rete. Un indirizzo IP caratterizza non un singolo computer o router, ma una connessione di rete.

Un indirizzo di carattere o un nome DNS, ad esempio SERV1.IBM.COM. Questo indirizzo è assegnato dall'amministratore ed è composto da più parti, ad esempio nome macchina, nome organizzazione, nome dominio. Tale indirizzo viene utilizzato a livello di applicazione, ad esempio nei protocolli FTP o telnet.

Protocolli di mappatura degli indirizzi ARP e RARP

Il protocollo di risoluzione degli indirizzi (ARP) viene utilizzato per determinare l'indirizzo locale in base all'indirizzo IP. L'ARP funziona in diversi modi a seconda del protocollo del livello di collegamento in una determinata rete: un protocollo di rete locale (Ethernet, Token Ring, FDDI) con la possibilità di trasmettere l'accesso a tutti i nodi di rete contemporaneamente o il protocollo di rete globale (X.25, frame relay), di norma, non supporta l'accesso alla trasmissione. Esiste anche un protocollo che risolve il problema inverso: trovare l'indirizzo IP a un indirizzo locale noto. Si chiama Reverse ARP - RARP (Reverse Address Resolution Protocol) e viene utilizzato all'avvio di stazioni diskless che non conoscono il loro indirizzo IP all'inizio, ma conoscono l'indirizzo della loro scheda di rete.

Nelle reti locali, ARP utilizza i frame di trasmissione del protocollo del livello di collegamento dati per cercare nella rete un nodo con un determinato indirizzo IP.

Un nodo che deve mappare un indirizzo IP a un indirizzo locale genera una richiesta ARP, la inserisce in un frame di protocollo a livello di canale, indicando in esso un indirizzo IP noto e trasmette la richiesta. Tutti i nodi sulla LAN ricevono una richiesta ARP e confrontano l'indirizzo IP specificato lì con il proprio indirizzo. Se corrispondono, il nodo genera una risposta ARP in cui indica il suo indirizzo IP e il suo indirizzo locale e lo invia già direzionalmente, poiché il mittente indica il suo indirizzo locale nella richiesta ARP. Le richieste e le risposte ARP utilizzano lo stesso formato di pacchetto.

Protocollo ICMP

L'Internet Control Message Protocol (ICMP) viene utilizzato dall'IP e da altri protocolli di alto livello per inviare e ricevere rapporti sullo stato delle informazioni trasmesse. Questo protocollo viene utilizzato per controllare la velocità di trasferimento delle informazioni tra due sistemi. Se il router che collega i due sistemi è sovraccarico di traffico, potrebbe inviare un messaggio ICMP speciale, un errore per ridurre la velocità di invio dei messaggi.

Protocollo IGMP

Gli host sulla LAN utilizzano Internet Group Management Protocol (IGMP) per registrarsi nel gruppo. Le informazioni sui gruppi sono contenute nei router della rete locale. I router utilizzano queste informazioni per inviare messaggi multicast.

Un messaggio multicast, come un messaggio broadcast, viene utilizzato per inviare dati a più nodi contemporaneamente.

Specifiche dell'interfaccia del dispositivo di rete: una specifica di un'interfaccia del dispositivo di rete, un'interfaccia software che fornisce l'interazione tra i driver del protocollo di trasporto e i driver dell'interfaccia di rete corrispondenti. Consente l'uso di più protocolli, anche se è installata una sola scheda di interfaccia di rete.

Livello di interfaccia di rete

Questo livello del modello TCP / IP è responsabile della distribuzione di datagrammi IP. Funziona con ARP per determinare le informazioni che dovrebbero essere inserite nell'intestazione di ciascun frame. Quindi, a questo livello, viene creato un frame adatto al tipo di rete utilizzata, come Ethernet, Token Ring o ATM, quindi il datagramma IP viene posizionato nell'area dati di questo frame e viene inviato alla rete.

domande

Assegnazione delle specifiche degli standard IEEE802.

Quale standard descrive la tecnologia di rete Ethernet?

Quale standard definisce le attività di gestione della comunicazione logica?

Quale standard definisce i meccanismi di gestione della rete?

Quale standard descrive la tecnologia di rete ArcNet?

Quale standard descrive la tecnologia di rete Token Ring?

Cos'è l'interfaccia del livello del modello base OSI?

Cos'è il protocollo OSI Core Model Layer Protocol?

Definire uno stack di protocollo.

Quali sono gli strati degli stack di protocollo?

Nomina i protocolli di rete più popolari.

Nomina i protocolli di trasporto più popolari.

Nomina i protocolli applicativi più popolari.

Elenca gli stack di protocollo più popolari.

Assegnazione di interfacce di programmazione per socket Windows e NetBIOS.

Qual è la differenza tra TCP e UDP?

Funzionalità del protocollo IP.

Quali tipi di indirizzamento esistono nelle reti IP?

Quale protocollo è necessario per determinare l'indirizzo locale in base all'indirizzo IP?

Quale protocollo è necessario per determinare l'indirizzo IP di un indirizzo locale?

Quale protocollo viene utilizzato per gestire la messaggistica Internet?

Assegnazione del livello dell'interfaccia di rete dello stack TCP / IP.

L'architettura del protocollo TCP / IP, nota come suite di protocolli TCP / IP, è nata dalla ricerca e dallo sviluppo del protocollo condotti su una rete sperimentale a commutazione di pacchetto chiamata ARPANET, fondata dall'Ufficio progetti di ricerca avanzata della difesa Agenzia - DARPA). Questa suite di protocolli è costituita da una vasta raccolta di protocolli pubblicati dall'Internet Activities Board (IAB) come standard per Internet.

Livelli di protocollo Tcp / ip

In generale, si può dire che tre agenti sono coinvolti nello scambio di informazioni: applicazioni, computer e reti. Le applicazioni includono programmi progettati per trasferire file ed e-mail. Le applicazioni qui discusse sono applicazioni distribuite che includono lo scambio di dati tra due sistemi di computer. Queste e altre applicazioni vengono eseguite su computer, che spesso possono supportare più applicazioni in esecuzione in parallelo. I computer sono interconnessi in una rete e i dati destinati allo scambio vengono trasmessi sulla rete da un computer a un altro. Pertanto, il trasferimento di dati da un'applicazione a un'altra include, in primo luogo, la ricezione di dati dal computer su cui si trova l'applicazione di destinazione e, in secondo luogo, la ricezione di dati da parte dell'applicazione in esecuzione sul computer di destinazione a cui è destinata.

In considerazione di ciò, è naturale distinguere cinque livelli relativamente indipendenti nel compito di scambio di informazioni:

    strato fisico

    livello di accesso alla rete

    livello intranet

    livello di trasporto (livello host-to-host o livello di trasporto);

    livello di applicazione

A livello fisico, esiste un'interfaccia fisica tra un dispositivo di trasmissione dati (cioè una workstation o un computer) e un mezzo di trasmissione o una rete. A questo livello vengono impostate le caratteristiche del mezzo di trasmissione, la natura dei segnali, la velocità dei dati e altre caratteristiche simili.

Il livello di accesso alla rete è associato allo scambio di dati tra il sistema finale (server, workstation, ecc.) E la rete a cui è collegato questo sistema. Il computer di invio deve inviare l'indirizzo del computer di destinazione alla rete in modo che la rete possa inoltrare i dati alla destinazione. Il computer di invio potrebbe richiedere determinati servizi, come la priorità fornita dalla rete. Il tipo di programmi utilizzati a questo livello dipende dal tipo di rete; sono stati sviluppati vari standard per reti a commutazione di circuito, a commutazione di pacchetto (ad esempio, X.25), reti di area locale (Local Area Net - LAN) (ad esempio, Ethernet) e altri. Pertanto, ha senso separare le funzioni associate alla fornitura dell'accesso alla rete, in un livello separato. Con l'aiuto di questa tecnica, è possibile liberarsi della necessità di considerare in altri programmi destinati allo scambio di informazioni a livelli più alti di accesso alla rete, la progettazione specifica del dispositivo delle reti utilizzate. Gli stessi programmi di livello superiore dovrebbero funzionare correttamente indipendentemente dalla rete a cui è collegato il computer.

Il livello di accesso alla rete è considerato in connessione con l'accesso alla rete e il routing dei dati tra due sistemi terminali collegati alla stessa rete. Nei casi in cui i dispositivi sono collegati a reti diverse, sono necessarie procedure aggiuntive per consentire ai dati di spostarsi da una rete all'altra se tali reti sono interconnesse. Queste funzionalità sono a livello di gateway. A questo livello, le funzioni di routing di Internet vengono fornite tramite Internet Protocol (IP). Il protocollo Internet è implementato non solo nei sistemi finali, ma anche nei router. Un router è un dispositivo di elaborazione che collega due reti e la cui funzione principale è trasferire i dati da una rete all'altra nel loro cammino da un sistema all'altro.

Indipendentemente dalla natura dell'applicazione, lo scambio di dati deve essere affidabile. ie Vorrei essere sicuro che tutti i dati sono arrivati \u200b\u200ball'applicazione di destinazione e che questi dati sono stati ricevuti nell'ordine in cui sono stati inviati. Come vedrai, i meccanismi di affidabilità sono essenzialmente indipendenti dalla natura delle applicazioni. Pertanto, ha senso distinguere tali meccanismi a un livello comune condiviso da tutte le applicazioni; si chiama strato di trasporto. Molto spesso, viene utilizzato il TCP (Transmission Control Protocol) per questo.

Infine, la logica necessaria per il funzionamento di varie applicazioni utente è incorporata nel livello dell'applicazione. Ogni tipo di applicazione (ad esempio un programma di trasferimento file) necessita di un modulo separato appositamente progettato per questa applicazione.

Protocollo di lavoroTCP   eIP

In fig. A.1 mostra la configurazione di questi protocolli per lo scambio di informazioni. Per chiarire che un mezzo di comunicazione nel suo insieme può essere costituito da più reti, le reti costituenti sono generalmente chiamate sottoreti. Per connettere un computer a una sottorete, viene utilizzato un protocollo di accesso alla rete, come Ethernet. Questo protocollo consente a un nodo di inoltrare i dati su una sottorete a un altro nodo; se il nodo ricevente si trova su una sottorete diversa, i dati vanno al router. L'IP è implementato su tutti i sistemi e router finali. Quando si trasmettono dati da un nodo a un altro con un passaggio intermedio di uno o più router, questo protocollo funge da stazione di inoltro. TCP è implementato solo su sistemi finali; Monitora i blocchi di dati, assicurandosi che vengano consegnati in modo affidabile alle rispettive applicazioni.

Perché sia \u200b\u200bpossibile lo scambio di informazioni, ogni elemento del sistema deve avere un indirizzo univoco. In effetti, è necessario impostare due livelli di indirizzamento. Ogni nodo di sottorete deve avere un proprio indirizzo di rete globale univoco; questo consegnerà i dati al nodo appropriato. Ogni processo del nodo deve avere un indirizzo univoco all'interno di quel nodo, che consentirà al protocollo di trasporto (TCP) di consegnare i dati al processo desiderato. Questo indirizzo è noto come porta.

Seguiamo la semplice operazione. Si supponga che un processo in esecuzione sul nodo A e collegato alla porta 1 debba inviare un messaggio a un altro processo collegato alla porta 3 sul nodo B. Il processo sul nodo A invia un messaggio a TCP con le istruzioni per inviarlo alla porta 3 del nodo B. Protocollo TCP trasmette il messaggio al protocollo IP, fornendo a questo messaggio le istruzioni per inviarlo all'host B. Notare che l'IP non deve segnalare l'identificatore della porta di destinazione. Tutto quello che deve sapere sono i dati stessi e l'identificatore del nodo B. Successivamente, il protocollo IP invia un messaggio al livello di accesso alla rete (ad esempio, Ethernet), incaricandolo di inviare questo messaggio al router J (il primo relè sulla strada per il nodo B ).

Affinché il messaggio sia controllato, insieme ai dati dell'utente, è necessario che le informazioni di controllo vengano trasmesse al suo interno (Fig. A.2). Supponiamo che il processo di invio generi un blocco dati e lo passi a TCP. TCP può suddividere questo blocco in pezzi più piccoli per facilitarne la gestione. A ciascuna di queste parti, il protocollo TCP aggiunge informazioni di controllo note come intestazione TCP per formare un segmento TCP. Queste informazioni di controllo verranno utilizzate dal protocollo TCP sull'host B. L'intestazione, tra gli altri, include tali elementi.

    Porto di destinazione Quando un oggetto TCP sull'host B riceve un segmento, deve sapere chi deve consegnare i dati.

    Numero di sequenza Il protocollo TCP numera i segmenti che inoltra in sequenza a una porta di destinazione specifica. Questo viene fatto in modo che in caso di violazione dell'ordine di ricezione dei messaggi, l'oggetto TCP sul nodo B possa disporli nell'ordine corretto.

    Checksum (somma di controllo). Quando viene inviato un messaggio, TCP include il codice che è una funzione del contenuto del resto del segmento. Alla ricezione del messaggio, TCP esegue gli stessi calcoli e confronta il risultato con il codice in arrivo. Se si è verificato un errore durante il trasferimento, i risultati sono diversi.

Quindi il protocollo TCP invia i segmenti al protocollo IP, fornendo a ciascuno di essi le istruzioni per trasferire questi pacchetti al nodo B. Questi segmenti dovranno essere trasmessi attraverso una o più sottoreti e dovranno passare attraverso uno o più router. Per questo, sono necessarie anche informazioni di controllo. Pertanto, il protocollo IP aggiunge un'intestazione con informazioni di controllo a ciascun segmento, formando così un datagramma IP. Uno degli elementi memorizzati nell'intestazione IP di ciascun segmento è l'indirizzo del nodo di destinazione (nel nostro esempio, il nodo B).

Infine, ogni datagramma IP viene passato al livello di accesso alla rete in modo che possa attraversare la prima sottorete mentre si dirige verso la sua destinazione. Il livello di accesso alla rete aggiunge la propria intestazione, durante la creazione di un pacchetto o frame (frame). Questo pacchetto viene trasmesso sulla sottorete al router di sottorete J. L'intestazione del pacchetto contiene le informazioni necessarie per la sottorete, grazie alla quale questi dati possono passare attraverso la sottorete. Tra gli altri elementi, il titolo può contenere tale.

    Indirizzo subnet di destinazione. La sottorete in cui si trova il pacchetto deve contenere informazioni su quale dispositivo collegato deve essere consegnato.

    Richieste di fondi.    Il protocollo di accesso alla rete può richiedere la fornitura di determinati strumenti di rete, come la priorità.

Sul router J, la sua intestazione del pacchetto viene rimossa dal pacchetto e viene controllata l'intestazione IP. In base all'indirizzo di destinazione contenuto nell'intestazione IP, il modulo IP del router invia il datagramma sulla sottorete 2 all'host B. Per fare ciò, l'intestazione di accesso alla rete viene nuovamente aggiunta ad esso.

Quando il nodo B riceve i dati, il processo inverso viene eseguito su di esso. Ad ogni livello, l'intestazione corrispondente viene eliminata e il resto viene trasferito al livello superiore successivo fino a quando i dati dell'utente non vengono consegnati nella loro forma originale al processo a cui sono destinati.

protocolliTCP   eUDP

Per la maggior parte delle applicazioni in esecuzione all'interno dell'architettura del protocollo TCP / IP, il protocollo del livello di trasporto è TCP. Questo protocollo fornisce una connessione affidabile per il trasferimento di dati da un'applicazione all'altra.

In fig. AZA mostra il formato dell'intestazione TCP, che consiste di almeno 20 ottetti o 160 bit. I campi Porta di origine e Porta di destinazione indicano gli identificatori del sistema di origine e del sistema di destinazione che utilizzano questa connessione. 1 I campi Numero sequenza, Numero riconoscimento e Finestra forniscono controllo continuo e controllo errori. Ogni segmento è numerato in modo che sia possibile rilevare la loro perdita e inviare riconoscimenti espliciti quando i segmenti vengono ricevuti. L'oggetto che invia conferme, per ognuna di esse, indica nel campo Finestra quanti più dati è pronto ad accettare. Il campo Checksum è un frame a 16 bit contenente un checksum progettato per rilevare errori nel segmento TCP.

Oltre al protocollo TCP, esiste un altro protocollo di livello di trasporto ampiamente utilizzato incluso nel set di protocolli TCP / IP: User Datagram Protocol (UDP). UDP fornisce un servizio senza connessione progettato per procedure a livello di applicazione; questo protocollo non garantisce la protezione di consegna, sequenziamento o duplicazione. Consente a una procedura di inviare messaggi ad altre procedure utilizzando un meccanismo di protocollo minimo. UDP utilizza alcune applicazioni orientate alle transazioni. Una di queste applicazioni è il protocollo SNTP (Simple Network Management Protocol), che è il protocollo di amministrazione di rete standard per le reti TCP / IP. Il protocollo UDP esegue un set estremamente limitato di funzioni, poiché funziona senza una connessione. In sostanza, aggiunge alcune funzionalità di indirizzamento delle porte al protocollo IP. Questo è più facile da capire guardando l'intestazione UDP mostrata nella Figura 2. A.Z. "

protocolliIP   e IPv6

L'Internet Protocol (IP) è stato per decenni un elemento centrale dell'architettura del protocollo TCP / IP. In fig. A.4, a mostra il formato dell'intestazione IP, che consiste di almeno 20 ottetti o 160 bit. Questa intestazione contiene indirizzi di invio e destinazione a 32 bit. Il campo Checksum intestazione viene utilizzato per rilevare errori nell'intestazione, che consente di evitare errori di consegna. Il campo Protocollo indica quale dei protocolli di livello superiore utilizza IP, TCP, UDP o altri. I campi Flags e Framment Offset vengono utilizzati nel processo di frammentazione e riassemblaggio, in cui il datagramma IP viene suddiviso in diversi datagrammi IP e quindi assemblato nuovamente nella destinazione.

Nel 1995, l'Internet Engineering Task Force (IETF), una task force di ingegneria Internet che ha sviluppato gli standard per i protocolli Internet, ha pubblicato le specifiche del protocollo IP di prossima generazione, che da allora è diventato noto come IPng. Nel 1996, questa specifica ha ricevuto lo stato di uno standard noto come IPv6. IPv6 fornisce una serie specifica di miglioramenti funzionali al protocollo IP esistente (noto come IPv4). È progettato per funzionare con le velocità più elevate raggiunte nelle reti moderne, nonché con flussi di dati, inclusi segnali grafici e video, che stanno diventando più comuni. Tuttavia, la forza trainante dello sviluppo del nuovo protocollo è stata la necessità di indirizzi aggiuntivi. Il protocollo IP in circolazione supporta indirizzi di invio o destinazione a 32 bit. A seguito dell'intensa espansione della rete Internet e dell'aumento del numero di reti dipartimentali connesse a Internet, la lunghezza di questi indirizzi è diventata insufficiente per tutti i sistemi che necessitano di indirizzi. Come mostrato in fig. A.4, b, l'intestazione IPv6 contiene campi a 128 bit per gli indirizzi di partenza e destinazione. Si presume che tutti i sistemi che utilizzano il protocollo TCP / IP passeranno infine dall'attuale protocollo IP a IPv6, ma questo processo richiederà molti anni, se non decenni.

LA CAMPANA

C'è chi legge queste notizie prima di te.
Iscriviti per ricevere articoli freschi.
E-mail
Nome
cognome
Come vuoi leggere The Bell
No spam