Come configurare smartphone e PC. Portale informativo
  • casa
  • In contatto con
  • Trasferimento del traffico IP su reti SDH o esiste un'alternativa ad ATM? Nascondere il traffico: una tecnica per nascondere il traffico IP utilizzando canali passivi segreti.

Trasferimento del traffico IP su reti SDH o esiste un'alternativa ad ATM? Nascondere il traffico: una tecnica per nascondere il traffico IP utilizzando canali passivi segreti.

Trasferimento del traffico IP su reti SDH o esiste un'alternativa ad ATM?

Oleg ALLENOV
Gruppo AMT

Si discute molto su quali tecnologie di trasporto verranno alla ribalta nelle reti multimediali ad alta velocità come Internet. Anche se la maggioranza dei contendenti vota a favore dell'ATM, non tutti sono d'accordo con questo punto di vista. È possibile un'altra opzione alternativa per costruire reti di trasporto multimediale: utilizzare il protocollo IP (protocollo Internet) con incapsulamento diretto in una rete gerarchica digitale sincrona (SDH).

L’IP è in uso da oltre 15 anni, mentre ATM è un protocollo relativamente nuovo. Nel corso della sua esistenza, Internet IP si è trasformata da una rete scientifica unita di campus universitari isolati in un'enorme rete informatica che copriva l'intero pianeta. Il numero sempre crescente di utenti Internet (oggi ammontano a milioni) e la crescente domanda di larghezza di banda minacciano di portare al fatto che la rete non è più in grado di far fronte al carico. Le nuove applicazioni multimediali impongono requisiti molto più esigenti in termini di larghezza di banda disponibile, spesso in tempo reale. Ciò ci costringe a riconsiderare gli approcci esistenti per costruire l’infrastruttura Internet.

Per aumentare la capacità di Internet è necessario innanzitutto un “trasporto” ad alta velocità. Un'opzione è utilizzare la popolare tecnologia ATM. Va notato che l'ATM come protocollo di trasporto sta suscitando sempre più critiche sia da parte dei produttori di apparecchiature che degli utenti finali. Cercheremo di analizzare le carenze di ATM in modo più dettagliato e di considerare gli argomenti a favore di un altro metodo di trasmissione del traffico Internet: l'incapsulamento diretto dei protocolli TCP/IP nei protocolli SONET/SDH.

Tecnologia ATM

La modalità di trasferimento asincrono, ATM, è stata presentata ai produttori e ai fornitori di servizi di rete come una tecnologia in grado di fornire larghezza di banda su richiesta e qualità del servizio garantita a un'ampia gamma di applicazioni multimediali, con Internet in testa. Pertanto, nemmeno la parte più recente dei componenti ATM è stata orientata e sviluppata specificamente per la trasmissione del traffico Internet. Si prevedeva che nel prossimo futuro la Rete sarebbe stata costituita in gran parte da utenti ATM e client LANE (Emulazione LAN), consentendo una migrazione facile e naturale delle applicazioni Internet al nuovo protocollo di trasporto, che prometteva possibilità illimitate.

Tuttavia (forse a causa dell’alto costo delle nuove soluzioni o della loro natura inorganica) per qualche motivo ciò non è avvenuto. Inoltre è diventata sempre più evidente la tendenza ad aumentare l'influenza dei protocolli TCP/IP proprio come protocolli di trasporto.

In effetti, lo stack del protocollo TCP/IP è stato sviluppato e testato da tempo; sono stati investiti molti soldi e molti sforzi nella sua creazione e nel debugging. Sebbene il protocollo IPv4 presenti alcune carenze, la prossima versione IPv6 ne eliminerà la maggior parte. Ma anche la versione attuale di IPv4 è adatta a molte persone e, secondo gli esperti, può durare ancora per molti anni. Un buon numero di produttori considera IP un protocollo di trasporto promettente per le moderne infrastrutture di telecomunicazione. Allora cosa c'entra l'ATM?

ATM è stata proposta dall'ITU-T come tecnologia di base per l'ISDN a banda larga (o B-ISDN). Poiché B-ISDN è progettato principalmente per trasportare traffico multimediale, ATM era ben posizionata per supportare questo tipo di traffico nelle reti reali.

Passò del tempo e i produttori di apparecchiature per le telecomunicazioni rivolsero la loro attenzione all'ATM. È stato creato l'ATM Forum, che ha iniziato a dare vita alla nuova tecnologia. Allo stesso tempo, i compiti assegnati al Forum ATM erano quello di standardizzare e sviluppare un protocollo efficace e scalabile che supporti il ​​traffico con caratteristiche diametralmente opposte (multimedia), garantisca una certa qualità di servizio (QoS) e supporti la trasmissione multicast. Inoltre, questo protocollo deve essere compatibile con le tecnologie LAN e WAN esistenti.

Dovrebbe essere chiaro che la tecnologia ATM ha guadagnato una popolarità così diffusa proprio a causa della convinzione generale che le tecnologie esistenti a quel tempo non fossero in grado di soddisfare i requisiti di cui sopra.

Tecnologia IP

L'IP, d'altro canto, non sembra un protocollo legacy da dimenticare. Esiste un numero enorme di soluzioni IP su Ethernet installate in tutto il mondo e non è affatto facile convincere i clienti a buttare via schede Ethernet economiche e installare adattatori ATM senza promettere funzionalità fondamentalmente nuove o almeno velocità più elevate (l'aumento della velocità è dovuto non è affatto ovvio).

Penso che molti clienti che hanno esperienza nell'uso degli adattatori ATM per personal computer saranno d'accordo con me sul fatto che una scheda di rete Fast Ethernet da 100 Mbps (per non parlare del Full Duplex) non è almeno non più lenta di un adattatore ATM da 155 Mbps. Ciò è dovuto alla maggiore ridondanza del protocollo ATM e ai ritardi nel montaggio/smontaggio delle celle. Per quanto riguarda la qualità del servizio garantita da ATM, praticamente non è implementata in LANE e AAL5 UBR (massimo UBR+ o ABR) viene ora utilizzato per trasmettere il traffico IP su ATM. Quindi non è necessario parlare di QoS.

Naturalmente, la nuova tecnologia deve supportare un’ampia gamma di livelli di qualità del servizio. Tuttavia, l'IP è stato scelto come protocollo per l'internetworking universale e ha funzionato bene sull'Internet allora composta da 20.000 computer a metà degli anni '80 e continua a connettere con successo diversi milioni di host oggi. L’IP è davvero diventato obsoleto? I sostenitori dell’ATM probabilmente risponderebbero di sì.

Enormi quantità di denaro sono state investite nello sviluppo di una famiglia di protocolli Internet e nel portarli allo stato attuale. Non è attivo solo l'ATM Forum, ma anche l'IETF (Internet Engineering Task Force): continua la ricerca su come utilizzare l'IP nelle reti multimediali emergenti ad alta velocità. Sono stati creati protocolli per supportare la trasmissione multicast (IGMP, DVMRP, PIM) e protocolli che forniscono la prenotazione delle risorse per la trasmissione del traffico (RSVP). È possibile effettuare un routing (anche se non ancora così flessibile come con PNNI) in base alla qualità del servizio richiesta (Tag Switching) e allo standard MPLS (Multiprotocol Label Switching), che è in preparazione per il rilascio in IETF, garantirà l'interoperabilità di tutti i dispositivi che supportano la commutazione dei tag e probabilmente sostituirà in modo significativo la posizione dell'MPOA (Multiprotocol Over ATM).

Ha quindi senso sostituire la consolidata tecnologia IP con l’emergente ATM?

IP su ATM

Inizialmente, l'idea di trasmettere IP tramite ATM era considerata come un possibile modo per introdurre ATM nell'architettura Internet esistente e quindi sostituire completamente IP. Ora, comprendendo che ATM non è in grado di sostituire completamente l'IP, possiamo porci la domanda: perché non sono stati ancora creati metodi efficaci per trasportare il traffico IP su ATM? A quanto pare, si ritiene che ATM offra una tecnologia di commutazione rapida unica in grado di risolvere gli attuali problemi di larghezza di banda Internet. Tuttavia, in realtà ci sono alcuni problemi qui.

Innanzitutto prestiamo attenzione al fatto che quasi tutte (con rare eccezioni, ad esempio ATM25, TAXI, ecc.) le interfacce fisiche degli switch ATM funzionano nel formato frame SDH/SONET/PDH. Ciò viene fatto per facilitare l'integrazione con le diffuse reti di trasporto SDH. Ma anche quando SDH è completamente assente e non previsto dalla progettazione, nella trasmissione del traffico utente viene comunque introdotto un sovraccarico SDH che, per usare un eufemismo, non aumenta la velocità e le prestazioni della rete.

È opportuno inoltre precisare che SDH è una modalità di trasmissione sincrona, mentre ATM è asincrona. Quando si invia traffico ATM su reti di trasporto SDH, perdiamo tutti i vantaggi del metodo di trasferimento cellulare asincrono, per non parlare della duplicazione di alcune funzioni (ad esempio OA&M).

L’incapsulamento dell’IP in ATM, che a sua volta opera tramite SDH, non migliora la situazione. Il protocollo ATM è orientato alla connessione, mentre IP no. Questa discrepanza porta anche a un'ulteriore complessità e alla duplicazione di una serie di funzioni.

Pertanto, ciascuno dei protocolli, IP e ATM, richiede il proprio protocollo di routing. Sono necessarie ulteriori funzioni di controllo per controllare il funzionamento congiunto di IP e ATM. L'efficienza della trasmissione del traffico multicast diminuisce, poiché senza la conoscenza dell'esatta topologia della rete ai livelli inferiori, la trasmissione dei pacchetti multicast si trasforma nella loro semplice copia sui router edge. Tali pacchetti sono distribuiti lungo percorsi tutt'altro che ottimali per una rete reale.

Non è necessario soffermarsi sugli svantaggi dei metodi di emulazione della rete locale, poiché qualsiasi specialista di rete qualificato concorderà sul fatto che la tecnologia LANE non può essere definita organica e promettente. Da molti punti di vista, questa tecnologia è un tentativo fallito di “estrarre” i protocolli progettati per ambienti di trasmissione in modo che funzionino in un ambiente in cui tale modalità di trasferimento dati è impossibile (NBMA, Nonbroadcast Multiple Access).

Quindi, se Internet è ancora se stessa e continua a basarsi su IP, è necessario un ulteriore “strato” sotto forma di ATM tra IP e il protocollo di trasporto SDH veramente efficiente e ad alta velocità, che funziona altrettanto bene? trasportare quasi ogni tipo di traffico?

IP su SDH

La tecnologia SDH è ampiamente utilizzata per organizzare trasporti affidabili. SDH è stato sviluppato per fornire un protocollo standard per l'interoperabilità dei provider; unificare i sistemi digitali americani, europei e giapponesi; fornire multiplexing di segnali digitali a velocità gigabit; fornire supporto per le funzioni OA&M (operazione, amministrazione e manutenzione).

Sebbene SDH operi su frame e abbia una propria struttura di canali, dal punto di vista del livello di rete, SDH è solo un flusso di ottetti. Per racchiudere correttamente un pacchetto IP in un contenitore SDH è necessario definire chiaramente i confini del pacchetto (o del gruppo di pacchetti) all'interno del modulo di trasporto sincrono STM (modulo di trasporto sincrono). In altre parole, è necessario uno “strato” di protocollo tra IP e SDH per formare frame a livello di collegamento.

Poiché SDH fornisce connessioni punto-punto, l'utilizzo di PPP (protocollo punto-punto) come protocollo intermedio sembra abbastanza logico. PPP è ampiamente utilizzato su Internet come protocollo a livello di collegamento per organizzare le connessioni su reti geografiche. Inoltre, PPP consente di utilizzare funzioni aggiuntive del protocollo PPP:

  • possibilità di incapsulamento multiprotocollo;
  • protezione dagli errori;
  • utilizzo del protocollo LCP per stabilire, configurare e testare connessioni a livello di collegamento;
  • la possibilità di utilizzare la famiglia di protocolli NCP per supportare e configurare vari protocolli di rete.

Tuttavia, va notato che come protocollo di rete, ora ci interessa solo l'IP e, inoltre, una serie di funzioni del protocollo NCP (ad esempio l'assegnazione dinamica degli indirizzi IP) non sono rilevanti nel nostro caso. Ciò che ci interessa veramente è incapsulare IP in PPP e quindi posizionare i frame PPP in SDH.

L’incapsulamento dell’IP nel PPP non è un problema perché è ben consolidato e ampiamente utilizzato. La procedura di incapsulamento da PPP a SDH (definita come Path Signal Label = 207hex), mostrata in figura, deve essere eseguita da un apposito adattatore di servizio a livello di percorso SDH. L'adattatore di servizio può essere una "scatola nera" che riceve un flusso di frame PPP e "produce" un flusso di moduli di trasporto STM. PPP è molto adatto per lavorare con SDH, poiché entrambi i protocolli sono progettati per funzionare in modalità a byte singolo.

Pertanto, incapsulando direttamente il traffico Internet nel servizio di trasporto SDH esistente, semplifichiamo in modo significativo la complessa infrastruttura di rete, riducendone così i costi e aumentando il throughput effettivo. Con l'avvento di nuove opportunità per la trasmissione del traffico IP a velocità gigabit (Gigabit Ethernet) e delle tecnologie di commutazione rapida dei pacchetti IP (Multiprotocol Label Switching - MPLS), l'uso del protocollo IP come base di un servizio di trasporto unificato per la trasmissione di video, la telefonia e altre applicazioni multimediali diventano reali - fortunatamente, la maggior parte del lavoro sull'introduzione del protocollo IP nel World Wide Web è già stata completata. A questo proposito, l’emergere di standard (RFC 1619) e le prime implementazioni pratiche di interfacce come “PPP over SDH” (o Packets Over Sonet - POS) sui moderni router destinati a Internet, in particolare il GSR 12000 di Cisco Systems , sembra molto attuale.

