4 points par GN⁺ 4 시간 전 | 1 commentaires | Partager sur WhatsApp
  • Internet transforme la voix, la vidéo et le texte en motifs d’électricité, de lumière et d’ondes radio qui traversent les équipements de multiples opérateurs indépendants ; les données sont acheminées uniquement par les décisions locales de chaque saut, sans autorité centrale ni acteur unique connaissant l’itinéraire complet
  • La régénération numérique du télégraphe, la commutation de circuits du réseau téléphonique, la commutation de paquets, Ethernet, IP, TCP, DNS et TLS ne sont pas les composants d’un plan achevé, mais des protocoles accumulés au fil du temps pour résoudre les limites physiques et opérationnelles propres à chaque époque
  • IP n’assure qu’une livraison best effort qui tolère pertes, doublons et changements d’ordre ; TCP gère aux extrémités la retransmission, la remise en ordre et le contrôle de congestion, tandis que DNS convertit les noms en adresses et TLS ajoute authentification et chiffrement
  • Lors du premier chargement d’une page web, plusieurs allers-retours sont nécessaires pour la résolution DNS, la connexion TCP et le handshake TLS avant même le transfert du contenu ; une bande passante élevée ne suffit donc pas à supprimer le démarrage lent dû à la latence
  • Grâce à une couche IP simple et à des standards ouverts, de nouveaux protocoles comme HTTP, VPN, WebRTC et QUIC peuvent être déployés sans l’autorisation ni le remplacement des routeurs existants ; Internet continue de compenser les limites propres à chaque couche à mesure que de nouveaux besoins apparaissent

Des signaux physiques aux bits

  • La communication sur Internet consiste à convertir successivement un message en ondes radio Wi-Fi, en impulsions électriques dans le cuivre ou en lumière dans la fibre optique, puis à le reconstituer en sens inverse à l’autre bout
    • Les équipements et les câbles sont partagés par des millions de conversations, et les données traversent des équipements appartenant à des entreprises indépendantes dans plusieurs pays
    • Aucun ordinateur central ne dirige le trafic ; chaque équipement choisit seulement le prochain chemin
  • Internet n’a pas été conçu d’un seul bloc : la commutation de paquets, TCP, DNS et TLS ont été ajoutés après coup pour résoudre des problèmes précis dans des réseaux déjà opérationnels
  • Le principe de base de tous les liens consiste à modifier une grandeur physique d’un côté et à la mesurer de l’autre à un instant convenu
    • Une corde tendue transmet des vibrations mécaniques, mais le signal s’affaiblit avec la distance sous l’effet des frottements et du relâchement
    • Le fil de cuivre transporte les bits en faisant varier la tension, la fibre optique en modulant un laser, et le Wi-Fi en modifiant la forme des ondes radio

La communication numérique et les protocoles établis par le télégraphe

  • Le mot réseau désignait à l’origine une structure en filet formée par des fils ou des cordes qui se croisent ; après avoir été employé au début du XIXe siècle pour les réseaux de canaux et de chemins de fer, il en est venu, dans les années 1840, à désigner le système de fils et de relais du télégraphe
  • En 1844, Samuel Morse transmet “What hath God wrought” de Washington à Baltimore
    • Le code Morse était un réseau numérique qui ne transmettait pas directement la voix, mais des symboles discrets sous forme d’impulsions électriques courtes et longues
    • Au lieu d’amplifier une forme d’onde affaiblie, les répéteurs déterminaient la présence ou non d’une impulsion et généraient une nouvelle impulsion propre
    • Une simple amplification augmente aussi le bruit à chaque segment, tandis que la régénération de symboles discrets évite la dégradation des messages même à l’échelle d’un continent
  • Les règles partagées à l’avance par l’émetteur et le récepteur — impulsions correspondant à chaque caractère et procédures comme received ou repeat — constituent un protocole
    • IP, TCP, DNS et TLS relèvent du même principe : des règles publiquement convenues sur le format des messages et l’ordre de communication
  • Dans le réseau télégraphique, le routage était effectué par des humains
    • L’opérateur d’un relais perforait le message sur une bande de papier et le retransmettait lorsqu’une ligne plus proche de la destination se libérait
    • Aux heures de congestion, les messages étaient placés en attente dans des casiers ; cette structure sera ensuite reproduite sous forme électronique avec le stockage puis transfert et les routeurs
  • Le premier câble télégraphique transatlantique est entré en service en août 1858, mais il est tombé en panne au bout de trois semaines en raison de dommages d’isolation et de problèmes de surtension
    • Le câble qui a réussi a été posé en 1866 par le SS Great Eastern, d’un seul tenant sur environ 4 000 km
  • Le bit est la plus petite unité d’information, représentant l’un des deux états 0 et 1
    • Un octet de 8 bits peut représenter 256 états et contenir un caractère ou un petit nombre

Bande passante et latence

  • La bande passante est le nombre de bits qu’un lien transporte par seconde, tandis que la latence est le temps nécessaire à un bit pour atteindre l’autre extrémité
  • On peut augmenter la bande passante en réduisant l’intervalle entre les transmissions de signaux ou en utilisant plusieurs longueurs d’onde en parallèle, mais la latence est limitée par la distance et la vitesse de la lumière
    • Dans le verre, la lumière se déplace à environ 200 000 km par seconde, soit près des deux tiers de sa vitesse dans le vide
    • Sur le trajet New York–Londres, le plancher physique est d’environ 28 ms dans un sens, et le double est nécessaire pour un aller-retour
  • Le streaming vidéo tolère la latence en préchargeant plusieurs secondes, mais il nécessite beaucoup de bande passante
  • Les appels vidéo exigent relativement moins de bande passante, mais une faible latence est essentielle
  • Comme une page web passe par des allers-retours DNS, TCP et TLS avant de recevoir le contenu, son démarrage peut être lent même avec une connexion gigabit
  • La bande passante relève du calendrier d’émission, la latence de la longueur du lien : ce ne sont donc pas deux valeurs interchangeables

