I riassunti , gli appunti i testi contenuti nel nostro sito sono messi a disposizione gratuitamente con finalità illustrative didattiche, scientifiche, a carattere sociale, civile e culturale a tutti i possibili interessati secondo il concetto del fair use e con l' obiettivo del rispetto della direttiva europea 2001/29/CE e dell' art. 70 della legge 633/1941 sul diritto d'autore
Le informazioni di medicina e salute contenute nel sito sono di natura generale ed a scopo puramente divulgativo e per questo motivo non possono sostituire in alcun caso il consiglio di un medico (ovvero un soggetto abilitato legalmente alla professione).
da parte di altri segnali viaggianti sullo stesso mezzo, ecc.
R) Un segnale oscillante viaggia di più che una corrente diretta, pertanto per comunicazioni a lunga distanza si utilizza un segnale oscillante sinusoidale (portante) che può essere alterato (modulato) per codificare e trasportare l’informazione. Vi può essere una modulazione d’ampiezza (AM), in cui l’ampiezza del segnale codifica 0 o 1, è necessario un ciclo di onde per ogni bit ed il rate dei dati è limitato dall’ampiezza della banda. Vi è la modulazione di frequenza (FM), in cui gli 0 e 1 sono identificati dalla frequenza, vi è una maggior resistenza al rumore rispetto all’AM ma è meno usata in quanto richiede una maggiore ampiezza di banda. Vi è inoltre anche la modulazione di fase (PM), che è la più utilizzata, dove uno shift della fase identifica i passaggi da 0 a 1. Infine troviamo la modulazione di ampiezza in quadratura (QAM) in cui è possibile trasmettere allo stesso tempo sia in modulazione di fase che in modulazione d’ampiezza.
R) Il modem è uno strumento hardware usato per le comunicazioni a lunga distanza, esso modula un segnale portante analogico per codificare un’informazione digitale ed effettua, a destinazione, la corrispondente demodulazione della portante per estrarre l’informazione originaria. Vi sono vari tipi di modem, quello convenzionale che utilizza quattro cavi e trasmette un segnale elettrico modulato, quello ottico, che usa fibre in vetro con luce modulata, quello senza fili, che utilizza l’aria e trasmette frequenze radio modulate è quello dialup, che utilizza il canale vocale telefonico e trasmette toni audio modulati. Il modem di tipo “full duplex” permette una comunicazione in ambo le direzioni e simultanea, è realizzato con 4 cavi conduttori. Il modem “half-duplex” permette una comunicazione in ambo le direzioni ma solamente alternata, è costituito da 2 cavi.
R) L’ISDN, sigla che sta per Integrated Services Digital Network, è un sistema di connessioni telefoniche digitali. Il sistema permette che i dati vengano trasmessi nel mondo usando connessioni digitali da estremo a estremo; viene utilizzato lo stesso sistema fisico di cablature analogico, ma qui viene trasmesso un segnale digitale invece di quello analogico. La larghezza di banda varia da 64kbps ad un massimo di 2Mbps ed i tempi complessivi richiesti da una linea ISDN sono tipicamente la meta di quelli necessari per una linea analogica.
R) L’ADSL, sigla che sta per Asymmetric Digital Subscriber Line, è una nuova tecnologia di modem che converte l’attuale linea a doppino telefonico in un canale di transito multimediale e di comunicazioni ad alta velocità. Il segnale da trasmettere viene diviso in diversi sotto-segnali, che saranno inviati su diverse frequenze.
Come da definizione il flusso in downstream e quello in upstream occupano ampiezze di banda diverse (molto maggiore quella in downstream). Fra le
varie caratteristiche dell’ADSL troviamo quindi un avanzato metodo di codifica/decodifica, un uso completo dello spettro di frequenza del cavo di rame (1,1 MHz); è però necessario trovarsi ad una distanza non superiore a 5,5 Km dal più vicino DSL Exchange.
R) Svariate coppie di comunicazioni punto-punto viaggiano attraverso lo stesso canale condiviso. La tecnica del multiplexing previene le interferenze, ed ogni destinazione riceve solo i dati inviati dalla sorgente corrispondente. Vi sono due tipi principali di multiplexing: Time Division Multiplexing (TDM) e Frequency Division Multiplexing (FDM). Queste tecniche sono convenienti se il sistema trasmette dati ad altissima frequenza, altrimenti vi possono essere degli spazi vuoti che vengono cosi sprecati.
R) Spesso può tornare utile una connessione tra due computer (punto-punto), che può assicurarci un throughput flessibile, una limitata necessità di sincronizzazioni tra i computer ed una buona sicurezza. Tuttavia una connessione esclusiva tra i due computer estremi non è concepibile, sia in termini di costo che in tempo di realizzazione. La soluzione è l’utilizzo di un canale condiviso, l’accesso al quale deve però essere coordinato. Il canale condiviso è solitamente utilizzato per le reti locali, dove i ritardi di trasmissione sono bassi ed è ragionevole la perdita di parte della banda per l’invio dei messaggi di sincronizzazione. L’accesso di tutti i computer al mezzo condiviso deve pertanto avvenire in modo “equo”, ed una possibile soluzione a questo tipo di esigenza è il Time Division Multiplexing (TDM). I dati da inviare vengono divisi in piccole unità chiamate “pacchetti”, la cui forma e dimensione dipendono dal tipo di rete. Un pacchetto per una particolare tecnologia è anche definito “frame”, ed il cui inizio e la fine sono solitamente segnalati da una speciale sequenza di bit (tag). Sostanzialmente il frame è costituito da un header, nel quale sono specificati destinatario, mittente e il tipo di informazione, ed il corpo (payload) che contiene l’informazione vera e propria.
R) I dati inviati possono subire delle anomalie durante la trasmissione: i bit possono andare persi oppure essere modificati. Il frame solitamente include dell’informazione addizionale, inserita dal mittente e verificata dal ricevente, per scoprire/correggere gli errori. Il numero (R) di bits non corretti che può essere scoperto è R = H – 1, dove H è la distanza di Hamming (il minimo numero di bit per cui i due codici differiscono). Il numero (C) di bit alterati che possono essere corretti è C ≤ (H – 1) / 2. Fra le possibili tecniche per la gestione degli errori troviamo: il controllo di parità, che è il più semplice codice di rivelazione di errore, nel quale per ogni blocco di N bit viene aggiunto un bit pari a 1 se il numero di 1 nel blocco e dispari, mentre viene aggiunto uno 0 se pari. Il bit di parità permette di riconoscere errori in numero dispari. Fra queste tecniche troviamo inoltre i rivelatori di errore polinomiali (CRC), algoritmo nel quale una funzione matematica aggiunge agli M bit che voglio trasmettere, trattati come coefficienti di un polinomio, altri R bit, di modo che il polinomio sia cosi divisibile per un prestabilito numero P. ( M|R % P = 0 ). Questa tecnica, che può gestire più errori, è più complessa ma si può implementare a livello hardware e pertanto non grava sulle prestazioni a livello computazionale.
R) Le parti che sono coinvolte in una comunicazione devono, ovviamente, accordarsi su un determinato insieme di regole da utilizzare per potersi scambiare le informazioni. Queste regole vengono definite protocolli. In generale un protocollo di comunicazione è u
Domande e Risposte Reti di Calcolatori
Risposte
R) Questa tecnologia è utilizzata per la trasmissione sia della voce che dei dati. È’ realizzato da due cavi in rame disposti in una struttura a spirale, per minimizzare le reciproche interferenze elettromagnetiche. Richiede l’adozione di repeater per collegare le stazioni ed ha una lunghezza massima consigliata di 100m.
Esso è poco costoso e facilmente reperibile, è leggero, flessibile, è di facile posa ed installazione. Tuttavia, rispetto ad un cavo coassiale, presenta una larghezza di banda inferiore ed una maggiore suscettibilità alle interferenze. Le due principali versioni sono quella non schermata (UTP) e quella schermata coppia per coppia (STP).
R) Il cablaggio di tipo coassiale è utilizzato per la televisione via cavo, le LAN, la telefonia. Esso è costituito da un conduttore interno circondato da una maglia intrecciata; entrambi i conduttori hanno lo stesso asse centrale: da qui deriva il termine “coassiale”. Le principali varianti sono il cavo di tipo grosso e quello di tipo sottile, versioni che variano in diametro e resistenza. Rispetto ad un cavo a coppia simmetrica il coassiale garantisce una maggiore larghezza di banda ed una minore suscettibilità alle interferenze.
R) Nelle fibre ottiche una sottile fibra di vetro trasporta la luce con l’informazione codificata. Vi è un diodo a luce emittente (LED) o un laser che manda la luce della fibra, mentre nell’altra estremità vi è un ricevitore che traduce nuovamente la luce in informazione. Una copertura in plastica permette alla fibra di essere flessibile senza spezzarsi. La fibra ottica è insensibile al rumore elettromagnetico, ha una bassa attenuazione ed una banda passante molto elevata rispetto ai cavi metallici. Per contro essa presenta una maggiore fragilità e richiede costi molto più elevati.
R) Un modo è un determinato percorso in cui viaggia la luce. Il segnale luminoso può infatti propagarsi su un unico percorso (fibra monomodale) o seguendo molteplici percorsi (fibra multimodale). Le fibre monomodali assicurano prestazioni più elevate ed un basso costo della fibra, ma necessitano di interfacce più costose e arrecano maggiori difficoltà di connettorizzazione. Le fibre multimodali a loro volta forniscono prestazioni inferiori ed un più elevato costo della fibra, ma necessitano di interfacce meno onerose.
R) Vi sono alcuni parametri di cui bisogna tener conto per quanto concerne la trasmissione dei dati. Fra questi parametri troviamo il ritardo di propagazione, che è il tempo richiesto da un segnale per attraversare un certo mezzo (comunque sempre inferiore alla velocità della luce); la larghezza di banda, ossia il numero massimo di volte per secondo in cui il segnale può variare; il ritardo, cioè il tempo necessario ad un bit di dati per viaggiare da un estremo all’altro del mezzo di comunicazione, ed infine il throughput, che rappresenta il numero di bit per secondo che possono essere trasmessi. Il Teorema di Nyquist stabilisce una relazione tra throughput e larghezza di banda data da:
D = 2B*log2 ( K )
dove D il throughput massimo, B è la larghezza di banda, è K è il numero di valori utilizzati per codificare l’informazione.
R) Il Teorema di Shannon ci fornisce il corretto valore limite del throughput per sistemi reali (quindi sistemi con rumore). Esso stabilisce la relazione:
C = B*log2 (1 + S/N) , dove C è la capacita effettiva del canale in bit per secondo, B è la larghezza di banda, S è la potenza media del segnale ed infine N è il rumore.
R) Per poter essere trasmessa l’informazione viene codificata e vi sono due tipi di codifica, analogica e digitale. Le reti di computer utilizzano la codifica digitale.
Un convenzione sulla codifica dovrà quindi determinare quale forma debba assumere un segnale elettrico per rappresentare un 1 o uno 0. Questo tipo di operazione dovrà tenere conto di vari aspetti, ossia mantenere una piccola larghezza di banda per consentire la trasmissione di diversi segnali su un dato canale e considerare la possibile attenuazione dei valori trasmessi e codificati con un certo valore elettrico che vorremmo trasmettere anche a lunghe distanze.
Le possibili convenzioni per la codifica sono molteplici, Bipolare, NRZ unipolare e polare, Manchester, ecc.ecc.
R) I segnali che vengono trasmessi possono subire una distorsione in quanto sono costituiti da energia elettrica che si dissipa durante il percorso.
Bisogna inoltre tener conto della resistenza, capacità e induttanza dei conduttori e delle interferenze elettromagnetiche. L’attenuazione di un segnale dipende dal
mezzo ed e una funzione che cresce con la frequenza. Vi può essere un ritardo dovuto alla distorsione, ricordando che la velocità di propagazione varia con la frequenza; ed infine può essere presente il rumore, dovuto a cause termiche, somma o disturbon accordo tra le parti interessate su come la comunicazione può o deve procedere. I protocolli sono progettati in architetture a “strati”, cioè sottoinsiemi funzionali omogenei raggruppanti funzioni simili per logica e tecnologia realizzativa. Ogni strato o protocollo riceve un “servizio” dallo strato che gli è immediatamente inferiore nell’ordine gerarchico, arricchisce questo servizio con il valore derivante dallo svolgimento delle proprie funzioni ed offre il nuovo servizio a valore aggiunto allo strato/protocollo che gli è immediatamente superiore nell’ordine gerarchico.
R) L’architettura del modello OSI è costituita, partendo dal livello più basso, dai seguenti strati:
Livello 1 – Fisico (PH): fornisce i mezzi meccanici, fisici, funzionali e procedurali per attivare, mantenere e disattivare le connessioni fisiche;
Livello 2 – Collegamento (Data Link, DL): delimita le unità informative e fronteggia eventuali errori a livello fisico; Trasferisce dati tra nodi adiacenti di una WAN o tra nodi adiacenti di uno stesso segmento di LAN . Il data link layer
fornisce i mezzi procedurali e funzionali per trasferire dati tra entità di rete e può fornire i mezzi per rilevare e magari correggere errori che possono verificarsi nel layer fisico.
Livello 3 – Rete (Network): inoltro dei pacchetti e routing. Il livello network fornisce I mezzi funzionali e procedurali per trasferire sequenze di dati a lunghezza variabile da una sorgente ad una destinazione via una o più reti e mantenendo la qualità delle funzioni di servizio.
Livello 4 – Trasporto: Fornisce servizi di comunicazione end-to-end tra applicazioni all’interno di una infrastruttura di componenti di rete e protocolli stratificati. Fornisce comodi servizi come ad esempio supporto connection oriented per il data streaming, per l’affidabilità, il controllo di flusso e il multiplexing.
Colma deficienze della qualità ed ottimizza il servizio e fornisce comunicazione host-user;
Livello 5 – Sessione: gestisce il dialogo e struttura e sincronizza lo scambio di dati in modo da poterlo sospendere, terminare e riprendere in modo ordinato; Fornisce meccanismi per l’apertura, la chiusura e la gestione di sessioni tra processi; si concretizza con richieste e risposte che si instaurano tra applicazioni. Sono comunemente usate Nelle remote procedure calls (RPCs).
Livello 6 – Presentazione: risolve eventuali problemi di compatibilità nella rappresentazione dei dati e può fornire servizi di cifratura;
Livello 7 – Applicazione fornisce ai processi applicativi i mezzi per accedere all’ambiente OSI, interazione tra le applicazioni.
R) Le reti possono essere classificate in tre categorie: Local Area Network (LAN), Metropolitan Area Network (MAN), Wide Area Network (WAN). Le LAN e le WAN sono le più diffuse. Le reti di tipo LAN sono caratterizzate dalle seguenti proprietà: un alto throughput, costo relativamente basso, limitate alle brevi distanze, differenti topologie: a Bus, ad anello, a stella… Lo standard IEEE 802 definisce l’accesso allo strato di Rete (Network) da parte dei vari tipi di tecnologie LAN. Più precisamente, gli standard "802" sono dedicati alle reti che hanno pacchetti di lunghezza variabile.
R) Nelle reti con topologia a Bus (Es. Ethernet) un mezzo di comunicazione condiviso fornisce il canale principale di comunicazione, ed ogni computer ha una
connessione al mezzo. La topologia a Bus richiede poco cavo, è poco costosa e l’eventuale rottura di una stazione non interessa le altre. Tuttavia il cavo in se è un collo di bottiglia (es. possibili rotture, congestioni) e può avere una lunghezza o un numero di stazioni limitate, e non è semplice da amministrare.
R) Nelle reti con topologia ad anello non vi è un’unita centrale, viene realizzata una sorta di comunicazione “punto-punto” tra i calcolatori ed i bit viaggiano in una sola direzione. Con questa topologia, l’aggiunta di un calcolatore non modifica di molto le prestazioni, tutte le stazioni hanno gli stessi diritti d’accesso e non vi sono problemi di distanza massima (o perlomeno conta la distanza fra un computer e l’altro). Tuttavia è piuttosto costosa, e la rottura di una stazione coinvolge anche le altre.
R) Nelle reti con topologia a stella vi è un componente centrale, solitamente noto come “hub”, ed ogni computer ha una connessione verso l’hub. Anche Ethernet, logicamente una rete con topologia a bus, in realtà è implementato con reti a stella. Le reti con questo tipo di topologia sono di facile installazione ed è piuttosto semplice anche l’individuazione degli errori. Tuttavia l’aggiunta di stazioni causa un calo delle prestazioni, è necessario molto cavo per stendere i collegamenti ed il sistema entra in crisi in caso di malfunzionamenti dell’unita centrale.
R) Nelle reti con topologia ad albero i computer sono collegati con connessioni punto-punto a degli hub i quali, a loro volta, si affacciano su un canale centrale
di comunicazione condiviso detto “backbone”. Questa tecnologia è supportata da molti hardware e software, tuttavia bisogna tener conto di possibili limitazioni di lunghezza dei cavi, possibili difficoltà di configurazione, e crisi nel caso di malfunzionamenti del backbone.
R) Ethernet è la LAN più conosciuta, ve ne sono di diverse generazioni, con diversi formati frame, diversi data/rate, diversi schemi di cablatura. Per tutte le trasmissioni si utilizza un mezzo condiviso, a livello teorico considerato quindi sempre come un bus, anche se in realtà spesso implementato con topologie di rete a stella. La procedura di Media Access Control (Controllo di accesso multiplo, MAC) assicura un utilizzo equo della rete per tutti gli utenti. Ethernet opera ad una velocità di 10Mbps. Gli ultimi sviluppi di Ethernet, Fast e Gigabit Ethernet, operano tuttavia a 100 e a 1000Mbps.
R) Nel protocollo CSMA/CD la sigla sta ad indicare “Carrier Sense Multiple Access with Collision Detection, ossia accesso multiplo con ascolto di portante e rivelatore di collisioni. Esso è utilizzato nella topologia a bus bidirezionale, e indica la seguente procedura di accesso al mezzo (CSMA): una stazione prima di tentare la trasmissione verifica lo stato del mezzo (Carrier sensing), e se il mezzo è occupato ritarda l’emissione. Quando il mezzo è libero si attende un tempo di distanziamento delle trame e si effettua la trasmissione. A causa del ritardo di propagazione non nullo, tuttavia, il protocollo CSMA non evita completamente le collisioni. Tra due stazioni avviene quindi una collisione se esse accedono al canale in istanti che distano tra loro un tempo inferiore a quello di propagazione tra le due stazioni. Durante l’emissione si ascolta il canale per verificare eventuali collisioni (Collision detection). Se si è rivelata una collisione, si interrompe l’emissione della trama e si segnala l’evento alle altre stazioni, e si esegue poi l’algoritmo di subentro per decidere quando deve essere riemessa la PDU andata in collisione. L’algoritmo che controlla le ritrasmissioni in caso di collisioni è di tipo back-off esponenziale.
R) Tutte le stazioni presenti su un mezzo condiviso in una LAN possono in teoria ricevere tutti i dati che vengono trasmessi. Il mittente deve pertanto specificare la destinazione per i dati che emette: un identificatore unico viene assegnato a tutte le stazioni (station address) ed ogni frame contiene l’indirizzo di destinazione. L’identificatore per le stazioni è standardizzato dall’IEEE, esso e di 48 bit ed è ovviamente diverso dagli altri. Viene assegnato alla fabbricazione della scheda di rete. I pacchetti possono pertanto essere inviati ad una singola destinazione (comunicazione unicast), a tutte le stazioni presenti sulla rete (comunicazione broadcast) o a sottogruppi di stazioni (comunicazione multicast). L’indirizzamento broadcast è un indirizzamento particolare in cui tutti i bit dell’indirizzo vengono posti a “1”.
R) Nella topologia di rete a Token Ring non vi è un’unita centrale, i bit circolano in una sola direzione e il controllo degli accessi è gestito attraverso il passaggio
di un token (“testimone”). Essa è standardizzata dalla direttiva IEEE 802.5. Il passaggio del token garantisce l’equità di accesso alla rete nella topologia ad anello. Il token è costituito sostanzialmente da un messaggio speciale di pochi bit. La stazione che desidera inviare dati deve attendere l’arrivo del token, e quando nessuno deve trasmettere il token continua a circolare a vuoto. Vantaggi e svantaggi rispecchiano ovviamente gli stessi della topologia di rete ad anello, quindi una facile localizzazione di guasti e malfunzionamenti ma per contro la
possibilità di crisi dell’intero anello nel caso della rottura del cavo ed i problemi connessi alla stesura e al costo del cablaggio punto-punto. Un possibile sviluppo di questa topologia è l’adozione di un ulteriore anello, nel quale il traffico viaggia nella direzione opposta e non viene usato se non in caso di guasti. Vi possono quindi essere stazioni connesse ad entrambi gli anelli (Dual Attached Stations, DAS) oppure ad uno solo dei due (Single Attached Stations, SAS).
R) Questa tecnologia sta ad intendere una rete con topologia ad anello con collegamenti trasmissivi realizzati tramite fibre ottiche monomodali o multimodali. Essa è altamente affidabile ed è immune ad interferenze; opera ad una velocità di 100Mbps e si può stendere su distanze fino a 200 Km con una capacità di 500 stazioni. In questo caso il “token” è assorbito dalla stazione che sta trasmettendo e viene rilasciato non appena è completata la trasmissione del frame; più di un pacchetto può viaggiare sull’anello. SAS e DAS sono ambedue utilizzate in questa rete.
R) Le LAN “wireless” si stanno diffondendo molto rapidamente; esse trasmettono le informazioni nell’aria (spazio). I nuovi termini che vengono coniati per questo tipo di tecnologia sono WLAN (Wireless LAN) e LAW (Local Area Wireless Network). Le reti Wireless sono spesso un’estensione delle LAN, alle quali sono infatti solitamente collegate su una rete principale dotata di cablatura. Esse possono essere collegate come elementi di connessione punto-punto tra reti che sono collocate in edifici diversi. Queste reti Wireless hanno comunque un raggio limitato, non tutte le stazioni ricevono tutte le trasmissioni. Non è possibile pertanto utilizzare il protocollo CSMA/CD; ma viene invece utilizzato un protocollo di tipo CSMA/CA, ossia Carrier Sense Multiple Access plus Collision Avoidance.
In accordo a questo protocollo entrambi gli estremi della trasmissione si inviano brevi messaggi seguiti dall’invio dei dati. Il chiamante effettua una Request To Send (RTS) ed il chiamato effettuerà a sua volta un Clear To Send (CRS), dopodichè il frame di dati è inviato da chiamante a chiamato. Tutte le stazioni nello spazio raggiungibile da chiamante e chiamato sono così informate prima della trasmissione, ed una eventuale collisione potrebbe pertanto verificarsi solo per i messaggi di RTS e CTS.
R) Il protocollo IEEE 802.11 è lo standard dominante per le Wireless LAN. Le LAN standardizzate IEEE 802.11 possono essere facilmente collegate a LAN cablate come Ethernet e, pertanto, sono solitamente chiamate Wireless Ethernet. La topologia ricalca quella tradizionale di Ethernet, ossia una topologia a bus a livello logico ma implementata in realtà con una topologia a stella. Troveremo pertanto in questo caso un punto di accesso centrale “wireless” (AP), ossia un radio
transceiver, che gioca lo stesso ruolo dell’hub. Il controllo degli accessi è solitamente realizzato con l’utilizzo del protocollo CSMA/CA.
R) Repeater e Hub servono per ripetere e rigenerare una sequenza di bit ricevuti da una porta sulle altre porte. Con questo espediente è possibile ampliare il raggio di azione delle LAN, che hanno limitazioni di lunghezza massima. Questo tipo di apparecchiatura assume il nome di Repeater quando è costituito da 2 porte, di Repeater multiporta o Hub quando è costituito da più di 2 porte. Hub e Repeater lavorano ad uno strato di livello fisico (Livello 1 dell’architettura del modello OSI), quindi in pratica amplificano ed inoltrano i segnali in transito tra i segmenti che connettono senza svolgere nessun’altra operazione di livello superiore.
R) Il Bridge è uno strumento in grado di collegare due LAN; esso può consentire anche la connessione tra LAN e WAN. Esso opera al livello di Collegamento (Data Link, Livello 2 dell’architettura del modello OSI) ed inoltra pertanto i frame ma non rumore o collisioni. Esso è in grado di riconoscere gli indirizzamenti, effettua un inoltro solamente se è necessario e permette sempre comunicazioni broadcast/multicast. Il Bridge assicura molti vantaggi, per quanto riguarda affidabilità, prestazioni, sicurezza ed estensione geografica; per questi motivi può essere anche visto come una sorta di “evoluzione” del Repeater. Complicate connessioni con i bridge possono introdurre dei cicli, pertanto i bridge utilizzano l’algoritmo di Spanning Tree distribuito.
R) L’algoritmo Spanning Tree è stato escogitato per coniugare due necessità di una rete: la ridondanza e la contemporanea salvaguardia dai loop.
Nella rete ogni bridge ha un identificatore unico (MAC address) , quello con identificatore più piccolo viene scelto come root (radice). Tutto il traffico passerà per la root. Tutte le porte della root sono dette “designated port”.
Ogni bridge calcola autonomamente il costo (cammino) che lo separa dalla root e elegge la porta relativa come root port. Ogni bridge “non root” avrà quindi una root port.
Inoltre in ogni segmento di LAN l’algoritmo seleziona il bridge che è più vicino alla radice e lo elegge come LAN designated bridge; ogni designated bridge pertanto inoltrerà i pacchetti sui segmenti di LAN per cui esso è un designated bridge.
In pratica l’algoritmo seleziona dei cammini unici tali per cui non si crea mai un loop, ciononostante in caso di interruzione è in grado di individuarne uno alternativo.
R) Gli Switch sono fisicamente simili agli Hub, ma logicamente assomigliano ai Bridge. Infatti essi si comportano come Bridge multiport, sostituendo gli Hub nel centro stella. Operano sui pacchetti, riconoscono gli indirizzamenti e inoltrano solo quando è necessario. Hanno una banda aggregata molto superiore a quella della singola porta, permettendo cosi molte trasmissioni in contemporanea tra segmenti, ed anche il loro costo è maggiore rispetto agli Hub.
R) Un Router è in grado di collegare due o più LAN, che possono utilizzare anche protocolli di Collegamento diversi ma con lo stesso protocollo di Rete. Il Router lavora, appunto, allo strato di Rete (Livello 3 dell’architettura modello OSI), ed effettua una maggiore computazione su ogni messaggio rispetto ad un Bridge, operando cosi in maniera un po’ più lenta; tuttavia il Router è in grado di
scegliere il percorso migliore e può eventualmente dividere un unico messaggio in vari messaggi più piccoli per la trasmissione.
R) Un Gateway è un dispositivo in grado di collegare due o più LAN, indifferentemente che esse usino protocolli di Collegamento o di Rete uguali o diversi. Il Gateway opera allo strato di Rete (Livello 3 dell’architettura del modello OSI), può tradurre diversi tipi di protocolli di rete, formati di dati e può aprire sessioni tra programmi applicativi, superando cosi incompatibilità sia a livello software sia a livello hardware. Esso può essere costituito da un microcomputer a se stante o persino un particolare circuito su una scheda nel server di rete.
R) Per “WAN” si intende Wide Area Network, una tipologia di rete che copre grandi distanze geografiche ed è implementata con diverse tecnologie. Essa è basata principalmente su tre componenti: connessioni punto-punto a lunga distanza, per le quali il throughput dipende dal traffico e il cui numero dipende dall’affidabilità richiesta; packet switches, ossia speciali computers che connettono altri packet switches o semplici computers, che inoltrano i pacchetti, ed infine I normali computers. Fra le prime tecnologie WAN troviamo Arpanet e X.25, mentre fra le più attuali figurano SDH (Synchronous Digital Hierarchy), Frame Relay e ATM (Asynchronous Transfer Mode).
R) Il meccanismo di Store and Forward è il paradigma di base utilizzato nelle reti a packet switching. Ogni pacchetto contiene l’indirizzo di destinazione (il numero di packet switch è il numero del computer); ogni switch acquisisce il pacchetto nella memoria, esamina la destinazione ed inoltra il pacchetto, utilizzando una routing table che fornisce il “next hop”.
R) Il controllo di flusso si rende necessario poichè il computer mittente e quello ricevente possono avere diverse velocità di invio e di ricezione. Esso sincronizza i computer ed evita congestioni, ve ne sono due tipi principali: Stop-and-go, Sliding Window. Nel meccanismo Stop-and-go il mittente trasmette un pacchetto ed aspetta un segnale dal ricevente, il ricevente pertanto attende ed esamina il pacchetto per poi rispedire il segnale di risposta al mittente. Il meccanismo è inefficiente, tanto più inefficiente quanto è maggiore la distanza fra gli estremi della comunicazione. Nel meccanismo Sliding Window (o a “finestra scorrevole”)
invece, il ricevente stabilisce dei buffer multipli ed informa il mittente, che a sua volta quindi trasmette i pacchetti, numerati, per tutta la capacità disponibile nei buffer, verificando solamente se non siano arrivati segnali prima del completamento della trasmissione. Il ricevente segnala l’arrivo dei pacchetti numerati, inviando anche il numero del prossimo pacchetto che si attende. Il meccanismo a Sliding Window può essere ulteriormente migliorato usando altre tecniche ed accorgimenti, ad esempio con il piggybacking se la comunicazione è di tipo duplex…
R) Questa tecnologia, annoverata fra le recenti Wide Area Networks, è stata pensata dalle compagnie telefoniche, intesa per operare con voce, video e dati; le prestazioni sono statisticamente garantite, vi è un’interfaccia connection-oriented e l’inoltro dei pacchetti è realizzato dall’hardware. Essa opera ad alte velocità di connessione, fino a 622Mbps.
Questa tecnologia ha inizialmente avuto qualche problema di adozione dovuto alla larga diffusione di TCP/IP, poi risolto grazie a meccanismi di adattamento (IP over ATM e LAN emulation).
L’apparato centrale è noto come ATM switch, gli switch possono essere interconnessi e ogni stazione ha una connessione full-duplex. I pacchetti, denominati “celle”, hanno tutti una dimensione prestabilita e sono trasmesse con flusso continuo (con celle anche vuote se non ci sono dati da trasmettere).
R) Il Routing ha lo scopo di trovare un percorso da una sorgente fino alla destinazione, ed è realizzato attraverso un algoritmo, che dovrebbe tener conto dell’ottimizzazione, della stabilità, della robustezza, dell’equità all’accesso e della correttezza.
Esistono due classi di algoritmi per il routing: quelli statici/manuali e quelli dinamici/automatici.
Gli algoritmi di routing dinamici possono essere ulteriormente suddivisi in 3 sottoclassi: isolati, centralizzati e distribuiti. In quelli “isolati” ogni router prende le sue decisioni di instradamento utilizzando solamente le informazioni locali che ha a disposizione; in questo caso i routers non scambiano informazioni nemmeno con i loro vicini. Negli algoritmi dinamici di tipo centralizzato invece è un nodo centrale a prendere tutte le decisioni, nodo che ha accesso a tutte le informazioni. Infine, per gli algoritmi dinamici distribuiti, ogni router prende delle decisioni utilizzando un mix di informazioni locali e globali.
R) Le tabelle di routing contengono informazioni sulle possibili destinazioni da raggiungere ed i relativi costi; nel caso di routing manuale le tabelle vengono
create dall’utente, esse sono utili nel caso di piccole reti e se i percorsi di instradamento non cambiano mai. Per quanto riguarda il routing automatico invece vi è un software che crea ed aggiorna le tabelle, questo è necessario nelle grandi reti ed i percorsi di instradamento vengono pertanto cambiati dinamicamente se si verificano dei guasti o delle modifiche al traffico.
Ogni nodo, quando modifica le proprie tabelle di instradamento, invia ai nodi adiacenti un distance vector, che altro non è che un insieme di coppie indirizzo- distanza. Quando un nodo riceve un distance vector da un nodo adiacente, ricalcola la tabella delle distanze minime; se ci sono modifiche invia il suo nuovo distance vector (aggiornato) ai nodi adiacenti. La distanza è espressa tramite metriche classiche quali numero di hops (salti) e costo.
Un vantaggio di questo algoritmo è che è leggero e semplice da implementare (ogni router non deve costruire una mappa dell’intera rete).
Per lo stesso motivo però i nodi non hanno informazioni sulla topologia della rete, ed è difficile pronosticarne il comportamento su reti estese, vi è un alta complessità e la velocità converge a quella del link più lento e del router più lento. C’è inoltre la possibilità che si verifichino dei “loop”.
Quando un nodo riceve un Pacchetto Link State confronta il numero di sequenza del pacchetto con quello dell'ultimo pacchetto ricevuto da quel nodo:
Ogni nodo memorizza i pacchetti ricevuti e costruisce una mappa completa e aggiornata della rete: il Link State Database, ottenendo così gli stessi risultati.
Ogni nodo esegue in maniera indipendente un algoritmo, generalmente una variante dell'Algoritmo di Dijkstra, per determinare il cammino minimo per raggiungere ogni nodo della rete ponendosi come radice dell'albero dei cammini minimi.
L'utilizzo di un algoritmo di routing Link State, presenta diversi vantaggi:
Il principale svantaggio di un algoritmo Link State è la complessità di realizzazione, anche dovuta alla notevole capacità di memoria ed elaborazione richiesti dai router stessi (fonte:wikipedia.it)
R) I pacchetti possono essere instradati in due differenti metodi: Connection Oriented e Connectionless. Con la tecnica Connection Oriented i pacchetti seguono sempre lo stesso percorso, ed i percorsi prestabiliti sono detti Circuiti Virtuali. In questo caso il mittente richiede una connessione al ricevente, aspetta che la rete abbia realizzato tale connessione, che rimane stabile durante la trasmissione, e viene infine abbattuta quando non è più necessaria. Con la tecnica di tipo Connectionless invece ogni pacchetto viene elaborato separatamente; i pacchetti contengono l’indirizzo di destinazione e non è necessaria la creazione di una connessione. Pertanto, tutto avviene in un’unica fase temporale e vi è una completa assenza di negoziazione. L’instradamento Connection Oriented, che ben si adatta ad applicazioni real-time, si poggia su una rete più intelligente, può risparmiare larghezza di banda ma implica un overhead per il setup della connessione. La tecnica Connectionless, dal canto suo, implica un minor overhead, permette un uso asincrono ed ammette broadcast e multicast.
R) Il linguaggio HTML (l’acronimo HTML sta per Hyper Text Markup Language) è utilizzato dal World Wide Web per effettuare delle pubblicazioni da distribuire
a livello globale: una sorta di lingua madre per la pubblicazione, lingua che teoricamente tutti i computer sono in grado di capire. L’HTML dà agli autori i
mezzi per pubblicare in rete documenti con titoli, testi, tabelle, immagini, ecc. ma anche di ricevere informazioni online con l’utilizzo degli ipertesti al click del mouse.
Vi è inoltre anche la possibilità di interagire con servizi remoti, per la ricerca di informazioni, l’effettuazione di prenotazioni, ecc. Il linguaggio HTML dichiara “element types” che rappresentano strutture o comportamenti desiderati; la dichiarazione di questi element types è generalmente composta di tre parti: un tag di apertura, il contenuto, ed un tag di chiusura.
R) L'HTML non è un linguaggio di programmazione (in quanto non prevede alcuna definizione di variabili, strutture dati, funzioni, strutture di controllo) ma solamente un linguaggio di markup che descrive le modalità di impaginazione, formattazione o visualizzazione grafica (layout) del contenuto, testuale e non, di una pagina web attraverso tag di formattazione.
La sigla URL è un acronimo che sta per Uniform Resource Locator ed è una referenza (un indirizzo) ad una risorsa su Internet. Il nome della risorsa è l’indirizzo completo della risorsa stessa.
Un URL è anche un URI che, oltre a identificare una risorsa, fornisce mezzi per agire su o per ottenere una rappresentazione della risorsa descrivendo il suo meccanismo di accesso primario o la sua "ubicazione" ("location") in una rete. Per esempio, l'URL http://www.wikipedia.org/ è un URI che identifica una risorsa (l'home page di Wikipedia) e lascia intendere che una rappresentazione di tale risorsa (il codice HTML della versione corrente di tale home page) è ottenibile via HTTP da un host di rete chiamato www.wikipedia.org.
Notare che URI è un superinsieme che contiene l’insieme degli URL e degli URN (uniform resource name, specificano solo un nome ma non il modo per accedervi e nemmeno la locazione )
R) Il protocollo HTTP, acronimo di Hyper Text Transfer Protocol, è un protocollo di livello applicativo (Livello 7 dell’architettura modello OSI) per i sistemi informativi distribuiti, collaborativi, multimediali. Esso è descritto nella RFC 2616, specifica i tipi di richieste che un web browser può effettuare e le risposte che dovrebbe fornire; è semplice, efficiente, supporta diversi tipi di dati, è di tipo connectionless e stateless. Il protocollo utilizza il TCP/IP e la porta di default è la TCP 80. È un protocollo di tipo request/response.
Post:
R) I cookies sono un meccanismo che le servlet possono usare sia per trasmettere che ricevere dati dal lato client della connessione. Il server, quando invia un oggetto http al client, può inviare anche un contenuto di informazione che il client archivierà. In quest’informazione è contenuto anche il gruppo di URL per cui essa è valida, pertanto ogni futura richiesta http che verrà dal cliente verso quei determinati indirizzi includerà una ritrasmissione al server dei valori sullo stato che egli aveva a suo tempo inviato al client. L’aggiunta di queste informazioni di stato sul lato-client aumenta le capacità delle applicazioni web client/server.
R) Sono moduli scritti in java che estendono le funzionalità dei server/response, conosciuti anche come web server. Essendo scritti in java possono essere eseguiti su qualsiasi piattaforma, vista l’indipendenza di java.
I servlet vengono usati al posto dei normali script CGI e risiedono sul lato server. A differenza degli script CGI che creavano un nuovo processo per ogni richiesta di un client, le servlet usano un thread, più efficiente e leggero.
Essi forniscono un modo per generare dinamicamente pagine web. Sono applicazioni studiate per internet ed intranet. Il loro ciclo di vita è rappresentato da init( ) (inizializzazione) , service( ) (esecuzione) e destroy( ) (distruzione).
R) JSP è una tecnologia Java per lo sviluppo di applicazioni Web che forniscono contenuti dinamici in formato HTML o XML . E’ una tecnologia simile a PHP, ma usa il linguaggio di programmazione Java.
Per utilizzare pagine JSP è richiesto un server web compatibile dotato di servlet container (es. Apache Tomcat) .
La differenza con le servlet è che JSP è un linguaggio embedded nel sorgente della pagina che viene interpretato, le servlet invece sono compilate; la JSP è spesso una invocazione/interfaccia di una servlet. Se nell’applicazione c’è molto più java che HTML, conviene usare le servlet, altrimenti le JSP.
R) Sono componenti Java riutilizzabili, sono dotati di proprietà metodi ed eventi e sono progettati per poter essere utilizzati sfruttando ambienti di sviluppo di tipo virtuale (es.dalle pagine JSP)
R) E’ un pattern architetturale molto diffuso nello sviluppo di interfacce grafiche di sistemi software .
La parte dell’applicazione viene spezzata in tre categorie di classi (separazione dei compiti).
Classi model: implementano il modello di quello che si vuole rappresentare, senza dire nulla su come verrà rappresentato
Classi view: utilizzano le classi model per dare una veste grafica al progetto
Classi controller: descrivono come il modello cambia in reazione agli eventi. Ad ogni cambiamento significativo del modello, anche la vista viene informata.
R) Con il termine di “Internetworking” si indica un vasto insieme di servizi che hanno tutti come fine ultimo il funzionamento di reti, anche di tipologie diverse, collegate tra loro. L’utilità intrinseca delle reti che utilizziamo attualmente sta infatti proprio nella capacità di raggiungere un qualsiasi punto ed un qualsiasi terminale del globo terrestre. Pertanto l’internetworking provvede di fatto ad un
collegamento tra le varie reti; ciò necessita di un controllo anche fisico e la capacità di fornire un percorso per la consegna di dati fra processi che risiedono su reti differenti. Vengono a tal scopo utilizzati sia strumenti hardware (extra hardware posizionati tra le reti) che software (software su ciascun computer che ha accesso alla rete); un sistema di reti interconnesso è detto internetwork o internet.
R) Un internet è composta da un numero arbitrario di reti connesse tra loro da routers (gateways). Un router non è altro che un componente hardware utilizzato per interconnettere le reti; esso ha interfacce su più reti, inoltra pacchetti attraverso di esse, ed eventualmente trasforma tali pacchetti per renderli conformi agli standard delle diverse reti. In teoria sarebbe possibile interconnettere tutte le reti di un’organizzazione con un singolo router, tuttavia viene preferito l’utilizzo di più routers poichè ognuno di essi ha comunque una capacita finita e per premunirsi in caso di guasti dei router stessi, aumentando cosi l’affidabilità.
R) Il TCP/IP è il “protocol suite” largamente più usato nell’internetworking; il concetto stesso di Internet si è sviluppato di pari passo con il TCP/IP. L’architettura TCP/IP può essere cosi illustrata:
Utilizzato per la comunicazione tra le applicazioni. Corrisponde ai livelli ISO/OSI 6 e 7
Provvede ad una consegna affidabile dei dati. Corrisponde al livello ISO 4
Definisce un formato standard per i pacchetti inoltrati attraverso le reti di differenti tecnologie e le regole per l’inoltro dei pacchetti nei routers
Definisce un formato per il trasporto dei pacchetti nei frame hardware. Corrisponde al livello ISO 2
Definisce l’hardware di base della rete. Corrisponde al livello ISO 1.
Viene definito “host” qualsiasi sistema che si affaccia sulla rete e sul quale corrono delle applicazioni; il protocollo TCP/IP permette a due hosts qualsiasi su un internet di comunicare direttamente. Sia gli hosts che i routers hanno una struttura basata sugli strati del TCP/IP: tipicamente gli hosts hanno un’unica interfaccia e non inoltrano i pacchetti; i routers invece non necessitano del livello 5 (Application) per le applicazioni.
R) Poichè ogni nodo connesso alla rete può comunicare con ogni altro nodo, è necessario un metodo globale di identificazione e indirizzamento di tutti i nodi (host e router). Un indirizzo IP (IP Address) ha una lunghezza di 32 bits ed identifica un nodo e non uno specifico utente. Se un nodo (di solito i routers o i multi-homed hosts) è connesso a più di una rete avrà un indirizzo IP per ogni rete (interfaccia di rete). Gli indirizzi devono essere unici in tutta la rete (è possibile attribuire indirizzi arbitrari ad una sub-rete TCP/IP solo se questa non è connessa con altre reti); ogni indirizzo infine è diviso in un prefisso (che identifica la rete a cui il computer è collegato) ed un suffisso (che identifica il computer su tale rete).
R) I creatori di IP scelsero indirizzi di 32 bits, ed allocando alcuni bits per il prefisso ed altri per il suffisso si possono verificare diverse possibilità: un lungo prefisso ed un breve suffisso offrono numerose reti con pochi host ciascuna, un prefisso corto ed un suffisso più lungo forniscono al contrario meno reti ma con molti host ciascuna. Ogni formato viene chiamato “classe” di indirizzi, ed una classe di indirizzi è identificata dai primi 4 bits.
Classe A : primo byte = rete , altri 3 byte = indirizzi host . Il bit iniziale del primo byte che contiene l’indirizzo di rete è sempre a 0. La maschera di rete è 255.0.0.0.
Classe B : 1° e 2° byte = rete , 3° e 4° byte host , bit iniziali del 1°byte sempre uguale ad 10. La maschera di rete è 255.255.0.0.
Classe C : 1°,2° e 3° byte = rete , 4° byte host (bit iniziali: 110) sono le classi primarie, utilizzate comunemente per l’indirizzamento degli hosts. La maschera di rete è 255.255.255.0.
Classe D (bit iniziali: 1110) è utilizzata per il multicast (una forma limitata di broadcast), mentre infine la classe E (bit iniziali: 1111) è riservata.
La notazione “dotted decimal” è una convenzione per rappresentare gli indirizzi internet di 32 bit con numeri decimali, in cui ciascun byte è convertito in decimale ed è separato dagli altri da un punto.
R) I software di computers e routers utilizzano gli indirizzi IP come destinazione per spedire ed inoltrare i pacchetti. Tuttavia la rete fisica non riconosce gli indirizzi IP, pertanto gli indirizzi IP dei “next hop” debbono essere tradotti in indirizzi hardware: tale traduzione (da indirizzo IP ad indirizzo hardware) è detta
risoluzione dell’indirizzo (Address Resolution). Vi sono tre diversi metodi per realizzare ciò: Table lookup (le informazioni sono memorizzate in una tabella in memoria, usato nelle WAN), Close-form computation (l’indirizzo hardware è ricavato dall’indirizzo IP con operazioni booleane ed aritmetiche) e Message exchange (i computers si scambiano messaggi attraverso la rete per risolvere gli indirizzi, usato nelle LAN con indirizzi statici). Il TCP/IP tuttavia, non usa nessuno di questi tre metodi. Il TCP/IP, infatti, contiene un protocollo di risoluzione degli indirizzi (Address Resolution Protocol, ARP), nel quale: i messaggi di richiesta contengono gli indirizzi IP, i messaggi di risposta contengono sia l’indirizzo IP che quello hardware. I messaggi ARP sono incapsulati dentro il frame hardware, e si possono riconoscere andando a verificare il campo “tipo” (type field) nel frame header. Si usa comunque mantenere una piccola tabella dei bindings in memoria per evitare l’overhead dovuto allo scambio di messaggi multipli. TCP/IP include, infine, anche un protocollo di risoluzione inversa dell’indirizzo (Reverse Address Resolution Protocol, RARP), che consente ad un host di sapere il proprio indirizzo IP tramite l’invio di una richiesta al server contenente il proprio indirizzo hardware e ricevendo come risposta il proprio indirizzo IP.
R) Nel TCP/IP il servizio di consegna da estremo a estremo è connectionless. I protocolli di trasporto si basano su questo servizio connectionless per provvedere ad una consegna dei dati: Connectionless (nel caso UDP) o Connection-oriented (nel caso TCP). Si ha un’estensione del concetto di LAN (in
astratto) combinando un insieme di reti fisiche in un’unica rete virtuale, con un indirizzamento universale e la consegna dei dati in pacchetti (frame), ognuno con un header. I pacchetti IP hanno su un internet lo stesso scopo dei frame su una LAN; essi (i pacchetti IP) sono chiamati datagrammi. I routers inoltrano attraverso le reti fisiche questi pacchetti a datagramma, che hanno un formato uniforme, indipendente dall’hardware. Vengono incapsulati in hardware frames per poter essere consegnati su tutte le reti fisiche. Il formato tipico del datagramma IP include un’area per l’header ed una per i dati. L’header contiene tutte le informazioni necessarie per consegnare il pacchetto a datagramma al computer destinatario, ed ha come campi: Version, IHL (Header length), Type of Service, Total Length, Identification, Flags, Fragment Offset, Time to Live, Protocol, Header Checksum, Source Address e Destination Address.
R) IP offre un tipo di servizio equivalente a quello delle LAN; non garantisce di prevenire la duplicazione di datagrammi, la consegna in ritardo o fuori sequenza, la corruzione o la perdita dei dati. Il servizio pertanto è inaffidabile ed è basato sul paradigma del “best effort” (la rete cerca di “fare del suo meglio”). Un servizio di consegna affidabile è fornito dallo strato di trasporto (protocollo TCP). Lo strato di rete (Network, sempre nell’architettura TCP/IP) invece può rilevare e segnalare
errori senza però correggerli; questo strato si occupa principalmente della consegna dei datagrammi, e lo strato applicativo (Application) non è interessato nel differenziare tra i problemi di consegna fra i vari routers intermedi.
R) Ogni rete fisica ha un valore massimo di lunghezza della propria unità informativa: tale valore è la Maximum Transmission Unit (MTU). La frammentazione di un datagramma IP è necessaria se il valore della MTU nella sottorete fisica attraversata è inferiore alla lunghezza del datagramma. Questa operazione di frammentazione è effettuata dal router/host prima del rilancio nella sottorete, mentre la ricomposizione (reassembly) del datagramma originale è effettuata dall’host di destinazione. Ogni frammento è un datagramma indipendente, che include tutti i campi dell’header ed uno di questi campi indica che il datagramma in questione è un frammento.
La ricomposizione avviene a destinazione; quando arriva un datagramma con l’indicazione di frammento, la destinazione avvia un timer, scaduto il quale se tutti i frammenti non sono giunti viene scartato l’intero datagramma.
IP potrebbe causare la perdita di frammenti del datagramma, in tal caso la destinazione scarta l’intero datagramma originale. Quando infatti un destinatario identifica la perdita di un frammento esso fa partire un timer che parte con il primo frammento in arrivo e se il tempo scade prima dell’arrivo dei restanti frammenti tutto il datagramma viene scartato. A questo punto si assume che la sorgente (protocollo di livello Applicativo) effettui un ritrasmissione.
R) Si è giunti a studiare IPv6 poichè si sta andando incontro all’esaurimento dello spazio di indirizzamento Ipv4 (“classico”), per ovviare all’esplosione delle tabelle di instradamento sui routers e per fornire dei servizi nuovi e/o più efficienti. In IPv6 gli indirizzi sono di 128 bit, il formato dell’header è completamente differente e con un’estensione opzionale possono essere aggiunte anche informazioni addizionali all’header. I campi principali dell’ header IPv6 sono: Version, Traffic Class, Flow Label, Payload Length, Next Header, Hop Limit, Source Address è Destination Address. Per rappresentare formalmente gli indirizzi IPv6 si è scelto di suddividerli in 8 blocchi di 16 bit ciascuno; i blocchi sono separati mediante il carattere “:” e vengono rappresentati in notazione esadecimale. In questo nuovo tipo di indirizzamento non esistono classi di indirizzi, ossia prefissi e suffissi possono essere collocati ovunque, e vi sono tipi speciali di indirizzi per le comunicazioni unicast, multicast e cluster.
R) ICMP (Internet Control Message Protocol) è utilizzato per la trasmissione dei messaggi di errore e di controllo relativi al protocollo IP. ICMP può quindi essere considerato un sub-strato di IP (visto che serve a trasportare messaggi tra due entità IP) ma è funzionalmente al di sopra di IP (visto che i suoi messaggi governano il funzionamento di IP); ICMP è pertanto una parte integrante di IP e deve essere incluso in ogni implementazione di IP. Un messaggio ICMP è incapsulato nella parte dati di un datagramma IP, ed ogni messaggio ICMP è in relazione ad uno specifico datagramma.
ICMP ha quindi lo scopo esclusivo di notificare errori all’host di origine; esso non specifica le azioni da intraprendere per rimediare ai guasti, compito che spetta invece all’host di origine. Tra le possibili applicazioni dell’ICMP troviamo: Ping, utilizzata per verificare l’installazione della pila TCP/IP, l’attività di un host, il tempo di transito tra host sorgente e host destinazione; Traceroute, per determinare la sequenza di router attraversati da un datagramma tra l’host sorgente e l’host destinazione.
R) Il protocollo IP offre un servizio inaffidabile a datagramma tra gli hosts. I protocolli di trasporto si occupano delle consegne tra gli estremi della connessione: il protocollo UDP (User Datagram Protocol) offre un servizio a datagramma, il protocollo TCP (Transmission Control Protocol) provvede invece ad una consegna affidabile dei dati. I numeri di porta invece sono il mezzo con cui un programma sorgente indirizza un programma destinatario: i computers che stanno comunicando devono pertanto accordarsi su un numero di porta. I numeri di porta da 0 a 1023 sono detti numeri di porta “well-known” e sono riservati per particolari servizi, i numeri di porta dal 1024 al 65535 sono invece assegnati dinamicamente e a disposizione dell’utente.
R) Il protocollo di trasporto UDP (User Datagram Protocol) consente alle applicazioni di scambiare messaggi singoli, esso fornisce un livello di servizio minimo: è un protocollo senza connessione, non supporta meccanismi di riscontro e recupero d’errore e può essere utilizzato (a differenza di TCP) per trasmissioni multicast. UDP aggiunge solo due funzionalità a quelle di IP: multiplexing delle informazioni tra le varie applicazioni tramite il concetto di porta e checksum per verificare l’integrità dei dati. Esso non prevede un controllo di flusso e non è in grado di adattarsi autonomamente a variazioni di traffico; viene utilizzato per il supporto di transazioni semplici tra applicativi ed è particolarmente adatto per applicazioni Real-Time. Fra i campi dell’header UDP troviamo: Source Port e Destination Port, Segment Length, Checksum.
R) Il protocollo di trasporto TCP (Transmission Control Protocol) trasferisce un flusso informativo bi-direzionale non strutturato tra due host ed effettua operazioni di multiplazione e de-multiplazione. Esso è un protocollo con connessione ed offre un servizio stream-oriented affidabile, tra le funzioni eseguite troviamo: controllo e recupero di errore, controllo di flusso, controllo di congestione, ri-ordinamento delle unità informative e indirizzamento di uno specifico utente all’interno di un host. Per il controllo dell’errore e l’affidabilità nella consegna il TCP usa acknowledgments positivi con ritrasmissione: il ricevente manda dei messaggi di controllo (ACK) al mittente per segnalare l’avvenuta corretta ricezione dei dati, il mittente a sua volta imposta un timer quando trasmette i dati ed effettua una ritrasmissione nel caso il timer scada prima dell’arrivo degli ACK. Per garantire l’ordinamento delle unità informative, invece, quando dalle applicazioni vengono consegnate al TCP quantità arbitrarie di dati (stream), esse vengono “spezzate” dal mittente in segmenti per poter essere inserite nei datagrammi IP ed ogni segmento contiene il numero di sequenza. Fra i principali campi dell’header TCP troviamo: Source Port e Destination Port, Sequence Number, Acknowledgment Number, Data Offset, Window, Checksum, Urgent Pointer.
R) Il protocollo TCP utilizza un meccanismo a finestra variabile (Sliding Window) per realizzare un controllo di flusso. Quando arriva un segmento, il ricevente invia un ACK specificando lo spazio disponibile rimanente nel buffer; lo spazio disponibile nel buffer è detto “finestra”, e la sua segnalazione al mittente è detta “window advertisement”. Il mittente pertanto può così trasmettere un numero arbitrario di byte, in un segmento di qualsiasi dimensione, tra l’ultimo byte segnalato con ACK e la dimensione massima della finestra. In alcuni casi, la finestra variabile può portare alla trasmissione di tanti piccoli segmenti (Silly Window Syndrome): ciò accade quando il ricevente segnala una piccola finestra, ossia quando la finestra di ricezione è piena e l’applicazione che la utilizza elabora pochi bytes alla volta facendo sì che il mittente spedisca subito piccoli segmenti per colmare la finestra. Questo funzionamento è inefficiente in termini di tempo e di banda occupata, ed è possibile ovviare a ciò ritardando la segnalazione delle nuove finestre da parte del ricevente e ritardando altresì l’invio dei dati ad opera del mittente quando la finestra è piccola.
R) In generale la creazione e l’abbattimento di una connessione sono basati sullo scambio di due tipi di segmenti: l’apertura della connessione è basata sui segmenti di sincronizzazione (SYN), l’abbattimento della connessione si poggia
invece sui segmenti di chiusura (FIN). Per stabilire una connessione è possibile utilizzare il protocollo detto “two-way handshake”: esso prevede l’invio dall’host A all’host B di un SYN, al quale B replicherà con un altro SYN. L’eventuale perdita dei SYN può essere superata con la ritrasmissione, ed i duplicati di SYN vengono ignorati una volta che la connessione è avvenuta. Problemi possono essere creati da segmenti di dati andati persi o in ritardo o segmenti di precedenti connessioni. Esiste anche il meccanismo detto “three-way handshake”, utilizzato da TCP per la creazione e l’abbattimento in modo affidabile della connessione. Esso è strutturato sostanzialmente in tre punti:
Host1→Host2 SYN,SN=x Host 1 invia un segmento con SYN (o FIN, nel caso di chiusura) ed un numero casuale “x” di sequenza (SN)
Host2→Host1 SYN,ACK=x+1,SN=y l’Host 2 risponde con un segmento di SYN (FIN), ACK e SN (“y” casuale)
Host1→Host2 ACK=y+1,SN=x+1 Host 1 infine risponde nuovamente con un ACK e un SN.
R) La sigla DHTML è l’acronimo di Dynamic HTML ed è una combinazione di tecnologie per creare pagine web dinamiche; non è uno standard definito dal World Wide Web Construction (W3C). Con DHTML lo sviluppatore di siti Web ha la possibilità di controllare il posizionamento degli elementi HTML nella finestra
del browser. Da non confondere con XHTML (che è uno standard di definizione rigorosa di HTML)
Possono essere inclusi in una pagina web in tre differenti modi (in ordine di importanza):
I CSS inoltre offrono la possibilità di assegnare definizioni multiple in cascata (nel senso che uno stesso oggetto può avere più di un attributo anche in conflitto l’uno con l’altro, ma grazie al “cascading” viene dato un peso ad ogni attributo in base alla priorità di definizione, con priorità massima alla definizione inline, a
decrescere con quella interna, quella esterna e infine a quella di default del browser).
I CSS sono elementi di importanza fondamentale per il Web design poiché permettono agli sviluppatori di controllare lo stile ed il layout di più pagine contemporaneamente. Gli stili infatti vengono solitamente salvati esternamente ai documenti HTML, pertanto per effettuare una modifica globale a questi ultimi è sufficiente editare un singolo documento CSS. Ovviamente è anche possibile effettuare delle modifiche su singoli documenti HTML con gli internal style sheets, anche se ciò dovrebbe avvenire solo in casi eccezionali per non perdere l’utilità pratica dei CSS.
R) JavaScript fu sviluppato da Netscape per aggiungere interattività alle pagine HTML. Esso, da non confondersi con Java che è una tecnologia completamente differente, è un linguaggio di scripting, un linguaggio interpretato (cioè che viene eseguito senza dover essere preliminarmente compilato) e che è solitamente immerso direttamente nelle pagine HTML. JavaScript può essere inserito all’interno della pagina tramite uno script interno racchiuso tra i tag <script> oppure inserito in un file esterno e richiamato dalla pagina. Esso offre ai progettisti HTML una gran varietà di accessori per programmare, ed è eseguito lato client.
Esso realizza sostanzialmente due cose per gli sviluppatori Web:
In sostanza, esso connette le pagine web agli script o ai linguaggi di programmazione.
R) Una socket è un endpoint di una comunicazione bidirezionale tra due programmi che sono in esecuzione sulla rete.
Una socket è legata ad un numero di porta affinché lo strato TCP possa identificare l’applicazione a cui i dati sono destinati. In sostanza è un punto di contatto tra un processo e una risorsa gestita dal sistema operativo.
R) Le Applet sono per i browser quello che le Servlet sono per i server, ed hanno una propria interfaccia grafica utente.
Ogni APPLET è implementata creando una nuova sottoclasse delle APPLET CLASS, acquisendo i servizi della classe base ed implementandola con quelli definiti in essa.
Mini-applicazione Java. Il suo codice è dotato di una struttura particolare in grado di renderlo adatto al funzionamento all'interno di una pagina HTML visualizzata da un Browser Internet. Indipendente dal sistema operativo su cui viene eseguito
R) RMI è l’acronimo di Remote Method Invocation ed è una tecnologia Java che permette al programmatore di creare tecnologie distribuite basate su Java, nelle quali i metodi di oggetti Java remoti possono essere invocati da altre Java Virtual machines, che eventualmente possono risiedere anche su host differenti.
R) I portali sono diventati una tecnologia chiave per l’e-business, punto di partenza per condividere informazioni e risorse, middleware per integrare applicazioni. Essi sono un centro di aggregazione di informazioni sviluppate intorno a una tematica precisa, che può coprire i più svariati argomenti. Gli utenti possono usufruire delle risorse informative, di servizi di comunicazione personale e strumenti con cui trovare e raggiungere i contenuti e i servizi richiesti.
Esistono portali aziendali, raggiungibili solo dall’intranet aziendale o anche dall’esterno a seconda delle esigenze, ma anche portali al di fuori dell’ambito aziendale riguardo a numerosissimi e vari argomenti presenti sul web. Un portale può essere realizzato con diverse tecnologie, fra le quali troviamo Java, PHP, Asp. L’utilizzo di Java fornisce alcuni vantaggi quali la capacità di integrare le applicazioni del mondo Java e la conformità agli standard del settore.
R) I Portlet sono elementi fondamentali di un portale, hanno il compito di visualizzare i contenuti ed i servizi. Sono componenti basati su tecnologia Java, gestiti da un portlet container, processano richieste da parte dell’utente e generano contenuti dinamici. Essi sono concettualmente simili alle servlet, ma con alcune importanti differenze: generano frammenti di markup, non sono associati a un URL e si presentano in diverse modalità.
Fra i vari esempi di applicazione di portlet troviamo: accesso, consultazione e modifica di database, calendari, messaggistica, news (da feed RSS), mail e molto altro…
AJAX, acronimo di Asynchronous JavaScript and XML, è una tecnica di sviluppo per la realizzazione di applicazioni web interattive (Rich Internet Application). Lo sviluppo di applicazioni HTML con AJAX si basa su uno scambio di dati in background fra web browser e server, che consente l'aggiornamento dinamico di una pagina web senza esplicito ricaricamento da parte dell'utente. AJAX è asincrono nel senso che i dati extra sono richiesti al server e caricati in background senza interferire con il comportamento della pagina esistente. Normalmente le funzioni richiamate sono scritte con il linguaggio JavaScript. Tuttavia, e a dispetto del nome, l'uso di JavaScript e di XML non è obbligatorio, come non è necessario che le richieste di caricamento debbano essere necessariamente asincrone.
Il timeout è un tempo che il mittente di una trasmissione TCP setta alla trasmissione di dati; se il tempo scade prima che la controparte risponda con un ACK, la trasmissione viene ripetuta.
Se questo timeout è troppo lungo, c’è spreco di tempo e la trasmissione è lenta Se questo timeout è troppo corto, c’è spreco di banda perché la trasmissione viene ripetuta.
Il settaggio di questo timeout è automatico, e di solito è eseguito tramite due algoritmi:
In ambo i casi un parametro fondamentale per il calcolo è il RTT (Round Trip Time).
L'XHTML (acronimo di eXtensible HyperText Markup Language, Linguaggio di marcatura di ipertesti estensibile) è un linguaggio di marcatura che associa alcune proprietà dell'XML con le caratteristiche dell'HTML: un file XHTML è un pagina HTML scritta in conformità con lo standard XML.
Il linguaggio prevede un uso più restrittivo dei tag HTML sia in termini di validità che in termini di sintassi, in modo da descrivere solo la struttura logica della pagina, mentre il layout e la resa grafica sono imposti dai fogli di stile a cascata (Cascading Style Sheets, CSS).
Questo standard non è caldeggiato dalle grandi corporation che preferiscono invece HTML 5.
Fonte: http://www.robertomanderioli.com/8_site/universita/domande_risposte_RC.pdf
Sito web da visitare: http://www.robertomanderioli.com
Autore del testo: non indicato nel documento di origine
Il testo è di proprietà dei rispettivi autori che ringraziamo per l'opportunità che ci danno di far conoscere gratuitamente i loro testi per finalità illustrative e didattiche. Se siete gli autori del testo e siete interessati a richiedere la rimozione del testo o l'inserimento di altre informazioni inviateci un e-mail dopo le opportune verifiche soddisferemo la vostra richiesta nel più breve tempo possibile.
I riassunti , gli appunti i testi contenuti nel nostro sito sono messi a disposizione gratuitamente con finalità illustrative didattiche, scientifiche, a carattere sociale, civile e culturale a tutti i possibili interessati secondo il concetto del fair use e con l' obiettivo del rispetto della direttiva europea 2001/29/CE e dell' art. 70 della legge 633/1941 sul diritto d'autore
Le informazioni di medicina e salute contenute nel sito sono di natura generale ed a scopo puramente divulgativo e per questo motivo non possono sostituire in alcun caso il consiglio di un medico (ovvero un soggetto abilitato legalmente alla professione).
"Ciò che sappiamo è una goccia, ciò che ignoriamo un oceano!" Isaac Newton. Essendo impossibile tenere a mente l'enorme quantità di informazioni, l'importante è sapere dove ritrovare l'informazione quando questa serve. U. Eco
www.riassuntini.com dove ritrovare l'informazione quando questa serve