Sei sulla pagina 1di 176

Appunti del corso di

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) IL LIVELLO UNO (FISICO)............................................................................................. 44


2.1) Basi teoriche della trasmissione dati.................................................................................................................. 44 2.1.1) Analisi di Fourier (analisi armonica)............................................................................................................. 45 2.1.2) Teorema di Nyquist........................................................................................................................................46 2.1.3) Teorema di Shannon.......................................................................................................................................47 2.2) Mezzi trasmissivi.................................................................................................................................................. 48 2.2.1) Doppino intrecciato........................................................................................................................................ 48 2.2.2) Cavo coassiale................................................................................................................................................ 49 2.2.3) Fibre ottiche....................................................................................................................................................50 2.2.4) Trasmissione senza fili................................................................................................................................... 52 2.3) Il sistema telefonico.............................................................................................................................................. 53 2.3.1) Struttura generale........................................................................................................................................... 53 2.3.2) Il local loop.....................................................................................................................................................55 2.3.3) Trunk e multiplexing......................................................................................................................................57
1

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

3) IL LIVELLO DUE (DATA LINK)...................................................................................... 65


3.1) Framing................................................................................................................................................................. 67 3.1.1) Conteggio....................................................................................................................................................... 67 3.1.2) Caratteri di inizio e fine..................................................................................................................................67 3.1.3) Bit pattern di inizio e fine...............................................................................................................................68 3.1.4) Violazioni della codifica................................................................................................................................ 68 3.2) Rilevamento e correzione errori......................................................................................................................... 69 3.2.1) Codici per la correzione degli errori.............................................................................................................. 69 3.2.2) Codici per il rilevamento degli errori.............................................................................................................71 3.3) Gestione sequenza di trasmissione e flusso........................................................................................................73 3.3.1) Protocollo 1: Heaven......................................................................................................................................75 3.3.2) Protocollo 2: Simplex Stop and Wait.............................................................................................................76 3.3.3) Protocollo 3: simplex per canale rumoroso................................................................................................... 77 3.3.4) Protocolli a finestra scorrevole.......................................................................................................................84 3.4) Esempi di protocolli data link.............................................................................................................................89 3.4.1) HDLC (High Level Data Link Control).........................................................................................................89 3.4.2) SLIP (Serial Line IP)......................................................................................................................................90 3.4.3) PPP (Point to Point Protocol).........................................................................................................................90

4) IL SOTTOLIVELLO MAC (MEDIUM ACCESS CONTROL).......................................... 92


4.1) Protocollo ALOHA.............................................................................................................................................. 93 4.2) Protocolli CSMA (Carrier Sense Multiple Access)...........................................................................................96 4.3) Protocolli CSMA/CD (CSMA with Collision Detection)..................................................................................97 4.4) Le reti ad anello....................................................................................................................................................99 4.5) Lo standard IEEE 802....................................................................................................................................... 101 4.5.1) IEEE 802.3................................................................................................................................................... 102 4.5.1.1) Cablaggio..............................................................................................................................................102 4.5.1.2) Codifica dei dati................................................................................................................................... 105 4.5.1.3) Protocollo MAC 802.3......................................................................................................................... 105 4.5.1.4) Funzionamento di 802.3....................................................................................................................... 107 4.5.1.5) Prestazioni............................................................................................................................................ 107 4.5.1.6) Fast Ethernet.........................................................................................................................................108 4.5.2) IEEE 802.5................................................................................................................................................... 109 4.5.2.1) Cablaggio..............................................................................................................................................109 4.5.2.2) Codifica dei dati................................................................................................................................... 110 4.5.2.3) Protocollo MAC 802.5......................................................................................................................... 110 4.5.2.4) Funzionamento di 802.5....................................................................................................................... 112 4.5.3) Confronto fra 802.3 ed 802.5....................................................................................................................... 113 4.5.4) IEEE 802.2................................................................................................................................................... 113 4.6) Il bridge............................................................................................................................................................... 114 4.6.1) Standard IEEE per i bridge.......................................................................................................................... 116

5) IL LIVELLO TRE (NETWORK)..................................................................................... 118


2

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

6) IL LIVELLO QUATTRO (TRANSPORT)....................................................................... 148


6.1) Protocolli di livello transport............................................................................................................................ 150 6.2) Indirizzamento................................................................................................................................................... 150 6.3) Attivazione della connessione............................................................................................................................151 6.4) Rilascio di una connessione............................................................................................................................... 153 6.5) Controllo di flusso e buffering.......................................................................................................................... 158 6.6) Multiplexing........................................................................................................................................................160 6.7) Il livello transport in Internet........................................................................................................................... 161 6.7.1) Indirizzamento..............................................................................................................................................161 6.7.2) Il protocollo TCP..........................................................................................................................................162 6.7.3) Attivazione della connessione......................................................................................................................164 6.7.4) Rilascio della connessione........................................................................................................................... 165 6.7.5) Politica di trasmissione................................................................................................................................ 166 6.7.6) Controllo congestione.................................................................................................................................. 166 6.7.7) Il protocollo UDP......................................................................................................................................... 169

7) IL LIVELLO CINQUE (APPLICATION)........................................................................ 170


7.1) Il DNS.................................................................................................................................................................. 170 7.2) La posta elettronica............................................................................................................................................173

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.

1.1) Usi delle reti di elaboratori

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).

1.2) Aspetti hardware delle reti

Dueparametrisonoutiliperdefinirelecaratteristichediunarete,anchesenonesisteuna
tassonomiauniversalmenteaccettata: tecnologiatrasmissiva; scaladimensionale.

1.2.1) Tecnologia trasmissiva

Cisonoduetipologieperquantoriguardalatecnologiatrasmissiva:
retibroadcast; retipuntoapunto.

Leretibroadcastsonodotatediununico"canale"dicomunicazionechecondivisoda tuttiglielaboratori.Brevimessaggi(spessochiamatipacchetti)inviatidaunelaboratore sonoricevutidatuttiglialtrielaboratori.Unindirizzoall'internodelpacchettospecificail destinatario.


Elaboratori

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

Perarrivaredallasorgentealladestinazione,unpacchettopudoverattraversareunoo pielaboratoriintermedi.Spessoesistonopicamminialternativi,percuiglialgoritmidi instradamento(routing)hannounruolomoltoimportante. Ingenerale(maconmolteeccezioni): leretigeograficamentelocalizzatetendonoadesserebroadcast; leretigeograficamentemoltoestesetendonoadesserepuntoapunto. Alcuneeccezioni: retegeograficarealizzataviasatellite(equindibroadcast); retelocalebasatasuATM(equindipuntoapunto).

1.2.2) Scala dimensionale

Uncriterioalternativodiclassificazionelascaladimensionaledellereti.Inquesto
contestosidistinguefraretilocali,retimetropolitaneeretigeografiche.

Distanzafraprocessori 10m. 100m. 1km. 10km. 100km. 1000km. 10.000km.

Ambito Stanza Edificio Campus Citt Nazione Continente Pianeta

Tipodirete Retelocale Retelocale Retelocale Retemetropolitana Retegeografica Retegeografica Internet (Retegeografica)

Ladistanzaunfattoremoltoimportante,poichadifferentiscaledimensionalisiusano differentitecniche.

1.2.3) Reti locali

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.

1.2.4) Reti metropolitane

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

Head end Flusso

Figura15:DistributedQueueDualBus

Ognibus(cavocoassialeofibraottica)e'unidirezionale,edhaunaheadendchecadenza l'attivita'ditrasmissione.

1.2.5) Reti geografiche

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

WAN Router Host Subnet

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

Figura17:topologiediinterconnessione Un'altrapossibilitunaWANbasatasusatelliteoppureradioalsuolo. Satellite:ogniroutersentel'outputdelsatelliteesifasentiredalsatellite.Dunque,in generalesiha: broadcastdownlink(ciodalsatelliteaterra); broadcastuplink(ciodaterraalsatellite)seirouterpossono"sentire"quelli vicini,pointtopointaltrimenti.


Satellite

Uplink beam Downlink beam

Router + antenna

Router + antenna

Figura18:interconnessionedirouterviasatellite

13

Radioalsuolo:ogniroutersentel'outputdeiproprivicini(entrounacertadistanza massima): anchequisiamoinpresenzadiunaretebroadcast.

Ador rds ne raic eu e e a e pt a l gl

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.

1.2.6) Interconnessione di reti (Internetwork)

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

Router multiprotocollo (gateway)

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

1.3) Aspetti software delle reti

Leprimeretifuronoprogettatecominciandodall'hardwareesviluppandoilsoftwaresolo
successivamente,quasicomeseessofosseun'accessoriaappendicedell'hardware. Questoapprocciononfunzionapi.IlSWdireteoggialtamentestrutturato. Esaminiamoora,agrandilinee,talestrutturazione,cheservirdaguidaperl'interocorso esullaqualetorneremospesso.

1.3.1) Gerarchie di protocollo

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

1.3.2) Architettura di rete

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.

1.3.3) Funzionamento del software di rete

Percomprendereimeccanismibasilaridifunzionamentodelsoftwarediretesipu
pensareallaseguenteanalogiaumana,nellaqualeunfilosofoindianovuoleconversare conunostregoneafricano: Dialogo sui massimi sistemi

Filosofo ind (parla solo industano)

Stregone africano (parla solo swahili)

Traduttore

Uso della lingua inglese

Traduttore

Segretaria

Uso del fax

Segretaria

Mezzo fisico
19

