際際滷

際際滷Share a Scribd company logo
Il protocollo IP (Internet Protocol) Servizi offerti da IP Formato del pacchetto IP
Il servizio di comunicazione offerto da IP Connectionless progettato secondo un paradigma  packet-oriented (o datagram) Due pacchetti (o datagrammi) destinati alla stesso host possono essere trattati in maniera diversa Non affidabile Consegna  best-effort  dei datagrammi senza garanzia di successo Analogia con il servizio postale ordinario
Pacchetto vs Circuito Virtuale Approccio a circuito virtuale: ATM, X25, Frame Relay Approccio a pacchetto: IP Source: Computer Networking, J. Kurose
Altri Servizi Offerti da IP Indirizzamento:  assegna unindirizzo universalmente riconosciuto Frammentazione/Deframmentazione:   frammenta/deframmenta i pacchetti se il livello locale lo richiede (IP 竪 pensato per funzionare su molteplici tecnologie di livello inferiore)
UDP TCP Lo stack IP base Livelli inferiori IP ICMP ARP routing 4 3
Il pacchetto (datagramma) IP Header 20 BYTE 1 32  bit Flags Ver HLEN Total length Fragment Identification Frag. Offset Source address TOS (DS) TTL Protocol Header Checksum Destination address Options: source routing, record route, timestamp Dati  16 fino a  40 BYTE
I campi dellheader IP Ver (4 bit): version : indica la versione del protocollo; IPv4, IPv6. Se il campo VER non corrisponde alla versione del protocollo implementata sul router ricevente, il pacchetto viene scartato. HLEN (4 bit) header length : indica la lunghezza dellheader del pacchetto espressa in parole da 32 bit (max 64 byte) Total length (16 bit): indica la lunghezza totale del pacchetto in byte: valore massimo 2 16 =65536; una volta sottratta la dimensione dellheader d la lunghezza del payload. Serve solo se il livello sottostante effettua padding riempitivo.
I campi dellheader IP TOS  type of service  (8 bit)  Recentemente cambiato in  Differentiated Services  usato per la gestione delle priorit nelle code dei router, e per garantire QoS T R C D Precedence TOS bits
Il campo  Protocol E un codice che indica il protocollo di livello superiore pi湛 protocolli di livello superiore possono usare IP (multiplazione) il codice identifica il SAP ( Service Access Point ) tra IP e il protocollo di livello superiore UDP TCP Livelli inferiori IP Valore Protocollo 1 ICMP 2 IGMP 6 TCP 17 UDP 89 OSPF
Il campo  Time To Live   (TTL) Il campo  TTL  viene settato ad un valore elevato da chi genera il pacchetto e viene decrementato da ogni router attraversato Se un router decrementa il valore e questo va a zero, il pacchetto viene scartato e viene generato un messaggio di errore verso la sorgente Time-out  sulla validit di un pacchetto TTL=250 TTL=2 TTL=1 TTL=0 messaggio derrore: time exceeded
La Frammentazione (1) Alcuni protocolli di livello inferiore a cui IP si appoggia richiedono una dimensione massima del pacchetto IP ( Maximum Transfer Unit, MTU ) inferiore a 65536 bytes Pacchetto IP Header Trailer Pacchetto IP Protocollo MTU (byte) Token Ring 16Mb/s 17914 FDDI 4352 Ethernet 1500
La Frammentazione (2) G IP IP IP LL (A) LL (A) LL (B) LL (B) Rete A Rete B frag.
La Frammentazione (3) prima di passare il pacchetto al livello inferiore IP divide il pacchetto in frammenti ciascuno con il suo header un frammento di un pacchetto pu嘆 essere frammentato ulteriormente lungo il cammino i frammenti verranno ricomposti dallentit IP del destinatario (frammenti di uno stesso pacchetto possono seguire diversi percorsi) i campi  Identification, Flags e Frag. Offset  sono usati per questo scopo
I campi usati per la frammentazione (1) Identification (16 bit) 竪 un campo che identifica tutti i frammenti di uno stesso pacchetto in modo univoco. E scelto dallIP che effettua la frammentazione Frag. Offset (13 bit) I byte del pacchetto originale sono numerati da 0 al valore della lunghezza totale. Il campo  Frag. Offset  di ogni frammento riporta il numero di sequenza del primo byte del frammento. esempio:  se un pacchetto di 2000 byte viene diviso in due da 1000 il primo frammento avr un Frag  Offset  pari a 0 e il secondo pari a 1000/8
I campi usati per la frammentazione (2) Flags il bit M  ( More ) 竪 pari a 0 solo nellultimo frammento il bit D ( Do not fragment ) viene posto a 1 quando non si vuole che lungo il percorso venga applicata la frammentazione in questo caso, se la frammentazione fosse necessaria, il pacchetto sarebbe scartato e verrebbe generato un messaggio di errore - M D
La Frammentazione in pratica Loverhead computazionale legato alla frammentazione pu嘆 essere rilevante Si tende, quindi, a non frammentare limitando la dimensione dei segmenti che arrivano allIP dal livello di trasporto. IP supporta tecnologie sottostanti in grado di gestire trame di almeno 576 byte Si pone la dimensione dei segmenti del livello di trasporto pari a 536 byte (+20byte TCP + 20byte IP) La maggior parte delle applicazioni per trasferimento di dati (HTTP) funzionano con dimensione di segmenti tra 512-536 byte.
Il campo  Checksum:  controllo di integrit Informazione ridondante inserita nellheader del pacchetto IP per controllo derrore Il campo di  checksum   (16 bit) 竪 calcolato dal trasmettitore ed inserito nellheader Il ricevitore ripete lo stesso calcolo sul pacchetto ricevuto (comprensivo di  checksum ) Se il risultato 竪 soddisfacente accetta il pacchetto altrimenti lo scarta
Clacolo del Checksum lato trasmettitore Lheader 竪 diviso in blocchi da 16 bit Il  Checksum  竪 inizializzato a 0 Tutti i blocchi vengono sommati modulo 2 Il risultato 竪 complementato ed inserito nel campo di  checksum checksum tutti 0 + + + =     somma complemento a 1
Clacolo del Checksum lato ricevitore Lheader 竪 diviso in blocchi da 16 bit Tutti i blocchi vengono sommati modulo 2 Il risultato 竪 complementato Se sono tutti 0 il pacchetto 竪 accettato Altrimenti 竪 scartato checksum + + + =     somma complemento a 1
Le Opzioni La parte iniziale dellheader IP 竪 di 20 byte ed 竪 sempre presente Campi opzionali possono allungare lheader fino ad un massimo di 60 byte Opzioni usate per: Testing Debugging 20 BYTE 1 32  bit Flags Ver HLEN Total length Fragment Identification Frag. Offset Source address TOS TTL Protocol Header Checksum Destination address Options: security, source routing, record route, timestamp Dati
Le Opzioni Copy: 0 opzione copiata solo nel primo frammento 1 opzione copiata in tutti i frammenti code 8 bit length 8 bit data dimensione variabile copy 1 bit class 2 bit option number 5 bit Class: 00 controllo del frammento 10 gestione e debugging Option number: 00000 end of option (1 byte) 00001 no operation (1 byte) 00011 loose source route 00100 time stamp 00111 record route 01001 strict source route Richiedono il Campo dati
End Of Option  e  No operation Sono campi opzione di 1 byte utilizzati per fare  padding Non hanno la parte di dati Source:  TCP/IP Protocol Suite,  B. Forouzan.
Record Route  (1) Serve per registrare il percorso del pacchetto Il campo  pointer  punto al primo byte libero nella lista degli  address Ogni volta che viene attraversato un router il suo indirizzo IP duscita viene registrato nel campo puntato e il  pointer  viene aumentato di 4 code 8 bit length 8 bit pointer 8 bit 1 st  address 32 bit 2 nd  address 32 bit 9 th  address 32 bit   40 byte
Record Route (2) Esempio: 10.10.9.0 10.10.8.0 4 10.10.9.1 10.10.10.1 10.10.10.2 10.10.8.1 10.10.10.0 10.10.9.2 8 10.10.10.1 12 10.10.10.1 10.10.8.1
Strict Source Route Implementa un meccanismo di  source routing Tutti i campi  address  sono inizialmente pieni e indicano i router che si vuole vengano attraversati il puntatore viene incrementato di 4 ad ogni  hop se viene raggiunto un  router  non previsto il pacchetto viene scartato e viene generato un messaggio di errore (usata molto raramente!!!) code 8 bit length 8 bit pointer 8 bit 1 st  address 32 bit 2 nd  address 32 bit 9 th  address 32 bit   40 byte
Loose Source Route come la precedente, ma 竪 possibile visitare anche altri  router  (il pacchetto non viene scartato) (usata molto raramente!!!) code 8 bit length 8 bit pointer 8 bit 1 st  address 32 bit 2 nd  address 32 bit 9 th  address 32 bit   40 byte
Time Stamp misura il tempo assoluto di uscita del pacchetto da un router il campo  Over-Flow  indica i  router  sul percorso che non hanno potuto aggiungere il  timestamp il campo  Flag  indica la modalit operativa stabilita dal mittente code 8 bit length 8 bit pointer 8 bit 1 st  address 32 bit 2 nd  address 32 bit   O-Flow 4 bit Flag 4 bit 1 st  time stamp 32 bit 2 nd  time stamp 32 bit
Struttura Implementativa protocollo IP Source:  TCP/IP Protocol Suite,  B. Forouzan.
Internet Control Message Protocol (ICMP) RFC 792
Internet Control Message Protocol  (ICMP) E un protocollo per messaggi di servizio fra host e router per informazioni su errori e fasi di attraversamento della rete da questo punto di vista pu嘆 essere considerato come parte di IP i messaggi ICMP sono incapsulati e trasportati da IP, e quindi da questo punto di vista pu嘆 essere considerato un utente di IP IP ICMP IP Livelli inferiori ICMP
Internet Control Message Protocol (ICMP) Nel pacchetto IP il campo  protocol  indica il codice dellICMP il messaggio ICMP viaggia allinterno del pacchetto IP messaggio ICMP header IP header della trama MAC header ICMP payload della trama MAC payload pacchetto IP sezione dati del messaggio ICMP
Formato messaggi ICMP Type 0 Echo reply 3 Destination unreachable 4 Source Quench 5 Redirect (change a route) 8 Echo request 11 Time exceeded Type 11 Parameter problem 13 Timestamp request 14 Timestamp reply 17 Address mask request 18  Address mask reply type 8 bit code 8 bit checksum 16 bit resto dellheader 32 bit sezione dati lunghezza variabile
Tipi di messaggi Error Reporting Destination Unreachable  (type 3) Source Quench  (type 4) Time Exceeded  (type 11) Parameter Problem  (type 12) Redirection  (type 5) Query Echo Request/Reply  (type 8,0) Timestamp Request/Reply  (type 13/14) Address Mask Request/Reply  (type 17/18) Router Solicitation/Advertisment  (type 10/9)
Funzionalit di  Error Reporting ICMP non corregge errori, ma si limita a segnalarli. Levento errore 竪 notificato alla sorgente del pacchetto IP che lo ha causato Eventi gestiti Destination Unreachable  (type 3) Source Quench  (type 4) Time Exceeded  (type 11) Parameter Problem  (type 12) Redirection  (type 5) I messaggi di errore contengono lheader del pacchetto IP che li ha generati e i suoi primi 8 byte di dati.
Destination Unreachable Quando un router scarta un pacchetto per qualche motivo normalmente genera un messaggio di errore che invia alla sorgente del pacchetto nel campo  code  竪 codificato il motivo che ha causato lerrore ovviamente la generazione del messaggio avviene solo nei casi in cui il router pu嘆 accorgersi del problema il motivo pi湛 comune 竪 il fatto che la destinazione non 竪 presente nella tabella di routing ( code = 7) type  (3) code (0-12) checksum non usato  (0) header + primi 64 bit del pacchetto IP che  ha causato il problema
Destination unreachable Alcuni Code: 0 network unreachable 1 host unreachable 2  protocol unreachable 3 port unreachable 4 fragmentation needed and DF set 5 source route failed ... type  (3) code (0-12) checksum non usato  (0) header + primi 64 bit del pacchetto IP che  ha causato il problema
Time exceeded Code 0 (inviato dai router) Il messaggio di  time exceeded  viene usato quando il router decrementando il TTL lo pone a 0 il messaggio di  time exceeded  viene inviato alla sorgente del pacchetto Code 1 (inviato dalla destinazione) viene usato dalla destinazione quando non tutti i frammenti di un pacchetto arrivano entro un tempo massimo type  (11) code (0-1) checksum non usato  (0) header + primi 64 bit del pacchetto IP che  ha causato il problema
Parameter problem Code 0 se lheader di un pacchetto IP ha una incongruenza in qualcuno dei suoi campi viene inviato il messaggio di  parameter problem ; il campo  pointer  punta al byte del pacchetto che ha causato il problema Code 1 viene usato quando unopzione non 竪 implementata o qualche parte del campo opzioni manca type  (12) code (0-1) checksum non usato  (0) header + primi 64 bit del pacchetto IP che  ha causato il problema pointer
Redirect Questo messaggio viene usato quando si vuole che la sorgente usi per quella destinazione un diverso router type  (5) code (0-3) checksum indirizzo IP del router  header + primi 64 bit del pacchetto IP A redirect dest. A dest. A
Funzionalit di diagnostica Coppie di messaggi secondo il paradigma domanda/risposta Tipi di messaggi: Echo Request/Reply  (type 8,0) Timestamp Request/Reply  (type 13/14) Address Mask Request/Reply  (type 17/18) Router Solicitation/Advertisment  (type 10/9)
Funzionalit di  Echo I messaggi di  Echo-request  e  Echo-reply  sono usati per verificare la raggiungibilit e lo stato di un host o un router quando un nodo IP riceve un messaggio di  Echo-request  risponde immediatamente con un messaggio di  Echo reply echo-request echo-reply
Messaggi  Echo Il campo  identifier  viene scelto dal mittente della richiesta nella risposta viene ripetuto lo stesso  identifier  della richiesta pi湛 richieste consecutive possono avere lo stesso  identifier  e differire per il  sequence number una sequenza arbitraria pu嘆 essere aggiunta dal mittente nel campo optional data e deve essere riportata uguale nella risposta type  (8 request, 0 reply) code (0) checksum identifier optional data sequence number
Uso Messaggi di Echo: PING
Uso dei messaggi ICMP: applicativo di  traceroute
Traceroute: come funziona? Il  traceroute  usa (normalmente) messaggi di  Echo-request  verso la destinazione I primo messaggio ha il TTL=1 echo-request Time-exceeded TTL=1 TTL:=TTL-1=0
Traceroute: come funziona? I secondo messaggio ha il TTL=2 echo-request Time-exceeded TTL=2 TTL:=TTL-1=1 TTL:=TTL-1=0
Traceroute: come funziona? I terzo messaggio ha il TTL=3, e cos狸 via  echo-request Time-exceeded TTL=3 TTL:=TTL-1=2 TTL:=TTL-1=1 TTL:=TTL-1=0
Timestamp request  e  reply Questo messaggio viene usato per lo scambio di informazioni sul clock di sorgente e destinazione originate timestamp:  viene riempito dalla sorgente receive timestamp : viene riempito dalla destinazione appena ricevuto il pacchetto transmit timestamp:  viene riempito dalla destinazione immediatamente prima di inviare il pacchetto di risposta type  ( 13 request, 14 reply) code (0) checksum originate timestamp identifier sequence number receive timestamp transmit timestamp
Address mask request  e  reply Questo messaggio viene usato per conoscere la netmask di un host/router Il campo  address mask  viene riempito dal destinatario  type  ( 17 request, 18 reply) code (0) checksum address mask identifier sequence number
Ad

