SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
Parte 4



                                            Modulo 10:
         Problematiche del routing su
            scala geografica e in reti
         aziendali di grandi dimensioni




                               Routing gerarchico
• Nella realtà, i router di Internet:
      – non rappresentano un insieme omogeneo di risorse
      – non eseguono lo stesso algoritmo di routing

• Diversi motivi:
      – Scalabilità: all’aumentare del numero di router,
        l’overhead degli algoritmi di routing diviene proibitivo
           occorre ridurre la complessità del calcolo del
          cammino
      – Autonomia amministrativa: un’organizzazione
        dovrebbe/vorrebbe scegliere autonomamente come
        amministrare il traffico tra i propri router
Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet   4.211




                                                                                1
Autonomous Systems per il routing

 • I router vengono aggregati in “regioni” o sistemi
   autonomi (AS)
 • In pratica, un AS è un insieme di nodi e router
   gestiti da un’unica entità di controllo centrale
   (es., stesso ISP)
 • Ciascun AS ha un numero identificativo
   assegnato da una authority di registrazione
   Internet:
       – Il numero è compreso fra 1 e 64511
       – I numeri di AS compresi nell’intervallo 64512-65535
         sono riservati

Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet   4.212




Autonomous Systems per il routing (2)

 • Per il routing all’interno di un AS (routing Intra-AS) i
   router utilizzano qualche Interior Gateway Protocol dove
   i router di un AS possono possedere un’informazione
   completa su tutti gli altri router dell’AS

 • Per il routing verso altri AS (routing (Inter-AS) viene
   utilizzato qualche Exterior Gateway Protocol (prima
   EGP, oggi BGP)

 • Ciascun AS può usare metriche multiple per il routing
   interno, ma appare come un unico AS ad altri AS


Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet   4.213




                                                                                2
Esempio con 5 AS

             AS1                                            AS2                     IGP
                                                                              2.1         2.2
                                   IGP           BGP
                 1.1
                                    1.2                                                   2.2.1


                                                               BGP
                                              BGP
                                                                               BGP         4.1          4.2
                                BGP                                                               IGP
                   IGP                                                                                        AS4
AS5
                                                      3.1               3.2
                                                            IGP                AS3
             5.1             5.2



Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                                         4.214




                   Politiche di routing negli AS

  • Le politiche di routing sono le regole per
    decidere come instradare il traffico
        – Se sono un AS, quale traffico accetto di far passare per
          la mia rete?
        – Ci sono spesso accordi commerciali alla base di queste
          decisioni (RICORDARE: peering point e IX)


  • Ogni AS vuole poter decidere le proprie politiche
    e potrebbe anche non volerle fare conoscere agli
    altri AS

Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                                         4.215




                                                                                                                      3
Tipi di AS

                                                                                AS1                  AS3
      AS1

                                                                                             AS2
                            AS1                         AS3
     AS2
                                                                                        AS2: Transit
                                                                        AS connesso a diversi AS che
 AS2: Stub                                                              consente di fare da tramite per gli
                                             AS2
AS con una sola                                                         AS a cui è collegato (accetta sia
connessione                                                             traffico locale sia traffico in transito)
ad un altro AS                    AS2: Multi-homed
                          AS connesso con diversi AS,
                          ma non permette traffico che
                          non è generato o diretto verso l’AS
Reti di Calcolatori 2009/2010 – Architettura e Protocolli dilocale)
                          (accetta solo traffico Internet                                                  4.216




 Protocolli di routing: inter-AS, intra-AS

  • Principale protocollo di routing inter-AS
        – Border Gateway Protocol (BGP)
                Algoritmo di routing distribuito
                E’ oggi lo standard de facto per il routing tra AS


  • Principali protocolli di routing intra-AS
        – Routing Information Protocol (RIP)
                Algoritmo di routing distribuito (Distance vector protocol)
        – Open Shortest Path First (OSPF)
                Algoritmo di routing centralizzato (Link state protocol)
                Successore di RIP

Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                                      4.217




                                                                                                                    4
Protocolli di routing: inter-AS, intra-AS

                                                   BGP




                                                              RIP
                                                              OSPF


Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet   4.218




   Parte 4



                                          Modulo 11:
                                 Protocollo RIP
                                   (Intra-AS)




                                                                                5
Origini del RIP
  • E’ il primo storico protocollo per il routing intra-AS,
    utilizzato per molti anni in Internet
  • Definito in [RFC 1058]

  • La sua diffusione fu determinata soprattutto dal
    fatto che era implementato in modo nativo nel
    sistema operativo Unix BSD (daemon routed),
    primo ad avere tutto il software per supportare
    l’intero stack TCP/IP

  • E’ un protocollo distribuito basato sull’algoritmo
    Distance Vector
Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                               4.220




                Routing Information Protocol
  • Basato sul protocollo Distance Vector
  • Metrica di costo (semplificata) = numero di hop
         ipotesi: tutti i link hanno costo unitario
  • Costo massimo di un percorso = 16 hop
         limite massimo del diametro di un AS
                                                                            u           v
                            Destinazione            Hop
Numero di hop                  u                    1
                                                                                A   B
 dal router A                  v                    2                                           w
  alle varie                   w                    2                                       x
   sottoreti                   x                    3
                                                                        z
 destinazione                  y                    3                           C   D
                               z                    2                                       y

Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                               4.221




                                                                                                            6
RIP advertisement e RIP request
  • I router adiacenti si scambiano i vettori di distanze
    ogni 30 secondi utilizzando un messaggio di RIP
    advertisement
  • Ogni messaggio contiene fino a 25 sottoreti di
    destinazione all’interno dell’AS con le relative
    distanze in hop

  • Un router può anche chiedere informazioni sul
    vettore di distanze dei router adiacenti, tramite
    messaggi di RIP request

Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                            4.222




                                        RIP: esempio

                                                                                                 z
      w                            x                                           y
                     A                          D                       B

                                                C
                                        Tabella di routing in D
          Sottorete                               Router                     Numero di hop
         destinazione                           successivo                  verso destinazione
                 w                                      A                           2
                 y                                      B                           2
                 z                                      B                           7
                 x                                      --                          1
Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                            4.223




                                                                                                         7
RIP: esempio
 Dest Next hop
  w     -   1                                  RIP advertisement
  x     -   1                          da A a D (“io arrivo a z con 4 hop”)
  z     C   4
                                                                                                 z
      w                            x                                           y
                     A                          D                       B

                                          C
         Sottorete                               Router                      Numero di hop
        destinazione                           successivo                   verso destinazione
                w                                      A                            2
                y                                      B                            2
                z                                      B A                          7 5
                x                                      --                           1
Reti di Calcolatori 2009/2010 – Architettura Tabella Internet
                                             e Protocolli di di routing in D                     4.224




                                            Link failure
• Se un router non riceve messaggi dal suo vicino
  dopo 180 secondi  lo considera irraggiungibile
    – I percorsi passanti per il router vicino vengono invalidati
      (si setta il flag U)
    – Nuovi RIP advertisement vengono inviati agli altri router
      vicini
    – A loro volta, i vicini inviano RIP advertisement se le loro
      tabelle subiscono cambiamenti

 Rapida propagazione delle informazioni sui
  link failure (permanenti o temporanee) della rete

Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                            4.225




                                                                                                         8
Pro e contro del RIP
  • Come algoritmo Distance vector, RIP funziona bene per
    reti non grandi, stabili e piuttosto veloci
  • Ciascun router comunica ai vicini il percorso “migliore”
    misurato in numero di hop
  • Nel momento in cui c’è instabilità, il RIP “soffre”
     – Poiché ciascun router comincia a inviare la propria
       nuova tabella, prima di arrivare a convergenza, non c’è
       una visione unitaria sullo stato della rete e sui percorsi
       migliori
     – Non c’è intrinseca protezione dai loop e c’è il rischio del
       “count-to-infinity”
     – Proprio per questa mancata protezione, si usa un
       “infinito” piccolo (16) che tuttavia impedisce al RIP di
       essere utilizzato su reti grandi
Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet   4.226




   Parte 4



                                          Modulo 12:
                             Protocollo OSPF
                                (Intra-AS)




                                                                                9
Open Short Path First
• Definito nell’RFC 1131
• “open” = disponibile pubblicamente (a differenza
  del protocollo EIGRP della Cisco)
• E’ un link state protocol, quindi

• Ha varie funzioni migliorative rispetto a RIP e quindi
  è più adatto a reti grandi, il cui stato tende a
  cambiare dinamicamente
• Attualmente, si tende a utilizzare:
      – RIP nell’ambito di AS di secondo livello e di reti aziendali
        molto grandi
      – OSPF all’interno di AS di primo livello
Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet   4.228




                           Open Short Path First
  • Il routing si basa sull’algoritmo centralizzato
    Link State (“tell the world about the neighbors”)
        – Topologia della rete e costi noti ad ogni nodo
        – Calcola l’albero dei cammini di costo minimo mediante
          l’algoritmo di Dijkstra
        – Memorizza tale albero nel cosiddetto “link state
          database” che viene distribuito a tutti i router
        – Invia in broadcast eventuali aggiornamenti di costo con
          i vicini ai router dell’intero AS (flooding)
        – I messaggi OSPF viaggiano direttamente su IP
        – Il “link state database” viene inviato periodicamente
          (almeno ogni 30 minuti) anche se non è cambiato


Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet   4.229




                                                                                10
Caratteristiche di OSPF (non in RIP)
• Sicurezza: autenticazione dei messaggi OSPF con algoritmi
  di crittografia
• Percorsi multipli con costo uguale: possibilità di usare più
  percorsi per instradare il traffico (mentre è solo uno in RIP)
• Supporto integrato per instradamento unicast e
  multicast: multicast OPSF (MOSPF) usa lo stesso
  database di collegamenti usato da OSPF
• Struttura gerarchica degli AS: possibilità di strutturare
  grandi domini di instradamento in gerarchie di AS



                     Però anche OSPF non è perfetto perché il
                                         broadcast costa …
Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet   4.230




        Gerarchia OSPF in grandi aziende
• Consente una suddivisione dei router di grandi
  organizzazioni in aree
• Ad esempio, in un’azienda con 500 router, la possibilità di
  creare 10 aree ciascuna con 50 router significa che ogni
  router ha bisogno di memorizzare e tenere aggiornate
  informazioni solo su 50 router, invece di 500
• Quindi, si avranno:
  – Internal router che applicano OSPF all’interno della
     propria area
  – Area border router che comunicano i percorsi verso
     altre aree ai router di quell’area. Questi router non usano
     i dettagli, ma solo i prefissi come fanno gli switch per i
     numeri telefonici o i CAP da una città all’altra (411-
     Modena, 401-Bologna; poi le altre due cifre per le zone)
Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet   4.231




                                                                                11
Gerarchia OSPF in AS
•     Consente una suddivisione dei router degli AS in aree così
      da avere una gerarchia interna a due livelli:
      1. aree locali
      2. area backbone
           Si usa l’algoritmo Link State all’interno di ogni area
•     Area backbone
      – Instrada il traffico tra le aree del sistema autonomo
      – Contiene tutti i border router (router di confine)
•     Border router: gestiscono l’instradamento verso altri AS (
      implementano l’algoritmo di routing inter-AS)
•     Backbone router (non border): effettuano l’instradamento
      all’interno dell’area backbone
•     Area border router: comunicano i percorsi verso altre aree
      locali dell’AS ai router di quell’area
Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                              4.232




    Sistema autonomo OSPF gerarchico
                                                                        Border router
                                                                                        Backbone
                                                                                        router



                                          Area
                                         border
                                         router                              Router
                                                                             interni




Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                              4.233




                                                                                                           12
Parte 4



                                          Modulo 13:
                               Protocollo BGP
                                  (Inter-AS)




                                  Un po’ di storia…
  • Fino agli anni ’80: EGP
        – Storicamente il primo protocollo ad essere usato per il
          routing inter-AS
        – Presuppone una rete con topologia ad albero senza
          cicli (come la vecchia ARPANET)
        – Limiti nella massima dimensione delle reti gestibili
        – Entra in crisi con l’introduzione delle dorsali Internet e
          dei cammini multipli tra nodi
  • BGP viene introdotto per sostituire EGP
  • BGP è un algoritmo distribuito di tipo
    “distance vector (“tells all neighbors about the
    world”)
Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet   4.235




                                                                                13
BGP
• Border Gateway Protocol (versione 4): RFC 1771
• E’ un protocollo complesso, ma fondamentale per il
  funzionamento di Internet, in quanto è il protocollo
  delle dorsali Internet per muoversi da un AS ad un
  altro in modo completamente decentralizzato

• Utilizzato dagli ISP e non dai piccoli-medi utenti

• Può essere utilizzato anche come protocollo
  intra-AS nel caso di AS molto grandi (in quanto il
  protocollo intra-AS OSPF non scala molto bene)
Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                   4.236




                                    BGP e tipi di AS
NON
NECESSARIO                                                  NECESSARIO



       AS1                                                              AS1           AS3
                                     AS1                         AS3


      AS2                                                                       AS2
                                                      AS2

   AS2: Stub                              AS2: Multi-homed                    AS2: Transit

 • In generale, BGP non serve nei casi di: Single homed network (stub),
   AS non fornisce downstream routing, AS usa un default route




                                                                                                14
Funzioni BGP e prefissi
• Funzioni principali
     1. Scambiare informazioni di raggiungibilità tra AS
        confinanti, detti peer (configurando manualmente i
        router)
     2. Propagare le informazioni di raggiungibilità a tutti i router
        all’interno di un AS  meccanismo distribuito basato
        sull’algoritmo Path Vector (della classe Distance Vector
        Protocol)
     3. Determinare i percorsi migliori in base a informazioni di
        raggiungibilità e policy di routing (non solo metriche!)

• Le destinazioni sono indicate con prefissi che rappresentano
  una o più sottoreti (ampio utilizzo di aggregazione di indirizzi
  per ridurre le entry della routing table)

 Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                          4.238




                                         Sessioni BGP
   • BGP fa uso di connessioni TCP [si vedrà in
     seguito] semi-permanenti per far comunicare i
     router confinanti (BGP peers)
   • I due peer BGP che si scambiano messaggi sulla
     connessione TCP formano una sessione BGP
         – Sessione esterna (E-BGP) tra router di AS diversi
         – Sessione interna (I-BGP) tra router dello stesso AS
                                         3c
                                                  3a                                  2c
                                     3b                                         2a
                                             AS3                                           2b
                                                                 1c                  AS2
               E-BGP session                              1a               1b
               I-BGP session                                      1d
                                                                         AS1
 Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                          4.239




                                                                                                        15
Router e BGP
  • Transit router: router che gestiscono traffico
    I-BGP all’interno dell’AS
  • I transit router devono essere configurati a maglia
    (mesh), cioè tutti devono essere peer di tutti gli
    altri. Questo pone dei problemi di scalabilità, risolti
    mediante confederazioni

  • Border router (o edge router) router che
    gestiscono traffico E-BGP tra diversi AS
  • La scelta dei peer di un border router dipende
    dalle policy del gestore dell’AS
Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                              4.240




                        Connettere diversi AS
  I router di confine (edge router) hanno la responsabilità di
  inoltrare pacchetti a destinazioni esterne all’AS


                          C.b
                                                                        B.a
                                        A.a
                           b                                                                Host
                                                    A.c                       c
              a       C                                                  a                    h2
                                                                                  b
                                         a                                    B
            Host                    d                                    Intra-AS routing
                                                      c
            h1                  A         b                              entro AS B
                                 Intra-AS routing
                                 entro AS A

Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                              4.241




                                                                                                           16
Architettura di un edge router




Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                          4.242




      Distribuzione di informazioni per la
                 raggiungibilità
  • 3a annuncia a 1c i prefissi di rete raggiungibili da AS3
    attraverso una sessione E-BGP
  • 1c usa I-BGP per distribuire le informazioni di
    raggiungibilità a tutti i router in AS1 (1a – 1d – 1b)
  • 1b annuncia a 2a i prefissi raggiungibili da AS3 e AS1
    attraverso una sessione E-BGP
  • Quando un router viene a conoscenza di un nuovo
    prefisso, crea una nuova riga nella propria tabella di
    routing
                                      3c
                                               3a                                    2c
                                  3b                                           2a
                                         AS3                                              2b
                                                              1c                    AS2
              E-BGP session                            1a                 1b
              I-BGP session                                   1d
                                                                        AS1
Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                          4.243




                                                                                                       17
Prefissi e attributi BGP
  • “Annunciare un prefisso” equivale alla “promessa”
    di inoltrare i pacchetti su un percorso verso il
    prefisso di destinazione
  • L’annuncio di un prefisso comprende anche
    attributi BGP, tra cui i più importanti sono:
        – AS-PATH: elenco degli AS attraverso cui è passato
          l’annuncio del prefisso (strada attraversata)
        – NEXT-HOP: lo specifico router nel next-hop AS da
          cui giunge l’annuncio (possibili più collegamenti tra
          gli AS)



Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet   4.244




                         Selezione del percorso
  •      Un router può venire a conoscenza di più di un
         percorso verso un prefisso
                    deve selezionarne uno
  •      Quando un border router riceve un annuncio
         utilizza le policy locali per decidere se
         accettare/scartare l’annuncio
  •      Varie possibili regole:
        1.     Valore di preferenza locale: policy
        2.     AS-PATH più breve
        3.     Router di NEXT-HOP più vicino
        4.     Altri criteri
Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet   4.245




                                                                                18
Path Vector: esempio path alternativi
              tra AS1 e AS4

                                                                        151.16.0.0/16

                                                                                AS3



                                                            AS2
   80.128.0.0/12


        AS1                                                                   AS4



                                                                AS5

Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                   4.246




                           Algoritmo Path Vector
• BGP usa Path Vector, una variante dell’algoritmo
  distribuito Distance Vector Protocol
• Ogni routing update contiene informazioni sull’intero
  cammino verso la destinazione attraverso gli AS
• Individuazione dei loop:
     – Quando un AS riceve un update riguardo un percorso,
       controlla se il percorso contiene se stesso come info
            Se sì, scarta l’update
            Se no, aggiunge se stesso e (eventualmente) propaga l’update
• Vantaggi:
     – Uso di metriche e policy locali nelle decisioni
     – Il protocollo garantisce che non ci siano loop

Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                   4.247




                                                                                                19
Path Vector: esempio

                                                                                           151.16.0.0/16

                                                                        151.16.0.0/16               AS3
                        151.16.0.0/16                                       AS3
                             AS3
                             AS2
                                                                                        151.16.0.0/16
                                                                                              AS3
                                                                                              AS2
                                                           AS2
  80.128.0.0/12
                      151.16.0.0/16
       AS1                  AS3                                                                     AS4
                                                                              80.128.0.0/12
                            AS2
                                                                                  AS1
                            AS1
                                                                                  AS2
                      80.128.0.0/12                   AS2 scarta
                            AS1                        l’update

Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                                      4.248




            Criteri di selezione dei percorsi
             Attributi sui percorsi + politiche esterne


  Esempi:
        –   hop count
        –   politiche
        –   presenza o assenza di certi AS
        –   origine del percorso (EGP, IGP)
        –   dinamismo dei link dynamics (“flapping”, “stable”)




Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                                      4.249




                                                                                                                   20
Politiche e BGP
  • BGP fornisce funzionalità per implementare
    diverse “politiche di routing”
        – Si può definire come scegliere un percorso nel
          momento in cui ci sono più alternative
        – Si possono limitare le informazioni che vengono
          mandate a tutti gli altri AS
        – Si possono modulare le informazioni che vengono
          mandate a ciascun AS

  • IMPORTANTE: Le politiche non sono parte del
    BGP, ma sono fornite come modalità di
    cofigurazioni
Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet   4.250




              Esempi di politiche disponibili
  • A multi-homed AS refuses to act as
    transit
        – limit path advertisement


  • A multi-homed AS can become transit
    for some AS’s
        – only advertise paths to some AS’s


  • An AS can favor or disfavor certain
    AS’s for traffic transit from itself

Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet   4.251




                                                                                21
Quando il BGP non serve


  • Single homed network
    (stub)
  • AS non fornisce
    downstream routing
  • AS usa un default
    route



Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet   4.252




   Parte 4




                                          Modulo 14:
              Altri protocolli a livello 3




                                                                                22
Altri protocolli di livello 3
• Il protocollo IP è la “vita” della clessidra, unico protocollo per
  il routing su Internet a differenza dei due protocolli trasporto
  (UDP e TCP) e dei molteplici protocolli H2N (Ethernet, WiFi,
  PPP, Token ring, ATM, FDDI, SLIP, WiMAX, ecc.)
• D’altro canto, IPv4 non è l’unico protocollo operante a livello
  3. Esistono anche:
    – IPv6
    – ICMP (protocollo accessorio per la gestione del routing)
    – IGMP (Internet Group Management Protocol è un
       protocollo per la gestione dei gruppi multicast)
    – IPSec, cifrato per realizzare Virtual Private Network
       (VPN) su scala geografica

Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet   4.254




                                                     ICMP
                   Internet Control Message Protocol
                            [prima idea: RFC 792, Jon Postel]


• E’ un protocollo di “servizio” relativo alla gestione di
  reti, alla verifica di raggiungibilità di host ovvero al
  riscontro di malfunzionamenti

• E’ il protocollo alla base dei protocolli applicativi
  ping e traceroute


Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet   4.255




                                                                                23
Esempi codici di ICMP
      0 Destination network unreachable
      1 Destination host unreachable
      2 Destination protocol unreachable
      3 Destination port unreachable
      4 Fragmentation required
      5 Source route failed
      6 Destination network unknown
      7 Destination host unknown
      8 Source host isolated
      9 Network administratively prohibited
      10 Host administratively prohibited
      11 Network unreachable for TOS
      12 Host unreachable for TOS
      13 Communication administratively prohibited
        …
Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet   4.256




Internet Control Message Protocol (2)
• Utilizzi principali:
       - congestione e controllo di flusso dei datagram
       - comunicare periodicamente cambiamenti nelle tabelle di routing
       - determinare cammini circolari o eccessivamente lunghi
       - stimare il tempo di trasmissione da mittente a destinatario

• Programmi per il testing che usano ICMP:
       - ping: usato per testare la raggiungibilità e lo stato di un
       host; utilizza il messaggio echo request e echo reply
       dell’ICMP (es., ping 160.80.1.5)
       - traceroute: usato per tracciare il cammino da un host
       all’altro: usa il campo TTL del datagram IP; se TTL=0 l’host
       comunica al mittente l’errore usando ICMP
Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet   4.257




                                                                                24
ICMP
Utilizzato dagli host, router e gateway per comunicare
informazioni riguardanti il livello di rete, in particolari errori
Es. Il messaggio “Destination host is unreachable” nel protocollo HTTP ha
origine dall’ICMP

Il messaggio ICMP è incapsulato in un datagram IP:

                                                                        ICMP header   ICMP dati



                                 Header del datagram                       Area dati del datagram



Header del frame                                            Area dati del frame

Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                                4.258




                        Relazione tra ICMP e IP

                                                        icmp hdr icmp data


                                  ip header             ip data


      frame header                frame data                                               trailer


Regola 1: nessun messaggio ICMP viene generato a seguito di
         eventuali errori rilevati su messaggi ICMP
Regola 2: se il pacchetto viene frammentato, solo il primo frammento
         può generare messaggi di errore ICMP
Regola 3: i broadcast e multicast non generano ICMP



Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet                                4.259




                                                                                                             25
Messaggi di errore
Questi messaggi di errore seguono un pacchetto scartato:
• TIME_ EXCEEDED (tempo scaduto)
     – il pacchetto ha TTL=0
• DESTINATION_UNREACHABLE
     – un gateway vede la rete destinazione a distanza infinita (net unreachable)
     – l'host non risponde ad una chiamata ARP (host unreachable)
     – l'host destinazione non conosce il protocollo nel pacchetto (protocol
       unreachable)
     – il pacchetto non può essere frammentato (fragmentation needed and DF set)
