86
Re# di calcolatori

Re#$di$calcolatori$ - utenti.dieei.unict.itutenti.dieei.unict.it/users/smonteleone/corsi/aa2016-17/ce/slides/... · • Reti locali LAN (Local Area Network) ... • Reti metropolitane

Embed Size (px)

Citation preview

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

Re#  wireless  •  Comunicazioni  con  segnale  radio  o  oTco:  

– Wireless  LAN  – Wireless  WAN  – Wireless  PAN  

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#  

   

Topologia  delle  re#  LAN  La  topologia  è  una  mappa  di  nodi  e  link  che  li  conne9ono    

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

Internetworking  

•  Si  realizza  quando  due  o  più  re#  sono  connesse  tra  loro  

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)  

•  TCP/IP  •  ISO/OSI    

Archite9ure  di  rete  

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.  

Indirizzamento  IP  

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

Classi  di  indirizzi  IP  

Classe  D:  indirizzi  mul#cast  Classe  E:  usi  futuri  

Classi  di  indirizzi  IP  

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)  

Esercizio  lungo?  

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#  

TCP  -­‐  Well-­‐known  ports  

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