reti di computer - dipartimento di matematica e fisica · università degli studi roma tre -corso...

29
Università degli Studi Roma Tre - Corso di Laurea in Matematica a.a. 2016/2017 M. Liverani - Dispense del corso IN530 - Sistemi per l'elaborazione delle informazioni 1 Corso di Laurea in Matematica Dipartimento di Matematica e Fisica Sistemi per l’elaborazione delle informazioni 4. Reti di computer Dispense del corso IN530 a.a. 2016/2017 prof. Marco Liverani Reti di computer Le reti sono un componente fondamentale per la realizzazione di un sistema informativo Senza la rete i computer non possono comunicare fra loro e le uniche modalità di decentralizzazione dell’elaborazione dell’informazione sono costituite da: collegamento di terminali ad un computer centrale: l’elaborazione e la gestione dei dati sono concentrate sul computer, ma l’interazione tra computer e utenti è decentralizzata sui terminali (a poca distanza fisica dal computer) trasferimento di file da un computer all’altro, mediante connessioni punto-punto prive di un effettivo meccanismo di comunicazione bidirezionale Si parla di rete di computer quando effettivamente più sistemi di elaborazione autonomi (computer) possono dialogare fra loro scambiandosi informazioni attraverso un mezzo fisico di connessione e quando tale meccanismo di comunicazione e di scambio è replicabile su più computer, senza dipendere dalla specificità delle due macchine che comunicano fra loro È molto importante la possibilità offerta dalle moderne tecnologie di rete di interconnettere fra loro reti diverse, anche mediante mezzi trasmissivi eterogenei Gli utilizzi che oggi facciamo delle reti di computer (utilizzate ormai, anche inconsapevolmente, prevalentemente da persone prive di competenze tecniche specifiche) sono numerosissimi: scambio di informazioni (mail, messaggistica, ...), accesso a banche dati, accesso a servizi on-line, acquisti e transazioni finanziarie, giochi e divertimento, ecc.

Upload: lenhu

Post on 02-Aug-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 1

CorsodiLaureainMatematicaDipartimentodiMatematicaeFisica

Sistemiperl’elaborazionedelleinformazioni

4.Retidicomputer

DispensedelcorsoIN530a.a.2016/2017

prof.MarcoLiverani

Retidicomputer

• Leretisonouncomponentefondamentaleperlarealizzazionediunsistemainformativo• Senzalareteicomputernonpossonocomunicarefraloroeleunichemodalitàdi

decentralizzazionedell’elaborazionedell’informazionesonocostituiteda:– collegamentoditerminaliaduncomputercentrale:l’elaborazioneelagestionedeidatisono

concentratesulcomputer,mal’interazionetracomputereutentièdecentralizzatasuiterminali(apocadistanzafisicadalcomputer)

– trasferimentodifiledauncomputerall’altro,medianteconnessionipunto-puntoprivediuneffettivomeccanismodicomunicazionebidirezionale

• Siparladiretedicomputerquandoeffettivamentepiùsistemidielaborazioneautonomi(computer)possonodialogarefraloroscambiandosiinformazioniattraversounmezzofisicodiconnessioneequandotalemeccanismodicomunicazioneediscambioèreplicabilesupiùcomputer,senzadipenderedallaspecificitàdelleduemacchinechecomunicanofraloro

• Èmoltoimportantelapossibilitàoffertadallemodernetecnologiediretediinterconnetterefralororetidiverse,anchemediantemezzitrasmissivieterogenei

• Gliutilizzicheoggifacciamodelleretidicomputer(utilizzateormai,ancheinconsapevolmente,prevalentementedapersoneprivedicompetenzetecnichespecifiche)sononumerosissimi:scambiodiinformazioni(mail,messaggistica,...),accessoabanchedati,accessoaservizion-line,acquistietransazionifinanziarie,giochiedivertimento,ecc.

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 2

Comesirealizzaunaretedicomputer

• Unaretedicomputersirealizzaattraversoleseguenticomponenti– componentifisiche:icomputereinodidellarete(router,gateway,switch,...),maancheimezzi

trasmissivi(cavielettrici,caviinfibraottica,onderadio,...)– componentisoftware:iprogrammi(inparterealizzaticomecomponentideisistemioperativi)che

consentonoaicomputereainodidellaretedieffettuareloscambiodiinformazioni,conparticolareattenzioneall’efficienza,all’affidabilitàe(inparte)allaindipendenzadalmediafisicoconcuisirealizzalaconnessione

Computer1

Sistemaopera/vo

Computer2

Sistemaopera/vo

Programmaapplica/voserver

InterfacciadireteCanaledicomunicazione(rete)

Serviziodirete(so-ware)

Interfacciadirete

Serviziodirete(so-ware)

Programmaapplica/voclient

componentifisiche

compo

nentisoftw

are

Packet switching

• Nelleretiditrasmissionedatil’informazionedainviaredallasorgentealdestinatariovienesuddivisainpacchettitrasmessiseparatamente

• Questatecnicasidefiniscepacket switching (commutazionedipacchetto)epermettediutilizzareilmedesimocanaledicomunicazioneperalternarelatrasmissionedidatidapartedipiùnodidiunastessaretechecondividonoilcanale– Comenellatecnicadelmultitasking,dovevieneripartitoiltempodellaCPUdedicato

all’elaborazionedeidiversiprocessi,nelpacket switching ilcanaledicomunicazionevieneutilizzatointempidiversidadiversinodidellarete,alternandorapidamenteleoperazioniditrasmissionedapartedeidiversinodiinmododadarel’impressionechetuttiinodidellaretestianousandoilcanalecontemporaneamente

• Siccomeilcanaledicomunicazionevieneusatocontemporaneamentedapiùnodi,ipacchettipossonoandareinconflitto fradiloro,corrompendosi:intalcasoènecessariotrasmetterenuovamenteisolipacchetticorrotti– Lasuddivisioneinpacchettipermetteanchedirenderepiùefficientelacorrezionedeglierrori:nel

casoincuisiverifichiunerrorenellatrasmissionediunpacchettononsarànecessarioripeterel’interatrasmissione,mailmittentepotràlimitarsiatrasmetterenuovamentesoloilpacchettochesiècorrotto

• Ipacchettivengonotrasmessisequenzialmente,ma,ancheacausadelleritrasmissioni,possonoarrivareinunordinediversodaquelloconcuisonostatispediti:saràildestinatarioadoccuparsidiricostruirelasequenzacorrettadeipacchettiperrestituirel’integritàall’informazionetrasmessa

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 3

Retibroadcastepunto-punto

• Dalpuntodivistafisicounaretepuòesserebroadcast opunto-punto– Retibroadcast

• Siutilizzalostessocanalefisicoditrasmissione,suddividendolacomunicazioneinpacchetti• Ognipacchettocontienel’identificativodeldestinatario chericeveeleggeilpacchettodidati,glialtrinodi

dellareteloscartano• Èpossibileinviarepacchettidestinatiatutti inodidellarete(broadcast)• Èpossibileinviarepacchettidestinatiadalcuni nodidellarete(multicast)

– Retipunto-punto• Ilcanaletrasmissivoèriservatoallacomunicazionetraduenodidellarete• Perfargiungereadestinazioneundatoilpacchettodevepassareattraversopiùnodiconnessifraloroin

