{"id":347,"date":"2018-05-04T09:59:35","date_gmt":"2018-05-04T07:59:35","guid":{"rendered":"http:\/\/members.loria.fr\/MDuflot\/?page_id=347"},"modified":"2018-05-04T09:59:35","modified_gmt":"2018-05-04T07:59:35","slug":"reseaux-info-a-ma-fille-tcp","status":"publish","type":"page","link":"https:\/\/members.loria.fr\/MDuflot\/reseaux-info-a-ma-fille-tcp\/","title":{"rendered":"TCP, ou comment notre ordinateur joue au puzzle sans qu&rsquo;on le sache"},"content":{"rendered":"<p>Le r\u00e9seau internet est grand, les routes possibles sont tr\u00e8s nombreuses et le nombre de messages qui circulent est gigantesque. Si on veut se faire une id\u00e9e, il s&rsquo;\u00e9change dans le monde l&rsquo;\u00e9quivalent de 2000 films, des vrais, de bonne qualit\u00e9 comme au cin\u00e9ma&#8230; par seconde. Du coup il peut arriver que des messages se perdent. Par exemple si un routeur re\u00e7oit trop de messages et n&rsquo;a plus de place dans sa m\u00e9moire pour les stocker avant de les renvoyer, les messages vont \u00eatre perdus. Et si j&rsquo;envoie mon message par un chemin et qu&rsquo;un des routeurs sur ce chemin est indisponible il peut ne pas arriver \u00e0 destination. Du coup, pour ne pas que plein de messages perdus ou trop vieux\/devenus inutiles circulent sur le r\u00e9seau en augmentant les embouteillages, on autorise \u00e0 chaque message un nombre maximum de passages par les routeurs, par exemple 30. C&rsquo;est comme si notre message avait 30 tickets, et \u00e0 chaque passage dans un routeur il doit donner un ticket. Si a un moment il n&rsquo;a plus de ticket, c&rsquo;est qu&rsquo;il a pris un mauvais chemin et s&rsquo;est perdu. Et pour ne pas encombrer le r\u00e9seau les routeurs le font dispara\u00eetre.<\/p>\n<p>Mais alors, vu qu&rsquo;un message peut se perdre ou \u00eatre jet\u00e9 par un routeur, comment faire pour \u00eatre s\u00fbre que mes messages arrivent bien \u00e0 destination ? Il y a une solution toute simple : quand un ordinateur re\u00e7oit un message, il r\u00e9pond \u00e0 celui qui a envoy\u00e9 le message que c&rsquo;est bon, le message est bien arriv\u00e9. En informatique cela s&rsquo;appelle un acquittement. C&rsquo;est un peu comme les accus\u00e9s de r\u00e9ception sur le courrier. Pour une lettre tr\u00e8s importante on peut demander (en payant un peu plus cher) de recevoir un papier qui nous dit quand notre lettre a \u00e9t\u00e9 donn\u00e9e au destinataire. Une fois qu&rsquo;on a re\u00e7u l&rsquo;acquittement on est s\u00fbr que tout s&rsquo;est bien pass\u00e9.<\/p>\n<p>Et si on ne re\u00e7oit pas l&rsquo;acquittement, on ne sait pas si c&rsquo;est notre message qui s&rsquo;est perdu ou juste l&rsquo;acquittement. Mais dans le doute on renvoie le message, pour \u00eatre s\u00fbr. Bon \u00e7a \u00e7a marche mieux avec un ordinateur, parce que renvoyer un message c&rsquo;est facile et \u00e7a ne co\u00fbte pas grand chose. Par contre si notre lettre contenait tout un dossier avec des documents (pour l&rsquo;inscription au coll\u00e8ge par exemple) si on doit la renvoyer il faut remplir de nouveau le dossier, payer un nouvel envoi, et perdre encore un jour ou deux.<\/p>\n<p>Et si on veut envoyer non plus une lettre mais une grande armoire, comment on fait ? Dans la vraie vie en g\u00e9n\u00e9ral on d\u00e9monte l&rsquo;armoire, on met les morceaux dans diff\u00e9rents colis (pour que \u00e7a ne fasse pas un colis trop lourd), on num\u00e9rote les colis (pour v\u00e9rifier qu&rsquo;on a tout \u00e0 l&rsquo;arriv\u00e9e) et on les envoie. Celle qui re\u00e7oit les colis v\u00e9rifie qu&rsquo;elle a bien tout re\u00e7u en regardant les num\u00e9ros des colis, regarde si les paquets ne sont pas ab\u00eem\u00e9s puis signe le papier de livraison pour dire que tout va bien.<\/p>\n<p>Et bien en informatique c&rsquo;est pareil. Il y a ce qu&rsquo;on appelle le Protocole de Contr\u00f4le de Transport (TCP en anglais) qui va permettre de s&rsquo;assurer que j&rsquo;ai bien tout re\u00e7u et de mettre les choses dans l&rsquo;ordre.<\/p>\n<p>Mettons que j&rsquo;essaie de r\u00e9cup\u00e9rer une grande photo sur un site web. Cette image est trop grande pour \u00eatre envoy\u00e9e en une fois. \u00c7a occuperait le c\u00e2ble pendant trop longtemps, les routeurs sur le chemin devraient utiliser beaucoup de m\u00e9moire pour stocker ces gros messages, et au moindre probl\u00e8me il faudrait recommencer l&rsquo;envoi de toute la photo.<\/p>\n<p>C&rsquo;est donc un ordinateur, celui qui stocke l&rsquo;image, qui va la d\u00e9couper en petits morceaux, \u00e9crire sur chacun son num\u00e9ro, la destination et notre adresse, puis envoyer. En informatique on n&rsquo;a pas de camions de livraison, et donc chaque morceau que l&rsquo;on appelle un paquet va partir s\u00e9par\u00e9ment, voyager dans le r\u00e9seau en suivant les tables de routage et arriver \u00e0 destination.<br \/>\nNotre ordinateur qui re\u00e7oit les messages va recevoir et v\u00e9rifier les morceaux, envoyer des acquittements pour les morceaux qu&rsquo;il a bien re\u00e7u. Par exemple il va dire quelque chose qui ressemble \u00e0 :<br \/>\n\u00ab\u00a0J&rsquo;ai bien tout jusqu&rsquo;au morceau num\u00e9ro 12, j&rsquo;attends le 13.\u00a0\u00bb<br \/>\net un peu plus tard<br \/>\n\u00ab\u00a0Maintenant j&rsquo;ai tout jusqu&rsquo;au 15, j&rsquo;attends le 16.\u00a0\u00bb<\/p>\n<p>Le site web va envoyer les paquets les uns apr\u00e8s autres, et si au bout d&rsquo;un moment il n&rsquo;a pas re\u00e7u la confirmation que nous avons bien re\u00e7u un paquet il le renvoie. Quand notre ordinateur a tout re\u00e7u, il va remettre les morceaux ensemble dans le bon ordre et pouvoir nous afficher l&rsquo;image totalement reconstitu\u00e9e.<\/p>\n<p>En fait, sans qu&rsquo;on s&rsquo;en rende compte, notre ordinateur passe son temps \u00e0 faire et d\u00e9faire des puzzles. Mais bon un puzzle avec les pi\u00e8ces num\u00e9rot\u00e9es pour pouvoir facilement les remettre dans l&rsquo;ordre c&rsquo;est tout de suite beaucoup moins difficile.<\/p>\n<p>Retour : <a href=\"http:\/\/members.loria.fr\/MDuflot\/reseaux-info-a-ma-fille-routage\/\">Le routage, ou comment les messages arrivent \u00e0 destination<\/a><\/p>\n<p>La suite : <a href=\"http:\/\/members.loria.fr\/MDuflot\/reseaux-info-a-ma-fille-adresses\/\">Les adresses IP, et les annuaires du net<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le r\u00e9seau internet est grand, les routes possibles sont tr\u00e8s nombreuses et le nombre de messages qui circulent est gigantesque. Si on veut se faire une id\u00e9e, il s&rsquo;\u00e9change dans le monde l&rsquo;\u00e9quivalent de 2000 films, des vrais, de bonne qualit\u00e9 comme au cin\u00e9ma&#8230; par seconde. Du coup il peut arriver que des messages se perdent. Par exemple si un routeur re\u00e7oit trop de messages et n&rsquo;a plus de place dans sa m\u00e9moire pour les stocker avant de les renvoyer, les messages vont \u00eatre perdus. Et si j&rsquo;envoie mon message par un chemin et qu&rsquo;un des routeurs sur ce chemin est indisponible il peut ne pas arriver \u00e0 destination.<\/p>\n","protected":false},"author":98,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-347","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/members.loria.fr\/MDuflot\/wp-json\/wp\/v2\/pages\/347","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/members.loria.fr\/MDuflot\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/members.loria.fr\/MDuflot\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/members.loria.fr\/MDuflot\/wp-json\/wp\/v2\/users\/98"}],"replies":[{"embeddable":true,"href":"https:\/\/members.loria.fr\/MDuflot\/wp-json\/wp\/v2\/comments?post=347"}],"version-history":[{"count":1,"href":"https:\/\/members.loria.fr\/MDuflot\/wp-json\/wp\/v2\/pages\/347\/revisions"}],"predecessor-version":[{"id":348,"href":"https:\/\/members.loria.fr\/MDuflot\/wp-json\/wp\/v2\/pages\/347\/revisions\/348"}],"wp:attachment":[{"href":"https:\/\/members.loria.fr\/MDuflot\/wp-json\/wp\/v2\/media?parent=347"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}