In conclusione, vorrei sottolineare che l'autore non intende in alcun modo minimizzare l'importanza della tecnologia ATM e negare il suo impatto positivo sullo sviluppo dei servizi di telecomunicazione globali. Ha trovato interessante considerare, in modo discorsivo, la possibilità di modi alternativi per sviluppare servizi multimediali diversi dalla tecnologia di trasferimento cellulare asincrono.

CIRCA L'AUTORE

Oleg Allenov è un istruttore presso il centro di formazione del Gruppo AMT, CCSI/CCIE. Può essere contattato telefonicamente. 725 - 7660

Il traffico Internet globale crescerà fino a 1,6 zettabyte entro il 2018. I principali fattori di crescita saranno la diffusione dei video Ultra-HD/4K e delle tecnologie di comunicazione da macchina a macchina, comprese le auto intelligenti.

Secondo uno studio Cisco intitolato “Visual Networking Index: Global Forecast and Service Distribution, 2013-2018”. (Cisco VNI), il traffico IP globale quasi triplicherà entro 4 anni. Ciò accadrà a causa della crescita del numero di utenti Internet e di vari dispositivi, dell'aumento della velocità della banda larga e del numero di visualizzazioni di video. Si prevede che entro il 2018 il volume annuo del traffico IP globale che passa attraverso connessioni fisse e mobili raggiungerà 1,6 zettabyte*, ovvero più di un trilione e mezzo di gigabyte. Si tratta di più traffico IP (1,3 zettabyte) generato in tutto il mondo tra il 1984 e il 2013.

Decine di milioni di tifosi guarderanno la trasmissione delle partite dei Mondiali su Internet. Lo streaming di video e giochi IP può generare 4,3 exabyte di traffico Internet, ovvero tre volte il volume di traffico mensile in Brasile. Inoltre, si prevede che il traffico Internet generato dagli spettatori in ogni stadio e nel percorso verso la partita supererà la quantità media di traffico generato durante le ore di punta** da tutti gli smartphone attualmente posseduti dai brasiliani.

Si prevede che il traffico IP globale raggiungerà i 132 exabyte al mese entro il 2018. La stessa quantità di traffico può essere generata da:

  • streaming video ad altissima definizione (Ultra-HD/4K) su 8,8 miliardi di schermi contemporaneamente durante la finale della Coppa del Mondo;
  • 5,5 miliardi di telespettatori che, utilizzando il servizio di video on demand, guardano senza interruzioni la quarta stagione di “Il Trono di Spade” in alta definizione (HD), ovvero 1,5 miliardi in ultra-alta definizione;
  • House of Cards Stagione 3 in streaming simultaneamente su 24 miliardi di schermi in altissima definizione;
  • 940 quadrilioni di messaggi di testo;
  • 4,5 trilioni di clip YouTube.

Nei prossimi anni la composizione del traffico IP cambierà radicalmente. Entro il 2018, per la prima volta, la maggior parte di essi non sarà associata ai personal computer, ma ad altri dispositivi. Inoltre, per la prima volta, il volume del traffico Wi-Fi supererà il volume del traffico via cavo e il volume del traffico video ad alta definizione supererà quello del video normale.

Anche l’Internet of Everything sta guadagnando slancio ed entro il 2018 il numero di moduli di comunicazione machine-to-machine sarà pari al numero di persone. Quindi, per ogni vettura “intelligente” ci saranno quasi 4 collegamenti.

"Nel primo rapporto di questo tipo, pubblicato 9 anni fa, abbiamo fissato gli zettabyte come pietra miliare di crescita per il traffico IP globale", ha affermato Doug Webster, vicepresidente Cisco del marketing di prodotti e soluzioni. - Oggi viviamo già nell'era degli zettabyte, avendo assistito a incredibili cambiamenti del settore. Tra le principali tendenze evidenziate nelle attuali previsioni, che offrono significative opportunità per i fornitori di servizi sia oggi che nel prossimo futuro, notiamo l'implementazione dell'Internet of Everything, la crescente domanda di mobilità di rete e l'emergere di video ad altissima definizione .”

Previsioni di crescita del traffico globale e fattori chiave dell'adozione del servizio

traffico IP

Entro il 2018, la maggior parte del traffico sarà guidato da dispositivi mobili e indossabili, senza personal computer. Se nel 2013 i dispositivi diversi dai PC rappresentavano il 33% del traffico IP, entro il 2018 la loro quota raggiungerà il 57%. Il tasso di crescita del traffico PC sarà del 10% annuo, mentre per gli altri dispositivi e connessioni questa cifra sarà più alta: 18% per la TV, 74% per i tablet, 64% per gli smartphone e 84% per la comunicazione machine-to-machine (M2M). moduli.

Il traffico durante le ore di punta cresce più velocemente del normale traffico Internet. Nel 2013, la crescita del traffico Internet nelle ore di punta è stata del 32%, mentre il traffico negli altri orari della giornata è cresciuto del 25%.

Nel 2013, le reti urbane trasportavano più traffico delle connessioni urbane. Nel periodo 2013-2018. il traffico nelle reti urbane crescerà quasi due volte più velocemente che nei collegamenti interurbani. Ciò è in parte dovuto al previsto raddoppio del traffico Internet sulle reti di distribuzione dei contenuti entro il 2018.

video IP

Entro il 2018, la quota di video IP sul traffico IP totale raggiungerà il 79% (nel 2013 era del 66%).

La quota di video ad altissima definizione sul traffico IP totale entro il 2018 aumenterà dello 0,1% rispetto al 2013 e ammonterà all'11%. La quota di video ad alta definizione aumenterà dal 36% nel 2013 al 52% entro il 2018, mentre i video a definizione standard diminuiranno dal 64% al 37% del traffico IP totale.

Traffico IP per tipo di accesso

Entro il 2018, Wi-Fi e dispositivi mobili genereranno il 61% del traffico IP. La quota del Wi-Fi rappresenterà il 49%, la quota delle reti cellulari - 12%. Il traffico fisso nel 2018 rappresenterà solo il 39% del traffico IP totale. Per fare un confronto: nel 2013 la quota Wi-Fi era del 41%, il traffico cellulare - 3%, il traffico fisso - 56%.

Entro il 2018, Wi-Fi e dispositivi mobili genereranno il 76% del traffico Internet. La quota del Wi-Fi rappresenterà il 61%, la quota delle reti cellulari - 15%. Il traffico fisso rappresenterà solo il 24% del traffico Internet totale entro il 2018. Per fare un confronto: nel 2013 la quota Wi-Fi era del 55%, il traffico cellulare - 4%, il traffico fisso - 41%.

Dispositivi e connessioni

Entro il 2018 ci saranno in media 2,7 dispositivi o connessioni di rete per ogni persona sul nostro pianeta. Nel 2013, questa cifra era di 1,7 pro capite.

Il numero globale di connessioni machine-to-machine sarà di 7,3 miliardi, ovvero quasi una connessione per persona (ipotizzando una popolazione globale di 7,6 miliardi entro il 2018).

Il numero di dispositivi fissi e mobili abilitati IPv6 crescerà da 2 miliardi nel 2013 a 10 miliardi nel 2018.

Aumento della velocità della banda larga

La velocità della banda larga nel mondo aumenterà da 16 Mbit/s alla fine del 2013 a 42 Mbit/s entro il 2018.

La maggior parte (circa il 55%) delle connessioni a banda larga supererà i 10 Mbps entro il 2018. In Giappone e Corea del Sud la velocità media della banda larga si avvicinerà ai 100 Mbit/s entro il 2018.

Erogazione di servizi avanzati

Il servizio in più rapida crescita nel settore residenziale sarà quello dei video online: con una crescita media annua del 10% nel periodo 2013-2018. il numero degli utenti aumenterà da 1,2 a 1,9 miliardi di persone.

Nel segmento consumer, i servizi mobili basati sulla posizione cresceranno più rapidamente, con un CAGR del 36% tra il 2013 e il 2018. il numero degli utenti di tali servizi crescerà da 236 milioni a oltre un miliardo di persone.

Nel segmento business, il servizio Internet in più rapida crescita sarà quello delle videoconferenze tramite dispositivi personali e computer desktop: con una crescita media annua del 45% nel periodo 2013-2018. il numero degli utenti crescerà da 37 milioni a 238 milioni di persone.

Previsioni per paese e regione

Entro il 2018, il maggior volume di traffico IP – 47,7 exabyte al mese – sarà generato nella regione Asia-Pacifico. La regione più popolosa del mondo, che ospita la maggior parte dei dispositivi e delle connessioni, rimarrà la prima in termini di volume di traffico per tutto il 2018.

In Medio Oriente e Africa nel periodo 2013-2018. rimarranno i tassi di crescita più elevati del traffico IP (un aumento di cinque volte con un incremento medio annuo del 38%).

Entro il 2018, i paesi che genereranno i maggiori volumi di traffico saranno gli Stati Uniti e la Cina (rispettivamente 37 e 18 exabyte al mese).

La crescita più rapida del traffico IP nel periodo 2013-2018. sarà osservato in India e Indonesia (rispettivamente 39% e 37% di crescita media annua).

Cosa significa tutto questo per i fornitori di servizi?

Le reti dei fornitori di servizi avranno bisogno di maggiore sicurezza e intelligenza. Dovranno adattarsi per far fronte al crescente numero di tablet, smartphone e dispositivi di comunicazione machine-to-machine che richiederanno l’autenticazione per accedere alle reti fisse e mobili.

Lo sviluppo di servizi video come video ad alta e ultra-alta definizione potrebbe richiedere ai fornitori di servizi di aumentare la larghezza di banda e aggiungere ulteriore scalabilità. Continuerà ad esserci una forte domanda nei settori residenziale, mobile e aziendale per l'accesso a servizi video avanzati attraverso reti e dispositivi di tutti i tipi. I fattori chiave di successo qui saranno la qualità del servizio, la facilità d'uso e il prezzo.

La continua proliferazione di servizi quali videoconferenze ad alta definizione, videoconferenze Web e video aziendali on demand nel segmento aziendale potrebbe favorire una maggiore crescita della virtualizzazione della rete e dell'uso di Internet per la trasmissione video, il che porrà alcune sfide sia per fornitori di servizi e per fornitori di servizi indipendenti (fornitori over-the-top, OTT).

La crescita delle reti 4G e la diffusione dei servizi correlati potrebbero accelerare, dato che gli utenti mobili continuano a richiedere servizi e qualità di servizio simili sulle loro reti fisse e mobili.

Le reti IP devono essere sufficientemente intelligenti e flessibili da supportare il numero sempre crescente di applicazioni nuove ed in evoluzione per le reti fisse e mobili. Nel tentativo di differenziare i propri servizi, molti fornitori di servizi collaborano attivamente con gli sviluppatori di applicazioni.

Qualunque amministratore prima o poi riceve istruzioni dal management: “conta chi va online e quanto scarica”. Per i fornitori, questo è completato dal compito di “far entrare chiunque ne abbia bisogno, accettare il pagamento, limitare l’accesso”. Cosa contare? Come? Dove? Ci sono molte informazioni frammentarie, non sono strutturate. Salveremo l'amministratore alle prime armi da noiose ricerche fornendogli conoscenze generali e collegamenti utili all'hardware.
In questo articolo cercherò di descrivere i principi di organizzazione della raccolta, contabilità e controllo del traffico sulla rete. Esamineremo il problema ed elencheremo i possibili modi per recuperare informazioni dai dispositivi di rete.

Questo è il primo articolo teorico di una serie di articoli dedicati alla raccolta, contabilità, gestione e fatturazione del traffico e delle risorse informatiche.

Struttura dell'accesso a Internet

In generale, la struttura di accesso alla rete è simile alla seguente:
  • Risorse esterne: Internet, con tutti i siti, server, indirizzi e altre cose che non appartengono alla rete che controlli.
  • Dispositivo di accesso: router (hardware o basato su PC), switch, server VPN o concentratore.
  • Le risorse interne sono un insieme di computer, sottoreti, abbonati il ​​cui funzionamento sulla rete deve essere preso in considerazione o controllato.
  • Un server di gestione o contabilità è un dispositivo su cui viene eseguito un software specializzato. Può essere funzionalmente combinato con un router software.
In questa struttura, il traffico di rete passa dalle risorse esterne a quelle interne, e viceversa, attraverso il dispositivo di accesso. Trasmette le informazioni sul traffico al server di gestione. Il server di controllo elabora queste informazioni, le memorizza nel database, le visualizza ed emette comandi di blocco. Tuttavia, non tutte le combinazioni di dispositivi (metodi) di accesso e metodi di raccolta e controllo sono compatibili. Le varie opzioni verranno discusse di seguito.

Traffico di rete

Innanzitutto è necessario definire cosa si intende per “traffico di rete” e quali informazioni statistiche utili possono essere estratte dal flusso di dati degli utenti.
Il protocollo di internetworking dominante è ancora la versione IP 4. Il protocollo IP corrisponde al livello 3 del modello OSI (L3). Le informazioni (dati) tra il mittente e il destinatario sono raggruppate in pacchetti, aventi un'intestazione e un "carico utile". L'intestazione determina da e verso il pacchetto (indirizzi IP del mittente e del destinatario), la dimensione del pacchetto e il tipo di carico utile. La maggior parte del traffico di rete è costituita da pacchetti con payload UDP e TCP: si tratta dei protocolli Layer 4 (L4). Oltre agli indirizzi, l'intestazione di questi due protocolli contiene i numeri di porta, che determinano il tipo di servizio (applicazione) che trasmette i dati.