Figura113:Dialogofragrandimenti Nelcasodellereti,lacomunicazionefraledueentitdilivellosuperioreavvieneconuna modalitche,almenoinlineadiprincipio,ugualeintuttelearchitetturedirete: HOST 1


M

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;

4. illivello4consegnailrisultatoallivello3; 5. illivello3putrovarsinellanecessitdiframmentareidatidatrasmettereinunitpi piccole,(pacchetti)aciascunadellequaliaggiungeilsuoheader; 6. illivello3passaipacchettiallivello2;


20

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.

1.3.4) Interfacce e servizi

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 (n -1) - SAP Interfaccia fra i liv. n e (n - 1)

Entit di liv. n - 1

Figura115:Livelliadiacentieserviceaccesspoint

Analogiacoltelefono: SAP:presaamurodeltelefono; SAPaddress:numerotelefonicocheidentificaquellapresa.


21

L'informazionepassatadallivellonallivello(n1),attraversoil(n1)SAP,sidicePDU (ProtocolDataUnit)dilivellon,onPDU. Essa,entrandonellivello(n1),diventaunaSDU(ServiceDataUnit)dilivello(n1),o(n 1)SDU. Entroillivello(n1)vieneaggiuntaalla(n1)SDUunaPCI(ProtocolControl Information)dilivello(n1). Iltuttodiventauna(n1)PDU,cheverrpassataallivello(n2)attraversoun(n2)SAP.

n - PDU Interfaccia fra i liv. n e (n - 1)

(n-1) - SAP

(n - 1) - PCI

(n - 1) - SDU

(n - 1) - PDU Interfaccia fra i liv. (n - 1) e (n - 2)

(n - 2) - SAP

Figura116:Passaggiodell'informazionefralivelli

NomispessousatiperiPDU: segmento(oTPDU,TransportPDU)alivellotransport pacchetto(packet)alivellonetwork trama(frame)alivellodatalink NomeperilPCI: busta

22

1.3.5) Servizi connection-oriented e connectionless

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)

Serviziconnectionless Iserviziconnectionlesssonomodellatisecondoilsistemapostale:ogniletteraviaggia indipendentementedallealtre;arrivaquandoarriva,eforsenonarriva.Inoltre,duelettere conugualemittenteedestinatariopossonoviaggiareperstradediverse. Analogamente,inunservizioconnectionless,ipacchetti(PDU)viaggiano indipendentementegliunidaglialtri,possonoprenderestradediverseedarrivarein ordinediversodaquellodipartenzaononarrivareaffatto. Lafaseunasola: inviodelpacchetto(corrispondeall'immissionedellaletteranellabuca).

24

1.3.6) Affidabilit del servizio

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

1.3.7) Primitive di definizione del servizio

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()

Significato sichiedealserviziodifarequalcosa sivieneavvertiti,dalservizio,diqualcheevento sivuolerispondereadunevento larispostachesiattendevaarrivata

PerstabilireunaconnessionefralepeerentityAaBsiavrche:

Entity A B B A

Azione inviauna
connect.request()

Flussoinformazione dalivellon alivello(n1) dalivello(n1) alivellon dalivellon alivello(n1) dalivello(n1) alivellon

Significato Adesideraconnettersi qualcunovuole connettersi Baccetta(oppureno) Bhaaccettato(ono)

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

5 HOST 2 6 Si scambiano dati (non confermato) 8 Si termina la connessione (non confermato)

Si stabilisce la connessione (confermato)

Figura118:Esempiodiattivazione,usoerilasciodiunaconnessione

1.3.8) Servizi vs. protocolli

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.

1.3.9) Aspetti di progetto dei livelli

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:

4. Meccanismiperilmantenimento(olaricostruzione)dell'ordineoriginariodeidati. 5. Meccanismiperregolarelevelocitdisorgenteedestinazione. 6. Decisionisulladimensione(minimaomassima)deimessaggidainviare,esucome eventualmenteframmentarli. 7. Meccanismidimultiplexingdivarie"conversazioni"sudiun'unicaconnessione(se stabilirelaconnessionecostoso). 8. Meccanismidiroutingdeimessaggiseesistonopistradealternative,ed eventualmentedisuddivisionediuna"conversazione"supiconnessioni contemporaneamente(peraumentarelavelocitditrasferimentodeidati).

1.4) La realt nel mondo delle reti

Iniziamoadesaminaredueimportantirealtnelmondodellereti:
1. OSIReferenceModel; 2. InternetProtocolSuite(dettaanchearchitetturaTCP/IPo,piuttostoimpropriamente, TCP/IPreferencemodel). Unmodellodiriferimentocosadiversadaun'architetturadirete:

29

Modellodiriferimento

definisceilnumero,lerelazionielecaratteristiche funzionalideilivelli,manondefinisceiprotocolli effettivi definisce,livelloperlivello,iprotocollieffettivi

Architetturadirete 1.4.1) Modello OSI

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

Application protocol 7 Application Application

Presentation

Presentation protocol

Presentation

Session

Session protocol

Session

Transport

Application protocol Subnet di comunicazione

Transport

Network

Network

Network

Network

Data Link

Data Link

Data Link

Data Link

Fisico

Fisico

Fisico

Fisico

HOST 1

ROUTER

ROUTER

HOST 2

Protocolli host - router

Protocolli router - router

Protocolli host - router

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);

regolazionedeltraffico(perimpedirecheilriceventesia"sommerso"didati); meccanismiperl'inviodegliack: frameseparati(chepercompetonocolregolaretrafficonellastessa direzione); piggybacking(dapickaback,ciotrasportaresullespalle).

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);

gestionedellacongestione:avoltetroppipacchettiarrivanoadunrouter(es.:damolte lineeiningressoadununicalineadiuscita); accounting:glioperatoridellaretepossonofarpagarel'usoagliutentisullabasedel trafficogenerato; conversionedidatinelpassaggiofraunareteedun'altra(diversa): indirizzidarimappare; pacchettidaframmentare; protocollidiversidagestire.

LivelloTransport Loscopodiquestolivelloaccettaredatidallivellosuperiore,spezzettarliinpacchetti, passarliallivellonetworkedassicurarsichearrivinoallapeerentitychesitrovaall'altra estremitdellaconnessione.Inpi,fareciefficientemente,isolandoilivellisuperioridai cambiamentidellatecnologiadiretesottostante.

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

transferimentofile; postaelettronica. Attraversol'usodiquestiprotocollisipossonoscrivereapplicazionicheoffronoi suddettiserviziagliutentifinali.

1.4.2) Internet Protocol Suite

La"madredituttelereti"fuArpanet,originatadaunprogettodiricercafinanziatodal
DoD(DepartmentofDefense)americano.Loscopoeracreareunareteestremamente affidabileancheincasodicatastrofi(oeventibellici)cheneeliminasserounaparte. Arpanet,attraversovarieevoluzioni,hadatoorigineallaattualeInternet.

Nelcorsodellosviluppo,perintegrareviaviatipidiversidireti,sividelanecessitdiuna nuovaarchitettura,miratafindall'inizioaconsentirel'interconnessionedimolteplicireti (internetwork). L'architetturadivenne,pitardi,notacoinomidiInternetProtocolSuite,architettura TCP/IPeTCP/IPreferencemodel,dalnomedeisuoidueprotocolliprincipali.Essanon unmodellonelsensostrettodeltermine,inquantoincludeiprotocollieffettivi,chesono specificatipermezzodidocumentidettiRFC(RequestForComments). IlivelliTCP/IPhannoquestarelazioneconquelliOSI:


OSI Application Presentation Session Tranport Network Data Link Fisico Host - to - Network Transport Internet Tcp/Ip Application

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:terminalevirtuale; FTP(FileTransferProtocol):filetransfer; SMTP(SimpleMailTransferProtocol)ePOP(PostOfficeProtocol):postaelettronica. Successivamentesenesonoaggiuntialtri,fracui: DNS(DomainNameService):mappingfranomidihosteindirizziIPnumerici; NNTP(NetworkNewsTransferProtocol):trasferimentodiarticoliperinewsgroup; HTTP(HyperTextTransferProtocol):allabasedelWordWideWeb. Ivariprotocollinell'architetturaTCP/IPsicollocanocomesegue:

Application Transport Internet Host -to - Network

Telnet

Ftp

Smtp Tcp

Http

Nntp Udp

ecc.

IP Vari standard per LAN, WAN e MAN

Figura123:Relazionefrailivellieiprotocollidell'architetturaTCP/IP

1.4.3) Confronto fra modello di riferimento OSI e architettura TCP/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

Inconclusione: OSIottimocomemodello,mentreisuoiprotocollihannoavutopocosuccesso; TCP/IPottima(perora)comearchitetturadirete,mainutilecomemodello. NelrestodelcorsociconcentreremosuunmodellodiriferimentoOSImodificato:

Application Transport Network Data Link Fisico

Figura124:IlmodelloOSImodificato

1.4.4) Esempi di architetture di rete

Netware(Novell)
E'l'architetturadiretepidiffusanelmondoPC.E'precedenteaOSI,eassomigliamoltoa TCP/IP.

Application Transport Network Data Link Fisico

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 Host - Host

Protocollo Host - IMP

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

1.4.5) Autorit nel mondo degli standard

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

2) Il livello uno (Fisico)

Inquestocapitoloverrannoillustratigliaspettiprincipalidellivellofisico,che

