Reti e dintorni 5

  • Upload
    rgaeta

  • View
    236

  • Download
    0

Embed Size (px)

Citation preview

Settembre 2001N 5 2 TECNONET S.p.A. LAN VIRTUALI ConiltermineVLANsiidentificanovarietecnologie diverse.Lunicadefinizionecomune,fraquestevarie tecnologie, che una VLAN corrisponde a un dominio logico di broadcast a livello 2.I singoli produttori, quando descrivono le propriet dei loroswitch,usanoconmoltalibertiltermineVLAN ma,poichletecnologiedeiproduttorisonomolto diverse,cisichiedeperchessiutilizzinolostesso termineperdescrivereiloroservizi.Il motivocheil termineinsestessoesercitaunforterichiamosugli operatori di rete, poich promette migliori prestazioni e semplicitduso,equindiiproduttorilousanoper trarreilmassimoprofittodalsuovaloredi marketing. Ragioni per luso di VLAN 1)Per ragioni di sicurezza a)Sivoglionomantenerecompletamenteseparatelereti tramite limpiego delle VLAN i)Inpassatoquestoproblemasirisolvevarealizzandoretifisiche separate 2)Perrisolvereconflittidicompetenzetraenti diversi di una grande organizzazione 3)Per limitare il traffico di Broadcast/Multicast a)LeVLANsonodominidiBroadcastchedevonoessere interconnesse tramite un router Appartenenza alla VLAN Lappartenenza di una frame ad una VLAN pu essere: 1)Statica a)Per porta (unica tipologia di VLAN standard !) i)In questa modalit qualsiasi frame che entra nella porta X, alla quale associatalaVLANY,diventerunaframeappartenenteallaVLAN Y. 2)Dinamica (tipologie VLAN proprietarie !!!) a)Per indirizzo MAC b)Per protocollo c)Per indirizzo di livello 3 d)Per indirizzo Multicast e)policy based (per applicazione, per utente, ecc.) NelcasodiVLANdinamicheunastazionepu appartenere a pi VLAN contemporaneamente.NelcasodiVLANperportaunastazionepu appartenere soltanto a una VLAN. Le VLAN possono coprire: -un singolo switch -lintera Lan estesa Nel caso di Lan estesa le diverse VLAN configurate su unoswitchdevonopoteroperareconlostessotipodi VLANconfiguratesuunaltroswitch.Esistonodue possibilit: -collegamento porta-porta fra i due switch per ogni singolaVLAN(utilizzabileperdueotreVLAN, impraticabileperunnumerosuperioredi VLAN!!!) -collegamentosingoloporta-portafraidueswitch pertutteleVLAN.Devedunqueesistereuna tecnicadiidentificazionedellappartenenzaalle VLAN delle singole frame che attraversano questo collegamento denominato comunemente trunk. Tecniche di identificazione (frame tagging) 1)Implicit tagging (etichettatura di frame implicita) a)Unetichettadiframeimplicitacorrispondeauncampo esistente nella frame originale 2)Explicit tagging (etichettatura di frame esplicita) a)Un etichetta di frame esplicita consiste di uno o pi campi addizionali aggiunti alla frame b)Ci sono due possibilit, in funzione della posizione del tag nella frame: i)One level tagging (detto anche internal tagging) ii)Two level tagging (detto anche external tagging) iii)Entrambi possono essere realizzati in ASIC One level tagging: Il frame originale viene modificato aggiungendo il tag subito dopo lindirizzo MAC Sorgente. Nessunaltrocampovienemodificatoadeccezionedel campo FCS.DatocheiMACaddressnonsonomodificati,una frame etichettata in questo modo, pu essere instradata anchedaswitchVLANUnaware(ciodovenon 3 TECNONET S.p.A. sonoconfigurateVLAN,ochenonpossonoessere configurate).Unicoeimportanteproblemache laggiuntadeltagpucrearedeiJabbers(framepi grandirispettoalmassimoprevistodallostandard.I Jabbersvengonosempreeliminatidaunaportadello switch che non sia trunk!). Two level tagging Laframenonvienemodificata,maglisi aggiungeunnuovoheadereunnuovoFCS.Ein effettiunatecnicaditunneling.InuoviMACaddress utilizzatiperlimbustamentoesternosonoquellidegli switch agli estremi del tunnel. Tecniche di filtraggio MFD/SE (Multiple Filtering Database / Single Entry) Ciascuna riga del filtering database contiene: Mac address Identificatore Vlan (VID) Numero porta Pu supportare spanning tree multipli (uno per ogni Vlan!) SFD/ME (Single Filtering Database / Multiple Entry) Ciascuna riga del filtering database contiene: Mac address Un gruppo di porte di uscita Esiste poi una seconda tabella che contiene: Gruppi di porte di uscita VID Supporta spanning tree singolo. IEEE 802.1Q Gli scopi generali dello standard 802.1Q consistono nel definireunarchitetturaperleVlanchecomprendale caratteristichebasediunsistemaVlan,nonchi protocolliecapacitfunzionalidiunoswitch802.1Q. Gliswitchcheimplementano802.1Qsono essenzialmente,deiswitchcompatibili 802.1D,conun complesso modificato di regole di ingresso e uscita, un protocollo addizionale per identificare le capacit Vlan deisistemiterminaliediunmeccanismoditrasporto Vlan basato sulla implementazione di una etichettatura Oneleveltagging.Lostandardprevede interoperabilit con gli switch unaware.802.1Q prevede solo lesistenza di Vlan per porta. Altri tipidiVlansonoammessemanonsonodefinite, quindiglisviluppisonoditipoproprietarioenon consentonointeroperabilittraapparatidicostruttori diversi.Gli switch 802.1Q gestiscono i pacchetti classificandoli inbaseallidentificatoreVlan(VID) dellaportasucui sono stati ricevuti.Le porte dello switch possono essere di due tipi: 1)Access port a)Comportamento frame in entrata: i)Loswitchconoscelaportadientrata,edunqueil VIDassociato,eilmacaddressdestinationdella framecheentrata.Laframesarindirizzatasulla portadiuscitaopportunadopoaverconsultatoil filtering database, che gli fornisce il numero di porta duscita.Finchlaframerimaneallinternodello switch non viene utilizzata nessuna etichettatura. b)Comportamento frame in uscita: i)Lo switch fa uscire la frame immodificata. 2)Trunk port a)Comportamento frame in uscita: i)LoswitchaggiungedopoilSourceAddressun campodi4Byte,checontieneiseguentidati:Un identificativodiprotocollo(TPIDoEtype).La IEEEhaspecificatoilvalore8100per802.1Q. DopoilTPIDvieneilTCI(op/Qlabel)dovesi trovanoaltritrecampi.IprimitrebitdelTCIsono allocatiperlapriorit.Cidallareteuntotaledi otto livelli di priorit, che possono essere mappati in rapportoameccanismidicodaeprioritspecifici delcostruttore. Ilbitsuccessivo usatoper indicare il formato di indirizzo del pacchetto (canonico o non canonico).I12bitfinalisonoilVID,cheindicala Vlanassociata.Con12bitsipossonoidentificare 4096 Vlan differenti. b)Comportamento frame in entrata: i)Iltagvieneeliminatoelaframevienetrasmessa sulla porta o porte appartenenti al VID ISL (Inter Switch Link) TecnicadidentificazioneTwoleveltagging proprietariaCisco.Laframeoriginariaviene incapsulataconunnuovoHeadereunnuovoFCS. Permette il supporto al massimo di 1024 Vlan. Iprimi48bitdellheaderidentificanounindirizzo multicast,compostoinmodotalecheiprimi40bit hanno sempre il valore 01-00-0C-00-00, e gli altri 8 bit sonoutilizzatiperidentificareiltipoditrama 4 TECNONET S.p.A. (Ethernet,TokenRing,FDDI,ecc.)elauserpriority (simile alla priorit definita da IEEE802.1p). Comandi per creare VLAN su apparati Switch Router della famiglia SSR della Enterasys Questiapparatipermettonodicreare3tipologiedi VLAN: -Vlan per porta -Vlan per protocollo Inoltreleportetrunkpossonoutilizzaresololo standard IEEE802.1Q. Di default tutte le porte sono sulla Vlan 1. Il comando per creare una Vlan : vlan create name type id num dove: name = nome della Vlan type=port-based;oppureuna qualsiasicombinazionefraip;ipx; appletalk;dec;sna;ipv6; bridged-protocols num=questonumero lidentificativounicodellaVlan.Il numerounvalorecompresofra2e 4094. UnavoltacreatalaVlanbisognaassociarglileporte dello switch. Il comando : vlan add ports port-list to vlan-name dove:port-list=listadelleporteda associare vlan-name = nome della vlan Percreareunaportatrunksiutilizziilseguente comando: vlan make trunk-port port-list 5 TECNONET S.p.A. INTERNET ADDRESSING Lindizzi di Arpanet e poi di Internet sono cambiati nel temposiacomedimensionedelcampoAddressesia peraltrecaratteristiche.PensatechenellaRFC1 dellaprile1969ladimensionedelcampoaddressera disoli5bits(32indirizzidisponibili)eginel settembre del 1969 questo campo f portato a 6 bits (64 indirizzi).Nel1972divennechiarocheilnumerodi indirizzisarebbestatoabreveinsufficiente.Esiport la dimensione del campo Address a 8 bits (255 indirizzi disponibili).InfattiArpanetraggiunsei64Hostsnel gennaiodel1976.AquellepocainomidegliHosts venivanorisoltinelrispettivoindirizzotramiteunfile HOSTS.TXTedivennechiarochealcresceredegli HostspresentisuArpanetlagestionediquestofile sarebbedivenutaproblematica.ConlRFC760del gennaio 1980 f introdotto il protocollo IP (versione 4) e il campo Address f portato a 32 bits (4.294.967.296 indirizzidisponibili).Per risolvereilproblemadelfile HOSTS.TXTvenneintrodottoconlRFC799del settembre1981ilprotocolloDNS(DomainName System).Nellagosto1983glihostsappartenentiaInternet raggiunse il valore di 214. PerrisolverealcuneproblematichediIPv4f introdottoconlRFC950del1985ilSubnetMasking, con lRFC 1518 del 1993 il CIDR, con lRFC 1631 del 1994 il NAT, con lRFC 1812 del 1995 il VLSM e con RFC 1918 del 1996 Intranet.Nel1994vienesviluppatoIPv6(IPversione6)che modificasostanzialmenteilprotocolloIPv4,portando ilcampoaddressa128bits(3,4x1038indirizzi disponibili). Il numero di indirizzi disponibili in IPv6 maggioredelnumerostimatodituttelemolecole presenti nelluniverso! AttualmentelatransizioneversoIPv6deveancora iniziare,equindivieneancoralargamenteutilizzato IPv4. INDIRIZZI IN IPv4 Abbiamo detto che gli indirizzi IP attualmente utilizzati hannouncampolungo32bits.QuindiunindirizzoIP potrebbe essere la sequenza: 00100111101101010100010010010101 unasequenzadibitsdelgenerenondifacile memorizzazione o di facile confronto con altri indirizzi (logicamente la difficolt soltanto umana!).Lasequenzanumericadi32bitsrappresentaun numeroscrittonelsistemabinario,edallesuperiori(e adesso dalle elementari!) sappiamo che un numero pu essererappresentatoinqualsiasisistemanumerico.I piutilizzatisonoilsistemabinario,ilsistema esadecimale e il sistema decimale.Ilsistemadecimalequelloanoiesseriumaniilpi naturale(dopotuttoabbiamo10ditae no16o2come Eta Beta!).LarappresentazionediunindirizzoIPquindifatta normalmentetramiteilsistemadecimale.Mainuna modalit particolare.Si prenda la sequenza di 32 bits lo si divida in 4 gruppi da8bitsciascunoesiconvertaindecimaleogni singologrupposeparandoilrisultatodalrisultatodel gruppo successivo tramite un punto. In parole povere: 00100111101101010100010010010101 00100111101101010100010010010101 39 18168 149 39.181.68.149 Inoltrelostandardhastabilitoinmodoarbitrariouna suddivisione in classi dellindirizzo IP. Nelle prime tre classi (A, B e C) la sequenza di 32 bits dellindirizzo IP vienesuddivisoinunaprimapartechecaratterizzala rete di appartenenza (Network Address) e una seconda partenelrangediindirizzideglihostsche appartengono alla rete. CLASSE A (indirizzi del primo ottetto da 0 a 127) NetworkHost CLASSE B (indirizzi del primo ottetto da 128 a 191) NetworkHost CLASSE C (indirizzi del primo ottetto da 192 a 223) NetworkHost CLASSE D (indirizzi del primo ottetto da 224 a 239) SonoindirizziMulticast,equindinonhanno suddivisioni in parte Network e Host. CLASSE E (indirizzi del primo ottetto da 240 a 255) Sono indirizzi riservati per usi sperimentali su Internet. Esistonodellerestrizioniousispecialiperalcuni indirizzi IP, vediamo quali sono: 6 TECNONET S.p.A. -RetediclasseA:0.0.0.0nonpuessereutilizzata (peresempiononpuesistereunhostcon unindirizzo 0.3.65.128). -Indirizzo0.0.0.0puessereutilizzatosolocome indirizzo sorgente e soltanto nei pacchetti iniziali di richiesta indirizzo IP tramite BOOTP o DHCP. -RetediclasseA:127.0.0.0nonpuessere utilizzata.Lindirizzo127.0.0.1(localhost) riservatoperprovediloopbacksullastessa interfaccia.-RetediclasseB:191.255.0.0nonpuessere utilizzata. -RetediclasseC:192.0.0.0nonpuessere utilizzata. -RetediclasseC:223.255.255.0nonpuessere utilizzata. -Lindirizzo di classe E 255.255.255.255 utilizzato per il Broadcast locale (sulla stessa lan). Pu essere utilizzato solo come indirizzo di destinazione. Per ulteriori informazioni vedi RFC 1166. Inoltre la RFC 1918 assegna per le reti locali e Wan non connessesuinternet(Intranet)lutilizzodiquestisoli indirizzi: 1.Lintera rete di classe A: 10.0.0.0 2.Le 16 reti di classe B: da 172.16.0.0 a 172.31.0.0 3.Le256retidiclasseC:da192.168.0.0a 192.168.255.0 NonesistonosuInternetindirizziappartenentiaqueste reti riservate per Intranet! Inoltredataunaqualsiasireteilprimoindirizzodel campo host riservato per identificare la Net e lultimo indirizzodelcampohostriservatoperidentificareil broadcast diretto a quella Net. Esempio:Indirizzo192.156.10.0riservatoper identificarelaNete il 192.156.10.255 riservatoper il broadcastdirettoallaNet.Gliindirizzidisponibilida associareagliHostappartenentiallaNet192.156.10.0 sono da 192.156.10.1 a 192.156.10.254. Quantisonogliindirizzidisponibilipergli hostsper le varie classi? PerlaclasseAabbiamochelapartehostdi24bits quindigliindirizzidisponibilisono224-2=16.777.214e non sono pochi. PerlaclasseBabbiamoinvece216-2=65.534indirizzi disponibili. PerlaclasseCabbiamoinvece28-2=254indirizzi disponibili. Lassenzadielasticitdelleclassievidentedaquesti numeri.PensateaunaNetcon500host,costrettaa utilizzare due reti di classe C e introdurre un router sulla retelocaleoppureunaretediclasseB.Maperquanto questaretepotrcrescere(facciamo1000utenti) rimangono pi di 62000 indirizzi non utilizzati. PerrisolverequestoproblemalRFC950introduceil subnetmasking.SuccessivamenteraffinatadallaRFC 1518cheintroduceilconcettodiClasslessInternet-DomainRouting(CIDR).InparolepovereconlaRFC 1518leclassinonsonopiutilizzate(omeglio lutilizzorimaneristrettoaqueiprotocollidirouting come il RIPv1 e IGRP). Ilconcettosemplice.Vieneintrodottaunamaschera chedefiniscelapartedellindirizzoipcomeNetwork Address e la parte rimanente come host address. Primadiprocederericordiamoquattrosemplici operazioni logiche: 1 AND 1 = 1 1 AND 0 = 0 0 AND 1 = 0 0 AND 0 = 0 LaNetMaskunasequenzadi32bitsdovesono presentibitsconvalore1rappresentalaparteNetwork address e con valore 0 la parte Host address. Esempio: Indirizzo Ip:00100111101101010100010010010101 AND NetMask: 11111111111111111111100000000000 Network 00100111101101010100000000000000 Broadcast 00100111101101010100011111111111 Quindilindirizzo39.181.68.149conNetMask 255.255.248.0 appartiene alla Network 39.181.64.0. OrasidevecalcolarelindirizzoBroadcastdirettodi questaNetwork,eperfarquestosiportanoad1tuttii bitsdellapartehost.Siottienelindirizzodibroadcast 39.181.71.255. Aquestopuntogliindirizzidisponibiliperglihosts appartenentiallaNetwork39.181.64.0/255.255.248.0 sono da 39.181.64.1 al 39.181.71.254. Se volete fate questi due esercizi: CalcolarelindirizzodiNetwork,dirangediindirizzi utilizzabiliedibroadcastdelleseguenticoppie indirizzo netmask: a)10.176.48.7/255.224.0.0 i)Network = _____________________ ii)Range= ______________________ iii)Broadcast = ____________________ b)10.176.125.253/255.255.128.0 i)Network = ________________________ 39.181.68.149 255.255.248.0 39.181.64.0 Parte della Netmask che definisce la parte Network Parte Host 39.181.71.255 7 TECNONET S.p.A. ii)Range = _________________________ iii)Broadcast = ______________________ LostandardprevedecheadunaNetworksiaassociata una singola Lan o dominio di broadcast. Cerchiamo ora di capire lalgoritmo per trasmettere dati da un host verso un altro host. Ogni host configurato con un indirizzo ip una netmask unindirizzoipdiundefaultrouter,inoltrelascheda NIChailsuoindirizzoMAC,einfinehannouna propria tabella ARP. Lafiguraseguentemostralalgoritmocheoperasuun host di indirizzo IP1 che deve trasmettere delle frames a un host di indirizzo IP2. Questoalgoritmodeveesserebencompresoper risolvere eventuali problemi di connessione di un host. Lalgoritmo in realt non completo in quanto se: -IP2ugualeallindirizzoIPBroadcastdella NETWORK1,laframevieneinviata immediatamenteconindirizzodestinazionea livello MAC = FFFFFFFFFFFF-IP2 di classe D (Multicast) la frame viene inviata immediatamente,conlindirizzoMACdi destinazioneformatoprendendogliultimi23bits dellindirizzoIPMulticasteaggiungerlialla sequenzafissa:00000001:00000000:01011110:0(i primitreottetticorrispondonoallasequenza esadecimale 01:00:5E). -IP2=NETWORK1laframenondeveessere inviata! IP1=IP SOURCE IP2=IP DESTINATION IP1 AND NETM1 = NETWORK1 NETM1 =NETMASKS SOURCE IP2 AND NETM1 =NETWORK2 NETWORK1 = NETWORK2 ? IP2 in ARP TABLE ? YES DG in ARP TABLE ? NO DG = IP DEFAULT ROUTER SEND ARP REQUEST IP2 SEND ARP REQUEST DG NO NO SEND FRAME YES YES RECEVEID ARP REPLY ? MESSAGE DESTINATION UNREACH YES NO 8 TECNONET S.p.A. IlprotocolloARPutilizzatoperscoprirelindirizzo MAC associato a un IP.EssoinviaunARPRequestinBroadcast,eselhost presente risponder con un ARPReply dove allinterno vieneindicatoilMACaddressassociato.Questa associazione viene posta nella tabella ARP. evidentechelastessaidenticaproceduradeveessere svoltadallhostconindirizzoIP2quandodeve rispondere. Quindi ricordiamo sempre che la comunicazione fra due hosts bidirezionale. Lalgoritmoprecedentehacomepremessacheuna singolaNetworkassociataunsingolodominiodi broadcast. daevidenziarechelhostchedevetrasmetterele framesdellhostriceventedeveconosceresoltanto lindirizzo IP di destinazione. Cercate ora di risolvere questo esercizio: 1)Secondo voi due PC posti su un bridge con default routernullo,unPCconfiguratocon 10.176.48.7/255.224.0.0elaltrocon 10.176.125.253/255.255.128.0,potranno comunicare luno con laltro ? a)No perch la netmask diversa____________________ b)Si perch sono indirizzi di classe A_________________ c)NoperchilbridgedovrebbecrearedelleVLANper metterli in comunicazione_______ d)Siperchsononellastessarete logica___________________ TECNICHE DI SUBNETTING LetecnichediSubnettingdipendonomoltodadove dovremo applicare il piano di indirizzamento risultante. SeilpianodiindirizzamentosuInternetequindisi utilizzanogliindirizzipubblici,sideveutilizzareal megliogliindirizzidisponibili,mentreseilpianodi indirizzamentosuIntranetequindisiutilizzanogli indirizziprivatidefinitidallaRFC1918,possiamo permetterci di essere pi elastici. SUBNETTING SU INTRANET Si abbiano N domini di broadcast distinti (Lan o Vlan) e M collegamenti Wan punto-punto. SiaPi(con1sisN)ilnumerodihostsappartenenti alli-esimo dominio di broadcast con la propriet che: PN > PN-1 > PN-2 > P2 > P1 PerquestaIntranet il numerodiindirizzitotaleminimo dato da: P = + +=4 21M N PiiN Il 4 che moltiplica il numero M dei collegamenti punto-puntoindicai4indirizzidatidaunanetmask 255.255.255.252tipicamenteusataneicollegamenti punto-punto. Il 2 che moltiplica N considera gli indirizzi dinetworkedibroadcastperognilan.Oralascelta dellaodelleretiprivatedautilizzareunascelta arbitraria. Masicuramentelascelta deveesserefattainmodoche la somma di tutti gli indirizzi deve essere maggiore di P. Procediamo il seguente esempio: 1)AbbiamounaIntranetcompostada3agenzie (agenzia A, B e C) con 20 hosts, 5 agenzie (agenzie D,E,F,GeH)con10hostseunacon4hosts (agenziaI)e6collegamentipunto-punto.La network da suddividere la 192.168.10.0/24 (con il prefisso/numerosiintendeilnumerodibitsdella netmaskchedefinisconolanetworkaddress.Per esempio /24 = 255.255.255.0) a)Lanetworkdipartenzala192.168.10.0/24 cherappresentiamocomeuninsieme rappresentato in figura. Su questa network sono disponibili256indirizzi.PerlanostraIntranet abbiamoM=6,N=9epoiP9=P8=P7=20, P6=P5=P4=P3=P2=10 , P1=4 , e quindi P = 156. Civuoldirechelanetwork192.168.10.0/24 puesseresuddivisafornendogliindirizzi miniminecessarieinpirimangono disponibilialtri100indirizzi.Laprima suddivisionevieneeffettuatatrovandoquanti devono essere i bits minimi lasciati per la parte host per le Lan con pi hosts. Si usi la formula doveperINTsiintendeilnumerointero prossimo pi grande. In parole povere abbiamo 192.168.10.0/24192.168.10.0/ 27192.168.10.32/ 27192.168.10.64/ 27192.168.10.96/ 27192.168.10.128/ 27192.168.10.160/ 27192.168.10.192/ 27192.168.10.224/ 27A B C 9 TECNONET S.p.A. eilnumerointeroprossimopigrande5 quindizN=5.Datochelapartehostdella network di partenza di 8 bits, abbiamo che la primasuddisioneportaa 28-5=8subnetognuna con25=32indirizzidisponibili.Otteniamo dunque la seguente suddivisione e associamo le subnetalleprimetreagenzie,cominciando dallasecondasubnet(vedifiguraprecedente). Ora procedendo in modo analogo si continua a suddividere le subnet non utilizzate per le altre agenzie e alla fine si ottiene: SUBNETTING SU INTERNET SiprocedecomesuIntranetconmaggioreattenzionea nonsprecaregliindirizziinutilmente.Perrisparmiare indirizzineicollegamentipunto-puntoirouters permettono di avere delle interfacce unnumbered. PIU DI UNA SUBNET SULLO STESSO DOMINIO DI BROADCAST Abbiamovistochelostandardprevedecheadun singolodominiodibroadcastdeveessereassociatauna solasubnet.Mapervarimotivipossibilechesi trovinosituazionichenonrispettanoquestaregola. Possiamo avere due situazioni generali: -pisubnet nonsovrappostesullostessodominiodi broadcast -pisubnetsovrappostesullostessodominiodi broadcast NelprimocasolasituazionesemplicealivelloIPgli host appartenenti a una subnet non possono comunicare conglihostappartenentiadunaltrasubnet,anchese paradossalmente sono sullo stesso dominio di broadcast. In questa situazione lunica possibilit per comunicare di utilizzare uninterfaccia di un router con la possibilit diconfigurareindirizzisecondarisullastessa interfaccia. Nelsecondocasolasituazionemoltocomplessain quantogruppiosingolihostpossonoappartenere contemporaneamenteapidiunasubnet.Vediamo qualcheesempio.Siabbiasuunostessodominiodi broadcast 8 hosts con i seguenti indirizzi ip: -HOST_A : 192.168.10.1/27 -HOST_B : 192.168.10.2/29 -HOST_C : 192.168.10.3/27 -HOST_D : 192.168.10.4/27 -HOST_E : 192.168.10.5/30 -HOST_F : 192.168.10.6/30 -HOST_G : 192.168.10.7/27 -HOST_H : 192.168.10.8/27 Sonopermessesololecomunicazionitraiseguenti hosts: 1)HOST_A HOST_B 2)HOST_A HOST_C 3)HOST_A HOST_D 4)HOST_A HOST_G 5)HOST_A HOST_H 6)HOST_B HOST_C 7)HOST_B HOST_D 8)HOST_B HOST_G 9)HOST_C HOST_D 10)HOST_C HOST_G 11)HOST_C HOST_H 12)HOST_D HOST_G 13)HOST_D HOST_H 14)HOST_E HOST_F 15)HOST_E HOST_G 16)HOST_F HOST_G 17)HOST_G HOST_H Con8 hostssonopossibili28comunicazionidifferenti, essendonepossibilisolo17vuoldirecheben11 comunicazioni sono vietate. Lacosainteressantecheutilizzandoinmodo opportunolaNetMaskpossopermetterela comunicazionetraalcunihostsadaltrihostsenegarne altre,comeunasortadiaccess-listpoveraed economica.evidentechelasicurezzadiuna configurazionediretecoscomplicatabassa,masi puaumentareleggermenteseilgestorediretelimita laccessodegliutentiallaconfigurazionedeglihosts tramite per esempio il programma gratuito Poledit della Microsoft. Questo articolo ha cercato di fornire unalgoritmo per la pianificazionedegliindirizzi.Unavoltafornitoun algoritmo,chidivoiconoscequalchelinguaggiodi programmazione, provi a fare un programma che aiuti a fare questo lavoro. R. Gaeta 192.168.10.0/ 30192.168.10.4/ 30192.168.10.8/ 30192.168.10.12/ 30192.168.10.16/ 30192.168.10.20/ 30192.168.10.24/ 30192.168.10.28/ 30192.168.10.32/ 27192.168.10.64/ 27192.168.10.96/ 27192.168.10.128/ 28192.168.10.144/ 28192.168.10.160/ 28192.168.10.176/ 28192.168.10.192/ 27192.168.10.224/ 28192.168.10.240/ 29192.168.10.248/ 30192.168.10.252/ 30A B C D E F G H I 10 TECNONET S.p.A. PRINCIPI DI ROUTING Abbiamovistonellarticoloprecedentecheunhost quando deve inviare una frame a un host appartenente a una network diversa, la invia al DG (Default Gateway o DefaultRouter),ilRoutercercherdiinstradarela frameversoladestinazione.Lafiguraseguenteci mostra la tecnica generale di trasferimento di una frame verso la destinazione.InfiguravediamochelhostBdeveinviareunaframe allhostA,laparteazzurrailprotocollodilivello3 (nelnostrocasoIP)elapartegiallailprotocollodi livello 2.Un router un apparato che pu avere molte interfacce, ma inche mododecidelinterfacciadiuscitaunavolta ricevuta una frame? La risposta tramite una tabella detta di routing come la seguente: Network/NetmaskInterfaccia di uscita Netw_1/Netm_1Int_1 Netw_2/Netm_2Int_2 -- -- Netw_N/Netm_NInt_N QuindiilrouterricevelaframeleggelindirizzoIPdi destinazione e procede con il seguente algoritmo: IPD = IP DI DESTINAZIONE DELL A FRAME RICEVUTA IPD AND NETM_1 = NETW_1 ? TRASMETTI FRAME DA INT_1 YES IPD AND NETM_2 = NETW_2 ? TRASMETTI FRAME DA INT_2 YES NO IPD AND NETM_N = NETW_N ? TRASMETTI FRAME DA INT_N YES NO NO CANCELLA LA FRAME E INVIA UN MESSAGGIO ALLHOST SORGENTE NO 11 TECNONET S.p.A. Lalgoritmo non completo se non si fanno le seguenti affermazioni: -Se:IPDANDNETM_X=NETW_XeIPDAND NETM_Y=NETW_Yallorasihannodue comportamenti: 1.SeNETW_Y(X)>NETW_X(Y)1allora linterfacciadiuscitaINT_Y(X)equesta tecnicaconosciutacomeLONGEST MATCH 2.SeNETW_Y=NETW_Xalloralinterfaccia diuscitasarperlaprimaframeindirizzataa IPD la INT_X la successiva frame indirizzata a IPDlintefacciadiuscitaINT_Y,la successivaancorasuINT_Xecosvia,e questatecnicaconosciutacomeLOAD BALANCING per ROUND ROBIN. Facciamo qualche esempio: 1)Frame con IPD = 10.1.3.5. Tabella di routing con le seguentilinee.Quallinterfacciadiuscitadella frame?2: a)10.0.0.0/8int_1 b)10.1.3.0/24int_2 c)10.1.3.4/30int_3 2)Frames con IPD = 192.168.10.5. Tabella di routing con le seguenti linee. Quale tecnica viene usata per far uscire queste frames?3: a)192.168.0.0/16int_1 b)192.168.0.0/16int_2 c)192.168.10.0/24int_3 d)192.168.10.0/24int_4 Tuttocimoltointeressantemacomesiformala tabella di routing? Comeprimacosaquandosiconfiguralindirizzoip linterfacciadiunrouterautomaticamentesiaggiunge una lineasullatabelladi routing.Facciamounesempio con un router cisco: Configurazione delle interfacce Router(config)# interface ethernet 0 Router(config-if)# ip address 192.5.10.1 255.255.255.0 Router(config-if)# exit Router(config)# interface serial 0 Router(config-if)# ip address 170.0.0.1 255.255.255.252 Router(config)# ctrl^z Router# show ip route . . C192.5.10.0/24is directly connected, ethernet0 C170.0.0.0/30 is directly connected, serial0