Per trasmettere un pacchetto IP via cavo (o radio), i dispositivi di rete sono costretti a “avvolgerlo” (incapsularlo) in un pacchetto di protocollo Layer 2 (L2). Il protocollo più comune di questo tipo è Ethernet. La trasmissione vera e propria “al filo” avviene al 1° livello. Tipicamente, il dispositivo di accesso (router) non analizza le intestazioni dei pacchetti a livelli superiori al livello 4 (ad eccezione dei firewall intelligenti).
Le informazioni provenienti dai campi indirizzi, porte, protocolli e contatori di lunghezza delle intestazioni L3 e L4 dei pacchetti di dati costituiscono la "materia prima" utilizzata nella contabilità e nella gestione del traffico. La quantità effettiva di informazioni trasmesse si trova nel campo Lunghezza dell'intestazione IP (inclusa la lunghezza dell'intestazione stessa). A proposito, a causa della frammentazione dei pacchetti dovuta al meccanismo MTU, la quantità totale di dati trasmessi è sempre maggiore della dimensione del carico utile.

La lunghezza totale dei campi IP e TCP/UDP del pacchetto che ci interessano in questo contesto è pari al 2...10% della lunghezza totale del pacchetto. Se elabori e memorizzi tutte queste informazioni batch per batch, non ci saranno risorse sufficienti. Fortunatamente, la stragrande maggioranza del traffico è strutturata in modo da consistere in una serie di “conversazioni” tra dispositivi di rete esterni ed interni, chiamati “flussi”. Ad esempio, nell'ambito di un'operazione di invio di un'e-mail (protocollo SMTP), viene aperta una sessione TCP tra il client e il server. È caratterizzato da un insieme costante di parametri (indirizzo IP di origine, porta TCP di origine, indirizzo IP di destinazione, porta TCP di destinazione). Invece di elaborare e memorizzare informazioni pacchetto per pacchetto, è molto più conveniente memorizzare i parametri di flusso (indirizzi e porte), nonché informazioni aggiuntive: il numero e la somma delle lunghezze dei pacchetti trasmessi in ciascuna direzione, facoltativamente durata della sessione, interfaccia del router indici, valore del campo ToS, ecc. Questo approccio è vantaggioso per i protocolli orientati alla connessione (TCP), dove è possibile intercettare esplicitamente la terminazione di una sessione. Tuttavia, anche per i protocolli non orientati alla sessione, è possibile eseguire l'aggregazione e il completamento logico di un record di flusso in base, ad esempio, a un timeout. Di seguito è riportato un estratto dal database SQL del nostro sistema di fatturazione, che registra le informazioni sui flussi di traffico:

È necessario notare il caso in cui il dispositivo di accesso esegue la traduzione degli indirizzi (NAT, mascheramento) per organizzare l'accesso a Internet per i computer della rete locale utilizzando un indirizzo IP pubblico esterno. In questo caso, uno speciale meccanismo sostituisce gli indirizzi IP e le porte TCP/UDP dei pacchetti di traffico, sostituendo gli indirizzi interni (non instradabili su Internet) secondo la sua tabella di traduzione dinamica. In questa configurazione è necessario ricordare che per registrare correttamente i dati sugli host della rete interna, le statistiche devono essere raccolte in un modo e in un luogo in cui il risultato della traduzione non “anonimizzi” ancora gli indirizzi interni.

Metodi per la raccolta di informazioni sul traffico/statistiche

È possibile acquisire ed elaborare le informazioni sul traffico in transito direttamente sul dispositivo di accesso stesso (router PC, server VPN), trasferendole da questo dispositivo a un server separato (NetFlow, SNMP) o "dal cavo" (tap, SPAN). Diamo un'occhiata a tutte le opzioni in ordine.
Router del computer
Consideriamo il caso più semplice: un dispositivo di accesso (router) basato su un PC con Linux.

Come impostare un server di questo tipo, traduzione degli indirizzi e routing, molto è stato scritto. Siamo interessati al passaggio logico successivo: informazioni su come ottenere informazioni sul traffico che passa attraverso tale server. Esistono tre metodi comuni:

  • intercettare (copiare) i pacchetti che passano attraverso la scheda di rete del server utilizzando la libreria libpcap
  • intercettare i pacchetti che passano attraverso il firewall integrato
  • utilizzando strumenti di terze parti per convertire le statistiche pacchetto per pacchetto (ottenute con uno dei due metodi precedenti) in un flusso di informazioni aggregate netflow
Cap. lib


Nel primo caso, una copia del pacchetto che passa attraverso l'interfaccia, dopo aver superato il filtro (man pcap-filter), può essere richiesta da un programma client sul server scritto utilizzando questa libreria. Il pacchetto arriva con un'intestazione di livello 2 (Ethernet). È possibile limitare la lunghezza delle informazioni catturate (se siamo interessati solo alle informazioni dalla sua intestazione). Esempi di tali programmi sono tcpdump e Wireshark. Esiste un'implementazione di libpcap per Windows. Se la traduzione degli indirizzi viene utilizzata su un router PC, tale intercettazione può essere effettuata solo sulla sua interfaccia interna collegata agli utenti locali. Sull'interfaccia esterna, dopo la traduzione, i pacchetti IP non contengono informazioni sugli host interni della rete. Tuttavia, con questo metodo non è possibile tenere conto del traffico generato dal server stesso su Internet (cosa importante se gestisce un servizio web o di posta elettronica).

libpcap richiede il supporto del sistema operativo, che attualmente equivale all'installazione di un'unica libreria. In questo caso, il programma applicativo (utente) che raccoglie i pacchetti deve:

  • aprire l'interfaccia richiesta
  • specificare il filtro attraverso il quale far passare i pacchetti ricevuti, la dimensione della parte catturata (snaplen), la dimensione del buffer,
  • impostare il parametro promisc, che mette l'interfaccia di rete in modalità di acquisizione per tutti i pacchetti che passano e non solo quelli indirizzati all'indirizzo MAC di questa interfaccia
  • impostare una funzione (callback) chiamata su ciascun pacchetto ricevuto.

Quando un pacchetto viene trasmesso attraverso l'interfaccia selezionata, dopo aver superato il filtro, questa funzione riceve un buffer contenente Ethernet, (VLAN), IP, ecc. intestazioni, dimensione totale fino a snaplen. Poiché la libreria libcap copia i pacchetti, non può essere utilizzata per bloccarne il passaggio. In questo caso, il programma di raccolta ed elaborazione del traffico dovrà utilizzare metodi alternativi, come richiamare uno script per inserire un determinato indirizzo IP in una regola di blocco del traffico.

Firewall


