1 IP : Couche réseau
2 Introduction : Connections de LANs indépendants D. Diffusion Réseau IP En local = Même D. de diffusion Switch
3 A) Réseau IP = Routage (sur tout support) IP
4 B) Format d’un paquet IP (V4) (RFC 792) VersionIHL Type de service Longueur totale Identification Flags Place de fragments durée de vieProtocoleChecksum de l' entête Adresse Source Adresse Destination Options DONNÉES de la couche 4 MTU (Maximum Transmission Unit) la taille maximum pour un paquet IP (taille conseillée en réception : 576 octets). MTU sur Ethernet 1500 Octets = Taille Max des données d’une trame ! MTU 20 Entête 60
5 C) L’adressage dans IP (V4) Plusieurs classes d'adresses suivant l'importance du réseau (ou par hasard ?) 0 NETIDhost ID Classe A 7 bits 24 bits 0 NETIDhost ID Classe B 1 14 bits 16 bits 1 NETIDhost ID Classe C bits 8 bits Pour une machine : les bits de NetId et HostId ne doivent pas être tous à zéro(0) ni tous à un(1). Si HostId = zéro(0) => c’est le numéro du réseau lui même. Si HostId = un(1) =toutes les machines de ce réseau (adresse de diffusion local) Découpage en Classes (historique)
6 1) Notation des adresses Numéro en décimal pointé : D1 D2 D3 D4 (4 décimaux = 4 octets = 32 bits) Di= représentation d’un octet (8 bits) en décimal (de 0 à 255 !) Exemple : Adresse réseau 192 70 33 0 = ( ) Adresse machine 192 70 33 18 = ( ) Adresse de diffusion 192 70 33 255 = ( ) Réseau (sous forme de classe) et adresse IP : 0 0 0 0 (une machine qui n’a pas encore de numéro peut l’utiliser pour obtenir automatiquement un numéro) classe A D1 0 0 0 => de à 0 0 0 LocalDomaine (localhost) Réseau ‘interne’ à la machine classe B D1 D2 0 0 => de à classe CD1 D2 D3 0 => de à 255 255 255 : adresse de diffusion dans un réseau local (machine qui n’a pas son numéro de réseau)
7 2) Notion de masque Rôle : identification de l ’adresse de réseau à partir de l ’adresse d ’une machine Masque par classe Classe A = ; Classe B = ; Classe C = Exemple : Adresse machine = Masque utilisé = Adresse de réseau = Identification du réseau pas des machines !
8 3) Découpage en sous réseaux Redéfinition locale des bits HostId : On rajoute une partie SubNet NetIdHostIdSubNetId
9 4) Masque de sous réseaux Pour distinguer un sous réseau d ’un autre il faut un masque de sous réseau Exemples : AdresseMasqueCommentaire Adresse du Réseau Une adresse dans le réseau Adresse du sous réseau Adresse dans le sous réseau Adresse du sous réseau Une adresse dans le sous réseau AND =
10 Regroupage d ’adresses : Les réseaux d’adresses contiguës peuvent être regroupés /24, /24, /24 et /24 ( donc un masque pour chacun ) Regroupé en /22 ( donc avec un masque ) 5-a) Les règles CIDR (Classless Internet Domain Routing) Masque Notation d ’adresse : (pas de notion de classe !) l’adresse avec un masque est notée /16 ( /16 = 16 bits à 1 dans le masque !)
11 5-b) Les règles CIDR (Classless Internet Domain Routing) Réservation de 3 plages pour les réseaux privés (RFC 1918) : (non affecté au niveau internationale) (10/8 préfixe) (172.16/12 préfixe) ( /16 préfixe) Zonage du monde est affectation d’adresse IP de classe C (RFC 1466). ZONEPlage d’adresses IP Multi-regional Europe (RIPE/AFNIC) Others North America Central/South America Pacific Rim Others Others
12 6) Adresses particulières dans IP (V4) 1 NETIDAdresse Multicast Classe D bits 1 - Transmission point à multipoint (multicast) avec routage (vidéo-conférence) pas de structuration : utilisé ponctuellement sans contrainte d’unicité. Adresses Multicast : à Une adresse multicast ne peut être que destinataire Quelques adresses multicast déjà utilisées (exemple OSPF et ) Réseau de classe E : 1 NETID Classe E bits 1 - Non utilisé au niveau mondial : servent souvent en local (pour test ou protection vis à vis de l’extérieur) Réseau de classe D (Adresse Multicast) :
13 D) Table de routage MasqueInterface eth lo eth0 1) Une machine avec une interface /24 Adresses de l ’interfaces du routeur dans le même réseau que la machine
14 MasqueInterface eth eth lo eth1 2) routeur avec deux interfaces et une route par défaut / /16 Adresses des interfaces du routeur dans le réseau ! eth0 = par exemple
15 Masque Interface eth eth eth0 3) routeur avec sous réseau de tailles différentes Diff= Diff= Diff= / / /26
16 E) Algorithme de Routage MasqueInterface eth eth eth1 adresse de destination = Étapes : 1.1) AND = ) Test ( = ) = Vrai Alors Transmettre une Trame directement par la sortie Eth0 Fin algorithme
17 2) Algorithme de Routage MasqueInterface eth eth eth1 adresse de destination = ) AND = ) Test ( = ) = Faux 2.1) AND = ) Test ( = ) = Faux 3.1) AND = ) Test ( = ) = Vrai ! On transmet le paquet dans une trame à destination de la machine !
18 IP assure l’émission de paquets de proche en proche (par routage). Le routage est basé sur l’adresse IP de la station destinatrice. => fragmentation des paquets => assemblage des fragments pour reconstitué le paquet d’origine. F) Émission et réception de paquets IP IP n’assure pas => la vérification du séquencement des paquets => la retransmission en cas d’erreur => la détection de la perte de paquet Si un fragment est perdu alors tout le paquet d’origine est perdu ! => le contrôle de flux s ’il y a trop de paquets alors risque de congestion du réseau ! => Un délai d’acheminement des paquets ! PB de gigue !
19 Concrètement : affectation d’adresse à un routeur ou une machine après une étude d’un plan d’adressage ! Attention : Adresse de diffusion IP sur un sous/réseau Concrètement : la manière d’affecter une adresse dépend du système utilisé (machine Linux/Unix/Windows/Mac ou routeur cisco/3com etc…) Concrètement : Souvent il faut explicitement demander aux routeurs de router ;-) Concrètement
20 Exemple : / / /25
21 Exemple : Configuration d’un routeur cisco (Routeur_1) ! ip classless ip subnet-zero ip routing interface FastEthernet 0/0 ip address interface Serial 0/0 ip address ! IP Static Routes ! RéseauMasque routeurmétrique ip route ! Route par défaut ip route Serial 0/0 1
22 Exemple : Configuration d’un routeur cisco (Routeur_2) ! ip classless ip subnet-zero ip routing interface FastEthernet 0/0 ip address interface FastEthernet 0/1 ip address ! IP Static Routes ! Route par défaut ip route
23 /etc/sysconfig/network-scripts/ifcfg-eth0 ou /etc/sysconfig/networking/devices/ifcfg-eth0 DEVICE=eth0 IPADDR= NETMASK= NETWORK= BROADCAST= ONBOOT=yes Concrètement : Linux (S_R /25) /etc/sysconfig/network : configuration globale (extrait) NETWORKING=yes HOSTNAME=redhat9.cours.fr #routeur par défaut GATWAY=
24 Concrètement : Linux (S_R /25) Routes supplémentaires (???!!) L ’emplacement des fichiers et leur contenue dépendent du script /etc/sysconfig/network-script/ifup-route 1) /etc/sysconfig/static-routes (fichier unique) chaque route est attachée à une interface ! eth0 net netmask gw ) /etc/sysconfig/network-script/route-eth0 Un fichier par interface ; une ligne par route /25 via ) /etc/sysconfig/networking/devices/eth0.route Un fichier par interface ; une ligne par route Etc...
25 Les commandes utilisées par les scripts ! ifconfig ou ip address : pour voir/modifier ou affecter des adresses IP ifconfig eth netmask \ broadcast ip address add /25 broadcast dev eth0 Attention cette commande 1) ne fait qu’ajoute une adresse elle ne supprime pas l ’ancienne (possibilité d’avoir plusieurs adresses IP associées à l’interface) Pour la suppression : ip address del /25 dev eth0 2) n’active pas l ’interface ! Pour activer l ’interface : ip link set up dev eth0 Pour désactiver l ’interface : ip link set down dev eth0
26 Les commandes utilisées par les scripts ! route ou ip route : pour voir/modifier ou affecter des routes route add netmask \ gw route add default gw ip route add /25 via dev eth0 ip route add /0 via dev eth0
27 ARP : Address Resolution Protocol (RFC 826) Supposant que le réseau 1 est un réseau de type Ethernet. Pour que A1 puisse transmettre à A2 il lui faut son adresse Ethernet en plus de son adresse IP. ARP permet de trouver l’adresse physique d’une machine sur le même réseau (domaine de diffusion) en donnant uniquement son adresse IP. Protocoles associés à SrcEther CodeDonnées HAS = 1 (ethernet)PAS = 0800 (IP) = 6 4 Type Adresse physique (Ethernet) del'émetteur (sur 6 octets) Adresselogique (IP) del'émetteur (sur 4 octets) Adresse physique (Ethernet) de lacible (sur 6 octets) Adresselogique (IP) de lacible (sur 4 octets) Code = 0X0806 désigne au niveau réseau (3) le protocole ARP
28 ARP : Address Resolution Protocol (RFC 826) A B C D -> IP_D ARP_Requête [diffusion](qui est IP_D ?) ARP_Réponse[Vers A](c ’est moi ) Table ARP IP_D = Ether_D Remarque : La trame de requête est en diffusion : elle traverse les switchs mais pas les routeurs Sauf si le routeur fait du ‘proxy-arp’ !
29 ICMP : (Internet Controle Message Protocol) (RFC 792) Protocole de gestion de réseau et de report d’erreurs Utilise IP (comme un protocole de niveau transport) C ’est à dire que les messages ICMP sont véhiculée dans des Paquets IP avec les champs ‘Protocole’ = 1 et ‘ Service’ = 0 TYPECODECHEKSUM Entête IP + 64 bits datagramme qui a provoqué l'envoi du paquet ICMP Format d’un message ICMP TYPE : (22 types définis) 0 = réponse à demande d'écho. 3 = destination inaccessible. 4 = destruction du datagramme par un routeur 5 = indication de redirection. 8 = demande d'écho. 11 = durée de vie expirée. 12 = erreur de paramètres. 13 = demande de temps. 14 = réponse de temps (diffusion). 15 = demande d'adresse (diffusion). 16 = réponse à demande d'adresse. ping
30 ICMP et la redirection de routage (routage dynamique ????) Le protocole ICMP peut modifier la table de routage d’un hôte (Erreur dans la table de routage de A2). Station A1 Routeur 1 Station B Réseau 1 Réseau 2 Station A2 Station A3 Routeur 2 Réseau 3 Réseau 4 Routeur 3 IP(B) ICMP(5, B,Routeur1) IP(B)
31 ICMP et « durée de vie expirée » : Le programme traceroute Tracer la route (la liste des routeurs traversés) ! A1 R11 R12 A2 R21 R22 B2 B1 Bh Ah traceroute Bh Ah) -> TTL=0) A1 répond -> ICMP(A1, Ah, code = 11 « durée de vie expirée »)
32 ICMP et « durée de vie expirée » : Le programme traceroute Tracer la route (la liste des routeurs traversés) ! A1 R11 R12 A2 R21 R22 B2 B1 Bh Ah Ah) -> Paquet_IP(Ah, Bh, TTL=1) A1-R11 effectue TTL=TTL-1 et transmet le paquet à R12 ! R12 répond -> ICMP(R12, Ah, code = 11 « durée de vie expirée »)
33 ICMP et « durée de vie expirée » : Le programme traceroute Tracer la route (la liste des routeurs traversés) ! A1 R11 R12 A2 R21 R22 B2 B1 Bh Ah Ah) -> Paquet_IP(Ah, Bh, TTL=2) A1 effectue TTL=TTL-1 et transmet le paquet à R12 R12 fait TTL=TTL-1 et transmet à Bh Bh répond -> Paquet_IP(Bh, Ah)
34 IGMP (V1 [RFC 1112],V2 [RFC 2236] ou V3 [RFC 3376]): (Internet Group Management Protocol) protocole de communication entre les routeurs susceptibles de transmettre des datagrammes multicast et des hôtes Utilise IP (comme un protocole de niveau transport) C ’est à dire que les messages ICMP sont véhiculée dans des Paquets IP avec les champs ‘Protocole’ = 2 Version = 1 Type 1 = question (query) d'un routeur), 2 = réponse (leave) d'un hôte. Adresse : multicast (classe D) à laquelle appartient l'hôte qui répond.
35 IGMP/Multicast Une adresse multicast ne peut être que destinataire les sources ont toujours une adresse unicast le niveau Liaison de données n'utilise pas ARP Être membre d'un groupe est indépendant d'envoyer à ce groupe –une source n’est pas obligatoirement membre du groupe auquel elles envoie un flux multicast IGMP Permet à un hôte de s'abonner (désabonner) à un groupe et dire au routeur : “envoyez-moi une copie des paquets de cette adresse de groupe” IGMP Permet aux routeurs de faire suivre un flux multicast à la destination final (sans duplication)