Commutation de circuits et modems

  • Après 1876, le réseau téléphonique utilise la commutation de circuits, qui réserve pour chaque appel un chemin électrique dédié de bout en bout
    • Au début, des opératrices branchaient des cordons de brassage, puis des relais électromécaniques ont automatisé le processus
    • Comme la voix circule en continu pendant l’appel, il était logique d’utiliser en permanence la ligne réservée
  • Dans les années 1950 et 1960, les ordinateurs n’ayant d’autre choix que d’utiliser le réseau téléphonique existant, ils convertissent les bits numériques en sons analogiques au moyen d’un modem (modulateur-démodulateur)
  • Les premiers modems 300 bauds comme le Bell 103 utilisent la FSK
    • Le 1 est représenté par un son continu de fréquence élevée, le 0 par un son continu de basse fréquence
    • Le modem distant détermine la fréquence entendue pour reconstituer les bits
  • Avant le transfert des données, les appareils négocient la vitesse de communication, la correction d’erreurs et les caractéristiques de la ligne
    • Après le Hayes Smartmodem de 1981, le haut-parleur restait activé pour permettre à l’utilisateur de vérifier l’état de la connexion : tonalité, appel, échange de capacités, négociation de modulation et entraînement de l’égaliseur étaient audibles
    • Le handshake réel enchaîne plusieurs étapes en moins de 30 secondes
  • Le DSL et le câble ont réutilisé les lignes téléphoniques et TV existantes comme liens numériques toujours connectés, tandis que la fibre domestique s’affranchit complètement des fils du réseau vocal
  • Le trafic informatique est en rafales : il s’interrompt pendant la lecture ou le calcul après une requête
    • Si une ligne est réservée, sa capacité reste inutilisée la plupart du temps et les autres utilisateurs ne peuvent pas en profiter
    • Comme le chemin est fixé au début de l’appel, la rupture d’un seul lien intermédiaire met fin à toute la connexion
  • Au début des années 1960, la croissance des ordinateurs de recherche, le caractère en rafales de l’informatique interactive et les besoins de l’armée américaine, qui devait survivre à la perte de certains segments, ont révélé les limites de la commutation de circuits

Commutation de paquets et livraison best effort

  • Paul Baran, pour la résilience, et Donald Davies, pour le partage des circuits, ont conçu indépendamment la commutation de paquets ; c’est Davies qui a donné le nom packet
  • Les messages sont divisés en petites unités, et chaque paquet se compose d’un en-tête contenant des informations de contrôle comme la source et la destination, ainsi que d’une charge utile, qui contient les données proprement dites
  • Un routeur reçoit le paquet complet, lit sa destination et l’envoie vers le lien suivant selon sa propre table : c’est le stockage puis transfert (store-and-forward)
    • Pour rester scalable, les tables n’enregistrent pas les hôtes individuels, mais des réseaux, c’est-à-dire des plages d’adresses
  • Les paquets de plusieurs conversations utilisent la même ligne de façon entrelacée et sont routés chacun indépendamment
    • Si un routeur intermédiaire tombe en panne, les paquets suivants peuvent emprunter un autre chemin
    • Tant que l’information de panne ne s’est pas propagée, des paquets peuvent être envoyés sur l’ancien chemin et se perdre ; le processus par lequel le nouveau chemin se stabilise s’appelle la convergence
  • Un appareil doté d’une adresse est un hôte ; le côté qui initie la conversation est le client, et celui qui attend les requêtes à une adresse fixe connue est le serveur
  • Si le débit entrant dépasse celui du lien de sortie, le routeur met les paquets en attente en mémoire, puis supprime l’excédent lorsque la file est pleine
  • Le réseau ne fournit qu’une livraison best effort, qui autorise pertes, doublons et changements d’ordre des paquets
    • Le choix de confier la fiabilité aux ordinateurs en bout de chaîne, plutôt qu’au centre du réseau, a permis de garder Internet simple et de le faire passer à l’échelle mondiale

ARPANET et les premiers routeurs

  • En 1969, l’ARPA finance ARPANET, le premier véritable réseau à commutation de paquets, afin de relier des ordinateurs universitaires de recherche
  • Comme il était difficile de confier la commutation de paquets à des mainframes de fabricants et de systèmes d’exploitation différents, BBN construit l’IMP (Interface Message Processor)
    • L’IMP était un mini-ordinateur dédié qui découpait les messages en paquets, les routait et les réassemblait
    • Le mainframe de chaque site était connecté à un IMP local, et les IMP communiquaient entre eux par des lignes téléphoniques louées
    • La distinction terminologique entre le mainframe qui effectue les calculs, appelé Host, et l’infrastructure de transmission, l’IMP, s’est maintenue jusqu’à aujourd’hui
    • L’IMP est le premier routeur ; les routeurs Wi-Fi domestiques suivent le même modèle, dans lequel un appareil dédié prend en charge les protocoles réseau à la place de l’ordinateur
  • Le 29 octobre 1969, Charley Kline, à l’UCLA, saisit LOGIN vers le Stanford Research Institute ; au moment où LO a été transmis, le système récepteur tombe en panne
  • En décembre 1969, ARPANET compte quatre nœuds, puis s’étend jusqu’à la Norvège et Londres en 1973

