Romain Chauviré ====== Réaliser un réseau d'entreprise sous Cicso Packet Tracer et expliquer une trame de données ====== PERREUX Les **réseaux informatiques** nous entourent, ils sont partout et nous les utilisons tous les jours. Pourtant, peu d'entre nous savent vraiment comment ils fonctionnent. Par exemple, vous êtes actuellement entrain d'utiliser le réseau Internet. C'est à dire que vous envoyez et recevez des trames (//plus connus sous le nom de paquets, nous verrons la différence plus tard//). Accrochez vos ceintures, on est parti ! ---- ===== I. Une trame ? KeskeC ? ===== Premièrement, voyons ce qu'est une trameway. C'est un moyen de transport présent à Dijon Prenons une communication entre mon PC (qui a l'IP locale 192.168.1.42 et le site http://loutrel.fr - qui a pour IP 213.186.33.3 - [[http://www.ip-adress.com/reverse_ip/loutrel.fr|source]]). Grâce à un logiciel appelé [[https://www.wireshark.org/|Wireshark]], nous allons analyser des trames entrantes et sortantes de notre ordinateur. {{:les_exposes:ss_2015-04-01_at_05.54.50_.png?1000|Les trames de données}} //Ici les trames sont volontairement filtrées pour n'afficher que celles qui nous intéressent.// Ne fuyez pas tout de suite, il y a pire ! {{:les_exposes:test.jpg?1000|Une trame de données}} Ceci est le contenu d'une des trames de données. Et encore, elle continue plus loin. Mais bref, vous avez compris que l'on a du pain sur la planche. Rassurez-vous, tout ceci ne sera pas expliqué ici. Nous ne ferons que survoler ces éléments. Si vous cherchez un vrai cours bien précis et très intéressant, je ne peux que vous recommander le cours de [[http://openclassrooms.com/courses/apprenez-le-fonctionnement-des-reseaux-tcp-ip|OpenClassrooms]] sur ce sujet ! ==== 1. Paquet et trame : le modèle OSI ==== {{ :les_exposes:comparaison_des_modeles_osi_et_tcp_ip.png|Le modèle OSI}}Afin de comprendre la différence entre un paquet et une trame, nous devons aborder quelque chose de nouveau : le modèle OSI (image à droite). Pour faire simple, une information transitant sur un réseau devra passer par toutes ces couches, de haut en bas ou de bas en haut. Au niveau de la couche 3 (Réseau), on appelle l'information transitant, **une trame**. Il s'appelle **paquet** au niveau de la couche 7 (Application), soit au début ou à la fin d'une transmission réseau. Nous devons maintenant voir un principe fondamental, l'**encapsulation**. ==== 2. L'encapsulation ==== Nous fonctionnons ici sous le protocole TCP/IP. Le protocole TCP/IP est l'ensemble des protocoles permettant de transmettre des données sur Internet. Par exemple, lorsque vous tentez de vous connecter à un site web, vous utilisez le protocole HTTP qui est un protocole de TCP/IP. Prenons une transmission réseau banale. Elle part de votre navigateur internet favori (Mozilla Firefox évidement) pour passer par chaque couche du modèle TCP/IP (l'équivalent du modèle OSI en simplifié, image à droite). Et bien à chaque passage dans une couche, la transmission réseau se verra dotée d'un nouveau message dans un "//langage//" différent mis au début de la transmission existante. A la sortie de notre PC, notre transmission ressemblera à ceci : > Langage Accès Réseau - Langage Internet - Langage Transport - Langage Application Lors de la lecture d'une trame (donc pour le destinataire), le modèle TCP/IP fonctionne de bas en haut. C'est à dire que la transmission passera d'abord par la couche accès réseau, puis par la couche Internet... Chaque couche retire son message une fois qu'il est interprété. Et c'est exactement ce que l'on veut ! Re-regardons notre trame, les langages et l'ordre de passage des trames sont les mêmes ! Comme de par hasard ! Si bien que la trame peut être lue et comprise par notre ordinateur ! Maintenant que nous avons toutes les clés en main, expliquons une trame ! ---- ===== II. Le contenu d'une trame ===== Le réseau dans lequel nous allons effectuer nos tests est celui-ci : {{ :les_exposes:e2e261e7ad.png| Le réseau }} Disons que le PC0 veut envoyer une information au PC4. {{ :les_exposes:c879c0e10d.png?400|Cisco Packet Tracker}} Voici la trame qui sortira du PC0 (image à droite). Expliquons en premier la couche 3 (Layer 3). ==== 1. La couche 3 ==== Dans cette couche 3 (Internet), nous avons dans l'ordre : * L'IP de l'expéditeur (192.168.1.1) * L'IP du destinataire (192.168.2.1) * Le type ICMP du message (ici une demande "ECHO" qui est une demande de renvoi d'informations, comme avec la commande PING que l'on a utilisé ici) ==== 2. La couche 2 ==== Dans cette couche 2 (Transport), nous avons dans l'ordre : * L'adresse MAC de l'expéditeur (00D0.D304.B051) * L'adresse MAC du destinataire (0060.2F50.5147) ... Quoi ? Y a un problème ? Comment ça vous ne savez pas ce que c'est qu'une adresse MAC ? 8-o Bon, bref, une adresse mac est un identifiant qui est censé être unique. C'est à dire que, sauf intervention de l'utilisateur, chaque carte réseau à une adresse MAC différente. Un peu comme un numéro de Sécu ou je ne sais quoi. Pourquoi utiliser une adresse MAC et ne pas se baser uniquement sur les IP ? Et bien accrochez-vous, car ce n'est pas très très simple à comprendre ! En fait, notre réseau Internet est composé d'une multitude de routeurs. Ainsi pour envoyer une information d'un point A à un point B, l'information passera par un point C, D, E, F... Les adresses IP en couche 3 sont celles du point A et du point B, alors que les adresses MAC (couche 2) sont celles du point où se trouve actuellement l'information et celle du prochain point où ira l'information. Ainsi, il est aisé de savoir d'où est parti initialement l'information ainsi que où elle doit arriver, mais il est aussi simple de savoir d'où est parti l'information juste avant et où elle doit aller juste après. ==== 3. La couche 1 ==== La couche 1, c'est un câble et une prise. Voila. ==== 4. Les ports et le NAT ==== Il ne nous reste qu'une dernière chose à voir, l'utilité des ports (pas ceux avec des bateaux) et du NAT. Un port est une sorte de "porte virtuelle", pouvant être ouverte ou fermée, permettant de lier l'ordinateur au réseau. Chaque machine en possède un très grand nombre. Certains ports ont des taches bien précises (bien qu'ils puissent tout de même être utilisés pour autre chose). Par exemple, le port 80 est le port par défaut du protocole HTTP. C'est à dire celui que vous utilisez avec notre navigateur préféré (Internet Explorer Mozilla Firefox). On va faire très simple : imaginons que je demande une information au site Loutrel.fr (213.186.33.3). Le site va donc devoir me répondre. L'ordinateur met donc son IP locale (192.168.1.42 ici) dans la trame et l'envoie. Loutrel.fr va donc recevoir la trame, l'analyser et vouloir renvoyer une information. Il doit donc mettre l'IP du destinataire... Et là, c'est le drame ! Nous lui avons envoyé l'IP locale, notre adresse au sein même de mon réseau, et jamais l'IP du réseau en lui-même, il ne pourra donc jamais nous répondre ! Nous devons donc effectuer un changement de cette adresse IP source à un moment. Et c'est le routeur qui s'en charge. Pour ceci, il va utiliser la **table NAT**. En voici une : ^ Informations ^ Signification ^ | 192.168.1.42, 213.186.33.3, 60232, 80 | IP Source, IP Destinataire, port source, port destinataire | Mettons nous dans la peau de Loutrel.fr. Le port ayant envoyé l'information est le 60232. Il va donc nous renvoyer depuis son port 80 vers notre port 60232. Notre routeur sait, grâce à la table NAT (qui s'actualise automatiquement), que les informations arrivant dans le port 60232 doivent être dirigées vers l'IP locale 192.168.1.42 et change la trame en conséquence. ==== 5. L'exemple réel ! ==== {{ :les_exposes:ofjspdjfds.jpg|L'explication claire simple et précise}}Voici la trame réseau que nous avons vu au début. Vous pouvez voir que toutes les informations que nous avons vu plus tôt sont présentes (ainsi que d'autres plus obscures les unes que les autres, qui, dans une grande majorité, sont des informations par rapport à leur contenu). Et voila ! Vous êtes maintenant des professionnels des réseaux ! Félicitations ! 8-) ---- ===== Sources ===== * [[http://fr.wikipedia.org/wiki/Modèle_OSI|Wikipedia FR - Modèle OSI]] * [[http://fr.wikipedia.org/wiki/Suite_des_protocoles_Internet|Wikipedia FR - Suite des protocoles Internet]] * [[http://openclassrooms.com/courses/apprenez-le-fonctionnement-des-reseaux-tcp-ip|Openclassrooms - Apprenez le fonctionnement des réseaux TCP/IP]]