More Related Content

What's hot (12)

7 Gestione Iindirizzi
7 Gestione Iindirizzi7 Gestione Iindirizzi
7 Gestione Iindirizzi
acapone
13 Linux Network Comandi
13 Linux Network Comandi13 Linux Network Comandi
13 Linux Network Comandi
Mauro Ferrigno
Livello Data Link
Livello Data LinkLivello Data Link
Livello Data Link
I.S.I.S. "Antonio Serra" - Napoli
Introduzione al livello di rete e Dijkstra algorithm
Introduzione al livello di rete e Dijkstra algorithmIntroduzione al livello di rete e Dijkstra algorithm
Introduzione al livello di rete e Dijkstra algorithm
orestJump
Topologie
TopologieTopologie
Topologie
Emilia Calzetta
Iperf
IperfIperf
Iperf
mquaresi
5 Protocolli Trasporto Parte1
5 Protocolli Trasporto Parte15 Protocolli Trasporto Parte1
5 Protocolli Trasporto Parte1
Majong DevJfu
Clink
ClinkClink
Clink
h4f
Strutturazione delle Reti
Strutturazione delle RetiStrutturazione delle Reti
Strutturazione delle Reti
Vincenzo Quero
Pf e netfilter, analisi dei firewall open source
Pf e netfilter, analisi dei firewall open sourcePf e netfilter, analisi dei firewall open source
Pf e netfilter, analisi dei firewall open source
Giovanni Bechis
Tpsit 03
Tpsit 03Tpsit 03
Tpsit 03
Emilia Calzetta
7 Gestione Iindirizzi
7 Gestione Iindirizzi7 Gestione Iindirizzi
7 Gestione Iindirizzi
acapone
13 Linux Network Comandi
13 Linux Network Comandi13 Linux Network Comandi
13 Linux Network Comandi
Mauro Ferrigno
Introduzione al livello di rete e Dijkstra algorithm
Introduzione al livello di rete e Dijkstra algorithmIntroduzione al livello di rete e Dijkstra algorithm
Introduzione al livello di rete e Dijkstra algorithm
orestJump
5 Protocolli Trasporto Parte1
5 Protocolli Trasporto Parte15 Protocolli Trasporto Parte1
5 Protocolli Trasporto Parte1
Majong DevJfu
Clink
ClinkClink
Clink
h4f
Strutturazione delle Reti
Strutturazione delle RetiStrutturazione delle Reti
Strutturazione delle Reti
Vincenzo Quero
Pf e netfilter, analisi dei firewall open source
Pf e netfilter, analisi dei firewall open sourcePf e netfilter, analisi dei firewall open source
Pf e netfilter, analisi dei firewall open source
Giovanni Bechis