Ethernet et réseaux locaux

  • Un réseau longue distance comme ARPANET est un WAN, tandis qu’un réseau reliant plusieurs appareils au sein d’un bureau est un LAN
  • Robert Metcalfe a conçu Ethernet en 1973 au Xerox PARC
    • Il s’est inspiré des transmissions sans autorisation préalable et de la gestion des collisions d’ALOHAnet, qui reliait les îles hawaïennes
    • Dans les premiers réseaux Ethernet, tous les ordinateurs étaient connectés à un même câble coaxial partagé et recevaient toutes les trames, mais ne traitaient que celles qui leur étaient adressées
  • Un câble coaxial se compose d’un conducteur central en cuivre, d’une couche isolante, d’un blindage cylindrique et d’une gaine extérieure
    • Le blindage sert à la fois de chemin de retour et de protection contre les interférences externes
  • Sur une ligne partagée, si deux appareils émettent en même temps, une collision se produit
    • CSMA/CD écoute le support avant d’émettre, s’arrête immédiatement s’il détecte une collision pendant l’émission, puis réessaie après un délai aléatoire
    • En cas de collisions répétées, le backoff exponentiel, qui double la plage de délai, empêche les collisions permanentes
  • Les bureaux modernes utilisent, à la place d’un câble coaxial partagé, des paires torsadées dédiées entre chaque appareil et le switch, avec des connecteurs RJ-45
    • Chaque port dispose de sa propre liaison et les chemins d’émission et de réception sont séparés en full-duplex, si bien qu’il n’y a en principe pas de collision
    • CSMA/CD est devenu inutile dans l’Ethernet filaire moderne, mais le problème de contention réapparaît avec le Wi-Fi, qui utilise l’air comme support partagé
  • Switches et adresses MAC

    • Le nom de switch réseau s’inscrit dans la lignée des aiguillages ferroviaires, des interrupteurs électriques qui commutent le courant et des standards téléphoniques
    • Un switch réseau moderne transmet les trames au moyen d’un ASIC constitué de millions de commutateurs à transistors
    • Les routeurs utilisent des adresses réseau globales, tandis que les switches utilisent des adresses matérielles locales, les adresses MAC
    • L’unité de données d’Ethernet est la trame
    • Une adresse MAC s’écrit sous la forme de 6 paires hexadécimales, soit 48 bits au total, comme 00:1A:2B:3C:4D:5E
    • Un chiffre hexadécimal représente exactement 4 bits, et deux chiffres s’alignent sur 1 octet, ce qui en fait un format adapté pour représenter brièvement des bits bruts
    • Dans une adresse MAC traditionnelle, les 3 premières paires correspondent à l’OUI du fabricant, et les 3 dernières au numéro de série de l’interface
    • Les smartphones ont eux aussi une adresse pour leur puce Wi-Fi et une autre pour leur puce Bluetooth
    • Pour éviter le suivi dans les lieux publics à partir d’une adresse fixe, les systèmes d’exploitation modernes génèrent des adresses MAC temporaires aléatoires lors de la recherche et de la connexion
    • Un switch apprend automatiquement sa table de transfert en observant le MAC source des trames et le port par lequel elles arrivent
    • Si la destination est encore inconnue, il inonde tous les autres ports
    • S’il connaît la destination, il ne transmet la trame que vers le port correspondant
    • La table d’un switch est déduite passivement du trafic local, tandis que celle d’un routeur est remplie par configuration manuelle ou par des protocoles de routage
    • Les adresses MAC n’ont de sens que sur le segment local, tandis que les adresses IP servent à circuler entre les réseaux

IP et le réseau des réseaux

  • Dans les années 1970, différents réseaux à paquets comme SATNET, PRNET et Ethernet ne pouvaient pas communiquer directement, car leurs formats, leurs adresses et leurs tailles maximales différaient
  • En 1973, Vint Cerf et Bob Kahn ont conçu un internetwork qui reliait les réseaux sans uniformiser leur structure interne
  • IP est une fine couche commune sur laquelle tous les réseaux participants doivent s’accorder
    • Il définit des adresses IP universelles et un format de paquet universel
    • Chaque réseau local transporte les paquets IP en les encapsulant dans ses propres trames
    • Les routeurs ne mémorisent pas l’état des conversations et ne récupèrent pas non plus les pertes
    • Comme il est sans connexion, sans phase d’établissement ni état partagé entre les paquets, il peut être implémenté sur cuivre, fibre optique, sans-fil ou satellite
  • La structure en sablier, avec divers supports physiques en dessous, diverses applications au-dessus et IP comme point commun étroit au milieu, crée l’interopérabilité
  • Adresses IPv4 et correspondance du plus long préfixe

    • Une adresse IPv4 compte 32 bits, soit 4 octets écrits en décimal et séparés par des points, comme 91.198.174.192
    • /24 désigne un préfixe réseau dont les 24 premiers bits sont fixes
    • Le masque de sous-réseau 255.255.255.0 représente les mêmes bits fixes d’une autre manière
    • Un routeur effectue un XOR entre la destination et la route, puis masque la partie située après le préfixe pour vérifier si la partie fixe correspond
    • Si plusieurs routes correspondent, il choisit la correspondance du plus long préfixe, celle dont le plus grand nombre de bits est fixe
    • En l’absence de route spécifique, il utilise la route par défaut 0.0.0.0/0
    • Chaque routeur n’a pas besoin d’une carte complète d’Internet : il lui suffit de connaître ses voisins et la direction par défaut pour atteindre la destination grâce au même type de décision prise par le routeur suivant
  • De l’adressage par classes au CIDR

    • L’adressage par classes de 1981 fixait la taille des réseaux en trois catégories
    • La classe A /8 fournissait 16 777 216 adresses, la classe B /16 65 536 adresses, et la classe C /24 256 adresses
    • Une organisation ayant besoin d’environ 4 000 adresses devait soit recevoir une classe B et en gaspiller environ 94 %, soit recevoir 16 classes C et créer 16 routes dans tous les routeurs de cœur
    • Au début des années 1990, l’espace d’adressage et la mémoire des routeurs s’épuisaient rapidement
    • Introduit en 1993, CIDR permet de choisir librement la longueur des préfixes
    • Un seul /20 fournit 4 096 adresses et permet d’agréger des blocs adjacents en une seule route
    • L’IANA gère l’ensemble de l’espace IPv4 et attribue de grands blocs aux cinq registres Internet régionaux
    • Les registres régionaux attribuent des blocs plus petits aux FAI, et les FAI aux entreprises et aux foyers
    • Cette délégation hiérarchique, où chaque entité ne gère que sa propre zone, repose sur le même principe de passage à l’échelle que le DNS
  • TTL, ICMP, ping, traceroute

    • Le TTL de l’en-tête IP indique le nombre de sauts restants plutôt qu’une durée, et diminue de 1 à chaque routeur
    • Lorsqu’il atteint 0, le paquet est supprimé afin d’empêcher qu’une mauvaise route ne le fasse tourner indéfiniment en boucle
    • À l’expiration du TTL, le routeur envoie un ICMP Time Exceeded à la source
    • ping mesure la latence jusqu’à un hôte donné à partir du temps aller-retour entre un ICMP Echo Request et un ICMP Echo Reply
    • traceroute augmente le TTL à 1, 2, 3, etc. afin de collecter les réponses Time Exceeded générées à chaque saut
    • Une fonction de diagnostic de route a ainsi été dérivée du TTL, conçu à l’origine pour éviter les boucles
  • MTU et fragmentation

    • Chaque lien possède une MTU, la taille maximale qu’il peut transporter en une fois, et celle d’Ethernet est de 1 500 octets
    • Les routeurs IPv4 traditionnels fragmentaient les paquets plus grands que le lien suivant en plusieurs morceaux, qui étaient réassemblés à destination
    • Cela augmente la charge de travail des routeurs, et la perte d’un seul fragment impose de renvoyer l’ensemble du paquet d’origine
    • L’approche moderne consiste à définir don’t fragment et à utiliser Path MTU Discovery, où un routeur incapable de transmettre le paquet indique par ICMP la MTU autorisée
    • Si un lien ultérieur plus étroit apparaît, l’émetteur réduit à nouveau la taille, jusqu’à converger vers la MTU minimale du chemin réel
    • IPv6 supprime la fragmentation par les routeurs et n’autorise que PMTUD côté émetteur
  • Unicast, broadcast, ARP et multicast

    • L’unicast, qui envoie les données d’un émetteur à un seul destinataire, représente la majorité du trafic Internet
    • Un sous-réseau est un voisinage à la fois physique et numérique, où l’on peut joindre directement des machines par adresse MAC, sur le même câble ou canal radio, sans routeur
    • Le broadcast est transmis à tous les hôtes du sous-réseau et ne franchit pas les frontières des routeurs
    • DHCP distribue la configuration aux appareils qui n’ont pas d’adresse
    • ARP diffuse la question « quel appareil possède cette IP ? », et seul le propriétaire répond en unicast, ce qui permet de trouver l’adresse MAC correspondant à une adresse IP locale
    • Le résultat est mis en cache pendant quelques minutes
    • Pour une destination située dans un sous-réseau externe, on ne recherche pas l’adresse MAC du serveur distant, mais celle de la passerelle par défaut
    • Le multicast transmet un paquet uniquement à un groupe abonné, et sert notamment à l’IPTV et aux protocoles de routage internes
    • Les quelque 4,3 milliards d’adresses IPv4 sont devenues insuffisantes, et IPv6, qui utilise des adresses de 128 bits, est déployé en parallèle depuis environ 20 ans et transporte aujourd’hui près de la moitié du trafic