modalità“punto-punto”:vieneutilizzatounalgoritmodirouting perinstradareilpacchettoversoilnododidestinazione

• Tipicamente,maconmolteeccezioni,leretipocoestese(retilocali)sonoditipobroadcast,quellemoltoestese(retigeografiche)sonopuntopunto

Dimensionedellarete

• Leretipossonoessereclassificateinbaseallaloroestensionefisica– Retilocali:colleganofraloronodipocodistanti(es.:entro1Km);tipicamentecolleganocomputer

diunostessoufficiooedificio– Retimetropolitane:colleganoedificidistantisolopochiKml’unodall’altro(es.:laretediunacittào

dellesedidiunastessaaziendanell’ambitodiunacittà)– Retigeografiche:colleganocomputer(ointereretilocaliometropolitane)distantifralorocentinaia

omigliaiadiKm• Ladistanzadeicomputerdacollegareèundatoimportante,perchéperdistanzediversesi

utilizzanotecnologietrasmissivediverse,piùadatteacoprireinmodoefficientebreviolunghedistanze

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 4

RetiLocali(LAN– LocalAreaNetwork)

• Sonodiproprietàdiunastessaorganizzazione(tuttalareteèdiproprietàesottoilcontrollodellamedesimaazienda)

• Siestendononell’ambitodelmedesimoedificioodiun“campus”(insiemediedificiinun’areaprivata):ingeneralenonsipuòutilizzareilsuolopubblicoperstenderecaviditelecomunicazione

• Velocitàditrasmissione:moltoelevata,da10Mbps finoa1Gbps• Topologiadellarete(topologiadelgrafoconcuipuòessererappresentatalarete):

– bus:tuttiinodisiaggancianoadunostessocanaletrasmissivo;sevieneusatocontemporaneamentedapiùnodi,sigeneranodelle“collisioni”cheobbliganoaritrasmettereipacchettidiinformazioni,causandounrallentamentoneltrafficosullarete(es.:retiEthernet)

– ring:laretehalaformadiunanellosucuisiaggancianotuttiinodi;inoditrasmettonounopervolta,aturno(es.:retiIBMToken Ring)

Retigeografiche(WAN– WideAreaNetwork)

• SiestendonoperdiversiKm,anchesull’interopianeta(Internet)• Sonocostituiteda

– end-point:icomputerutilizzatidagliutenti– canalitrasmissivi:mezzieterogeneiimpiegatiperlatrasmissionedeidati– puntiintermedi:router,nodidicommutazione,necessariperveicolareidatitrasmessidaunend-

point adunaltroattraversolarete

• TipicamenteunareteWANèutilizzatapercollegarefraloropiùretiLAN

LAN

LAN

LAN

WAN - Wide Area Network

Router

Router

Router

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 5

Retigeografiche(WAN– WideAreaNetwork)

• Irouter sonogliapparatifondamentaliperlarealizzazionediunaWAN– ricevonoipacchettididati– limemorizzanotemporaneamente– liinvianoversoladestinazionefinaleadunnodovicinoappenailcanaleditrasmissioneè

disponibile– igateway sonorouterchesifannoanchecaricodiproblematichediinterconnessionetrareti

eterogenee(perprotocolloomediafisicotrasmissivo)• LatecnologiatrasmissivaperleretiWANèeterogenea(anchenell’ambitodellastessarete):

– lineededicatepercollegareduenodi(CDN– CircuitoDirettoNumerico)– lineetelefoniche(DSL– DigitaleSubscriber Line;ISDN– Integrated ServicesDigitalNetwork)– pontiradio– canalisatellitari

LAN CDN LANDSL

Ponte radio

CDN

Canale satellitaredownlink: broadcastuplink: punto-punto

Ilsoftwareperlereti

• Nellacomunicazionetracomputersonodueprogrammiadialogaretradiloro• Nell’ambitodeldialogotraidueprogrammispessosidistinguonodueruoli:

– client:ilsoftwarecheiniziaildialogocollegandosiadunserverperaccedereadunserviziooadunarisorsa;

– server:ilsoftwarecheèinattesadellaconnessionedapartediunoopiùclientechefornisceilservizioolarisorsarichiesta.

• Ilmodellodelleretipeer-to-peer (letteralmente:“dapariapari”)ciascunnodo(software)presentenellaretesvolgesimultaneamenteilruolodiserver(offrendoserviziadaltrinodi)odiclient(richiedendoserviziadaltrinodi)

Computer1

Sistemaopera/vo

Computer2

Sistemaopera/vo

Programmaapplica/voserver

InterfacciadireteCanaledicomunicazione(rete)

Serviziodirete(so-ware)

Interfacciadirete

Serviziodirete(so-ware)

Programmaapplica/voclient

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 6

Ilsoftwareperlereti

• Ilsoftwareperlagestionedellecomunicazioniinreteèestremamentestrutturatoesicomponedimodulisuddivisiperlivelli:ognilivellocomunicasoloconillivellosoprastanteeconquellosottostante– Illivellopiùbassoèquellofisico,relativoallagestionedellatrasmissionesuunparticolaremedia– Illivellopiùaltoèquellopiùastratto,relativoallainterazionetradueapplicazionicheoperanosu

dueend-point(duecomputer)distinticollegatiinretefraloro• Unadistinzionetraidiversisoftware/protocollidigestionedelleretisieffettuainbaseal

numerodilivellidicuiècompostoeallafunzioneassegnataaciascunlivello• Loscopodiciascunlivelloèquellodioffriredeiserviziaglistratisovrastanti,nascondendo

lacomplessitàrelativaall’implementazionedelserviziostesso– Inquestomodoècomeseduelivelliparitari,entrambidilivellonsuiduenodidellarete,

parlasserotraloromedianteunprotocollodilivellon– Inrealtàiduecomponentidilivelloncomunicanofraloroattraversoiservizioffertidai

componentidilivellon–1– Ildatovienecostruitodallivellondelprimohost

• Traognicoppiadilivelliadiacenhèdefinitaun’interfaccia,chedefinisce:– leoperazioniprimitivechepossonoessererichiesteallivellosottostante– iservizichepossonoessereoffertiallivellosovrastante

Stratificazionedelsoftwareperlereti

Ilsoftwareperleretièsuddivisoinstrati:ognilayer sioccupadiunaspecificaproblematica:

5.Comefannodueprogrammiacomunicaretraloro?Chidefinisceleregoleconcuiavvienelacomunicazioneequalidatidevonoesseretrasmessi?Qualesignificatohanno?4. Nellacomunicazionetradueprogrammicomesisvolgela“sessionedicomunicazione”?Comesisegmenta ildatodacomunicareecomelosiriassembla quandolosiriceve?Chiaprelacomunicazione,chilatieneattivaechilachiudealterminedellacomunicazione?Comesifaatenereattivesessionidicomunicazionediverseconlostessocomputer?Comesidistinguonotipidicomunicazionedifferenti(es.:pagineweb,postaelettronica,chat,ecc.)?3. Suunarete,nonsuunsingolosegmentodicollegamentotraduecomputer,comesifaafararrivareidatitrasmessidalmittentefinoalgiustodestinatario?Qualepercorsodevecompierelacomunicazione?Qualecamminosulgrafo deveesseresceltoperfarcomunicareduenodi?Comeidentificoinodidellarete?2. Comesiregolailflussodidatisulcanaledicomunicazione?Quantidatidevonoessereinviati(oricevuti)sulcanale?Comecisiaccorgediunerrore ditrasmissioneecomesirimediaaduneventualeerrore?1. Qualemezzoditrasmissionedeveessereutilizzato?Comesirappresentanoidatisulcanaledicomunicazioneanalogico?Comesiattiva esiutilizzafisicamenteilcanale?

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 7