Viewers also liked (15)

Introduction to KinderCare Education
Introduction to KinderCare EducationIntroduction to KinderCare Education
Introduction to KinderCare Education
Debra Jensen
Digital Inclusion- Census _DBDA
Digital Inclusion- Census _DBDADigital Inclusion- Census _DBDA
Digital Inclusion- Census _DBDA
Ravi Prakash
hi there
hi therehi there
hi there
steadfastmanacl68
China wind market player
China wind market playerChina wind market player
China wind market player
Otgontugs Ulziisuren
Evolution to LTE (GSA report, October 13, 2015)
Evolution to LTE (GSA report, October 13, 2015)Evolution to LTE (GSA report, October 13, 2015)
Evolution to LTE (GSA report, October 13, 2015)
Global mobile Suppliers Association (GSA)
Raah International Pte -Jb all electrical and instrumentation catalogue
Raah International Pte -Jb all electrical and instrumentation catalogueRaah International Pte -Jb all electrical and instrumentation catalogue
Raah International Pte -Jb all electrical and instrumentation catalogue
Sarah Shaikh
Philip Cargnino - Business Management
Philip Cargnino - Business ManagementPhilip Cargnino - Business Management
Philip Cargnino - Business Management
Philip Cargnino
De IT Regisseur - grip op IT met Integrated Service Management (ISM)
De IT Regisseur - grip op IT met Integrated Service Management (ISM)De IT Regisseur - grip op IT met Integrated Service Management (ISM)
De IT Regisseur - grip op IT met Integrated Service Management (ISM)
De IT Regisseur B.V.
ICT and sustainability presentation
ICT and sustainability presentationICT and sustainability presentation
ICT and sustainability presentation
Intergen
322292.platform switch -_to_be_or_not_to_be_ver_5.1
322292.platform switch -_to_be_or_not_to_be_ver_5.1322292.platform switch -_to_be_or_not_to_be_ver_5.1
322292.platform switch -_to_be_or_not_to_be_ver_5.1
nirav24
Resumen de la revolucion francesaResumen de la revolucion francesa
Resumen de la revolucion francesa
camila ibarguen
De Ict Organisatie Wordt Regisseur
De Ict Organisatie Wordt RegisseurDe Ict Organisatie Wordt Regisseur
De Ict Organisatie Wordt Regisseur
Dan Kamminga
Basics of the Economics of Monopoly
Basics of the Economics of MonopolyBasics of the Economics of Monopoly
Basics of the Economics of Monopoly
tutor2u
Long Term Data Storage 2007
Long Term Data Storage 2007Long Term Data Storage 2007
Long Term Data Storage 2007
Andrei Khurshudov
Specialty Wine Kits
Specialty Wine KitsSpecialty Wine Kits
Specialty Wine Kits
winensuds
Introduction to KinderCare Education
Introduction to KinderCare EducationIntroduction to KinderCare Education
Introduction to KinderCare Education
Debra Jensen
Digital Inclusion- Census _DBDA
Digital Inclusion- Census _DBDADigital Inclusion- Census _DBDA
Digital Inclusion- Census _DBDA
Ravi Prakash
Raah International Pte -Jb all electrical and instrumentation catalogue
Raah International Pte -Jb all electrical and instrumentation catalogueRaah International Pte -Jb all electrical and instrumentation catalogue
Raah International Pte -Jb all electrical and instrumentation catalogue
Sarah Shaikh
Philip Cargnino - Business Management
Philip Cargnino - Business ManagementPhilip Cargnino - Business Management
Philip Cargnino - Business Management
Philip Cargnino
De IT Regisseur - grip op IT met Integrated Service Management (ISM)
De IT Regisseur - grip op IT met Integrated Service Management (ISM)De IT Regisseur - grip op IT met Integrated Service Management (ISM)
De IT Regisseur - grip op IT met Integrated Service Management (ISM)
De IT Regisseur B.V.
ICT and sustainability presentation
ICT and sustainability presentationICT and sustainability presentation
ICT and sustainability presentation
Intergen
322292.platform switch -_to_be_or_not_to_be_ver_5.1
322292.platform switch -_to_be_or_not_to_be_ver_5.1322292.platform switch -_to_be_or_not_to_be_ver_5.1
322292.platform switch -_to_be_or_not_to_be_ver_5.1
nirav24
Resumen de la revolucion francesaResumen de la revolucion francesa
Resumen de la revolucion francesa
camila ibarguen
De Ict Organisatie Wordt Regisseur
De Ict Organisatie Wordt RegisseurDe Ict Organisatie Wordt Regisseur
De Ict Organisatie Wordt Regisseur
Dan Kamminga
Basics of the Economics of Monopoly
Basics of the Economics of MonopolyBasics of the Economics of Monopoly
Basics of the Economics of Monopoly
tutor2u
Long Term Data Storage 2007
Long Term Data Storage 2007Long Term Data Storage 2007
Long Term Data Storage 2007
Andrei Khurshudov
Specialty Wine Kits
Specialty Wine KitsSpecialty Wine Kits
Specialty Wine Kits
winensuds
Ad