La fiabilité apportée par TCP

  • TCP implémente aux deux extrémités la fiabilité qu’IP ne fournit pas, tandis que les routeurs intermédiaires ne connaissent pas l’état TCP
  • Chaque octet est numéroté, et le récepteur indique par un ACK le prochain octet attendu
    • Les données non acquittées sont retransmises
    • Les données arrivées dans le désordre sont réordonnées selon leur numéro avant d’être remises à l’application
  • Comme les deux côtés mémorisent l’état de la conversation, TCP est orienté connexion et possède un début et une fin explicites
  • Les unités de données par couche sont la trame Ethernet, le paquet IP, le segment TCP et le datagramme UDP
  • Handshake en 3 temps et somme de contrôle

    • Le handshake en 3 temps de TCP synchronise les numéros de séquence initiaux des deux côtés
      1. Le client envoie SYN, seq=5000
      1. Le serveur répond par SYN-ACK, seq=9000, ack=5001
      1. Le client envoie ACK, ack=9001
    • La somme de contrôle envoie avec les octets transmis une valeur calculée à partir d’eux, et le récepteur la recalcule pour détecter les corruptions accidentelles de bits
    • Les paquets qui ne correspondent pas sont rejetés ; en l’absence d’ACK, la procédure de retransmission existante rétablit la situation
    • Ethernet utilise une séquence de contrôle de trame fondée sur un CRC, tandis qu’IP, TCP et UDP utilisent l’addition en complément à un
    • Elle n’empêche pas l’altération volontaire par un attaquant capable de recalculer la somme de contrôle ; ce rôle revient à TLS
  • Contrôle de flux et contrôle de congestion

    • L’émetteur TCP maintient une fenêtre glissante qui limite les données non acquittées
    • À chaque arrivée d’un ACK, la fenêtre avance, empêchant un émetteur rapide de submerger un récepteur lent
    • Une perte est interprétée comme le signal que la file d’un routeur intermédiaire a débordé, et l’émetteur réduit sa fenêtre
    • En octobre 1986, sur le lien de 400 m entre le Lawrence Berkeley Lab et l’UC Berkeley, le débit s’est effondré de 32 000 bps à 40 bps lorsque les émetteurs ont répondu aux pertes par encore plus de retransmissions
    • Le contrôle de congestion de Van Jacobson réduit le volume transmis de façon multiplicative en cas de perte et l’augmente prudemment en cas de succès
    • Des milliards de connexions appliquent les mêmes règles locales sans coordination centrale afin d’éviter l’effondrement par congestion du réseau partagé
    • Si un paquet intermédiaire manque, le récepteur envoie des ACK dupliqués pour le dernier octet contigu reçu, ce qui permet à l’émetteur de détecter la perte et de retransmettre avant l’expiration du délai
  • Ports, sockets et UDP

    • Si l’adresse IP identifie l’appareil, le port identifie le programme à l’intérieur de cet appareil
    • Par convention, un serveur HTTPS utilise le port 443
    • La combinaison de l’adresse IP, du port et du protocole représente le point de terminaison de socket d’une application
    • Le système d’exploitation du client emprunte un port temporaire pendant la connexion pour distinguer la destination des réponses
    • UDP ajoute seulement des ports à IP et ne fournit ni établissement de connexion, ni retransmission, ni restauration de l’ordre
    • TCP convient aux données dont l’intégrité est importante, comme les pages web, les e-mails et les fichiers
    • UDP convient aux cas où des données en retard sont pires qu’une perte, comme les appels vidéo, les jeux multijoueurs et DNS
    • TCP/IP est devenu le protocole officiel d’ARPANET le 1er janvier 1983, et tout réseau acceptant de transporter des paquets IP fait partie d’Internet

