Lezione 12. Internet. Gianluca Reali

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Lezione 12. Internet. Gianluca Reali"

Transcript

1 Internet Gianluca Reali Integrazione delle diapositive di N. Blefari Melazzi

2 Caratteristiche generali (1/2) Le entità di elaborazione fondamentali all interno di questa struttura sono gli host e i router Gli host: sono sorgente e destinazione di informazione. Anche se dotati di diverse intefacce di rete, tipicamente fanno uso di una di queste alla volta. sono connessi tramite connessioni di rete che supportano capacità di trasferimento comprese tra decine di byte e megabyte al secondo I router: hanno due o più interfacce di rete con corrispondenti indirizzi IP inoltrano le unità informative IP La modalità di trasferimento, nello strato di rete, è senza connessione

3 Caratteristiche generali (2/2) Lo strato di rete non fornisce alcuna garanzia sulla qualità di servizio (grado di integrità informativa, ritardo di trasferimento, grado di trasparenza temporale, etc.) Il compito di rendere la qualità di servizio adeguata alle esigenze degli utenti è demandato agli strati superiori residenti negli host I suoi protocolli sono logicamente situati al di sopra di qualsivoglia altro protocollo di rete (eventualmente duplicandone le funzioni) sono in grado di operare su diverse piattaforme hardware utilizzando qualsiasi sistema operativo (UNIX, Mac OS, Windows...)

4 Struttura di rete Internet è la particolare inter-rete basata sui protocolli TCP/IP Internet non è quindi una nuova rete ma un insieme di risorse e di convenzioni per interconnettere delle reti (che sono quindi viste da Internet come sotto-reti) Scopo di Internet è quindi consentire a host appartenenti a sotto-reti disomogenee (per topologia, struttura fisica, modi di trasferimento e prestazioni) di comunicare tra loro Internet non prevede una traduzione dei protocolli nel passare da una sotto-rete all altra ma incapsula (tunneling) le unità informative di IP nelle unità dati dei protocolli di strato di rete delle sotto-reti che attraversa

5 Struttura di rete Le inter-connessioni tra diverse sotto-reti sono assicurate da elaboratori operanti come router

6 Struttura di rete H H R Sotto-rete 1 Sotto-rete 2 H H H i router instradano i pacchetti solo verso la sotto-rete di destinazione e non verso il singolo host di destinazione una volta che il pacchetto arriva alla sotto-rete di destinazione sono i protocolli di questa sotto-rete ad indirizzarlo verso lo specifico host di destinazione

7 Struttura di rete Al crescere della complessità della inter-rete il funzionamento dei router dipende dall intera topologia di Internet, ossia occorre un grado di conoscenza delle interconnessioni di rete oltre a quella delle sotto-reti alle quali i router sono direttamente connessi Sotto- Rete 1 R1 Sotto- Rete 2 R2 Sotto- Rete 3

8 Struttura di rete La struttura di rete è non gerarchica Le sotto-reti componenti possono essere distinte in sotto-reti che utilizzano direttamente IP come protocollo di strato 3 sotto-reti basate su altri protocolli di strato 3 I protocolli TCP/IP trattano tutte le sotto-reti in modo omogeneo; ad esempio, ognuno dei seguenti sistemi di comunicazione è visto da Internet come una singola sottorete una rete in area locale (es. Ethernet) una rete in area metropolitana (es. FDDI) una rete geografica (es. la rete telefonica) una connessione punto-punto dedicata

9 Esempio di sotto-rete IP

10 Interconnessione di reti non IP - Gateway

11 Architettura protocollare L insieme di protocolli TCP/IP riesce a inter-connettere tutti i tipi di sotto-rete in quanto assume che le funzionalità degli strati sottostanti costituiscano solo una piattaforma per il trasferimento fisico realizza tutte le funzioni tipiche del trasporto: controllo di errore, indirizzamento, instradamento, frammentazione e aggregazione delle unità informative, loro inoltro in rete Se alcune o tutte queste funzioni non erano state svolte da una particolare rete, TCP/IP le realizza; se erano già state svolte le duplica, realizzandole nuovamente Ciò conduce ad eventuali duplicazioni di funzioni ma consente di non imporre alcun vincolo sulla tecnologia e sui protocolli delle sotto-reti di trasporto che interconnette (X.25, Frame Relay, ATM, LAN, MAN, rete telefonica etc.)

12 Architettura protocollare Le prestazioni da estremo a estremo (velocità di trasmissione delle informazioni, grado di trasparenza temporale e di integrità informativa) sono quindi fortemente legate alle caratteristiche delle sotto-reti attraversate Il trasferimento delle unità informative può richiedere una frammentazione delle stesse laddove le dimensioni delle unità informative gestite dalle sotto-reti non coincidano con le dimensioni massime consentite

13 Architettura protocollare Strati TELNET SMTP 5-7 HTTP FTP X-Window Protocolli Servizi applicativi: GOPHER ARCHIE WHOIS Listserv WAIS TALK News NFS RIP TFTP SNMP DNS 4 TCP UDP 3c IP ICMP 3b ARP/RARP 3a X.25 strato 3, SNA, DECnet, ATM+AAL, LCP, LLC, etc. 2 X.25 strato 2, Ethernet, PPP, etc. 1 Strato fisico Tutti gli strati inferiori a IP, fino a 3a compreso, sono considerati come "Network Access Layer" e sono trattati indifferentemente dalla loro costituzione

14 Architettura protocollare IP è un protocollo di strato di rete; le sue principali funzioni sono l indirizzamento l instradamento la frammentazione e l aggregazione delle unità informative Tratta ciascun pacchetto come un messaggio indipendente da tutti gli altri; non esistono pertanto, a questo strato, i concetti di connessione e di circuito logico: il protocollo IP è senza connessione

15 Architettura protocollare Il servizio è inaffidabile e basato sul paradigma del best effort, ossia la rete cerca di fare del suo meglio Il servizio è definito inaffidabile perché la consegna di una unità informativa non è garantita. Queste possono essere perse, duplicate o consegnate fuori sequenza Il protocollo TCP offre un servizio affidabile orientato alla connessione 1) trasferisce un flusso informativo continuo e bi-direzionale 2) può sopperire a problemi di perdita, duplicazione e consegna fuori sequenza dei dati 3) attua anche un controllo di flusso che consente di adeguare il volume dei dati trasferito alle possibilità di ricezione 4) a questo scopo viene utilizzato un meccanismo a finestra scorrevole e variabile

16 Architettura protocollare ICMP (Internet Control Message Protocol) è un protocollo senza connessione ed è utilizzato per risolvere eventuali situazioni anomale controllare il trasferimento (controllo di flusso di tipo On-Off) comunicare alle sorgenti eventuali problemi (ad es. di indirizzamento) Esempi: Source Quench: inviato dal destinatario, interrompe l'emissione di datagrammi del mittente; Redirect: il destinatario segnala al mittente di re-instradare il datagramma verso un altro host; Echo: controlla se un possibile destinatario è attivo, Destination Unreacheable: notifica al mittente la non-raggiungibilità di un host

17 Architettura protocollare SNMP (Simple Network Management Protocol) è il protocollo di gestione di rete I protocolli ARP e RARP (Address Resolution Protocol, Reverse Address Resolution Protocol) sono di supporto, e servono a determinare l'indirizzo fisico locale corrispondente ad un indirizzo Internet, (ARP), o viceversa (RARP)

18 Il protocollo IP (Internet Protocol) Fornisce le seguenti funzionalità: definisce lo schema di indirizzamento; definisce l unità base per il trasferimento dei dati; definisce la strada che un unità dati deve percorrere per arrivare a destinazione; specifica un insieme di regole che host e gateway devono seguire per elaborare le unità informative frammenta e ri-assembla le unità dati

19 Formato dell unità dati Le unità-dati dello strato IP sono dette datagrammi. La lunghezza massima di un segmento è di ottetti VERS HLEN SERVICE TOTAL LENGTH TYPE IDENTIFICATION Flags FRAGMENT OFFSET TIME TO PROTOCOL HEADER CHECKSUM LIVE SOURCE IP ADDRESS DESTINATION IP ADDRESS OPTIONS PADDING DATA DATA...

20 Formato dell unità dati Vers: versione del protocollo usata; grazie a tale campo è possibile che più versioni di IP operino contemporaneamente HLEN: lunghezza dell'intestazione (specificata in parole di 32 bit) Service type: specifica parametri della qualità di servizio richiesti dall utente: affidabilità, velocità di trasferimento) Total length: (16 bit) specifica la lunghezza del datagramma, misurata in ottetti, includendo l'intestazione ed i dati (2 16-1=65535 byte) Identification: (16 bit) numero del datagramma; è un valore identificativo assegnato dal processo sorgente al datagramma o ai suoi frammenti Flags: è un campo di 3 bit: X, DF e MF X: non usato e posto a zero DF: Don't Fragment; se 0 indica che il datagramma può essere frammentato, se 1 non può esserlo MF: More Fragment; se 0 indica che è l'ultimo frammento, se 1 che ci sono altri frammenti

21 Formato dell unità dati Fragment Offset: (13 bit); posizione del frammento all'interno del datagramma, espresso in unità di 8 byte, può numerare 8192 frammenti; se uno o più frammenti non viene ricevuto, verrà scartato l'intero datagramma Time to Live: (8 bit); indica quanto tempo il datagramma può rimanere all'interno della rete Protocol: indica a quale protocollo dello stato superiore deve essere trasferito il contenuto informativo del datagramma Header Cecksum: l'intestazione è protetta da un controllo di errore Source Address: (32 bit); indirizzo di sorgente IP (ovvero dell interfaccia di rete, non dell utente finale) Destination Address: (32 bit); indirizzo di destinazione IP (ovvero dell interfaccia di rete, non dell utente finale)

22 Formato dell unità dati Options: campo di lunghezza variabile (multipli di 8 bit) che può essere omesso. È composto da tanti ottetti quante sono le opzioni implementate. Ad esempio: Record Route Option (RRO): consente al mittente di creare una lista vuota di indirizzi IP in modo che ogni nodo attraversato inserisce il suo indirizzo in questa lista Source Route Option: consente al mittente di specificare i nodi attraverso i quali vuole che transiti il datagramma Timestamp Option: come RRO con in più l'istante temporale in cui il datagramma attraversa i diversi nodi Padding: rende la lunghezza dell'intestazione multipla intero di 32 bit mediante introduzione di zeri

23 Frammentazione e ri-assemblaggio Le reti individuali possono avere diverse limitazioni per la lunghezza dei pacchetti; il datagramma deve quindi poter essere frammentato per attraversare le diverse reti Le procedure di segmentazione e ri-assemblaggio devono essere in grado di frammentare il pacchetto originario in un numero arbitrario di unità che, giunte a destinazione, devono poter essere ricomposte nella forma originaria