• PARAMETER_PROBLEM (problema con i parametri).
     – Il gateway non riesce ad interpretare il pacchetto ricevuto a causa di un valore
       errato, possibile errore software
• SOURCE_QUENCH obsoleto (rallentamento, soffocamento della
  sorgente)
     – congestione di un gateway intermedio
     – host destinazione lento nell’acquisizione
Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet              4.260




                             Messaggi di servizio
                                Es., Routing redirect
  • Si supponga che HostA debba inviare a HostB un
    pacchetto. Poiché i due host non sono nella stessa
    subnet, HostA invia il pacchetto al suo default router (es.,
    R1)
  • R1 ha nella sua tabella di instradamento una regola che
    indica di instradare i pacchetti destinati alla rete
    132.16.0.0/16 tramite R2. Poiché R2 è raggiungibile anche
    da HostA, R1 comunica questo fatto a HostA tramite un
    messaggio di redirect
  • HostA invia i successivi pacchetti destinati a HostB tramite
    R2 tramite un meccanismo di caching
  • Nota: contrariamente a quanto indicato dalla RFC 1122
    (standard), non tutti gli end-system considerano le
    indicazioni di redirect
  • Ulteriori approfondimenti in: RFC 792, 1812, 1122
Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet              4.261




                                                                                           26
traceroute
 • Il comando traceroute permette di capire per quali
   router passano i pacchetti IP quando sono diretti ad una
   data destinazione.
 • traceroute è compreso nella dotazione standard di tutti
   i sistemi *nix
 • Nei sistemi Windows il comando ha il nome tracert e
   sintassi leggermente differente.
 • traceroute trova utilizzo anche nell’ambito
   dell’amministrazione della rete per isolare guasti o
   incoerenze nelle tabelle di routing
 • E’ utile anche per mostrare il percorso dei pacchetti
   svelando un po’ della topologia nascosta di Internet
 • Ci sono interessanti versioni grafiche

Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet   4.262




                                                                                27

