dynamic host configuration protocol - univ-reims.frlsteffenel/cours/master1/...dynamic host...

105
L. Steffenel ©2009 1 Dynamic Host Configuration Protocol

Upload: others

Post on 22-Jul-2020

20 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 1

Dynamic Host Configuration Protocol

Page 2: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 2

Problèmes de gestion avec IP

● La Gestion des adresses IP● Les adresses IP doivent être unique● Nécessité d’une liste d’ordinateurs avec leurs adresses

IP respectives● La Gestion des principaux paramètres IP

● Masques de sous-réseaux● Adresses IP du gateway● Serveurs DNS

Page 3: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 3

DHCP ? (1)

● Dynamic Host Configuration Protocol ● Extension du protocole BOOTP● Bâti sur un modèle client-serveur utilisant UDP● Composé de deux parties :

● Un protocole● Un mécanisme de création d’adresses

Page 4: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 4

DHCP ? (2)

● Permet :● Allocation dynamique des adresses IP et des noms

d’hôte.● Utilisation automatique de la plupart des paramètres de

réseau.● Maintenance des adresses IP en cours grâce au

concept de « bail d’adresses IP».● Aide à la récupération de paramètres de réseau valides

sur un système déplacé d’un réseau géré par DHCP à un autre.

Page 5: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 5

Dynamic Host Configuration Protocol

D'autres mécanismes

Page 6: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 6

RARP

● Inverse de Adress Resolution Protocol● But : Obtenir une @IP à partir d’une @MAC● Nécessité d’une liste de couples : @MAC/@IP

Pour connaître son @IP, A diffuse sur le réseau, une requête RARPLes Serveurs RARP (B et C) répondent à la requête.

A CBX

Page 7: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 7

Inconvénients de RARP

● Opère à un niveau très bas● Difficile de programmer un tel service

● Réponse RARP ne contient qu’une petite quantité d’informations (une adresse IP)● Impossible de faire de la configuration automatique

Page 8: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 8

BootStrap Protocol (BOOTP)

● Protocole d’amorçage● Défini par les RFCs :

● RFC951 Bootpstrap Protocol ● RFC1542 Clarifications and Extensions for Bootp

● Basé sur IP/UDP.● Permet aux clients sans disque de démarrer et de se

configurer automatiquement

Page 9: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 9

Caractéristiques de BOOTP

● Adresse IP attribuée jusqu'à la déconnection du client● Temps d'attribution non paramétrable

● Nécessité pour le serveur de connaître l'@MAC du client pour être autorisé à lui répondre et disposer de ses paramètres IP

● Renseignement manuel d’une table faisant correspondre à chaque client son @MAC et les paramètres IP associés

Page 10: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 10

Fonctionnement de BOOTP

● Le client émet par broadcast une trame de requête Bootp, contenant son adresse MAC pour obtenir sa configuration IP

● Le serveur du réseau reçoit ce broadcast; si l'@MAC du client est présente dans sa table Bootp, il envoie alors une réponse contenant les paramètres de configuration IP du client

● Le client reçoit la trame et initialise sa configuration IP● Le client adresse ensuite au serveur une requête de

transfert TFTP afin d'obtenir un fichier de démarrage

Page 11: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 11

Apport de DHCP par rapport à BOOTP

● BOOTP: ● Pré-allocation manuelle d’adresses IP uniques.

● DHCP:● Allocation automatique d’adresses IP permanentes● Allocation dynamique d’adresses uniques réutilisables● Possibilités de conserver les paramètres du client après

redémarrage de celui-ci

Page 12: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 12

Dynamic Host Configuration Protocol

Le fonctionnement

Page 13: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 13

Définition

● Dynamic Host Configuration Protocol

● Standard TCP/IP conçu pour simplifier la gestion de la configuration d’IP hôte

● Réduit la complexité et la quantité de travail de l'administrateur réseaux

● Méthode de gestion d’affectation dynamique d’adresses IP et d’autres paramètres de configuration

Page 14: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 14

Schéma classique

Page 15: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 15

Fonctionnement

● Modèle client-serveur ● Le client :

● Vient de démarrer et réclame sa configuration.● Le serveur :

● détient la politique d'attribution des configurations IP.● envoie une configuration donnée pour une durée donnée, appelé

bail à un client donné

Page 16: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 16

Le Bail ?

● Définit par le serveur DHCP● C'est l'intervalle de temps pendant lequel un client peut

utiliser une adresse IP qui lui a été affectée● Demande de renouvellement de l'adresse IP à T1=1/2*Bail

● Si échec du renouvellement, nouvelle demande à T2=0.875*Bail

● Si nouvelle échec, à expiration du bail, le client libère l'adresse IP attribué

Page 17: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 17

Différences entre DHCP et BOOTP (1)

● 1 – Affectation de paramètre réseau:● Fournir un espace de mémorisation des paramètres

réseau pour les clients du sous-réseau

● Basé sur la mémorisation (dans une base de données) d’une valeur clé pour chaque client => identifiant unique

● Possibilité de récupération des paramètres de configuration précédemment utilisés après le redémarrage du client ou du serveur

Page 18: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 18

Différences entre DHCP et BOOTP (2)

● 2 - Allocation dynamique des adresses réseaux:● Utilise automatiquement une adresse qui n’est plus