24 Frammentazione e ri-assemblaggio Diversi collegamenti di rete hanno MTU (Maximum Transfer Unit) diverse, corrispondenti a diverse dimensioni della trama sottostante Differenti tipi di collegamenti, differenti MTU frammentazione: in: un datagramma grande out: 3 datagrammi più piccoli Grandi datagrammi IP divisi (frammentati) nella rete Un datagramma suddiviso in più datagrammi Riassemblato soltanto alla destinazione finale I bit dell intestazione IP sono usati per identificare e ordinare i vari segmenti reassembly

25 Frammentazione e ri-assemblaggio Length=4000 = 20 Header Dati Length=1500 = 20 Header Dati length =4000 ID =x datagrammi più piccoli length ID =1500 =x Frag-flag DF=0, MF=0 offset =0 Un datagramma grande è suddiviso in Frag-flag DF=0, MF=1 offset =0 Length=1500 = 20 Header Dati length =1500 ID =x Frag-flag DF=0, MF=1 offset =1480 Length=1040 = 20 Header Dati length =1040 ID =x Frag-flag DF=0, MF=0 offset =2960 => Lunghezza totale 3 datagr. = 4040 (2 intestaz. in più)

26 Schema di indirizzamento Internet è stata definita sistema di comunicazione universale perché consente ad ogni host di comunicare con ogni altro host Al tal fine è necessario stabilire un metodo globalmente accettato per identificare ed indirizzare in modo univoco tutti gli host Ciò ha reso necessaria la definizione di un nuovo schema di indirizzamento, dato che ognuna delle sotto-reti ne ha uno proprio, e quindi potenzialmente non univoco (a livello globale), (indirizzi MAC, indirizzi X.25, numeri telefonici etc.)

27 Schema di indirizzamento Gli indirizzi devono essere unici in tutta la rete (è possibile attribuire indirizzi arbitrari ad una sub-rete TCP/IP solo se questa non è connessa con altre reti) Un indirizzo IP identifica una interfaccia di rete. Nel caso di host, un indirizzo IP corrisponde anche allo stesso host, ma non ad uno specifico utente dei servizi IP. L identificazione di un utente (processo applicativo, in senso OSI e TCP/IP) all interno di un host è affidata ai protocolli di strato superiore (TCP o UDP) Lo schema di indirizzamento IP è stato progettato per consentire un efficiente instradamento. Un indirizzo IP identifica prima la rete alla quale un host è connesso e poi l host all interno di quella rete

28 Schema di indirizzamento Un indirizzo IPv4 è costituito da 32 bit, logicamente suddivisi in due parti: Net_Id e Host_Id. L indirizzo completo può quindi essere scritto come: IP_Address = Net_Id. Host_Id La lunghezza dei due campi determina la classe degli indirizzi

29 Schema di indirizzamento Indirizzamento per classi : 127 reti, host reti, host reti, 256 host indirizzi

30 Schema di indirizzamento Notazione numerica, dotted decimal e mnemonica ; esempio: net5.diei.unipg.it Un opportuno protocollo (DNS) provvede a tradurre un indirizzo numerico in mnemonico e viceversa

31 Schema di indirizzamento Al fine di assicurare che ogni indirizzo di Internet sia unico è stata costituita un autorità centrale con il compito di assegnare gli indirizzi: Internet Assigned Number Authority (IANA), recentemente sostituita da Internet Corporation for Assigned Names and Numbers (ICANN) Viene però assegnata solo la parte Net_Id delegando poi l organizzazione richiedente per l assegnazione della restante parte dell indirizzo, l Host_Id La IANA ha definito degli indirizzi IP privati BLOCCO Indirizzo iniziale Indirizzo finale I II III IETF ha anche riservato il blocco per l autoconfigurazione degli indirizzi link-local (automatic private).

32 Schema di indirizzamento L organizzazione alla quale è assegnata una Net_Id potrà suddividere la parte di Host_Id per creare, al suo interno, delle sotto-reti (subnetting) ognuna delle quali avrà la stessa Net_Id; il processo può essere iterativo Indirizzo di classe B Indirizzo con definizione di sotto-rete netmask L operazione di AND fra l indirizzo IP e la netmask consente di individuare l indirizzo della sotto-rete. Dal punto di vista dei core router, che instradano i datagrammi sulla base del Net-id, il subnetting è trasparente

33 Schema di indirizzamento Come determinare una rete: Staccare ogni interfaccia dai router / host Creare isole di indirizzi IP Il sistema interconnesso è composto da 6 sotto-reti

34 Schema di indirizzamento Esempio di subnetting di una rete ethernet interconnessa

35 Indirizzamento per classi: Indirizzamento IP: CIDR Uso inefficiente dello spazio degli indirizzi => si stanno esaurendo rapidamente Esempio: una organizzazione che necessita di alcune migliaia di indirizzi IP è costretta a richiedere un blocco di classe B, che consente di indirizzare 64K host. CIDR: Classless InterDomain Routing La porzione di rete dell indirizzo può essere di dimensione qualsiasi Formato degli indirizzi: a.b.c.d/x, dove x è il numero di bit nella porzione di rete nell indirizzo (numero di bit più significativi in comune nel blocco) Parte rete Parte host /23

36 Indirizzamento IP: CIDR In questo caso l instradamento dei core router deve tener conto del formato variabile del Net-id Per determinare il Net-id si usa la tecnica del longest prefix match, che consiste nell individuare, nella tabella di routing, fra le sottoreti di destinazione note, quella avente la più lunga rappresentazione binaria compatibile con l indirizzo IP di destinazione del pacchetto da inoltrare, ossia la più lunga fra quelle, se ce ne sono, che corrispondono a un certo numero di bit iniziali dell indirizzo IP. Se l indirizzo di rete risulta sconosciuto il datagramma si instrada verso la porta di default

37 Come ottenere l indirizzo IP Porzione host-id dell indirizzo: Codificato dall amministratore di sistema in un file DHCP: Dynamic Host Configuration Protocol: serve ad ottenere dinamicamente l indirizzo IP (approccio plug-and-play ) L host invia in broadcast il messaggio DHCP discover Il DHCP server risponde con il messaggio DHCP offer L host richiede l indirizzo IP con il messaggio DHCP request DHCP server invia l indirizzo con il messaggio DHCP ack

38 Come ottenere l indirizzo IP Porzione Net-id dell indirizzo: Porzione allocata dello spazio degli indirizzi dell ISP Blocco ISP /20 Organizzazione /23 Organizzazione /23 Organizzazione / Organizzazione /23

39 Indirizzamento Gerarchico L indirizzamento gerarchico permette di esportare in modo efficiente le informazioni di instradamento: Organization /23 Organization /23 Organization /23 Organization /23. Fly-By-Night-ISP Mandami i datagrammi con indirizzo che comincia per /20 Internet ISPs-R-Us Mandami i datagrammi con indirizzo che comincia per /16

40 Indirizzamento Gerarchico ISPs-R-Us esporta una strada più specifica verso Organization 1 Organization /23 Organization /23 Organization /23. Fly-By-Night-ISP Mandami i datagrammi con indirizzo che comincia per /20 Internet Organization /23 ISPs-R-Us Mandami i datagrammi con indirizzo che comincia per /16 o /23

41 Indirizzamento IP: per finire Come può un ISP ottenere un blocco di indirizzi? Risposta: Internet Corporation for Assigned Names and Numbers (ICANN): Alloca gli indirizzi Gestisce il servizio di Guida (DNS) Assegna i nomi ai domini, risolve le dispute

42 Instradamento Ogni datagramma IP attraversa un cammino composto da router e da sotto-reti Quando un router consegna un datagramma ad una sottorete questo diventa una unità dati propria della sotto-rete La rete individuale consegna tale unità dati al router successivo o alla stazione host di destinazione (se questo è all'interno della rete stessa) con le stesse modalità con le quali tratta una qualsiasi unità dati

43 Instradamento INTERNET host mittente Net_id Data sub-rete A (X25) PCI pacchet. PCI trama Net_id Data router X Net_id Data sub-rete B (?) PCI? Net_id Data router Y Net_id Data LAN 1 Bridge LLC MAC Net_id Data LAN 2 host destinatario Net_id Data

44 Instradamento L'instradamento in Internet può essere suddiviso in due classi diretto indiretto L instradamento diretto è possibile solo se l host destinatario è connesso alla sotto-rete fisica nella quale il datagramma è presente. In particolare si effettua solo un instradamento diretto quando gli host mittete e destinatario si trovano nella stessa sotto-rete. l instradamento indiretto si applica quando l host destinatario è connesso ad una sotto-rete diversa da quella in cui si trova l host mittente

45 Tabelle di instradamento Il meccanismo per l instradamento in IP è basato su una tabella che ogni host o router mantiene allo scopo di conoscere le possibili destinazioni e le modalità per raggiungerle Una tabella di instradamento contiene delle coppie (R,I) dove R è l indirizzo della rete di destinazione e I è l indirizzo del router successivo lungo la strada che porta alla rete di destinazione La tabella di instradamento specifica quindi solo un passo lungo il cammino verso la destinazione Un router non conosce quindi il cammino completo che il datagramma dovrà compiere

46 Tabelle di instradamento Rete Rete Rete R R R3 Rete Per raggiungere host indirizzati alla rete: indirizzare i datagrammi verso questa strada (o router): inoltrare direttamente inoltrare direttamente Tabella di instradamento di R2

47 Algoritmo di instradamento del nodo X 1) Estrazione dell l indirizzo IP di destinazione dal datagramma in arrivo 2) se tale indirizzo coincide con quello di X (cioè con il nodo stesso) si estrae il contenuto informativo e lo si consegna agli strati superiori per ulteriore elaborazione 3) altrimenti si determina la Net-Id dell indirizzo e si decrementa il Time to Live del datagramma; se il Time to Live arriva a zero si scarta il datagramma 4) se la Net-Id coincide con quella di una sotto-rete alla quale è direttamente connesso il router X (cioè il router stesso) si invia il datagramma direttamente (cioè con instradamento diretto; ciò implica la traduzione dell indirizzo IP in indirizzo fisico e l incapsulamento nell unità dati della rete in questione) 5) altrimenti se è stata richiesta una strada specifica si invia verso tale strada 6) altrimenti se la Net-Id è compresa nella tabella di instradamento si inoltra il datagramma come specificato nella tabella 7) altrimenti, se è stata specificata una strada di default, si invia il datagramma al default gateway 8) altrimenti si dichiara un errore di instradamento e si scarta il datagramma

48 Esempio di invio di un datagramma Tabella di routing in A Dest. Net. next router N hops Datagramma IP: misc fields source IP addr dest IP addr data A B E

49 Esempio di invio di un datagramma misc fields data Partendo da A, dato un datagramma IP indirizzato a B: Dest. Net. next router N hops Guarda alla porzione rete dell indirizzo di B Trova B nella stessa rete di A Lo strato di collegamento invia il datagramma direttamente a B dentro una trama di strato 2 B e A sono connessi direttamente A B E

50 misc fields Esempio di invio di un datagramma data Partendo da A, destinazione E: Guarda alla porzione di rete dell indirizzo di E E è su una rete differente A ed E non sono direttamente connessi A Dest. Net. next router N hops Tabella di instradamento: il prossimo salto (router) verso E è Lo strato di collegamento invia il datagramma al router dentro una trama di stato 2 B E Il datagramma arriva a