Weitere ähnliche Inhalte

Ähnlich wie 4 Livello Ip Parte4

Lezione InternetWorking: il routing
Lezione InternetWorking: il routingLezione InternetWorking: il routing
Lezione InternetWorking: il routingLuca Matteo Ruberto
 
4 Livello Ip Parte2 Color
4 Livello Ip Parte2 Color4 Livello Ip Parte2 Color
4 Livello Ip Parte2 ColorMajong DevJfu
 
Polito v2 (2010 05-19)
Polito v2 (2010 05-19)Polito v2 (2010 05-19)
Polito v2 (2010 05-19)Luca Cicchelli
 
IPv6 - Breve panoramica tra mito e realtà
IPv6 - Breve panoramica tra mito e realtàIPv6 - Breve panoramica tra mito e realtà
IPv6 - Breve panoramica tra mito e realtàConsulthinkspa
 
Disaster Recovery servizi internet tramite AS BGP4 - 2020
Disaster Recovery servizi internet tramite AS BGP4 - 2020Disaster Recovery servizi internet tramite AS BGP4 - 2020
Disaster Recovery servizi internet tramite AS BGP4 - 2020Mauro Ronzana
 
Ridondanza accessi internet AS BGP - 2021
Ridondanza accessi internet AS BGP - 2021Ridondanza accessi internet AS BGP - 2021
Ridondanza accessi internet AS BGP - 2021Mauro Ronzana
 
