Discussion verrouillée 
 
Note de cette discussion :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Internet, comment ça marche
14/06/2005, 00:09 (Ce message a été modifié le : 12/05/2012 15:48 par Bronco.)
Message : #1
Internet, comment ça marche
A la demande générale lol je me lance

Les adresses

Afin que les différents équipement puisse se parler, il faut qu'ils disposent d'une adresse. En fait ils en ont 2, l'adresse MAC et l'adresse IP.
  • L'adresse MAC est une adresse physique attribuée à chaque interface physique. Une adresse MAC ne peut être attribuée qu'à une seule interface. Cette attribution est gérée par les fabricants, chacun ayant une plage disponible et attribuant les adresses au fur et à mesure. Pour la Freebox, l'adresse MAC c'est ... le fameux numéro de Freebox ! A noter qu'il en existe une autre pour le port Ethernet et une pour la carte WiFi quand elle existe.
  • L'adresse IP est une adresse logique (i.e. Définie par l'utilisateur et susceptible de changer d'équipement). Sur un réseau donné, l'adresse IP ne doit être définie qu'une fois, sinon les messages ne peuvent plus être acheminés vers cette adresse. Celle-ci doit absolument être unique sur le réseau Internet ! L'attribution des adresses IP est gérée par des organismes officielles. Free a donc demandé officiellement les adresses qu'il utilise pour nous.
Ces adresses sont souvent données en hexadécimale (0-9;A-F). L'adresse MAC comprend 6 groupes de 2 chiffres hexadécimaux (par exemple Adresse physique: 00-AC-61-59-06-EA), l'adresse IP 4 (par exemple 192.168.0.1 soit C0.A8.00.01 en hexadécimal). Chaque groupe représente 1 octet.

Chaque groupe de chiffre peut aller de 0 à 255 (0 à FF en notation hexadécimale). On évite d'utiliser les valeurs 0, 127 et 255 qui ont souvent un rôle spécifique.

Les réseaux

Pour éviter qu'un PC puisse voir l'ensemble des équipements on définit des réseaux. Un PC ne pourra voir que les machines de son réseau. Ces réseaux sont numérotés grace aux groupes de chiffre de tête de l'adresse. Il existe 3 catégories de réseaux en IPv4
  • Les réseaux de classe A pour lesquels le numéro de réseau est défini par le premier octet, compris entre 1 et 126, et les numéros de machines par les 3 octets suivants. On peut donc avoir 16777214 sur chaque réseau, mais seulement 126 réseaux dans le monde.
  • Les réseaux de classe B pour lesquels le numéro de réseau est défini par les 2 premiers octets, le premier octet étant compris entre 128 et 191, et les numéros de machines par les 2 octets suivants. On peut donc en avoir 65534 sur chaque réseau, mais on n'a que 16384 réseaux théoriquement possibles dans le monde.
  • Les réseaux de classe C pour lesquels le numéro de réseau est défini par les 3 premiers octets, le premier octet étant compris entre 192 et 223, et les numéros de machines par le dernier octet . On ne peut donc « plus » avoir que 254 machines sur chaque réseau, mais on a 2097152 réseaux théoriquement possibles dans le monde.
Sur le site François04, on peut remarquer que les DSLAM sont déclarés avec des adresses de classe C, alors que les IP utilisateurs sont en classe A

Les réseaux non routables

Malgré le nombre de réseaux possibles, il existe un réel déficit pour couvrir les besoins mondiaux en terme d'adresses réseaux. C'est ce qui a conduit récemment à la définition de Ipv6, en cours de mise en place. Pour palier à ce problème, l'INTERNIC a défini des réseaux non routables.

Un réseau non routable utilise une adresse réseau spécifique. Si un routeur sur la toile détecte un paquet contenant cette adresse de réseau, il le supprime instantanément.