1 Per scoprire se una network maggiore di unaltra trasformare lintera sequenza di 32 bits in decimale ed effettuare il confronto. 2 Risposta: int_3 3 Risposta: Longest Match e Load Balancing Round Robin sulle interfacce int_3 e int_4 Quindiappenasiconfiguranoleinterfacceilrouterha conoscenzaimmediatadellenetworkdirettamente connesse.Ma per le network non direttamente connesse quali sono letecnichepercompilarelatabelladiroutinginmodo opportuno? Esistono due tecniche generali: -Routing statico -Routing dinamico Primadiaffrontarelamodalitdiroutingopportuno fornire qualche concetto generale sulle reti: RETI, TOPOLOGIE E METRICHE Unaretecompostadarouterspuessereestremamente complessa. La sua complessit dipende dal numero M di routerspresenti,ilnumeroNdicollegamentiutilizzati, dallatopologiacomplessiva,dallecaratteristichedei collegamentiutilizzati(velocitinbit/s,ritardodel trasferimentodati,ecc.).Aicollegamentipuessere attribuitoinmodoarbitrariouncostoopi esattamenteunametrica.Questocostoometricauna funzionechedipendedaunaopivariabili,che caratterizzanoilcollegamentostessooppure caratteristicheparticolaridelleframes.Nellafigura seguenteabbiamouna retecompostada9Routerse11 collegamenti,eadognunodiessiassociatouncosto. Unpercorsodaun router ad unaltro hauncostototale dato dalla somma dei singoli costi dei collegamenti che compongonoilpercorsonellasuainterezza.Per esempioilpercorsodaAadHattraversoB,C,E,F dato da: mentreilpercorsodaAadHattraversoD,G,Ldato da: Esistono altri 4 percorsi alternativi e il loro costo : Comandoperconfigurare lindirizzo IP su uninterfaccia Comandopermostrarelatabella di routing 12 TECNONET S.p.A. Ilproblemaprincipaledelroutingdiscegliereil percorsoconilcostominore.Nonsolomadatocheun routerpuguastarsieicollegamentipossono scollegarsi,ilroutingdeveingeneraleaverela capacit di trovare un eventuale percorso alternativo .In generale possiamo affermare che il Routing statico adattoperreticontopologiesemplicieilRouting dinamico per reti con topologie complesse.Altriproblemichedeveaffrontareilrouting leventualecreazionedipercorsialoopecioche ritornarnoalpuntodipartenza.Perevitareciil protocollo IP prevede il campo TTL (Time To Live) che vienedecrementatoadognipassaggiodiunrouter,e cheunavoltacheilTTL=0laframevieneeliminata. Inpiiprotocollidiroutingdinamicievitano linstaurarsidiloop(tranneinsituazionitransitorie), mentre nel routing statico tutto dipende da chi configura i routers. ROUTING STATICO Immaginiamo di avere la seguente rete (supponiamo che i router siano cisco): IlRouter_Ahaunadirettaconoscenzadellanetwork 10.0.1.0/24edellanetwork192.168.10.0/30,mentreil Router_Bhaunadirettaconoscenzadellanetwork 10.0.2.0/24 e della network 192.168.10.0/30. PerfareinmodocheilRouter_Apossaavere conoscenzadellanetwork10.0.2.0/24sideve configurare la route statica: Router_A(config)# ip route 10.0.2.0 255.255.255.0 192.168.10.2 Dovevieneindicatalanetworkelanetmaskdi destinazione seguita dallindirizzo ip dellinterfaccia del router successivo. La tabella di routing a questo punto ha le seguenti linee: Router_A# show ip route . . C10.0.1.0/24 is directly connected, ethernet0 C192.168.10.0/30 is directly connected, serial0 S10.0.2.0/24 via 192.168.10.2, serial0 Aquestopuntomancaancoralinstradamentoperle framedirispostaprovenientidallaLAN_Bversola LAN_A.PerfarecisiconfigurisulRouter_Bla seguente route statica: Router_B(config)# ip route 10.0.1.0 255.255.255.0 192.168.10.1 Daquestomomentoglihostsappartenentialleduelan possono comunicare. Complichiamoleggermentelarete.Supponiamooradi avere 4 lan collegate come in figura: Inquestocasoabbiamovaripercorsialternativiper andaredaunalanadaltra.Essendoilroutingstatico configuratomanualmente ilcostodeipercorsivscelto inmodocompletamentearbitrario.Nelnostroesempio decidiamo di utilizzare una funzione di costo (arbitraria) inversamenteproporzionaleallavelocitdel collegamento:CMb sv Mb sijij=2( / )( / ) Quindiabbiamodallalan_Aallalan_Bsonopossibili due percorsi con i seguenti costi: Quindi il percorso con il costo minore dal router A al router B. La configurazione sul Router_A : Router_A(config)# ip route 10.0.3.0 255.255.255.0 192.168.1.2 Prendiamooraiduepercorsidallalan_Callalan_Di costi sono: Quindiilpercorsoconilcostominorenonquello direttamenteconnesso,elaconfigurazionedel Router_C : Router_C(config)# ip route 10.0.2.0 255.255.255.0 192.168.3.1 Divertitevivoioraatrovaretuttiipercorsidicosto minore e la relativa route statica. Il problema che esiste un percorso alternativo per ogni destinazioneecheincasodiinterruzionedelpercorso dicostominore,vogliamosepossibileutilizzareil percorso alternativo. Ci possibile.Infatti il comando della route statica permette di definire unadistanza amministrativachese nonspecificatadi defaultugualead1(ougualeazeroseinvece 2 Mb/s 1 Mb/s 512 Kb/s 64 Kb/s 13 TECNONET S.p.A. dellindirizzodelnexthopvieneutilizzatalinterfaccia di uscita). Nellatabelladiroutingvieneimmessa,sepresenti routestaticheversolastessadestinazioneecon differenti distanze amministrative, quella con la distanza amministrativa minore. Quindinelcasodelpercorsodallalan_Callalan_D possiamo scrivere le due route statiche: Router_C(config)#iproute10.0.2.0255.255.255.0192.168.3.1 Router_C(config)# ip route 10.0.2.0 255.255.255.0 192.168.4.2 10 InquestomodoseilcollegamentotrailRouter_Ceil Router_A,ilRouter_Crilevalaperditadicollegamento ed elimina dalla sua tabella di routing la route che utilizza il next hop verso router_A, e viene rimpiazzata dalla route del percorso alternativo. Quindileroutestatichepermettonolutilizzodipercorsi alternativi, ma la ridondanza non ottimale. InfattisupponiamocheorasiguastiilRouter_B.Non esiste nulla che avverti il Router_C di un eventuale guasto sulpercorso.Irouterrilevanoiguastisulleconnessioni direttamenteconnesse.Quindilarouteversola10.0.2.0 con next hop 192.163.3.1 e distanza amministrativa 1 non vienerimossaequindi nonvienesostituitadallaseconda possibilit.Questounagrandelimitazionedelroutingstatico,che viene affrontata e risolta soltanto dal routing dinamico. Una route statica particolare Conleroutestaticheimpensabileconfiguraretuttele destinazionipossibiliesoprattuttoseesisteunsolo collegamentodiuscitaancheinutile.Inquesticasi necessarioconfiguraresulrouterundefaultgateway (defaultrouter).Unapossibilitdefinireunaroute statica cosiffatta: Router(config)# ip route 0.0.0.0 0.0.0.0 ip-addr-next-hop Doveip-addr-next-hoplindirizzoipdeldefault gateway.Vediamocomeagisceladestinazione0.0.0.0 con netmask 0.0.0.0.Nellalgoritmoperdeciderelinterfacciadiuscita, abbiamovistochesullindirizzoipdidestinazioneviene operatounANDlogicoconlanetmaskdellaroute presentenellatabelladirouting.Qualsiasiindirizzo sottopostoaunANDlogicoconlanetmask0.0.0.0 fornisce come risultato sempre la network 0.0.0.0. Quindi perlaregoladelLongestMatch,senonpresenti instradamentimaggiormentedefiniti,verrcomeultima istanza usato il default gateway. ROUTING DINAMICO Ilroutingdinamicopermetteairouterdiricalcolare automaticamentelelorotabelledirouting,inmododa reagireacambiamentidellatopologiadireteodi eventualicongestioni.Dataunaretedirouters,il problemadellinstradamentoquelloditrovareil percorsodicostominimoperognicoppiasorgente destinazione.Lamaggiorpartedeglialgoritmiacostominimo,sono variazioni di uno dei due algoritmi pi comuni, noti come algoritmo di Bellman-Ford e algoritmo di Dijkstra. Algoritmo di Bellman-Ford (distance vector) Questo algoritmo prevede che ogni router invii su tutte le proprieinterfaccelelencodelledestinazionichein gradodiraggiungereeilcosto.Taleelencochiamato vettoredelledistanze(distancevector).Ilrouterche riceve il distance vector lo memorizza. Gli somma il costo relativoalcollegamentodiricezione.Apartiredatale conoscenzalapparatocostruiscelapropriatabelladi routing.Formalmente abbiamo il seguente algoritmo: siasilroutersorgentechedevecalcolarelapropria tabella di routing; sia Cij il costo del collegamento dal router i al router j; per definizione Cii = 0; perdefinizioneCij =seiduerouternonsono direttamente connessi; sia il costo totale dal router s al router n; sia il costo per la destinazione n ricevuto dal router s inviato dal router adiacente j; Allorailrouterscalcolaadogniricezionedeidistance vector la seguente funzione: appena terminato il calcolo supponiamo che il minimo sia trovatoattraversoj=m,equindiverrimmessanella tabella di routing la route verso la destinazione n con next hop m. I distance vector vengono inviati periodicamente ogni t = timeout (secondi). Notiamo che il router ha conoscenza soltanto dei costi dei collegamentidirettamenteconnessiedeicostiassociati alle varie destinazioni inviati dai router adiacenti. La non conoscenzadelpercorsocompletocaratterizzatodai puntinicheunisconolasorgenteeladestinazionedel percorso. Vediamooraunesempioesemplificativo.Siabbiano3 routers A, B e C.Allistante0nessunlinkattivatofradiloro,vienepoi attivatoillinkfraAeB,eillinkfraAeC.Scadutoil timeoutil routerA invia ilsuodistancevectorversoBe C.ScadutiiltimeoutanchesuiroutersBeCinvianoi lorodistancevectoreinfinevieneattivatoillinkfraCe B. Distanza amministrativa definita a 10 14 TECNONET S.p.A. Abbiamo le seguenti tabelle dei costi:ora supponiamo che il collegamento fraA e C venga disattivato o si guasti. Cosa succede? 15 TECNONET S.p.A. EvidentementeilrouterAmodificaimmediatamenteilcostodelcollegamentoCAC da1ainfinito.Oraabbiamodue possibilit: 1)Il timeout del router A, per inviare il distance vector scade prima del timeout del router B, e quindi il router A invia il distancevectorconCAC =.IlrouterBloriceveeaggiornaimmediatamenteilcostoversoCallinfinito (irrangiungibile). Tutto ci perfetto. 2)Supponiamo ora che il timeout del router B scade prima del timeout del router A. Il router B invia il distance vector verso A. La tabella dei costi si sviluppa in questo modo: Come si evince dalle tabelle il costo del percorso (fittizio) da A verso C e da B verso C tende ad aumentare ogni volta che si scambiano un distance vector, senza possibilit di trovare unequilibrio. Questo un grave problema di questo algoritmo ed conosciuto in letteratura come problema del count toinfinity. (La sequenza precedente valida per la caduta del link prossimo al router A. Se invece il router C si guasta o viene spento, il costo fra A e C mantenuto ad 1 per un certo tempoT_hold> timeoutesuccessivamentepostoallinfinito.Civienefattoper nonportareinstabilitdovuteaperdite dei distance vector). SOLUZIONI POSSIBILI AL PROBLEMA DEL COUNT TO INFINITY 1)DecidereinmodoarbitrariounlimitemassimoMalcostodelpercorsogenericoC.RaggiuntoilvalorediMla destinazioneconsideratairraggiungibile(costoinfinito),evienerimossalarottacorrispondentedallatabelladi routing. a)Il problema di questa soluzione che il tempo di convergenza allequilibrio di una rete dipender dal valore di M, e in pi vuol dire che non possiamo utilizzare lalgoritmo su reti grandi che abbaino costi dei percorsi superiori ad M. 2)Modificare lalgoritmo in modo che se un router rileva una variazione sui suoi collegamenti non attenda lo scadere del timeout per inviare il distance vector, ma lo invii subito appena rilevata la variazione(Triggered updates). 16 TECNONET S.p.A. a)In realt si visto che il distance vector non pu essere inviato immediatamentedopo una variazione, in quanto si forma una sincronizzazione degli update inviati da tutti i router della rete (problema dei routers come oscillatori accoppiati).Lasoluzionediinviareildistancevector,nonimmediatamentemadopouncertotempocasuale dopo la rilevazione della variazione. In questo modo per il problema del count to infinity non viene risolto, ma perotteniamountempodiconvergenzaminore.Inquestomodoperpossonoessereraccoltiinunsingolo distance vector eventuali variazioni ravvicinate. Pensate cosa accade a seguito di un link intermittente (flapping). 3)Differenziazionedeidistancevectorinviatisuivaricollegamentidiunrouter.IldistancevectordiAversoBnon conterr le destinazioni raggiungibili attraverso B (Split Horizon).a)Previene il problema del count to infinity su topologie di rete alquanto semplici. Su topologie pi complesse non elimina ilproblema.Peresempionellafiguraseguente,losplit horizon non riesceadeliminareil problemadel count to infinity. Divertitevi ad analizzare cosa accade quando il link tra A e X si disattiva. b)Comunque lo split horizon se abilitato su un router della rete deve essere abilitato su tutti i router presenti nella rete. Analizzate cosa succede in una rete cosiffatta, dopo che il collegamento fra B e X si guastato: 4)Abbiamovistochelosplithorizonnoncomunicaledestinazioniachiglilehainviate.ConloSplitHorizonwith Poisonous Reverse la rotta viene inviata al mittente con costo infinito. a)Comunque anche questa tecnica non elimina i loop su topologie complesse. 5)Nel momento in cui un router rileva il guasto di un link mette in quarantena le route che utilizzano quel link, non accettandone la modifica (e considerandole irraggiungibili) per un certo periodo (Hold Downs). a)Questoperiododitempodeveesseresuperiorealtemponecessarioperpropagareatuttalaretemodifichedi configurazione. b)Il router che ha rilevato il guasto non pu quindi partecipare ad alcun loop fino ad almeno lascadenza dellhold down timer. Inconclusione nessunadiquestetecnichepuconsiderarsi ottimaleperla risoluzionedelproblemadelcounttoinfinty. Infattivengononormalmenteutilizzatepitecnicheinparallelo.Macomunquequestoproblemalimitalutilizzo dellalgoritmoperretigrandiocomplesse.Allaumentaredellacomplessitdellaretedivienemoltoarduocercaredi prevedereilcomportamentodellareterispettoaunavariazione.Ilproblemaprincipalechenessunrouterutilizzando questoalgoritmohaunamappacompletadellarete. Split Horizon abilitato Split Horizon abilitato Split Horizon abilitato Split Horizon disabilitato 17 TECNONET S.p.A. Algoritmo di Dijkstra (Link State) Lalgoritmo di Dijkstra per operare deve avere una mappa completadellarete.Ottenutalamappacompleta, lalgoritmooperapertrovareipercorsipibrevidaun datoroutersorgenteversotuttiglialtrirouter, determinandoliperlunghezzacrescenti.Lalgoritmo procede per fasi. Prima di definire le fasi definiamo: Sia N = insieme dei router della rete; Sia s = router sorgente; Sia T = insieme dei nodi inseriti dallalgoritmo; sia Cij il costo del collegamento dal router i al router j; per definizione Cii = 0; perdefinizioneCij =seiduerouternonsono direttamente connessi; sia il costo totale dal router s al router n; Lalgoritmocompostodatrefasielefasi2e3sono ripetute fintanto che T = N. Vediamo lalgoritmo in opera sulla seguente rete: Abbiamo: AbbiamovistochelalgoritmodiDijkstraoperasulla mappacompletadellarete.Macomefaognirouterad ottenere questa informazione? Tramitelapropagazionedeicosidettilinkstatepacket (lsp).Essicontengonolidentificatoredelroutermittente e i costi di tutti i router ad esso direttamente connesso. Gli lspsonotrasmessitramitelatecnicadelselective flooding.Ciascunroutergeneraunlsptuttelevolteche qualcosacambianeisuoicollegamentidiretti.Dunque quando un router riceve un lsp segue i seguenti passi: -Senonesisteunacopiaoneesisteunapivecchia, memorizza llspeloinoltrano(immutato)sututtele interfacce, tranne su quella da cui lo hanno ricevuto. -Se presente una copia identica delllsp, lo ignorano -Selacopiamemorizzatapirecente(numerodi sequenzapialto)diquellaappenaricevuta,la mandaalmittentelacuibasedidatichiaramente non aggiornata. Appenaunrouterhamemorizzatotuttiglilspdeglialtri router che compongono la rete ha la mappa completa. CONFRONTO FRA I DUE ALGORITMI Lacomplessitcomputazionaledellalgoritmodistance vectordellordinediN2 oppureN3doveNilnumero totale di router. Mentre per il link state proporzionale al logaritmo di N. Dunquedalpuntodivistadellacomplessit computazionale il link state preferibile. Neldistancevectorprimachetuttigliapparatiabbiano aggiornatoleinformazionidirouting,necessarioche londadireazionesipropaghipivoltesututtalarete, mentre nel link state sufficiente ununica propagazione. Inoltre neldistancevector,nondi rado,siinstauranodei routingloopperchirouternonoperanosuuna rappresentazionetopologicadellarete,masusemplici informazioni di distanza.R. Gaeta A B D C 2 1 51 18 TECNONET S.p.A. PROTOCOLLI DI ROUTING Neltemposonostatisviluppativaritipidiprotocollidi routingchesidifferenzianotradiloroperalcune caratteristiche generali. Protocollichesibasanosullalgoritmodistancevectoro sue variazioni: -RIP -RIPv2 -IGRP -EIGRP -BGP Protocolli che si basano sullalgoritmo link state: -OSPF Inoltre il RIP e lIGRP non trasportano informazioni sulla netmaskesonodettiprotocolliClassfull.Iprotocolliche trasportanoinformazionisullanetmasksonodetti Classless. Definizione di Autonomous Systems (AS)(vedi RFC 1771):1)UnASconsisteinungruppodirouterchesi scambianoinformazionitramiteunprotocollo dinstradamento comune. a)Ilconcettooggisiestesonelpermetterelutilizzodipidi un protocollo dinstradamento. 2)Un AS un insieme di router e reti controllati da una singola organizzazione. 3)Un AS deve essere uninsieme connesso. a)Ciodeveesisterealmenounpercorsotraqualunquecoppia di router in esso contenuta. b)UnicaeccezionequandounapartedellASsoggettaa guasto e si formano delle partizioni. Definizione di Interior Gateway Protocol (IGP): SonoiprotocolliutilizzatiallinternodiunAS.UnIGP devecostruirsiunmodellopiuttostodettagliatodelle interconnessionideirouterdentrounAS,inmododa potercalcolareilpercorsoacostominimodaun determinatorouterversoqualunquereteallinterno dellAS.ProtocolliIGPsono:RIP,RIPv2,IGRP,EIGRP e OSPF. Definizione di Exterior Gateway Protocol (EGP): SonoiprotocolliutilizzatitradifferentiAS.UnEGPha bisognodiunoscambiopisommariodiinformazioni sullaraggiungibilitdiASseparatamenteamministrati. Un protocollo EGP il BGP. Caratteristiche comuni dei protocolli di routing Distanza amministrativa Ognicostruttoredirouterdefinisceunadistanza amministrativa che corrisponde ad un valore compreso fra 0e255associataaltipodiprotocollo.Questovaloreha validitsoltantointernaenonvienetrasmessaadaltri router.Essadefiniscelaprioritdisceltafralerotte trovateversounastessadestinazionedapidiuntipodi protocollo.Minoreilvaloredelladistanza amministrativamaggiorelapriorit.PerirouterCisco abbiamo la seguente tabella: ProtocolloDistanza amministrativa Reti direttamente connesse0 Route statica su interfaccia0 Route statica su next hop1 EIGRP summary route5 External BGP20 Internal EIGRP90 IGRP100 OSPF110 IS-IS115 RIP v1, v2120 EGP140 External EIGRP170 Internal BGP200 Sconosciuto255 Nel caso di pi protocolli di routing attivati la scelta verso la stessa destinazione viene effettuata secondo il seguente algoritmo (vedi RFC 1812): PeresempiosesuunroutersonoattivatiilRIPv2e lIGRP ed essi hanno rispettivamente le seguenti routes: 172.10.2.0/24 (dal RIPv2 dist. Amm. = 120) 172.10.0.0/16 (dal IGRPdist. Amm. = 100) un pacchetto con destinazione ip = 172.10.2.3 utilizzer la routetrovatadalRIPv2ancheseladistanza amministrativa maggiore. Propriet comune dei protocolli Classfull Nei protocolli di routing Classfull non essendo trasportata la netmask impedito luso di prefissi pi lunghi di quelli naturali.Dunqueluniciprefissiimplicitamentepossibili sono /8 (classe A), /16 (classe B) e /24 (classe C). Lareteseguenteconunprotocolloclassfullnonsarebbe possibile: A B D C 10.1.0.0/16 10.2.0.0/16 10.3.0.0/16 SI LONGEST MATCH Trovate pi di una routes? Utilizza la route trovata Provengono dallo stesso processo di routing? Scegli la route con distanza amministrativa minore Il costo delle routes sono uguali? Usa la route di costo minore Load balancing SI SI NO NO NO 19 TECNONET S.p.A. Inquantoognirouterannuncerebbeneisuoiupdatedi vedere lintera classe A 10.0.0.0. Icostruttorihannointrodottoneiloroapparatiun accorgimento,ilqualepermettedisuperarequestolimite cheimpediscelusodiprefissipilunghidiquelli naturali, con le seguenti condizioni: -Tutti prefissi derivati dalla stessa network di partenza devono avere la medesima lunghezza; -Lenetworkassociateaquestiprefissidevono costituire un insieme di reti connesso; Questo accorgimento comporta che in generale: abbiamoNETWX_NATlindirizzodipartenzacon prefissonaturale(peresempioseNETW1/NETM1= 10.5.0.0/16 allora NETW1_NAT = 10.0.0.0) Dunque: Se NETW1_NAT = NETW2_NATe se NETM1 = NETM2 Allora nellupdate A B viene immesso: NETW1 Altrimenti viene immesso: NETW1_NAT LOAD BALANCING SU ROUTER CISCO I routers Cisco per default utilizzano per il load balancing fino a 4 routes con la stesso costo, (tranne il BGP che per defaultpermettelutilizzodiunasolarouteper destinazione!). Questo valore pu essere modificato con il comando: Router(config)# maximum-paths maximum Il valore di maximum deve essere compreso fra 1 e 6. EsistonoperdueprotocolliproprietariCiscoecio lIGRP e lEIGRP che permettono il load balancing anche conroutesversolastessadestinazioneconcosti differenti. Il comando da utilizzare : Router(config-router)# variance M Dove M un valore compreso fra 1 e 128. Prendendoinconsiderazionelaseguenteretegenericai percorsiconcostidiversisarannosceltisecondoil seguente algoritmo: SiaFDilvaloredelBestPath,ciodelpercorsoconil costo minore fra i due router A e B; Sia M il valore definito dal comando variance; SiaC Ci ijj= il costo del percorso i-esimo. AlloraseperilrouterB(configuratoconvarianceM) sono valide entrambe le condizioni: FD C CC M FDi ini> s il percorso i sar scelto per il load balancing. MentreseperilrouterA(configuratoconvarianceM) sono soddisfatte le condizioni: FD C CC M FDi ii> s 1 il percorso i sar scelto per il load balancing. Nel caso non ci siano router intermedi facile dimostrare chesesivuoleusareilpercorsodicostoCioltreil percorso di best path sufficiente scegliere: MCFDi> ( evidente che se esistono percorsi con costi compresi fra FD e Ci saranno anchessi compresi per il load balancing finoadunmassimodefinitodalcomandomaximum-paths.) Lacosainteressantechesonoingeneralepossibili situazioni di load balncing asimmetrico. Procediamo con un esempio.Sia data la seguente rete: A B NETW2/NETM2 NETW1/NETM1 AB FD C11 C1n Cs1 Csn 20 TECNONET S.p.A. Sia C11 = 8 , C12 = 20 , C21 = 5 , C22 = 5 , C31 = 30 , C32 = 30 e M = 3. DunqueC1 =28 ,C2 =FD=10 ,C3 =60.Percorsobest path = percorso 2. Router BRouter A FD > C11(10 > 8) C1 s M - FD (28 s 30) Dunque B utilizzer anche il percorso 1 In questo caso si haFD < C12 e il percorso 1non sar utilizzato. In questo caso si haFD < C31 e il percorso 3non sar utilizzato. In questo caso si haFD < C32 e il percorso 3 non sar utilizzato. Quindiabbiamoottenutounloadbalancingasimmetrico. Il traffico da B A utilizza il percorso 1 e il percorso 2, mentre il traffico da A B utilizza solo il percorso 2. Questoesempiomostracheingeneralenonsufficiente configurarelostessovaloreMdelcomandovariance,in ambedueirouterperottenereunloadbalancing simmetrico. RIP e RIPv2 Il RIP un protocollo che sibasa sullalgoritmo distance vector. Esistono due versioni: la prima versione definita dalla RFC 1058 e la seconda versione dalla RFC 1723. IlRIPutilizzacomemetricaglihops(salti!).Ognirete attraversata un hop. Per evitare il problema del count to infinityvienepostoilvaloredi16hopscomedistanza infinita(rete irraggiungibile).Ciimplicacheinuna rete nonsipossonoattraversarepidi15hops.Gliupdate distance vector vengono inviati tramite UDPcon porta di destinazione 520. RIPv1 Gli update del RIP versione 1 sono inviati in broadcast IP: 255.255.255.255.Lupdatepucontenereda1a25descrittoridiroutes,e qualoraleroutesdaannunciaresianopidi25viene inviato un secondo update. La figura seguente mostra il formato dei campi del RIPv1 Campo Command +Response:ilmodonormalmenteusatodaun router per trasmettere i distance vector +Request:normalmenteutilizzatodaunrouter appenaaccesopervenireaconoscenzadelle route della rete Campo A.F.I. (Address Family Identifier): fissato a 2 per IP +Questo campo indica che il RIP non progettato per essere usato esclusivamente con il protocollo IP RIPv2 IlRIPv2inviagliupdateallindirizzodimulticast 224.0.0.9.Il RIPv2 pu interoperare con la versione 1. un protocollo classless. La figura seguente mostra i campi del RIPv2: SubnetMask:netmaskassociataallindirizzodella destinazione annunciata RouteTag:serveperdistinguerelerouteappreseda protocolli diversi dal RIPv2. +Distinguereleinformazioniappresedaaltriprotocolli importante,inquantolametricaaessiassociataderivada unaconversionearbitrariadellametricaassociataal protocollo di routing di origine.NextHop:pucontenerelindirizzoipdiunrouter, diversodaquellochehageneratolupdate,da utilizzarecomenexthopperraggiungerela destinazione annunciata. +Ilvalore0.0.0.0indicachedeveessereusatocomenexthop chi ha inviato lupdate. SeunrouterRIPv2riceveunaRequestRIPv1,essopu rispondere con un RIPv1 Response. I campi non utilizzati da RIPv1 devono essere MBZ (Must Be Zero). AB C11 C12 C31 C32 C22 C21 AB C11 C12 C31 C32 C22 C21 21 TECNONET S.p.A. IlRIPv2permettediautenticaregliupdateinserendoa questoscopoalcuneinformazionialpostodiunodei25 descrittori delle route. Il campo AFI contiene il valore esadecimale FFFF. La compatibilit con RIPv1 assicurata dal fatto che non riconosce questo valore di AFI e scarta questa entry. I Timers del RIPv1 e RIPv2 I timers utilizzati dal processo di routing RIP sono: Updatetimer:valoredidefault30secondi.Indica lintervallo di tempo fra unupdate e il successivo. Routetimer:valoredidefault180secondi. Rappresentailtempomassimopercuiunaroute consideratavalida,senonvienericevutounupdate che ne confermi la validit. Quando il timer scade, la routevieneconsideratainvalidaevieneattivatoil processo di cancellazione Holddowntimer:valoredidefault120secondi. Durante questo tempo il router inserisce la route negli update con costo uguale a 16. Allo scadere del timer la route viene rimossa dalla tabella di routing. Attenzione che i valori di default che trovate su router di costruttoridiversinondettochesianoquelli raccomandati dalla RFC.PeresempioirouterNortel(BayNetworks)hannoi seguentivalori:updatetimer=30sec;routetimer=90 sec; holddown timer = 90 sec. I router Cisco hanno: update timer = 30 sec; route timer = 180sec.;holddowntimer=180sec.(neirouterciscola rimozionedellaroutedallatabelladipendedaunaltro timer detto flush timer di default 240 sec). Qualorasirealizziunaretedovesiutilizzanoroutersdi diversicostruttori,questedifferenzedidefaultdeitimers RIP, possono portare a dei routing loop. Configurazione del protocollo di routing RIP su apparati Cisco PerabilitareilprocessodiroutingRIPv1eseguirei seguenti comandi: Router(config)# router rip Router(config-router)# network net_num Il valore net_num lindirizzo della network direttamente connessa che viene abilitata al RIP. PerabilitareilprocessodiroutingRIPv2siaggiunga questo comando: Router(config-router)# version 2 SipuforzareilrouterRIPadinviaregliupdatein unicast con il comando: Router(config-router)# neighbor ip-address Permodificareivalorididefaultdeitimersusareil comando: Router(config-router)#timersbasicupdateinvalidholddown flush Si pu inoltre modificare il comportamento di default del RIP,facendoinmodochealcuneinterfacceabbianouna versionedifferentediRIP.Sipossonousareiseguenti comandi per inviare da quella specifica interfaccia update della versione desiderata: Router(config-if)# ip rip send version 1 Router(config-if)# ip rip send version 2 Router(config-if)# ip rip send version 1 2 Mentre per specificare che da una specifica interfaccia gli update ricevuti devono della versione desiderata: Router(config-if)# ip rip receive version 1 Router(config-if)# ip rip receive version 2 Router(config-if)# ip rip receive version 1 2 Sevogliamopossiamofareinmodocheuninterfaccia nontrasmettagliupdate machesia abilitata a riceverlie ad elaborarli. Questo lo si ottiene con il comando: Router(config-router)# passive-interface interface_name PerabilitarelautenticazionedegliupdatedelRIPv2si usino i comandi: Router(config-if)# ip rip authentication key-chain name-of-chain Router(config-if)# ip rip authentication mode [text | md5] IlRIPv2sommarizzaautomaticamenteleroutes. Questaproprietabilitatadidefault.Perdisattivarela sommarizzazione si usi il comando: Router(config-router)# no auto-summary Perlasommarizzazionemanualevausatoilseguente comando: Router(config-if)# ip summary-address rip network netmask Attenzione che il RIPv2 non supporta il supernetting (per esempiolaroute192.160.0.0255.255.0.0una supernetting). Lo split horizon abilitato di default su tutte le interfacce tranneper quellecheutilizzanoprotocolliditipoNBMA come il Frame Relay.Inoltresesuuninterfacciasonopresentiindirizziip secondarielosplithorizonabilitatosarannoinviati update solo da lindirizzo primario. Perabilitareodisabilitarelosplithorizonsu uninterfaccia utilizzare i seguenti comandi: Router(config-if)# ip split-horizon Router(config-if)# no ip split-horizon Sui collegamenti on-demand si pu utilizzare lestensione del RIP definita nella RFC 2091. I router cisco supportano parzialmente questa RFC, la quale permette di inviare gli updatesoltantoquandovieffettivamenteun cambiamentonellatabelladirouting,evitandoinquesto modo gli update periodici. Si usi il seguente comando: Router(config-if)# ip rip triggered 22 TECNONET S.p.A. Inconclusione:utilizzateilRIPsolosuretidipiccole dimensioni.Impostateitimeravaloriugualisututtii routers (se sono dello stesso costruttore non necessario).Un difetto importante del protocollo RIP che essendo la suametricafunzionedeisolihops,nonhapossibilitdi distinguere fra link di velocit trasmissiva diversa. da notare che le RFC che definiscono il RIP permettono diassociareaunanetworkvaloridihopnonunitari.In questo modo per due link paralleli che vanno dal router A alrouterB,unolinka2Mb/selaltroa56Kb/spotrei associare a questultimo un costo di 2 hops. Purtroppo sia CiscoesiaNortelnonimplementanoquestapossibilit, mentregliswitch/routerdellaEnterasyspossono modificare questi valori. Lista degli RFC di riferimento per il RIP: RFC1058: Routing Information Protocol RFC1581:ProtocolAnalysisforExtensionstoRIPtosupport demand circuits RFC1582: Extensions to RIP to Support Demand Circuits RFC1721: RIP Version 2 Protocol Analysis RFC1722: RIP Version 2 Protocol Applicability Statement RFC1723: RIP Version 2 Carryng Additional Information RFC1724: RIP Version 2 MIB Extension RFC1812: Requirements for IP Version 4 Routers RFC1923: RIPv1 Applicability Statement for Historic Status RFC2082: RIP-2 MD5 Authentication RFC2091:TriggeredExtensionstoRIPtoSupportDemand Circuits RFC2092: Protocol Analysis for Triggered RIP RFC2453: RIP Version 2 IGRP ed EIGRP IprotocollidiroutingIGRPeEIGRPsonoproprietari Cisco.IGRPunprotocolloditipodistancevectored unclassfull.EIGRPutilizzaunamodificadellalgoritmo distancevector.Lametricautilizzatalastessaper entrambi ed molto pi complessa di quella utilizzata dal RIP. La metrica utilizzata da IGRP e EIGRP Lametricachevieneutilizzatadatadallaseguente formula che fornisce il costo del collegamento fra il router i e il router j: e se K5 = 0 allora si ha: DoveiparametriKsonodeivaloricostantidefinitidal configuratore;doveBW=10.000.000/band_num (nellEIGRPquestovalorevienemoltiplicatoper256)eband_num definito dal comando: Router(config-if)# bandwidth band_num Enormalmentesiutilizzailvaloredellavelocitdi collegamento(es.suuninterfacciaserialea512Kb/ssi configura band_num = 512). LasegurentetabellamostraalcunivaloridiBWper alcuni link: LinkBW Gigabit Etrhernet 10 Fast Ethernet 100 Ethernet 1000 Seriale 512 Kb/s 19531,25 Seriale 64 Kb/s 156250 Il valore Dl configurato dal comando: Router(config-if)# delay Dl (nellEIGRPquestovalorevienemoltiplicatoper256).E rappresentailtempocheintercorreperricevereunbit trasmessosullinksenzaaltrotipoditraffico.Lunitdi misura 10 microsecondi. Tempo di ritardoDl 1 ms100 10 ms1000 200 ms20.000 Mentre BW e Dl sono valori statici i valori L (Load) e Re (Reliability)sonoparametridinamici(sonocalcolatitramite mediaesponenzialepesatasuunperiododi5minutieaggiornamento ogni 5 secondi). Lcorrispondeallaproporzionedellabandainusosuuna scalachevda0a255;255significautilizzodel100% della banda. Reforniscelafrazionedipacchettichearrivanonon danneggiati in una scala che v da 0 a 255; 255 significa che il 100% dei pacchetti arriva non danneggiata. Nonostantetuttaquestacomplessametrica,didefault Cisco imposta i seguenti parametri K: K1 = 1; K2 = 0; K3 = 1; K4 = 0; K5 = 0 In questo modo il costo si riduce alla pi banale formula: C BW Dlij ij ij= +