51 Esempio di invio di un datagramma next misc fields data Dest. Net router N hops interface Arrivando a , destinato a Guarda la parte di rete dell indirizzo di E A E è sulla stessa rete dell interfaccia del router Router ed E sono direttamente connessi Lo strato di collegamento inviail datagramma a dentro una trama di strato 2 attraverso l interfaccia B E Il datagramma arriva a

52 Determinazione delle tabelle Le tabelle di instradamento sono dinamiche: ogni router ed ogni host imparano nel tempo ed aggiornano le informazioni di instradamento La necessità di un aggiornamento dinamico è dovuta al fatto che Internet non può essere considerata stabile; inoltre in caso di guasti alcune strade non sono utilizzabili Se l instradamento si basa su un algoritmo adattativo, allora l aggiornamento deve anche tener conto di altre informazioni, come lo stato di occupazione delle risorse di rete Le tabelle di instradamento devono quindi tenere conto di tutti questi cambiamenti ed essere aggiornate continuamente (anche ad intervalli di pochi secondi) Questa operazione è attuata mediante opportuni protocolli che consentono ai router di comunicare

53 Sistemi autonomi Si definisce come sistema autonomo un insieme di host, router e reti fisiche controllate da una singola autorità amministrativa; si distinguono anche router interni (core) ad un sistema autonomo e router di frontiera (edgeborder) I router all interno di un sistema autonomo possono essere configuarti liberamente per utilizzare qualsiasi meccanismo per scoprire, comunicare ad altri router interni e controllare la consistenza dei percorsi Ogni sistema autonomo deve però affidare in modo specifico ad uno o più dei suoi router il compito di informare il mondo esterno della sua topologia

54 Instradamento in Internet Le informazioni di instradamento riguardanti le strade all interno di un sistema autonomo sono gestite in proprio per mezzo degli Interior Gateway Protocol (IGP) Le informazioni di instradamento riguardanti strade che coinvolgono più di un sistema autonomo sono effettuate mediante gli Exterior Gateway Protocol (EGP) La Internet Globale consiste di Sistemi Autonomi (AS) interconnessi l uno con l altro: Transit AS: fornitori solo del servizio di connettività ad altri AS Stub AS: piccole corporazioni (un solo link verso un solo transit AS) Multihomed AS: grandi corporazioni (più link verso diversi transit AS) Instradamento su due livelli: Intra-AS: l amministratore è responsabile per le scelte algoritmiche Inter-AS: standard unico

55 Instradamento in Internet Inter-AS border router (exterior gateway) Itra-AS interior router (gateway)

56 Interior Gateway Protocol Il modo in cui questi protocolli determinano le tabelle di instradamento può essere diverso, cioè basato sull uso di diversi algoritmi, ognuno dei quali ha vantaggi e svantaggi Gateway to Gateway Protocol (GGP) Shortest Path First (SPF) e Open SPF (OSPF) HELLO Routing Information Protocol (RIP) Interior Gateway Routing Protocol (IGRP)

57 SPF (Shortest Path First) Il percorso migliore è determinato localmente mediante l algoritmo di Dijkstra (secondo diversi criteri) dal momento che la topologia cambia continuamente (per guasti ed aggiunte od eliminazioni di link e di host) un continuo scambio di messaggi mantiene aggiornata la topologia memorizzata da ogni gateway Il principale vantaggio di questo algoritmo è la velocità: al momento di determinare una strada l algoritmo risponde immediatamente senza bisogno di interrogare altri router Lo svantaggio principale è che per mantenere aggiornata la topologia di rete, è necessario un continuo scambio di messaggi.

58 OSPF Open : disponibile in modo pubblico Basato sull algoritmo di Dijkstra L OSPF Advertisement prevede una voce nella tabella esportata per tutti router vicini, che specifica la distanza da questi Advertisement disseminati per l intero AS (tramite flooding) Include l instradamento basato sul Service Type e quindi tiene conto delle richieste degli utenti in termini di prestazioni Consente di bilanciare il carico in rete Consente di dividere gerarchicamente un sistema autonomo Le sue comunicazioni prevedono un autenticazione per garantire la sicurezza

59 OSPF Suddivisione gerarchica di un AS

60 OSPF Gerachia a due livelli: area locale, backbone. Link-state advertisements solo nell area locale Ogni nodo mantiene un topologia dell area; conosce soltanto direzioni (cammino più corto) alle reti nelle altre aree. Area border router: appartengono sia all area specifica sia alla backbone. Backbone router: OSPF routing limitato al backbone. Boundary router: connessi ad altri AS.

61 RIP Algoritmo Distance Vector (Bellman-Ford) È uno dei protocolli più usati, non perché abbia particolari vantaggi rispetto agli altri, ma perché è stato incluso nella Distribuzione BSD- UNIX nel 1982 Metrica delle Distanze: # di salti (max = 15 hop) massimo costo di un percorso fissato a 15 aumenta artificialmente il numero di salti di un cammino attraverso reti lente Distance Vector: messaggi scambiati ogni 30 secondi via Response Message (chiamato anche Advertisement) Ogni avviso include strade fino a 25 reti di destinazione Se non pervengono avvisi dopo 180 sec => il link è dichiarato morto Le strade per quel vicino sono invalidate Nuovi avvisi inviati ai vicini

62 RIP Elaborazione delle Tabelle: Tabelle di Instradamento di RIP gestite da processi applicativi chiamati route-d (d da daemon) Advertisements incapsulati in pacchetti UDP, ripetuti periodicamente

63 Router: giroflee.eurocom.fr Destination Gateway Flags Ref Use Interface UH lo0 loopback U 2 13 fa0 C U le0 C U 2 25 qaa0 C U 3 0 le0 multicast default UG le0 (subnet ) Tre reti di classe C attaccate (LAN) Router conosce solo strade attaccate alle LAN Default router usato per uscire Indirizzo multicast: Interfaccia di Loopback (per il debugging)

64 BGP (Border Gateway Protocol) Standard de facto lo scambio di informazioni consente ai gateway di costruire il grafo di connettività dei sistemi autonomi L'informazione sulla raggiungibilità delle reti ha ovviamente maggior impatto nel caso in cui sia presente, lungo il percorso tra un sistema autonomo sorgente e uno di destinazione, un certo numero di altri sistemi autonomi con funzioni di transito Ciò consente al protocollo la scelta tra più instradamenti disponibili e la possibilità di effettuare la ri-distribuzione del traffico Protocollo Path Vector : Simile al protocollo Distance Vector Il protocollo effettua la verifica dello stato di un link o di un host inviando periodicamente messaggi di keepalive (il periodo raccomandato è di 30 sec.). Ogni Border Gateway invia in broadcast ai vicini (peer) l intero cammino (cioè la sequenza di AS) verso le destinazioni Il Gateway X può inviare il suo cammino verso la destinazione Z: Path (X,Z) = X,Y1,Y2,Y3,,Z

65 BGP Il gateway X invia il suo cammino al peer gateway W W può selezionare o non selezionare il cammino offerto da X costo, criteri di policy (non inoltrare strade/traffico verso un AS concorrente), criteri di prevenzione dei cicli chiusi consente di utilizzare opportune politiche di restrizione per il traffico in transito, stabilite dal gestore del sistema e codificate in tabelle di configurazione, che vengono poi passate al protocollo Se W seleziona il cammino esportato da X, allora: Path (W,Z) = w, Path (X,Z) Nota: X può controllare il traffico entrante controllando le strade esportate ai peer: Per esempio, se non vuole inoltrare traffico a Z => non esporta alcun cammino verso Z

66 BGP Messaggi BGP sono scambiati attraverso connessioni TCP semipermanenti (ebgp tra diversi AS, ibgp nello stesso AS). I messaggi BGP: OPEN: apre una connessione TCP verso il peer e autentica il mittente UPDATE: esporta un nuovo cammino (o ne toglie uno presente) KEEPALIVE mantiene la connessione viva anche in assenza di aggiornamenti (messaggi di UPDATE); inoltre riscontra (ACK) le richieste di OPEN NOTIFICATION: riporta gli errori nei precedenti messaggi; usato anche per chiudere le connessioni ROUTE-REFRESH: aggiunto successivamente (RFC 2918), serve chiedere conferma di un percorso esportato in seguito a una variazione di politica di instradamento. Rappresenta un alternativa ai precedenti meccanismi di mantenimento dei percorsi

67 ICMP (Internet Control Message Protocol) Il protocollo IP è senza connessione e non affidabile Se un gateway non riesce ad instradare o a consegnare un datagramma o se riscontra situazioni anomale (tra cui congestione di rete) deve poter notificare il mittente del datagramma affinché siano attuate opportune operazioni per correggere il problema Possibili problemi possono essere: un dispositivo di rete non funziona correttamente o non funziona del tutto (incluse le linee di collegamento) l host di destinazione è temporaneamente o permanentemente disconnesso dalla rete il contatore del Time to Live arriva a zero i gateway o le linee intermedie sono talmente congestionate da non poter gestire il traffico in transito

68 ICMP I messaggi di ICMP sono trasportati in rete per mezzo dei datagrammi, incapsulati nella parte dati del datagramma IP ICMP può quindi essere considerato un sub-strato di IP (visto che serve a trasportare messaggi tra due entità IP) ma è funzionalmente al di sopra di IP (visto che i suoi messaggi governano il funzionamento di IP). La funzione di ICMP è solo di notifica degli errori all host di origine e non specifica le azioni che devono essere intraprese per rimediare agli errori ed ai malfunzionamenti Sarà poi l host di origine a porre in relazione il particolare errore con il relativo programma applicativo (ad esempio con un protocollo di instradamento, o con IP) e a decidere cosa fare per risolvere il problema ICMP notifica eventuali errori solo al gateway o all host che ha originato un datagramma e non a gateway od host intermedi lungo la strada attraversata dal datagramma stesso, perché ogni datagramma contiene solo l indirizzo del mittente e quello della destinazione e quindi non è possibile, esaminando un datagramma, scoprire che strada ha percorso.

69 ICMP La procedura di gestione dei datagrammi prevede un unica differenza tra i datagrammi che trasportano i messaggi ICMP e gli altri: non vengono generati messaggi ICMP in seguito ad errori causati da datagrammi che trasportano messaggi ICMP ciò serve ad evitare messaggi di errore relativi a messaggi di errore. Ogni messaggio ICMP è in relazione ad uno specifico datagramma (e non potrebbe essere altrimenti visto che IP è un protocollo senza connessione) Un messaggio ICMP contiene quindi anche un identificativo del particolare datagramma che ha generato l errore o la situazione anomala

70 ICMP CONTENUTO DEI MESSAGGI ICMP: Type (8 bit) code (8 bit) checksum (16 bit) Header + primi otto byte del datagramma IP che ha causato l errore (per la segnalazione di un problema) Type Code description 0 0 echo reply (ping) 3 0 dest. network unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header