Comment se construisent les informations de routage

  • OSPF et RIP à l’intérieur d’une organisation

    • Au sein d’une organisation, un IGP échange l’état des liens et les informations de chemin
    • Dans un protocole à état de liens comme OSPF, chaque routeur diffuse à tous ses propres informations de connexion
    • Tous les routeurs disposent de la même carte de topologie et calculent indépendamment le plus court chemin
    • Dans un protocole à vecteur de distance comme RIP, un routeur n’indique à ses voisins que le nombre de sauts jusqu’à une destination
    • Le volume échangé est faible, mais il n’existe pas de carte globale permettant de vérifier si les chiffres des voisins restent vrais
    • Après une panne, le processus par lequel les tables reflètent le nouvel état s’appelle la convergence
    • OSPF converge rapidement en transmettant les changements réels de topologie
    • RIP peut créer des boucles où deux voisins se considèrent mutuellement comme le chemin, et les paquets font l’aller-retour jusqu’à l’expiration du TTL
    • RIP traite 16 sauts comme injoignables et, malgré plusieurs mesures d’atténuation, converge plus lentement qu’OSPF ; il a donc été remplacé dans la plupart des réseaux de production
  • Systèmes autonomes et BGP

    • NSFNET a démarré en 1985 comme backbone reliant plusieurs réseaux universitaires régionaux
    • Au début, le trafic commercial y était interdit, puis la restriction a été levée en 1991
    • Après sa fermeture en 1995, le rôle de backbone s’est réparti entre plusieurs opérateurs commerciaux concurrents, donnant à Internet une structure sans propriétaire unique
    • Internet est composé de dizaines de milliers de systèmes autonomes (AS), notamment des ISP, des universités, des opérateurs télécoms et des entreprises cloud
    • BGP permet à chaque AS d’annoncer à ses voisins les blocs d’adresses joignables et le chemin d’AS emprunté
    • Le choix effectif des routes privilégie les politiques commerciales plutôt que la vitesse
    • La longueur du chemin d’AS est un critère de départage appliqué après des critères de politique comme la préférence locale et le weight
    • Les petits opérateurs achètent du transit à un opérateur amont, en payant pour une connectivité vers tout Internet
    • Les réseaux de taille comparable concluent du peering sans règlement afin de réduire les coûts de transit
    • Des centaines de réseaux se connectent dans les installations de commutation communes des points d’échange Internet
    • DE-CIX et AMS-IX relient chacun environ 1 000 réseaux
    • Les politiques BGP préfèrent généralement, dans l’ordre, les routes de clients qui rapportent de l’argent, les routes de pairs gratuites, puis les routes de fournisseurs payantes
    • Les backbones tier-1 comme Lumen, Arelion et NTT font du peering entre eux et ne paient pas d’opérateur amont

Câbles sous-marins en fibre optique, Anycast, CDN

  • Environ 600 câbles sous-marins en fibre optique transportent pratiquement tout le trafic intercontinental
  • En 1956, TAT-1 fournissait 36 circuits vocaux sur cuivre coaxial et plaçait des amplificateurs environ tous les 70 km
    • L’amplification analogique amplifie à la fois le signal et le bruit
  • En 1988, TAT-8 a été le premier câble optique transatlantique, offrant sur deux brins de fibre de verre une capacité équivalente à des dizaines de milliers de circuits vocaux
  • La fibre optique exploite la réflexion totale interne à la frontière entre un cœur à indice de réfraction élevé et la gaine qui l’entoure
    • Contrairement à un miroir ordinaire, cette réflexion à la frontière ne provoque pas de perte, ce qui permet de guider la lumière sur environ 100 km avant amplification
  • Le multiplexage en longueur d’onde place le flux de bits de chaque laser sur une longueur d’onde différente et les combine dans un même brin
    • Les longueurs d’onde se propagent ensemble dans un milieu linéaire, puis sont séparées par des filtres à l’autre extrémité
    • Les systèmes réels placent environ 100 longueurs d’onde dans un brin, et chaque nouvelle longueur d’onde augmente le débit du verre sous-marin existant d’un flux supplémentaire
  • Anycast permet à des serveurs situés sur plusieurs continents d’utiliser la même IP et d’annoncer, depuis chaque emplacement, la même route via BGP
    • Le client atteint, sans changement de configuration, le serveur le plus proche dans la topologie
  • Les CDN utilisent Anycast ou un DNS tenant compte de la localisation pour fournir le contenu depuis un serveur proche
    • Cloudflare et Akamai déploient des copies de vidéos, d’images et de sites web dans le monde entier
    • La façon de réduire le plancher de latence imposé par la vitesse de la lumière consiste à déplacer les données près de l’utilisateur avant la requête
  • BGP fait globalement confiance aux annonces de ses voisins
    • En 2008, Pakistan Telecom a annoncé une route plus spécifique pour bloquer YouTube sur le territoire national ; l’information s’est propagée dans le monde, et une grande partie du trafic a été envoyée vers le Pakistan puis a disparu
    • RPKI vérifie, au moyen de registres signés, l’autorisation d’annoncer des routes pour des blocs d’adresses

Réseaux domestiques privés et NAT

  • Un routeur domestique combine un switch Ethernet, un équipement radio Wi-Fi, DHCP, une passerelle par défaut et la distribution des paramètres DNS
  • Les blocs IPv4 privés qui ne sont pas routés sur Internet peuvent être réutilisés à répétition
    • 10.0.0.0/8 contient 16 777 216 adresses
    • 172.16.0.0/12 contient 1 048 576 adresses
    • 192.168.0.0/16 contient 65 536 adresses
  • NAT maintient une table qui remplace les adresses et ports privés internes par l’adresse et le port publics du routeur, puis renvoie les réponses vers la conversation interne d’origine
    • Deux machines 192.168.1.5 situées dans des foyers différents n’entrent pas en conflit, car leurs paquets ne quittent pas leur réseau privé respectif
  • Comme NAT n’enregistre que les conversations initiées depuis l’intérieur, il rejette les connexions externes non sollicitées
    • Pour faire fonctionner un serveur à domicile, il faut une redirection de port reliant un port externe précis à une machine interne
    • Si l’ISP change l’adresse publique, il faut la suivre séparément
    • Les appels vidéo P2P nécessitent des techniques de traversée de NAT, par exemple l’envoi simultané de paquets par les deux côtés
    • Cette solution temporaire à la pénurie d’adresses a fini par diviser Internet entre serveurs recevant des requêtes externes et appareils qui ne font qu’initier des requêtes
  • 127.0.0.0/8 est l’adresse de loopback : le système d’exploitation la renvoie vers le même ordinateur sans aller jusqu’à la carte réseau
    • 127.0.0.1 est, par convention, localhost
    • Un serveur de développement sur 127.0.0.1:3000 n’est accessible que depuis cet ordinateur
  • Un appareil possède à la fois une adresse MAC représentant le matériel local et une adresse IP attribuée sur le réseau