Lamodificadeivalorididefaultdeveesserefattamolto attentamente,inquantosonopossibiliinstabilit( interessantenotarechetuttiidocumenticiscochehotrovato,sulla metrica di IGRP e EIGRP, sconsigliano in modo molto forte di cambiare ivalorididefault.Nonsonoriuscitoatrovarenemmenounesempiodi quandoeperchpotrebbeessereutilemodificarli.Ilmiosospettoche una metrica cos complessa in buona parte soltanto pubblicit). IlcampodellametricainIGRPdi24bitsmentrein EIGRP di 32 bits. Il comando per modificare i parametri K il seguente: Router(config-router)# metric weights tos k1 k2 k3 k4 k5 Ilcostodelpercorsocompositoi,peresempiodalrouter A al router B data (con i parametri di default) da: IGRP Il protocollo IGRP invia gli update in broadcast. LIGRP specifica un dominio di routing, che corrisponde allAutonomous System definito allinizio dellarticolo.Per abilitare il processo IGRP si utilizzi il comando: max 23 TECNONET S.p.A. Router(config)# router igrp autonomous-system Router(config-router)# network net_num IGRP pu annunciare tre tipi di routes: Interior:sonoroutesfrasubnetsconnesseallastessa interfaccia System: sono routes annunciate allinterno dellAS. Exterior: sono routes di networks al di fuori dellAS. IGRPsceglieunrouterdiultimascelta(gatewayof last resort) dalla lista delle exterior routes. +SelASha pi di unaconnessione alnetwork esterno, router differentidellAS possonosceglieredifferentiexterior routes come gateway di ultima scelta. I Timers di IGRP I timers utilizzati dal processo di routing IGRP sono: Updatetimer:valoredidefault90secondi.Indica lintervallo di tempo fra unupdate e il successivo. Invalid(Routetimer):valoredidefault270secondi. Rappresentailtempomassimopercuiunaroute consideratavalida,senonvienericevutounupdate che ne confermi la validit. Quando il timer scade, la routevieneconsideratainvalidaevieneattivatoil processo di cancellazione Holddowntimer:valoredidefault280secondi. Durante questo tempo il router inserisce la route negli update come irraggiungibile. Flush timer: valore di default 630 secondi. il tempo chedevepassareperrimuoverecompletamentela route. Permodificareivalorididefaultdeitimersusareil comando: Router(config-router)#timersbasicupdateinvalidholddown flush SipuforzareilrouterIGRPadinviaregliupdatein unicast con il comando: Router(config-router)# neighbor ip-address Sevogliamopossiamofareinmodocheuninterfaccia nontrasmettagliupdate machesia abilitata a riceverlie ad elaborarli. Questo lo si ottiene con il comando: Router(config-router)# passive-interface interface_name Abbiamovistonelparagrafodelloadbalancingche lIGRP permette tramite il comando variance di utilizzare anchepercorsiversolastessadestinazioneconcosti diseguali.Ilcomandoseguenteservepermodificareil tipo di bilanciamento utilizzato: Router(config-router)# traffic share [balanced | min] Didefaultilbilanciamentoditipobalanced,che significa che il traffico distribuito proporzionalmente al costo.Ilcomportamentomininvecechesaranno utilizzate le routes di costo minimo. Ancheseglihopsnonsonoutilizzatinellametrica dellIGRP,didefaultcomunquenonpossonoessere superatii100hops.Questoparametropuessere modificatofinoadunmassimodi255conilseguente comando: Router(config-router)# metric maximum-hops hops Lo split horizon abilitato di default su tutte le interfacce tranneper quellecheutilizzanoprotocolliditipoNBMA come il Frame Relay.Inoltresesuuninterfacciasonopresentiindirizziip secondarielosplithorizonabilitatosarannoinviati update solo dallindirizzo primario. Perabilitareodisabilitarelosplithorizonsu uninterfaccia utilizzare i seguenti comandi: Router(config-if)# ip split-horizon Router(config-if)# no ip split-horizon EIGRP Questoprotocollodiroutingunevoluzionedel protocollo IGRP. Ha molte propriet che ne migliorano le caratteristiche rispetto allIGRP, elenchiamone alcune: Protocollo Classless (supporta VLSM e CIDR) +Lautosummaryabilitatodidefault,mapuessere disabilitato Ha possibilit di autenticazione Pu essere utilizzato anche per diverse architetture di protocollo,oltreilTCP/IPpuessereutilizzatoper lIPX e per lAppleTalk. LametricautilizzatalastessadellIGRP moltiplicata di un fattore 256. Usa il multicast (224.0.0.10) per inviare i suoi update incapsulatodirettamenteinIPconilprotocol number 88 Noninviaupdateperiodici,masoltantoaseguitodi una variazione. +Solonellafaseinizialedivicinanzavieneinviatalintera tabelladiroutingattraversogliupdate.Duranteuna variazione della rete gli update contengono solo le routes che hanno subito il cambiamento. unprotocollocosiddettoibrido,inquantousa caratteristiche del distance vector e del link state LalgoritmoutilizzatodettoDUAL(Diffusing Update ALgorithm) Lalgoritmo DUAL in EIGRP 1)AppenaunrouterEIGRPvieneacceso(oviene abilitato il processo EIGRP) inizia a spedire pacchetti 24 TECNONET S.p.A. Hello(inquestaprimafaseunbitdiinizializzazione settato) dalle interfacce.a)I pacchetti Hellosono usati perlascopertadeivicini,esono inviati in multicast. Per default gli Hello vengono inviati ogni 5 secondisui seguenti link:ethernet token ring fddi ppp hdlcframerelaypointtopointisdnpri(bandwidth> T1)framerelaymultipoint(bandwidth>T1).Vengono inviati ogni 60 secondi su link NBMA con bandwidth < T1. I pacchettiHellocontengonoiltempocheintercorrefraun Hello il successivo (detto Hello time),e inoltrecontengono uncampodettoholdtimechesiriferisceallavaliditdiun entry.Didefaultlholdtimecorrispondea3volteiltempo definito da hello time (quindi o 15 sec o 180 sec). 2)Quandoun router EIGRPriceveunpacchettoHello, esso inizia la relazione di vicinanza. a)La relazione di vicinanza fallisce se: i)Hello-timeeHold-timenonsonougualiaquellidel vicino. ii)Se i valori K della metrica non sono uguali. iii)Se il numero di AS non lo stesso. 3)I routers che superano questa fase rispondono con un Updatechecontienetutteleroutescontenutenella propria tabella di routing 4)Il router che ha inviato gli Hello ricevendo gli Update invia ad ogni mittente un ACK. a)Inoltre immette gli indirizzi ip dei vicini nella neighbor table. AppenaricevutituttigliUpdatedaiviciniformalatopology table. Questa tabella contiene tutte le routes imparate da ogni vicinoeduecostiassociatiadogniroute.Laprimadetta advertised distance (ad) ed il costo associato a quella route comevieneannunciatadalvicino.Lasecondalafeasible distance(fd)cheugualeallaadsommatoalcostodellink che collega il router al vicino che ha inviato lupdate.b)Orailrouterdeveaggiornarelasuatabelladirouting.Per fareciscegliefratutteleroutesversounastessa destinazionequellaconlafdminore.Sepresentipidiuna routes con la stessa fd minore vengono messe tutte fino ad un massimo disei (dipende dal comandomaximum-paths) nella tabella di routing. c)Ilroutervicinoperlaqualelaroutedevepassarevienea questopuntodefinitonellatopologytablecomesuccessor. Vieneinoltredefinito,sepresente,unfeasiblesuccessor, essoperdevesoddisfarelacondizioneche adfeasible_successor5. Elezione del DR e BDR a)ilrouterchestatoaccesomoltoprimadeglialtri diventa DR, il secondo BDR. b)Oppure se accesi nello stesso momento: i)Il router con priority maggiore diviene DR ii)Ilrouterconpriorityantecedentela maggiore diviene BDR iii)Nel caso le priority siano uguali, il router ID usato. Il router ID maggiore diviene DR il secondo router ID diviene BDR. iv)Unrouterconpriorityugualea0nonpu essere eletto DR o BDR v)Quando un DR statoeletto anche seviene immessounrouterconprioritypialta non vieneiniziataunanuovaelezione.Soltanto seilDRoilBDRvannodownviene riiniziata lelezione Exchange subprotocol Unavoltaformalavicinanza(dettaancheadiacenza),i routersidevonosincronizzare.Vieneusatoperquesto scopo il sottoprotocollo Exchange che comprende due tipi di pacchetti:Database Description (DD) Link State Request (LSR) unprotocolloasimmetrico.Infattiilprimopasso consisteneldefinireunodeidueroutercomeMastere laltro come Slave. ComeprimafasesonoscambiatiilsommariodeiLink State Advertisement (LSA) in possesso di ciascun router. InsecondafasesonorichiestiallaltroroutergliLSA mancantioobsoleti(ricordochegliLSAservonoper formare la mappa completa della rete). La terza fase la trasmissione degli LSA richiesti. Il pacchetto DD fatto in questo modo: I campi hanno il seguente significato: Options: sono definiti solo gli ultimi 2 bit (bit E e bit T) a)bitE:seilrouteringradodiinviareericevereroute esterne; pari a 0 se linterfaccia appartiene ad una stub area b)bitT:seilrouteringradodigestirepacchetticondiversi TOS I: Initialize M: More MS: Master Slave (1 = Master) DDSequenceNumber:numerodisequenzadel pacchetto DD I campi successivi (che possono essere ripetuti) sono la descrizione dellheader di un LSA Vediamo le fasi dello scambio: a)Ilroutercheinizialaprocedurainviaun pacchetto DD vuoto con I, M e MS settati b)Laltrorouterrispondeinviandounpacchetto DD di ack con I e M settati c)Ilprimorouterpuiniziareadinviarele descrizionidaluiposseduteinviandopacchetti DDconMeMSsettati,trannelultimo pacchetto che ha solo MS settato. d)LoSlaverispondeinviandounpacchettoDDdi ackconMsettatoriportandolasuadescrizione del database. e)SeilMasternonricevelackentrouncerto intervallo riinvia il pacchetto originale DD f)Se viceversa lo Slave non ha finito di trasmettere le sue descrizioni: i)IncorrispondenzadelpacchettodelSender con M = 0 invia un pacchetto DD con M = 1 ii)Il master continua ad inviare pacchetti vuoti conM=0edaccettaregliack(conle descrizioni) che gli arrivano dallo Slave iii)Laproceduradisincronizzazionetermina quandoancheloSlaveinviaunpacchetto con M = 0 g)Duranteloscambiosiailmastercheloslave controllanodiaverelLSAinviatodalla controparte,equestoLSAnondeveesserepi vecchiodiquelloricevuto.Sequestonon verificatolLSAvieneinseritonellalistadegli LSA da richiedere 27 TECNONET S.p.A. AquestopuntosesonostatirilevatidegliLSAda sincronizzare,sonoinviatipacchettiLSR,iquali richiedono allaltro router di trasmettere gli LSA completi corrispondenti ai campi seguenti: Gli LSA richiesti sono inviati tramite il sottoprotocollo di flooding. Flooding subprotocol usato per trasmettere lo stato dei link.Vengono inviati: In caso di cambiamento di stato di link A seguito di una richiesta LSR Allo scadere di un timer (normalmente 60 min) Ilsottoprotocollofloodingcompostodaduetipidi pacchetti: Link State Update (LSU) Link State Acknowledgement (LSAck) Il formato dei LSU il seguente: DoveNumberofAdvertisementilnumerodiLSAche vengonotrasportatidalpacchetto.InfattiunLSUpu trasportarepiLinkStateAdvertisement(LSA),e questultimoeffettivamentelastrutturadatiche trasportaleinformazioni.Corrispondeaglilsp dellalgoritmo link state. Esistono 7 tipi di LSA . Noi daremo le caratteristiche dei primi 5. ComunquetuttigliLSAhannolostessoheadercheil seguente: I campi hanno il seguente significato: LSAge:tempochedescrivedaquantotempoil router mittente conosce questa LSA Options: sono definiti solo gli ultimi 2 bit (bit E e bit T) a)bitE:seilrouteringradodiinviareericevereroute esterne; pari a 0 se linterfaccia appartiene ad una stub area b)bitT:seilrouteringradodigestirepacchetticondiversi TOS LS Type: tipo di LSA trasportato Link State ID: identificativo dellLSA a)sceltodallAdvertisingRouter,mailsignificatoprecisopu variare a seconda del Type Advertising Router: il router ID del router mittente originale. Descriviamo i primi 5 tipi di LSA: LSA tipo1: Router link LSA tipo2: Network link LSA tipo3: Summary link (IP network) LSA tipo4: Summary link (to a border router) LSA tipo5: External link PrimadispecificareidettaglidegliLSA,descriviamo alcunecaratteristichefondamentalidelleareeOSPF.Se sonopresentipidiunaareaunadiessedeveessere identificatacon il numero0(ovvero0.0.0.0)equestarea detta backbone area. Lealtreareedevonoaverealmenouncollegamentoalla backbone area. Questoimplicachelorganizzazionedelleareenon totalmentearbitraria.Labackboneareahaunruolo determinantesiaperlatrasmissionedati,siaperla propagazione delle informazioni di routing.Ipacchettichedevonoraggiungereunadestinazionein unarea diversa da quella del mittente devono attraversare la backbone area. InoltreirouterinOSPFsonoclassificatinelseguente modo: Internalrouter:sonorouterchehannotuttele interfaccenellastessaarea(selarea0gliInternal router sono anche detti Backbone router); AreaBorderRouter(ABR):sonorouterchehanno interfacceindueopiaree(unadeveesserela backbonearea).Ogniinterfacciapuappartenerea una sola area; ASboundaryrouter(ASBR):sonorouterchehanno interfacce collegate al di fuori dellAS, oppure anche setutteleinterfacceallinternodellASmaalcune collegate a domini di routing IGP diversi; Gli LSA tipo1 e Tipo2 sono confinate in una singola area:

