1 / 36

TCP/IP sur les réseaux Ethernet

TCP/IP sur les réseaux Ethernet. Correspondance entre TCP/IP et le modèle OSI. Le modèle OSI est très structuré mais certaines couches ont des fonctions qui peuvent être allégées ou regroupées.

kevlyn
Download Presentation

TCP/IP sur les réseaux Ethernet

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TCP/IP sur les réseaux Ethernet

  2. Correspondance entre TCP/IP et le modèle OSI • Le modèle OSI est très structuré mais certaines couches ont des fonctions qui peuvent être allégées ou regroupées. • L’idée est de partir sur une optique réseau LAN. Par définition, ce type de réseau de « petite taille » est moins sujet aux erreurs de transmission. • De plus, il a besoin de grandes performances et la simplification que permet TCP/IP (et d’Ethernet) autorise des débits plus grands.

  3. Correspondance entre TCP/IP et le modèle OSI • Modèle OSI Modèle TCP/IP Modèle TCP/IP sur Ethernet 5 4 3 2 1

  4. 2 7 4 2 7 7 7 3 7 7 ... ... ... ... ... ... ... 1 1 1 1 1 1 1 1 1 1 Internet Schéma représentant un réseau et les différents éléments qui le compose ainsi que les couches OSI misent en jeux Serveur WEB Serveur Mail PC MAC répéteur répéteur Routeur imprimante « Firewall »

  5. Détails du modèle TCP/IP • En vert : la partie de la pile de protocoles de TCP/IP (Internet protocol Suite), spécifique à l ’OS. • En Jaune : la partie de la pile spécifique à la « carte réseau » pour un OS donné :les drivers de la carte réseau. ICMP ARP

  6. Encapsulation / démultiplexage Encapsulation Démultiplexage

  7. Ethernet OSI Ethernet * les cartes réseau Ethernet ont une adresse MAC unique

  8. Couche application AppleTalk TCP/IP LLC CSMA/CD physique Le rôle de LLCdistribution des informations au bon protocole Un PC windows Un Mac OS X Une imprimante Couche application Couche application TCP/IP AppleTalk LLC LLC CSMA/CD CSMA/CD physique physique

  9. Code Constructeur Remarque 0020AF 3COM Corporation 0080C8 D-Link 00A0C9 Intel Cartes PRO100B L’adresse MAC • Chaque appareil adressable d'un réseau doit avoir une adresse spécifique. • Dans le cas des réseaux Ethernet, cette adresse est composée de 6 octets. • Elle est codée sur chaque carte interface lors de sa fabrication. La mise à disposition des adresses est contrôlée de façon très stricte par l'IEEE. Chaque constructeur se voit attribuer un identifiant unique et une plage de numéros pour ses cartes interfaces. La combinaison fournit l'adresse Ethernet ou adresse MAC de la station. • Les trois premiers octets contiennent l'identifiant du constructeur. Les adresses IEEE, ou adresses MAC, sont notées en hexadécimal, en séparant les octets avec le symbole "-" ou ":". • Exemple : 00-20-AF-56-78-1B et 00:20:AF:56:78:1B correspondent à la même adresse d'une carte du constructeur 3Com. Codes constructeurs

  10. IP (Internet Protocol)couche réseau • IP gère : • Adressage • ARP • Adresse IP • DNS • Le routage • Principe • Protocole de routage dynamique • ICMP • La fragmentation • MTU Le protocole IP est dit « Best effort delivery » c’est à dire qu’il fait de son mieux pour envoyer les données. Ce n’est pas lui qui est chargé de s’assurer que le message final est bien arrivé à destination.

  11. A B C Le protocole ARP (address resolution protocol) • Le protocole ARP est lié au mode de fonctionnement des réseaux Ethernet. • Le problème : • La machine A veut communiquer avec la machine B et elle connais son adresse IP. • Mais le N°IP est une information de niveau 3 elle a également besoin de l’adresse Ethernet du correspondant pour composer sa « trame Ethernet »… elle va donc faire une requête ARP et attendre une réponse. Pour cela elle fait un broadcast (appel sur tout le réseau) • La station qui se reconnaît envoie une réponse contenant son adresse IP et son adresse Ethernet. • La réponse est mise dans une mémoire (cache ARP) et durant un certain laps de temps toutes les trames en direction de ce même numéro IP utiliseront la correspondance @IP>@Ethernet mise en mémoire. IP =192.168.44.3 Eth= 03:00:ff:40:23:70 IP =192.168.44.75 Eth= 03:00:ff:25:30:65 IP =192.168.44.200 Eth= 03:00:ff:00:01:20 Question à tous : je suis ip=192.168.44.3 Eth=03:00:ff:40:23:70 qui est IP=192.168.200 ? Réponse à Eth=03:00:ff:40:23:70 IP=192.168.44.3: mon Eth= 03:00:ff:00:01:20 et mon IP= 192.168.44.200

  12. 1) Adressage IP • L’adresse IP : Toutes les machines connectées au réseau doivent avoir une adresse IP différente. A la différence de l’adresse MAC (Ethernet) L’adresse IP intègre en plus une notion adresse du réseau. Il est alors facile de retrouver une machine dans la multitude des réseaux connectés. • Comme l’adresse IP doit être unique il existe une autorité centrale pour allouer ces adresses aux réseaux connectés. Cette autorité est le Centre d’Information du Réseau Internet appelé InterNIC • Il existe 3 types d’adresse IP : • Unicast (destiné à une seule machine) • Broadcast (destiné à toutes les machine d’un réseau donné) • Multicast (destiné à toutes les machines d’un groupe multicast) • Une adresse IP est un nombre de 32 bits. Pour des raisons évidentes de lisibilité on utilise la notation décimale pointée • (ex : 192.168.44.3 pour l ’adresse binaire 11000000101010000010110000000011) • Adresses particulières: • 127.0.0.1 « loopback » adresse virtuelle employée pour les tests est les simulations. • Une adresse C dont le dernier octet est un 0 est une adresse de réseau… • Une adresse C dont le dernier octet est 255 est un broadcast…

  13. 1) Adressage IP CLASSE A : Adresses de 0.0.0.0 à 127.255.255.255 • Formation d’une adresse sur 32 Bits : • Les adresses privées : ces adresses ne sont pas routées sur Internet RFC 1918. Elles permettent de créer des réseau privés sans aucun risque « d’interférences » • classe A : 10.0.0.0 à 10.255.255.255 • classe C : 172.16.0.0 à 172.31.255.255 • classe C : 192.168.0.0 à 192.168.255.255 • Les masques de réseau: ils permettent de « subneter » le réseau. Par exemple vous disposez d’une classe B (donc possibilité d’allouer (216 - 2) machines ) mais vous voulez plutôt préférer gérer 28 réseau de (28 - 2) machines (soit 254). • Le NetMask pour classe B de 1 réseau et 65354 ordinateurs est 255.255.0.0 (ou /16) • Le NetMask pour une classe B « subnetée » en 253 réseaux de 254 machines est 255.255.255.0 • Attribution statique ou automatique des numéros IP : L’utilisation conjointe d’un serveur DHCP permet une attribution « à la volée » des numéro IP. CLASSE B : Adresses de 128.0.0.0 à 191.255.255.255 CLASSE C : Adresses de 192.0.0.0 à 233.255.255.255

  14. Application TCP/IP : le DNS • Retenir des N°IP pour se connecter à un ordinateur n’est pas très facile voir impossible. Au début d’Internet des fichiers contenant la liste de toutes les adresses du réseau étaient créés sur toutes les machines. Cela est vite devenu impossible à gérer avec l’explosion d’Internet… d’où la création d’une base de données hiérarchisée pour retrouver tous ces noms : le DNS (Domain Name System). • Attention le DNS n’est pas basé sur une organisation géographique. Les domaines à deux caractères (.fr, .uk, .us) indiquent plutôt un renseignement « linguistique » sur leurs sous-domaines mais pour le cas des domaines génériques à 3 caractères (.com, .net, .org, …) ils ne sont pas réservés aux domaines américains (sauf .gov et .mil).

  15. Arpa com edu gov int mil net org fr uk us … Organisation schématique du DNS Racine non nommée TOP niveau cnrs-orleans In-addr www web 163 www.cnrs-orleans.fr crmd 9 www speedy 1 www.crmd.cnrs-orleans.fr 2 Domaines génériques (organisationnels) Domaines géographiques

  16. IP : le routage • Pour acheminer un datagramme IP deux cas sont possibles: • La remise directe : le destinataire est dans le même réseau (voir diapo précédente pour ARP) le datagramme est adressé directement. La remise directe est toujours utilisée dans le cas du dernier routeur. • La remise indirecte : le destinataire est dans un autre réseau, il faut franchir au moins un routeur.

  17. IP : le routage • Dans le cas d’une remise indirecte : • La machine source s’aperçoit que l’adresse du correspondant n’est pas dans le même réseau. A ce moment elle consulte sa table de routage. • La table de routage est une liste IP Réseau Destination > IP Prochain routeur. On dit que le routage est par sauts successifs (next hop routing). • Si aucun réseau destination ne correspond elle envoie le datagramme IP au routeur par défaut de son réseau. • Le TTL du datagramme est décrémenté ( pour éviter le bouclage et les congestions)

  18. Internet 192.9.1.12 192.9.1.1 192.10.10.12 Routeur 192.9.1.15 193.9.10.1 193.9.10.10 Exemple de routage Table de routage 163.9.1.2 Routeur 195.19.1.2 195.19.1.12

  19. IP : routage • La table de routage est statique quand est elle mise à jour « à la main » ou par ICMP (voir le protocole ICMP). • La table de routage est dynamique quand la mise à jour est impossible manuellement car les routes sont trop complexes ou trop fluctuantes. • Protocole RIP (routing information protocole) : des informations sont échangées entre routeurs voisins. A cause de sa mise en œuvre RIP est réservé aux petits réseaux (métrique 16 = infini ) • Protocole OSPF (Open Shortest Path first) : beaucoup plus complexe et performant que RIP. Il calcule les routes en fonction « des coûts » des liaisons.

  20. IP : la fragmentation • Suivant le type de réseau traversé pour aller d’un point à un autre la longueur de la trame d’origine peut être un problème : • Trame Ethernet au Max 1526 Octets (dont 1500 Octets de données) • Trame Token Ring plus de 4400 Octets ). • Donc si une trame part d’un réseau Token Ring vers un réseau Ethernet les trame seront trop longues … il va falloir les découper en plus petits morceaux, c’est la fragmentation. Le routeur qui s’aperçoit du problème découpe la trame d’origine en X paquets numérotés, puis il les envoie sur la bonne interface. A l’autre bout IP réassemble ces paquets pour délivrer le datagramme comme il a été envoyé. La plus grande taille d’un datagramme IP est donnée par son MTU (Maximun transmit Unit) qui est, par exemple, de 1500 pour Ethernet et de 4464 pour Token Ring).

  21. IP : le protocole ICMP • Le protocole ICMP (Internet Control Message Protocol): • Le protocole ICMP utilise IP. Il se trouve logiquement dans le haut de la couche. • Il ne sert pas à fiabiliser IP mais rendre compte d’erreur de routage. Ces informations servent à créer de nouvelles routes dans les tables de routage ou encore à informer de la coupure d’une ligne , ou bien tout simplement à rendre compte de l’état actif ou inactif d’une interface (fonction écho utilisée par le programme ping) .

  22. TCP • Transport Control Protocol : Tcp est un protocole de transport fiable. Il est dit connecté car il s’assure avant de transporter des données que le correspondant est disposé à les recevoir dans de bonnes conditions. Comme TCP s’appuie sur IP qui lui n’est pas fiable il doit s’assurer du contrôle des données arrivées. TCP gère le flux de données pour limiter les congestions du réseau. • TCP repose sur plusieurs concepts parmi eux les principaux sont: • Le mode client / serveur • Les « sockets » • La « poignée de main » et Les accusés de réceptions • Les fenêtres de données

  23. Le client serveur • Dans le mode client serveur simple une des deux machines est « passive », le client, et l’autre est « active », le serveur. • Le client interroge le serveur • Le serveur suivant répond ou agit en fonction de la requête du client. • Par exemple : le web. • L’application cliente est le navigateur • L’application serveur est le serveur web (au sens logiciel) • Le navigateur envoie une requête avec le protocole approprié (HTTP) et le serveur l’analyse et y répond en suivant lui aussi le même protocole.

  24. Les « sockets » • Le problème : si sur une même machine deux programmes serveurs (ou clients) sont actifs et comme cette machine n’a qu’une adresse ip… comment les deux couples client/serveur vont-ils dialoguer? Machine A Machine B ? Serveur Web Client Web Serveur Telnet Client Telnet Ip= 192.168.20.3 Ip= 192.168.20.100

  25. Les « sockets » • La solution est donner un numéro de « port virtuel » à chaque application. • Chaque connexion (socket) est identifiée par: • IP source / port source et IP destination / port destination • Il existe deux types de numéros de ports ceux inférieurs à 1024. Ces ports sont ceux dit « biens connus » il sont référencés et ils servent à distinguer les types de serveurs (80 http, 21 ftp commandes, 23 telnet, 139 netbios, …) et ceux « éphémères » au dessus de 1024 et jusqu’à 65535 qui eux servent aux clients. Serveur Web Client Web 192.168.20.3:80 192.168.20.100:1025 Serveur Telnet Client Telnet 192.168.20.3:23 192.168.20.100:1026 Ip= 192.168.20.3 Ip= 192.168.20.100

  26. Flag:Syn – N°de séquence Client – taille transmise (0) Dialogue : SYN SYN/ACK ACK Flag:Syn – N°de séquence Serveur – taille transmise (0) ack - N° deséquence Client +1 temps Flag:Ack – N°de séquence Serveur +1 – taille transmise (0) L'établissement de la connexion • TCP est un protocole de transport dit connecté C’est à dire qu’il va établir une connexion et des vérification avant d’envoyer des données. L’établissement de cette connexion utilise la technique de la « poignée de mains à trois voies » (three-way handshacke). • Exemple d’un diagramme de temps : Etablissement de la connexion : technique dite « send en wait » … Si au bout d ’un certain temps on a pas reçu d’acquittement: nouvelle demande Serveur Client

  27. Envoi massif de données Mémoire disponible Bloc de données Emetteur Recepteur ... ... 1 2 3 4 5 6 1 2 3 • Technique de la « fenêtre glissante »: 1 2 3 4 5 6 ACK + Mémoire disponible PUSH 1 PUSH 2 1 2 3 4 5 6 1 2 2 PUSH 3 ACK 1 + mémoire dispo ACK 2 + mémoire dispo 1 2 3 4 5 6 PUSH 4 1 2 3 1 2 3 1 2 3 4 5 6 Le récepteur renseigne l’émetteur sur le volume qu’il peut supporter (avant traitement). L’émetteur envoie donc les différents blocs de données sans attendre les accusés de réception (ACK). Si un accusé de réception n’est pas retourné pour un bloc TCP l’expédie de nouveau (fiabilité) . Si trop de bloc de données arrivent avec des erreurs TCP modifie ces « timers » et il prend plus de temps pour l’envoi (gestion de flux).

  28. Problèmes possibles Fin d’une connexion TCP

  29. Les Flags possibles sont : • Lors de l’établissement des connexions TCP va en plus échanger des informations sur les capacités des deux parties. • Une information de fenêtre (taille des mémoires buffers allouées). TCP ne doit pas envoyer plus de données que la taille de la fenêtre. Des accusés de réception (Ack) mettent régulièrement à jour cette information (voir le transparent « envoi massif de données »). • Une information de MSS (maximun segment size) qui est en fait la MTU (Maximun Transmission Unit) moins les 20 octects de l’entête TCP. Cette information permet a TCP de contrôler la taille de ces segments pour éviter la fragmentation au niveau IP, et par là limiter le travail de la couche réseau. • Le numéro de séquence est un indicateur de la position du paquet dans le flux de données. De façon simple,Le numéro de séquence correspond à un numéro de départ incrémenté de taille des données +1. • Mise en place d’algorithmes spécifiques comme celui de Naggle (pour limiter les petits paquets sur le réseau) ou encore celui du démarrage lent (qui assure une montée en débit progressive du flux de données une fois la liaison bien testée)

  30. TCP met en œuvre également des timers qui servent à savoir si un segment est considéré comme perdu ou si il faut encore l’attendre. Ces timers s’ajustent automatiquement tout au long de la transmission le RTT (Round Trip Time) est le temps entre l’envoi d’un segment et la réception de son acquittement (Flag ACK). Si ce délai est dépassé TCP génère un Timeout. Donc grâce à ce mécanisme TCP s’adapte à tous les réseaux. • Les principaux états possibles d’une connexion: • Listen : en attente d’une connexion • Established : la connexion est active > communication entre les deux machines • Time-Wait : connexion en attente (d’un ACK , d’une FIN, …)

  31. UDP • User Datagram Protocol : UDP est protocol de transport qui fonctionne sur un mode non connecté. Il est très similaire à TCP mais comme il n’est pas connecté il ne peut garantir la fiabilité des données transportées. C’est à la couche application de s’assurer de l’intégrité des données. Le mode non connecté permet des communications « légères » et par définition il permet de broadcasting. Si une arreur est détectée dans un datagramme UDP, ce dernier est détruit « en silence ». • Il utilise lui aussi des numéros de ports. • Exemple d’applications utilisant UDP: • Le DNS, les serveurs de temps, tftp, snmp

  32. Les outils de test de TCP/IP • Ping : permet de savoir si une machine est active. Ping est un programme qui utilise le protocole ICMP. Il utilise la fonction echo. Il envoie une quantité de données à une machine. Cette dernière si elle active répond en renvoyant les données. Ping mesure également le temps d’aller / retour. • Traceroute : permet de connaître le chemin pris par IP avec les délais associés. Traceroute utilise une fonction du prtocole IP le TTL et lui aussi ICMP (message retour du routeur). Il place le champ TTL à 1 et le premier routeur le décrémente. Dès que ce champ passe à 0 une erreur ICMP est générée… Traceroute connaît le premier routeur. Puis il place ce champ à 2, ..etc • Netstat : donne l’état des connexions TCP. • TCPdump : est un sniffer en ligne de commande il permet des analyses très fines. • …

  33. Résumé d’une communication TCP/IP sur Ethernet Conditions de départ : La machine A veut se connecter au serveur www.test.fr … elle ne connaît que son nom. 192.54.32.0 > test.fr Machine A .1 Routeur 192.9.15.10 Routeur 192.54.32.0 .1 192.9.15.0 Routeur DNS WWW 192.54.32.10

  34. L’utilisateur lance son logiciel client de navigation WWW • Il saisit l’URL suivante : http://www.test.fr • Comme le client doit passer une adresse IP à TCP il utilise le resolver DNS pour avoir l’IP exacte du serveur • Requête au DNS connu : • Réponse du DNS www.test.fr IP=192.54.32.10 • Le client de navigation WWW passe l’ordre d’envoi d’une requête sur 192.54.32.10 à TCP • Dans un premier temps TCP doit s'acquitter de sa poignée de main pour cela Il passe à IP les données nécessaires pour une synchronisation (Flag:Syn) sur le serveur web 192.54.32.10 (segment TCP) • Au niveau IP… Est-ce que cette adresse est de mon réseau ? Et si non comment la joindre ? • Oui > Est-ce que je connais l’adresse Ethernet pour cet IP (cache ARP) • Oui > la machine peut envoyer ces trames • Non > requête ARP • Non > lecture de la table de routage > la seule route est celle par défaut c’est à dire via le routeur en .1 • Est-ce que j’ai l’adresse Ethernet du routeur • Oui … • Non … • Il passe ces informations au drivers de la carte Ethernet (paquet IP) • Couche LLC Prépare de la trame (simplifiée) suivante le driver et la carte réseau envoient les bits : • Le Premier routeur s’aperçoit que la trame est pour lui … • Il lit l’adresse de destination et recherche une route dans sa table de routage • Suivant la route trouvée il change l’adresse Ethernet de destination et source (la sienne) • Regarde si la longueur de la trame va avec le MTU de la ligne • Si non fragmentation en paquet compatibles • Décrément du TTL • Recalcule des CRC • Envoi au saut suivant Encapsulation Demande connexion (SYN) Rem : Syn ne fait pas partie du champ Données 10:0C:75:23:01:58 192.54.32.10 80 00:0f:ad:1e:00:88 192.9.15.10 1025

  35. X routeurs plus loin … • Le routeur aiguille la trame sur un de ces réseaux • Est-ce qu’il connaît l’adresse Ethernet de destination dans ces caches ? (si non ARP) • + le reste • Envoi de la trame sur le réseau. • La trame (simplifiée) suivante circule sur le réseau … • Le niveau 2 du serveur s’aperçoit que la trame lui est destinée • Remontée vers IP • Si besoin est reconstitution des fragments • Remontée vers TCP lecture du numéro de port • 1) réservation de la fenêtre • 2) réponse au SYN par un ACK • 3) appel de l’application serveur Web (port 80) • Après la poignée de main, le client www peut envoyer une requête HTTP, le serveur qui est en attente lui répondra, etc … Demande connexion (SYN) Ad. Eth Routeur 192.54.32.10 80 Ad. Eth destination 192.9.15.10 1025 Démultiplexage de la trame reçue

More Related