Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
IL PROTOCOLLO TCP/IP
2
Il Protocollo TCP/IP Transmission Control Protocol/Internet Protocol
Vinton Cerf e il suo socio Bob Khan, studenti americani, comproprietari di una società per lo sviluppo di soluzioni software, pubblicano nel 1974 un articolo dal titolo “Un protocollo per il Controllo della Trasmissione”. Nasce il TCP: una vera rivoluzione che ha in sé i principi di quello che diventerà il protocollo TCP/IP.
3
Si tratta in realtà di un linguaggio unificato capace di fare da veicolo tra macchine a distanza, quale che sia il canale usato, in modo da mandare messaggi da qualunque nodo alla giusta destinazione.
4
PROTOCOLLO TCP/IP Generalità
Il protocollo TCP/IP è un protocollo basato sul paradigma Client-Server del tipo Peer-to-Peer : un sistema che implementa il protocollo TCP/IP può funzionare da Client e da Server indifferentemente e cambiare addirittura identità in fase di elaborazione.
5
Il protocollo TCP/IP è un protocollo full duplex a commutazione di pacchetto : non esiste un’autorità centralizzata nella rete, ma un qualunque nodo è logicamente collegato ad un qualunque altro nodo e ciascun nodo può creare, elaborare e trasmettere informazioni. Tutti i nodi si trovano quindi allo stesso livello gerarchico.
6
Modello TCP/IP e Modello OSI
Nella terminologia usata per la definizione di una Intranet, cioè di una rete aziendale, il protocollo TCP/IP è classificato come protocollo Routable. Nella figura successiva sono messe a confronto la struttura OSI e quella del protocollo TCP/IP.
7
Applicazione 7 Presentazione 6 Applicazione Sessione 5 Trasporto 4
Rete Collegamento Fisico 7 6 5 4 3 2 1 Applicazione Trasporto Internet Interfaccia Rete Hardware API Modello OSI Modello TCP/IP
8
Protocolli e Componenti TCP/IP
Applicazione Trasporto Internet Interfaccia Rete Hardware Applicazioni E Servizi API UDP TCP IP ICMP ARP RARP RIP OSPF EGP BGP DRIVER di RETE e NIC Modello TCP/IP Protocolli e Componenti TCP/IP
9
TIPO Indirizzamento di Rete Indirizzamento di Host
Indirizzo TCP/IP TIPO Indirizzamento di Rete Indirizzamento di Host Il TIPO varia da 1 a 4 bit e specifica se l’indirizzo è di Classe A (bit 0); di Classe B (bit 10); di Classe C (bit 110); di Classe D (bit 1110). A seconda del tipo c’è un formato diverso e una lunghezza diversa per le altre due parti. Il Tipo più l’Indirizzamento di Rete individuano l’Identificativo di Rete, cioè la singola rete alla quale appartiene il sistema (host). L’Indirizzamento di Host è l’indirizzo del sistema nella rete.
10
Gli Indirizzi IP per Classe
Gli indirizzi per la rete principale sono sempre su 8 bit vanno da 0 fino a (2^8-1) = 255. E’ stata stabilita la seguente suddivisione : Classe A : 0 – 126 ( local host-NIC) Classe B : 128 –191 Classe C : 192 – 254 ( subnetmask-TCP/IP) in questo intervallo i numeri da 224 a 239 sono assegnati alla Classe D (sono quelli in cui i primi quattro bit sono la sequenza 1110).
11
CLASSE A : Ind.IP 0-126 1 1 1 1 1 1 1 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0 1 1 1 1 1 1 1
12
CLASSE B : Ind.IP 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0 1 1 1 1 1 1 1 1
13
CLASSE C : Ind.IP 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0 192 1 1 223 1 1 1 1 1 1 1
14
CLASSE D : Ind.IP 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0 224 1 1 1 239 1 1 1 1 1 1 1
15
Si conviene che per la Classe C siano utilizzabili gli indirizzi :
CLASSE C : Ind.IP Si conviene che per la Classe C siano utilizzabili gli indirizzi : 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0 240 1 1 1 1 255 1 1 1 1 1 1 1 1 Si parla anche di CLASSE E per gli indirizzi da 240 a 255
16
Il Protocollo TCP/IP : Applicazioni e Servizi
API UDP TCP IP ICMP ARP RARP RIP OSPF EGP BGP DRIVER di RETE e NIC Protocolli e Componenti TCP/IP
17
Applicazioni e Servizi
Esistono tutta una serie di protocolli a livello Applicazione. I più importanti sono i seguenti: PING : un servizio per il controllo del collegamento SMTP : servizio di posta elettronica TELNET : servizio di login remoto FTP : servizio di trasferimento di file DNS : servizio di traduzione nome in indirizzo IP X_Windows : servizio per la rappresentazione grafica delle applicazioni Gestione : insieme di tutti i protocolli per la gestione della rete
18
API Application Program Interface
Sono le interfacce tra il livello Applicazione, i suoi servizi e protocolli, e il livello di Trasporto, cioè tutti i protocolli di comunicazione TCP/IP. Le interfacce più usate : Socket TLI : Transport Layer Interface Entrambe specificano : 1) l’indirizzo Internet, 2)l’indirizzo della porta, 3) il protocollo TCP o UDP a seconda del tipo di connessione necessaria (affidabile o orientata alla connessione verso non affidabile o connectionless). La TLI può usufruire di una ulteriore interfaccia intermedia detta Stream.
19
Applicazioni e Servizi Protocolli di Comunicazione
Caso Interfaccia TLI Applicazioni e Servizi TLI STREAM Protocolli di Comunicazione TCP/IP Driver di Rete e NIC
20
Protocolli dello Strato Trasporto : UDP
UDP User Datagram Protocol : è un protocollo non affidabile, connectionless. I messaggi trasferiti dal livello applicazione vengono scomposti in datagrammi detti Udp o Utente, che sono poi incapsulati all’interno della struttura del protocollo IP dello strato sottostante. L’unico controllo in arrivo è fatto attraverso la verifica del checksum ricevuto con quello calcolato. Se i due checksum sono diversi, il sistema ricevente stabilisce che è intercorso un errore e scarta il datagramma.
21
Datagramma UDP 32 bit Indirizzo di Indirizzo di Origine Destinazione
Lunghezza del Datagramma Checksum Vari Ottetti DATI 32 bit
22
Protocolli dello Strato Trasporto : TCP
TCP Transmission Control Protocol : è un protocollo affidabile, orientato alla connessione, full duplex, con conferma. Il sistema trasmittente spedisce il messaggio diviso in segmenti numerati in ordine di sequenza. Attende una conferma da parte del sistema ricevente entro un certo intervallo di tempo. Se la conferma non arriva rispedisce il segmento. Il sistema in ricezione opera un controllo sugli errori in trasmissione tramite il checksum e su errori di perdita, duplicazione o fuori sequenza dei segmenti specificando il segmento che si aspetta di ricevere. Anche in questo caso ciascun segmento è incapsulato nella struttura del protocollo IP dello strato sottostante.
23
Numero di Applicazione
Segmento TCP Indirizzo di Destinazione Indirizzo Origine Numero di Sequenza Numero di Applicazione Altri Campi Puntatore di Urgenza CHECKSUM OPZIONI DATI
24
Protocolli del livello Internet
IP è responsabile di trasmettere Datagrammi UDP o Segmenti TCP incapsulati nei suoi Datagrammi IP. Realizza un servizio di trasmissione best-effort, connectionless, tra il sistema sorgente e il destinatario. ICMP è l’insieme dei protocollo per realizzare le varie funzioni di controllo sul messaggio da trasmettere. Si serve a sua volta dei servizi IP. ARP è il protocollo per la conversione dell’indirizzo Internet nell’indirizzo MAC fisico del sistema (generalmente a 48 bit) RARP consente ad un sistema senza indirizzo IP di richiederlo
25
Protocolli di Routing del Livello Internet
A livello Internet sono specificati i vari Protocolli di Routing : RIP Routing Internet Protocol OSPF Open Shortest Path First EGP Exterior Gateway Protocol BGP Board Gateway Protocol Sono tutti i protocolli volti a stabilire il miglior percorso per la trasmissione dei Datagrammi IP.
26
Il Gateway del Protocollo TCP/IP
Nelle reti aziendali verrà introdotto il Gateway : un elemento che opera come convertitore di protocollo. Il termine Gateway usato nei protocolli di routing è invece sinonimo di router (in realtà ne individua l’indirizzo IP). Quando un sistema deve trasmettere un messaggio chiama un router di default o usa un algoritmo per stabilire a quale router rivolgersi (sulla base dell’indirizzo a cui trasmettere). Il router ricevuto il datagramma IP verifica l’indirizzo ed eventualmente comunica al sistema sorgente il miglior router a cui spedire il prossimo datagramma. Il sistema sorgente memorizza queste informazioni in una tabella di routing.
27
L’Interfaccia Rete (Livello Data-Link del mod.OSI)
Il protocollo TCP/IP non definisce specifiche per i livelli Interfaccia Rete e Fisico, ma usa quelli delle LAN che lo implementano (LAN Ethernet, Token Ring, FDDI, ecc…). Questa peculiarità (adattabilità) ha reso il protocollo TCP/IP il protocollo più usato nel mondo e non è quindi un caso che su di esso si basa il funzionamento della rete Internet.
28
Servizio di Demultiplexing
Un importante servizio fornito dal livello Interfaccia Rete e che merita una particolare attenzione è quello di Demultiplexing delle Trame. Una scheda di interfaccia (NIC) trasferisce una trama ricevuta verso il livello Interfaccia Rete, che la scompone e stabilisce a quali protocolli del livello Internet essa va indirizzata. Protocolli per Ll risoluzione degli indirizzi Protocolli per la risol degli ind. inversi Protocolli Internet Protocolli per i messaggi di controllo Internet DEMULTIPLEXING NIC TRAMA
29
Ambienti Client-Server
30
Generalità Un ambiente Client-Server è caratterizzato dalla presenza di una rete (LAN o WAN) per trasmissioni ad alta velocità tra “fornitori” di servizi, detti Server e “consumatori” di servizi, detti Client. I Server e i Client rappresentano i nodi della rete. La filosofia alla base delle strutture Client-Server è rendere accessibili al massimo numero di utenti in maniera affidabile ed efficiente un gran numero di risorse high-level da gestire in maniera ottimale. I Server sono i supervisori che ne regolano l’uso in un ambiente distribuito, che prevede cioè la presenza di una rete.
31
Struttura tipo La struttura per un tipico sistema Client-Server è quella di figura : Mainframe I dati vengono conservati in un magazzino dei dati (prima si usava il Mainframe) al quale accedono vari Server, che gestiscono le interrogazioni e gli aggiornamenti dei dati. I Server possono essere workstation o PC con prestazioni superiori. I Server sono poi collegati tramite la rete ai Client, semplici PC, che rappresentano l’interfaccia con gli utenti finali. I Server sono sistemi reattivi che agiscono solo su richiesta. I Client sono sistemi attivi che avnzano richieste anche indipendentemente dagli utenti finali. SERVER 1 SERVER 2 LAN PC_1 PC_2 PC_3 PC_4 CLIENT
32
Processi Client - Server
I processi Client-Server a cui facciamo riferimento sono nella maggior parte dei casi quelli multithreaded, dove una classe di Server (Thread) sono attivati e disattivati dai Client sulla base di considerazioni basate sull’efficienza, sui tempi di risposta e sulle code esistenti.
33
I Sistemi Server I possibili Sistemi Server in ambienti Client-Server sono : FILE SERVER per l’accesso a file e directory : il server trasmette ai client record di file o interi file dietro richiesta PRINT SERVER per l’accesso a servizi di stampa DATABASE SERVER per l’accesso a DataBase : il server riceve dai client interrogazioni in SQL; le elabora; accede alle basi dei dati e rispedisce ai client lungo la rete solo i risultati COMMUNICATION o GROUPWARE SERVER per l’accesso a dispositivi specifici per le comunicazioni tra client e loro utenti allo scopo di trattare testi, immagini, banche dati, ecc… APPLICATION o TRANSACTION SERVER per l’accesso a specifiche applicazioni con la possibilità di distribuzione della potenza di calcolo : il client richiede al server l’esecuzione di una procedura remota tramite istruzioni in SQL e quando l’esecuzione della procedura è terminata e il client riceve i risultati si dice che ha avuto luogo la transazione.
34
I componenti sw di un sistema C/S (componenti base)
I componenti base di un sistema C/S sono : sw di interfaccia per la presentazione e l’interazione con l’utente finale sw di applicazione per l’elaborazione dei processi sw di gestione per le basi dei dati Questi tre componenti possono essere allocati o sul server o sul client determinando un sistema a “Server Pesante” o “Client Pesante” a seconda di dove vengano allocati il numero maggiore di componenti.
35
Esempi Client Pesante :
File Server, DataBase Server dove sw di interfaccia e di applicazione risiedono sul client; Server Pesante : Groupware Server, Transaction Server dove sw di applicazione e di gestione delle basi dei dati risiedono sul server.
36
Sistemi Peer-to-Peer C/S
Esistono anche sistemi più flessibili Peer-to-Peer C/S dove il generico nodo della rete può funzionare sia da client che da server, cambiando addirittura identità nel corso di una elaborazione se necessario. Esempi di sistemi Peer-to-Peer Client-Server sono quelli che supportano le famiglie di protocolli TCP/IP.
37
I componenti sw di un sistema C/S (componenti addizionali)
Oltre ai tre componenti base esistono altri componenti sw addizionali il cui insieme è detto middleware: sw di rete (sistemi operativi per la gestione della rete); sw di comunicazione fra i nodi (protocolli); sw per applicazioni high level (es. X-Open DTP per il colloquio tra DBMS eterogenei all’interno di una stessa transazione). Questi componenti possono essere allocati sia sul server che sul client.
38
Configurazioni Client-Server Parte I
Con le varie combinazioni di componenti sw si vengono a creare le seguenti configurazioni : Presentazione Distribuita : la logica della base dei dati e delle applicazioni risiede sul server e il client si occupa della presentazione grafica delle informazioni, cioè della loro codifica, mentre la logica delle interfacce utente risiede sul server Presentazione Remota : rispetto alla precedente sul client risiede anche la logica delle interfacce utente; la rappresentazione grafica è allestita dal Client sulla base dei dati trasmessi dal server attraverso la rete
39
Configurazioni Client-Server Parte II
Logica Distribuita : il server si occupa della gestione delle basi dei dati e delle funzioni di controllo; elabora le richieste formulate dai client, che hanno la gestione delle interfacce utente e dell’interfaccia verso il server per trasferire le interrogazioni degli utenti. Il sw di applicazione risiede sul server. Gestione dei dati remota : esistono fonti esterne usate come Data Source. I Server acquisiscono i dati da queste fonti per generarne altri disponibili ai client attraverso specifiche applicazioni.
40
Configurazioni Client-Server Parte III
Base di Dati Distribuite : le basi dei dati sono distribuite tra server e client e quindi anche i client hanno il sw per la gestione delle basi dei dati. La soluzione più tipica è comunque quella che assegna i sw di interfaccia utente al client, quelli per la gestione delle basi dei dati al server (dove spesso risiede anche la base dei dati). I dati statici sono allocati sul client per ridurre il sovraccarico del server e della rete.
41
Collegamenti tra i Componenti sw
I collegamenti più usati per i tre componenti base e per quelli del middleware sono : le pipeline usate per lo più in ambienti Unix per collegare stazioni che usano differenti sistemi operativi; le chiamate a procedura remota attraverso le quali vengono richieste le esecuzioni di procedure remote, residenti cioè su altri sistemi; interazioni SQL, tramite linguaggio SQL, usate per DBMS relazionali; l’Object Request Broker (ORB) : un mediatore di richieste di oggetti che coordina richieste e offerte, le cui caratteristiche sono definite dallo standard CORBA e che è usato in amcienti client-server object oriented.
42
Progettazione di Sistemi Client-Server
Nella progettazione di sistemi C/S ha trovato largo impiego il “Modello di Sviluppo Concorrente” anche detto “Concurrent Engineering”. Questo modello fissa una sequenza di stati : 1. INESISTENTE 2. IN CORSO DI SVILUPPO 4. IN ATTESA DI MODIFICHE 3. IN ESAME 5. IN CORSO DI REVISIONE 6. ACQUISITO 7. COMPLETATO
43
Le Attività per la Progettazione
Per un sistema Client-Server il modello concorrente stabilisce le attività inerenti al progetto del sistema e al progetto dei suoi componenti. Le attività per il progetto del sistema sono: progettazione assemblaggio utilizzo per il progetto dei suoi componenti : realizzazione
44
Il Modello Concorrente
Il modello concorrente si applica ad ognuna delle attività viste prima. Il passaggio in uno stato di una certa attività può produrre il passaggio di stato di un’altra attività ad essa correlata. Le attività del sistema e quelle dei componenti si svolgono in parallelo. 1. INESISTENTE 2. IN CORSO DI SVILUPPO 4. IN ATTESA DI MODIFICHE 3. IN ESAME 5. IN CORSO DI REVISIONE 6. ACQUISITO 7. COMPLETATO
45
Progettazione dei Componenti
All’interno della progettazione dei componenti per un sistema Client-Server attenzione particolare è dedicata a : la progettazione della Base dei Dati, tipicamente un RDBMS o una Base dei Dati OO; la progettazione dell’interfaccia utente il collaudo finale, che riveste un ruolo molto importante.
46
Progettazione della Base di Dati
La progettazione della Base di Dati rientra nel Ciclo di Vita di un sistema informativo, secondo lo schema che segue : REQUISITI PER DBMS STUDIO DI FATTIBILITA’ PROGETTAZIONE CONCETTUALE RICERCA E ANALISI DEI REQUISITI SCHEMA E/R PROGETTAZIONE LOGICA PROGETTAZIONE SCHEMA RELAZIONALE IMPLEMENTAZIONE PROGETTAZIONE FISICA VALIDAZIONE E COLLAUDO SCHEMA FISICO DEL DBMS FUNZIONAMENTO
47
Base di Dati in Ambiente C/S
La Base di Dati usata in un ambiente Client-Server, che vede la presenza di una rete, è necessariamente una Base di Dati distribuita. Diventa cruciale l’organizzazione dei dati in termini di loro formato e allocazione. Diventa altresì cruciale gestire l’accesso a questi dati in maniera efficiente e stabile nel tempo. Linguaggio SQL e RDBMS rappresentano un’ottima combinazione software-hardware per la risoluzione di questi problemi.
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.