Top Banner
Narcisse Nya [email protected] 3I 023 Internet Protocol Prométhée Spathis [email protected] Cours sous la responsabilité de
61

CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Sep 11, 2018

Download

Documents

lenhan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Narcisse [email protected]

3I 023Internet Protocol

Prométhée [email protected]

Cours sous la responsabilité de

Page 2: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Aujourd’hui

2

Application2 HTTP et Web 3 DNS 4 Peer-to-Peer

5 TCP et UDP6 Sockets JavaTransport

7 Adressage8 Protocole IP 9 Routage

Réseau

11 Liaison et contrôle d’accèsLiaison

En master… Physique

Page 3: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Pile protocolaire

Page 4: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

4

Couches en réseauApplication. Supporte des applications réseaux : FTP, SMTP, HTTP, DNS, P2P

Transport. Transfert de données de processus à processus : TCP, UDP

Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage

Liaison. Transfert de données entre deux équipements voisins : Ethernet, 802.11 (Wifi), PPP

Physique. Place des bits sur un lien / médium Pile protocolaire

Internet

Physique

Liaison

Réseau

Transport

Application

Page 5: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

5

Couches en réseau

Physique

Liaison

Réseau

Transport

Application. Supporte des applications réseaux : FTP, SMTP, HTTP, DNS, P2P

Transport. Transfert de données de processus à processus : TCP, UDP

Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage

Liaison. Transfert de données entre deux équipements voisins : Ethernet, 802.11 (Wifi), PPP

Physique. Place des bits sur un lien / médium Modèle de

référence ISO/OSI

Présentation. Permet aux applications d’interpréter le sens des données (ex : chiffrement, compression, codages…)

Session. Synchronisation, points jalon (reprise), recouvrement d’un échange de données

Attention. La pile protocolaire Internet n’implémente pas ces couches. Ces services doivent êtres implémentés au niveau de la couche application au besoin…

Session

Présentation

Application

Page 6: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

6

Couches en réseau

Physique

Liaison

RéseauTransport

Application. Supporte des applications réseaux : FTP, SMTP, HTTP

Transport. Transfert de données de processus à processus : TCP, UDP

Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage

Liaison. Transfert de données entre deux équipements voisins : Ethernet, 802.11 (Wifi), PPP

Physique. Place des bits sur un lien / médium Modèle de

référence ISO/OSI

Présentation. Permet aux applications d’interpréter le sens des données (ex : chiffrement, compression, codages…)

Session. Synchronisation, points jalon (reprise), recouvrement d’un échange de données

Attention. La couche protocolaire Internet n’implémente pas ces couches. Ces services doivent êtres implémentés au niveau de la couche application au besoin…

Session

Présentation

Application

Page 7: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

7

Architecture Internet en couches

IP

TCP

HTTP

Interface Ethernet

Interface SONET

Interface Ethernet

Interface Ethernet

IP

TCP

HTTP

Interface Ethernet

Interface SONET

IP IP

Message HTTP

Segment TCP

Paquet IPPaquet IP Paquet IP

Hôte A Hôte B

Routeur Routeur

Page 8: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

8

Relations entre protocolesProcessus utilisateur

Canal de communication

ApplicationProcessus utilisateur

Processus utilisateur

Processus utilisateur

TCP UDP

ICMP IP IGMP

ARP Interface physique RARP

Transport

Réseau

Liaison

Page 9: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Suite de protocoles InternetFTP HTTP DNS TFTP

TCP UDP

IP

NET1 NET2 NETn…

Applications

UDPTCP

Liaison

Physique

“hourglass model”Pour faciliter l’inter-opérabilité

Page 10: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

10

Encapsulation / Désencapsulation

Données utilisateur

Données de l’application

Données de l’applicationEntête TCP

Données de l’applicationEntête TCPEntête IP

Données de l’applicationEntête TCPEntête IPEntête Ethernet

Queue Ethernet

14 20 20 4

Paquet IP

Segment TCP

Message

Processus utilisateur

TCP

IP

Driver Ethernet

Ethernet