Routing problem
Routing problemRouting problem
Routing problemilMancio
 
Ridondanza Accessi Internet AS BGP - 2023 04
Ridondanza Accessi Internet AS BGP - 2023 04Ridondanza Accessi Internet AS BGP - 2023 04
Ridondanza Accessi Internet AS BGP - 2023 04Mauro Ronzana
 
Network configuration - IPTables firewall
 Network configuration - IPTables firewall Network configuration - IPTables firewall
Network configuration - IPTables firewallFulvio Corno
 
Introduzione alla sicurezza di BGP
Introduzione alla sicurezza di BGPIntroduzione alla sicurezza di BGP
Introduzione alla sicurezza di BGPMarco d'Itri
 
Architetture di instradamento a internet: il BGP
Architetture di instradamento a internet: il BGPArchitetture di instradamento a internet: il BGP
Architetture di instradamento a internet: il BGPAntonio Prado
 

Ähnlich wie 4 Livello Ip Parte4 (20)

Lezione InternetWorking: il routing
Lezione InternetWorking: il routingLezione InternetWorking: il routing
Lezione InternetWorking: il routing
 
4 Livello Ip Parte2 Color
4 Livello Ip Parte2 Color4 Livello Ip Parte2 Color
4 Livello Ip Parte2 Color
 