Similar to 4 Protocollo Ip (20)

TCP IP
TCP IPTCP IP
TCP IP
Vincenzo Calabr嘆
3 Livello Trasporto
3 Livello Trasporto3 Livello Trasporto
3 Livello Trasporto
acapone
Multicast IPv6
Multicast IPv6Multicast IPv6
Multicast IPv6
Marco d'Itri
Internetworking
InternetworkingInternetworking
Internetworking
Vincenzo Calabr嘆
11 Evoluzione
11 Evoluzione11 Evoluzione
11 Evoluzione
acapone
Introduzione ai protocolli tcp/ip ed al Domain Name System
Introduzione ai protocolli tcp/ip ed al Domain Name SystemIntroduzione ai protocolli tcp/ip ed al Domain Name System
Introduzione ai protocolli tcp/ip ed al Domain Name System
RoBisc
Sistemi e reti : Il livello di trasporto
Sistemi e reti : Il livello di trasportoSistemi e reti : Il livello di trasporto
Sistemi e reti : Il livello di trasporto
Stefano Scarpellini
9 Intranetting
9 Intranetting9 Intranetting
9 Intranetting
acapone
Prot09 Rtp Rtcp Rtsp Tognana Denis
Prot09 Rtp Rtcp Rtsp Tognana DenisProt09 Rtp Rtcp Rtsp Tognana Denis
Prot09 Rtp Rtcp Rtsp Tognana Denis
guest93a145
Modello TCP/IP
Modello TCP/IPModello TCP/IP
Modello TCP/IP
I.S.I.S. "Antonio Serra" - Napoli
Il protocollo can e l'integrazione con vnt
Il protocollo can e l'integrazione con vntIl protocollo can e l'integrazione con vnt
Il protocollo can e l'integrazione con vnt
Antonio Mangiardi
5 Protocolli Trasporto Parte3
5 Protocolli Trasporto Parte35 Protocolli Trasporto Parte3
5 Protocolli Trasporto Parte3
Majong DevJfu
Lezione_rete-forw-NAT-DHCP-aa1ds920.pptx
Lezione_rete-forw-NAT-DHCP-aa1ds920.pptxLezione_rete-forw-NAT-DHCP-aa1ds920.pptx
Lezione_rete-forw-NAT-DHCP-aa1ds920.pptx
AlbertoBrioschi3
Reti Locali
Reti LocaliReti Locali
Reti Locali
Vincenzo Calabr嘆
5 Protocolli Trasporto Parte2
5 Protocolli Trasporto Parte25 Protocolli Trasporto Parte2
5 Protocolli Trasporto Parte2
Majong DevJfu
Prot-09 pchar
Prot-09 pcharProt-09 pchar
Prot-09 pchar
guest7cecd5
IoT: protocolli, dispositivi, architetture
IoT: protocolli, dispositivi, architettureIoT: protocolli, dispositivi, architetture
IoT: protocolli, dispositivi, architetture
Stefano Valle
Protocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTT
Protocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTTProtocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTT
Protocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTT
Stefano Valle
際際滷 IPv6
際際滷 IPv6際際滷 IPv6
際際滷 IPv6
Matteo Tamborini
1 Intro Propedeutici
1 Intro Propedeutici1 Intro Propedeutici
1 Intro Propedeutici
acapone
3 Livello Trasporto
3 Livello Trasporto3 Livello Trasporto
3 Livello Trasporto
acapone
11 Evoluzione
11 Evoluzione11 Evoluzione
11 Evoluzione
acapone
Introduzione ai protocolli tcp/ip ed al Domain Name System
Introduzione ai protocolli tcp/ip ed al Domain Name SystemIntroduzione ai protocolli tcp/ip ed al Domain Name System
Introduzione ai protocolli tcp/ip ed al Domain Name System
RoBisc
Sistemi e reti : Il livello di trasporto
Sistemi e reti : Il livello di trasportoSistemi e reti : Il livello di trasporto
Sistemi e reti : Il livello di trasporto
Stefano Scarpellini
9 Intranetting
9 Intranetting9 Intranetting
9 Intranetting
acapone
Prot09 Rtp Rtcp Rtsp Tognana Denis
Prot09 Rtp Rtcp Rtsp Tognana DenisProt09 Rtp Rtcp Rtsp Tognana Denis
Prot09 Rtp Rtcp Rtsp Tognana Denis
guest93a145
Il protocollo can e l'integrazione con vnt
Il protocollo can e l'integrazione con vntIl protocollo can e l'integrazione con vnt
Il protocollo can e l'integrazione con vnt
Antonio Mangiardi
5 Protocolli Trasporto Parte3
5 Protocolli Trasporto Parte35 Protocolli Trasporto Parte3
5 Protocolli Trasporto Parte3
Majong DevJfu
Lezione_rete-forw-NAT-DHCP-aa1ds920.pptx
Lezione_rete-forw-NAT-DHCP-aa1ds920.pptxLezione_rete-forw-NAT-DHCP-aa1ds920.pptx
Lezione_rete-forw-NAT-DHCP-aa1ds920.pptx
AlbertoBrioschi3
5 Protocolli Trasporto Parte2
5 Protocolli Trasporto Parte25 Protocolli Trasporto Parte2
5 Protocolli Trasporto Parte2
Majong DevJfu
Prot-09 pchar
Prot-09 pcharProt-09 pchar
Prot-09 pchar
guest7cecd5
IoT: protocolli, dispositivi, architetture
IoT: protocolli, dispositivi, architettureIoT: protocolli, dispositivi, architetture
IoT: protocolli, dispositivi, architetture
Stefano Valle
Protocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTT
Protocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTTProtocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTT
Protocol Rollercoaster: da HTTP a AMQP, passando per CoAP e MQTT
Stefano Valle
1 Intro Propedeutici
1 Intro Propedeutici1 Intro Propedeutici
1 Intro Propedeutici
acapone
Ad

