Télécommunications IV - &6, ARP, DHCP, 1 32 bits => 2 32 adresses => 4'294'967'296 C'était largement suffisant dans les années 80 (Internet n'était constitué que de plusieurs centaines de noeuds) Clairement insuffisant aujourd'hui, même si seulement 1/3 des adresses sont effectivement utilisées Des trucs doivent être utilisés pour permettre l'accès au plus grand nombre: NAT 2 classes Historiquement 5 classes d'adresses: A - premier bit fixe: 0 => 0.0.0.0-127.255.255.254 128 réseaux (2 8-1 ) / 16 millions d'hôtes (2 24 ) B - 2 premiers bits fixes: 10 => 128.0.0.0-191.255.255.254 16'384 réseaux (2 16-2 ) / 65'536 hôtes (2 16 ) C - 3 premiers bits fixes: 110 => 192.0.0.0-223.255.255.254 2 millions de réseau (2 24-3 ) / 256 hôtes (2 8 ) [ D - 4 premiers bits fixes: 1110 => 224.0.0.0-239.255.255.254 ] [ E - 5 premiers bits fixes: 1111 => 240.0.0-255.255.255.255 ] 3 réseau locaux Class A: 10.0.0.0-10.255.255.255 24 bits - 16'777'216 adresses (2 24 ) Class B: 172.16.0.0-172.31.255.255 20 bits - 1'048'576 adresses (2 20 ) Class C: 192.168.0.0-192.168.255.255 16 bits - 65'536 adresses (2 16 ) 4
masque de sous-réseau Le masque de sous-réseau permet de déterminer si 2 adresses font partie du même réseau. Est-ce que 192.168.1.32 est dans le même réseau que 192.168.2.18 avec le masque 255.255.255.0? 192.168.1.32 => 1100 0000. 1010 1000. 0000 0001. 0010 0000 255.255.255.0 => 1111 1111. 1111 1111. 1111 1111. 0000 0000 192.168.1.0 <= 1100 0000. 1010 1000. 0000 0001. 0000 0000 192.168.2.18 => 1100 0000. 1010 1000. 0000 0010. 0001 0010 255.255.255.0 => 1111 1111. 1111 1111. 1111 1111. 0000 0000 192.168.2.0 <= 1100 0000. 1010 1000. 0000 0010. 0000 0000 => NON 5 masque de sous-réseau Est-ce que 10.100.1.18 est dans le même réseau que 10.97.2.37 avec le masque 255.248.0.0? 10.100.1.18 => 0000 1010. 0110 0100. 0000 0001. 0001 0010 255.248.0.0 => 1111 1111. 1111 1000. 0000 0000. 0000 0000 10.96.0.0 <= 0000 1010. 0110 0000. 0000 0000. 0000 0000 10.97.2.37 => 0000 1010. 0110 0001. 0000 0010. 0010 0101 255.248.0.0 => 1111 1111. 1111 1000. 0000 0000. 0000 0000 10.96.0.0 <= 0000 1010. 0110 0000. 0000 0000. 0000 0000 => OUI Lors du transit de paquets d'une IP source à une IP de destination, si les 2 IPs ne font pas partie du même réseau, les paquets devront obligatoirement passer par un routeur. 6 broadcast & localhost L'adresse de broadcast permet d'envoyer un message à tous les hôtes du même réseau que celui de l'expéditeur (d'après le masque). Cette adresse se construit en utilisant l'adresse du réseau et en y ajoutant l'inverse du masque. Exemple: 192.168.1.32 avec 255.255.255.0 => 192.168.1.0 + 0.0.0.255 => 192.168.1.255 L'adresse locale d'une machine est, par convention, toujours l'adresse 127.0.0.1 (localhost). Elle permet de faire des connexions IP sur sa propre machine. 7 adresses "lien-local" À la première connexion, un hôte s'alloue automatiquement une adresse IP temporaire Adresse de "lien-local": 169.254.1.0-169.254.254.255 Ces adresses ne peuvent être utilisées que pour les communications sur le réseau local (pas de routage possible) 8
IPv6 128 bits => 2 128 adresses => 3.4 x 10 38 environ 660'000 adresses IPv6 par nanomètre carré de la surface de la terre... l'adoption est lente car elle nécessite de grands changements dans l'infrastructure d'internet. Mai 2015: 6.6% des accès mondiaux à Google 9.3% des accès suisses à Google 9 IPv6 format représentées par 8 blocs de 16 bits => 8 blocs de 4 chiffres hexadécimaux Ex: 2a00:1450:4002:804:0:0:0:1018 le 1er bloc de 0 contigus peut être résumé par :: Ex: 2a00:1450:4002:804::1018 Pour entrer une adresse IPv6 dans un navigateur, l'encadrer par des [ ] Ex: http://[2a00:1450:4002:804::1018] 10 Auto-Configuration Address Resolution Protocol (ARP) Dynamic Host Configuration Protocol (DHCP) Domain Name Service () 11 ARP ARP = Address Resolution Protocol Protocole de couche 2 (OSI) => couche 1 (IM) Permet de faire correspondre une adresse logique (couche 2) à une adresse matérielle (couche 1) Protocole de type "demande/réponse" 12
ARP Peut fonctionner avec différents types de matériels (ex: Ethernet) et protocoles réseau (ex: IP) Les données obtenues sont stockées dans un cache local Exemple avec Ethernet & IP: Request who-has <dstip> tell <srcip> [<srcmac> to broadcast MAC ff:ff:ff:ff:ff:ff] Reply <dstip> is-at <dstmac> [<dstmac> to <srcmac>] 13 ARP Hardware type: HTYPE Protocol type: PTYPE Hardware address length (HLEN) Protocol address length (PLEN) Operation (OPER) DATA 14 ARP - Ethernet & IP HTYPE = Ethernet PTYPE = IP HLEN = 48 PLEN = 32 OPER: who-has / is-at Sender Hardware Address (SHA) - bits 0-15 Sender Hardware Address (SHA)- bits 16-31 Sender Hardware Address (SHA)- bits 32-47 Sender Protocol Address (SPA)- bits 0-16 Sender Protocol Address (SPA)- bits 17-31 Target Hardware Address (THA) - bits 0-15 Target Hardware Address (THA)- bits 16-31 Target Hardware Address (THA)- bits 32-47 Target Protocol Address (TPA)- bits 0-16 Target Protocol Address (TPA)- bits 17-31 15 DHCP DHCP = Dynamic Host Configuration Protocol Protocole de couche 7 (OSI) => couche 4 (IM) Permet d'obtenir la configuration IP à utiliser: Adresse IP de l'hôte Masque de sous-réseau Adresse IP de la passerelle [ Adresse IP du serveur ] Protocole de type "demande/réponse" 16
DHCP Fonctionne en envoyant des messages UDP en broadcast 5 commandes: discover offer request ack release 17 DHCP Le serveur écoute en UDP sur le port 67 Le client écoute en UDP sur le port 68 Un "bail" (lease) est attribué à chaque périphérique, avec une échéance 18 = Domain Name System Protocole de couche 7 (OSI) => couche 4 (IM) Permet d'obtenir l'adresse IP d'un domaine Protocole de type "demande/réponse" 19 Fait correspondre des noms à des valeurs (adresses IP par exemple) Doit gérer d'énormes quantités d'entrées Gestion dé-centralisée Doit être robuste aux interruptions de certains éléments du système 20
propriétés Base de données "Read-mostly" => majorité de lectures Propagation «lente» des changements Utilisation massive de caches 21 organisation hiérarchique root. TLD com fr ch edu cn org co.uk domains comem search wikipedia subdomains www map tel m www m 22 13 root servers 23 requêtes - en-tête Header Question Answer Authority Additional QR: 0=query, 1=response RCode: error code Flags: AA: Authoritative answer TC: Truncated RD: Recursion required RA: Recursion available Q R OPCODE A A T C ID R D R A QDCount ANCount NSCount ARCount Z RCODE 24
requêtes - RRs Header Question Answer Authority Additional 1..n Question, Answer, Authority et Additional sont composés de Resource Records (RRs): name [TTL] [class] type rdata Name (1..n) TYPE CLASS TTL RDLength RData 25 types Types: A: correspondance entre nom et AAAA: correspondance entre nom et IPv6 CNAME: alias (Canonical Name) NS: serveur de nom 26 Sources Wikipedia "An Introduction to Computer Networks", CS144, Stanford University 27