28 TECNONET S.p.A. mentregliLSAtipo3,tipo4etipo5sonotrasmessein tutto il dominio OSPF:

Aree di tipo Stub un area dove tutte le External routes allarea stessa sono sostituite da una sola Default Route (0.0.0.0/0.0.0.0). usata spesso quando un area ha un solo ABR. Inquestocasononnecessarioinviarele routesesterne, in quanto per uscire dallarea vi un solo router e quindi la strada obbligata. In unarea Stub vietato avere unASBR. Aree di tipo Totally Stubby (solo Cisco) Queste aree sono unevoluzione delle aree Stub, in quanto nonsololeExternalroutessonosostituitedallaDefault RoutemaancheleSummaryRoutes.InunareaTotally Stubby vietato avere unASBR. LSA tipo1: Router Link Questo LSA riporta le informazioni su tutti i link connessi alroutercheinviaquestoLSA.GliLSAtipo1nonsono propagati al di fuori dellarea in cui sono stati generati. Significato dei campi: E: questo bit settato se il router un ABR B: questo bit settato se il router un ASBR Numberoflinks(N):icampicompresitraledue frecce sono ripetuti N volte Se Link type un link punto-punto: a)Link ID = router ID di questo router b)Link Data = indirizzo IP dellinterfaccia del router Se Link type un link su una rete che ha un DR: a)Link ID = indirizzo ip dellinterfaccia del DR b)Link Data = indirizzo IP dellinterfaccia del router SeLinktypeunlinkchesiconnetteadunarete Stub: a)Link ID = indirizzo IP della rete b)Link Data = netmask della rete precedente #TOS:ilnumerodiserviziconcuivengono differenziate le metriche TOS0metric:ilcostodellinkperipacchetticon TOS = 0; TOS = x : il TOS dei pacchetti IP che utilizzano una metrica alternativa a quella standard; TOSxmetric:ilcostodellinkperipacchetticon TOS = x; (perchinonsapessechecosilTOS,vedailparagrafo sulla metrica OSPF) LSA tipo2: Network Link QuestiLSAsonoinviatidaiDReservonoadescrivere unaretelocalemedianteunatopologiaastella.GliLSA tipo2descrivonotuttii router presentisulla retelocale,o meglio che hanno creato adiacenza con il DR. Significato dei campi: LinkID(dellheaderLSA):indirizzoip dellinterfaccia del DR collegata alla Lan; NetworkMask:Netmaskassociataallarete annunciata; AttachedRouter:ilrouterIDdeirouterschehanno creato una adiacenza con il DR; LSA tipo3 e tipo4: Summary Link GliLSAditipo3propaganoleinformazioni sommarizzaterelativealladistanzatralABRele destinazioni interne allAS. +UnABRgeneraLSAconcontenutodiversoper ognuna delle aree su cui si affaccia GliLSAditipo4propaganoleinformazioni sommarizzaterelativealladistanzatralABRegli ASBR. +Viene propagato senza variazioni su tutte le aree dove collegato lABR. Ogni LSA contiene una sola destinazione. Significato dei campi: LinkIDdeltipo3(dellheaderLSA):indirizzoIP della rete che viene sommarizzata. LinkIDdeltipo4(dellheaderLSA):routerID dellASBR annunciato. Networkmask(tipo3):netmaskdellaretecheviene sommarizzata Network mask (tipo4): valore fisso = FFFFFFFF 29 TECNONET S.p.A. TOS: stesso significato di quello dei router links LSA tipo5: External Links Riportanoleinformazionirelativeadestinazioniesterne al dominio. SonogenratidagliASBRepropagatiatuttiirouterdel dominio OSPF. OgniLSAcontiene una sola destinazione Significato dei campi: Link ID (dellheader LSA): indirizzo IP della rete che viene annunciata. Network Mask: netmask della rete annunciata. E bit: il primo bit del campo TOS, indica che se le route vengono acquisite tramite protocolli quali BGP i quali hanno una metrica non comparabile con quella di OSPF. +Sesettatoindicachelametricanon compatibileconOSPFequindiladistanzadeve essereconsideratamaggiorediognialtraroute interna (metrica E2) +Nelcasolametricasiacompatibilepossibile farnelasommaconicostiinternialdominio OSPFricavandoilcostoeffettivoper raggiungere la destinazione (metrica E1) External Route Tag: utilizzato dai Border Router per scambiarsi informazioni in riferimento a quella route TOS: stesso significato dei router links Per una stessa destinazione esterna le route con metrica di tipoE1sonopreferiterispettoaquelledimetricaE2(il volume 1 BSCN version 1 a pag. 5-12 riporta il contrario: errato!). Lindirizzodidestinazioneiputilizzatoperinviaregli LSU il multicast 224.0.0.5. Per lLCAck dipende dal mittente: -ilDReilBDRusanolindirizzodelrouter OSPF che ha inviato lLSU. -Glialtrirouterusanolindirizzomulticast corrispondente al DR: 224.0.0.6 Metrica OSPF LOSPF consente luso di una metrica per ognuno dei tipi diservizioTOS(TypeOfService)dellintestazioneIP. Ciconsentealrouterdicalcolareunalberodirouting distintoperognunodeitipidiservizioofferti,quindidi usare percorsi diversi per pacchetto che richiedono tipi di serviziodifferenti.Lafiguraseguentemostra icampi del TOS. In teoriasono possibili 64 tipi di servizio. In pratica ilcampoPrecedenceignoratoesonopossibili8tipidi servizio differenti. Il costo per ogni singolo TOS calcolato con una metrica inversamente proporzionale alla banda. Virtual Link LOSPF prevede la definizione di collegamenti virtuali tra lastessaarea(sepresentialmenodueABR)oattraverso unarea. Ilvirtuallinkpuessereutilizzatoperaumentarela flessibilit nella progettazione della backbone area. Le virtual links non sono permesse nelle stub area. LOSPFdevelavoraresuconnessionipunto-puntoe abbiamovistocheperrisolverequestoproblemasu toplogieBMA(BroadcastMultiAccess),vieneelettoun DR e un BDR. LaRFC2328perrisolverelostessoproblemasu topologieNBMA (Non Broadcast Multi Access) prevede le seguenti modalit: -NBMA: Simula la topologia BMA. Vuole una topologiacompletamentemagliata(oppureuna topologiaparticolareche quinondescrivo), sono eletti unDReunBDR,gliHellosonoinviatiin Unicastequindiineighborssonoconfigurati staticamenteeinfinenecessariaunasola subnet -POINTTOMULTIPOINT:Simula lambientePoint-to-Point,latopologia ottimale la parzialmente magliata. Non sono elettiDReBDR,gliHellosonoinviatiin Multicastequindinecessariochelareteli supporti,ineighborssonoautomaticied necessaria una sola subnet La Cisco ha sviluppato altre tre modalit: -BROADCAST:ugualeallamodalit standardNBMAtranneperilfattochegli Hello sono inviati in Multicast e quindi la rete devesupportarlieiroutersutilizzatidevono essere solo Cisco -POINTTOMULTIPOINTNON BROADCAST:ugualeallaseconda possibilitdellostandardtranneperilfatto chepulavoraresu ambientidoveimulticast non sono supportati, e quindi i neighbors sono configurati manualmente.-POINTTOPOINT: questamodalitfunziona come attraverso lutilizzo di di sottointerfacce pointtopoint,equindinecessitadellutilizzo dipisubnetsegliHellosonoinviatiin multicast.Questalamodalitpreferitasesi utilizzano routers Cisco. 30 TECNONET S.p.A. ConfigurazionedelprotocollodiroutingOSPFsu apparati Cisco LattivazionedelprocessoOSPFfattotramiteil comando: Router(config)# router ospf process-id Doveprocess-idunnumerointernoalrouterche identificailprocesso.Questonumerononvienemai trasmesso allesterno. Perdefinirequaliinterfaccesonoabilitatealprocesso OSPF e quale area appartengono si usi: Router(config-router)#networkaddresswildcard-maskareaarea-id PermodificarelapriorityperlelezionedelDRsiusiil comando: Router(config-if)# ip ospf priority num PerquantoriguardalametricairoutersCisconon supportano metriche con TOS differenti da 0. Perciilcostodiunlinkdatosemplicementedalla formula: 108/Bandwidth (attenzione ricordarsi che la bandwidth di defaultsulinkserialilaT1,specificaresempreconilcomando Bandwidth la giusta velocit del link).Si pu modificare il costo di una singola interfaccia con il comando: Router(config-if)# ip ospf cost cost Invecepermodificarelacostantedellaformula delcosto si usi: Router(config-router)# auto-cost reference-bandwidth ref-bw PerdefinirelamodalitOSPFsutopologieNBMAsi usino i seguenti comandi: Router(config-if)# ip ospf non-broadcast(NBMA) -necessarialaconfigurazionedei neighbors Router(config-if)# ip ospf network point-to-multipoint Router(config-if)#ipospfnetworkpoint-to-multipointnon-broadcast -necessarialaconfigurazionedei neighbors Router(config-if)# ip ospf network broadcast Router(config-if)# ip ospf network point-to-point Per la configurazione dei neighbors si usi il comando: Router(config-router)#neighborip-address[prioritynum][poll-interval sec][cost num] Per definire unarea come area stub si usi: Router(config-router)# area area-id stub Per definire unarea totally stub su usi: Router(config-router)# area area-id stub no-summary LasommarizzazionenonautomaticainOSPFedessa pu essere effettuata negli ABR. Per fare ci si usi: Router(config-router)#areaarea-idrangeaddressmask [advertise | not-advertise] Mentreperaggreggarele routeesterneprovenienti daun ASBR si utilizzi il comando: Router(config-router)#summary-addressaddressmask[not-advertise][tag tag] Per creare una virtual link si usi il comando: Router(config-router)# area area-id virtual-link router-id Dove area-id larea di transito e il router-id deve essere il valore dellaltro router del virtual link. TEMPO DI COVERGENZA DEI PROTOCOLLI DI ROUTING Iltempodiconvergenzadiunprotocollodiroutingsi calcolaapartiredalmomentochevienerilevatouna variazionediunlink.Macomevienerilevataquesta variazione? La variazione pu essere rilevata in tre modi: Livellofisico:seillinkalivellofisicopassadallo stato up allo stato down, la rilevazione immediata Livello Data Link: si utilizzano i Keepalives che sono trasmessidalleinterfacceogni10sec.Allamancata ricezionedi3Keepalivesconsecutiviillink consideratodown,dunquelarilevazionedella variazione dopo 30 sec. Per alcuni tipi di reti (vedi IBM SNA) questo tempo pu essere troppo elevato, e pu essere modificato con il comando: + Router(config-if)# keepalive sec + Dove sec il valore in secondi dellintervallo fra un keepalive e il seguente. LivelloNetwork:allamancatadi3updateo3hello consecutivi il link considerato down. Dunque per il RIPlarilevazionedopo90sec.;perlIGRPdopo 270sec;perlEIGRPdopo15secodopo180seca secondadel tipo di interfaccia; Solodopoaverrilevatolavariazioneinizianole proceduredinamichecheabbiamovistonellarticolo precedente. Tempodiconvergenzamassimoperivaritipidi protocolli: RIP:4minuti;questotempopuessereelevatoperretiIBM SNA.Inquestocasoutilizzatequestocomandosututtiirouters Cisco presenti: + Router(config-router)# timers basic 20 60 60 120 IGRP: 6 minuti; questo tempopuessereelevatoper reti IBM SNA.Inquestocasoutilizzatequestocomandosututtiirouters Cisco presenti: + Router(config-router)# timers basic 20 60 60 120 EIGRP: 15 secondi; OSPF: 40 secondi; R. Gaeta