71 Domain Name System Il software implementato in Internet consente di utilizzare oltre alla notazione dotted anche un altro tipo di notazione (mnemonica): = attila.diei.unipg.it E necessario che un opportuno software di rete traduca nomi in indirizzi e viceversa (il passaggio da notazione dotted a indirizzo di 32 bit è banale in quanto implica una semplice conversione decimale-binario) Questa traduzione è attuata da un protocollo di alto livello implementato in un meccanismo noto come Domain Name System (DNS)

72 Attribuzione dei nomi L insieme dei nomi è prima partizionato in un certo numero di sotto-insiemi dal Network Information Center (NIC); il compito di assegnare i nomi all interno di un sotto-insieme è delegato ad un autorità di livello inferiore e così via Un nome è composto da una serie di sotto-nomi separati da un punto. Ogni punto separa un autorità da quella che gli è gerarchicamente inferiore attila.diei.unipg.it autorità gerarchicamente inferiore

73 Attribuzione dei nomi classificazione per tipologia Nome del dominio Tipo di organizzazione COM Commerciali EDU Accademiche e didattiche GOV Statali MIL Militari NET Centri di Gestione di Internet ARPA ARPANET (obsoleto) INT Organizzazioni internazionali ORG Altre organizzazioni FIRM Aziende, affari STORE Merce in vendita WEB enfatizzante WWW ARTS enfatizzante arte e cultura REC enfatizzante intrattenimento e divertimenti INFO enfatizzante fornitori di informazione NOM enfatizzante nomenclature personali

74 Attribuzione dei nomi Nome del dominio classificazione geografica USA IT DE FR UK JP etc. nazione USA Italia Germ. Franc. G.Br. Giapp. etc.

75 Attribuzione dei nomi. Root Domain usa it... nasa com mil gov org net edu nsf ny ca ibm dec unipg berkeley rutgers

76 UDP Query UDP Reply DNS: local name server Host richiedente Ogni host ha un local name server di riferimento (di cui conosce l indirizzo numerico) 1 query Local name server 2 reply Solitamente, un local name server, è in grado di rispondere alle richieste relative ad indirizzi vicini a quello richiedente (default)

77 DNS: root name server Se il local name server non è ha conoscenza dell indirizzo richiesto dall host rivolge la domanda al root name server. Host richiedente 1 query Local name server 4 reply 3 reply 2 query Quest ultimo può essere a conoscenza della corrispondenza tra indirizzo mnemonico e numerico; in caso contrario conosce l authoritative name server a cui rivolgersi. Root name server

78 DNS: authoritative name server Host richiedente 1 query Local name server 6 reply 5 reply 2 query Ogni host è registrato presso un authoritative name server. Questo è sempre in grado di risolvere la corrispondenza tra nome e indirizzo IP In generale ci possono essere due o più name server tra il root e l authoritative 3 query Root name server 4 reply Authoritative name server

79 Esempio Host richiedente infocom.uniroma1.it 1 query Local name server dns.uniroma1.it 8 reply 7 reply 2 query 3 query Root name server name server dns.ucla.edu 6 reply 4 query Authoritative name server dns.dept.ucla.edu 5 reply comnet.ucla.edu=

80 Tipi di interazioni L interazione tra name server può essere di tipo ricorsivo: A B C di tipo iterativo (ad A viene dato l indirizzo del server C che può soddisfare la richiesta): B A C

81 Bilanciamento del carico Il DNS viene anche usato per bilanciare il carico distribuendolo su server che replicano le stesse informazioni le varie richieste. Esempio: Siti molto frequentati (es. cnn.com) sono replicati su più server web con indirizzi IP diversi. Un insieme di indirizzi IP è associato (nel DNS) allo stesso nome canonico. Quando un client chiede di risolvere il nome in indirizzo IP viene fornito l insieme di indirizzi IP, ma in ordine differente ogni volta. Normalmente un client userà il primo indirizzo IP fornitogli. Concetto di Content Distribution Networks: Il fenomeno del caching dei nomi sui sistemi intermedi può ridurre l efficienza di uno schema (ad esempio a rotazione dei nomi) basato esclusivamente sul DNS

82 Traduzione di indirizzi Ogni calcolatore collegato ad una rete ha un indirizzo che lo contraddistingue nell ambito di quella rete (ad. es. indirizzo Ethernet contenuto nella scheda fisica del calcolatore, numero telefonico, indirizzo X.25, etc.) Internet necessita di protocolli che permettano di associare dinamicamente gli indirizzi degli host nell ambito delle loro reti di appartenenza ai relativi indirizzi IP La funzionalità di un tale protocollo è legata unicamente alla rete a cui è collegato il calcolatore

83 Traduzione di indirizzi Il protocollo ARP (Address Resolution Protocol) permette di associare dinamicamente l'indirizzo fisico all'indirizzo IP e aggiorna contemporaneamente la tabella ARP contenente le corrispondenze già risolte La tabella svolge la funzione di cache, cioè permette di ottenere rapidamente quelle informazioni che vengano richieste ripetutamente in brevi intervalli di tempo Periodicamente le informazioni vengono cancellate in modo da garantire la consistenza con le mutate condizioni della topologia di rete

84 Traduzione di indirizzi Il protocollo RARP (Reverse Address Resolution Protocol) è utilizzato da calcolatori connessi in rete, e privi di sistemi di memorizzazione di massa, per determinare, durante la fase di inizializzazione, il proprio indirizzo IP a partire dall indirizzo fisico della particolare interfaccia di rete Il RARP server una volta ricevuta la richiesta risponde inviando l indirizzo IP cercato

85 Esempi DNS risolvi il nome nic.switch.ch UDP FTP Comando utente: ftp nic.switch.ch l indirizzo IP corrispondente è TCP L indirizzo appartiene alla sotto-rete locale? IP Si: instradamento diretto: invia il datagramma a destinazione Bus Ethernet ARP: richiedi l indirizzo MAC corrispondente all indirizzo IP No: instradamento indiretto: invia il datagramma al router di default richiesta ARP: risposta ARP: 00:12:c3:4b:3a:01

86 User Datagram Protocol (UDP) Protocollo di trasporto senza fronzoli Senza connessione: Nessuna procedura di handshaking tra il mittente ed il destinatario Ogni segmento UDP viene gestito in modo indipendente dagli altri Offre soltanto il servizio di multiplazione agli applicativi Perché è stato definito UDP? Nessuna instaurazione di connessione (che può aggiugere ritardo) Semplice: nessuno stato per le connessioni al mittente/ricevitore Piccola intestazione nei segmenti Nessun controllo della congestione: UDP può trasmettere i dati senza condizionamenti dalla rete

87 UDP Spesso usato per applicazioni di streaming multimediale: Tolleranti alle perdite Sensibili al ritmo trasmissivo Altri usi di UDP: DNS SNMP Trasferimento affidabile sopra UDP: l affidabilità è aggiunta a livello applicativo Recupero di errore specifico dell applicazione Lunghezza, in byte del segmento UDP, intestazione inclusa 32 bits source port # dest port # length checksum Dati dell applicazione (messaggio) Formato del segmento UDP

88 UDP Checksum: rivelare gli errori nel segmento trasmesso Lato mittente: Tratta il contenuto del segmento come una sequenza di interi di 16-bit Checksum: fa uso sia all header UDP, sia all header IP, sia dei dati (pseudo header), considerati interi di 16 bit, sommati in binario (complemento a 1). Il risultato è ulteriormente complementato a 1. Il mittente inserisce il valore della checksum nel campo checksum di UDP Ricevitore: Calcola la checksum del segmento ricevuto Controlla se il valore ottenuto è uguale a quello del campo checksum: NO => è stato rilevato un errore SI => non sono stati rivelati errori. Tuttavia questo non implica che il segmente ne sia esente

89 Transmission Control Protocol (TCP) E un protocollo: con connessione controllo e recupero di errore controllo di flusso e di congestione ri-ordinamento delle unità informative indirizzamento di uno specifico utente all interno di un host Trasferisce un flusso informativo continuo e bi-direzionale ed effettua operazioni di multiplazione e de-multiplazione

90 TCP Un indirizzo IP identifica solo un interfaccia di rete e non gli utenti o i processi attestati ad un host. Compito di TCP è quindi anche quello di distinguere tra i diversi programmi applicativi ed i diversi utenti che fanno uso di un host L'indirizzo di un utente in TCP, lungo 16 bit, indica la porta (port) con la quale l applicazione è connessa, sia lato mettente sia lato destinatario.

91 TCP La componente "port" è contenuta nell'intestazione dell unità dati di TCP, mentre la componente IP_Address è contenuta nell'intestazione dell unità dati di IP Questo significa che tutte le connessioni in atto tra due specifici host useranno lo stesso indirizzo IP di sorgente e lo stesso indirizzo IP di destinazione Saranno perciò distinte solo a strato TCP. Ne segue che queste connessioni possono essere viste come multiplate su un unico indirizzo IP ovvero su di un unico canale IP di comunicazione

92 TCP Essendo TCP un protocollo con connessione, saranno presenti le fasi di instaurazione, trasferimento dati ed abbattimento TCP accetta dal livello superiore messaggi senza vincoli sulla loro lunghezza, li frammenta e li invia in datagrammi distinti Intestazione IP (contiene l indirizzo IP) Intestazione TCP (contiene l indirizzo di port) TCP Data IP Data

93 Formato dell unità dati (1/5) Le unità-dati dello strato TCP sono dette segmenti Source Port Destination Port Sequence Number Acknowledgement Number Offset Reserved Control Window Check sum Urgent Pointer Options Padding Data Data...

94 Formato dell unità dati (2/5) Source Port (16 bit): definisce l'indirizzo logico del processo sorgente dei dati. Destination Port (16 bit): definisce l'indirizzo logico del processo destinatario dei dati Sequence Number (32 bit): numero di sequenza in trasmissione; contiene il numero di sequenza del primo byte di dati contenuti nel segmento a partire dall'inizio della sessione (se SN=m ed il segmento contiene n byte il prossimo SN sarà pari a m+n) Acknowledgement Number (32 bit): numero di sequenza in ricezione; nei segmenti in cui il bit ACK, presentato più avanti, è impostato ad uno, contiene il numero di sequenza del prossimo byte che il trasmettitore del segmento si aspetta di ricevere Nel caso di connessioni interattive bi-direzionali avviene il piggybacking degli acknowledgement (nel senso che si utilizzano i segmenti di risposta contenenti dati di utente per inviare gli acknowledgement al trasmettitore senza dover inviare dei segmenti appositi)

95 Formato dell unità dati (3/5) Offset (4 bit): contiene il numero di parole di 32 bit contenute nell'intestazione di TCP. Indica l inizio del campo dati. Reserved (4 bit (ex-6bit)): riservato per usi futuri, per ora contiene degli zeri Window (16 bit): larghezza della finestra; contiene il numero di byte che, a cominciare dal numero contenuto nel campo Acknowledgement Number, il trasmettitore del segmento è in grado di ricevere. SI noti che il controllo di flusso è orientato al byte Checksum (16 bit): contiene la sequenza che permette al TCP ricevente di verificare la correttezza del segmento

