Sei sulla pagina 1di 14

IL LIVELLO DELLE APPLICAZIONI NEI MODELLI ISO/OSI E TCP

❏ Le applicazioni di rete
il livello di applicazione consente di aggiungere nuovi protocolli e non bisogna mettere il
numero di protocolli esistenti,visto che ne vengono aggiunti sempre di nuovi

i protocolli implementati dal livello applicativo sono:


● SNMP (simple network management protocol)
● SMTP (simple mail transfer protocol)
● POP3 (post office protocol)
● FTP (file transfer protocol)
● HTTP (hypertext transfer protocol)
● DNS(domain name system)
● SSH(secure shell)
● Telnet

la comunicazione avviene come se ci fosse un collegamento diretto tra client e


server,questa è detta connessione logica.

❏ Host
l’applicazione è formata da programmi che si reggono su uno o più host,questi interagiscono
tra di loro e creano la concorrenza nei ii9 e prende il nome di applicazione distribuita.
Porte:
● email-porta TCP 25
● sito web-usa il protocollo HTTP sulla porta TCP 80
● Indirizzo IP- UTP 53

il socket è formato da <indirizzo IP:numero della porta>.


se un processo vuole mandare un messaggio lo fa uscire dal proprio socket e lo farà arrivare
al socket del destinatario.

❏ Architetture delle applicazioni di rete


le architetture usate sono tre:
● client-server
● peer-to-peer
● ibride
client server
deve esserci un server attivo che fruisce il servizio,un esempio è il www ove sono presenti
che gestiscono tutte le pagine che saranno poi mostrate agli utenti.

il server deve restare attivo e possedere un IP fisso e statico,a differenza dei client che
invece hanno un IP dinamico.

peer to peer
ci sono coppie di host (peer),ogni peer fornisce una risorsa in cambio di altre risorse.
un esempio è emule.
peer to peer decentralizzato

in un P2P decentralizzato i peer hanno due funzioni,i client e di server.


per questo motivo individuare una risorsa con il suo IP è impossibile e devono essere definiti
nuovi metodi di indirizzamento.
il P2P è capace di adattarsi ai cambiamenti mantenendo prestazioni e connettività.

peer to peer centralizzato


il P2P centralizzato ha un server centrale e i peer sono responsabili di conservare i dati,di
informare il server e di rendere disponibile la risorsa agli altri peer che lo richiedono.
un esempio è napster.
peer to peer ibrido
nel P2P ibrido ci sono alcuni peer determinati in automatico che hanno lo scopo di
indicizzazione,gli altri nodi sono i leaf peer

❏ Servizi offerti dallo strato di trasporto alle applicazioni

tutti i protocolli devono trasferire dei messaggi da un punto all’altro della rete e per farlo
bisogna scegliere il protocollo di trasporto in base alle richieste dell’applicazione tra cui:
● Trasferimento dati affidabile
● ampiezza di banda
● temporizzazione
● sicurezza

Trasferimento dati affidabile


un servizio che garantisce la consegna dei dati,a tale scopo ci sono due protocolli:
● UDP:quando è accettabile la perdita di alcuni dati
● TCP:quando non è accettabile la perdita di dati

ampiezza di banda
alcune applicazioni hanno bisogno di garanzie dal punto di vista della larghezza di banda
disponibile,un esempio sono le trasmissioni in diretta web-tv.
temporizzazione
alcune applicazioni ammettono solo dei piccoli ritardi,il TCP e l’UDP non sono in grado di
garantire il tempo richiesto,per questo si usa l’RTP che può studiare i ritardi e scegliere in
base alle calibrazioni quando usare TCP e quando UDP.

sicurezza

Una applicazione può richiedere anche la cifratura dei dati.


vengono usati quindi dei servizi di sicurezza per garantire la privacy.

IL WEB: HTTP E FTP

❏ Il World Wide Web


E’ un insieme di pagine multimediali,tra le quali ci si può muovere attraverso diversi metodi.
l’homepage viene mostrata come risposta appena avviene il collegamento ed è necessario
l’utilizzo di un browser
il codice delle pagine è in HTML ed è in grado di mandare in esecuzione script quali
JavaScript.
il client fornisce al server le richieste per un oggetto,il server integra i dati nell’html e risonde
al client.

❏ L’architettura del Web


Nella rete ogni risorsa è identificata in modo univoco tramite un indirizzo URI.
L’URI comprende quanto necessario per la localizzazione dei file,infatti include la
localizzazione del protocollo,del nome del file e dell’indirizzo internet.

URL(Uniform Resource Locator)


L’url è un tipo di uri che può identificare oggetti non correlati a protocolli internet esistenti.
ogni documento è identificato da un URL,formato da:
● Protocollo per la connessione
● nome simbolico
● pathname
l’associazione tra ip e hostname si crea grazie al DNS.
il funzionamento del web può essere descritto in tre termini:
● formato: informazioni che identificano il tipo di documento da trasferire
● identificazione: le risorse possono essere identificate con un indirizzo
● interazione:i browser comunicano tramite protocolli che consentono lo scambio di
informazioni con una struttura precisa