DNS : utiliser des noms plutôt que des nombres

  • Aux débuts d’ARPANET, le groupe d’Elizabeth Feinler au Stanford Research Institute gérait manuellement tous les noms et adresses dans un unique fichier HOSTS.TXT
    • Chaque ordinateur téléchargeait régulièrement le fichier, et les machines non enregistrées étaient de fait introuvables
    • Avec la croissance du réseau, la capacité d’édition d’un seul bureau et un point de téléchargement unique sont devenus des goulots d’étranglement
  • Paul Mockapetris a conçu en 1983 le DNS fondé sur la délégation
    • en.wikipedia.org suit, de droite à gauche, la hiérarchie root, org, wikipedia.org, en
    • L’espace de noms est divisé en zones, où chaque organisation gère ses serveurs faisant autorité
  • Les appareils confient les requêtes à un résolveur récursif, comme celui d’un FAI ou Cloudflare 1.1.1.1
    1. La racine indique les serveurs de noms de .org
    2. .org indique les serveurs faisant autorité pour wikipedia.org
    3. Le serveur faisant autorité de Wikipédia répond avec 91.198.174.192 et un TTL de 3 600 secondes
  • Le TTL du DNS est, contrairement au nombre de sauts IP, une durée de vie du cache exprimée en secondes
    • Le navigateur, le système d’exploitation et le résolveur récursif mettent les réponses en cache, si bien que les noms populaires sont résolus immédiatement depuis un emplacement proche
    • Le cache réduit la charge des DNS de niveau supérieur, mais crée une inertie : après un changement d’adresse, l’ancienne valeur reste présente pendant la durée du TTL
  • Lors de l’achat d’un domaine, le registrar enregistre dans la zone du registry, par exemple .com, un NS record qui désigne les serveurs de noms faisant autorité
    • Le fichier de zone du domaine contient notamment des A records pour IPv4 et des AAAA records pour IPv6
    • Cloudflare, Route 53, le registrar ou des serveurs exploités directement peuvent assurer le DNS faisant autorité
    • Un DNS sensible à la localisation peut renvoyer des adresses de datacenters différentes selon l’emplacement de la requête
  • Sécurité et confidentialité du DNS

    • Le DNS initial faisait confiance à la première réponse arrivée qui correspondait à la requête
    • Dan Kaminsky a révélé en 2008 le risque d’empoisonnement de cache exploitant les 65 536 possibilités d’un identifiant de transaction sur 16 bits
    • Si un attaquant envoie, avant la vraie réponse, une réponse falsifiée avec le bon identifiant et des informations de serveur de noms malveillantes, le résolveur peut mettre en cache les fausses informations pendant le TTL choisi par l’attaquant
    • DNSSEC fait signer cryptographiquement les enregistrements de chaque zone et permet au résolveur de vérifier la chaîne jusqu’à la root key de confiance
    • La signature d’une réponse falsifiée échoue à la vérification et la réponse est rejetée
    • DNSSEC garantit l’authenticité et l’intégrité, mais ne chiffre pas la requête elle-même
    • DoT et DoH placent les requêtes DNS respectivement dans TLS ou HTTPS, empêchant les observateurs sur le chemin de lire les domaines consultés

L’interface utilisateur ajoutée par le Web

  • À la fin des années 1980, IP, TCP, Ethernet et DNS étaient en place, mais accéder à l’information exigeait encore de connaître le système cible et des outils en ligne de commande
  • Tim Berners-Lee a proposé en 1989 au CERN un système de partage de documents et a lancé le World Wide Web en 1991
  • Le Web utilise trois composants simples
    1. HTML relie des mots ou éléments d’un document à d’autres documents sur Internet
    2. Une URL indique le protocole, le serveur et le chemin, comme https, en.wikipedia.org, /wiki/Internet
      • Le port par défaut de HTTPS est 443, celui de HTTP est 80, ils peuvent donc être omis
    3. HTTP échange des requêtes et des réponses comme GET /page au-dessus de TCP
      • 200 OK signifie réussite, 404 Not Found signifie absence du document, 500 Internal Server Error signifie défaillance interne du serveur
  • Les URL reposant sur DNS, HTTP sur TCP, et TCP sur IP, il n’a pas été nécessaire de modifier les routeurs existants pour ce nouveau Web
  • IP, TCP, DNS et HTTP sont définis dans des RFC que tout le monde peut lire et implémenter gratuitement
    • Les RFC sont nées en 1969 sous forme de mémos dans lesquels les développeurs d’ARPANET sollicitaient des commentaires
    • L’IETF standardise les protocoles Internet depuis 1986
    • Les ports 80 et 443 sont eux aussi des conventions enregistrées auprès de l’IANA par des RFC
  • NCSA Mosaic a intégré des images dans les documents en 1993, et Netscape Navigator, issu de la même équipe, a diffusé le Web dans les foyers en 1994

Échanger un secret sur une ligne publique avec TLS

  • Les premiers protocoles Internet envoyaient des octets en clair, si bien que les routeurs, les FAI et les réseaux intermédiaires pouvaient lire ou modifier le contenu
  • La cryptographie à clé publique crée une paire clé publique et clé privée à partir d’opérations faciles à calculer mais pratiquement difficiles à inverser
    • Les données chiffrées avec la clé publique ne peuvent être déchiffrées qu’avec la clé privée
    • Une signature créée avec la clé privée peut être vérifiée avec la clé publique
    • En pratique, la signature ne porte pas sur tout le message, mais sur un hash calculé à partir de tous les octets, ce qui lie aussi la détection des modifications
    • Outre RSA, ECDSA et Ed25519 offrent également ce contrat : signature avec clé privée, vérification avec clé publique
  • Le problème d’un attaquant qui se fait passer pour une banque en présentant sa propre clé publique est résolu par les certificats
    • La clé publique d’une autorité de certification préintégrée au navigateur garantit l’association entre l’identité du serveur et sa clé publique
    • Le navigateur vérifie la chaîne de signatures depuis le certificat du serveur, en passant par des autorités de certification intermédiaires, jusqu’à une root de confiance
    • Si la chaîne n’atteint pas une root, le navigateur affiche un avertissement de sécurité en plein écran
  • Netscape a créé SSL en 1994, qui a ensuite été standardisé sous le nom TLS
    • TLS se situe entre TCP et HTTP
  • Diffie–Hellman et clés de session

    • Dans le handshake TLS, le navigateur envoie ClientHello, les suites cryptographiques prises en charge et une key share publique ; le serveur répond avec la suite choisie, son certificat et une key share signée
    • Dans un petit exemple utilisant les constantes publiques g=5, p=23 :
    • Le navigateur calcule A=5⁶ mod 23=8 avec la valeur secrète a=6
    • Le serveur calcule B=5¹⁵ mod 23=19 avec la valeur secrète b=15
    • Le navigateur calcule 19⁶ mod 23=2, le serveur calcule 8¹⁵ mod 23=2, et ils obtiennent ainsi la même clé de session
    • Un espion voit g, p, A, B, mais avec les tailles réelles, il est difficile de résoudre le problème du logarithme discret pour obtenir les valeurs secrètes
    • Les navigateurs modernes utilisent des échanges sur courbes elliptiques, qui offrent une sécurité équivalente avec des nombres plus petits
    • Les opérations à clé publique étant trop lentes pour être appliquées à tous les octets, elles ne servent qu’à l’échange de clés ; ensuite, on utilise une clé symétrique rapide, la même pour chiffrer et déchiffrer
    • Le cadenas HTTPS signifie qu’un équipement intermédiaire peut voir l’interlocuteur, le moment et le volume de données, mais pas lire le contenu