riguardano: lateoriadellatrasmissionedelleinformazioni,percapirequalisonoilimiti fondamentaliimpostidamadrenatura; lecaratteristichedeimezzitrasmissivipicomuni; lecaratteristichedelsistematelefonico.

2.1) Basi teoriche della trasmissione dati

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.

2.1.1) Analisi di Fourier (analisi armonica)

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

1/T 2/T 3/T ...

n/T

Figura21:Unsegnaleeilsuospettrodifrequenze

Qualunquesegnaledunquecaratterizzatodaunintervallodifrequenzenelqualesono compreselefrequenzedellesinusoidichelodescrivono.Essovasottoilnomedibandadi frequenza(frequencyband)delsegnale. Diversifattoriinfluenzanolecaratteristichedellabanda:


45

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.

2.1.2) Teorema di Nyquist

Nyquist(1924)hadimostratocheunsegnaleanalogicodibandah(da0adhHz)pu
esserecompletamentericostruitomedianteunacampionaturaeffettuata2hvolteal secondo.Dunqueesso"convoglia"unaquantitdiinformazionerappresentabileconun numerodibitparia 2h*(logaritmoinbase2delnumerodipossibilivaloridelsegnale) perognisecondo. Unaconseguenzaditaleteoremacheilmassimodatarate(dettoanche,conuntermine nondeltuttoappropriato,velocitditrasmissione)diuncanaledicomunicazionedotato
46

diunabandapassanteda0HzadhHz(passabassodibandah)chetrasportaunsegnale consistentediVlivellidiscreti: massimodatarate(bit/sec.)=2hlog2V Questorisultatoimplicacheunsegnalebinariononvaoltrei6kpbssuunalineadibanda passanteparia3kHz.Comevedremo,imodemvelocisfruttanounsegnaleconun numeroVdilivellipiuttostoelevatoperriuscireatrasmettere,suunalineafunzionante adxbaud,pidixbit/sec.(ilterminebaudindicalavelocitdisegnalazionediunalinea, ossiaquantevoltealsecondoessaingradodicambiarevalore).

2.1.3) Teorema di Shannon

IlteoremadiNyquistvalidopercanalitotalmenteprivididisturbi(ilchepurtropponon
realistico).PerglialtricasivaleilteoremadiShannon(1948),checonsiderale caratteristichediuncanalerumoroso. Primadiesporreilteoremanecessariochiarireilconcettodirapportosegnale/rumore (signaltonoiseratio,S/N):essoilrapportofralapotenzadelsegnaleequelladel rumore.Simisuraindecibel(dB),checresconocome10log10(S/N).Latabellaseguente riportaalcunivaloriesemplificativi.

RapportoS/N 2 10 100 1.000

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

aparitdimezzoutilizzato,tantopicortoilcanaleditrasmissionetantopi altoilnumerodibit/secondoraggiungibile(attenuazioniesfasamentirestano accettabili); latrasmissionedigitalepicriticadiquellaanalogica(generafrequenzepialte), mapuesserepifacilmente"rigenerata"lungoilpercorso(sufficientedistinguere frapochivaloriperripristinareilsegnaleoriginario;nellatrasmissioneanalogicaogni amplificazioneintroducedistorsione,chesisommaaquelladeglistadiprecedenti).

2.2) Mezzi trasmissivi

2.2.1) Doppino intrecciato

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

2.2.2) Cavo coassiale

E'unaltrocomunemezzoditrasmissione;offreunmigliorisolamentorispettoal

doppinoequindiconsentevelocitditrasmissionemaggiorisudistanzesuperiori. Ecostituitodaunconduttorecentraleinramecircondatodaunostratoisolanteall'esterno delqualeviunacalzametallica. Conduttore di rame Strato isolante

Rivestimento esterno Calza metallica Figura22:Sezionediuncavocoassiale

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

300 MHz Figura23:Multiplazionedipitrasmissionisuununicocanale

Tecnicamente,ilcavobroadbandinferioreabasebandperlatrasmissionedigitale,maha ilvantaggiodiesseregiinoperaingrandiquantit(TVviacavo).Dunque,attraverso essa,lecompagniepayTVprevedibilmenteentrerannoincompetizioneconquelle telefonicheperl'offertadiservizitrasmissionedati.

2.2.3) Fibre ottiche

Sonounodeimezzipirecenti,estannorivoluzionandoilmondodelle

telecomunicazioni.Sonofattediunsottilissimocilindrocentraleinvetro,(core)circondato daunostratoesterno(cladding)divetroaventeundiversoindicedirifrazioneedauna guainaprotettiva.Sonoquindiraggruppateinsiemeinunaguainacontenitriceesterna. Rivestimento Core Cladding

Guaina esterna Figura24:Sezionediuncavocontenentefibreottiche

Lefibreottichesfruttanoilprincipiodelladeviazionecheunraggiodilucesubisce quandoattraversailconfinefraduematerialidiversi(coreecladdingnelcasodellefibre). Ladeviazionedipendedagliindicidirifrazionedeiduemateriali.Oltreuncertoangolo,il raggiorimaneintrappolatoall'internodelmateriale.


50

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).

2.2.4) Trasmissione senza fili

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

2.3) Il sistema telefonico

Ilsistematelefonicorivesteunruolocentraleperlecomunicazioniadistanzafra

computer,pervarimotivi: sarebbeproibitivointerminidicosticonnettere,conappositicavi,apparecchiature distanticentinaiadikmopi; illegale,praticamenteintuttiipaesi,stenderecavisulsuolopubblico. Purtroppoilsistematelefonico,oretepubblicatelefonicacommutata,natoesievoluto infunzionedelleesigenzedellafonia,ancheserecentementestadiventandosemprepi adattoaltrafficodati,grazieainuovimezzitrasmissiviqualilefibreottiche. Atitolodiesempio,siconsiderilaseguentetabella:

Cavofra2computer Lineatelefonica

Datarate 107108bps 104105bps

Tassodierrore 1su10121013 1su105

Ossia,visono11ordinidigrandezzadidifferenza:lastessadifferenzachec'trailcosto delProgettoApolloequellodiunbigliettodell'autobus.

2.3.1) Struttura generale

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.

2.3.2) Il local loop

Ricordiamocheillocallooptrasportaunsegnaleanalogicoconunalarghezzadibandadi
3kHz(03kHz).Dunque,pertrasmetteredatidigitali,essidevonoesseretrasformatiin analogicidaun'apparecchiodettomodem.Quindivengonoritrasformatiindigitalinella centralinadicommutazionedaunapparecchiodettocodec,(cosachesuccedeanchealle conversazionitelefoniche),equindisubisconoleconversioniinversesullocalloopdi destinazione. Modem Codec

Local loop Trunk

Digitale Analogico

Digitale

Digitale Analogico

Digitale

Figura28:Trasmissionedatisullocalloop

Ovviamentecinonl'ideale,mabisognaaccontentarsi. Ricordiamoche: lelineeditrasmissioneinduconoattenuazioneedistorsione(edinpi, specialmentesullocalloop,sonosoggetteadisturbi); latrasmissionedigitalegeneraondequadre,chehannoun'ampiospettrodi frequenze.


55

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.

2.3.3) Trunk e multiplexing

Comeabbiamogivisto,itrunk(cioleconnessionifraunacentraleel'altra)sono

realizzaticonmezzitrasmissiviqualicavicoassiali,fibreottiche,cheoffronounabanda passantemoltoampiaedunbassissimotassod'errore. Suessidevonopoteressereconvogliatecontemporaneamentemolteconversazioni indipendenti(e/omoltetrasmissionididati).


57

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 1 0 Hz ... 60 kHz 64 kHz

ch 2 68 kHz

ch 3 72 kHz

ch 3 0 Hz 4 kHz Figura29:FDM

UnostandardCCITTprevedeilmultiplexingdi12canalida4kHznellabanda60108 kHz.Cicostituisceungroup.Moltesociettelefonicheoffronounservizioditrasmissione dati,avelocittrai48ei56Kbps,basatosuungruppo. Cinquegroup(60canali)formanounsupergroup,cinquesupergroup(300canali)formano ununmastergroup.Sonodefinitiglistandardfinoa230.000canali. UnavariantediFDMperlefibreotticheilWavelengthDivisionMultiplexing(WDM).Si lavorainbaseallelunghezzed'onda,inversamenteproporzionaliallefrequenze.


58

ConcettualmenteanalogoaFDM.Dalpuntodivistarealizzativosivarialalunghezza d'ondadelraggioluminoso.Cisifacondeisintonizzatoriottici,basatisugli interferometriFarbryPerotoMachZehnder. Timedivisionmultiplexing FDMadattoallagestionedisegnalianalogicierichiedecircuiteriaanalogica.Di conseguenzapocoadattoallagestionedidatidigitaliqualiquelliprodottidaicomputer. TDMinveceidealeperlagestionedidatiinformadigitale.L'ideasemplice:ibit provenientidadiverseconnessionivengonoprelevatiaturnodaciascunadiesseed inviatisuun'unicaconnessioneadaltavelocit:


t a4 b4 c4 d4 a3 b3 c3 d3 a2 b2 c2 d2 a1 b1 c1 d1 ... d2 c2

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

OvviamenteTDMpuessereriapplicato,percuisihannoleseguentigerarchie(dette plesiocrone,dalgrecoplesiochesignificavicino:nondettocheilclockdidueflussi nominalmenteugualisiaperfettamenteidentico).

Carrier T2 T3 T4 E2 E3 E4 E5

Caratteristiche 4canaliT1 6canaliT2 7canaliT3 4canaliE1 4canaliE2 4canaliE3 4canaliE4

Velocit 6.312Mbps 44.736Mbps 274.176Mbps 8.848Mbps 34.304Mbps 139.264Mbps 565.148Mbps

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

L'unitbaseunbloccodi810byteemessoogni125microsecondi.Questaunitdefinisce ilcanalefondamentalediSONET,chesichiamaSTS1(SynchronousTransportSignal1). Essohaunavelocitdi810*8*8.000bps,cio51.84Mbps. VarilivellidellagerarchiaSONET/SDHsonostatidefiniti:

SONET STS1 STS3 STS9 STS12 STS18 STS24 STS36 STS45

SDH

Mbps 51.84 155.52 466.52 622.08 933.12 1244.16 1866.24 2488.32

STM1 STM3 STM4 STM6 STM8 STM12 STM16

ATMhalavelocitdi155MbpsperchsipensaditrasportarelecelleATMsuOC3, l'analogosufibraotticadiSTS3oSTM1. IllivellofisicodiSONETdivisoinquattrosottolivelli: sottolivelloPhotonic:specificacaratteristichedellafibraedellalucedausare; sottolivelloSection:sioccupadelmultiplexing/demultiplexingdiflussimultipli; haachefare,adesempio,sulcomeequantiflussicombinare; sottolivelloLine:sioccupadigestireuncollegamentopuntoapuntoinfibraottica: generaunframedaunaparteeloelaboradall'altra; sottolivelloPath:sioccupadegliaspettiendtoenddellacomunicazione.

61

blocco STS-n luce Path Line Section Photonic Source Section Line Path Repeater Section frame

end-to-end

Mux Section Line

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

2.3.6) Dispositivi di commutazione

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.

