Cescot_lezione 4_2012_A - CESCOT

Transcript

Cescot_lezione 4_2012_A - CESCOT
23/03/2012
Corso TECNICO DI RETE
MODULO 1 –dimensionamento architettura di rete
Docente: ing.Andrea Sarneri
[email protected]
ANDREA SARNERI - CORSO CESCOT 2010
1
Lezione 7 – Lo strato applicativo
•Il livello di applicazione
•Il protocollo DHCP
•Il protocollo DNS
•I protocollo Microsoft NETBIOS
•Il protocollo Microsoft WINS e SMB
•Protocollo Telnet, Ftp/TFTP,SMTP,HTTP
•La stampa: il protocollo LPD/LPR
ANDREA SARNERI - CORSO CESCOT 2010
2
1
23/03/2012
Livello di applicazione
5) Livello di sessione: garantire sincronizzazione end-to-end tra applicativi
6) Livello di presentazione: gestire la sintassi dell’informazione end-to-end
7) Livello di applicazione: definire i servizi e le interfacce di utilizzo della rete
Il modello OSI prevede ulteriori 3 livelli sopra il livello di trasporto.
Il modello Internet Protocol semplifica a un livello cumulativo di applicazione,
salvo poi trovare nelle implementazioni reali (ad es Microsoft) segmentazioni
corrispondenti a strati intermedi dovuti allo storico delle implementazioni e
delle segmentazioni passate.
In questa area quindi non sempre esiste una demarcazione netta tra strati , come
pure si possono ritrovare interfacce e sottostrati riconducibili non a un modello
generale ma a una specifica interpretazione o implemetazione.
ANDREA SARNERI - CORSO CESCOT 2010
3
ANDREA SARNERI - CORSO CESCOT 2010
4
Livello di applicazione
2
23/03/2012
Livello di applicazione
Protocollo DHCP
Il Dynamic Host Configuration Protocol (DHCP) (protocollo di configurazione dinamica
degli indirizzi) è un protocollo che permette ai dispositivi di rete di ricevere la
configurazione IP necessaria per poter operare su una rete basata su Internet Protocol.
In una rete basata sul protocollo IP, ogni calcolatore ha bisogno di un indirizzo IP, scelto in
modo tale che appartenga alla sottorete a cui è collegato e che sia unico, ovvero che non
ci siano altri calcolatori che stiano già usando quell'indirizzo.
Il compito di assegnare manualmente gli indirizzi IP ai calcolatori comporta un rilevante
onere per gli amministratori di rete, soprattutto in reti di grandi dimensioni o in caso di
numerosi computer che si connettono a rotazione solo a ore o giorni determinati. Inoltre
gli indirizzi IPv4 (attualmente usati nella quasi totalità delle reti al mondo) con
l'aumentare dei computer connessi a Internet hanno cominciato a scarseggiare,
diminuendo la disponibilità di IP fissi.
DHCP viene utilizzato soprattutto in reti locali, in particolare su Ethernet. In altri contesti,
funzioni simili sono svolte all'interno di PPP.
ANDREA SARNERI - CORSO CESCOT 2010
5
Livello di applicazione
Protocollo DHCP
Parametri assegnati dal DHCP:
•Maschera di sottorete
•Default Gateway
•Indirizzi dei server DNS
•Nome di dominio DNS di default
•Indirizzi dei server WINS
•Indirizzi dei server NTP (network time protocol)
•Indirizzo di un server tftp e nome di un file da caricare per calcolatori che caricano
dalla rete l'immagine del sistema operativo
•Parametri di configurazione del proxy
•………………….
ANDREA SARNERI - CORSO CESCOT 2010
6
3
23/03/2012
Livello di applicazione
Protocollo DHCP
Il Client DHCP è un host che ha bisogno di ottenere un indirizzo IP valido per la
sottorete a cui è collegato, e anche il programma che si occupa di richiedere l'indirizzo
IP e configurarlo.
Il Server DHCP è l’host che assegna gli indirizzi IP, e anche il processo che svolge
questa funzione. Talvolta questa funzione è incorporata in un router.
DHCP relay è il calcolatore (o più spesso una funzione implementata in un router) che
si occupa di inoltrare le richieste DHCP ad un server, qualora questo non sia sulla
stessa sottorete. Questo componente è necessario solo se un server DHCP deve
servire molteplici sottoreti. Deve esistere almeno un DHCP relay per ciascuna
sottorete servita. Ogni relay deve essere esplicitamente configurato per inoltrare le
richieste a uno o più server.
ANDREA SARNERI - CORSO CESCOT 2010
7
Livello di applicazione
Protocollo DHCP
Funzionamento del meccanismo di rilascio dell’indirizzo
DHCP utilizza il protocollo UDP, le porte registrate sono la 67 per il server e la 68 per il client.
Quando un calcolatore vuole ottenere un indirizzo tramite DHCP, attiva il processo DHCP client. In
questo momento, il calcolatore non ha un indirizzo IP valido, quindi non può usare tutte le
funzionalità della rete.
Esso invia quindi un pacchetto chiamato DHCPDISCOVER in broadcast, con indirizzo IP sorgente
messo convenzionalmente a 0.0.0.0, e destinazione 255.255.255.255. Il pacchetto viene ricevuto da
tutto il dominio di broadcast, e in particolare da tutti i server DHCP presenti, che possono
rispondere (o meno) con un pacchetto di DHCPOFFER, in cui propongono un indirizzo IP ed altri
parametri al client. Questo pacchetto è indirizzato direttamente all'indirizzo di livello datalink del
client (che non ha ancora un indirizzo IP), per cui può essere inviato solo da un server che si trovi
sullo stesso dominio di broadcast.
A questo punto, il client è autorizzato ad usare l'indirizzo ricevuto per un tempo limitato, detto
tempo di lease. Prima della scadenza, dovrà tentare di rinnovarlo inviando un nuovo pacchetto
DHCPREQUEST al server, che gli risponderà con un DHCPACK se vuole prolungare l'assegnazione
dell'indirizzo. Questi sono normali pacchetti IP unicast scambiati tra due calcolatori che hanno
indirizzi validi. Se il client non riesce a rinnovare l'indirizzo, tornerà allo stato iniziale cercando di
farsene attribuire un altro.
Comando <IPCONFIG /RENEW> <IPCONFIG /RELEASE>
ANDREA SARNERI - CORSO CESCOT 2010
8
4
23/03/2012
Livello di applicazione
Protocollo DHCP
La lease può essere rinnovata prima della scadenza, è il client che in prossimità della
scadenza si preoccupa di richiedere il renew. Il server mantiene il database delle lease
ANDREA SARNERI - CORSO CESCOT 2010
9
Livello di applicazione
Protocollo DHCP
Gestione del DHCP server.
Il tempo di lease va determinato in base a rapporto tra IP nel pool, IP nella sottorete,
numero di host attivi contemporaneamente. Es se il n. di host attivi è << di IP nel pool e
i PC sono piuttosto stabili, la lease può essere lunga (giorni), se invece il n. di host attivi
è vicino al numero di IP nel pool o disponibili nella sottorete, è necessaria una rotazione
veloce e la lease deve essere corta (max 1 giorno)
Più di UN DHCP server sulla sottorete: il protocollo non prevede un meccanismo di
coordinamento tra due o più server, per cui si genera un conflitto se i due server
rilasciano lo stesse IP a due MAC diversi.
Potrebbe essere però utile avere DHCP server in ridondanza. In questo caso si adotta la
regola 80/20 ovvero 80% degli IP assegnati al server primario, e 20% al backup. I due
pool non devono essere sovrapposti.
Su una subnet è consigliabile assegnare al DHCP non tutti gli indirizzi disponibili, ma
tenere una parte di essi in configurazione statica (ad esempio server, router, stampanti),
e lasciare al DHCP tutti gli host che possono essere spostati o che comunque conviene
gestire in automatico (laptops) nel momento in cui serve un cambio di parametri
globale ( es cambiare il default gateway o il server DNS)
ANDREA SARNERI - CORSO CESCOT 2010
10
5
23/03/2012
Livello di applicazione
Protocollo DHCP
ANDREA SARNERI - CORSO CESCOT 2010
11
Livello di applicazione
Protocollo DNS
Domain Name System (spesso indicato con DNS) è un sistema utilizzato per la
risoluzione di nomi di host in indirizzi IP e viceversa. Il servizio è realizzato tramite un
database distribuito e ridondante, costituito dai server DNS.
Il nome DNS denota anche il protocollo che regola il funzionamento del servizio, i
programmi che lo implementano, i server su cui questi girano, l'insieme di questi server
che cooperano per fornire il servizio.
L'operazione di convertire un nome in un indirizzo è detta risoluzione DNS, convertire
un indirizzo IP in nome è detto risoluzione inversa.
Un nome di dominio è costituito da una serie di stringhe separate da punti, ad
esempio it.wikipedia.org. A differenza degli indirizzi IP, dove la parte più importante del
numero è la prima partendo da sinistra, in un nome DNS la parte più importante è la
prima partendo da destra. Questa è detta dominio di primo livello (o TLD, Top Level
Domain), per esempio .org o .com.
ANDREA SARNERI - CORSO CESCOT 2010
12
6
23/03/2012
Livello di applicazione
Protocollo DNS
Un dominio è un sottoinsieme del domain name space e prende il nome di dominio del
suo nodo più alto. A sua volta, ogni dominio può avere ulteriori sottoinsiemi, chiamati
sottodomini. I domini possono anche essere indicati per livello: un dominio top-level (o
di primo livello) è immediatamente sotto la radice; un dominio di secondo livello è
immediatamente sotto uno di primo livello; e così via.
ANDREA SARNERI - CORSO CESCOT 2010
13
Livello di applicazione
Protocollo DNS
Tipi di record nel database DNS:
•Record A - Indica la corrispondenza tra un nome ed uno (o più) indirizzi IP (per la precisione indirizzi
IPv4, ovvero la versione attualmente in uso).
•Record MX - (Mail eXchange) indica a quali server debba essere inviata la posta elettronica per un
certo dominio.
•Record CNAME - Sono usati per creare un alias, ovvero per fare in modo che lo stesso calcolatore sia
noto con più nomi. Uno degli utilizzi di questo tipo di record consiste nell'attribuire ad un host che offre
più servizi un nome per ciascun servizio. In questo modo, i servizi possono poi essere spostati su altri
host senza dover riconfigurare i client, ma modificando solo il DNS.
•Record PTR - Il DNS viene utilizzato anche per realizzare la risoluzione inversa, ovvero per far
corrispondere ad un indirizzo IP il corrispondente nome di dominio. Per questo si usano i record di tipo
"PTR" (e una apposita zona dello spazio dei nomi in-addr.arpa).
•Record SRV - Identificano il server per un determinato servizio all'interno di un dominio. Possono
essere considerati una generalizzazione dei record MX.
Vi sono anche tipi di record "di servizio", necessari al funzionamento del database distribuito:
•Record NS - Utilizzato per indicare quali siano i server DNS autorevoli per un certo dominio, ovvero per
delegarne la gestione.
•Record SOA - (Start of Authority) usato per la gestione delle zone DNS.
ANDREA SARNERI - CORSO CESCOT 2010
14
7
23/03/2012
Livello di applicazione
Protocollo DNS
Meccanismo della delega:
Una zona DNS è una parte dello spazio dei nomi, costituita da un dominio e i suoi
sottodomini che non sono a loro volta delegati, che è sotto una stessa gestione
amministrativa e quindi è gestita da uno o più server.
La gestione di una zona è delegata dalla zona superiore tramite dei record di tipo NS. Ad
esempio, nella zona .org ci sarà una delega per la zona wikipedia.org ai server DNS che
la gestiscono. Per ragioni di ridondanza, ciascuna zona è replicata su più server, e di
conseguenza la delega è costituita da più record NS, che indicano che ciascuno dei
server indicati contiene le informazioni per quella zona (ovvero è autoritativo per la
zona). All'interno di una zona possono essere delegate delle zone di livello inferiore, ad
esempio in wikipedia.org potrebbero esistere deleghe per devel.wikipedia.org o per
accounting.admin.wikipedia.org.
Meccanismo della Ricorsione
In generale, per ottenere la risoluzione di un nome è necessario partire dalla radice,
interrogare uno dei root server nel dominio di primo livello, ottenere il server che lo
gestisce, interrogarlo nel dominio di secondo livello, fino a raggiungere il server
autorevole per il nome desiderato. Questa tecnica è detta "ricorsione“. Questo
meccanismo si abbina alla ridondanza del database DNS
ANDREA SARNERI - CORSO CESCOT 2010
15
Livello di applicazione
Protocollo DNS
Qualsiasi rete IP può usare il DNS per implementare un suo sistema di nomi privato. Tuttavia, il
termine "nome di dominio" è più comunemente utilizzato quando esso si riferisce al sistema pubblico
dei DNS su Internet. Questo è basato su 13 "root server" universali, i cui indirizzi IP sono distribuiti
indipendentemente dal DNS tramite un file detto "root hints" (letteralmente: indizi per la radice). Da
questi server principali, il DNS viene poi delegato ad altri server DNS che si occupano dei nomi
all'interno di parti specifiche dello spazio dei nomi DNS.
Dieci dei tredici root server sono, almeno nominalmente, situati negli USA. Tuttavia, dato l'accesso a
molti di essi è realizzato tramite indirizzamento anycast, che permette di assegnare a più computer lo
stesso indirizzo IP per fornire un servizio uniforme su vaste aree geografiche, la maggior parte dei
server sono in effetti localizzati al di fuori degli Stati Uniti.
Il proprietario di un nome di dominio è
rintracciabile in un database chiamato
Whois: per molti domini di primo livello
un Whois base è gestito dalla IANA, con il
Whois dettagliato mantenuto
dall'autorità di registrazione che controlla
quel dominio. Per i più di 240 domini
nazionali l'autorità di registrazione
gestisce in esclusiva il Whois per il
dominio di competenza.
ANDREA SARNERI - CORSO CESCOT 2010
16
8
23/03/2012
Livello di applicazione
Protocollo DNS
Il DNS utilizza la porta 53, per lo scambio dei pacchetti UDP (risoluzione nomi) , o TCP
(trasferimento zone).
Il programma host che viene interpellato per la risoluzione del nome è il “resolver”
ANDREA SARNERI - CORSO CESCOT 2010
17
Livello di applicazione
Protocollo DNS
NOTA: è possibile effettuare anche il REVERSE DNS LOOKUP, dato un IP trovare il
nome associato (è utilizzato ad es. dall’utility traceroute)
ANDREA SARNERI - CORSO CESCOT 2010
18
9
23/03/2012
Livello di applicazione
Protocollo DNS
Un server DNS può essere configurato per assolvere ad una o più delle seguenti
funzioni:
server autorevole per una o più zone, ovvero il server su cui sono configurati i dati di
una zona, e che è delegato a gestirla tramite record NS inseriti nella zona superiore.
Normalmente sono presenti più server autorevoli per una zona.
Molte implementazioni permettono di modificare i dati di una zona solo su un server:
•primario - server autorevole su cui vengono modificati i dati di una zona
•secondario - server autorevole che copia i dati di zona da un primario
•server ricorsivo - il server che viene configurato in una popolazione di client, che si
occupa di risolvere le query che riceve interrogando i server originali, e mantenendo
una cache delle risposte ricevute (tipicamente implementato in un router/firewall)
•query forwarder - un server che viene configurato in una popolazione di client, che
risolve le loro query non direttamente ma interrogando un server ricorsivo
ANDREA SARNERI - CORSO CESCOT 2010
19
Livello di applicazione
Protocollo DNS
Comando utile per visualizzare la cache DNS locale (windows)
<IPCONFIG /displaydns>
Registry:
TYPE
A
NS
CNAME
SOA
PTR
HINFO
MINFO
MX
TXT
RP
Value and meaning Reference
1
a host address
[RFC1035]
2
an authoritative name server [RFC1035]
5
the canonical name for an alias [RFC1035]
6
marks the start of a zone of authority [RFC1035]
12
a domain name pointer [RFC1035]
13
host information [RFC1035]
14
mailbox or mail list information [RFC1035]
15
mail exchange [RFC1035]
16
text strings [RFC1035]
17
for Responsible Person [RFC1183]
http://www.iana.org/assignments/dns-parameters
Comando utile per interrogare i DNS
<nslookup>
ANDREA SARNERI - CORSO CESCOT 2010
20
10
23/03/2012
Livello di applicazione
Protocollo NETBIOS
NetBIOS è un protocollo di livello sessione, sviluppato da IBM e Sytec per la cosiddetta PCNetwork all'inizio degli anni ottanta.
Da quando la PC-Network non è più usata, essendo stata sostituita dalle reti TokenRing ed
Ethernet, il protocollo NetBIOS potrebbe non essere più necessario. Ma dato che molti
programmi sono stati scritti per le API di NetBIOS, sono state adattate per lavorare su altri
protocolli come IPX/SPX e TCP/IP.
NetBIOS su TokenRing o Ethernet è ora chiamato NetBEUI (NetBIOS Extended User
Interface). Era ancora molto usato finché il sistema operativo Microsoft Windows 98 è
stato rilasciato. NetBIOS su TCP/IP è chiamato NBT ed è stato standardizzato dalle RFC 1001
e 1002.
NBT offre un'emulazione di PC-Network LAN basata su NetBIOS su una rete basata su IP.
Questo protocollo è stato introdotto con Microsoft Windows 2000 ed è il trasporto
preferito su NetBIOS.
ANDREA SARNERI - CORSO CESCOT 2010
21
ANDREA SARNERI - CORSO CESCOT 2010
22
Livello di applicazione
Protocollo NETBIOS
11
23/03/2012
Livello di applicazione
Protocollo NETBIOS
NetBIOS offre sempre tre servizi:
•Name service: registrazione e risoluzione del nome (la ricerca del nome è parte dell'SMB, un
livello superiore)
•Session service: comunicazione fidata orientata alla connessione
•Datagram distribution service: comunicazione non fidata senza connessione
NetBIOS e NetBEUI sono destinati solo all'uso sulle reti locali. Per questo motivo, non hanno
il supporto per il routing e possono gestire un massimo di 72 nodi. L'uso delle trasmissioni è
intenso, specialmente per le operazioni collegate al name service.
Attualmente la forma maggiormente utilizzata è quella di NetBios incapsulato su TCP/IP
(NetBios over TCP/IP o NBT).
NBT usa uno o più NBNS (NetBIOS Name Server) per coprire il servizio dei nomi su subnet
multiple (mentre la trasmissione - broadcast - è limitata ad un unico subnet). Un NBNS è una
specie di DNS dinamico.
L'implementazione Microsoft di NBNS è chiamata WINS.
ANDREA SARNERI - CORSO CESCOT 2010
23
Livello di applicazione
Protocollo NETBIOS
L'indirizzamento di NetBios è flat, basato sul semplice nome di un host (generalmente
fino a 15 caratteri) e senza elementi gerarchici (come il DNS) che di fatto lo rendono
inadatto per gestire il routing fra network diversi. Il nome NetBios è lo stesso che viene
utilizzato dai procotolli superiori come SMB/CIFS.
Per impedire che due host nella stessa rete abbiamo lo stesso nome viene utilizzato il
protocollo Name Management Protocol (NMP), tramite il quale, a colpi di broadcast, un
host annuncia la sua presenza in rete e avverte quando un nuovo host con lo stesso nome
prova ad apparire.
Le porte utilizzate per questi servizi sono:
netbios-ns 137/udp
# NETBIOS Name Service
netbios-dgm 138/udp
# NETBIOS Datagram Service
netbios-ssn 139/tcp
# NETBIOS Session Service
ANDREA SARNERI - CORSO CESCOT 2010
24
12
23/03/2012
Livello di applicazione
Protocollo NETBIOS e WINS
WINS è per i nomi NetBIOS, quello che il DNS è per i nomi di dominio - un mapping centrale
di hostname risolti come indirizzi locali.
Così come il DNS, anche WINS è diviso in due parti:
•un Server Service (che gestisce il Jet Database, la replicazione server-to-server, le richieste di
servizi (query e registrazione, rinnovi, deregistrazioni e conflitti);
•un client TCP/IP che gestisce la registrazione da parte di client, il rinnovo dei nomi e si
accolla l'incarico dell'esecuzione delle query.
Diversamente dal DNS, i mapping sono aggiornati dinamicamente (per esempio al boot della
workstation), in modo che, quando un client necessita di contattare un altro computer sulla
rete, può mantenere il proprio IP (ottenuto via DHCP), tralasciando la funzionalità di WINS
che fornisce un modo di mantenere i nomi dei client unici sulla rete.
I nomi di host di NetBios su TCP/IP possono essere registrati (annunciati) e risolti (trovati) sul
network locale sia tramite server WINS sia tramite broadcast (in assenza di server WINS), ma
la prima soluzione, soprattutto su reti affollate, è molto più efficace.
ANDREA SARNERI - CORSO CESCOT 2010
25
Livello di applicazione
Protocollo WINS
A seconda di come un host è configurato per gestire i nomi assume un tipo di nodo diverso:
•b-node - Host che usa solo broadcast per la risoluzione e la registrazione degli host name.
•p-node - Host che usa un server centrale (comunicazione point-to-point) per risoluzione e
registrazione
•m-node - Host che usa broadcast per la registrazione e la risoluzione, inoltre se porta a termine
con successo una registrazione lo notifica ad un server NBNS, che viene usato anche quando la
risoluzione via broadcast non ha successo.
•h-node (hybrid) - Host che usa un server NBNS (WINS) per risoluzione e registrazione dei nomi e,
nel caso in cui il server NBNS non sia disponibile utilizza i broadcast. Questa modalità è stata
introdotta da Microsoft, non appare nelle RFC 1001 e 1002.
Il tipo di nodo, su Windows, è visibile nell'output del comando ipconfig /all dove si parla di
NodeType
I nomi possono essere lunghi 15 caratteri (byte) e contenere caratteri alfanumerici standard ( a-z, AZ, 0-9, ! @ # $ % ^ & ( ) - ' ). Il sedicesimo e ultimo byte indica il tipo di risorsa, a seconda del valore
esadecimale indicato corrisponde una diversa risorsa, alcuni esempi:
00 - Normale workstation
03 - Servizio di messaggistica (WinPopup)
1B - Domain Master Browser
20 - Fileserver
NetBios inoltre prevede il concetto di gruppo (i Workgroup in ambiente Windows).
ANDREA SARNERI - CORSO CESCOT 2010
26
13
23/03/2012
Livello di applicazione
Protocollo SMB
Server Message Block (SMB) è un protocollo usato principalmente per condividere
files, stampanti, porte seriali e comunicazioni di varia natura tra diversi nodi di una
rete. Esso include anche un meccanismo di comunicazione tra processi autenticata. È
soprattutto usato dai sistemi Microsoft Windows.
SMB agisce con un approccio client-server, per cui un client avanza le sue richieste ed il server
risponde opportunamente. Una sezione del protocollo è dedicata specificatamente all'accesso al
filesystem, in modo che i client possano fare richieste al file server, ma ci sono altre sezioni
specializzate per le comunicazioni tra processi.
SMB è stato ottimizzato per l'uso in rete locale, ma può essere usato anche attraverso l'Internet.
I server SMB rendono il loro filesystem e le altre risorse disponibili ai client sulla rete. I client
possono avere i loro propri dischi che non sono pubblicamente accessibili ed accedere comunque
al filesystem condiviso e alle stampanti del server, e questa è la modalità primaria di utilizzo del
protocollo.
Nel protocollo SMB ogni client notifica la sua presenza con un broadcast all'intera rete.
In realtà SMB non usa broadcast, esso viene usato da NetBIOS per localizzare i server
disponibili ad intervalli periodici. Ciò è accettabile in reti con meno di 20 hosts, ma il
traffico dovuto ai broadcast può creare problemi con l'aumentare del numero di
macchine connesse. Tale problema può essere mitigato sfruttando WINS.
ANDREA SARNERI - CORSO CESCOT 2010
27
Livello di applicazione
File HOST/LMHOST
Il file Lmhosts.sam è un file di testo locale che associa indirizzi IP (Internet Protocol) ai
nomi NetBIOS.
Il file di LMHOSTS si trova nella cartella % SystemRoot%\System32\Drivers\Etc in un
computer Windows.
Windows riconosce nomi anziché gli indirizzi IP per le richieste di rete e un processo di
individuazione del nome viene utilizzato per instradare correttamente le richieste di rete
con il protocollo TCP/IP. Perché il processo di individuazione del nome non viene in genere
inviato da un router IP, il file LMHOSTS consente a Windows ai computer di comunicare
attraverso TCP/IP di una subnet aggiunte al bridge di rete da un router IP.
In TCP/IP solo, NetBT (NetBIOS su TCP/IP) controlla questo elenco in memoria prima di
eseguire un rilevamento del nome di nodo b.
Quando Windows viene caricato, legge le prime 100 voci, per impostazione predefinita,
nel file LMHOSTS contrassegnato con # pre.
Il file hosts è analogo ma mappa gli indirizzi IP a nomi DNS
Il comando <NBTSTAT> consente di visualizzare la tabella dei nomi Netbios e relativi IP
ANDREA SARNERI - CORSO CESCOT 2010
28
14
23/03/2012
Il Livello di applicazione
TELNET
L'obiettivo del protocollo TELNET è fornire un supporto per le comunicazioni
sufficientemente generalizzato, bidirezionale ed orientato ai byte (otto bit).
È solitamente utilizzato per fornire all'utente sessioni di login remoto di tipo linea di
comando tra host su internet. E’ un protocollo client-server basato su TCP; i client
solitamente si connettono alla porta 23 sul server.
E’ possibile utilizzare un
programma Telnet per stabilire
una connessione interattiva ad
un qualche altro servizio su un
server internet. Un utilizzo
classico è collegarsi col Telnet
alla porta 25 (sulla quale
tipicamente si trova un server
SMTP) per effettuare il
debugging di un server di
posta. Oppure collegarsi in
remoto alla console di un
sistema UNIX/Linux.
ANDREA SARNERI - CORSO CESCOT 2010
29
Il Livello di applicazione
TELNET
Telnet utilizza il modello “Network virtual terminal” per creare una astrazione delle
funzionalità comuni a due host:
•Dati rappresentati a 7 bit ASCII su un byte
•Operazioni half-duplex con buffer di linea (EOL)
•Funzione di eco locale
•Input da tastiera
•Output su schermo o stampante
ANDREA SARNERI - CORSO CESCOT 2010
30
15
23/03/2012
Il Livello di applicazione
File Transfer Protocol FTP
Il File Transfer Protocol (FTP) (protocollo di trasferimento file), è un Protocollo per la
trasmissione di dati tra host basato su TCP. Gli obiettivi principali di FTP sono:
•Promuovere la condivisione di file (programmi o dati)
•Incoraggiare l'uso indiretto o implicito di computer remoti.
•Risolvere in maniera trasparente incompatibilità tra differenti sistemi di stoccaggio
file tra host.
•Trasferire dati in maniera affidabile ed efficiente.
PI (protocol interpreter) è l'interprete
del protocollo, utilizzato da client
(User-PI) e server (Server-PI) per lo
scambio di comandi e risposte. In
gergo comune ci si riferisce ad esso
come "canale comandi".
DTP (data transfer process) è il
processo di trasferimento dati,
utilizzato da client (User-DTP) e server
(Server-DTP) per lo scambio di dati. In
gergo comune ci si riferisce ad esso
come "canale dati".
ANDREA SARNERI - CORSO CESCOT 2010
31
Il Livello di applicazione
File Transfer Protocol FTP
Un server FTP rimane tipicamente in ascolto sulla porta 21 TCP a cui si connette il client.
La connessione da parte del client determinerà l'inizializzazione del canale comandi
attraverso il quale client e server si scambieranno comandi e risposte. Lo scambio
effettivo di dati (come ad esempio file) richiederà l'apertura del canale dati il quale può
essere di due tipi.
1. In un canale dati di tipo attivo il client apre una porta tipicamente random, tramite il
canale comandi rende noto il numero di tale porta al server e attende che esso si
connetta.
2. In un canale dati di tipo passivo il server apre una porta tipicamente random (>
1023), tramite il canale comandi rende noto il numero di tale porta al client e
attende che esso si connetta. Questa modalità consente di superare l’eventuale
restrizione in entrata da parte di un firewall.
Sia il canale comandi sia il canale dati sono delle connessioni TCP; FTP crea un nuovo
canale dati per ogni file trasferito all'interno della sessione utente, mentre il canale
comandi rimane aperto per l'intera durata della sessione utente, in altre parole il canale
comandi è persistente mentre il canale dati è non persistente.
ANDREA SARNERI - CORSO CESCOT 2010
32
16
23/03/2012
Il Livello di applicazione
Trivial File Transfer Protocol TFTP
Trivial File Transfer Protocol (TFTP) è un protocollo di trasferimento file molto
semplice, con le funzionalità di base del FTP.
•usa l'UDP (porta 69) come protocollo di trasporto (a differenza del FTP che usa il TCP sulla
porta 21);
•non supporta la navigazione tra le directory;
•non possiede meccanismi di autenticazioni o cifratura;
•può essere usato per leggere o scrivere file da un server remoto;
•supporta tre differenti modalità di trasferimento, "netascii", "octet" e "mail", dei quali i
primi due corrispondono alle modalità "ASCII" e "image" (binario) del protocollo FTP; la
terza è obsoleta e raramente usata;
•ha un limite di dimensione dei file di 32 MB.
TFTP è utile per l'avvio di computer che, come i router, non hanno dispositivi a memoria di
massa. È ancora usato per trasferire piccoli file fra host di una rete.
ANDREA SARNERI - CORSO CESCOT 2010
33
Il Livello di applicazione
Simple Mail Transfer Protocol SMTP
SMTP è il protocollo standard per la trasmissione via internet di e-mail.
È un protocollo relativamente semplice, testuale, nel quale vengono specificati uno o
più destinatari di un messaggio, verificata la loro esistenza, il messaggio viene
trasferito. Il protocollo SMTP utilizza come protocollo di livello transport TCP.
Il client apre una sessione TCP verso il server sulla porta 25. Per associare il server
SMTP a un dato nome di dominio (DNS) si usa un Resource Record di tipo MX (Mail
eXchange).SMTP è un protocollo che permette soltanto di inviare messaggi di posta,
ma non di richiederli ad un server: per fare questo il client di posta deve usare altri
protocolli, quali il POP3 (Post Office Protocol) e l'IMAP (Internet Message Access
Protocol).
E’ un protocollo end-2end, che si distingue dal
modello store-andforward: il messaggio
viene tenuto nel client
fintanto che non è stato
completamente copiato al
destinatario
ANDREA SARNERI - CORSO CESCOT 2010
34
17
23/03/2012
Il Livello di applicazione
Formato MIME (Multipurpose Internet Mail Extension)
MIME (Multipurpose Internet Mail Extensions) è uno standard generico per il formato dei
documenti scambiati sulla rete Internet tramite posta elettronica, news, WWW.
ci si limitava a messaggi esclusivamente di tipo testo ASCII, senza alcun riferimento a
messaggi di altro tipo (ad esempio, le immagini). Nel giugno 1992 viene specificato come
definire il formato sia di messaggi testuali (ASCII e non) sia di messaggi multimediali (cioè
contenenti video, suono, immagini, ecc.). Ogni messaggio non costituito da solo testo
ASCII, deve essere convertito in questo formato prima di essere inviato in rete.
Quando due programmi dialogano tra loro attraverso la rete Internet (uno invia un file e
l'altro lo riceve), il programma che invia il file deve specificarne il tipo secondo lo
standard MIME; in questo modo il programma che riceve i dati può capire come trattarli.
Con lo standard MIME è possibile inserire in un qualsiasi messaggio di e-mail, oltre al
testo, anche files contenenti immagini, segnali audio e video; il software che gestisce la
posta non si preoccupa del contenuto del messaggio, è l'utilizzatore finale a preoccuparsi
della sua opportuna decodifica in base alle specifiche di tipo inserite nel messaggio
stesso.
ANDREA SARNERI - CORSO CESCOT 2010
35
Il Livello di applicazione
Formato MIME (Multipurpose Internet Mail Extension)
ANDREA SARNERI - CORSO CESCOT 2010
36
18
23/03/2012
Il Livello di applicazione
POP3 Post Office Protocol
Mentre SMTP è usato per l’invio, il Post Office Protocol (detto anche POP) è un protocollo
che ha il compito di permettere, mediante autenticazione, l'accesso ad un account di
posta elettronica presente su di un host per scaricare le e-mail del relativo account.
Il pop (nella versione 3) rimane in attesa sulla porta 110 dell'host (di default, ma può
anche essere diversa) per una connessione TCP da parte di un client.
I messaggi di posta elettronica, per essere letti, devono essere scaricati sul computer
(questa è una notevole differenza rispetto all'IMAP), anche se è possibile lasciarne una
copia sull'host. Il protocollo POP3 non prevede alcun tipo di cifratura, quindi le password
utilizzate per l'autenticazione fra server e client passano in chiaro.
IMAP Internet Messages Access Protocol
con il protocollo IMAP è possibile conservare copia delle proprie e-mail sul server, e
scaricarle in un secondo momento da altri computer.
Opera in due possibili modalità:
offilne- simile a POP3, ci si connette al server, si scarica in locale, ci si disconnette e si
cancella/conserva il messaggio sul client.
Online – si opera direttamente sul server rimanendo online, e si manipolano le mail
direttamente sul server senza scaricarle sul client.
ANDREA SARNERI - CORSO CESCOT 2010
37
Il Livello di applicazione
Protocollo HTTP HyperText Transfer Protocol
L'HTTP funziona su un meccanismo richiesta/risposta (client/server): il client esegue una
richiesta ed il server restituisce la risposta. Nell'uso comune il client corrisponde al
browser ed il server al sito web. Vi sono quindi due tipi di messaggi HTTP: messaggi
richiesta e messaggi risposta.
HTTP differisce da altri protocolli di livello 7 come FTP, per il fatto che le connessioni
vengono generalmente chiuse una volta che una particolare richiesta (o una serie di
richieste correlate) è stata soddisfatta. Questo comportamento rende il protocollo HTTP
ideale per il World Wide Web, in cui le pagine molto spesso contengono dei collegamenti
(link) a pagine ospitate da altri server (URL). Talvolta però pone problemi agli sviluppatori
di contenuti web, perché la natura senza stato (stateless) costringe ad utilizzare dei
metodi alternativi per conservare lo stato dell'utente. Spesso questi metodi si basano
sull'uso dei cookie.
URL (Universal Resources Locator) : stringa univoca di identificazione di una risorsa nel WEB:
protocollo://<username:password@>nomehost<:porta></percorso><?querystring>
ANDREA SARNERI - CORSO CESCOT 2010
38
19
23/03/2012
Il Livello di applicazione
Protocollo HTTP HyperText Transfer Protocol
Il server e il client HTTP dialogano sulla porta 80 TCP (default well-knownport) sulla base di un semplice schema richiesta-risposta
La richiesta è formata dai seguenti elementi:
•Linea di richiesta
•Intestazione
•Linea vuota
•Corpo del messaggio opzionale
La riga di richiesta è composta dal metodo, URL e versione del protocollo. Il metodo di
richiesta, per la versione 1.1, può essere uno dei seguenti:
GET
POST
HEAD
PUT
DELETE
TRACE
OPTIONS
ANDREA SARNERI - CORSO CESCOT 2010
39
Il Livello di applicazione
Il Web, WWW, ipertesti e sintassi HTML
Un ipertesto è un insieme di documenti messi in relazione tra loro tramite parole
chiave. Può essere visto come una rete; i documenti ne costituiscono i nodi. La
caratteristica principale di un ipertesto è che la lettura può svolgersi in maniera non
sequenziale: qualsiasi documento della rete può essere "il successivo", in base alla
scelta del lettore di quale parola chiave usare come collegamento.
È possibile, infatti, leggere all'interno di un ipertesto tutti i documenti collegati dalla
medesima parola chiave. La scelta di una parola chiave diversa porta all'apertura di un
documento diverso: all'interno dell'ipertesto sono possibili praticamente infiniti percorsi
di lettura.
ANDREA SARNERI - CORSO CESCOT 2010
40
20
23/03/2012
Il Livello di applicazione
Il Web, WWW, ipertesti e sintassi HTML
Il computer ha reso immediato e automatico il passaggio da un documento all'altro.
I documenti sono leggibili a video grazie a un'interfaccia elettronica, le parole chiave in
esso contenute appaiono marcate (sottolineate oppure evidenziate, ecc) in maniera da
renderle riconoscibili.
L'azione del clic con il mouse su una parola chiave ha come conseguenza l'apertura di un
altro documento.
il web, infatti, è stato concepito dal suo inventore, l'inglese Tim Berners-Lee, come un
ipertesto globale in cui tutti i siti mondiali possono essere consultati da tutti. La pagina
web è il singolo documento e la "navigazione" è il passaggio da un sito all'altro tramite
i "link". L'interfaccia elettronica per visualizzare i siti web (e le pagine ipertestuali
contenute) è il browser.
ANDREA SARNERI - CORSO CESCOT 2010
41
Il Livello di applicazione
Il Web, WWW, ipertesti e sintassi HTML
Il linguaggio HTML appartiene alla categoria dei linguaggi di “markup”, deriva dall’SGML
(Standard Generalized Markup Language) che è stato il primo metalinguaggio di markup
descrittivo standardizzato a livello internazionale (ISO 8879 del 1986).
Con “markup” si intende l’aggiunta in un documento di testo, di marcatori /descrittori
(marker/tag) che ne determinano la formattazione.
Il linguaggio di markup definisce le regole con cui marcare (taggare) il testo al fine di
ottenere la formattazione desiderata : es. corsivo, grassetto, blocco paragrafo, ecc…
HTML è un linguaggio di markup di tipo descrittivo:
Esempio:
“questo testo è in grassetto”
Viene scritto come:
<b>questo testo è in grassetto</b>
<b> è il marcatore di inizio grassetto
</b> è il marcatore di fine grassetto
Ad esempio tra due tag è possibile racchiudere un link ad un URL  il browser
presenterà questo URL sottolineato , diventando così un contenuto “attivo” (cliccando
col mouse si aprirà la pagina corrispondente all’URL)
ANDREA SARNERI - CORSO CESCOT 2010
42
21
23/03/2012
Il Livello di applicazione
Il Web, WWW, ipertesti e sintassi HTML
I documenti HTML sono la base di tutti i
documenti del WEB, seguono una struttura
standard che prevede
•sezione di intestazione o header, delimitata
tra i tag <head> e </head>, che contiene
informazioni di controllo normalmente non
visualizzate dal browser, con l'eccezione di
alcuni elementi
•sezione del corpo o body, delimitata tra i
tag <body> e </body>, che contiene la parte
informativa vera e propria, ossia il testo, le
immagini e i collegamenti che costituiscono
la parte visualizzata dal browser.
Il tutto è all’interno di due tag
<html></html> che delimitano l’intero
documento. Si tratta quindi di una struttura
“annidata”, o ad albero.
ANDREA SARNERI - CORSO CESCOT 2010
43
Il Livello di applicazione
Il Web, WWW, ipertesti e sintassi HTML
Il browser è lo strumento che
implementa il client di un HTTP
server, poi integra altri client con
le funzionalità necessarie ad
operare sui diversi servizi:
Interprete HTML
Client HTTP
Client FTP
Client email
ANDREA SARNERI - CORSO CESCOT 2010
44
22
23/03/2012
Il Livello di applicazione
Il Protocollo LPD/LPR
Protocollo di stampa remota indipendente dalla piattaforma che utilizza il TCP/IP
Il protocollo è costituito da due componenti:
Line Printer Remote (LPR) indica il procesco che invia lavori di stampa alla
stampante o alla coda di stampa. La workstation o il PC che invia la stampa è il
Client LPR.
Il Line Printer Daemon (LPD) è il processo che riceve il lavoro di stampa dal LPR
client. La stampante o il print server che riceve i lavori è il Server LPD. Il Client LPD
invia I dati di stampa all’indirizzo IP del server LPD.
Quando un utente lancia "stampa", il computer (client LPR) inizia lo spooling del
processo di stampa e genera un formato comune, ad esempio PostScript. Un file di
dati di stampa di solito si compone di due elementi:
1. il file di dati con il contenuto effettivo da stampare
2. il file di controllo che comprende la descrizione dei file di dati e informazioni
su cosa deve essere fatto con esso
Successivamente, il processo di stampa viene inviato all'indirizzo IP del server LPD
dove è ricevuto tramite la porta TCP / IP 515.
.
ANDREA SARNERI - CORSO CESCOT 2010
45
23