Re#$di$calcolatori$ -...
Transcript of Re#$di$calcolatori$ -...
Cosa è una rete? • un insieme di componen# hardware che sono connessi tramite canali di comunicazione che gli perme9ono di condividere risorse e informazioni u#lizzando (in accordo) un insieme di regole (protocolli) implementate via so>ware (Network Opera,ng System, o NOS)
• Elemen# di una rete: § Risorse hardware § NOS/so>ware § Canale di comunicazione § Da#-‐Informazioni § Protocolli
Terminologia
• Una rete collega macchine chiamate host perché “ospitano” i programmi utente (applicazioni).
• La rete è formata da due componen#: § Linee di trasmissione § Elemen# di commutazione=computer specializza# che collegano due o più linee di trasmissione, es. router
Client e Server • Un server è un computer
nella rete che offre servizi ad altri computer (es. file server, web server)
• Un client è computer dove l'utente esegue programmi.
• Un client richiede a un server di eseguire un task: reperire un’informazione o eseguire un’operazione computazionalmente complessa • Un server può essere client di un altro server • Client e server sono processi separati • Possono essere eseguiti sulla stessa o su differenti machine. • Comunicano tramite protocolli peer-to-peer
Tassomia delle re#: tecnologia trasmissiva
• Re# broadcast: un unico canale di comunicazione condiviso da tu9e le macchine sulla rete, tuT possono ascoltare il messaggio – mul#cast: trasmissione
simultanea a un so9oinsieme
• Re# punto-‐punto: molte connessioni tra singole coppie di macchine. Il messaggio per arrivare da sorgente a des#nazione deve visitare una o più macchine intermedie=> percorsi mul#pli, è importante trovare il migliore (rou#ng)
Tassomia delle re#: scala dimensionale • Reti personali PAN (Personal Area Network) 1m
– es. PC con mouse, tastiera e stampante o la connessione di più computer casalinghi con una stampante
• Reti locali LAN (Local Area Network) 1Km – es. stanza, edificio, gruppo di edifici
• Reti metropolitane MAN (Metropolitan Area Network) 10Km, sono costituite da più LAN – Connette risorse dislocate su un’area metropolitana es. Televisione via
cavo • Reti geografiche WAN (Wide Area Network) 100Km-1000Km, collega più
LAN e MAN tra loro – grande distanza geografica (nazioni, continenti)
• Internet pianeta – connessioni tra reti geografiche anche utilizzanti una differente tecnologia tramite gateway
Tassomia delle re#: costruzione v infrastructure-‐less (ad hoc, peer-‐to-‐peer)
• Ciascun nodo comunica dire9amente con gli altri nodi v infrastructure-‐based
• Usa nodi speciali, gli elemen# di commutazione (switches, routers, gateways) per rilanciare I da#
Topologie logiche e fisiche § Può essere:
• Fisica: descrive come cablare i disposi#vi cioè la loro dislocazione spaziale. • Logica: mostra come gli host comunicano a9raverso il mezzo cioè come avviene il flusso da# a9raverso una dislocazione spaziale.
§ Una rete può avere un #po di topologia fisica e un #po totalmente differente di topologia logica:
Topologia Fisica: stella Topologia Logica: anello
Come vengono trasferi# i da# in rete? • Circuit Switching (commutazione di circuito)
– Fase di instaurazione (call set-‐up): viene creato un percorso fisico dedicato tra sorgente e des#nazione
– TuT i bit di una conversazione vengono trasmessi su un circuito
– Performance garan#te • Packet Switching (commutazione di pacche@o)
– Le informazioni vengono spezze9ate in paccheT – I paccheT sono instrada# un passo alla volta a9raverso
elemen# di commutazione, aspe9a finché il pacche9o è completamente ricevuto e poi lo rilancia, “store-‐and-‐forward”
– Ciascun pacche9o viene consegnato indipendentemente
Circuit Switching vs Packet Switching Caratteristica Circuit-
switching Packet-switching
Percorso fisico dedicato Sì No
Banda disponibile Fissa Dinamica
Banda potenzialmente sprecata Sì No
Store-and-forward transmission No Yes
Ogni pacchetto segue la stessa strada
Sì No
I pacchetti arrivano in ordine Sì No
Istante di congestione Nella fase di set-up
A ogni pacchetto
Effetto della congestione Blocco delle chiamate
Ritardo
Il guasto del router è fatale Sì No
Problema
• Dobbiamo reimplementare ogni applicazione per ogni tecnologia trasmissiva?
• Per fortuna no, ma come si fa ad evitare questo? – Protocolli – Archite9ura di rete
14
Applicazioni
Mezzi di trasmissione Cavo
coassiale Fibra OTca
Radio wireless
n Un insieme di regole sintaTche e seman#che per perme9ere la comunicazione tra due en#tà
n Perchè due disposi#vi connessi possano comunicare devono parlare lo stesso linguaggio (cioè devono usare lo stesso protocollo)
n I protocolli devono: -‐ indicare con chi vogliono parlare (indirizzo) -‐ provvedere che il messaggio sia recapitato e il suo recupero -‐ controllare il flusso di informazione
n Devono specificare come iniziare, matenere e concludere lo scambio di informazioni
Cosa è un protocollo?
n I protocolli definiscono anche il formato per gli scambi di comunicazione
Header Data
Informazione di controllo Messaggio
Cosa è un protocollo? - cont
n I protocolli sono specifica# in forma di documen# e generalmente sono implementa# via so>ware
n In una rete vengono impiega# diversi protocolli, l’insieme dei protocolli è la protocol suite
n Operano insieme in maniera stra#ficata per diminuire la complessità: layering Ø Il sistema è diviso in una gerarchia ver#cale di en#tà logicamente dis#nte (livelli) Ø Ciascun livello u#lizza astrazioni per nascondere la sua complessità Ø Ciascuno livello è costruito sui servizi offer# del livello inferiore e offre servizi al livello superiore mascherando la loro implementazione
Cosa è un protocollo? - cont
Cosa è un’archite9ura di rete? • È una collezione di livelli e rela#vi protocolli. Definisce i protocolli di comunicazione, il formato dei messaggi e gli standard richies# per l’interoperabilità
• Due host possono dialogare anche se u#lizzano diverse pia9aforme hardware e diversi sistemi opera#vi purché abbiano la stessa archite9ura di rete
• L’insieme dei protocolli di una archite9ura di rete viene de9a pila protocollare (protocol stack)
ISO OSI Reference Model n Open Systems Interconnec#on n Sviluppato da Interna#onal Standards Organisa#on (ISO) -‐ 1981
n Descri9o nello standard ISO-‐7498 n Ha 7 livelli
Prima un po’ di Terminologia OSI
• Un disposi#vo contenente al suo interno almeno i livelli fisico, data link e network è de9o nodo system (terminologia corre9a OSI).
• I nodi che agiscono come mi9ente e des#natario finale dei da# sono deT: ES (End System), End Node o host.
• Tra due ES possono esserci diversi altri nodi che agiscono da intermediari e svolgono funzioni di instradamento, ques# nodi sono deT: IS (Intermediate System) es. router.
• Tipicamente gli ES implementano tuT e se9e i livelli OSI, mentre gli IS sono limita# ai primi tre.
ES e IS
Intermediate System End System End System
Application Presentation
Session Transport Network Datalink Physical
Application Presentation
Session Transport Network Datalink Physical
Network Datalink Physical
Router
Mezzo Fisico
Gerarchie di protocolli
• Il livello n su un host dialoga solo logicamente (non fisicamente) con il livello n di un altro host
• Regole e convenzioni della comunicazione a livello n cos#tuiscono il protocollo di livello n
• Le en#tà logiche che dialogano a livello n sono de9e peer en,ty e sfru9ano i servizi offer# dal livello n-‐1, le peer en#ty comunicano usando il protocollo
• Tra ogni coppia di livelli c’è un’interfaccia che definisce i servizi offer# al livello so9ostante e le operazioni primi#ve che possono essere richieste al livello so9ostante
Comunicazione Logica vs. Fisica • Ciascun livello esegue un insieme di operazioni ben
definite • I da# non sono trasferi# dire9amente tra il livello n di
un host e il livello n di un altro host ma sono trasferi# di strato in strato fino a raggiungere il mezzo fisico e risalgono nel peer
Riassumendo: • Servizio: cosa fa un livello • Interfaccia: come accedere al servizio • Protocollo: come comunicano le peer en#ty Questo approccio perme3e il design,
l’implementazione e il tes9ng di un livello so:ware indipendentemente dagli altri livelli.
Incapsulamento dei da#
Segmento
Pacche9o
Frame
Bits
PDU: Protocol Data Unit, può essere sia un messaggio di controllo che un messaggio da#
OSI-‐Livello Applica#on
• Fornisce i protocolli u#lizza# dalle applicazioni comunemente usate dall’utente – Posta ele9ronica – Trasferimento file – World Wide Web
OSI-‐Livello Session
• Perme9e agli uten# di stabilire sessioni di lavoro tra loro
• Fornisce servizi supplementari a una connessione di #po transport ad es. sincronizzazione tra applicazioni, frammentazioni di lunghe aTvità in tronconi eseguibili indipendentemente come nel trasferimento di file
OSI-‐Livello Presenta#on
• Si occupa della sintassi e della seman#ca delle informazioni da trasferire (es. tra macchine differen#, sistemi opera#vi differen#, ecc…) – Rappresentazione dei da#/compressione – cri9ografia e auten#cazione
OSI-‐Livello Transport • Isola i livelli superiori dalla tecnologia della rete so9ostante
• U#lizza connessioni a livello network • Controlla la conges#one (controllo di flusso host-‐to-‐host)
• Offre varie #pologie di servizio (connec#on-‐oriented, connec#onless, broadcas#ng,..) QoS (Quality of Service)
• Riordina i paccheT, il ricevente deve essere sicuro di ricevere i pezzi nel giusto ordine
• Quando i da# sono molto numerosi si occupa di frammentarli in più paccheT o di ges#re errori
OSI-‐Livello Network
• Rou#ng (comunicazione tra le re#): ges#sce le tabelle di instradamento che determinano i nodi intermedi cioè il percorso che i da# dovranno seguire dalla sorgente alla des#nazione(ogni nodo è collegato solo a un certo numero di nodi). Può essere: – Sta#co: fissato a priori – Dinamico: con#nuamente aggiornato
• Conversione dei da# da una rete a un’altra-‐> Internetworking di re# omogenee ed eterogenee
OSI-‐Livello Data Link • Fare apparire il mezzo trasmissivo come un canale esente da errori
• Raggruppare i bit in PDU chiamate frame e aggiungere i delimitatori (framing)
• Inviare i frame in sequenza • Aspe9are un acknowledgement per i frame invia# • Ges#re gli errori in trasmissione (errori in ricezione=>frame non completato, perdita frame, duplicazione)
• Regolare il traffico e per le re# broadcast arbitrare l’accesso al canel condiviso
OSI-‐Livello fisico
• Definisce gli aspeT meccanici ed ele9rici del collegamento fisico tra i nodi di rete
• Trasmissione dei bit sul mezzo fisico • Specifiche:
– Tensioni scelte per rappresentare 0 e 1 – Durata di un bit – Modalità di trasmissione simulatanea – Forma dei conne9ori
L’Internet Protocol Suite
• L’Internet Protocol Suite (IPS) si occupa del trasferimento dei da# su Internet
• Viene impropriamente chiamato TCP/IP (dai nomi di due suoi protocolli)
• A differenza del modello ISO/OSI, non è un modello teorico e ha un’organizzazione a 4 livelli
34
OSI vs. TCP/IP
• OSI: non ha avuto successo commerciale, implementazioni caren#, poca tempes#vità – 7 livelli non sono oTmali, due sono quasi vuo#, altri sovraccarichi
• TCP/IP descrive fedelmente l’archite9ura, notevole successo commerciale (standard de facto) – Prima sono arriva# i protocolli e poi il modello
• Allora perché abbiamo parlato di OSI? – È un modello rigoroso, ben definito, #ene ben dis#nte le specifiche dall’implementazione, è importante per descrivere e proge9are pile protocollari diverse dal TCP/IP
OSI vs. Internet Application
Presentation
Session
Transport
Network
Datalink
Physical
Internet
Host to
Network
Transport
Application
IP
LAN Packet radio
TCP UDP
Telnet FTP DNS
OSI (formal) Internet (informal)
Livello Host to Network
• È il protocollo HW/SW che si occupadi trasmettere correttamente un singolo gruppo di bit (frame) fra due nodi collegati fisicamente.
Livello Internet
• Perme9e agli host di inviare paccheT su qualunque rete anche non omogenea e instradarli verso la loro des#nazione
• Definisce un formato standard per i paccheT • Definisce un protocollo, l’IP Internet Protocol • Rou#ng dei paccheT • È a commutazione di pacche9o di #po connec#onless=>è robusto ma inaffidabile
Livello Transport
• Sono defini# due servizi con i rispeTvi protocolli 1. Servizio connec#on oriented (circuito virtuale)
affidabile: Transmission Control Protocol. o TCP controlla anche che ogni pacchetto sia stato
trasmesso correttamente e ricostruisce il messaggio a destinazione.
2. Servizion connec#onless non affidabile User Datagram Protocol o usato quando serve velocità e non accuratezza
es.audio e video
Livello Applica#on
Protocolli più comuni • SMTP Simple Mail Transfer Protocol • FTP File Transfer Protocol • DNS Domain Name Service • POP Post Office Protocol • World Wide Web • HTTP Hyper Text Transfer Protocol
Indirizzi Nell’archite9ura ogni en#tà ha il suo indirizzo: • Indirizzo TCP (livello 4) si chiama porta e iden#fica il processo al quale è des#nato il pacche9o in arrivo. Lungo 16 bit.
• Indirizzo IP (livello 3) serve a iden#ficare il des#natario finale del pacche9o nell’ambito dell’intera rete. Lungo 32 bit.
• Indirizzo hardware/MAC (livello 2), serve a discriminare il des#natario finale di un pacche9o nell’ambito di una LAN (un indirizzo MAC per ogni scheda di rete). Lungo 48 bit.
Indirizzo IP • Sequenza di 32 bit rappresenta# mediamente qua9ro
campi decimali separa# da pun# • Vengono a9ribui# a tu9e le interfacce (scheda di rete) • Ogni interfaccia ha un indirizzo univoco • Sono suddivisi in 5 classi delle quali solo 3 possono essere
assegna# agli host di una rete • La dis#nzione tra le classi si effe9ua in base ai primi bit
dell’indirizzo • Nelle prime 3 classi l’indirizzo è composto da una parte
rela#va alla rete e una parte rela#va all’host • Per garan#re l’unicità esiste un’autorità che si occupa della
loro assegnazione Internet Assigned Number Authority (IANA)
• L’indirizzo IP sorgente e des#nazione sono campi dell’header del pacche9o IP
Indirizzi IP: esempio
192 . 168 . 220 . 1 IP decimale:
11000000.10101000.11011100.00000001 IP binario:
Ogni indirizzo IP è diviso in 2 par# : ü Network address (Indirizzo di rete)
iden#fica univocamente la rete a cui appar#ene l’host. Il numero di bit usa# per individuare la rete viene de9o prefix length, viene indicato come /#bit_rete.
ü Host address (Indirizzo host) iden#fica univocamente l’host all’interno della rete
Per definire quali bit di un indirizzo IP definiscono la rete e quali bit l’host, si u#lizza una subnet mask, anch’essa cos#tuita da 32 bit, col significato seguente:
• se un bit della maschera vale 1, il corrispondente bit dell’indirizzo fa parte dell’indirizzo della rete • se un bit della maschera vale 0, il corrispondente bit dell’indirizzo fa parte dell’indirizzo di host
Esempio: § Indirizzo IP : 200 . 42 . 60 . 134/24 ->Subnet Mask : 255 . 255 . 255 . 0 Quale sarà l’indirizzo di rete?
Perché l’indirizzo IP è diviso in 2 par#?
• È più pra#co e ges#bile raggruppare gli host in piccole re# poi connesse tra loro-‐>subnet.
• Una rete grande è complessa da ges#re efficientemente: degradazione delle performance, problemi di sicurezza, problemi di ges#one degli indirizzi.
• Le re# possono essere raggruppate in base: alla posizione geografica, lo scopo, l’appartenenza.
• L’indirizzo di rete quindi iden#fica la rete al quale l’host è connesso – Ogni router dovrà conoscere come raggiungere ciascuna rete e non ogni singolo host
Come viene trasmesso un frame IP in una LAN?
Header Dati
Source IP address
Des#na#on IP address Segmento TCP
Pacche9o IP
Frame Ethernet
Header Dati
MAC Source address
MAC Des#na#on address Pacche9o IP
Frame Ethernet à è il pacchetto trasmesso nella rete NOTA: nella stessa rete il frame IP è ridondante
Regole di assegnazione degli indirizzi IP Esistono indirizzi IP con un significato speciale • Un ID di rete:
– Non può mai essere 127 poiché è per funzioni di loopback
– Non può essere cos#tuito da tuT 1 perché questo rappresenta un indirizzo broadcast
– Non può essere cos#tuito da tuT 0 poiché questo rappresenta la rete locale
• Un ID di un host: – Non può essere cos#tuito da tuT 1 perché questo #po di indirizzo rappresenta la rete locale
– Non può essere cos#tuito da tuT 0 perché questa rappresentazione è per indicare la rete sulla quale si trova l’host
Regole di assegnazione degli indirizzi IP
Ad esempio, i paccheT indirizza# a 127.0.0.1 non devono essere instrada# nella rete, ma ritornare all’interfaccia di ingresso
Classe A
• 8 bit individuano la rete • 24 bit individuano gli host presen# nella rete • Il primo o9e9o può assumere valori tra 0 e 127 (0#######)
• Questa suddivisione consente di avere 128 re# dis#nte, ciascuna composta da 16.774.214 host (2^24-‐2)
Classe B
• 16 bit per la rete • 16 bit per gli host • Il primo o9e9o può assumere valori tra 128 e 191 (10######)
• 16.384 (2^14) re# dis#nte ciascuna composta da 65.534 (2^16-‐2) host
Classe C
• 24 bit per la rete • 8 bit per gli host • Il primo o9e9o può assumere valori tra 192 e 223 (110#####)
• Questa suddivisione consente di avere 2^21 re# dis#nte ciascuna composta da 254 host (2^8-‐2)
Classe D
• Sono riserva# ai gruppi mul#cast • Il primo o9e9o può assumere valori compresi tra 224 e 239 (1110####)
• I rimanen# 28 bit rappresentano il gruppo mul#cast al quale l’host appar#ene
Classe E
• Sperimentali e riserva#, per usi futuri • Il primo o9e9o può assumer valori compresi tra 240 e 255 (1111####)
Configurazione IP • Parametri minimi di configurazione per un host connesso a una rete IP: – l’indirizzo IP dell’host – la maschera di so@orete che perme9e l’estrazione del prefisso effeTvo
di subnet – il gateway predefinito a cui saranno manda# i paccheT IP i cui
des#natari non si trovano sulla stessa subnet del mi9ente § Se il gateway è assente, la comunicazione è limitata alla subnet § È l’indirizzo dell’interfaccia del gateway connessa alla subnet, quindi l’indirizzo dell’host e quello del gateway hanno lo stesso prefisso di rete.
§ (Vi sono anche altri parametri opzionali, ad esempio l’indirizzo IP del server dei nomi)
A9ribuzione degli indirizzi IP • Con le classi si sprecano indirizzi, a9ribuendo un prefisso di classe anche a re# con pochi host • Per una maggior efficienza nell’a9ribuzione, è necessario porsi due domande – L’indirizzo IP deve essere a9ribuito agli host sta#camente o deve essere
assegnato in via temporanea ai soli host aTvi? – Gli host della rete IP devono essere visibili su Internet (cioè, in grado di
iniziare e acce9are connessioni TCP/IP provenien# da Internet) oppure basta che possano comunicare tra loro?
Indirizzi dinamici DHCP -‐ Dynamic Host Configura#on
Protocol • Se non è indispensabile a9ribuire agli host indirizzi permanen#, si può usare il metodo dinamico di a9ribuzione – prevede che gli host all’accensione richiedano un indirizzo IP
temporaneo a un apposito server degli indirizzi che ges#sce un pool di indirizzi IP (il server avrà un indirizzo sta#co)
– è usato dai provider Internet per a9ribuire indirizzi temporanei ai computer che si collegano via modem
– è pressoché indispensabile nel caso si debbano usare degli indirizzi IP validi su Internet, che sono disponibili in quan#tà limitate
Indirizzi pubblici
• Gli indirizzi IP pubblici o registra# sono unici su tu9a Internet – Per garan#re questa unicità, gli indirizzi IP registra# devono:
§ essere richies# a un’autorità centrale di registro § essere acquista# da un rivenditore (#picamente, un Internet provider).
Classi di indirizzi priva# • NON vanno scel# a caso ed è consigliabile u#lizzare gli indirizzi IP di: – classe A di #po privato, che in notazione decimale puntata hanno la
forma 10.x.x.x – classe B di #po privato 172.16.0.x – classe C di #po privato, della forma 192.168.0.x
• Un indirizzo di par#colare importanza è la rete 127.0.0.0 di classe A usata per gli indirizzi di loopback – Ad esempio, i paccheT indirizza# a 127.0.0.1 non devono essere
instrada# nella rete, ma ritornare all’interfaccia di ingresso
Cara9eris#che degli indirizzi priva#
• Gli indirizzi priva# possono essere u#lizza# all'interno di una rete IP senza limitazioni, ma non sono dire9amente raggiungibili da Internet, né, viceversa, possono accedere dire9amente a Internet • Usare le classi di #po privato evita errori: i router collega# a Internet eseguono automa#camente il drop (eliminazione) di eventuali paccheT direT a indirizzi priva# presenta# per errore alle loro interfacce
Problemi dello spazio di indirizzi
• Lo spazio di indirizzamento disponibile conta due miliardi di indirizzi, raggruppabili in 16500 re# di enormi dimensioni e 2 milioni di re# di piccole dimensioni
• Sembrava impossibile esaurire lo spazio di indirizzamento • La 100000-‐sima rete si e’ connessa in Internet nel 1996! • Tre i fa9ori che hanno determinato l’insorgere di problemi:
– lo spazio di indirizzamento delle classi A, e spesso anche quello delle classi B, e’ troppo vasto un enorme numero di indirizzi rimangono inu#lizza#
– la connessione punto-‐punto tra due router richiede l’u#lizzo di una rete IP, per la quale sono u#lizza# solo due indirizzi
– lo spazio di indirizzamento delle re# di classe C risulta troppo piccolo con il crescere delle re# locali
Subnet • Per risolvere i problemi di carenza di indirizzi di rete è stata
sviluppata una tecnica de9a subneTng= possiamo creare più re# logiche da un singolo blocco di indirizzi – un campus a cui è stata assegnata una rete di classe A può suddividere
il suo campo di indirizzi in gruppi più piccoli, tra9ando ogni gruppo come se fosse una “rete” a se stante
– ad esempio, se la rete assegnata è la 100.0.0.0, il campus può dedicare gli indirizzi 100.1.0.0 ad un dipar#mento, gli indirizzi 100.2.0.0 ad un secondo dipar#mento e così via, tra9ando le diverse re# come se fossero re# di classe B
– affinché tu9o funzioni a dovere, il router del campus dovrà annunciare verso l’esterno la sola rete di classe A, mentre internamente potrà tra9are i vari pezzi come se fossero re# più piccole
– la parte host di un indirizzo IP viene quindi a sua volta suddivisa in una parte so9orete e in una parte host e per ciascun bit in più che dedichiamo alla parte di rete raddoppiamo il numero di so9ore# disponibili.
Network mask • U#lizzando la maschera di rete un host può riconoscere se un altro host appar#ene
o meno alla sua stessa so9orete (AND) • Perchè segmentare una rete? • Perchè usa tecnologia diverse (Ethernet, Token Ring)
– Si vuole distribuire più razionalmente gli indirizzi IP – Sivuole reindirizzare il traffico per isolare host che richiedono molata banda,….
• Vale la pena di osservare che la so9orete di dimensioni minime deve avere un campo host di 4 indirizzi: uno per indicare la so9orete, uno per indicare il broadcast, ed almeno uno per indirizzare un host; poiche’ al campo host vanno assegna# un certo numero di bit, un bit non e’ sufficiente, quindi ne servono almeno due, che forniscono due indirizzi per host – questa tecnica e’ u#lizzata per assegnare indirizzi di rete alle connessioni
punto-‐punto tra i router, risparmiando il maggior numero di indirizzi possibile
• La definizione delle so9ore# non coinvolge la authority internazionale (o quella regionale) per gli indirizzi – le so9ore# fanno tu9e parte dell’insieme degli indirizzi gia’ assegna#
65
SubneTng • Esempio: indirizzo IP= 193.207.121.240 Subnet mask= 11111111.11111111.11111111.11100000 oppure /27 oppure 255.255.255.244 • 2 #pi di subneTng: • Sta,co
– Tu9e le so9ore# ricavate dalla stessa rete hanno la stessa subnet mask: semplice da implementare e ges#re ma spreco per le re# piccole
• A lunghezza variabile VLSM – Le so9ore# ricavate dalla stessa rete possono avere subnet mask diverse: uso
migliore degli indirizzi IP
SubneTng
• Numero di subnet n=numero di bit “presi in pres#to” • Numero di host (indirizzo di rete e l’indirizzo di broadcast)
h=numero di bit per la parte host • Se invece si vuole calcolare il numero di host persi durante il subneTng si mol#plica 2 * k dove k sono il numero delle so9ore#.
n2
22h −
Assegnazione indirizzi
• Lowest host address: network address+1 • Highest network address: broadcast address-‐1
Esempio subneTng sta#co (1/2) Dato l’indirizzo di rete 192.168.0.0, dividere questa rete in due so9ore# di pari dimensioni, u#lizzando un’appropriata subnet mask. Calcolare inoltre gli indirizzi di broadcast e di rete delle due nuove so9ore#. • Da# della rete data: indirizzo della rete: 192.168.0.0 subnet-‐mask: 255.255.255.0 (11111111.11111111.11111111.00000000) indirizzo di broadcast: 192.168.0.255 Per o9enere due so9ore# u#li, dobbiamo prendere in pres#to 1 bit della parte host. Essendo la rete di classe C, la parte di rete è composta dai primi 3 byte, mentre quella host dal quarto. Quindi la subnetmask è 11111111. 11111111.11111111.10000000 che nella notazione decimale diventa 255.255.255.128
Esempio subneTng sta#co (2/2) • Con questa subnet-‐mask si creano 2 so9ore#: 1) 192.168.0.0 (.0hhhhhhh) • ID so9orete: 192.168.0.0 (.0hhhhhhh) • IP u#li: da 192.168.0.1 (.00000001) a 192.168.0.126 (.01111110)
• Broadcast so9orete: 192.168.0.127 (.01111111) 2) 192.168.0.128 (.1hhhhhhh) • ID so9orete: 192.168.0.128 (.1hhhhhhh) • IP u#li: da 192.168.0.129 (.10000001) a 192.168.0.254 (.11111110)
• Broadcast so9orete: 192.168.0.255 (.11111111)
Tabelle di rou#ng • Quando il router riceve un pacche9o decide su quale delle sue interfacce debba essere trasmesso in base all’indirizzo IP des#nazione contenuto nel pacche9o
• La rou,ng table è un database, memorizzato in un router da cui si ricavano le informazioni per l’inoltro del pacche9o
• Con#ene una riga per ogni des#nazione che l’IS sa raggiungere che con#ene: – l’indirizzo della des#nazione – l’interfaccia su cui inoltrare i paccheT per tale des#nazione
– il costo per raggiungere la des#nazione
Tabelle di rou#ng • L’inoltro è basato sulla subnet mask • Il router non cerca la riga che con#ene l’indirizzo di des#nazione
ma quella che con#ene l’indirizzo con il più lungo prefisso comune all’indirizzo del des#natario (longest prefix matching)
Rou#ng Comportamento dell’host mi@ente • L’host deve sapere se il des#natario è sulla sua stessa rete , in tal caso
può inviargli il pacche9o dire9amente o se al contrario deve inviarlo al gateway. Per carpirlo confronta: – Proprio indirizzo AND propria netmask = prefisso della propria rete – Indirizzo di des#nazione AND propria netmask
• Se sono uguali sono sulla stessa rete e pacche9o è inviato dire9amente all’host di des#nazione altrimen# è inviato al gateway.
Comportamento del router Quando un pacche9o arriva al router si comporta come l’host • AND tra ciascuno dei propri indirizzi e la netmask associata per capire se
l’host si trova in una delle re# connesse alle sue interfacce Altrimen# • AND logico l’indirizzo IP di des#nazione e la subnet mask delle
potenziali route
Rou#ng-‐esempio Indirizzo des,nazione
Netmask AND bit a bit Matching
115.3.4.0 255.255.255.0 128.59.15.0 NO
113.55.214.0 255.255.255.0
128.59.15.0
NO
12.0.0.0 255.0.0.0 128.0.0.0 NO
128.59.15.0 255.255.255.0 128.59.15.0 Sì
128.59.0.0 255.255.0.0 128.59.0.0 Sì
148.4.23.0 255.255.252.0 128.59.12.0 NO
0.0.0.0 0.0.0.0 0.0.0.0 Sì
Confronto dei prefissi con l’indirizzo des#nazione 128.59.15.165 Per ogni riga della tabella di rou#ng: 128.59.15.165 AND netmask == indirizzo des#nazione AND netmask ? 0.0.0.0/0.0.0.0 default route (gateway of the last resort) , è u#lizzata per raggiungere tu9e le des#nazioni a eccezioni di quelle per le quali esiste una route più specifica, dà esito a un confronto posi#vo con qualsiasi indirizzo IP
IPv6 • Nonostante tu9o questo il problema del’esaurimento degli indirizzi IP esiste
• Già negli anni ‘90 l’IETF iniziò a sviluppare l’IP versione 6
• Oltre a estendere il numero di indirizzi , include un meccanismo per la QoS, aumenta la scalabilità delle rete, migliora la manipolazione dei paccheT (header più semplice ma più lungo), integra la sicurezza
• Gli indirizzi sono di 128 bit • Non è un nuovo protocollo di livello 3 è una nuova protocol suite perché usa nuovi protocolli di rou#ng e l’header più lungo impa9a sui livelli inferiori.
Instradamento locale: ARP • Per instradare un pacche9o IP verso una des#nazione
appartenente alla stessa rete del mi9ente viene incapsulato il pacche9o IP in un pacche9o dello strato di data link so9ostante (ad esempio: Ethernet) – un host conosce il proprio indirizzo IP e la propria rete di
appartenenza: analizzando l’indirizzo di des#nazione di un pacche9o l’host puo’ capire se il des#natario appar#ene alla sua stessa rete, e quindi operare il delivery locale
• Il problema da risolvere e’ come fare a sapere a quale indirizzo di data link (Ethernet) inviare il pacche9o – l’host conosce solo l’indirizzo IP del des#natario – serve quindi una mappa che associ un indirizzo IP di un host della
stessa rete al suo indirizzo di data link • Per risolvere questo problema IP si appoggia ad un protocollo
chiamato ARP (Adderss Resolu#on Protocol)
ARP • Quando un host con indirizzo IP1 ed indirizzo hardware HW1
deve inviare un pacche9o IP ad un host con indirizzo IP2 sulla stessa rete, ARP si procura l’informazione necessaria in questo modo: – viene costruito un pacche9o di data link (ARP request) contenente IP1,
HW1, ed IP2, con un campo dedicato ad HW2 riempito con tuT 0 – questo pacche9o viene inviato broadcast sulla rete locale – tuT ricevono il pacche9o ARP, ma solo l’host che ha l’indirizzo IP2 lo
processa (gli altri lo scartano) – l’host des#natario costruisce un pacche9o di data link (ARP response)
contenente l’informazione mancante, e lo invia dire9amente ad HW1 (non broadcast)
– ARP sul primo host acquisisce quindi l’informazione dell’indirizzo Ethernet dell’host remoto, e lo comunica ad IP, che puo’ cosi’ incapsulare i propri paccheT IP in frame del protocollo di data link indirizza# alla des#nazione corre9a
ARP cache • Per migliorare le prestazioni, ARP puo’ ges#re sull’host locale
una cache in memoria • Ogni volta che viene appresa una nuova associazione
IPaddress-‐HWaddress, viene memorizzata nella cache • Quando ARP deve individuare un indirizzo HW, prima
controlla nella cache: se l’informazione e’ presente viene u#lizzata senza inviare paccheT sulla rete
• Le entry nella cache di ARP hanno un tempo di scadenza, per evitare che even# quali sos#tuzione di schede di rete o reindirizzamento degli host possano rendere impossibile la comunicazione
ICMP • Internet Control Message Protocol e’ il protocollo u#lizzato per controllare il funzionamento del livello di rete
• Esistono una dozzina di messaggi ICMP des#na# ad avvisare i router o gli host di qualche evento specifico della rete
• ICMP non ha lo scopo di rendere IP affidabile, ma di no#ficare allo strato di rete problemi non transien# nella comunicazione a livello 3 in modo da aTvare quelle reazioni dinamiche al malfunzionamento della rete necessarie, ad esempio, a ridisegnare dinamicamente la topologia u#lizzata per l’instradamento
80
Porte TCP • Quando un processo applica#vo vuole creare una connessione verso un
processo applica#vo remoto, deve specificare a quale intende conne9ersi. • Si definiscono degli indirizzi di trasporto su cui i processi possono restare
in ascolto delle richieste di connessione. • I protocolli di trasporto TCP (ma anche UDP) nell’header contengono una
porta sorgente e una porta des#nazione • Le porte sono numeri interi lunghi 16 bit che indicano dove inizia e dove
finisce la connessione TCP • Quando un processo vuole stabilire una connessione TCP con un processo
remoto si lega a una porta TCP inu#lizzata presente nella sua macchina (=porta sorgente) e indica al codice TCP dove devono essere invia# i paccheT in arrivo appartenen# alla connessione.
• Il processo fornisce anche una porta des#nazione che indica chi deve ricevere i paccheT sulla parte remota
• Le porte da 0 a 1023 sono riservate a servizi no#
DNS (1/3) • Quando si fa riferimento a un host è decisamente più comodo
utilizzare un nome del tipo www.google.com che un indirizzo IP numerico quale 172.217.21.131
• Al livello di comunicazione più basso, però, non vengono usati i nomi bensì come abbiamo visto gli indirizzi in forma numerica.
• Appare quindi evidente l'esigenza di un servizio di traduzione dei nomi in indirizzi numerici e viceversa.
• Il DNS, Domain Name System, è precisamente questo.
DNS(2/3)
è un database gerarchico e distribuito basato su modello client/server
§ gerarchico significa che lo spazio dei nomi degli host non è "piatto" ma
che esiste una gerarchia di nomi. Ciò rende possibile l'esistenza di due host
con lo stesso nome purché appartengano a domini diversi.
§ Distribuito significa che il database DNS non è concentrato tutto in un
punto (ossia non esiste un host che conosce i nomi e gli indirizzi di tutti gli
altri host) ma è "spezzettato": ogni server possiede le informazioni relative
al proprio dominio. Pertanto, per poter svolgere il loro compito è necessario
che i server possano mettersi in contatto tra loro per scambiarsi
informazioni.
DNS(3/3) § il database del DNS ha una struttura logica “ad albero rovesciato”
§ ciascun nodo dell’albero rappresenta un dominio
§ ogni dominio può essere suddiviso in altri domini: sottodomini
La Posta Ele9ronica
• Ciascun dominio dedica un server alla ricezione della posta ele9ronica (server smtp) e uno all’invio (server IMAP o POP3).
• Per inviare un messaggio so usa il protocollo SMTP (simple mail transport protocol): i messaggi spedi# dagli uten# vengono invia# al server smtp che si occupa di inviarli ai des#natari
• Per ricevere messaggi ci sono sono due protocolli: – POP3: msg scarica# sulla memoria di massa – IMAP: msg sulla macchina che ospita il server
86