10101001001110010001100

Page 11: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

11

Démultiplexage

Trame entrante

Démultiplexage basé sur le numéro du port de destination de l’entête TCP ou UDP

Processus utilisateur

Processus utilisateur

Processus utilisateur

Processus utilisateur

TCP

ICMP

UDP

IPIGMP

ARP

Interface physique

RARP

Démultiplexage basé sur la valeur du champ “type” de l’entête IP

Démultiplexage basé sur le champ “type” de l’entête Ethernet

Page 12: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Paquet IP

Page 13: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Internet ProtocolInternet Protocol (RFC 791) couche 3 du modèle OSIBest effort : service “non fiable” offert par IP

Service de remise de paquets non garanti, Service en mode non connecté, i.e., sans état

Les routeurs ne stockent aucune information spécifique une fois le paquet traité Les datagrammes IP sont traités indépendamment les uns des autres

IP above all : protocole de convergenceFonctionne au-dessus de Ethernet, mais aussi de PPP, FDDI, ATM, …

On se limitera ici à Ethernet, le plus répandu

13

Page 14: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Internet ProtocolService de remise de paquets

Entre une paire de machines hôtes bien identifiées (adresses IP) Hop-by-hop : les routeurs ne connaissent pas le chemin complet Non fiable : la remise des paquets est non garantie : le service ne détecte pas les paquets perdus, dupliqués, retardés, déséquencés

Service non connectéChaque paquet est traité indépendamment les uns des autres

Livraison Best EffortIP tente de faire de son mieux pour transporter les paquets La non fiabilité apparaît uniquement suite à l’absence de ressources ou à de pannes réseau

14

Page 15: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Pourquoi des paquets ?Trafic est ON / OFF

“Sporadique”, “Intermittent”

Evite le gaspillage de bande passante

Pas d’activité : pas de trafic

Multiplexage des transmissions

Plusieurs transmissions partagent les mêmes liens

Page 16: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Pourquoi des paquets ?

Les paquets IP peuvent être envoyés le long de tous les supports

Lien série, fibre optique, sans fil, paire torsadée, câble coaxial

Même par des pigeons (!) RFC 1149 : A Standard for the Transmission of IP Datagrams on Avian Carriers

IP over Avian Carriers was actually implemented, sending 9 packets over a distance of approximately 5km (3 miles), each carried by an individual pigeon, and they received 4 responses, with a packet loss ratio of 55%, and a response time ranging from 3000 seconds to over 6000 seconds.

Page 17: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Commutation de circuit

Terminaux idiots

17

Réseau intelligent

Page 18: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Réseau téléphonique

Réseau intelligentMise en relation des abonnés Etablissement/libération des connexions Acheminer la voix le long des circuits Facturation des abonnés

Composer un numéro Parler et écouter

Services limités : audio, fax, affichage du numéro…18

Terminaux idiots

Page 19: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Réseau domestique

Réseau mobile

FAI national ou global

FAI localou regional

Réseau d’entreprise 19

Ressources réservées tout le long d’un chemin

Selon : Bande passante, capacité de commutation Ressources dédiées, non partagées

Performances garanties (~ circuit physique) Etablissement d’un chemin au préalable

Commutation de circuit

Page 20: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Commutation de circuits

1 lien4 circuits

Circuit utilisé

Circuit non utilisé(pas de partage)

20

A

B

Page 21: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Partage du mediumDivision des fréquences (FDM)

Fréquences

TempsDivision du temps (TDM)

Fréquences

Temps

4 utilisateursExemple :

21

Page 22: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Commutation de circuitAvantages

Bande passante dédiéeConnaitre les performances attendues Livraison des données impossible sans garantie

Concept simpleCanal de communication fiable bout en bout Pas de pertes ou de déséquencement

Acheminement simplifiéPaquets commutés selon la division imposée du temps ou de la fréquence Pas d’inspection d’entête

Peu de traitement ou d’information nécessairePas d’informations récurrentes ou dupliquées sur tous les paquets

22

Page 23: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Commutation de circuitInconvénients

