administration et gestion de...
Post on 04-May-2018
227 Views
Preview:
TRANSCRIPT
Administration et gestion ���de réseaux���
���
Chapitre 2 : Réseaux TCP/IP
EPFC - GNET������
Boris Verhaegen���boris.verhaegen@gmail.com
2012-2013 1 GNET - Introduction - Boris Verhaegen
Bibliographie
• Computer Networking, 5/e, James F. Kurose & Keith W. Ross, ISBN: 0-13-607967-9, Pearson Education, 2010
• Computer Networks, 4/e, Andrew S. Tanenbaum, ISBN: 0-13-066102-3, Pearson Education, 2002
• Réseaux d’ordinateurs 1, Marie Ange Rémiche, Cours ULB
• Head First Networking, Al Anderson & Ryan Benedetti, ISBN : 978-0596521554, O'Reilly Media, 2009
• TCP/IP Network Administration, 3/e, Craig Hunt, ISBN: 1-4493-8714-4, O’Reilly Media, 2002
• Windows Server 2003 Network Administration, Craig Hunt & Roberta Bragg, ISBN: 0-596-10465-0, O’Reilly Media, 2005
2012-2013 GNET - Introduction - Boris Verhaegen 2
Partie 2 : Réseaux TCP/IP
• Vue d’ensemble de TCP/IP : – Fonctionnalités
– Couche réseau : IP, datagramme, routage, fragmentation, ICMP
– Couche transport : UDP, TCP
• Adressage et routage : – Adresse IP, sous-réseaux, réseaux privés
– Routage
– Résolution d’adresse : ARP/RARP
– Ports et sockets
• Services TCP/IP : – DNS, WINS, SMB, CIFS, Mail, DHCP
2012-2013 GNET - Introduction - Boris Verhaegen 3
Fonctionnalités TCP/IP
• Défini en 1983 pour connecter et organiser de manière standard les nœuds d’Internet.
• Protocoles standards et ouverts : librement accessibles et développés indépendament de tout matériel ou système d’exploitataion.
• Indépendance du matériel réseau : utilisable dans toutes les sortes de réseaux : Ethernet, DSL, …
• Plan d’adressage commun qui permet à chaque nœud d’être identifié de manière unique dans son réseau, même si le réseau est énorme (World Wide Web)
• Protocoles haut-niveaux standardisés pour le développement d’applications.
2012-2013 GNET - Introduction - Boris Verhaegen 4
Partie 2 : Réseaux TCP/IP
• Vue d’ensemble de TCP/IP : – Fonctionnalités – Couche réseau : IP, datagramme, routage,
fragmentation, ICMP – Couche transport : UDP, TCP
• Adressage et routage : – Adresse IP, sous-réseaux, réseaux privés – Routage – Résolution d’adresse : ARP/RARP – Ports et sockets
• Services TCP/IP : – DNS, WINS, SMB, CIFS, Mail, DHCP
2012-2013 GNET - Introduction - Boris Verhaegen 8
IP = Internet Protocol
• La version du protocole utilisé actuellement est IPv4. C’est la première version utilisée sur Internet.
• IPv6 est défini mais tarde à être utilisé car il n’est pas compatible avec IPv4 et utilise un plan d’adressage totalement différent (voir plus loin).
• Le protocole Internet (IP) est la brique de base d’Internet : – il définit le datagramme, l’unité de base de transmission sur Internet
– il définit le plan d’adressage d’Internet
– il route les datagrammes de l’expéditeur au destinataire
– il fragmente et réassemble les données
2012-2013 GNET - Introduction - Boris Verhaegen 9
IP
• IP est un protocole « sans connexion ». Cela signifie que IP n’échange pas d’information de contrôle (handshake) pour établir une connection de bout en bout avant de transmettre des données. IP va se baser sur les services d’autres couches pour simuler cette connexion.
• IP est un protocole « non fiable ». Il ne possède pas de mécanisme de détection d’erreur. De nouveau, ce sont les services des autres couches qui vont gérer la fiabilité.
2012-2013 GNET - Introduction - Boris Verhaegen 10
Datagramme
• Datagramme = unité de base de transmission sur Internet. • Paquet = un bloc de données qui contient l’information nécessaire pour
être expédié (comme une lettre) • Le datagramme est le paquet défini par l’Internet Protocol.
2012-2013 GNET - Introduction - Boris Verhaegen 11
• Header : 6 premiers mots de 32 bits. • Données : le reste
Routage des datagrammes
• Routeur IP = passerelle (gateway) internet. • Le routeur transmet des datagrammes de réseaux en réseaux.
• Les paquets d’A1 destinés à C1 sont forwardés par les routeurs G1 et G2.
2012-2013 GNET - Introduction - Boris Verhaegen 12
Routage des datagrammes
• Les routeurs peuvent relier des réseaux de technologies différentes.
2012-2013 GNET - Introduction - Boris Verhaegen 13
Fragmentation des datagrammes
• Comme les datagrammes peuvent transiter par des réseaux de technologies différentes, il est parfois nécessaire de découper les datagrammes en morceaux plus petits.
• Chaque type de réseau a une « unité de transmission maximale » (MTU) qui est la longueur du plus grand paquet pouvant être déplacé sur ce réseau.
• Si un datagramme est plus long que le MTU du réseau sur lequel un routeur veut l’envoyer, il faut le découper. Ce processus s’appelle la fragmentation.
2012-2013 GNET - Introduction - Boris Verhaegen 14
Fragmentation des datagrammes
• Un fragment est un datagramme comme un autre. • Le deuxième mot du header IP contient l’information qui
identifie chaque fragment et permet ainsi de réassembler les fragments pour reconstruire le datagramme original.
2012-2013 GNET - Introduction - Boris Verhaegen 15
Iden8fica8on : numéro du datagramme Fragment Offset : iden8fie le fragment Flags : un flag « More Fragments » indique si il y a des fragments suivants
ICMP • ICMP = Internet Control Message Protocol • Fonctions de contrôle, d’information et d’avertissement d’erreurs :
– Contrôle de flux : Quand les datagrammes arrivent trop rapidement pour être traités par un nœud, celui-ci envoie un message ICMP « Source Quench Message » à l’expéditeur qui arrête temporairement d’envoyer des datagrammes.
– Détection de destinations inacessibles : Quand une destination est inacessible, le nœud qui a détécté le problème envoie un « Destination Unreachable Message » à l’expéditeur (utilisé par traceroute)
– Redirection de routes : Un routeur envoie un message « Redirect Message » pour avertir un hôte d’utiliser un autre routeur, qui connaît une meilleure route.
– Tester les hôtes distant : Un hôte peut envoyer un message « Echo » pour voir si un hôte distant est operationnel. Quand un hôte reçoit un message « Echo », il renvoie ce message à l’expéditeur (utilisé par ping)
2012-2013 GNET - Introduction - Boris Verhaegen 16
Partie 2 : Réseaux TCP/IP
• Vue d’ensemble de TCP/IP : – Fonctionnalités
– Couche réseau : IP, datagramme, routage, fragmentation, ICMP
– Couche transport : UDP, TCP
• Adressage et routage : – Adresse IP, sous-réseaux, réseaux privés
– Routage
– Résolution d’adresse : ARP/RARP
– Ports et sockets
• Services TCP/IP : – DNS, WINS, SMB, CIFS, Mail, DHCP
2012-2013 GNET - Introduction - Boris Verhaegen 17
Couche transport • Les deux protocoles les plus importans de la couche transport
sont : – TCP : Transmission Control Protocol – UDP : User Datagram Protocol
• TCP fourni un service de livraison – fiable – orienté connexion – avec une détection et réparation d’erreur de bout en bout
• UDP fourni un service de livraison – non-fiable – léger – sans connexion
• Ces deux protocoles transportent les données entre la couche application et la couche Internet. Les applications peuvent choisir quel protocole utiliser : TCP ou UDP.
2012-2013 GNET - Introduction - Boris Verhaegen 19
User Datagram Protocol
• UDP permet aux applications d’avoir un accès direct à un service de livraison datagramme, similaire au service que IP fourni. Il permet aux applications d’échanger des information avec un minimum d’overhead.
• UDP est non-fiable et sans connexion. Non-fiable = pas de mécanisme pour savoir si le message est arrivé correctement.
• UDP utilise des ports de 16 bits : un pour la source, un pour la destination. Un port identifie l’application émetrice/réceptrice sur un nœud.
2012-2013 GNET - Introduction - Boris Verhaegen 20
Transmission Control Protocol
• TCP fournit aux applications un service de livraison fiable : il vérifie que les données sont arrivées chez le destinataire et qu’elles sont arrivées dans le bon ordre.
• TCP est – fiable
– orienté connexion
– byte-stream
2012-2013 GNET - Introduction - Boris Verhaegen 21
TCP est fiable
• La fiabilité de TCP est implémentée via un mécanisme appellé « Positive Acknowledgment with Retransmission » (PAR).
• En gros, un système TCP ré-envoie les données jusqu’à ce qu’il reçoive un accusé de reception du destinataire.
• L’unité de donnée entre deux services TCP est appellé un segment.
• Chaque segment contient une somme de contrôle permettant de vérifier que les données sont arrivées sans dommage. – Dans ce cas, le destinataire envoie un accusé de réception à l’expéditeur. – Dans le cas contraire, le destinataire n’envoie pas d’accusé et l’expéditeur
renvoie, après un petit temps, tous les segments pour lesquels il n’a pas reçu d’accusé de réception.
2012-2013 GNET - Introduction - Boris Verhaegen 22
TCP est orienté connexion
• TCP établit une connexion logique de bout en bout entre les deux hôtes qui désirent communiquer.
• Pour cela, une information de contrôle, appellée un handshake (poignée de main) est échangée entre les deux hôtes.
• D’un point de vue implémentation, cette information de contrôle est stockée dans les flags du header de segment.
2012-2013 GNET - Introduction - Boris Verhaegen 23
TCP est byte-stream
• TCP voit les données comme un flux continu de bytes et non comme une suite de paquets indépendants.
• Pour cela, TCP prend soin de maintenit la séquence (l’ordre) dans laquelle les bytes sont envoyés et reçus.
• Le numéro de séquence et le numéro d’accusé présents dans le header du segment servent à cela.
2012-2013 GNET - Introduction - Boris Verhaegen 24
Numérotation des segments
• Durant le handshake de connexion, les deux hôtes échangent le premier numéro de séquence qu’ils ont décidés aléatoirement : – Initial Sequence Number (ISN)
• Chaque hôte choisi un ISN car la connexion TCP est bi-directionnelle.
• Les ISN sont générés aléatoirement pour des raisons de sécurités. • Chaque byte transmis est identifié par un numéro de
séquence. – Le premier byte envoyé porte le numéro de séquence ISN + 1
• Si ISN = 0 et si un segment de 4000 bytes a été envoyé, le numéro de segment suivant sera 4001.
2012-2013 GNET - Introduction - Boris Verhaegen 25
Segment d’accusé de réception
• Le segment d’accusé de réception (ACK) a deux fonctions : – accusé de réception positif – contrôle de flux
• L’accusé de réception indique à l’émetteur : – combien de données ont été reçues – combien de données le receveur peut encore recevoir
• Le standard TCP ne prévoit pas d’envoyer un accusé de réception par segment reçu : cela consommerait beaucoup de ressources. – Si ISN = 0 et si un accusé de réception portant le numéro de
séquence 12001 est reçu, cela signifie que les 12000 premiers bytes ont été reçus.
2012-2013 GNET - Introduction - Boris Verhaegen 26
Fenêtrage (windowing)
• Le champ Window du header de segment contient le nombre de bytes que le récepteur est prêt à recevoir. Si le récepteur peut recevoir 6000 bytes, la fenêtre est de taille 6000.
• Ce champ indique à l’émetteur qu’il peut continuer à envoyer des données tant que le nombre de bytes envoyés est plus petit que la valeur du champ Window.
• Ce mécanisme permet donc un contrôle de flux.
2012-2013 GNET - Introduction - Boris Verhaegen 27
Fenêtrage (windowing)
• ISN = 0 • 2000 bytes envoyés.
• Accusé de réception numéro 2001 et Window = 6000
2012-2013 GNET - Introduction - Boris Verhaegen 28
Ports TCP
• Comme UDP, TCP doit pouvoir transmettre les segments à la bonne application.
• C’est pourquoi les numéros de ports (sur 16 bits) sont présents dans le header du segment.
2012-2013 GNET - Introduction - Boris Verhaegen 30
Partie 2 : Réseaux TCP/IP
• Vue d’ensemble de TCP/IP : – Fonctionnalités
– Couche réseau : IP, datagramme, routage, fragmentation, ICMP
– Couche transport : UDP, TCP
• Adressage et routage : – Adresse IP, sous-réseaux, réseaux privés
– Routage
– Résolution d’adresse : ARP/RARP
– Ports et sockets
• Services TCP/IP : – DNS, WINS, SMB, CIFS, Mail, DHCP
2012-2013 GNET - Introduction - Boris Verhaegen 31
Vocabulaire
• Adressage : – défini les adresses IP qui identifient univoquement chaque hôte sur le
réseau de façon à livrer l’information de bout en bout.
• Routage : – Les passerelles (routeurs / gateway) livrent l’information vers le bon
réseau
• Multiplexage : – Les protoles et les numéros de ports livrent les données au bon
logiciel au sein d’un hôte
2012-2013 GNET - Introduction - Boris Verhaegen 32
Adresse IP
• L’adresse IPv4 est une valeur de 32 bits qui identifie univoquement chaque hôte sur les réseaux TCP/IP.
• Certains des bits identifient le réseau (network bits/network number)
• Les autres lits identifient l’hôte à l’intérieur d’un réseau (host bits/host number)
• Les adresses IP sont habituellement écrites sous la forme de 4 nombres séparés par des points. – Dotted decimal notation
• Chaque nombre représente un byte (8 bits) de l’adresse (32 bits) et varie entre 0 et 255.
2012-2013 GNET - Introduction - Boris Verhaegen 33
Adresse IP
• Les hôtes en général ont une adresse IP. • Les routeurs/gateway ont une adresse IP par réseau qu’ils
connectent.
• Les systèmes peuvent être adressés de différentes manières : – adressage direct (unicast) pour un système préci. Ex : 164.15.81.5
– adressage de groupe (multicast). Ex : 224.0.0.2 – adressage par diffusion (broadcast) : tous les systèmes d’un réseau.
Ex : 172.16.255.255
2012-2013 GNET - Introduction - Boris Verhaegen 35
Adresse IP
• L’adressage unicast et broadcast impliquent que toutes les adresses IP possibles ne peuvent pas être assignées à un hôte : – il faut réserver des adresses spéciales pour ce type d’adressage
• Une adresse IP dont tous les bits hôtes sont à 1 est une adresse de broadcast.
• Exemple : L’adresse de broadcast pour le réseau 172.16 et 172.16.255.255
• Un datagramme envoyé à cette adresse est livré à chaque hote sur le réseau 172.16.
2012-2013 GNET - Introduction - Boris Verhaegen 36
Adresse IP
• Une adresse IP qui a tous ses bits hôtes à 0 identifient le réseau.
• Par exemple, 172.16.0.0 identifie le réseau 172.16
• Les adresses de cette forme servent aux routeurs pour livrer les données vers le bon réseau
• Les adresses IP dont le premier byte est supérieur à 223 ne peuvent pas être utilisées pour les réseaux physiques. Ils sont réservés pour des fonctions spéciales (par exemple le multicast).
2012-2013 GNET - Introduction - Boris Verhaegen 37
Adresse IP
• L’adresse 0.0.0.0 est aussi réservée : elle désigne la route par défaut pour un routeur. (voir plus loin : tables de routage)
• L’adresse réseau 127.0.0.0 est l’adresse loopback (boucle locale) : elle permet à un hôte de communiquer avec lui même via le réseau IP.
2012-2013 GNET - Introduction - Boris Verhaegen 38
Structure d’un adresse
• Une adresse IP contient donc une partie réseau et une partie hôte. Néanmoins, le format de ces parties n’est pas le même pour toutes les adresses IP.
• La taille de la partie réseau (et donc celle de la partie hôte) varie en fonction du masque d’adresse.
• Le masque d’adresse fonctionne de la manière suivante : – si un bit du masque est à 1, alors le bit correspondant dans l’adresse IP
est un bit de la partie réseau. – si un bit du masque est à 0, alors le bit correspondant dans l’adresse IP
est un bit de la partie hôte.
2012-2013 GNET - Introduction - Boris Verhaegen 39
Structure d’une adresse
• Exemple : – On prend l’adresse 172.22.12.4
– Le masque donné est 255.255.255.0 (24 bits à 1 et 8 bits à 0)
– Les premiers 24 bits identifient donc la partie réseau
– Les 8 derniers bits identifient la partie hôte.
– On parle donc de l’hôte 4 dans le réseau 172.22.12.
2012-2013 GNET - Introduction - Boris Verhaegen 40
Structure d’une adresse
• Spécifier le masque à chaque adresse IP peut être fastidieux.
• Il existe une notation simplifiée : – Si on veut parler de l’adresse 172.31.26.32 avec le masque
255.255.255.224 – On peut écrire 172.31.26.32/27, le masque ayant ses 27 premiers bits à
1. – L’adresse seule 172.31.26.32 peut être mal interprétée.
2012-2013 GNET - Introduction - Boris Verhaegen 41
Structure d’une adresse
• Une grosse entreprise veut disposer de +/- 4000 adresses. • Pour cela elle peut acheter à un fournisseur le réseau
– 192.168.16.0/20
• Elle aura donc 12 bits pour adresser ses hôtes – 4096 adresses – de 192.168.16.0 à 192.168.31.255
• Une plus petite entreprise veut disposer de +/- 250 adresses. • Elle achete 192.168.32.0/24 • Elle aura donc 8 bits pour adresses ses hôtes de 192.168.32.0
à 192.168.32.255
2012-2013 GNET - Introduction - Boris Verhaegen 42
Sous réseaux
• Les entreprises disposant de beaucoup d’adresses IP peuvent vouloir les utiliser sur des réseaux physiques différents (plusieurs sites de l’entreprise).
• Pour cela, il est possible de découper les blocs d’adresses en sous-réseaux (subnet).
• Un sous réseau est défini en changeant le masque de sous réseau : le principe est le même que pour le masque de réseau.
• La différence est que ce masque est utilisé localement.
2012-2013 GNET - Introduction - Boris Verhaegen 43
Sous réseaux
• Exemple : une petite entreprise d’assurance possède un bloc d’adresses 192.168.32.0/24.
• Le masque de réseau est donc 255.255.255.0 et le bloc contient 256 adresses.
• Cette entreprise a 10 bureaux situés partout en Belgique. Chaque bureau a +/- 5 ordinateurs.
• Elle veut allouer des adresses pour chaque bureau en laissant un peu de marge pour l’avenir.
• Il faut donc découper le bloc de 256 adresses. Disons que nous allons le découper en 16 sous-réseaux.
2012-2013 GNET - Introduction - Boris Verhaegen 44
Sous réseaux
• Découper le réseau 192.168.32.0/24 en 16 sous réseaux. • Pour cela on utilise le masque 255.255.255.240
(192.168.32.0/28). • Les 3 premiers bytes identifient le réseau. • Le byte restant est divisé entre l’adresse de sous réseau et les
adresses des hôtes. • Les 4 permiers bits du 4e byte sert à identifier le réseau. • Les 4 derniers bits du 4e byte sert à identifier l’hôte dans le
réseau. • Ainsi on a 16 sous-réseaux qui contiennent chacun 14
adresses hôtes.
2012-2013 GNET - Introduction - Boris Verhaegen 45
Sous réseaux
• réseau���192.168.32.0/24���découpé en 16
• à 192.168.32.0/28 • à 16 réseaux
• à 14 hôtes par réseau���
• !! question d’examen
2012-2013 GNET - Introduction - Boris Verhaegen 46
Masque naturel
• A l’origine, les adresses IP étaient découpées en classes.
2012-2013 GNET - Introduction - Boris Verhaegen 47
Masque naturel • Le premier byte est
inférieur à 128 : – Classe A – 255.0.0.0 – 16 777 215 adresses
• Le premier byte est entre 128 et 191 : – Classe B – 255.255.0.0 – 65 535 adresses
• Le premier byte est entre 192 et 223 : – Classe C – 255.255.255.0 – 255 adresses
2012-2013 GNET - Introduction - Boris Verhaegen 48
Classes d’adresses
• Au départ, il n’était possible que d’ « acheter » que des classes d’adresses : – soit 255 adresses – soit 65 535 adresses – soit 16 777 215 adresses
• Problèmes : – Blocs beaucoup trop petits ou beaucoup trop grands – Grand gaspillage d’adresses
• Solution : – Modifier les protocoles de routage et permettre d’utiliser des réseaux
plus petits. – Blocs CIDR et aggrégation de routes
2012-2013 GNET - Introduction - Boris Verhaegen 49
Adresses privées
• Chaque interface sur un réseau TCP/IP doit avoir une adresse IP unique.
• Si un hôte est directement connecté à Internet, son adresse IP doit être unique dans tout Internet.
• Si un hôte est connecté à un réseau privé, comme un réseau d’entreprise, son adresse IP doit être seulement unique à l’intérieur de son réseau privé.
• La RFC 1918 défini des listes d’adresses réservées pour usage privé.
2012-2013 GNET - Introduction - Boris Verhaegen 51
Adresses privées
• Le réseau 10.0.0.0/8 • Le réseau 172.16.0.0/12 (de 172.16.0.0 à 172.31.255.255
• Le réseau 192.168.0.0/16 (de 192.168.0.0 à 192.168.255.255)
• Avantage : – facile – « friendly » : on laisse des IP pour ceux qui en ont besoin sur internet
– gratuit
2012-2013 GNET - Introduction - Boris Verhaegen 52
Internet sur un réseau privé
• Deux solutions : – acheter des adresses IP (difficile, etc) – connecter internet sur un réseau privé via NAT/PAT ou un proxy
• NAT : Network Adress Translation • PAT : Port Adress Translation
• En général, on a une adresse IP Internet fournie par l’ISP et plusieurs ordinateurs à la maison. On va donc utiliser la technologie NAT/PAT pour partager l’accès à internet à tous les ordinateurs de la maison (réseau privé).
• Il y a plusieurs modes de NAT. Ici on parlera du mode le plus courant, c’est à dire le « Masquerade ».
2012-2013 GNET - Introduction - Boris Verhaegen 53
Et IPv6 ?
• A faire chez vous : – Lire la page http://fr.wikipedia.org/wiki/IPv6 (points 1 à 3).
2012-2013 GNET - Introduction - Boris Verhaegen 57
IPv6 vs IPv4���« 96 bits de plus, rien de magique »
IPV6
• 128 bits – 667 millions de milliards
d’adresses par mm2 – Plus besoin du NAT
• Sous réseaux de taille fixe (64 bits)
IPv4
• 32 bits – 4 milliards d’adresses
• Sous réseaux de taille
variable
2012-2013 GNET - Introduction - Boris Verhaegen 58
Les slides sur IPv6 sont basés sur Wikipedia
IPv6 vs IPv4
Déploiement compliqué : • Les datagrammes IPv6 ne sont pas compatible IPv4
• Phase de transition : les hôtes possèdent une double pile – Une adresse IPv6
– Une adresse IPv4
– Des tunnels permettent de traverser des routeurs non compatible IPv6
• 2010 : Moins de 1% des hotes en IPv6
2012-2013 GNET - Introduction - Boris Verhaegen 59
Fonctionnement d’IPv6
• Presque identique à IPv4 • TCP et UDP sont presque inchangés (avantage du découpage en
couches)
• Adresse IPv6 : – Notation hexadécimale – 8 groupes de 16 bits séparés par un « : » – 2001:0db8:0000:85a3:0000:0000:ac1f:8001 – Simplification possible en : 2001:db8:0:85a3::ac1f:8001 – Les réseaux sont notés à l’aide de la notation CIDR (/10, /48 …)
• 2001:db8:1f89::/48 • De 2001:db8:1f89:0:0:0:0:0 à 2001:db8:1f89:ffff:ffff:ffff:ffff:ffff
• La partie commune s’appelle « préfixe »
2012-2013 GNET - Introduction - Boris Verhaegen 60
Adresses IPv6
• Adresses réservées : – ::/128 = adresse non spécifiée
– ::1/128 = boucle locale
• Adresses locales uniques : ���equivalent des adresses privées���IPv4
• Adresses locales lien : ���adresses uniques sur un lien contrairement aux adresses locales uniques qui sont uniques sur un réseau
• Adresses multicast
• Pas d’adresse de broadcast
2012-2013 GNET - Introduction - Boris Verhaegen 61
Adresse IPv6 unicast
• 2000::/3 de 2000:::::: à 3fff:ffff:ffff:…. • Préfixe : topologie publique (vue de l’extérieur)
• Sous réseau : topologie privée • Interface : reste pour l’utilisateur.
• Attribution des adresses à l’utilisateur : – Un bloc de taille entre /64 (un sous réseau) et /48 (65536 sous
réseaux) – Chaque sous réseaux possède 2^64 adresses
2012-2013 GNET - Introduction - Boris Verhaegen 62
Partie 2 : Réseaux TCP/IP
• Vue d’ensemble de TCP/IP : – Fonctionnalités
– Couche réseau : IP, datagramme, routage, fragmentation, ICMP
– Couche transport : UDP, TCP
• Adressage et routage : – Adresse IP, sous-réseaux, réseaux privés
– Routage
– Résolution d’adresse : ARP/RARP
– Ports et sockets
• Services TCP/IP : – DNS, WINS, SMB, CIFS, Mail, DHCP
2012-2013 GNET - Introduction - Boris Verhaegen 63
Routage
• But : livrer les datagrammes (IP) d’un hôte source à un hôte destination en passant de réseaux en réseaux.
• Outil : le routeur
2012-2013 GNET - Introduction - Boris Verhaegen 64
Routeur
• Machine ayant plusieurs cartes réseau dont chacune est reliée à un réseau différent.
• Dans la configuration la plus simple, quand un routeur reçoit un datagramme, il n’a qu’à regarder sur quel réseau se trouve l’ordinateur cible pour lui faire parvenir le datagramme.
• Sur Internet, ce n’est pas si simple : – Beaucoup de réseaux connectés à un routeur
– Réseaux reliés à d’autres réseaux que le routeur ne connaît pas directement
2012-2013 GNET - Introduction - Boris Verhaegen 65
Routeur
• Les routeurs fonctionnent à l’aide de tables de routage et de protocoles de routage selon le modèle suivant :
– Le routeur reçoit une trame via une interface (carte réseau) – Le routeur consulte l’entête IP du datagramme
– Si l’adresse IP de destination appartient au même réseau que l’IP de source, il renvoie le datagramme sur cette interface (remise directe)
– Si l’adresse IP de destination fait partie d’un réseau différent, le routeur consulte sa table de routage, une table qui défini le chemin (l’interface) à emprunter pour cette adresse donnée et envoie le datagramme sur cette interface (remise indirecte)
2012-2013 GNET - Introduction - Boris Verhaegen 66
Routeur
• Dans le cas de la remise indirecte, le rôle du routeur, notamment celui de la table de routage, est très important. Ainsi le fonctionnement d'un routeur est déterminé par la façon selon laquelle cette table de routage est créée.
– Si la table routage est entrée manuellement par l'administrateur, on parle de routage statique (viable pour de petits réseaux)
– Si le routeur construit lui-même la table de routage en fonctions des informations qu'il reçoit (par l'intermédiaire de protocoles de routage), on parle de routage dynamique
2012-2013 GNET - Introduction - Boris Verhaegen 67
Source : hNp://www.commentcamarche.net/contents/internet/routage.php3
Table de routage • Associe les destinations au routeur suivant et à l’interface à
utiliser pour atteindre cette destination.
2012-2013 GNET - Introduction - Boris Verhaegen 68
Table de routage
1. Liste des interface TCP/IP. Ici, juste une carte ethernet et la boucle locale
2. Les routes actives : dynamiques et mises à jour en fonction de l’état du ou des ���réseaux
3. Les routes persistantes ��� (manuel)
2012-2013 GNET - Introduction - Boris Verhaegen 69
Routes actives
• Destination / Masque : Adresse IP du “réseau” de destination – Cette adresse peut aussi être une adresse d’hôte ou multicast
• Gateway : Adresse du routeur suivant pour cette destination • Interface : Adresse de la carte réseau pour joindre le gateway • Metric : Le coût de la route.
– Les métriques sont utilisées pour trier les eventuelles routes dupliquées dans la table.
• Default Gateway : le routeur utilisé si aucune route spécifique est définie (identique à la première ligne)
2012-2013 GNET - Introduction - Boris Verhaegen 70
Exemple
• La source (172.16.12.2) envoie un paquet à 172.16.1.2 • La source consulte sa table de routage et voit que pour atteindre cette
adresse, il faut envoyer le datagramme à 172.16.12.3 puis l’envoie • Le routeur reçoit le datagramme, consulte sa table de routage et envoie le
datagramme via son interface 172.16.1.5 • La destination reçoit le datagramme et constate qu’il est pour elle.
2012-2013 GNET - Introduction - Boris Verhaegen 71
Routage
• Une table de routage ne connait pas les chemins de bout en bout.
• Une route pointe uniquement vers le prochain routeur (next hop) sur la route vers la destination.
• Les datagrammes passent donc de routeur en routeur et c’est le dernier routeur qui délivre le délivre au destinataire.
• Les routeurs n’utilisent donc que la partie réseau de l’adresse IP, c’est cette adresse qui est nécéssaire pour le routage. L’adresse complète est utilisée uniquement pour l’acheminement final.
2012-2013 GNET - Introduction - Boris Verhaegen 72
Algorithme de routage
• Un protocole simple à étudier et représentatif est RIP (Routing Information Protocol) développé à Berkeley en 1967. Il fut le premier algorithme de routage pour ARPANET.
• Sa popularité ne tient pas à ses mérites techniques mais vient du fait qu’il était distribué avec les UNIX 4 BSD.
• Ce protocole se base sur un algorithme à vecteurs de distance : – Chaque routeur envoie périodiquement toute sa table de routage aux
routeurs voisins – Le routeur cumule les distances reçues afin de tenir à jour sa table de
routage
2012-2013 GNET - Introduction - Boris Verhaegen 73
Distance
• Pour mesurer les distances, RIP utilise une métrique à nombre de sauts (hop count).
• Le nombre de sauts mesure le nombre de passerelles que doit traverser un datagramme pour atteindre sa destination.
• Attention, le nombre de sauts ne détermine pas nécessairement le plus court chemin. Par exemple un chemin qui traverse cinq réseaux ethernet peut être plus rapide qu’un chemin qui emprune deux réseaux basse vitesse. Pour palier ce problème, des mises à jour de RIP utilisent des nombres de sauts artificiellement élevés lorsqu’elles diffusent des informations relatives à des réseaux à bas débit.
2012-2013 GNET - Introduction - Boris Verhaegen 74
RIP : exemple
• G1 diffuse (1,1). Cela signifie que G1 peut atteindre le réseau 1 pour un coût de 1.
• G2 et G5 reçoivent ces informations et mettent leur table à jour en créant une route qui passe par G1 pour atteindre le réseau 1 pour un coût de 2.
• G2 et G5 diffusent (1,2). G3 et G4 créent deux routes vers le réseau 1 de coût 3 : une par G2 et une par G5.
2012-2013 GNET - Introduction - Boris Verhaegen 75
RIP : exemple
• RIP défini quelques règles d’amélioration de performances. • Quand un routeur apprend d’un autre routeur l’existence
d’une nouvelle route, il conserve cette dernière jusqu’à ce qu’il en connaisse une meilleure.
• Dans notre exemple, si G2 et G5 diffusent (1,1), G3 et G4 créeront une route passant par le premier routeur dont ils auront reçu le message.
• En d’autres mots, les routes créées sont gardées jusqu’à ce qu’une route de coût inférieur apparaisse.
2012-2013 GNET - Introduction - Boris Verhaegen 76
RIP : gestion des pannes
• RIP indique que les routeurs doivent associer une temporisation aux routes acquises.
• La temporisation d’une route est remise à 0 à chaque fois que le routeur reçoit un message RIP qui référence cette route.
• La route est invalidée si il s’écoule 180 secondes sans qu’elle soit de nouveau référencée.
2012-2013 GNET - Introduction - Boris Verhaegen 77
RIP : incohérences possibles
• Boucles : – RIP suppose que les informations fournies sont fiables et que les
routeurs prennent des précautions pour détecter les boucles
• Instabilités : – RIP utilise une petite valeur comme distance maximum possible (16).
Ainsi, pour les grands réseaux, on utilisera pas RIP.
• Convergence lente : – Les informations se propagent lentement dans le réseau
• Valeur infinie : – Limité via une valeur infinie faible : 16
2012-2013 GNET - Introduction - Boris Verhaegen 78
Incohérences : exemple
• La figure représente les routes vers���le réseau 1 pour la figure précédente.
• G1 accède directement au réseau 1. Sa table de routage comporte une route à laquelle est associée une distance 1. Cette route est envoyée périodiquement.
• G2 apprend la route de G1 l’inscrit dans sa table et diffuse les informations relatives à cette route en indiquant une distance 1.
• G3 apprend la route de G2 et propage les informations relatives à cette route en indiquant une distance 3.
2012-2013 GNET - Introduction - Boris Verhaegen 79
Incohérences RIP : exemple • Supposons que l’accès à G1 au���
réseau 1 tombe en panne. • G1 met sa table à jour et affecte une distance infinie (16) à la route
vers le réseau 1. • Dans la diffusion suivante, G1 diffuse le coût élevé associé à cette
route. Une autre passerelle peut, avant G1, propages des informations relatives à cette route :
• G2 diffuse la route (1,2) juste après que l’accès au réseau 1 tombe en panne. Dans ce cas, G1 reçoit des messages de G2 et applique l’algorithme : il va ajouter une route de distance 2 pour le réseau 1 en passant par G2 puisque son coût (3) est inférieur au sien (16).
• Ensuite, en suivant l’algorithme, les valeurs pour atteindre le réseau 1 vont converger lentement vers 16.
2012-2013 GNET - Introduction - Boris Verhaegen 80
RIP
• Les slides suivants contiennent une autre explication de l’algorithme tirée de Bernard Cousin, Université Renne 1.
• www.irisa.fr/prive/bcousin/Cours/13-RIP.fm.pdf
2012-2013 GNET - Introduction - Boris Verhaegen 81
Routage sur de grands réseaux
• RIP est simple à mettre en place mais n’est pas adapté à de grands réseaux : – Problèmes d’incohérences
– Tables de routage énormes si beaucoup de routeurs.
• Une petite solution est d’utiliser une passerelle par défaut. Les routeurs d’une entreprise peuvent connaître l’ensemble des routes de cette entreprise (avec RIP) et envoyer les paquets destinés à l’extérieur de l’entreprise via un routeur par défaut, une passerelle extérieure.
• Cette passerelle extérieure utilisera d’autres algorithmes comme SPF (Shortest Path First, Dijkstra).
2012-2013 GNET - Introduction - Boris Verhaegen 93
Routage sur de grands réseaux
• EGP (Exterior Gateway Protocol) est un protocole souvent mis en oeuvre sur des passerelles qui font l’interconnexion de sites avec des réseaux fédérateurs (Tiers).
• Le principe est simple : chaque passerelle ne connaît que ses voisins immédiats et met en place une route par défaut sur l’un de ses voisins pour router les paquets vers des réseaux qu’elle ne connaît pas.
• On distingue donc : – Les systèmes autonomes (AS) qui peuvent fonctionner avec des
algorithmes simples comme RIP – Le coeur du réseau (Tiers) qui vont utiliser des algorithmes plus
compliqués comme Dijkstra.
2012-2013 GNET - Introduction - Boris Verhaegen 94
Routage sur de grands réseaux
• Actuellement, le protocole utilisé sur internet est BGP, Border Gateway Protocol.
• Internet est divisé en un ensemble de systèmes autonomes appellés domaines de routage.
• Chaque domaine de routage échange des informations avec les autres domaines de routage.
• Ce système ne dépend donc plus d’un coeur unique pour choisir les meilleures routes. Chaque domaine de routage fait ce travail pour lui même et ce modèle est donc plus expansible.
• Au délà de ça, des organismes comme RIPE (Réseaux IP Européens) fournissent un registre de routes internationales. Dans la pratique, les Tiers s’arrangent entre eux pour définir les routages inter-Tiers.
2012-2013 GNET - Introduction - Boris Verhaegen 95
Labo
• Exercices sur les tables de routage et l’agrégation de routes (supernetting)
2012-2013 GNET - Introduction - Boris Verhaegen 96
Partie 2 : Réseaux TCP/IP
• Vue d’ensemble de TCP/IP : – Fonctionnalités
– Couche réseau : IP, datagramme, routage, fragmentation, ICMP
– Couche transport : UDP, TCP
• Adressage et routage : – Adresse IP, sous-réseaux, réseaux privés
– Routage
– Résolution d’adresse : ARP/RARP
– Ports et sockets
• Services TCP/IP : – DNS, WINS, SMB, CIFS, Mail, DHCP
2012-2013 GNET - Introduction - Boris Verhaegen 97
Résolution d’adresse
• L’adresse IP et les tables de routages conduisent les datagrammes vers le bon réseau physique mais quand les données transitent au travers d’un même réseau, elles doivent obéïr aux protocoles de la couche physique de ce réseau.
• La couche physique ne comprend pas l’adressage IP, ils utilisent leur propre schéma d’adressage.
• Le rôle principal de la couche de liaison de données est de convertir les adresses IP en adresses physiques.
2012-2013 GNET - Introduction - Boris Verhaegen 98
Adresse MAC • Chaque carte réseau Ethernet possède une adresse MAC
(Media Access Control address).
• Cet identifiant physique est dans la carte réseau et est utilisé pour attribuer mondialement (en théorie) une adresse unique au niveau de la couche de liaison de données.
• Une adresse MAC (48 bits) est souvent représentée sous une forme hexadécimale en séparant les octets par un double point ou un tiret. Exemple : 5E:FF:56:A2:AF:15
• Une partie est réservée pour différencier le constructeur (3COM, Cisco, …) et une autre pour différencier les cartes d’un même constructeur.
• L’adresse FF:FF:FF:FF:FF:FF est réservée pour le broadcast.
2012-2013 GNET - Introduction - Boris Verhaegen 99
Source et plus d’informa8ons sur : hNp://en.wikipedia.org/wiki/MAC_address
Protocole ARP
• Le protocole ARP (Address Resolution Protocol) est utilisé dans les réseaux Ethernet pour convertir les adresses IP en adresses MAC.
• Le logiciel ARP maintient sur chaque machine une table de traduction entre les adresses IP et les adresses MAC.
• Cette table est construite dynamiquement. • Quand ARP reçoit une demande de traduction, il cherche l’adresses
dans sa table. – Si l’adresse est trouvée, il renvoie l’adresse MAC correspondante. – Sinon, il envoie par broadcast un message à tous les hôtes sur le réseau
Ethernet. Ce message contient l’adresse IP concernée. ���Si un hôte reçoit ce message et identifie l’adresse IP comme étant la sienne, il répond en envoyant en retour son adresse MAC. La table ARP peut ainsi être mise à jour.
2012-2013 GNET - Introduction - Boris Verhaegen 100
Commande ARP
• La commande ARP permet d’afficher ou de modifier la table ARP d’un système.
• ARP –A affiche l’ensemble de la table ARP.
• ARP –A 192.168.30.72 affiche l’entrée pour cette IP • Les entrées sont soit dynamiques soit statiques :
– Les statiques sont enregistrées par un Administrateur
– Normalement, le protocole ARP fonctionne bien et les entrées manuelles ne sont pas nécéssaires (voir plus tard).
2012-2013 GNET - Introduction - Boris Verhaegen 101
ARP “gratuit”
• Dans certaines implémentations (c’est le cas dans Windows), au démarrage d’une machine, une requête ARP concernant l’adresse IP de la machine émettrice est envoyée. Normalement, il ne devrait y avoir aucune réponse.
• Cela offre deux avantages : – Faire connaître aux autres stations l’introduction d’une nouvelle
station ou du changement de la carte Ethernet – Détecter si une autre station a la même adresse IP. Dans ce cas,
on affiche un message d’erreur à l’utilisateur.
2012-2013 GNET - Introduction - Boris Verhaegen 102
RARP
• L’adresse MAC est stoquée dans le firmware de la carte réseau. Par contre, l’adresse IP est stockée sur disque. Comment faire donc avec un équipement sans disque pour qu’il connaisse son adresse IP ?
• RARP (Reverse Address Resolution Protocol) permet à un équipement de connaître son adresse IP en communiquant son adresse MAC à un serveur RARP.
• RARP s’effectuera au démarrage d’une machine.
• D’autres mécanismes similaires existent. Nous les verrons plus tard (DHCP, BOOTP).
2012-2013 GNET - Introduction - Boris Verhaegen 103
Partie 2 : Réseaux TCP/IP
• Vue d’ensemble de TCP/IP : – Fonctionnalités
– Couche réseau : IP, datagramme, routage, fragmentation, ICMP
– Couche transport : UDP, TCP
• Adressage et routage : – Adresse IP, sous-réseaux, réseaux privés
– Routage
– Résolution d’adresse : ARP/RARP
– Ports et sockets
• Services TCP/IP : – DNS, WINS, SMB, CIFS, Mail, DHCP
2012-2013 GNET - Introduction - Boris Verhaegen 104
Protocoles, ports et sockets
• Une fois que les données ont été livrées à un hôte, celui-ci doit les envoyer au bon utilisateur ou à la bonne application.
• Combiner plusieurs sources de données (applications) vers un flux de données unique est appellé multiplexing.
• Les données qui arrivent sur un hôte doivent être démultiplexées : divisées pour être livrées à la bonne application.
• Pour ce faire, IP utilise des numéros de protocoles pour identifier les protocoles de transport et les protocoles de transport utilisent des numéros de ports pour identifier les applications.
2012-2013 GNET - Introduction - Boris Verhaegen 105
Numéros de protocoles
• Certains numéros de protocoles sont réservés pour identifier des protocoles standards connus comme TCP ou UDP. C’est IANA (Internet Assigned Numbers Authority) qui assigne ces numéros.
• Un numéro de protocole est un byte qui se situe dans le header du datagramme IP. Cette valeur identifie le protocole de la couche supérieure (Transport) vers lequel transmettre les données.
• Sur un système Windows, ces numéros de protocoles sont documentés dans le fichier des protocoles.
2012-2013 GNET - Introduction - Boris Verhaegen 106
Numéros de ports
• Une fois les données passées à la couche transport, celle-ci doit les envoyer vers la bonne application. Les applications sont identifiés par des numéro de ports de 16 bits.
• Le port source et le port destination se trouvent dans le header du segment TCP ou du paquet UDP.
• Les ports inférieurs à 1024 sont réservés pour des services standards et sont assignés par l’IANA.
• Les ports entre 1024 et 49151 sont considérés comme des ports enregistrés. L’IANA essaye de maintenir une liste mais n’assigne pas officiellement de ports dans cette fourchette.
• Les ports suivants sont privés et peuvent être utilisés pour tout usage.
2012-2013 GNET - Introduction - Boris Verhaegen 108
Numéros de ports
• Ces numéros ne sont pas uniques pour tous les protocoles de la couche transport mais seulement à l’intérieur d’un protocole donné.
• En d’autres mots, TCP et UDP peuvent tous les deux assigner les mêmes numéros de port (et c’est en général ce qui est fait).
• C’est la combinaison du protocole et du numéro de port qui identifie l’application au seins d’une machine.
2012-2013 GNET - Introduction - Boris Verhaegen 109
Sockets
• Les ports « bien-connus » permettent aux hôtes distants de connaître quel port utiliser pour accéder à un service particulier.
• Cela simplifie le processus de connexion entre le client et le serveur car ils savent à l’avance que tel service est accessible via tel port. Par exemple, le port 80 pour le serveur Web.
• Il existe un second type de port, les ports alloués
dynamiquement. Ces ports sont alloués dynamiquement aux applications quand cela est nécessaire.
2012-2013 GNET - Introduction - Boris Verhaegen 112
Ports alloués dynamiquement
• Comme leur nom l’indique, ces ports ne sont pas prédéfinis et assignés aux applications quand cela est necessaire.
• Le système d’exploitation s’arrange pour ne pas allouer deux ports identiques à deux processus et que ces ports utilisent des numéros supérieurs à 1024.
• Ce système apporte la flexibilité nécessaire pour supporter plusieurs utilisateurs. Si un utilisateur web utilise le port 80 comme port source et destination, quel port va-t-on assigner à un second utilisateur web ?
2012-2013 GNET - Introduction - Boris Verhaegen 113
Ports alloués dynamiquement
• Pour identifier univoquement chaque connexion, le port source est assigné dynamiquement et le port « bien-connu » est utilisé pour la destination.
• Pour notre exemple, le premier utilisateur web reçoit de l’OS un port source aléatoire et utilise le port destination 80. Le second recevra un port source aléatoire différent et utilisera le port destination 80.
• C’est donc la paire de ports (source, destination) qui identifie univoquement une connexion.
• L’hôte de destination connaît le port source car il est présent dans l’entête TCP et UDP. Source et destination connaissent aussi le port de destination car c’est un port « bien-connu ».
2012-2013 GNET - Introduction - Boris Verhaegen 114
Ports alloués dynamiquement
• Cet exemple montre l’échange de ports durant la poignée de main (handshake) TCP. – L’hôte source génère aléatoirement un port source (3044).
– Il envoie un segment avec comme source 3044 et destination 23
– L’hôte destination reçoit le segment et répond en retour en utilisant 23 comme source et 3044 comme destination.
2012-2013 GNET - Introduction - Boris Verhaegen 115
Sockets
• La combinaison d’une adresse IP et d’un numéro de port est appellé un socket.
• Un socket identifie univoquement un processus réseau sur internet.
• Une paire de sockets (un pour le récepteur, un pour l’envoyeur) identifient univoquement une connexion sur internet (pour un protocole orienté connexion comme TCP)
2012-2013 GNET - Introduction - Boris Verhaegen 116
Sockets
• Socket source : (172.16.12.2:3044) • Socket destination : (192.168.16.2:23)
• Connexion : (172.16.12.2:3044, 192.168.16.2:23)
2012-2013 GNET - Introduction - Boris Verhaegen 117
Questions de révision
1. Citer les 5 couches du modèle hybride OSI/TCP pour chacunes de ces couches, 1. donner son rôle,
2. son unité d’information, 3. son adressage, 4. les informations capitales contenues dans l’entête et
5. des exemples de protocoles.
2. Quelle est la différence entre la fragmentation et la segmentation ?
3. Expliquer la poignée de main (handshake) TCP. A quoi cela sert-il ? 4. Pourquoi dit-on que TCP fournit une connexion fiable ? Expliquer
comment ce protocole y parvient.
2012-2013 GNET - Introduction - Boris Verhaegen 118
Questions de révision
5. A quoi sert un port ? 6. Pourquoi une adresse IP ne suffit pas à livrer les
datagrammes au bon réseau ?
7. A quoi sert le NAT ? Expliquer à l’aide d’un exemple. 8. Expliquer l’algorithme de routage RIP. Pourquoi est ce qu’on
ne l’utilise pas pour de grands réseaux ?
9. A quoi sert le protocole ARP ? Pourquoi est-il indispensable ? 10. Quels données sont nécessaires pour idenfier sur internet :
1. Une application
2. Une connexion
2012-2013 GNET - Introduction - Boris Verhaegen 119
Partie 2 : Réseaux TCP/IP
• Vue d’ensemble de TCP/IP : – Fonctionnalités
– Couche réseau : IP, datagramme, routage, fragmentation, ICMP
– Couche transport : UDP, TCP
• Adressage et routage : – Adresse IP, sous-réseaux, réseaux privés
– Routage
– Résolution d’adresse : ARP/RARP
– Ports et sockets
• Services TCP/IP (couche application) : – DNS, WINS, SMB, CIFS, Mail, DHCP
2012-2013 GNET - Introduction - Boris Verhaegen 120
DHCP
• DHCP = Dynamic Host Configuration Protocol
• Configurer l’adresse IP, le masque, la passerelle par défaut, le serveur DNS, etc. sur chaque machine d’un parc est un travail fastidieux pour l’administrateur système
• DHCP permet à l’administrateur système de controler la configuration TCP/IP à partir d’un point central : le serveur DHCP.
• DHCP est implémenté par exemple dans la plupart des modem/routeur du commerce (ex : Bbox de Belgacom)
2012-2013 GNET - Introduction - Boris Verhaegen 121
DHCP
• En fonction de l’implémentation, DHCP permet de définir une série de paramètres parmis lesquels : – Adresse IP – Masque – Passerelle par défaut – Adresse du ou des serveurs DNS – Adresse des serveurs de temps – Le nom d’hôte – Le MTU – Des paramètres propres à Windows (Domaine, etc) – …
• Nous en parlerons plus en détails dans le labo consacré à DHCP.
2012-2013 GNET - Introduction - Boris Verhaegen 122
DHCP • Dans la plupart des configurations, le serveur DHCP offre une
adresse IP dynamique à chaque hôte du réseau pour une période limitée dans le temps : le bail (lease) DHCP.
• Le client peut cloturer le bail quand il veut mais doit demander explicitement une extension du bail s’il veut garder l’adresse allouée sinon le serveur cloture le bail (et libère donc l’adresse IP allouée)
• L’attribution dynamique d’adresse permet d’utiliser les adresses disponibles uniquement quand cela est nécessaire (souvenez vous que les adresses sont limitées) Cette attribution dynamique aide également les utilisateurs mobiles qui bougent de réseaux en réseaux.
• Il est également possible d’assigner des adresses IP statiques sur base par exemple de l’adresse MAC du client.
2012-2013 GNET - Introduction - Boris Verhaegen 123
DHCP : Fonctionnement
2012-2013 GNET - Introduction - Boris Verhaegen 124
Les illustra8ons sont 8rées de Head First Networking, O'Reilly Media
374 Chapter 10
enter dhcp
So what’s DHCP?DHCP stands for Dynamic Host Configuration Protocol. It’s a way of automatically allowing devices onto your network with no manual intervention on your part.
Here’s how it works.
DHCP Discovery.The client broadcasts to find available servers. To do this, it needs an IP address network interface configured to use DHCP.
1
DHCP Offers.The DHCP server in the wireless access point responds to the client broadcast by offering the client an IP address. The IP address is within a pre-defined range that the DHCP server has configured in its pool of available addresses.
2
� ����� ��� � ���������� �� ������� ����������� � ��� ���������
������ ��� � �������������� ������ ������������ ���
Download at Boykma.Com
DHCP : Fonctionnement
2012-2013 GNET - Introduction - Boris Verhaegen 125
Les illustra8ons sont 8rées de Head First Networking, O'Reilly Media 374 Chapter 10
enter dhcp
So what’s DHCP?DHCP stands for Dynamic Host Configuration Protocol. It’s a way of automatically allowing devices onto your network with no manual intervention on your part.
Here’s how it works.
DHCP Discovery.The client broadcasts to find available servers. To do this, it needs an IP address network interface configured to use DHCP.
1
DHCP Offers.The DHCP server in the wireless access point responds to the client broadcast by offering the client an IP address. The IP address is within a pre-defined range that the DHCP server has configured in its pool of available addresses.
2
� ����� ��� � ���������� �� ������� ����������� � ��� ���������
������ ��� � �������������� ������ ������������ ���
Download at Boykma.Com
DHCP : Fonctionnement
2012-2013 GNET - Introduction - Boris Verhaegen 126
Les illustra8ons sont 8rées de Head First Networking, O'Reilly Media
you are here � 375
wireless networking
DHCP Requests.The client broadcasts a DHCP request message, accepting the offer of the DHCP server.
3
DHCP Acknowledgement.The DHCP server sends a DHCPACK packet to the client. The packet gives the client the length of time it can hold and address (lease duration), and any other configuration details that are needed.
4
� ��� ����������������������
���� ���������������������� ������� ��� �����������
DHCP allocates IP addressesDHCP makes our life easy by offering to clients IP addresses it has in its pool of available addresses. This sounds like just the sort of thing that Starbuzz Coffee needs, as it means clients will be able to come into the store, open up their laptops, and start surfing.
So how do we set up DHCP?
Download at Boykma.Com
DHCP : Fonctionnement
2012-2013 GNET - Introduction - Boris Verhaegen 127
Les illustra8ons sont 8rées de Head First Networking, O'Reilly Media
you are here � 375
wireless networking
DHCP Requests.The client broadcasts a DHCP request message, accepting the offer of the DHCP server.
3
DHCP Acknowledgement.The DHCP server sends a DHCPACK packet to the client. The packet gives the client the length of time it can hold and address (lease duration), and any other configuration details that are needed.
4
� ��� ����������������������
���� ���������������������� ������� ��� �����������
DHCP allocates IP addressesDHCP makes our life easy by offering to clients IP addresses it has in its pool of available addresses. This sounds like just the sort of thing that Starbuzz Coffee needs, as it means clients will be able to come into the store, open up their laptops, and start surfing.
So how do we set up DHCP?
Download at Boykma.Com
BOOTP et RARP
• BOOTP est plus ancien est moins avancé que DHCP. Il permet uniquement de découvrir une adresse IP, l’adresse du serveur et les fichiers d’amorçage. Il est beaucoup utilisé par les administrateurs systèmes pour les installations par réseau (net-install). DHCP est compatible BOOTP.
• RARP (voir cours précédent) permet de donner une adresse IP à une machine en fonction de son adresse MAC. Il n’est plus beaucoup utilisé car il n’est pas routable et peu fiable.
2012-2013 GNET - Introduction - Boris Verhaegen 128
Noms et adresses
2012-2013 GNET - Introduction - Boris Verhaegen 129
Les illustra8ons sont 8rées de Head First Networking, O'Reilly Media
Noms et adresses
• La RFC 791 (IP) défini les noms, adresses et routes de la manière suivante : ��� A name indicates what we seek. ��� An address indicates where it is. ��� A route indicates how to get there.
• Un nom (hostname) peut être assigné à n’importe quel appareil qui a une adresse IP.
• Des noms sont assignés aux appareils parce qu’ils sont plus facile à retenir et à tapper que des adresses IP.
• Les applications utilisent des adresses IP mais les noms sont plus faciles à utiliser pour les humains.
2012-2013 GNET - Introduction - Boris Verhaegen 130
Noms et adresses
• Dans la plupart des cas, les noms et les adresses peuvent être utilisés de façon interchangeable. – ping google.be – ping 74.125.230.83
• Le système converti automatiquement le nom en adresse IP avant d’établir une connexion.
• Les correspondances noms/adresses sont stockées dans une base de données.
• Il existe deux façons d’organiser les noms : – De façon plate : un nom unique pour chaque machine. « PC7445 ». – De façon hiérarchique : divise le réseau en parties appellées domaines.
• PC7445.epfc.eu
2012-2013 GNET - Introduction - Boris Verhaegen 131
Noms et adresses
• A l’origine, NetBIOS (réseaux windows) et TCP/IP utilisaient un espace de nom plat. Cela fonctionnait bien au début des réseaux car il y avait peu de machines mais n’est plus viable aujourd’hui. – Manque de noms – Collisions – Autorité centrale – Mise à jour compliquées
• Tous ces problèmes sont résolus en utilisant un espace de nom hiérarchique.
• Deux acteurs pour les noms : – Le fichier HOSTS (ou LMHOSTS pour les noms NetBIOS) – Le serveur DNS (ou WINS pour les noms NetBIOS)
2012-2013 GNET - Introduction - Boris Verhaegen 132
Fichier HOSTS • Liste de correspondances adresses IP / nom et alias • Beaucoup utilisé avant DNS (impensable pour des millions de machines) • Aujourd’hui, n’est plus utilisé que pour la boucle locale et éventuellement
des machines importantes (backup, etc) en cas de panne du serveur DNS. • Le fichier LMHOSTS (pour NetBIOS) est similaire.
2012-2013 GNET - Introduction - Boris Verhaegen 133
DNS
• DNS = Domain Name System
• Base de données distribuée pour convertir les noms TCP/IP en adresses IP.
• Avantages par rapport au fichier HOSTS : – Echelonnable : ne se base pas sur une seule table. Base de données
distribuée. DNS fourni les noms de dizaines de millions d’hôtes. – DNS garantit que les nouvelles informations seront disséminées au reste
du réseau quand nécessaire (nouvel hôte, changement d’IP d’un hôte).
• Les données sont disséminées automatiquement et seulement à ceux qui en ont besoin.
2012-2013 GNET - Introduction - Boris Verhaegen 134
DNS : fonctionnement
• Si un serveur DNS reçoit une requête pour une information à propos d’un hôte pour lequel il ne possède pas d’information, il passe la requête à un serveur autoritaire (authoritative server).
• Un serveur autoritaire est un serveur responsable de maintenir des informations exactes sur un domaine.
• Quand le serveur autoritaire répond, le serveur local sauve l’information pour qu’il puisse répondre à la prochaine requête lui même.
à dissémination automatique des informations.
2012-2013 GNET - Introduction - Boris Verhaegen 135
DNS : hiérarchie de domaines
• DNS est un système hiérarchique distribué pour traduire les noms en adresses IP.
• Il n’y a pas de base de données centrale avec toutes les informations sur les hôtes sur internet. L’information est distribuée sur des dizaines de serveurs de noms organisés en hiérarchie (comme un système de fichiers).
2012-2013 GNET - Introduction - Boris Verhaegen 136
• DNS a un domaine racine (root domain) au sommet de la hiérarchie de domaines qui est hébergé sur un ensemble de serveurs de noms, les serveurs racines (root servers).
• Juste en dessous du domaine racine, il y a les domaines haut niveau (top-level domains). Il y a deux types de domaines de haut niveau : géographiques et organisationnels.
• Les domaines géographiques sont prévus pour chaque pays dans le monde et sont identifiés par deux lettre (.be, .fr, .us, …)
• Aux états unis, les états sont aussi représentés par un domaine de second niveau, par exemple wy.us pour le Wyoming.
DNS : hiérarchie de domaines
2012-2013 GNET - Introduction - Boris Verhaegen 137
DNS : hiérarchie de domaines • Les domaines organisationnels sont aussi appellés les domaines haut
niveau génériques (generic top-level domain) ou d’usage général (general-purpose top-level domain). Voici la liste officielle : – com (organisations commerciales) – edu (instututions d’éducation) – gov (agences gouvernementales) – mil (organisations militaires) – net (organisations de support réseau) – int (organisations gouvernementales internationnales) – org (organisations sans but lucratif) – aero (organisations de l’industrie aérienne) – biz (business) – coop (coopératives) – museum (musées) – pro (professionnels (médecins, avocats)) – info (sites qui fournissent de l’information) – name (individus)
2012-2013 GNET - Introduction - Boris Verhaegen 138
Ajoutés en 2000
DNS : création de domaines
• L’ICANN (Internet Corporation for Assigned Names and Numbers) a autorisé un certain nombre de greffiers (registrar) à vendre des noms de domaines. Par exemple, dns.be en Belgique.
• Pour obtenir un domaine il faut le demander à un registar. Les frais sont annuels (a partir de 10 euros).
• Une fois votre domaine obtenu, par exemple epfc.eu, vous pouvez créer des domaines additionnels, des sous-domaines, par exemple web.epfc.eu, cs.epfc.eu, …
2012-2013 GNET - Introduction - Boris Verhaegen 139
DNS : Name Server Records
• La création de sous-domaines sont sous la responsabilité du propriétaire du domaine. Un nouveau sous-domaine est accessible si un pointeur vers le serveur du nouveau domaine est placé sur le serveur du domaine supérieur. Pour www.epfc.eu, il faut donc un lien de root à eu, de eu à epfc et de epfc à www.
• Ces pointeurs sont appellés Name Server Record (NS Record) – Ils contiennent un nom de domaine et le nom de l’hôte qui est serveur
pour ce domaine.
2012-2013 GNET - Introduction - Boris Verhaegen 140
DNS : fonctionnement
2012-2013 GNET - Introduction - Boris Verhaegen 141
you are here � 303
domain name system
client’s DNS Server
client
Root DNS Server
ns.example.com
204.110.23.2
What name server is in charge of the .com TLD?
What name server is in charge of the hfhealthclub.com domain?
I’m looking for www.hfhealthclub.com.
The name server in charge of .com is ns.example.com at 192.20.66.42
The name server in charge of hfhealthclub.com at 204.110.23.2
You can find www.hfhealthclub.com. at 204.110.23.186
BE the Domain Name System SolutionYour job is to play the domain system and fill in what happens in each step of the process of resolving a domain
name when a client requests an name to be resolved to an IP address.
1
2
3
4
5
6
7
8
You can find www.hfhealthclub.com. at 204.110.23.186
I’m looking for www.hfhealthclub.com.
Download at Boykma.Com
Les illustra8ons sont 8rées de Head First Networking, O'Reilly Media
DNS : fonctionnement
• Ces scénarios supposent que les serveurs ne connaissent que leur sous domaines.
• Pour être plus efficaces, les serveurs et clients sauvent en cache ces informations car les correspondances Nom/IP ne changent pas souvent, sauf dans le cas de DNS dynamique (voir plus loin)
2012-2013 GNET - Introduction - Boris Verhaegen 142
172.16.6.4
linuxuser.ar8cles.wrotethebook.com ?
DNS : logiciels • Un DNS est divisé en deux parties :
– Un résolveur – Un serveur de noms
• Le résolveur est le logiciel qui s’occupe d’envoyer la requête. • Le serveur de noms est celui qui répond à la requête.
• Tous les ordinateurs ont un résolveur mais n’ont pas nécessairement de serveur de noms. La plupart des PCs fonctionnent en « resolver-only ».
• Les serveurs de noms sont classés en différentes catégories : – Serveur primaire : connaît tout sur un domaine (autoritaire) – Serveur secondaire : contient une copie du serveur primaire (peut être
pas à jour) (autoritaire) – Serveur de cache : sauve les réponses aux requêtes (non autoritaire)
2012-2013 GNET - Introduction - Boris Verhaegen 143
Domaines et zones
• Un domaine est un groupe logique qui contient le domaine lui-même, tous les sous domaines et tous les hôtes du domaine et des sous domaines.
• Ainsi, pour la machine cs.ulb.ac.be est dans le domaine .be. Le sous-domaine ulb.ac.be est dans le domaine .be, …
• Une zone est une collection d’informations de domaine sur lequel un serveur DNS a autorité. Une zone est un groupe administratif physique qui peut contenir des informations sur des parties de domaines, des domaines complets ou des groupes de domaines.
2012-2013 GNET - Introduction - Boris Verhaegen 144
Domaine et zones
• Domaine : groupe logique qui contient tout un domaine. • Zone : groupe physique associé à un serveur qui autorité
sur une partie / un tout / un ensemble de domaine(s).
2012-2013 GNET - Introduction - Boris Verhaegen 145
Types de zones
• Forward lookup zone (recherche directe) – Traduction des noms de domaines en adresses IP
• Reverse lookup zone (recherche inversée) – Traduction d’adresses IP en nom de domaine
• En général, un serveur DNS est configuré : – soit pour gérer une zone de recherche directe, – soit une zone de recherche directe ET une zone de recherche
inversée, – soit comme serveur de cache.
2012-2013 GNET - Introduction - Boris Verhaegen 147
DNS inverse
• Pourquoi vouloir traduire une IP en nom de domaine ? – Si vous avez des adresses IP dont vous avez l’autorité complète
(c’est à dire que vous les avez enregistrés chez in-addr.arpa, vous devez gérer leur traduction en noms de domaines dans un but de sécurité pour éviter l’usurpation d’identité.
– La déclaration inverse est importante sur les adresses IP publiques Internet puisque l'absence d'une résolution inverse est considéré comme une erreur opérationnelle (RFC 1912) qui peut entrainer le refus d'accès à un service. Par exemple, un serveur de messagerie électronique se présentant en envoi avec une adresse IP n'ayant pas de résolution inverse (PTR) a de grandes chances de se voir refuser, par l'hôte distant, la transmission du courrier (message de refus de type : IP lookup failed).
• Si vos adresses IP sont fournies par un fournisseur d’accès à Internet, c’est lui qui gère le DNS inverse.
2012-2013 GNET - Introduction - Boris Verhaegen 148
Zones primaires et secondaires
• Un serveur de zone primaire est la source ultime d’informations autoritaires pour cette zone.
• Un serveur de zone secondaire est un serveur esclave ou de sauvegarde pour le serveur de zone primaire (sert en cas de pannes ou pour distribuer l’information DNS)
2012-2013 GNET - Introduction - Boris Verhaegen 149
Fichiers DNS
• Les fichiers DNS sont découpés en enregistrements (records)
2012-2013 GNET - Introduction - Boris Verhaegen 150
Nom Type Fonc6on
Start of Authority SOA Marque le début des données d’une zone et défini les paramètres qui affectent l’en8èreté de la zone
Name server NS Iden8fie un serveur DNS
Address A Conver8 un nom de domaine en IP
Pointer PTR Conver8 une IP en nom de domaine
Mail Exchanger MX Iden8fie sur quelle machine expédier un email pour un certain domaine
Canonical Name CNAME Défini un alias pour un nom de domaine
WINS
• WINS = Windows Internet Name Service : transforme les noms windows en adresses IP (comme DNS)
• A la base, les réseaux Windows étaient petit et tournaient avec NetBIOS.
• NetBIOS et NetBEUI ont été conçus pour de petits réseaux et n’ont jamais été prévu pour de grands réseaux comme Internet. Ils ne peuvent fonctionner que sur des LAN et pas sur des WAN ou des réseaux d’entreprise.
• Pourquoi ? – Protocole non routable (ne passe pas les routeurs) – Dépendant de la couche physique (Utilise le broadcast donc ne fonctionne
pas sur des lignes séries, ni pour des point à point, ni pour Internet)
2012-2013 GNET - Introduction - Boris Verhaegen 151
WINS • Enregistrement : Avec NetBIOS, les systèmes Windows dépendaient
du broadcasting pour enregistrer leur nom NetBIOS : quand un système joint le réseau, il broadcast un « name registration packet ». Ce paquet contient le nom NetBIOS proposé qui identifie le système. Si un autre ordinateur utilise déjà ce nom, il répond en broadcastant un « negative name registration packer ». Dans le cas contraire, le système utilise ce nom comme identifiant.
• Le nom NetBIOS était littéralement l’adresse du système. • Avantages :
– Intuitif – Auto-enregistrement automatique – Pas d’autorité centrale nécessaire
• Mais : ne supporte pas bien les grands réseaux (broadcast, nom unique, pas de hiérarchie, etc)
2012-2013 GNET - Introduction - Boris Verhaegen 152
WINS • Pour palier ces désavantages, Microsoft a décidé d’étendre NetBIOS
vesr NetBT (NetBIOS over TCP/IP). • Mais cela posa des complications : Encapsuler des packets NetBIOS
dans des datagrammes IP reduit les performance et augmente la complexité du protocole : – Configurations des deux protocoles – Méthode pour être compatible avec NetBIOS (sans IP).
• Les hotes NetBIOS peuvent utiliser différents modes de résolution d’adresses : – par broadcast (un peu comme ARP), – avec un serveur de noms WINS, – En mode mixte : broadcast puis serveur WINS – en mode hybride : WINS puis broadcast (préféré si on a un
serveur WINS)
2012-2013 GNET - Introduction - Boris Verhaegen 153
WINS : enregistrement • Le client WINS envoie au serveur un « name registration
request » • Le serveur WINS vérifie qu’il n’y a pas de doublons. Dans ce cas, il
enregistre l’association IP/Nom NetBIOS et envoie un « name registration response » au client.
• Si il y avait un doublon : – Le serveur WINS vérifie que l’hôte qui utilise ce nom est encore allumé.
Sinon, il attribue le nom au client (name reg. response) – Si le nom est déjà utilisé et que l’hôte répond, il envoie un « negative
name registration response ».
• Périodiquement, les clients WINS renouvellent leur enregistrement (par défaut toutes les 144 heures).
• Un client peut aussi libérer son nom (par exemple quand il s’éteind).
2012-2013 GNET - Introduction - Boris Verhaegen 154
WINS : résolution
• Si un client WINS veut en contacter un autre et ne trouve pas de correspondance nom/IP dans son cache, il envoie une demande au serveur WINS « name query request » et le serveur lui répond l’adresse IP de ce client.
• Si la requête WINS échoue, le client envoie une demande en broadcast sur le réseau IP. Le client qui possède le bon nom répondra en envoyant son adresse IP.
• Si les deux premiers points échouent, le client lit son fichier LMHOSTS et éventuellement essaye de trouver des LMHOSTS sur d’autres serveurs du réseau local.
2012-2013 GNET - Introduction - Boris Verhaegen 155
WINS : conclusions • Un nom NetBIOS identifie une machine Windows dans un
réseau local.
• NetBT est l’implémentation de NetBIOS pour les réseaux TCP/IP.
• WINS est le protocole permettant d’enregistrer et de traduire ces noms en adresses IP (un peu comme DNS)
• Il existe des serveurs WINS et des clients WINS
• Ces noms NetBIOS sont utilisés pour le partage de fichiers et le partage d’imprimantes.
2012-2013 GNET - Introduction - Boris Verhaegen 156
NIS, LDAP, Kerberos, RADIUS
• NIS : Similaire à WINS mais pour des réseaux UNIX. • A pratiquement disparu au profit de LDAP, Kerberos ou
RADIUS qui permettent de gérer des réseaux hétérogènes.
• LDAP : Protocole d’annuaires
• Kerberos : Protocole d’authentification réseau sécurisé • RADIUS : Protocole d’authentification réseau
• On parlera plus loin dans le cours de ces protocoles
2012-2013 GNET - Introduction - Boris Verhaegen 157
SMB / CIFS
• Les réseaux NetBIOS sont utilisé pour partager des fichiers et des imprimantes. Le protocole Windows pour faire cela est le « Server Message Block Protocol » (SMB).
• Depuis Windows NT4, le protocole a été étendu et s’appelle maintenant CIFS (Common Internet File System).
• Dans la littérature, les deux sont souvent confondus. • SAMBA est l’implémentation pour UNIX de ce protocole.
• Les partages réseaux peuvent bénéficier de niveaux de sécurité en fonction des utilisateurs et groupes mais cela reste très basique (Open/Read/Write). Nous avons vu en laboratoire qu’il est possible de définir des permissions plus fines sur les fichiers en utilisant les permissions NTFS.
2012-2013 GNET - Introduction - Boris Verhaegen 158
Autres protocoles en vrac • FTP : File Transfert Protocol (port 21) • SSH : Secure Shell : Protocole de communication sécurisé (port 22) Utilisé
regulièrement pour obtenir des terminaux à distance sur des systèmes UNIX. • Telnet (Port 23) : Protocole de communication utilisé pour obtenir une
connexion TCP interactive avec des services comme SMTP, HTTP, POP, IMAP, … (voir labos)
• HTTP : HyperText Transfert Protocol (port 80) • HTTPS : HTTP sécurisé (port 443) • SMTP (port 25) : Simple Mail Transfer Protocol : Protocole TCP pour
expédier des mails. • POP : Post Office Protocol (Ports 109 et 110) : Protocole utilisé pour
télécharger des mails. • IMAP : Internet Message Access Protocol (port 143 et 220) : Protocole pour
téléchargé des mails plus évolué que POP3 (consultation en ligne par exemple).
• DDNS : Dynamic DNS : Utilisé pour gérer les correspondances IP/Noms qui changent souvent (comme sur des connexion ADSL)
2012-2013 GNET - Introduction - Boris Verhaegen 159
top related