utilisée.● Adresse allouée pour une durée déterminée (ou infinie):

le bail.● Utilité:

– Connexion temporaire au réseau.– Partage d’une liste limitée d’adresses IP.

Page 19: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 19

Dynamic Host Configuration Protocol

Les messages échangés

Page 20: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 20

Les messages transmis

● Plusieurs types de messages DHCP transmis via UDP● Spécifié dans l’option ‘type du message DHCP’ de la trame DHCP● Comme un seul « aller-retour » n'est pas suffisant pour une configuration

complète● Plusieurs messages sont nécessaires pour une configuration

● Le client utilise le port 68, le serveur le port 67

Page 21: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 21

Mécanisme d'une allocation d'adresse

● Recherche d’un serveur DHCP:● Broadcast d’un message DHCPDISCOVER sur son

réseau local physique.● Peut utiliser les options 50 et 51 qui suggèrent des

valeurs pour son @IP et sa durée du bail.

Page 22: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 22

Les différents messages

● DHCPDISCOVER (1)● Diffusion du client pour localiser les serveurs

disponibles.● Demande une première configuration.

Page 23: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 23

Mécanisme d'une allocation d'adresse

Détermine la configuration

Détermine la configuration

Serveur(non sélectionné)

Serveur(sélectionné)

Client

DHCPDISCOVER DHCPDISCOVER

DHCPOFFERDHCPOFFER

Récupère les réponses

Début de l’initialisation

Page 24: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 24

Mécanisme d'une allocation d'adresse

● Détermination de la configuration:● Envoie d’un message DHCPOFFER en réponse au

DHCPDISCOVER● Adresse réseau valide dans un champ appelé ‘yiaddr’● Réponse aux différentes options demandées

● Remarque: ● Si le client ne reçoit pas le DHCPOFFER au bout d’un

délai d’attente, il retransmet son DHCPDISCOVER

Page 25: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 25

Mécanisme d'une allocation d'adresse

● Récupération et choix de la configuration:● Réception d’un ou plusieurs messages DHCPOFFER d’un ou plusieurs

serveurs.● Choix du serveur pour ses paramètres● Diffusion d’un message DHCPREQUEST avec:

– Option ‘identifiant serveur’,– Possibilité d’option spécifiant les valeurs de configuration désirées.

● Relayé grâce à l’agent de relais

Page 26: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 26

Les différents messages

● DHCPREQUEST (3)● Message du client aux serveurs ● Qui demande les paramètres à un serveur et décline

implicitement les offres de tous les autres,● Qui confirme la validité des adresses précédemment

alloués● Qui étend le bail sur une adresse réseau en particulier

Page 27: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 27

Mécanisme d'une allocation d'adresse

● Confirmation ou non de la configuration:● Serveurs non sélectionnés par le message

DHCPREQUEST: le client décline leur offre

● Serveur sélectionné renvoie un DHCPACK qui contient la configuration pour le client demandeur.

● Envoie de DHCPNAK si le serveur est indisponible (ex: @IP demandée déjà allouée)

Page 28: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 28

Les différents messages

● DHCPACK (5)● Message du serveur au client ● Incluant les paramètres demandés dans le

DHCPREQUEST.● Incluant l’adresse IP déjà attribuée.

● DHCPNAK (6)● Message du serveur au client● La notion d’un client pour les adresses réseau est

incorrecte (il a changé de sous-réseau)● Ou le bail du client a expiré.

Page 29: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 29

Mécanisme d'une allocation d'adresse

Serveur(non sélectionné)

Serveur(sélectionné)

Client

Choisit sa configuration

Confirme la configuration

DHCPREQUEST

DHCPACK

Initialisation terminéeRelâche l’adresse IP

Annule le bailDHCPRELEASE

DHCPREQUEST

Page 30: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 30

Les différents messages

● DHCPDECLINE (4)● Message du client vers le serveur● Adresse réseau déjà utilisée.

● DHCPRELEASE (7)● Message du client vers le serveur● Libère l’adresse réseau● Annule le bail.

Page 31: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 31

Mécanisme d'une allocation d'adresse

● Configuration ou relance:● Réception de DHCPACK avec les paramètres de

configuration

● Vérification de l’adresse IP:– Utilisation de ARP– S’il constate que l’adresse est déjà utilisée, il envoie un

message DHCPDECLINE au serveur

● Le client est alors configuré.

Page 32: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 32

Mécanisme d'une allocation d'adresse

● Configuration ou relance (suite):● Réception d’un DHCPNAK,

– le client relance la configuration.

● Ni DHCPACK, ni DHCPNAK,– Il attend, – Il effectue un processus de retransmission de

DHCPREQUEST jusqu’à 4 fois en 60 secondes.– Au bout d’un certain temps sans réponse, il relance

l’initialisation

Page 33: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 33

Mécanisme d'une allocation d'adresse

● Relâche de son adresse IP:● Peut choisir de renoncer à son bail sur une adresse

réseau => Envoi de DHCPRELEASE

● Bail identifié grâce à (‘identifiant client’ ou ‘chaddr’) et l’adresse réseau

● Mémorisation locale de son adresse réseau.

● Le client ne renonce pas à son bail lors d’un arrêt normal

Page 34: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 34

Réutilisation d'une adresse

Serveur(non sélectionné)