2.3.7) Servizi per trasmissione dati

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

propriasubnetnonpiattraversoilricorsoalineededicate,ma"simulandole" attraversol'affittoditaliserviziditrasmissionedati.Ipiimportanti,periquali esistonodeglistandard,sono: FrameRelay; ISDN(IntegratedServicesDigitalNetwork); SMDS(SwitchedMultimegabitDataService); ATM(AsynchronousTransferMode).

64

3) Il livello due (Data Link)

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

seessougualeaquellocontenutonelframequestovieneaccettato, altrimentivieneconsideratoerratoequindiscartato. Dunque,laprimacosa(pidifficilediquantosembri)dicuioccuparsi,comedelimitare unsingoloframe.

3.1) Framing

E'rischiosousarelospaziotemporalecheintercorretraiframeperdelimitarli,perch

nelleretiingenerenoncisonogaranzieditemporizzazione.Quindi,sidevonousaredegli appositimarcatoriperdesignarel'inizioelafinedeiframe. Cisonovarimetodi: conteggiodeicaratteri; caratteridiinizioefine,concharacterstuffing; bitpatterndiinizioefine,conbitstuffing; violazionidellacodificadeibitusatanellivellofisico.

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

Sedurantelatrasmissionesirovinailcampodelframechecontieneilconteggio,diventa praticamenteimpossibileritrovarel'iniziodelprossimoframeediconseguenzaanche quellodeisuccessivi.Acausadellasuascarsaaffidabilitquestometodousatoormai pochissimo.

3.1.2) Caratteri di inizio e fine

OgniframeiniziaefinisceconunaparticolarelasequenzadicaratteriASCII.
Unasceltadiffusalaseguente: inizioframe: DLE(DataLinkEscape),STX(StartofTeXt) fineframe: DLE,ETX(EndofTeXt)
67

Inquestomodo,seladestinazioneperdetracciadeiconfinidiunframelariacquista all'arrivodellaprossimacoppiaDLE,STXeDLE,ETX. Esisteperunproblema:nellatrasmissionedidatibinari,ilbytecorrispondentealla codificadiDLEpuappariredentroilframe,imbrogliandolecose. Perevitarequestaevenienza,illivelloduesorgenteaggiungedavantiatalebyteunaltro DLE,percuiinarrivosoloisingoliDLEsegnanoiconfinideiframe.Naturalmente,il livelloduedidestinazionerimuoveiDLEaggiuntidentroaidatiprimadiconsegnarlial livellotre.Questatecnicasichiamacharacterstuffing.

3.1.3) Bit pattern di inizio e fine

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.

3.1.4) Violazioni della codifica

Inmoltereti(sopratuttoLAN)sicodificanoibitallivellofisicoconunacertaridondanza.
Adesempio: ilvalore1diunbitdidaticodificatoconlacoppiahigh/lowdibitfisici; ilvalore0diunbitdidaticodificatoconlacoppialow/highdibitfisici.

Lecoppielow/lowedhigh/highnonsonoutilizzate.Codifichecomequesta(Manchester encoding,usatainIEEE802.3)hannoloscopodiconsentireunafaciledeterminazionedei
68

confinidiunbitdati,poichessohasempreunatrasmissionenelmezzo(percivuole unabandwidthdoppiapertrasmetterloaparitdivelocit). Lecoppiehigh/highelow/lowpossonoquindiessereusateperdelimitareiframe.

3.2) Rilevamento e correzione errori

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).

3.2.1) Codici per la correzione degli errori

Normalmente,unframe(aparteidelimitatori)consistedi
n=m+r bit,dove: mbitcostituisconoilmessaggioveroeproprio; rbitsonoridondanti,esonodettireduntantbit(ocheckbit). Unasequenzadinbitfattaintalmodosidicecodeword,oparoladicodice. Dateduequalunqueparoledicodice,ades.:
1000 1001 1011 0001

possibiledeterminareilnumerodibitcheinessedifferiscono(trenell'esempio)tramite unsempliceXORfattobitabit. TalenumerosidiceladistanzadiHammingdelleduecodeword(Hamming,1956).Sedue codewordhannounadistanzadiHammingugualead,civoglionoesattamentederrorisu singolibitpertrasformarel'unanell'altra.


69

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

Questocodice,dettocodicediparit(paritycode)hadistanzadiHammingugualeadue, edunqueingradodirilevaresingolierrori.Infatti,unsingoloerroreproduceunnumero disparidi1equindiuncodewordnonvalido.

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.

3.2.2) Codici per il rilevamento degli errori

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.

3.3) Gestione sequenza di trasmissione e flusso

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

seq ack info

controllo,ecc.) contieneilnumeroprogressivodelframe contieneinformazionilegateall'acknowledgement contieneunpacchettodilivellonetworkcompleto(comprendente quindileinformazionidicontrolloditalelivello).

Naturalmente,ivarialgoritmiuserannoviaviaunnumeromaggioreditaliinformazioni.

3.3.1) Protocollo 1: Heaven

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).

3.3.2) Protocollo 2: Simplex Stop and Wait

Rilasciamol'ipotesi(pocorealistica)cheesistaunbufferinfinitonelricevitore.Tuttele

altrerimangono,inclusoilfattocheiltrafficodativiaggiainunasoladirezione.Lanovit cheilmittentedeveessereopportunamenterallentato.Cipernonsipufarecon ritardiprefissati:sarebbetroppogravoso,perchquestidovrebberoesserecalibratisul casopessimo,chenonsempresiverificher. Lasoluzioneconsistenell'invio,dapartedeldestinatario,diunaesplicitaautorizzazione all'inviodelprossimoframe.Questotipodiprotocolli,neiqualiilmittenteattendeunOK daldestinatario,sichiamanostopandwait. Mittente(loopinfinito):


1) attende un pacchetto dal livello network; 2) costruisce un frame dati; 3) passa il frame al livello fisico; 4) attende evento: * arriva frame di ack (vuoto): 5) torna ad 1).

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).

Sinotiche,sebbeneiltrafficodativiaggiinunasoladirezione,iframeviaggianoin entrambe,dunquecivuoleuncanalealmenohalfduplex(c'alternanzastrettanelledue direzioni).

3.3.3) Protocollo 3: simplex per canale rumoroso

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

Inassenzadierroriilfunzionamentoilseguente: Mittente Destinatario

x ack() 1

x+1 ack() 0

x+2 1 ecc. Figura32:Normalefunzionamento

80

Nelcasoincuiunframedatisiperdaosidanneggi,lasituazionelaseguente: Mittente Destinatario

x ack() 1

0 Timeout

x+1

x+1 ack() 0

x+2 1 ecc.

Figura33:Perdita(odanneggiamento)diunframe

81

Nelcasoincuiinvecesiperdaosidanneggiunframediack,lasituazionelaseguente: Mittente Destinatario

1 Timeout

x ack() 1

x ack() 0 (non passa a liv. netw.)

x+1 ack() 0

x+2 1 ecc. Figura34:Perdita(odanneggiamento)diunack

82

Unproblemaimportantelegato,comeabbiamogiaccennato,allalunghezzadel timeout.Seessotroppobreve,pusuccederequesto: Mittente Destinatario

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()

Vengono associati Vengono associati

ecc. Figura35:Timeouttropporidotto

Nell'esempio,iframedati(x+1)e(x+2)siperdono(nelsensochenonvengonoconsegnati allivellonetwork)enessunoseneaccorge.

83

D'altronde,secambiamoilprotocollomandandounframediacksoloperiframedatiche nonsonoduplicati,cisipubloccare: Mittente Destinatario

1 Timeout

x ack() 1

1 Timeout

x 0 (non passa a liv. netw.)

1 Timeout

x 0 (non passa a liv. netw.)