More from acapone (8)

MobiMESH - WiFi Solutions
MobiMESH - WiFi SolutionsMobiMESH - WiFi Solutions
MobiMESH - WiFi Solutions
acapone
B Esercizi Tcp
B Esercizi TcpB Esercizi Tcp
B Esercizi Tcp
acapone
A Esercizi Commutazione Di Pacchetto
A Esercizi Commutazione Di PacchettoA Esercizi Commutazione Di Pacchetto
A Esercizi Commutazione Di Pacchetto
acapone
5 Indirizzamento Ip
5 Indirizzamento Ip5 Indirizzamento Ip
5 Indirizzamento Ip
acapone
2 Protocolli Applicativi
2 Protocolli Applicativi2 Protocolli Applicativi
2 Protocolli Applicativi
acapone
MobiMESH: Mesh Evolution
MobiMESH: Mesh EvolutionMobiMESH: Mesh Evolution
MobiMESH: Mesh Evolution
acapone
MobiMESH: Technology
MobiMESH: TechnologyMobiMESH: Technology
MobiMESH: Technology
acapone
MobiMESH: Introduction to Wireless MESH Networks
MobiMESH: Introduction to Wireless MESH NetworksMobiMESH: Introduction to Wireless MESH Networks
MobiMESH: Introduction to Wireless MESH Networks
acapone
MobiMESH - WiFi Solutions
MobiMESH - WiFi SolutionsMobiMESH - WiFi Solutions
MobiMESH - WiFi Solutions
acapone
B Esercizi Tcp
B Esercizi TcpB Esercizi Tcp
B Esercizi Tcp
acapone
A Esercizi Commutazione Di Pacchetto
A Esercizi Commutazione Di PacchettoA Esercizi Commutazione Di Pacchetto
A Esercizi Commutazione Di Pacchetto
acapone
5 Indirizzamento Ip
5 Indirizzamento Ip5 Indirizzamento Ip
5 Indirizzamento Ip
acapone
2 Protocolli Applicativi
2 Protocolli Applicativi2 Protocolli Applicativi
2 Protocolli Applicativi
acapone
MobiMESH: Mesh Evolution
MobiMESH: Mesh EvolutionMobiMESH: Mesh Evolution
MobiMESH: Mesh Evolution
acapone
MobiMESH: Technology
MobiMESH: TechnologyMobiMESH: Technology
MobiMESH: Technology
acapone
MobiMESH: Introduction to Wireless MESH Networks
MobiMESH: Introduction to Wireless MESH NetworksMobiMESH: Introduction to Wireless MESH Networks
MobiMESH: Introduction to Wireless MESH Networks
acapone