Gaspillage de bande passanteTrafics en rafale : bande passante inutilisée pendant les périodes de répit Pas d’entrelacement des trafics

Connexions rejetées Si les ressources sont insuffisantes l’appel est rejetés Impossible de satisfaire tout le monde

Délai lié à l’établissement de connexionPas d’échange de données sans connexion Délai “cher” pour des échanges courts

Etats installés dans le réseauLe réseau doit maintenir des états pour chaque connexion en cours Problème de passage à l’échelle

23

Page 24: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Extrémités vs CircuitsCommutation de circuit : le circuit au centre de toutes les attentions

Le service dépend de la construction préalable du circuit Calcul du chemin une fois pour toutes, réservation de ressources et installation d’états L’identification du circuit suffit : source et destination sont inclues dans le circuit en tant que extrémités

Commutation de paquetLes extrémités sont clairement identifiées, le chemin complet inexistant Les paquets sont traités grâce à des informations communes à tous

Les extrémités sont inclues dans la notion de circuitDans la commutation de paquets, seules existent les extrémités

24

Page 25: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Commutation de paquets

Réseau idiotTerminaux intelligents

Page 26: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Commutation de paquetsIP est conçu pour fonctionner en l’absence de garanties et d’états

IP fonctionne sans nécessité la garantie d’un chemin ou l’existence garantie de ressources IP est imperturbable en présence d’erreurs et de pertes ou de ressources insuffisantes Aucun état n’est nécessaire ce qui garantie le passage à l’échelle

Du coup, IP survit aux pannes même gravesIP continue tant bien que mal à tenter la remise de paquets

Les besoins en fiabilité des applications sont satisfaits par TCP

26

Page 27: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Les paquets et protocole IPPaquet IP : définition du format des unités de données transitant dans le réseau

Fonction de routage : choix des routes sur lesquelles relayer les données

Protocole IP : Ensemble de règles spécifiant le comportement des machines hôtes et des routeurs :

Comment traiter les paquets ? Comment et quand générer des messages d’erreur ? Sous quelles conditions rejeter les paquets ?

27

Page 28: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

R DF

MF

Source IP address

Version Total Length (Bytes)

Header checksum

Options + padding

Data / payload

4 bits 16 bits32 bits

6 bits

20 bytes

Header length Type of service

Identifier Fragment offset

Time To Live (TTL) Protocol

Destination IP address

4 bits

IPv4

Fragments

Erreurs

Format du paquet IPv4

Page 29: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Version (4 bits) Numéro de version du protocole IP utilisé pour créer le paquet (version 4 : IPv4 / version 6 : IPv6)

IHL - Internet Header Length (32 bits)Longueur de l’entête en mots de 32 bits (longueur min 20 octets /max 60 octets)

TOS - Type Of ServicePrecedence (3 bits) niveau de priorité du paquet (entre 0 et 7) D, T, R (1 bit) spécifiant le type d’acheminement souhaité (Delay, Throughput, Reliability)

Total length (16 bits) Longueur en octets du paquet IP (header + payload) Taille maximum : 65 535 octets

Identifier (16 bits) Permet au destinataire de déterminer à quel paquet appartient un fragment reçu (tous les fragments d’un même paquet ont la même valeur d’identification)

Version

Header length

Type of service

Total Length (Bytes)

Identifier

Page 30: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Fragmentation IP

Page 31: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

FragmentationMTU : Chaque lien a une Maximum Transmission Unit

Quantité maximale de données transférable dans une même trame CLIP (ATM RFC 1577) : 9180, FDDI : 4500, Ethernet : 1500, Localtalk : 576

Fragmentation : un routeur peut diviser le paquet IP en plusieurs “fragments” si la taille du paquet dépasse la MTU du lien

Réassemblage : Ce doit être possible de réassembler les différents fragments en un seul paquet IP

31

Page 32: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Un paquet de 4000 octets arrive sur un lien de MTU 1500 octets

Fragmentation

32

1500 octets

4000 octets

4000

20 1480

1500

20 1200

1220

20 1300

1320

20 3980IP header