❏ Il protocollo HTTP

Usa l’architettura client server ed è il protocollo usato dal www,è definito in RFC 2945 e RFC
2616
I messaggi possono essere separati in request e response,insiemi di caratteri ASCII.
il meccanismo di funzionamento del protocollo HTTP è il seguente:
● Viene aperta una connessione TCP tra client-server
● Il browser richiede una risorsa al server HTTP
● il server risponde
● si chiude la connessione

ecco come si apre la connessione client-server:


● il browser estrae il dominio dall’URL
● HTTP instaura una connessione verso il web server sulla cui porta 80 il server HTTP
è in ascolto
● HTTP invia un GET al server tramite socket,nella richiesta specifica il file che gli
serve
● il server una volta ricevuta la richiesta manda l’oggetto come risposta al server
attraverso il socket
● HTTP invia quindi al TCP la chiusura della connessione,che si realizzerà quando
arriverà il messaggio di risposta
● la connessione TCP si chiude

Il formato del messaggio HTTP


il formato è composto da una start line,una header e un body.
nell’header compaiono i dati che riguardano il tipo di documento che il client riceve,la data e
alcune informazioni sul sistema richiedente
il body può essere omesso,ma deve essere usato dal server per rispondere con la pagina
HTML. contiene dati di un form inviato al server se è stato usato il POST
Definizioni dei metodi
L’HTTP Mette a disposizione un client e dei metodi per fare richieste al server:
● OPTION: richiesta di informazioni per la comunicazione
● GET:richiede una risorsa al server
● HEAD: è uguale al get,ma il server non deve restituire il corpo del messaggio
● POST:il client può spedire al server informazioni con una serie di coppie
nome=valore
● PUT:invia file al server
● DELETE:chiede che il server ricevente cancelli il file. il client non sa se l’operazione
ha avuto successo.
● TRACE:richiama un loopback a livello dell’applicazione
● CONNECT: connessione con un proxy server

❏ I Cookies
HTTP è state-less quindi non ci sono tracce dei client nel server,per questo vengono usati i
cookies per riconoscere gli utenti.
i cookies sono file che vengono memorizzati nel computer dell’utente ,contenente
informazioni sulle pagine visitate.
quando l’utente si collega di nuovo il cookie viene mandato al server che organizza la pagina
in modo personalizzato in base al contenuto dei dati.
per memorizzare i cookies c’è bisogno del consenso del client.

❏ HTTPS(Secure HyperText Transfer Protocol)


Cifra HTTP e lo incapsula in una connessione con il server in modo da renderlo più sicuro
da eventuali attacchi.
❏ Il protocollo FTP
si basa sul TCP e per trasferire dati usa due canali TCP in parallelo,con due connessioni:
● Connessione di controllo:usata per spedire le informazioni di controllo client-
server,ad esempio utente:password.
● Connessione dati: usata per il trasferimento dati

per poter creare una connessione FTP entrambi i dispositivi devono avere installato un
software FTP,un server FTP e un Client FTP.

FTP server
L’FTP server dà diverse possibilità al client per interagire con i file:
● download/upload
● possibilità di riprendere download interrotti
● rimozione dei file
● navigazione tra le directory
l’accesso al server viene effettuato tramite un’autenticazione e in base ai privilegi
dell’utente possono aggiungersi altre funzioni.

FTP client
Un FTP client è un programma costruito da due parti:
● Comunicazione
● interfaccia utente

i vari programmi sono diversi tra loro per caratteristiche,dal transfer rate ai
componenti grafici e così via.
le funzioni comuni a tutti sono:
● connessione al server remoto
● trasferimento di un file dal server al client
● trasferimento di un file dal client al server
● lettura dei file presenti nella directory
● cambiamento della directory
● disconnessione

uno di FTP client principali è FileZilla

EMAIL,DNS E TELNET

❏ Il servizio email

la posta elettronica non è associata all’utente,ma alla loro casella postale,infatti ogni
persona può avere più caselle con più email.
ci sono due modalità di accesso :
● POP mail:effettua le operazioni dal computer su cui è installato il programma
● web mail: effettua le operazioni tramite la connessione a un sito (gmail)

❏ Il servizio email
Il primo documento per descrivere il protocollo SMTP è l’RFC 822
esso è composto da un header e un body.
l’header è composto da:
● to
● from
● cc
● bcc
● date
● reply-to
● subject

il body invece è composto da lettere ASCII,e con l’SMTP si possono trasportare