Serveur(sélectionné)

Client

Initialisation

Retrouve la configuration

DHCPREQUEST

DHCPACK

Initialisation terminée

DHCPREQUESTRetrouve la configuration

DHCPACKDHCPACK ultérieurignoré

Page 35: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 35

Réutilisation d'une adresse

● Demande de réutilisation d’une adresse:● Diffusion d’un message DHCPREQUEST sur le sous-

réseau du client avec son adresse réseau dans l'option 'adresse IP demandée'.

● Les agents de relais transmettent le message au serveur DHCP si celui-ci n'est pas sur le même sous réseau.

● Utilisation du même ‘identifiant client’.

Page 36: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 36

Les différents messages

● Si le client possède déjà une adresse réseau attribuée de manière externe, il doit compléter sa configuration:

● DHCPINFORM(8)

– Message du client vers le serveur– Récupère les paramètres de configuration locaux

Page 37: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 37

Réutilisation d'une adresse

● Localisation de la configuration:● Les serveurs qui connaissent les paramètres de

configuration du client lui répondent avec un DHCPACK.

● Pas de vérification de l’adresse IP du client.● Diffusion du DHCPACK par un broadcast. ● Si le client et le serveur ne sont pas sur même sous-

réseau => Envoi d’un message DHCPACK à l'adresse de l'agent de relais, comme enregistré dans le champ 'giaddr‘.

Page 38: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 38

Réutilisation d'une adresse

● Vérification finale des paramètres:● Si OK, configuration terminée.

● Sinon doit relancer une nouvelle configuration:– Si @IP utilisée, le client envoie DHCPDECLINE.– Si réception d’un DHCPNAK

● Algorithme de retransmission si non réception de DHCPACK ou DHCPNAK.

Page 39: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 39

Adresse configurée extérieurement

● Adresse réseau obtenue grâce à d’autres moyens (ex:config. manuelle)

● Utilisation d’une requête DHCPINFORM pour obtenir des paramètres de configuration locaux

● Le serveur répond:● Sans allouer l’adresse réseau● Sans inclure les durées de bail● Sans vérifier de lien

Page 40: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 40

Dynamic Host Configuration Protocol

La sécurité

Page 41: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 41

Sécurité

● Les failles de sécurité peuvent provenir des deux côtés du modèle client-serveur.

● Client pirate DHCP : ● capable d’accéder à des ressources protégées si la

protection ne repose que sur une identification de l’adresse IP, ce qu’il vaut donc mieux éviter.

● pourra paralyser le serveur en consommant les adresses IP rapidement sans les libérer.

Page 42: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 42

Agent de relais● Une machine sur internet ou un routeur.

● Transmet des messages entre clients et serveurs DHCP.

● Incrémente le champ ‘hops’ de la trame DHCP.● Permet à un client d’interroger un serveur DHCP qui

n’est pas sur le même sous-réseaux

Page 43: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 43

Sécurité

● Serveur parasite :● capable d’envoyer de fausses informations de

configuration aux clients dont il acquittera les requêtes.

● Existence de logiciels capables:● de surveiller les paquets DHCP sur un réseau ● de donner l’alerte s’ils en détectent qui ne proviennent

pas de serveurs autorisés.

Page 44: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 44

Serveur DNS

Page 45: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 45

Résolution de Noms

Adresses dans un réseau IP composés de 32 bits

Représentation « facilitée » avec le format décimal pointé

192.168.10.56

200.18.42.1

Ce format d'adresses est encore trop difficile pour les utilisateurs

Solution : associer des noms aux adresses IP

194.57.105.10 ↔ www.univ-reims.fr

Page 46: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 46

Résolution de Noms sous ARPANetL’ARPANET des années 80 est constitué d’une centaines d'ordinateurs reliés

Structure suffisamment simple à gérer

Un unique fichier hosts.txt rassemble les correspondances entre nom d'hôte et adresse IP

Le fichier hosts.txt est stocké sur le SRI-NIC (Standford)

Régulièrement, les machines téléchargent par FTP la nouvelle version du fichier

NET : 10.0.0.0 : ARPANET :

NET : 128.10.0.0 : PURDUE-CS-NET :

GATEWAY : 10.0.0.77, 18.10.04 :

MIT-GW.ARPA,

MIT-GATEWAY : PDP-11 :

MOS : IP/GW, EGP :

HOST : 26.0.0.73, 10.0.0.51

SRI-NIC.ARPA, SRI-NIC, NIC :

DEC-2060 : TOPS-20 :

TCP/TELNET, TCP/SMTP

TCP/TIME, TCP/FTP

TCP/ECHO, ICMP :

HOST : 10.2.0.11 : SU-TAC.ARPA,

SU-TAC : C/30 : TAC : TCP :m

Page 47: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 47

Inconvénients

La taille du fichier hosts.txt augmente avec le nombre d’hôtes

En 1983, le réseau amorce son expansion exponentielle

La fréquence des mises-à-jours des tables devient proportionnelle au nombre de machines

La consommation de bande passante est proportionnelle au carré du nombre d’hôtes

Page 48: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 48

DNS : Domain Name System

La croissance de l'Internet dans les années 80 et le déploiement du protocole SMTP (e-mail) motivent la définition du DNS.

Première spécification : RFC882, RFC883 (1983).