Page 33: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Il faut réassembler le paquet avant de transmettre le paquet aux couches supérieures

Pourquoi réassembler ?

33

20

1500

20 1200

1220

20 1300

1320

20 3940TCP HTTP

TCP HTTP

20 TCP HTTP

4000

1440

Page 34: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Où réassembler ?

Réponse #1 : Au niveau du routeur R2 ?

MTU=1000BMTU=500B

MTU=1000BHôte A Hôte BR1

R2

34

500 5001000

1000

Page 35: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

MTU=1000BMTU=500B

MTU=1000BHôte A Hôte BR1

R2

Réponse #2 : Au niveau du terminal B ?

Où réassembler ?

35

500 500 1000

Page 36: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Routeur : complexifie et surcharge le réseauL’algorithme de réassemblage est compliqué Les routeurs doivent garder temporairement des états et les fragments

Les fragments peuvent prendre des chemins différents

Et les états peuvent ne pas être disponibles réassembler dans le réseau impossible

De ce fait, le réassemblage est fait à la destination

Où réassembler ?

36

Page 37: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Il faut un moyen d’identifier les fragments du paquetUtilisation d’un identifiant

Il faut pouvoir ré-ordonner les fragmentsUtilisation d’une sorte de numéro de séquence ou d’un décalage (offset)

Numéros de séquence / offsetComment savoir si on a tous les fragments ?

=> Besoin d’un numéro de séquence final ou d’un flag

Et si un fragment doit être fragmenté à nouveau ?

RéassemblageQuels champs ?

37

Page 38: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

R

Identifier (16 bits) Quels fragments vont ensemble ?

Flags (3 bits)Reserved : flag ignoré DF : Don’t Fragment (peut provoquer un message d’erreur) MF : More Fragments, plus arrivent

Offset (13 bits)Décalage du payload contenu dans ce fragment (par unités de 8 octets)

DF

MF

Identifier

Fragment offset

FragmentationChamps IPv4

38

Page 39: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Fragmentation

39

R DF

MF

Source IP address

Version Total Length (Bytes)

Header checksum

Header length Type of service

Identifier Fragment offset

Time To Live (TTL) Protocol

Destination IP address

Supposons que le terminal 1.2.3.4 envoie un datagramme IP de taille 4000 octets vers le terminal 3.4.5.6

4 5 0 4000

56273 0 0 0 0

127 6 44019

1.2.3.4

3.4.5.6

Et le paquet traverse un lien avec un MTU de 1500 octets

Page 40: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Fragmentation

40

20

1500

20 1200

1220

20 1300

1320

20 3940

4000

1480

Page 41: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Fragmentation

41

R DF

MF

Source IP address

Version Total Length (Bytes)

Header checksum

Header length Type of service

Identifier Fragment offset

Time To Live (TTL) Protocol

Destination IP address

Le datagramme est divisé en trois fragments. Premier fragment possible :

4 5 0 1500

56273 0 0 1 0

127 6 xxx

1.2.3.4

3.4.5.6

Page 42: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Fragmentation

42

R DF

MF

Source IP address

Version Total Length (Bytes)

Header checksum

Header length Type of service

Identifier Fragment offset

Time To Live (TTL) Protocol

Destination IP address

Le datagramme est divisé en trois fragments. Deuxième fragment possible :

4 5 0 1220

56273 0 0 1 185 (185*8 = 1480)

127 6 yyy

1.2.3.4

3.4.5.6

Page 43: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Fragmentation

43

R DF

MF

Source IP address

Version Total Length (Bytes)

Header checksum

Header length Type of service

Identifier Fragment offset

Time To Live (TTL) Protocol

Destination IP address

Le datagramme est divisé en trois fragments. Troisième fragment possible :

4 5 0 1320

56273 0 0 0 335 (335*8 = 2680)

127 6 zzz

1.2.3.4

3.4.5.6

Page 44: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Pourquoi utiliser un offset pour les fragments au lieu de numéroter chacun des fragments ?Réponse 1 : Avec un offset, le récepteur peut disposer correctement les fragments quand ils arriventRéponse 2 : Autorise la fragmentation de fragments