96 Formato dell unità dati (4/5) Control bit (6 bit): i bit di controllo sono: CWR (congestion window reduced) (ex campo reserved, RFC 3168): se vale 1 indica che l host sorgente ha ridotto la finestra di congestione in seguito a una notifica esplicita di congestione. ECE (explicit congestion notification ECN echo) (ex campo reserved): se vale 1 indica che l host supporta ECN durante il three-way-hadshake. URG: viene posto a uno quando il campo pointer contiene un valore significativo; ACK: viene posto a uno quando il campo Acknowledgement Number contiene un valore significativo; PSH: viene posto a uno quando l'applicazione esige che i dati forniti vengano trasmessi e consegnati all'applicazione ricevente prescindendo dal riempimento dei buffer allocati fra applicazione e TCP e viceversa (solitamente infatti è il riempimento dei suddetti buffer che scandisce la trasmissione e la consegna dei dati); RST: viene posto a uno quando un malfunzionamento impone il reset della connessione; SYN: viene posto a uno solo nel primo segmento inviato durante il 3-way handshaking (fase di sincronizzazione fra le entità TCP); FIN: viene posto a uno quando la sorgente ha esaurito i dati da trasmettere per rilasciare la connessione.

97 Formato dell unità dati (5/5) Urgent Pointer (16 bit): contiene il numero di sequenza del byte che delimita superiormente i dati che devono essere consegnati urgentemente al processo ricevente. Tipicamente sono messaggi di controllo che esulano dalla comunicazione in senso stretto. A tale traffico ci si riferisce di solito con il nome di out-of-band Options (di lunghezza variabile): sono presenti solo raramente: le più note sono End of Option List, No-operation e Maximum Segment Size (più brevemente MSS). Padding (di lunghezza variabile): contiene sempre degli zeri. Serve come riempitivo aggiunto per far sì che l'intestazione abbia una lunghezza multipla di 32 bit Si noti che le unità dati di TCP possono trasportare solo messaggi di controllo (ad. es. per instaurare o abbattere una connessione) o solo dati di utente o entrambi. TCP usa il campo Control per specificare la funzione ed il contenuto di un segmento

98 Instaurazione e rilascio di una connessione Le due entità TCP interagenti si sincronizzano scambiandosi il proprio numero di sequenza iniziale, che rappresenta il numero a partire dal quale tutti i byte trasmessi, una volta instaurata la connessione, saranno numerati in sequenza. il numero di sequenza in trasmissione non può iniziare da una dato valore fisso; ogni volta che si instaura una nuova connessione bisogna scegliere il numero di sequenza da cui partire in modo casuale mediante un opportuna sincronizzazione, necessaria per risolvere potenziali situazioni anomale; IP non è affidabile e quindi i datagrammi possono andare persi, essere ritardati, duplicati o consegnati fuori sequenza. TCP ri-trasmette i segmenti persi dopo un certo time-out Possono nascere dei problemi se richieste originali e ri-trasmesse arrivano mentre una connessione sta per essere instaurata o se richieste ri-trasmesse sono ritardate ed arrivano dopo che una connessione è stata instaurata, usata o rilasciata, quindi può accadere che un segmento appartenente ad una vecchia connessione entri in un host dopo che tra gli stessi processi relativi a quel segmento sia stata instaurata una nuova connessione

99 Instaurazione e rilascio di una connessione Il valore iniziale del numero di sequenza è scelto in modo pseudo-casuale. Un tempo veniva usati un clock di sistema. Ogni host usa un clock (non sincronizzato con gli altri) che incrementa un contatore a passi di 4 ms Quando si inizia una nuova connessione, il numero di sequenza in trasmissione è posto uguale un numero pseudo-casuale) L host destinatario risponde con un numero di sequenza in ricezione uguale a quello in trasmissione del mittente ed indica un numero iniziale pseudocasuale di sequenza in trasmissione. Infine il mittente conferma nel suo numero di sequenza in ricezione il numero di sequenza in trasmissione del destinatario e comincia a trasmettere Il destinatario comincia a trasmettere solo dopo aver ricevuto quest ultimo terzo segmento. Tale meccanismo è noto come three way handshake. All instaurazione della connessione, prima di iniziare a trasmettere dei dati, vengono impostate le variabili del TCP sui due host remoti: Memoria per i dati (buffer) Finestra in ricezione

100 Instaurazione e rilascio di una connessione ULP A Connessione ULP B Active open Open Id Open success Open Id Open success Passive open 1) SYN_segment (SYN, ISN=x) TCP A 2) SYN_segment (SYN, ACK, Ack_N=x+1, ISN=y) 3) ACK_segment (ACK, Ack_N=y+1) TCP B ULP=Upper Layer Protocol

101 Instaurazione e rilascio di una connessione timed wait Chiusura di una connessione TCP => il Client chiude il socket locale; Close Passo 1 client server Passo 1: il sistema terminale Client invia il segmento di controllo FIN al Server Close Passo 2 Passo 2: il Server riceve il FIN, replica con l ACK. Poi chiude la connessione ed invia il FIN. closed

102 Instaurazione e rilascio di una connessione timed wait Passo 3: il Client riceve il FIN, replica con l ACK. Entra nello stato timed wait (30, sec): risponderà con ACK ad eventuali FIN inviati dal server per perdita dell ACK Passo 4: il Server riceve l ACK. La connessione è chiusa. Nota: con piccole modifiche, si possono gestire in modo simultaneo i FIN. closing Passo 3 closed client server closing closed Passo 4

103 Instaurazione e rilascio di una connessione Se una connessione non può essere chiusa secondo la procedura normale, a causa di situazioni anomale, o se un programma applicativo è forzato a chiudere immediatamente una connessione, TCP prevede una procedura di reset Tale procedura consiste nell inviare un segmento con il bit RST posto a 1. Alla ricezione di tale segmento la connessione è immediatamente terminata senza scambio di ulteriori messaggi e TCP ne informa i programmi applicativi.

104 Controllo di errore La strategia utilizzata per il recupero di errore è basata sull uso di finestre in trasmissione ed in ricezione TCP vede il flusso di dati in trasmissione come una sequenza di ottetti e quindi la finestra in trasmissione opera a livello di ottetto invece che a livello di trama o pacchetto Gli ottetti sono numerati sequenzialmente a partire dal numero pseudocasuale scelto durante il 3-way handshaking. La finestra in trasmissione specifica quindi il numero di ottetti che possono essere inviati senza ricevere un acknowledgement Il mittente utilizza anche un meccanismo di time-out (TO); dopo avere inviato un segmento aspetta un certo tempo e, se non riceve una conferma, assume che il segmento si sia perso.

105 Controllo di errore La determinazione del time-out in Internet è complessa: Una connessione può attraversare una sola LAN ad alta velocità o seguire un percorso attraverso numerosi gateway attraversando reti telefoniche a bassa velocità in diversi continenti Normalmente tale tempo è scelto pari al round-trip delay (RTD) più il tempo necessario al destinatario per rispondere (il round trip delay è il tempo impiegato da un unità dati per andare dal mittente al destinatario e tornare indietro). TCP misura dinamicamente il Round Trip Delay ed aggiorna il time-out di conseguenza Una scelta errata porterebbe a molti inconvenienti. Ad esempio si considerino i seguenti eventi: se la rete è congestionata, i ritardi aumentano a causa di una scelta errata del time-out, alcuni segmenti vengono considerati persi, anche se in realtà non lo sono, e quindi ri-trasmessi ciò aumenta la congestione che causa ancora ri-trasmissioni finché la portata tende a zero

106 Time-out Seq=100 time-out Seq=92 timeout TCP: scenari di ritrasmissione Host A Host B Host A Host B X loss time scenario con ACK perso time timeout prematuro, ACK cumulativi

107 TCP Round Trip Delay e Timeout (1/2) Come impostare il timeout del TCP? Più lungo del RTD Il RTD può variare Troppo breve: timeout prematuro: Ritrasmissioni non necessarie Troppo lungo: reazione lenta alla perdita di segmenti Come stimare il RTD? Campionare il Round Trip Delay (samplertd): il tempo misurato dalla trasmissione di un segmento fino alla ricezione dell ACK relativo: Ignora le ritrasmissioni, i segmenti sono riscontrati in modo cumulativo samplertd varierà, se ne vuole fare una stima smussata, mediata : Uso di misure recenti, non soltanto dell ultimo campione

108 TCP Round Trip Delay e Timeout (2/2) Media mobile esponenziale pesata L influenza di ogni campione decresce in modo esponenziale EstimatedRTD = (1-x)*EstimatedRTD + x*samplertd Valore tipico di x pari a 0.1 o Come impostare il timeout EstimtedRTD + un certo margine di sicurezza Una grande variazione nel EstimatedRTD implica un margine di sicurezza più ampio: Timeout = EstimatedRTD + 4*Deviation Deviation = (1-x)*Deviation +x* SampleRTD-EstimatedRTD

109 Controllo di flusso Il controllo di flusso è una procedura operante tra la sorgente ed il destinatario delle informazioni intesa a limitare, in funzione delle risorse a disposizione, il flusso dei dati, prescindendo dal traffico presente nella rete Tale meccanismo è indispensabile in Internet dove calcolatori di dimensione e velocità molto diverse comunicano tra loro; il più lento dei due deve poter rallentare l emissione di informazione dell altro

110 Controllo di flusso Il controllo di flusso nel protocollo TCP è implementato mediante un meccanismo a finestra di tipo sliding window orientata al byte, nel senso che la finestra rappresenta, istante per istante, il numero massimo di byte che possono essere trasmessi verso il destinatario Lo schema è quindi basato sul campo Window (16 bit) in cui il destinatario scrive la larghezza (in byte) della finestra di trasmissione che il mittente dovrà usare dal quel momento in poi La finestra comunicata dal ricevitore, Advertised window, rappresenta dunque la disponibilità di buffer in ricezione Si noti che il ricevitore la può variare dinamicamente, informando il trasmettitore, avendo presente però che quest'ultimo la modificherà solo dopo aver ricevuto dati, corretti ed in sequenza, che abbiano "riempito" le finestre precedentemente offerte

111 Controllo di flusso Controllo di flusso Il mittente non può mandare in overflow il buffer del ricevitore trasmettendo troppo e troppo velocemente RcvBuffer = dimensione del buffer del ricevitore del TCP RcvWindow = quantità di spazio libero nel buffer Ricevitore: esplicitamente informa il mittente della quantità di memoria libera (che cambia in modo dinamico) RcvWindow field nel segmento TCP Mittente: mantiene la quantità di dati trasmessi e non ancora riscontrati, in quantità inferiore al valore ricevuto nella RcvWindow receiver buffering

