Networking Tipi di reti, gli standard e gli enti ... · Modello ISO/OSI Progetto della fine degli...

34
Corso “DOMOTICA ED EDIFICI INTELLIGENTI” – UNIVERSITA’ DI URBINO Docente: Ing. Luca Romanelli Mail: [email protected] Domotica ed edifici intelligenti – Università di Urbino 1 Networking Tipi di reti, gli standard e gli enti Protocollo IP Protocolli TCP, UDP

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