Offsets vs numéros de séquence

44

Page 45: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Fragmentation

45

20

1500

20 1200

1220

20 1300

1320

20 3940

4000

1480

7002050020

520 720

Page 46: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Fragmentation

46

R DF

MF

Source IP address

Version Total Length (Bytes)

Header checksum

Header length Type of service

Identifier Fragment offset

Time To Live (TTL) Protocol

Destination IP address

Le deuxième fragment est divisé en deux fragments. Premier fragment du deuxième fragment possible :

4 5 0 520

56273 0 0 1 185 (185*8 = 1480)

127 6 y1y1y1

1.2.3.4

3.4.5.6

Page 47: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Fragmentation

47

R DF

MF

Source IP address

Version Total Length (Bytes)

Header checksum

Header length Type of service

Identifier Fragment offset

Time To Live (TTL) Protocol

Destination IP address

Le deuxième fragment est divisé en deux fragments. Second fragment du deuxième fragment possible :

4 5 0 720

56273 0 0 1 250 (250*8 = 2000)

127 6 y1y1y1

1.2.3.4

3.4.5.6

Page 48: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Time To Live (8 bits, valeur max = 255) Compteur utilisé pour limiter la durée de vie des paquets. Doit être décrémenté d’une unité à chaque saut (et normalement de plusieurs unités si en file d’attente dans un routeur pendant un temps important)

Protocol (8 bits)Identifie le protocole encapsulé (TCP, UDP, ICMP ...)

Header Checksum (16 bits)Somme de contrôle de l’entête qui permet la détection des erreurs portant sur l’entête des paquets

Header checksum

Time To Live (TTL)

Protocol

Page 49: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Protcolicmp 1 # internet control message protocol igmp 2 # internet group management protocol ggp 3 # gateway-gateway protocol Ipencap 4 # IP encapsulated in IP st 5 # ST datagram mode tcp 6 # transmission control protocol ucl 7 egp 8 # exterior gateway protocol igp 9 # any private interior gateway protocol bbn-rcc-mon 10 # BBN RCC monitoring nvp-ii 11 # network voice protocol Pup 12 # pup Argus 13 # ARGUS emcon 14 # EMCON xnet 15 # Cross Net Debugger Chaos 16 # Chaos udp 17 # user datagram protocol rdp 27 # "reliable datagram" protocol iso-tp4 29 # ISO Transport Protocol class xtp 36 # Xpress Tranfer Protocol idrp 45 # Inter-Domain Routing Protocol rsvp 46 # Reservation Protocol gre 47 # General Routing Encapsulation ospf 89 # Open Shortest Path First IGP ...

49

Page 50: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Options (1)

50

Type (déc.) Option Objet

0 End of Options List (EOOL) Utilisée si la fin des options ne coïncide pas avec la fin de l'en-tête.

1 No Operation (NOP) Pour aligner le début de l'option suivante sur 32 bits.

130 Security (SEC) Permet aux hôtes d'indiquer des restrictions liées à la sécurité (ex : non classifié, confidentiel, restreint, top secret, etc.).

131 Loose Source Route (LSR)