112 Controllo di flusso Problema della finestra errata (Silly Window Syndrome): se lo spazio disponibile in ricezione diventa nullo, appena se ne libera una minima quantità il mittente viene avvertito: Si può arrivare alla situazione limite in cui mittente e destinatario si autosincronizzano sulla trasmissione di un singolo byte di dati => overhead del 4000%. Per ridurre gli effetti negativi di questo fenomeno: Lato destinatario: quando arriva un segmento, si ritarda l invio dell ACK di massimo 500 ms (in questo modo si dà tempo al processo in ricezione di pescare dati dal buffer del TCP). Se nel frattempo un altro segmento corretto è arrivato, si riscontrano immediatamente in modo cumulativo. Si invia un ACK immediatamente se lo spazio disponibile è di almeno un MSS o del 50% del buffer in ricezione. Lato mittente (l applicazione genera i dati lentamente, cioè segmenti più piccoli del MSS): se i dati precedenti sono stati trasmessi, ma la ricezione non è stata confermata, non inviare ulteriore segmenti fino all arrivo di un ACK o alla creazione di un segmento di dimensione massima (MSS). Applica la regola anche con il push

113 Generazione degli ACK del TCP Definita dalle RFC 1122 e 2581 Evento Azione del TCP ricevente Arrivo dei segmenti in ordine, senza buchi. Ogni altra cosa già riscontrata Arrivo dei segmenti in ordine, senza buchi. Un ACK ritardato pendente Arrivo dei segmenti fuori ordine più alto dell ISN atteso Rilevato un buco nei dati Arrivo di segmenti che parzialmente o completamente riempiono il buco ACK ritardato, aspetto fino a 500 ms per l arrivo del prossimo segmento (Silly Window Syndrome) - Se non arriva, invia l ACK Invia immediatamente un singolo ACK cumulativo Invia ACK duplicati, indicando l ISN del prossimo byte atteso Riscontra immediatamente se il segmento cominincia all estremo inferiore del buco

114 Controllo di congestione Il controllo della congestione ha lo scopo di recuperare situazioni di sovraccarico nella rete Il meccanismo sliding window di TCP funziona da estremo ad estremo e quindi, in linea di principio, non può essere usato in modo efficiente per il controllo di congestione. Tuttavia seppure in modo indiretto, e con alcune limitazioni, lo schema sliding window di TCP può proteggere sia il destinatario sia, in caso di congestione, la rete Se la rete è congestionata arriveranno, per una data larghezza di finestra, meno riscontri Inoltre siccome TCP effettua misurazioni sul round trip delay, il time-out sarà stimato in modo opportuno e si eviteranno ri-trasmissioni che porterebbero ad un aumento della congestione invece che ad una sua diminuzione TCP può utilizzare il round trip delay come misura di congestione e quindi per decidere opportunamente la larghezza della finestra

115 Controllo di congestione Ritmo di trasmissione limitato dalla dimensione della finestra di congestione, Congwin, sui segmenti: Congwin

116 Controllo di congestione Si considera lo scadere di un time-out come un sintomo di congestione delle risorse di interconnessione Algoritmi implementati nelle versioni più comuni del TCP: Slow start +Congestion avoidance Fast restransmit + Fast recovery Sondare la rete per scoprire la larghezza di banda utilizzabile: idealmente: trasmettere il più veloce possibile (il valore di Congwin più grande possibile) senza perdite incrementare Congwin fino a riscontrare le perdite (sintomo di congestione) perdita: decrementa Congwin, poi ricomincia a testare di nuovo la rete (incrementa Congwin) Due fasi principali slow start congestion avoidance Variabili importanti: Congwin threshold: definisce la soglia tra la fase di slow start phase e quella di congestion control

117 Ritmo complessivo di trasmissione dati Finestra di trasmissione risultante dai due processi di: Controllo di congestione (Congwin) Controllo di flusso (RcvWindow) TrWindow = min (Congwin, RcvWindow) w byte inviati in un RTD max portata = TrWindow RTD byte/sec Problemi di efficienza nel caso di reti con elevato prodotto banda*ritardo

118 RTD TCP Slowstart Algoritmo Slowstart Host A Host B inizializazzione: Congwin= 1 for (ogni segmento riscontrato) Congwin++ until (evento di perdita) OR (CongWin > threshold) Incremento esponenziale (per ogni RTD) nella dimensione della finestra (partenza lenta?) time Evento di perdita: timeout (Tahoe TCP) e/o 3 ACK duplicati (Reno TCP)

Protocolli di Comunicazione

Protocolli di Comunicazione Protocolli di Comunicazione La rete Internet si è sviluppata al di fuori dal modello ISO-OSI e presenta una struttura solo parzialmente aderente al modello OSI. L'architettura di rete Internet Protocol

Dettagli

Transmission Control Protocol

Transmission Control Protocol Transmission Control Protocol Franco Callegati Franco Callegati IC3N 2000 N. 1 Transmission Control Protocol - RFC 793 Protocollo di tipo connection-oriented Ha lo scopo di realizzare una comunicazione

Dettagli

ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport.

ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport. ICMP Application Presentation Session Transport Telnet FTP SMTP SNMP TCP e UDP NFS XDR RPC Network Data Link Physical OSI ICMP ARP e RARP IP Non Specificati Protocolli di routing Internet Protocol Suite

Dettagli

DA SA Type Data (IP, ARP, etc.) Padding FCS 6 6 2 0-1500 0-46 4

DA SA Type Data (IP, ARP, etc.) Padding FCS 6 6 2 0-1500 0-46 4 Esercizio Data la rete in figura, si assuma che i terminali T1-T12 e T13-T24 siano connessi tramite collegamenti di tipo UTP a due switch Fast Ethernet. Si assuma che le tabelle ARP di tutti i dispositivi

Dettagli

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi:

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi: Routing (instradamento) in Internet Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi: Stub AS: istituzione piccola Multihomed AS: grande istituzione (nessun ( transito Transit AS: provider

Dettagli

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci CORSO DI RETI SSIS Lezione n.2. 2 Novembre 2005 Laura Ricci IL DOMAIN NAME SYSTEM (DNS) Indirizzi IP poco adatti per essere memorizzati da utenti umani è prevista la possibiltà di associare nomi simbolici

Dettagli

Reti di Calcolatori. Il software

Reti di Calcolatori. Il software Reti di Calcolatori Il software Lo Stack Protocollare Application: supporta le applicazioni che usano la rete; Transport: trasferimento dati tra host; Network: instradamento (routing) di datagram dalla

Dettagli

Internet e protocollo TCP/IP

Internet e protocollo TCP/IP Internet e protocollo TCP/IP Internet Nata dalla fusione di reti di agenzie governative americane (ARPANET) e reti di università E una rete di reti, di scala planetaria, pubblica, a commutazione di pacchetto

Dettagli

Protocollo IP e collegati

Protocollo IP e collegati Protocollo IP e collegati Argomenti trattati: formato del pacchetto IP; servizi del protocollo IP; formato degli indirizzi; instradamento dei datagrammi; classi di indirizzi A, B, C, D; indirizzi speciali,

Dettagli

Reti di Calcolatori 18-06-2013

Reti di Calcolatori 18-06-2013 1. Applicazioni di rete [3 pts] Si descrivano, relativamente al sistema DNS: Compito di Reti di Calcolatori 18-06-2013 a) i motivi per i quali viene usato; b) l architettura generale; c) le modalità di

Dettagli

Reti di calcolatori. Lezione del 10 giugno 2004

Reti di calcolatori. Lezione del 10 giugno 2004 Reti di calcolatori Lezione del 10 giugno 2004 Internetworking I livelli 1 fisico e 2 data link si occupano della connessione di due host direttamente connessi su di una rete omogenea Non è possibile estendere

Dettagli

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione I semestre 04/05 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1