caratteri a 7 bit.
Trasferimento SMTP
SMTP usa il TCP per mandare messaggi al server attraverso la porta 25.
ci sono tre fasi per l’invio di un messaggio:
● l’utente inva il messaggio al server con il protocollo SMTP
● il server manda il messaggio l destinatario
● il destinatario scarica il messaggio dal proprio server

❏ POP 3 (Post Office Protocol)


l’operazione di prelievo dei messaggi ricevuti sul pc personale si effettua tramite
POP,che fa accedere il client al server per scaricare i messaggi.
POP è un sistema client server e la connessione avviene in tre punti:
● autorizzazione:l’utente deve identificarsi e accede alla casella
● transazione:la posta viene scaricata
● aggiornamento: il server cancella i messaggi scaricati e chiude la
connessione

via web si usano siti che non scaricano i messaggi sul pc ma deve venire letta e
controllata in rete.

❏ Telnet
è un protocollo che si basa su TCP e serve per creare una connessione tra host.
quando si richiede una connessione telnet si fa una richiesta sulla porta 23 del client
e del server.
il comando è questo:
telnet[<opzioni>] [<host-remoto> [<porta>]]
Alla base di telnet c’è la simmetria,che può portare a un loop dovuto alla mancanza
di un host prevalente.
per evitarlo bisogna seguire degli accorgimenti:
● Ogni host può chiedere una sola modifica delle opzioni
● non si può richiedere lo stato delle opzioni
● per ogni modifica si deve inviare un ACK

telnet si usa principalmente per il debug dei networking tipo SMTP HTTP.
I ROUTER COME DISPOSITIVI HARDWARE

la differenza tra WAN e LAN consiste nei protocolli usati nel lato fisico.
LAN consente al router di collegarsi tramite ethernet o token ring.
WAN fornisce la connessione grazie a un provider o a internet.

La Management port comprende la console e l’AUX:


● la porta console si usa per vedere i messaggi d’errore,lo startup del router,il
debugging e per eseguire procedure di recovery,eseguibile tramite l’utilizzo di
un programma specifico quale Hyperterminal
● la porta AUX si usa per connettere il router alla rete per compiere azioni di
monitoraggio

❏ Il sistema operativo Cisco IOS


I router,proprio come ogni altro dispositivo hanno un sistema operativo,in questo
caso si usa il CISCO IOS che offre diversi servizi:
● funzioni di routing
● accesso alle risorse di rete
● scalabilità della rete
a ogni nuova versione di IOS viene dato un nome con il seguente schema:
● Platform:modello di router a cui è mirato l’aggiornamento
● Features:caratteristiche della versione
● Run time memory and compression format: è composto da due lettere,la
prima indica l’area di memoria in cui verrà inserito il sistema operativo,la
seconda il formato

❏ Modalità operative
Le macchine CISCO operano in tre modi:
● ROM monitor
● boot ROM
● Cisco IOS
la modalità di funzionamento viene definito durante il caricamento del sistema
operativo nella RAM.
Nella ROM monitor viene eseguito il bootstrap che include le funzioni di basso livello
La boot ROM permette di effettuare operazioni di scrittura sulla memoria flash
Startup del router
lo startup avviene caricando in ordine bootstrap,il sistema operativo e la
configurazione.
Quando il router si accende viene eseguito il POST,durante la quale vengono
eseguiti dei test che servono a confermare il corretto funzionamento di tutti i
componenti
il bootstrap testa l’hardware,mentre il file di configurazione viene caricato nella
memoria principale e attraverso i comandi che contiene viene lanciato il processo di
routing

❏ Command Line Interface(CLI)

Per accedere al CLI ci sono tre metodi:


● Console:usa una connessione seriale presente su tutti i computer. viene
usato per la messa in funzione dei router e per le operazioni di manutenzione,
ecco le principali operazioni della console:
○ configurazione iniziale
○ risoluzione dei problemi
○ recupero password
● Telnet e SSH: per usare telnet bisogna confugurare le interfacce con un
indirizzo IPv4. cisco IOS ha un server telnet incluso che parte all’avvio del
dispositivo.
SSH prevede la struttura di login remoto simile al telnet,ma usa servizi più
sicuri,infatti è consigliato usare SSH
● Aux: per collegarsi al CLI si può usare un telefono collegato alla porta aux del
router,può essere usata il locale oltre che in remoto
la console è comunque meglio di quella aux,l’unico caso in cui la porta aux può
essere usata è quando quella console ha qualche malfunzionamento.

❏ Modalità di funzionamento dell’IOS


le principali modalità del CLI usate nel sistema cisco IOS sono:
● user executive
● privileged enable mode
● global configuration mode
● user “only view”

ogni prompt inizia con il nome del dispositivo e un carattere che indica il
funzionamento:
● user EXEC si indica con “>” e consente solo alcuni comandi base.
● privileged EXEC si indica con “#” e consente tutti i comandi,per accedervi si
digita enable e poi c’è bisogno della password se si vuole.