Networking Tipi di reti, gli standard e gli enti ... · Modello ISO/OSI Progetto della fine degli...
Transcript of Networking Tipi di reti, gli standard e gli enti ... · Modello ISO/OSI Progetto della fine degli...
Corso “DOMOTICA ED EDIFICI INTELLIGENTI” – UNIVERSI TA’ DI URBINODocente: Ing. Luca RomanelliMail: [email protected]
Domotica ed edifici intelligenti – Università di Urbino 1
Networking
Tipi di reti, gli standard e gli entiProtocollo IPProtocolli TCP, UDP
Gli standard
�ISO (International Standard Organization) -il principale ente internazionale di standardizzazione che si occupa anche di reti di calcolatori
�IEEE (Institute of Electrical and Electronics
2
�IEEE (Institute of Electrical and Electronics Engineers) -organizzazione mondiale degli ingegneri elettrici ed elettonici con gruppi che si occupano di reti
Domotica ed edifici intelligenti – Università di Urbino
Modello ISO/OSI
Progetto della fine degli anni ‘70Scopo - fungere da modello di riferimento per le reti di calcolatoriApproccio a 7 livelli (layers)Ogni livello esegue FUNZIONI SPECIFICHE
3
Ogni livello esegue FUNZIONI SPECIFICHEHa sicuramente raggiunto lo scopo di fungere da elementocoordinatore tra tutte le attività di standardizzazione
I livelli 1 e 2 sono oggi sicuramente standard ma dal livello 3 al 7difficoltà a standardizzare soprattutto per l’impatto sui dispositividi instradamento
Domotica ed edifici intelligenti – Università di Urbino
Modello ISO/OSI
5
6
7
Sessione
Presentazione
Applicazione
4
Trasporto
1
2
4
5
3
Fisico
Data Link
Rete
Sessione
Domotica ed edifici intelligenti – Università di Urbino
Il progetto IEEE 802
Progetto inserito nel modello OSI ai livelli 1 e 2 per reti locali emetropolitane.
Ha prodotto una voluminosa serie di standard noti con sigle
5
Ha prodotto una voluminosa serie di standard noti con sigledel tipo 802.x
Ha contrastato la tendenza a creare nuovi tipi di rete locali perragioni commerciali.
Domotica ed edifici intelligenti – Università di Urbino
Architettura TCP/IP Pila dei protocolli Internet
ConnectionlessConnection -
oriented
6
TCP UDP
IP
Ethernet X.25 ATM ….
ICMPARP e RARP Protocolli di routing
Domotica ed edifici intelligenti – Università di Urbino
Lo strato di rete: Il protocollo IP
• Strato di Internetworking INTERNET PROTOCOL (IP -RFC 791)– Il protocollo definisce un meccanismo di consegna dati di tipo
“non affidabile” e non orientato alla connessione (connectionless)
7
“non affidabile” e non orientato alla connessione (connectionless)
• Header IP– Indirizzo Mittente– Indirizzo destinatario– Protocollo di trasporto..
Domotica ed edifici intelligenti – Università di Urbino
Internet Protocol (IP)
• Il principale servizio internet consiste in unsistema di packet delivery
• Tecnicamente il servizio e’ definito:– non affidabile (unreliable ): la consegna non e’
garantita. Il pacchetto puo’ essere perso, duplicato,ritardato o consegnato con un ordine non corretto,
8
ritardato o consegnato con un ordine non corretto,senza che i servizio catturi tali condizioni o il mittente odestinatario siano informati; internet non scarica ipacchetti in modo arbitrario, ma la non affidabilita’sorge solo quando le risorse sono esaurite o la retenon e’ disponibile.
– connectionless : ogni pacchetto e’ trattatoindipendentemente dagli altri.
– best-effort delivery : il software internet fa il tentativomigliore per inoltrare i pacchetti.
Domotica ed edifici intelligenti – Università di Urbino
Internet Protocol (IP)
• Il protocollo fornisce i servizi:– Trasmissione di un datagram host-to-host (indirizzamento)– funzioni di routing– frammentazione e riassemblaggio dei datagram
• Il protocollo non fornisce:– controllo di flusso
9
– controllo di flusso– controllo d’errore– controllo di sequenza
• Il protocollo Internet tratta ogni datagram come un’entita ’indipendente di trasmissione correlata dalle altre
Domotica ed edifici intelligenti – Università di Urbino
Header IP
Version HLEN Service type Total length
Identification Flags Fragment Offset (13 bit)
Time to Live Protocol Header checksum
0 4 8 15 19 24 31
10
Time to Live Protocol Header checksum
Source IP Address
Destination IP address
IP Option Padding
Data
Domotica ed edifici intelligenti – Università di Urbino
Header IP: encapsulation
Datagram header
Datagram data area
11
header
Frame header
Frame data area
Domotica ed edifici intelligenti – Università di Urbino
• Ogni host IP ha un indirizzo diviso in due parti:–– HostHost--IDID identifica l’host all’interno della rete IP–– NetworkNetwork--IDID identifica la rete IP su Internet
• Sono state inizialmente definite 5 classi di indirizzi:Classe A (1.0.0.0 -126.0.0.0) 224 host (16 M) 127.0.0.0 riservato
Indirizzi IP Classful addressing scheme
12
Classe A (1.0.0.0 -126.0.0.0) 224 host (16 M) 127.0.0.0 riservato
Classe B (128.1.0.0 -191.255.0.0) 2 16 host (65.536)
hostidnetid
netid hostid1
14 bit 16 bit
7 bit 24 bit
Domotica ed edifici intelligenti – Università di Urbino
Indirizzi IPClassful addressing scheme
• Classe C (192.0.1.0 -223.255.255.0) 2 8 host (256)
• Classe D (224.0.0.0 -239.255.255.255)
netid0 hostid121 bit 8 bit
1
13
• Classe D (224.0.0.0 -239.255.255.255)
• Classe E (240.0.0.0 -255.255.255.254)
01 Multicast group ID1
1 reserved1
28 bit
27 bit
1
11
Domotica ed edifici intelligenti – Università di Urbino
Indirizzi di Classe A
• Esempio di indirizzo di classe A:
netid
0
hostid
7 bit 24 bit
14
• Esempio di indirizzo di classe A:
15.10.10.9015.10.10.90
Net ID Host IDIndirizzo di rete: 15.0.0.0
Indirizzo di broadcast: 15.255.255.255
Domotica ed edifici intelligenti – Università di Urbino
Indirizzi di Classe B
• Esempio di indirizzo di classe B:
130.20.18.62130.20.18.62
netid0 hostid
14 bit 16 bit
1
15
130.20.18.62130.20.18.62
Net ID Host ID
Indirizzo di rete: 130.20.0.0
Indirizzo di broadcast: 130.20.255.255
Domotica ed edifici intelligenti – Università di Urbino
Indirizzi di Classe C
• Esempio di indirizzo di classe C:
netid0 hostid
21 bit 8 bit11
16
195.31.235.10195.31.235.10
Net ID Host ID
Indirizzo di rete: 195.31.235.0
Indirizzo di broadcast: 195.31.235.255
Domotica ed edifici intelligenti – Università di Urbino
Loopback address
• Il prefisso di rete 127.0.0.0 e’ riservato per l’indirizzo di loopback• E’ usato per nel testing del TCP/IP e per la comunicazione intra
processo sul computer locale• Quando un programma usa il loopback address come destinazione, il
software del protocollo nel computer elabora i dati senza inviare
17
software del protocollo nel computer elabora i dati senza inviaretraffico attraverso la rete
• Un pacchetto inviato ad una rete 127 non deve mai apparire sulla rete• Un host o un router non deve mai propagare informazioni di routing o
di raggiungibilita’ per la rete numero 127
Domotica ed edifici intelligenti – Università di Urbino
Le speciali convenzioni di indirizzamento- sommario -
all 0s
Hosts on this net permesso solo
This hostpermesso solo allo startup del sistema, non e’ mai un indirizzo d i destinazione valido
all 0s host
18
Loopbacknon deve mai apparire sulla rete
Directed broadcast for netnon e’ mai un indirizzo di destinazione valido
Limited broadcast (local net)non e’ mai un indirizzo di destinazione valido
Hosts on this net permesso solo allo startup del sistema, non e’ mai un indirizzo d i destinazione valido
all 0s
all 1s
all 1s
host
net
127 Anything (often 1)
Domotica ed edifici intelligenti – Università di Urbino
Indirizzi IPClassful addressing scheme
• Multi-homed host : si riferisce alle stazioni o apparati attivi di rete chehanno piu’ di una connessione fisica (e anche logica) alla rete e cherichiedono indirizzi IP multipli
• Per convenzione un indirizzo con tutti i bit di host-id=0 identifical’indirizzo di rete
19
l’indirizzo di rete• Ogni indirizzo con i bit di host-id=1 ed un valido net-id, identifica
l’indirizzo di broadcast diretto (tutti gli host della rete)• Ogni indirizzo con tutti i 32 bit a 1 identifica un indirizzo di broadcast
della LAN indipendentemente dal suo indirizzo di rete, ed e’ dettoindirizzo di broadcast della rete locale
Domotica ed edifici intelligenti – Università di Urbino
Consegna (delivery) dei pacchetti
• Unicast delivery: il pacchetto e’ inviatoad un singolo computer
• Broadcast delivery: il pacchetto vieneinviato a tutti i computer di una data
20
• Broadcast delivery: il pacchetto vieneinviato a tutti i computer di una datarete.
• Multicast delivery: Il pacchetto vieneinviato ad uno specifico sottoinsieme dihost.
Domotica ed edifici intelligenti – Università di Urbino
Subnetting
netid
Network Prefix
hostid
21
Network Prefix
hostidsubnetidnetid
Network Prefix
Domotica ed edifici intelligenti – Università di Urbino
Classi di indirizzi e netmask
• Indirizzo di rete “naturale” e’ un address range con maschera uguale a quella implicita
• InterNIC assegna solo indirizzi di rete naturali• Subnetting: deriva da una maschera con piu’ bit a 1
rispetto alla maschera naturale
22
rispetto alla maschera naturale• es.: 193.205.102.36 255.255.255.248
Network Subnet Host
193 205 102 3611000001 11001101 10011110 00100100
255 255 255 24811111111 11111111 11111111 11111000
Domotica ed edifici intelligenti – Università di Urbino
Assegnazione degli indirizzi: IP pubblici e privati
• IANA (Internet Assigned Numbers Authority) oraICANN (Internet Corporation for Assigned Namesand Numbers) Ente centrale che garantiscel’unicita’ degli indirizzi su Internet (IP pubblici)
• RIPE (Réseaux IP Européens ) Ente che si occupadell’assegnazione degli indirizzi IP in Europa per
23
• RIPE (Réseaux IP Européens ) Ente che si occupadell’assegnazione degli indirizzi IP in Europa perconto dello IANA
• RFC 1918 per l’assegnazione degli indirizzi privati:Prefissi di retePrefissi di rete ClasseClasse Numero di prefissiNumero di prefissi10.0.0.010.0.0.0 AA 11172.16.0.0172.16.0.0--172.31.0.0172.31.0.0 BB 1616192.168.0.0192.168.0.0--192.168.255.0192.168.255.0 CC 256256
Domotica ed edifici intelligenti – Università di Urbino
Lo Strato di Trasporto
• Lo scopo dello strato di trasporto e’ quello di fornire unacomunicazione end-to-end a livello di processi
• Il software di questo strato e’ responsabile del meccanismo chepermette di distinguere, all’interno di uno stesso host, ilprocesso applicativo destinatario (o sorgente) dei dati
• Ogni elaboratore contiene un insieme di punti logici di accessochiamate “porte” (port)
• Ad ogni servizio e’ associato un port che consente di
24
• Ad ogni servizio e’ associato un port che consente diindirizzare il processo che realizza il servzio (server)
• Nell’architettura Internet esistono due standard principali diprotocolli di trasporto:–– UDP User Datagram Protocol (UDP UDP User Datagram Protocol (UDP -- RFC 768)RFC 768)–– TCP Trasmission Control Protocol (TCP TCP Trasmission Control Protocol (TCP -- RFC 793)RFC 793)
Domotica ed edifici intelligenti – Università di Urbino
Lo Strato di Trasporto
• La divisione dei compiti fra lo strato di trasporto (UDP, TCP) e IP e’ laseguente:– lo strato IP si occupa del trasferimento dei dati fra elaboratori
collegati alle reti IP interconnesse; quindi l’intestazione IPidentifica gli host sorgente e destinazione
– lo strato UDP/TCP si occupa dello smistamento dei dati frasorgenti o destinazioni multiple all’interno dello stesso host tramiteil port number
25
il port number• Per richiedere un servizio, fornito da un processo residente su un
host remoto, il client deve riconoscere il port number associato alservizio stesso
Domotica ed edifici intelligenti – Università di Urbino
UDP (User Datagram Protocol)
• La maggior parte dei computer dei computer eseguonosimultameamente piu’ programmi (processi)
• L’UDPUDP permette lo scambio di informazioni tra processi multipliall’interno di una data macchina permettendo ai mittenti ericeventi di aggiungere 2 interi a 16 bit chiamati protocolprotocol portportnumbersnumbers (punti di destinazione astratti su una macchina) aogni messaggio UDP
• I port number identificano la sorgente e la destinazione• Alcuni UDP port number sono permanentemente assegnati
26
• Alcuni UDP port number sono permanentemente assegnatinella internet e altri port number sono disponibili all’uso diprogrammi applicativi arbitrari
• UDP e’ detto protocollo leggero perche’ non aggiunge niente disignificativo alla semantica dell’IP. Fornisce essenzialmente aiprogrammi applicativi l’abilita’ di di comunicare usando ilservizio di packet delivery connectionless e non affidabile(unreliable) di IP. I messaggi UDP cosi’ possono essere persiritardati o inoltrati fuori ordine.
Domotica ed edifici intelligenti – Università di Urbino
Strato di trasporto: UDP
L’UDP fornisce un servizio di consegna non affidabile econnectionless usando l’IP per trasportare messaggi tra le macchine.Usa IP per trasportare messaggi, ma aggiunge l’abilita’ di distingueretra destinazioni multiple all’interno di un dato computer
• Servizio di trasporto non affidabile e connectionless : non usaacknowledgements per assicurarsi che il messaggio arrivi, non ordinai messaggi in arrivo e non fornisce feedback per controllare il rate delflusso di informazione che arriva.
27
flusso di informazione che arriva.E’ responsabilita’ del programma applicativo che usa UDP di gestire ilproblema dell’affidabilita’. Tuttavia, molte applicazioni che si basanosu UDP lavorano bene in un ambiente locale ma falliscono quandosono usate in reti TCP/IP estese geograficamente
Domotica ed edifici intelligenti – Università di Urbino
UDP Header
Ogni messaggio UDP viene chiamato UserUser DatagramDatagram cheviene suddiviso in UDP header e UDP data area
0 16 31
DATA
UDP CHECKSUM
UDP SOURCE PORT UDP DESTINATION PORT
UDP MESSAGE LENGTH
...
28
...SOURCE PORT, DESTINATION PORT: 16-bit UDP protocol port numbers usati per
demultiplexare datagrams tra i processi che attendono di riceverli; SORCE PORT e’
opzionale e viene usata per specificare a chi inviare le risposte, se non usata il valore e’
zero.
LENGTH: contiene la lunghezza dell’UDP header e user data in numeo di ottetti. Il minimo
valore e’ otto.
UDP CHECKSUM: opzionale; il valore zero indica che non deve essere calcolato
(soprattutto in presenza LAN molto affidabili permette implementazioni con mimino
overhead computazionale)
Domotica ed edifici intelligenti – Università di Urbino
UDP encapsulation
Application
CONCEPTUAL LAYERING
User Datagram (UDP)
Internet (IP)
Network Interface
UDP HEADER UDP DATA AREA
IP
Incapsulamento di un UDP datagram nella trasmissione in una internet
29
Network Interface IP HEADER
FRAME HEADER
IP DATA AREA
FRAME DATA AREA
Il layer IP e’ responsabile solamente del trasferimento dei dati tra una coppia di
hosts, mentre il layer UDP e’ utilizzato solamente per differenziare tra sorgenti o
destinazioni multiple all’interno di un host
Domotica ed edifici intelligenti – Università di Urbino
UDP multiplexing demultiplexing
Port 1 Port 2 Port3
UDP demultiplexingbased on port
30
IP Layer
I multiplexing/ demultiplexing tra il livello dell’UDP e i programmi applicativi avvengono attraverso il
meccanismo della porta.
Ogni programma applicativo deve negoziare con il sistema operativo per ottenere una protocol port e
l’associato port number prima che possa inviare un datagram UDP.
Una volta che la porta e’ stata assegnata ogni datagram che il programma applicativo invia attraverso la porta
avra’ quel port number nel suo campo UDP SOURCE PORT.
L’UDP accetta datagrams in arrivo dall’IP software e li demultiplexa in funzione dell’UDP destination port.
Domotica ed edifici intelligenti – Università di Urbino
UDP multiplexing demultiplexing
Port 1 Port 2 Port3
UDP demultiplexingbased on port
IP Layer
31
IP Layer
Il modo piu’ semplice di pensare ad una porta UDP e’ una coda (queue). Quando il programma applicativo
negozia con il sistema operativo per usare una data porta, il sistema operativo crea una coda interna per
bufferizzare i messaggi in arrivo. L’applicazione puo’ modificare la dimensione della coda.
Se l’UDP che riceve il datagram verifica che la destination port number non corrisponde a una di quelle
correntemente in uso, invia un messaggio di errore ICMP port unreachable e scarica il datagram.
Se invece corrisponde ad una porta in uso, l’UDP accoda il nuovo datagram alla porta a cui il programma
applicativo puo’ accedere. Se la coda e’ piena il datagram viene scaricato e viene generato un errore.
Domotica ed edifici intelligenti – Università di Urbino
Numeri di porta UDP riservati e disponibili
• Due approcci alla assegnazione delle porte:– Assegnazione universale
• gestita da una autorita’ centrale• l’assegnazione delle porte specificata dall’autorita’ e’ detta
well-known ports assignments– Binding dinamico
• le porte non sono globalmente conosciute• Ogni volta che il programma ha bisogno di una porta, il
network software ne assegna una.
32
network software ne assegna una. • Il computer sorgente prima di inviare il datagram deve inviare
una richiesta che richieda l’assegnazione corrente della porta• L’approccio utilizzato e’ quello ibrido che assegna alcune port number
a priori ma ne lascia molte disponibili per site o application programslocali
Domotica ed edifici intelligenti – Università di Urbino
Numeri di porta UDP riservati e disponibili
Decimal Keyword Unix Keyword Description0 - RESERVED
7 ECHO echo Echo
9 DISCARD discard Discard
11 USERS systat Active Users
13 DAYTIME daytime Daytime
15 - netstat network status program
33
15 - netstat network status program
17 QUOTE qotd Quote of the day
19 CHARGEN chargen Character generator
37 TIME time Time
42 NAMESERVER name Host Name Server
43 NICNAME whois Who Is
53 DOMAIN nameserver Domain Name Server
67 BOOTPS bootps BOOTP or DHCP Server
Domotica ed edifici intelligenti – Università di Urbino
Decimal Keyword Unix Keyword Description68 BOOTPC bootpc BOOTP or DHCP Client
69 TFTP tftp Trivial File Transfer
88 KERBEROS kerberos Kerberos Security Service
111 SUNRPC sunrpc Sun Remote Procedure Call
123 NTP ntp Network Time Protocol
Numeri di porta UDP riservati e disponibili
34
161 - snmp Simple Network Management Protocol
162 - snmp-trap SNMP traps
512 - biff UNIX comsat
513 - who UNIX rwho daemon
514 - syslog System log
525 - timed Time Daemon
Domotica ed edifici intelligenti – Università di Urbino