x 0 (non passa a liv. netw.) ecc., blocco! Figura36:Ackinviatosoloperframenonduplicati

3.3.4) Protocolli a finestra scorrevole

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 ...

Indici dentro la finestra Figura39:Finestrascorrevolesugliindicideiframe

Inquestiprotocolliillivellodatalinkhapilibertnell'ordineditrasmissione,fermo restandoche: ipacchettidevonoesserericonsegnatiallivellonetworknellostessoordinedipartenza; ilcanalefisicowirelike,cioconsegnaiframenell'ordinedipartenza. Protocolloafinestrascorrevolediunbit Inquestoprotocollosiamittentechedestinatariousanounafinestrascorrevoledi dimensioneuno.Difattoquestounprotocollostopandwait. Nonc'differenzadicomportamentoframittenteedestinatario,tutt'edueusanolostesso codice(questovaleancheperiprotocollisuccessivi).


86

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.

3.4) Esempi di protocolli data link

IprotocollidatalinkpidiffusioggisonodiscendentidelprotocolloSDLC(Synchronous
DataLinkControl),natonell'ambitodell'architetturaSNA.Nelseguitoverrannoillustrate brevementelecaratteristicheditrediffusiprotocolli:HDLC(standardISO),SLIP (architetturaTCP/IP)ePPP(suosuccessore).

3.4.1) HDLC (High Level Data Link Control)

E'unprotocollobitoriented,equindiusalatecnicadelbitstuffing.Ilformatodelframe
HDLCillustratonellafiguraseguente. Bit: 8 8 8 Control 0 Dati 16 Checksum 8 01111110

01111110 Address

Figura312:FrameHDLC

89

Icampidelframehannoleseguentifunzioni:

Address

Control Dati Checksum

utilizzatonellelineemultipunto,doveidentificaidiversiterminali (ilprotocollooffrefunzioniperildialogofraunconcentratoree diversiterminali) contienenumeridisequenza,ack,ecc. contieneidatidatrasportare calcolataconCRCCCITT

Lecaratteristichesalientisonoleseguenti: usaunafinestrascorrevoleconnumeridisequenzaa3bit,contenutidentrouncampo Seqsituatoall'internodelcampoControl; utilizzailcampoNext,anch'essocontenutoinControl,perilpiggybackingdegliack; hatretipidiframe(identificatidaiprimiduebitdiControl): Information,perlatrasmissionedati; Supervisory,percomandarediversemodalitdiritrasmissione; Unnumbered(nonhailnumerodisequenza),perfinalitdicontrollooper trasportareiltrafficodiconnessioninonaffidabili.

3.4.2) SLIP (Serial Line IP)

E'natonel1984edilpivecchioprotocollodilivellodatalinkdell'InternetProtocol
Suite. Moltosemplice,nacquepercollegareviamodemmacchineSunadInternet.Spediscesulla lineapacchettiIPterminaticolbyte0xC0.Usacharacterstuffing. Hadiverselimitazioni: nonc'controllodeglierrori; supportasoloIP,eperdipisoloindirizzistatici; nonunostandardufficialediInternet.

3.4.3) PPP (Point to Point Protocol)

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

Flag Address Control 01111110 11111111 00000011

Figura313:FramePPP

Icampidelframehannoleseguentifunzioni:

Flag Address Control Protocol Payload Checksum

comeinHDLC sempre11111111:difattononcisonoindirizzi,inquantononc'pi l'ideadigestirelineemultipunto ildefault(00000011)indicaununnumberedframe,quindirelativo adunserviziononaffidabile indicailprotocollorelativoalpacchettochesitrovanelpayload (LCP,NCP,IP,IPX,Appletalk,ecc.) dilunghezzavariabileenegoziabile,ildefault1500byte normalmentediduebyte(quattrosononegoziabili)

91

4) Il sottolivello MAC (Medium Access Control)

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.

4.1) Protocollo ALOHA

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

Collide con l'inizio del frame grigio

Frame

Collide con la fine del frame grigio

t t0 t0 + t Periodo di vulnerabilit Figura41:Ilperiododivulnerabilit t 0 + 2t t 0 + 3t

Intaleperiodovengonogeneratimediamente2Gframe.Diconseguenza,laprobabilit chenonsigenerinonuoviframepertuttoilperiododivulnerabilitdiunframe: P(0)=e2G Utilizzandotaleprobabilitnellarelazionevistasopraperilthroughput,otteniamola stimadelthroughputragggiungibilecolprotocolloPureAloha,che Throughput=Ge2G


94

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.

4.2) Protocolli CSMA (Carrier Sense Multiple Access)

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.

4.3) Protocolli CSMA/CD (CSMA with Collision Detection)

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

Ilmodelloconcettualechesiutilizzailseguente: viun'alternanzadiperiodidicontesa,ditrasmissioneediinattivit; ilperiododicontesamodellatocomeunoSlottedAlohaconslotdidurata2T:atitolo diesempio,peruncavodi1kmTvalecirca5microsecondi. Contesa Frame


ok

Contesa Frame
ok

Contesa Inattivit

Frame

ok

Frame

Collisione Non c' collisione

Collisione Non c' collisione Non c' collisione

Figura45:ModelloconcettualeperCSMA/CD

98

4.4) Le reti ad anello

Unareteadanelloconsistediunacollezionediinterfaccedirete,collegateacoppieda
lineepuntoapunto:

Stazione Linea punto a punto unidirezionale Interfaccia

Interfaccia

Interfaccia

Stazione

Stazione

Interfaccia

Stazione Figura46:Strutturadiunareteadanello

Leretiadanellohannodiverseattrattive: nonsonoretibasatesuunmezzotrasmissivobroadcast; nonc'unasignificativacomponenteanalogicaperlarilevazionedellecollisioni(che nonpossonoverificarsi); l'anellointrinsecamenteequo. Ognibitchearrivaall'interfacciacopiatoinunbufferinterno,poirigeneratoe ritrasmessosulring.Puesseremodificatoprimadiessereritrasmesso. L'interfacciadiretepuoperareinduediversemodalit,listenmodeetransmitmode:

99

Listen mode Dalla rete 1-bit delay Alla rete Dalla rete

Transmit mode 1-bit delay Alla 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

lungointalcasocirca200metri,percuipercontenere10bitunanellodovrebbeessere lungoalmeno2km. Inrealtsulringtrovanoposto: xbitsull'anello,infunzionedellasualunghezzatotale; ybitneibufferdelleinterfaccedelleystazionipresenti(1bitdelay). Indefinitiva,necessariochex+ysiamaggioredelnumerodibitdeltoken.Cisignifica che,asecondadellecaratteristichedimensionalidellareteinquestione,puessere necessarioricavareunritardoaddizionale,sottoformadibufferaggiuntivi,inuna stazione(chehaunruoloparticolare,quellodimonitordell'anello).

4.5) Lo standard IEEE 802

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.

802.2 Logical Link Control Livello data link

Sottolivello MAC

802.3 CSMA/CD (Ethernet)

802.4 Token bus

802.5 Token ring

802.6 DQDB

Livello fisico

802.3 CSMA/CD (Ethernet)

802.4 Token bus

802.5 Token ring

802.6 DQDB

Figura48:LostandardIEEE802

101

4.5.1) IEEE 802.3

E'lostandardperunprotocolloCSMA/CD,ditipo1persistent,funzionantea10Mbps.

802.3l'evoluzionedellostandardEthernet,propostodaXerox,DECeINTELsullabase dell'esperienzamaturataconAlohaprimaeneilaboratoriXeroxPARCpoi. 802.3eEthernethannoalcunedifferenze,masonolargamentecompatibili.

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

Lostandard10BaseT(twisted)prevedeilcollegamentofraunasolacoppiadi stazioni. Lalunghezzamassima100metri(150seildoppinodiclasse5). Perconnetterepididuestazioniserveunripetitoremultiporta(detto HUB).

Cavo Thick (non interrotto) Transceiver drop cable

Interfaccia di rete

Transceiver, fissato con un vampiro Stazione

Figura49:CablaggioEthernetcavoThick

Cavi Thin

Interfaccia + transceiver

Giunzione passiva aT Stazione

Figura410:CablaggioEthernettramitecavoThin

103

Stazione Stazione Stazione Stazione Stazione Stazione Stazione Stazione

Doppino

HUB Figura411:CablaggioEthernettramiteHUB

Unripetitoreundispositivocheoperaalivellouno(fisico):riceveilsegnaledaun segmento,loamplificaeloritrasmettesututtiglialtrisegmenti.Iripetitoripossonoessere usatiancheperaumentarelalunghezzacomplessivadellarete.

104

Comunque,sonoinvigoredelleregolegeneralistabilitedallostandard: lalunghezzamassimadell'interarete,fraqualunquecoppiadistazioni,nondeve superarei2,5km; fraqualunquecoppiadistazioninondevonotrovarsipidiquattroripetitori; possonoesservialmassimo1024stazionisullarete.

4.5.1.2) Codifica dei dati

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

- 0,85 V Durata del bit Durata del bit

Figura412:CodificaManchester

Fraivantaggiditalecodifica: facilitdisincronizzazioneframittenteedestinatario; ilcodicetrasmissivobilanciato,cioviugualeenergiaperlozeroeperl'uno,e quindilatrasmissionedidati,anchesegeneradiversequantitdizerieuni,non producecomponentiincorrentecontinua,moltodannoseperchostacolanola trasmissionedeisegnali; facilerilevarelecollisioni. Sinotiperchetalecodificarichiede,aparitdivelocitditrasmissione,unabanda doppiarispettoallacodificadiretta(ognibitrichiedelatrasmissionediduevaloridistinti).