Les réseaux non routables portent les numéros 10 ( classe A ), 172.16 à 172.31 ( classe B ) et 192.168.0 à 192.168.255 ( classe C ). Vous avez certainement reconnu les réseaux 192.168.xx chers à la Freebox. Et oui, lorsque la boite est mise en mode routeur, elle définit un réseau local non routable pour votre PC. Celui-ci ne peut donc plus communiquer directement avec des équipements situés sur Internet.

Les masques de réseaux

On vient de voir les différentes classes de réseau. Mais si vous êtes un chanceux qui dispose d'un réseau de classe A, vous n'avez certainement pas envie que chaque machine puisse voir les 16 777 213 autres machines du réseau. Bonjour la sécurité et les embouteillages !

Pour résoudre ce problème, il y a les masques de réseau. Ces masques de réseau se composent, comme les adresses IP, de 4 octets. Pour un réseau de classe A, ce masque est 255.0.0.0 (FF.00.00.00), en classe B il devient 255.255.0.0 (FF.FF.00.00) et en classe C 255.255.255.0 (FF.FF.FF.00)

L'utilisation du masque de réseau est simple, binaire même. Lorsqu'un PC reçoit un message d'un autre PC, le premier travail effectué consiste à faire un ET logique de l'adresse IP de l'émetteur et du masque et de le comparer au ET logique de l'adresse IP de l'interface cible du récepteur et du masque. S'il y a égalité, le paquet est accepté. Sinon il est rejeté.

Les valeurs de masque données sont les valeurs standards. Néanmoins, vous pouvez mettre n'importe quelle valeur à l'intérieur, il n'y a aucune contrainte (le réseau non plus n'est pas contraint de fonctionner si vous mettez VRAIMENT n'importe quoi. Donc cette valeur ne se change qu'en connaissance de cause).

Cela permet de séparer, par exemple, un réseau de classe A en 128 sous réseaux « B » ou 32000 sous-réseaux « C ». Si toutes les machines de ces sous-réseaux ont les mêmes masques, chaque machine ne pourra voir que les machines de son sous réseau.

Une expérience à tenter avec un switch et 2 PC (sans routeur sur le réseau) permet de voir l'effet du masque. Configurer 1 PC en 192.168.0.1 et l'autre en 192.168.0.150 par exemple, les 2 masques en 255.255.255.0. Un « ping 192.168.0.150 » lancé sur la première machine passe. Après modification du masque en 255.255.255.128 sur les deux machines, le ping ne passe plus.

Dans le premier cas, les 2 ET logiques avaient pour résultat 192.168.0.0. Dans le deuxième cas, le premier ET donne 192.168.0.0, le deuxième 192.168.0.128. Ils sont donc sur deux sous réseaux différents.

Rien n'interdit d'ailleurs de donner un masque de classe B à un réseau de classe C, mais cette pratique est à éviter.

TCP et UDP

Sur Internet, il existe deux types de mode de communication, le mode TCP (Transmission Control Protocol) et le mode UDP (User Datagram Protocol).

Lorsque deux machines discutent en TCP, elles ouvrent une « session », et restent connectées sur le port concerné jusqu'à la fin de la session. Ce protocole assure « de base » une certaine sécurité, entre autre l'absence de perte de paquets.

En UDP, le fonctionnement est de type « Fire and Forget ». le paquet est envoyé par l'émetteur, et le protocole ne vérifie pas l'arrivée à destination. Néanmoins, cette vérification peut être effectuée à plus haut niveau, par les programmes émetteur et récepteur.

Les ports

Un port correspond à une valeur numérique, stockée dans l'en-tête des messages, qui définit le type de message et sa destination. A l'arrivée du message, un « service » doit écouter ce port. Ce service se charge de le transmettre au programme concerné.

Le port peut être trié par les routeurs rencontrés sur le chemin du message. Ceux-ci peuvent décider de ne pas le laisser passer (Freebox en mode routeur sans ouverture de port) ou leur affecter des priorités (Une mule qui rame, ça ne vous rappelle rien ?). Pourtant la Freebox laisse passer des messages (grace au NAT). La gestion des priorités sera décrite rapidement plus loin (QoS)