DNS = Schéma de Nommage + Système de base de données Distribué

Système décentralisé de gestion de noms et d'adresses

Base de données distribuée, avec caches locaux

Organisation hiérarchique

Page 49: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 49

Le protocole DNSLe protocole Domain Name System est un

ensemble de règles utilisées par les logiciels pour établir (entre autres choses) la correspondance entre des noms et des adresses

Il utilise un protocole de communication client/serveur udp/tcp sur le port 53

Page 50: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 50

CaractéristiquesArbre de nommage globalement Unique

Distribution bijectiveun nom d’hôte peut désigner plusieurs adresses ip pour des interfaces différentes et vice-versa

Distribution très fortedes données, de l'accès aux données,de la responsabilité de gestion

Motivations premières[nom de machines -> adresse IP],[adresse de mail -> adresse des serveurs de mail],mais de nombreux autres types d'informations

Page 51: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 51

Implications

Elément vital du fonctionnement opérationnel de l'Internet

De nombreuses extensions en expérimentation et en discussion à l'IETF

Des intérêts "stratégiques" et "politiques" pour les utilisateurs "commerciaux" (gouvernance de l'Internet)

Inquiétudes importantes sur l'évolution du DNS et le développement de mauvais usages

Page 52: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 52

Structure Arborescente des NomsLe schéma de nommage est comparable à celui d'un système de fichier comme UNIX, mais avec une notation inversée (racine en fin)

Unix : /home/angelo/Documents/presDNS.odt

DNS : www.cs.kuleuven.be

Les Noms DNS vont servir d'indexation pour la base de données

L'unicité de la racine va garantir un nommage global universel ("worldwide") pour le DNS

Page 53: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 53

...

com org fr us arpa

apple google

www

univ-reims asso

www ebureau

in-addr

194

57

104

113

Page 54: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 54

Composants d'un Domain NameLabel

Un noeud est identifié par un label sur 1 à 63 octets

Cas particulier : la racine "root" a un label vide (0 octet)

Nom de domaine : chemin d'un noeud vers la racine

Noté par la succession des labels séparés par un "."

La taille maximum d'un nom est de 255 octets

L'absence de point final dans un nom s'interprète comme un nom relatif à un domaine courant

Un nom complet avec "." final s'appelle un FQDN (Fully Qualified Domain Name)

Page 55: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 55

Top-Level DomainsLes TLDs sont les noeuds de premier niveau dans l'arbre DNS

"co-supervisés" de manière un peu floue par : l'IAB et l'IANA, l'INTERNIC et l'ICANN

Certains nœuds définissent une zone sous l’autorité d’un serveur de noms : SOA (Sphere Of Authority)

TLDs génériques (gTLD)Historiques : .COM, .EDU, .GOV, .INT, .MIL, .NET, .ORG

Créés après 2000 par ICANN : .AERO, .BIZ, .COOP, .INFO, .MUSEUM, .NAME, .PRO, .CAT (Catalogne), .JOBS, .MOBI, .TRAVEL

En discussion : .ASIA, .MAIL, .POST, .TEL, XXX

Page 56: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 56

TLDs nationaux (ccTLD)Ils suivent la liste des country codes normalisés par l'ISO sous la référence ISO3166 (environ 250 "pays").

.US Etats-Unis, .FR France, .TV Tuvalu, .VA Vatican ...

Quelques exceptions :

.SU Union Soviétique, n'existe plus dans ISO3166

.UK Grande Bretagne, ISO3166 ne définit que GB.

.EU Union Européenne, pas officiel dans ISO3166

Les ccTLDs "Français" :

FR. France, GF. Guyane, GP. Guadeloupe, MQ. Martinique, NC. Nouvelle Calédonie, PF. Polynésie Française, PM. St. Pierre et Miquelon, RE. La Réunion, TF. Terres Australes Françaises, WF. Wallis et Futuna, YT. Mayotte

Page 57: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 57

Domaines Spéciaux

ARPA : gTLD "préhistorique" réutilisé pour des mécanismes spécifiques tels que le reverse DNS ou ENUM.

l'adresse 113.104.57.194.in-addr.arpa est un pointeur (PTR) vers ebureau.univ-reims.fr

EXAMPLE, TEST, INVALID : TLDs conventionnels pour expérimentation et documentation (RFC 2606).

LOCALHOST : TLD conventionnel (mais non officiel) pour "localhost=127.0.0.1" (RFC 1912).

Page 58: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 58

Les Zones

Une zone est un sous arbre de l’arbre des noms de domaines sur lesquels un NS possède une information complète

Une zone est géré par une entité administrative particulière

L’autorité sur ce sous-arbre est déléguée

La délégation est totale :

libre organisation

changements sans préavis

délégation de sous-zones

Page 59: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 59

Résolution des noms● Résolution par requête

● non récursive : le serveur communique au client quel serveur celui-ci doit contacter pour pouvoir faire la résolution

● récursive : le serveur communique la requête à un autre serveur. La récursivité se termine quand un serveur pouvant faire la résolution est trouvée

● Possibilité d'utiliser un cache pour éviter d’encombrer de réseau

rech.univ-reims.frens.univ-reims.fr

univ-reims.fr

banane.ens.univ-reims.fr

kiwi.ens. univ-reims.fr

Colibri. Rech.univ-reims.fr

Pelican. rech.univ-reims.fr

Page 60: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 60

Les Registres DNS

Resource Record (RR)

Les informations partagées par DNS sont typées

Un même nom du DNS peut être associé à plusieurs données de types différents (adresses IPv4, relais de messagerie, adresses IPv6, alias de machine, ...)

Un nom peut aussi avoir plusieurs valeurs différentes pour un même type (i.e. plusieurs adresses IP pour une même machine)

L'ensemble des informations de la base de données DNS est structuré autour des Resource Records. Un RR est un n-uplet de la forme :

Nom-Domaine TYPE CLASSE TTL RLEN RDATA

Page 61: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 61

Système Distribué DNS - Registre

Registre :

Nom-Domaine est un nom absolu de l'espace de nommage DNS (FQDN Fully Qualified Domain Name)

CLASSE vaut IN pour internet, CH pour chaos, ...

TYPE est le type de données du RR

TTL Time To Live définit la durée de vie de l'objet dans les caches, en secondesRLEN est la longueur des données de RDATA

RDATA est la valeur de l'objet (valeur associé au TYPE)www.univ-reims.fr. 172800 IN A 194.57.105.10

"www a pour Adresse INternet IPv4 194.57.105.10, cette info est valide pour les 172800 secondes (2 jours) à venir"

Page 62: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 62

Système Distribué DNS - RegistreQuelques types de registre

A – traduction nom->adresseA6 – traduction nom-> adresse IPv6AAAA – traduction nom-> adresse Ipv6 (obsolète)PTR – traduction adresse->nom (traduction reverse)CNAME – nom canonique (nom officiel de l'hôte)TXT – information libreRP – personne responsableMX – Mail eXchange (serveur email associé à une adresse)

Commentaires (IMPORTANT)

les commentaires commencent avec un point-virgule « ; »

souvent source d'erreur

Page 63: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 63

Initialisation du TTL standard de la zone● Le TTL (Time To Live) définit le temps pendant lequel les

informations en mémoire cache doivent être conservées● Avec les versions précédentes de BIND 8.2

● Le TTL standard de la zone est initialisée par le dernier champ de l'enregistrement SOA

● Depuis la version BIND 8.2, la signification du TTL a changé● Durée de vie en mémoire cache d'une réponse négative● Utilisation d'une nouvelle directive de contrôle, $TTL, pour

définir la durée de vie standard pour l'ensemble des enregistrements

● Ce TTL est transmis en même temps que ses réponses● En moyenne, un TTL de 3h est raisonnable

Page 64: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 64

Le type MX● MX = Mail eXchanger● Permet l’adressage Email sur la base du nom de domaine

plutôt que sur l’adresse du (des) serveur(s) de mail :● [email protected] plutôt que [email protected]

● (nom du serveur de mail : mail )● permet à l’émetteur d’ignorer le nom du serveur de mail● permet le déplacement du serveur de mail vers une autre

machine● permet la gestion de plusieurs serveurs de mail avec priorité dans

l’ordre de consultation des serveurs● L’enregistrement MX est consulté par les mailer (client SMTP)● Tient compte des priorités (plusieurs serveurs en cas de panne)

Page 65: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 65

Requête DNSUne requête DNS est un triplet de la forme

{Nom-Domaine CLASSE QTYPE}

QTYPE comprend les valeurs de TYPE usuelles d'un RR

La résolution d'une requête de base (QTYPE=TYPE) consiste à trouver l'ensemble des RRs du DNS qui correspondent. Par exemple :

Question = { altavista.com. IN A } ?

Réponses = altavista.com. 389 IN A 209.73.164.91 altavista.com. 389 IN A 209.73.164.92 altavista.com. 389 IN A 209.73.164.93

Page 66: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 66

Utiliser DNS

DNS est automatiquement utilisé par toute application sur l'Internet utilisant des noms de domaines. Mais on peut aussi y accéder directement :

au niveau du langage de commande (shell)Commade hostcommande dig (Domain Information Groper) - voir man

dig www.google.com

dig -x 194.199.25.39 # -x : adresse vers nom

commande nslookup

au niveau des appels systèmes Unix#include <netdb.h>

struct hostent *gethostbyname(const char *name);

struct hostent *gethostbyaddr(const char *addr, int len, 0);

Page 67: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 67

Installation d'un Serveur DNS

Pour l'installation d'un serveur DNS nous utilisons sous Unix l'application BIND (Berkeley Internet Name Daemon)

apt-get install bind9 bind9-doc dnsutilsÉditer/créer les fichiers

/etc/resolv.conf – indique l'adresse IP du serveur DNS

/etc/bind/named.conf – fichier de configuration qui liste les zones (fait le lien avec le fichier des zones)

/etc/bind/zones – répertoire avec les fichiers de zones définis

Fichier de votre zoneFichier avec la zone DNS reverse

Page 68: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 68

Resolv.confLe fichier /etc/resolv.conf indique à Linux où chercher les informations de DNS

Exemple : domain mydomain.fr

search mydomain.fr

nameserver 127.0.0.1

nameserver x.x.x.x

Définit votre machine (127.0.0.1) comme le serveur pour le domaine mydomain.fr

Remplacez mydomain.fr par votre nom de domaine et x.x.x.x par le serveur de secours

Page 69: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 69

Définition d'une Zone de NommageUne Zone DNS est formellement définie comme une partie connexe de l'arbre de nommage. Elle est donc constituée d'un domaine DNS (racine de la zone) et éventuellement de sous-domaines issus de ce domaine.

Afin d'enregistrer une zone, nous devons créer des entrées pour deux TYPES d'enregistrement

SOA – Désigne l'autorité pour le domaine

délimite la zone dont le Serveur de Noms est « autorité »permet de départager les réponses multiples fondées sur des caches

NS – Indique le Serveur de Noms pour ce domaine

Page 70: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 70

Exemple de RéseauSupposons un réseau avec deux machines

un serveur DNS (102.253.253.1)

dns.mydomain.frun serveur pour WWW et MAIL (102.253.253.2)

www.mydomain.frmail.mydomain.fr

Ce réseau présente des « alias » pour le serveur www/mail

C'est de la responsabilité du serveur DNS, l'autorité pour la zone, de bien référencer les machines dans le domaine

Page 71: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 71

Fichier /etc/bind/zones/mydomain.dbFichier contenant les registres SOA et NS pour votre zone

; fichier pour la zone « mydomain »

mydomain.fr. IN SOA dns.mydomain.fr. admin.mydomain.fr. ( 2006081401 ; numéro série pour mise à jour 10800 ; mise à jour dans 3 heures 3600 ; nouvelle tentative après 1h 604800 ; expire après 1 semaine 38400 ; minimum TTL 1 semaine)

mydomain.fr. IN NS dns.mydomain.fr.IN A 102.253.253.1mail.mydomain.fr. IN MX 10 mail.mydomain.fr.mydomain.fr. IN MX 10 mail.mydomain.fr.

mail IN A 102.253.253.2www IN CNAME maildns IN A 102.253.253.1

Page 72: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 72

Fichier /etc/bind/zones/102.253.253.revCe fichier contient les registres de pointeur PTR qui permettent la résolution reverse de votre adresse IP

@ IN SOA mydomain.fr. admin.mydomain.fr. (

1 ; Serial604800 ; Refresh

86400 ; Retry 2419200 ; Expire 604800 ) ; Default TTL

IN NS dns.mydomain.fr.

1.253.253.102.in-addr.arpa. IN PTR dns.mydomain.fr.

2.253.253.102.in-addr.arpa. IN PTR www.mydomain.fr.

Page 73: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 73

Fichier /etc/named.confMaintenant, nous allons faire la liaison du fichier de configuration named.conf aux fichiers de description des zones

Rajouter à la fin du fichier /etc/named.conf

zone "mydomain.fr" { type master; file "zones/mydomain.db"; };

zone "253.253.102.in-addr.arpa" { type master; file "zones/102.253.253.rev"; };

Page 74: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 74

Vérification finale et Redémarrage du serveur DNS

S'assurer que le fichier /etc/nsswitch.conf a une ligne hosts de type

hosts: files dns

Redémarrer le serveur DNS par la commande

/etc/init.d/bind9 restart

ou son équivalent

/etc/init.d/bind9 stop

/etc/init.d/bind9 start

Page 75: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 75

Sécurité – le DNS Spoofing● Attaque que vise rediriger l'utilisateur vers des sites pirates ● Utilisation de faiblesses du protocole DNS et/ou de son

implémentation● Deux principales attaques de type DNS Spoofing

● le DNS ID Spoofing – Recupère l'ID d'une requête pour répondre

● DNS Cache Poisoning– Insérer des fausses informations dans le cache d'un serveur

Page 76: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 76

DNS ID Spoofing● Chaque requête a un ID qui sera indiqué dans la réponse● Le pirate capture la requête et répond avec le même ID

mac.naif.fr 10.1.0.2

ns.pirate.fr 10.1.0.13

ns.naif.fr

Any mac.naif.fr ? ID 0

ID 0mac ptr 10.1.0.13

Page 77: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 77

DNS Cache Poisoning

comparse.fr ns.pirate.fr10.0.1.13

ns.naif.fr

ns.pirate.fr10.0.1.13

Q : IP www.pirate.fr ?

Q : IP www.pirate.fr ?

R : www.pirate.fr 10.0.1.13 www.google.fr 10.0.1.13 www.amazon.fr 10.0.1.13

Page 78: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 78

Introduction à IPv6principes de base

Page 79: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 79

Un peu d'HistoireDans les années 90 :

Augmentation exponentielle de l'Internet Augmentation du nombre d'entrées dans les tables de routage

Allocation des adresses - Janvier 1996

Classe A - 100.00% Classe B - 61.95% Classe C - 36.44%

Prévisions d'exhaustion du espace d'adressage

Première alerte - 1994 Maintenant on parle d'une échéance entre 2010 et 2018 http://penrose.uk6x.com/ - 1218 Days (3/2/2009)

Page 80: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 80

Prévisions pour IPv4

Page 81: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 81

Mesures d'Emergence● Adressage « classless »

● CIDR (Classless Internet Domain Routing) (RFC 1519) ● Adresse réseau = prefixe/longueur du prefixe ● Limite les pertes d'adresses ● Recommande l'agrégation (réduction des tables de routage) ● Réquisition d'adresses déjà alloués (RFC 1917) ● Réutilisation des adresses de classe C

● Permettre les plans d'adressage privés (RFC 1918 ) ● Utilisation de proxies ou NAT pour les communications avec

l'extérieur ● Structuré de manière similaire aux pare-feux

Page 82: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 82

Est-cela suffisant ?● Ces mesures ont donné le temps de trouver une solution

meilleure que IPv4● Sans une solution, IPv4 devient de plus en plus complexe à

gérer ● Risque de se trouver avec plusieurs protocoles de niveau 3

● Les adresses IP sont devenus des ressources rares● 232 = seulement 4 294 967 296 adresses

● Les applications et le déploiement de nouveaux réseaux sont fortement limités par le NAT● Logique « firewall » contraire au paradigme « bout-à-bout »

d'Internet

Page 83: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 83

IPv4 en chiffres

● Attribution des adresses IPv4 ● 3706.65 million vraiment utilisables ● 2^32 [4,294,967,296] - (classes D et E, réseaux 0 et 127

et RFC1918) ● 6,5 milliards d'habitants

● 40% des adresses sont allouées aux USA – 300 000 000 d’habitants

● 3% des adresses sont allouées à la Chine – 1 400 000 000 habitants

Page 84: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 84

À la recherche d'une Solution● Des travaux ont été lancé au début des années 90

pour améliorer IP en général ● IPng (IP nouvelle génération)

● Milieu 90, IPv6 a été retenu comme nouvelle version de IP (RFC 1752) et adopté vers la fin des années 90

● Le nouveau protocole va aller au-delà du problème du nombre d’adresse et s’attaque aux lacunes de IPv4

Page 85: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 85

IPv6 – Une nouvelle version de IP

● LA réponse pour le problème de la croissance de l'Internet● Nouveaux réseaux ● Nouvelles machines

● Augment le format des adresses à 128 bits (16 octets) ● Garde les bonnes choses de IPv4

● Format fixe et bien connu pour l'entête ● Taille d'adresses fixe

Page 86: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 86

L'entête IPv4

Page 87: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 87

L'entête IPv6

Page 88: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 88

Est-ce que cela suffit ?● Longueur des adresses

● 2128 = 3.4×1038

– 340 282 366 920 938 463 463 374 607 431 770 000 000● Étoiles observables dans le ciel = 252 = 4.5x1015

● Approximativement 506 102 adresses par m2 sur terre● ou 5×1028 adresses pour chaque habitant de la planète

● Hop Limit ● Ne doit pas être un problème (sur Terre, au moins)

● Payload Length ● Compatible avec les systèmes courants (Ethernet, etc.)● Utilisation de Jumbogrammes (4Go) avec extensions

Page 89: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 89

Les Extensions IPv6● Optionnelles, utilisées à la place des options Ipv4

● Insérées entre l'entête IPv6 et les données (TCP, etc.)

● Les extensions ne sont pas traitées par aucun noeud intermédiaire ● Exception: l'extension « hop by hop »

Page 90: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 90

Les Extensions et leur Ordre

Page 91: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 91

L'Adressage IPv6● Adresse sur 128 bits découpée en 8 mots de 16 bits. ● Exemple: FEDC:0000:0000:0210:EDBC:0000:6543:210F ● Format compressé

● compression des 0 d'entête - FEDC:0:0:210:EDBC:0:6543:210F

● Remplacer une séquence de 0 par :: (une seule fois)– FEDC::210:EDBC:0:6543:210F

● Exemple d’utilisation: ● http://[2001:1234:12::1]:8080

● Cohabitation v4/v6 ● 0:0:0:0:0:FFFF:192.168.16.1 ou ::FFFF:192.168.16.1

Page 92: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 92

Représentation des Préfixes● Similaire aux préfixes CIDR

● adresse-ipv6/longueur du préfixe ● Exemple

– 2001:0DB8:0000:CD30:0000:0000:0000:0000/60 – 2001:0DB8::CD30:0:0:0:0/60 – 2001:0DB8:0:CD30::/60

● Représentations incorrectes – 2001:0DB8:0:CD3/60 – 2001:0DB8::CD30/60 – 2001:0DB8::CD3/60

Page 93: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 93

Adresses Spécifiques

● loopback ● 0:0:0:0:0:0:0:1 => ::1

● unspecified ● Indique l'absence d'une adresse ● 0:0:0:0:0:0:0:0 => :: ● Ne doit pas être utilisée comme adresse de destination

● Autres Notations● Notation CIDR: 2001:db8::/64 ● URL: http://[2001:db8:4201:8::cafe:deca]:8080 ● RFC 1924: 9R}vSj}-&Xr<wS5fSm=

Page 94: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 94

Comment est attribuée une IPv6 ?● Auto-configuration

● auto-configuration des adresses intégrée dans le protocole ● génération automatique des adresses à partir d’informations

reçues par le routeur et de l’adresse MAC (d’une interface Ethernet)

● L'auto-configuration est un processus à plusieurs étapes

Page 95: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 95

Adressage IPv6● Espace d'adressage (IETF)

● 0000::/8 Reserved by IETF [RFC3513] ● 2000::/3 Global Unicast [RFC3513] ● FC00::/7 Unique Local Unicast [RFC4193] ● FE80::/10 Link Local Unicast [RFC3513] ● FEC0::/10 Reserved by IETF [RFC3879] ● FF00::/8 Multicast [RFC3513]

Page 96: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 96

Adresses Lien Local

namabiiru ~ # ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:11:43:CD:3B:1C [..] inet6 addr: fe80::211:43ff:fecd:3b1c/64 Scope:Link [..]

namabiiru ~ # ifconfig eth1 eth1 Link encap:Ethernet HWaddr 00:11:43:CD:3B:1D [..] inet6 addr: fe80::211:43ff:fecd:3b1d/64 Scope:Link [..]

● Comment obtenir l'Interface ID ?

1111111010 0 Interface ID

10 bits 54 bits 64 bits

FE80::/64

Page 97: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 97

Interface ID et Zone ID● Interface ID - Format EUI-64 obtenu en modifiant la

représentation d’une adresse MAC sur 48 bits

● Zone ID - adresse%interface● fe80::211:43ff:fecd:3b1c%eth0

– BSD - ping6 fe80::290:6900:decf:543e%eth0– Linux - ping6 -I eth0 fe80::290:6900:decf:543e

Page 98: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 98

Unique Local Unicast Address (RFC4193)

● Les 40 bits du Global ID sont générés aléatoirement ● Ils sont différents sur chaque site ● Cela permet de réunir facilement deux sites/réseaux sans

changer leurs adressages respectifs● Si le Global ID est fourni par un Routeur, alors on a une

adresse globale

Prefx Global ID Interface ID

7 bits 40 bits 64 bits

FC00::/70

1

Subnet ID

16 bits

Page 99: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 99

Adresses Globales

Page 100: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 100

Résultatnamabiiru ~ # ifconfig eth0 Link encap:Ethernet HWaddr 00:11:43:CD:3B:1C inet addr:203.178.135.36 Bcast:203.178.135.128 Mask:255.255.255.128 inet6 addr: 2001:200:0:1cd7:211:43ff:fecd:3b1c/64 Scope:Global inet6 addr: 2001:200:0:1cd8:211:43ff:fecd:3b1c/64 Scope:Global inet6 addr: 2001:200:0:1cd1:211:43ff:fecd:3b1c/64 Scope:Global inet6 addr: fe80::211:43ff:fecd:3b1c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:34307181 errors:0 dropped:0 overruns:0 frame:0 TX packets:7381660 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3771786654 (3597.0 Mb) TX bytes:2291246660 (2185.1 Mb) Base address:0xece0 Memory:fe1e0000-fe200000

lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:8732 errors:0 dropped:0 overruns:0 frame:0 TX packets:8732 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:783223 (764.8 Kb) TX bytes:783223 (764.8 Kb)

Page 101: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 101

Ok, mais comment contacter un routeur ?

● L'auto-configuration passe par la découverte des voisins● Découverte de voisins

● résolution IPv6 -> MAC (comme ARP avec IPv4)● Découverte des routeurs

● Obtention d'informations pour l'auto-configuration d’adresses ● Détection d’accessibilité des voisins ● Détection des adresses dupliquées ● Découverte des préfixes et paramètres du réseau

Page 102: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 102

Les Quatre Messages● Router Solicitation (RS)

● utilisé par un noeud pour découvrir les routeurs sur le réseau ● Router Advertisement (RA)

● utilisé par un routeur pour annoncer le préfixe à utiliser et d’autres options (ex: MTU du lien)

● Neighbor Solicitation (NS)● permet à un noeud de demander l’adresse MAC

correspondante à une adresse IPv6 ● Neighbor Advertisement (NA)

● réponse au message NS

Page 103: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 103

L'auto-configuration en résumé

Soit donné l’adresse MAC 00:17:f2:ea:59:46

1.création d’une adresse lien-local ● (fe80::217:f2ff:feea:5946)

2.vérification d’unicité de l’adresse lien-local ● message NS sans réponse

3.récupération du préfixe IPv6 du lien ● RS/RA (ex: 2001:db8:42::/64)

4.création de l’adresse globale● (2001:db8:42::217:f2ff:feea:5946)

5.vérification d’unicité de l’adresse globale

Page 104: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 104

Interopérabilité & transition – Dual Stack

● Technique de la double pile● Communication IPv4 ↔ IPv4● Communication IPv6 ↔ IPv6

● Peut nécessiter l’utilisation de différentes applications pour chaque version

● Les routeurs doivent aussi pouvoir gérer les versions du protocole● Surcharge à cause des deux piles

● Stratégie couramment utilisée chez certains FAI (Free)

Page 105: Dynamic Host Configuration Protocol - univ-reims.frlsteffenel/cours/Master1/...Dynamic Host Configuration Protocol Extension du protocole BOOTP Bâti sur un modèle client-serveur

L. Steffenel ©2009 105

Interopérabilité & transition – Tunneling (encapsulation)

● Infrastructure de base IPv4● Tunneling manuel IPv6 dans IPv4

– communication avec des sites IPv6 en utilisant l’infrastructure IPv4 existante

● Tunneling automatique – utilisé par les noeuds IPv6 en utilisant des structures

d’adressage spécifique (IPv4 compatible (::I.P.v.4), 6to4).– Les adresses IPv6 compatibles IPv4 sont obsolètes

● Tunneling automatique avec les tunnels broker