_________ _ _ _______________ ___________ _______ MindKind10 __ _ __ __/ / | / / | Internet esspliqué, by LastCall_ / 10.6 / | aka: ma esspliquer ça drette net sec c'est quoi . ----- / ' yaka: ma vulgariser ça, stie. / / \_ _______ ______ _____ __ __ ___________ _______________/ ' /________/ Un jour, je me suis retrouvé face à face avec Internet. Je lui ai dis : "ok, je veux t'utiliser". Ya faite "ok", et je l'ai utilisé. Un autre jour je me suis retrouvé en arrière d'Internet, et ce après l'avoir regardé par en face pendant plus de 5-6 ans... j'ai eu un choc. Ce qui était pour être simpliste à la base, fût compliqué... et j'ai laissé tomber... y'avait rien d'intéressent à lire. Vous savez ces RFC ou bien ces cours d'université sur Internet, ben c'est platte... tu peux pas rien pratiquer, pis t'a pas une note sur 100 pour ton effort (aucun reward!). Sauf qu'un jour, je me suis retrouvé face à face avec une tonne d'équipement (je parle pas de tracteurs, mais de routeurs) et je me suis amusé(certain apelle ça travailler ;-) avec. Voici donc la fin de l'intro vous pouvez commencer à lire la : Level 1 Internet c'est un paquet de fils. Jusque la, on s'entend pour dire que c'est simple. Sauf qu'Internet c'est un batard de gros criss de paquet de fils. La ça devient plus compliqué (et vulgaire). Level 2 Le paquet de fils est pluggé ensemble. Évidamment y'a du data qui passe par les fils. 0 et 1 sont les seules choses qui existent (c'est simple :-). Level 3 Internet c'est une série de routes de gauche à droite. D'où vient le mot autoroute de l'information (les anglais l'ont pas, avec information highway ça veut rien dire; c'est de la marde l'anglais des fois ;-). Level 4 Internet c'est en plus de savoir où c'qu'on envoit/reçoit, savoir c'est quoi qu'on envoit/reçoit. Level 5 Ce qu'on reçoit et ce qu'on envoit, c'est parfois de la communication chez les deux bords.. donc y faut rester "pluggé" avec l'autre. Level 6 C'est beau envoyer des bytes, mais souvent on veut aussi envoyer d'autres choses (aka des composés de bytes qui donnent du data..). C'est étape la est compliquée, mais généralement on s'en sacre! (pour vrai..) Level 7 Mon ti programme quand je click sur le ti icône qui s'ouvre. Mais faut un protocole établit pour que l'autre bord d'Internet (l'autre machine) il comprenne ce que mon ti programme lui a sendé. Bon, maintenant c'était quoi ces niveaux? Bien c'est les couches d'Internet, une fois dissèquées. C'est généralement appelées les couches du modèle OSI. Pour être clair on prend un pain et on le regarde en face. /¯¯¯¯¯¯¯¯\ \ / | lvl7 | |________| Et oui, on voit juste le level 7... Mais si on coupe le pain ça donne : /¯¯¯¯¯¯¯¯\ \ lvl1 / /¯¯¯¯¯¯¯¯\ | \ lvl2 /__| /¯¯¯¯¯¯¯¯\ | \ lvl3 /__| /¯¯¯¯¯¯¯¯\ | \ lvl4 /__| /¯¯¯¯¯¯¯¯\ | \ lvl5 /__| /¯¯¯¯¯¯¯¯\ | \ lvl6 /__| /¯¯¯¯¯¯¯¯\ | \ / | | lvl7 |_| |________| Voici donc le pain Internet. 8-) On voit la croute, le level 7. Maintenant c'est ici que vous allez comprendre ce que je veux dire : Plaçons les protoles avec les levels : Level 7 : FTP, IRC, HTTP Level 6 : j'ai dis tantot que tlm sen crissait... heh Level 5 : RPC, SSL (malgrès que le monde sacre ça dans level 6.. ça pas de sens à mon avis) Level 4 : TCP, UDP Level 3 : IP, IPX Level 2 : Ethernet, PPP Level 1 : 0 pis 1 sur du câble stie. Jusque la, je suis sure que presque tout le monde a comprit les acronymes (ah les acronymes, plus que y'en a, plus que c'est leet). Une switch : Travaille sur le niveau 2. Un routeur : Travaille sur le niveau 3. Donc, une switch ça envoit les packets avec peu de décisions à prendre. Maintenant, imaginons Internet (le pain) avec une bactérie qui se prommène dans le pain (le packet) [note de Last: je tiens à m'excuser pour l'analogie de mes deux avec la bactérie.. le pain ok. mais la.. hehe] : Webserver switch routeur routeur /¯¯¯¯¯¯¯¯\ /¯¯¯¯¯¯¯¯\ /¯¯¯¯¯¯¯¯\ /¯¯¯¯¯¯¯¯\ \ (1) / \ (2) / \ (3) / \ (4) / | lvl7 |------->| lvl2 |------>| lvl3 |------->| lvl3 | |________| |________| |________| |________| | V Webbroswer switch routeur routeur /¯¯¯¯¯¯¯¯\ /¯¯¯¯¯¯¯¯\ /¯¯¯¯¯¯¯¯\ /¯¯¯¯¯¯¯¯\ \ (8) / \ (7) / \ (6) / \ (5) / | lvl7 |<-------| lvl2 |<------| lvl3 |<-------| lvl3 | |________| |________| |________| |________| Ya deux chose à faire avec ce pain moisi la : - Faire le portrait du packet une fois rendu à l'autre bout. - Regarder le dessin, pis se dire que ça ma prit 10 minutes à faire. Bon donc voici notre information : ¤ Cé cute (disons que cé du porn tien). Maintenant le motton de ¤ va devenir un paquet vue que le web server(1) le pitche sur le net. Il va donc prendre l'information de l'image et lui rajouter une couche de plus de level 7, HTTP. Dans le cas présent ça risque d'être un MIME TYPE ou une merde du genre. Voici notre information avec une couche ajoutée : (¤. Après ça le webserver est futé, y va savoir à qui l'envoyer et va rajouter ça dans le paquet, on rajoute donc une couche level 4 : {(¤ Maintenant qu'on a du IP, on peut ben mettre du level 2 pour que ça se rende plus loin que notre carte réseau : [{(¤ La switch(2) pogne ça, et regarde le [ qui est metton du Ethernet. Elle se dit "ouan ouan y cherche un petit pain avec une MAC address de même". Elle la trouve pas dans ses ports, elle s'en débarasse au plus criss à l'autre routeur(3). Le routeur(3) regarde donc ça et il se dit "ah ok le gentil packet veut aller voir cette adresse IP la"... je vais voir oû je peux l'envoyer. Il regarde donc dans ses tables, ainsi qu'autour de lui et décide de le passer au prochain routeur, qui le passe à l'autre {(¤ et qui le passe à la switch, qui décide d'un air con et simpliste : ah cte packet la y va dans cte câble la, bye : (¤ Pis la le webbrowser ouvre ça, découvre qu'il est récepteur du packet... Décode l'entête, wow cé du http pour mon moi même (¤, et affiche une paire de fesses à l'écran (le porn la) : ¤ Bon la il y a plusieurs questions qu'on s'était jamais posé auparavent : A) Comment la switch fait pour savoir que c'est pas dans ses ports ça la? B) Comment le routeur sait où qui faut qui envoye le foutu packet sul net? C) Pourquoi last, que t'engage pas qqn pour faire les ASCII à ta place? D) Me reste tu du beurre de pinuts ça ma donné envie de bouffer des beurées de level 7 (j'aime la croute ;-) Réponses : A) Résolution d'adresse : je l'ai tu dans ma table? sinon je call ARP! ARP! B) Routage avec des protocoles : OSPF, BGP, RIP, EIGRP C) Le pain maison cé tjrs meilleur. D) J'ai même le choix entre du crémeux pis du avec des pinuts dedans. E) Y'avait pas de question E, mais je vends déjà le punch que ya un level 2.5 pis que yé assé marran... RSVP/MPLS! Maintenant, on va aller voir un peu plus creux dans les choses... Comme on l'a vu, notre packet ( représenté par une bactérie dans le pain, [{(¤ ) se fait constamment rajouter/enlever des informations supplémentaires dans son entête. Cependant, les seules informations qui sont collées au packet sont des informations qui s'appliquent à celui-ci. Le packet ne sait pas tout, donc les éléments de notre réseau doivent se démarder entre eux mêmes pour faire marcher le tout. Donc, parmis tout les packets TCP et/ou UDP qui se prommènent sur Internet (ou dans n'importe kel réseau digne de ce nom), il y a d'autres packets, qui sont utilisés uniquement pour que les composantes (les switchs et routeurs) puissent de débrouiller. Je vais pas full m'attarder sur les gros détails de chaque foutu protocole, ni sur les headers des packets de ceux-ci... et ce pour 2 bonnes raisons : ça fait trop de stock à dire et c'est platte en caltore. Mais bon, dans un futur article je vous promets un bon deep look sur un packet.. juste pour s'amuser :-) /- On the side -/ Vu que j'ai tendence à rentrer beaucoup dans les détails, veuillez vous référer à l'article "Internet++" pour plus de détails, je vais mettre un (*) après chaque affaire expliquée dans l'autre article.. Exemple : Pain brun(*) /---------------/ ARP, Address Revolution Protocol. Si vous voyez un packet un jour qui dit "Who has 24.20.50.53 tell 24.20.50.4" c'est un paquet de ARP. Les paquets ARP sont broadcastés(*) sur un LAN(*) Ethernet(*). Donc ce sont les switchs (level 2) qui propagatent ça... en gros ça sert à savoir qu'elle est la MAC adress d'une telle adresse IP. Le but? Pouvoir envoyer un packet directement au destinataire via Ethernet, on doit savoir son adresse MAC... Bon alors ici on voit beaucoup de nouveaux mots, ou de mots mal comprit : Ethernet(*) : technologie de niveau 2, la plus utlisé dans un LAN(*). Adresse MAC(*) : aucun rapport avec MacDonald et les iMac, identifieur unique d'un device Ethernet. Toute ça pour dire que c'est pas trop compliqué : quand le packet voyage dans une switch, la switch regarde la MAC adress, s'elle est dans sa table de MAC adress (associée avec un port... un cable de plugger sur la switch finalement) elle envoye le packet par ce fil la. voilà. Les routeurs ont la vie plus difficiles que les switchs. Il existe plusieurs cas, qui doivent être vues à plusieurs niveaux. En gros, si on regarde Internet, c'est une série de réseaux interconnectés, appellés AS(*). Il existe donc plusieurs protocoles permettant que tout soit routé ensemble. Bien qu'ils sont différents, ils finissent par toute faire la même genre de job, y dépendant du niveau. Lorsqu'on relit deux réseaux ensemble, on fait appel à des protocoles "border gateway", BGP(*) par exemple. Dans chaque réseau, il existe des protocoles internes de routage, OSPF(*) et RIP(*) par exemple. Tout ces protocoles font une chose en commun : remplacer une route statique. C'est donc de cette facon que le routage est "dynamique" et non "statique"... Rendu à ce point ici de la compréhension, on a qu'a se dire que chaque protocole fait sa job à son niveau. Généralement chaque protocole a une table de routage, et la tien updatée à l'intérieur de tout les routeurs de son réseau et peut la changer en temps réel selon certaines contraintes. C'est pour cette raison que dans la plupart des protocoles internes, on doit établir une connexion de voisin(neighbor en anglais) entre les différents routeurs, pour qu'ils savent à quoi ils sont réellement pluggés. Ces derniers procotoles, servent donc à donner de l'intelligence aux routeurs : ils savent où envoyer le packet. On peut aussi faire en sorte que le packet se fasse guider lui-même. Un router peut ajouter en haut du packet différents champs qui lui permettent de se guider par lui même parmis les routers... m'enfin, le router va regarder ce que la packet a à dire sur la route à suivre.. Vu que le monde sont crazy, y faut que les protocoles qui régissent ça soient sur le layer 2.5. On a donc par exemple MPLS(*), qui définie l'entête à placer, et RSVP(*) qui s'occupe de réserver le chemin à prendre par le packet. Avec des trucs comme ça, on peut donc faire de la réversation de bandwith par exemple et prommener nos packets dans un tunnel créé par ces protocoles... c fou hein? ;-) La vous venez de voir que je passe a travers une chose rapidement et d'une façon très condensée. Et bien j'ai pas le choix, ya tellement de choses différentes, que si je m'attardais toujours j'aurais pas fini... mais bon je crois que ce texte a pu donner une très bonne idée de ce que ressemble "Internet" à un niveau plus bas que celui que les gens sont supposés appercevoir... Pour les futés en réseautique qui cherchent le boutte oussé que je vais parler de subnetting et toute ça et bien vous pouvez pratiquement passer votre chemin.. j'ai pas envie d'en parler, heh. Par contre, allez voir le petit supplément d'article, je vais parler de ce qu'est un netmask(*) ainsi que les classes(*)! Tant qu'à faire on va regarder aussi le TCP(*) et le UDP(*). Pis en prime (comme si c'était pas assé), le ICMP(*) m'intrigue moi. Dans le prochain ezine on va laisser de coté un peu la théorie pour faire de la pratique. On va mettre à nue un packet, et regarder des commandes CISCO. Ça risque d'être intéressent comme surtout après avoir lu la théorie ici. Greetz : - GATTI pour les bières d'aujourdhui (discuter de rézo avec dla bière c fun) - SOulette pour tjrs m'estiner et m'en montrer - Le pain italien pour m'avoir servi de modèle pour mes ASCII ainsi que de fond de nourriture.