360 likes | 651 Vues
IP : Couche réseau. Introduction : Connections de LANs indépendants. En local = Même D. de diffusion. Switch. Réseau IP. Réseau IP. Réseau IP. D. Diffusion. D. Diffusion. D. Diffusion. A) Réseau IP = Routage ( sur tout support). IP. 0. 3. 7. 15. 31. Type de service. Version. IHL.
E N D
Introduction : Connections de LANs indépendants En local = Même D. de diffusion Switch Réseau IP Réseau IP Réseau IP D. Diffusion D. Diffusion D. Diffusion
0 3 7 15 31 Type de service Version IHL Longueur totale Identification Place de fragments Flags durée de vie Protocole Checksum de l' entête Adresse Source Adresse Destination Options DONNÉES de la couche 4 B) Format d’un paquet IP (V4) (RFC 792) 20 Entête 60 MTU 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 !
C) L’adressage dans IP (V4) Découpage en Classes (historique) Plusieurs classes d'adresses suivant l'importance du réseau (ou par hasard ?) 24 bits 0 Classe A 7 bits NETID host ID 14 bits 16 bits 1 0 Classe B NETID host ID 21 bits 8 bits 1 1 0 Classe C NETID host ID 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)
1) Notation des adresses Numéro en décimal pointé : D1D2D3D4 (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 19270330 = (11000000 01000110 00100001 00000000) Adresse machine 192703318 = (11000000 01000110 00100001 00010101) Adresse de diffusion 1927033255 = (11000000 01000110 00100001 11111111) Réseau (sous forme de classe) et adresse IP : 0000(une machine qui n’a pas encore de numéro peut l’utiliser pour obtenir automatiquement un numéro) classe A D1000 => de 1.0.0.0 à 126.0.0.0 127000 LocalDomaine (localhost) Réseau ‘interne’ à la machine classe B D1D200 => de 128.0.0.0 à 191.255.0.0 classe C D1D2D30 => de 192.0.0.0 à 223.255.255.0 255255255255 : adresse de diffusion dans un réseau local (machine qui n’a pas son numéro de réseau)
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 = 255.0.0.0 ; Classe B = 255.255.0.0 ; Classe C = 255.255.255.0 Exemple : Adresse machine = 193.55.22.71 Masque utilisé = 255.255.255.0 Adresse de réseau = 193.55.22.0 200.5.5.0 193.55.22.0 Identification du réseau pas des machines ! 193.55.22.71
10.0.0.0 NetId SubNetId HostId 10.1.0.0 10.3.0.0 10.2.0.0 Redéfinition locale des bits HostId : On rajoute une partie SubNet 3) Découpage en sous réseaux
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 10.0.0.0 255.0.0.0 Adresse du Réseau 10.0.0.0 10.1.0.0 255.0.0.0 Une adresse dans le réseau 10.0.0.0 10.1.0.0 255.255.0.0 Adresse du sous réseau10.1.0.0 10.1.1.0 255.255.0.0 Adresse dans le sous réseau 10.1.0.0 10.1.1.0 255.255.255.0 Adresse du sous réseau 10.1.1.010.1.171.0255.255.240.0Une adresse dans le sous réseau10.1.160.0 1010 1011 AND 1111 0000 = 1010 0000
192.100.0.0 192.100.1.0 192.100.2.0 192.100.0.0 Masque 255.255.252.0 192.100.3.0 5-a) Les règles CIDR (Classless Internet Domain Routing) Notation d ’adresse: (pas de notion de classe !) l’adresse 129.20.233.18 avec un masque255.255.0.0 estnotée 192.20.233.18/16 ( /16 = 16 bits à 1 dans le masque !) Regroupage d ’adresses : Les réseaux d’adresses contiguës peuvent être regroupés 192.100.0.0/24 , 192.100.1.0/24, 192.100.2.0/24 et 192.100.3.0/24 ( donc un masque 255.255.255.0 pour chacun ) Regroupé en 192.100.0.0/22 ( donc avec un masque 255.255.252.0)
5-b) Les règles CIDR (Classless Internet Domain Routing) Zonage du monde est affectation d’adresse IP de classe C(RFC 1466). ZONEPlage d’adresses IP Multi-regional 192.0.0.0 - 193.255.255.255 Europe 194.0.0.0 - 195.255.255.255 (RIPE/AFNIC) Others 196.0.0.0 - 197.255.255.255 North America 198.0.0.0 - 199.255.255.255 Central/South America 200.0.0.0 - 201.255.255.255 Pacific Rim 202.0.0.0 - 203.255.255.255 Others 204.0.0.0 - 205.255.255.255 Others 206.0.0.0 - 207.255.255.255 Réservation de 3 plages pour les réseaux privés(RFC 1918) : (non affecté au niveau internationale) 10.0.0.0 - 10.255.255.255 (10/8 préfixe) 172.16.0.0 - 172.31.255.255 (172.16/12 préfixe) 192.168.0.0 - 192.168.255.255 (192.168/16 préfixe)
1 1 0 1 1 1 1 1 Classe E Classe D 28 bits 28 bits NETID NETID Adresse Multicast 6) Adresses particulières dans IP (V4) Réseau de classe D (Adresse Multicast) : - Transmission point à multipoint (multicast) avec routage (vidéo-conférence) pas de structuration : utilisé ponctuellement sans contrainte d’unicité. Adresses Multicast : 224.0.0.0 à 239.255.255.255 Une adresse multicast ne peut être que destinataire Quelques adresses multicast déjà utilisées (exemple OSPF 224.0.0.5 et 224.0.0.6) Réseau de classe E : - Non utilisé au niveau mondial : servent souvent en local (pour test ou protection vis à vis de l’extérieur)
Net/Host @Routeur Masque Interface 200.200.200.0 0.0.0.0 255.255.255.0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 lo 0.0.0.0 200.200.200.254 0.0.0.0 eth0 1) Une machine avec une interface D) Table de routage 200.200.200.0/24 200.200.200.254 200.200.200.1 Adresses de l ’interfaces du routeur dans le même réseau que la machine
2) routeur avec deux interfaces et une route par défaut Net/Host @Routeur Masque Interface 200.200.200.0 0.0.0.0 255.255.255.0 eth0 129.20.0.0 0.0.0.0 255.255.0.0 eth1 127.0.0.0 0.0.0.0 255.0.0.0 lo 0.0.0.0 129.20.233.18 0.0.0.0 eth1 200.200.200.254 129.20.233.17 200.200.200.0/24 129.20.233.18 129.20.0.0/16 Adresses des interfaces du routeur dans le réseau ! eth0 = 200.200.200.254 par exemple
3) routeur avec sous réseau de tailles différentes Net/Host @Routeur Masque Interface 200.200.200.128 0.0.0.0 255.255.255.192 eth1 200.200.200.192 0.0.0.0 255.255.255.192 eth2 200.200.200.0 0.0.0.0 255.255.255.128 eth0 Diff= 200.200.200.255 Diff= 200.200.200.127 200.200.200.192/26 200.200.200.0/25 Diff= 200.200.200.191 200.200.200.128/26
Net/Host @Routeur Masque Interface 200.200.200.0 0.0.0.0 255.255.255.0 eth0 129.20.0.0 0.0.0.0 255.255.0.0 eth1 0.0.0.0 129.20.233.18 0.0.0.0 eth1 Étapes : 1.1) 200.200.200.18 AND 255.255.255.0 = 200.200.200.0 1.2) Test (200.200.200.0 = 200.200.200.0) = Vrai Alors Transmettre une Trame directement par la sortie Eth0 Fin algorithme E) Algorithme de Routage adresse de destination = 200.200.200.18
Net/Host @Routeur Masque Interface 200.200.200.0 0.0.0.0 255.255.255.0 eth0 129.20.0.0 0.0.0.0 255.255.0.0 eth1 0.0.0.0 129.20.233.18 0.0.0.0 eth1 1.1) 200.200.202.18 AND 255.255.255.0 = 200.200.202.0 1.2) Test (200.200.202.0 = 200.200.200.0) = Faux 2.1) 200.200.202.18 AND 255.255.0.0 = 200.200.0.0 2.2) Test (200.200. 0.0 = 129.20.0.0) = Faux 3.1) 200.200.202.18 AND 0.0.0.0 = 0.0.0.0 3.2) Test (0.0.0.0 = 0.0.0.0) = Vrai ! On transmet le paquet dans une trame à destination de la machine 129.20.233.18 ! 2) Algorithme de Routage adresse de destination = 200.200.202.18
F) Émission et réception de paquets IP 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. 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 !
Concrètement Concrètement : affectation d’adresse à un routeur ou une machineaprè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 ;-)
Exemple : 192.1.1.0/24 192.1.1.128/25 192.1.1.0/25
Exemple : Configuration d’un routeur cisco (Routeur_1) ! ip classless ip subnet-zero ip routing interface FastEthernet 0/0 ip address 192.1.1.254 255.255.255.128 interface Serial 0/0 ip address 180.20.192.30 255.255.255.254 ! IP Static Routes ! Réseau Masque routeur métrique ip route 192.1.1.0 255.255.255.128 10.1.1.253 1 ! Route par défaut ip route 0.0.0.0 0.0.0.0 Serial 0/0 1
Exemple : Configuration d’un routeur cisco (Routeur_2) ! ip classless ip subnet-zero ip routing interface FastEthernet 0/0 ip address 10.1.1.253 255.255.255.128 interface FastEthernet 0/1 ip address 10.1.1.126 255.255.255.128 ! IP Static Routes ! Route par défaut ip route 0.0.0.0 0.0.0.0 10.1.1.254 1
Concrètement : Linux (S_R.192.1.1.128/25) /etc/sysconfig/network : configuration globale (extrait) NETWORKING=yes HOSTNAME=redhat9.cours.fr #routeur par défaut GATWAY=192.1.1.254 /etc/sysconfig/network-scripts/ifcfg-eth0 ou /etc/sysconfig/networking/devices/ifcfg-eth0 DEVICE=eth0 IPADDR=192.1.1.193 NETMASK=255.255.255.128 NETWORK=192.1.1.128 BROADCAST=192.1.1.255 ONBOOT=yes
Concrètement : Linux (S_R.192.1.1.128/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 192.1.1.0 netmask 255.255.255.128 gw 192.1.1.253 2) /etc/sysconfig/network-script/route-eth0 Un fichier par interface ; une ligne par route 192.1.1.0/25 via 192.1.1.253 3) /etc/sysconfig/networking/devices/eth0.route Un fichier par interface ; une ligne par route Etc ...
Les commandes utilisées par les scripts ! ifconfig ou ip address : pour voir/modifier ou affecter des adresses IP ifconfig eth0 192.1.1.193 netmask 255.255.255.128 \ broadcast 192.1.1.255 ip address add 192.1.1.193/25 broadcast 192.1.1.255 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 192.1.1.193/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
Les commandes utilisées par les scripts ! route ou ip route : pour voir/modifier ou affecter des routes route add 192.1.1.0 netmask 255.255.255.128 \ gw 192.1.1.253 route add default gw 192.1.1.254 ip route add 192.1.1.0/25 via 192.1.1.253 dev eth0 ip route add 0.0.0.0/0 via 192.1.1.254 dev eth0
@ @ Code Données DestEther SrcEther HAS = 1 ( ethernet) PAS = 0800 (IP) 6 4 Lg @ Phy = Lg @Logique= Type 6 Adresse physique (Ethernet) de l'émetteur ( sur octets) 4 Adresse logique (IP) de l'émetteur ( sur octets) 6 Adresse physique (Ethernet) de la cible ( sur octets) 4 Adresse logique (IP) de la cible ( sur octets) Protocoles associés à IP 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. Code = 0X0806 désigne au niveau réseau (3) le protocole ARP
ARP_Requête [diffusion](qui est IP_D ?) ARP_Réponse[Vers A](c ’est moi ) ARP : Address Resolution Protocol (RFC 826) -> IP_D B D A C 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’ !
Format d’un message ICMP 0 8 16 31 TYPE CODE CHEKSUM Entête IP + 64 bits datagramme qui a provoqué l'envoi du paquet ICMP 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 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
ICMP et la redirection de routage (routage dynamique ????) Réseau 1 Réseau 2 Station A1 Routeur 1 Station B Station A2 Station A3 IP(B) IP(B) Routeur 2 ICMP(5, B,Routeur1) Réseau 4 Routeur 3 IP(B) Réseau 3 Le protocole ICMP peut modifier la table de routage d’un hôte (Erreur dans la table de routage de A2) .
ICMP et «durée de vie expirée » : Le programme traceroute Tracer la route (la liste des routeurs traversés) ! A1 R11 R12 B1 Bh Ah A2 B2 R21 R22 traceroute Bh Ah) -> Paquet_IP(@Source= Ah, @Desti=Bh, TTL=0) A1 répond -> ICMP(A1, Ah,code = 11 « durée de vie expirée »)
ICMP et «durée de vie expirée » : Le programme traceroute Tracer la route (la liste des routeurs traversés) ! R11 R12 A1 B1 Bh Ah A2 B2 R21 R22 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 »)
ICMP et «durée de vie expirée » : Le programme traceroute Tracer la route (la liste des routeurs traversés) ! R11 R12 B1 A1 Bh Ah A2 B2 R21 R22 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)
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. http://www.renater.fr/Video/IPmulticast/Protocoles/P/
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)