reti e dintorni 2

Upload: rgaeta

Post on 07-Apr-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Reti e dintorni 2

    1/14

    Reti e dintorniAprile 2001 N 2

    Internet

    Perpetrator

    Victim

    ICMP echo (spoofed source address of victim)

    Sent to IP broadcast address

    ICMP echo reply

  • 8/6/2019 Reti e dintorni 2

    2/14

    2

    TECNONET S.p.A.

    Firewall

    I firewall sono preposti al controllo del flusso deltraffico in base a regole che consentono o impedisconodeterminati tipi di traffico. Attualmente i firewallpossono essere suddivisi in:

    1) Firewall Packet Filteringa) I firewall di questo tipo si basano esclusivamente sulle

    intestazioni TCP, UDP, ICMP e IP dei singoli pacchetti.Un router utilizzato come firewall, deve effettuare

    controlli complessi sui pacchetti. Tal controlli consumano

    notevoli risorse del router stesso, e i controlli sono

    effettuati per ogni pacchetto ricevuto. Dunque un router

    che implementa funzioni di packet filtering deve disporre

    di una CPU pi veloce e di maggiore memoria, rispetto a

    un router che deve solo svolgere funzioni di

    instradamento IP. La maggiore limitazione del packet

    filtering dovuta al fatto che questa tecnica non effettua

    controlli a livello applicativo. Comunque il packet

    filtering risulta un sistema economico, in quanto le sue

    funzionalit sono integrate nei vari sistemi operativi dei

    router in commercio. Loperato di questo tipo di firewall

    completamente trasparente agli utenti.

    2) Firewall Proxy Servicea) I firewall di questo tipo elaborano i messaggi specifici di

    determinate applicazioni IP. La tecnica utilizza la

    seguente procedura:

    i) Il client contatta il proxy server, indicando il serverremoto con cui intende scambiare dati

    ii) Il proxy server richiede allutente linvio dellecredenziali indispensabili per accedere al servizio

    iii) Il client invia al proxy server le credenziali in suopossesso

    iv) Il proxy server valuta le credenziali, se conformieffettua una connessione con il server remoto

    v) Il client pu scambiare dati con il server remotovi) Per ogni messaggio il proxy server valuta

    lopportunit della trasmissione

    b) Si ritiene generalmente che il firewall proxy server sia pisicuro rispetto al packet filtering, in quanto introducelivelli di controllo aggiuntivi. Lo svantaggio una minore

    trasparenza dovuta a una partecipazione attiva degli utenti

    nel processo di firewall.

    3) Firewall Stateful Filteringa) I firewall di questo tipo mantengono informazioni sullo

    stato e ricostruiscono il flusso di dati associato al traffico.

    Questa tecnica entra nel merito di tutti i parametri

    connessi allintestazione TCP, quali i numeri seriali, gli

    ack e lo stato dei flags. Un filtro sul circuito non lascia

    passare i pacchetti che non fanno parte di una connessione

    stabilita. Per evitare che un hacker riesca in un attacco di

    tipo denial of service, il firewall accetta solo un limitato

    numero di richieste da ogni utente. Per complicare la

    predizione dei numeri seriali (tecnica utilizzata dagli

    hacker per dirottare una connessione stabilita!) il firewall

    sostituisce i numeri seriali con numeri casuali. Loperatodi questo tipo di firewall completamente trasparente agli

    utenti.

    Pix Firewall Cisco

    La serie firewall PIX della Cisco sono del tipo StatefulFiltering e si basano sullalgoritmo ASA (AdaptiveSecurity Algorithm). Le interfacce presenti sul PIX si

    caratterizzano per il loro livello di sicurezza.

    a) la prima interfaccia ha un livello di sicurezza 0 e sichiama outside (ethernet0)

    b)

    la seconda interfaccia ha un livello di sicurezza100 e si chiama inside (ethernet1)c) se eventualmente sono presenti altre interfacce il

    loro livello di sicurezza deve essere un numerocompreso tra 1 e 99

    Il comando da utilizzare per modificare il livello disicurezza delle interfacce :

    nameifhardware_id interface_name sec_level

    hardware_id = identificativo dellintefaccia. Per esempio

    ethernet2

    interface_name = nome dellinterfaccia

    sec_level= livello di sicurezza, valore tra 1 e 99

    IREWAL

    INTRANET

    DMZ

    INTERNET

    NTRANET

    PROXY

    SERVER

    INTERNET

    FIREWALL

    AIL

    SERVER

    WEB

    SERVER

    INTERNET

  • 8/6/2019 Reti e dintorni 2

    3/14

    3

    TECNONET S.p.A.

    Lalgoritmo ASA si basa sulle seguenti regole base:

    1) Per default nessuna connessione o tipo di traffico permesso tra le interfacce. Bisogna abilitare le

    connessioni con opportuni comandi.

    2) Abilitazione delle connessioni TCP1

    o del trafficoUDP provenienti da uninterfaccia con un livello

    di sicurezza superiore (per esempio inside) diretteverso interfacce con livello di sicurezza inferiore(per esempio outside) tramite NAT (Network

    Address Translation) dinamico, PAT (PortAddress Translation) o SAT (Static AddressTranslation). Per quanto riguarda il protocollo

    UDP che non forma connessioni, lalgoritmo ASAcrea un database sul tipo di pacchetto UDP speditodallinterfaccia con livello di sicurezza superiore.

    Il PIX far passare solo i pacchetti che ritiene chesiano di risposta ai pacchetti UDP trasmessi.

    (Comandi utilizzati: nat, static, global)3) Le connessioni provenienti da interfacce con un

    livello di sicurezza inferiore (per esempio outside)verso interfacce con un livello di sicurezza

    superiore (per esempio inside), sono bloccate.4) Non permesso nessun tipo di traffico tra due

    interfacce con lo stesso livello di sicurezza.

    5) Per abilitare le connessioni TCP provenienti dainterfacce con livello di sicurezza inferiore versointerfacce con livello di sicurezza superiore si

    utilizzano i comandi: static, conduit.6) Tutti i pacchetti del protocollo ICMP sono

    bloccati.

    7) I multicast sono bloccati.Comandi base

    Ip address interface_name ip_address netmask Definisce lindirizzo ip dellinterfaccia. Per esempio ip address inside 192.168.2.1 255.255.255.0

    Nat (interface_name) 0 local_ip netmask Permette lapertura di connessioni da parte dei client

    connessi su uninterfaccia con livello di sicurezza

    superiore verso hosts posizionati su interfacce con livello

    di sicurezza inferiore. Lo zero sta ad intendere che il nat

    (networ address translation) disabilitato.

    Alcuni esempi: Nat (inside) 0 0 0 : qualsiasi utente dallinterfaccia inside

    pu aprire connessioni verso qualsiasi altra interfaccia Nat (inside) 0 192.168.1.0 255.255.255.0 : qualsiasi host

    appartenente alla subnet 192.168.1.0/24 pu aprire

    connessioni verso qualsiasi altra interfaccia Nat (inside) 0 10.0.0.56 255.255.255.255 : soltanto

    allhost 10.0.0.56 permesso di aprire connessioni verso

    qualsiasi interfaccia Nat (dmz) 0 0 0 : qualsiasi host presente sullinterfaccia

    dmz pu aprire connessioni verso interfacce con livello di

    sicurezza inferiore alla dmz.

    Global (int_name_low) num global_ip_rangenetmasknetmask

    1Ricordo che lapertura di una connessione in TCP si distingue dal primo pacch etto che ha

    il flag SYN settato (vedi RETI E DINTORNI n1)

    Definisce il range di indirizzi utilizzati dal NAT. Se vienedefinito un solo indirizzo vuol dire che si utilizza il PAT.

    Questo comando va usato in associazione con il comando

    nat (int_name_high) num local_ip netmask Num = numero identificativo diverso da zero Int_name_low = nome dellinterfaccia con livello di

    sicurezza inferiore

    Int_name_high = nome dellinterfaccia con livello disicurezza superiore Global_ip_range = range di indirizzi utilizzati per il nat.

    Se viene utilizzato un solo indirizzo verr attivato il pat. Alcuni esempi:

    Global (outside) 1 145.45.89.1-145.45.89.50 Nat (inside) 1 0.0.0.0 0.0.0.0

    Viene attivato il NAT. Tutti gli hosts presentisullinside si presenteranno sulle connessioni

    verso hosts connessi sulloutside con

    lindirizzo sorgente sostituito da unindirizzo

    ip appartenente al range definito dal comando

    global. Se tutti gli indirizzi del range sono gi

    utilizzati la connessione esterna non pu

    avvenire.

    Global (outside) 1 167.2.6.10 Nat (inside) 1 192.168.1.0 255.255.255.0

    Tutti gli hosts appartenenti alla subnet192.168.1.0/24 si presenteranno allesterno

    tutti con lo stesso indirizzo. In questo caso

    viene attivato il PAT.

    Static (high_int, low_int) low_int_ip high_int_ipnetmasknetmask Questo comando abilita la SAT. Abilita i clients o il client

    appartenenti allinterfaccia con livello di sicurezza

    superiore ad iniziare le connessioni.

    High_int = nome dellinterfaccia con livello di sicurezzasuperiore

    Low_int = nome dellinterfaccia con livello di sicurezzainferiore

    Low_int_ip = indirizzo ip visto dallesterno della subnet odel server dove si deve aprire la connessione High_int_ip = indirizzo ip interno della subnet o del

    server

    Conduit permit|deny prot low_int_ip netmaskoperator port ip_client netmask Abilita i clients o il client appartenenti allinterfaccia con

    livello di sicurezza inferiore ad iniziare connessioni verso

    linterfaccia di livello superiore. Questo comando v

    sempre utilizzato in associazione a un comando static Prot= numero di protocollo ip o alias (per esempio tcp) Low_int_ip = indirizzo ip visto dallesterno della subnet o

    del server dove si deve aprire la connessione Operator = operatore logico (per esempio eq = equal

    oppure gt = great then)

    Port= numero di porta Ip_client= indirizzo ip del client o della subnet alle quali

    permessa la connessione

    Qualche esempio di configurazione

    Figura a

    150.45.12.1

  • 8/6/2019 Reti e dintorni 2

    4/14

    4

    TECNONET S.p.A.

    Abbiamo una rete che non fornisce servizi web o altroallesterno e utilizza indirizzi riconosciuti globalmente.

    Nessun client presente sulloutside o su internet puaprire connessioni verso linside. Dunque non vieneutilizzato il nat. Tutti i pc appartenenti alla subnet

    150.45.12.0/24 hanno come default gateway lindirizzo

    ip dellinterfaccia inside del pix 150.45.12.1Configurazione Pix

    nameif ethernet0 outside security0

    nameif ethernet1 inside security100

    Definizione del livello di

    sicurezza che in questo caso

    non sono modificabili per

    l'nterfacce inside e outside

    ip address outside 209.165.201.3

    255.255.255.0

    ip address inside 150.45.12.1

    255.255.255.0

    Definizione degli indirizzi

    ip dellinterfacce outside e

    inside

    nat (inside) 0 150.45.12.0

    255.255.255.0

    Abilita tutti gli hosts della

    subnet 150.45.12.0/24 ad

    iniziare connessioni verso

    lesterno senza Nat

    route outside 0.0.0.0 0.0.0.0

    209.165.201.1

    Tutti i pacchetti non diretti alla

    subnet 209.165.201.0/24 sono

    indirizzati al router209.165.201.1

    Figura b

    In questa rete abbiamo che soltanto gli hostsappartenenti alla subnet 10.1.2.0/24 sono abilitati adutilizzare internet. Questi clients usciranno su internet

    utilizzando il range di indirizzi 209.165.201.10 209.165.201.19 per il Nat dinamico e lindirizzo209.165.201.20 per il Pat. Inoltre dallesterno tutti

    possono connettersi al webserver 10.1.1.10 cheallesterno viene visto con lindirizzo 209.165.201.5.

    Configurazione Pixnameif ethernet0 outside security0

    nameif ethernet1 inside security100

    Definizione del livello di

    sicurezza che in questo caso

    non sono modificabili per

    l'nterfacce inside e outside

    ip address outside 209.165.201.3

    255.255.255.0

    ip address inside 10.1.1.1

    255.255.255.0

    Definizione dellindirizzi ip

    dellinterfacce outside e

    inside

    nat (inside) 1 10.1.2.0 255.255.255.0

    global (outside) 1 209.165.201.10-

    209.165.201.19

    global (outside) 1 209.165.201.20

    Abilitazione del NAT per i

    clients della subnet

    10.1.2.0/24. Si utilizza il

    209.165.201.20 per il PAT

    static (inside,outside) 209.165.201.5

    10.1.1.10 netmask255.255.255.255

    Viene definito in modo

    statico lindirizzo ip esternodel webserver

    conduit permit tcp 209.165.201.5 eq

    80 any

    Viene permesso a chiunque

    di collegarsi dallesterno al

    webserver

    route outside 0.0.0.0 0.0.0.0

    209.165.201.1

    Tutti i pacchetti non diretti

    alla subnet

    209.165.201.0/24 sono

    indirizzati al router

    209.165.201.1

    route inside 10.1.2.0 255.255.255.0

    10.1.1.3

    I pacchetti di ritorno verso

    la subnet 10.1.2.0/24 sono

    indirizzati al router 10.1.1.3

    R.Gaeta

    Bibliografia: Configuration Guide for the PIXFirewall manuale Cisco

    10.1.1.1

  • 8/6/2019 Reti e dintorni 2

    5/14

    5

    TECNONET S.p.A.

    DHCP

    Definito dalla RFC 1541, 1534 e 1533. Il DHCP basato sul protocollo BOOTP. Dato che il DHCP definito da una serie di RFC vi sono varie

    implementazioni e opzioni. DHCP utilizza UDP.

    Modello di riferimento del DHCP

    1) Modello client/server2) Server depositario degli indirizzi IP disponibili3) Eventuale presenza di un agent relay che non n

    un client n un server ( un router!)

    Configurazione del Server

    La configurazione del server DHCP segue tre passi:a) Creazione dello Scopo

    b) Assegnamento agli scopi dei valori diconfigurazione

    c) Attivazione degli scopiTerminologia

    DHCP Lease: I server DHCP specificano, per ciascunoscopo, per quanto tempo un client pu utilizzare unindirizzo IP

    Scopo di DHCP: I parametri di configurazione tra cuilindirizzo IP sono assegnati in base a raggruppamenti

    logici di utenti. Ogni sottorete di una rete IP ha propri parametri definiti entro un unico scopo. Ciascunasottorete pu prevedere un solo scopo.

    Intervallo di esclusione: Devono essere esclusi tutti iclent NON-DHCP, i server DHCP, tutti i router e in

    alcuni casi apparati tipo i terminal server (hanno un

    proprio meccanismo di assegnazione)

    Creazione dello scopo

    Lamministratore deve definire un indirizzo IP di partenza, un indirizzo di fine una netmask e tutti gliindirizzi che dovranno essere esclusi. Inoltre si

    definisce il lease time.

    Assegnamento agli scopi

    Dopo aver creato uno scopo lo si potr gi usare ma

    esso fornirebbe soltanto lindirizzo IP e la netmask (e illease time!). Ma il DHCP pu fornire una quantit

    molto elevata di parametri di configurazione (peresempio il tipo di nodo NetBios).

    Configurazione Client

    I clients DHCP non richiedono configurazione iniziale per operare in questo processo. In fase di

    inizializzazione richiederanno servizi da qualsiasiserver DHCP in rete

    Configurazione dellagent relay

    Comporta la creazione di redirezionatori di diffusioneUDP. In questo caso la PDU Broadcast UDP vienetrasformata in Unicast. Nulla vieta a questo punto che

    il server DHCP si trovi in una qualsiasi Subnet presentesulla rete. Si deve fare riferimento al manualedellapparato.

    Scenario DHCP (FLAT NETWORK)

    CLIENT SERVER

    MAC = MAC1

    IP = ???????

    MAC = MAC2

    IP = IP2

    DHCP

    SERVER

    DHCP

    CLIENTFLAT

    NETWORK

    DHCP

    SERVER

    DHCPCLIENT

    AGENT

    RELAY

    DHCP

    ROUTED

    NETWORK

  • 8/6/2019 Reti e dintorni 2

    6/14

    6

    TECNONET S.p.A.

    Spedisce PDU:

    DHCP

    DISCOVERY

    Source DestinationMAC: MAC1 MAC: Broadcast

    IP: 0.0.0.0 IP: Broadcast IP

    Port: 68 Port: 67

    Destination Source

    MAC: Broadcast2 MAC: MAC2

    IP: Broadcast IP: IP2Port: 68 Port: 67

    Dati: IP da

    fornire al client,

    lease time, ecc.

    Spedisce PDU:

    DHCP OFFER

    Spedisce PDU:

    DHCP REQUEST Source DestinationMAC: MAC1 MAC: Broadcast

    IP: 0.0.0.0 IP: Broadcast IP

    Port: 68 Port: 67

    Dati: Server IP

    Address

    Destination Source

    MAC: Broadcast MAC: MAC2

    IP: Broadcast IP IP: IP2

    Port: 68 Port: 67Dati: tutti i parametri

    Spedisce PDU:

    DHCP ACK

    Scenario DHCP (Routed Network)

    CLIENT AGENT RELAY SERVERMAC: MAC3

    IP: IP3MAC: MAC4IP: IP4

    MAC: MAC1IP: ???????

    Help address: IP2

    MAC: MAC2IP: IP2

    Default Gateway:IP4

    PDU: DHCP DISCOVERY

    Source DestinationMAC: MAC1 MAC: Bcast

    IP: 0.0.0.0 IP: BcastPort: 68 Port: 67

    Source DestinationMAC: MAC4 MAC: MAC2

    IP: IP3 IP: IP2Port: 68 Port: 67

    Destination SourceMAC: MAC1 MAC:MAC3

    IP: IP1 IP: IP2

    Port: 68 Port: 67Dati: offerta

    IP1

    PDU: DHCP OFFER

    Destination SourceMAC: MAC4 MAC: MAC2IP: IP3 IP: IP2

    Port: 67 Port: 67Dati: offerta IP1

    PDU: DHCP REQUEST

    Source Destination

    MAC: MAC1 MAC: BcastIP: 0.0.0.0 IP: Bcast

    Port: 68 Port: 67Dati: Server Address

    Source Destination

    MAC: MAC4 MAC: MAC2IP: IP3 IP: IP2

    Port: 68 Port: 67Dati: Server Address

    Destination Source

    MAC: MAC1 MAC:MAC3IP: IP1 IP: IP2

    Port: 68 Port: 67Dati: tutti i

    parametri

    PDU: DHCP ACK

    Destination Source

    MAC: MAC4 MAC: MAC2IP: IP3 IP: IP2

    Port: 67 Port: 67Dati: tutti i parametri

    Configurazione Agent Relay DHCP suapparati CISCO

    Agent Relay DHCP supportato quasi da tutti i routercisco e dallo switch/router 8500 e in pi dai Catalyst5000 con il modulo RSM e dai Catalyst 6000 con la

    MLSFC.Si usi il comando dinterfaccia utilizzato :

    2 Oppure Unicast. Dipende da un flag presente su lla PDU DHCP DISCOVERY

    ip helper-addressserver_dhcp_ip

    insieme al comando di configurazione globale:

    ip forward-protocol udpport

    Questa coppia di comandi trasforma le PDU BroadcastUDP, con porta di destinazione port, in Unicast verso

    lindirizzo specificatoserver_dhcp_ip.V abilitato sullinterfaccia dove non presente ilserver DHCP.

    Esempio: Supponiamo di avere un router dovesullinterfaccia FastEthernet0/1 presente il server

    DHCP con indirizzo IP: 10.1.1.1/24. SullinterfacciaFastEthernet0/0 abbiamo dei client DHCP e nessunserver DHCP. La configurazione allora :!

    ip forward-protocol udp 67

    !

    interface FastEthernet0/0ip address 10.2.2.1 255.255.255.0

    ip helper-address 10.1.1.1

    no shutdown

    !

    interface FastEthernet0/1

    ip address 10.1.1.2 255.255.255.0

    no shutdown

    Configurazione Agent Relay su Smart Switch

    Router Enterasys (SSR2000; SSR8000;SSR8600)

    Il comando da utilizzare :

    ip helper-address interface interface_nameserver_dhcp_ip 67

    Con questo comando soltanto i pacchetti UDPBroadcast del DHCP (porta 67) saranno trasformati inUnicast verso ilserver_dhcp_ip.

    Se non si specifica la porta, di default sarannoreindirizzati i seguenti servizi:

    DHCP/BOOTP DNS (porta 53) NetBIOS Name Server (porta 137) NetBIOS (porta 138) TACACS Server (porta 49) Time Service (porta 37)Si pu scegliere un qualsiasi valore per la porta di

    destinazione, e questo permette il reindirizzamento dipacchetti UDP broadcast proprietari.Esiste anche il comando:

    ip helper-address interface interface_name all-interfaces udp_port

    Questo comando non trasforma i pacchetti UDP broadcast in unicast ma li ritrasmette su tutte le

    interfacce tranne linterfaccia di provenienza(flooding).R. Gaeta

  • 8/6/2019 Reti e dintorni 2

    7/14

  • 8/6/2019 Reti e dintorni 2

    8/14

    8

    TECNONET S.p.A.

    Architettura dei Routers

    La trasformazione di Internet in una infrastrutturacommerciale non solo ha determinato una crescente

    domanda di BANDA ma ha anche cambiatosignificativamente le aspettative degli utenti.Se in passato lo scopo principale dei Router era quello

    di garantire la comunicazione tra reti anche diverse tradi loro, oggi diventa fondamentale soddisfare dueesigenze in contrapposizione tra loro:

    1) Gli utenti si aspettano di ricevere dagli InternetService Provider (ISP) servizi sempre pi

    affidabili, sicuri e veloci e soprattutto tariffe chesiano proporzionali alla qualit del servizioricevuto.

    2) Gli ISP vogliono massimizzare lutilizzo deicostosi Link, multiplexando le informazioni che ivari utenti inviano sulla rete.

    Il problema fondamentale riuscire a classificare i pacchetti che viaggiano sul Link alla stessa velocit

    con cui si esegue il Look-up nelle tabelle diinstradamento. La criticit diventa evidente se si pensache tra i servizi che si vogliono offrire ai clienti, vi

    sono quelli real-time tipo video e audio.

    Evoluzione

    I dispositivi che realizzano linstradamento a livello 3appartengono a 2 categorie: Router (Router + Layer3switch + Gigabit Router) e Multi-Layer Switch. Questi

    ultimi sono dispositivi che sfruttando le conoscenzeacquisite nella realizzazione delle reti IP/ATM, sipropongono di ridurre i tempi di latenza del pacchetto

    allinterno dello switch, attraverso due strategie:

    Flow Based: riconoscendo i pacchetti cheappartengono ad uno stesso flusso possibile farelinstradamento di livello 3 solo sul primopacchetto di ogni flusso, permettendo ai successivi

    di seguire un percorso agevolato (allinterno delloswitch) .

    Packet By Packet: comporta lanalisi di ogni pacchetto al fine di determinare se per esso giesiste un percorso agevolato in funzionedellindirizzo del destinatario.

    Anche se i passaggi dai Router ai Layer3 Switch e daquesti ai Gigabit Router non si possono consideraredelle rivoluzioni, hanno comunque comportato una

    evoluzione sia dal punto di vista architetturale che daun punto di vista funzionale.Per quanto riguarda le architetture ne esistono di due

    livelli: Data Plane, che essenzialmente si occupa delprocesso di forwarding e Control Plane che si occupainvece del processo di routing.

    In generale si assistito ad una migrazione dellecompetenze del Data Plane, che da implementazionisoftware sono passate a realizzazioni interamente

    hardware.Motivi di Marketing hanno spinto i costruttori adistinguere questi tre prodotti, ma nella trattazione con

    il termine Router si intenderanno tutti questi, nondistinguendo di fatto i tre tipi di dispositivi.

    Cache

    Molti router realizzano un instradamento di tipo FlowBased. Questo consiste nel memorizzare in una cachele route relative alle destinazioni usate pi di recente inmodo che i pacchetti appartenenti ad un flusso presentein tale memoria possano seguire un percorso agevolato: Fast Path. Se i pacchetti non ricavano la route dalla

    cache allora devono essere analizzati e passanoattraverso lo Slow Path. Spesso viene messo indiscussione il futuro di questo meccanismo, infatti al

    crescere del numero di nodi diminuisce lhit-rate. Perlimitare questo problema si utilizzano delle funzioni dihash per comprimere il valore da memorizzare nella

    route: si passa da 32 a 8-10 bit. Le funzioni di hash

    presentano per due problemi:

    1) Sono traffic-dependend

  • 8/6/2019 Reti e dintorni 2

    9/14

    9

    TECNONET S.p.A.

    2) Espongono il router ad attacchi da parte di hacker,che possono scoprire il tipo di traffico che fa

    generare pi collisioni alle funzioni di hash, eutilizzarle per intasare il fast path

    Unaltro problema di questa soluzione pu determinare

    la violazione dei doveri contrattuali del provider neiconfronti dei suoi utenti. Vediamo un esempio:

    Supponiamo che per i pacchetti rossi, il provider

    garantisca un servizio Real-Time. Come si vede anchese i buffer di uscita per i pacchetti rossi sonodisponibili questi vengono bloccati in ingresso a causadei pacchetti gialli che invece hanno i relativi buffer diuscita bloccati. Purtroppo non c modo di risolverequesto problema in quanto patologico di questo

    meccanismo.

    Architetture

    Single Processor Shared Bus

    Processo di Forwarding:

    1) Linterfaccia di ingresso passa il pacchetto allaCPU .

    2) La CPU invia il pacchetto allinterfaccia di uscita.I Router sono basati su un'unica CPU general purpose eSistemi Operativi(SO) Real Time. La scelta di questiultimi diventa fondamentale per ottenere prestazionisufficienti, infatti le risorse messe a disposizione daquesta architettura sono limitate ed un loro

    sfruttamento ottimale diventa necessario.La memoria una Ram di tipo statico che devecontenere la tabella di Instradamento.

    Il Bus condiviso dalle varie interfacce e dalla CPU ecostituisce un collo di bottiglia dellarchitettura.IP non si ancora affermato come il principale

    protocollo di livello 3, quindi di primaria importanzafar in modo che le varie architetture siano in grado dicomunicare tra loro. Le prestazioni in questi primi

    progetti non rivestono ancora vitale importanza ineffetti con velocit aggregate di 500 Kpps costituiscono

    dei colli di bottiglia per linternetworking.

    Multiple Processor Shared Bus

    Processo di Forwarding:

    1) Linterfaccia passa il pacchetto alla CPU che inquel momento libera.

    2) La CPU invia il pacchetto allinterfaccia di uscita.Il sistema diventa multiprocessor, quindi richiesto unArbitro per gestire la contesa del Bus. Questo bloccodeve anche segnalare alle Interface Card quale CPU libera, in modo che i pacchetti siano inviati al

    processore che in grado di gestirli. Il Bus rappresentaancora un collo di bottiglia. Unaltra possibilit prevede di mantenere una sola CPU, ma di utilizzare

    delle Interface Card pi intelligenti, dotate di un processore e di una cache, che contiene parte dellatabella di Instradamento.

    Il grande vantaggio legato al fatto che grazie al fattoche il Look-up pu essere fatto direttamente

    dallinterfaccia, il messaggio attraversa il Bus una voltasola, almeno nel caso migliore.

    Le entry della cache possono determinare il percorsosulla base delle connessioni oppure dellindirizzo deldestinatario, nel senso che le routes usate pirecentemente sono copiate nella cache dellinterfaccia,

    che quindi in grado di realizzare linstradamento

    senza coinvolgere la CPU. Si parla in questo caso diFast Path, che si contrappone alla situazione in cui il

    processo di forwarding debba accedere alla tabella dirouting, perch la route desiderata non presente nellacache. Si parla allora di Slow Path. Linstradamentosulla base della connessione pi complesso perchrichiede il riconoscimento dei flussi di dati in tempi

    ristretti. Oltretutto la gestione della coerenza dellacache con la memoria principale, dove contenuta latabella di routing, richiede un ulteriore logica.I limiti di questa architettura sono il Bus che ancora

    condiviso, e il fatto di dipendere dal tipo di traffico.

    Multiple Processor Space Switching

    Processo di Forwarding:

  • 8/6/2019 Reti e dintorni 2

    10/14

  • 8/6/2019 Reti e dintorni 2

    11/14

    11

    TECNONET S.p.A.

    Table Look Up

    Probabilmente la pi importante operazione di un

    Router consiste nel Look-Up nella Routing Table: quella che richiede pi tempo e pi utilizzo del processore ed determinante per le prestazioni di

    questo elemento. Le caratteristiche richieste da unalgoritmo di routing sono:

    1) Prestazioni elevate al fine di permetterethroughtput dellordine di 10 Mpps

    2) Flessibilit per gestire : traffico di tipo Unicast eMulticast ,flussi a Banda Garantita, IPv6

    3) Costi contenuti : lobiettivo di arrivare ai costidegli apparati di internetworking di livello 2

    Attualmente nessuno degli algoritmi in grado disoddisfare pienamente le richieste dei Gigabit Router.

    Vediamo comunque le soluzioni pi interessanti.

    Patricia Tree

    E lalgoritmo pi utilizzato nei router di tipo Slow

    Path ed implementa il Longest Prefix Match. Associaad ogni prefisso una porta di uscita ed un Next HopMAC Address. La Forwarding Table memorizzata in

    un Albero binario. La root dellalbero associata al bitpi significativo, le foglie determinano la route relativao allindirizzo completo, nel caso si tratti di un Host

    direttamente connesso al router, oppure quella pispecifica per quella destinazione. Lalgoritmo prevede i

    seguenti passi:

    1) Si analizza la root e si decide se analizzare ilsottoalbero di destra o di sinistra

    2) Si analizzano i successivi nodi. I nodi appartenentiad un livello sono associati a bit sempre meno

    significativi man mano che si scende lalbero.3) Lalgoritmo esegue sempre le stesse operazioni per

    ogni nodo dellalbero. Eventualmente vengonoraggiunte le foglie che determinano la route pi

    specifica per quella destinazion4) Se questa fase non determina la route , lalgoritmo

    riesamina lalbero , confrontando lintero indirizzo

    con i prefissi contenuti in tutti i nodi5) Nel caso peggiore si analizzeranno tutti i rami e si

    determiner la route di default perch non esisteuna entry per quel pacchetto

    E stato pensato per applicazioni software con processori general purpose perch sarebbe complessoda realizzare in hardware . E anche utilizzato percostruire le Forwarding Table attraverso i protocolli di

    routing.

    Host Route Hashing

    A differenza del precedente si basa sul match esattodelle informazioni di instradamento. Si suppone che inun certo momento ci siano poche centinaia di pacchettiche richiedono il look-up. Un processo software che

    gira in background aggiorna la tabella di routing peressere coerente con la situazione corrente. Questa

    tabella contenuta anche grazie al fatto che, nonostantela dimensione dellindirizzo sia di 32 bit una funzionedi hash comprime linformazione necessaria ad

    eseguire il look up a 8-10 bit. Ogni indirizzo

    corrisponde ad un solo valore della funzione di hash,ed ogni valore della funzione associato a pi

    indirizzi. Passi dellalgoritmo:

    1) Calcolo della funzione di hash relativaallindirizzo IP di destinazione

    2) Confronto in parallelo con tutte le entries dellahash table

    Vista la semplicit dellalgoritmo la limitatadimensione della tabella si presta ad una

    implementazione hardware. Esistono per deglisvantaggi notevoli. Il primo legato al fatto che non si

    sfrutta la struttura gerarchica dellindirizzo IP, infatti lefunzioni di hash vengono calcolate sullinteroindirizzo, il secondo un problema patologico diquesto tipo di funzioni che pu generare lo stesso

    valore per diversi indirizzi. Questo comporta undiverso ritardo per i pacchetti, la cui funzione generauna collisione. Situazione peraltro pi probabile al

    crescere delle dimensioni della rete.

    Patricia tree + Hashing Route

    Per reti semplici la soluzione migliore unacombinazione delle due soluzioni sopra esposte. La

    prima utilizzata nelFast Path che si basa su tabellecon circa 10.000 prefissi mentre la seconda utilizzatanello Slow Path che associato a tabelle che necontengono circa 50.000. Questa soluzione non

    scalabile soprattutto a causa dei problemi legati allacache: la localit dei pacchetti un concetto che vienemeno al crescere del numero di nodi da gestire. Inoltre

    limiti intrinseci dei due algoritmi possono condizionarele prestazioni del sistema, infatti se il Best-Case puoffrire throughput elevati, nel Worst-Case la situazione

    inaccettabile arrivando ad assorbire quasi interamenteil processore che deve determinare la route. Per quantoriguarda i vari tipi di traffico, il comportamento diquesti router non omogeneo e se ne possono valutarele prestazioni solo su basi statistiche: non vi garanziache un pacchetto non sia costretto ad attraversare lo

    slow path, indipendentemente dal tipo di pacchetto.Risulta quindi che non sono indicati per servizi del tipoa banda garantita.

    ASIK

    Se consideriamo i Gigabit Router, nel caso peggiore(pacchetti da 64 byte), dobbiamo essere in grado di

    gestire fino a 1,5 Mpps, cio abbiano 672 nanosecondi

    per ricevere il pacchetto determinare una route erispedirlo sulla rete. Queste velocit di fatto scartano lapossibilit di usare algoritmi implementati in softwaree di conseguenza i due precedentemente analizzati.

  • 8/6/2019 Reti e dintorni 2

    12/14

    12

    TECNONET S.p.A.

    Esiste un algoritmo realizzato da Ahuja-Shah-Illingworth-Kanakiapresso la Torrent Networking che

    si presta ad implementazione hardware, ma del qualenon sono stati resi noti i dettagli. Sono comunquedisponibili le caratteristiche:

    Tabelle di routing di dimensione variabile,algoritmo Longest Prefix Match per minimizzare ilnumero di accessi. Nel router IP9000 laForwarding Table contiene oltre 200.000 prefissi.La gestione dei pacchetti wire speed anche conLink dellordine del Gb/s.

    Lalgoritmo si presta ad un implementazionehardware compatta ed economica riducendo cos i

    costi di produzione. Il numero di accessi inmemoria dipende dalla dimensione della Tabella dirouting, ma le elevate prestazioni che lalgoritmo

    permette consentono di utilizzare memorie pilente, capienti ed economiche

    Come il Patricia Tree richiede una quantit dimemoria che dipende dal numero di subnetspiuttosto che dal numero di hosts

    E deterministico e ha un wost-case di 16 accessiin memoria per determinare la migliore route.Questo permette di eseguire il Look-up quando il pacchetto non stato ancora ricevuto

    completamente

    E abbastanza flessibile da permettere ricerche basate su pi campi dellheader IP, piuttosto chesul semplice Destination Prefix. Questacaratteristica utilissima se si voglionoimplementare protocolli quali RSVP

    Estrema facilit e velocita per laggiunta oleliminazione di routers

    Packet Filtering e classificazione

    Una delle specifiche pi importanti che il ForwardingEngine deve soddisfare e quella di identificare il flussocui appartiene un pacchetto e comportarsi di

    conseguenza. Questa caratteristica che dapprima erautilizzata per implementare meccanismi di sicurezzacome per es. i FireWall, viene ora anche utilizzata per

    fornire servizi differenziati ai vari flussi di datagrams.

    Il Packet Filtering in questo caso necessit ancheinformazioni presenti nel header di TCP/UDP e segue

    delle regole stabilite o dallamministratore della rete oda protocolli di routing quali RSVP. Il problema dellaclassificazione dei pachetti pu essere visto come

    segue: dato uno spazio n-dimensionale e un punto alsuo interno determinare loggetto che lo contiene dovegli assi del sistema di riferimento rappresentano le

    regole ( per es. potrebbero essere IPsrc, IPdest, Type,PORTsrc e PORTdest presenti negli headers ) il punto il pacchetto e loggetto il flusso in cui deve essere

    inserito il pacchetto. Due importanti caratteristiche chele regole devono avere sono:

    1) Devovo applicarsi ad un insieme di indirizzi,numeri di porta o protocolli e non esattamente aduno solo di essi. Questo permette di gestire

    aggregazioni di pacchetti con un numero contenutodi regole. Se lalgoritmo si basa sul match esatto

    allora le regole devono essere preprocessate peressere convertite da regole generali a regolespecifiche per un solo datagram. In pratica questo

    non fattibile perch il numero delle regole

    crescerebbe esponenzialmente.2) Devono esistere delle priorit per le regole, in

    modo da risolvere eventuale conflitti che possononascere nel caso un flusso soddisfi pi condizioni.

    Non molto interessante il limite asintoticodellalgoritmo, quanto la possibilit di dividere il problema principale in sottoproblemi che possano

    essere risolti in parallelo. Una implementazioneinteressante quella utilizzata in un prototipo BellLabs che usa un dispositivo FPGA (Field-

    Programmable Gate Array) e una SRAM sincrona pergestire fino a 512 regole e processare 1 Mpps nel

    worst-case.

    Gestione delle risorse

    Le risorse critiche che un router deve gestire sono la

    banda, che deve essere divisa tra i vari link, e i buffers.Uno scheduler che alloca dinamicamente la banda,concede ai flussi di datagrams laccesso al link. Se un

    determinato flusso non contiene pacchetti, vienecomunque schedulato e questo fa perdere del tempoinutilmente. Per i flussi adattativi, cio quelli che si

    adattano alla situazione della rete, particolarmenteimportante sfruttare la banda fornita dallo scheduler.

    Sono cos necessari dei buffer, che assicurinolesistenza di dati da far transitare sul link, una voltaottenutone laccesso. Il livello di condivisione dei link,viene settato per classi dal manager della rete oppure

    attraverso protocolli di segnalazione quali RSVP. I pacchetti che arrivano al router sono raggruppati perclassi, lo scheduler selezioner una di queste classi, e il

    pacchetto sar trasmesso secondo una strategia FIFO.

    Lo scheduler condizionato dal fatto che il flusso puessere adattativo o non adattativo. Nel primo caso il

    flusso incrementa la sua portata finch colma la bandamessa a disposizione dal router, nel secondo caso la portata stabilit in funzione dellapplicazione.

    Solitamente flussi diversi relativi alla stessa

  • 8/6/2019 Reti e dintorni 2

    13/14

    13

    TECNONET S.p.A.

    applicazione sono aggregati. Lo stato dellarte per quelche riguarda gli algoritmi di allocazione della banda

    costituito dallHierarchical Link Sharingmentre per lagestione dei buffer si pensa ad un accodamento di tipoPer-Flow Queueing.

    Hierarchical Link Sharing

    Si basa su uno schema che permette laggregazionedelle risorse a diversi livelli. La banda viene suddivisain una gerarchia di classi, che sono formate da uninsieme di flussi che hanno determinate propriet in

    comune. Possono essere il tipo di protocollo utilizzato,un insieme di sottoreti attraversato, etc.. La classe pispecifica riguarda i pacchetti che appartengono ad una

    determinata applicazione. Ogni nodo della gerarchia pu dividersi equamente la banda con gli altri nodidello stesso livello oppure seguire una determinata

    strategia di allocazione. Di seguito riportato un

    esempio.

    I cerchi arancione rappresentano i nodi schedulati con

    schema Start-Potencial-based worst-case Fair-

    Queueing (SPFQ) mentre quelli verdi con ShapedVirtual Clock (SVC). Il primo distribuisce la banda

    equamente tra le classi che la richiedono mentre ilsecondo garantisce una schedulazione periodica diquella classe. E quindi particolarmente adatto per

    flussi che richiedono una banda garantita. Nel nostro esempio abbiamo tre nodi, con trafficodistributo come segue:

    Nodo A : Costant Bit Rate (CBR) e Best Effort(BE). La banda assegnata secondo un algoritmoSVC, per il traffico CBR, e SPQF per quello BE.

    Questo meccanismo permette al BE di sfruttaretutta la banda in eccesso assegnata alla classeCBR.

    Nodo B : traffico Voice e BE. Tutta la banda assegnata al traffico di tipo Voice, cosicch il BE

    sar schedulato solo se non c traffico del primo

    tipo. Nodo C : traffico BE con diverse priorit.Vengono assegnati diversi pesi alle varie classi che

    in questo modo si dividono il traffico per ordine di

    priorit. Per esempio se non esiste traffico di tipoBE1 sar BE2 a sfruttarlo.

    Il vantaggio di questo schema che possiamo usare lestesse strutture dato e lo stesso algoritmo, che

    implementa sia SVC sia SPQF, per gestire classi che

    richiedono servizi differenti.

    Per-Flow Queueing

    Laccodamento per connessioni consideratoimpraticabile, visto gli elevati costi che si dovrebbero

    sostenere per implementare un architettura in grado dimemorizzare informazioni sulle centinaia di migliaia diconnessioni che possono attraversare le dorsali di rete.

    Cos quello che si fa cercare di limitare il numero diinformazioni necessarie sulla base delle seguenticonsiderazioni:

    Conservare delle informazioni sullo stato di tuttele connessioni pu non essere necessario al fino digarantire unFair Queueing

    E necessario conoscere il peso dei vari flussi, chespesso specificato per una classe di flussi

    piuttosto che per i flussi singoli

    Sono necessarie delle informazioni circa il servizioda offrire alle varie classi.

    Il raggruppamento in classi fatto durante la fase diPacket Filtering i flussi vengono aggregati secondodeterminate regole, per es. probabile che flussi TCPsaranno raccolti in una classe FTPlike ed in una

    TELNETlike. Si capisce quindi che il numero diinformazioni decresce fortemente con ilraggruppamento in classi.

    MultiGigabit Router

    E un dispositivo in grado di instradare fino a 10 Mpps

    con Bandwidth di 50 Gb/s, ottimizzato per traffico ditipo IP. Paragonato alle architetture esposte precedentemente possiamo dire che uno SharedParallel Processor Space Switchingcon processori ditipo general purpose per gestire le Interface Card. Ilprogetto si basa sulle seguenti scelte architetturali:

    1) Ogni Forwarding Engine ha una propriaForwarding Table. Questo approccio diverso daquello tradizionale che prevedeva una copia

  • 8/6/2019 Reti e dintorni 2

    14/14

    14

    TECNONET S.p.A.

    centralizzata della tabella pi delle cachedistribuite sui vari processori.

    2) Siccome i Forwarding Engine necessitano solo diun riassunto della tabella principale, le loro copiesono molto pi contenute: 100KB bastano per

    contenere le informazioni necessarie per 50.000

    routes.3) I Forwarding Engine non risiedono a bordo delle

    Line Card. Questa soluzione in controtendenzarispetto ai router tradizionali ed motivata dalleseguenti considerazioni:

    4) Difficolt nellinserire sia questi processori che lalogica per la gestione delle Line Card in supportidalle dimensioni ridotte

    5) Meglio ingombranti Forwarding Engine, ma con buone prestazioni, piuttosto che dispositivicontenuti ma dalle limitate prestazioni

    6) Flessibilit per la gestione delle VPN: dedicandoun Forwarding Engine ad ogni Line Card

    possibile che tutte le interfacce che appartengonoalla stessa rete virtuale comunichino senzaattraversare e quindi affollare il CrossBar Switch

    7) Il Forwarding Engine non essendo vincolato anessuna Line Card, (sulla quale tutte le interfacce presenti devono usare lo stesso protocollo dilivello 2) pu gestire pacchetti di tipo diverso .

    Questo permesso dal fatto che le Line Cardtrasformano il pacchetto ricevuto in un formatospecifico, in un formato astratto che uguale per

    tutti i datagrams8) QoS processor a bordo delle Line Card

    Conclusioni

    Dopo un periodo di valutazione delle varie architetture,le industrie che producono apparati di networking

    hanno riconosciuto che lintelligenza dei router unarichiesta fondamentale per la costruzione di grandi reti.I venditori hanno incominciato ad interessarsi del

    problema del routing veloce sono comparse sulmercato una serie di alternative. Le elevate prestazionidi un router non dipendono solo dalla velocit con cui

    instrada i pacchetti, ma anche dallefficienza nelclassificarli e nel determinare la miglior route.

    R. GaetaBibliografia:Evoluzione dei routers Tesi di A. Seato