Encapsulation et VPN

  • Chaque couche enveloppe les données de la couche supérieure avec son propre en-tête
    • Une requête HTTP se trouve dans un TLS record, lui-même dans un TCP segment, dans un IP packet, puis dans une Ethernet ou Wi‑Fi frame
    • Les switches et routeurs ne traitent chacun que les en-têtes externes dont ils ont besoin
  • Un VPN ne chiffre pas le flux applicatif, mais l’intégralité du paquet IP, puis le place comme payload d’un nouveau paquet ayant pour adresse celle du serveur VPN
    • Le FAI ne voit que du trafic chiffré échangé avec le serveur VPN
    • Les sites visités voient l’adresse du serveur VPN au lieu de celle de l’utilisateur
    • L’opérateur du VPN reprend la position qu’occupait auparavant le FAI : il déplace donc le point de confiance plutôt qu’il n’ajoute une sécurité absolue
  • L’usage initial d’un VPN consiste à connecter un ordinateur portable distant au réseau privé de l’entreprise, afin qu’il fonctionne comme s’il était branché directement au bureau

Ce qui se passe réellement lorsque vous cliquez sur un lien

  1. Le navigateur extrait le nom d’hôte de https://en.wikipedia.org et recherche son adresse via DNS
  2. Il ouvre une connexion TCP sur le port 443 de l’adresse obtenue et effectue le 3-way handshake
  3. Lors du handshake TLS, il vérifie la chaîne de certificats et négocie une clé de session
  4. Il envoie une requête chiffrée GET /wiki/Internet
  5. Le HTML arrivé sous forme de dizaines de paquets IP est réordonné, retransmis et réassemblé par TCP, déchiffré par TLS, puis interprété et affiché à l’écran par le navigateur
  • Diagnostic des pannes étape par étape

    • Si aucun site ne s’ouvre, vérifiez les segments situés avant DNS, comme le Wi-Fi, le routeur ou le lien vers le FAI
    • Vous pouvez envoyer un ping vers une adresse connue comme 1.1.1.1 pour vérifier si vous atteignez l’extérieur du réseau local
    • Si d’autres sites fonctionnent mais qu’un nom précis ne se résout pas, il s’agit d’un problème de cache DNS ou d’enregistrements de ce site
    • Si DNS réussit mais que la connexion TCP expire, le problème vient du serveur ou d’un réseau intermédiaire ; utilisez traceroute pour voir les sauts atteints
    • Un avertissement de certificat en plein écran signifie que la vérification de la chaîne de certificats TLS a échoué
    • Si toutes les communications réussissent et que vous recevez un HTTP 500, la requête est bien arrivée jusqu’au serveur et l’échec est interne au serveur
    • DNS, TCP et TLS exigent chacun un aller-retour avant le premier octet de contenu ; même sur une connexion rapide, la réponse initiale peut donc être lente
  • En-têtes de paquets et visibilité par couche

    • L’exemple de requête possède un en-tête IPv4 de 20 octets et un en-tête TCP de 20 octets
    • L’en-tête IP contient la longueur totale, les drapeaux de fragmentation, le TTL, le numéro de protocole 6 indiquant TCP, la somme de contrôle, ainsi que les adresses source et destination
    • L’en-tête TCP contient le port source temporaire 54211, le port de destination 443, le numéro de séquence, le numéro ACK, les drapeaux, la taille de fenêtre et la somme de contrôle
    • Les routeurs intermédiaires ne lisent que l’en-tête IP et n’ouvrent pas les informations TCP après les 20 octets ni la charge utile chiffrée
    • TLS chiffre la charge utile, mais pas les en-têtes IP et TCP nécessaires à l’acheminement ; la destination de la communication et le volume de données restent donc observables

La structure en couches d’Internet

  • Ethernet, Wi-Fi et fiber, aux couches liaison et physique, déplacent des trames et des bits sur un support local
  • IP, à la couche réseau, route les paquets saut par saut à travers des réseaux indépendants
  • TCP et UDP, à la couche transport, assurent la livraison par programme, la fiabilité ou un faible surcoût
  • TLS, à la couche sécurité, chiffre la connexion et authentifie la partie distante
  • HTTP et DNS, à la couche application, fournissent le sens utilisateur : requêtes de documents et résolution de noms
  • De bas en haut, chaque couche masque les limites de la couche située juste en dessous
    • La couche liaison masque les problèmes physiques des câbles partagés et des supports sans fil
    • IP masque les frontières entre réseaux appartenant à des propriétaires différents
    • TCP masque les pertes, les doublons et les changements d’ordre
    • TLS empêche l’écoute et la modification des données
    • HTTP simplifie l’ensemble du processus en requêtes et réponses
  • Le modèle OSI de 1984 définit sept couches, en séparant physique et liaison de données, ainsi que session, présentation et application
    • L’Internet réel a utilisé l’architecture TCP/IP, déployée plus tôt, mais les termes OSI comme commutation layer 2, routage layer 3 et reconnaissance applicative layer 7 sont restés dans l’industrie