4.5.1.3) Protocollo MAC 802.3

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

Lunghezzadeidati Dati Pad

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

Dunque,latrasmissionediunframenondeveduraremenodi57,6microsecondi,che sonoiltemponecessariopertrasmettere(a10Mbps)proprio72byte(ecio576bit, ciascunodeiqualivienetrasmessoinundecimodimicrosecondo).Dunque,ilframenon puesserecostituitodamenodi72byte,8deiqualisonocostituitidalpreamboloedal delimitatore,e64dalrestodelframe. Sinotichesesivuoleaumentarelavelocitdiuncertofattore,diciamo10,sideve diminuiredi10voltelalunghezzamassimaammessaperlareteoaumentaredi10voltela lunghezzaminimadelframe.Vedremonelseguitocomevienerisoltoilproblemaperil protocolloFastEthernet(100Mbps).

4.5.1.4) Funzionamento di 802.3

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

suoandamentosuunlungoperiodosimileaquellosuunbreveperiodo,ricordandoin questolecaratteristichedeifrattali. Lapraticahamostratoche802.3: pusopportareuncaricomediodel30%(3Mbps)conpicchidel60%(6Mbps); sottocaricomedio: il23%deipacchettihaunacollisione; qualchepacchettosu10.000hapidiunacollisione.

4.5.1.6) Fast Ethernet

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

4.5.2) IEEE 802.5

Nel1972IBMscelsel'anelloperlasuaarchitetturadiLAN,acuidiedeilnomediToken
Ring.Successivamente,IEEEhadefinitolostandardIEEE802.5sullabaseditale architettura. LedifferenzeprincipalisonochelareteIBMprevedevelocitdi4Mbpse16Mbps, mentre802.5prevedeoltreadesseanchelavelocitdi1Mbps.

4.5.2.1) Cablaggio

Ilcablaggiopidiffusobasatosudoppinotelefonico:
schermato(STP); nonschermato(UTP): categoria3,4o5per4Mbps; categoria4o5per16Mbps.

Normalmenteilcablaggiofattoutilizzandounwirecenter,chehalapossibilitdiisolare partidell'anelloguaste:semancacorrentesuunloboilcorrispondenterelaissichiude automaticamente. Stazione

Lobo

Relais Wire center

Figura414:Cablaggioconwirecenter
109

Ilobihannounalunghezzamassimavariabile,asecondadelcablaggioutilizzato: UTPcat.4:150metri; UTPcat.5:195metri; STP:340metri. Lestazionipossonoesserealmassimo260.

4.5.2.2) Codifica dei dati

SiusalacodificaDifferentialManchesterEncoding,definitacos:

valorezero:all'iniziodellatrasmissionedelbitsifaunatransizione; valoreuno:all'iniziodellatrasmissionedelbitnonsifaunatransizione; ametdelbitsifainentrambiicasiunatransizione. 1 da 3 a 4,5 V 0 0 1 1

ecc.

da -3 a -4,5 V Durata del bit Durata del bit Durata del bit Durata del bit Durata del bit

Figura415:CodificaDifferentialManchester

4.5.2.3) Protocollo MAC 802.5

Lastrutturadeltokenedelframedi802.5laseguente:
Byte: 1 1 1 ED Token Frame SD AC

Byte:

1 SD

1 AC

1 FC

2 opp. 6 Indirizzo destinaz.

2 opp. 6 Indirizzo sorgente


110

Da 0 Da 0 a 30 a 17.747 RI Dati

1 FS

Checksum ED

Figura416:Tokeneframe802.5

111

Icampidelframehannoleseguentifunzioni:

SD,ED

AC

Startingeendingdelimiter:contengonoall'internoduecoppiedibit codificaticonivalorihighhighelowlow,inviolazionedella codificaManchester.Siusanohighhighelowlowaccoppiatiper nonintrodurreunosbilanciamentodelcodice. Accesscontrol,serveperilcontrollodell'accesso.E'costituitodi8 bit:


PPPTMRRR

FC Indirizzi RI Dati Checksum FS

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.

4.5.2.4) Funzionamento di 802.5

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.

4.5.3) Confronto fra 802.3 ed 802.5

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.

4.5.4) IEEE 802.2

Questostandard,chiamatoLogicalLinkControl(LLC),definiscelapartesuperioredel
livellodatalinkinmodoindipendentedaivarisottolivelliMAC. Haduefunzioniprincipali: fornireallivellonetworkun'interfacciaunica,nascondendoledifferenzefraivari sottolivelliMAC; fornire,serichiestodallivellosuperiore,unserviziopisofisticatodiquelloofferto daivarisottolivelliMAC(che,ricordiamo,offronosoloservizidatagram).Essoinfatti offre:
113

servizidatagram; servizidatagramconfermati; serviziaffidabiliorientatiallaconnessione.

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

Frame MAC (es. Token ring)

Liv. fisico Figura417:BusteLLCeMAC

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

Traffico intra - LAN Figura418:InterconnessionediLANtramitebridge

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.

4.6.1) Standard IEEE per i bridge

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

5) Il livello tre (Network)

Illivellonetworkincaricatodimuovereipacchettidallasorgentefinoalladestinazione

finale,attraversandotantisistemiintermedi(router)dellasubnetdicomunicazionequanti necessario. Cimoltodiversodalcompitodellivellodatalink,chedimuovereinformazionisolo dauncapoall'altrodiunsingolocanaledicomunicazionewirelike. Leincombenzeprincipalidiquestolivellosono: conoscerelatopologiadellarete; sceglieredivoltainvoltailcamminomigliore(routing); gestireilflussodeidatielecongestioni(flowcontrolecongestioncontrol); gestireleproblematichederivantidallapresenzadipiretidiverse(internetworking). Nelprogettoenellarealizzazionedellivellonetworkdiunaarchitetturadiretesidevono prenderedecisioniimportantiinmeritoa: servizioffertiallivellotransport; organizzazioneinternadellasubnetdicomunicazione.

5.1) Servizi offerti

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.

5.2) Organizzazione interna della subnet

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

indipendentemente(equindihannotuttil'indirizzodeldestinatario)evengono rimessiinordinedallivellonetworksoloadestinazione,primadiessere consegnatiallivellosuperiore. Ognunadelledueorganizzazionidellasubnetsopravistehaisuoisupportereisuoi detrattori,anchesullabasedelleseguenticonsiderazioni:

Banda trasmissiva Spaziosuirouter

Ritardoperilsetup Ritardoperilrouting Congestione

Vulnerabilit

Subnetbasata suconnessioni Minore (piccoleID inognipacchetto) Maggiore (strutturedati pericircuitivirtuali) Presente Assente Minore (risorseallocate inanticipo) Alta

Subnet connectionless Maggiore (interoindirizzodidest. inognipacchetto) Minore

Assente Presente Maggiore (possibileinognimomento) Bassa

Dev'esserechiarocheiservizioffertisonoindipendentidallarealizzazioneinternadella subnet.E'possibileaveretuttelequattrocombinazionidiserviziooffertoe implementazionedellasubnet: serviziconnectionorientedsucircuitivirtuali; serviziconnectionlesssusubnetdatagram; serviziconnectionorientedsusubnetdatagram(sicercadifornirecomunqueun serviziorobusto); serviziconnectionlesssucircuitovirtuale(esempio:IPsusubnetATM).

5.3) Algoritmi di routing

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.

5.3.1) Il principio di ottimalit

E'possibilefareunaconsiderazionegeneralesull'ottimalitdeicammini,
indipendentementedallospecificoalgoritmoadottatoperselezionarli. Ilprincipiodiottimalitdicecheseilrouterjnelcamminoottimofraiek,alloraanche ilcamminoottimofrajeksullastessastrada:
121

Cammino ottimo fra i e k Figura51:Principiodiottimalit

Secosnonfosse,cisarebbeunaltrocammino(ades.quellotratteggiatoinfigura)frajek migliorediquellochepartedelcamminoottimofraiek,maalloracisarebbeancheun camminofraiekmigliorediquelloottimo. Unadirettaconseguenzachel'insiemedeicamminiottimidatuttiirouterauno specificorouterdidestinazionecostituisconounalbero,dettosinktreeperquelrouter. Insostanza,glialgoritmidiroutingcercanoetrovanoisinktreerelativiatuttiipossibili routerdidestinazione,equindiinstradanoipacchettiesclusivamentelungotalisinktree.

5.3.2) Algoritmi statici

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.

5.3.3) Algoritmi dinamici

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

Seoracadela lineafraAeB, dopouno scambiosuccede

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.

5.3.4) Routing gerarchico

Quandolaretecrescefinoconteneredecinedimigliaiadinodi,diventatroppogravoso
mantenereinognirouterlacompletatopologia.Ilroutingvaquindiimpostatoinmodo gerarchico,comesuccedeneisistemitelefonici. Laretevienedivisainzone(spessodetteregioni): all'internodiunaregionevalequantovistofinora,cioirouter(dettirouterinterni) sannocomearrivareatuttiglialtrirouterdellaregione; viceversa,quandounrouterinternodevespedirequalcosaaunrouterdiun'altra regionesasoltantochedevefarlopervenireaunparticolarerouterdellapropria regione,dettorouterdiconfine. ilrouterdiconfinesaaqualealtrorouterdiconfinedeveinviareidatipercharrivino allaregionedidestinazione.
127

