Architettura di rete

Materie:Appunti
Categoria:Sistemi
Download:112
Data:20.04.2005
Numero di pagine:7
Formato di file:.doc (Microsoft Word)
Download   Anteprima
architettura-rete_1.zip (Dimensione: 12.77 Kb)
readme.txt     59 Bytes
trucheck.it_architettura-di-rete.doc     78 Kb


Testo

Reti di calcolatori
• Rete di calcolatori: connessione di (migliaia di) computer che condividono servizi di sistema, permette la comunicazione e la distribuzione del carico, e permette di continuare il funzionamento in casi di guasti locali
• Nodi: calcolatori con memoria e dischi privati
• Connessioni: cavi, router, bridge, gateway,…

SCOPI delle Reti:
• Condivisione dell’informazione
• Condivisione delle risorse
• Comunicazione
• Accesso a risorse remote
Protocolli per la comunicazione
• Tutte le attivita’ in Internet che implicano la comunicazione tra 2 o piu’ entita’ remote sono governate da protocolli.
• Un protocollo definisce il formato e l’ordine dei messaggi scambiati tra 2 o piu’ entita’ comunicanti, cosi’ come le azioni conseguenti alla trasmissione e/o alla ricezione di un messaggio.
Servizio Connection-Oriented
• Obiettivo: trasferimento dati tra host.
Protocollo di Handshaking: preparazione al trasferimento dei dati.
Si stabilisce la connessione TCP (Transmission Control Protocol).
Si scambiano le informazioni.
Si chiude la connessione.
TCP (Transmission Control Protocol)
• Fornisce un servizio di trasferimento dei dati affidabile (acknowledgement).
• Fornisce il controllo del flusso, in modo da evitare la saturazione di una delle due entita’ comunicanti.
• Fornisce il controllo della congestione (i terminali riducono la velocita’ di invio di pacchetti nella rete durante i periodi di congestione)
• Usato da applicazioni tipo Telnet (login remoto), SMTP (email), FTP (trasferimento file) e HTTP (web).
UDP (User Datagram Protocol)
• Non fornisce il meccanismo degli acknowledgement e non c’e’ controllo di flusso ne’ di congestione.
• Utilizzato da applicazioni come quelle multimediali.
La pila di protocolli Internet
• application: supporto per le applicazioni di rete
ftp, smtp, http
• transport: trasferimento dati end-to-end
tcp, udp
• network: instradamento di datagrammi da sorgente a destinazione (host-to-host)
ip, protocolli di routing
• link: trasferimento di dati tra elementi di rete adiacenti
ppp, ethernet
• physical: bit “sul cavo”
Stratificazione e dati
Ogni strato riceve dati dallo strato superiore:
• Aggiunge uno header e crea una nuova unità di dati
• Passa la nuova unità di dati allo strato inferiore
Paradigma client-server
Client:
• Inizia il dialogo col server (“speaks first”).
• Di solito richiede un servizio.
• Nel caso del Web, il client è integrato nel browser.
Server:
• Fornisce il servizio al client, su richiesta.
• Es., un Web server invia una pagina Web richiesta, un mail server accede alla casella di posta elettronica
Protocolli di livello applicativo: servizi dagli strati inferiori e identificazione
API: Application Programming Interface
• Definisce l’interfaccia tra applicazione e strato di trasporto
• Socket: API Internet
Due processi (applicazione nel modello client server) comunicano inviando/leggendo dati
nel/dal socket
• Come può un processo “identificare” quello con cui intende comunicare?
CCCCCCCCIndirizzo IP dell’host su cui l’altro processo è in esecuzione
ccccccccNumero di porta (port number) – permette all’host ricevente di identificare il processo locale
destinatario del messaggio
Servizi necessari alle applicazioni

Perdita (Data loss)
• Alcune applicazioni (es., audio) sono tolleranti (fino a un certo punto)
• Altre (es., FTP, telnet) richiedono affidabilità totale
Banda
• Alcune applicazioni (soprattutto multimediali) richiedono una banda minima
• Altre (dette “elastiche”) usano la banda a disposizione
Ritardo
• Alcune applicazioni (es., telefonia Internet, giochi interattivi in rete) richiedono una banda minima per funzionare con qualità sufficiente
Servizi offerti dai protocolli di trasporto Internet

Servizio TCP :
• Orientato alla connessione: richiesto “setup” tra client e server (fase di handshaking).
• Trasporto affidabile (reliable transfer) tra processi mittente e ricevente.
• Controllo di flusso (flow control): il mittente non sommerge il ricevente.
• Controllo della congestione (congestion control): si limita il mittente quando la rete è sovraccarica.
• Non offre: garanzie di banda e ritardo minimi.
Servizio UDP :
• Servizio non orientato alla connessione
• Trasporto non affidabile tra processi mittente e ricevente
• Non offre: affidabilità, controllo di flusso, controllo di congestione, garanzie di ritardo e banda
• Può essere conveniente per alcune applicazioni
WWW: terminologia essenziale
• Pagina Web:
 È costituita da “oggetti”
 È indirizzata da un URL.
• URL (Uniform Resource Locator):
UUUUUUUUIdentifica un oggetto nella rete e specifica il modo per accedere ad esso.
 Ha due componenti: nome dell’host e percorso (path) dell’oggetto nell’host