Dettagli

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori a.a. 2009/10

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori a.a. 2009/10 Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori a.a. 2009/10 Roberto Canonico (roberto.canonico@unina.it) Antonio Pescapè (pescape@unina.it) ICMP ARP RARP DHCP - NAT ICMP (Internet

Dettagli

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori I Roberto Canonico (roberto.canonico@unina.it) Giorgio Ventre (giorgio.ventre@unina.it) Il livello rete in Internet Il protocollo

Dettagli

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete IP Analizziamo con sufficiente dettaglio il sistema denominato IP, usato per consentire a due computer mobili di spostarsi liberamente in altre reti pur mantenendo lo stesso indirizzo IP. In particolare,

Dettagli

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing a.a. 2002/03 Livello di Trasporto UDP Descrive la comunicazione tra due dispositivi Fornisce un meccanismo per il trasferimento di dati tra sistemi terminali (end user) Prof. Vincenzo Auletta auletta@dia.unisa.it

Dettagli

IL LIVELLO RETE IN INTERNET Protocollo IP

IL LIVELLO RETE IN INTERNET Protocollo IP Reti di Calcolatori IL LIVELLO RETE IN INTERNET Protocollo IP D. Talia RETI DI CALCOLATORI - UNICAL 4-1 Il Protocollo IP IPv4 Datagram IP: formato Indirizzi IP: formato Protocolli di controllo IP mobile

Dettagli

Forme di indirizzamento

Forme di indirizzamento Anno Accademico 2013-2014 CdS in INFORMATICA e COMUNICAZIONE DIGITALE Lucidi del corso di Reti di Calcolatori e Comunicazione Digitale Modulo 3 - TCP/IP: Lo strato di rete (parte II) Prof. Sebastiano Pizzutilo

Dettagli

158.110.1.3 158.110.1.2 SWITCH. 100 Mb/s (UTP cat. 5E) 158.110.1.1 158.110.3.3 158.110.3.2. 10 Mb/s SWITCH. (UTP cat. 5E) 100 Mb/s. (UTP cat.

158.110.1.3 158.110.1.2 SWITCH. 100 Mb/s (UTP cat. 5E) 158.110.1.1 158.110.3.3 158.110.3.2. 10 Mb/s SWITCH. (UTP cat. 5E) 100 Mb/s. (UTP cat. Università degli Studi di Udine Insegnamento: Reti di Calcolatori I Docente: Pier Luca Montessoro DOMANDE DI RIEPILOGO SU: - Livello network 1. Si deve suddividere la rete 173.19.0.0 in 510 subnet. Qual

Dettagli

Reti di Telecomunicazione Lezione 8

Reti di Telecomunicazione Lezione 8 Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato

Dettagli

Il routing in Internet Exterior Gateway Protocols

Il routing in Internet Exterior Gateway Protocols Il routing in Internet Exterior Gateway Protocols A.A. 2005/2006 Walter Cerroni Exterior Gateway Protocols I protocolli di tipo EGP sono diversi da quelli di tipo IGP All interno di un AS si persegue l

Dettagli

IP Internet Protocol

IP Internet Protocol IP Internet Protocol Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 13 IP - 1/20 IP IP è un protocollo a datagrammi In spedizione: Riceve i dati dal livello trasporto e

Dettagli

IP (Internet Protocol) sta al livello 2 della scala Tcp/Ip o al livello 3 della scala ISO/OSI. Un indirizzo IP identifica in modo logico (non fisico

IP (Internet Protocol) sta al livello 2 della scala Tcp/Ip o al livello 3 della scala ISO/OSI. Un indirizzo IP identifica in modo logico (non fisico IP e subnetting Ip IP (Internet Protocol) sta al livello 2 della scala Tcp/Ip o al livello 3 della scala ISO/OSI. Un indirizzo IP identifica in modo logico (non fisico come nel caso del MAC Address) una

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

Programmazione in Rete

Programmazione in Rete Programmazione in Rete a.a. 2005/2006 http://www.di.uniba.it/~lisi/courses/prog-rete/prog-rete0506.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì ore 10-12 Sommario della

Dettagli

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica). Topologia delle reti Una RETE DI COMPUTER è costituita da un insieme di elaboratori (NODI) interconnessi tra loro tramite cavi (o sostituti dei cavi come le connessioni wireless). Rete Point-to-Point:

Dettagli

Indirizzamento, Routing e Forwarding per reti IP. Andrea Detti rev. 01

Indirizzamento, Routing e Forwarding per reti IP. Andrea Detti rev. 01 Indirizzamento, Routing e Forwarding per reti IP Andrea Detti rev. 01 Schema di indirizzamento Un indirizzo IP (IP Address) identifica un host se un host è connesso a più di una rete (multi-homed) avrà

Dettagli

Interconnessione di reti

Interconnessione di reti Interconnessione di reti Collegamenti tra reti eterogenee Instradamento (routing) e inoltro (forwarding) IPv4 - indirizzi IP e MAC - sottoreti IPv6 - evoluzione di Internet DNS - Domain Name System Conclusioni

Dettagli

TCP: trasmissione Source port [16 bit] - Identifica il numero di porta sull'host mittente associato alla connessione TCP. Destination port [16 bit] - Identifica il numero di porta sull'host destinatario

Dettagli

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2010/11)

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2010/11) Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori (a.a. 2010/11) Roberto Canonico (roberto.canonico@unina.it) Giorgio Ventre (giorgio.ventre@unina.it) Il protocollo IP Frammentazione

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005 Si svolga il compito su questi fogli. Nel caso di domande a risposta aperta, lo spazio lasciato sul foglio

Dettagli

Dal protocollo IP ai livelli superiori

Dal protocollo IP ai livelli superiori Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

Introduzione alla rete Internet

Introduzione alla rete Internet Introduzione alla rete Internet Gruppo Reti TLC nome.cognome@polito.it http://www.telematica.polito.it/ INTRODUZIONE A INTERNET - 1 Internet: nomenclatura Host: calcolatore collegato a Internet ogni host

Dettagli

Gli indirizzi dell Internet Protocol. IP Address

Gli indirizzi dell Internet Protocol. IP Address Gli indirizzi dell Internet Protocol IP Address Il protocollo IP Prevalente è ormai diventato nell implementazione di reti di computer la tecnologia sintetizzata nei protocolli TCP- Ip IP è un protocollo

Dettagli

Introduzione alla rete Internet

Introduzione alla rete Internet Introduzione alla rete Internet AA 2004-2005 Reti e Sistemi Telematici 1 Internet: nomenclatura Host: calcolatore collegato a Internet ogni host può essere client e/o server a livello applicazione Router:

Dettagli

Il modello TCP/IP. Sommario

Il modello TCP/IP. Sommario Il modello TCP/IP Il protocollo IP Mario Cannataro Sommario Introduzione al modello TCP/IP Richiami al modello ISO/OSI Struttura del modello TCP/IP Il protocollo IP Indirizzi IP Concetto di sottorete Struttura

Dettagli

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema contenuto della comunicazione sistema per la gestione della comunicazione sottosistema C sottosistema B sottosistema A

Dettagli

Cos è. Protocollo TCP/IP e indirizzi IP. Cos è. Cos è

Cos è. Protocollo TCP/IP e indirizzi IP. Cos è. Cos è Protocollo TCP/IP e indirizzi IP Il protocollo TCP/IP è alla base dei sistemi di trasmissione dati impiegati sulle reti locali e su Internet. Nato nel Gennaio 1983 negli Stati Uniti come sistema di comunicazione

Dettagli

Introduzione alla rete Internet

Introduzione alla rete Internet Introduzione alla rete Internet Gruppo Reti TLC nome.cognome@polito.it http://www.telematica.polito.it/ INTRODUZIONE ALLE RETI TELEMATICHE - 1 Copyright Quest opera è protetta dalla licenza Creative Commons

Dettagli

Programmazione in Rete

Programmazione in Rete Programmazione in Rete a.a. 2005/2006 http://www.di.uniba.it/~lisi/courses/prog-rete/prog-rete0506.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì ore 10-12 Sommario della

Dettagli

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet Indirizzi Internet e Protocolli I livelli di trasporto delle informazioni Comunicazione e naming in Internet Tre nuovi standard Sistema di indirizzamento delle risorse (URL) Linguaggio HTML Protocollo

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 5

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 5 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II Lezione 5 Giovedì 19-03-2015 1 Intensità del traffico e perdita dei pacchetti La componente

Dettagli

Livello di Rete. Prof. Filippo Lanubile. Obiettivo

Livello di Rete. Prof. Filippo Lanubile. Obiettivo Livello di Rete Circuiti virtuali e datagram La funzione di instradamento Costruzione della tabella di routing Algoritmi di routing adattivi: distance vector routing e link-state routing Routing gerarchico

Dettagli

Gestione degli indirizzi

Gestione degli indirizzi Politecnico di Milano Facoltà di Ingegneria dell Informazione Gestione degli indirizzi -Address Resolution Protocol (ARP) -Reverse Address Resolution Protocol (RARP) -Dynamic Host Configuration Protocol

Dettagli

ICMP. Internet Control Message Protocol. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it http://staff.polito.it/mario.

ICMP. Internet Control Message Protocol. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it http://staff.polito.it/mario. ICMP Internet Control Message Protocol Silvano GAI sgai[at]cisco.com Mario BALDI mario.baldi[at]polito.it http://staff.polito.it/mario.baldi Fulvio RISSO fulvio.risso[at]polito.it ICMP - 1 Copyright: si

Dettagli

ARP (Address Resolution Protocol)

ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) Il routing Indirizzo IP della stazione mittente conosce: - il proprio indirizzo (IP e MAC) - la netmask (cioè la subnet) - l indirizzo IP del default gateway, il router

Dettagli

Gestione degli indirizzi

Gestione degli indirizzi Politecnico di Milano Advanced Network Technologies Laboratory Gestione degli indirizzi - Address Resolution Protocol (ARP) - Reverse Address Resolution Protocol (RARP) - Dynamic Host Configuration Protocol

Dettagli

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls Università degli Studi di Pisa Dipartimento di Informatica NAT & Firewalls 1 NAT(NETWORK ADDRESS TRANSLATION) MOTIVAZIONI NAT(Network Address Translation) = Tecnica di filtraggio di pacchetti IP con sostituzione

Dettagli

Indice. Prefazione XIII

Indice. Prefazione XIII Indice Prefazione XIII 1 Introduzione 1 1.1 Breve storia della rete Internet 1 1.2 Protocolli e standard 6 1.3 Le organizzazioni che definiscono gli standard 7 1.4 Gli standard Internet 10 1.5 Amministrazione

Dettagli

L'indirizzo IP. Prof.ssa Sara Michelangeli

L'indirizzo IP. Prof.ssa Sara Michelangeli Prof.ssa Sara Michelangeli L'indirizzo IP La possibilità di trasmettere dati nella rete è data dalla capacità di indentificare ogni singolo host grazie all'indirizzo IP che gli è stato assegnato. L'indirizzo

Dettagli

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori I Roberto Canonico (roberto.canonico@unina.it) Giorgio Ventre (giorgio.ventre@unina.it) OSPF I lucidi presentati al corso sono uno

Dettagli

Internet. Introduzione alle comunicazioni tra computer

Internet. Introduzione alle comunicazioni tra computer Internet Introduzione alle comunicazioni tra computer Attenzione! Quella che segue è un introduzione estremamente generica che ha il solo scopo di dare un idea sommaria di alcuni concetti alla base di

Dettagli

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP Un indirizzo IP è composto da 32 bit. Generalmente, per convenienza, è presentato in decimale: 4 ottetti (bytes) separati da un punto. Ogni rete fisica

Dettagli

Reti e Internet: introduzione

Reti e Internet: introduzione Facoltà di Medicina - Corso di Laurea in Logopedia Corso di Informatica III anno Prof. Crescenzio Gallo Reti e Internet: introduzione c.gallo@unifg.it Reti e Internet: argomenti Tipologie di reti Rete

Dettagli

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella Corso di Sistemi di Elaborazione delle informazioni Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella Una definizione di Rete Una moderna rete di calcolatori può essere definita come:

Dettagli

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO Corso DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO Docente: Ing. Luca Romanelli Mail: romanelli@baxsrl.com Networking NAT 1 Sommario L indirizzamento privato e pubblico I meccanismi di address

Dettagli

COMPLESSO SCOLASTICO INTERNAZIONALE GIOVANNI PAOLO II. Pianificazione di reti IP (subnetting)

COMPLESSO SCOLASTICO INTERNAZIONALE GIOVANNI PAOLO II. Pianificazione di reti IP (subnetting) Pianificazione di reti IP (subnetting) Avendo una rete complessa possiamo dividerla in sottoreti logiche, collegandole con dei router. Questa operazione di segmentazione prende il nome di subnetting, ed

Dettagli

TCP/IP. Principali caratteristiche

TCP/IP. Principali caratteristiche TCP/IP Principali caratteristiche 1 TCP/IP Caratteristiche del modello TCP/IP Struttura generale della rete Internet IL MONDO INTERNET Reti nazionali e internazionali ROUTER Rete Azienade ROUTER ROUTER

Dettagli

Protocollo ICMP, comandi ping e traceroute

Protocollo ICMP, comandi ping e traceroute Protocollo ICMP, comandi ping e traceroute Internet Control Message Protocol Internet Control Message Protocol (ICMP): usato dagli host, router e gateway per comunicare informazioni riguardanti il livello

Dettagli

4 - Il livello di trasporto

4 - Il livello di trasporto Università di Bergamo Dipartimento di Ingegneria Gestionale e dell Informazione 4 - Il livello di trasporto Architetture e Protocolli per Internet Servizio di trasporto il livello di trasporto ha il compito

Dettagli

Informatica per la comunicazione" - lezione 8 -

Informatica per la comunicazione - lezione 8 - Informatica per la comunicazione - lezione 8 - I multipli 1 KB (kilo) = 1000 B 1 MB (mega) = 1 mln B 1 GB (giga) = 1 mld B 1 TB (tera) = 1000 mld B Codifica binaria dei numeri Numerazione con base 10:

Dettagli

Reti diverse: la soluzione nativa

Reti diverse: la soluzione nativa Reti diverse: la soluzione nativa Quando si deve trasmettere un messaggio attraverso reti diverse, per il mezzo fisico, per il protocollo di accesso o altro, a che livello si colloca la procedura di traduzione

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

ARP e instradamento IP

ARP e instradamento IP ARP e instradamento IP A.A. 2003/2004 Walter Cerroni Relazione Indirizzi Fisici Indirizzi IP Software di basso livello nasconde gli indirizzi fisici e consente ai livelli superiori di lavorare solo con

Dettagli

Elementi sull uso dei firewall

Elementi sull uso dei firewall Laboratorio di Reti di Calcolatori Elementi sull uso dei firewall Carlo Mastroianni Firewall Un firewall è una combinazione di hardware e software che protegge una sottorete dal resto di Internet Il firewall

Dettagli

GLI INDIRIZZI DELL INTERNET PROTOCOL (IP ADDRESS) 2. Fondamenti sugli indirizzi dell Internet Protocol 2. Struttura di un indirizzo IP 2

GLI INDIRIZZI DELL INTERNET PROTOCOL (IP ADDRESS) 2. Fondamenti sugli indirizzi dell Internet Protocol 2. Struttura di un indirizzo IP 2 GLI INDIRIZZI DELL INTERNET PROTOCOL (IP ADDRESS) 2 Fondamenti sugli indirizzi dell Internet Protocol 2 Struttura di un indirizzo IP 2 Le classi degli indirizzi IP 3 Indirizzi di Classe A 3 Indirizzi di

Dettagli

Lo scenario: la definizione di Internet

Lo scenario: la definizione di Internet 1 Lo scenario: la definizione di Internet INTERNET E UN INSIEME DI RETI DI COMPUTER INTERCONNESSE TRA LORO SIA FISICAMENTE (LINEE DI COMUNICAZIONE) SIA LOGICAMENTE (PROTOCOLLI DI COMUNICAZIONE SPECIALIZZATI)

Dettagli

Introduzione al TCP/IP Indirizzi IP Subnet Mask Frame IP Meccanismi di comunicazione tra reti diverse Classi di indirizzi IP Indirizzi IP privati e

Introduzione al TCP/IP Indirizzi IP Subnet Mask Frame IP Meccanismi di comunicazione tra reti diverse Classi di indirizzi IP Indirizzi IP privati e TCP/IP Sommario Introduzione al TCP/IP Indirizzi IP Subnet Mask Frame IP Meccanismi di comunicazione tra reti diverse Classi di indirizzi IP Indirizzi IP privati e pubblici Introduzione al TCP/IP TCP/IP

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Venerdì 18 Febbraio 2005, ore 9.30

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Venerdì 18 Febbraio 2005, ore 9.30 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Venerdì 18 Febbraio 2005, ore 9.30 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

Internetworking TCP/IP: esercizi

Internetworking TCP/IP: esercizi Politecnico di Milano Facoltà di Ingegneria dell Informazione Fondamenti di Reti di Telecomunicazione prof. A. Capone Internetworking TCP/IP: esercizi 1 Esercizio 7.1 Si consideri la rete in figura dove

Dettagli

Livello di Rete. Gaia Maselli maselli@di.uniroma1.it

Livello di Rete. Gaia Maselli maselli@di.uniroma1.it Livello di Rete Gaia Maselli maselli@di.uniroma1.it Queste slide sono un adattamento delle slide fornite dal libro di testo e pertanto protette da copyright. All material copyright 1996-2007 J.F Kurose

Dettagli

Il livello Network del TCP/IP. Il protocollo IP (versione 4)

Il livello Network del TCP/IP. Il protocollo IP (versione 4) Il livello Network del TCP/IP. Il protocollo IP (versione 4) L architettura TCP/IP (il cui nome più preciso è ) è formata da diversi componenti, che si posizionano nello stack dei protocolli a partire

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 200, ore 1.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

8. IP: Instradamento dei datagrammi

8. IP: Instradamento dei datagrammi 8. IP: Instradamento dei datagrammi 8.1. Introduzione L'instradamento è la terza funzione fondamentale di un servizio di comunicazione di livello rete 8.2. L'instradamento in una internet Instradamento

Dettagli

Il protocollo IP (Internet Protocol)

Il protocollo IP (Internet Protocol) Politecnico di Milano Advanced Network Technologies Laboratory Il protocollo IP (Internet Protocol) -Servizi offerti da IP -Formato del pacchetto IP 1 Il servizio di comunicazione offerto da IP Connectionless

Dettagli

Standard di comunicazione

Standard di comunicazione Standard di comunicazione Organizzato a livelli per ridurne la complessità e aumentarne la flessibilità il numero dei livelli e le loro funzionalità dipendono dal tipo di rete ogni livello formalizza un

Dettagli

Il livello Network in Internet

Il livello Network in Internet Il livello Network in Internet Funzioni del livello Network negli host e router: Livello Transport: TCP, UDP Livello Network Protocolli di Routing selezione percorso RIP, OSPF, BGP tabella di routing protocollo

Dettagli

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8 Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8 Livelli di rete e architettura Client-Server Lez 12 architettura client-server 1 Scorsa lezione: comunicazione Gli utenti chiedono comunicazione

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Protocollo TCP/IP & Indirizzamento IP

Protocollo TCP/IP & Indirizzamento IP Protocollo TCP/IP & Indirizzamento IP L architettura TCP/IP: Nasce per richiesta del Dipartimento della Difesa degli USA che intendeva poter creare una rete in grado di funzionare in qualsiasi tipo di

Dettagli

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6 GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1 Il Repeater 2 L Hub 2 Il Bridge 4 Lo Switch 4 Router 6 Gli apparati per l interconnessione di reti locali Distinguiamo i seguenti tipi di apparati:

Dettagli

MODELLI ISO/OSI e TCP/IP

MODELLI ISO/OSI e TCP/IP D. Talia RETI DI CALCOLATORI - UNICAL 1 Reti di Calcolatori MODELLI ISO/OSI e TCP/IP D. Talia RETI DI CALCOLATORI - UNICAL 2 Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto

Dettagli

TEST DI RETI DI CALCOLATORI I (9400N) anno 1999/2000

TEST DI RETI DI CALCOLATORI I (9400N) anno 1999/2000 TEST DI RETI DI CALCOLATORI I (9400N) anno 1999/2000 1) Quanti sono i livelli del modello ISO/OSI: A. 3 B. 7 C. 6 D. non è definito un numero massimo non è definito un numero massimo 2) Due entità ad un