Stratificazionedelsoftwareperlereti

Computer

Sistemaopera-vo

Programmaapplica-vo

Interfacciadirete Aspetti fisici della trasmissione

Connessione tra sorgente e ricevente e correzione errori

Percorso sulla rete dal mittente al destinatario

Segmentazione in pacchetti, e scambio dati

Dialogo tra applicazione client e applicazione server

Serviziodirete(so-ware)

Stratificazionedelsoftwareperlereti

Host 1 Host 2

Livello 5

Livello 4

Livello 3

Livello 2

Livello 1

Mezzo fisico di comunicazione

Livello 5

Livello 4

Livello 3

Livello 2

Livello 1

Interfaccia 4/5

Interfaccia 3/4

Interfaccia 2/3

Interfaccia 1/2

Interfaccia 4/5

Interfaccia 3/4

Interfaccia 2/3

Interfaccia 1/2

Protocollo liv. 5

Protocollo liv. 4

Protocollo liv. 3

Protocollo liv. 2

Protocollo liv. 1

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 8

Stratificazionedelsoftwareperlereti

Metaforicamenteècomeseilsoftwareperleretifunzionassecomenellaseguentefiguraincuiduefilosofistranieridevonocomunicaretradiloro(trattodaG.Bongiovanni):

– Ilfilosofosfruttailservizioditraduzionedell’interpretechetraduceescriveundocumentoininglese

– L’interpretesfruttailserviziodellasegretariaperinviareiltestoviafax– Lasegretariautilizzailfaxcomecanalefisicoditrasmissione

Filosofo indù (parla indostano)

Interprete

Segretaria

Linea telefonica

Stregone africano (parla swahili)

Interprete

Segretaria

Dialogo suimassimi sistemi

Lingua inglese

Uso del fax

Stratificazionedelsoftwareperlereti

• Lacomunicazioneèsegmentatainpacchettiinmodoche– ilcanaletrasmissivononsiaimpegnatocontinuativamentepertempimoltolunghi– incasodierroreditrasmissionedebbaessererispeditosolounpacchettoenonl’interoflussodi

dati• Infaseditrasmissione,ognilivelloaggiungealpacchettoricevutodallostratosovrastanteun

header,formandocosìunpacchettopiùgrande(ilpacchettoviene“imbustato”)• L’header contieneinformazionidiservizioutiliperloscambiodelpacchettodidati

– lunghezzadelpacchetto– numeroprogressivodelpacchettonell’ambitodell’interoflussodicomunicazione– dataedoraincuiilpacchettoèstatoprodotto(timestamp)– ...

• Infasediricezioneognilivelloriceveunpacchetto“imbustato”dallivelloinferiore:illivellonscorporal’header delpacchettodalsegmentocontenenteidativeriepropri(ilpacchettovieneestrattodallabustadilivellon)– illivellon esegueanchedeicontrollidiintegritàdelpacchettosullabasedelleinformazioni

contenutenell’header– ilricevitorericostruisceilflussodicomunicazioneoriginarioconcatenandoipacchettiricevutinon

inbaseall’ordinediricezione,mainbasealnumeroprogressivopresentenell’header delpacchetto

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 9

Modelliearchitetturedellereti

• Esistonomodelliteoriciperladefinizionediun’architetturadiunareteearchitettureeffettivechedifattocostituisconounostandardnelmondodellereti

• ModelloOSI(OpenSystemsInterconnection)– definisceilnumero,lecaratteristicheelerelazionifunzionalitrailivellidiunsoftwaredirete,ma

nonnedefinisceiprotocollieffettivi– consistein7livelli,forseunpo’troppoastrattiedidifficileimplementazione(ricalcaIBMSNA)

• ArchitetturaTCP/IP(Trasmission ControlProtocol /InternetProtocol)– definisce,livelloperlivello,anchei

protocollieffettivi– consistein4livelli(semplificandoil

modelloOSI)Livello 7: Application

Livello 6: Presentation

Livello 5: Session

Livello 4: Transport

Livello 3: Network

Livello 2: Data Link

Livello 1: Fisico

Livello 4: Application

Livello 3: Transport

Livello 2: Internet

Livello 1: Network access

Modello OSI TCP/IP

Lo“stack”TCP/IP

• L’architetturadireteTCP/IPèquindiuninsiemediprotocollicheoperanocoordinatifradiloroavarilivellidiunostack costituitodaquattrolivelli

• Livello1:Networkaccess– protocollifisiciperretiLANeWAN(es.:Ethernet,DSL,ISDN,PPP,ecc.);includeillivelloDataLink

• Livello2:Internet– protocolloIP (InternetProtocol)perl’indirizzamentoeilroutingdeipacchettisulcanalefisicoverso

ladestinazionefinale• Livello3:Transport

– protocolloTCP (Trasmission ControlProtocol):frammentalacomunicazioneinpacchettiinuscitaeriassembla ipacchettiiningressoperricostruireilflussodidatioriginari;garantiscelaconsegnadelpacchetto

– protocolloUDP (UserDatagram Protocol):frammentainpacchetti,manongarantiscel’ordinenélaconsegnadelpacchetto

• Livello4:Application– protocolliapplicativiperlacomunicazionetraunprogrammaclientedunprogrammaserver:FTP

(FileTransferProtocol),Telnet (emulazionediterminaleperconnessioniremote),SMTP (SimpleMailTransferProtocol),POP3 (PostOfficeProtocol v.3),DNS (DomainName Service),HTTP(HyperText TransferProtocol),SOAP (SimpleObjectAccessProtocol),ecc.

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 10

Lo“stack”TCP/IP

• Lostack TCP/IPvieneimplementatoperinteronelsistemaoperativodiuncomputer,sucuigiraanchel’applicazione“end-user”cheèl’elementosorgenteodidestinazionedellacomunicazione

• Suapparatidireteintermedi(router,gateway,...)ilprotocollovieneimplementatoparzialmente,senzaspingersifinoallivelloApplication,chesarebbeinutilepertaliapparati

Livello 4: Application

Livello 3: Transport

Livello 2: Internet

Livello 1: Network access

Livello 2: Internet

Livello 1: Network access

Livello 2: Internet

Livello 1: Network access

Livello 4: Application

Livello 3: Transport

Livello 2: Internet

Livello 1: Network access

Computer sorgente

Router

Computer destinazione

Router

Lostack OSIsemplificato

• PerdescrivereidiversiaspettidelprotocollodireteadottiamoilmodelloOSIsemplificato,ridottoasolicinquelivelli:1. LivelloFisico2. LivelloDataLink3. LivelloNetwork4. LivelloTransport5. LivelloApplication

• NelTCP/IPillivelloNetworkAccessincludesiaillivelloFisico cheilDataLinkdelmodelloOSIsemplificato

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 11

