Réseaux Franck Pommereau
Texte intégral
(2) Notions de base. 7 / 125. Notions de base. De quoi parle-t-on ?. Topologies. Réseau. Organisation des nœuds et des liens. Topologies. 9 / 125. logique ou physique. Ensemble de machines interconnectées et échangeant des données nœud lien. Point à point graphe. Protocole. I. limité à deux nœuds. I. extensible si les nœuds le permettent. Bus. Règles de communication permettant l’échange de données • mode connecté lien logique maintenu pendant la communication. + appel téléphonique. • mode déconnecté envoi et réception d’un message en différé. I. lien partagé. I. facilement extensible. I. conflits possibles. + courrier postal. Notions de base. Topologies. 10 / 125. Notions de base. Topologies. Topologies. . . . suite (1/2). . . . suite (2/2). Étoile I. utilise un organe central d’interconnexion. I. extensible dans la limite de ce nœud. Anneau I. liens orientés. I. extensible au prix d’une coupure temporaire. I. topologie logique le plus souvent. I. anneau à jeton : circulation d’un “droit de parole”. Topologies. Arbre I. topologie logique le plus souvent. I. hiérarchique ou non. I. simplifie le routage. Maillage I. topologie quelconque. I. petits réseaux ⇒ applicables physiquement sinon ⇒ topologies logiques superposées au réseau physique. I. + arbre couvrant : arbre logique reliant tous les nœuds d’un maillage. 11 / 125.
(3) Notions de base. Classification des réseaux. 13 / 125. Familles de réseaux. Notions de base. Classification des réseaux. 14 / 125. Familles de réseaux . . . suite (1/3). LAN : Local Area Network. WAN : Wide Area Network. I. réseau de petite taille, zone géographique définie. I. généralement privé, appartenant à une même organisation. I. généralement limité à une seule technologie. I. souvent assez rapide, volumes limités. bâtiment. MAN : Metropolitan Area Network. très grande échelle. I. interconnecte des LAN et des MAN. I. rapidités variables, très gros volumes. I. WAN et MAN tendent à converger. zone géographique plus vaste. I. généralement limité à une seule technologie. I. interconnecte des LAN de technologies hétérogènes. I. souvent très rapide, gros volumes. ville. I. interconnexion mondiale de réseaux. I. utilisant des protocoles standards d’autres réseaux mondiaux existent. I. Classification des réseaux. 15 / 125. Notions de base. Familles de réseaux. . . . suite (2/3). . . . suite (3/3). Intranet I. réseau privé utilise les technologies et services typiques d’Internet. Extranet I. partie d’un intranet ouverte sur l’extérieur nécessite un point d’entrée. + site web de réservation de ressources. Classification des réseaux. 16 / 125. VPN : Virtual Private Network I I. réseau logique utilisant un réseau physique comme support technologies cryptographiques ⇒ échanges privés. + différentes filiales d’une entreprise, reliées par Internet, mais partageant. + site web, email, etc., internes à une entreprise. I. basés sur IP (Internet Protocol). + réseaux militaires. Familles de réseaux. I. pays, continents, monde. Internet. I. Notions de base. I. leur Intranet. Commutation de paquets ou de circuits • commutation de circuits. établissement préalable d’un lien. • commutation de paquets acheminement indépendant de fragments. I. utilisations différentes. I. convergence vers la commutation de paquets. voix vs informatique voix sur IP.
(4) Notions de base. Modèles de réseaux. 18 / 125. Modèles en couches. Notions de base. Modèles de réseaux. 19 / 125. Exemple Envoi d’un email dans le modèle OSI. Modèle OSI (Open Systems Interconnection) • 7 : application l’utilisateur tape son message et ajoute des pièces jointes dans Thunderbird, puis clique sur envoyer. • 7 : application. interface avec l’utilisateur. • 5 : session. séquencement des communications. • 6 : présentation. format d’échange des données. • 4 : transport. découpage des données et fiabilisation. • 3 : réseau. acheminement des données. • 1 : physique. transmission effective d’un signal. adressage, routage. • 2 : liaison de données partage et fiabilisation du médium. I. • 6 : présentation Thunderbird formate le message (texte et pièces jointes) selon le standard MIME. médium. 8 modèle assez théorique. • 3 : réseau. Modèles de réseaux. 20 / 125. Des couches plus réalistes. Notions de base. Modèles de réseaux. 21 / 125. Encapsulation des protocoles I. Modèle TCP/IP TCP/IP. application présentation. le protocole IP achemine les fragments du flux TCP. • 1 : physique le protocole Ethernet réalise la communication sur un câble électrique. 4 le concept est le bon. OSI. • 4 : transport le protocole TCP permet le dialogue entre Thunderbird et le serveur SMTP • 2 : liaison le standard MAC et le protocole ARP identifient les machines qui communiquent avec IP. chaque couche s’appuie sur le service rendu par la précédente. Notions de base. • 5 : session le protocole SMTP est utilisé pour transmettre ces données formatées au serveur d’envoi. + I. application I. session transport. transport. réseau. Internet. liaison. accès réseau. physique. physique. I. plus proche de la réalité des systèmes existants. I. le modèle OSI reste la référence comme guide de conception. unité d’échange : entête + données. header + payload frames Ethernet, cellules ATM, paquets IP, datagrammes UDP, . . .. (entête + données) à la couche n + 1 ⇒ passées comme données à la couche n. données reçues de la couche n ⇒ décomposées comme (entête + données) par la couche n + 1. Encapsulation entre les couches couche n + 1 couche n couche n − 1. entête n + 1 entête n. donnée n + 1 donnée n. donnée n − 1.
(5) Notions de base. Request for comments. 23 / 125. Request for comments (RFC) I I. I. I. I. différents supports de communication I. http://www.ietf.org http://www.rfc-editor.org. I. I. c’est la référence en matière de protocoles, standards, etc.. I. I. Exemples de RFC • RFC 791. Internet Protocol (IP). • RFC 1177. FAQ pour les utilisateurs débutants. • RFC 793. Transmission Control Protocol (TCP). • RFC 1207. FAQ pour les utilisateurs expérimentés. I. un signal périodique se transporte plus efficacement. I. tout signal peut être approché en composant des signaux sinusoı̈des. I. Transmission de données. Ondes électromagnétiques. y = sin(x) + sin(3x)/3 + sin(5x)/5 + sin(7x)/7 + sin(9x)/9. y = sin(x). période (s). • phase (s) • longueur d’onde. en point-à-point ou en multipoint de façon directe ou indirecte avec un dispositif intermédiaire (amplificateur, répéteur, . . .). Signaux composites. I. • fréquence (Hz). uni-directionnel bi-directionel, chacun à son tour bi-directionel simultané. les participants peuvent être reliés. 27 / 125. Signaux périodiques. amplitude. • simplex • half-dupex • full-duplex. I. Ondes électromagnétiques. électromagnétiques : électriques, radio, lumineux, . . . peuvent être analogiques ou numériques (digitaux). la communication se fait dans un ou plusieurs sens. I. • RFC 1855 “Netiquette”. transmission guidée (filaire) ou non guidée (sans fil). le support propage des signaux I. Transmission de données. 25 / 125. La couche physique. définissent l’ensemble des protocoles d’Internet librement accessibles I. Transmission de données. 1/période décalage par rapport à l’origine distance parcourue pendant une période. vélocité × période. I. capacité du support ⇔ fidélité du signal. 4 beaucoup de fréquences disponibles ⇒ reproduction fidèle 8 peu de fréquences disponibles ⇒ reproduction peu fidèle. • spectre. plage de fréquences admissibles. • spectre efficace plage de fréquences fidèlement admises • bande passante largeur du spectre. 28 / 125.
(6) Transmission de données. Ondes électromagnétiques. 29 / 125. Transmission d’information. Transmission de données. I. bande passante % ⇒ fréquences admissibles % ⇒ débit %. I. taux d’erreurs % ⇒ débit &. ⇒ faire passer plusieurs canaux sur un seul. I. division du spectre I. plages de fréquences réservées au préalable 4 radio, ASDL. + 1 b/s nécessite 2 Hz. I. Dégradations du signal. multiplexage temporel synchrone I. plages de temps réservées au préalable nécessite une horloge globale 4 ATM. + il faut retransmettre (et donc contrôler la qualité de la transmission). I. I. multiplexage temporel statistique I. I. atténuation avec la distance. I. distorsions. I. distorsions de délai. I. bruits divers thermique, inter-modulation, interférences, perturbations, . . .. hautes amplitudes écrêtées. I I. division du temps selon le besoin nécessite des adresses n’utilise pas toute la capacité. vélocité différente selon la fréquence. Transmissions guidées. 33 / 125. Supports filaires. Transmission de données. Transmissions non guidées. Transmissions sans fil. • paire torsadée deux fils de cuivre enroulés en tresse I. & interférences entre paires adjacentes répartition uniforme des bruits I différentes qualités existent 4 réseau téléphonique, ADSL, LAN I. • câble coaxial. blindées ou pas, . . .. un fil au sein d’un gaine, isolés l’un de l’autre. I. blindage automatique meilleurs débits I plus grandes distances 4 télévision, LAN I. • fibre optique I. matériaux transparent gainé, signal lumineux. léger I pas de bruit, faible atténuation I large bande passante I complexe à connecter 4 MAN, WAN. 31 / 125. Multiplexage. • débit (b/s) quantité d’information par seconde • latence (s) délai entre l’envoi et la réception du premier bit • taux d’erreurs (%) pourcentage de bits altérés. Transmission de données. Multiplexage. • infrarouge. lumière juste sous le spectre visible. I. faible portée, sensible aux bruits lent 4 souris, PDA, télécommandes, . . . I. • micro-ondes. terrestres ou satellites, onde radio directionnelle. I. parabole pour l’émission et la réception 4 télévision par satellite, GPS, radars, . . .. • radio diffusion onde radio non directionnelle. I antennes simples 4 radio, télévision terrestre, souris, PDA, Wifi, Bluetooth, . . .. 35 / 125.
(7) Transmission de données. Protocoles de la couche physique. 37 / 125. Ethernet I I I. Transmission de données. Protocoles de la couche physique. D’autres protocoles sur transmissions guidées. sur paire torsadée ou câble coaxial standard majoritaire pour les LAN partage du support par CSMA/CD. Asynchronous Transfert Mode (ATM). Carrier Sense Multiple Access with Collision Detection. I. multiplexage temporel synchrone. I. cellules de 53 octets. I. réservation du support au préalable. 5 d’entête, 48 de données. I. avant d’émettre une trame : attendre le silence. I. haut débit pour les MAN et WAN. I. pendant l’émission : écouter s’il y a une perturbation (collision). I. bonne prise en charge de la qualité de service. I. en cas de collision : attente aléatoire avant ré-émission garantie de détection des collisions. I. (Asymetric) Digital Suscriber Line (ADSL/DSL). + calibrage de la longueur des trames et des câbles selon la vélocité du signal sur le support choisi I. pour les transmissions non guidées : CSMA/CA I I. Collision Avoidance détection de collision pas toujours possible portées limitées RTS → CTS → données → ACK Request/Clear To Send, acknowledge Transmission de données. Protocoles de la couche physique. I. sur paire torsadée, point à point. I. multiplexage par division de spectre asymétrique ⇒ bande passage montante plus étroite. I. I. adapté aux lignes téléphoniques. favorise la réception par rapport à l’émission. 39 / 125. Protocoles sur transmissions non guidées. Transmission de données. Interconnexion de réseaux. Matériels d’interconnexion de réseaux. Bluetooth I. radio diffusion de faible portée (< 30m). I. faible consommation. • répéteur. régénère un signal entre deux supports. • amplificateur. répéteur qui augmente l’amplitude. I. 4 appareil portables. PDA, téléphones, souris, . . .. I. aucune interprétation du contenu ⇒ couche 1 compense l’atténuation. • concentrateur (hub) répéteur multiport. Wifi. I. I. radio diffusion à courte moyenne (< 100m). I. bon débit (54Mb/s). adapté à l’utilisation d’Internet. 4 ordinateurs, smartphones, . . .. pour la création de réseaux en étoile. • pont (bridge) segmentation des LAN I I I. réseaux de même technologie filtrage sur les adresses de niveau 2 réduit le trafic sur chaque segment. • commutateur (switch) réseau en étoile avec segmentation I I. 38 / 125. Wimax : radio diffusion à longue portée 50km, 70Mb/s GSM (2G), GPRS (EDGE/2.5G), UMTS (3G) : pour la téléphonie mobile, adaptés aux communications informatiques. I I. utilité du concentrateur caractéristiques du pont. 41 / 125.
(8) Transmission de données. Interconnexion de réseaux. 42 / 125. Matériels d’interconnexion de réseaux. Internet. 44 / 125. Le réseau des réseaux. . . . suite. I. I. • passerelle (gateway ) interconnexion des LAN I I. I. • proxy. serveur mandataire de niveau ≥ 4. • firewall. routeur filtrant. I. I. acheminement à travers différents réseaux. I. I. I I. Internet. Adressage IP. plusieurs adresses IP par machine ex : 192.168.1.5 et 127.0.0.1 une adresse IP peut cacher plusieurs machines voir NAT plus tard chacun avec son propre numéro de port multiplexage de TCP et UDP sur IP TCP et UDP sont des protocoles de la couche 4. 46 / 125. Adresses IP. ex : 192.168.1.5. sur un même hôte, différents systèmes utilisent TCP ou UDP I. tous ces matériels peuvent filtrer, chacun à son niveau. adresse sur 32 bits (4 octets) 4 nombres décimaux séparés par des points. une adresse IP définit un hôte (host) I. réalise une requête à la place d’un client. utilise le protocole IP (Internet Protocol). chaque participant possède une adresse IP I. passerelle de niveau 3. I. I. technologies différentes existe à différents niveaux (≥ 3). • routeur I. interconnexion de réseaux au niveau mondial. Internet. ex : port 80 ⇒ web. Adressage IP. 47 / 125. Classes d’adresses. Deux sous-adresses se partageant 32 bits. classe A. 0. classe B. 10. classe C. 110. classe D. 1110. classe E. 11110. 7 bits. 27 réseaux. 24 bits. 224 − 2 hôtes. 32 bits. @ de réseau. @ d’hôte. 14 bits. 214 réseaux. 16 bits. 216 − 2 hôtes. selon classe. • @ d’hôte = 0 · · · 0 adresse IP d’un réseau. • @ d’hôte = 1 · · · 1 adresse de diffusion du réseau I. adresses IP notées comme quatre octets en décimal. + 192.168.12.25. broadcast. 21 bits. 8 bits. 29 bits. 28 bits. 221 réseaux 28 − 2 hôtes. multicast. réservé.
(9) Internet. Adressage IP. 48 / 125. Classless Inter-Domain Routing (CIDR). Internet. Adressage IP. 49 / 125. Adresses réservées. RFC 4632 (1992). rend obsolète et généralise la notion de classes. I. découpage réseau/hôte à une position arbitraire. Internet Corporation for Assigned Names and Numbers (ICANN) I. gère l’attribution des adresses IP. I. délègue par zone géographique aux registres Internet régionaux (RIR). Découpage des adresses • notation a/n. adresse a avec n bits pour l’adresse de réseau. + 10.10.1.32/27 ⇒ @ de réseau sur 27 bits. • 10.0.0.0/8. 00001010.00001010.00000001.00100000. I. attention à la notion décimale ! I. Domain Name System (DNS). • 172.16.0.0/12. réseaux privés de classe B. • 127.0.0.0/8. adresses de rebouclage. • 192.0.2.0/24. adresse de réseau ⇒ masque de sous-réseau. Internet. réseaux privés de classe A. • 192.168.0.0/16 réseaux privés de classe C. 00001010.00001010.00000001.00100000 00001010.00001010.00000001.00101100 00001010.00001010.00000001.01011010. 10.10.1.32/27 4 10.10.1.44 8 10.10.1.90 I. c Dork. I. loopback. documentation, exemples, . . .. • 192.88.99.0/24 relais IPv6 vers IPv4. 51 / 125. Domain Name System (DNS). Internet. Domain Name System (DNS). 52 / 125. Serveurs de noms. + système permettant d’associer des noms aux adresses IP I. . racine. 13 serveurs racines prennent en charge les TLD I I. com. net. . . . top level domains (TLD). fr. I. chaque (sous-)domaine est géré par deux serveurs I I. I. . . . univ-evry . . .. I. www I. pop. smtp. www.univ-evry.fr. est le FQDN. +. . . . hôtes. Fully Qualified Domain Name au plus 127 niveaux de 63 caractères, au plus 255 caractères au total. enregistrés dans le serveur du niveau supérieur serveur primaire + serveur secondaire. chaque client interroge le serveur de son domaine I. I. a.root-servers.net, . . ., m.root-servers.net gérés par l’ICANN. un parcours de l’arborescence permet la résolution par le client (itératif) ou par les serveurs (récursif). le DNS est une base de donnée répartie I. les enregistrements sont des Resource Records (RR). voir plus tard.
(10) Internet. Domain Name System (DNS). 53 / 125. Resource Records (RR). Internet. I. • classe de l’information. I. • IN • CH. noms génériques : • • • • • • •. adresse type le plus courant pour les alias Canonical Name serveur de mail du domaine Mail eXchange serveur DNS ayant autorité sur le domaine Name Serveur. Internet chaotique. I. adresse IP sur 32 bits nom de domaine priorité et nom d’hôte nom d’hôte. Internet. Uniform Resource Identifier (URI). machine issues du réseau ARPANET commercial éducation gouvernement militaire Internet non lucratif. .arpa .com .edu .gov .mil .net .org. • .museum • .name • .aero. musées personnes ou personnages aéronautique. • .fr • .uk • .de. France Royaume Uni Allemagne. nationaux :. 56 / 125. Uniform Resource Identifier (URI). fourre-tout États-Unis États-Unis États-Unis fourre-tout. noms génériques depuis 2000 :. public privé. • RDATA données associées au RR, selon son type : • A • CNAME • MX • NS ···. 54 / 125. Top Level Domains. • FQDN terminé par . ⇒ complet, sinon : suffixe • Time To Live (TTL) durée de mise en cache • type de l’enregistrement • A • CNAME • MX • NS ···. Domain Name System (DNS). Internet. Uniform Resource Identifier (URI). 57 / 125. Encodage des URI. URL (. . . Locator ) et URN (. . . Name) I. + adresse d’une ressource sur Internet. I. caractères réservés : espace, /, &, ?, #, @, . . . encodage par %XY où XY est le code ASCII du caractères hexadécimal I. PROTO:// LOGIN:PASSWD@ HOST :PORT /PATH ;PARAM ?QUERY#FRAG. • PROTO. protocole à utiliser. • PASSWD. pour s’authentifier. • PORT. numéro de port explicite. • PARAMS. paramètres d’accès. • FRAG. position à l’intérieur de la ressource. • LOGIN • HOST. http, ftp, mailto, . . .. pour s’identifier auprès de l’hôte toujours avec LOGIN. nom ou adresse IP de l’hôte. • PATH. chemin d’accès, peut être vide. • QUERY. requête pour la ressource. sinon, déduit du protocole / est le séparateur non utilisé arg=val&... #section2. I. %26 ⇒ & %20 ⇒ espace. Caractères ASCII imprimables 20 2b 36 41 4c 57 62 6d 78. sp + 6 A L W b m x. 21 2c 37 42 4d 58 63 6e 79. ! , 7 B M X c n y. 22 2d 38 43 4e 59 64 6f 7a. " 8 C N Y d o z. 23 2e 39 44 4f 5a 65 70 7b. # . 9 D O Z e p {. 24 2f 3a 45 50 5b 66 71 7c. $ / : E P [ f q |. 25 30 3b 46 51 5c 67 72 7d. % 0 ; F Q \ g r }. 26 31 3c 47 52 5d 68 73 7e. & 1 < G R ] h s ~. 27 32 3d 48 53 5e 69 74 7f. ’ 28 2 33 = 3e H 49 S 54 ^ 5f i 6a t 75 nbsp. ( 3 > I T _ j u. 29 34 3f 4a 55 60 6b 76. ) 4 ? J U ‘ k v. 2a 35 40 4b 56 61 6c 77. * 5 @ K V a l w.
(11) Protocoles de la couche réseau. Internet Protocol (IP). 60 / 125. Internet Protocol (IP). Protocoles de la couche réseau. Internet Protocol (IP). 61 / 125. Entêtes IP. RFC 791 I. fait transiter des paquets entre deux hôtes (@IP). I. n’assure ni la livraison (pertes) ni l’intégrité (altérations). • version numéro de version : 4 (ici) ou 6 (plus tard) • internet header length en mots de 32 bits. • differential service + explicit congestion notification pour la qualité de service. Format des paquets IP 0 0 1 2 3 4 5. 4. 8. 16. 19. 32. DS+ECN version IHL taille totale flags décalage de fragment numéro d’identification protocole TTL somme de contrôle adresse source adresse destination options + bourrage. • taille totale en octets • flags (drapeaux) pour la fragmentation : 1. inutilisé 2. DF : don’t fragment 3. MF : more fragments. • décalage de fragment (fragment offset) en octets. • time to live (durée de vie) décrémenté à chaque routeur • protocole numéro du protocole transporté par la paquet. données. + ICMP=1, TCP=6, UDP=17, . . .. • somme de contrôle recalculé à chaque routeur Protocoles de la couche réseau. Internet Protocol (IP). 62 / 125. Fragmentation. Protocoles de la couche réseau. Internet Control Message Protocol (ICMP). 64 / 125. Internet Control Message Protocol (ICMP) RFC 792. I I. un paquet IP peut occuper 65536 octets au plus un routeur peut décider de fragmenter un paquet • MTU maximum transmission unit + Ethernet : MTU=1500 octets ; Wifi : MTU=2272 octets. si DF=0. I. message des contrôle (pas de données) :. + signalement des erreurs, test de connectivité, . . . I. paquets ICMP encapsulés dans des paquets IP. couche 3 quand même. Découpage des données Format des paquets ICMP. a + b octets. données a octets. entête 1 MF=1 offset=0 ident=x. 0. b octets. 1. fragment 1 MF=1 offset=a ident=x. 0. 8. type. 16. code. somme de contrôle paramètres données. entête 2. fragment 2. 32.
(12) Protocoles de la couche réseau. Internet Control Message Protocol (ICMP). 65 / 125. Entêtes ICMP. Protocoles de la couche réseau. Address Resolution Protocol (ARP). 67 / 125. Address Resolution Protocol (ARP) RFC826. • type nature du message • • • • •. 3 11 5 8 0. • • • •. 3.0 3.1 3.2 3.4. destinataire non accessible durée de vie écoulée redirection echo request echo reply. TTL arrivé à zéro. • ARP • RARP I. I. ping pong. réseaux inaccessible hôte inaccessible protocole non disponible fragmentation nécessaire mais interdite. I I. DF=1. adresse physique utilisée sur Ethernet, Wifi, Bluetooth, ATM, . . . adresse sur 6 octets I I. • paramètres information supplémentaires suivant le type • données selon le type. I. • echo données arbitraires et optionnelles • 3/11 entête IP + 64 octets de données du paquet détruit Protocoles de la couche réseau. Address Resolution Protocol (ARP). I. 68 / 125. Paquets ARP. 00:15:C5:1A:2B:3C ⇒ Dell 00:18:DE:4D:5E:6F ⇒ Intel. notées comme 6 nombres hexadécimaux séparés par “:”. doit être unique sur un même réseau physique. Protocoles de la couche réseau. re-programmables. Address Resolution Protocol (ARP). Déroulement du protocole ARP. Format des paquets ARP et RARP. 1. 3 pour le constructeur de la carte réseau 3 pour le numéro de série. +. + echo ⇒ 16 bits de n˚ d’identification + 16 bits de n˚ de séquence. 0. Reverse Address Resolution Protocol (RFC903) beaucoup moins utilisé. Adresses MAC (Medium Access Control). • code détails sur le type. 0. adresse logique (IP) 7→ adresse physique adresse physique → 7 adresse logique. 16. 32. type du réseau physique type de l’adresse demandée taille @ physique taille @ logique opération adresse physique de l’émetteur (taille variable) adresse logique de l’émetteur (taille variable) adresse physique du destinataire (taille variable) adresse logique du destinataire (taille variable). A = 192.0.2.42 P = 00:15:C5:1A:2B:3C request from A @ P to B @ FF:FF:FF:FF:FF:FF arp who-has B tell A req. . .. réseau reply from B @ Q to A @ P. req. . .. • type de réseau 1 ⇒ Ethernet. • type d’adresse 0x800 ⇒ IP • tailles d’adresses en octets. • opération 1 ⇒ request, 2 ⇒ reply. MAC ⇒ 6, IP ⇒ 4. arp B is-at Q. B = 192.0.2.33 Q = 00:18:DE:4D:5E:6F. 69 / 125.
(13) Protocoles de la couche réseau. Routage. 71 / 125. Protocoles de la couche réseau. Le routage. Point de vue des stations. Objectifs. Envoi d’un paquet IP : A → B. Routage. A et B sur le même réseau ?. I. interconnecter des réseaux. I. organiser de grands réseaux en les divisant. I. minimiser les coûts de transmission. ⇒ masque de sous-réseau temps, énergie, prix, . . .. envoi direct. oui. non. ⇒ ARP pour trouver B. I. I. I. envoi via R ⇒ ARP pour trouver R. chaque station doit savoir quand et comment s’adresser à un routeur chaque routeur doit savoir : I. déterminer un chemin quand et comment délivrer l’information aux stations. chaque système connecté à routeur doit avoir une adresse discriminante. Protocoles de la couche réseau. Routage. déterminer le routeur R ⇒ table de routage. @IP et @MAC de B. Enjeux I. 72 / 125. @IP de B et @MAC de R. acheminement I. table de routage : @ réseau 7→ @ routeur, interface I. hôte ou réseau. I. une entrée est le routeur par défaut. l’adresse IP du routeur n’est utilisée que pour ARP. 73 / 125. Point de vue des routeurs. Protocoles de la couche réseau. Routage. 74 / 125. Routing Information Protocol (RIP) version 2, RFC 2453. I. utilisation des tables de routage I I I. I. I. I I. I. échange d’information entre les routeurs mise à jour des tables de routage. I I. minimisation du nombre de sauts minimisation des coûts maximisation de la vitesse gestion des congestions et des pannes minimisation du trafic dû au protocole de routage évitement des boucles et des erreurs de routage. connaissance globale ou locale du réseau. cycles de 30 s ⇒ 7 min multicast 224.0.0.9. Format des datagrammes RIP 0 0. latence et débit. 1 2 3 4 5. 8. 16. commande version = 2 famille d’adresse = 2 (IP) adresse IP masque de sous-réseau passerelle métrique. 32. réservé = 0 route tag de 1 à 25. I. I. I. détermination des meilleurs chemins I. métriques en nombre de sauts 15 sauts maximum convergence lente communications sur UDP entre voisins. I. utilisation d’un protocole de routage I. I. I. en tant que stations pour transmettre les paquets des stations enrichies ⇒ métriques et horodatages.
(14) Protocoles de la couche réseau. Routage. 75 / 125. Protocoles de la couche réseau. Routing Information Protocol (RIP). IP version 6. suite. Moderniser IPv4 I. • commande demande (1) ou diffusion (2) • route tag routes internes (RIP) vs externes (autre protocole) I. • adresse, masque, . . . ⇒ une ligne de la table de routage. I. I. I I I I I. I. démarrage ⇒ demande à tous les voisins. famille=0, métrique=16. voisins connus par la configuration. réception d’une diffusion ⇒ mise à jour de la table permanence des meilleures routes. I. I I I. optimisations : split horizon ou poisoned reverse. Protocoles de la couche réseau. I. Outils Unix. 79 / 125. Outils pour la couche réseau. intégration des extension IP-sec. optionnelles en IPv4. entêtes d’options multiples. liste chaı̂née, classée. mécanismes de compatibilité et de transition I. jusqu’à nouvel ordre. 64 premiers octets ⇒ adresses de réseaux, organisées hiérarchiquement protocole simplifié ⇒ % performances des routeurs. faciliter les extensions futures I. triggered updates. chaque hôte peut posséder une adresse pour chaque usage. améliorer la sécurité I. I. chaque 30 s ⇒ diffusion de toute ou partie de la table changement de métrique ⇒ diffusion aux voisin. I. 667 millions de milliards d’adresses par mm2 sur Terre. simplifier le routage I. Fonctionnement I. 32 bits 7→ 128 bits. +. I. 77 / 125. augmenter l’espace d’adressage I. externes ⇒ invalidées après 6 cycles, puis supprimées après 2 cycles. IP version 6. nouvelles versions des protocoles de niveau 3 mise à jour des protocoles utilisant des adresses IP compatibilité du champ de version encapsulation des adresses IPv4 dans une classe réservée mécanisme IPv6 over IPv4 Protocoles de la couche transport. 81 / 125. Deux modes de transports User Datagram Protocol (UDP). • ping. +. requêtes ICMP echo request. I. ping -t15 -c 2 www.google.com. I. • arp • ifconfig. consultation et manipulation de la table ARP configuration des interfaces réseau. • route. affichage et manipulation de la table de routage. • tcpdump. capture de trames. • wireshark. analyseur de trame. pas de contrôle de la livraison. Transmission Control Protocol (TCP). + ifconfig eth0 + ifconfig eth0 192.16.8.0.1. • traceroute recherche des routeurs intermédiaires. mode déconnecté ⇒ orienté paquet. I. utilise le TTL sniffer sniffer + disséqueur. I I. mode connecté ⇒ orienté flux contrôle de la livraison. contrôle du flux. Dans les deux cas : I. communication point-à-point entre applications. I. mode client/serveur. bidirectionnel transmission fiabilisée.
(15) Protocoles de la couche transport. Ports réseaux. 83 / 125. Ports réseaux et sockets. Protocoles de la couche transport. User Datagram Protocol (UDP). 85 / 125. User Datagram Protocol (UDP) RFC 768. I I I. adresse IP ⇒ identifie un hôte numéro de port ⇒ identifie une application sur un hôte socket = @IP + n˚port. Format des datagrammes UDP. + 195.221.162.126 :80 ⇒ serveur web sur www.ibisc.univ-evry.fr. 0. 1. • serveur • client. attend les connexions (écoute) sur un port défini. 2. initie la connexion depuis un port quelconque. 3 4. Assignation des ports ports reconnus, réservés et privilégiés. • 1024 → 49151. ports enregistrés. +. 80 ⇒ HTTP, 110 ⇒ POP, 22 ⇒ SSH, 52 ⇒ DNS, . . .. • 49152 → 65535. ports privés. applications particulières utilisables à discrétion. Protocoles de la couche transport. Transmission Control Protocol (TCP). données. I. pseudo-entête pour le calcul de la somme de contrôle. I. permet d’éviter les erreurs de routage. 87 / 125. Transmission Control Protocol (TCP). 32. adresse IP source adresse IP cible bourrage = 0 protocole = 17 longueur UDP port source port destination longueur totale somme de contrôle / 0. 5. • 0 → 1023. 16. pseudo-entête. 0. Clients et serveurs. 8. Protocoles de la couche transport. 0 sinon. Transmission Control Protocol (TCP). 88 / 125. Entêtes TCP. RFC 793. • numéro de séquence pour la remise en ordre à la réception. Format des segments TCP 0 0 1 2 3 4. 4. 8. • accusé de réception numéro du prochain segment attendu. 16. port source. 32. port cible. numéro de séquence numéro d’accusé de réception drapeaux DdD réservé taille de fenêtre pointeur d’urgence somme de contrôle options + bourrage données. • décalage de données taille de l’entête • drapeaux • • • • • • • •. CWR ECE URG ACK PSH RST SYN FIN. / 32 bits. congestion window reduced ECN-Echo congestions pointeur d’urgence renseigné accusé de réception obligatoire après la connexion push : envoi des données à l’application reset : réinitialisation de la connexion synchronisation lors de la connexion fin des données et début de la déconnexion. • fenêtre nombre max d’octets attendus à partir du segment accusé • urgence nombre d’octets urgents restant à transmettre.
(16) Protocoles de la couche transport. Transmission Control Protocol (TCP). 89 / 125. Fiabilisation de la transmission. Protocoles de la couche transport. Transmission Control Protocol (TCP). 90 / 125. Poignée de mains à 3 temps Connexion. I. sommes de contrôle. I. numérotation des segments. I. connexion et déconnexion explicite accusés de réception. I. I. client SYN seq=N. SYN+ACK seq=M, ack=N + 1. I. maintient de la connexion accusé de réception du segment n ⇒ segments < n reçus. I. envois avant acquittement dans la limite de la fenêtre. + +. I. serveur. ACK seq=N + 1, ack=M + 1. & nombre d’accusés de réception fenêtre glissante ajustable. I. délai maximal pré-programmé pour les accusés de réception. le premier numéro N est choisi aléatoirement. + évite l’interposition d’un intrus : connection hijacking I. Protocoles de la couche transport. Transmission Control Protocol (TCP). Poignée de mains à 4 (ou 3) temps. 91 / 125. jusqu’à la déconnexion : ACK dans tous les paquets. Protocoles de la couche transport. Transmission Control Protocol (TCP). 92 / 125. Diagramme des états TCP. Déconnexion A. B. données. FIN seq=M + 1. fusionnables. ACK seq=M, ack=N + 1. ACK seq=N + 1, ack=M + 2. I. la fusion ACK+FIN implique d’autres numéros de séquences. c Sergiodc2, Marty Pauley. FIN seq=N.
(17) Protocoles de la couche transport. API Sockets. 94 / 125. Deux protocoles et deux modes serveur. socket. client. import socket sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.bind(("", 1234)) data, address = sock.recvfrom(1024) print "%s:%u says" % address, repr(data) sock.sendto(data, address). socket. bind. socket. bind. recvfrom. sendto. listen. socket. sendto. recvfrom. accept. connect. recv. send. send. recv. Protocoles de la couche transport. 95 / 125. ∗ Serveur : socket → bind → recvfrom | sendto. TCP client. API Sockets. Client et serveur UDP. UDP serveur. Protocoles de la couche transport. API Sockets. Client et serveur TCP. ∗ Client : socket → recvfrom | sendto. import socket sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) data = raw_input("? ") sock.sendto(data, ("127.0.0.1", 1234)) data, address = sock.recvfrom(1024) print "%s:%u says" % address, repr(data). 96 / 125. Protocoles de la couche transport. API Sockets. Client et serveur TCP . . . suite. ∗ Serveur : socket → bind → listen → accept → recv | send → close import socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind(("", 1234)) sock.listen(1) connection, address = sock.accept() print "%s:%u connected" % address data = connection.recv(1024) print "client says:", repr(data) connection.send(data) connection.close(). ∗ Client : socket → connect → recv | send → close. import socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect(("127.0.0.1", 1234)) data = raw_input("? ") sock.send(data) data = sock.recv(1024) print "server says:", repr(data) sock.close(). 97 / 125.
(18) Protocoles de la couche transport. Network Address Translation (NAT). 99 / 125. Network Address Translation (NAT). Protocoles de la couche transport. Network Address Translation (NAT). 100 / 125. Exemple : NAT sur une requête DNS. RCF 3022. I. compense le manque d’adresses IPv4. I. un réseau privé communique sur Internet via l’adresse du routeur. I. pour cacher des machines ou répartir la charge utilisation des numéros de ports pour la cohérence. I. client. routeur. UDP C :12345 → S:53. + routage de niveau 3 exploitant des informations de niveau 4 I. UDP R:65432 → S:53. table[65432] = C :12345. traçage des connections depuis le réseau interne. Port forwarding. UDP S:53 → R:65432. UDP S:53 → C :12345. I. assignation statique d’un port à une adresse interne. I. accès direct à un serveur. Protocoles de la couche transport. Outils Unix. Outils pour la couche transport. serveur. 102 / 125. Protocoles des niveaux supérieurs. Domain Name System (DNS). 105 / 125. Domain Name System (DNS) RFC 1034 et 1035. local. client • netstat. +. resolver. protocole DNS. DB. NS. liste les sockets ouverts et leur état. cache. netstat -t -u. • netcat (nc) envoi/réception de données sur TCP ou UDP. +. gethostbyname. hôte. cache. protocole DNS. nc www.google.com 80. • wireshark. DB. décortiquer des datagrammes, reconstituer des flux. . . . NS. • votre langage de script préféré et l’API socket. NS. NS distant. I. récursif : transmission des requêtes à un autre NS. + mode par défaut d’un NS local I. itératif : redirection vers un autre NS. cache.
(19) Protocoles des niveaux supérieurs. Domain Name System (DNS). 106 / 125. Protocoles des niveaux supérieurs. Format des messages DNS. Format des messages DNS. sur UDP (message courts) ou TCP (messages longs). . . . suite (1/2). • identificateur (16 bits) pour lier la requête à la réponse. pour UDP. • requête/réponse (1 bit) type de message • opération (4 bits) • standard • inverse • statut. 107 / 125. • code de réponse (4 bits) I I I. résolution de nom résolution d’adresse état du serveur. Domain Name System (DNS). I I I. pas d’erreur requête mal formée erreur du serveur domaine inexistant requête non supportée requête refusée. • réponse d’autorité (1 bit) si le NS fait autorité sur le domaine résolu • tronqué (1 bit) si la réponse est trop longue pour UDP. • nombre de requêtes (16 bits). • récursion demandée (1 bit) dans la requête. • nombre de RR dans la redirection (16 bits) pour le mode itératif. + recommencer en utilisant TCP. • nombre de RR dans les commentaires (16 bits) informations complémentaires disponibles. • récursion disponible (1 bit) dans la réponse • réservé (3 bits). Protocoles des niveaux supérieurs. • nombre de RR dans la réponse (16 bits). Domain Name System (DNS). 108 / 125. Protocoles des niveaux supérieurs. Simple Mail Transfer Protocol (SMTP). Format des messages DNS. Simple Mail Transfer Protocol (SMTP). . . . suite (1/2). RFC 821 (protocole) et 822 (codages). SMTP. émetteur • section de requêtes chaque entrée contient : I. I I. nom de domaine type de requête classe de requête. codage : (taille,nom)*,\0 type de RR : A, CNAME, . . . IN ou CH. smtpd. MX. NS. destinataire. SMTP. smtpd. deliver. POP. mailbox. • section de réponses : liste de RR. • section d’autorité : liste de RR de redirections. • section supplémentaire : liste de RR liés à la requête mais n’y répondant pas directement. Dialogue sur TCP • C →S • S →C. commande (paramètre)*\r\n statut (commentaire) ?\r\n. 110 / 125. popd.
(20) Protocoles des niveaux supérieurs. Simple Mail Transfer Protocol (SMTP). 111 / 125. Principales commandes SMTP. Protocoles des niveaux supérieurs. Simple Mail Transfer Protocol (SMTP). 112 / 125. Principales réponses SMTP 2xx ⇒ OK, 3xx ⇒ suite attendue, 4xx ⇒ erreur temporaire, 5xx ⇒ erreur permanente. • HELO nom identification du client (hôte). obligatoire à la connexion. • 220. invite lors de la connexion ⇒ HELLO attendu. aucune vérification. • 250. message délivré localement. plusieurs possibles, peuvent être refusés. • 354. début des données. • 500. commande non reconnue. • 503. commande mal séquencée. • MAIL FROM: <email> expéditeur • RCPT TO: <email> destinataire. • DATA début du message, terminaison par .\r\n (seul sur la ligne) • QUIT fin de la session. Protocoles des niveaux supérieurs. Simple Mail Transfer Protocol (SMTP). • 221. réponse à QUIT. • 251. message délivré à un relais. • 452. espace disque saturé. • 502. commande non prise en charge. • 550. destinataire inconnu. 113 / 125. Protocoles des niveaux supérieurs. Post Office Protocol v.3 (POP3). Format des données SMTP. Post Office Protocol v.3 (POP3). RCF 822. RFC 1939. • ent^ ete: valeur\r\n. +. autant de fois que nécessaire Date, From, To, CC, Subject, . . . sans aucun lien avec ce qui a été échangé dans les commandes SMTP. SMTP. émetteur. • .\r\n. RFC 2045 à 2049. format de messages étendu pour gérer : I I I. smtpd. comme spécifié précédemment. Multipurpose Internet Mail Extensions (MIME) I. MX. NS. destinataire. SMTP. • \r\n. • texte sans ligne valant .\r\n. smtpd. les encodages accents, alphabets non latins, données binaires les message multi-parties avec pièces attachées les message multi-formats. POP3. mailbox. Dialogue sur TCP • C →S. commande (paramètre)*\r\n. • S →C. -ERR (commentaire) ?\r\n. • S →C. 115 / 125. +OK (commentaire) ?\r\n. retreive. pop3d.
(21) Protocoles des niveaux supérieurs. Post Office Protocol v.3 (POP3). 116 / 125. Principales commandes POP3. Protocoles des niveaux supérieurs. Post Office Protocol v.3 (POP3). 117 / 125. Limites de POP3. et les réponses associées. • USER login PASS passwd • STAT I. authentification, en clair sur le réseau statistiques sur la boı̂te. une seule boı̂te, un seul client à la fois. I. uniquement lecture et effacement des messages. I. remplacé progressivement par IMAP. +OK nombre_de_messages taille_totale. • LIST I. I. liste les messages de la boı̂te. +OK\r\n identificateur_1 taille_1\r\n ... .\r\n. • RETR identificateur. Internet Message Access Protocol (IMAP). RFC 3501. I. gestion de boı̂tes multiples en lecture/écriture/effacement. I. gestion des états de messages. récupération d’un message, terminé par .\r\n. I. recherche de messages sur le serveur. effacement d’un message. I. multiples connexions simultanées. récupération du début d’un message. I. .... • DELE identificateur. • TOP identificateur nombre • QUIT. Protocoles des niveaux supérieurs. de longue durée. fin de la session. HyperText Transfer Protocol (HTTP). 119 / 125. HyperText Transfer Protocol (HTTP). Protocoles des niveaux supérieurs. HyperText Transfer Protocol (HTTP). 120 / 125. Principales méthodes HTTP. RFC 2616 (v1.1). Messages sur TCP • requête ou statut. (1 ligne) pour une requête pour une réponse. • méthode URL version\r\n • version code explication\r\n. • entêtes générales. + Date, Forwarded, Keep-Alive, MIME-version, . . .. • entêtes de requête ou de réponse. +. pour les requêtes : Accept, Accept-Language, Authorization, If-Modified-Since, Range, Referrer, User-Agent, . . . pour les réponses : Location, Retry-After, Server, . . .. • entêtes concernant le corps. + Content-Encoding, Content-Length, Content-Language, Content-Type, Expires, Last-Modified, . . .. • corps + \r\n. une ligne vide à la fin. • GET récupération d’une ressource, via le corps de la réponse • HEAD comme GET mais seules les entêtes sont envoyées • OPTIONS demande d’information sur une ressource. • POST comme GET mais des paramètres sont passés dans le corps de la requête • PUT stockage d’un fichier. • PATCH modification d’un fichier. • COPY copie d’un fichier (à l’entête URL-Header) • MOVE déplacement d’un fichier. • DELETE suppression d’un fichier.
(22) Protocoles des niveaux supérieurs. HyperText Transfer Protocol (HTTP). 121 / 125. Principaux codes de retour HTTP. Protocoles des niveaux supérieurs. HyperText Transfer Protocol (HTTP). 122 / 125. Exemple de requête HTTP capturé par wireshark. • 10x • 20x. information réussite. • 200 • 204. OK pas de réponse à donner. • 301 • 302 • 304. ressource déplacée de façon permanent ressource déplacée aucun changement avec If-Modified-Since. • 400 • 401 • 404. mauvais requête non autorisé, il faut s’authentifier ressource non trouvée. • 500 • 501 • 503. erreur interne méthode non supportée service non disponible. • 30x. redirection. • 40x. erreur du client. • 50x. erreur du serveur. Protocoles des niveaux supérieurs. Exemple de requête HTTP. HyperText Transfer Protocol (HTTP). 123 / 125. GET / HTTP/1.1\r\n Host: www.google.com\r\n Connection: keep-alive\r\n Accept: application/xml,text/html,text/plain,image/png,*/*\r\n User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.7 (KHTML, Accept-Encoding: gzip,deflate,sdch\r\n Accept-Language: en-GB,en-US,fr-FR\r\n Accept-Charset: ISO-8859-1,utf-8,*\r\n Cookie: rememberme=true; PREF=ID=a4d6dbe649bca4f1:U=41c3b238da53d532:TM=127747 \r\n HTTP/1.1 302 Found\r\n .... Protocoles des niveaux supérieurs. Outils Unix. 125 / 125. Outils Unix pour les protocoles de haut niveau. . . . suite. ... • host requêtes DNS \r\n host -t MX univ-evry.com type de RR + HTTP/1.1 302 Found\r\n host -a google.com tous les RR Location: http://www.google.fr/\r\n host www.google.com -t A Cache-Control: private\r\n • wget client HTTP et FTP Content-Type: text/html; charset=UTF-8\r\n Date: Fri, 29 Oct 2010 12:19:03 GMT\r\n + wget http://www.univ-evry.fr Server: gws\r\n wget -m http://www.ibisc.univ-every.fr/˜fpommereau/reseau-L3/ Content-Length: 218\r\n • mailx client SMTP \r\n • getmail client IMAP et POP alternative à fetchmail <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">\n <TITLE>302 Moved</TITLE></HEAD><BODY>\n • netcat (nc) client généraliste il faut connaı̂tre le protocole <H1>302 Moved</H1>\n • votre langage de script préféré et sa bibliothèque standard The document has moved\n <A HREF="http://www.google.fr/">here</A>.\r\n </BODY></HTML>\r\n.
(23)
Documents relatifs
— http://SERVEUR/cgi-bin/ : répertoire d’exécution des scripts CGI pointant vers /usr/lib/cgi-bin/ ; Ce serveur est également configuré pour exécuter les scripts PHP
Si le service " données express de Transport est fourni au niveau 4/OSI des SPDU "préparation" sont émise par ce flux de Transport express avant les SPDU
Si une demande entrante contient un champ d'en-tête Supported avec une valeur 'timer' et un champ d'en-tête Session- Expires, l'UAS PEUT rejeter la demande INVITE avec une réponse
Le présent document propose une extension au protocole simple de transfert de messagerie (SMTP, Simple Mail Transfer Protocol) pour un équivalent dans la messagerie électronique
Le présent mémoire définit une extension au service du protocole simple de transfert de messagerie (SMTP, Simple Mail Transfer Protocol) qui permet au client SMTP de spécifier (a)
Lorsqu’un UAC envoie une demande qui peut établir un dialogue (comme un INVITE) il DOIT fournir un URI SIP ou SIPS avec portée mondiale (par exemple, le même URI SIP peut être
Il est EXIGÉ des deux serveurs qui sont sur l’un et l’autre côté de la connexion en cours de clôture qu’ils envoient un message SQUIT (à toutes les autres connexions de
L'objet de SDP est de convoyer des informations sur les flux de support dans les sessions multimédia pour permettre aux receveurs d'une description de session de participer à