Dettagli

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) PARTE 1 richiami SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) Parte 1 Modulo 1: Stack TCP/IP TCP/IP Protocol Stack (standard de facto) Basato su 5 livelli invece che sui 7 dello stack ISO/OSI Application

Dettagli

P2-11: BOOTP e DHCP (Capitolo 23)

P2-11: BOOTP e DHCP (Capitolo 23) Autunno 2002 Prof. Roberto De Prisco -11: BOOTP e DHCP (Capitolo 23) Università degli studi di Salerno Laurea e Diploma in Informatica Indirizzi IP dinamici 11.2 Un indirizzo IP statico è assegnato ad

Dettagli

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 3 a lezione a.a. 2009/2010 Francesco Fontanella

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 3 a lezione a.a. 2009/2010 Francesco Fontanella Corso di Sistemi di Elaborazione delle informazioni Reti di calcolatori 3 a lezione Francesco Fontanella Il pacchetto IP Il preambolo (header) IP è fatto in questo modo: Gli Indirizzi IP Ogni host e router

Dettagli

ESERCIZIO NUMERO 1 ESERCIZIO NUM. 2

ESERCIZIO NUMERO 1 ESERCIZIO NUM. 2 ESERCIZIO NUMERO 1 Alcuni errori di segnale possono provocare la sostituzione di interi gruppi di bit di un pacchetto mediante una sequenza di valori 0 oppure una sequenza di valori 1. Supponete che vengano

Dettagli

3. Introduzione all'internetworking

3. Introduzione all'internetworking 3. Introduzione all'internetworking Abbiamo visto i dettagli di due reti di comunicazione: ma ce ne sono decine di tipo diverso! Occorre poter far comunicare calcolatori che si trovano su reti di tecnologia

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 14 Settembre 2005, ore 9.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 14 Settembre 2005, ore 9.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 14 Settembre 2005, ore 9.00 Alcune domande hanno risposta multipla: si richiede di identificare tutte le risposte corrette.

Dettagli

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito Punto di vista fisico: insieme di hardware, collegamenti, e protocolli che permettono la comunicazione tra macchine remote

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

Laurea in INFORMATICA

Laurea in INFORMATICA Laurea in INFORMATICA INTERNET e RETI di CALCOLATORI A.A. 2013/2014 Capitolo 4 Indirizzi del Protocollo IP fausto.marcantoni@unicam.it Agenda Indirizzamento, gerarchia, classificazione degli indirizzi

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Classe bit: 0 1 2 3 4 8 16 24 31. 0 net id host id. 1 0 net id host id. 1 1 0 net id host id. 1 1 1 0 multicast address

Classe bit: 0 1 2 3 4 8 16 24 31. 0 net id host id. 1 0 net id host id. 1 1 0 net id host id. 1 1 1 0 multicast address CAPITOLO 11. INDIRIZZI E DOMAIN NAME SYSTEM 76 Classe bit: 0 1 2 3 4 8 16 24 31 A B C D E 0 net id host id 1 0 net id host id 1 1 0 net id host id 1 1 1 0 multicast address 1 1 1 1 0 riservato per usi

Dettagli

ARCHITETTURA DI RETE FOLEGNANI ANDREA

ARCHITETTURA DI RETE FOLEGNANI ANDREA ARCHITETTURA DI RETE FOLEGNANI ANDREA INTRODUZIONE È denominata Architettura di rete un insieme di livelli e protocolli. Le reti sono organizzate gerarchicamente in livelli, ciascuno dei quali interagisce

Dettagli

ARP e RARP. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it http://staff.polito.it/mario.baldi. Fulvio RISSO

ARP e RARP. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it http://staff.polito.it/mario.baldi. Fulvio RISSO ARP e RARP Silvano GAI sgai[at]cisco.com Mario BALDI mario.baldi[at]polito.it http://staff.polito.it/mario.baldi Fulvio RISSO fulvio.risso[at]polito.it ARP - 1 Copyright: si veda nota a pag. 2 Nota di

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Standard: OSi vs TCP/IP. Il livello di trasporto. TCP e UDP. TCP: Transmission Control Protocol. TCP: funzionalità

Standard: OSi vs TCP/IP. Il livello di trasporto. TCP e UDP. TCP: Transmission Control Protocol. TCP: funzionalità Standard: OSi vs TCP/IP Application Presentation Session NFS XDR RPC Telnet, FTP SMTP, HTTP SNMP, DNS RTP,... Protocolli per la comunicazione tra applicativi: le raisons d etre della rete Transport TCP

Dettagli

Configurazione Rete in LINUX

Configurazione Rete in LINUX Configurazione Rete in LINUX Laboratorio di Reti Ing. Telematica - Università Kore Enna A.A. 2008/2009 Ing. A. Leonardi TCP/IP Il trasferimento dati con il protocollo TCP/IP si basa fondamentalmente su

Dettagli