Académique Documents
Professionnel Documents
Culture Documents
Sistemidielaborazione:RetiI
PROF. G. BONGIOVANNI
Premessa......................................................................................................................................................................... 4
1) INTRODUZIONE................................................................................................................5
1.1) Usi delle reti di elaboratori....................................................................................................................................6 1.2) Aspetti hardware delle reti....................................................................................................................................7 1.2.1) Tecnologia trasmissiva.....................................................................................................................................7 1.2.2) Scala dimensionale........................................................................................................................................... 8 1.2.3) Reti locali......................................................................................................................................................... 9 1.2.4) Reti metropolitane.......................................................................................................................................... 10 1.2.5) Reti geografiche............................................................................................................................................. 11 1.2.6) Interconnessione di reti (Internetwork)..........................................................................................................14 1.3) Aspetti software delle reti....................................................................................................................................15 1.3.1) Gerarchie di protocollo...................................................................................................................................15 1.3.2) Architettura di rete......................................................................................................................................... 18 1.3.3) Funzionamento del software di rete............................................................................................................... 19 1.3.4) Interfacce e servizi......................................................................................................................................... 21 1.3.5) Servizi connection-oriented e connectionless................................................................................................ 23 1.3.6) Affidabilit del servizio..................................................................................................................................25 1.3.7) Primitive di definizione del servizio.............................................................................................................. 26 1.3.8) Servizi vs. protocolli...................................................................................................................................... 28 1.3.9) Aspetti di progetto dei livelli..........................................................................................................................29 1.4) La realt nel mondo delle reti............................................................................................................................. 29 1.4.1) Modello OSI................................................................................................................................................... 30 1.4.2) Internet Protocol Suite....................................................................................................................................35 1.4.3) Confronto fra modello di riferimento OSI e architettura TCP/IP..................................................................37 1.4.4) Esempi di architetture di rete......................................................................................................................... 39 1.4.5) Autorit nel mondo degli standard.................................................................................................................43
2.3.4) SONET/SDH.................................................................................................................................................. 60 2.3.5) Commutazione............................................................................................................................................... 62 2.3.6) Dispositivi di commutazione..........................................................................................................................63 2.3.7) Servizi per trasmissione dati.......................................................................................................................... 63
5.1) Servizi offerti...................................................................................................................................................... 118 5.2) Organizzazione interna della subnet................................................................................................................119 5.3) Algoritmi di routing........................................................................................................................................... 120 5.3.1) Il principio di ottimalit............................................................................................................................... 121 5.3.2) Algoritmi statici............................................................................................................................................122 5.3.3) Algoritmi dinamici....................................................................................................................................... 124 5.3.4) Routing gerarchico....................................................................................................................................... 127 5.4) Controllo della congestione............................................................................................................................... 129 5.4.1) Traffic shaping............................................................................................................................................. 130 5.4.2) Choke packet................................................................................................................................................ 132 5.5) Internetworking................................................................................................................................................. 133 5.5.1) Internetwork routing.....................................................................................................................................136 5.6) Il livello network in Internet............................................................................................................................. 137 5.6.1) Lo header IP (versione 4)............................................................................................................................. 138 5.6.2) Indirizzi IP....................................................................................................................................................139 5.6.3) Routing IP.....................................................................................................................................................142 5.6.4) Subnet........................................................................................................................................................... 143 5.6.5) Protocolli di controllo.................................................................................................................................. 144 5.6.6) Protocolli di routing..................................................................................................................................... 145 5.6.7) IP versione 6.................................................................................................................................................147
Premessa
Questiappuntisonobasatisullibro"ComputerNetworks"diA.Tanenbaum,terza
edizione,ed.PrenticeHall,adottatoqualelibroditestodelcorso. Essirispecchianopiuttostofedelmenteillivellodidettagliochevieneseguitodurantele lezioni,ecostituisconounausiliodidatticoallostudio. Tuttavia,importantechiarirechegliappuntinonvannointesicomesostitutivindel libroditestondellafrequenzaallelezioni,cherimangonofattoriimportantiperuna buonapreparazionedell'esame. Larealizzazionediquestiappuntistataresapossibiledallacollaborazionedellostudente FedericoNeri,chehaavutolapazienzadiconvertireinformaelettronicailcontenuto testualedeimanoscrittidamepreparatiperilcorso.Larealizzazionedellefigure,la formattazioneelarifinituradeltestosonooperamia.
1) Introduzione
Gliultimitresecolisonostatidominaticiascunodaunadiversatecnologiacheloha
caratterizzatoedhaavutoprofondeinfluenzesullavitadell'uomo: 18secolo:sistemimeccanici,rivoluzioneindustriale; 19secolo:motoriavapore; 20secolo:tecnologiedell'informazione: raccoltaememorizzazione; elaborazione; distribuzione. Nelnostrosecolosisonoviaviadiffusi: ilsistematelefonico,alivellomondiale; laradioelatelevisione; icomputer; isatellitipertelecomunicazioni. Questetecnologiestannorapidamenteconvergendo.Inparticolare,lacombinazionedi elaboratoriesistemiditelecomunicazionehaavutounaprofondainfluenza sull'organizzazionedeisistemidicalcolo. Sipassatidalvecchiomodellomainframeterminali,incuilapotenzadicalcolo concentratainununicograndeelaboratoreacuisiaccedepermezzodiuncertonumero diterminali,aquelloattualeincuiviungrandenumerodielaboratoriautonomi, interconnessifraloro: autonomi:significachenondeveessercifralorounarelazionetipomaster/slave(ad es.,l'unononpuforzarelospegnimentodell'altro); interconnessi:significachedevonoesserecapacidiscambiareinformazioni(sfruttando unopportunomezzofisico). Unsistemadicalcolosiffattodettoretedielaboratori(computernetwork). Sinoticheretedielaboratorinonsinonimodisistemadistribuito.Infatti: inunsistemadistribuitol'esistenzadipielaboratoriinvisibileall'utente,cheha l'impressionediavereachefareconununicosistemadicalcolo; inunaretedielaboratori,l'utenteconsciodell'esistenzadimolteplicielaboratori,che devonoessereesplicitamenteriferiti. Ineffetti,sipudireche: RetediElaboratori+Sistemasoftwaredigestione=Sistemadistribuito doveilsistemasoftwaredigestionealtrononcheunparticolaretipodisistema operativo,ossiaunsistemaoperativodistribuito.
Moltissimisonogliusidelleretidielaboratori,siaperleorganizzazionicheperisingoli
individui. Perleorganizzazioni: condivisionerisorse:sipossonorenderedisponibiliachiunqueprogrammie informazionianchedistantimigliaiadikm; affidabilit:siottienemettendoinretesorgentialternativedellerisorse(ad es.duplicandoleapplicazionieidatisupicomputer).E'importanteinsistemi chedevonofunzionareatuttiicosti(trafficoaereo,centralinucleari,sistemi militari,ecc.); diminuzionedeicosti:unaretedipersonalcomputercostamoltomenodiun mainframe.Avoltealcunielaboratorisonopipotentiedoffronoaglialtridei servizi(modelloclientserver,vedifigurasottostante); scalabilit:sipossonoaumentareleprestazionidelsistemaaumentandoil numerodielaboratori(entrocertilimiti); comunicazionefrapersone:possibileinviarsimessaggi,scambiarsifile,ecc.
Elab. cliente Proc. cliente Elab. server Proc. server
Richiesta Risposta
Rete
Figura11:Ilmodelloclientserver
Perisingoliindividui:(disolitodacasapropriatramite"fornitoridiaccesso"): accessoadinformazioniremote,ades.: accessoaservizibancari; acquistidacasa; navigazionesulWorldWideWeb; comunicazionifrapersone: postaelettronica; videoconferenza; gruppididiscussione; divertimento: videoondemand(selezioneericezioneviaretediunqualunque spettacolotrattodauncatalogo); giochiinterattivi(contromacchineoavversariumani).
Dueparametrisonoutiliperdefinirelecaratteristichediunarete,anchesenonesisteuna
tassonomiauniversalmenteaccettata: tecnologiatrasmissiva; scaladimensionale.
Cisonoduetipologieperquantoriguardalatecnologiatrasmissiva:
retibroadcast; retipuntoapunto.
Rete
Figura12:unaretebroadcast
Quandounelaboratorericeveunpacchetto,esaminal'indirizzodidestinazione;sequesto coincidecolproprioindirizzoilpacchettovieneelaborato,altrimentivieneignorato. Leretibroadcast,ingenere,consentonoanchediinviareunpacchettoatuttiglialtri elaboratori,usandounopportunoindirizzo(broadcasting).Intalcasotuttiprendonoin considerazioneilpacchetto. Un'altrapossibilitinviareilpacchettoadunsottoinsiemedeglielaboratori (multicasting).Intalcasosologlielaboratoriditalesottoinsiemeloprendonoin considerazione,glialtriloignorano.Inquestocaso,unbitdell'indirizzoindicachesitratta diunatrasmissioneinmulticasting.Irimanenti(n1)bitdell'indirizzorappresentano l'indirizzodelgruppodestinatario. Leretipuntoapuntoconsistonoinvecediuninsiemediconnessionifracoppiedi elaboratori.
7
Pacchetto
Elaboratore
Connessione
Figura13:unaretepuntoapunto
Uncriterioalternativodiclassificazionelascaladimensionaledellereti.Inquesto
contestosidistinguefraretilocali,retimetropolitaneeretigeografiche.
Ladistanzaunfattoremoltoimportante,poichadifferentiscaledimensionalisiusano differentitecniche.
Leretilocali(LocalAreaNetwork,LAN),ingenere:
sonopossedutedaunaorganizzazione(retiprivate); hannoun'estensionechearrivafinoaqualchekm; sidistendononell'ambitodiunsingoloedificioocampus(nonsipossono,dinorma, posarecavisulsuolopubblico); sonousatissimeperconnetterePCoworkstation. Essesidistinguonodaglialtritipidiretepertrecaratteristiche: dimensione:ladimensionenonpuandareoltreuncertolimite,percuinotoaprioriil tempoditrasmissionenelcasopeggiore.Questaconoscenzapermettediutilizzaredelle tecnicheparticolariperlagestionedelcanaledicomunicazione; tecnologiatrasmissiva:comegiaccennato,leLANsonoingeneraleretibroadcast. Velocitditrasmissionetipichesonoda10a100Mbps(megabitalsecondo,ciomilioni dibitalsecondo),conbassoritardodipropagazionedelsegnaledauncapoall'altrodel canale(qualchedecinadimicrosecondi)ebassotassodierrore; topologia:sonopossibilidiversetopologie,lepidiffusesonoilbusedilring; topologiabus: inogniistantesolounelaboratoreputrasmettere,glialtridevono astenersi; necessariounmeccanismodiarbitraggioperrisolvereiconflitti quandodueopielaboratorivoglionotrasmetterecontemporaneamente; l'arbitraggiopuesserecentralizzatoodistribuito; lostandardIEEE802.3(chiamatoimpropriamenteEthernet)peruna retebroadcast,basatasuunbus,conarbitraggiodistribuito,operantea10 oppure100Mbps; glielaboratoritrasmettonoquandovogliono;sec'unacollisione aspettanountempocasualeeriprovano; topologiaring: inunringognibitcircumnavigal'anelloinuntempotipicamente inferioreaquelloditrasmissionediunpacchetto; anchequinecessariounmeccanismodiarbitraggio(spessobasato sulpossessosiungettone(token)cheabilitaallatrasmissione); lostandardIEEE802.5(derivantedallareteIBMTokenRing)una retebroadcastbasatasuring,conarbitraggiodistribuito,operantea4o16 Mbps.
Ring
Bus
Figura14:topologiebusering
Infineleretibroadcastpossonoessereclassificateasecondadelmeccanismosceltoper l'arbitraggio: Allocazionestatica:leregoleperdeciderechisarilprossimoatrasmetteresonofissate apriori,adesempioassegnandountimeslotadognielaboratoreconunalgoritmo roundrobin.Losvantaggiorappresentatodallosprecodeitimeslotassegnatia stazionichenondevonotrasmettere. Allocazionedinamica:sidecidedivoltainvoltachisarilprossimoatrasmettere; necessariounmeccanismodiarbitraggiodellecontese,chepuessere: arbitraggiocentralizzato:unappositaapparecchiatura,adesempio,unabus arbitrationunit,accettarichiesteditrasmissioneedecidechiabilitare; arbitraggiodistribuito:ognunodecidepercontoproprio(comein802.3); vedremocomesipuevitareunprevedibilecaos.
Leretimetropolitane(MetropolitanAreaNetwork,MAN)hannoun'estensione
tipicamenteurbana(quindianchemoltosuperioreaquelladiunaLAN)esono generalmentepubbliche(cioun'azienda,ades.TelecomItalia,mettelaretea disposizionedichiunquedesideri,previopagamentodiunaopportunatariffa). Finoaqualcheannofaeranobasateessenzialmentesulletecnologiedelleretigeografiche, utilizzatesuscalaurbana.Recentementepero'e'statodefinitounappositostandard,lo IEEE802.6oDQDB(DistributedQueueDualBus),chee'effettivamenteutilizzatoinvarie realizzazioni,moltopiu'vicinoallatecnologiaLANcheWAN. Esisteunmezzotrasmissivoditipobroadcast(duebusin802.6)acuituttiicomputersono attaccati.
10
Head end
Flusso
Elaboratore
Figura15:DistributedQueueDualBus
Ognibus(cavocoassialeofibraottica)e'unidirezionale,edhaunaheadendchecadenza l'attivita'ditrasmissione.
Leretigeografiche(WideAreaNetwork,WAN)siestendonoalivellodiunanazione,di
uncontinenteodell'interopianeta.UnaWANtipicamentecostituitadiduecomponenti distinte: uninsiemedielaboratori(hostoppureendsystem)suiqualigiranoiprogrammiusati dagliutenti; unacomunicationsubnet(osubnet),checonnettegliendsystemfraloro.Ilsuocompito trasportaremessaggidaunendsystemall'altro,coscomeilsistematelefonico trasportaparoledachiparlaachiascolta. Dinormalasubnetconsiste,asuavolta,diduecomponenti: lineeditrasmissione(detteanchecircuiti,canali,trunk): elementidicommutazione(switchingelement):glielementidicommutazionesono elaboratorispecializzatiutilizzatiperconnetterefralorodueopilineeditrasmissione. Quandoarrivanodatisuunalinea,l'elementodicommutazionedevescegliereuna lineainuscitasulqualeinstradarli.Nonesisteunaterminologiastandardper identificareglielementidicommutazione.Terminiusatisono: sistemiintermedi; nodidicommutazionepacchetti; router(quellocheutilizzeremonoi). UnatipicaWANutilizzataperconnetterepiLANfraloro:
11
LAN
Linea di trasmiss.
Figura16:strutturatipicadiunaWAN
IngeneraleunaWANcontienenumeroselinee(spessotelefoniche)checongiungono coppiedirouter. Ognirouter,ingenerale,deve: 1. ricevereunpacchettodaunalineainingresso; 2. memorizzarloperinteroinunbufferinterno; 3. appenalanecessarialineainuscitalibera,instradareilpacchettosuessa. Unasubnetbasatasuquestoprincipiosichiama: puntoapunto; storeandforward; acommutazionedipacchetto(packetswitched). Moltetopologiediinterconnessionepossonoessereimpiegatefrairouter: astella(ridondanzazero); adanello(ridondanzazero); adalbero(ridondanzazero); magliata(ridondanzamedia); completamenteconnessa(ridondanzamassima).
12
Stella
Anello
Albero
Magliatura
Compl. connessa
Router + antenna
Router + antenna
Figura18:interconnessionedirouterviasatellite
13
Rtr ae a oe+ tn u nn
Rtr ae a oe+ tn u nn
Rtr ae a oe+ tn u nn
Figura19:interconnessionedirouterviaradioalsuolo
UnaWANpuessereancherealizzatainmanieramista:inpartecablata,inpartebasata suradioosatellite.
Unainternetworkformataquandoretidiverse(siaLANcheMANoWAN)sono
collegatefraloro. Aprimavista,almenoinalcunicasi,lacosaapparentementeugualealladefinizionedi WANvistaprecedentemente(sealpostodisubnetsiscriveWAN,abbiamouna internetworkcostituitadaunaWANequattroLAN). Alcuniproblemipersorgonoquandosivoglionoconnetterefradilororeti progettualmentediverse(spessoincompatibilifraloro).Inquestocasosidevericorrerea specialiattrezzature,dettegateway(oroutermultiprotocollo),cheoltreadinstradarei pacchettidaunareteall'altra,effettuanoleoperazioninecessarieperrenderepossibilitali trasferimenti.
WAN 1
WAN 1
14
Figura110:interconnessionedireti
Nelcontestodelcorsoutilizzeremo: internetcomesinonimodiinternetwork,ciolainterconnessionedipiretigeneriche; Internet(conlaImaiuscola)perriferirciallaspecificainternetwork,basatasuTCP/IP, cheormaitutticonoscono. C'moltaconfusionesuitermini: sottorete(subnet),chenelcontestodiunaWANl'insiemedeirouteredellelineedi trasmissione; rete(network),chealtrononcheunasubnetpituttiglihostcollegati; internetwork,cheunacollezionedipinetwork,anchenonomogenee,collegateper mezzodigateway.
Host Gateway
Host
Subnet
Subnet
Network Internetwork
Network
Figura111:relazionifrasubnet,networkeinternetwork
Leprimeretifuronoprogettatecominciandodall'hardwareesviluppandoilsoftwaresolo
successivamente,quasicomeseessofosseun'accessoriaappendicedell'hardware. Questoapprocciononfunzionapi.IlSWdireteoggialtamentestrutturato. Esaminiamoora,agrandilinee,talestrutturazione,cheservirdaguidaperl'interocorso esullaqualetorneremospesso.
15
Perridurrelacomplessitdiprogetto,leretisonoingeneraleorganizzatealivelli,
ciascunocostruitosoprailprecedente.Frauntipodireteedunaltra,possonoessere diversi: ilnumerodilivelli; inomideilivelli; ilcontenutodeilivelli; lefunzionideilivelli. Comunqueunprincipiogeneralesemprerispettato: loscopodiunlivellooffrirecertiserviziailivellipialti,nascondendoidettagli sulcometaliservizisianoimplementati. Illivellonsuunhostportaavantiunaconversazionecollivellonsudiun'altrohost.Le regoleeleconvenzionichegovernanolaconversazionesonocollettivamenteindicatecol terminediprotocollodilivellon. Leentit(processi)cheeffettuanotaleconversazionesichiamanopeerentitiy(entitdi parilivello). Ildialogofraduepeerentitydilivellonvienematerialmenterealizzatotramiteiservizi offertidallivello(n1).
16
HOST 1 Livello 5 Interfaccia liv. 4/5 Livello 4 Interfaccia liv. 3/4 Livello 3 Interfaccia liv. 2/3 Livello 2 Interfaccia liv. 1/2 Livello 1 Protocollo di livello 1 Protocollo di livello 2 Protocollo di livello 3 Protocollo di livello 4 Protocollo di livello 5
HOST 2 Livello 5 Interfaccia liv. 4/5 Livello 4 Interfaccia liv. 3/4 Livello 3 Interfaccia liv. 2/3 Livello 2 Interfaccia liv. 1/2 Livello 1
Mezzo fisico
Figura112:Dialogofrapeerentity
Inrealtnonc'untrasferimentodirettodallivellondihost1allivellondihost2. Ognilivellodihost1passaidati,assiemeadelleinformazionidicontrollo,al livellosottostante. Aldisottodellivello1c'ilmezzofisico,attraversoilqualeidativengonotrasferiti dahost1adhost2. Quandoarrivanoahost2,idativengonopassatidaognilivello(apartiredallivello 1)aquellosuperiore,finoaraggiungereillivellon. Fraognicoppiadilivelliadiacentidefinitaunainterfaccia,checaratterizza: leoperazioniprimitivechepossonoessererichiesteallivellosottostante; iservizichepossonoessereoffertidallivellosottostante. Ivantaggidiunabuonaprogettazionedelleinterfaccesono: minimizzazionedelleinformazionidatrasferire; possibilitdimodificarel'implementazionedellivello(ades.,ovelelinee telefonichevenisserosostituitedacanalisatellitari)conunapiattualecheoffragli stessiservizi.
17
L'insiemedeilivelliedeirelativiprotocollidettoarchitetturadirete.
Laspecificadell'architetturadeveessereabbastanzadettagliatadaconsentirela realizzazionediSWe/oHWche,perognilivello,rispettiilrelativoprotocollo. Viceversa,idettagliimplementatividiognilivelloeleinterfaccefralivellinonsonoparte dell'architettura,inquantosononascostiall'internodiunsingolohost. E'quindipossibilechesuivarihostdellaretecisianoimplementazionichedifferisconofra diloroancheinterminidiinterfaccefralivelli,purchognihostimplementicorrettamente iprotocolliprevistidall'architettura.Inquestocasopossonodialogarefraloroanchehost aventicaratteristiche(processore,sistemaoperativo,costruttore)diverse. Dunque,nell'ambitodiunaspecificaarchitetturadirete,sihache: tuttiglihostdevonocontenereimplementazioniconformiinterminidilivelliedi protocolli; glihostpossonocontenereimplementazionichedifferisconointerminididettagli implementativiediinterfaccefralivelli; Un'architetturadiretepuessere: proprietaria; standarddefacto; standarddeiure. Un'architetturaproprietariabasatasuscelteindipendentiedarbitrariedelcostruttore,ed generalmenteincompatibileconarchitetturediverse.Nelsensopistrettodeltermine un'architetturaperlaqualeilcostruttorenonrendepubblichelespecifiche,percuinessun altropuprodurreapparaticompatibili. Esempi: IBMSNA(SystemNetworkArchitecture) DigitalDecnetPhaseIV; NovellIPX; Appletalk.
18
Un'architetturastandarddefactoun'architetturabasatasuspecifichedipubblico dominio(percuidiversicostruttoripossonoproporrelapropriaimplementazione)cheha conosciutounalarghissimadiffusione. Esempi: InternetProtocolSuite(dettaanchearchitetturaTCP/IP). Un'architetturastandarddeiureun'architetturabasatasuspecifiche(ovviamentedi pubblicodominio)approvatedaentiinternazionalichesioccupanodistandardizzazione. Ancheinquestocasoognicostruttorepuproporneunapropriaimplementazione. Esempi: standardIEEE802perleretilocali; architetturaOSI(OpenSystemsInterconnection); DecnetPhaseV(conformeallostandardOSI). L'insiemedeiprotocolliutilizzatisuunhosterelativiadunaspecificaarchitetturadirete vasottoilnomedipiladiprotocolli(protocolstack).Sinoticheunhostpuavere contemporaneamenteattivepipilediprotocolli.
Percomprendereimeccanismibasilaridifunzionamentodelsoftwarediretesipu
pensareallaseguenteanalogiaumana,nellaqualeunfilosofoindianovuoleconversare conunostregoneafricano: Dialogo sui massimi sistemi
Traduttore
Traduttore
Segretaria
Segretaria
Mezzo fisico
19
Protocollo di livello 5
HOST 2
M
H4
Protocollo di livello 4
H4
H3 H4
M1
H3
M2
Protocollo di livello 3
H3 H4
M1
H3
M2
H2 H3 H 4
M1 T2
H2 H3
M2 T2
Protocollo di livello 2
H2 H 3 H 4
M1 T2
H 2 H3
M2 T2
Canale fisico
Figura114:Flussodell'informazionefrapeerentity
Vediamocosaaccade: 1. ilprogrammaapplicativo(livello5)devemandareunmessaggioMallasuapeerentity; 2. illivello5consegnaMallivello4perlatrasmissione; 3. illivello4aggiungeunsuoheaderintestaalmessaggio(talvoltasidicecheil messaggioinseritonellabustadilivello4);questoheadercontieneinformazionidi controllo,tralequali: numerodisequenzadelmessaggio; dimensionedelmessaggio; timestamp; priorit;
7. illivello2aggiungeadognipacchettoilproprioheader(emagariuntrailer)elo spediscesulcanalefisico; 8. nellamacchinadidestinazioneipacchettifannoilpercorsoinverso,conognilivelloche elimina(elaborandoli)l'headerediltrailerdipropriacompetenza,epassailrestoal livellosuperiore. Aspettiimportantisonoiseguenti: lepeerentitypensanoconcettualmenteadunacomunicazioneorizzontalefraloro, basatasulprotocollodelpropriolivello,mentreinrealtcomunicanociascunacol livellosottostanteattraversol'interfacciafraiduelivelli; spessoilivellibassisonoimplementatiinhardwareofirmware(perragionidi efficienza).Nonostantequesto,spessoglialgoritmidigestionesonocomplessi.
Lafunzionediognilivellodioffrireserviziallivellosuperiore.Illivelloinferioreil
serviceprovider,quellosuperioreilserviceuser. Unlivelloncheusufruiscedeiservizidilivello(n1)pu,permezzodiquesti,asuavolta offrireallivello(n+1)ipropriservizi. IservizisonodisponibiliaiSAP(ServiceAccessPoint).ISAPdellivellon,onSAP,sonoi puntidiaccessoneiqualiillivello(n+1)puaccedereaiservizidellivellon.OgninSAP haunindirizzocheloidentificaunivocamente.
Entit di liv. n - 1
Figura115:Livelliadiacentieserviceaccesspoint
(n-1) - SAP
(n - 1) - PCI
(n - 1) - SDU
(n - 2) - SAP
Figura116:Passaggiodell'informazionefralivelli
22
Cisonodueprincipaliclassidiservizioffertidaunlivelloaquellosuperiore:
serviziconnectionoriented; serviziconnectionless. Serviziconnectionoriented Iserviziconnectionorientedsonomodellatisecondoilsistematelefonico,doveper parlareconqualcunosialzailtelefono,sichiama,siparlaepoisiriattacca.Ovvero: 1. sistabilisceunaconnessione; 2. siscambianoinformazioni; 3. sirilascialaconnessione. Analogamente,unservizioconnectionorientedsisviluppain3fasi: 1. sistabilisceunaconnessione,ciosicreaconopportunimezziun"canaledi comunicazione"fralasorgenteeladestinazione.Larelativaattivittipicamente coinvolgeuncertonumerodielaboratorinelcamminofrasorgenteedestinazione; 2. laconnessione,unavoltastabilita,agiscecomeuntubodigitalelungoilqualescorrono tuttiidatitrasmessi,chearrivanonellostesoordineincuisonopartiti; 3. sirilascialaconnessione(attivitchecoinvolgedinuovotuttiglielaboratorisul cammino).
23
Pacchetto
Sorgente Connessione
Destinazione
(a)
Sorgente
Destinazione
(b)
Figura117:Serviziconnectionoriented(a)econnectionless(b)
24
Unserviziogeneralmentecaratterizzatodall'essereonoaffidabile(reliable).
Unservizioaffidabilenonperdemaidati,cioassicurachetuttiidatispeditiverranno consegnatialdestinatario.Cigeneralmenterichiedecheilriceventeinviiun acknowledgement(conferma)allasorgenteperognipacchettoricevuto.Siintroduce ovviamenteoverhead,cheincertesituazionipunonesseredesiderabile. Viceversa,unserviziononaffidabilenonoffrelacertezzacheidatispeditiarrivino effettivamenteadestinazione. Sinoticheseuncertolivellononoffrenessunservizioaffidabile,qualoratalefunzionalit siadesideratadovresserefornitadaalmenounodeilivellisuperiori(vedremocheci accadespesso). Esempi: reliableconnectionoriented:trasferimentodifile(nondevonomancarepezzieil filenondeveessere"rimescolato"); nonreliableconnectionoriented:nelletrasmissioniisocrone(qualivoceevideo)le relazionitemporalifraibitdelflussodevonoesseremantenute.E'meglioqualche disturboognitanto,piuttostocheinterruzionimomentanee,maavvertibili,del flussodidati; nonreliableconnectionless(dettoanchedatagramservice,datelegram): distribuzionedipostaelettronicapubblicitaria,nonimportasequalchemessaggio siperde. reliableconnectionless(dettoancheacknowledgeddatagramservice):siinviaun brevemessaggioesivuoleessereassolutamentesicurichearrivato.
25
Unserviziodilivellonformalmentespecificatodauninsiemediprimitive(cio
l'azionedacompiere(l'informazioneviaggadalivellonallivello(n1)); cosariportareinmeritoadunaazioneeffettuatadallapeerentitydilivellon (l'informazioneviaggadallivello(n1)allivellon). Unesempiodiprimitivepuessereilseguente:
operazioni)cheun'entitdilivello(n+1)puadoperareperaccederealservizio.Esse possonoindicarealservizio:
Primitiva
request() indication() response() confirm()
PerstabilireunaconnessionefralepeerentityAaBsiavrche:
Entity A B B A
Azione inviauna
connect.request()
riceveuna
connect.indication()
inviauna
connect.response()
riceveuna
connect.confirm()
26
Leprimitivehannovariparametri(mittente,destinatario,tipodelserviziorichiesto,ecc.), chepossonoessereusatidallepeerentitypernegoziarelecaratteristichedella connessione.Idettaglidellanegoziazionefannopartedelprotocollo. Adesempio,unserviziopuessererichiestoinmodalitconfermataoppurenon confermato. Perilservizioconfermatoavremo: request(); indication(); response(); confirm(). Mentreperilserviziononconfermato: request(); indication(). Connectsempreconfermato(ovviamente),maaltriservizino. Vediamooraunesempiodiservizioconnectionorientedcon8primitive: 1. connect.request(); 2. connect.indication(); 3. connect.response(); 4. connect.confirm(); 5. data.request():sicercadiinviaredati; 6. data.indication():sonoarrivatideidati; 7. disconnect.request():sivuoleterminarelaconnessione; 8. disconnect.indication():l'altraentityvuoleterminare. Lasequenzadiprimitivecheentranoingiocosuccessivamentenelcorsodellagestionedi unaconnessionelaseguente:
27
Liv. n + 1 Liv. n
1 4
5 6 Tempo
7 HOST 1
Liv. n + 1 Liv. n 2
Figura118:Esempiodiattivazione,usoerilasciodiunaconnessione
Servizieprotocollisonospessoconfusi,masonoconcettibendistinti.
Servizio insiemedioperazioniprimitivecheunlivellooffreallivellosuperiore. Cometalioperazionisianoimplementatenonriguardaillivello superiore. insiemediregolechegovernanoilformatoedilsignificatodelle informazioni(messaggi,frame,pacchetti)chelepeerentitysiscambiano fraloro.Leentitusanoiprotocolliperimplementareipropriservizi.
HOST 1 Protocollo Livello n Servizi Protocollo Livello n - 1 Livello n - 1 Livello n Servizi
Protocollo
HOST 2
Figura119:Relazionefraprotocollieservizi
28
Nota:unaipoteticaprimitivasend_packet(),allaqualel'utentefornisceilpuntatoreaun pacchettogiassemblato,nonconformeaquestafilosofia.
Decisionidiprogettovannoprese,neivarilivelli,inmeritoadiverseproblematiche.Le
principalisono: 1. Meccanismidiidentificazionedimittenteedestinatario(cioindirizzamento),inogni livello. 2. Regoleperiltrasferimentodati(livellibassi): inunasoladirezione(simplexconnection); induedirezionimanoncontemporaneamente(halfduplexconnection). induedirezionicontemporaneamente(fullduplexconnection); rilevarlioppureno; correggerlioppureno; avvertireilmittenteoppureno.
3. Meccanismiperilcontrollodeglierroriditrasmissione;possibile:
Iniziamoadesaminaredueimportantirealtnelmondodellereti:
1. OSIReferenceModel; 2. InternetProtocolSuite(dettaanchearchitetturaTCP/IPo,piuttostoimpropriamente, TCP/IPreferencemodel). Unmodellodiriferimentocosadiversadaun'architetturadirete:
29
Modellodiriferimento
L'OSI(OpenSystemsInterconnection)ReferenceModelilfruttodellavorodellaISO
(InternationalStandardOrganization),edhaloscopodi: fornireunostandardperlaconnessionedisistemiaperti,cioingradodicolloquiaregli uniconglialtri; fornireunabasecomuneperlosviluppodistandardperl'interconnessionedisistemi; fornireunmodellorispettoacuiconfrontarelevariearchitetturedirete. Essononincludediperseladefinizionediprotocollispecifici(chesonostatidefiniti successivamente,indocumentiseparati). PrincipidiprogettoseguitidurantelosviluppodelmodelloOSI: ognilivellodeveavereundiversolivellodiastrazione; ognilivellodeveavereunafunzionebendefinita; lasceltadeilivellideve: minimizzareilpassaggiodelleinformazionifralivelli; evitare: troppefunzioniinunlivello; troppilivelli.
IlmodelloOSIconsistedi7livelli(imalignidiconochecifudettatodaldesideriodi rendereilmodellocompatibileconl'architetturaSNAdell'IBM).
30
Presentation
Presentation protocol
Presentation
Session
Session protocol
Session
Transport
Transport
Network
Network
Network
Network
Data Link
Data Link
Data Link
Data Link
Fisico
Fisico
Fisico
Fisico
HOST 1
ROUTER
ROUTER
HOST 2
Figura120:IlmodelloOSI
Spesso,pervisualizzarelecompetenze(interminidilivelligestiti)deivarielaboratorisul cammino,siusanodiagrammisimilialseguente:
HOST 1 7 6 5 4 3 2 1 3 2 1 ROUTER 3 2 1 ROUTER 7 6 5 4 3 2 1 HOST 2
31
Figura121:Rappresentazioneschematicadeilivelligestitilungouncammino
SinoticheilmodelloOSInonun'architetturadirete,perchdicesolocosadevonofarei livelli,manondefinisceniserviziniprotocolli.Perquestocisonoseparatidocumenti didefinizionedeglistandard. Livellofisico Haachefareconlatrasmissionedibit"grezzi"suuncanaledicomunicazione. Gliaspettidiprogettosono: voltiagarantirecheseparteun1,arrivieffettivamenteun1enonunozero; largamenteriguardantilecaratteristichemeccaniche,elettricheeproceduralidelle interfaccedirete(componenticheconnettonol'elaboratorealmezzofisico)ele caratteristichedelmezzofisico. Sicaratterizzano,traglialtri: tensioniscelteperrappresentare0ed1; durata(inmicrosecondi)diunbit; trasmissionesimultaneainduedirezionioppureno; formadeiconnettori. LivelloDataLink Loscopodiquestolivellofarsicheunmezzofisicotrasmissivoappaia,allivello superiore,comeunalineaditrasmissioneesentedaerroriditrasmissionenonrilevati. Normalmentefunzionacos: spezzettaidatiprovenientidallivellosuperioreinframe(daqualchecentinaiaa qualchemigliaiadibyte); inviaiframeinsequenza; aspettaunacknowledgementframe(ack)perogniframeinviato. Incombenze: aggiuntadidelimitatori(framing)all'inizioedallafinedelframe(chesuccedeseil delimitatorepresentedentroilframe?); gestionedierroriditrasmissionecausatida: erroriinricezione;
32
perditadiframe; duplicazionediframe(daperditadiack);
Leretibroadcasthannoun'ulterioreproblema:ilcontrollodell'accessoalcanale trasmissivo,checondiviso.Perquestohannounospecialesottolivellodellivellodata link,ilsottolivelloMAC(MediumAccessControl). LivelloNetwork Loscopodellivellocontrollareilfunzionamentodellasubnetdicomunicazione. Inizialmentetalelivellooffrivasolamenteserviziconnectionoriented;successivamentefu aggiuntalamodalitconnectionless. Incombenze: routing,ciosceltadelcamminodautilizzare.Puessere: statico(fissatoognitantoeraramentevariabile); dinamico(continuamenteaggiornato,anchedaunpacchettoall'altro);
33
Illivellotransportilprimolivellorealmenteendtoend,ciodahostsorgenteahost destinatario:lepeerentitydiquestolivelloportanoavantiunaconversazionesenza intermediari. Sinoterchecerteproblematichesono,inambitoendtoend,lestessecheillivellodata linkhanell'ambitodiunasingolalineadicomunicazione;lesoluzionipersonoalquanto diverseperlapresenzadellasubnetdicomunicazione. Incombenze: creazionediconnessionidilivellonetwork(attraversoiservizidellivellonetwork)per ogniconnessionedilivellotransportrichiesta: normalmente,unaconnessionenetworkperciascunaconnessionetransport; perottenereunaltothroughput:molteconnessioninetworkperunasingola connessionetransport; sealtoilcostodiunaconnessionenetwork:unasingolaconnessione networkvieneusatapermolteconnessionitransport,conmeccanismidi multiplexing; offertadivariserviziallivellosuperiore: canalepuntoapuntoaffidabile,checonsegnaidatiinordineesenzaerrori (ilserviziopidiffuso,connectionoriented); inviodimessaggiisolati,conosenzagaranziadiconsegna(connectionless); broadcastingdimessaggiamoltidestinatari(connectionless).
LivelloSession Haachefareconservizipiraffinatichenonquellideltransportlayer,comeades.: tokenmanagement:autorizzaledueparti,aturno,allatrasmissione. Comevedremonelseguito,questolivellononhaavutoungrandesuccesso. LivelloPresentation E'interessatoallasintassiedallasemanticadelleinformazionidatrasferire.Adesempio,si occupadiconvertiretipididatistandard(caratteri,interi)darappresentazionispecifiche dellapiattaformaHWdipartenzainunarappresentazione"onthewire"epoiinquella specificadell'HWdiarrivo. Anchequestolivellononhaavutomoltosuccesso. LivelloApplication Prevedechequirisiedatuttalavarietdiprotocollichesononecessariperoffrireivari serviziagliutenti,qualiadesempio: terminalevirtuale;
34
La"madredituttelereti"fuArpanet,originatadaunprogettodiricercafinanziatodal
DoD(DepartmentofDefense)americano.Loscopoeracreareunareteestremamente affidabileancheincasodicatastrofi(oeventibellici)cheneeliminasserounaparte. Arpanet,attraversovarieevoluzioni,hadatoorigineallaattualeInternet.
Figura122:RelazionefrailivelliOSIeTCP/IP
Irequisitidiprogettostabilitifindall'inizio(estremaaffidabilitetolleranzaaiguasti, possibilitdiinterconnessionedipireti)portaronoallasceltadiunarete:
35
packetswitched; basatasuunlivelloconnectionlessdiinternetwork. Livellohosttonetwork Illivellopibassononspecificatonell'architettura,cheprevedediutilizzarequelli disponibiliperlevariepiattaformeHWeconformiaglistandard. Tuttocichesiassumelacapacitdell'hostdiinviarepacchettiIPsullarete. LivelloInternet E'illivellochetieneinsiemel'interaarchitettura.Ilsuoruolopermettereadunhostdi iniettarepacchettiinunaqualunquereteefareilpossibileperfarliviaggiare, indipendentementegliunidaglialtriemagariperstradediverse,finoalladestinazione, chepuesseresituataancheinun'altrarete.Dunqueconnectionless.E'unserviziobest effortdatagram.E'definitounformatoufficialedeipacchettiedunprotocollo,IP (InternetProtocol). Incombenze: routing; controllocongestione. LivelloTransport E'progettatoperconsentirelaconversazionedellepeerentitysuglihostsorgentee destinazione(endtoend).Sonodefinitidueprotocolliinquestolivello: TCP(TransmissionControlProtocol):unprotocolloconnessoedaffidabile(ossiatutti ipacchettiarrivano,enell'ordinegiusto).Frammentailflussoinarrivodallivello superioreinmessaggiseparatichevengonopassatiallivelloInternet.Inarrivo,i pacchettivengonoriassemblatiinunflussodioutputperillivellosuperiore. UDP(UserDatagramProtocol):unprotocollononconnessoenonaffidabile,i pacchettipossonoarrivareinordinediversoononarrivareaffatto. LivelloApplication Nell'architetturaTCP/IPnoncisonoilivellisessionepresentation(nonfuronoritenuti necessari;l'esperienzacolmodelloOSIhamostratochequestavisionecondivisibile). Sopraillivellotransportc'direttamenteillivelloapplication,checontienetuttii protocollidialtolivellovengonousatidalleapplicazionireali. Iprimiprotocollifurono:
36
Telnet
Ftp
Smtp Tcp
Http
Nntp Udp
ecc.
Figura123:Relazionefrailivellieiprotocollidell'architetturaTCP/IP
Somiglianze:
basatientrambisulconcettodipiladiprotocolliindipendenti; funzionalitsimiliinentrambiperivarilivelli. Differenzedifondo: OSInascecomemodellodiriferimento(utilissimoperlediscussionigenerali),i protocollivengonosolosuccessivamente; TCP/IPnascecoiprotocolli,ilmodellodiriferimentovieneaposteriori. Conseguenze: essendoilmodelloOSInatoprimadeirelativiprotocolli,successeche: ilmodelloera,edtuttora,moltogenerale(puntoafavore);
37
vierainsufficienteesperienzanellaprogettazionedeilivelli(puntoasfavore).Ad esempio: illivellodatalink(pensatoall'origineperlineepuntopunto)hadovuto esseresdoppiatopergestireretibroadcast; mancdeltuttol'ideadiinternetworking:sipensavaadunareteseparata, gestitadallostato,perogninazione. Iprotocollidell'architetturaTCP/IPsonoinveceilpuntodipartenzadelprogetto,percui: l'architetturamoltoefficiente(puntoafavore); ilreferencemodelnongenerale,inquantodescrivesoloquestaparticolare architettura(puntoasfavore); difficilerimpiazzareiprotocollisenecessario(puntoasfavore). ConfrontofrapilediprotocolliOSIeTCP/IP IprotocolliOSInonsonoriuscitiadaffermarsisulmercatoperunaseriediragioni: infelicesceltaditempo:ladefinizionedeiprotocolliarrivatatroppotardi,quandocio quelliTCP/IPsieranogiconsiderevolmentediffusi.Leaziendenonselasonosentite diinvestirerisorsenellosviluppodiunaulteriorearchitetturadirete; infelicisceltetecnologiche:isettelivelli(eirelativiprotocolli)sonostatidettatiinrealt dallaarchitetturaSNAdell'IBM,pichedaconsiderazionidiprogetto.Percuiil progettosoffredivaridifetti: grandecomplessiteconseguentedifficoltdiimplementazione; inutiliilivellisessionepresentation; nonottimaliattribuzionidifunzioniaivarilivelli: alcunefunzioniappaionoinmoltilivelli(es.controlloerroreeflusso intuttiilivelli); altrefunzionimancanodeltutto(ades.sicurezzaegestionerete); infeliceimplementazione:leprimerealizzazionieranolenteedinefficienti,mentre contemporaneamenteTCP/IPeramoltobenimplementato(eperdipigratis!).In effettiiprotocollidell'architetturaTCP/IPinvecesonostatiimplementati efficientementefindall'inizio,percuisisonoaffermatisemprepi,equindihanno godutodiuncrescentesupportocheliharesiancoramigliori. Adognimodo,neanchel'architetturaTCP/IPprivadiproblemi: l'architetturaTCP/IPnonhautilitcomemodello(nonserveadaltrocheadescrivere sestessa); nonc'unachiaradistinzionefraprotocolli,servizieinterfacce,ilcherendepidifficile l'evoluzionedell'architettura; alcunesceltediprogettocomincianoapesare(ades.,indirizziIPasoli16bit).
38
Figura124:IlmodelloOSImodificato
Netware(Novell)
E'l'architetturadiretepidiffusanelmondoPC.E'precedenteaOSI,eassomigliamoltoa TCP/IP.
File server, ecc. NCP, SPX, Tcp IPX Ethernet, Token Ring, ecc. Ethernet, Token Ring, ecc.
Figura125:L'architetturaNovellNetware
IPX:besteffortdatagram(connectionless);
39
NCP:reliableconnectionoriented; SPX:unreliableconnectionless Nota:lapraticadiavereunlivellonetworkbestefforteconnectionless,esopraessoun livellotransportreliableeconnected,moltodiffusa.Sonocosanche: Appletalk; TCP/IP. Arpanet Ncqueametdeglianni'60(aitempidellaguerrafredda);ilDoDvolleunarete robustissimaancheincasodicatastrofi,ingradodinoninterrompereleconnessioniin attoanchesealcunesuecomponentifosserostatedistrutte. Siscelsequindiunaretepackedswitched,formatadaglihostedaunasubnetdi comunicazionecostituitadavariIMP(InterfaceMessageProcessor)collegatidalineedi trasmissione. Ilsoftwarevennedivisoindueparti: SWperglihost SWperlasubnet(ossiapergliIMP) efuronodefinitialcuniprotocolli: HostIMPprotocol; IMPIMPprotocol; SourceIMPdestinationIMPprotocol.
40
Host
Protocollo Source IMP - Destination IMP Protocollo IMP - IMP Linee a 56kbps affittate IMP Subnet di comunicazione
Figura126:L'architetturadiArpanet
SuccessivamenteArpanetsisviluppincorporandoaltrereti,ilchemostr l'inadeguatezzadeiprotocollioriginaririspettoalleproblematichediinternetworking. Nacquediconseguenza,versolametdeglianni'70,l'architetturaTCP/IP,cheilgiorno 1/1/1983divennelostandarddiArpanet.TCP/IPfupoimantenutaancheper l'evoluzionediArpanet,NSFNET(metdeglianni'80),basatasulineeda56Kbpsall'inizio epoipiveloci(1.5Mbpsnel1990,34Mbpssullelineeprincipalioggi). Ilcontinuoaggiungersidireti,adArpanetprimaeadNSFNETpoi,hacreatoquellache oggivienecomunementechiamataInternet,costituitadamilionidihosteutilizzatada decinedimilionidiutenti.Internetsiraddoppiaall'incircaognianno,edhasuscitato grandeinteressesiaperiprivaticittadinicheperleaziende. DecnetPhaseV(Digital) Comegidetto,DecnetPhaseVun'architetturadiretetotalmenteconformealmodello OSI.Decnethacostruitounapiattaformacomprendenteilivelli1,2e3delmodelloOSI, sullaqualepossonoappoggiarsiduediversepilediprotocolli: pilaOSI; pilaDecnetPhaseIV(proprietaria).
41
Pila OSI Liv. applic. OSI Liv. present. OSI Liv. session OSI Liv. transport OSI
Pila Decnet Phase IV User protocols Data access protocol Session control protocol Network service protocol
Liv. network OSI Liv. Data link OSI Liv. fisico OSI
Figura127:L'architetturaDecnetPhaseV
SNA(IBM) SNA(SystemNetworkArchitecture)un'architetturadireteancoramoltodiffusa, sopratuttonellegrandiaziendedotatedisistemiinformativiIBM.Nacqueametdegli anni'70,periodoincuiisistemiinformativieranobasatisull'usodimainframeeterminali. Fupensataperconnetterefraloropimainframe,aiqualidovevanopoteressereconnessi moltissimiterminali,anchegeograficamentelontani. E'un'architetturaestremamentecomplessaepocoadattaall'attualeimpostazionedei sistemidicalcolo(retilocalieapplicazionitipoclientserver)percuiIBMstamigrando versounastrategiadinetworkingpiampia,nellaqualevienefornitoilsupportoadSNA, APPN(successorediSNA:architetturaproprietariamadidominiopubblico),OSI, TCP/IPedaltri(fracuiNovellIPX). L'architetturaSNAlaseguente:
42
Livelli OSI 7 6 5 4 3 2 1
Livelli SNA Transaction service Presentation service Data flow Management service Transmiss. control Virtual route Explicit route Transmission group Liv. Data link Liv. fisico
Figura128:L'architetturaIBMSNA
Questesonoleprincipaliautoritnelmondodeglistandard:
PTT(Post,TelephoneandTelegraph):amministrazionestatalechegestisceiservizi trasmissivi(inItaliailMinisterodellePoste); CCITT(ComitConsultatifInternationaldeTelegraphieetTelephonie):organismo internazionalecheemettelespecifichetecnichechedevonoessereadottatedallePTT.E' entratodapocoafarpartedell'ITU(InternationalTelecomunicationUnion); ISO(InternationalStandardOrganization):ilprincipaleentedistandardizzazione internazionale,chesioccupafral'altroanchedireti; ANSI(AmericanNationalStandardsInstitution):rappresentanteUSAnell'ISO; UNINFO:rappresentanteitaliano,perlereti,nell'ISO; IEEE(InstituteofElectricalandElectronicEngineers):organizzazioneprofessionale mondialedegliingegnerielettriciedelettronici;hagruppidistandardizzazionesulle reti; IRTF(InternetResearchTaskForce):comitatorivoltoagliaspettidiricercaalungo termineinmeritoallareteInternet; IETF(InternetEngineeringTaskForce):comitatorivoltoagliaspettidi ingegnerizzazioneabreveterminedellareteInternet; IAF(InternetArchitectureBoard):comitatocheprendeledecisionifinalisunuovi standarddaadottareperInternet,disolitopropostidaIETFoIRTF.
43
Inquestocapitoloverrannoillustratigliaspettiprincipalidellivellofisico,che
L'informazionepuesseretrasmessaadistanzavariandoopportunamenteunaqualche
caratteristicafisicadelmezzosceltoperlatrasmissione.Talevariazionesipropaga,con unacertavelocit,lungoilmezzoditrasmissioneedopouncertotempoarrivaall'altra estremitdelmezzo,dovepuvenirrilevata.Adesempio,seilmezzouncavometallico, sipuvariarelatensioneapplicataadun'estremit.Talevariazioneditensioneverr successivamenterilevataall'altraestremit. Imezzitrasmissivisonosostanzialmenteditretipi: mezzielettrici(cavi):inessiilfenomenofisicoutilizzatol'energiaelettrica; mezziwireless(onderadio):ilfenomenofisicol'ondaelettromagnetica,una combinazionedicampoelettricoecampomagneticovariabili,chesipropaganello spazioecheinduceadistanzaunacorrenteelettricainundispositivoricevente (antenna); mezziottici(LED,laserefibreottiche):inessiilfenomenoutilizzatolaluce.Si trattadeimezzipirecenti,chehannorivoluzionatoilsettore. Rappresentandoilvaloreneltempodelfenomenofisicoutilizzatocomeunafunzionef(t), sipustudiarematematicamenteilsegnalerisultante. Inlineadiprincipio,latrasmissionepuavvenireconduemodalitdifferenti: trasmissionedisegnaleanalogicoetrasmissionedisegnaledigitale. Ladifferenzafondamentalefraunsegnaleanalogicoeunodigitaleche: ilprimopuvariaregradualmenteinunintervallocostituitodaunnumeroinfinito dipossibilivalori; ilsecondopuvariaresolamentepassandobruscamentedaunoall'altrodiun insiememoltopiccolodivalori(dadueaqualchedecina). Sitengapresentepercheilfenomenofisicoutilizzatonondigitalemaanalogico.Un segnalequindinonpupassareistantaneamentedaunvaloreadunaltro,maimpiegher uncertotempopereffettuarelatransizione.Laconseguenzacheunmezzofisicofardel suomegliopertrasportareunsegnaledigitale,manonriuscirafarloarrivare esattamentecom'partito.
44
Comevedremoinseguito,incerticasi(econcertetecniche)utiletrasformareunsegnale analogicoinunodigitaleeviceversa.
Premessa:unafunzionesinusoidale,qualeilsenooilcoseno,caratterizzatadaalcuni
parametri: ampiezzaA(ladifferenzafrailvaloremassimoedilminimo); periodoT(laquantitTditempotrascorsalaqualelafunzionesiripete); frequenza:l'inversodelperiodof=1/T,misuratainciclialsecondo(Hz). Fourier(matematicofrancesedell'800)dimostrcheunafunzioneg(t),definitainun intervalloT,puessereespressacomeunasommadiunnumeroinfinitodifunzioni sinusoidali:
1 g(t) = c ansen(2nft) + bn cos(2nft) 2 n=1 n=1
dovef=1/Tlafrequenzafondamentaleedanebnsonoleampiezzedell'ennesima armonica(otermine),chehaunafrequenzanvoltepigrandedellafrequenza fondamentale.Ivaloridic,anebnsonotutticalcolabilicomeopportuniintegralidig(t)in t. Dunque,unsegnalevariabileneltempodifattoequivalenteadunasommadifunzioni sinusoidaliaventiciascunaunapropriaampiezzaefrequenza.Sipuquindi rappresentareunsegnaleg(t)didurataTinunmododiverso,ecioattraversoilsuo spettrodifrequenze,ossiaattraversolasuascomposizioneinsinusoidi. Spettro di frequenza del segnale
Segnale periodico A
n/T
Figura21:Unsegnaleeilsuospettrodifrequenze
tantopibreveladurataTdelsegnale,tantopialtoilvaloredellafrequenza fondamentale; tantopivelocementeneltempovarialag(t),tantopinumerosesonole armonichenecessarieadescriverlo. Ancheimezzifisicisonocaratterizzatidaunabandadifrequenze,dettabandapassante. Essarappresental'intervallodifrequenzecheilmezzofisicoingradoditrasmettere senzaalterarleoltrecertilimiti. Lealterazioniprincipalisonolaattenuazioneel'introduzionediritardo,chedinorma varianoalvariaredellefrequenzetrasmesse. Avolteladimensionedellabandapassantedipendedallecaratteristichefisichedelmezzo trasmissivo,avoltederivadallapresenzadiopportunifiltrichetaglianolefrequenzeoltre unacertasoglia(dettafrequenzaditaglio,fc).Adesempio,nellelineetelefonichelabanda passante3kHz(da0Hza3.000Hz),ottenutaconfiltripassabasso. Ingenerale,imezzitrasmissivi: attenuanoisegnaliinproporzionealladistanzapercorsaeallafrequenzadel segnale; propaganoisegnaliavelocitproporzionaliallelorofrequenze. Unaconseguenzache,perqualunquemezzotrasmissivo,labandapassantesiriduce all'aumentaredellalunghezzadelmezzostesso. Perchunsegnalesiaricevutocomestatotrasmesso,necessariochelabandapassante siaugualeopiampiadellabandadifrequenzadelsegnalestesso.Altrimenti,ilsegnale vieneprivatodialcunedellesuearmoniche(tipicamentequelledifrequenzapielevata)e vienequindidistorto,cioalterato.Seunnumerosufficientediarmonichearrivaa destinazione,ilsegnalecomunqueutilizzabile. Cisonodueteoremifondamentalichecaratterizzanoilimitiperlatrasmissionedelle informazioni.
Nyquist(1924)hadimostratocheunsegnaleanalogicodibandah(da0adhHz)pu
esserecompletamentericostruitomedianteunacampionaturaeffettuata2hvolteal secondo.Dunqueesso"convoglia"unaquantitdiinformazionerappresentabileconun numerodibitparia 2h*(logaritmoinbase2delnumerodipossibilivaloridelsegnale) perognisecondo. Unaconseguenzaditaleteoremacheilmassimodatarate(dettoanche,conuntermine nondeltuttoappropriato,velocitditrasmissione)diuncanaledicomunicazionedotato
46
IlteoremadiNyquistvalidopercanalitotalmenteprivididisturbi(ilchepurtropponon
realistico).PerglialtricasivaleilteoremadiShannon(1948),checonsiderale caratteristichediuncanalerumoroso. Primadiesporreilteoremanecessariochiarireilconcettodirapportosegnale/rumore (signaltonoiseratio,S/N):essoilrapportofralapotenzadelsegnaleequelladel rumore.Simisuraindecibel(dB),checresconocome10log10(S/N).Latabellaseguente riportaalcunivaloriesemplificativi.
MisurainDb 3 10 20 30
IlteoremadiShannonaffermacheilmassimodataratediuncanalerumoroso,conbanda passantedihHzerapportosegnale/rumorepariaS/N,datada: massimodatarate(bit/sec.)=hlg2(1+S/N) SinoticheinquestocasononcontapiilnumeroVdilivellidelsegnale.Ciperch,a causadelrumore,aumentarneilnumeropurenderliindistinguibili. Adesempio,suuncanaleconbanda3kHzeS/N=30dB(tipicidiunanormalelinea telefonica)sipuarrivarealmassimoa30.000bps. Ingenerale: pialtoilnumerodibit/secondochesivoglionotrasmettere,piampiadiviene labandapassantecheserve(Tdiminuisce);
47
E'ilpianzianoediffuso.Consistediunacoppiadiconduttoriinrameintrecciatil'uno
coll'altroinformaelicoidale.Cifasichesiminimizzinoleinterferenzefracoppie adiacenti(duefiliparallelicostituisconoun'antenna;sesonointrecciatino).E'usato,in particolare,perleconnessioniterminalidelsistematelefonico(dacasaallacentralepi vicina). Lalarghezzadibandadipendedallalunghezza,macomunquesiputrasmettereadiversi Mbpssudistanzefinoaqualchekm. Duetipididoppinosonoimportantinellatrasmissionedati: categoria3:duefiliisolati,leggermenteattorcigliati.Quattrocoppiecontenutein unaguainadiplastica.Comuneneicablaggitelefoniciinterniagliedifici(sipossono averequattrotelefoniperstanza); categoria5(dal1988):simileallacategoria3,maconunpifittoavvolgimento(pi giripercentimetro)econisolamentointeflon.Migliorequalitdelsegnalesulle lunghedistanze,adattoacollegamentiinaltavelocitinambitoLAN(adesempioper Etherneta100Mbps,ATMa34Mbps). EntrambiitipisonospessochiamatiUTP(UnshieldedTwistedPair),perdistinguerlida unaltrotipo,dettoSTP(ShieldedTwistedPair)cheschermatoequindioffremigliori prestazioni,mamoltopiingombrantee,difatto,nonvieneusatoquasipi.
48
E'unaltrocomunemezzoditrasmissione;offreunmigliorisolamentorispettoal
Eramoltousatonelsistematelefonicoperletrattealungadistanza,maintaleambito ormaisostituitoquasiovunquedallafibraottica.RimaneinusoperlaTVviacavoein molteLAN. Cisonoduetipidicavocoassiale,perragionistorichepichetecniche. Premessa:ilterminebaseband(bandabase)significachel'interabandapassanteusata perunasingolatrasmissione,ditipodigitale.Ilterminebroadband,invece,nellatelefonia indicaqualunquetrasmissionepiampiadi4kHz,mentrenellatrasmissionedatisi riferisceauncavosucuiviaggiaunsegnaleanalogicoche,conopportunetecnichedi multiplazione,vieneusatopereffettuarecontemporaneamentepitrasmissionidistinte, separateindifferentibandedifrequenza. Basebandcoaxialcable(50ohm):ilcavobasebandusatoperlatrasmissione digitale,econsentevelocitda1a2Gbpsfinoacirca1km.Perdistanzesuperiorisi devonointerporreamplificatori. Broadbandcoaxialcable(75ohm):usatoperlatrasmissioneanalogica.E'ilcavo standarddellaTV.Offreunabandadi300MHzepuestendersifinoaquasi100km. Labandatotalesuddivisaincanalidibandapipiccola(ades.6MHzperciascun segnaleTV)indipendentigliunidaglialtri.MentreuncanaleportaunsegnaleTV,un altropuportareunatrasmissionedati(ovviamenteconapparecchiaturedi conversionedigitale/analogicaeviceversa),tipicamentea3Mbps.
49
6MHz
6MHz
...
6MHz
Sonounodeimezzipirecenti,estannorivoluzionandoilmondodelle
Aria Silicio
Cladding Core
Figura25:Deviazionedelraggioluminoso
Lefibreottichesonodiduetipi: multimodali:raggidiversipossonocolpirelasuperficiecondiversiangoli(detti mode),proseguendoquindicondiversicammini.Ildiametrodelcoredi50micron, comequellodiununcapello; monomodali:sonocossottili(ildiametrodelcore810micron)chesicomportano comeunaguidad'onda:laluceavanzainmodorettilineo,senzarimbalzare.Sonopi costosemareggonodistanzepilunghe(finoa30km). Lefibreottichehannoprestazionistrepitose:conlecorrentitecnologieraggiungibileuna velocitditrasmissionedi50.000Gbps(50Tbps)conunbassissimotassod'errore.La praticaattualediusarevelocitdell'ordinedeiGbpsdipendedall'incapacitdiconvertire pivelocementesegnalielettriciinluminosi.Infatti,nellefibreottiche,ilmezzofisico utilizzatoovviamentelaluce,eunimpulsoluminosorappresentaun1mentrelasua assenzaunozero. Lefibreottichesonofattediunvetrospeciale,moltotrasparente(sivedrebbeilfondodel mare,seessofossediquestovetro),percuioffronounabassissimaattenuazionedel segnaleluminoso.L'attenuazionedipendeanchedallalunghezzad'ondadellaluce,per cuisiusanocomunementetreparticolaribandeperlatrasmissione(tuttenell'infrarosso vicino),largheda25.000GHza30.000Ghzciascuna(un'enormit). Unsistemaditrasmissioneotticahatrecomponenti: sorgenteluminosa:puessereunLEDounlaser.Converteunsegnaleelettricoin impulsiluminosi; mezzoditrasmissione:lafibraotticaveraepropria; fotodiodoricevitore:convertegliimpulsiluminosiinsegnalielettrici.Iltipico tempodirispostadiunfotodiodo1nsec.,dacuiillimitedi1Gbps. Cisonoduetopologiecomuniperleretibasatesufibreottiche: anello:mediantelaconcatenazionedipispezzonidifibreottichesicreaunanello. Tutticollegamentisonopuntoapunto.L'interfacciapuesserepassiva(fapassare l'impulsoluminosonell'anello)oattiva(convertel'impulsoinelettricit,loamplificae loriconverteinluce);
51
stellapassiva:l'impulso,inviatodauntrasmettitore,arrivainuncilindrodivetro alqualesonoattaccatetuttelefibreottiche;vienepoidistribuitoallefibreottiche uscenti.Sirealizzacosunaretebroadcast. Vantaggidellefibreotticherispettoalrame: leggerezzaaparitdibanda(duefibresonopicapacidi1.000doppini,100kg/km contro8.000kg/km); totaleinsensibilitadisturbielettromagnetici; difficilel'inserimentodiintrusiperspiareiltraffico. Svantaggidellefibreotticherispettoalrame: costodellegiunzioni; comunicazioneunidirezionale(duefibresononecessarieperunacomunicazione twoway).
Leondeelettromagnetiche,createdalmovimentodeglielettroni,viaggianonellospazio
(anchevuoto)allavelocitdellaluceepossonoindurreunacorrenteinundispositivo ricevente(antenna)anchemoltodistante.
Leporzionidellospettroelettromagneticoutilizzabiliperlatrasmissionedatiincludono: onderadio; microonde; raggiinfrarossi; lucevisibile; raggiultravioletti. Ingenerale,almenoperleonderadio,l'allocazionedellefrequenzedipendedaun'autorit statale. Manmanochesisaledifrequenzasihannocomportamentidiversi: leonderadio,difrequenzapibassa,passanoattraversogliedifici,percorrono lunghedistanzeevengonoriflessedallaionosfera; afrequenzepielevate(lunghezzad'ondadell'ordinedeicmomm)sono estremamentedirezionalievengonofermatedegliostacoli(anchedallegoccedi pioggia!); intuttiicasisonosoggetteainterferenzeelettromagnetiche; latrasmissione(almenoperbassefrequenze)inerentementeditipobroadcast. Ancheinquestoambitolavelocitditrasmissionefunzionedell'ampiezzadellabanda utilizzata.Sitrasmettonoinformazionimodulandol'ampiezza,lafrequenzae/olafase dell'onda.
52
Ilsistematelefonicorivesteunruolocentraleperlecomunicazioniadistanzafra
Cavofra2computer Lineatelefonica
Ossia,visono11ordinidigrandezzadidifferenza:lastessadifferenzachec'trailcosto delProgettoApolloequellodiunbigliettodell'autobus.
Aglialboridellatelefonia(ilbrevettodiAlexanderGrahamBelldel1876)itelefonisi
vendevanoacoppie,egliacquirentisipreoccupavanodistendereilcavo(unosolo,con ritornoviaterra)percollegarli.Lecittdivennerobenprestoungrovigliodicavi,equindi nacquerolesociettelefoniche(laprimafulaBell)cheaprironoufficidicommutazione neiqualiunoperatoresmistavalechiamatefraivariapparecchi.Questinoneranopi collegatidirettamentefraloromaeranotutticonnessiaunufficiodicommutazione.
53
Ufficio di comm.
Figura26:Nascitadelsistematelefonico Poichgliufficidicommutazionenascevanocomefunghi,siriproposelostessoproblema perillorocollegamento.Quindivennerocreatigliufficidicommutazionedisecondo livello,epoiditerzo;allafinelagerarchiasiarrestsucinquelivelli(1890). Taletipodistrutturagerarchicaancheoggiallabasedeisistemitelefoniciintuttoil mondo,convariazionilegateessenzialmentealledimensionideivarisistemi.Attualmente ognisistematelefonicoorganizzatoinunagerarchiamultilivelloconelevata ridondanza. Centrale di commutazione
Local loop
Trunk
Figura27:Strutturagerarchicadelsistematelefonico
54
Alpostodeglioperatorivisonodellecentralidicommutazione,unavolta elettromeccanicheedoggiquasituttedigitali. Illocalloop,cioilcollegamentodaltelefonoallapivicinacentraledicommutazione, ancoraoggibasatosudoppinotelefonicoepuavereunalunghezzada1a10km. Trasportaunsegnaleanalogicodotatodiunabandamoltomodesta(3kHz). Perlealtreconnessioni(trunk)siusanomoltialtrimezzi: cavicoassiali; microonde; fibreottiche,ormaimoltodiffuse. Ormaiquasiovunquelecentralidicommutazionisonodigitalielelineechelecollegano trasportanosegnalidigitali.Ivantaggiprincipalisonoiseguenti: pifacilericostruireperiodicamenteilsegnalesenzaintrodurreerrori(solopochi valori); pifacilemescolarevoce,dati,videoealtritipiditraffico; sonopossibilidataratepialtiusandolelineeesistenti.
Ricordiamocheillocallooptrasportaunsegnaleanalogicoconunalarghezzadibandadi
3kHz(03kHz).Dunque,pertrasmetteredatidigitali,essidevonoesseretrasformatiin analogicidaun'apparecchiodettomodem.Quindivengonoritrasformatiindigitalinella centralinadicommutazionedaunapparecchiodettocodec,(cosachesuccedeanchealle conversazionitelefoniche),equindisubisconoleconversioniinversesullocalloopdi destinazione. Modem Codec
Digitale Analogico
Digitale
Digitale Analogico
Digitale
Figura28:Trasmissionedatisullocalloop
Quindi,sesitrasmetteunsegnaledigitalesullocalloop,acausadellabandaridottasi deveusareunabassissimavelocitditrasmissione.Perevitarequestoinconveniente,si usaunsegnalesinusoidale(quindianalogico)nellabandafra1e2kHz,dettoportante, chevieneopportunamentemodulato(variandoneltempolesuecaratteristiche)per trasmettereleinformazioni. Leprincipalitecnichedimodulazionesonoleseguenti: modulazionediampiezza:sivarial'ampiezza; modulazionedifrequenza:sivarialafrequenza; modulazionedifase:sivarialafase(cioil"ritardo"rispettoalsegnaleoriginale). Ilmodemaccettainingressounsegnaledigitaleeproduceinuscitaunaportante analogicaopportunamentemodulata.Ora,poichlabandapassante(equindilavelocit disegnalazione)limitataa3kHz,sappiamochenonsipossonotrasmetterepidi6 Kbps(perilteoremadiNyquist)seilsegnaleaduevalori.Perraggiungerevelocit superiorisideveriuscireadaumentareilnumerodeipossibilivaloritrasmessi.Cisi ottieneusandoinmodocombinatoletecnichedimodulazionesopraviste. Adesempio,modulandoopportunamentesiaampiezzachefasesipossonorappresentare 16valoridiversi,quindisipossonoottenere4bitperbaud.Dunque,suunalineaa2.400 baud(tipicidellocalloop),siputrasmettereallavelocitdi9.600bps. Idiagrammichedefinisconoipunti(nellospazioacoordinatepolariampiezzafase) corrispondentiavalorivalididelsegnaledatrasmetteresichiamanoconstellation pattern.QuellosopracitatodefinitonellostandardV.32,emessodaITU.E'unesempio distandardperillivellofisico. UnaltroconstellationpatterndefinitonellostandardV.32bis,pervelocitdi14.400bps sulineaa2.400baud.Essoutilizza64puntipertrasmettere6bitperbaud. Infine,ilV.34viaggiaa28.800bps,quinditrasmette12bitperbaud.Sidevenotarechecon questiduestandardpossonosorgereproblemiselalineatelefonicapirumorosadel normale(teoremadiShannon). Un'ulterioremodoperaumentareleprestazioniricorrereameccanismidicompressione deidatiprimaditrasmetterli.Intalmodo,aparitdivelocit,siinvianopiinformazioni. Duestandardimportantiperlacompressionedeidatisono: V.42bis,emessodaITU; MNP5,standarddefacto(MicrocomNetworkProtocol). Infine,perconsentireunatrasmissionecontemporaneaneiduesensi(fullduplex),cisono duetecniche: suddividerelabandainduesottobande,unaperognidirezione;cospersi dimezzalavelocit.Questatecnicatipicadeglistandardperlevelocitpibasse,ad esempioV.21per300bps;
56
cancellazionedell'eco:ognimodemsfruttal'interabandaecancellainricezionegli effettidellapropriatrasmissione. Altriesempidiprotocolloperillivellofisicosonoquellichestabilisconolecaratteristiche dell'interfacciafraelaboratori(DTE,DataTerminalEquipment)emodem(DCE,Data CircuitterminatingEquipment),intermini: meccanici; elettrici; funzionali; procedurali. Adesempio,lostandardRS232CedilmoltosimileV.24delCCITTcaratterizzano: specifichemeccaniche:connettorea25pincontutteledimensionispecificate; specificheelettrice: valore1corrispondeaunsegnaleminoredi3Volt; valore0corrispondeaunsegnalemaggioredi+4Volt; dataratefinoa20Kbps,lunghezzafinoa20metri; specifichefunzionali:qualicircuiti(trasmit,receive,cleartosend,ecc.)sono collegatiaqualipin; specificheprocedurali:costituisconoilprotocollonelverosensodellaparola,ciole coppieazione/reazionefraDTEeDCE. Visonomolteattivitdisperimentazioneetentatividistandardizzazionepersuperareil collodibottigliadellocalloop. Tutteperrichiedono: eliminazionedelfiltroa3kHz; localloopnontroppolunghiecondoppinodibuonaqualit(quindi,nontuttigli utentipotrannousufruirne). Leprincipalipropostesonoleseguenti: cablemodem(velocitdi30Mbps):siconnettel'elaboratorealcavocoassialefornito daungestorediCableTV.Ilproblemaprincipalecheilcavovienecondivisoda moltiutenti. ASDL(AsymmetricDigitalSubscriberLine):velocitiningresso9Mbps,inuscita 640Kbps.Fornisceincasaunattaccoadaltavelocitversoilsistematelefonico, ottenutoeliminandoifiltrieusandopidiundoppino.Labandanoncondivisacon altriutenti.
Comeabbiamogivisto,itrunk(cioleconnessionifraunacentraleel'altra)sono
C'quindilanecessitdimettereinpiediunmeccanismodimultiplazione(multiplexing). Cisonodueschemiprincipali: FrequencyDivisionMultiplexing(FDM); TimeDivisionMultiplexing(TDM). Frequencydivisionmultiplexing Lospettrodifrequenzadisponibilesuddivisoinvariebandepipiccole,eogniutente hal'esclusivousodiunadiesse. Adesempio,picanalitelefonici(ciascunoaventelabandadi3kHz)vengonomultiplati allocandoaciascunodiessiunabandadi4kHz,peravereunmarginedi500Hzdi sicurezzasuciascunlatodellabanda.Ognicanaletelefonicovieneinnalzatoinfrequenza finoadoccuparelabandaassegnatagli.
ch 1 0 Hz 4 kHz
ch 2 0 Hz 4 kHz
ch 2 68 kHz
ch 3 72 kHz
ch 3 0 Hz 4 kHz Figura29:FDM
t b2 a2 d1 c1 b1 a1
Figura210:TDM
Poichilocallooptrasportanounsegnaleanalogico,essodeveesseretrasformatoin digitaleprimadiesserecombinatoinTDMconglialtri.Questaoperazione,comeabbiamo givisto,vienefattaincentraledauncodec(coderdecoder).Essoeffettua8.000 campionamentialsecondodelsegnaleanalogico(1campioneogni125microsecondi:ci sufficiente,secondoilteoremadiNyquist,perunsegnalecaratterizzatodaunabandadi4 kHz)eproducealtrettantivaloria7bit(inUSA)o8bit(inEuropa). QuestatecnicasichiamaPCM(PulseCodeModulation),eformailcuoredituttiisistemi telefonicimoderni.Laconseguenzacheilritmodifunzionamentodituttiisistemi telefonicibasatosuunintervalloditempofondamentaledi125microsecondi. Sinoticheilsegnalevocaledigitalizzatorichiede8*8.000bpsecio64Kpbs. NonesisteunostandardinternazionaleperilTDM: inAmericaedinGiapponesidiffusoilT1Carrier,costituitoda24canali;ogni canaletrasferisce7bitdidati(perlavoce)e1bitdicontrolloogni125microsecondi, percuisihanno56.000bpsdidatie8.000bpsdicontrollo.UnframeT1consistedi192 bit(piunodiframing)ogni125microsecondi,percuiT1trasmetteallavelocitdi193 *8.000bpsossiadi1.544Mbps; inEuropainvecediffusoE1Carrier(conformearaccomandazioneCCITT), costituitoda32canaliconvaloriad8bit(cio32*8*8.000bpsossia2.048Mbps),di cui30peridatie2perilcontrollo.
59
Carrier T2 T3 T4 E2 E3 E4 E5
Tuttocicomportalanecessitdicostoseapparecchiaturediconversioneaiconfinifraun sistemael'altro.
2.3.4) SONET/SDH
Persuperaretalidifficolt,ametdeglianni'80stataintrodottadalCCITTlagerarchia
SDH(SynchronousDigitalHierarchy),unificataalivellomondiale.InUSAsichiama SONET(SynchronousOpticalNETwork)edhaunavelocit(51.84Mbps)nonpresentein SDH. Isuoiscopiprincipalisono: interoperabilitdeivariCarrier(leaziendetelefoniche); unificazionedeisistemiinesercizioinUSA,EuropaeGiappone; capacitditrasportareframeT1esuperioriedE1esuperiori. SONET/SDHbasatosuuntradizionaleTDM,edunsistemasincrono,controllatoda unclockprincipalemoltopreciso(iltassod'erroretipicamenteinferioread1su109).Il multiplexingfattobyteperbyte,ciclicamente.Lagerarchiasincrona,ciosigarantisce chetuttiiclockchegovernanoivariflussisonoassolutamenteidentici. UnsistemaSONETconsistediuninsiemedivarielementi,connessidafibreottiche: unitdicommutazione; multiplexer; ripetitori.
60
Mux sorgente
Ripetitore
Add/drop Mux
Ripetitore
Mux destinazione
Section
Section
Section
Section
Line Path
Line
Figura211:ComponemtidiSONET
SDH
61
blocco STS-n luce Path Line Section Photonic Source Section Line Path Repeater Section frame
end-to-end
Dest.
Figura212:LivellidiSONET
2.3.5) Commutazione
Ilsistematelefonicocommutato,ciolelineeiningressoallacentraletelefonicavengono
commutate,ossiavengonoconnessedivoltainvoltaadifferentilineeinuscitasullabase dellerichiestediconnessionedegliutenti. Cisonoduetipiprincipalidicommutazione: Commutazionedicircuito(circuitswitching):Quandosieffettuaunatelefonata,il sistemastabilisceunaconnessionefisicadedicatafrailchiamanteedilchiamato.Il trafficoquindifluiscesuquestaconnessione.Naturalmente,laconnessioneinrealt costituitainvarimodi,primasullocalloopepoicomesuccessionedicanalia64K ricavatiall'internodiflussiT1,oT3,oSTSM.Inquestocasoc'uncertotempoche passaperilconnectionsetup(anchealcunisecondi),dopodicheilsegnaleviaggia senzaulterioriritardi.E'difficilechesipresentinosituazionidicongestione. Commutazionedipacchetto(packetswitching):Nonsistabiliscealcuna connessionefisicafrasorgenteedestinazione.Idatidainviaresonospezzettatiin pacchetti,chevengonoinviatiindipendentementegliunidaglialtri,possono percorrerestradediverseevengonoriordinatisoloadestinazione.Fraivantaggi:non siriservabandainanticipo(cheverrebbepoisprecatainassenzaditraffico)enonc'il ritardoperilconnectionsetup.Unosvantaggiorisiedenelfattochelacongestionepu insorgereinognimomento. Attualmenteisistemitelefonici,ottimizzatiperlafonia,sonocircuitswitched.Viceversa, leretidielaborazionesonocomunementepacketswitched,puroffrendoingeneraleanche serviziditipoconnesso.
62
Iltipopisempliceilcrossbar,dotatodiningressi,nusciteedn puntidiincrocio,
2
realizzaticiascunoconundispositivoasemiconduttoridettoswitchchehadueingressii1 edi2edueusciteu1edu2.Ildispositivopuavereduestati: i1connessoau1ei2connessoau2; i1connessoau2ei2connessoau1. Unsingoloswitchcommutainpochimicrosecondiestabilisceunaconnessioneelettrica direttafrauningressoedunauscita.Asecondadicomevengonopilotatigliswitch,un crossbaringradodiinstradarecontemporaneamenteognilineainingressosuuna opportunalineainuscita. Unosvantaggiochecivoglionon2switch,ossiaunnumeroconsiderevole.Persuperare questoproblemasonostatiintrodottigliswitchmultilivello(multistageswitch),basati sulprincipiodiutilizzaremolticrossbardipiccoledimensioni(ades.2*2),organizzatiin gruppisupilivellisuccessivi.UnapossibilitlaretediBanyan. Talidispositivirichiedonounnumerominorediswitch(O(nlg2n)nelcasodellarete Banyan),mapurtroppopresentanolosvantaggiodiessereespostiaconflitti nell'instradamentodelleinformazioni.Taliconflittirichiedonomeccanismidibuffering, cheaumentanoilcostodeldispositivo.
Pervarieragioni,fracuiglielevaticostidicablaggioel'esistenzadilegginazionaliche
regolamentanoilsettoredelletelecomunicazioni,attualmenteimpossibileperuna organizzazionerealizzareunaretegeograficaprovvedendoinproprioallastesura materialedeicavi,ovequestidebbanopassaresusuolopubblico.Cisideveinvece rivolgereadunasociettelefonica(infuturoancheadaltri,qualiadesempioCableTV) perlarealizzazionedellasubnetdicomunicazione.
Esistonoinpropositodiversepossibilit,fralequali: affittodilineededicate:sipossonostipularecontrattiperl'affittodilinee telefonichededicate(cioperennementeattiveediesclusivousodelcliente)chepoi costituisconoicollegamentifrainodidellasubnet.Talilineepossonoaverevelocit varie(tipicamentecompresefra2.400bpse2Mbps).L'aziendatelefonicaimplementa talilineeriservandoalclienteuncircuitopermanentediopportunavelocit,e(se necessario)stendendocavidialtaqualitdallecentralipivicineallesediutente,per superareilimitigivisticheaffliggonoillocalloop.Questasoluzionemoltocostosa: unalineaa2Mbpscostadiversedecinedimilionil'anno.L'utente,ricevutelelinee dedicate,configuralaretegeograficautilizzandol'architetturaeleattrezzaturedirete disuogradimento. affittodiservizitrasmissionedati:unapossibiliteconomicamentepi vantaggiosaquelladiricorrereaiserviziditrasmissionedatiofferti(ormaidavari anni)datuttelesociettelefoniche.L'ideadirealizzareleconnessionifrainodidella
63
64
Questolivellohailcompitodioffrireunacomunicazioneaffidabileedefficienteadue
macchineadiacenti,cioconnessefisicamentedauncanaledicomunicazione(ades.:cavo coassiale,doppino,lineatelefonica). Essosicomportacomeun"tubodigitale",cioibitpartonoearrivanonellostessoordine. Lacosanonbanalecomesembra,perch: cisonoerroriedisturbioccasionali; ilcanalehaundataratefinito; c'unritardonellapropagazione. Iprotocolliusatiperlacomunicazionedevonotenereincontotuttoquesto. Competenzedellivellodatalink Questolivellohaleseguentiincombenzeprincipali: offrireserviziallivellonetworkconun'interfacciabendefinita; determinarecomeibitdellivellofisicosonoraggruppatiinframe(framing); gestireglierroriditrasmissione; regolareilflussodellatrasmissionefrasorgenteedestinatario. ServizioffertiallivelloNetwork Ilservizioprincipaletrasferiredatidallivellonetworkdellamacchinadiorigineal livellonetworkdellamacchinadidestinazione. Comesappiamo,latrasmissionerealepassaattraversoillivellofisico,manoiragioniamo interminididialogofradueprocessialivellodatalinkcheusanounprotocollodilivello datalink. Iservizioffertipossonoesserediversi.Ipicomunisono: connectionlessnonconfermato simandanoframeindipendenti; iframenonvengonoconfermati; nonsistabilisceunaconnessione; iframepersinonsirecuperano(inquestolivello); appropriatoper: canalicontassod'erroremoltobasso; trafficorealtime(es.voce); leLAN,nellequali,ineffetti,moltocomune. connectionlessconfermato comesopra,periframevengonoconfermati; selaconfermanonarriva,ilmittentepurispedireilframe; utilesucanalinonaffidabili(ades.insistemiwireless); nota1:laperditadiunackpucausarelatrasmissionedipicopiedello stessoframe;
65
nota2:averelaconfermaaquestolivelloun'ottimizzazione,maiuna necessit.Infattilaconfermapusempreesserefattaalivellosuperiore,macon lineedisturbatecipuesseregravoso. connectionorientedconfermato ilserviziopisofisticato; prevedetrefasi(aperturaconn./inviodati/chiusuraconn.); garantiscecheogniframesiaricevutoesattamenteunavoltaenell'ordine giusto; fornisceallivellonetworkunflussodibitaffidabile. Vediamoorauntipicoesempiodifunzionamento.Consideriamounrouterconalcune lineeiningressoedalcuneinuscita.Ricordiamocheilroutingavvienealivellotre (network),quindiilroutergestisceilivelliuno,dueetre. 1. Quandoalrouterarrivanodeibitdaunalineafisica,l'hardwareappositoseneaccorge (siamoalivello1)elipassaalcorrispondenteSW/HWdilivellodue. 2. IlSW/HWdilivellodue(datalink),cheingenerecontenutoinunchipsullascheda (oadattatore)direte(tipicoesempiounaschedaEthernet)faicontrolliopportuni: framing; controlloerroriditrasmissione; controllonumerodiframe(senecessario). 3. SetuttoOK,ilSW/HWdilivelloduegenerauninterruptallacpu,chechiamain causailSWdilivellotre(network): questotipicamenteunprocessodisistema,alqualevienepassatoil pacchettocontenutonelframedilivellodueperl'ulterioreelaborazione; l'elaborazioneconsisteneldeterminare,sullabasedellecaratteristichedel pacchetto(inparticolaredell'indirizzodidestinazione),suqualelineainuscita instradarlo. 4. Presaquestadecisione,ilSWdilivellotreconsegnailpacchettoalcorrispondente SW/HWdilivellodue,cheloimbustainunnuovoframeeloconsegnaalsottostante livellofisico(ossiaquellorelativoallalineainuscitaprescelta). Illivellounoaccettaunflussodibitgrezziecercadifarliarrivareadestinazione.Per: ilflussononesentedaerrori; possonoarrivarepiomenobitdiquantisonostatiinviati. E'compitodellivelloduerilevare,esepossibilecorreggere,talierrori.L'approcciousuale dellivellodueilseguente. Intrasmissione: spezzailflussodibitchearrivadallivellotreinunaseriediframe; calcolaun'appositafunzione(checksum)perciascunframe; inserisceilchecksumnelframe; consegnailframeallivellouno,ilqualelospediscecomesequenzadibit. Inricezione: riceveunasequenzadibitdallivellouno; ricostruiscedaessaunframedopol'altro; perciascunframericalcolailchecksum;
66
3.1) Framing
E'rischiosousarelospaziotemporalecheintercorretraiframeperdelimitarli,perch
3.1.1) Conteggio
Siutilizzauncamponell'header,perindicarequanticarattericisonodelframe
5 0 3 2 4 4 3 8 10
Frame 1, 5 caratteri
Frame 2, 4 caratteri
Figura31:Ilmetododelconteggio
OgniframeiniziaefinisceconunaparticolarelasequenzadicaratteriASCII.
Unasceltadiffusalaseguente: inizioframe: DLE(DataLinkEscape),STX(StartofTeXt) fineframe: DLE,ETX(EndofTeXt)
67
LatecnicaprecedentelegataallacodificaASCIIad8bit,enonvabenepercodifichepi
moderne(es.UNICODE).Unatecnicaanalogaepirecentepermettediavereunnumero qualunquedibitdentroilframe. Ogniframeiniziaefinisceconunaspecificasequenzadibit(bitpattern),ades.:
01111110
chiamataunflagbyte. Ovviamenteesisteunproblemaanalogoalcasoprecedente:talesequenzadibitpuinfatti apparireall'internodeidatichedevonoesseretrasmessi. Inquestocaso: intrasmissione:ognivoltacheillivellodueincontraneidatidatrasmettere5bit consecutiviugualia1inserisceunozeroaggiuntivo; inricezione:quandoneidatiricevuticompaiono5bitugualiauno,sirimuovelozero chelisegue. Dunque,ilflagbytepuappariresoloall'inizioedallafinedeiframe.Questatecnicava sottoilnomedibitstuffing.
Inmoltereti(sopratuttoLAN)sicodificanoibitallivellofisicoconunacertaridondanza.
Adesempio: ilvalore1diunbitdidaticodificatoconlacoppiahigh/lowdibitfisici; ilvalore0diunbitdidaticodificatoconlacoppialow/highdibitfisici.
Lecoppielow/lowedhigh/highnonsonoutilizzate.Codifichecomequesta(Manchester encoding,usatainIEEE802.3)hannoloscopodiconsentireunafaciledeterminazionedei
68
Cisonomoltifattorichepossonoprovocareerrori,sopratuttosullocalloopenelle
trasmissioniwireless.Viceversa,essisonopiuttostorarineimezzipimoderniqualile fibreottiche. Glierrorisonodovutiingeneralea: rumoredifondo; disturbi(ades.fulmini)improvvisi; interferenze(ades.motorielettrici). Cisonodueapproccialtrattamentodeglierrori: includereabbastanzainformazioneaggiuntivainmododapoterricostruireil messaggiooriginario(correzionedell'errore); includeremenoinformazioneaggiuntiva,inmododaaccorgersichec'statounerrore, senzaperquestoessereingradodicorreggerlo(rilevazionedell'errore).
Normalmente,unframe(aparteidelimitatori)consistedi
n=m+r bit,dove: mbitcostituisconoilmessaggioveroeproprio; rbitsonoridondanti,esonodettireduntantbit(ocheckbit). Unasequenzadinbitfattaintalmodosidicecodeword,oparoladicodice. Dateduequalunqueparoledicodice,ades.:
1000 1001 1011 0001
Uninsiemeprefissatodicodewordcostituisceuncodice(code).LadistanzadiHamming diuncodiceilminimodelledistanzediHammingfratuttelepossibilicoppiedi codeworddelcodice. Ora,lecapacitdirilevareocorreggereglierroridipendonostrettamentedalladistanzadi Hammingdelcodicescelto. Inparticolare: perrilevarederroriserveuncodicecondistanzadiHamming(d+1).Infatti,inquesto casoqualunquecombinazionediderrorinonriesceatrasformareuncodewordvalido inunaltrocodewordvalido,percuisihaperforzauncodewordnonvalido,chequindi rivelailfattochecisonostatideglierrori; percorreggerederrori,serveuncodicediHammingcondistanza(2d+1).Infattiin questocasouncodewordcontenentefinoaderroripivicinoaquellooriginarioche aqualunquealtrocodewordvalido. Dunque,asecondadegliscopichesivoglionoraggiungere,siprogettaunalgoritmoperil calcolodeglircheckbit(infunzionedeglimbitdelmessaggio)inmodocheicodeworddi n=m+rbitrisultanticostituiscanouncodiceconladesideratadistanzadiHamming. Vediamoora,comeesempio,uncodiceottenutomediantel'aggiuntadiunbitdiparit, calcolatoinmodotalecheilnumerototaledibitugualiad1siapari(inquestocasosi parladievenparity)
<-- m --> 1011 0101 1000 0111 r 1 0
70
Comesecondoesempio,consideriamoilcodicecostituitodalleseguenticodeword:
00000 00000 11111 11111 00000 11111 00000 11111
Essohadistanza5,percuicorreggedueerrori(cifresottolineate).Infatti,searriva
00000 001111
sipurisalirecorrettamentealcodewordpivicino,che
00000 11111
Per,secisonotreerroriedarriva
00000 00111
siamoneiguai,perchessoverrintrepretatoerroneamentecome
00000 11111
anzichcome
00000 00000
Percorreggereunsingoloerroresumbit,sidevonoimpiegarealmenorcheckbit,con 2r>=m+r+1 ossiasononecessaricircalg2mbit.Esisteuncodice(codicediHamming)cheraggiunge questolimiteteorico. Ora,c'unasemplicetecnicaconlaqualetalecodicepuessereimpiegatopercorreggere gruppicontiguidierrori(dettiburstdierrori)dilunghezzamassimaprefissata. Supponiamodivolercorreggereburstdilunghezzak: siaccumulanokcodeword,rigaperriga; icodewordsitrasmettonopercolonne; quandoarrivanosiriassemblanoperrighe.Unburstdikerroricomportaunsingolo erroreinciascuncodeword,chequindipuesserecompletamentericostruito.
Icodicicorrettoridierroresonousatiraramente(adesempioinpresenzaditrasmissioni
simplex,nellequalinonpossibileinviarealmittenteunarichiestadiritrasmissione), perchingeneralepiefficientelimitarsiarilevareglierrorieritrasmettere saltuariamenteidatipiuttostocheimpiegareuncodice(pidispendiosointerminidi ridondanza)perlacorrezionedeglierrori.
71
Infatti,adesempio,supponiamodiavere: canaleconerroriisolatieprobabilitdierroreugualea106perbit; blocchidatidi1.000bit. Percorreggereerrorisingolisuunbloccodi1.000bit,civogliono10bit,percuiun Megabitrichiede10.000checkbit. Viceversa,perrilevarel'erroreinunblocco,bastaunbit(conparitycode).Ora,con106di tassod'errore,solounbloccosu1.000sbagliatoequindideveessereritrasmesso.Di conseguenza,perogniMegabitsidevonorispedire1.001bit(unbloccopiilparitybit). Dunque,l'overheadtotalesuunMegabit: 1.000bitperparitybitsu1.000blocchi, 1.001bitperilbloccoritrasmesso, peruntotaledi2.000bitcontroi10.000delcasoprecedente.
L'usodelparitybitpuservire(conunmeccanismoanalogoaquellovistoperla correzionediburstdikerrori)perrilevareburstdierroridilunghezza<=k.Ladifferenza chenonsiusanorcheckbitperognicodeword,maunosolo. Esisteperunaltrometodochenellapraticavieneusatoquasisempre,ilCyclic RedundancyCode(CRC),notoanchecomepolynomialcode.Ipolynomialcodesono basatisull'ideadiconsiderarelestringhedibitcomerappresentazionidipolinomia coefficenti0e1(unnumeroadmbitcorrispondeadunpolinomiodigradom1). Adsempio,lastringadibit1101corrispondealpolinomiox3+x2+x0. L'aritmeticapolinomialefattamodulo2,secondoleregoledellateoriaalgebricadei campi.Inparticolare: addizioneesottrazionesonoequivalentiall'oresclusivo(nonc'riportooprestito); ladivisionecomeinbinario,calcolataattraversolasottrazionemodulo2. Ilmittenteedildestinatariosimettonod'accordosuunpolinomiogeneratoreG(x),che deveavereilbitpisignificativoequellomenosignificativoentrambiugualiad1. SupponiamocheG(x)abbiarbit. IlframeM(x),delqualesivuolecalcolareilchecksum,dev'esserepilungodiG(x). Supponiamocheabbiambit,conm>r. L'ideadiappendereincodaalframeunchecksumtalecheilpolinomiocorrispondente (chehagradom+r1)siadivisibileperG(x). Quandoilricevitorericeveilframepiilchecksum,divideiltuttoperG(x).Seilrisultato zerotuttoOK,altrimentic'statounerrore. Ilcalcolodelchecksumsieffettuacomesegue: 1. Appendererbitadestradelframe,chequindiham+rbit,ecorrispondeadxrM(x); 2. DividerexrM(x)perG(x);
72
3. SottrarreadxrM(x)ilrestodelladivisioneeffettuataalpassoprecedente.Cichesi ottieneilframepiilchecksumdatrasmettere,cheovviamentedivisibileperG(x). Sinotichedifattoquestaun'operazionediXORfattasuglirbitmenosignificativi,e quindinonmodificailframe. Questometodomoltopotente,infattiuncodicepolinomialeconrbit: rilevatuttiglierrorisingoliedoppi; rilevatuttiglierroridixbit,xdispari; rilevatuttiiburstdierroridilunghezza<=r. Traipolinomisonodiventatistandardinternazionali: CRC12:x12+x11+x3+x2+x1+1; CRC16:x16+x15+x2+1; CRCCCITT:x16+x12+x5+1; Unchecksuma16bitcorregge: errorisingoliedoppi; erroridinumerodisparidibit; erroriburstdilunghezza<=16; 99.997%diburstlunghi17; 99.998%diburstlunghi18. Questirisultativalgonosottol'ipotesicheglimbitdelmessagiosianodistribuiti casualmente,ilchepernonveronellarealt,percuiiburstdi17e18possonosfuggire pispessodiquantosicreda.
Dopoavertrovatoilmododidelinearel'inizioelafinedeiframeedigestireglierroridi
trasmissione,bisognatrovarelamanieradiinformareopportunamenteilmittentesei framespeditisonoanchearrivati,esenzaerrori,dall'altraparte: serviziconnectionlessnonconfermati:nonc'bisognodialcunaconferma; serviziconnectionlessconfermati:sonoarrivatituttiesenzaerrori? serviziconnectionorientedconfermati:sonoarrivatitutti,senzaerrorienell'ordine giusto? Persaperlosiintroduceilconcettodiacknowledgement,cheunmessaggioinviatodal destinatarioalmittenteperinformarloche: ilframearrivatocorrettamente(positiveack); ilframeerrato(negativeack). Nelseguito,ovenecessarioperevitareambiguit,coltermineframedatiindicheremoun framechetrasportainformazionigeneratenelcolloquiofralepeerentity;coltermine framediackindicheremounframeilcuisoloscopotrasportareunacknowledgement.
73
Introducendol'usodegliacksorgonoperalcuniproblemi,fracui: Problema1 Soluzione1 unframepuanchespariredeltutto,percuiilmittenterimane bloccatoinattesadiunackchenonarrivermai; ilmittentestabilisceuntimeoutperlaricezionedell'ack.Se questononarrivaintempo,ilframesiritrasmette. sespariscel'ack,ildestinatarioputrovarsidue(opi)copie dellostessoframe; ilmittenteinserisceunnumerodisequenzaall'internodiogni framedati.
Problema2 Soluzione2
Unaltroaspettoimportante,cherichiedeanch'essounfeedbackdaldestinatarioal mittente,ilcontrollodelflusso,ondeimpedirecheilmittentespediscadatipi velocementediquantoildestinatariosiaingradodigestirli.Spessosiusanomeccanismi basatisull'esplicitaautorizzazione,datadapartedeldestinatarioalmittente,diinviareun benprecisonumerodiframe. Vedremooralecaratteristichedidiversiprotocolli,dicomplessitcrescente,perillivello datalink. Primaperdobbiamofarealcuneassunzioni: neilivellifisico,datalinkenetwork,cisonoprocessi(HWoSW)indipendenti,che comunicanofraloro,adesempioscambiandosimessaggi; quandoilSWdilivellodatalinkriceveunpacchettodallivellonetwork,loincapsulain unheadereduntrailercontenentiinformazionidicontrollo;quindivengonocalcolatiil checksumeidelimitatori(dinormaacuradiunHWappositodilivellodatalink); ilframevienepassatoallivellosottostante,chetrasmetteiltutto; inricezione,l'HWdilivellodatalinkidentificaidelimitatori,estraeilframe,ricalcolail checksum: sesbagliato,ilSWdilivellodatalinkvieneinformatodell'errore; altrimentiilSWdilivellodatalinkriceveilframe(senzapichecksum). ilSWdilivellodatalink,quandoriceveunframe,esaminaleinformazionidicontrollo (ossialoheadereiltrailer): setuttoOKconsegnailpacchetto,esoloquello,allivellonetwork; altrimentiintrapendequantonecessariofareperrecuperarelasituazionee nonconsegnailpacchettoallivellonetwork. Neinostriesempi,lastrutturadiunframequesta: kind seq Header Icampidelframehannoleseguentifunzioni: ack info
kind
serviradistinguereiltipodiframe(contienedati,solodi
74
Naturalmente,ivarialgoritmiuserannoviaviaunnumeromaggioreditaliinformazioni.
Questoprotocollo,percanalesimplex,moltosempliceedbasatosulleipotesi(non
realistiche)che: iframedativengonotrasmessiinunasoladirezione; lepeerentitydilivellonetworksonosemprepronte(nondevonomaiattendereper inviareoricevereal/dallivellodatalink); siignorailtempodielaborazionedellivellodatalink; c'spazioinfinitoperilbufferingnelricevitore; ilcanalefisicononfamaierrori. Ilprotocolloconsistedidueprocedure,relativerispettivamentealmittenteeal destinatario.
75
Mittente(loopinfinito):
1) attende un pacchetto dal livello network; 2) costruisce un frame dati; 3) passa il frame al livello fisico; 4) torna ad 1).
Destinatario(loopinfinito):
1) attende evento: * arriva frame da livello fisico: 2) estrae pacchetto; 3) lo passa al livello network; 4) torna ad 1).
Rilasciamol'ipotesi(pocorealistica)cheesistaunbufferinfinitonelricevitore.Tuttele
76
Destinatario(loopinfinito):
1) attende evento: * arriva frame dati da livello fisico: 2) estrae il pacchetto; 3) consegna il pacchetto al livello network; 4) invia un frame di ack (vuoto) al mittente; 5) torna ad 1).
Assumiamooracheilcanalepossafareerrori.Iframe(datiodiack)possonoessere
danneggiatiopersicompletamente.Seunframearrivadanneggiato,l'HWdicontrollodel checksumseneaccorgeeinformailSWdilivellodatalink;seilframesiperdedeltutto, ovviamente,lacosanonsirileva. L'aggiuntadiuntimeralprotocollo2)pubastare?Cio,adeguatounoschemaqualeil seguente? quandoilmittenteinviaunframedati,faanchepartireuntimer;senonarrival'ack entrolascadenzadeltimer,invianuovamenteilframe; ildestinatarioinviaunackquandounframedatiarrivasenzaerrori; Questosempliceschemainrealtnonbasta,infattipuverificarsilaseguentesequenzadi eventi: 1. ilframedatixarrivabene; 2. l'ackdelframexsiperdecompletamente(glierrorinondiscriminanotraframedatie framediack); 3. ilframedatixvieneinviatodinuovoearrivabene; 4. illivellonetworkdidestinazionericeveduecopiedix,errore! E'necessariocheildestinatariopossariconoscereglieventualidoppioni.Cisiottiene sfruttandoilcamposeqdell'header,doveilmittentemetteilnumerodisequenzadel framedatiinviato. Notiamochebastaunbitperilnumerodisequenza,poichl'unicaambiguitinricezione traunframeedilsuoimmediatosuccessore(sianoancorainstopandwait):infatti,fino acheunframenonvieneconfermato,sempreluiadessereritrasmesso,altrimentiil suosuccessore.
77
Dunque,siamittentechedestinatariouseranno,comevaloriperinumeridisequenza,la successione
...01010101...
Ilmittentetrasmetteiframedatialternandozeroedunonelcamposeq;passaa trasmettereilprossimoframesoloquandoricevel'ackdiquelloprecedente. Ildestinatarioinviaunframediackpertuttiquelliricevutisenzaerrori,mapassaal livellonetworksoloquelliconilnumerodisequenzaatteso. Perquantoriguardalepossibilitcheiframedatiarrivinorovinationonarrivinoaffatto, unmeccanismobasatosutimervabene,bisognapercheessosiaregolatoinmododa permetteresicuramentel'arrivodell'ack,penalaritrasmissioneerratadiunduplicatodel frame,chepucrearegrossiguai(vedremoinseguito). Protocollicomequesto,incuiilmittenteaspettaunackdiconfermaprimaditrasmettereil prossimoframe,sichiamanoPAR(PositiveAckwithRetransmission)oARQ(Automatic RepeatRequest). Mittente(loopinfinito;[seq]rappresentailcamposeqdiunframe):
0) n_seq = 0; 1) n_seq = 1 - n_seq; 2) attende un pacchetto dal livello network; 3) costruisce frame dati e copia n_seq in [seq]; 4) passa il frame dati al livello fisico; 5) resetta il timer; 6) attende un evento: * timer scaduto: torna a 4) * arriva frame di ack (vuoto) non valido: torna a 4) * arriva frame di ack (vuoto) valido: torna ad 1)
78
Destinatario(loopinfinito;[seq]rappresentailcamposeqdiunframe):
0) n_exp = 1; 1) attende evento; * arriva frame dati valido da livello fisico: 2) se ([seq] == n_exp) 2.1) estrae pacchetto 2.2) lo consegna al livello network 2.3) n_exp = 1 - n_exp 3) invia frame di ack (vuoto) 4) torna ad 1) * arriva frame non valido: torna ad 1)
Insintesi: Ilmittenteetichettaiframedaticonlasequenza...0,1,0,1...,mapassaall'etichettae framesuccessivisoloquandoarrivaunack;finchcinonsuccede,continuaa ritrasmetterelostessoframe. Ilriceventeinviaunackdiconfermapertuttiiframedatiprividierrori,maconsegnaal livellonetworksoloquelligiusti,ecioetichettatisecondolasequenza...0,1,0,1.... Idisegniseguentiillustranovarieeventualitchepossonoverificarsiduranteildialogo secondoilprotocollo3.Inumeriailatidellefigureindicanoinumeridisequenzache, rispettivamente: ilmittenteusaperetichettareilframedatidatrasmettere; ildestinatariousaperdecidereseilprossimoframechearrivavapassatoallivello networkono.
79
x ack() 1
x+1 ack() 0
80
x ack() 1
0 Timeout
x+1
x+1 ack() 0
x+2 1 ecc.
Figura33:Perdita(odanneggiamento)diunframe
81
1 Timeout
x ack() 1
x+1 ack() 0
82
1 Timeout x 1 0 1 x x+1 0 (non passa a liv. netw.) ack() 1 x+2 0 (non passa a liv. netw.) ack() 0 x+3 0 ack() ack()
ecc. Figura35:Timeouttropporidotto
Nell'esempio,iframedati(x+1)e(x+2)siperdono(nelsensochenonvengonoconsegnati allivellonetwork)enessunoseneaccorge.
83
1 Timeout
x ack() 1
1 Timeout
1 Timeout
Neicasiprecedentiiframedativiaggianoinunasoladirezioneeiframediacknella
direzionecontraria,quindiesistonodeiframecheviaggianoinentrambeledirezioni. Dunque,volendostabilireunacomunicazionedatibidirezionalenecessariodisporredi duecircuiti,ilcheovviamenteunosprecodirisorse.Un'ideamiglioreusareunsolo circuito,nelqualefarconviveretutteleesigenze. SupponendochelacomunicazionesiafraAeB,siavrche: nelladirezionedaAaBviaggianoiframedatiinviatidaAaBeiframediackinviati daAaB(inrispostaaiframedatiinviatidaBadA); nelladirezionedaBaAviaggianoiframedatiinviatidaBaAeiframediackinviati daBaA(inrispostaaiframedatiinviatidaAadB); ilcampokindserveadistinguerefraiduetipidiframe,datiediack,cheviaggiano nellastessadirezione.
84
dati A -> B
ack A -> B
dati A -> B
dati A -> B
A
ack B -> A dati B -> A ack B -> A dati B -> A Figura37:Comunicazionedatibidirezionalesuunicocanale
Perc'un'ideaancoramigliore:se,quandosideveinviareunackdaBadA,siaspettaun pfincheprontounframedaticheBdeveinviareadA,sipu"fareautostop"emettere dentrotaleframedatiancheleinformazionirelativeall'ackinquestione.Questatecnicasi chiamapiggybacking(letteralmente,portareaspalle). ack A -> B dati A -> B ack A -> B dati A -> B
A
dati B -> A ack B -> A dati B -> A ack B -> A Figura38:Piggybacking
Ilcampoackserveproprioaquestoscopo,infattiilcampoincuivienetrasportato,sec', unack. Questatecnicaconsenteunnotevolerisparmiodi: bandautilizzata; usodicpu. Infatti,conquestatecnicaleinformazionidiacknonrichiedonolacostruzionediun appositoframe(equindiiltemponecessarioallacreazioneedalriempimentodella struttura,alcalcolodelchecksum,ecc.)nlasuatrasmissione(equindil'usodibanda). Perc'unaspettodanontrascurare:perquantosipuaspettareunframesucui trasportareunackcheprontoedeveessereinviato?Nontroppo,perchsel'acknon arrivaintempoilmittenteritrasmetterilframeanchesecinonnecessario.Dunquesi stabilisceunlimitealtempodiattesadiunframesulqualetrasportarel'ack;trascorsotale temposicreaunframeappositonelqualesimettel'ack. Iprotocollichevedremooraappartengonoallaclassedeiprotocollislidingwindow (finestrascorrevole),sonofullduplex(peridati),sfruttanoilpiggybackingesonopi robustidiquelliprecedenti. Differisconofraloroperefficienza,complessitecapacitdeibuffer.Alcuniaspettiper sonocomuniatuttiglialgoritmi:
85
ogniframeinviatohaunnumerodisequenza,da0a2n1(ilcamposeqcostituitodan bit); adogniistanteilmittentemantieneunafinestrascorrevolesugliindicideiframe,esolo quellientrolafinestrapossonoesseretrasmessi.Inumeridisequenzaentrolafinestra rappresentanoframedaspedireospediti,manonancoraconfermati: quandoarrivadallivellonetworkunpacchetto,unnuovoindiceentranella finestra; quandoarrivaunack,ilcorrispondenteindiceescedallafinestra; iframedentrolafinestradevonoesseremantenutiinmemoriaperla possibileritrasmissione;seilbufferpieno,illivellodatalinkdevecostringereil livellonetworkasospenderelaconsegnadipacchetti; analogamente,ildestinatariomantieneunafinestracorrispondenteagliindicideiframe chepossonoessereaccettati: searrivaunframeilcuiindicefuoridallafinestra: ilframevienescartato(enonsiinviailrelativoack); searrivaunframeilcuiindiceentrolafinestra: ilframevieneaccettato; vienespeditoilrelativoack; lafinestravienespostatainavanti; sinotichelafinestradeldestinatariorimanesempredellastessadimensione, eseessaparia1illivelloaccettaiframesolonell'ordinegiusto(maper dimensionimaggioridi1questononpidetto). lefinestredimittenteedestinatarionondevononecessariamenteavereuguali dimensioni,nugualilimitiinferioriosuperiori. Finestra scorrevole ... 3 4 5 6 7 8 9 10 11 ...
Ilfunzionamento,moltosemplice,ilseguente: ilmittente,quandoinviaunframe,fapartireuntimer: seprimachescadailtimerarrivaunackconlostessonumerodisequenza delframechesistacercandoditrasmettere,siavanzalafinestraesipassaa trasmettereilframesuccessivo; searrivaunackdiversooscadeiltimer,siritrasmetteilframe; ildestinatarioinvece: quandoarrivaunframecorretto,senzaerrori,inviaunackcol corrispondentenumerodisequenza; seilframenonunduplicatolopassaallivellonetworkeavanzalafinestra. Quistalaprincipalenovitrispettoalprotocollo3:l'acketichettatocolnumerodi sequenzadelframeacuisiriferisce.Ivaloridell'etichettapossonosoloessere0e1,come nelprotocollo3. Ilpeggiochepusuccederelaritrasmissioneinutilediqualcheframe,maquesto protocollosicuro. Protocolligobackneselectiverepeat Seiltempodiandataeritornodelsegnale(roundtriptime)alto,comeadesempionel casodeicanalisatellitarineiqualitipicamenteparia500+500msec,c'unenorme inefficienzacoiprotocollistopandwait,perchsistaquasisemprefermiaspettandol'ack. Permigliorarelecose,sipuconsentirel'inviodiuncertonumerodiframeanchesenza averricevutol'ackdelprimo.Questatecnicavasottoilnomedipipelining. Ciperponeunserioproblema,perchseunframenelmezzodellasequenzasirovina moltialtriframevengonospeditiprimacheilmittentesappiachequalcosaandato storto. Ilprimoapproccioalproblemaquellodelprotocollogobackn: searrivaunframedanneggiatooconunnumerodisequenzanonprogressivo,il destinatarioignorataleframeetuttiisuccessivi,noninviandoirelativiack.Ci corrispondeadunafinestradidimensioneunonelricevitore,chequindiaccettaiframe solonell'ordinegiusto; ilmittenteaduncertopuntovaintimeoutsulframesbagliato,epoisututtiquelli successivi(scartatidaldestinatario),equindiprovvedearitrasmetterelasequenzadi framecheiniziaconquelloperilqualesiverificatoiltimeout.
87
Timeout
Ecc.
ck
ck
ck
ck
Errato
Scartati
Figura310:Funzionamentodelprotocollogobackn Sinoticheilmittentedevemantenereinunappositobuffertuttiiframenonconfermati perpoterlieventualmenteritrasmettere.Seilbuffersiriempie,ilmittentedevebloccareil livellonetworkfinoachenonsiricreadellospazio.Inoltre,visprecodibandaseiltasso d'errorealtoe/oiltimeoutlungo. Ilsecondoapprocciopiefficiente,edchiamatoselectiverepeat: ildestinatariomantienenelsuobuffertuttiiframericevutisuccessivamenteadun eventualeframerovinato;nonappenaquestoarrivanuovamente(senzaerrori),essoe tuttiisuccessiviframecontiguicheildestinatariohamantenutonelbuffervengono consegnatiallivellonetwork; perogniframearrivatobene,ildestinatarioinviaunackcolnumeropialtodella sequenzacompletaarrivatafinoaquelmomento; quandosiverificauntimeout,ilmittenterispedisceilframecorrispondente. Timeout
10
11
Ac k
Ac k
Ac k
Ack
Ack
Ack
Ack
Ack
Ac k
9
Ack
Ack
Ack
9
Ecc.
Mantenuti nel buffer dal destinatario I frame da 2 a 8 vangono passati al livello network Figura311:Funzionamentodelprotocolloselectiverepeat
Alcuneconsiderazioniapropositodelprotocolloselectiverepeat:
88
A
12
ck
mittenteedestinatariodevonoentrambigestireunbufferpermantenerviiframe: nonconfermati(mittente); successiviadunerrore(destinatario); viunbassosprecodibanda,chesisipuulteriormentediminuiremandandoun NACK(NegativeACKnowledgement)quando: arrivaunframedanneggiato; arrivaunframediversodaquelloatteso(cipuindicarel'avvenutaperdita delframeprecedente). Infine,sinoticheperentrambiiprecedentiprotocolli: necessarialagestioneditimermultipli(unoperogniframeinviatoenonconfermato); ilricevente,perinviaregliack,usailpiggybackingsepossibile,altrimentiinviaun appositoframe.
IprotocollidatalinkpidiffusioggisonodiscendentidelprotocolloSDLC(Synchronous
DataLinkControl),natonell'ambitodell'architetturaSNA.Nelseguitoverrannoillustrate brevementelecaratteristicheditrediffusiprotocolli:HDLC(standardISO),SLIP (architetturaTCP/IP)ePPP(suosuccessore).
E'unprotocollobitoriented,equindiusalatecnicadelbitstuffing.Ilformatodelframe
HDLCillustratonellafiguraseguente. Bit: 8 8 8 Control 0 Dati 16 Checksum 8 01111110
01111110 Address
Figura312:FrameHDLC
89
Icampidelframehannoleseguentifunzioni:
Address
E'natonel1984edilpivecchioprotocollodilivellodatalinkdell'InternetProtocol
Suite. Moltosemplice,nacquepercollegareviamodemmacchineSunadInternet.Spediscesulla lineapacchettiIPterminaticolbyte0xC0.Usacharacterstuffing. Hadiverselimitazioni: nonc'controllodeglierrori; supportasoloIP,eperdipisoloindirizzistatici; nonunostandardufficialediInternet.
Permigliorarelecose,IETFhaprodottounostandardufficiale,ilPointtoPointProtocol
(RFC1661,1662e1663).Essoadattosiaaconnessionitelefonichechealineerouter router. Essofornisceleseguentifunzionalit: framing; rilevamentodeglierrori; unprotocollodicontrolloperattivare,testareediasattivarelalinea(LCP,LinkControl Protocol); supportodimoltepliciprotocollidilivellonetwork;
90
unprotocollopernegoziareopzionidilivellonetwork(NCP,NetworkControl Protocol): perognilivellonetworksupportatoc'undifferenteNCP; adesempio,nelcasodiIP,NCPvieneusatopernegoziareunindirizzoIP dinamico; Iltrafficoderivante(nellefasiinizialiefinalidellaconnessione)dall'usodeiprotocolliLCP eNCPvienetrasportatodentroiframePPP. IlprotocollomodellatosuHDLC,maconalcunedifferenze: characterorientedanzichbitoriented,eutilizzailcharacterstuffing(quindiiframe sonocostituitidaunnumerointerodibyte); c'uncampoappositoperilsupportomultiprotocollooffertoallivellonetwork. IlformatodelframePPPilseguente.
Byte: 1 1 1 1 Protocol Variabile Dati 2 oppure 4 Checksum 1 Flag 01111110
Figura313:FramePPP
Icampidelframehannoleseguentifunzioni:
91
Comegichiarito,leretisonodiviseinduecategorie:puntoapuntoebroadcast.
Nelleretibroadcastilproblemaprincipaledeciderequaleelaboratore(dettoanche stazione)hadirittodiusareilmezzotrasmissivoquandoc'competizione(quinonsipu alzarelamanoperchiederelaparola!).Sideveevitarechemoltestazionitrasmettano contemporaneamente,perchirelativisegnalisidisturberebberoavicenda. Iprotocolliperdeciderechiilprossimoatrasmetteresuuncanalebroadcast(detto anchemultiaccesschannelorandomaccesschannel)appartengonoadunsottolivellodel livellodatalink,dettosottolivelloMAC. EssisonousatisopratuttonelleLAN,maanchenellepartidiWANbasatesusatelliti. Ilproblemaprincipalecomeallocareilcanaleaivariutentiincompetizione.Cisonodue meccanismifondamentali: allocazionestatica,chevienedecisainanticipo; allocazionedinamica,chesiadattaalleesigenzediognimomento. L'allocazionestaticaprevedelasuddivisionedelcanalefragliNutenti,ciascunodeiquali ricevediconseguenzaunafrazionedellabandatotale.Sipufare,adesempio,con tecnichequaliFDM,allocandoaciascunutenteunabandadifrequenzedistintadaquella deglialtriutenti.Civabeneseilnumerodiutentinonvariarapidamenteesetutti trasmettonoconundataratepiomenocostante,peringenerecomportavariproblemi: siverificaunosprecodibandaquandounoopiutentinontrasmettono; poichiltrafficoingeneralemoltobursty,ipicchichesiverificanononpossonoessere gestitisolamenteconlasottobandaallocata. Viceversa,l'allocazionedinamicacercadiadeguarsialleesigenzetrasmissive,inmododa soddisfarlealmeglio.Cisonoalcuneassunzionidafare: 1. modelloastazioni:cisonoNstazioniindipendenti,ognunadellequaligeneranuovi frameperlatrasmissione.Laprobabilitdigenerareunframeinunintervalloditempo TugualeapT,dovepunacostanteerappresentailtassod'arrivodeinuoviframe. Quandounframegenerato,lastazionesibloccafinchessonontrasmesso; 2. singolocanale:unsingolocanale,enull'altro,disponibileperlecomunicazioni;tutte lestazionivipossonotrasmettereedaessopossonoricevere,etuttesonoaduguale livello; 3. collisioni:sedueframevengonotrasmessicontemporaneamente,sisovrappongonoed ilsegnalerisultanterovinato(siverificacollisione): tuttelestazionipossonorilevarelacollisione; iframedevonoessereritrasmessi; noncisonoaltritipidierrori; 4. tempo:puesseregestitoinduemodi: continuoustime:latrasmissionediunframepuiniziareinunqualunque istante;
92
slottedtime:iltempodivisoinintervallidiscreti(slot).Unoslotpu contenere0,1oppurepidiunframe.Cicorrispondeadunoslotvuoto,aduno slotconunframeeadunoslotincuisiverificaunacollisione.Latrasmissione puiniziaresoloall'iniziodiunoslot; 5. ascoltodelcanale:cisonoduepossibilit, carriersense(tipicodelleLAN):lestazioni,primaditrasmettere,ascoltanoil canale;seoccupatononcercanoditrasmettere; nocarriersense(tipicodeicanaliviasatellite,neiqualiviunelevatoround triptime):lestazioninonascoltano,trasmettonosenz'altro;sipreoccuperanno dopodivederesec'stataunacollisione.
Nacqueneglianni'70percollegaretraloro,tramiteradioalsuolo,glielaboratorisparsi
nelleisoleHawaii. Esistonodueversioni,PureAlohaeSlottedAloha. NelPureAlohalestazionitrasmettonoquandovogliono,perdurantelatrasmissione ascoltanoilcanaleeconfrontanocichericevonoconcichehannospedito. Dunque,sesiverificaunacollisioneseneaccorgono,eintalcaso,dopoaverlasciato passareunaquantitditempocasuale,ritrasmettonoilframe.Lasceltadiattendereper unaquantitditempocasualediscendedalfattochealtrimentiunacollisionenericrea infinitealtre. Qual'l'efficenzadelloschemaAlohapuro,inquestecircostanzecaotiche? Definiamocomeframetimeiltemponecessarioallatrasmissionediunframe,cheha lunghezzafissa.Supponiamochevenganocomplessivamentegeneratideiframeconuna distribuzionediPoissonaventemediadiSframeperframetime. Ovviamente,seS>=1,cisarannoquasisemprecollisioni.Perunthroughputragionevole ciaspettiamo0<S<1.Purtroppo,oltreaiframenuovi,cisonoanchequellirelativialla ritrasmissionecausatadacollisioniprecedenti. Supponiamocheladistribuzionedituttiiframe(vecchienuovi)siaanch'essadiPoisson, convalormediopariaGframeperframetime. Abassocaricociaspettiamopochecollisioni,quindiGcircaugualeadS.Adaltocarico inveceavremopicollisioni,percuiGsarmaggiorediS. Inognicaso,sottoqualunquecondizionedicaricoilthroughput(ciolaquantitdi pacchettichearrivanoadestinazione)ugualealcaricooffertomoltiplicatoperla probabilitchelatrasmissioneabbiasuccesso,ossia: Throughput=G*P(0)
93
doveP(0)laprobabilitcheunframenonsoffracollisioni. Percalcolareilthroughputeffettivo,equindil'efficienza,ottenibilecolprotocolloPure Aloha,sidevonofaredueconsiderazioni. Laprimachelaprobabilitdigenerarekframeduranteunintervalloditempopariad unframetimedata,perladistribuzionediPoissonsopradefinita(avente,siricordi, valormediopariaGframeperframetime)dallarelazione: G k e G P(k) = k! Dunque,laprobabilitchesigenerinozeroframeinunintervalloditempopariadun frametimeparia P(0)=eG. Lasecondaconsiderazionecheilperiododivulnerabilitdiunframe,ciol'intervallodi temponelqualeessoarischiodicollisioni,lungo2volteilframetime.
Frame
Frame
Frame
edhalaseguenteforma:
Figura42:ThroughputdelprotocolloPureAloha
Ilmassimothroughput0,184,ciomenodel20%(dueframesu10slot)in corrispondenzadiuncaricoGparia0,5frameperframetime. Unmodoperaumentarel'efficienzadiAloha(Roberts,1972)consisteneldividereiltempo inintervallidiscreti,ciascunocorrispondenteadunframetime.Ovviamentegliutenti devonoessered'accordonelconfinefragliintervalli,ecipuesserefattofacendo emetteredaunaattrezzaturaspecialeunbrevesegnaleall'iniziodiogniintervallo. Lestazioninonpossonoiniziareatrasmetterequandovogliono,masoloall'inizio dell'intervallo.Questoprotocollo,cheprendeilnomediSlottedAloha,dimezzailperiodo divulnerabilitchedivieneugualeadunsoloframetime. IntaleperiodovengonogeneratimediamenteGframe,percuilaprobabilitchenonsi generinonuoviframepertuttoilperiododivulnerabilitdiunframe: P(0)=eG Utilizzandotaleprobabilitnellarelazionevistaprecedentementeperilthroughput, otteniamolastimadelthroughputragggiungibilecolprotocolloSlottedAloha,che: Throughput=GeG
edhalaseguenteforma:
95
Figura43:ThroughputdelprotocolloSlottedAloha
Ilmassimothroughput0,368,incorrispondenzadiuncaricoGparia1frameperframe time.
AncheSlottedAlohahaunabassaefficienza,ilched'altrondecomprensibilevistochele
stazionitrasmettonosenzapreoccuparsiseilcanalelibero. Nelleretilocaliinvecelestazionipossonoascoltareilcanaleeregolarsidiconseguenza, ottenendoun'efficienzamoltopialta.Iprotocollineiqualilestazioniascoltanoilcanale primadiiniziareatrasmetteresidiconocarriersense. Cisonovaritipidiprotocollicarriersense: 1persistent Quandounastazionedevetrasmettere,ascoltailcanale: seoccupato,aspettafinchsiliberaequinditrasmette; selibero,trasmette(conprobabilit1,dacuiilnome). Seavvieneunacollisione,lastazioneaspettauntemporandomeriprova tuttodacapo. Problemi: unastazioneAtrasmette,eprimacheilsuosegnalearriviaBancheB iniziaatrasmette,dunquesiverificaunacollisione.Pialtoiltempodi propagazionefraAeBepigraveilfenomeno; AeBascoltanocontemporaneamentedurantelatrasmissionediC,e nonappenaquest'ultimaterminainizianoentrambeatrasmettere:anche inquestocasosiverificaunacollisione. Nonpersistent
96
Quandounastazionedevetrasmettere,ascoltailcanale: seoccupato,inveceditrasmetterenonappenasiliberacomein1 persistentlastazioneaspettacomunqueuntemporandomeripetetuttoil procedimentodacapo; selibero,sicomportacomein1persistent. Intuitivamente,cisiaspettanomaggioriritardiprimadiriuscirea trasmettereunframeemenocollisionirispettoa1persistent. Ppersistent(siapplicaacanalislotted) Quandounastazionedevetrasmettere,ascoltailcanale: seoccupato,aspettailprossimoslotericominciadacapo; selibero: conprobabilitptrasmettesubito; conprobabilit1paspettailprossimoslot;seanch'esso libero,riapplicataleprocedimento; Ilprocessosiripetefinch: ilframetrasmesso,oppure qualcunaltrohainiziatoatrasmettere.Inquestocasolastazionesi comportacomeinunacollisione:aspettauntemporandomericomincia dacapo. Intuitivamente,aldiminuiredipcisiaspettanocrescentiritardiprimadi riuscireatrasmettereunframeedunaprogressivadiminuzionedellecollisioni.
Unulterioremiglioramentosihaselestazioniinterromponolalorotrasmissionenon
appenarilevanounacollisione,invecediportarlaatermine. Rilevarelacollisioneunprocessoanalogico:siascoltailcanaledurantelapropria trasmissione,eselapotenzadelsegnalericevutosuperioreaquellatrasmessasiscopre lacollisione. Quandosiverificaunacollisione,lastazioneaspettaunaquantitcasualeditempoe riprovaatrasmettere. PostougualeaTiltempodipropagazionedelsegnaledauncapoall'altrodellarete, necessariochetrascorrauntempoparia2Tperchunastazionepossaesseresicuradi rilevareunacollisione. Infatti,seunastazioneApostaadunaestremitdellareteiniziaatrasmetterealtempot0, ilsuosegnalearrivaaB(postaall'altraestremitdellarete)dopoaltempot0+T;seun attimoprimaditaleistanteancheBiniziaatrasmettere,lacollisioneconseguenteviene rilevatadaBquasiimmediatamente,maimpiegaunaulteriorequantitTditempoper giungereadA,chelapuquindirilevaresolounattimoprimadell'istantet0+2T.
97
A T
Collisione
T Figura44:Rilevazionediunacollisione
Contesa Frame
ok
Contesa Inattivit
Frame
ok
Frame
Figura45:ModelloconcettualeperCSMA/CD
98
Unareteadanelloconsistediunacollezionediinterfaccedirete,collegateacoppieda
lineepuntoapunto:
Interfaccia
Interfaccia
Stazione
Stazione
Interfaccia
Stazione Figura46:Strutturadiunareteadanello
99
Listen mode Dalla rete 1-bit delay Alla rete Dalla rete
Alla stazione
Dalla stazione
Alla stazione
Dalla stazione
Figura47:Modalitdifunzionamentodell'interfacciadirete
Inlistenmodeibitiningressovengonocopiatinelbufferinterno(dovepossonoessere anchemodificati)equindiritrasmessiconunritardodiunbit(1bitdelay). Intransmitmodel'anelloaperto,eibitinarrivovengonorimossi;nuovibitvengono trasmessisull'anello. Unaspecialeconfigurazionebinaria,dettatoken(gettone)circolaincontinuazionese nessunovuoletrasmettere. Quandounastazionevuoletrasmettere,deve: 1. aspettarechearriviiltoken(inlistenmode); 2. rimuoverlodalring(inlistenmode,vedremocome); 3. trasmettereidati(intransmitmode); 4. rigenerareiltoken(intransmitmode); 5. rimettersiinlistenmode. Poichc'unsolotoken,questomeccanismorisolvesenzaconflittiilproblemadell'accesso almezzo. Alcuneconsiderazionisonodegnedinota: iltokendeveesserecontenutoperinterosull'anello,ilchenoncosovviocome sembra(qual'lalunghezzadiunbit?); unframe,invece,nonnecessariochecistiatuttosull'anello(cheintrasmissione aperto),quindinoncisonolimitialladimensionedeiframe; ingenereesisteuntempomassimoentroilquale,unavoltapresoiltoken,sideve completarelatrasmissione;cipermettediottenereunaschedulazioneroundrobin delletrasmissioni; quandotuttelestazionihannoqualcosadatrasmettere,l'efficienzasiavvicinaal100%; viceversa,quandononc'traffico,unastazionedeveattendereunppichein CSMA/CDpertrasmettere(mediamentedovrattendereuntempopariaquellodi attraversamentodimezzoanello,perricevereiltoken). Lavelocitdipropagazionedelsegnalenelramecirca200metripermicrosecondo.Con undatarate(adesempio)di1Mbps,sigeneraunbitalmicrosecondo.Dunque,unbit
100
IEEEhaprodottodiversistandardperleLAN,collettivamentenoticomeIEEE802.Essi
includonoglistandardper: Specifichegeneralidelprogetto(802.1); Logicallinkcontrol,LLC(802.2) CSMA/CD(802.3); tokenbus(802.4,destinatoaLANperautomazioneindustriale); tokenring(802.5); DQDB(802.6,destinatoalleMAN). IvaristandarddifferisconoalivellofisicoenelsottolivelloMAC,masonocompatibilia livellodatalink.Ciottenutoseparandodalresto,attraversol'appositostandardLLC,la partesuperioredellivellodatalink,chevieneusatadatuttiiprotocollistandarddel gruppo.
Sottolivello MAC
802.6 DQDB
Livello fisico
802.6 DQDB
Figura48:LostandardIEEE802
101
E'lostandardperunprotocolloCSMA/CD,ditipo1persistent,funzionantea10Mbps.
4.5.1.1) Cablaggio
Sonoprevistivaricablaggi:
Thickethernet:ilprimostoricamente;consistediuncavocoassialespesso(lostandard suggerisceilcoloregialloperlaguainaesterna). Ufficialmentesichiama10Base5,ossia: 10Mbps; Basebandsignaling; 500metridilunghezzamassima. Possonoessereinstallate100macchinesuunsegmento. Ognistazionecontieneun'interfacciadirete(dettaancheschedaethernet) che: incapsulaidatidellivellosuperiore; gestisceilprotocolloMAC; codificaidatidatrasmettere; inricezionedecapsulaidati,eliconsegnaallivellosuperiore(olo informadell'errore). All'interfacciadiretevienecollegataunaestremitdiuncortocavo(pochi metri),dettotransceiverdropcable,all'altraestremitdelqualeconnessoun transceiverchesiaggancia,conundispositivodettovampiro,alcavothick(che nonvieneinterrotto). Iltransceivercontienelacircuiteriaanalogicaperl'ascoltodelcanaleela rilevazionedellecollisioni.Quandoc'unacollisione,iltransceiverinforma l'interfacciaedinviasullareteunospecialesegnaledi32bit(jammingsequence) peravvisarelealtrestazioni,checosscartanoquantogiricevuto. Thinethernet:uncavocoassialepisottile,esipiegapifacilmente. Ufficialmentesichiama10Base2,ossia: 10Mbps; Basebandsignaling; 200metridilunghezzamassimaperunsingolosegmento. Possonoessereinstallate30macchinesuunsegmento. Dinormal'interfacciadiretecontieneancheiltransceiver. L'allacciodiunastazioneallareteavvieneconunagiunzioneaT,allaquale sonocollegatiilcavocheportaallastazioneeduecavithinchecostituisconouna porzionedelsegmento.Levariestazionisonocollegateincascata(daisychain) sulsegmento. Doppinotelefonico:
102
Interfaccia di rete
Figura49:CablaggioEthernetcavoThick
Cavi Thin
Interfaccia + transceiver
Figura410:CablaggioEthernettramitecavoThin
103
Doppino
HUB Figura411:CablaggioEthernettramiteHUB
104
In802.3nonsiusaunacodificadirettadeidati(adesempio,zerovoltperlozeroecinque
voltperl'uno),perchsarebbedifficilerilevarelecollisioni.Inoltre,sivuoledelimitarecon facilitl'inizioelafinediognisingolobit. Siusaunacodifica,dettaManchester,cheprevedeunatransizionedelvaloredelsegnale nelmezzodiognibit,zeroounochesia. Codifica di Zero + 0,85 V Codifica di Uno
0V
Figura412:CodificaManchester
105
Lastrutturadiunframe802.3laseguente:
Byte: 7 Preamble 1 Start of frame 2 opp. 6 Indirizzo destinaz. 2 opp. 6 2 Indirizzo Lunghezza sorgente dei dati 0 - 1500 Dati 0 - 46 Pad 4 Checksum
Figura413:Frame802.3
Icampidelframehannoleseguentifunzioni:
Preamble
Startofframe Indirizzi
Checksum
7bytetuttiugualia10101010.Producono,a10Mbps,un'onda quadraa10Mhzper5,6microsecondi,checonsenteal ricevitoredisincronizzareilsuoclockconquellodel trasmettitore. unbytedelimitatore,ugualea10101011. gliindirizziusatisonosemprea6byte,esonounivocialivello mondiale(sonocablatidentrol'interfaccia).E'possibile specificareunsingolodestinatario,ungruppodidestinatari (multicast)oppureuninvioinbroadcastatuttelestazioni (indirizzocostituitodaunasequenzadiuni). indicaquantibytecisononelcampodati(da0a1500). contieneilpayloaddellivellosuperiore. Seilframe(esclusipreamboloedelimiter)picortodi64 byte,conquestocampolosiportaallalunghezzadi64byte, vedremopoiperch. uncodiceCRCcomequelligivisti.
NessunlivelloMACgarantisceunservizioaffidabile.Cidettatodalfattoche,vistoil bassissimotassod'erroredelleLAN,sipreferisceunprotocollodatagramadalte prestazioni. Vediamooraperchesisteunlimiteminimodi64byteperlalunghezzadiunframe. Abbiamogivistoche,perchunacollisionepossaesserecertamenterilevatadachi trasmette,devepassareuntempononinferioreaduevolteiltempodiattraversamento dell'interarete. NelcasodiIEEE802.3,cheprevede2,5kmdilunghezzamassimatotaleel'interposizione diunmassimodiquattroripetitori,sihacheiltempomassimodiattraversamento dell'interaretemoltiplicatoperdueparia57,6microsecondi. Ora,essenzialechelacollisionevengarilevatadurantelatrasmissioneenondopo, altrimentiilmittentededurrerroneamentechelasuatrasmissioneandataabuonfine.
106
Ilprotocollo802.3unCSMA/CDditipo1persistent:
primaditrasmettere,lastazioneaspettacheilcanalesialibero; appenaliberoiniziaatrasmettere; sec'unacollisione,lacircuiteriacontenutaneltransceiverinviaunasequenzadi jammingdi32bit,peravvisarelealtrestazioni; selatrasmissionenonriesce,lastazioneattendeunaquantitditempocasualeepoi riprova. Laquantitditempochesilasciapassareregolatadaunappositoalgoritmo,ilbinary backoffexponentialalgorithm: dopounacollisione,iltemposiconsideradiscretizzato(slotted)conunoslottimeparia 51,2microsecondi(corrispondentialtempoditrasmissionedi512bit,ossia64byte,pari allalunghezzaminimadiunframesenzacontareilpreamboloedildelimiter); iltempodiattesaprimadellaprossimaritrasmissioneunmultiplointerodelloslot time,evienesceltoacasoinunintervalloicuiestremidipendonodaquantecollisioni sonoavvenute; doponcollisioni,ilnumerordislottimedalasciarpassaresceltoacasonell'intervallo 0<=r<=2k1,conk=min(n,10); dopo16collisionisirinuncia(inviandounmessaggiodierroreallivellosuperiore). Lacrescitaesponenzialedell'intervallogarantisceunabuonaadattabilitadunnumero variabiledistazioni,infatti: seilrangefossesemprepiccolo,conmoltestazionisiavrebberopraticamentesempre collisioni; seilrangefossesempregrande,noncisarebberoquasimaicollisionimailritardo medio(metrange*slottime)causatodaunacollisionesarebbemoltoelevato.
4.5.1.5) Prestazioni
Leprestazioniosservatesonomoltobuone,miglioridiquellestimabiliinviateorica.
Peraltro,questeultimesonofortementeinfluenzatedalmodelloditrafficochesiassume. Disolitolosiassumepoissoniano,mainrealtburstyeperdipiselfsimilar,ossiail
107
Questostandard(803.2u),approvatonel1995,prevedel'aumentodivelocitdiunfattore
10,da10Mbpsa100Mbps. Comesirisolveilproblemadelminimotempoditrasmissionee/odellamassima lunghezzadellarete?Inmododiversoasecondadelsupportofisicoutilizzato: Doppinoclasse3(100BaseT4) siusanoquattrodoppinifral'hubedognistazione: unovieneusatosempreperiltrafficodall'huballastazione; unovieneusatosempreperiltrafficodallastazioneall'hub; 2vengonousatidivoltainvoltanelladirezionedellatrasmissionein corso; lacodifica8B6T,cio8bitvengonocodificaticon6trit(chehannovalore 0,1o2); lavelocitdisegnalazione25Mhz(solo25%inpidiquelladellostandard 802.3,chedi20Mhz); siinviano3tritsui3doppinicontemporaneamentea25Mhz,ossia6tritalla frequenzadi12,5Mhz.Poich6tritconvogliano8bit,difattosiinviano8bita 12,5Mhz,ottenendocosi100Mbps. Doppinoclasse5(100BaseT) velocitdisegnalazione124Mhz; codifica4B5B(4bitcodificaticon5bit,introducendoridondanza); asecondadeltipodihub: hubtradizionale:lalunghezzamassimadiunramo100metri, quindiildiametrodellarete200metri(controi2,5kmdi802.3). switchedhub:ogniramoundominiodicollisioneseparato,equindi (poichsuessoviunasolastazione)nonesistepiilproblemadelle collisioni,marimaneillimitedi100metriperilimitidibandapassante deldoppino. Fibraottica(100BaseFX) velocitdisegnalazione125Mhz; codifica4B5B; obbligatorioswitchedhub; lunghezzaramifinoa2km(conunoswitchedhubnonc'ilproblemadelle collisioni,edinoltrecomesappiamolafibrareggevelocitdell'ordinedeiGbpsa distanzeanchesuperiori).
108
Nel1972IBMscelsel'anelloperlasuaarchitetturadiLAN,acuidiedeilnomediToken
Ring.Successivamente,IEEEhadefinitolostandardIEEE802.5sullabaseditale architettura. LedifferenzeprincipalisonochelareteIBMprevedevelocitdi4Mbpse16Mbps, mentre802.5prevedeoltreadesseanchelavelocitdi1Mbps.
4.5.2.1) Cablaggio
Ilcablaggiopidiffusobasatosudoppinotelefonico:
schermato(STP); nonschermato(UTP): categoria3,4o5per4Mbps; categoria4o5per16Mbps.
Lobo
Figura414:Cablaggioconwirecenter
109
SiusalacodificaDifferentialManchesterEncoding,definitacos:
ecc.
da -3 a -4,5 V Durata del bit Durata del bit Durata del bit Durata del bit Durata del bit
Figura415:CodificaDifferentialManchester
Lastrutturadeltokenedelframedi802.5laseguente:
Byte: 1 1 1 ED Token Frame SD AC
Byte:
1 SD
1 AC
1 FC
Da 0 Da 0 a 30 a 17.747 RI Dati
1 FS
Checksum ED
Figura416:Tokeneframe802.5
111
Icampidelframehannoleseguentifunzioni:
SD,ED
AC
itrebitPindicanolaprioritattuale; ilbitMserveperilcontrollodiframeorfani:ilmonitorlosettaad 1alpassaggiodelframe,eseloritrovaadunoalpassaggio successivoilframeorfanoevienetoltodall'anello; ilbitT,dettotokenbit,identificauntoken(sevale0)ounframe (sevale1); itrebitRindicanolaprioritrichiesta. Framecontrol,distingueframecontenentidatidaframecon funzionidicontrollo. come802.3. Routinginformation,contiene(sec')leinformazioninecessarieal sourcerouting(vedremopiavanti). contieneilpayloaddellivellosuperiore. uncodiceCRCcomequelligivisti. Framestatus,servepersaperecosasuccessodelframe.Contiene, fral'altro,duebit,AeC,gestiticomesegue: bitA:vienemessoad1(daldestinatario)quandoilframegli arriva; bitC:vienemessoad1(daldestinatario)quandoilframegli arrivaedildestinatariolocopiaalsuointerno.
Quandoiltokencircolaeunastazionevuoletrasmettere,essa,cheinlistenmode,opera
comesegue: aspettachearriviiltoken; quandoiltokenarriva: lasciapassareSD; lasciapassareibitPPPdiAC; quandohanelbufferiltokenbitT: locambiainuno,trasformandoiltokeninunframe; inviailbitTmodificatosulring; simetteimmediatamenteintransmitmode; inviailrestodelframe;
112
quandoilframetrasmesso: senonhaesauritoilTHT(Tokenholdingtime)putrasmettereunaltro frame; altrimentirigeneraunnuovotokenelotrasmette; appenatrasmessol'ultimobitdeltokensirimetteimmediatamenteinlisten mode. Ogniringhaunastazioneconunruolospeciale,ilmonitor(ognistazioneingradodi diventareilmonitor).Ilmonitorvienedesignatoall'avviodell'anello.Isuoicompiti principalisono: rigenerareiltokenseessosiperde; ripulireilringdairestidiframedanneggiati; ripulireilringdaiframeorfani.
Vantaggidi802.3:
haun'enormediffusione; esibisceunbuonfunzionamentoadispettodellateoria. Svantaggidi802.3 hasostanziosecomponentianalogiche(perilrilevamentodellecollisioni); ilfunzionamentopeggioraconfortecarico. Vantaggidi802.5: totalmentedigitale; vamoltobenesottofortecarico. Svantaggidi802.5 c'ritardoanchesenzacarico(peravereiltoken); habisognodiunmonitor(ese"malato",ciomalfunzionante,enessunosene accorge?). Indefinitiva,nessunadelleduepuesseregiudicatalamiglioreinassoluto.
Questostandard,chiamatoLogicalLinkControl(LLC),definiscelapartesuperioredel
livellodatalinkinmodoindipendentedaivarisottolivelliMAC. Haduefunzioniprincipali: fornireallivellonetworkun'interfacciaunica,nascondendoledifferenzefraivari sottolivelliMAC; fornire,serichiestodallivellosuperiore,unserviziopisofisticatodiquelloofferto daivarisottolivelliMAC(che,ricordiamo,offronosoloservizidatagram).Essoinfatti offre:
113
IlframeLLCmodellatoispirandosiaHDLC,conindirizzidimittenteedestinatario, numeridisequenze,numeridiack(questiultimidueomessiperiservizidatagram),ecc. GliindirizziLLCsonolunghiunbyteeservonosostanzialmenteadindicarequale protocollodilivellosuperioredevericevereilpacchettodilivellotre;inquestomodoLLC offreunsupportomultiprotocolloallivellosuperiore. IlframeLLCvieneimbustato,intrasmissione,inunframedell'opportunosottolivello MAC.Ilprocessoinversohaluogoinricezione. Liv. network Packet Pacchetto di liv. network
Liv. LLC
LLC header
Packet
Frame LLC
Liv. MAC
MAC header
LLC header
Packet
MAC trailer
4.6) Il bridge
Moltospessoc'lanecessitdiconnetterefradiloroLANdistinte,permolteragioni:
dueLANditipodifferente(adesempiounaEthernetedunaTokenring),chenonsi possonosemplicementecollegarel'unaconl'altra,contengonohostchevogliono dialogarefraloro; sivuoleunaLANlacuilunghezzasuperiilimitimassimiconsentiti(adesempio,2,5 kmperEthernet); sidesidera,nelcasodiunaLANcontenentemoltihost,suddividerlainmoltepliciLAN interconnesse.Questopertenereseparatoiltrafficogeneratonellesueparti,inmododa avereuntrafficototalemoltosuperioreaquellopossibilesuunasingolaLAN. DueopiLANpossonoessereinterconnessecondispositividettibridge,cheoperanoa livellodatalink. Cisignificachelalorooperativitbasataesclusivamentesulleinformazionicontenute nellebustedilivellodue,mentrenonvengonopreseaffattoinconsiderazionequelledi
114
livellotre.Questalacaratteristicafondamentalechelidifferenziadairouter,cheinvece agisconoalivellotre. Traffico inter - LAN Bridge Host Host Host Host Host Host Host Host Host Host Host Host
Inquestoesempioiltrafficototale(setuttoconfinatoentrolesingoleLAN)puarrivare atrevoltequellodiunasingolaLAN.SoloiltrafficofrahostdiLANdiverseattraversail bridge. IbridgesioccupanodiinstradareiltrafficodaunaLANall'altra.E'importante sottolineareche,anchesel'instradamentodiperseunafunzionetipicadellivellotre,qui avvienesullabasedeisoliindirizzidilivellodue,quindiilbridgeappartieneintuttoeper tuttoallivellodatalink. Ilfunzionamentodiunbridge,chehatanteinterfaccediretequantesonoleLANalle qualifisicamentecollegato,ilseguente: quandounadelleinterfaccediretedelbridgericeveunframeMAC,lopassaalrelativo softwaredilivelloMACchetoglielabustaMAC; ilrestovienepassatodallivelloMACalsoftwaredilivelloLLCdelbridge,nelquale, sullabasedell'indirizzodidestinazione,sidecideaqualeLANinviarlo: seladestinazionesitrovasullaLANdiprovenienzailframevienescartato; altrimenti,ilframeLLCvienepassatoallivelloMACcompetenteperlaLAN didestinazione,cheloimbustainunframeMACeprovvedeadinviarlosutale LAN,secondoleregolediquest'ultima. Sinoticheunbridgebendiversodaunripetitore,checopiapedissequamentetuttoci chericevedaunalineasututtelealtre.Ilbridgeinfattiacquisisceunframe,loanalizza,lo ricostruisceeloinstrada,quindipuancheessereconfiguratoinmododafiltrare(cio
115
nonfarpassare)alcunitipiditraffico.Citipicamenteavvieneinfunzionedell'indirizzo LLC,cheidentificailprotocollodilivellosuperiore,osullabasedell'indirizzoMACdel mittenteodeldestinatario. IbridgeprogettatiperinterconnettereLANditipodiversodevonorisolverevariproblemi legatiallediverseregoleinvigoresutaliLAN,tracui: formatideiframedifferenti; dataratedifferenti; massimalunghezzadiframedifferente:fuoriquestionespezzareunframeinquesto livello,datochetuttiiprotocollisiaspettanocheilframeoarriviperinteroononarrivi affatto;adesempio,nellostandard802iframetroppograndidevonoesserescartati; funzioniprevistedauntipodiLANmanondall'altra:adesempio,ilconcettodi prioritedibitAeCpresentiin802.5nonhannounequivalentein802.3.
CisonoduetipidibridgestandardizzatidaIEEE:
transparentbridge(promossidaicomitati802.3e802.4) sourceroutingbridge(sceltidalcomitato802.5) Iltransparentbridge(IEEE802.1partD)puessereinstallatoediventareoperativoin modototalmentetrasparente,senzarichiederenientealtrochelaconnessionefisicae l'accensione.Incredibileadirsi,lacosafunziona! Ilmecccanismoilseguente: Dalmomentoincuiilbridgevieneattivato,esaminatuttiiframechegliarrivanodalle varieLAN,esullabasediquesticostruisceprogressivamentelesuetabelledi instradamento.Infatti,ogniframericevutoconsentealbridgedisaperesuqualeLANsi trovalastazionechelohainviato. Ogniframechearrivaalbridgevieneritrasmesso: seilbridgehanellesuetabellediinstradamentol'indirizzodeldestinatario, inviailframesullacorrispondenteLAN; altrimentiilframevieneinviatoatutteleLANtrannequelladiprovenienza, conunatecnicadettaflooding(chevedremomegliopiavanti); manmanocheilbridgeaumentalasuaconoscenzadegliindirizzidellevarie macchine,laritrasmissionediventasemprepiselettiva(equindipiefficiente). Letabellevengonoaggiornateogniqualcheminuto,rimuovendogliindirizzichenonsi sonofattivivinell'ultimoperiodo(cos,seunamacchinasisposta,entropochiminuti vienedinuovoindirizzatacorrettamente)Questatecnicasichiamabackwardlearning. SecisonomaglienellatopologiadiconnessionedelleLAN,ibridgesicostruisconodi essaunospanningtree,chepoiutilizzanoperl'instradamento,alfinedievitarela generazionediuninfinitonumerodiduplicatiduranteilflooding. Ilsourceroutingbridge(natoperlereti802.5)progettatoinveceperottenere l'instradamentopiefficientepossibile,ancheascapitodellatrasparenza.
116
L'ideadibasecheilmittenteindichiesplicitamenteilcammino(espressocomesequenza dibridgeereti)cheilframedevepercorrere.L'amministratoredisistemadeveassegnare numeridiidentificazionedistintiadognireteeadognibridge,operazionechedeveessere fattamanualmente. TaliinformazionisonoincluseinunappositocampoRI(RoutingInformation)delframe 802.5,elaloroeventualepresenzaindicatadalvalore1delbitpisignificativo dell'indirizzosorgente(che,essendosemprerelativoaunindirizzosingoloemaidi gruppoobroadcast,originariamentesemprezero).Ilbridgeesaminasoloiframeche hannotalebitauno. E'ovviocheognihostdeveavereilquadrodellatopologiadelleconnessioni,memorizzato inun'appositastrutturadati.Percostruirlaemantenerla,ilmeccanismousatoil seguente: quandounhostdevespedireunframemanonconosceilcamminodaseguireper raggiungereladestinazione,inviaundiscoveryframe,chiedendotaleinformazione; ildiscoveryframevieneinviatoinfloodingdaognibridgeatuttiglialtri,equindi raggiungetuttiglihost.Inquestafase,ognibridgescriveneldiscoveryframeilsuoID, chesiaggiungeaquellodeibridgeprecedentementeincontrati.Quandoundiscovery framearrivaalladestinazione,contienetuttoilcamminopercorso; quandol'hostdidestinazionericeveundiscoveryframe,loinviaindietroalmittente; ilmittente,sullabasedelprimodiscoveryframecheritorna(considerandoilrelativo camminoquellopiconveniente)aggiornalesuetabelleepumandareilframeche volevaspedireoriginariamente. Unvantaggiodiquestoschemadifunzionamentochesitrovasempreilcammino ottimo;unosvantaggiol'esplosionedelnumerodidiscoveryframe. Dopounperiodoincuientrambiglistandardsopradescrittieranoabbastanzadiffusi, oggipraticamentetuttiibridgecostruitisonoditipotransparent,edalpioffronola funzionalitsourceroutingcomeun'opzionesupplementare.
117
Illivellonetworkincaricatodimuovereipacchettidallasorgentefinoalladestinazione
finale,attraversandotantisistemiintermedi(router)dellasubnetdicomunicazionequanti necessario. Cimoltodiversodalcompitodellivellodatalink,chedimuovereinformazionisolo dauncapoall'altrodiunsingolocanaledicomunicazionewirelike. Leincombenzeprincipalidiquestolivellosono: conoscerelatopologiadellarete; sceglieredivoltainvoltailcamminomigliore(routing); gestireilflussodeidatielecongestioni(flowcontrolecongestioncontrol); gestireleproblematichederivantidallapresenzadipiretidiverse(internetworking). Nelprogettoenellarealizzazionedellivellonetworkdiunaarchitetturadiretesidevono prenderedecisioniimportantiinmeritoa: servizioffertiallivellotransport; organizzazioneinternadellasubnetdicomunicazione.
Inmeritoaiservizioffertiallivellosuperiore,cisono(comeabbiamogiaccennato)due
tipologiefondamentalidiservizi: serviziconnectionoriented; serviziconnectionless.
Inproposito,cisonoduescuoledipensiero: fautorideiserviziconnectionoriented(compagnietelefoniche); fautorideiserviziconnectionless(InternetCommunity). Laprimascuoladipensieroaffermacheillivellonetworkdevefornireunservizio sostanzialmenteaffidabileeorientatoallaconnessione.Inquestavisione,succedeche: lepeerentitiystabilisconounaconnessione,negoziandoneiparametri(diqualit,di costo,ecc.),allaqualevieneassociatounidentificatore; taleidentificatorevieneinseritoinognipacchettocheverrinviato; lacomunicazionebidirezionaleeipacchettiviaggiano,insequenza,lungoilcammino assegnatoallaconnessione; ilcontrollodiflussofornitoautomaticamente(attraversoalcunideiparametri negoziati,comeadesempioildimensionamentodiunaopifinestrescorrevoli). Lasecondascuoladipensieroritieneinvecechelasottoretedebbasolomuoveredatie nient'altro:
118
lasottoretegiudicatainerentementeinaffidabile,percuiglihostdevonoprovvedere percontoproprioallacorrezionedeglierroriealcontrollodiflusso; unaovviaconseguenzacheilserviziooffertodallivellonetworkdev'esseredatagram, vistocheinutileinserirelefunzionidicontrollodeglierroriedelflussoinduediversi livelli; ipacchettiviaggianoindipendentemente,edunquedevonotutticontenereun identificatore(ossial'indirizzo)delladestinazione. Difatto,ilproblemadovemetterelacomplessitdellarealizzazione: laprimascuolalametteneinodidellasubnet,chesidevonooccuparedelsetupdelle connessioniedifornirelanecessariaaffidabilit; lasecondascuolalametteneglihost,icuilivellitransportfornisconol'affidabilite l'orientamentoallaconnessione. Inrealtledecisionisonodue,separate: offrireonounservizioaffidabile; offrireonounservizioorientatoallaconnessione. Lesceltepicomunisonodioffrireserviziconnectionorientedaffidabilioppureservizi connectionlessnonaffidabili,mentrelealtreduecombinazioni,anchesetecnicamente possibili,nonsonodiffuse.
Questounproblemaseparatoedindipendentedaquellodeiserviziofferti,anchese
spessoc'unarelazionefraidue. Unasubnetpuessereorganizzataconunfunzionamentointerno: basatosuconnessioni(cheinquestocontestosichiamanocircuitivirtuali): lasubnetstabilisceuncircuitovirtuale(sulqualeverrtipicamenteveicolato iltrafficodiunservizioconnectionoriented),ciocreauncamminofrala sorgenteeladestinazione; tuttiirouterlungotalecamminoricordano,inunaappositastrutturadati,la partedilorocompetenzaditalecammino(ecioqualelineainentrataequalein uscitasonoassegnatealcammino); quandoarrivanopacchettichecontengonol'IDditalecircuitovirtuale,essi vengonoinstradatidiconseguenza(tuttinellostessomodo). connectionless: iroutersilimitanoainstradareognipacchettochearrivasullabasedelsuo indirizzodidestinazione,decidendodivoltainvoltacomefarloproseguire; irouterhannodelletabellediinstradamento(routingtable)cheindicano,per ognipossibiledestinazione,qualelineainuscitautilizzare;sinotichequeste tabelleesistonoanchenellesubnetdeltipoprecedente,doveperservono solamentenellafasedisetupdellaconnessione(perdeciderecomeinstradarei pacchettidisetup); quandooffreunservizioconnectionoriented,questolivellofacredereal livellosuperiorecheesistaunaconnessione,mapoiipacchettiviaggiano
119
Vulnerabilit
Subnetbasata suconnessioni Minore (piccoleID inognipacchetto) Maggiore (strutturedati pericircuitivirtuali) Presente Assente Minore (risorseallocate inanticipo) Alta
Lafunzioneprincipaledellivellonetworkdiinstradareipacchettisullasubnet,
tipicamentefacendofareloromoltihop(letteralmente,salti)daunrouteradunaltro. Unalgoritmodiroutingquellapartedelsoftwaredilivellonetworkchedecidesuquale lineadiuscitainstradareunpacchettochearrivato: inunasubnetdatagraml'algoritmovieneapplicatoexnovoadognipacchetto; inunasubnetbasatasucircuitivirtualil'algoritmovieneapplicatosolonellafasedi setupdelcircuito;intalecontestosiusaspessoilterminesessionrouting. Daunalgoritmodiroutingdesideriamo: correttezza(devemuovereilpacchettonellagiustadirezione); semplicit(l'implementazionenondeveesseretroppocomplicata);
120
robustezza(devefunzionareancheincasodicadutedilineee/orouteredi riconfigurazionidellatopologia); stabilit(deveconvergere,epossibilmenteinfretta); equit(nondevefavorirenessuno); ottimalit(devesceglierelasoluzioneglobalmentemigliore. Purtroppo,gliultimiduerequisitisonospessoinconflittofraloro;inoltre,aproposito dell'ottimalit,nonsemprechiarocosasivogliaottimizzare.Infatti,supponiamochesi vogliano: minimizzareilritardomediopacchetti; massimizzareilthroughputtotaledeipacchetti. Siscoprefacilmentechequestidueobiettivisonoinconflittofraloro,perchdisolito aumentareilthroughputallungalecodesuirouterequindiaumentailritardo:questo veroperqualunquesistemabasatosucodegestitoinprossimitdellasuacapacit massima. Glialgoritmidiroutingsidividonoindueclassiprincipali: algoritminonadattivi(staticrouting): ledecisionidiroutingsonopreseinanticipo,all'avviodellarete,esono comunicateairouterchepoisiattengonosempreaquelle; algoritmiadattivi(dynamicrouting): ledecisionidiroutingsonoriformulate(sullabasedeltraffico,della topologiadellarete,ecc.)moltospesso. Glialgoritmiadattividifferisconofraloroper: comericevonoleinformazioni: localmente; dairouteradiacenti; datuttiirouter; quantospessorivedonoledecisioni: aintervalliditempoprefissati; quandoilcaricocambia; quandolatopologiacambia; qualemetricadivalutazioneadottano: distanza; numerodihop; tempoditransitostimato.
E'possibilefareunaconsiderazionegeneralesull'ottimalitdeicammini,
indipendentementedallospecificoalgoritmoadottatoperselezionarli. Ilprincipiodiottimalitdicecheseilrouterjnelcamminoottimofraiek,alloraanche ilcamminoottimofrajeksullastessastrada:
121
Questialgoritmi,comeabbiamogiaccennato,sonoeseguitisolamenteall'avviodella
rete,eledecisionidiroutingacuiessipervengonosonopoiapplicatesenzapiessere modificate. Esamineremoiseguentialgoritmistatici: shortestpathrouting; flooding; flowbasedrouting.
122
Shortestpathrouting L'ideasemplice:unhostdigestionedellaretemantieneungrafocherappresentala subnet: inodirappresentanoirouter; gliarchirappresentanolelineepuntopunto. All'avviodellarete(oquandocisonovariazionipermanentidellatopologia)l'algoritmo: applicaalgrafounalgoritmoperilcalcolodelcamminominimofraognicoppiadi nodi;adesempio,ilnotoalgoritmodiDijkstra('59)puessereusato; inviataliinformazioniatuttiirouter. Qualesiailcamminominimodipendedaqual'lagrandezzachesivuoleminimizzare. Tipicamentesiusano: numerodihop,ciodiarchi,daattraversare; lunghezzadeicollegamenti; tempomediodiaccodamentoetrasmissione; unacombinazionedilunghezza,bandatrasmissiva,trafficomedio,ecc. Flooding Latecnicadelfloodingconsistenell'inviareognipacchettosututtelelineeeccettoquella dacuiarrivato. Inlineadiprincipioilfloodingpuessereusatocomealgoritmodirouting(ognipacchetto inviatoarrivaatuttiirouter)mapresental'inconvenientedigenerareunnumeroenorme (teoricamenteinfinito!)dipacchetti. Cisonodelletecnicheperlimitareiltrafficogenerato: inserireinognipacchettouncontatorechevienedecrementatoadognihop.Quandoil contatorearrivaazero,ilpacchettovienescartato.Unappropriatovaloreinizialepu essereildiametrodellasubnet; inserirelacoppia(sourcerouterID,sequencenumber)inognipacchetto.Ognirouter esaminataliinformazionienetienetraccia,equandolevedeperlasecondavoltascarta ilpacchetto; selectiveflooding:ipacchettivengonoduplicatisolosullelineechevannoall'incirca nellagiustadirezione(perquestosidevonomantenereappositetabelleabordo). Ilfloodingnonutilizzabileingeneralecomealgoritmodirouting,per: utileincampomilitare(offrelamassimaaffidabiliterobustezza); utileperl'aggiornamentocontemporaneodiinformazionidistribuite; utilecomestrumentodiparagoneperaltrialgoritmi,vistochetrovasempre,fragli altri,ilcamminominimo.
123
Flowbasedrouting Questoalgoritmobasatosull'ideadi: calcolareinanticipoiltrafficoattesosuognilinea; daquesticalcoliderivareunastimadelritardomedioattesoperciascunalinea; basaresutaliinformazioniledecisionidirouting. Leinformazioninecessarieperpoterapplicarel'algoritmosono: latopologiadellarete; lamatricedellequantitditrafficoT(i,j)stimatefraognicoppia(i,j)dirouter; lecapacit(inbpsadesempio)dellelineepointtopoint. Vengonofatteleseguentiassunzioni: iltrafficostabileneltempoenotoinanticipo; ilritardosuciascunalineaaumentaall'aumentaredeltrafficosullalineaediminuisce all'aumentaredellavelocitdellalineasecondoleleggidellateoriadellecode. Dairitardicalcolatiperlesingolelineesipucalcolareilritardomediodell'interarete, espressocomesommapesatadeiritardidellesingolelinee.Ilpesodiognilineadatodal trafficosuquellalineadivisoiltrafficototalesullarete. Ilmetodonelsuocomplessofunzionacos: sisceglieunalgoritmodirouting; sullabaseditalealgoritmosideterminanoipercorsicheverrannoseguitiperil collegamentofraognicoppiadirouter; sicalcolailtrafficocheincidesuognilinea(cheugualeallasommadituttiiT(i,j) instradatisuquellalinea); sicalcolailritardodiognilinea; sicalcolailritardomediodellarete; siripeteilprocedimentoconvarialgoritmidirouting,scegliendoallafinequelloche minimizzailritardomediodell'interarete.
Nellemoderneretisiusanoalgoritmidinamici,chesiadattanoautomaticamenteai
cambiamentidellarete.Questialgoritminonsonoeseguitisoloall'avviodellarete,ma rimangonoinesecuzionesuirouterduranteilnormalefunzionamentodellarete. Distancevectorrouting Ogniroutermantieneunatabella(vector)contenenteunelementoperognialtrorouter. Ognielementodellatabellacontiene: ladistanza(numerodihop,ritardo,ecc.)cheloseparadalrouterinoggetto; lalineainuscitadausareperarrivarci; Perisuoiviciniimmediatiilrouterstimadirettamenteladistanzadeicollegamenti corrispondenti,mandandospecialipacchettiECHOemisurandoquantotempocimettela rispostaatornare.
124
Aintervalliregolariogniroutermandalasuatabellaatuttiivicini,ericevequelledei vicini. Quandounrouterricevelenuoveinformazioni,calcolaunanuovatabellascegliendo,fra tutte,laconcatenazionemigliore sestesso>vicinoimmediato>routerremotodidestinazione perognidestinazione. Ovviamente,lamigliorelaconcatenazionecheproducelaminoresommadi: distanzafrailrouterstessoedunsuovicinoimmediato(vienedallamisurazione diretta); distanzafraquelvicinoimmediatoedilrouterremotodidestinazione(vienedalla tabellaricevutadalvicinoimmediato). L'algoritmodistancevectorroutingfunzionapiuttostobene,mamoltolentonelreagire allecattivenotizie,cioquandouncollegamentovagi.Cilegatoalfattocheirouter nonconosconolatopologiadellarete. Infatti,consideriamoquestoesempio:
A B C D E <- Router <- Collegamenti (topologia lineare) <- Distanze da A
*-----*-----*-----*-----* 1 2 3 4
questo:
A * B C D E <- Router <- Collegamenti <- Distanze da A (dopo uno scambio)
*-----*-----*-----* 3 2 3 4
125
CiperchB,nonricevendorispostadaA,crededipoterciarrivareviaC,chehadistanza duedaA.Colproseguiredegliscambi,sihalaseguenteevoluzione:
A * B C D E <- Router <- Collegamenti
Alungo andare,tuttii 3 4 3 4 <- Distanze da A (dopo due scambi) router vedono 5 4 5 4 <- Distanze da A (dopo tre scambi) lentamente 5 6 5 6 <- Distanze da A (dopo quattro scambi) aumentare ecc. semprepila distanzaper arrivareadA.Questoilproblemadelcounttoinfinity.
*-----*-----*-----*
Seladistanzarappresentailnumerodihopsipuporrecomelimiteildiametrodellarete, maseessarappresentailritardol'upperbounddev'esseremoltoalto,altrimenticammini conunritardooccasionalmentealto(magariacausadicongestione)verrebbero consideratiinterrotti. Sonostatepropostemoltesoluzionialproblemacounttoinfinity,manessunaveramente efficace. Nonostanteci,ildistancevectorroutingeral'algoritmodiroutingdiARPANETed usatoancheinInternetcolnomediRIP(RoutingInternetProtocol),enelleprimeversioni diDECneteIPX. Linkstaterouting Sopratuttoacausadellalentezzadiconvergenzadeldistancevectorrouting,sicercato unapprocciodiverso,chehadatoorigineallinkstaterouting. L'ideaquesta: ogniroutertienesott'occhiolostatodeicollegamentifraseeisuoiviciniimmediati (misurandoilritardodiognilinea)edistribuiscetaliinformazioniatuttiglialtri; sullabaseditaliinformazioni,ognirouterricostruiscelocalmentelatopologiacompleta dell'interareteecalcolailcamminominimofraseetuttiglialtri. Ipassidaseguiresono: 1. scoprireivicinieidentificarli; 2. misurareilcosto(ritardooaltro)dellerelativelinee; 3. costruireunpacchettocontaliinformazioni; 4. mandareilpacchettoatuttiglialtrirouter; 5. previaricezionedeglianaloghipacchettichearrivanodaglialtrirouter,costruirela topologiadell'interarete; 6. calcolareilcamminopibreveatuttiglialtrirouter. Quandoilroutersiavvia,inviaunpacchettoHELLOsututtelelineeinuscita.Inrisposta ricevedaiviciniiloroindirizzi(univociintuttalarete).
126
InviandovaripacchettiECHO,misurandoiltempodiarrivodellarisposta(diviso2)e mediandosuvaripacchettisiderivailritardodellalinea. Sicostruisceunpacchettocon: identitdelmittente; numerodisequenzadelpacchetto; etdelpacchetto; listadeiviciniconirelativiritardi. Lacostruzioneel'invioditalipacchettisiverificatipicamente: aintervalliregolari; quandoaccadeuneventosignificativo(es.:unalineavagiotornasu). Ladistribuzionedeipacchettilapartepidelicata,percherroriinquestafasepossono portarequalcherouteradavereideesbagliatesullatopologia,conconseguenti malfunzionamenti. Dibasesiusailflooding,inserendoneipacchettilecoppie(sourcerouterID,sequence number)pereliminareiduplicati.Tuttiipacchettisonoconfermati.Inoltre,perevitareche pacchettivaganti(perqualcheerrore)girinopersempre,l'etdelpacchettoviene decrementataognisecondo,equandoarrivaazeroilpacchettovienescartato. Combinandotutteleinformazioniarrivate,ogniroutercostruisceilgrafodellasubnete calcolailcamminominimoatuttiglialtrirouter. Illinkstateroutingmoltousatoattualmente: inInternetOSPF(OpenShortestPathFirst)basatosutaleprincipioesiavviaad esserel'algoritmopiutilizzato; unaltroimportanteesempioISIS(IntermediateSystemIntermediateSystem), progettatoperDECnetepoiadottatodaOSI.Lasuaprincipalecaratteristicadipoter gestireindirizzididiversearchitetture(OSI,IP,IPX)percuipuessereusatoinreti misteomultiprotocollo.
Quandolaretecrescefinoconteneredecinedimigliaiadinodi,diventatroppogravoso
mantenereinognirouterlacompletatopologia.Ilroutingvaquindiimpostatoinmodo gerarchico,comesuccedeneisistemitelefonici. Laretevienedivisainzone(spessodetteregioni): all'internodiunaregionevalequantovistofinora,cioirouter(dettirouterinterni) sannocomearrivareatuttiglialtrirouterdellaregione; viceversa,quandounrouterinternodevespedirequalcosaaunrouterdiun'altra regionesasoltantochedevefarlopervenireaunparticolarerouterdellapropria regione,dettorouterdiconfine. ilrouterdiconfinesaaqualealtrorouterdiconfinedeveinviareidatipercharrivino allaregionedidestinazione.
127
Regione
Router di confine
Router interni
Quandotroppipacchettisonopresentiinunapartedellasubnet,siverificauna
congestionechedegradaleprestazioni.Cidipendedalfattoche,quandounrouternon riesceagestiretuttiipacchettichegliarrivano,cominciaaperderli,ecicausadelle ritrasmissionicheaggravanoancorpilacongestione. Massima capacit della rete Situaz. ideale Pacchetti consegnati Situaz. desiderabile
Congestione
Lacongestioneinunrouterpuderivaredadiversifattori: troppipochibuffernelrouter; processoretroppolentonelrouter; lineaditrasmissionetroppolenta(siallungalacodanelrouterdipartenza). Inoltre,lacongestioneinunroutertendeapropagarsiaisuoivicinichegliinvianodati. Infatti,quandotaleroutercostrettoascartareipacchettichericevenonliconfermapi,e quindiirouterchelihannospeditidevonomantenerlineipropribuffer,aggravandocos anchelapropriasituazione. Ilcontrollodellacongestioneunproblemaglobaledituttalarete,edbendiversodal problemadelcontrollodiflussoneilivellidatalink,network(nelcasodeiservizi connectionoriented)etrasporto,cheinveceriguardaunasingolaconnessionesorgente destinazione. Cisonodueapproccialproblemadellacongestione: openloop(senzacontroreazione); closedloop(concontroreazione). Ilprimocercadiimpostarelecoseinmodochelacongestionenonsiverifichi,mapoinon effettuaazionicorrettive.
129
Ilsecondotienesott'occhiolasituazionedellarete,intraprendendoleazioniopportune quandonecessario.
Inquestoapproccio,ditipoopenloop,l'ideadiforzarelatrasmissionedeipacchettiaun
ritmopiuttostoregolare,ondelimitarelapossibilitdicongestioni. Verdemotretecnicheperimplementareiltrafficshaping: leakybucket; tokenbucket; flowspecification. AlgoritmoLeakybucket(secchiocheperde) L'ideasemplice,etrovaunanalogiarealeinunsecchiochevieneriempitodaun rubinetto(chepuesserecontinuamentemanovratoinmododarisultarepiomeno aperto)eriversal'acquachecontieneattraversounforellinosulfondo,aritmocostante.Se vieneimmessatroppaacqua,essafuoriescedalbordosuperioredelsecchioesiperde. Sull'hostsirealizza(nell'interfacciadireteoinsoftware)unleakybucket,che autorizzatoariversaresullaretepacchetticonunfissatodatarate(diciamobbps)eche mantiene,neisuoibuffer,quelliaccodatiperlatrasmissione. Sel'hostgenerapipacchettidiquellichepossonoesserecontenutineibuffer,essisi perdono.
Host
Flusso irregolare
130
Inquestomodo,l'hostpuancheprodurreuntrafficoburstysenzacreareproblemisulla rete;finchildataratemediononsuperaibbpstuttofunzionaregolarmente,oltresi comincianoaperderepacchetti. Algoritmotokenbucket(secchiodigettoni) E'unatecnicaperconsentireungradodiirregolaritcontrollatoanchenelflussocheesce sullarete. Essenzialmente,siaccumulauncreditotrasmissivoconuncertodatarate(finoadun massimoconsentito)quandononsitrasmettenulla. Quandopoic'datrasmettere,losifasfruttandotuttoilcreditodisponibileper trasmettere,finoall'esaurimentoditalecredito,allamassimavelocitconsentitadalla linea. Ilsecchiocontienedeitoken,chesicreanoconunacadenzaprefissata(adesempiouno ognimillisecondo)finoacheilloronumeroraggiungeunvaloreMprefissato,che corrispondeall'averriempitoilsecchioditoken. Perpotertramettereunpacchetto(ounacertaquantitdibyte),deveesseredisponibileun token. Secisonoktokennelsecchielloeh>kpacchettidatrasmettere,iprimiksonotrasmessi subito(aldatarateconsentitodallalinea)eglialtridevonoaspettaredeinuovitoken. Dunque,potenzialmentedeiburstdiMpacchettipossonoesseretrasmessiinuncolpo solo,fermorestandochemediamentenonsiriesceatrasmettereadunavelocitpialtadi quelladigenerazionedeitoken. Un'altradifferenzacolleakybucketcheipacchettinonvengonomaiscartati(ilsecchio contienetoken,nonpacchetti).Senecessario,siavverteillivellosuperiore,produttoredei dati,difermarsiperunp. Questiduealgoritmipossonoessereusatiperregolareiltrafficohostroutererouter router;inquest'ultimocasoper,seilroutersorgentecostrettoafermarsiinvecedi inviaredatienonhaspaziodibufferasufficienza,questipossonoperdersi. Flowspecification Iltrafficshapingmoltoefficacesetutti(sorgente,subnetedestinazione)siaccordanoin merito. Unmododiotteneretaleaccordoconsistenellospecificare: lecaratteristichedeltrafficochesivuoleinviare(datarate,gradodiburstiness,ecc.); laqualitdelservizio(ritardomassimo,frazionedipacchettichesipuperdere,ecc.). Taleaccordosichiamaflowspecificationeconsisteinunastrutturadatichedescrivele grandezzeinquestione.
131
Sorgente,subnetedestinatariosiaccordanodiconseguenzaperlatrasmissione. Questoaccordovienepresoprimaditrasmettere,epuesserefattosiainsubnetconnesse (eallorasiriferiscealcircuitovirtuale)cheinsubnetnonconnesse(eallorasiriferiscealla sequenzadipacchettichesartrasmessa). Controllodellacongestionenelleretibasatesucircuitivirtuali Ingeneralenellereticonnessepifacileilcontrollodellacongestione,perchlerisorse perunaconnessionesonoallocateinanticipo. Quindi,perevitarelacongestionepossibilenegarel'attivazionedinuovicircuitivirtuali ovenonvisianosufficientirisorsepergestirli.Questatecnicavasottoilnomedi admissioncontrol.
Inquestoapproccio,ditipoclosedloop,previstocheunroutertengad'occhioilgradodi
utilizzodellesuelineediuscita.Ilroutermisura,perciascunalinea,l'utilizzoistantaneoU eaccumula,entrounamediaesponenzialeM,lastoriapassata: Mnuovo=aMvecchio+(1a)U dove ilparametroa(compresofra0ed1)ilpesodatoallastoriapassata; (1a)ilpesodatoall'informazionepirecente. Quando,perunadellelineeinuscita,Msiavvicinaaunasogliadipericoloprefissata,il routeresaminaipacchettiiningressopervederesesonodestinatiallalinead'uscitache inallarme. Incasoaffermativo,inviaall'hostdioriginedelpacchettounchokepacket(tochoke significasoffocare)peravvertirlodidiminuireilflusso. Quandol'hostsorgentericeveilchokepacketdiminuisceilflusso(tipicamentelo dimezza)eignoraisuccessivichokepacketperuntempoprefissato,perchtipicamente nearriverannomoltiinsequenza. Trascorsotaletempoprefissato,l'hostsirimetteinattesadialtrichokepacket.Sene arrivanoaltri,riduceancorailflusso.Altrimenti,aumentadinuovoilflusso. Hopbyhopchokepacket L'unicoproblemadellatecnicaprecedentelalentezzadireazione,perchl'hostche produceipacchetticimetteuncertotempoaricevereichokepacketedadiminuiredi conseguenzailritmodellatrasmissione.Permigliorarelecosesipucostringereogni routersulpercorso,appenaricevetalipacchetti,arallentaresubitoilritmo.Intalcasosi parladihopbyhopchokepacket.
132
5.5) Internetworking
Comesappiamo,esistonodiversearchitetturedirete,ciascunacaratterizzatadallescelte
effettuateinmoltisettorifraiqualiricordiamo: iservizioffertidaivarilivelli(connectionorientedono,reliableono,ecc.); lemodalitdiindirizzamento; ladimensionemassimadeipacchetti.
Perconnetterefralororetieterogeneesidevonosuperareprobleminonbanali,traiquali: difformitneiserviziofferti(adesempio,unservizioconnectedvieneoffertosolosu unadellereti); difformitneiformatideipacchettiedegliindirizzi; difformit,nellesubnet,deimeccanismidicontrollodell'erroreedellacongestione; difformitnelladimensionemassimadeipacchetti. Acausaditaliproblemi,ingenerale(amenochelearchitetturediretenonsianomolto simili)nonsiusaquestoapprocciogenerale,maaltretecnichepispecifiche. Talitecnichesonobasatesull'usodiparticolariattrezzature,cheoperanoalivellidiversi: ibridge,cheabbiamogivistoecheoperanoalivellodatalink; iroutermultiprotocollo:sonodeirouteringradodigestirecontemporaneamentepi pilediprotocolli. Retidiroutermultiprotocollo Mediantericorsoataliapparecchiaturediventapossibile,peresempio,impostareuna internetworkcostituitadiretieterogenee.Ogniretepucomunicareconlealtreretialei conformiattraversounaporzionediretecostituitadiroutermultiprotocollo.
133
Pacchetti IP
Figura55:Internetworkbasatasuroutermultiprotocollo
134
Rete di tipo X
Rete di tipo Y
Rete di tipo X
Tunnel
Router multiprotocollo
Figura56:Tunneling
Rete di tipo X
Rete di tipo Y
Rete di tipo X
Figura57:Doppiolivellonetworkneltunneling
Frammentazione
135
Undiversoproblemachetalvoltasipresentalegatoalfattocheingeneralepossibile cheipacchettiinarrivodaunaretesianotroppograndipertransitaresuunaltra. Inquestocasonecessariocheillivellonetworkdellaretediorigine(ediquelladi destinazione)prevedanomeccanismidispezzettamentodelpacchettoinframmentiprima diconsegnarliallareteditransito,ediricomposizionedeiframmentiappenaessi giungonodallareteditransitoinquelladidestinazione(comevedremo,ilprotocolloIP fornitodiquestafunzionalit). Circuitivirtualiconcatenati Setutteleretiinteressateoffronoserviziconnessinellivellonetwork,possibilecostruire uncircuitovirtualechesiestendeattraversopiretieterogeneecomeconcatenazionedi circuitivirtualicheattraversanociascunounadellereti.Aiconfinifraogniretecisonodei routermultiprotocolloche: creanolaporzionedicircuitovirtualecheattraversalaretedicompetenza,arrivando finoadunroutermultiprotocollosituatoall'altraestremitdellarete; instradanosuccessivamenteipacchettilungotalecircuitovirtuale. Transportgateway Unmeccanismosimilepiuttostodiffusoalivellotransport,datocheessooffreservizi connessiinquasituttelearchitetture.Intaleambitoleapparecchiatureinteressate prendonoilnomeditransportgateway. Poichitransportgatewayoperanoalivellotransport,essiricevonoidatidallivello applicationdipartenzaeliconsegnanoallivelloapplicationdiarrivo. Applicationgateways Unultimotipodiattrezzaturacostituitodagliapplicationgateway,cheeffettuanouna conversionedidatialivelloapplication. Adesempio,permandaredaunhostInternetunmessaggiodipostaelettronicaaun utenteOSI: sicomponeilmessaggiosecondoilformatoInternet;l'indirizzodeldestinatarioun indirizzoOSI,mavieneespressosecondoregolevalideperInternet; siinviailmessaggio,chevieneconsegnatoaunmailgateway,cioaunserverdiposta elettronicadotatodellacapacitdiconversionedeiformati; ilmailgatewayestraeiltestodalmessaggio,loinserisceinunnuovomessaggiocostruito secondoilformatoOSI(che,perlapostaelettronica,definitodallostandardX.400)elo inviasullareteOSI(consegnandoloalpertinentelivellotrasporto).
Ingenerale,inunainternetworklesingolereticomponentisonoentitautonomee
vengonochiamateAS(AutonomousSystem). Inquestocaso,ilroutingcomplessivoaduelivelli:
136
unprimolivellocostituitodall'InteriorGatewayProtocol(IGP).Questotermine identifical'algoritmodiroutingusatodaunASalpropriointerno.Naturalmente, diversiASpossonoutilizzarediversiIGP.Comeabbiamogivisto,unIGPpuanche esseregerarchico,inparticolarequandoledimensionidell'ASsonoconsiderevoli; unsecondolivellodatodall'ExteriorGatewayProtocol(EGP),chel'algoritmochesi usapergestireilroutingfradiversiAS.Tipicamente,inquestoscenarioEGP l'algoritmodiroutingcheriguardairoutermultiprotocollo.L'aspettopiinteressante relativoaEGPcheessodevespessotenercontodispecifichelegginazionali(ad esempio,divietodifartransitaredatisulsuolodiunanazioneostile),percuile decisionidiroutingdevonoadattarsiatalidirettive.
InternetunacollezionediASconnessigliuniconglialtri.Nonesisteunastruttura
rigida,macomunquesipossonodistinguerealcunecomponenti: backboneprincipali(lineeadaltavelocit); retiregionali(USA); retinazionali(Europaerestodelmondo); retilocali. US backbone
Europe backbone
Regional network
National network
IP LAN
IP LAN Figura58:OrganizzazionedellareteInternet
137
UnpacchettoIPcostituitodaunheaderedaunapartedati.
L'headerhaunapartefissadi20byteeunaparte,opzionale,dilunghezzavariabile. 32 bit 4 Version 4 IHL 8 Type of service D M F F 1 1 1 Total length Fragment offset Header checksum
Options
Figura59:Formatodell'headerIP
138
Icampidell'headerhannoleseguentifunzioni:
Protocol Headerchecksum
ilnumerodiversionedelprotocollo(oggi4). lunghezzadell'headerinparoledi32bit(minimo5,massimo 15). caratterizzaaffidabilitevelocitrichieste.E'difattoignorato dairouter. lunghezzadelpacchetto(inclusidati),massimo65.535byte. tuttiiframmentidiunostessopacchettohannolostesso valore. don'tfragment(seugualea1,nonsideveframmentareil pacchettoacostodiscegliereunastradamenoveloce). morefragments(seugualea1,ilpacchettononancorafinito). indicedelframmentonelpacchetto. contatore(inizializzatoa255)chevienedecrementatodiunoa ognihop(oadognisecondo).Quandoarrivaazero,il pacchettovienescartato. codicedelprotocollodilivellotransportacuiconsegnareidati (icodicisonodefinitiinRFC1700). checksumdicontrollodelsoloheader: sisommano(incomplementoaduno)leparolea16bitdello header,considerandoilchecksumazero; sicomplementaadunoilrisultato; vienericalcolatoadognihop(timetolivecambia). indirizzidimittenteedestinatario. opzioni,solocinquesonodefiniteoggi: security:quantosegretoilpacchetto; strictsourcerouting:camminodaseguire; loosesourcerouting:listadirouterdanonmancare; recordroute:ognirouterappendeilsuoindirizzo; timestamp:ognirouterappendeilsuoindirizzopiun timestamp.
5.6.2) Indirizzi IP
UnindirizzoIPformatoda32bitecodificaduecose:
Lacombinazioneunica:nonpossonoesisterenell'interareteInternetdueindirizziIP uguali. SinotichesolitamentesiritienecheognihostsullareteabbiaunsingoloindirizzoIP.In realtgliindirizzisonoassegnatialleinterfaccedirete,quindi: seunhosthaun'unicainterfacciadirete(comeilcasodiunPCinLAN)allorahaun unicoindirizzoIP; seunhosthaXinterfaccedirete(comeilcasodiunrouterconnessoadunaLANead X1lineepuntopunto)haXindirizzi. GliindirizziIPsonoassegnatidaautoritnazionali(NIC,NetworkInformationCenter) coordinatealivellomondiale. Iformatipossibilidegliindirizzisonoiseguenti:
32 bit Classe della rete IP A 0 1 0 8 Network Network Network Multicast address (indirizzo di gruppo) Riservato per uso futuro 8 Host Host Host 8 8
B C
1 1 0 1 1 1 0 1 1 1 1 0
D E
Figura510:FormatidegliindirizziIP
140
Inoltre,esistonoalcuniindirizziconunsignificatospeciale:
32 bit 8 Questo host Un host su questa network Broadcast su questa network Broadcast a una altra netw. Loopback Network 127 0 Tutti uni Tutti uni Qualunque numero 0 Host
Figura511:IndirizziIPspeciali
Quandosiutilizzailloopback,ilpacchettononvieneinviatosullaretemavieneelaborato comesefosseinarrivo:questomoltoutile,adesempio,pereffettuarelocalmentedeitest suunsoftwaredireteinfasedisviluppo. Ricapitolando,poichalcuneconfigurazionibinariepergliindirizzisonoimpegnateper gliindirizzispeciali,possonoesistere: 126networkdiclasseA,lequalipossonocontenere16milionidihostciascuna; 16382networkdiclasseB,concirca64.000hostciascuna; 2milionidinetworkdiclasseC,con254hostciascuna. Gliindirizzisonousualmenteespressinelladotteddecimalnotation,cioivaloridei singolibytesonoespressiindecimaleesonoseparatidaunpunto,comenell'indirizzo:
141.192.140.37
141
5.6.3) Routing IP
Ilcollegamentofraduerouternonavvienedirettamente,maattraversounanetwork(in
realtdisolitounasubnet,comevedremopoi)chelicollega,echedifattocostituitadalle dueinterfaccedireteedallalineadicomunicazionechelecollega: Router Host X 10.3 10.1 Linea 1 Network 150.3. 10.2 Y 10.1
10.1
10.3
Ognirouterpossiedeunatabella(costruitaemantenutadinamicamentedall'algoritmodi routinginesercizio)checontieneelementideltipo: 1. (thisnetworknumber,hostnumber)perciascunhostdellanetworkacuiilrouter direttamentecollegato; 2. (networknumber,0)perciascunanetworklontanadicuiilrouterconoscel'esistenza. Associateatalielementicisonoleinformazionisull'interfacciadiretedausareper instradareilpacchettoe,nelcasodellelineepuntopunto,l'indirizzodelrouterchesitrova dall'altraparte. Inoltre,vienemantenutol'indirizzodiundefaultrouter(elacorrispondentelineaseriale dausareperraggiungerlo)acuiinviaretuttiipacchettidestinatianetworksconosciute. Nell'esempiodellafiguraprecedente,ilrouterXsicomportacomesegue: searrivadafuoriunpacchettodestinatoa150.1.10.1ilrouter,attraversounelemento ditipo1,scoprechedeveinviarlosullaLAN; searrivadallaLANunpacchettoper150.2.10.3eilrouterhaunelementoditipo2 quale(150.2.,0),allorainviailpacchetto(alrouterY)sullalinea1.
142
5.6.4) Subnet
Alfinedieconomizzarenelnumerodinetworkdausare(utilizzandoalmeglioquelleche
possonoconteneremigliaiaomilionidihost)unanetworkpuesseredivisainvarie subnet,ciascunacontenenteisuoihost.
b)
Figura513:IndirizzoIPconsubnet(a)erelativasubnetmask(b)
Asecondadell'ampiezzadelcampodedicatoallasubnet,sipossonootteneremoltesubnet contenenticiascunapochihostoppurepochesubnetcheperpotrannoconteneremolti host. Neiroutersiaggiungonoelementideltipo: (thisnetworknumber,thissubnetnumber,hostnumber)perglihostdellesubnetacui ilroutercollegatodirettamente; (thisnetworknumber,subnetnumber,0)perlealtresubnetacuiilrouternon collegatodirettamente; conlerelativeinformazionisulleinterfaccediretedausare. Laretedifigura512,chenellasuaformulazioneoriginariaimpegnavabentrenetworkdi classeB,puessererealizzataconunsolanetworkdiclasseBsuddivisaintresubnet.A talfine,usiamounnetworknumberugualea150.1.edunasubnetmask(espressain dotteddecimalnotation)ugualea255.255.255.0,cio:
143
2 150.1.1.
2 150.1.3.
Figura514:CollegamentodirouterIPmedianteusodisubnet
AssiemeaIPesistonodiversiprotocolliperilcontrollodelfunzionamentodellasubnet.
ICMP(InternetControlMessageProtocol,RFC792) L'operativitdellasubnetcontrollatacontinuamentedairouter,chesiscambiano informazionimediantemessaggiconformialprotocolloICMP(talimessaggiviaggiano dentropacchettiIP). Esistonomoltitipidimessaggi,fraiquali: destinationunreachable:nonsitrovaladestinazionedelpacchetto.Vieneinviatoal mittentedelpacchetto; timeexceeded:ilcontatorediunpacchettoarrivatoazero.Vieneinviatoalmittente delpacchetto; redirect:ilrouterharagionedipensarecheilpacchettogliarrivatopererrore,ad esempioperchunhostmobilesispostato.Vieneinviatoalmittentedelpacchetto; echorequest,reply:sivuolesapereseunadestinazionevivaeraggiungibile.Siinvia request,siaspettareply; timestamprequest,reply:comeilprecedente,coninpilaregistrazionedell'istantedi arrivoepartenza,permisurareleprestazionidellarete. ARP(AddressResolutionProtocol,RFC826)
144
IlprotocolloARPserveperderivare,dall'indirizzoIPdell'hostdidestinazione,l'indirizzo dilivellodatalinknecessarioperinviareilframecheincapsulerilpacchettodestinato all'hostdicuiall'indirizzoIP. EssooperaappoggiandosidirettamentesullivellodatalinkenonsuIP: vieneinviataatuttelestazionidellaLAN,indatalinkbroadcast,unarichiestadeltipo: "chihal'indirizzoIPugualea151.100.17.102?" solol'hostchehaquell'indirizzoIPrisponde,inserendonellarispostailproprio indirizzodatalink; quandoricevelarisposta,l'hostlamantieneinmemoriapercirca15minuti. Sel'indirizzoIPrelativoadun'altranetwork: lasoluzionepisemplicemandareilpacchettoARPcomeprima,configurandoperil routerinmodocherispondaallerichiesteARPrelativeadaltreretifornendoilproprio indirizzoethernet(proxyARP);ilrouterfarpoidatramitenellaconversazioneIPfrail mittenteeildestinatario,inviandodivoltainvoltaall'unoipacchettiIPchegli giungonodall'altro; alternativamente,siconfigural'hostimpostandoalsuointernol'indirizzoethernetdi default(quellodelrouter)acuimandareipacchettiIPperlealtrereti;ancheinquesto casoilrouterdevefaredatramitenellaconversazioneIPfrailmittenteeildestinatario. RARP(ReverseAddressResolutionProtocol,RFC903) IlprotocolloRARPrisolveilproblemainverso,cioconsenteditrovarequaleindirizzoIP corrispondaaundeterminatoindirizzodatalink. Essoutilenelcasodistazionisenzadisco,chealmomentodell'avviocaricano l'immaginedelcodicebinariodelsistemaoperativodaunserver. Ilvantaggiochesiottienecheunasolaimmaginebinariavabenepertuttelestazioni: ognistazionepersonalizzapoil'immaginebinariaconladeterminazionedelproprio indirizzoIPmedianteunarichiestaRARP,nellaqualeinviailproprioindirizzodatalink (checablatonell'interfacciadirete).
Comegidetto,InternetunacollezionediASconnessidabackboneadaltavelocit.
CichecaratterizzaunASilfattodiesseregestitodaunasingolaautorit. EsempitipicidiASsono: laretedeglientidiricercadiunanazione(reteGARRinItalia); laretediunasingolaazienda. Ilroutingcomplessivoorganizzatoinmodogerarchico: all'internodiunsingoloASsiusaunsoloInteriorGatewayProtocol(IGP); viceversa,perilroutingfragliASsiusaunExteriorGatewayProtocol(EGP).
145
AS
Backbone area
Area
Area
Area
Figura515:SuddivisionediunASinaree
IrouterdiunASpossonoessere: interniaunarea:sioccupanodelroutingall'internodell'area; sulconfinediun'area:sioccupanodelroutingfralediverseareeviabackbone; nell'areabackbone:sioccupanodelroutingsulbackbone; sulconfinedell'AS:sioccupanodelroutingfragliAS(applicandoEGP);possono trovarsianchesulconfinediun'area. ExteriorGatewayProtocolperInternet IlprotocolloEGP,usatodairoutersulconfinedell'ASedaquellisuibackboneadalta velocitcheconnettonogliAS,sichiamaBGP(BorderGatewayProtocol,RFC1654). E'fondamentalmenteditipodistancevector,conduenovit: possiedelacapacitdigestirepolitichediinstradamento(derivanti,adesempio,da legginazionali)chevengonoconfiguratemanualmenteneirouter;
146
5.6.7) IP versione 6
Dopounlungolavoro,IETFhaapprovatoilsuccessorediIPversione4,ciolaversione6
(IPv6,RFC18831887). Irequisitiprincipalidiprogettoerano: aumentareilnumerodiindirizzi,ormaiquasiesauriti; ottenereunamaggioreefficienzaneirouter(tavolepipiccole,routingpiveloce); supportaremeglioiltrafficorealtime; offriremaggioresicurezzaaidatiriservati. Leprincipalidifferenzerispettoallaversione4sono: indirizzidi16byte,ilchesignificadisporredi2128indirizziIP,ecio7*1023indirizziIP permetroquadrosututtoilnostropianeta; headersemplificato:7campicontro13; funzionidiautentificazioneeprivacy,basatesucrittografia; gestionedellaqualitdiservizioattraversouncampoflowlabel,checonsentedi istituiredellepseudoconnessioniconcaratteristichenegoziateinanticipo.
147
Illivellotransportilcuoredituttalagerarchiadiprotocolli.Ilsuocompitodifornire
untrasportoaffidabileedefficacedall'hostdiorigineaquellodidestinazione, indipendentementedallareteutilizzata.
Questoillivelloincuisigestisceperlaprimavolta(dalbassoversol'alto)una conversazionediretta,ciosenzaintermediari,frasorgenteedestinazione. Dacidiscendecheilsoftwaredilivellotransportpresentesolosuglihost,enonnei routerdellasubnetdicomunicazione. Servizioffertidallivellotransport Iserviziprincipalioffertiailivellisuperiorisonovaritipiditrasportodelleinformazioni fraunatransportentitysuunhostelasuapeerentitysuunaltrohost. Naturalmente,taliservizisonorealizzatidallivellotransportpermezzodeiserviziad essooffertidallivellonetwork. TSAP address
Liv. Applic.
Liv. Transport
Transport Entity
TPDU
Transport Entity
Liv. Network
NSAP address
Figura61:Iservizitransportsonobasatisuiservizinetwork
Coscomecisonoduetipidiservizidilivellonetwork,cenesonodueanchealivello transport: serviziaffidabiliorientatiallaconnessione(tipicidiquestolivello); servizidatagram(pocousatiinquestolivello). Essisonomoltosimili,comecaratteristiche,aquellicorrispondentidellivellonetwork,ed hannoglianaloghivantaggiesvantaggi. Maallora,perchduplicarelecoseinduediversilivelli?Ilfattochel'utente(cheaccede aiservizidiretedall'alto)nonhaalcuncontrollosullasubnetdicomunicazione,evuole comunquecertegaranziediservizio(adesempio,iltrasferimentocorrettodiunfile). Dunque,taligaranziedevonoesserefornitealdifuoridellasubnet,percuidevono
148
risiedereinunlivellosuperioreaquellonetwork.Insostanza,illivellotransportpermette dioffrireunserviziopiaffidabilediquantolasubnetsiaingradodifare. Inoltre,haunaltroimportantescopo,quellodiisolareilivellisuperioridaidettagli implementatividellasubnetdicomunicazione.Ottienecioffrendouninsiemedi primitive(didefinizionedeiservizi)semplicidautilizzareedindipendentidaiservizidei livellisottostanti.Questoperchmentresolopochepersonescrivonocomponentisoftware cheusanoiservizidilivellonetwork,moltescrivonoapplicazionidirete,chesibasanosui servizidilivellotransport. UnultimoaspettoriguardalapossibilitdispecificarelaQoS(QualityofService) desiderata.Questoinparticolareadattosoprattuttoaiserviziconnectionoriented,nei qualiilrichiedentepuspecificareesigenzequali: massimoritardoperl'attivazionedellaconnessione; throughputrichiesto; massimoritardoditransitoammesso; tassod'erroretollerato; tipodiprotezionedaaccessinonautorizzatiaidatiintransito. Inquestoscenario: lepeerentityavvianounafasedinegoziazionepermettersid'accordosullaQoS,anche infunzionedellaqualitdeiservizidilivellonetworkdicuidispongono; quandol'accordoraggiunto,essovalepertuttaladuratadellaconnessione. Primitivedidefinizionedelservizio Essedefinisconoilmododiaccedereaiservizidellivello. Tipicamentesonoprogettateinmododanascondereidettaglidellasubnet(dipi,in mododaessereindipendentidaqualunquesubnet)edesserefacilidausare. Adesempio,questopuessereuntipicoinsiemediprimitive:
Primitiva
accept() connect() send() receive() disconnect()
TPDUspedito
conn.request dati
disconn.request
Note Sibloccafinchqualcuno cercadiconnettersi Cercadistabilireuna connessione Inviadeidati Sibloccafincharrivaun TPDU Chiedediterminarela connessione
Adesempio,consideriamoiseguentiframmentidicodicediun'applicazioneclientserver:
149
Server
... accept(); send(); receive(); ... ... connect(); receive(); send(); ... disconnect();
Client
Iprotocollidilivellotransport(sullabasedeiqualisiimplementanoiservizi)
assomiglianopercertiaspettiaquellidilivellodatalink.Infattisioccupano,fralealtre cose,anchedi: controllodeglierrori; controllodiflusso; riordinodeiTPDU. Cisonoperanchedelleimportantidifferenze.Quellaprincipaleche: nellivellodatalinkfralepeerentityc'unsingolocanaledicomunicazione; nellivellotransportc'dimezzol'interasubnetdicomunicazione. Questoimplicache,alivellotransport: necessarioindirizzareesplicitamenteildestinatario; picomplicatostabilirelaconnessione; laretehaunacapacitdimemorizzazione,percuideiTPDUpossonosaltarefuori quandoladestinazionemenoseliaspetta; bufferingecontrollodiflussorichiedonounapprocciodifferentechenellivellodata link,acausadelnumeromoltovariabilediconnessionichesipossonoaveredi momentoinmomento.
6.2) Indirizzamento
Quandosivuoleattivareunaconnessione,sideveovviamentespecificareconchilasi
Questaoperazionesembrafacilemanonlo,perchlasubnetpuperdereoduplicare(a
causadiritardiinterni)deipacchetti. Adesempio,acausadiripetutiritardinell'inviodegliackpusuccederechevengano duplicatiesuccessivamentearrivinoinperfettoordineadestinazionetuttiipacchetti precedentementegeneratinelcorsodiunaconnessione.Ciinlineadiprincipiopu significarechel'attivazionedellaconnessioneetuttoilsuosvolgimentoabbianoluogodue volte. Siimmagininoleconseguenzeditaleinconvenienteseloscopoditaleconnessionefosse statolarichiesta(aunabanca)diversareunmiliardosulcontodiunpersonaggiodalla dubbiaonest. Ilproblemadifondorisiedenellapossibileesistenzadiduplicatiritardatarichearrivano adestinazionemoltodopoesserepartiti. Gisappiamoche,unavoltachelaconnessionestabilita,unqualunqueprotocolloa finestrascorrevoleadattoalloscopo.Infattiduranteilsetupdellaconnessionelepeer entitysiaccordanosulnumeroinizialedisequenza,equindiidoppioniritardatarinon vengonoaccettati. Viceversa,perrisolvereilproblemadeiduplicatirelativiallafasediattivazionedella connessioneesisteunasoluzionedettathreewayhandshaking(Tomlinson,1975). Ilprotocollofunzionacos: ilrichiedenteinviaunTPDUditipoconn.requestconunnumeroxpropostocome iniziodellasequenza; ildestinatarioinviaunTPDUditipoackcontenente: laconfermadix; lapropostediunproprionumeroydiiniziosequenza; ilrichiedenteinviaunTPDUditipodaticontenente: iprimidatideldialogo; laconfermadiy.
151
Figura62:Threewayhandshake
Figura63:Duplicatodellarichiestadiattivazione
Seinfinearrivanoaldestinatariosiaunduplicatodellarichiestadiattivazionecheun duplicatodelprimoTPDUdati,lasituazionelaseguente:
152
Mittente
Destinatario
Figura64:DuplicatidellarichiestadiattivazioneedelprimoTPDUdati
Rilasciareunaconnessionepisemplicechestabilirla,macomunquequalchepiccolo
problemac'ancheinquestafase. Inquestocontesto,rilasciarelaconnessionesignificachel'entitditrasportorimuovele informazionisullaconnessionedalleproprietavoleeinformal'utentedilivellosuperiore chelaconnessionechiusa. Cisonoduetipidirilasci: asimmetrico; simmetrico. Nelprimocaso(esemplificatodalsistematelefonico)quandounadelledueparti"mette gi"sichiudeimmediatamentelaconnessione.Ciperpuportareallaperditadidati,in particolaredituttiquellichel'altrapartehainviatoenonsonoancoraarrivati. Nelsecondocasosiconsideralaconnessionecomeunacoppiadiconnessioni unidirezionali,chedevonoessererilasciateindipendentemente.Quindi,lungouna direzionepossonoancorascorreredeidatiancheselaconnessionelungol'altradirezione statachiusa.Ilrilasciosimmetricoutilequandounprocessosaesattamentequantidati
153
Figura65:Sempliceschemaperilrilascioconcordatodellaconnessione
154
Esercito 1 B
Esercito 2
Armata B Figura66:Ilproblemadelleduearmate
Ladefinizionedelproblemalaseguente: idueesercitichecompongonol'armataAsonociascunopideboledell'esercitoche costituiscel'armataB; l'armataApernelsuocomplessopifortedell'armataB; idueesercitidell'armataApossonovinceresoloseattaccanocontemporaneamente; imessaggifragliesercitidell'armataAsonoportatidamessaggerichedevono attraversareilterritoriodell'armataB,dovepossonoesserecatturati. Comefannoadaccordarsigliesercitidell'armataAsull'oradell'attacco?Unapossibilit laseguente: ilcomandantedell'esercito1mandailmessaggio"attacchiamoamezzanotte.Siete d'accordo?"; ilmessaggioarriva,unokdirispostaparteearrivaadestinazione,mailcomandante dell'esercito2esitaperchnonpuesseresicurochelasuarispostasiaarrivata. Sipotrebbepensaredirisolvereilproblemaconunpassaggioinpi(ossiaconunthree wayhandshake):l'arrivodellarispostadell'esercito2deveessereasuavoltaconfermato. Oraperchiesitailcomandantedell'esercito1,perchsetaleconfermasiperde,l'armata 2nonsaprchelasuaconfermaallapropostadiattaccarearrivataequindinon attaccher. Aggiungereulterioripassagginonaiuta,perchc'sempreunmessaggiodiconfermache l'ultimo,echilospediscenonpuesseresicurochesiaarrivato.Dunque,nonesiste soluzione.
155
Seorasostituiamolafrase"attacchiamol'armataB"con"rilasciamolaconnessione", vediamochesirischiaeffettivamentedinonrilasciaremaiunaconnessione. Perfortuna,rilasciareunaconnessionemenocriticocheattaccareun'armatanemica. Quindi,qualcherischiosipuancheprendere. Unprotocolloditipothreewayhandshakingarricchitoconlagestioneditimeout consideratoadeguato,anchesenoninfallibile: ilmittenteinviaun disconn.requeste,senonarrivarispostaentrountempoprefissato (timeout),loinvianuovamenteperunmassimodinvolte: appenaarrivaunarisposta(disconn.request)rilascialaconnessionein ingressoeinviaunackdiconferma; senonarrivanessunarisposta,dopol'ultimotimeoutrilasciacomunquela connessioneiningresso; ildestinatario,quandoricevedisconn.request,fapartireuntimer,inviaasuavoltaun disconn.requesteattendel'ackdiconferma.Quandoarrival'ackoscadeiltimer, rilascialaconnessioneiningresso. Normalmenteilfunzionamentoilseguente: Mittente Destinatario
Figura67:Rilascioconcordatodiunaconnessionetransport
156
Rilascia la conn.
Figura68:Perditadell'ackduranteilrilasciodellaconnessione
Figura69:Perditadellarispostaallapropostadichiusuraduranteilrilasciodella connessione
157
disconn.request Timeout Timeout disconn.request Timeout Rilascia la conn. Ecc. Dopo l'ennesimo timeout rilascia la conn. Figura610:Perditadituttiimessaggitranneilprimo 6.5) Controllo di flusso e buffering
Peralcuniaspettiilcontrollodiflussoalivellotransportsimileaquellodilivellodata
link:necessariounmeccanismo,qualelagestionediunaslidingwindow,perevitareche ilriceventesiasommersodiTPDU.
158
Percisonoancheimportantidifferenze: illivellodatalinknonhaalcunservizio,trannelatrasmissionefisica,acuiappoggiarsi. Illivellotransportinveceusaiservizidellivellonetwork,chepossonoessereaffidabili ono,equindipuorganizzarsidiconseguenza; ilnumerodiconnessionidatalinkrelativamentepiccolo(unoperlineafisica)estabile neltempo,mentreleconnessionitransportsonopotenzialmentemolteedinumero ampiamentevariabileneltempo; ledimensionideiframesonopiuttostostabili,quelledeiTPDUsonomoltopivariabili. Seillivellotransportdisponesolodiservizidilivellonetworkditipodatagram: latransportentitysorgentedevemantenereinunbufferiTPDUspeditifinchnonsono confermati,comesifanellivellodatalink; latransportentitydidestinazionepuanchenonmanteneredeibufferspecificiper ogniconnessione,masolounpoolglobale:quandoarrivaunTPDU,senonc'spazio nelpool,nonloaccetta.Poichilmittentesachelasubnetpuperderedeipacchetti, riproveratrasmettereilTPDUfinchnonarrivalaconferma.Alpeggio,siperdeun pdiefficienza. Viceversa,ovesianodisponibiliservizinetworkditipoaffidabilecipossonoesserealtre possibilitperillivellotransport: seilmittentesacheilriceventehasemprespaziodisponibileneibuffer(equindi sempreingradodiaccettareidatichegliarrivano)puevitaredimantenereluidei buffer,datochecichespedisce: arrivasicuramenteadestinazione; vienesempreaccettatodaldestinatario; senonc'questagaranzia,ilmittentedevecomunquemantenereibuffer,datocheil destinatarioriceversicuramenteiTPDUspediti,mapotrebbenonessereingradodi accettarli. Unproblemalegatoalbufferingcomegestirlo,vistalagrandevariabilitdidimensione deiTPDU: unpooldibuffertuttiuguali:pocoadatto,datochecomportaunosprecodispazioperi TPDUdipiccoledimensioniecomplicazioniperquelligrandi; unpooldibufferdidimensionivariabili:picomplicatodagestiremaefficace; unsingoloarray(piuttostogrande)perogniconnessione,gestitocircolarmente:adatto perconnessionigravose,comportasprecodispazioperquelleconpocoscambiodidati. Ingenerale,datalagrandevariabilitdicondizionichesipossonoverificare,conviene adottareregolediversedicasoincaso: trafficoburstymapocogravoso(adesempioinunasessionediemulazionedi terminale,chegenerasolocaratteri):nientebufferadestinazione,doveiTPDUsi possonoacquisiresenzaproblemimanmanochearrivano.Diconseguenza,bastano bufferallasorgente; trafficogravoso(adesempiofiletransfer):buffercospicuiadestinazione,inmododa potersempreaccettarecichearriva. Pergestirealmeglioquestesituazioni,dinormaiprotocollidilivellotransport consentonoallepeerentitydimettersid'accordoinanticipo(alsetupdellaconnessione) suimeccanismidibufferizzazionedausare.
159
Inoltre,spessolagestionedelladimensionedellefinestrescorrevolidisaccoppiatadalla gestionedegliack(vedremoilcasodiTCP).
6.6) Multiplexing
Unaimportanteopportunitdatadalmultiplexingdelleconversazionidilivello
transportsuquelledilivellonetwork. Seleconnessionidilivellonetwork(inunaretecheleoffre)sonocostosedaistituire, alloraconvenienteconvogliaremolteconversazionitransportsuun'unicaconnessione network(upwardmultiplexing). TSAP
Figura611:Upwardmultiplexing
Viceversa,sesivuoleottenereunabandasuperioreaquellaconsentitaaunasingola connessionenetwork,allorasipuguadagnarebandaripartendolaconversazione transportsupiconnessioninetwork(downwardmultiplexing). Cipuessereutile,adsempio,inunasituazionedove: lasubnetapplicaalivellonetworkuncontrollodiflussoslidingwindow,connumeridi sequenzaa8bit; ilcanalefisicosatellitareedha540msecdiroundtripdelay. Supponendocheladimensionedeipacchettisiadi128byte,ilmittentepuspedireal massimo281pacchettiogni540msec,equindihaadisposizioneunabandadi484kbps, ancheselabandadelcanalesatellitaretipicamente100voltepigrande. Selaconversazionetransportsuddivisasu,adesempio,10connessioninetwork,essa potrdisporrediunabanda10voltemaggiore.
160
TSAP
Figura612:Downwardmultiplexing
IllivellotransportdiInternetbasatosudueprotocolli:
TCP(TransmissionControlProtocol)RFC793,1122e1323; UDP(UserDataProtocol)RFC768. IlsecondodifattoIPconl'aggiuntadiunbreveheader,efornisceunserviziodi trasportodatagram(quindinonaffidabile).Lovedremobrevementenelseguito. IlprotocolloTCPstatoprogettatoperfornireunflussodibyteaffidabile,dasorgentea destinazione,suunaretenonaffidabile. Dunque,offreunservizioreliableeconnectionoriented,esioccupadi: accettaredatidallivelloapplication; spezzarliinsegment,ilnomeusatoperiTPDU(dimensionemassima64Kbyte, tipicamentecirca1.500byte); consegnarliallivellonetwork,eventualmenteritrasmettendoli; riceveresegmentidallivellonetwork; rimetterliinordine,eliminandobuchiedoppioni; consegnareidati,inordine,allivelloapplication. E'unserviziofullduplexcongestionediackecontrollodelflusso.
6.7.1) Indirizzamento
IservizidiTCPsiottengonocreandoconnessionedilivellotransportidentificatadauna
coppiadipuntid'accessodettisocket.Ognisockethaunsocketnumbercheconsistedella coppia:
161
Portnumber 7 20 21 23 25 80 110
PoichleconnessioniTCP,chesonofullduplexepointtopoint,sonoidentificatedalla coppiadisocketnumberalledueestremit,possibilechesuunsingolohostpi connessionisianoattestatelocalmentesullostessosocketnumber. LeconnessioniTCPtrasportanounflussodibyte,nondimessaggi:iconfiniframessaggi nonsonondefinitinpreservati.Adesempio,seilprocessomittente(dilivello application)invia4blocchidi512byte,quellodestinatariopuricevere: 8"pezzi"da256byte; 1"pezzo"da2.048byte; ecc. CipensanoleentitTCPasuddividereilflussoinarrivodallivelloapplicationin segmenti,atrasmetterliearicombinarliinunflussochevieneconsegnatoallivello applicationdidestinazione. C'comunquelapossibilit,perillivelloapplication,diforzarel'invioimmediatodidati; cicausal'inviodiunflagurgentche,quandoarrivadall'altraparte,fasche l'applicazionevengainterrottaesidedichiaesaminareidatiurgenti(questosuccede quando,adesempio,l'utenteduranteunasessionediemulazionediterminaledigitail comandoABORT(CTRLC)dellacomputazionecorrente).
Lecaratteristichepiimportantisonoleseguenti:
unoheader,asuavoltacostituitoda: unapartefissadi20byte; unaparteopzionale; idatidatrasportare; TCPusaunmeccanismodislidingwindowditipogobackncontimeout.Sequesto scade,ilsegmentosiritrasmette.Sinoticheledimensionidellafinestrascorrevoleei valoridegliacksonoespressiinnumerodibyte,noninnumerodisegmenti. 32 bit Source port Sequence number Ack. number TCP header len. Checksum
U A P R S F R C S S Y I G K H T N N
Destination port
Dati (opzionali)
Figura613:FormatodelsegmentoTCP Icampidell'headerhannoleseguentifunzioni: Sourceport, destinationport Sequencenumber Ack.number TCPheaderlength URG ACK PSH RST SYN identificanogliendpoint(localiaiduehost)dellaconnessione. Essi,assiemeaicorrispondentinumeriIP,formanoidueTSAP. ilnumerod'ordinedelprimobytecontenutonelcampodati. ilnumerod'ordinedelprossimobyteaspettato. quanteparoledi32bitcisononell'header(necessarioperchil campooptionsdidimensionevariabile). 1seurgentpointerusato,0altrimenti. 1sel'acknumbervalido(ciosesiconvogliaunack),0 altrimenti. datiurgenti(pusheddata),daconsegnaresenzaaspettarecheil buffersiriempia. richiestadiresetdellaconnessione(cisonoproblemi!). usatonellafasedisetupdellaconnessione:
163
FIN Windowsize
SYN=1ACK=0richiestaconnessione; SYN=1ACK=1accettataconnessione. usatoperrilasciareunaconnessione. ilcontrollodiflussoditiposlidingwindowdidimensione variabile.Windowsizedicequantibytepossonoesserespediti apartiredaquello(compreso)chevieneconfermatoconl'ack number.Unvalorezerosignifica:fermatiperunp, riprenderaiquandotiarriverunugualeacknumberconun valorediwindowsizediversodazero. simileaquellodiIP;ilcalcoloincludeunopseudoheader. puntatoreaidatiurgenti. fralepiimportanti,negoziabilialsetup: dimensionemassimadeisegmentidaspedire; usodiselectiverepeatinvecechegobackn; usodiNAK.
Nelcalcolodelchecksumentraancheunopseudoheader,inapertaviolazionedella gerarchia,datocheillivelloTCPinquestocalcolooperasuindirizziIP. 32 bit Source IP address Destination IP address 0 Protocol (= 6) TCP segment length
Figura614:FormatodellopseudoheaderTCP
Lopseudoheadernonvienetrasmesso,maprecedeconcettualmentel'header.Isuoicampi hannoleseguentifunzioni:
Siusailthreewayhandshakevistoprecedentemente:
l'altraparte(diciamounclient)eseguelaprimitivaconnect(),specificandohost,port numberealtriparametriqualiladimensionemassimadeisegmenti,perstabilirela connessione;taleprimitivacausal'inviodiunsegmentoTCPcolbitsynaunoeilbit ackazero; quandotalesegmentoarrivaadestinazione,l'entitydilivellotransportcontrollasec' unprocessoinascoltosulportnumberinquestione: senonc'nessunoinascolto,inviaunsegmentodirispostacolbitrstauno, perrifiutarelaconnessione; altrimenti,consegnailsegmentoarrivatoalprocessoinascolto;seesso accettalaconnessione,l'entityinviaunsegmentodiconferma,conentrambiibit synedackaduno,secondoloschemasottoriportato. Client Server
Figura615:AttivazionediunaconnessioneTCP
Ivaloridixeysonoricavatidaglihostsullabasedeiloroclockdisistema;ilvaloresi incrementadiunaunitogni4microsecondi.
Ilrilasciodellaconnessioneavvieneconsiderandolaconnessionefullduplexcomeuna
coppiadiconnessionisimplexindipendenti,esisvolgenelseguentemodo: quandounadelleduepartinonhapinulladatrasmettere,inviaunfin; quandoessovieneconfermato,laconnessioneinuscitavienerilasciata; quandoanchel'altrapartecompletalostessoprocedimentoerilascialaconnessione nell'altradirezione,laconnessionefullduplextermina. Perevitareilproblemadei3esercitisiusanoitimer,impostatialdoppiodellavita massimadiunpacchetto. Ilprotocollodigestionedelleconnessionisirappresentacomunementecomeuna macchinaastatifiniti.Questaunarappresentazionemoltousatanelcampodei protocolli,perchpermettedidefinire,conunacertafacilitesenzaambiguit,protocolli anchemoltocomplessi.
165
L'ideadifondolaseguente:ladimensionedellefinestrescorrevolinonstrettamente
legataagliack(comeinvecedisolitoavviene),mavienecontinuamenteadattatamediante undialogofradestinazioneesorgente. Inparticolare,quandoladestinazioneinviaunackdiconferma,diceanchequantiulteriori bytepossonoesserespediti. Nell'esempiochesegue,lepeerentitysisonopreventivamenteaccordatesuunbufferdi 4Kadestinazione. Dati Mittente Destinatario 0 vuoto 2K seq=0 ack=2048, win=2048 2K seq=2048 ack=4096 win=0 2K 4K 2K ack=4096 win=2048 1K seq=4096 4K Buffer
Lettura di 2K
1K
2K
Figura616:EsempiodicontrollodelflussoTCP
IlprotocolloTCPassumeche,segliacknontornanointempo,cisiadovutoa
congestionedellasubnetpiuttostocheaerroriditrasmissione(datochelemodernelinee ditrasmissionesonomoltoaffidabili).
166
Dunque,TCPpreparatoadaffrontareduetipidiproblemi: scarsitdibufferadestinazione; congestionedellasubnet. Ciascunodeiproblemivienegestitodaunaspecificafinestramantenutadalmittente: lafinestradelbufferdelricevitore(quelladicuiall'esempioprecedente); lacongestionwindow,cherappresentaquantosipuspediresenzacausare congestione. Ilmittentesiregolasullapipiccoladelledue. Lacongestionwindowvienegestitainquestomodo: ilvaloreinizialeparialladimensionedelmassimosegmentousatonellaconnessione; ognivoltacheunacktornaindietrointempolafinestrasiraddoppia,finoaunvalore threshold,inizialmenteparia64Kbyte,dopodichaumentalinearmentedi1segmento allavolta; quandosiverificauntimeoutperunsegmento: ilvaloredithresholdvieneimpostatoallametdelladimensionedella congestionwindow; ladimensionedellacongestionwindowvieneimpostataalladimensionedel massimosegmentousatonellaconnessione. Vediamooraunesempio,consegmentididimensione1Kbyte,thresholda32Kbytee congestionwindowarrivataa40Kbyte: Congestion window 40K, si verifica un timeout 40K
Figura617:EsempiodicontrollodellacongestioneTCP
167
168
Illivellotransportfornisceancheunprotocollononconnessoenonaffidabile,utileper
inviaredatisenzastabilireconnessioni(adesempioperapplicazioniclientserver). LoheaderdiunsegmentoUDPmoltosemplice: 32 bit Source port UDP length Destination port UDP checksum
Figura618:FormatodelloheaderUDP
169
Nelnostromodellodiarchitettura(eanchenell'architetturaTCP/IP)sopraillivello
transportc'illivelloapplication,nelqualevieneeffettivamentesvoltoillavoroutileper l'utente. Inquestolivellositrovanodiversetipologiedioggetti: protocollidisupportoatutteleapplicazioni,comeperesempioilDNS(DomainName System,RFC1034e1035); protocollidisupportoadapplicazioniditipostandardizzato,comeadesempio: SNMP(SimpleNetworkManagementProtocol,RFC1157)perlagestione dellarete; FTP(FileTransferProtocol,RFC959)periltrasferimentodifile; SMTPePOP3(SimpleMailTransferProtocol,RFC821,ePostOffice Protocol,RFC1225)perlapostaelettronica; HTTP(HyperTextTransferProtocol,RFC1945)allabasedelWorldWide Web(WWW); applicazioniscritteinconformitaiprotocollidicuisopra; applicazioniproprietarie,basatesuregoledidialogoprivate(adesempio, un'applicazioneditipoclient/serverperlagestioneremotadiunmagazzino).
7.1) Il DNS
Poichriferirsiaunarisorsa(siaessaunhostoppurel'indirizzodipostaelettronicadiun
utente)utilizzandounindirizzoIPnumerico(dellaformax.y.z.w)estremamente scomodo,sicreatounmeccanismotramiteilqualetalirisorsepossonoessereidentificate tramiteunnomelogico,ciounastringadicaratteri(moltopcomprensibileperunessere umano)qualeadesempio: sparc1.unimi.it(riferimentoadunhost); john@cern.ch(indirizzodipostaelettronica). LacorrispondenzafragliindirizziIPnumericiedinomilogicisieffettuamediantel'uso delDNS. Essoconsistedi: 1. unoschemagerarchicodinominazione,basatosulconcettodidominio(domain); 2. undatabasedistribuitocheimplementaloschemadinominazione; 3. unprotocolloperilmantenimentoeladistribuzionedelleinformazionisulle corrispondenze.
170
Ilfunzionamento,inbreve,ilseguente: quandoun'applicazionedevecollegarsiadunarisorsadicuiconosceilnomelogico(ad es.sparc1.unimi.it),inviaunarichiestaalDNSserverlocale(l'applicazionechiamaper questounaappositaproceduradilibreriadettaresolver); ilDNSserverlocale,seconoscelarisposta,lainviadirettamentealrichiedente. AltrimentiinterrogaasuavoltaunDNSserverdilivellosuperiore,ecosvia.Quando finalmentearrivalarisposta,ilDNSserverlocalelapassaalrichiedente; quandol'applicazionericevelarisposta(costituitadelnumeroIPdellarisorsain questione)creaunaconnessioneTCPconla(ospediscesegmentiUDPalla) destinazione,usandol'indirizzoIPtestricevuto. LospaziodeinomiDNSunospaziogerarchico,organizzatoindominii,ciascunodei qualipuaveredeisottodominii. Esisteuninsiemedidominiidimassimolivello(topleveldomain),ipialtinella gerarchia. Nelcasodiunhost,laformadelnomelogicocostituitadauncertonumerodi sottostringheseparatedapunti,comenell'esempioseguente: host.subdomain3.subdomain2.subdomain1.topleveldomain dove: laprimasottostringa(quellapiasinistra)identificailnomedell'host; lealtresottostringhe(trannequellapiadestra)identificanociascunaunsottodominio deldominiodicuiallasottostringaseguente; l'ultimasottostringa(quellapiadestra)identificailtopleveldomaindiappartenenza. PergliUSAsonodefiniti,fraglialtri,iseguentitopleveldomain:
171
FuoridegliUSA,ogninazionehaunsuotopleveldomain.Adesempio:
au ch fr it jp uk
ilCERNaGinevra,Svizzera ilConsiglioNazionaledelleRicerche, Italia ilMassachussettsInstituteofTechnology, USA laNASA,USA UniversitdiGinevra,Svizzera UniversitdiRoma"LaSapienza",Italia Dip.diScienzedell'Informazione, UniversitdiRoma"LaSapienza"
L'estensionediundominiodeltuttoindipendentedaquelladelleretiesottoretiIP. OgnidominiohalaresponsabilitdifornireilservizioDNSperquantodipropria competenza.Ossia,devepoterrispondereainterrogazioniriguardantituttiglihost contenutineldominiostesso. Cisiottienepredisponendounnameserver(opidiuno),cheunprocessoingradodi gestireleseguentiinformazioni: informazionidicorrispondenzafranomisimbolicieindirizziIP.Perognihostdel dominioesisteunresourcerecordchecontienetaliinformazioni;talerecorddetto authoritativerecord,inquantogestitodalDNSserverresponsabiledeldominio(che suppostoforniresempreinformazionicorretteeaggiornate); l'identitdeinameserverresponsabilideisottodominiiinclusineldominio,cosda poterinviarelorolerichiestecheglipervengonodall'altodellagerarchia; l'identitdelnameserverresponsabiledeldominiodilivelloimmediatamente superiore,cosdapotergliinviarelerichiestecheglipervengonodalbassodella gerarchia.
172
dove:
spcw.dsi.uniroma1.it 86400
IN A 151.100.17.110
Lapostaelettronicaunodeiservizipiconsolidatiedusatinellereti.InInternetin
usodacirca20anni,eprimadelWWWerasenzadubbioilserviziopiutilizzato. Unserviziodipostaelettronica,nelsuocomplesso,consentedieffettuareleseguenti operazioni: comporreunmessaggio; spedireilmessaggio(aunoopidestinatari); riceveremessaggidaaltriutenti; leggereimessaggiricevuti; stampare,memorizzare,eliminareimessaggispeditioricevuti. Dinorma,unmessaggiohaunformatobenpreciso.InInternetunmessaggiohaun formato(definitonell'RFC822)costituitodaunheaderedaunbody,separatidaunalinea vuota.
173
Ilbodycontieneiltestodelmessaggio,incaratteriASCII.L'ultimarigacontienesoloun punto,cheidentificalafinedelmessaggio. GliindirizzidipostaelettronicainInternethannolaforma: username@hostname doveusernameunastringadicarattericheidentificaildestinatario,ehostnameun nomeDNSoppureunindirizzoIP. Adesempio,bongiovanni@dsi.uniroma1.itl'indirizzodipostaelettronicadell'autoredi questedispense. LapostaelettronicavieneimplementatainInternetattraversolacooperazionediduetipi disottosistemi: MailUserAgent(MUA); MailTransportAgent(MTA). Ilprimopermetteall'utentefinaledi: comporremessaggi; consegnarliaunMTAperlatrasmissione; ricevereeleggeremessaggi; salvarlioeliminarli. Ilsecondosioccupadi: trasportareimessaggisullarete,finoallaconsegnaaunMTAdidestinazione; rispondereaiMUAdeivariutentiperconsegnarelorolapostaarrivata;inquestafase l'MTArichiedeadogniutenteunapasswordperconsentirel'accessoaimessaggi.
174
Corrispondentemente,sonodefinitidueprotocolliprincipaliperlapostaelettronica: SMTP(SimpleMailTransferProtocol,RFC821)periltrasportodeimessaggi: dalMUAdiorigineadunMTA; fravariMTA,daquellodipartenzafinoaquellodidestinazione; POP3(PostOfficeProtocolversione3,RFC1225)perlaconsegnadiunmessaggioda partediunMTAalMUAdidestinazione. Recentementesonostatiintrodottialtriprotocollipisofisticati,qualiIMAP(Interactive MailAccesProtocol,RFC1064)eDMSP(DistributedMailSystemProtocol,RFC1056),il cuisupportopernonancoramoltodiffusonelsoftwaredisponibileagliutenti. Comeavvienelatrasmissionediunmessaggio?Supponiamochel'utente
pippo@topolinia.wd
spediscaunmessaggioa
minnie@paperinia.wd
eimmaginiamoche: PippousiunMUAconfiguratoperconsegnarelapostaadunSMTPserverin esecuzionesull'hostmailer.topolinia.wd; MinnieabbiaunMUAconfiguratoperfarsiconsegnarelapostadaunPOP3serverin esecuzionesull'hostmailer.paperinia.wd. Lasequenzadiazionichehannoluogolaseguente: 1. PippocomponeilmessaggiocolsuoMUA,chetipicamenteunprogrammain esecuzionesuunPCinrete; 2. appenaPippopremeilpulsanteSEND,ilsuoMUA: interrogailDNSpersaperel'indirizzoIPdell'hostmailer.topolinia.wd; apreunaconnessioneTCPedeffettuaunaconversazioneSMTPconilserver SMTPinesecuzionesull'hostmailer.topolinia.wd,permezzodellaqualegli consegnailmessaggio; chiudelaconnessioneTCP; 3. Pipposenevaperifattisuoi; 4. ilserverSMTPdimailer.topolinia.wd: chiedealDNSl'indirizzoIPdipaperinia.wd; scoprechequellodell'hostmailer.paperinia.wd; apreunaconnessioneTCPepoiunaconversazioneSMTPconilserverSMTP inesecuzionesuquell'hostegliconsegnailmessaggioscrittodaPippo; 5. MinnielanciailsuoMUA; 6. appenaMinniepremeilpulsante"checkmail",ilsuoMUA: interrogailDNSperaverel'indirizzoIPdell'hostmailer.paperinia.wd; apreunaconnessioneTCPepoiunaconversazionePOP3colserverPOPin esecuzionesumailer.paperinia.wdeprelevailmessaggiodiPippo,cheviene mostratoaMinnie. Sinotichetopolinia.wdepaperinia.wdingenerecorrispondonoaundominionelsuo complessoenonadunsingolohost,alfinedirenderegliindirizzidipostaelettronica
175
chiunque@paperinia.wd
deveessereconsegnataall'hostmailer.paperinia.wd,ecioquellochehal'indirizzoIP
100.10.10.5
Inoltre,nondettochemailer.topolinia.wdconsegniimessagidirettamentea mailer.paperinia.wd.E'possibilechelemacchinesianoconfigurateinmododatrasferire imessaggiattraversouncertonumerodiserverSMTPintermedi. Infine,vannocitateduesignificativeestensionidifunzionalitdellapostaelettronica,in viadiprogressivadiffusione: possibilitdiinviaremessaggidipostacontenentiinformazionidiqualunquetipo(per esempioprogrammieseguibili,immagini,filmati,suoni,ecc.)attraversolostandard MIME(MultipurposeInternetMailExtension,RFC1341e1521); possibilitdiinviaremessaggicorredatidifirmadigitaleocrittografati,attraversolo standardinviadidefinizioneS/MIME(Secure/MIME,RFC1847).
176