• Un browser (interprete) per il Web mostra la pagina Web richiesta e fornisce molte caratteristiche di navigazione e configurazione:
UUUUUUUUUMS Internet Explorer
MMMMMMMMMNetscape Communicator
• Un Web server memorizza gli oggetti Web, ciascuno indirizzabile da un URL:
Apache (pubblico dominio)
AAAAAAAAAMS Internet Information Server
Il protocollo HTTP
HTTP: HyperText Transfer Protocol
• Protocollo di livello applicativo per il Web.
• Definisce come i client Web (browser) richiedono le pagine Web dai server e come i server trasferiscono le pagine Web ai browser.
HTTP usa TCP come protocollo di trasporto sottostante:
• Il client inizia una connessione TCP con il server sulla porta 80.
• Il server accetta la connesione TCP dal client.
• Vengono scambiati messaggi HTTP tra il browser (client HTTP) e il Web server (server HTTP)
• Il server non mantiene informazione sulle richieste precedenti del client
• I protocolli che mantengono informazione di stato sono complessi (es. TCP)
Formato dei messagi HTTP
• Due tipi di messaggi HTTP: request (richiesta), response (risposta)

• Messaggio http request:
ASCII
Web Cache (proxy server)
Obiettivo: rispondere alle richieste evitando di accedere al server remoto
• L’utente configura il browser: accesso attraverso web cache
• Il client invia tutte le richieste al proxy
• La cache restituisce l’oggetto se presente
• Altrimenti l’oggetto è richiesto prima al server e poi è restituito al client

FTP: File Transfer Protocol
• Protocollo per il trasferimento dei file da/verso un host remoto
• Usa il modello client/server
///////client: parte che richiede il trasferimento (da/verso l’ host remoto)
///////server: host remoto
• ftp server: porta 21
FTP: connessioni di controllo e dati separate

• Il client contatta il server sulla porta 21, specificando TCP come protocollo di trasporto.
• due connessioni TCP parallele:
dddddddcontrollo: scambio di messaggi di controllo tra client e server.
dati: trasferimento dati da/verso il server
• Il server ftp mantiene informazioni di “stato”: directory corrente, autenticazione.
Posta elettronica
Tre componenti principali :
• User agent
• Server di posta
• Simple Mail Transfer Protocol: SMTP
Posta elettronica: mail server
Mail Server
• Mailbox contenente messaggi (non ancora letti) per l’utente
• Coda di messaggi in uscita (non ancora spediti)
• Protocollo SMTP tra i mail server per il recapito dei messaggi
PPPPPP client: il server che invia il messaggio
cccccc “server”: server che riceve il messaggio
Simple Mail Transfer Protocol (SMTP)
• Usa TCP per il trasferimento affidabile dei messagi da client a server, porta 25
• Trasferimento diretto: da server a server
• Tre fasi
Handshaking (saluto)
Trasferimento del messaggio
 Chiusura
• Interazione mediante comandi/risposte
• Comando: testo
Risposta: codice di stato e frase
Formato dei messaggi
SMTP: protocollo per lo scambio di messaggi di posta
Standard per il formato dei messaggi inviati:
• Header:

To:
TTTTTTTFrom:
FFFFFFFSubject:
• Body:
Il “messaggio” vero e proprio, solo caratteri
Protocolli di accesso alla posta
• SMTP: consegna al/memorizzazione nel server di posta del ricevente
• Protocollo di accesso: recupero della posta dal server locale
PPPPPPPPPOP3: Post Office Protocol
• Autenticazione (agent server) e scaricamento
IMAP: Internet Mail Access Protocol
• Più possibilità (più complesso)
• Manipolazione dei messaggi memorizzati sul server
Post Office Protocol - POP3
• Protocollo di accesso semplice, con funzioni limitate.
• Lavora quando lo user agent (ad es. Outlook) dell’utente apre una connessione TCP al server di posta sulla porta 110. Il POP3 procede con autorizzazione (nome utente e password), transazione (lo user agent ottiene i messaggi), aggiornamento (il server elimina i messaggi contrassegnati per l’eliminazione).
• Lo user agent puo’ essere impostato per scaricare e poi cancellare i messaggi dal server di posta, oppure per scaricarli e conservarli sul server di posta.
Internet Mail Access Protocol – IMAP
• Protocollo piu’ complesso, consente di gestire le caselle di posta remote (quindi che risiedono sui server di posta) come se fossero locali.
• Consente quindi di mantenere diverse cartelle di messaggi presso il server di posta.
• Una sessione IMAP consiste nello stabilire la connessione tra lo user agent (ad es. Outlook) e il server IMAP, l’autenticazione dell’utente tramite nome e password. L’utente puo’ procedere alla gestione dei messaggi, terminata la quale effettua il logout e la sessione viene terminata.
DNS: Domain Name System
• DNS (Domain Name System) : traduzione indirizzo IP - nome logico
• Esso consiste di:
EEEEEEEEEUno schema gerarchico di nominazione, basato sul concetto di dominio
UUUUUUUUUUn database distribuito che implementa lo schema di nominazione;
UUUUUUUUUUn protocollo per il mantenimento e la distribuzione delle informazioni sulle corrispondenze
• Lo spazio dei nomi DNS è uno spazio gerarchico, organizzato in dominii, ciascuno dei quali può avere dei sottodominii
• Esiste un insieme di dominii di massimo livello (top-level domain), i più alti nella gerarchia
• Nel caso di un host, la forma del nome logico è costituita da un certo numero di sottostringhe separate da punti
• Cammino inverso dalla foglia -radice
DNS: Name Server
• Name server è il processo che gestisce le informazioni di corrispondenza fra nomi simbolici e indirizzi IP
• Per ogni host del dominio esiste un record – detto gestito dal DNS server responsabile del dominio (informazioni corrette e aggiornate)
• Nessun name server contiene tutte le associazioni nome simbolico/indirizzo IP
• Name server locali :
Ogni ISP o compagnia ha un name server locale

La richiesta di traduzione (mapping) di un host è prima rivolta al name server locale
• Name server di riferimento :
Per un host: per definizione è quello che è sempre in grado di eseguire la traduzione
(mapping) nome simbolico/indirizzo IP dell’ host

Esempio