4 Protocollo Ip

  • 1. Il protocollo IP (Internet Protocol) Servizi offerti da IP Formato del pacchetto IP
  • 2. Il servizio di comunicazione offerto da IP Connectionless progettato secondo un paradigma packet-oriented (o datagram) Due pacchetti (o datagrammi) destinati alla stesso host possono essere trattati in maniera diversa Non affidabile Consegna best-effort dei datagrammi senza garanzia di successo Analogia con il servizio postale ordinario
  • 3. Pacchetto vs Circuito Virtuale Approccio a circuito virtuale: ATM, X25, Frame Relay Approccio a pacchetto: IP Source: Computer Networking, J. Kurose
  • 4. Altri Servizi Offerti da IP Indirizzamento: assegna unindirizzo universalmente riconosciuto Frammentazione/Deframmentazione: frammenta/deframmenta i pacchetti se il livello locale lo richiede (IP 竪 pensato per funzionare su molteplici tecnologie di livello inferiore)
  • 5. UDP TCP Lo stack IP base Livelli inferiori IP ICMP ARP routing 4 3
  • 6. Il pacchetto (datagramma) IP Header 20 BYTE 1 32 bit Flags Ver HLEN Total length Fragment Identification Frag. Offset Source address TOS (DS) TTL Protocol Header Checksum Destination address Options: source routing, record route, timestamp Dati 16 fino a 40 BYTE
  • 7. I campi dellheader IP Ver (4 bit): version : indica la versione del protocollo; IPv4, IPv6. Se il campo VER non corrisponde alla versione del protocollo implementata sul router ricevente, il pacchetto viene scartato. HLEN (4 bit) header length : indica la lunghezza dellheader del pacchetto espressa in parole da 32 bit (max 64 byte) Total length (16 bit): indica la lunghezza totale del pacchetto in byte: valore massimo 2 16 =65536; una volta sottratta la dimensione dellheader d la lunghezza del payload. Serve solo se il livello sottostante effettua padding riempitivo.
  • 8. I campi dellheader IP TOS type of service (8 bit) Recentemente cambiato in Differentiated Services usato per la gestione delle priorit nelle code dei router, e per garantire QoS T R C D Precedence TOS bits
  • 9. Il campo Protocol E un codice che indica il protocollo di livello superiore pi湛 protocolli di livello superiore possono usare IP (multiplazione) il codice identifica il SAP ( Service Access Point ) tra IP e il protocollo di livello superiore UDP TCP Livelli inferiori IP Valore Protocollo 1 ICMP 2 IGMP 6 TCP 17 UDP 89 OSPF
  • 10. Il campo Time To Live (TTL) Il campo TTL viene settato ad un valore elevato da chi genera il pacchetto e viene decrementato da ogni router attraversato Se un router decrementa il valore e questo va a zero, il pacchetto viene scartato e viene generato un messaggio di errore verso la sorgente Time-out sulla validit di un pacchetto TTL=250 TTL=2 TTL=1 TTL=0 messaggio derrore: time exceeded
  • 11. La Frammentazione (1) Alcuni protocolli di livello inferiore a cui IP si appoggia richiedono una dimensione massima del pacchetto IP ( Maximum Transfer Unit, MTU ) inferiore a 65536 bytes Pacchetto IP Header Trailer Pacchetto IP Protocollo MTU (byte) Token Ring 16Mb/s 17914 FDDI 4352 Ethernet 1500
  • 12. La Frammentazione (2) G IP IP IP LL (A) LL (A) LL (B) LL (B) Rete A Rete B frag.
  • 13. La Frammentazione (3) prima di passare il pacchetto al livello inferiore IP divide il pacchetto in frammenti ciascuno con il suo header un frammento di un pacchetto pu嘆 essere frammentato ulteriormente lungo il cammino i frammenti verranno ricomposti dallentit IP del destinatario (frammenti di uno stesso pacchetto possono seguire diversi percorsi) i campi Identification, Flags e Frag. Offset sono usati per questo scopo
  • 14. I campi usati per la frammentazione (1) Identification (16 bit) 竪 un campo che identifica tutti i frammenti di uno stesso pacchetto in modo univoco. E scelto dallIP che effettua la frammentazione Frag. Offset (13 bit) I byte del pacchetto originale sono numerati da 0 al valore della lunghezza totale. Il campo Frag. Offset di ogni frammento riporta il numero di sequenza del primo byte del frammento. esempio: se un pacchetto di 2000 byte viene diviso in due da 1000 il primo frammento avr un Frag Offset pari a 0 e il secondo pari a 1000/8
  • 15. I campi usati per la frammentazione (2) Flags il bit M ( More ) 竪 pari a 0 solo nellultimo frammento il bit D ( Do not fragment ) viene posto a 1 quando non si vuole che lungo il percorso venga applicata la frammentazione in questo caso, se la frammentazione fosse necessaria, il pacchetto sarebbe scartato e verrebbe generato un messaggio di errore - M D
  • 16. La Frammentazione in pratica Loverhead computazionale legato alla frammentazione pu嘆 essere rilevante Si tende, quindi, a non frammentare limitando la dimensione dei segmenti che arrivano allIP dal livello di trasporto. IP supporta tecnologie sottostanti in grado di gestire trame di almeno 576 byte Si pone la dimensione dei segmenti del livello di trasporto pari a 536 byte (+20byte TCP + 20byte IP) La maggior parte delle applicazioni per trasferimento di dati (HTTP) funzionano con dimensione di segmenti tra 512-536 byte.
  • 17. Il campo Checksum: controllo di integrit Informazione ridondante inserita nellheader del pacchetto IP per controllo derrore Il campo di checksum (16 bit) 竪 calcolato dal trasmettitore ed inserito nellheader Il ricevitore ripete lo stesso calcolo sul pacchetto ricevuto (comprensivo di checksum ) Se il risultato 竪 soddisfacente accetta il pacchetto altrimenti lo scarta
  • 18. Clacolo del Checksum lato trasmettitore Lheader 竪 diviso in blocchi da 16 bit Il Checksum 竪 inizializzato a 0 Tutti i blocchi vengono sommati modulo 2 Il risultato 竪 complementato ed inserito nel campo di checksum checksum tutti 0 + + + = somma complemento a 1
  • 19. Clacolo del Checksum lato ricevitore Lheader 竪 diviso in blocchi da 16 bit Tutti i blocchi vengono sommati modulo 2 Il risultato 竪 complementato Se sono tutti 0 il pacchetto 竪 accettato Altrimenti 竪 scartato checksum + + + = somma complemento a 1
  • 20. Le Opzioni La parte iniziale dellheader IP 竪 di 20 byte ed 竪 sempre presente Campi opzionali possono allungare lheader fino ad un massimo di 60 byte Opzioni usate per: Testing Debugging 20 BYTE 1 32 bit Flags Ver HLEN Total length Fragment Identification Frag. Offset Source address TOS TTL Protocol Header Checksum Destination address Options: security, source routing, record route, timestamp Dati
  • 21. Le Opzioni Copy: 0 opzione copiata solo nel primo frammento 1 opzione copiata in tutti i frammenti code 8 bit length 8 bit data dimensione variabile copy 1 bit class 2 bit option number 5 bit Class: 00 controllo del frammento 10 gestione e debugging Option number: 00000 end of option (1 byte) 00001 no operation (1 byte) 00011 loose source route 00100 time stamp 00111 record route 01001 strict source route Richiedono il Campo dati
  • 22. End Of Option e No operation Sono campi opzione di 1 byte utilizzati per fare padding Non hanno la parte di dati Source: TCP/IP Protocol Suite, B. Forouzan.
  • 23. Record Route (1) Serve per registrare il percorso del pacchetto Il campo pointer punto al primo byte libero nella lista degli address Ogni volta che viene attraversato un router il suo indirizzo IP duscita viene registrato nel campo puntato e il pointer viene aumentato di 4 code 8 bit length 8 bit pointer 8 bit 1 st address 32 bit 2 nd address 32 bit 9 th address 32 bit 40 byte
  • 24. Record Route (2) Esempio: 10.10.9.0 10.10.8.0 4 10.10.9.1 10.10.10.1 10.10.10.2 10.10.8.1 10.10.10.0 10.10.9.2 8 10.10.10.1 12 10.10.10.1 10.10.8.1
  • 25. Strict Source Route Implementa un meccanismo di source routing Tutti i campi address sono inizialmente pieni e indicano i router che si vuole vengano attraversati il puntatore viene incrementato di 4 ad ogni hop se viene raggiunto un router non previsto il pacchetto viene scartato e viene generato un messaggio di errore (usata molto raramente!!!) code 8 bit length 8 bit pointer 8 bit 1 st address 32 bit 2 nd address 32 bit 9 th address 32 bit 40 byte
  • 26. Loose Source Route come la precedente, ma 竪 possibile visitare anche altri router (il pacchetto non viene scartato) (usata molto raramente!!!) code 8 bit length 8 bit pointer 8 bit 1 st address 32 bit 2 nd address 32 bit 9 th address 32 bit 40 byte
  • 27. Time Stamp misura il tempo assoluto di uscita del pacchetto da un router il campo Over-Flow indica i router sul percorso che non hanno potuto aggiungere il timestamp il campo Flag indica la modalit operativa stabilita dal mittente code 8 bit length 8 bit pointer 8 bit 1 st address 32 bit 2 nd address 32 bit O-Flow 4 bit Flag 4 bit 1 st time stamp 32 bit 2 nd time stamp 32 bit
  • 28. Struttura Implementativa protocollo IP Source: TCP/IP Protocol Suite, B. Forouzan.
  • 29. Internet Control Message Protocol (ICMP) RFC 792
  • 30. Internet Control Message Protocol (ICMP) E un protocollo per messaggi di servizio fra host e router per informazioni su errori e fasi di attraversamento della rete da questo punto di vista pu嘆 essere considerato come parte di IP i messaggi ICMP sono incapsulati e trasportati da IP, e quindi da questo punto di vista pu嘆 essere considerato un utente di IP IP ICMP IP Livelli inferiori ICMP
  • 31. Internet Control Message Protocol (ICMP) Nel pacchetto IP il campo protocol indica il codice dellICMP il messaggio ICMP viaggia allinterno del pacchetto IP messaggio ICMP header IP header della trama MAC header ICMP payload della trama MAC payload pacchetto IP sezione dati del messaggio ICMP
  • 32. Formato messaggi ICMP Type 0 Echo reply 3 Destination unreachable 4 Source Quench 5 Redirect (change a route) 8 Echo request 11 Time exceeded Type 11 Parameter problem 13 Timestamp request 14 Timestamp reply 17 Address mask request 18 Address mask reply type 8 bit code 8 bit checksum 16 bit resto dellheader 32 bit sezione dati lunghezza variabile
  • 33. Tipi di messaggi Error Reporting Destination Unreachable (type 3) Source Quench (type 4) Time Exceeded (type 11) Parameter Problem (type 12) Redirection (type 5) Query Echo Request/Reply (type 8,0) Timestamp Request/Reply (type 13/14) Address Mask Request/Reply (type 17/18) Router Solicitation/Advertisment (type 10/9)
  • 34. Funzionalit di Error Reporting ICMP non corregge errori, ma si limita a segnalarli. Levento errore 竪 notificato alla sorgente del pacchetto IP che lo ha causato Eventi gestiti Destination Unreachable (type 3) Source Quench (type 4) Time Exceeded (type 11) Parameter Problem (type 12) Redirection (type 5) I messaggi di errore contengono lheader del pacchetto IP che li ha generati e i suoi primi 8 byte di dati.
  • 35. Destination Unreachable Quando un router scarta un pacchetto per qualche motivo normalmente genera un messaggio di errore che invia alla sorgente del pacchetto nel campo code 竪 codificato il motivo che ha causato lerrore ovviamente la generazione del messaggio avviene solo nei casi in cui il router pu嘆 accorgersi del problema il motivo pi湛 comune 竪 il fatto che la destinazione non 竪 presente nella tabella di routing ( code = 7) type (3) code (0-12) checksum non usato (0) header + primi 64 bit del pacchetto IP che ha causato il problema
  • 36. Destination unreachable Alcuni Code: 0 network unreachable 1 host unreachable 2 protocol unreachable 3 port unreachable 4 fragmentation needed and DF set 5 source route failed ... type (3) code (0-12) checksum non usato (0) header + primi 64 bit del pacchetto IP che ha causato il problema
  • 37. Time exceeded Code 0 (inviato dai router) Il messaggio di time exceeded viene usato quando il router decrementando il TTL lo pone a 0 il messaggio di time exceeded viene inviato alla sorgente del pacchetto Code 1 (inviato dalla destinazione) viene usato dalla destinazione quando non tutti i frammenti di un pacchetto arrivano entro un tempo massimo type (11) code (0-1) checksum non usato (0) header + primi 64 bit del pacchetto IP che ha causato il problema
  • 38. Parameter problem Code 0 se lheader di un pacchetto IP ha una incongruenza in qualcuno dei suoi campi viene inviato il messaggio di parameter problem ; il campo pointer punta al byte del pacchetto che ha causato il problema Code 1 viene usato quando unopzione non 竪 implementata o qualche parte del campo opzioni manca type (12) code (0-1) checksum non usato (0) header + primi 64 bit del pacchetto IP che ha causato il problema pointer
  • 39. Redirect Questo messaggio viene usato quando si vuole che la sorgente usi per quella destinazione un diverso router type (5) code (0-3) checksum indirizzo IP del router header + primi 64 bit del pacchetto IP A redirect dest. A dest. A
  • 40. Funzionalit di diagnostica Coppie di messaggi secondo il paradigma domanda/risposta Tipi di messaggi: Echo Request/Reply (type 8,0) Timestamp Request/Reply (type 13/14) Address Mask Request/Reply (type 17/18) Router Solicitation/Advertisment (type 10/9)
  • 41. Funzionalit di Echo I messaggi di Echo-request e Echo-reply sono usati per verificare la raggiungibilit e lo stato di un host o un router quando un nodo IP riceve un messaggio di Echo-request risponde immediatamente con un messaggio di Echo reply echo-request echo-reply
  • 42. Messaggi Echo Il campo identifier viene scelto dal mittente della richiesta nella risposta viene ripetuto lo stesso identifier della richiesta pi湛 richieste consecutive possono avere lo stesso identifier e differire per il sequence number una sequenza arbitraria pu嘆 essere aggiunta dal mittente nel campo optional data e deve essere riportata uguale nella risposta type (8 request, 0 reply) code (0) checksum identifier optional data sequence number
  • 43. Uso Messaggi di Echo: PING
  • 44. Uso dei messaggi ICMP: applicativo di traceroute
  • 45. Traceroute: come funziona? Il traceroute usa (normalmente) messaggi di Echo-request verso la destinazione I primo messaggio ha il TTL=1 echo-request Time-exceeded TTL=1 TTL:=TTL-1=0
  • 46. Traceroute: come funziona? I secondo messaggio ha il TTL=2 echo-request Time-exceeded TTL=2 TTL:=TTL-1=1 TTL:=TTL-1=0
  • 47. Traceroute: come funziona? I terzo messaggio ha il TTL=3, e cos狸 via echo-request Time-exceeded TTL=3 TTL:=TTL-1=2 TTL:=TTL-1=1 TTL:=TTL-1=0
  • 48. Timestamp request e reply Questo messaggio viene usato per lo scambio di informazioni sul clock di sorgente e destinazione originate timestamp: viene riempito dalla sorgente receive timestamp : viene riempito dalla destinazione appena ricevuto il pacchetto transmit timestamp: viene riempito dalla destinazione immediatamente prima di inviare il pacchetto di risposta type ( 13 request, 14 reply) code (0) checksum originate timestamp identifier sequence number receive timestamp transmit timestamp
  • 49. Address mask request e reply Questo messaggio viene usato per conoscere la netmask di un host/router Il campo address mask viene riempito dal destinatario type ( 17 request, 18 reply) code (0) checksum address mask identifier sequence number