Livello1:Fisico

• Ilcanaledicomunicazionefisicoperlarealizzazionediretidicomputerèuncanaleanalogico,incuiivalorivarianoinmodocontinuo(energiaelettrica,campoelettromagnetico,luce,ecc.)all’internodiundeterminatointervallodettoampiezza

• Ilsegnaletrasmessosuuncanaleanalogicopuòessererappresentatomedianteunafunzionesinusoidalenonperiodicache,conglistrumentidell’analisidiFourier,puòessereinterpretatacomesommadifunzionitrigonometricheconampiezzaeperiodo(efrequenza)diverse

• Unsegnaleèquindicaratterizzatodaunintervallodifrequenzedellefunzionisinusoidalichelocompongono:taleintervallosichiamabandadifrequenzadelsegnale

• Ancheilmezzofisicoditrasportodelsegnaleècaratterizzatodaunintervallodifrequenzedellefunzionichecompongonoilsegnalechepuòesseretrasmessodatalemezzofisico;questointervalloprendeilnomedibandapassante(es.:3KHz:da0a3.000HZ)

A (a

mpi

ezza

)

t (tempo)

Bandapassanteevelocitàditrasmissione

• HarryNyquist (1889-1976)nel1927dimostròcheunsegnaleanalogicodibandah (da0 ahHz)puòesserericostruitomedianteunacampionaturaeseguita2h voltealsecondo

• Unsegnaledibandah consentedirappresentareperognisecondounaquantitàdiinformazioneconunnumerodibitparia2h log2 V,doveV èilnumerodipossibilivaloridelsegnale(possibilivaloridiscretidelsegnale)

• Quindiconunsegnalebinario(V =2)conunabandadi3KHz,ilnumerodibittrasmessialsecondoèparia2× 3000× 1=6.000bitpersecondo (6Kbps)

• Pertrasmettereadunavelocitàsuperiorea6KbpssiescogitanodellecodifichedelsegnalechesfruttanounnumerodivaloridelsegnaleV>2 (nellapraticaV èunvalorepiuttostoelevato)

• ClaudeShannon (1916-2001),padredellaTeoriadell’Informazione,introdusseilconcettodirumore suuncanaledicomunicazioneeformulòuncelebreteorema(SecondoTeoremadiShannon,1948)incuiaffermòchelamassimaquantitàdiinformazionetrasferibileinmodoaffidabilesuuncanaleaffettodarumoreèlimitatodaunacertasogliacheprendeilnomedicapacitàdicanale

• IndicandoconS/N ilrapportotrasegnaleerumore,secondoilTeoremadiShannon lamassimavelocitàtrasmissivadelcanaleconbandapassantedih Hzèdatodah log2 (1+S/N)

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 12

Livello2:DataLink

• IllivelloDataLinkoffreunacomunicazioneaffidabileedefficientetraduenodidirettamenteconnessi dauncanalefisico(uncavoEthernet,unalineatelefonica,ecc.)– offreserviziallivelloNetwork(sovrastante)– determinalasuddivisioneinframe deibitalivellofisico– gestisceglierrori ditrasmissione(verificaintegritàdeipropripacchettispediti,altrimentiliritrasmette,ad

esempiotramitel’algoritmobackoff)– regolailflussodidatitrasorgenteedestinatario

• Questolivellodellostack ètipicamenteimplementatonelfirmware(oneidriver)diunaschedadireteEthernetodiun’interfacciawi-fi;iprotocolliPPP (Point-to-PointProtocol)eSLIP (SerialLineInternetProtocol)sonoprotocollidellivelloDataLinkimplementativiasoftware

• IllivelloDataLinkintrasmissione:– ricevedallivelloNetworkunpacchettodidati(formatobinario)– frammentalasequenzadibitinframe dipendentidalparticolareprotocollofisicoditrasmissione– calcolaunchecksum diciascunframe– passailpacchettoformatodalframe edalchecksum allivelloFisicosottostante,chelospediscecome

sequenzadibit• IllivelloDataLinkinricezione:

– riceveunasequenzadibitdallivellofisico– ricostruisceiframeunodopol’altro– ricalcolailchecksum everificachesiaugualeaquellocontenutonelframe

Livello3:Network/Internet

• IllivelloNetworksioccupaditrasferireilpacchettodidatidallasorgentealladestinazionepassandoattraversounaseriedinodiintermedi(routing,instradamentodeipacchetti)

• IllivelloNetworksioccupadi– conoscerelatopologiadellarete– sceglieredivoltainvoltailcamminomiglioreper“instradare”ipacchetti(routing)– gestireilflussodeidatielacongestionedellarete– gestireproblematicherelativeallainterconnessionediretidiverse

• IllivelloNetworkèparticolarmentesofisticatosugliapparatirouter,proprioperl’implementazionediunalgoritmodiroutingefficiente

• Glialgoritmidiroutingsonospessobasatisuiseguentiprincipi– algoritmidicamminominimo:ilpacchettovieneinstradatoversolaviacherichiedeunnumero

inferioredihop (passaggipernodiintermedi)pergiungerealrouterdidestinazione– algoritmidiflooding:ilpacchettovieneinviatosututtiicamminiuscentidalrouter,trannequello

attraversocuiilpacchettoèarrivatoalrouter– algoritmiflow-based:vienecalcolatoiltrafficosullediverselineeuscentidalrouter,tenendoconto

dellalorocapacitàtrasmissivae,inbaseaquestidati,sistabiliscesuqualelineainviareilpacchetto

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 13

ProtocolloTCP/IPeindirizziIP

• Illivello3“Network/Internet”nelprotocolloTCP/IPèrealizzatomedianteilprotocolloIP(InternetProtocol)chesioccupadi:– Trafficoinuscita:

• ricevereidatidallivello4diTrasportoeincapsularliinpacchettiIP(max 64KByte,tipicamente1.500Byte)• instradareipacchettisullaretemedianteillivelloDataLink

