IPv4, première partie Sébastien Jean IUT de Valence Département Informatique v4.4, 12 mars 2013
Rappels LANs 802.x Niveau réseau Problématique Machines directement connectées au niveau logique Equipements intermédiaires «transparents» Emission de trames en mode déconnecté (DIX, 802.3+LLC1) ou connecté (802.3+LLC2) Machines désignées de manière unique par leur adresse MAC Commutateur ou Concentrateur Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 1 / 35
Niveau réseau Extensibilité des LANs 802.x Problématique Problème : extension de LANs 802.x en WAN Idée : Interconnexion de LANs via des commutateurs Commutateur Commutateur ou Concentrateur Commutateur ou Concentrateur Limite : taille des tables des commutateurs Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 2 / 35
Niveau réseau Extensibilité des LANs 802.x Problématique Commutateur Commutateur ou Concentrateur Commutateur ou Concentrateur Hétérogénéité des LANs à interconnecter 802.x solution universelle de construction de LANs Adressage physique non universel et pas toujours existant Ex : pas d adressage physique pour les interfaces RS232 Problèmes : Désignation unique d une machine d un WAN = Adressage global «Commutation» au niveau global = routage Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 3 / 35
Niveau réseau Principes Couche Réseau Routeurs Interface réseau Interface réseau Communication entre machines indirectement connectées Intégralement prise en charge par le logiciel réseau vers l'utilisateur Caractéristiques Service : Unité d échange : Protocole : Sébastien Jean (IUT Valence) adressage global, acheminement de paquets le paquet format de paquet, adressage global, routage, reprise sur erreur Réseaux, IPv4 Réseau Liaison Physique vers le support v4.4, 12 mars 2013 4 / 35
Internet Protocol IPv4 Généralités Réseau IP (Internet Protocol) = couche réseau du modèle internet Adressage global Adressage IP Paquet Datagramme IP Routage Routage IP Internet Vs internet internet = un réseau construit au dessus d IP Internet = LE réseau public mondial Evolution du modèle internet régie par l IETF Internet Engineering Task Force Groupes de travail éditant standards et RFCs (Request For Comment) IP protocole de base (RFCs 791 & 1122) du modèle internet Autres protocoles ARP, ICMP, IGMP, RARP, RIP,... Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 5 / 35
Format des adresses IPv4 IPv4 Adressage Attribution à chaque interface réseau d une (et une seule) adresse unique sur 32 bits Décomposée en une partie identifiant un réseau («local») et une partie identifiant une machine dans le réseau 32 bits Identifiant de réseau Identifiant de machine Réseau = ensemble de machines proches ( réseau local) Réseau = «grain» du routage Acheminement des paquets d un réseau à un autre Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 6 / 35
Format des adresses IPv4 IPv4 Adressage Notation décimale pointée (dotted quad) 32 bits 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 192 168 1 1 Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 7 / 35
Classes d adresses IPv4 Adressage Adaptation de la limite réseau/machine, multicast 7 bits 24 bits Classe A 0 réseau machine 14 bits 16 bits Classe B 1 0 réseau machine 21 bits 8 bits Classe C 1 1 0 réseau machine Classe D 1 1 1 0 groupe multicast Classe E 1 1 1 1 RFU Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 8 / 35
Adresses particulières IPv4 Adressage Adresse inconnue 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Adresse du réseau réseau 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Classes A, B ou C Diffusion dans le réseau réseau 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Diffusion totale 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Rebouclage 0 1 1 1 1 1 1 1 Rebouclage interface réseau fictive, trafic interne à la machine Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 9 / 35
Capacités d adressage IPv4 Adressage Réseaux et machines par classes d adresses : 127 réseaux de classe A, 16 777 214 machines par réseau 16 384 réseaux de classe B, 65534 machines par réseau 2 097 152 réseaux de classe C, 254 machines par réseau 8 388 607 groupes de diffusion 3 745 480 450 machines théoriquement adressables 908 585 739 machines connectées en 07/12 (source http://www.isc.org) 625 329 303 de sites web en 11/12 (source http://www.netcraft.com) 213 machines connectées en 1981! Adresses IP attribuées par l ICANN (ex IANA) Extinction officielle des adresses IPv4 le 3 février 2011 Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 10 / 35
Adresses privées IPv4 Adressage Adresses privées (RFC 1597) construction d internets isolés Invisibles depuis l extérieur Utilisables sans autorisation préalable de l ICANN Réservation d adresses dans chaque classe : Classe A = 10.0.0.0 10.255.255.255 (1 réseau) Classe B = 172.16.0.0 172.31.255.255 (26 réseaux) Classe C = 192.168.1.0 192.168.255.255 (256 réseaux) NAT (Network Address Translator, RFC 1631) Dissimulation d un réseau privé derrière une ou plusieurs adresses IP «publiques» Mécanisme de traduction d adresses «à la volée» Clients privés de services publics (SNAT, Source NAT) Clients publics de services privés (DNAT, Destination NAT) Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 11 / 35
Principes du routage IPv4 Routage Routage = acheminement d un datagramme, de proche en proche, d un hôte du réseau à un autre Machine = équipement terminal source ou destination finale Routeur = équipement intermédiaire «switch» de niveau 3 Table de routage interne associant des adresses de réseaux à des interfaces de sortie Routeur Routeur Liaison satellite Routeur Liaison 100Mbits Ethernet Liaison hertzienne Liaison série Routeur Liaison 1Gbit Ethernet Routeur Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 12 / 35
IPv4 Routage Couche réseau des équipements terminaux Table de routage Réseau Interface "loopback" Configuration des interfaces Interface 1 Interface 2 Interface 3 Liaison Liaison Liaison Physique Physique Physique Configuration des interfaces = couples {@IP, interface} Table de routage = liste ordonnée de règles de routage Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 13 / 35
IPv4 Routage Table de routage des équipements terminaux Destination Gateway Net mask Flags Device eth0 172.24.1.2 eth1 172.25.1.2 lo 127.0.0.1 127.0.0.1 * 255.255.255.255 U H lo Local 172.24.0.0 * 255.255.0.0 U eth0 Direct 172.25.0.0 * 255.255.0.0 U eth1 0.0.0.0 (Default) 172.24.1.1 0.0.0.0 U G eth0 Indirect Flags (informatifs) : U (Up) route active (valide) H (Host) @IP destination = @IP machine ( @IP réseau) G (Gateway) routage indirect (Gateway = @IP routeur) Default = route par défaut, «sortie du réseau local» Toujours applicable, nécessairement placée en dernier Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 14 / 35
IPv4 Routage Evaluation d une règle de routage Destination Gateway Net mask Flags Device eth0 172.24.1.2 eth1 172.25.1.2 lo 127.0.0.1 127.0.0.1 * 255.255.255.255 U H lo Local 172.24.0.0 * 255.255.0.0 U eth0 Direct 172.25.0.0 * 255.255.0.0 U eth1 0.0.0.0 (Default) 172.24.1.1 0.0.0.0 U G eth0 Indirect 1 @IP dest = @IP datagramme ET Net mask ET logique bit à bit 2 @IP dest = Destination? application de la règle Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 15 / 35
IPv4 Routage Emission d un datagramme par un équipement terminal 1 Evaluation séquentielle des règles de la table de routage Aucune règle applicable? rejet du datagramme 2 Appel à la couche liaison de l interface de sortie pour émission d une trame encapsulant le datagramme Vers le destinataire si même réseau local = routage direct Vers le routeur désigné par la règle sinon = routage indirect Remarque : Datagrammes à destination de 127.0.0.1 considérés comme des datagrammes reçus Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 16 / 35
IPv4 Routage Réception d un datagramme par un équipement terminal 1 Corrélation entre @IP datagramme et @IPs des interfaces Aucune adresse valide? rejet du datagramme 2 Désencapsulation et transmission des données au service destinataire Encapsulation d une (Level 4)-PDU : service UDP, TCP,... Encapsulation d une (Level «3 1/2»)-PDU : service ARP, ICMP,... Machine «routeur» relais de datagramme (IP forwarding) Adresse valide idem cas précédent Adresse invalide réémission du datagramme Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 17 / 35
IPv4 Outils Unix de niveau réseau Routage ifconfig ping route Visualisation ou modification des affectations des adresses IPs des interfaces Mesure du temps de réponse d une machine distante Visualisation ou modification de la table de routage traceroute Visualisation de la route empruntée pour atteindre une machine distante ex : traceroute 216.81.59.173 Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 18 / 35
Principe des sous-réseaux IPv4 Sous-réseaux Sous-réseaux = partitions de la plage d adresses d un réseau 192.168.1.0 Routeur 192.168.1.[x <128] 192.168.1.[x >127] Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 19 / 35
Notion de sous-réseau IPv4 Sous-réseaux Problème : gestion du partionnement dans la table de routage Solution (1) : décomposition de la partie machine de l adresse IP Remarque : identifiant de sous-réseau ]0, max[ Vue de l'extérieur Identifiant de réseau 32 bits Identifiant de machine 32 bits Vue du routeur Identifiant de réseau Identifiant de sous-réseau Identifiant de machine Solution (2) : adresses de sous-réseaux comme destinations Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 20 / 35
Masque de sous-réseau IPv4 Sous-réseaux Problème : corrélation @IP datagramme / @IP sous-réseau Solution (1) : masque de réseau masque de sous-réseau Bits des parties réseau et sous-réseau à 1, le reste à 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 Evaluation d une règle de routage (rappel) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 0 1 1 0 0 Adresse IP datagramme ET 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 Masque de (sous-)réseau 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 Adresse IP sous-réseau Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 21 / 35
Exemple IPv4 Sous-réseaux Partitionnement en 3 du réseau 192.168.1.0 1 Taille de la partie sous-réseau = 3 bits (2 3 2 = 6 sous-réseaux) 2 Choix des adresses de sous-réseaux 11000000.10101000.00000001.00100000 192.168.1.32 11000000.10101000.00000001.01000000 192.168.1.64 11000000.10101000.00000001.01100000 192.168.1.96 3 Calcul du masque de (sous-)réseau 11111111.11111111.11111111.11100000 255.255.255.224 4 Ajout des règles dans la table de routage Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 22 / 35
IPv4 Format du datagramme IPv4 Datagramme IPv4 32 bits Version Internet header length Type of service Total length Identification Flags Fragment offset Time to live Protocol Header checksum Source address Destination address Options En-tête IPv4 minimal = 20 octets (sans option) Champs Options de taille variable, aligné sur 32 bits Ajout éventuel de bourrage (max 3 octets) Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 23 / 35
IPv4 Format du datagramme IPv4 Datagramme IPv4 32 bits Version Internet header length Type of service Total length Identification Flags Fragment offset Time to live Protocol Header checksum Source address Destination address Options Version (4 bits) = version du protocole Internet Header Length (4 bits) = longueur de l en-tête Exprimé en nombre de mots de 32 bits (5 20 octets) Total Length (16 bits) = longueur totale en octets du datagramme (en-tête compris) Taille maximale d un datagramme = 65535 octets Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 24 / 35
IPv4 Format du datagramme IPv4 Datagramme IPv4 32 bits Version Internet header length Type of service Total length Identification Flags Fragment offset Time to live Protocol Header checksum Source address Destination address Options Informations liées au routage Source address, Destination address Type of service (TOS) critères de qualité de service (QoS) Time to live (8 bits) limitation de propagation Compteur décrémenté à chaque passage dans un routeur Suppression du datagramme si compteur à 0 Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 25 / 35
Encapsulation IP IPv4 Datagramme IPv4 Datagramme IP Couche réseau IP Protocole réseau IP Couche réseau IP (Level-2) PDU (Level-2) SAP Couche liaison Encapsulation Protocole de niveau Liaison (Level-2) SAP Couche liaison IP sur liaison série SLIP (Serial Line IP) RFC 1055 PPP (Point-To-Point Protocol) RFC 1661 IP sur Ethernet RFC 894, 1042 IP sur pigeons voyageurs RFC 1149 (easter egg) Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 26 / 35
IPv4 Encapsulation IP sur Ethernet Datagramme IPv4 DIX Ethernet Ethertype = 0x0800 Préambule @Dest @Src 0x08 0x00 Datagramme IP Bourrage FCS 802.3 Ethernet : LLC 0x06 (+1) 0x06 (+1) CTRL Datagramme IP LLC/SNAP "DIX-Like" 0xAA (+1) 0xAA (+1) CTRL Données 0x00 0x00 0x00 0x08 0x00 Datagramme IP Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 27 / 35
ARP Communication IP sur Ethernet Problématique Rappels : Routage direct appel à la couche liaison pour l émission d une trame encapsulant le datagramme vers son destinataire final Routage indirect appel à la couche liaison pour l émission d une trame encapsulant le datagramme vers le routeur suivant @IP1 Datagramme IP @IP2 Couche réseau IP Couche réseau IP (Level-2) SAP Couche liaison Ethernet @MAC1 Trame Ethernet @MAC2 (Level-2) SAP Couche liaison Ethernet Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 28 / 35
ARP ARP Principes Problème : corrélation @IP / @ MAC Solution : ARP (Address Resolution Protocol, RFC 826) Obtention transparente d associations @physique /@réseau Encapsulation ARP dans une trame de niveau liaison Protocole de niveau «2 1/2» 802.3 & DIX Ethertype = 0x0806 @IP1 Datagramme IP @IP2 Couche réseau IP Couche réseau IP (Level-2) SAP Couche liaison Ethernet @MAC1 Trame Ethernet @MAC2 (Level-2) SAP Couche liaison Ethernet Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 29 / 35
ARP Principes Format de l unité de protocole ARP 32 bits Identifiant d'adressage physique Identifiant d'adressage réseau Longueur adresse physique Longueur adresse réseau Code opération Adresse physique émetteur Adresse réseau émetteur Adresse physique destinataire Adresse réseau destinataire Protocole multi-formats Code opération 0 = requête, 1 = réponse Cache local à la machine, avec délai d expiration Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 30 / 35
ARP ARP Principes Emission d un datagramme de (@MAC1, @IP1) vers (@MAC2, @IP2) 1 Requête ARP trame Ethernet de @MAC1 en diffusion Adresse physique émetteur = @MAC1 Adresse réseau émetteur = @IP1 Adresse physique destinataire = 00:00:00:00:00:00 Adresse réseau destinataire = @IP2 2 Réponse ARP trame Ethernet de @MAC2 vers @MAC1 Adresse physique émetteur = @MAC2 Adresse réseau émetteur = @IP2 Adresse physique destinataire = @MAC1 Adresse réseau destinataire = @IP1 Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 31 / 35
Multicast IP Multicast IP Principes RFCs 1112 et 1700 Diffusion au sein d un groupe factorisation de communications Datagramme unique, réception par un ensemble de machines Routage multicast par m-routers Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 32 / 35
Multicast IP Rappels : filtrage de trames Principes Application Présentation Session Transport Non @dest = @MAC interface @dest = FF:FF:FF:FF:FF @dest = @MAC multicast interface? Réseau Liaison Physique @MAC interface @MAC multicast 1... @MAC multicast n @dest, @src, données Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 33 / 35
Multicast IP Principes Mapping multicast IP vers Ethernet 23 bits 1 1 1 0 x x x x x x x x x x x x x x x x x x x x x x x x x x x x Adresse IP multicast 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 x x x x x x x x x x x x x x x x x x x x x x multicast bit x Adresse MAC multicast Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 34 / 35
Multicast IP Principes Fin! Sébastien Jean (IUT Valence) Réseaux, IPv4 v4.4, 12 mars 2013 35 / 35