Diconseguenza,cisoloduelivellidirouting: unprimolivellodiroutingall'internodiogniregione; unsecondolivellodiroutingfratuttiirouterdiconfine.

Regione

Router di confine

Router interni

Figura52:Routinggerarchico Irouterinternimantengononellelorotabelledirouting: unaentrataperognialtrorouterinterno,conlarelativalineadausareperarrivarci; unaentrataperognialtraregione,conl'indicazionedelrelativorouterdiconfineedella lineadausareperarrivarci. Irouterdiconfine,invece,mantengono: unaentrataperognialtraregione,conl'indicazionedelprossimorouterdiconfineda contattareedellalineadausareperarrivarci. Nondettocheduelivellisianosufficienti.Intalcasoildiscorsosiripetesupilivelli.


128

5.4) Controllo della congestione

Quandotroppipacchettisonopresentiinunapartedellasubnet,siverificauna

congestionechedegradaleprestazioni.Cidipendedalfattoche,quandounrouternon riesceagestiretuttiipacchettichegliarrivano,cominciaaperderli,ecicausadelle ritrasmissionicheaggravanoancorpilacongestione. Massima capacit della rete Situaz. ideale Pacchetti consegnati Situaz. desiderabile

Congestione

Pacchetti spediti Figura53:Effettidellacongestione

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.

5.4.1) Traffic shaping

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

Interfaccia con alg. leaky bucket

Flusso regolare Rete Figura54:Leakybucket

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.

5.4.2) Choke packet

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

Questatecnicarendemoltopiveloceilsollievodelrouterchehaperprimoiproblemidi congestione,marichiedepispaziodibufferneiroutersulpercorsodall'hostoriginarioa quelrouter.

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 OSI Rete OSI Rete OSI

Rete di router multiprotocollo (IP e OSI) Rete IP Rete IP

Pacchetti IP

Figura55:Internetworkbasatasuroutermultiprotocollo

LeretiOSIpossonoparlarefraloro,ecosquelleIP.Nellasubnetcostituitadairouter multiprotocollocircolanopacchettidientrambelearchitetture,chevengonoinstradati secondoleregoledicompetenzadell'architetturadisuifannoparte.

134

Tunneling Un'altratecnicacherisolveunproblemaanalogoiltunneling,chesiutilizzapermettere incomunicazionedueretiugualipermezzodiunaretediversa.

Rete di tipo X

Rete di tipo Y

Rete di tipo X

Tunnel

Router multiprotocollo

Figura56:Tunneling

InquestocasolareteditipoYnondotatadiroutermultiprotocollo.Invece,unrouter designatoinciascunadelledueretiditipoXmultiprotocolloeincapsulaipacchettidelle retiditipoXdentropacchettiditipoY,consegnandolipoiallareteditipoY.Sinotichein questipacchetticisonoduebustedilivellonetwork:

Rete di tipo X

Rete di tipo Y

Rete di tipo X

Header Carico rete X

Header Header Carico rete Y rete X

Header Carico rete 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).

5.5.1) Internetwork routing

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.

5.6) Il livello network in Internet

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

Cichetienetuttoinsiemeilprotocollodilivellonetworkdell'architetturaTCP/IP,e cioIP(InternetProtocol,RFC791). IPunprotocollodatagram,quindinonconnessoenonaffidabile,cheoperacomesegue:

137

riceveidatidallivellotransporteliincapsulainpacchettididimensionemassimapari a64Kbyte(normalmentecirca1.500byte); instradaipacchettisullasubnet,eventualmenteframmentandolilungoilviaggio; adestinazione: riassembla(senecessario)iframmentiinpacchetti; estraedaquestiidatidellivellotransport; consegnaallivellotransportidatinell'ordineincuisonoarrivati(chenon necessariamentequelloincuisonopartiti).

5.6.1) Lo header IP (versione 4)

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

Identification Time to live Protocol

Source address Destination address

Options

Figura59:Formatodell'headerIP

138

Icampidell'headerhannoleseguentifunzioni:

Version IHL Typeofservice Totallength Identification DF MF Fragmentoffset Timetolive

Protocol Headerchecksum

Sourceedestination address Options

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:

networknumber,cioilnumeroassegnatoallareteIP(dettanetwork)sucuisitrova l'elaboratore;inquestocontestounanetworkcaratterizzatadalfattodiessere costituitadaununicocanaledicomunicazionecuisonoconnessituttiglihostdella networkstessa(equindi,adesempio,unaLANoppureunalineapuntopuntofradue router); hostnumber,cioilnumeroassegnatoall'elaboratore.


139

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

Intalenotazione,possibilerappresentareseparatamenteilnetworknumberel'host number.Perdistinguerli,ilprimoseguitodaunpunto.Adesempio,nelcaso dell'indirizzoIPprecedente(cherelativoadunanetworkditipoB),siha: ilnetworknumber141.192.(notareilpuntofinale); l'hostnumber140.37(nonc'ilpuntofinale).

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.2 Network 150.1. Figura512:CollegamentodirouterIP

10.2 Network 150.2.

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.

Questounfattoprivatodellanetworkchevienesuddivisa,enonhabisognodiessere comunicatoall'esterno. Ilmeccanismousatodiconsiderare,nell'indirizzoIPoriginario,l'hostnumbercomeuna coppiadivalori:unsubnetnumberel'hostnumber.Ciavvienesullabasediuna mascheradibit,dettasubnetmask,chedeveessereunicapertuttalanetworkeche delimitalapartedihostnumberchevieneusatacomesubnetnumber. Adesempio,perunaretediclasseAsipotravere:


32 bit 8 a) 0 Network 8 Subnet Ampiezza variabile 8 Host 8

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

iprimiduebytedell'indirizzoidentificanolanetwork; ilterzobyteidentificalasubnet; ilquartobyteidentifical'host. Ilrisultatoilseguente: Router Host X 3 1 Linea 1 150.1.2. 2 Y 1

2 150.1.1.

Network 150.1 Subnet 2.

2 150.1.3.

Network 150.1. Subnet 1

Network 150.1. Subnet 3

Figura514:CollegamentodirouterIPmedianteusodisubnet

5.6.5) Protocolli di controllo

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).

5.6.6) Protocolli di routing

Comegidetto,InternetunacollezionediASconnessidabackboneadaltavelocit.
CichecaratterizzaunASilfattodiesseregestitodaunasingolaautorit. EsempitipicidiASsono: laretedeglientidiricercadiunanazione(reteGARRinItalia); laretediunasingolaazienda. Ilroutingcomplessivoorganizzatoinmodogerarchico: all'internodiunsingoloASsiusaunsoloInteriorGatewayProtocol(IGP); viceversa,perilroutingfragliASsiusaunExteriorGatewayProtocol(EGP).
145

InteriorGatewayProtocolperInternet IlprotocollooriginarioerailRIP(RoutingInformationProtocol,RFC1058)ditipo distancevector,ormaisostituitodaOSPF(OpenShortestPathFirst,RFC1247),chedi tipolinkstate. OSPFconsentefral'altrounroutinggerarchicoall'internodell'AS,chevienesuddivisain diversearee: backbonearea(checonnessaatuttelealtre) altrearee

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

mantiene(escambiaconglialtrirouter)nonsoloilcostoperraggiungerelealtre destinazioni,maancheilcamminocompleto.Ciconsentedirisolvereilproblemadel counttoinfinity,perchseunalineavagiilrouterpusubitoscartare,senzaquindi poidistribuirli,tuttiicamminichecipassano.

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

6) Il livello quattro (Transport)

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

Questidueframmentisonoingradodiportareavantiundialogosenzaerrori(seil servizioutilizzatoaffidabile,ilchelanorma),ignorandocompletamentetuttoquanto riguardalameccanicadellacomunicazione.

6.1) Protocolli di livello transport

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

desidera.Dunque,sidevedeciderecomefattol'indirizzodilivellotransport,dettoTSAP address(TransportServiceAccessPointaddress). TipicamenteunTSAPaddresshalaforma (NSAPaddress,informazionesupplementare) Adesempio,inInternetunTSAPaddress(ossiaunindirizzoTCPoUDP)halaforma:


150

(IPaddress:portnumber) doveIPaddressilNSAPaddress,eportnumberl'informazionesupplementare. QuestomeccanismodiformazionedegliindirizzideiTSAPhailvantaggiodideterminare implicitamentel'indirizzodilivellonetworkdausareperstabilirelaconnessione. Inassenzaditalemeccanismo,divienenecessariochel'architetturaprevedaunservizio pereffettuareilmappingfragliindirizzidilivellotransporteicorrispondentiindirizzidi livellonetwork.

6.3) Attivazione della connessione

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

Ivalorixeypossonoesseregenerati,adesempio,sfruttandol'orologiodisistema,in mododaaverevaloriognivoltadiversi. Inassenzadierrori,ilfunzionamentoilseguente: Mittente Destinatario

conn.request(seq=x) ack(seq=y, ack=x) data(seq=x,ack=y)

Figura62:Threewayhandshake

Searrivaadestinazioneunduplicatodellarichiestadiattivazione,ildestinatariorisponde comeprimamailmittente,chesadinonaverrichiestounasecondaconnessione,lo informadell'errore: Mittente Destinatario

conn.request(seq=x) ack(seq=y, ack=x) reject(ack=y)

Figura63:Duplicatodellarichiestadiattivazione

Seinfinearrivanoaldestinatariosiaunduplicatodellarichiestadiattivazionecheun duplicatodelprimoTPDUdati,lasituazionelaseguente:

152

Mittente

Destinatario

conn.request(seq=x) ack(seq=y, ack=x)

data(seq=x, ack=z) reject(ack=y)

Figura64:DuplicatidellarichiestadiattivazioneedelprimoTPDUdati

Infatti,inquestocaso: ilmittenteinviaunrejectallarispostadeldestinatario,perchsadinonaverrichiesto unasecondaconnessione(comenelcasoprecedente); ildestinatarioscartailTPDUdati,perchquestorecaunackrelativoadunnumerodi sequenza(z)precedenteenonaquello(y)daluitestinviato.

6.4) Rilascio di una connessione

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

devespedire,equindipuautonomamentedeciderequandorilasciarelasuaconnessione inuscita. Seinveceledueentitvoglionoessered'accordoprimadirilasciarelaconnessione,un mododiraggiungereloscopopotrebbeesserequesto: Mittente Destinatario

Ho finito. Anche tu? Si, anch'io. OK, bye bye.

Figura65:Sempliceschemaperilrilascioconcordatodellaconnessione

154

Purtroppo,lecosenonsonocossemplici:c'unproblemafamosoinproposito,il problemadelleduearmate: Armata A

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

disconn.request disconn.request Rilascia la conn. ack Rilascia la conn.

Figura67:Rilascioconcordatodiunaconnessionetransport

156

Sesiperdel'ack: Mittente Destinatario

disconn.request disconn.request Rilascia la conn. Timeout ack

Rilascia la conn.

Figura68:Perditadell'ackduranteilrilasciodellaconnessione

Seinvecesiperdelarispostaallaprimapropostadichiusura(supponendocheiltimeout deldestinatariosiamoltopiampiodiquellodelmittente): Mittente Destinatario

disconn.request Timeout disconn.request

disconn.request disconn.request Rilascia la conn. ack Rilascia la conn.

Figura69:Perditadellarispostaallapropostadichiusuraduranteilrilasciodella connessione

157

Infine,sipuperderelarispostaallaprimapropostadichiusuraetuttelesuccessive propostedichiusura: Mittente Destinatario

disconn.request Timeout disconn.request

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

Ilprotocollofalliscesetutteletrasmissionidi disconn.requestdellapeerentitycheinizia laprocedurasiperdono:intalcasoessarilascialaconnessione,mal'altraentitynonsene accorgeelatieneaperta.Ilrisultatounahalfopenconnection. Unmodoperrisolvereilproblemachelepartirilascinounaconnessionequandopassa uncertolassoditempo(ades.60secondi)senzachearrivinodati.Naturalmente,intal caso,iprocessidevonoscambiarsideidummyTPDU,ciodeiTPDUvuoti,conunacerta frequenzaanchesenonc'necessitdicomunicarealcunch,perevitarechela connessionecada.

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

Transport Network Data link Fisico NSAP Linea del router

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

Transport Network Data link Fisico

NSAP Canale satellitare

Figura612:Downwardmultiplexing

6.7) Il livello transport in Internet

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

IPaddress:Portnumber IlsocketnumbercostituisceilTSAP. Iportnumberhanno16bit.Quelliminoridi256sonoicosidettiwellknownport,riservati periservizistandard.Adesempio:

Portnumber 7 20 21 23 25 80 110

Servizio Echo Ftp(control) Ftp(data) Telnet Smtp Http Popversione3

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).

6.7.2) Il protocollo TCP

Lecaratteristichepiimportantisonoleseguenti:

ognibytedelflussoTCPnumeratoconunnumerod'ordinea32bit,usatosiaperil controllodiflussocheperlagestionedegliack; unsegmentoTCPnonpusuperarei65.535byte; unsegmentoTCPformatoda:


162

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

Window size Urgent pointer

Options (zero o pi parole di 32 bit)

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

Checksum Urgentpointer Options

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:

SourceIPaddress, destinationIPaddress Protocol TCPsegmentlength

indirizziIP(a32bit)disorgenteedestinatario. ilcodicenumericodelprotocolloTCP(paria6). ilnumerodibytedelsegmentoTCP,headercompreso.

6.7.3) Attivazione della connessione

Siusailthreewayhandshakevistoprecedentemente:

unadelledueparti(diciamoilserver)eseguedueprimitive,listen()epoiaccept() rimanendocosinattesadiunarichiestadiconnessionesuundeterminatoportnumber e,quandoessaarriva,accettandola;


164

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

syn(seq=x) syn(seq=y, ack=x+1) syn(seq=x+1, ack=y+1)

Figura615:AttivazionediunaconnessioneTCP

Ivaloridixeysonoricavatidaglihostsullabasedeiloroclockdisistema;ilvaloresi incrementadiunaunitogni4microsecondi.

6.7.4) Rilascio della connessione

Ilrilasciodellaconnessioneavvieneconsiderandolaconnessionefullduplexcomeuna
coppiadiconnessionisimplexindipendenti,esisvolgenelseguentemodo: quandounadelleduepartinonhapinulladatrasmettere,inviaunfin; quandoessovieneconfermato,laconnessioneinuscitavienerilasciata; quandoanchel'altrapartecompletalostessoprocedimentoerilascialaconnessione nell'altradirezione,laconnessionefullduplextermina. Perevitareilproblemadei3esercitisiusanoitimer,impostatialdoppiodellavita massimadiunpacchetto. Ilprotocollodigestionedelleconnessionisirappresentacomunementecomeuna macchinaastatifiniti.Questaunarappresentazionemoltousatanelcampodei protocolli,perchpermettedidefinire,conunacertafacilitesenzaambiguit,protocolli anchemoltocomplessi.
165

6.7.5) Politica di trasmissione

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

Anchesericevewin=0,ilmittentepucomunqueinviare: datiurgenti; richiestedireinviodell'ultimoackspedito(perevitareildeadlockseessosiperso).

6.7.6) Controllo congestione

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

32K Threshold viene ridotta (da 32K a 20K) 20K 16K

8K 4K 2K 1K Congestion window 1K Congestion window torna ad 1K

Figura617:EsempiodicontrollodellacongestioneTCP
167

168

6.7.7) Il protocollo UDP

Illivellotransportfornisceancheunprotocollononconnessoenonaffidabile,utileper
inviaredatisenzastabilireconnessioni(adesempioperapplicazioniclientserver). LoheaderdiunsegmentoUDPmoltosemplice: 32 bit Source port UDP length Destination port UDP checksum

Figura618:FormatodelloheaderUDP

Lafunzionedicalcolodelchecksumpuesseredisattivata,tipicamentenelcasoditraffico intemporeale(comevoceevideo)perilqualeingenerepiimportantemantenere un'elevatotassodiarrivodeisegmentipiuttostocheevitareirarierrorichepossono accadere.

169

7) Il livello cinque (Application)

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:

com edu gov mil net org

aziende universit istituzionigovernative istituzionimilitari fornitorid'accesso organizzazioninonprofit

171

FuoridegliUSA,ogninazionehaunsuotopleveldomain.Adesempio:

au ch fr it jp uk

Australia Svizzera Francia Italia Giappone Inghilterra

Ognidominioresponsabiledellacreazionedeisuoisottodominii,chedevonoessere registratipressounaappositautorit. Esempidisottodominiisono:

cern.ch cnr.it mit.edu nasa.gov unige.ch uniroma1.it dsi.uniroma1.it

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

Unarichiestachearrivaaunnameserverpudunqueviaggiareversol'altonella gerarchiaoppure(dalmomentoincuipervieneauntopleveldomainserver)versoil basso,asecondadeicasi.Quandounarispostaritornaindietro,essavienetenutadal serverinunasuacacheperuncertoperiodo;quicostituisceunnuovorecord,detto cachedrecordperchcontienedellainformazionechepotrebbeanchedivenire,colpassare deltempo,obsoletaenonpicorretta. Unesempiodiresourcerecord(relativoaunhost):


spcw.dsi.uniroma1.it 86400 IN A 151.100.17.110

dove:

spcw.dsi.uniroma1.it 86400

IN A 151.100.17.110

domain_name:nomesimbolico. time_to_live:laquantitditempo(in secondi)trascorsalaqualeilrecordviene toltodallacache. class:classedelrecord(Internetinquesto caso). type:tipodelrecord(Addressinquesto caso). value:indirizzoIPnumerico.

7.2) La posta elettronica

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

Loheaderasuavoltacostituitodaunaseriedilinee,ciascunarelativaaunaspecifica informazione(identificatadaunaparolachiavechelaprimasullalinea);alcune informazionisono:

To From Cc Bcc Subject Sender

indirizzodiunoopidestinatari. indirizzodelmittente. indirizzodiunoopidestinatariacuisi inviaperconoscenza. blindCc:glialtridestinatarinonsanno cheancheluiriceveilmessaggio. argomentodelmessaggio. chimaterialmenteeffettual'invio(ades. nomedellasegretaria).

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

indipendentidavariazionidelnumero,deinomilogiciedegliindirizziIPdeglihost presentineldominio. NelDNScisonoopportunirecorddettiditipoMX(MailExchange),chesioccupanodi indicarequalehosteffetttivamentefadaserverSMTPperundominio. Nelnostroesempioavremo,nelDNSserverdiPaperinia,irecord:


mailer.paperinia.wd A paperinia.wd MX 100.10.10.5 mailer.paperinia.wd

Ilsecondorecordunrecordditipo MX,eindicachetuttalapostain arrivoper

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