– Trafficoiningresso• riassemblare ipacchettiricevutidallivellisottostanti(possonoessereframmentati• spacchettareilpacchettoIP,verificarloedestrarreidatidellivelloTrasporto• consegnareidatiallivellotrasportonell’ordineincuiquestisonoarrivati(chepuòessereunordinediverso

daquelloconcuisonostatispediti)

• UnpacchettoIPèunasequenzadibytecostituitadaunheader edaunsegmentodidati• Laparteheader contiene:

– laversione delprotocollo– lalunghezza dell’header elalunghezzatotaledelpacchetto– unidentificativodelpacchetto perricostruirloapartiredaframmentipiùpiccolieunprogressivo

delframmentonelcasoilpacchettoIPdebbaesserericostruitoassemblandopiùframmenti– iltimetolive,ossiauncontatorechevienedecrementatodiunoadognipassaggioperunnodo

intermedionellarete:quandoarrivaazeroilpacchettovienescartato– indirizzodelmittente edeldestinatario– altreinformazioniopzionali

IndirizziIP

• UnindirizzoIPècompostoda32bit,suddivisiin4gruppida8bit(4byte)• L’indirizzovieneassegnatoadogniinterfacciadiunnododellareteperidentificarlo

univocamente;contienedueinformazionidistinte:– l’identificativodellarete incuisitroval’host– l’identificativodell’host all’internodellarete

• UnostessohostpuòessereidentificatodapiùindirizziIP• GliindirizzicheidentificanolereticonnessedirettamenteadInternet(retichesonouna

porzionedellareteInternet)vengonoassegnatialleorganizzazionichenefannorichiesta(aziende,entipubblici,associazioni,ecc.)daorganisminazionalidettiNIC (NetworkInformationCenter)

• AlivellomondialeilregistrodiassegnazionedegliindirizziIPvienegestitodaICANN(InternetCorporationforAssigned Names andNumbers)edallasuaorganizzazionecontrollatadenominataIANA (InternetAssigned Numbers Authority)

• InEuropailregistrodegliindirizziIPègestitodaRIPENCC(Réseaux IPEuropéens – NetworkCoordination Centre);inItaliailregistroègestitodaNIC-IT

• SonodisponibiliidentificativiperretiIPprivate,nonconnessedirettamente adInternet:perl’usodiidentificativiriservatialleretiprivatenonènecessarioottenerealcunaautorizzazionedaentidigestione

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 14

IndirizziIP

• L’insiemedei32bitchecostituisconol’indirizzoIPvieneripartitotrabitriservatiall’identificazionedellareteebitriservatiall’identificazionedell’host inbasealnumerodihostchedevonoessereindirizzatiinunastessarete– sedevoassegnareindirizziamoltihost,allorariserveròpiùbitall’identificazionedeglihostemeno

bitall’identificazionedellarete– inquestomodosihannopocheretidistintecontenenticiascunamoltissimiindirizziIPemoltereti

cheinvececontengonounnumeropiuttostolimitatodiindirizzi• Gliindirizzidiretesonodistintiintrediverseclassi,asecondadelnumerodibitriservati

all’identificazionedellareteodeglihost:– 126retidiclasseA,chepossonocontenere16milionidihostciascuna– 16.382retidiclasseB,concirca64.000hostciascuna– 2milionidiretidiclasseC,con254hostciascuna

0 rete (7 bit) host (24 bit)

1 0 rete (14 bit) host (16 bit)

1 0 rete (21 bit) host (8 bit)1

8 bit 8 bit 8 bit 8 bit

Classe A

Classe B

Classe C

Es.: 87.23.134.216 = 01010111.00010111.10000110.11011000

Es.: 157.76.134.216 = 10011101.01001100.10000110.11011000

Es.: 215.138.97.216 = 11010111.10001010.01100001.11011000

192.106.24.0

203.67.242.0

203.67.242.30203.67.242.20203.67.242.10

203.67.242.1

192.106.24.15 192.106.24.20 192.106.24.30

192.106.24.1

193.52.198.1

193.52.198.2193.52.198.0

IndirizziIPesottorete

• Ilsistemaoperativodiognihostèconfiguratoconl’indicazionedi– indirizzoIPdell’host– mascheradisottorete,perricavarel’identificativodellarete– l’indirizzodelgatewaydidefault,acuiinviareipacchettiIPquandoildestinatariononappartiene

allastessaretedell’host• Mascheradisottorete,esempio:255.255.255.0

– eseguendoun’operazionediAND suibitdell’indirizzoIPdelmittenteedeldestinatariosiottienelastessastringabinariasoloseiduehostappartengonoallastessarete

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 15

IndirizziIPesottorete

• Classediindirizzi:

• Mascheradisottorete:

• IndirizzoIPhost 1:

• IndirizzoIPhost 2:

• IndirizzoIPhost 3:

192 106 24 0

255 255 255 240

11111111 11111111 11111111 11110000

192 106 24 5

192 106 24 13

11000000 01101010 00011000 00001101

192 106 24 172

11000000 01101010 00011000 10101100

11000000 01101010 00011000 00000101 192.106.24.0

192.106.24.0

192.106.24.160

Stessa rete!

AND

AND

AND

ClassidiindirizziperretiIPprivate

• Perleretiprivate(nonconnessedirettamenteallareteInternet!)sonoriservateleseguenticlassiIP(RFC1918):– 1classeA:10.0.0.0– 10.255.255.255– 16classiB:172.16.0.0– 172.31.255.255– 256classiC:192.168.0.0– 192.168.255.255

• LeclassiIPprivatepossonoessereutilizzatedachiunquesuunareteprivata,senzadovernerichiederel’autorizzazioneadunorganismodigovernodellarete;duereticheusanolastessaclassediindirizziprivatinonpossonoesserecollegatetraloro

• Vieneriservatoancheunindirizzoriservatoarappresentareinternamentel’host stesso(indirizzodiloopback):127.0.0.1– Èutilepereffettuaredeitestdelfunzionamentodiunsoftwareinrete,senzautilizzarelarete

• PercollegareallaretepubblicaInternetunareteconindirizziIPprivati,ènecessarioutilizzareunapparato(gateway)cheeseguailNAT (networkaddress translation),ossiarimappa gliindirizziIPprivatisuunoopiùindirizziIPpubblici,visibileall’esternodellasottoreteeutilizzabileperilrouting– spessolafunzionediNATvienesvoltadaunapparatofirewall odallostessorouter

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 16

ConnessionediretiIPprivateallaretepubblica

• PerconnettereunareteconindirizzamentoIPprivatoallaretepubblicaènecessarioutilizzareilNAT(networkaddress translation)– inquestomodolereticonindirizziprivatinoncomunicanomaidirettamentefradiloroeconlaretepubblica– quindileclassiIPdiretiprivatepossonoessereusatedapiùorganizzazioniindipendentementel’unadall’altra

(nonserveuncoordinamentoperl’assegnazionediclassiIPprivate)

10.0.0.0

10.0.0.0

10.0.0.3010.0.0.2010.0.0.10

203.67.242.1

10.0.0.15 10.0.0.20 10.0.0.30

192.106.24.1

193.52.198.1

193.52.198.2193.52.198.0

192.106.24.2192.106.24.3

(NAT e port fowarding: 10.0.0.10:80)10.0.0.1

10.0.0.1

203.67.242.2

10.0.0.10

LareteInternet

• LareteInternet èformatadall’interconnessionediretiIP:gliindirizzideglihost(amenodelleretiprivateconnesseattraversomeccanismidiNAT)sonoidentificatiunivocamente daindirizziIP

• Ilgrafohaunatopologiachelocalmenteèquelladiunastella (unalberoconunaradiceetuttelefoglieconnesseallaradice),maglobalmentenonèunalbero,èfortementeconnessa,conlacreazionedinumerosiciclicheoffronorobustezzaeridondanzaalleconnessionidirete– Figura:rappresentazionediLucent

TechnologiesdelleconnessionidellareteInternetnelGiugno1999

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 17

LareteInternet

LastrutturadellaRetepuòesseresemplificataconilgrafoinfigura(rete“piccolomondo”)

LareteInternetconnessioniwired agosto1998

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 18

LareteInternetconnessioniwired gennaio1999

LareteInternetconnessioniwired giugno1999

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 19

LareteInternet:crescitainarrestabile

• Larete(ilnumerodinodiconnessi)continuaacrescereinmodoinarrestabileebenpresto,conla“InternetdelleCose”(IoT – InternetofThings)sarannoconnessiinretesingolioggettidiusocomune(orologi,elettrodomestici,ilcollaredelcane,ecc.)

• Lo“spaziodiindirizzamento”diIPv.4ètroppolimitato,sidovràpassareadunnuovo“spaziodiindirizzamento”,piùesteso,denominatoIPv.6– indirizzidi16byte:2128 indirizziIP(sonotantissimi:lasuperficiedellaTerraèdi510.072.000Km2,

quindiavremoadisposizioneinmedia6,7x1023 indirizziIPperognim2)– semplificazionedell’header:7campi

invecedi13– funzionidiautenticazioneeprivacydei

dati,basatesullacrittografia

Livello4:Transport

• IllivelloTrasportoèun’astrazionedellivelloNetworkeconsentedistabilireconnessionitraprogrammi(clienteserver)eattuareloscambiodidati,senzacurarsidegliaspettifisiciodirouting gestitidailivellisottostanti

• Nell’ambitodell’architetturaTCP/IPsonodefinitidueprotocollidellivello4:– TCP,Transmission ControlProtocol– UDP,UserDatagram Protocol

• UDPèunprotocollosemplicee“nonaffidabile”(nongarantiscelaconsegnadelpacchettodiinformazione)

• TCPoffreunservizio“affidabile”,ossiagarantiscelaconsegnadeldato(mascherandolacomplessitàelareiterazionedioperazionichequestaaffidabilitàcomporta)anchesuunaretenonaffidabile

• IlprotocolloTCPsioccupadi– trasmetteredatiinuscita:

• accettaredatidallivelloApplication• spezzarliinsegmenti (dimensionemassima64KByte,tipicamentecirca1.500Byte)• consegnarliallivelloNetwork,eventualmenteritrasmettendoli

– riceveredatiiningresso:• riceveresegmentidallivelloNetwork• rimetterliinordine,eliminandobuchiedoppioni• consegnareidati,inordine,allivelloApplication

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 20

IlprotocolloTCPeisocket

• LaconnessionecreatadalprotocolloTCPalLivello4dellostack,èdefinitaidentificandoiduepuntidiaccessodettisocket

• Ognisocket haunsocket number checonsistenellacoppia“IPaddress :port number”(es.:193.204.165.101:80)

• Ilport number èunnumeroda16bit(0-65.535);ivaloritra0e255identificanoiportnumber diservizistandard(well-known TCPport)

• IlsistemaoperativooffredelleinterfacceAPIperlechiamatedisistemaperl’aperturadiconnessioniversospecificisocket (indirizziIPeporteTCP)

• Pergarantirel’affidabilitàdellaconnessione,ilprotocollosioccupadellafasediconnessioneconunhandshaking traiduenodi,siainfasediconnessionechedichiusuradellaconnessione

Usodeisocket percomunicazionetraclienteserver

IlsistemaoperativooffreunaAPI(application programminginterface)perl’utilizzodeisocket daprogrammaconunaseriedisystemcalldedicateall’esecuzionedellediverseoperazioni

SERVER CLIENT

socket(…)

bind(…)

listen(…)

accept(…)

… in attesa di connessione …

socket(…)

connect(…)

read(…) write(…)

write(…) read(…)

close(…)read(…)

close(…)

handshake

scambio dati

scambio dati

End Of File

inquestafasel’applicazioneserverèdedicataalla

comunicazioneconunasolaapplicazioneclient

seilserverdevegestirepiùconnessionicontemporanee,

alloraperogniconnessionedapartediunclientdeve

generareunprocessofiglio(fork)

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 21

Livello5:Application

• IllivelloApplication èquelloincuieffettivamentedueapplicazioni(unclient edunserver)cheoperanosuduenodidellarete(oanchesullostessonodo)dialoganoinviandosideidati,sfruttandotuttiilivellisottostantiperrendereeffettivoilprocessodicomunicazione

• Aquestolivellosonodefinitinumerosiprotocolliapplicativi:– protocollidiservizio,utilizzatiperconsentireosemplificareilcorrettofunzionamentodella

comunicazioneinrete(es.:DNS,SNMP,...)– protocollistandardperservizicomuni(es.:emulazionediterminale,postaelettronica,web,...)– protocolliproprietari,definitidachihaprogettatoundeterminatosoftware,perfardialogarela

componenteclientconquellaserver(es.:unprogrammadigestionecontabile,...)• Unprotocolloapplicativoècostituitodauninsiemedicomandi edaunasintassi che

definiscelamodalitàconcuiicomandipossonoesserescambiatitraclienteservereilformatochedevonorispettareidatieiparametrifornitiaicomandi

DNS– DomainName System(TCPport 53)

• L’utilizzodegliindirizziIPdapartedegliutentidiunareteTCP/IPèpiuttostoscomodo,perquestomotivoèstatodefinitounsistemadeinomididominio,peridentificarepiùfacilmenteinodidellarete

• IlsistemaDNSècostituitoda– unoschemagerarchicodidefinizionedeinomi,basatosulconcettodidominio– undatabasedistribuitochememorizzaerendedisponibilel’insiemedeinomi– unprotocollodicomunicazioneperl’interrogazionedeldatabaseel’aggiornamentodeinomi

associatiainodidellarete(chesonocomunqueidentificatidaunindirizzoIP)• Inomiassociatiaglihostsonoutilizzatidagliutentiedalleapplicazioni,manonpossono

sostituirel’indirizzoIPsucuisibasailLivelloNetwork(oInternet);perpassaredalnomeall’indirizzoIPsiseguonoquestipassi:1. l’applicazionechedeveeseguirelaconnessioneversounhostdicuiconosceilnome(es.:

www.google.com)utilizzalafunzioneAPIperlarisoluzionedeinomicheinviaunarichiestaditraduzioneadunDNSserverlocale

2. ilDNSserverlocalesehanelpropriodatabasel’indirizzoIPassociatoaquelnomelorestituiscealclient,altrimentichiedeadunDNSserverdilivellosuperiore

3. l’applicazionericevecomerispostal’indirizzoIPassociatoalnomeelousaperaprirelaconnessioneTCPversotalehost

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 22

DNS– DomainName System(TCPport 53)

• InomihostassociatiadunindirizzoIPhannolaseguentestruttura:hostname.subdomain.domain.top-evel-domain

comeadesempio:ciop.mat.uniroma3.it

• Nell’esempiosiriconosconolecomponentidelnomeseparatedapunti(quindilecomponentidelnomenondevonocontenereilcarattere“.”):– hostname:“ciop”,èilnomecheidentificaunivocamenteilnododireteinundeterminato

sottodominio– subdomain:“mat”,èilsottodominioincuièinseritol’host;nell’esempioèildominioassegnatoal

DipartimentodiMatematicadell’UniversitàRomaTre– domain:“uniroma3”,èildominioacuiappartienel’host;nell’esempioèildominioassegnato

all’UniversitàdegliStudiRomaTre– top-level-domain:“it”,èildominiodiprimolivellocheèassegnatoall’autoritàitalianadigestione

deinomididominioInternet

• Unnomedihostchecomprendatuttelecomponentidalnomehostfinoaltop-level-domainèunFQDN:fully qualified domainname

• AdunostessoFQDNpuòessereassociatounsoloindirizzoIP,mentreunostessoindirizzoIPpuòessereassociatoapiùFQDN:latraduzioneèunivocamentedeterminatasolonelpassaggiodanomedidominioaindirizzoIP(nonilviceversa)

DNS– DomainName System(TCPport 53)

• IldatabasedelDNSèundatabase“gerarchico”:ICANNeIANAgestisconolaradicedell’alberoedemandanoadaltreorganizzazionilagestionedeitop-level-domain:– CountryCodeTLD (ccTLD):“.it”,“.fr”,“.uk”,“.es”,“.de”,“.tv”,...SonoTLDassegnatialleautorità

nazionalidigestionedellareteInternet(NIC-ITinItalia)– Generic TLD (gTLD):“.com”,“.net”,“.org”,“.edu”,“.gov”,“.mil”,...SonoTLDgenerici,non

corrispondenteadunospecificoPaese• Singoleorganizzazioni(enti,aziende,associazioni,singolicittadini)possonorichiedere

l’assegnazionediunnomedidominiodisecondooterzolivelloadunEntediRegistrazioneaccreditatopressol’autoritàchegestisceilTLD

• Pergestireundominio(diprimo,secondo,terzolivello)ènecessariodisporrediunDNSserver,configuratopergestireildatabasedegliindirizziIPassociatiainomihostdeldominiodipropriacompetenza

• Ladefinizioneel’assegnazionedeinomihostallemacchinedelpropriodominio,vienedefinitaautonomamentedall’organizzazioneintestatariadeldominostesso,configurandoopportunamenteipropriserverDNS

Logodell’autoritàitalianadiregistrazionedeidomini

sottoalccTLD “.it”www.nic.it

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 23

DNS– DomainName System(TCPport 53)

• Duesonoitool softwarepiùcomuniperl’interrogazionedeidatabaseDNSedelregistrodeinomididominio:– nslookup:èunsoftwareclientperinterrogareunDNSservererichiederelarisoluzionediun

hostname nell’indirizzoIPcorrispondente– whois:èunclientperinterrogareidatabase“whois”delleautoritàdiregistrazionedeidomini

marco@aquilante ~$ whois uniroma3.it

Domain: uniroma3.itStatus: okCreated: 1996-01-29 00:00:00Last Update: 2015-02-14 00:52:34Expire Date: 2016-01-29

RegistrantOrganization: Universita’ "Roma Tre"Address: Via Ostiense, 159

Roma – 00154 – RM – ITCreated: 2007-03-01 10:54:28Last Update: 2014-10-28 16:54:06

...Nameservers

ns.uniroma3.itdns.uniroma3.it

marco@aquilante ~$ nslookup> server ns.uniroma3.itDefault server: ns.uniroma3.itAddress: 193.204.167.146#53> www.uniroma3.it.Server: ns.uniroma3.itAddress: 193.204.167.146#53

Name: www.uniroma3.itAddress: 193.205.139.223> exit

FTP– FileTransferProtocol (TCPport 21)

• IlprotocolloFTP consentediscambiarefiletraunhostserveredunhostclient• IfilescambiatipossonoesserefileditestoASCIIofilebinari(programmieseguibili,

immagini,fileinformatocompresso,ecc.)• IlserverFTPmetteadisposizionedelclientunfilesystemremoto,strutturatoadalberocon

directoryesottodirectory• Alcunideicomandiimplementatidalprotocollosonoiseguenti:

– user:autenticazione– put:uploadfile(daclientaserver)– get:downloadfile(daserveraclient)– list/dir:elencofileinunadirectory– cd/lcd:cambiodirectorycorrente

(sulserver/sulclient)– bin:switch tratrasferimentofilebinari

otestoASCII– hash:switch perlavisualizzazione

dellaprogressionedeltrasferimentodati

Server FTP Client FTP

User Interface

User Protocol

Interpreter

User Data Transfer Process

Server Data Transfer Process

Server Protocol

Interpreter

File System

File System

Comandi FTPRisposte FTP

TrasferimentoDati

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 24

marco@aquilante ~$ ftpftp> open ftp.freebsd.orgTrying 193.162.146.4...Connected to ftp.geo.freebsd.org.Name (ftp.freebsd.org:marco): anonymous 331 Guest login ok, send your email address as password.Password: *********230 Guest login ok, access restrictions apply.Remote system type is UNIX.Using binary mode to transfer files.ftp> dir150 Opening ASCII mode data connection for '/bin/ls'.total 12drwxr-xr-x 3 1006 1006 512 Nov 27 2012 pubdrwxr-xr-x 3 1006 0 512 Jul 21 2014 www226 Transfer complete.ftp> cd pub/FreeBSD/ports/i386/packages-9-stable/x11-clocks250 CWD command successful.ftp> bin200 Type set to I.ftp> hashHash mark printing on (1024 bytes/hash mark).ftp> get xclock-1.0.7_1.tbzlocal: xclock-1.0.7_1.tbz remote: xclock-1.0.7_1.tbz229 Entering Extended Passive Mode (|||65212|)150 Opening BINARY mode data connection for 'xclock-1.0.7_1.############################226 Transfer complete.29118 bytes received in 00:00 (160.06 KiB/s)ftp> quit221 Goodbye.

FTP– FileTransferProtocol (TCPport 21)

IlprotocolloFTPgestisceilconcettodisessione:

– nell’ambitodiunostessocollegamentodaunclientversounserver,l’utentepuòmodificarelostatodellaconfigurazione(es.:puòmodificareladirectorycorrentesulserverFTP)epuòdialogareconunasuccessionedicomandichetengonocontodell’effettodelcomandoprecedente

Telnet– Emulazionediterminale(TCPport 23)

• Èunprotocollonatoperscopipiuttostogenerali:<<...fornireunsupportoperlecomunicazionisufficientementegeneralizzato,bidirezionaleedorientatoaibyte...>>

• Èutilizzatoperstabilireconnessioniviareteinemulazionediterminale daunhostremotoversounserver(oggièscoraggiatol’usodiTelnet,perchécomunica“inchiaro”)

• Persuastessanatura,tuttavia,puòessereutilizzatoperconnettersiallaportaTCPdiunqualsiasiservizioedutilizzareilclientperscambiaremessaggisualtriprotocolli

marco@aquilante ~$ telnet gondranoTrying 10.211.55.42...Connected to 10.211.55.42.Escape character is '^]'.

FreeBSD/i386 (gondrano.aquilante.net) (pts/0)

User: liveraniPassword: ********Last login: Sun Mar 8 21:51:03 from localhostFreeBSD 10.0-RELEASE (GENERIC) #0 r260789: Fri Jan 17 01:46:25 UTC 2014

liverani@gondrano:~$ logoutConnection closed by foreign host.marco@aquilante ~$

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 25

SMTP– SimpleMailTransferProtocol (TCPport 25)

• ÈilprotocolloutilizzatopertrasmetteremessaggidipostaelettronicadaunMTA (mailtransferagent)adunaltro

• PerognidominioInternetdeveesseredefinito(medianteunoopiùrecordditipoMXsulserverDNS)almenounmailexchanger,ossiaunhostche,medianteunsoftwareMTAcheutilizzailprotocolloSMTP,èingradodiriceverepostaelettronicaperildominiostesso

• L’architetturadelserviziodipostaelettronicapuòessereschematizzatocomeinfigura

MUA (mail user agent)

MTA (mail transfer agent)

MTA (mail transfer agent)

MUA (mail user agent)

Mittente Destinatario

SMTP SMTP POP3

Mailbox

SMTP– SimpleMailTransferProtocol (TCPport 25)

• IlprotocolloSMTPgestisceunasessione dilavorotramitelaqualepossonoessereinviatipiùmessaggidipostaelettronica

marco@aquilante ~$ telnet mail.pippo.com 25220 mail.pippo.com ESMTP PostfixHELO aquilante.net250 Hello aquilante.net, pleased to meet youMAIL FROM: <[email protected]>250 [email protected] ... Sender okRCPT TO: <[email protected]>250 [email protected] ... Recipient OkDATA354 End data with "." on a line by itselfSubject: messaggio di provaFrom: [email protected]: [email protected]

Ciao,questa e’ una prova..250 Ok: queued as 12345QUIT221 Bye

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 26

POP3– PostOfficeProtocol v.3(TCPport 110)

• Èunodeiprotocollicheconsenteadunsoftwareclientdipostaelettronica(MicrosoftOutlook,AppleMail,MozillaThunderbolt,ecc.)diconnettersiadunmailserversucuirisiedonolemailboxdegliutenti,autenticarel’utente,escaricareimessaggidipostaelettronicagiacentisulserverperl’utente

marco@aquilante ~$ telnet mail.aquilante.net 110+OK <[email protected]>USER pippo+OKPASS pluto+OKLIST+OK

1 8172 124.

RETR 1+OK

Return-Path: <[email protected]>Delivered-To: [email protected]: Sat, 22 Oct 2005 13:24:54 +0200From: Maria Rossi <[email protected]>Subject: Cena in pizzeriaContent-Type: text/plain; charset=ISO-8859-1testo messaggio.

DELE 1+OKQUIT+OK

Apparatidirete

• Hub– èunnododiconcentrazioneedismistamentosullaLANdeipacchetti

direte:riceveunpacchettodaunaportaeloinoltraatuttelealtreporte(noneseguealcunaoperazionediroutingodiindirizzamentoselettivodelpacchetto)

– operaalivello“Fisico”:illivello1dellapilaOSIsemplificataodellostack TCP/IP

• Bridge– consenteilcollegamentotradueLANcheoperanoconmezzifisici

differenti,trasportandoalivellofisicoipacchettidaunmediaall’altro– svolgeilruolodi“commutatore”nellosmistamentodeipacchettiche

provengonodaunaportadelbridgeeindirizzandoli(dopoaverneanalizzatol’header)versolaportasucuièpresenteilnododestinatario

– operaalivello“DataLink”:ilLivello2dellapilaOSIsemplificataoLivello1dellostack TCP/IP

• Switch– èunapparatoanalogoalbridge,maoperageneralmentesuuno

stessomedia(es.:reteEthernet)e,alcontrariodiunbridge,èdotatodinumerosissimeporte(decineocentinaia)

– collegainmanieratrasparenteglihostsuunaLANoperandocomeun“commutatore”eriducendolecollisionisuunaretebroadcast

– operaalivello“DataLink”:ilLivello2dellapilaOSIsemplificataoLivello1dellostack TCP/IP

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 27

Apparatidirete

• Router– èunappliance checonsentel’interconnessionetradueopiù

retiesioccupadiinstradareipacchettidaunareteversolaretesucuièpresentel’host didestinazione

– operaallivello“Network”:ilLivello3dellapilaOSIsemplificataoilLivello2dellostack TCP/IP

• Firewall– èunserver ounappliance chesioccupadifiltrare

(interrompendolatrasmissionedeipacchettioinstradandolaversoladestinazione)iltrafficoinentrataoinuscitarispettoadunarete;èutilizzatoperproteggereinodidiunaretedaintrusioniprovenientidall’esternodellaretestessa

– puòaverefunzioniIDS (Intrusion Detection System)cherilevanopossibilitentatividiattaccodall’esternoanalizzandoiltrafficodirete

– puòaverefunzioniIPS (Intrusion Prevention System)cheattuanoblocchideltrafficodiretedadeterminatihost,retiesterneoprotocolli,suindicazionedelsottosistemaIDS

– operaailivelli“Network”e“Transport”:ilivelli3e4dellapilaOSIsemplificataoilivelli2e3dellostack TCP/IP

ApparatidireteeLivellidellostack

PilaOSI Stack TCP/IP Protocolli Apparati direte

Livello1:FisicoLivello1:Networkaccess

BlueTooth,DSL,802.11

HubModem

Livello2:DataLink Ethernet,PPP,wi-fi

BridgeSwitch

Livello 3:Network Livello2:Internet IP RouterFirewall

Livello4:Transport Livello 3:Transport TCP Firewall

Livello5:Application Livello4:ApplicationFTP,SMTP,HTTP,POP3,SSH,Telnet,...

FirewallApplicazioniservereclient

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 28

Dominidicollisioneedibroadcast

• Dominiodicollisione:perimetrodellareteentrocuiipacchettipossonoandareincollisionefradiloro

• Dominiodibroadcast:perimetrodellareteentrocuiipacchettivengonoinviatiinmodalitàbroadcastatuttiinodideldominio

• Hub:consentelacreazionediundominiodicollisioneconpiùdiduenodi

• Switch:chiudeundominiodicollisionecollegandofralorodominidicollisionediversi

• Router:chiudeundominiodibroadcastcollegandofraloropiùdominidibroadcast

Dominiodibroadcast

Dominiodicollisione

Hub

Switch

Altridominidibroadcast

Router

Dominidicollisioneedibroadcast

Dominiodibroadcast

Dominiodibroadcast

Dominiodibroadcast

Dominio di

collisione

Dominio di

collisione

Dominio di

collisione

Dominio di

collisione

Dominio di

collisione

Dominio di

collisione

Dominio di

collisione

Dominio di

collisione

Dominio di

collisione

Switch

Switch

Switch

Router

UniversitàdegliStudiRomaTre- CorsodiLaureainMatematica a.a.2016/2017

M.Liverani- DispensedelcorsoIN530- Sistemiperl'elaborazionedelleinformazioni 29

Bibliografiaessenziale

①CraigHunt,TCP/IPNetworkAdministration,O’Reilly &Associates,1994.②AndrewS.Tanenbaum,DavidJ.Wetherall,Retidicalcolatori,quintaedizione,Pearson,2011.③AlvaroRetana,DonSlice,Russ White,AdvancedIPNetworkDesign,CISCOPress,1999.④RobertWright,IPRoutingPrimer,CISCOPress,1998.

⑤ IETF– InternetEngineer TaskForce,RFC– Request ForComments,https://www.ietf.org/rfc.html

⑥ IANA– InternetAssigned Number Authority,http://www.iana.org⑦NIC-IT– Registro.it,http://www.nic.it

WorkstationgraficaSun3/60SunMicrosystems (oggiincorporatainOracle)èstataunproduttoredimacchineUNIXleaderdimercato,fraleprimeaziendeacrederecheilfuturodell’informaticafossestrettamentelegatoallereti,tantodafarneunfamososloganaziendale:<<thenetworkISthecomputer>>