QUIC et l’évolution continue d’Internet

  • Les couches ne dépendant que de l’interface située en dessous, remplacer le cuivre par de la fibre optique ou du Wi-Fi ne nécessite pas de modifier les applications
  • HTTP/3 implémente à la fois la fiabilité et le chiffrement avec QUIC au-dessus d’UDP, au lieu de TCP
  • Dans le flux d’octets unique et ordonné de TCP, si un paquet est perdu parmi des requêtes multiplexées, même les requêtes sans rapport attendent derrière lui
    • QUIC fournit des flux acquittés indépendamment pour chaque requête, de sorte qu’une perte ne bloque que le flux concerné
  • Si l’on exécute successivement le handshake TCP puis le handshake TLS, deux allers-retours sont nécessaires avant les données HTTP
    • QUIC combine les paramètres de transport et le chiffrement en un seul handshake et, lors d’une nouvelle visite d’un serveur connu, peut démarrer sans aller-retour supplémentaire
  • Une connexion TCP est liée à une combinaison IP-port, tandis que QUIC maintient la connexion même si un téléphone passe du Wi-Fi au réseau cellulaire et change d’adresse
  • IP ne fait que livrer la charge utile selon le port, sans limiter le protocole interne
    • SSH utilise un shell distant, SMTP le courrier, MQTT le modèle publication-abonnement pour les appareils IoT contraints, WebRTC l’audio et la vidéo directs entre navigateurs, et les moteurs de jeu utilisent des protocoles UDP sur mesure qui jettent les anciennes mises à jour de position
    • Google a déployé QUIC de façon propriétaire entre Chrome et ses serveurs, puis l’IETF l’a standardisé sous la forme de HTTP/3, sans nécessiter de modification de l’infrastructure Internet existante
  • Même après l’épuisement des adresses IPv4, la transition vers IPv6 est toujours en cours en raison du coût de remplacement des couches de base, tandis que la vidéo en temps réel, le cloud gaming et la collaboration à distance continuent de pousser les limites de latence
  • Les satellites en orbite basse rivalisent avec les câbles sous-marins sur la latence aller-retour, et les futurs protocoles apparaîtront eux aussi sous forme de nouveaux compromis lorsque les applications actuelles se heurteront aux limites des couches existantes

1 commentaires

 
GN⁺ 4 시간 전
Avis sur Hacker News
  • À titre de comparaison, cet article aussi était très bien structuré : https://explained-from-first-principles.com/internet/

  • Selon les guidelines, laisser seulement ce genre de compliment peut être mal vu, mais c’était vraiment un excellent article. Il explique de façon instructive et bien organisée comment les réseaux sont apparus et comment ils fonctionnent, tout en en faisant un récit intéressant
    Certains disent que le texte a été écrit par un LLM, mais même si c’était le cas, cela ne me dérange pas. Un bon texte reste un bon texte

    • La première animation devrait aussi inclure le serveur qui héberge la plateforme de messagerie. Sinon, il vaudrait mieux transformer cet exemple en application P2P
    • En me réveillant ce matin, l’idée m’est venue et j’ai composé moi-même quelque chose qui ressemble à un haïku
      « Il y avait déjà le klingon et les langues elfiques. Désormais, il y a la langue des LLM. »
  • Le contenu lui-même a très bien pu être entièrement écrit par l’auteur, mais en comparant le style du texte avec celui de ses commentaires, je suis convaincu qu’il a fait l’objet d’une relecture poussée par IA
    Cela ne veut pas forcément dire que c’est une mauvaise chose, mais il est tout aussi injuste de traiter de paranoïaques ceux qui l’ont remarqué

  • La première grosse commande reçue par le Digital PDP-1 était destinée à des opérations de messagerie sur bande perforée chez ITT : https://www.eejournal.com/article/gordon-bell-1934-2024-gran...

  • J’aimerais contrebalancer les réactions négatives. Je n’ai lu que les premières sections, mais l’article explique très bien comment plusieurs concepts se sont développés à partir d’un point de départ simple
    Il condense en un seul texte quantité de notions que j’ai apprises en travaillant comme ingénieur logiciel, par la recherche et les essais-erreurs. J’espère que Faza continuera à créer et partager ce type de contenu

    • L’objectif de ces articles était d’expliquer comment les choses que nous tenons pour acquises se sont développées. En les écrivant, j’ai moi aussi appris beaucoup de choses et découvert des zones où ma compréhension était insuffisante
      J’avais l’impression que les ressources existantes se concentraient uniquement sur les détails techniques, ou simplifiaient trop les concepts pour les rendre accessibles à tout le monde. J’ai donc essayé de proposer une explication détaillée tout en restant facile à suivre
      Au départ, je pensais seulement écrire du texte et des schémas, mais j’ai compris que les simulations permettaient d’expliquer les choses bien mieux
  • La structure et l’expression de l’article sont excellentes, et cela rappelle le travail de Bartosz Ciechanowski : https://ciechanow.ski
    Je me demande quelle est la stack technique utilisée pour les éléments interactifs dans le texte, et si l’auteur choisirait une autre technologie s’il devait les refaire

    • Au début, j’ai créé un site statique basé sur Astro sans prévoir d’éléments interactifs, et j’ai rédigé le contenu dans des fichiers Markdown
      J’ai ensuite découvert qu’Astro prenait en charge MDX, qui permet d’insérer des composants JavaScript personnalisés. Les premières animations ont été réalisées en JavaScript pur, avec SVG et des transitions CSS, mais à mesure que les simulations devenaient plus complexes, j’ai commencé à utiliser React pour la gestion de l’état
  • Deux commentaires relativement anodins ici sont marqués [dead]. S’il s’agit de commentaires de bots, je me demande sur quoi on peut se baser pour les identifier

    • J’ai l’impression que la plupart des billets de blog sur HN, ainsi qu’une bonne partie des commentaires, sont principalement écrits par IA. Cela dit, sur l’internet anonyme, ce genre d’éléments a toujours existé
  • Si l’on active le mode avion après avoir chargé la page, les animations qui n’étaient pas encore entrées dans l’écran auparavant ne se lancent pas. C’est un comportement étrange

    • Je suis l’auteur. Auparavant, les simulations n’étaient téléchargées qu’au moment où elles entraient dans l’écran lors du défilement
      J’ai maintenant modifié et déployé le site pour télécharger toutes les simulations au chargement de la page, puis les lancer lorsqu’elles entrent dans l’écran
  • Les réactions ici sont excessivement négatives. J’ai parcouru plusieurs parties : les animations sont agréables, le texte se lit facilement, et le contenu ne ressemble pas à une production générée de mauvaise qualité
    Le contexte historique du télégraphe était intéressant, et la différence entre bande passante et latence était traitée avec soin. En revanche, l’article est tellement long qu’il me paraît peu probable qu’un lecteur peu familier du sujet le lise jusqu’au bout

    • J’avais l’impression que les ressources existantes étaient trop proches d’un manuel scolaire ou trop générales, et je voulais aider chacun à comprendre les concepts en détail. J’ai donc essayé de les expliquer de manière plus intéressante
    • Quand on balaie les autres d’un revers de main, il est facile de se sentir supérieur. Sur HN en particulier, comme il faut du temps pour lire réellement un long article, l’évaluer et formuler une critique constructive, plus les réactions sont précipitées, plus elles ont tendance à être négatives ou hors contexte