Quelques ports célébres :
  • 21 : ftp
  • 23 : telnet
  • 25 : smtp
  • 110 : pop3
  • 143 : imap
  • 80 : http
  • 443 : https
Certains ports sont enregistrés auprès de l'IANA (Internet Assigned Numbers Authority). Leur liste se trouve sur http://www.iana.org/assignments/port-numbers. Comme pour les masques de réseau, il est possible de faire n'importe quoi, il suffit que les machines concernées soient d'accord. Néanmoins, il est fortement recommandé de respecter les ports enregistrés pour éviter des surprises désagréables.

DNS (Domain Name System)

Sur Internet, le seul moyen de discuter avec une autre machine est de connaître son adresse IP. Pourtant, il est rare de taper ce type d'adresse. C'est que les serveurs DNS veillent !

Lorsque l'on tape dans Firefox http://www.free.fr, le PC qui ne connait pas l'adresse de Free va interroger un serveur DNS et lui demander si lui la connait. C'est le principe de l'annuaire. Le serveur sympathique va alors renvoyer la bonne information au PC demandeur, soit 213.228.0.42 (D5.E4.0.2A)

A partir de là, le PC a en main toutes les information pour se connecter sur le serveur Free et récupérer la page d'acceuil. Les informations qui peuvent se trouver derrière l'adresse, /suivi.html par exemple, sont transmises directement au serveur qui s'en sert pour retrouver l'information recherchée.

A noter également que le préfixe http lui indique d'utiliser le port 80. On rencontre également le préfixe https (http sécurisé). Dans ce cas, c'est le port 443 qui va être utilisé pour la demande. Vous suivez ?

Petit complément. Sous Windows, il existe 2 fichiers nommés hosts et lmhosts qui sont situés dans le répertoire %WINDIR%\System32 (95, 98, Me) ou %WINDIR%\system32\drivers\etc (NT, 2000, XP) dans lesquels il est possible de définir des adresses de machine. Lorsqu'un serveur DNS existe, ces fichiers ne sont pas utiles. Ils sont pourtant consultés avant les serveurs DNS, au cas où. Dans certains cas ces fichiers sont piratés par des virus. C'est entre autre une méthode facile pour détourner des adresses, faire par exemple que http://www.free.fr devienne systématiquement http://www.mapub.com. Il suffit d'ajouter dans ce fichier une ligne contenant l'adresse IP de http://www.mapub.com et l'adresse http://www.free.fr.

Dans le doute, il est possible de supprimer le fichier lmhosts qui ne sert plus à rien dans un petit réseau. Quand au fichier hosts, une seule ligne suffit :
Code :
127.0.0.1       localhost
Attention : Il est facile de créer un fichier hosts vierge avec le bloc-note, mais celui-ci l'enregistre systématiquement avec le suffixe .txt. Les fichiers hosts et lmhosts actifs sont des fichiers qui n'ont pas d'extension ! Il faut donc renommer après création hosts.txt en hosts.


DHCP (Dynamic Host Configuration Protocol)

Pour qu'un PC fonctionne, il faut qu'il ait une adresse IP. Lorsque les machines sont nombreuses, suivre les affectations d'adresses est fastidieux. On utilise alors le protocole DHCP.

Au démarrage du PC (Win 98, par exemple), ou à l'activation du réseau (XP), le PC demande à un serveur DHCP (la Freebox en mode routeur, le DSLAM en mode non routeur) une adresse IP lui permettant de dialoguer sur la toile.

C'est au serveur DHCP de s'assurer que deux machines n'utilisent pas la même adresse. En général, quand on l'éteint, il oublie les adresses qu'il a attribué et risque de les attribuer à nouveau, pas forcément aux mêmes PC. Il faut donc dans ce cas réinitialiser les connexions si l'on ne veut pas avoir de doublons d'adresses.

Le bail, réglable sur certains équipement, correspond à la durée pendant laquelle une adresse sera réservée à un PC éteint. Pour le repérer, le serveur utilise ... l'adresse MAC. Si l'on change la carte Ethernet d'un PC et qu'on le rebranche avant expiration du bail, il n'obtiendra JAMAIS la même adresse puisque l'adresse MAC de la connexion à changé.

