Internet
Internet è una rete di calcolatori che interconnette centinaia di milioni di dispositivi in tutto il mondo. Ciascuno di questi dispositivi prende il nome di Host o sistema periferico; esso è connesso attraverso reti di collegamenti o commutatori di pacchetti. Collegamenti diversi implicano velocità di trasmissione diverse, la velocità di trasmissione si misura in bit/secondo. La metodologia utilizzata da internet per lo scambio di dati tra due sistemi periferici prevede la scomposizione dei dati da trasmettere in sottoparti indicizzate dette pacchetti. Spetta poi al commutatore riordinare i pacchetti per riformare il file.
Internet si basa su protocolli, i principali sono il Transmission Control Protocol (TCP) e l’Internet Protocol (IP), per tale ragione si fa riferimento ad entrambi usando la sigla TCP/IP. Gli standard di internet sono sviluppati dalla IETF (Internet Engineering Task Force) e i documenti che li compongono prendono il nome di Request for Comment (RFC).
Vista da un'altra prospettiva, internet è un’infrastruttura che fornisce servizi ad applicazioni quali posta elettronica o navigazione web. Queste applicazioni prendono il nome di applicazioni distribuite.
Protocollo
Un protocollo definisce l’ordine ed il formato dei messaggi scambiati tra due o più dispositivi e definisce anche le azioni da intraprendere in fase di trasmissione e/o ricezione messaggi. Internet fa un uso estensivo dei protocolli.
Reti di accesso
Una Rete Di Accesso è la rete che connette fisicamente un sistema al suo edge router. Distinguiamo:
- Accessi residenziali: i più diffusi nelle connessioni a banda larga sono di tipo DSL o via cavo. Un accesso di tipo DSL (Digital Subscriber Line) prevede l’utilizzo di un modem DSL che si occupa di trasformare i dati da trasmettere in segnali analogici che viaggeranno mediante i cavi telefonici (doppino di rame intrecciato) verso la centrale locale dove un DSLAM (Digital Subscriber Line Access Multiplex) si occuperà di riconvertirli in digitale. Le linee telefoniche possono trasportare contemporaneamente dati e segnali telefonici utilizzando 3 canali di onda; questo permette di poter utilizzare lo stesso collegamento DSL sia per chiamate che per collegarsi ad internet.
- Accessi aziendali (o residenziali): Ethernet e Wi-Fi. Per accedere ad internet si utilizza una rete locale detta LAN (Local Area Network); un LAN di tipo wireless prevede il continuo scambio di pacchetti tra host e access point wireless detto anche base station.
- Accesso wireless su scala geografica: 3G e LTE. Funzionano come accessi aziendali senza vincoli di area, l’utente può trovarsi lontano dalla stazione base invece che a pochi metri.
Mezzi trasmissivi
I Mezzi Di Trasmissione possono essere vincolati, e quindi fisici, o non vincolati. Tra i vincolati ricordiamo:
- Doppino di rame intrecciato: formato da due fili di rame molto sottili avvolti a spirale per limitare le interferenze elettriche generate da altri fili posti nelle vicinanze; di norma un certo numero di doppini viene avvolto in uno schermo protettivo a formare un cavo.
- Cavo coassiale: formato da due fili di rame concentrici; se avvolto con speciali schermi protettivi può raggiungere alte frequenze di trasmissione. Può inoltre essere usato come mezzo condiviso il che vuol dire che dispositivi connessi allo stesso cavo ricevono tutti quanto inviato da altri sistemi periferici.
- Fibra ottica: molto sottile e flessibile, trasporta impulsi di luce dal valore di un bit. Può sopportare enormi velocità di trasmissione, non è sensibile alle interferenze e non ha attenuazioni di segnale anche per lunghissime distanze.
Tra i non vincolati ricordiamo invece:
- Canali radio terrestri: trasportano segnali attraverso lo spettro elettromagnetico. Questi segnali sono in grado di attraversare superfici ma sono sensibili alle stesse e, più in generale, a tutto l’ambiente di propagazione. Sono inoltre soggette ad interferenze generate da eventuali altri canali radio o segnali elettromagnetici.
- Canali radio satellitari: satellite per le comunicazioni che mette in collegamento trasmettitori terrestri a microonde. Il satellite riceve il segnale su una banda e lo rigenera su un'altra banda. Distinguiamo satelliti a bassa quota e geostazionari.
Commutazione di pacchetto
Le applicazioni distribuite utilizzano messaggi per funzionare. La sorgente suddivide i messaggi lunghi in pacchetti che viaggiano attraverso collegamenti e commutatori di pacchetto. I pacchetti vengono trasmessi sul collegamento alla velocità totale di trasmissione che il collegamento stesso può garantire: se un sistema periferico deve inviare un pacchetto da L bit su un canale con velocità di trasmissione di R bps, questo pacchetto arriverà dopo L/R secondi.
La maggior parte dei commutatori utilizza la trasmissione store-and-forward cioè il commutatore deve aver ricevuto, e verificato, l’intero pacchetto prima di poter iniziare a trasmettere il primo bit dello stesso. Se in un qualsiasi nodo vi è un ritardo questo si protrarrà nel tempo per tutti i nodi che lo seguono.
Ogni commutatore di pacchetto connette più collegamenti per tale ragione mantiene un buffer di output per conservare i pacchetti che deve inviare su quel collegamento. Se un pacchetto in arrivo richiede l’invio attraverso un collegamento ma questo è occupato, il pacchetto verrà messo nella coda di output. I pacchetti possono quindi subire anche ritardi di accodamento nei buffer di output; essendo poi il buffer di una dimensione finita se dovessero arrivare pacchetti quando esso è già completamente riempito da altri si verificherà una perdita di pacchetto: verrà eliminato o il pacchetto in arrivo o uno di quelli che si trova già in coda.
Ogni pacchetto ha nella propria intestazione l’indirizzo IP di destinazione, proprio di ogni sistema periferico. Ogni router mantiene una tabella di inoltro che mette in relazione gli indirizzi di destinazione con i collegamenti in uscita; qui si usano protocolli di instradamento.
Commutazione di circuito
Definiamo commutatore di circuito un percorso lungo il quale le risorse richieste per consentire la comunicazione tra sistemi periferici sono riservate per l’intera durata della sessione di comunicazione. Gli host sono tutti direttamente connessi a uno dei commutatori. Quando due host desiderano comunicare la rete stabilisce una connessione end-to-end dedicata a loro.
Confronto tra commutazione di pacchetto e di circuito
La commutazione di pacchetto risulta più vantaggiosa in quanto si possono avere più utenti collegati e, nel caso ci dovesse essere un solo utente collegato, questo non dovrà dividere la velocità con nessuno permettendo la trasmissione dei pacchetti nel più breve tempo possibile. Tuttavia, la commutazione di pacchetto risulta inadatta per i servizi in tempo reale a causa dei suoi ritardi end-to-end variabili e non determinabili.
Struttura della rete
Nel corso degli anni, la rete di reti che forma internet si è evoluta in una struttura altamente complessa più per motivi economici che prestazionali.
- La struttura di rete 1 interconnette tutti gli ISP di accesso con un unico ISP globale di transito. Questo, immaginario, ISP globale è una rete di router e collegamenti che non solo copre l’intero globo ma ha anche almeno un router prossimo a ognuno delle centinaia di migliaia di ISP di accesso. Se tuttavia un’azienda costruisse e gestisse un ISP globale vantaggioso economicamente, spingerebbe altre aziende ad entrare nel mercato.
- La struttura di rete 2 è formata da centinaia di migliaia di ISP di accesso e più ISP globali di transito. Ciò permette agli ISP di accesso di scegliere l’ISP globale secondo una convenienza economica. È quindi una gerarchia a due livelli con i provider globali di transito in cima. Gli ISP globali di transito devono comunque essere tutti connessi tra di loro. Tuttavia, nella realtà nessun ISP globale è presente in tutto il mondo; al contrario, in ogni regione può esservi un ISP regionale al quale tutti gli ISP di accesso della regione si connettono. Ogni ISP regionale si connette all’ISP di primo livello (tier-1 ISP, es: AT&T, Sprint) che è quanto di più simile esista al nostro immaginario ISP globale di transito. In questa struttura vi è una relazione cliente-fornitore ad ogni livello della gerarchia.
- Nella struttura di rete 3 può essere definita come gerarchia a molti livelli; di fatto è una naturale evoluzione della 2 e differisce da questa per il numero di ISP presenti prima di arrivare a quello di primo livello: vi sono ISP di accesso in ogni città che si connettono a quelli provinciali che a loro volta si connettono agli ISP nazionali che infine si connettono agli ISP di primo livello.
- Nella struttura di rete 4 aggiungiamo a questa rappresentazione i PoP (point of presence), il multi-homing, il peering e gli IXP. Un PoP è semplicemente un gruppo di router vicini tra loro nella rete del provider, tramite il quale gli ISP clienti possono connettersi al fornitore. Tramite il multi-home qualsiasi ISP (escluso il primo livello) può connettersi a più ISP fornitori. Per ridurre i costi, ISP vicini di pari livello gerarchico possono fare uso di peering cioè connettere direttamente le loro reti in modo che tutto il traffico passi attraverso di esse piuttosto che transitare da un intermediario. Utilizzando queste connessioni un’azienda può creare un IXP (internet exchange point), un punto d’incontro dove più ISP possono fare peering tra di loro.
- Nella struttura di rete 5 ci basta aggiungere i content provider networks cioè le reti che si occupano di distribuire contenuti, una tra tutte: Google.
Ritardi, perdite e throughput nelle reti a commutazione di pacchetto
Un pacchetto parte da un host, attraversa una serie di router e arriva in un altro host. Durante tutto il viaggio tale pacchetto accumula ritardi in ciascun nodo del tragitto; i ritardi principali sono:
- Ritardo di elaborazione: il tempo necessario per identificare il pacchetto e determinare dove dirigerlo.
- Ritardo di accodamento: il tempo perso nella coda di trasmissione; nel caso la coda di trasmissione dovesse essere vuota questo ritardo è nullo.
- Ritardo di trasmissione: consiste nel tempo richiesto per trasmettere tutti i bit sul collegamento; poiché il nostro pacchetto può essere trasmesso solo dopo aver trasmesso totalmente i pacchetti che lo precedono, questo ritardo non dipende dalla distanza tra i due router ma solo dal rapporto L (dimensione del pacchetto) su R (velocità di trasmissione).
- Ritardo di propagazione: è il tempo che il pacchetto impiega una volta immesso nel collegamento per raggiungere il router B; dipende esclusivamente dal mezzo fisico sul quale il pacchetto viaggia e non dalle dimensioni dello stesso.
Complessivamente questi ritardi formano il ritardo del nodo. Il ritardo di accodamento a differenza degli altri può essere trascurato a seconda della velocità di trasmissione del collegamento e dalla natura del traffico entrante. Definito con a la velocità media di arrivo dei pacchetti nella coda (espressa in pacchetti al secondo) il rapporto La/R stima l’entità di questo ritardo; nello specifico:
- Se La/R > 1 allora la velocità media di arrivo dei bit nella coda supera la velocità alla quale i bit vengono ritrasmessi in uscita da essa; in tale situazione la coda tenderà a crescere senza limiti.
- Se La/R < 1 allora la natura del traffico in arrivo influisce sul ritardo in coda. Se i pacchetti arrivano a cadenza periodica ciascun pacchetto troverà la coda vuota; se invece arrivano a raffiche periodiche si possono verificare dei significanti ritardi di coda.
In generale, quando il rapporto La/R tende ad 1 la lunghezza media della coda aumenterà sempre di più. Poiché la capacità delle code è finita i ritardi dei pacchetti non tendono all’infinito: quando il rapporto tende ad uno ed un pacchetto trova la coda piena questo viene perduto, tale fenomeno è detto buffer overflow.
Il ritardo tra sorgente e destinazione prende il nome di ritardo end-to-end. Supponiamo l’esistenza di N-1 router tra l’host sorgente e quello di destinazione; nell’ipotesi che la rete non sia congestionata e che il ritardo di elaborazione sia delab, che la velocità di trasmissione sia R bps e che la propagazione di ciascun collegamento sia dprop. I ritardi si accumulano in:
dend-to-end = N(delab + dtrans + dprop)
Il throughput istantaneo è la velocità in bps alla quale il destinatario sta ricevendo il file; definiamo invece throughput medio il rapporto F (bit) su T (tempo totale di trasmissione): F/T.
Sia Rs la velocità del collegamento tra server e router, Rc quella tra router e client. Si supponga che i soli bit inviati sull’intera rete siano quelli tra server e client. Se Rs < Rc allora i bit immessi dal server scorreranno attraverso il router e arriveranno al client a una velocità di Rs bps. Se al contrario Rc < Rs il router non sarà in grado di inoltrare i bit alla stessa velocità con cui li riceve, i bit lasceranno il router ad una velocità Rc. Quindi per una rete elementare con due collegamenti il throughput è il minimo tra Rs e Rc cioè la velocità del collegamento che fa da collo di bottiglia (bottleneck).
Architettura a livelli
I protocolli sono organizzati in livelli o strati (layer). Ciascun protocollo appartiene ad uno dei livelli che possono essere implementati via software, hardware o combinazione dei due. La modularità dei protocolli rende più facile l’aggiornamento e fornisce un modo strutturato per trattare i componenti dei sistemi.
Considerati assieme i protocolli dei vari livelli sono detti pila di protocolli (protocol stack). In internet tale pila è composta da 5 livelli:
- Livello applicazione: è la sede delle applicazioni di rete e dei relativi protocolli. Tra questi i principali sono HTTP, SMTP e FTP. Un protocollo a livello applicazione è distribuito su più sistemi periferici i quali grazie ad esso possono scambiare messaggi;
- Livello di trasporto: trasferisce i messaggi dal livello di applicazione. I più importanti sono TCP e UDP. I pacchetti a livello di trasporto prendono il nome di segmenti;
- Livello di rete: si occupa di trasferire i pacchetti, detti datagrammi, a livello di rete da un host ad un altro. Il protocollo più importante è l’IP;
- Livello di collegamento: trasferisce un pacchetto, denominato qui frame, da un nodo a quello successivo sul percorso;
- Livello fisico: trasferisce i singoli bit del frame da un nodo a quello successivo;
Il modello OSI nato negli anni ’70 è formato da due livelli in più che sono il livello presentazione che fornisce i servizi che consentano alle applicazioni che vogliono comunicare di interpretare il significato dei dati scambiati e il livello sessione che fornisce la delimitazione e la sincronizzazione dello scambio di dati compresi i mezzi per costruire uno schema di controllo e recupero degli stessi.
Incapsulamento
Preso un host mittente, un messaggio a livello di applicazione viene passato a livello di trasporto; nel caso più semplice questo livello prende il messaggio e gli concatena informazioni aggiuntive che saranno utilizzate dalla parte ricevente del livello di trasporto. Messaggio a livello di applicazione e informazioni di intestazione a livello di trasporto costituiscono il segmento a livello di trasporto che incapsula il messaggio a livello di applicazioni; il livello di trasporto passa il segmento al livello di rete che aggiunge informazioni di intestazione proprie del livello di rete andando così a creare un datagramma a livello di rete che viene passato al livello di collegamento il quale, a sua volta, aggiunge le proprie informazioni di intestazione creando un frame a livello di collegamento.
In ciascun livello il pacchetto ha due tipi di campi: l’intestazione e il payload (carico utile trasportato) che è tipicamente un pacchetto proveniente dal livello superiore.
Reti sotto attacco
Un’ampia classe di minacce alla sicurezza può essere classificata come attacchi di negazione del servizio (DoS = Denial of Service), questi attacchi rendono inutilizzabili dagli utenti legittimi una rete, un host o un’altra parte di infrastruttura. Molti attacchi DoS su internet ricadono in tre categorie:
- Attacchi alla vulnerabilità dei sistemi: comporta l’invio di pochi messaggi ben costruiti ad un’applicazione vulnerabile o a un sistema operativo in esecuzione sull’host. Può causare blocchi del servizio o spegnimento dell’host.
- Bandwidth flooding (inondazione di banda): l’attaccante invia un “diluvio” di pacchetti all’host bersaglio, tanti da ostruire il suo collegamento al server. Per far danni è necessario che i dati siano mandati ad una velocità approssimabile ad R (velocità di accesso).
- Connection flooding (inondazione di connessioni): l’attaccante stabilisce un gran numero di connessioni TCP completamente o solo parzialmente aperte all’host bersaglio che risulta così ingorgato da queste connessioni senza poter accettare connessioni valide.
Un rilevatore passivo in prossimità di un trasmettitore wireless può ottenere copia di ogni pacchetto, tale processo è detto packet sniffer e la miglior difesa è la crittografia. È possibile immettere pacchetti attraverso un indirizzo sorgente falso, questa capacità è nota come spoofing.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Architettura organica
-
Architettura web/Architettura internet
-
Risoluzioni esercizi Architettura di Internet
-
Architettura tecnica