La source du paquet fournit des informations à utiliser par les passerelles à des fins de routage du paquet vers sa destination et d'enregistrer l'information concernant la route (série d'adresses Internet) ; un routeur ou une route peut utiliser n'importe quelle route avec un nombre quelconque de passerelles intermédiaires pour atteindre la prochaine adresse indiquée dans la route

68 Time Stamp (TS) Enregistrement de l'heure de chaque passage de passerelle.

133 Extended Security (E-SEC)

Page 51: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Options (2)

51

Type (déc.) Option Objet

7 Record Route (RR) Permet d'enregistrer la route d'un datagramme (en fait, l'adresse de chaque passerelle traversée).

136 Stream ID (SID) Permet de véhiculer un identifieur de flux ; utilisée à des fins de débogage et de mesure.

137 Strict Source Route (SSR) Idem LSR, si ce n'est qu'un routeur ou un hôte doit envoyer directement le datagramme à la prochaine adresse indiquée dans la route.

Page 52: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Option Route RecordStructure de l’option

Champ type : égal à 7 L’adresse qui est enregistrée correspond à l'interface utilisée en sortie par le routeur

52

Address Type7 Length Ptr … …

4 bits 4 bits 4 bits 4 bits

Page 53: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Évolutions de IPv4Le champ TTL ne représente plus une durée

Initialement prévu pour décompter le temps de séjour d’un paquet en ms Traitement des paquets de l’ordre de la nano seconde

Le champ checksum est vérifié uniquement à la destination

Les routeurs ne font que répercuter les décrémentations du TTL Seul le récepteur vérifie l’intégrité de l’entête “Bout-en-bout-isation” de IP afin d’éviter l’exécution rébarbative de fonctions

Calcul de la pMTU (p = path)La fragmentation peut être évitée (sauf dans le cas de certaines applications au-dessus d’UDP) La fragmentation devient une option utilisée quand nécessaire

53

Page 54: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

IPv6

Page 55: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Motivé (prématurément) par un épuisement des adresses IPv4

Les adresses sont quatre fois plus grandes que celles de IPv4

Steve Deering en a profité pour simplifier IPPlus de champs qui n’étaient pas absolument nécessaires Nettoyage de printemps pour IP

Motivations

55

Page 56: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Source IP address

Source IP address

Version Flow label

Data / payload

4 bits 20 bits32 bits

8 bits

20 bytes

Payload length Next header

Traffic classIPv6Hop limit

Page 57: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Source IP address

Version Total Length (Bytes)

Header checksum

Options + padding

Data / payload

Header length Type of service

Identification Flags Fragment offset

Time To Live (TTL) Protocol

Destination IP address

Source IP address

Source IP address

Version Flow label

Data / payload

Payload length Next header

Traffic class

Hop limit

IPv4 IPv6

Page 58: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Entête simplifiée : nombre de champs / 2Augmente les capacités de commutation des routeurs

Header Length (IHL) : supprimé ToS ➜ Flow Label Total Length (TL) ➜ Payload Length ID, Flags et Fragment Offset (FO) : supprimés TTL ➜ Hop Limit Protocol ➜ Next header (mêmes valeurs que dans IPv4) Header CS supprimé (pseudo-header obligatoire au niveau transport) Adresses : 32 ➜ 128 bits (4 ➜ 16 octets) Alignement 32 ➜ 64 bits

Changements

58

Page 59: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

Laisser les problèmes aux terminauxPlus de fragmentation Plus de checksum Pourquoi quand même laisser TTL ?

Manipulation plus aiséeNouveaux mécanismes pour les options (utilise le prochain entête) Plus de header length

Fourni un libellé de flot (flow label) pour les paquetsPlus de flexibilité en se détachant de la sémantique (principalement utilisé pour la fragmentation avec IPv4)

Changements

59

Page 60: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

ConclusionsEfficacité

IP “au-dessus de tout” IP s’accommode des services offerts par toutes les techno de niveau 2

Adaptés aux trafics sporadiquesEntrelacement des trafics en compétition

Store and forwardLes paquets sont des éléments auto-suffisants Traités indépendamment les uns des autres Les paquets d’un même flot peuvent être acheminés sur des chemins alternatifs selon leur disponibilité ou leur charge

Dissensions (pas de cloisonnement)Utilisation efficace des ressources Aucune garantie de ressources : congestion et retard possibles

60

Page 61: CM8 IP - npa.lip6.frbbaron/docs/CM8_IP.pdf · processus : TCP, UDP Réseau. Routage de datagrammes d’une source vers une destination : IP, protocoles de routage Liaison. Transfert

La semaine prochaine

61

Application2 HTTP et Web 3 DNS 4 Peer-to-Peer

5 TCP et UDP6 Sockets JavaTransport

7 Adressage8 Protocole IP 9 Routage

Réseau

11 Liaison et contrôle d’accèsLiaison

En master… Physique