Polito v2 (2010 05-19)
Polito v2 (2010 05-19)Polito v2 (2010 05-19)
Polito v2 (2010 05-19)
 
Multicast IPv6
Multicast IPv6Multicast IPv6
Multicast IPv6
 
TCP IP
TCP IPTCP IP
TCP IP
 
Internetworking
InternetworkingInternetworking
Internetworking
 
IPv6 - Breve panoramica tra mito e realtà
IPv6 - Breve panoramica tra mito e realtàIPv6 - Breve panoramica tra mito e realtà
IPv6 - Breve panoramica tra mito e realtà
 
RPSL e rpsltool
RPSL e rpsltoolRPSL e rpsltool
RPSL e rpsltool
 
2 Suite Standard
2 Suite Standard2 Suite Standard
2 Suite Standard
 
Disaster Recovery servizi internet tramite AS BGP4 - 2020
Disaster Recovery servizi internet tramite AS BGP4 - 2020Disaster Recovery servizi internet tramite AS BGP4 - 2020
Disaster Recovery servizi internet tramite AS BGP4 - 2020
 
1 Reti E Protocolli
1 Reti E Protocolli1 Reti E Protocolli
1 Reti E Protocolli
 
Secure Bgp
Secure BgpSecure Bgp
Secure Bgp
 
3 H2 N Parte2
3 H2 N Parte23 H2 N Parte2
3 H2 N Parte2
 
Ridondanza accessi internet AS BGP - 2021
Ridondanza accessi internet AS BGP - 2021Ridondanza accessi internet AS BGP - 2021
Ridondanza accessi internet AS BGP - 2021
 
Routing problem
Routing problemRouting problem
Routing problem
 
Ridondanza Accessi Internet AS BGP - 2023 04
Ridondanza Accessi Internet AS BGP - 2023 04Ridondanza Accessi Internet AS BGP - 2023 04
Ridondanza Accessi Internet AS BGP - 2023 04
 
Network configuration - IPTables firewall
 Network configuration - IPTables firewall Network configuration - IPTables firewall
Network configuration - IPTables firewall
 
Introduzione alla sicurezza di BGP
Introduzione alla sicurezza di BGPIntroduzione alla sicurezza di BGP
Introduzione alla sicurezza di BGP
 
Architetture di instradamento a internet: il BGP
Architetture di instradamento a internet: il BGPArchitetture di instradamento a internet: il BGP
Architetture di instradamento a internet: il BGP
 
8 Www2009 Parte1
8 Www2009 Parte18 Www2009 Parte1
8 Www2009 Parte1
 

Mehr von Majong DevJfu

9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA CloudMajong DevJfu
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processesMajong DevJfu
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product lineMajong DevJfu
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven ArchitectureMajong DevJfu
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture PortfolioMajong DevJfu
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural stylesMajong DevJfu
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architectureMajong DevJfu
 
1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a productMajong DevJfu
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural stylesMajong DevJfu
 

Mehr von Majong DevJfu (20)

9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product line
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture
 
1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 
Uml3
Uml3Uml3
Uml3
 
Uml2
Uml2Uml2
Uml2
 
6
66
6
 
5
55
5
 
4 (uml basic)
4 (uml basic)4 (uml basic)
4 (uml basic)
 
3
33
3
 
2
22
2
 
1
11
1
 
Tmd template-sand
Tmd template-sandTmd template-sand
Tmd template-sand
 
26 standards
26 standards26 standards
26 standards
 