Pour un petit réseau, DHCP semble superflu. Cependant, en même temps que l'adresse le serveur DHCP fourni des informations supplémentaires comme l'adresse de la passerelle de sortie (l'adresse IP à qui l'on envoi tous les messages destinés à une adresse que l'on ne peut pas atteindre directement), ou celle des serveurs DNS actifs. C'est donc un mode de fonctionnement pratique pour avoir toujours des adresses qui marchent.

Passerelles et Routeurs

On a vu qu'un PC ne peut dialoguer qu'avec les PC de son réseau, et pourtant ... on est capable de se connecter à des machines en dehors de ce réseau, serveurs Web, serveurs FTP ou serveurs P2P pour ne citer que les principaux. C'est le rôle des passerelles et routeurs de permettre ce dialogue.

Une passerelle est un équipement qui permet de convertir les protocoles entre 2 réseaux différents, un routeur, lui, se contente de ... router, c'est à dire de faire parler ensemble 2 réseaux qui ne le devrait pas. Car lui dispose d'adresses dans chaque réseau qu'il est supposé router.

Dans les fonctions de routage avancées, il y a la gestion d'itinéraire. Comme pour aller voir votre belle-mère, il est généralement possible pour accéder à un serveur d'emprunter plusieurs itinéraires plus ou moins rapides. Un routeur performant connaît, pour chaque itinéraire partant de chez lui, le temps nécessaire et choisira le plus rapide. Ces tables sont généralement tenues à jour en temps réel. C'est le rôle du protocole RIP (Routing Internet Protocol) de permettre la mise à jour de ces tables.

Hubs et switch

Ces deux types d'équipements servent à connecter ensemble plusieurs équipements.
Le plus simple, le hub, se contente d'effectuer une connection électrique entre les câbles réseaux.

Le switch effectue le même type de tâche mais, en plus, il sélectionne à la volée les paquets et ne transmet que ceux correspondant aux équipements situés derrière une branche donnée (si c'est le départ vers la freebox, tout internet Rolleyes ) Cela permet d'éviter du travail de filtrage aux cartes des PC locaux.

Aujourd'hui, le hub a quasiment disparu au profit du switch, plus performant et de coût de plus en plus voisin.

Le câble, droit ou croisé ? En principe le câble est droit pour connecter un équipement terminal (PC par exemple siffle) à un équipement de connexion (hub, switch, routeur, modem ...), et croisé pour connecter deux équipements terminaux entre eux, ou 2 équipements de connexion entre eux.
Dans la pratique, les équipements de connexion ont un port "uplink" (de départ) "autosense" (qui s'adapte automatiquement, manuellement pour les plus vieux), donc le choix du câble est rarement critique entre eux.
Par contre un câble droit pour aller du PC au routeur/switch est une bonne pratique, souvent indispensable, et un câble croisé pour connecter 2 PC entreux (sisi, ça marche, et en plus au maximum de la liaison pour des gros transferts) est incontournable.

NAT (Network Address Translation)

Le NAT a été créé relativement récemment pour lutter contre le manque d'adresses Internet disponibles. Un proxy NAT cache les adresses de son réseau aux machines situées sur la toile. Lorsqu'une machine envoi un message, il remplace l'adresse de la machine d'origine par la sienne avant d'envoyer le message sur la toile. Les gros proxy sont d'ailleurs capables de gérer plusieurs adresses externes, souvent les 253 d'un réseau de classe C.

En parallèle, il mémorise la demande ce qui lui permet, à réception de la (des) réponse(s) d'effectuer la manipulation inverse et de renvoyer le paquet au bon 'émetteur.

Voilà pourquoi une Freebox, configurée en mode routeur NAT, permet de surfer bien que tous ses ports soient fermés vu de l'extérieur.

L'avantage, c'est que tous les messages non sollicités, souvent des messages malveillants, sont refusés. C'est donc une excellente protection contre les attaques de virus où de hackers (au moins les plus mauvais) pour pas cher. Cela ne dispense pas néanmoins de disposer de logiciels de protection car le NAT ne peut rien contre les virus qui arrivent par fichier, ni contre les vers qui transmettent de l'information vers l'extérieure.

Le NAT verrouille l'entrée, pas la sortie !

QoS (Quality of Service)

Nom savant affecté aux Gardiens de la Paix du net (ceux, automatiques, chargés de la circulation) Sous cette appellation se cache des règles qui permettent de limiter la, ou au contraire d'assurer un minimum de, bande passante pour certains services (ou certaines adresses IP).

En particulier, pour avoir une télé sans freeze (sisi, ça existe paraît-il, mais j'attends toujours de pouvoir tester) ou un téléphone audible (ça j'ai testé) il faut que les flux de données correspondants soient privilégiés par rapport au surf. C'est le rôle de la fonction QoS de s'en assurer.

MTU (Maximum Transmission Unit)

C'est la taille maximum (en octets) d'un paquet transmis sur une liaison IP, que ce soit un cable ethernet, USB, RTC, ou en WiFi. Chaque équipement en charge de routage est capable de découper un paquet pour le faire suivre lorsque le MTU de la liaison de sortie ets inférieur à celui de la liaison d'entrée.

A quoi sert de faire varier le MTU ?

Un paquet IP est composé, pour faire simple, de 2 parties :
- L'en-tête, qui contient les informations nécessaires à l'acheminement du paquet.
- Les données "utiles"
Lorsqu'un équipement transmet un paquet sous IP, ça passe ou ça casse. Si le récepteur détecte, grace aux "checksums" une erreur de transmission, il demande à l'émetteur de renvoyer la totalité du paquet.

Un petit MTU va donc générer un overhead (surcharge) important. Si l'on considère un MTU de 90 pour une en-tête de 45 octets, on voit que la bande passante effective est de 50% de la bande passante totale (puisque chaque fois que j'envois 45 octets utiles, j'envois également 45 octets d'en-tête). Avec un MTU de 500, l'overhead descend à 10% et avec un MTU de 1500 on arrive à 3% (environ)

Le MTU doit donc être aussi grand que possible du point de vue des données. Par contre, si un paquet est mal transmis, il faut le retransmettre intégralement jusqu'à ce qu'il passe, ou que le nombre maximum de retransmission soit atteint. Là on parle plus de probabilité, mais il est évident que plus le paquet est long plus la probabilité de perte d'octets, donc de retransmission, est forte.

Quel réglages ?

Le MTU standard ethernet est de 1500. En cas de problème, on peut le diminuer à 1000, voir 500 pour voir si la vitesse de transmission "mesurée" sur un site test s'améliore, et si l'on a moins de blocages. En dessous de 500, soit vous êtes sur une fausse piste (votre problème est ailleurs), soit il faut reconsidérer la liaison qui n'est manifestement pas assez fiable.

Enfin, il est inutile d'avoir un MTU supérieur à la valeur minimum des MTU rencontrés sur une route donnée. Cela donnera une surcharge de travail aux routeurs chargés de découper les paquets sur le chemin. Pire, un MTU de 1550 sur une route dont tous les routeurs ont un MTU de 1500 obligera le premier routeur à transmettre systématiquement un paquet de 1500 octets et un de 50, i.e. la taille d'en-têtes transmise, donc l'overhead, sera doublée.

Pour les réglages fin, voir le tuto MTU

[Image: Mozilla-Firefox-icon.png] [Image: attachment.php?aid=313]  [Image: Mozilla-Thunderbird-icon.png]
"In a world without walls and fences, who needs windows and gates ?"
Trouver tous les messages de cet utilisateur
Discussion verrouillée 


Aller à :


Utilisateur(s) parcourant cette discussion :
ContactLeFreenauteRetourner en hautRetourner au contenuVersion bas-débit (Archivé)Syndication RSS