L'acquisizione dei dati che passano attraverso il firewall consente di tenere conto sia del traffico del server stesso che del traffico degli utenti della rete, anche durante la conversione degli indirizzi. La cosa principale in questo caso è formulare correttamente la regola di cattura e metterla nel posto giusto. Questa regola attiva il trasferimento del pacchetto verso la libreria di sistema, da dove l'applicazione di contabilizzazione e gestione del traffico potrà riceverlo. Per il sistema operativo Linux, iptables viene utilizzato come firewall e gli strumenti di intercettazione sono ipq, netfliter_queue o ulog. Per OC FreeBSD – ipfw con regole come tee o deviazione. In ogni caso, il meccanismo del firewall è completato dalla possibilità di lavorare con un programma utente nel modo seguente:
  • Un programma utente, un gestore del traffico, si registra nel sistema utilizzando una chiamata di sistema o una libreria.
  • Un programma utente o uno script esterno installa una regola nel firewall, “avvolgendo” il traffico selezionato (secondo la regola) all'interno del gestore.
  • Per ogni pacchetto che passa, il gestore riceve il suo contenuto sotto forma di buffer di memoria (con intestazioni IP, ecc. Dopo l'elaborazione (contabilità), il programma deve anche dire al kernel del sistema operativo cosa fare dopo con tale pacchetto: scartarlo oppure trasmetterlo.In alternativa è possibile passare il pacchetto modificato al kernel.

Poiché il pacchetto IP non viene copiato, ma inviato al software per l'analisi, diventa possibile “espellerlo” e quindi limitare completamente o parzialmente il traffico di un certo tipo (ad esempio, a un abbonato della rete locale selezionato). Tuttavia, se il programma applicativo smette di rispondere alla sua decisione al kernel (ad esempio, si blocca), il traffico attraverso il server viene semplicemente bloccato.
Va notato che i meccanismi descritti, con volumi significativi di traffico trasmesso, creano un carico eccessivo sul server, associato alla costante copia dei dati dal kernel al programma utente. Il metodo di raccolta delle statistiche a livello del kernel del sistema operativo, con l'output di statistiche aggregate al programma applicativo tramite il protocollo NetFlow, non presenta questo inconveniente.

Flusso netto
Questo protocollo è stato sviluppato da Cisco Systems per esportare informazioni sul traffico dai router a scopo di contabilità e analisi del traffico. La versione 5 più popolare ora fornisce al destinatario un flusso di dati strutturati sotto forma di pacchetti UDP contenenti informazioni sul traffico passato sotto forma di cosiddetti record di flusso:

La quantità di informazioni sul traffico è di diversi ordini di grandezza inferiore rispetto al traffico stesso, il che è particolarmente importante nelle reti grandi e distribuite. Naturalmente non è possibile bloccare la trasmissione delle informazioni quando si raccolgono statistiche tramite netflow (a meno che non vengano utilizzati meccanismi aggiuntivi).
Attualmente sta diventando popolare un ulteriore sviluppo di questo protocollo: la versione 9, basata sulla struttura del record di flusso del modello, implementazione per dispositivi di altri produttori (sFlow). Recentemente è stato adottato lo standard IPFIX, che consente la trasmissione di statistiche tramite protocolli a livelli più profondi (ad esempio, per tipo di applicazione).
L'implementazione dei sorgenti netflow (agenti, sonde) è disponibile per i router PC, sia sotto forma di utilità che funzionano secondo i meccanismi sopra descritti (flowprobe, softflowd), sia direttamente integrate nel kernel del sistema operativo (FreeBSD:, Linux:). Per i router software, il flusso delle statistiche del flusso di rete può essere ricevuto ed elaborato localmente sul router stesso o inviato tramite la rete (protocollo di trasferimento - su UDP) al dispositivo ricevente (collettore).


Il programma collector può raccogliere informazioni da molte fonti contemporaneamente, essendo in grado di distinguerne il traffico anche con spazi di indirizzi sovrapposti. Utilizzando strumenti aggiuntivi come nprobe, è anche possibile eseguire ulteriori aggregazioni di dati, biforcazione dei flussi o conversioni di protocollo, il che è importante quando si gestisce una rete ampia e distribuita con dozzine di router.

Le funzioni di esportazione di Netflow supportano i router di Cisco Systems, Mikrotik e alcuni altri. Funzionalità simili (con altri protocolli di esportazione) sono supportate da tutti i principali produttori di apparecchiature di rete.

Libpcap “fuori”
Complichiamo un po' il compito. Cosa succede se il tuo dispositivo di accesso è un router hardware di un altro produttore? Ad esempio, D-Link, ASUS, Trendnet, ecc. Molto probabilmente è impossibile installare su di esso un software aggiuntivo di acquisizione dati. In alternativa, hai un dispositivo di accesso intelligente, ma non è possibile configurarlo (non hai i diritti o è controllato dal tuo provider). In questo caso è possibile raccogliere informazioni sul traffico direttamente nel punto in cui il dispositivo di accesso incontra la rete interna, utilizzando strumenti “hardware” di copia dei pacchetti. In questo caso avrai sicuramente bisogno di un server separato con una scheda di rete dedicata per ricevere copie dei pacchetti Ethernet.
Il server deve utilizzare il meccanismo di raccolta dei pacchetti tramite il metodo libpcap sopra descritto, e il nostro compito è sottoporre all'ingresso della scheda di rete dedicata a questo scopo un flusso di dati identico a quello proveniente dal server di accesso. Per questo puoi usare:
  • Ethernet - hub: un dispositivo che inoltra semplicemente i pacchetti tra tutte le sue porte indiscriminatamente. Nelle realtà moderne, può essere trovato da qualche parte in un magazzino polveroso e l'utilizzo di questo metodo non è consigliabile: inaffidabile, a bassa velocità (non esistono hub con una velocità di 1 Gbit/s)
  • Ethernet: uno switch con la capacità di eseguire il mirroring (mirroring, porte SPAN. I moderni switch intelligenti (e costosi) consentono di copiare tutto il traffico (in entrata, in uscita, entrambi) di un'altra interfaccia fisica, VLAN, incluso remoto (RSPAN) su una specifica porta
  • Splitter hardware, che potrebbe richiedere l'installazione di due schede di rete invece di una da collezionare, e questa è in aggiunta a quella principale del sistema.


Naturalmente, puoi configurare una porta SPAN sul dispositivo di accesso stesso (router), se lo consente: Cisco Catalyst 6500, Cisco ASA. Ecco un esempio di tale configurazione per uno switch Cisco:
monitorare la sessione 1 sorgente vlan 100! da dove prendiamo i pacchi?
monitora la sessione 1 interfaccia di destinazione Gi6/3! dove emettiamo i pacchi?

SNMP
Cosa succede se non abbiamo un router sotto il nostro controllo, non vogliamo contattare netflow, non siamo interessati ai dettagli del traffico dei nostri utenti. Sono semplicemente collegati alla rete tramite uno switch gestito e dobbiamo solo stimare approssimativamente la quantità di traffico diretta a ciascuna delle sue porte. Come sapete, i dispositivi di rete supportano il controllo remoto e possono visualizzare i contatori dei pacchetti (byte) che passano attraverso le interfacce di rete. Per interrogarli sarebbe corretto utilizzare il protocollo standardizzato di gestione remota SNMP. Usandolo, puoi facilmente ottenere non solo i valori dei contatori specificati, ma anche altri parametri, come il nome e la descrizione dell'interfaccia, gli indirizzi MAC visibili attraverso di essa e altre informazioni utili. Questo viene fatto sia tramite utilità della riga di comando (snmpwalk), browser grafici SNMP, sia programmi di monitoraggio della rete più complessi (rrdtools, cactus, zabbix, whats up gold, ecc.). Tuttavia, questo metodo presenta due inconvenienti significativi:
  • Il blocco del traffico può essere effettuato solo disabilitando completamente l'interfaccia, utilizzando lo stesso SNMP
  • i contatori di traffico rilevati tramite SNMP si riferiscono alla somma delle lunghezze dei pacchetti Ethernet (unicast, broadcast e multicast separatamente), mentre il resto degli strumenti precedentemente descritti forniscono valori relativi ai pacchetti IP. Ciò crea una notevole discrepanza (soprattutto con i pacchetti brevi) a causa del sovraccarico causato dalla lunghezza dell'intestazione Ethernet (questo problema può essere tuttavia contrastato approssimativamente: L3_byte = L2_byte - L2_packets * 38).
VPN
Separatamente, vale la pena considerare il caso dell'accesso dell'utente alla rete stabilendo esplicitamente una connessione al server di accesso. Un classico esempio è il buon vecchio dial-up, il cui analogo nel mondo moderno sono i servizi di accesso remoto VPN (PPTP, PPPoE, L2TP, OpenVPN, IPSEC)


Il dispositivo di accesso non solo instrada il traffico IP dell'utente, ma funge anche da server VPN specializzato e termina i tunnel logici (spesso crittografati) all'interno dei quali viene trasmesso il traffico dell'utente.
Per tenere conto di tale traffico, è possibile utilizzare tutti gli strumenti sopra descritti (e sono particolarmente adatti per un'analisi approfondita per porte/protocolli), nonché meccanismi aggiuntivi che forniscono strumenti di controllo dell'accesso VPN. Innanzitutto parleremo del protocollo RADIUS. Il suo lavoro è un argomento piuttosto complesso. Menzioneremo brevemente che il controllo (autorizzazione) dell'accesso al server VPN (client RADIUS) è ​​controllato da un'applicazione speciale (server RADIUS), che dispone di un database (file di testo, SQL, Active Directory) degli utenti consentiti con i loro attributi (restrizioni sulla velocità di connessione, indirizzi IP assegnati). Oltre al processo di autorizzazione, il client trasmette periodicamente al server messaggi di contabilità, informazioni sullo stato di ciascuna sessione VPN attualmente in esecuzione, inclusi i contatori di byte e pacchetti trasmessi.

Conclusione

Riuniamo insieme tutti i metodi per raccogliere informazioni sul traffico sopra descritti:

Riassumiamo. In pratica, esistono numerosi metodi per connettere la rete che gestisci (con clienti o abbonati d'ufficio) a un'infrastruttura di rete esterna, utilizzando una serie di strumenti di accesso: router software e hardware, switch, server VPN. Tuttavia, quasi in ogni caso, è possibile elaborare uno schema in cui le informazioni sul traffico trasmesso sulla rete possono essere inviate a uno strumento software o hardware per la loro analisi e gestione. È anche possibile che questo strumento consenta un feedback al dispositivo di accesso, utilizzando algoritmi intelligenti di restrizione dell'accesso per singoli client, protocolli e altre cose.
Qui finirò l'analisi del materiale. Gli altri argomenti senza risposta sono:

  • come e dove vanno i dati sul traffico raccolti
  • software di contabilità del traffico
  • Qual è la differenza tra la fatturazione e un semplice “contatore”?
  • Come si possono imporre restrizioni al traffico?
  • contabilità e limitazione dei siti Web visitati

Visualizzazioni: 3498

Qualunque amministratore prima o poi riceve istruzioni dal management: “conta chi va online e quanto scarica”. Per i fornitori, questo è completato dal compito di “far entrare chiunque ne abbia bisogno, accettare il pagamento, limitare l’accesso”. Cosa contare? Come? Dove? Ci sono molte informazioni frammentarie, non sono strutturate. Salveremo l'amministratore alle prime armi da noiose ricerche fornendogli conoscenze generali e collegamenti utili all'hardware.
In questo articolo cercherò di descrivere i principi di organizzazione della raccolta, contabilità e controllo del traffico sulla rete. Esamineremo il problema ed elencheremo i possibili modi per recuperare informazioni dai dispositivi di rete.

Questo è il primo articolo teorico di una serie di articoli dedicati alla raccolta, contabilità, gestione e fatturazione del traffico e delle risorse informatiche.

Struttura dell'accesso a Internet

In generale, la struttura di accesso alla rete è simile alla seguente:

  • Risorse esterne: Internet, con tutti i siti, server, indirizzi e altre cose che non appartengono alla rete che controlli.

  • Dispositivo di accesso: router (hardware o basato su PC), switch, server VPN o concentratore.

  • Le risorse interne sono un insieme di computer, sottoreti, abbonati il ​​cui funzionamento sulla rete deve essere preso in considerazione o controllato.

  • Un server di gestione o contabilità è un dispositivo su cui viene eseguito un software specializzato. Può essere funzionalmente combinato con un router software.

In questa struttura, il traffico di rete passa dalle risorse esterne a quelle interne, e viceversa, attraverso il dispositivo di accesso. Trasmette le informazioni sul traffico al server di gestione. Il server di controllo elabora queste informazioni, le memorizza nel database, le visualizza ed emette comandi di blocco. Tuttavia, non tutte le combinazioni di dispositivi (metodi) di accesso e metodi di raccolta e controllo sono compatibili. Le varie opzioni verranno discusse di seguito.

Traffico di rete

Innanzitutto è necessario definire cosa si intende per “traffico di rete” e quali informazioni statistiche utili possono essere estratte dal flusso di dati degli utenti.
Il protocollo di internetworking dominante rimane. Il protocollo IP corrisponde al livello 3 (L3). Le informazioni (dati) tra il mittente e il destinatario sono raggruppate in pacchetti, aventi un'intestazione e un "carico utile". L'intestazione determina da e verso il pacchetto (indirizzi IP del mittente e del destinatario), la dimensione del pacchetto e il tipo di carico utile. La maggior parte del traffico di rete è costituita da pacchetti di payload UDP e TCP: si tratta dei protocolli Layer 4 (L4). Oltre agli indirizzi, l'intestazione di questi due protocolli contiene i numeri di porta, che determinano il tipo di servizio (applicazione) che trasmette i dati.

Per trasmettere un pacchetto IP via cavo (o radio), i dispositivi di rete sono costretti a “avvolgerlo” (incapsularlo) in un pacchetto di protocollo Layer 2 (L2). Il protocollo più comune di questo tipo è . La trasmissione vera e propria “al filo” avviene al 1° livello. Tipicamente, il dispositivo di accesso (router) non analizza le intestazioni dei pacchetti a livelli superiori al livello 4 (un'eccezione sono i firewall intelligenti).
Le informazioni provenienti dai campi indirizzi, porte, protocolli e contatori di lunghezza delle intestazioni L3 e L4 dei pacchetti di dati costituiscono la "materia prima" utilizzata nella contabilità e nella gestione del traffico. La quantità effettiva di informazioni trasmesse si trova nel campo Lunghezza dell'intestazione IP (inclusa la lunghezza dell'intestazione stessa). A proposito, a causa della frammentazione dei pacchetti dovuta al meccanismo, il volume totale dei dati trasmessi è sempre maggiore della dimensione del carico utile.

La lunghezza totale dei campi IP e TCP/UDP del pacchetto che ci interessano in questo contesto è pari al 2...10% della lunghezza totale del pacchetto. Se elabori e memorizzi tutte queste informazioni batch per batch, non ci saranno risorse sufficienti. Fortunatamente, la stragrande maggioranza del traffico è strutturata in modo da consistere in una serie di “conversazioni” tra dispositivi di rete esterni ed interni, chiamati “flussi”. Ad esempio, nell'ambito di un'operazione di invio di un'e-mail (protocollo SMTP), viene aperta una sessione TCP tra il client e il server. È caratterizzato da un insieme costante di parametri (indirizzo IP di origine, porta TCP di origine, indirizzo IP di destinazione, porta TCP di destinazione). Invece di elaborare e memorizzare informazioni pacchetto per pacchetto, è molto più conveniente memorizzare i parametri di flusso (indirizzi e porte), nonché informazioni aggiuntive: il numero e la somma delle lunghezze dei pacchetti trasmessi in ciascuna direzione, facoltativamente durata della sessione, interfaccia del router indici, valore del campo ToS, ecc. Questo approccio è vantaggioso per i protocolli orientati alla connessione (TCP), dove è possibile intercettare esplicitamente la terminazione di una sessione. Tuttavia, anche per i protocolli non orientati alla sessione, è possibile eseguire l'aggregazione e il completamento logico di un record di flusso in base, ad esempio, a un timeout. Di seguito è riportato un estratto dal database SQL che registra le informazioni sui flussi di traffico:

È necessario notare il caso in cui il dispositivo di accesso esegue la traduzione degli indirizzi (masquerading) per organizzare l'accesso a Internet per i computer sulla rete locale utilizzando un indirizzo IP pubblico esterno. In questo caso, uno speciale meccanismo sostituisce gli indirizzi IP e le porte TCP/UDP dei pacchetti di traffico, sostituendo gli indirizzi interni (non instradabili su Internet) secondo la sua tabella di traduzione dinamica. In questa configurazione è necessario ricordare che per registrare correttamente i dati sugli host della rete interna, le statistiche devono essere raccolte in un modo e in un luogo in cui il risultato della traduzione non “anonimizzi” ancora gli indirizzi interni.

Metodi per la raccolta di informazioni sul traffico/statistiche

È possibile acquisire ed elaborare le informazioni sul traffico in transito direttamente sul dispositivo di accesso stesso (router PC, server VPN), trasferendole da questo dispositivo a un server separato (NetFlow, SNMP) o "dal cavo" (tap, SPAN). Diamo un'occhiata a tutte le opzioni in ordine.
Router del computer
Consideriamo il caso più semplice: un dispositivo di accesso (router) basato su un PC con Linux.

Informazioni su come configurare un server di questo tipo, traduzione degli indirizzi e routing. Siamo interessati al passaggio logico successivo: informazioni su come ottenere informazioni sul traffico che passa attraverso tale server. Esistono tre metodi comuni:


  • intercettare (copiare) i pacchetti che passano attraverso la scheda di rete del server utilizzando la libreria

  • intercettare i pacchetti che passano attraverso il firewall integrato

  • utilizzando strumenti di terze parti per convertire le statistiche pacchetto per pacchetto (ottenute con uno dei due metodi precedenti) in un flusso di informazioni aggregate netflow

Cap. lib


Nel primo caso, una copia del pacchetto che passa attraverso l'interfaccia, dopo aver superato il filtro (), può essere richiesta da un programma client sul server scritto utilizzando questa libreria. Il pacchetto arriva con un'intestazione di livello 2 (Ethernet). È possibile limitare la lunghezza delle informazioni catturate (se siamo interessati solo alle informazioni dalla sua intestazione). Esempi di tali programmi possono essere . C'è un'implementazione. Se la traduzione degli indirizzi viene utilizzata su un router PC, tale intercettazione può essere effettuata solo sulla sua interfaccia interna collegata agli utenti locali. Sull'interfaccia esterna, dopo la traduzione, i pacchetti IP non contengono informazioni sugli host interni della rete. Tuttavia, con questo metodo non è possibile tenere conto del traffico generato dal server stesso su Internet (cosa importante se gestisce un servizio web o di posta elettronica).

libpcap richiede il supporto del sistema operativo, che attualmente equivale all'installazione di un'unica libreria. In questo caso, il programma applicativo (utente) che raccoglie i pacchetti deve:


  • aprire l'interfaccia richiesta

  • specificare il filtro attraverso il quale far passare i pacchetti ricevuti, la dimensione della parte catturata (snaplen), la dimensione del buffer,

  • impostare il parametro promisc, che mette l'interfaccia di rete in modalità di acquisizione per tutti i pacchetti che passano e non solo quelli indirizzati all'indirizzo MAC di questa interfaccia

  • impostare una funzione (callback) chiamata su ciascun pacchetto ricevuto.

Quando un pacchetto viene trasmesso attraverso l'interfaccia selezionata, dopo aver superato il filtro, questa funzione riceve un buffer contenente Ethernet, (VLAN), IP, ecc. intestazioni, dimensione totale fino a snaplen. Poiché la libreria libcap copia i pacchetti, non può essere utilizzata per bloccarne il passaggio. In questo caso, il programma di raccolta ed elaborazione del traffico dovrà utilizzare metodi alternativi, come richiamare uno script per inserire un determinato indirizzo IP in una regola di blocco del traffico.

Firewall


L'acquisizione dei dati che passano attraverso il firewall consente di tenere conto sia del traffico del server stesso che del traffico degli utenti della rete, anche durante la conversione degli indirizzi. La cosa principale in questo caso è formulare correttamente la regola di cattura e metterla nel posto giusto. Questa regola attiva il trasferimento del pacchetto verso la libreria di sistema, da dove l'applicazione di contabilizzazione e gestione del traffico potrà riceverlo. Per il sistema operativo Linux, iptables viene utilizzato come firewall e gli strumenti di intercettazione sono ipq o. Per OC FreeBSD - ipfw con regole come . In ogni caso, il meccanismo del firewall è completato dalla possibilità di lavorare con un programma utente nel modo seguente:

  • Un programma utente, un gestore del traffico, si registra nel sistema utilizzando una chiamata di sistema o una libreria.

  • Un programma utente o uno script esterno installa una regola nel firewall, “avvolgendo” il traffico selezionato (secondo la regola) all'interno del gestore.

  • Per ogni pacchetto che passa, il gestore riceve il suo contenuto sotto forma di buffer di memoria (con intestazioni IP, ecc. Dopo l'elaborazione (contabilità), il programma deve anche dire al kernel del sistema operativo cosa fare dopo con tale pacchetto: scartarlo oppure trasmetterlo.In alternativa è possibile passare il pacchetto modificato al kernel.

Poiché il pacchetto IP non viene copiato, ma inviato al software per l'analisi, diventa possibile “espellerlo” e quindi limitare completamente o parzialmente il traffico di un certo tipo (ad esempio, a un abbonato della rete locale selezionato). Tuttavia, se il programma applicativo smette di rispondere alla sua decisione al kernel (ad esempio, si blocca), il traffico attraverso il server viene semplicemente bloccato.
Va notato che i meccanismi descritti, con volumi significativi di traffico trasmesso, creano un carico eccessivo sul server, associato alla costante copia dei dati dal kernel al programma utente. Il metodo di raccolta delle statistiche a livello del kernel del sistema operativo, con l'output di statistiche aggregate al programma applicativo utilizzando il protocollo, non presenta questo inconveniente.

Flusso netto
Questo protocollo è stato sviluppato da Cisco Systems per esportare informazioni sul traffico dai router a scopo di contabilità e analisi del traffico. Quello più popolare ora fornisce al destinatario un flusso di dati strutturati sotto forma di pacchetti UDP contenenti informazioni sul traffico passato sotto forma di cosiddetti record di flusso:

La quantità di informazioni sul traffico è di diversi ordini di grandezza inferiore rispetto al traffico stesso, il che è particolarmente importante nelle reti grandi e distribuite. Naturalmente non è possibile bloccare la trasmissione delle informazioni quando si raccolgono statistiche tramite netflow (a meno che non vengano utilizzati meccanismi aggiuntivi).
Attualmente sta diventando popolare un ulteriore sviluppo di questo protocollo: la versione 9, basata sulla struttura del record di flusso del modello, implementazione per dispositivi di altri produttori (). Recentemente è stato adottato lo standard IPFIX, che consente la trasmissione di statistiche tramite protocolli a livelli più profondi (ad esempio, per tipo di applicazione).
L'implementazione dei sorgenti netflow (agenti, sonde) è disponibile per i router PC, sia sotto forma di utilità che funzionano secondo i meccanismi sopra descritti (flowprobe,) sia direttamente integrate nel kernel del sistema operativo (FreeBSD:, Linux:). Per i router software, il flusso delle statistiche del flusso di rete può essere ricevuto ed elaborato localmente sul router stesso o inviato tramite la rete (protocollo di trasferimento - su UDP) al dispositivo ricevente (collettore).


Il programma collector può raccogliere informazioni da molte fonti contemporaneamente, essendo in grado di distinguerne il traffico anche con spazi di indirizzi sovrapposti. Utilizzando strumenti aggiuntivi come ad esempio è anche possibile effettuare ulteriori aggregazioni di dati, biforcazione dei flussi o conversioni di protocollo, il che è importante quando si gestisce una rete ampia e distribuita con dozzine di router.

Le funzioni di esportazione di Netflow supportano i router di Cisco Systems, Mikrotik e alcuni altri. Funzionalità simili (con altri protocolli di esportazione) sono supportate da tutti i principali produttori di apparecchiature di rete.

Libpcap in “fuori”
Complichiamo un po' il compito. Cosa succede se il tuo dispositivo di accesso è un router hardware di un altro produttore? Ad esempio, D-Link, ASUS, Trendnet, ecc. Molto probabilmente è impossibile installare su di esso un software aggiuntivo di acquisizione dati. In alternativa, hai un dispositivo di accesso intelligente, ma non è possibile configurarlo (non hai i diritti o è controllato dal tuo provider). In questo caso è possibile raccogliere informazioni sul traffico direttamente nel punto in cui il dispositivo di accesso incontra la rete interna, utilizzando strumenti “hardware” di copia dei pacchetti. In questo caso avrai sicuramente bisogno di un server separato con una scheda di rete dedicata per ricevere copie dei pacchetti Ethernet.
Il server deve utilizzare il meccanismo di raccolta dei pacchetti tramite il metodo libpcap sopra descritto, e il nostro compito è sottoporre all'ingresso della scheda di rete dedicata a questo scopo un flusso di dati identico a quello proveniente dal server di accesso. Per questo puoi usare:

  • Ethernet - hub (hub): un dispositivo che inoltra semplicemente i pacchetti tra tutte le sue porte indiscriminatamente. Nelle realtà moderne, può essere trovato da qualche parte in un magazzino polveroso e l'utilizzo di questo metodo non è consigliabile: inaffidabile, a bassa velocità (non esistono hub con una velocità di 1 Gbit/s)

  • Ethernet: uno switch con funzionalità di mirroring I moderni switch intelligenti (e costosi) consentono di copiare tutto il traffico (in entrata, in uscita, entrambi) di un'altra interfaccia fisica, VLAN, incluso remoto (RSPAN) su una porta specificata.

  • Hardware, che potrebbe richiedere l'installazione di due schede di rete invece di una da collezionare, e questa è in aggiunta a quella principale del sistema.


Naturalmente, puoi configurare una porta SPAN sul dispositivo di accesso stesso (router), se lo consente: Cisco Catalyst 6500, Cisco ASA. Ecco un esempio di tale configurazione per uno switch Cisco:
monitorare la sessione 1 sorgente vlan 100! da dove prendiamo i pacchi?
monitora la sessione 1 interfaccia di destinazione Gi6/3! dove emettiamo i pacchi?

SNMP
Cosa succede se non abbiamo un router sotto il nostro controllo, non vogliamo contattare netflow, non siamo interessati ai dettagli del traffico dei nostri utenti. Sono semplicemente collegati alla rete tramite uno switch gestito e dobbiamo solo stimare approssimativamente la quantità di traffico diretta a ciascuna delle sue porte. Come sapete, i dispositivi di rete supportano il controllo remoto e possono visualizzare i contatori dei pacchetti (byte) che passano attraverso le interfacce di rete. Per interrogarli sarebbe corretto utilizzare un protocollo di controllo remoto standardizzato. Usandolo, puoi facilmente ottenere non solo i valori dei contatori specificati, ma anche altri parametri, come il nome e la descrizione dell'interfaccia, gli indirizzi MAC visibili attraverso di essa e altre informazioni utili. Ciò viene fatto sia tramite utilità della riga di comando (), browser grafici SNMP sia programmi di monitoraggio della rete più complessi (, ecc.). Tuttavia, questo metodo presenta due inconvenienti significativi:

  • Il blocco del traffico può essere effettuato solo disabilitando completamente l'interfaccia, utilizzando lo stesso SNMP

  • i contatori di traffico rilevati tramite SNMP si riferiscono alla somma delle lunghezze dei pacchetti Ethernet (unicast, broadcast e multicast separatamente), mentre il resto degli strumenti precedentemente descritti forniscono valori relativi ai pacchetti IP. Ciò crea una notevole discrepanza (soprattutto con i pacchetti brevi) a causa del sovraccarico causato dalla lunghezza dell'intestazione Ethernet (questo problema può essere tuttavia contrastato approssimativamente: L3_byte = L2_byte - L2_packets * 38).

VPN
Separatamente, vale la pena considerare il caso dell'accesso dell'utente alla rete stabilendo esplicitamente una connessione al server di accesso. Un classico esempio è il buon vecchio dial-up, il cui analogo nel mondo moderno è l'accesso remoto (PPTP, PPPoE, L2TP, OpenVPN, IPSEC)


Il dispositivo di accesso non solo instrada il traffico IP dell'utente, ma funge anche da server VPN specializzato e termina i tunnel logici (spesso crittografati) all'interno dei quali viene trasmesso il traffico dell'utente.
Per tenere conto di tale traffico, è possibile utilizzare tutti gli strumenti sopra descritti (e sono particolarmente adatti per un'analisi approfondita per porte/protocolli), nonché meccanismi aggiuntivi che forniscono strumenti di controllo dell'accesso VPN. Prima di tutto parleremo del protocollo. Il suo lavoro è un argomento piuttosto complesso. Menzioneremo brevemente che il controllo (autorizzazione) dell'accesso al server VPN (client RADIUS) è ​​controllato da un'applicazione speciale (server RADIUS), che dispone di un database (file di testo, SQL, Active Directory) degli utenti consentiti con i loro attributi (restrizioni sulla velocità di connessione, indirizzi IP assegnati). Oltre al processo di autorizzazione, il client trasmette periodicamente al server messaggi di contabilità, informazioni sullo stato di ciascuna sessione VPN attualmente in esecuzione, inclusi i contatori di byte e pacchetti trasmessi.

Conclusione

Riuniamo insieme tutti i metodi per raccogliere informazioni sul traffico sopra descritti:

Riassumiamo. In pratica, esistono numerosi metodi per connettere la rete che gestisci (con clienti o abbonati d'ufficio) a un'infrastruttura di rete esterna, utilizzando una serie di mezzi di accesso: router software e hardware, switch, server VPN. Tuttavia, quasi in ogni caso, è possibile elaborare uno schema in cui le informazioni sul traffico trasmesso sulla rete possono essere inviate a uno strumento software o hardware per la loro analisi e gestione. È anche possibile che questo strumento consenta un feedback al dispositivo di accesso, utilizzando algoritmi intelligenti di restrizione dell'accesso per singoli client, protocolli e altre cose.
Qui finirò l'analisi del materiale. Gli altri argomenti senza risposta sono:


  • come e dove vanno i dati sul traffico raccolti

  • software di contabilità del traffico

  • Qual è la differenza tra fatturazione e fatturazione semplice?

  • Come si possono imporre restrizioni al traffico?

  • contabilità e limitazione dei siti Web visitati

Maggio
2017

Pubblicazioni

Principi di instradamento e conversione del traffico IP in una rete VPN realizzata utilizzando la tecnologia ViPNet

La pubblicazione discute i principi di base dell'instradamento e della conversione del traffico nella rete virtuale ViPNet, che garantiscono l'interazione dei nodi ViPNet con diversi metodi di connessione alle reti di telecomunicazione.

La pubblicazione è rivolta agli specialisti tecnici che necessitano di comprendere le specificità della rete ViPNet. Ad esempio, nei casi in cui è necessario valutare la fattibilità della sua implementazione o pianificarne l'implementazione.

Per leggere questo articolo è necessario avere una conoscenza di base delle reti IP e dei firewall.

introduzione

Molti sistemi VPN sono progettati principalmente per connettere in modo sicuro reti locali su Internet e organizzare un accesso remoto sicuro alle risorse. Se, insieme a questi compiti, c'è il compito di organizzare la protezione del traffico direttamente tra i nodi, indipendentemente dalla loro posizione, anche all'interno della rete locale, secondo lo schema Peer-to-Peer, l'uso di tali sistemi diventa molto difficile. La tecnologia ViPNet consente di risolvere facilmente i problemi di connettività VPN dei nodi in qualsiasi topologia.

Una delle differenze vantaggiose tra la tecnologia ViPNet e i classici sistemi VPN è l'assenza di procedure di sincronizzazione e generazione di chiavi durante le sessioni di scambio sicuro di informazioni tra i nodi ViPNet. Questa proprietà aumenta significativamente la stabilità del sistema e garantisce un'elevata affidabilità di vari servizi di rete.

1.1 Componenti della rete virtuale ViPNet

La rete virtuale è costruita utilizzando componenti ViPNet per vari sistemi operativi, sistemi hardware e software ViPNet, nonché macchine virtuali già pronte per vari ambienti virtuali. La rete virtuale può includere anche dispositivi mobili su piattaforme iOS, Android e altre piattaforme OS su cui sono installate applicazioni ViPNet Client sviluppate per tali piattaforme.

I computer e i dispositivi mobili dotati del software ViPNet Client verranno di seguito denominati Client. I client forniscono la protezione della rete e l'inclusione di singoli computer e dispositivi nella rete VPN.

I computer dotati del software ViPNet Coordinator per Windows e Linux, i sistemi hardware e software ViPNet per reti grandi e piccole, i gateway di sicurezza industriale di varia capacità, i coordinatori ViPNet su macchine virtuali sono di seguito denominati Coordinatori. I coordinatori di varie classi di sicurezza forniscono la crittografia del traffico delle risorse di rete che tunnelano (come i gateway VPN), inoltrano il traffico VPN tra altri nodi VPN, eseguono funzioni di servizio per mantenere la connettività della rete protetta e ottimizzano i percorsi del traffico VPN tra i nodi.

Clienti e Coordinatori sono chiamati nodi della rete virtuale ViPNet o semplicemente nodi ViPNet. La possibilità di scambiare traffico attraverso canali sicuri tra nodi ViPNet (comunicazioni tra nodi) è impostata centralmente dall'amministratore.

1.2 Funzioni del coordinatore

I coordinatori sono solitamente installati ai margini delle reti e svolgono le seguenti funzioni:

    Il gateway VPN è una funzione standard per le VPN classiche che implementa la creazione di canali (tunnel) da sito a sito e da client a sito sicuri tra nodi locali e remoti. Il coordinatore può creare un canale di questo tipo attraverso una cascata di altri coordinatori che svolgono la funzione di instradamento dei pacchetti VPN.

    Firewall: una funzione di filtraggio per connessioni di rete locali e di transito aperte, protette e tramite tunnel, nonché una funzione di traduzione degli indirizzi per connessioni aperte e tramite tunnel.

    Il server degli indirizzi IP è una funzione di scambio automatico di informazioni attuali sulla topologia della rete tra i nodi ViPNet sia all'interno di una determinata rete virtuale sia quando interagiscono con i nodi di altre reti virtuali ViPNet. Le informazioni vengono scambiate utilizzando uno speciale protocollo di routing dinamico sicuro per il traffico VPN (vedere "Protocollo di routing dinamico"). Il risultato di questo protocollo è la capacità di instradare il traffico VPN tra i nodi della rete ViPNet lungo un percorso ottimale per il metodo utilizzato e dove il nodo è connesso alla rete.

    Il router di pacchetti VPN è una funzione che fornisce l'instradamento del traffico VPN in transito che passa attraverso il coordinatore verso altri nodi ViPNet. L'instradamento viene effettuato sulla base degli identificatori dei nodi protetti trasmessi nella parte aperta dei pacchetti VPN e protetti dalla falsificazione mediante imitazioni, e sulla base dei dati ottenuti come risultato del protocollo di instradamento dinamico per il traffico VPN. Tutto il traffico VPN instradato al coordinatore viene inviato al nodo ViPNet successivo o finale all'indirizzo IP e alla porta su cui questo nodo è accessibile. L'indirizzo IP di origine del pacchetto viene sostituito con l'indirizzo dell'interfaccia del coordinatore da cui ha avuto origine il pacchetto. Quando lavora come router di pacchetti VPN, il coordinatore non ha accesso ai dati crittografati di altri nodi, ma li inoltra soltanto.

    Se un client o un coordinatore si connette a Internet tramite un dispositivo con NAT dinamico, non è direttamente accessibile alle connessioni proattive in entrata da altri nodi. In questo caso, per organizzare l'accesso alle risorse della rete aziendale dietro questo coordinatore o per connettersi a tale client da nodi remoti, viene definito per loro uno dei coordinatori nella rete esterna come server di connessione con il quale mantengono una comunicazione costante. Grazie alla funzionalità del router di pacchetto VPN, il server di connessione funge da collegamento intermedio per stabilire la comunicazione con tale nodo da una rete esterna (con possibilità di successivo passaggio alla comunicazione diretta, per maggiori dettagli vedere “Connessione di due nodi che si connettono a Internet tramite dispositivi dotati di NAT dinamico”).

    Il server di connessione viene configurato automaticamente nelle impostazioni dei client quando vengono distribuiti e può essere modificato in seguito. Per il coordinatore, se necessario, il server di connessione può essere specificato nelle sue impostazioni.

    Il server di trasporto è una funzione che garantisce la consegna di aggiornamenti chiave, informazioni della guida, policy, aggiornamenti del software ViPNet dai programmi di gestione della rete ViPNet ai nodi protetti, nonché l'instradamento delle buste di posta del software applicativo ViPNet (ad esempio, ViPNet Business Mail, File Exchange programmi).

Per impostazione predefinita, il server degli indirizzi IP è il server di connessione per il client. Se necessario, è possibile designare un altro coordinatore come server di connessione.

2. Principi generali di interazione tra nodi ViPNet in una rete virtuale

I nodi della rete ViPNet possono trovarsi in qualsiasi tipo di rete che supporti il ​​protocollo IP. Il metodo per connettere un nodo alla rete può essere qualsiasi: rete Ethernet, PPPoE tramite una connessione XDSL, PPP tramite una connessione Dial-up o ISDN, qualsiasi rete cellulare, dispositivi Wi-Fi, reti MPLS o VLAN e altri.

2.1 Protocollo di routing dinamico

Due nodi di una rete ViPNet possono interagire tra loro se l'amministratore ha definito le connessioni tra loro nell'applicativo di gestione (ViPNet Administrator). Per accedere ai nodi tunnelizzati remoti, è necessario stabilire una connessione con il coordinatore che li tunnela. Configurare una connessione tra due nodi significa che i due nodi dispongono delle informazioni chiave necessarie per organizzare una connessione VPN sicura tra loro.

Ogni client ha il “proprio” coordinatore: il suo server di indirizzo IP, server di connessione e server di trasporto (vedi “Funzioni del coordinatore”. Se necessario, è possibile configurare queste funzioni affinché vengano eseguite da diversi coordinatori).

La capacità costante dei nodi ViPNet di accedere tra loro è fornita dal protocollo di instradamento dinamico per il traffico VPN, operante a livello di applicazione del sistema operativo. Lo scambio dei dati di servizio nell'ambito di questo protocollo avviene attraverso le stesse connessioni VPN ed è quindi protetto.

Il lavoro del protocollo di routing dinamico è quello di trasferire automaticamente tra i nodi della rete ViPNet informazioni aggiornate sui possibili modi per accedervi reciprocamente, nonché elenchi dei loro reali indirizzi IP. Il protocollo distribuisce queste informazioni non solo all'interno della propria rete ViPNet, ma anche tra i nodi di diverse reti ViPNet (se gli amministratori delle due reti hanno concordato e scambiato informazioni rilevanti sulle connessioni tra i nodi delle due reti per un'interazione sicura in conformità con i loro compiti).

Un ruolo chiave nel funzionamento del protocollo è svolto dai coordinatori, che forniscono a tutti i nodi della rete le informazioni necessarie per organizzare la comunicazione. Agendo come server di indirizzi IP, i coordinatori raccolgono informazioni sugli attuali metodi di accesso ai “loro” clienti. Successivamente, i server di indirizzi IP trasmettono queste informazioni ai nodi associati ai loro clienti, direttamente o attraverso una catena di altri coordinatori.

Per garantire la trasmissione sicura del traffico in conformità con i compiti di scambio di informazioni (di seguito denominato traffico target), è necessario definire le connessioni tra i nodi che proteggono questo traffico (client e coordinatori del tunneling), nonché impostare le connessioni tra client e " i loro” coordinatori, che nella maggior parte dei casi vengono creati automaticamente.

Per garantire la trasmissione sicura del traffico del protocollo di routing dinamico (di seguito denominato traffico di servizio), è inoltre necessario definire le connessioni tra i coordinatori, lungo la catena della quale devono essere trasmesse le informazioni sull'accesso ai nodi. Nelle reti piccole, per semplicità, i coordinatori possono essere collegati su base tutti-a-tutti. Tuttavia, nelle reti di grandi dimensioni, per ridurre il traffico di servizio, il numero di connessioni tra i coordinatori dovrebbe essere ridotto al minimo e le connessioni dovrebbero essere impostate in base alle seguenti possibilità di instradamento del traffico di servizio:

    All'interno di una rete ViPNet, le informazioni vengono trasmesse lungo una catena in cui non ci sono più di due coordinatori. Cioè, se i client sono interconnessi, allora devono essere interconnessi anche i coordinatori che svolgono le funzioni di un server di indirizzi IP per questi client.

  • Quando due diverse reti ViPNet interagiscono, lo scambio del traffico di servizio può avvenire lungo una catena composta da un massimo di due coordinatori in ciascuna rete. Grazie a ciò, in ogni rete è sufficiente selezionare un coordinatore (gateway), attraverso il quale avverrà lo scambio con un'altra rete, e collegarlo con lo stesso coordinatore nell'altra rete. E questi coordinatori vengono contattati dai coordinatori di ciascuna rete, che devono trasferire le informazioni sul servizio a un'altra rete. Con questa topologia, i coordinatori del gateway diventano un “singolo punto di ingresso” in un'altra rete, il che semplifica sia la gestione che il controllo dell'internetworking. Naturalmente, se i coordinatori delle due reti sono collegati direttamente, e non tramite coordinatori gateway dedicati, allora le informazioni verranno trasmesse in modo più breve.

Grazie al protocollo di routing dinamico, tutti i nodi ViPNet dispongono di informazioni sui parametri di accesso agli altri nodi con cui sono collegati. In ogni caso, il traffico mirato tra i nodi, indipendentemente dal percorso del traffico di servizio, prenderà il percorso più breve, aggirando i coordinatori, se l'infrastruttura di rete esistente lo consente (vedi, ad esempio: “Connessione di due nodi che si collegano a Internet tramite dispositivi dotati di NAT dinamico”).

2.2 Incapsulamento

Il software ViPNet intercetta tutto il traffico di rete del cliente o del coordinatore. Il traffico destinato alla trasmissione attraverso un canale sicuro a un altro nodo ViPNet è incapsulato in pacchetti IP protetti da ViPNet. I pacchetti IP di origine di qualsiasi protocollo vengono incapsulati (tunneling a livello di rete).

Quando un qualsiasi pacchetto IP risulta indirizzato ad altri nodi ViPNet con i quali è in corso una connessione, il pacchetto, senza alcun protocollo per stabilire preventivamente la connessione con il nodo destinatario, viene crittografato, incapsulato in un pacchetto ViPNet e trasmesso attraverso la rete VPN al destinatario nodo.

Alcune modifiche ai coordinatori supportano anche la costruzione di tunnel a livello di collegamento dati (L2 OSI), che consente di combinare segmenti di rete remoti in un'unica rete locale. In questo caso, i frame Ethernet di qualsiasi protocollo di rete, non solo IP, vengono incapsulati in pacchetti IP protetti da ViPNet (protocollo UDP).

Per l'incapsulamento nei pacchetti ViPNet vengono utilizzati due tipi di protocolli IP:

    IP/UDP con porta di origine predefinita 55777 o qualsiasi altra porta registrata automaticamente con altri nodi.

    IP/241 - utilizzato quando i nodi interagiscono sulla stessa rete locale.

Per la comunicazione tra nodi nello stesso dominio di trasmissione, viene utilizzato automaticamente il protocollo IP/241, che presenta un sovraccarico inferiore grazie all'assenza di intestazioni UDP aggiuntive.

Il protocollo IP/241 viene utilizzato per incapsulare il traffico tra i nodi nello stesso dominio di trasmissione.

In altri casi viene utilizzato automaticamente il protocollo UDP, per il quale è facile organizzare il passaggio dei pacchetti IP attraverso qualsiasi tipo di firewall e dispositivi con NAT. Quando si generano pacchetti UDP sicuri, i nodi impostano per impostazione predefinita la porta di origine 55777 (porta di incapsulamento), ma nelle loro impostazioni è possibile impostare una porta arbitraria che, grazie al protocollo di routing dinamico, diventerà nota ad altri nodi per organizzare l'accesso su questo porta. Quando si passa attraverso i dispositivi NAT su una rete, la porta di origine nei pacchetti potrebbe cambiare. Le informazioni a riguardo verranno rese note anche ad altri nodi per organizzare il passaggio del traffico in arrivo.

Il protocollo UDP viene utilizzato per incapsulare il traffico tra nodi separati da un dispositivo NAT

Ci sono casi in cui la trasmissione di pacchetti UDP è vietata dal provider Internet e l'interazione dei nodi protetti utilizzando il protocollo UDP è impossibile. Ad esempio, il traffico UDP potrebbe essere vietato quando si utilizzano punti di accesso negli hotel e in altri luoghi pubblici.

Il nodo rileva automaticamente tale divieto e stabilisce una connessione TCP con il server di connessione (per impostazione predefinita sulla porta 80), attraverso la quale trasmette i pacchetti UDP generati. Il traffico ViPNet per altri nodi viene trasmesso attraverso questa connessione al server di connessione, da dove viene ulteriormente trasmesso nella sua forma abituale. Quando si configura un tunnel TCP sul server di connessione, è possibile specificare qualsiasi porta su cui il server riceverà i pacchetti TCP.


Se non è possibile utilizzare il traffico UDP, il nodo stabilisce una connessione via TCP con il proprio server di connessione e attraverso di esso scambia traffico UDP con altri nodi della rete ViPNet

2.3 Impostazioni iniziali di una rete sicura

I nodi ricevono automaticamente tutte le informazioni necessarie per l'interazione dell'applicazione attraverso il protocollo di routing dinamico per il traffico VPN. Le impostazioni iniziali da effettuare durante la distribuzione di una rete sono minime:

    Nel Centro di controllo della rete, crea la struttura della rete: client, coordinatori e le loro connessioni.

    Specificare indirizzi IP o nomi DNS per accedere ai coordinatori di rete.

    I client ViPNet generalmente non richiedono alcuna impostazione dopo l'installazione del software.

    Per ciascun coordinatore, se necessario, impostare una delle diverse modalità per la connessione a una rete esterna. La modalità predefinita (“Con traduzione dell'indirizzo statico”) nella maggior parte dei casi ne garantisce il funzionamento senza impostazioni aggiuntive. Per ulteriori informazioni sull'impostazione delle modalità di connessione sul coordinatore, vedere la sezione "Opzioni per connettere i coordinatori a una rete esterna".

    Sul firewall esterno dell'organizzazione, se necessario, configurare il passaggio del protocollo ViPNet corrispondente (porte e indirizzi del protocollo UDP e/o TCP).

    Per interagire con i nodi desiderati di altre reti ViPNet, scambia alcune informazioni di servizio primarie con l'amministratore dell'altra rete ViPNet. In futuro, tale scambio avverrà automaticamente.

3. Meccanismi di connessione nella rete ViPNet

3.1 Determinazione delle posizioni relative dei nodi

I nodi effettuano connessioni in modo diverso a seconda di come sono posizionati l'uno rispetto all'altro:

    Si trovano nello stesso dominio di trasmissione.

    Si trovano nella stessa rete instradata, ma in domini broadcast diversi, ovvero sono separati da dispositivi di instradamento (compresi quelli con traduzione di indirizzi statici) e sono inaccessibili tra loro tramite broadcast.

    Separato da dispositivi NAT con traduzione dinamica degli indirizzi.

Quando si connette alla rete o modifica il proprio indirizzo IP, un nodo esegue una trasmissione speciale e, in base alle risposte, determina quali altri nodi ViPNet si trovano nello stesso dominio di trasmissione. Tali nodi registrano gli indirizzi IP degli altri. I pacchetti inviati a questi indirizzi vengono crittografati e incapsulati nel protocollo IP/241.

I client utilizzano un server di indirizzi IP per ottenere informazioni sugli host che non sono accessibili nel loro dominio di trasmissione e, per stabilire una connessione iniziale sicura con essi, utilizzano un server di connessione che dispone di informazioni di accesso completo su altri host.

3.2. Connessione di due host che si connettono a Internet tramite dispositivi NAT dinamici

Consideriamo l'organizzazione delle connessioni tra due nodi che si connettono a Internet tramite un provider che fornisce l'accesso a Internet in modalità NAT dinamica. Ad esempio, il Cliente 1 si trova in un hotel a Londra e il Cliente 2 si trova in un hotel a San Pietroburgo:

1. All'accensione del computer, il software ViPNet determina per ciascun Client un canale di accesso al proprio server di connessione tramite protocollo UDP (il server di connessione può essere comune).

Se il Client 1 non riesce a connettersi al proprio server di connessione tramite il protocollo UDP, il Client stabilisce una connessione tramite il protocollo TCP (per impostazione predefinita, porta 80, ma è possibile impostare qualsiasi altra porta).

2. Dopo essersi connesso al server di connessione, il client mantiene una connessione con esso inviandogli periodicamente pacchetti IP di prova. Grazie a ciò, il Client 1 offre la possibilità ad altri nodi, incluso il Client 2, di stabilire una connessione proattiva con esso attraverso il proprio server di connessione. L'intervallo predefinito per l'invio di pacchetti IP al server di connessione è di 25 secondi. Questo di solito è sufficiente per funzionare con la maggior parte dei dispositivi NAT. Se necessario, l'intervallo (timeout) può essere modificato.

3. Se il traffico target appare da qualche applicazione sul Client 1 in direzione del Client 2 (ad esempio, VoIP), il Client 1 inizia a trasmettere i pacchetti attraverso il suo server di connessione. Il server di connessione, a sua volta, inoltra questi pacchetti al server di connessione del Client 2 e quel server li inoltra allo stesso Client 2. Il traffico di ritorno segue un percorso simile.

Se il Client 1 si connette al proprio Connection Server tramite una connessione TCP, il Connection Server estrae il traffico UDP dalla connessione TCP (che è ancora crittografata e non può essere decrittografata dal Connection Server). Il server inoltra il traffico UDP al Client 2 tramite il proprio server di connessione. Se il Client 2 comunica con il proprio server di connessione tramite TCP, il traffico che raggiunge il server di connessione del Client 2 andrà al Client 2 tramite quella connessione TCP.

Pertanto, due client comunicano tra loro tramite due server di connessione. Se un client si connette a un server di connessione tramite UDP, con una configurazione dell'ambiente di rete favorevole, i server di connessione possono essere esclusi dall'interazione, ovvero i client vanno direttamente al messaggio. Considera questo meccanismo:

1. Parallelamente all'inizio della trasmissione e della ricezione del traffico di destinazione tramite il protocollo UDP tramite i server di connessione, si verifica quanto segue:

    Entrambi i client, tramite i server di connessione, si trasmettono reciprocamente un pacchetto di prova con informazioni sui parametri di accesso diretto a se stessi dalla rete esterna (indirizzo e porta), ricevute dal proprio server di connessione.

  • Entrambi i client ricevono questi pacchetti l'uno dall'altro e apprendono i parametri per un possibile accesso diretto l'uno all'altro. Inoltre ogni client dispone anche di informazioni sull'accesso al server di connessione dell'altro client (ricevono queste informazioni in anticipo dai propri server di indirizzi IP). Utilizzando questi dati entrambi i client trasmettono pacchetti di prova IP direttamente agli indirizzi e alle porte di accesso dell'altro e ai server di connessione dell'altro.

1. Se il pacchetto IP di prova di almeno una delle parti è riuscito a passare direttamente attraverso il dispositivo NAT dell'altra parte, tra i nodi viene stabilita una connessione diretta. Questa connessione diretta rimane disponibile per entrambe le parti per 75 secondi dopo la fine del traffico di destinazione. Successivamente, i percorsi vengono ripristinati e, se è necessario stabilire una connessione, i nodi iniziano nuovamente a trasmettere il traffico attraverso i loro server di connessione.

Non tutti i tipi NAT consentono connessioni dirette (vedi sotto). Una connessione diretta è possibile se almeno una delle parti dispone di un dispositivo NAT che lo consente.

2. Se i pacchetti IP diretti di prova non raggiungono nessuno dei due lati, ma raggiungono il server di connessione dell'altro lato, il traffico target tra i due client passerà attraverso uno dei server di connessione. La disponibilità di questa connessione rimane anche per i nodi in connessione per 75 secondi dopo la fine della trasmissione del traffico di destinazione. Una situazione simile si verifica se uno dei client si connette al proprio server di connessione tramite TCP. Questo server di connessione non può essere escluso dall'inoltro del traffico, ma è possibile escludere un altro server di connessione al quale il suo nodo è connesso tramite UDP.

3. Se i pacchetti di prova non arrivano da nessuna parte, il traffico tra i due nodi continuerà a seguire un lungo percorso attraverso due server di connessione.

Inizio dell'interazione tra client dietro dispositivi NAT tramite server di connessione e passaggio all'interazione diretta

Esistono quattro tipi di NAT dinamico: Cone NAT, Cone NAT con restrizioni sull'indirizzo (o Cone NAT con restrizioni), Cone NAT con restrizioni sulle porte, NAT simmetrico. La creazione di una connessione diretta non è supportata a meno che entrambi i dispositivi NAT non siano configurati per eseguire NAT simmetrico. In questo caso, il traffico passerà attraverso uno dei server di connessione. Se almeno un lato esegue un tipo NAT diverso, verrà stabilita una connessione diretta.

Pertanto con il nodo remoto viene stabilita una connessione diretta oppure una connessione tramite uno dei server di connessione. Se possibile, i nodi stabiliscono l'interazione tra loro lungo i percorsi più brevi senza la partecipazione dei propri server di connessione, aumentando così la velocità di scambio del traffico IP crittografato e riducendo il carico sui coordinatori. Se i client non riescono a stabilire una connessione più breve, continuano comunque a comunicare tra loro tramite i rispettivi server di connessione.

3.3 Connessione di nodi in una rete instradata

Se due client si trovano sulla stessa rete instradata o sono separati da dispositivi con NAT statico, ma non possono raggiungersi tramite broadcast, inviano i primi pacchetti anche tramite il server di connessione. Successivamente, secondo il meccanismo sopra descritto (vedi “Collegamento di due nodi che si connettono a Internet tramite dispositivi con NAT dinamico”), è garantito che tali nodi comunichino direttamente, senza l'intervento di un server di connessione. Le successive connessioni tra i due nodi vengono stabilite in conformità con le informazioni di routing memorizzate senza coinvolgere direttamente il server di connessione.

I nodi mantengono reciprocamente le informazioni di instradamento dei pacchetti, che non verranno ripristinate anche se non c'è traffico mirato. Le informazioni vengono ripristinate solo se il nodo viene disconnesso e poi ricollegato alla rete.

3.4 Selezione di un server di connessione per un client che si sta spostando su un'altra rete ViPNet

L'utente del client o l'amministratore di rete può selezionare qualsiasi coordinatore per il client come server di connessione, incluso un coordinatore in un'altra rete ViPNet con la quale è stato stabilito l'internetworking. Ciò può essere necessario, ad esempio, se il cliente si sposta su una rete locale, dalla quale l'accesso a Internet è possibile solo tramite un coordinatore “straniero” situato in questa rete locale (il coordinatore di un'altra rete ViPNet). La condizione per potersi connettere tramite un server di connessione su un'altra rete è:

    la presenza di interazione internetwork tra la rete client e la rete di server di connessione;

    connessione di un server di connessione “estraneo” con un coordinatore nella “loro” rete, che funge da server di indirizzi IP per il client.

Il compito del server di connessione è fornire connessioni tra il client e i nodi a cui è associato il client. A tale scopo il server di connessione deve disporre di informazioni sui possibili percorsi di accesso a questi nodi per garantire che il traffico target del client venga instradato. Tuttavia, le informazioni sui parametri di accesso ai nodi di altre reti possono entrare in una rete straniera (la rete del server di connessione) solo se questi nodi sono collegati a qualsiasi nodo di questa rete straniera. Nella maggior parte dei casi, questo non è il caso e almeno alcuni (e forse tutti) i nodi a cui è associato il client e a cui il client potrebbe dover accedere non sono connessi a quella rete. Ma le informazioni sull’accesso a questi nodi sono di proprietà del server degli indirizzi IP del cliente nella sua rete. Il server dell'indirizzo IP lo trasmette al client. Dopo aver ricevuto queste informazioni, il client le inoltra al server di connessione sulla rete straniera. Di conseguenza, un server di connessione su una rete esterna può instradare il traffico target del client a tutti gli host a cui è associato. Il cliente ha accesso a tutte le risorse della propria e di altre reti sicure con le quali è connesso.

Se il server di connessione originale del client è accessibile dalla rete locale in cui si è spostato il client, non è necessario modificare il server di connessione.

4. Opzioni per collegare i coordinatori a una rete esterna

Per il coordinatore è possibile impostare una delle diverse modalità di connessione alla rete esterna. La scelta della modalità dipende dal fatto che il coordinatore sia separato dalla rete esterna da un firewall esterno al coordinatore. È possibile impostare le seguenti modalità:

    Modalità di connessione “Senza utilizzo di firewall”.

    Modalità di connessione “Behind the Coordinator”, in cui il firewall esterno è un altro coordinatore.

    Modalità di connessione tramite firewall “Con traduzione di indirizzi statici”.

    Modalità di connessione tramite firewall “Con traduzione dinamica degli indirizzi”.

Per impostazione predefinita, i coordinatori sono impostati per lavorare attraverso un firewall “Con traduzione di indirizzi statici”. La modalità può essere modificata nell'applicativo di gestione ViPNet Administrator o direttamente sul coordinatore. Questa modalità è abbastanza universale e può essere utilizzata nella maggior parte dei casi.

4.1 Collegare il coordinatore in modalità “Senza l'utilizzo del firewall”.

Se il coordinatore dispone di un indirizzo IP permanente su Internet, è possibile creare un percorso verso di esso da qualsiasi rete con accesso a Internet. Su tale coordinatore è possibile impostare la modalità "Senza l'utilizzo di un firewall".

In questo caso è possibile utilizzare la modalità predefinita “Con traduzione indirizzo statico”. Nelle future versioni di ViPNet la modalità “Senza utilizzo di firewall” verrà eliminata dall'utilizzo.

4.2 Collegamento di un coordinatore tramite un altro coordinatore: modalità “Dietro al coordinatore”.

Se il Coordinatore A si trova al confine tra i segmenti interno ed esterno della rete locale e la rete esterna è protetta dal Coordinatore B, allora il Coordinatore A viene solitamente impostato in modalità "Dietro il Coordinatore", scegliendo il Coordinatore B come esterno Il coordinatore B in questo caso svolge il ruolo di server di connessione del coordinatore A.

Questa installazione di coordinatori in catena uno dopo l'altro (a cascata) consente di proteggere il traffico dei segmenti interni della rete locale sia nel circuito esterno della rete locale sia quando il traffico oltrepassa i suoi confini. Il numero di coordinatori nella catena non è limitato. È possibile installare più coordinatori per ogni coordinatore e garantire così un isolamento affidabile di diversi segmenti tra loro e dalla rete locale generale. I client possono essere posizionati ovunque su questa rete locale per proteggere workstation specifiche.

Attivazione dei coordinatori in cascata

Quando si installano coordinatori all'interno di una rete locale dietro un coordinatore situato sul suo confine (inclusione a cascata dei coordinatori), il traffico dal segmento interno della rete locale ai nodi ViPNet remoti viene trasmesso come segue:

    I coordinatori ViPNet, proteggendo i segmenti interni della rete locale, inviano automaticamente il traffico crittografato destinato alle risorse remote protette a un coordinatore all'estremità del segmento di rete esterna. Questo coordinatore inoltra il traffico sicuro in base alle informazioni che possiede sui nodi remoti.

  • I nodi ViPNet remoti inviano il traffico destinato al segmento interno della rete locale attraverso un coordinatore esterno, che lo reindirizza ulteriormente ai coordinatori all'interno della rete locale.

L'attivazione in cascata dei coordinatori permette di proteggere il traffico proveniente dal segmento interno della rete locale mentre transita sia nel segmento esterno della rete locale che nella rete pubblica esterna. Il collegamento in cascata consente inoltre al traffico VPN di passare lungo il percorso desiderato nella rete globale, che viene spesso utilizzato per controllarlo in vari schemi di amministrazione.

Costruire uno schema con coordinatori a cascata non si limita a impostare i coordinatori in modalità “Dietro il coordinatore”. Lo stesso schema può essere creato utilizzando la modalità coordinatore con NAT dinamico con l'impostazione “Tutto il traffico attraverso il server di connessione”. Nelle versioni future si prevede di utilizzare solo questa modalità coordinatore per realizzare circuiti in cascata.

4.3 Collegamento di un coordinatore attraverso un firewall “Con traduzione di indirizzi statici”

Se un firewall di terze parti con la possibilità di configurare le regole di traduzione degli indirizzi statici è già installato ai margini della rete locale, dietro di esso è possibile posizionare un coordinatore con indirizzi privati ​​delle interfacce di rete e impostare la modalità firewall “Con traduzione degli indirizzi statici " su di essa. Ciascuna delle interfacce di rete del coordinatore può essere connessa a una particolare rete attraverso un firewall separato con regole di traduzione statiche. Attraverso questo coordinatore sarà assicurata l'interazione tra gli altri nodi ViPNet ed i nodi aperti della rete locale con i nodi esterni ad essa. Le regole di traduzione degli indirizzi statici devono essere configurate sul firewall:

    Reindirizzamento dei pacchetti dalla rete esterna all'indirizzo del coordinatore in conformità con la porta di incapsulamento del traffico specificata sul coordinatore.

  • Passaggio di pacchetti UDP nella rete esterna, in cui come origine sono indicati l'indirizzo e la porta di incapsulamento del coordinatore.


Funzionamento del coordinatore in modalità “Con traduzione indirizzo statico”.

Il coordinatore in questa modalità funziona con successo anche in assenza di un vero firewall esterno. Pertanto, questa modalità è installata sui coordinatori per impostazione predefinita.

4.1 Modalità Firewall “Con traduzione dinamica degli indirizzi”

Se il coordinatore è installato ai margini di una rete locale che si connette a reti esterne tramite firewall con traduzione dinamica degli indirizzi, è necessario impostare la modalità operativa dietro il firewall su "Con traduzione dinamica degli indirizzi".

Poiché il coordinatore non è accessibile dalla rete esterna per le connessioni proattive, uno dei coordinatori accessibili dalla rete esterna (che lavora in modalità “Con traduzione indirizzo statico” o “Senza utilizzo di firewall”) dovrebbe essere assegnato come server di connessione per Esso. Il server di connessione fornirà la possibilità di connettersi in modo proattivo alle risorse della rete locale dietro tale coordinatore da qualsiasi altro nodo (tenendo conto delle connessioni nella rete sicura).

Dato che il coordinatore in questa modalità è accessibile dalla rete esterna attraverso il suo server di connessione, i client e le risorse tunnel sulla rete locale dietro di esso sono completamente accessibili ad altri nodi, proprio come dietro il coordinatore in qualsiasi altra modalità. Il lavoro del coordinatore attraverso il server di connessione in questa modalità è simile al lavoro del client dietro il dispositivo NAT sopra descritto e consente di andare al messaggio “direttamente”, senza la partecipazione del server di connessione (per dettagli sulla lavoro dei client tramite il server di connessione, vedere "Collegamento di due nodi che si collegano a Internet tramite dispositivi con NAT dinamico").

Il lavoro del coordinatore nella modalità “Con traduzione dinamica degli indirizzi” è simile al lavoro di un client dietro un dispositivo NAT: è garantita la raggiungibilità del coordinatore dalla rete esterna attraverso il server di connessione. Per semplicità, la figura non mostra il server di connessione del client remoto, che è coinvolto anche nella creazione della connessione iniziale.

Se abiliti l'opzione "Tutto il traffico attraverso il server di connessione" nelle impostazioni del coordinatore, puoi creare schemi a cascata simili alla modalità "Dietro il coordinatore".

5. Tunneling del traffico IP di risorse aperte

Per includere nella rete virtuale i nodi della rete locale il cui traffico non necessita di essere protetto sulla rete locale, il coordinatore svolge la funzione di un server tunneling (gateway VPN):

    Funziona come un gateway per la trasmissione del traffico IP alla rete ViPNet, incapsulando e crittografando il traffico dei nodi con tunnel aperto.

    Fornisce l'interazione tra nodi con tunnel e nodi remoti per qualsiasi protocollo IP. Non importa se gli indirizzi locali dei nodi interagenti sono coerenti. Grazie alla tecnologia dell'indirizzo virtuale, i nodi con gli stessi indirizzi IP possono comunicare nella rete ViPNet (vedi “Indirizzi virtuali nella rete ViPNet”), quindi non è necessario il coordinamento dell'indirizzamento.

    Nasconde la struttura degli indirizzi della rete locale protetta ricevendo e trasmettendo traffico incapsulato per conto del suo indirizzo IP.

Per connettere risorse con tunnel aperto a qualsiasi client remoto, coordinatore o nodo con tunnel di una rete locale remota, sono disponibili tutti gli schemi sopra descritti per connettere i coordinatori alla rete. Ciò consente di sfruttare tutti i vantaggi della rete virtuale ViPNet in reti informative distribuite con topologie complesse.

I nodi aperti che questo coordinatore effettuerà il tunneling possono essere specificati nelle impostazioni del coordinatore o nell'applicazione di gestione ViPNet Administrator sotto forma di indirizzi o intervalli individuali.

6. Indirizzi virtuali nella rete ViPNet

6.1 Come funzionano gli indirizzi virtuali

La tecnologia ViPNet garantisce l'interazione tra risorse protette che dispongono di indirizzi IP privati, senza negoziare l'indirizzamento IP delle sottoreti. Le parti remote possono utilizzare gli stessi indirizzi IP privati ​​e le stesse sottoreti delle risorse protette.

Per garantire questa funzionalità, su ciascun nodo ViPNet vengono generati automaticamente indirizzi virtuali non sovrapposti per tutti gli altri nodi ViPNet con cui è connesso:

    Per clienti e coordinatori viene generato lo stesso numero di indirizzi virtuali di quelli reali.

    Per i singoli indirizzi o intervalli di indirizzi di nodi sottoposti a tunneling da coordinatori remoti, vengono formati indirizzi e intervalli virtuali non sovrapposti.

Su ciascun nodo viene formato il proprio insieme univoco di indirizzi virtuali per gli altri nodi e i dispositivi che attraversano il tunneling.

Gli indirizzi virtuali dei nodi non dipendono dai loro indirizzi reali e sono legati agli identificatori univoci dei nodi ViPNet assegnati loro nell'applicazione di gestione ViPNet Administrator. Se l'indirizzo IP di un nodo ViPNet remoto cambia (tipico per computer mobili, dispositivi e computer con il servizio client DHCP configurato), il suo indirizzo virtuale, una volta creato su questo nodo, non cambierà. Questa proprietà può essere utilizzata nelle applicazioni per autenticare fortemente un host tramite il suo indirizzo virtuale.

6.2 Indirizzi di visibilità

Su ciascun nodo ViPNet sono noti gli elenchi degli indirizzi IP reali di tutti i nodi ViPNet con cui questo nodo è connesso, nonché gli elenchi degli indirizzi IP dei nodi tunnellati dai coordinatori. Il nodo ottiene questi indirizzi in diversi modi:

1. Gli elenchi degli indirizzi reali di altri client e coordinatori vengono trasmessi al nodo in messaggi di servizio dall'applicazione di controllo ViPNet Administrator e attraverso il funzionamento del protocollo di instradamento dinamico del traffico ViPNet (vedi “Protocollo di instradamento dinamico”).

2. Gli elenchi degli indirizzi reali dei nodi tunnellati dai coordinatori remoti vengono trasmessi al nodo nei messaggi di servizio dall'applicazione di controllo ViPNet Administrator.

3. Se il traffico crittografato proviene da un nodo il cui indirizzo reale non è stato precedentemente ottenuto da ViPNet Administrator o tramite il protocollo di routing dinamico (voci 1 e 2), allora il nodo registra l'indirizzo IP della sorgente del pacchetto decrittografato come indirizzo reale di questo nodo.

Come affermato sopra, gli indirizzi reali sono associati a indirizzi virtuali univoci. Le applicazioni su client, coordinatori e nodi con tunnel devono utilizzare un indirizzo di visibilità - l'indirizzo virtuale reale o corrispondente del nodo remoto - per interagire con una risorsa su qualche nodo remoto. Quale indirizzo (reale o virtuale) deve essere utilizzato come indirizzo di visibilità di un particolare nodo su un dato nodo è determinato dalle impostazioni su quel nodo.

Gli utenti e gli amministratori non devono preoccuparsi di quale indirizzo viene utilizzato come indirizzo di visibilità e impostarlo nelle applicazioni. Le applicazioni che utilizzano servizi di denominazione standard (servizi DNS) o applicazioni multimediali che utilizzano SCCP, SIP, H.323 e altri protocolli di servizio (come un telefono IP) riceveranno automaticamente l'indirizzo IP corretto dell'altra parte. I corpi dei pacchetti di questi protocolli comunicano alle applicazioni gli indirizzi IP delle risorse di cui hanno bisogno. Il software ViPNet su client e coordinatori elabora i pacchetti di questi protocolli: quando li invia, aggiunge ai pacchetti incapsulati ulteriori informazioni identificando il nodo ViPNet a cui appartiene questo indirizzo IP. Ad esempio, quando si invia una risposta a una query DNS, vengono aggiunte informazioni che identificano l'indirizzo IP della risorsa protetta di cui è stato richiesto il nome. Quando si riceve un pacchetto, queste informazioni consentono di sostituire l'indirizzo IP nel corpo del pacchetto estratto con l'indirizzo di visibilità attuale della risorsa richiesta (indirizzo di visibilità su questo nodo). L'indirizzo ricevuto dall'applicazione viene utilizzato per organizzare una conversazione con un utente remoto, per lavorare con la posta di Exchange, per accedere ai portali web e ad altre risorse in modalità sicura per nome.

Quando si elaborano pacchetti decrittografati in entrata da altri nodi, l'indirizzo di origine in essi contenuto viene sostituito con l'indirizzo di visibilità di questi nodi su questo nodo. Di conseguenza, le applicazioni sull'host stesso o sui relativi host nel tunnel inoltrano il traffico di risposta all'indirizzo di visibilità corretto. Tale traffico verrà crittografato e trasmesso al nodo di destinazione.

7. Instradamento del traffico per coordinatori con più interfacce di rete

Il coordinatore ViPNet può avere un numero arbitrario di interfacce fisiche o virtuali collegate a diverse sottoreti. Ciascuna sottorete può avere risorse con tunneling aperto.

Per connettersi alle risorse situate dietro i coordinatori remoti, è possibile configurare l'uso di diversi canali di comunicazione alternativi attraverso diverse sottoreti. Per fare ciò, è necessario impostare gli indirizzi di accesso appropriati ai coordinatori remoti in queste sottoreti e, se necessario, impostare metriche che determinano la priorità del loro utilizzo.

Le applicazioni in esecuzione sul coordinatore o sulle risorse da esso tunnelate inviano i loro pacchetti a risorse remote protette utilizzando i loro indirizzi di visibilità: gli indirizzi reali dei nodi remoti (di norma si tratta di indirizzi IP privati ​​emessi sulle reti locali in cui si trovano) o a il corrispondente agli indirizzi virtuali assegnati automaticamente. Il sistema operativo del coordinatore instrada il traffico in base ai percorsi esistenti per questi indirizzi.

Tuttavia, non è necessario configurare i percorsi per tutte le molteplici sottoreti remote con indirizzi privati ​​o i corrispondenti indirizzi virtuali, il che sarebbe particolarmente difficile dato che gli indirizzi virtuali vengono allocati da un'unica sottorete. Il driver del software ViPNet garantisce autonomamente l'instradamento del traffico verso l'interfaccia desiderata secondo il percorso specificato per gli indirizzi di accesso esterni.

Cioè, sul coordinatore è sufficiente configurare un percorso predefinito e altri percorsi necessari verso reti instradate esterne. Questo è un tipico insieme di impostazioni per i router standard.

8.Tunneling del traffico di risorse aperte a livello di collegamento dati (lavoro dei coordinatori in modalità L2-encryptor L2-encryptor)

I coordinatori del tipo HW possono essere impostati sulla modalità di crittografia L2 (tecnologia di tunneling del livello di collegamento L2OverIP). I coordinatori in questa modalità vengono installati ai confini di diverse (fino a 32) reti locali remote e le combinano in un'unica rete locale. Gli host su queste reti locali comunicano come se si trovassero nello stesso dominio di trasmissione (nessun routing, con visibilità diretta sugli indirizzi MAC).

Il coordinatore in modalità codificatore L2 funziona come uno switch virtuale che inoltra i frame Ethernet ricevuti sul suo adattatore L2 alle reti remote attraverso crittografi L2 simili ai loro confini:

    broadcast (in particolare richieste ARP) e frame multicast - verso tutte le reti connesse;

    frame unicast: a una rete specifica in conformità con la tabella accumulata di indirizzi MAC dello switch virtuale.

Non ha importanza il protocollo di livello superiore (IP o altro) del traffico che arriva all'adattatore L2.

Il coordinatore elabora i frame Ethernet e non distingue tra i pacchetti IP. Pertanto non può essere utilizzato per eseguire il tunneling del traffico IP di risorse aperte (vedere "Tunneling del traffico IP di risorse aperte").

Un frame Ethernet catturato sull'adattatore L2 viene prima confezionato in un semplice pacchetto IP con l'indirizzo di destinazione del coordinatore desiderato. Il frame broadcast Ethernet è duplicato in più pacchetti IP con gli indirizzi di destinazione dei coordinatori di altre reti locali. Ciascuno di questi pacchetti IP viene crittografato utilizzando una chiave di comunicazione con il coordinatore corrispondente, incapsulato in un pacchetto ViPNet standard e inviato al coordinatore desiderato tramite un'interfaccia esterna. Alla ricezione, il frame Ethernet originale viene recuperato e inviato alla rete locale.

I coordinatori supportano la tecnologia VLAN (802.1Q):

    Un coordinatore in modalità codificatore L2 può inoltrare fotogrammi contrassegnati ad altri segmenti mantenendo la codifica.

    Sull'adattatore del coordinatore L2 è possibile creare interfacce VLAN virtuali che funzioneranno attraverso un tunnel L2 con host in segmenti remoti, tenendo conto della loro posizione nella VLAN.

È possibile aumentare le prestazioni di un canale L2 tra reti locali collegando più coordinatori a uno switch esterno tramite porte diverse utilizzando la tecnologia EtherChannel. I test su un cluster di tre coordinatori HW2000 hanno mostrato una prestazione di 10 Gbit/s (l'aumento della prestazione è direttamente proporzionale al numero di coordinatori). Per ulteriori dettagli, consultare l'articolo "Protezione del data center utilizzando il cluster HW ViPNet Coordinator" https://www.anti-malware.ru/analytics/Technology_Analysis/ViPNet_Coordinator_HW.

Conclusione

I metodi considerati di utilizzo delle soluzioni tecnologiche ViPNet per organizzare una connessione sicura di computer in reti IP con indirizzamento non trasparente soddisfano tutte le esigenze pratiche che sorgono oggi in quest'area.

Grazie al protocollo di routing dinamico per il traffico VPN, la configurazione dei nodi ViPNet da parte di utenti e amministratori, anche nelle configurazioni di rete più complesse, è ridotta al minimo o non è affatto necessaria.

Vladimir Ignatov

I migliori articoli sull'argomento