4 Livello Ip Parte4

  • 1. Parte 4 Modulo 10: Problematiche del routing su scala geografica e in reti aziendali di grandi dimensioni Routing gerarchico • Nella realtà, i router di Internet: – non rappresentano un insieme omogeneo di risorse – non eseguono lo stesso algoritmo di routing • Diversi motivi: – Scalabilità: all’aumentare del numero di router, l’overhead degli algoritmi di routing diviene proibitivo  occorre ridurre la complessità del calcolo del cammino – Autonomia amministrativa: un’organizzazione dovrebbe/vorrebbe scegliere autonomamente come amministrare il traffico tra i propri router Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.211 1
  • 2. Autonomous Systems per il routing • I router vengono aggregati in “regioni” o sistemi autonomi (AS) • In pratica, un AS è un insieme di nodi e router gestiti da un’unica entità di controllo centrale (es., stesso ISP) • Ciascun AS ha un numero identificativo assegnato da una authority di registrazione Internet: – Il numero è compreso fra 1 e 64511 – I numeri di AS compresi nell’intervallo 64512-65535 sono riservati Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.212 Autonomous Systems per il routing (2) • Per il routing all’interno di un AS (routing Intra-AS) i router utilizzano qualche Interior Gateway Protocol dove i router di un AS possono possedere un’informazione completa su tutti gli altri router dell’AS • Per il routing verso altri AS (routing (Inter-AS) viene utilizzato qualche Exterior Gateway Protocol (prima EGP, oggi BGP) • Ciascun AS può usare metriche multiple per il routing interno, ma appare come un unico AS ad altri AS Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.213 2
  • 3. Esempio con 5 AS AS1 AS2 IGP 2.1 2.2 IGP BGP 1.1 1.2 2.2.1 BGP BGP BGP 4.1 4.2 BGP IGP IGP AS4 AS5 3.1 3.2 IGP AS3 5.1 5.2 Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.214 Politiche di routing negli AS • Le politiche di routing sono le regole per decidere come instradare il traffico – Se sono un AS, quale traffico accetto di far passare per la mia rete? – Ci sono spesso accordi commerciali alla base di queste decisioni (RICORDARE: peering point e IX) • Ogni AS vuole poter decidere le proprie politiche e potrebbe anche non volerle fare conoscere agli altri AS Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.215 3
  • 4. Tipi di AS AS1 AS3 AS1 AS2 AS1 AS3 AS2 AS2: Transit AS connesso a diversi AS che AS2: Stub consente di fare da tramite per gli AS2 AS con una sola AS a cui è collegato (accetta sia connessione traffico locale sia traffico in transito) ad un altro AS AS2: Multi-homed AS connesso con diversi AS, ma non permette traffico che non è generato o diretto verso l’AS Reti di Calcolatori 2009/2010 – Architettura e Protocolli dilocale) (accetta solo traffico Internet 4.216 Protocolli di routing: inter-AS, intra-AS • Principale protocollo di routing inter-AS – Border Gateway Protocol (BGP)  Algoritmo di routing distribuito  E’ oggi lo standard de facto per il routing tra AS • Principali protocolli di routing intra-AS – Routing Information Protocol (RIP)  Algoritmo di routing distribuito (Distance vector protocol) – Open Shortest Path First (OSPF)  Algoritmo di routing centralizzato (Link state protocol)  Successore di RIP Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.217 4
  • 5. Protocolli di routing: inter-AS, intra-AS BGP RIP OSPF Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.218 Parte 4 Modulo 11: Protocollo RIP (Intra-AS) 5
  • 6. Origini del RIP • E’ il primo storico protocollo per il routing intra-AS, utilizzato per molti anni in Internet • Definito in [RFC 1058] • La sua diffusione fu determinata soprattutto dal fatto che era implementato in modo nativo nel sistema operativo Unix BSD (daemon routed), primo ad avere tutto il software per supportare l’intero stack TCP/IP • E’ un protocollo distribuito basato sull’algoritmo Distance Vector Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.220 Routing Information Protocol • Basato sul protocollo Distance Vector • Metrica di costo (semplificata) = numero di hop  ipotesi: tutti i link hanno costo unitario • Costo massimo di un percorso = 16 hop  limite massimo del diametro di un AS u v Destinazione Hop Numero di hop u 1 A B dal router A v 2 w alle varie w 2 x sottoreti x 3 z destinazione y 3 C D z 2 y Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.221 6
  • 7. RIP advertisement e RIP request • I router adiacenti si scambiano i vettori di distanze ogni 30 secondi utilizzando un messaggio di RIP advertisement • Ogni messaggio contiene fino a 25 sottoreti di destinazione all’interno dell’AS con le relative distanze in hop • Un router può anche chiedere informazioni sul vettore di distanze dei router adiacenti, tramite messaggi di RIP request Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.222 RIP: esempio z w x y A D B C Tabella di routing in D Sottorete Router Numero di hop destinazione successivo verso destinazione w A 2 y B 2 z B 7 x -- 1 Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.223 7
  • 8. RIP: esempio Dest Next hop w - 1 RIP advertisement x - 1 da A a D (“io arrivo a z con 4 hop”) z C 4 z w x y A D B C Sottorete Router Numero di hop destinazione successivo verso destinazione w A 2 y B 2 z B A 7 5 x -- 1 Reti di Calcolatori 2009/2010 – Architettura Tabella Internet e Protocolli di di routing in D 4.224 Link failure • Se un router non riceve messaggi dal suo vicino dopo 180 secondi  lo considera irraggiungibile – I percorsi passanti per il router vicino vengono invalidati (si setta il flag U) – Nuovi RIP advertisement vengono inviati agli altri router vicini – A loro volta, i vicini inviano RIP advertisement se le loro tabelle subiscono cambiamenti  Rapida propagazione delle informazioni sui link failure (permanenti o temporanee) della rete Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.225 8
  • 9. Pro e contro del RIP • Come algoritmo Distance vector, RIP funziona bene per reti non grandi, stabili e piuttosto veloci • Ciascun router comunica ai vicini il percorso “migliore” misurato in numero di hop • Nel momento in cui c’è instabilità, il RIP “soffre” – Poiché ciascun router comincia a inviare la propria nuova tabella, prima di arrivare a convergenza, non c’è una visione unitaria sullo stato della rete e sui percorsi migliori – Non c’è intrinseca protezione dai loop e c’è il rischio del “count-to-infinity” – Proprio per questa mancata protezione, si usa un “infinito” piccolo (16) che tuttavia impedisce al RIP di essere utilizzato su reti grandi Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.226 Parte 4 Modulo 12: Protocollo OSPF (Intra-AS) 9
  • 10. Open Short Path First • Definito nell’RFC 1131 • “open” = disponibile pubblicamente (a differenza del protocollo EIGRP della Cisco) • E’ un link state protocol, quindi • Ha varie funzioni migliorative rispetto a RIP e quindi è più adatto a reti grandi, il cui stato tende a cambiare dinamicamente • Attualmente, si tende a utilizzare: – RIP nell’ambito di AS di secondo livello e di reti aziendali molto grandi – OSPF all’interno di AS di primo livello Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.228 Open Short Path First • Il routing si basa sull’algoritmo centralizzato Link State (“tell the world about the neighbors”) – Topologia della rete e costi noti ad ogni nodo – Calcola l’albero dei cammini di costo minimo mediante l’algoritmo di Dijkstra – Memorizza tale albero nel cosiddetto “link state database” che viene distribuito a tutti i router – Invia in broadcast eventuali aggiornamenti di costo con i vicini ai router dell’intero AS (flooding) – I messaggi OSPF viaggiano direttamente su IP – Il “link state database” viene inviato periodicamente (almeno ogni 30 minuti) anche se non è cambiato Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.229 10
  • 11. Caratteristiche di OSPF (non in RIP) • Sicurezza: autenticazione dei messaggi OSPF con algoritmi di crittografia • Percorsi multipli con costo uguale: possibilità di usare più percorsi per instradare il traffico (mentre è solo uno in RIP) • Supporto integrato per instradamento unicast e multicast: multicast OPSF (MOSPF) usa lo stesso database di collegamenti usato da OSPF • Struttura gerarchica degli AS: possibilità di strutturare grandi domini di instradamento in gerarchie di AS Però anche OSPF non è perfetto perché il broadcast costa … Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.230 Gerarchia OSPF in grandi aziende • Consente una suddivisione dei router di grandi organizzazioni in aree • Ad esempio, in un’azienda con 500 router, la possibilità di creare 10 aree ciascuna con 50 router significa che ogni router ha bisogno di memorizzare e tenere aggiornate informazioni solo su 50 router, invece di 500 • Quindi, si avranno: – Internal router che applicano OSPF all’interno della propria area – Area border router che comunicano i percorsi verso altre aree ai router di quell’area. Questi router non usano i dettagli, ma solo i prefissi come fanno gli switch per i numeri telefonici o i CAP da una città all’altra (411- Modena, 401-Bologna; poi le altre due cifre per le zone) Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.231 11
  • 12. Gerarchia OSPF in AS • Consente una suddivisione dei router degli AS in aree così da avere una gerarchia interna a due livelli: 1. aree locali 2. area backbone Si usa l’algoritmo Link State all’interno di ogni area • Area backbone – Instrada il traffico tra le aree del sistema autonomo – Contiene tutti i border router (router di confine) • Border router: gestiscono l’instradamento verso altri AS ( implementano l’algoritmo di routing inter-AS) • Backbone router (non border): effettuano l’instradamento all’interno dell’area backbone • Area border router: comunicano i percorsi verso altre aree locali dell’AS ai router di quell’area Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.232 Sistema autonomo OSPF gerarchico Border router Backbone router Area border router Router interni Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.233 12
  • 13. Parte 4 Modulo 13: Protocollo BGP (Inter-AS) Un po’ di storia… • Fino agli anni ’80: EGP – Storicamente il primo protocollo ad essere usato per il routing inter-AS – Presuppone una rete con topologia ad albero senza cicli (come la vecchia ARPANET) – Limiti nella massima dimensione delle reti gestibili – Entra in crisi con l’introduzione delle dorsali Internet e dei cammini multipli tra nodi • BGP viene introdotto per sostituire EGP • BGP è un algoritmo distribuito di tipo “distance vector (“tells all neighbors about the world”) Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.235 13
  • 14. BGP • Border Gateway Protocol (versione 4): RFC 1771 • E’ un protocollo complesso, ma fondamentale per il funzionamento di Internet, in quanto è il protocollo delle dorsali Internet per muoversi da un AS ad un altro in modo completamente decentralizzato • Utilizzato dagli ISP e non dai piccoli-medi utenti • Può essere utilizzato anche come protocollo intra-AS nel caso di AS molto grandi (in quanto il protocollo intra-AS OSPF non scala molto bene) Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.236 BGP e tipi di AS NON NECESSARIO NECESSARIO AS1 AS1 AS3 AS1 AS3 AS2 AS2 AS2 AS2: Stub AS2: Multi-homed AS2: Transit • In generale, BGP non serve nei casi di: Single homed network (stub), AS non fornisce downstream routing, AS usa un default route 14
  • 15. Funzioni BGP e prefissi • Funzioni principali 1. Scambiare informazioni di raggiungibilità tra AS confinanti, detti peer (configurando manualmente i router) 2. Propagare le informazioni di raggiungibilità a tutti i router all’interno di un AS  meccanismo distribuito basato sull’algoritmo Path Vector (della classe Distance Vector Protocol) 3. Determinare i percorsi migliori in base a informazioni di raggiungibilità e policy di routing (non solo metriche!) • Le destinazioni sono indicate con prefissi che rappresentano una o più sottoreti (ampio utilizzo di aggregazione di indirizzi per ridurre le entry della routing table) Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.238 Sessioni BGP • BGP fa uso di connessioni TCP [si vedrà in seguito] semi-permanenti per far comunicare i router confinanti (BGP peers) • I due peer BGP che si scambiano messaggi sulla connessione TCP formano una sessione BGP – Sessione esterna (E-BGP) tra router di AS diversi – Sessione interna (I-BGP) tra router dello stesso AS 3c 3a 2c 3b 2a AS3 2b 1c AS2 E-BGP session 1a 1b I-BGP session 1d AS1 Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.239 15
  • 16. Router e BGP • Transit router: router che gestiscono traffico I-BGP all’interno dell’AS • I transit router devono essere configurati a maglia (mesh), cioè tutti devono essere peer di tutti gli altri. Questo pone dei problemi di scalabilità, risolti mediante confederazioni • Border router (o edge router) router che gestiscono traffico E-BGP tra diversi AS • La scelta dei peer di un border router dipende dalle policy del gestore dell’AS Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.240 Connettere diversi AS I router di confine (edge router) hanno la responsabilità di inoltrare pacchetti a destinazioni esterne all’AS C.b B.a A.a b Host A.c c a C a h2 b a B Host d Intra-AS routing c h1 A b entro AS B Intra-AS routing entro AS A Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.241 16
  • 17. Architettura di un edge router Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.242 Distribuzione di informazioni per la raggiungibilità • 3a annuncia a 1c i prefissi di rete raggiungibili da AS3 attraverso una sessione E-BGP • 1c usa I-BGP per distribuire le informazioni di raggiungibilità a tutti i router in AS1 (1a – 1d – 1b) • 1b annuncia a 2a i prefissi raggiungibili da AS3 e AS1 attraverso una sessione E-BGP • Quando un router viene a conoscenza di un nuovo prefisso, crea una nuova riga nella propria tabella di routing 3c 3a 2c 3b 2a AS3 2b 1c AS2 E-BGP session 1a 1b I-BGP session 1d AS1 Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.243 17
  • 18. Prefissi e attributi BGP • “Annunciare un prefisso” equivale alla “promessa” di inoltrare i pacchetti su un percorso verso il prefisso di destinazione • L’annuncio di un prefisso comprende anche attributi BGP, tra cui i più importanti sono: – AS-PATH: elenco degli AS attraverso cui è passato l’annuncio del prefisso (strada attraversata) – NEXT-HOP: lo specifico router nel next-hop AS da cui giunge l’annuncio (possibili più collegamenti tra gli AS) Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.244 Selezione del percorso • Un router può venire a conoscenza di più di un percorso verso un prefisso  deve selezionarne uno • Quando un border router riceve un annuncio utilizza le policy locali per decidere se accettare/scartare l’annuncio • Varie possibili regole: 1. Valore di preferenza locale: policy 2. AS-PATH più breve 3. Router di NEXT-HOP più vicino 4. Altri criteri Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.245 18
  • 19. Path Vector: esempio path alternativi tra AS1 e AS4 151.16.0.0/16 AS3 AS2 80.128.0.0/12 AS1 AS4 AS5 Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.246 Algoritmo Path Vector • BGP usa Path Vector, una variante dell’algoritmo distribuito Distance Vector Protocol • Ogni routing update contiene informazioni sull’intero cammino verso la destinazione attraverso gli AS • Individuazione dei loop: – Quando un AS riceve un update riguardo un percorso, controlla se il percorso contiene se stesso come info  Se sì, scarta l’update  Se no, aggiunge se stesso e (eventualmente) propaga l’update • Vantaggi: – Uso di metriche e policy locali nelle decisioni – Il protocollo garantisce che non ci siano loop Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.247 19
  • 20. Path Vector: esempio 151.16.0.0/16 151.16.0.0/16 AS3 151.16.0.0/16 AS3 AS3 AS2 151.16.0.0/16 AS3 AS2 AS2 80.128.0.0/12 151.16.0.0/16 AS1 AS3 AS4 80.128.0.0/12 AS2 AS1 AS1 AS2 80.128.0.0/12 AS2 scarta AS1 l’update Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.248 Criteri di selezione dei percorsi Attributi sui percorsi + politiche esterne Esempi: – hop count – politiche – presenza o assenza di certi AS – origine del percorso (EGP, IGP) – dinamismo dei link dynamics (“flapping”, “stable”) Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.249 20
  • 21. Politiche e BGP • BGP fornisce funzionalità per implementare diverse “politiche di routing” – Si può definire come scegliere un percorso nel momento in cui ci sono più alternative – Si possono limitare le informazioni che vengono mandate a tutti gli altri AS – Si possono modulare le informazioni che vengono mandate a ciascun AS • IMPORTANTE: Le politiche non sono parte del BGP, ma sono fornite come modalità di cofigurazioni Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.250 Esempi di politiche disponibili • A multi-homed AS refuses to act as transit – limit path advertisement • A multi-homed AS can become transit for some AS’s – only advertise paths to some AS’s • An AS can favor or disfavor certain AS’s for traffic transit from itself Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.251 21
  • 22. Quando il BGP non serve • Single homed network (stub) • AS non fornisce downstream routing • AS usa un default route Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.252 Parte 4 Modulo 14: Altri protocolli a livello 3 22
  • 23. Altri protocolli di livello 3 • Il protocollo IP è la “vita” della clessidra, unico protocollo per il routing su Internet a differenza dei due protocolli trasporto (UDP e TCP) e dei molteplici protocolli H2N (Ethernet, WiFi, PPP, Token ring, ATM, FDDI, SLIP, WiMAX, ecc.) • D’altro canto, IPv4 non è l’unico protocollo operante a livello 3. Esistono anche: – IPv6 – ICMP (protocollo accessorio per la gestione del routing) – IGMP (Internet Group Management Protocol è un protocollo per la gestione dei gruppi multicast) – IPSec, cifrato per realizzare Virtual Private Network (VPN) su scala geografica Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.254 ICMP Internet Control Message Protocol [prima idea: RFC 792, Jon Postel] • E’ un protocollo di “servizio” relativo alla gestione di reti, alla verifica di raggiungibilità di host ovvero al riscontro di malfunzionamenti • E’ il protocollo alla base dei protocolli applicativi ping e traceroute Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.255 23
  • 24. Esempi codici di ICMP 0 Destination network unreachable 1 Destination host unreachable 2 Destination protocol unreachable 3 Destination port unreachable 4 Fragmentation required 5 Source route failed 6 Destination network unknown 7 Destination host unknown 8 Source host isolated 9 Network administratively prohibited 10 Host administratively prohibited 11 Network unreachable for TOS 12 Host unreachable for TOS 13 Communication administratively prohibited … Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.256 Internet Control Message Protocol (2) • Utilizzi principali: - congestione e controllo di flusso dei datagram - comunicare periodicamente cambiamenti nelle tabelle di routing - determinare cammini circolari o eccessivamente lunghi - stimare il tempo di trasmissione da mittente a destinatario • Programmi per il testing che usano ICMP: - ping: usato per testare la raggiungibilità e lo stato di un host; utilizza il messaggio echo request e echo reply dell’ICMP (es., ping 160.80.1.5) - traceroute: usato per tracciare il cammino da un host all’altro: usa il campo TTL del datagram IP; se TTL=0 l’host comunica al mittente l’errore usando ICMP Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.257 24
  • 25. ICMP Utilizzato dagli host, router e gateway per comunicare informazioni riguardanti il livello di rete, in particolari errori Es. Il messaggio “Destination host is unreachable” nel protocollo HTTP ha origine dall’ICMP Il messaggio ICMP è incapsulato in un datagram IP: ICMP header ICMP dati Header del datagram Area dati del datagram Header del frame Area dati del frame Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.258 Relazione tra ICMP e IP icmp hdr icmp data ip header ip data frame header frame data trailer Regola 1: nessun messaggio ICMP viene generato a seguito di eventuali errori rilevati su messaggi ICMP Regola 2: se il pacchetto viene frammentato, solo il primo frammento può generare messaggi di errore ICMP Regola 3: i broadcast e multicast non generano ICMP Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.259 25
  • 26. Messaggi di errore Questi messaggi di errore seguono un pacchetto scartato: • TIME_ EXCEEDED (tempo scaduto) – il pacchetto ha TTL=0 • DESTINATION_UNREACHABLE – un gateway vede la rete destinazione a distanza infinita (net unreachable) – l'host non risponde ad una chiamata ARP (host unreachable) – l'host destinazione non conosce il protocollo nel pacchetto (protocol unreachable) – il pacchetto non può essere frammentato (fragmentation needed and DF set) • PARAMETER_PROBLEM (problema con i parametri). – Il gateway non riesce ad interpretare il pacchetto ricevuto a causa di un valore errato, possibile errore software • SOURCE_QUENCH obsoleto (rallentamento, soffocamento della sorgente) – congestione di un gateway intermedio – host destinazione lento nell’acquisizione Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.260 Messaggi di servizio Es., Routing redirect • Si supponga che HostA debba inviare a HostB un pacchetto. Poiché i due host non sono nella stessa subnet, HostA invia il pacchetto al suo default router (es., R1) • R1 ha nella sua tabella di instradamento una regola che indica di instradare i pacchetti destinati alla rete 132.16.0.0/16 tramite R2. Poiché R2 è raggiungibile anche da HostA, R1 comunica questo fatto a HostA tramite un messaggio di redirect • HostA invia i successivi pacchetti destinati a HostB tramite R2 tramite un meccanismo di caching • Nota: contrariamente a quanto indicato dalla RFC 1122 (standard), non tutti gli end-system considerano le indicazioni di redirect • Ulteriori approfondimenti in: RFC 792, 1812, 1122 Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.261 26
  • 27. traceroute • Il comando traceroute permette di capire per quali router passano i pacchetti IP quando sono diretti ad una data destinazione. • traceroute è compreso nella dotazione standard di tutti i sistemi *nix • Nei sistemi Windows il comando ha il nome tracert e sintassi leggermente differente. • traceroute trova utilizzo anche nell’ambito dell’amministrazione della rete per isolare guasti o incoerenze nelle tabelle di routing • E’ utile anche per mostrare il percorso dei pacchetti svelando un po’ della topologia nascosta di Internet • Ci sono interessanti versioni grafiche Reti di Calcolatori 2009/2010 – Architettura e Protocolli di Internet 4.262 27