le réseau: une approche et quelques commandes - data communication network

terminal la ligne de commande sous debian

image de trois écrans d'ordinateur dans un réseau lan

ordinateurs en réseau


Dés lors que nous possédons un ordinateur, une des premières choses que nous voulons,c’est d’aller sur internet. Pour cela nous avons besoin de nous connecter à un routeur( pour la plupart d’entre nous ce sera une box), puis nous aurons besoin d’une imprimante, d’un televiseur pour certains et autres appareils, vous mettez donc en marche un réseau.. Vous mettez en relations plusieurs systèmes informatique, soit à l’aide d’un câble, soit avec du wifi.. ect comme nous sommes quelques milliards dans ce cas il à bien fallu établir des normes de communications. Le modèle OSI est donc une norme qui préconise comment les ordinateurs devraient communiquer entre eux. Et pour faire fonctionner toutes ces communications entre elles, ce sera dans le respect de la communication par couches.


Les couches OSI : (Open Systems Interconnection)

On associe une adresse Ethernet au réseau d’un ordinateur, et non à l’ordinateur lui même. Remplacer l’interface ( en l’occurrence la carte réseau) de cet ordinateur modifie son adresse physique sur le réseau. Le modèle OSI : Il décrit sept couches portant les noms de couche : *Il est d’usage de diviser ces sept couches en deux : - les couches basses, qui se limitent à gérer des fonctionnalités de base. - les couches hautes, qui contiennent les protocoles plus élaborés. * Les couches basses, aussi appelées couches matérielles, s’occupent de tout ce qui a trait au bas-niveau, au matériel. Elles permettent d’envoyer un paquet de données sur un réseau et garantir que celui-ci arrive à destination. Elle est généralement prise en charge par le matériel et le système d’exploitation, mais pas du tout par les logiciels réseaux. Les couches basses sont donc des couches assez bas-niveau, peu abstraites. Les couches basses sont au nombre de trois. Pour résumer, ces trois couches s’occupent respectivement des liaisons point à point (entre deux ordinateurs/équipements réseaux), des réseaux locaux, et des réseaux Internet.
LES COUCHES BASSES :
1) la couche physique :
s’occupe de la transmission physique des bits entre deux équipements réseaux. Elle s’occupe de la transmission des bits, leur encodage, la synchronisation entre deux cartes réseau, etc. Elle définit les standards des câbles réseaux, des fils de cuivre, du WIFI, de la fibre optique, ou de tout autre support électronique de transmission. Le rôle principal de la couche 1 est de fournir le support de transmission de la communication. Eh oui, pour pouvoir communiquer il va bien falloir avoir un support. Vous en connaissez déjà un si vous êtes connectés à Internet : un câble RJ45 si vous êtes connectés directement à votre box, l’air libre si vous utilisez le wifi. La couche 1 aura donc pour but d’acheminer des signaux électriques, des 0 et des 1 en gros. Avec la fibre optique, nous transportons des 0 et des 1, non plus avec de l’électricité mais avec de la lumière ! Le nom scientifique de la fibre est communément le 1000BF Aujourd’hui, dans la plupart des réseaux, nous utilisons 2 paires, soit 4 fils, une paire pour envoyer les données, et une paire pour les recevoir
2) la couche liaison :
s’occupe de la transmission d’un flux de bits entre deux ordinateurs, par l’intermédiaire d’une liaison point à point ou d’un bus (note3). Pour simplifier, elle s’occupe de la gestion du réseau local. Elle prend notamment en charge les protocoles MAC, ARP, et quelques autres. Le rôle donné à la couche 2 est de connecter des machines sur un réseau local, et la détection des erreurs de transmission. Plus exactement, l’objectif est de permettre à des machines connectées ensemble de communiquer. Nous allons donc dans ce chapitre voir ce qu’il faut mettre en œuvre pour établir une communication entre deux ou plusieurs machines Le bus de données permet à différents blocs logiques d’échanger des informations, il relie le processeur, la mémoire centrale et les contrôleurs de périphériques.
On a donc créé un identifiant particulier à la couche 2 qui permettrait de distinguer les machines entre elles, il s’agit de l’adresse MAC ! l’adresse MAC est en liaison avec le matériel, et notamment la carte réseau. Chaque carte a sa propre adresse MAC, unique au monde. L’adresse MAC est donc l’adresse d’une carte réseau.l’adresse MAC s’écrit en hexadécimal, codée sur 6 octets, soit 48 bits .... En clair, Une adresse MAC est un identifiant physique inscrit en usine dans une mémoire. Elle est constituée de 6 octets souvent donnée sous forme hexadécimale (par exemple 5E:FF:56:A2:AF:15). Elle se compose de : 3 octets de l’identifiant constructeur et 3 octets du numéro de série.
Un octet représente 8 bits.
Ce qui nous donne pour un octet, qui représente 8 bits : 1 octet = 2 puissance 8, = 256 valeurs ! (voir notes 1 )
Un bit est une valeur binaire.etc etc
En réseau, on traduit langage de communication commun par "protocole", compréhensible par tous les systèmes d’exploitation. Le protocole va ainsi définir quelles informations vont être envoyées, et surtout dans quel ordre.
Couche - l’adresse de l’émetteur ;
- l’adresse du destinataire ;
- le message proprement dit.
La trame est le message envoyé sur le réseau.
**Format d’une trame Ethernet :
* adresse MAC du destinataire
* adresse MAC de l’émetteur (aussi appelée adresse MAC source).
* protocole de la couche 3
* message
* CRC (Le CRC est une valeur mathématique qui est représentative des données envoyées.En gros cela veut dire que c’est un nombre qui sera différent pour chaque message.
* une machine A envoie un message à une machine B.
* Lors de l’envoi, A calcule le CRC (une valeur X) et le met à la fin de la trame
* B reçoit le message et fait le même calcul que A avec la trame reçue (une valeur Y
* B compare la valeur qu’elle a calculée (Y) avec la valeur que A avait calculée et mise à la fin de la trame (X).
* Si elles sont égales, bingo ! La trame envoyée par A est bien identique à la trame reçue par B. (si non , erreur)
* La taille maximale est de 1518 octets, pour une trame Ethernet.
Avec les 18 octets d’en-tête à la taille maximale, nous tombons sur un chiffre rond de 1500 octets de données pour les données à envoyer !
* on sait maintenant que le rôle principal de la couche 2 est de connecter les machines sur un réseau local ; ===== * Dans la couche 2, nous avons le commutateur, ou switch, sur lequel sont présentes plusieurs prises RJ45 femelles permettant de brancher dessus des machines à l’aide de câbles, mais, aussi des imprimantes, Nas, etc ...
* Vous entendrez parfois parler de pont ou bridge en anglais (un switch avec seulement deux ports.)
* Pour envoyer la trame vers la bonne machine, le switch se sert de l’adresse MAC , destination contenue dans l’en-tête de la trame.
* le switch contient une table qui fait l’association entre un port du switch (une prise RJ45 femelle) et une adresse MAC. Cette table est appelée la table CAM. port 1 mac xx, port 2 mac kkk, port 3 mac GGG, etc etc ..…
Dans chaque switch se trouve une base de données appelée “table MAC” pour Medium-Access-Control ou “table CAM” pour Content-Addressable-Memory.
* prises RJ45. câble droit ou câble croisé, si l’on utilise les switchs actuelles, ceci n’a plus d’importance avec une box,et un switch plusieurs ports, nous sommes en étoiles
* Cette table fait le lien entre les ports physiques du switch (E0, E1, E2) et les adresses MAC sources qui arrivent sur ces ports. Forcément, lorsqu’on démarre un switch, ce dernier ne peut pas savoir quel PC est connecté sur tel ou tel port, la table est donc logiquement vide.Cette table se construit en associant numéro de port et adresse MAC, le switch sait comment associer ces données, il remplit sa table CAM au fur et à mesure des connexions aux ordinateurs .
La commande « arp » permet de visualiser ou modifier la table du cache arp de l’interface. Cette table peut être statique et (ou) dynamique. Elle donne la correspondance entre une adresse IP et une adresse MAC (Ethernet).

Avec net-tools


Avec iproute2

Avec net-tools

Avec iproute2

ifconfig -a m’affiche mon adresse mac (ma carte réseau)
inet6 fe80::a60:6eff:fe7e:4e46/64 scope link noprefixroute
loop c’est aussi lo, la boucle local 127.0.0.1
Chaque pile TCP/IP répond sur l’adresse 127.0.0.1.
dans /etc/network/interfaces, on a auto lo
iface lo inet loopback
de toutes les adresses IPv4 comprises entre 127.0.0.1 et 127.255.255.255, la plus utilisée est 127.0.0.1).
l’interface lo est l’interface de loopback qui a pour adresse 127.0.0.1. (c’est une interface virtuelle qui permet à la machine de se connecter à elle même sans passer par le réseau, ce qui est nécessaire pour de nombreux programmes. On parle en français d’interface de boucle de retour, ou adresse de bouclage. )
L’interface réseau virtuelle utilisée dans cette situation se nomme l’interface de loopback (abrégée par lo sous Unix) ou boucle locale
l’adresse IPv4 127.0.0.1 constitue l’adresse loopback.c’est l’interface réseau réservée utilisée par le système local pour permettre les communications entre processus
L’hôte utilise cette adresse pour s’envoyer des paquets à lui-même.
Tout système du réseau TCP/IP doit utiliser l’adresse IP 127.0.0.1 pour le loopback IPv4 sur l’hôte local. on le voit bien dans la commande "ip addr" au dessus.
La commande ping vérifie si une machine distante répond en lui envoyant des paquets On peut aussi utiliser le nom de la machine, si celle-ci est renseignée dans votre fichier Hosts ou sur un serveur DNS

La plage d’adresses IP 127.0.0.0 - 127.255.255.255 est réservée au bouclage.
L’adresse IP de bouclage est entièrement gérée par et au sein du système d’exploitation. Ces adresses permettent aux processus serveur et client d’un même système de communiquer entre eux. Lorsqu’un processus crée un paquet avec l’adresse de destination comme adresse de bouclage, le système d’exploitation le reboucle sur lui-même sans aucune interférence de la carte réseau.
Les données envoyées en boucle sont transmises par le système d’exploitation à une interface réseau virtuelle au sein du système d’exploitation. Cette adresse est principalement utilisée à des fins de test comme l’architecture client-serveur sur une seule machine.
Par exemple, si une machine hôte peut envoyer une requête ping à 127.0.0.2 ou à toute adresse IP de la plage de bouclage, cela signifie que la pile logicielle TCP / IP sur la machine est correctement chargée et fonctionne.
broadcast
L’adresse de broadcast permet d’envoyer les données et les informations à tous les appareils d’un réseau. Les différents éléments du réseau se chargent alors de la réception et du traitement des données. Le but de l’adresse IP de broadcast est de connecter ensemble tous les appareils d’un réseau. L’émetteur établit une connexion en broadcast dans laquelle il envoie son adresse afin de permettre aux destinataires de le contacter. Le broadcast fonctionne donc de façon similaire à une liste de diffusion dans laquelle les destinataires ne sont pas visibles et l’émetteur n’a pas à connaître les adresses des participants au réseau. Les participants révèlent uniquement leur adresse lorsqu’ils entrent en contact avec l’émetteur.
Quand une machine vient de démarrer, elle n’a pas de configuration réseau (même pas de configuration par défaut), et pourtant, elle doit arriver à émettre un message sur le réseau pour qu’on lui donne une vraie configuration. La technique utilisée est le broadcast : pour trouver et dialoguer avec un serveur DHCP (note1), la machine va simplement émettre un paquet spécial, dit de broadcast, sur l’adresse IP 255.255.255.255 et sur le réseau local. Ce paquet particulier va être reçu par toutes les machines connectées au réseau (particularité du broadcast).
Lorsque le serveur DHCP reçoit ce paquet, il répond par un autre paquet de broadcast contenant toutes les informations requises pour la configuration. Si le client accepte la configuration, il renvoi un paquet pour informer le serveur qu’il garde les paramètres, sinon, il fait une nouvelle demande.
Les choses se passent de la même façon si le client a déjà une adresse IP (négociation et validation de la configuration), sauf que le dialogue ne s’établit plus avec du broadcast.

*Pour obtenir les applications en écoute sur le serveur

3) la couche réseau :
elle s’occupe de tout ce qui a trait à internet : l’identification des différents réseaux à interconnecter, la spécification des transferts de données entre réseaux, leur synchronisation, etc. C’est notamment cette couche qui s’occupe du routage, à savoir la découverte d’un chemin de transmission entre récepteur et émetteur, chemin qui passe par une série de machines ou de routeurs qui transmettent l’information de proche en proche. Le protocole principal de cette couche est le protocole IP. Le rôle de la couche 3 est donc d’interconnecter les réseaux.
IP (Internet Protocol) L’adresse IP est en fait l’adresse du réseau et la machine. Plus exactement, une partie de l’adresse représentera l’adresse du réseau, et l’autre partie l’adresse de la machine.
sous debian c’est le logiciel Iproute2 qui va gérer votre réseau : /sbin/ip
lrwxrwxrwx 1 root root 7 janv. 10 2019 /sbin/ip -> /bin/ip Une adresse IP est codée sur 32 bits (soit 4 octets, car vous vous rappelez bien qu’un octet vaut 8 bits). Afin de simplifier la lecture et l’écriture d’adresses IP pour les humains, nous avons choisi d’écrire les adresses avec la notation en décimal pointée. Cette dernière sépare les 4 octets sous forme de 4 chiffres décimaux allant de 0 à 255. Cela donne par exemple : 192.168.0.1
On en déduit au passage que la plus petite adresse IP est : 0.0.0.0 (quand tous les bits de l’adresse sont à 0) alors que la + grande vaut : 255.255.255.255 (quand tous les bits sont à 1).
Pour des raisons d’optimisation des ressources réseau, les adresses IP sont délivrées pour une durée limitée. C’est ce qu’on appelle un bail (lease en anglais). Un client qui voit son bail arriver à terme peut demander au serveur un renouvellement du bail. De même, lorsque le serveur verra un bail arrivé à terme, il émettra un paquet pour demander au client s’il veut prolonger son bail. Si le serveur ne reçoit pas de réponse valide, il rend disponible l’adresse IP.
C’est toute la subtilité du DHCP : on peut optimiser l’attribution des adresses IP en jouant sur la durée des baux. Le problème est là : si toutes les adresses sont allouées et si aucune n’est libérée au bout d’un certain temps, plus aucune requête ne pourra être satisfaite.
Un sous-réseau est un espace d’adresses IP qui est divisé en espaces d’adresses plus petits. Le sous-réseau devient ainsi une partie d’un réseau dans lequel toutes les adresses IP utilisent la même adresse réseau. Si tous les sous-réseaux sont connectés à un routeur
Le masque de sous-réseau (subnet mask) la création de sous-réseaux permet de segmenter votre réseau et de réduire les collisions possibles entre des données differentes.
Nous allons en fait ajouter une information supplémentaire à l’adresse IP, le masque de sous-réseau.adresse IP et masque, seront inséparables.
C’est le masque qui va indiquer quelle est la partie réseau de l’adresse, et quelle est la partie machine. Dans une adresse IP, c’est la partie gauche qui correspond à l’identité du réseau, la partie réseau de l’adresse est 192.168
la suite étant la partie machine (0.1 ou 1.1 ou 1.12 comment c’est déterminé, sous quels critères
*- Nombre de machines
* Le masque de sous réseau par défaut est 255.255.255.0. Dans ce cas, on peut avoir jusqu’à 254 terminaux (clients) dans ce même réseau, donc 254 adresses IP.
Vous avez 254 adresses IP disponibles uniquement lorsque vous utilisez un masque de sous-réseau par défaut.
En y regardant d’un peu plus près, on peut calculer le nombre de machines que l’on peut identifier à l’aide de cet adressage.
Ainsi, on utilise 4 octets, soit 32 bits, soit encore 2^32 adresses (2 exposant 32 adresses) Or 2^32 = 4 294 967 296, on peut donc définir un peu plus de 4 milliards d’adresses !!! *- oups :) pas toujours évident
Il nous suffit de dire que les bits à 1 représenteront la partie réseau de l’adresse, et les bits à 0 la partie machine. Ainsi, on fera une association entre une adresse IP et un masque pour savoir dans cette adresse IP quelle est la partie réseau et quelle est la partie machine de l’adresse

Comment trouver l’ip public de son serveur :


Plusieurs solutions pour mon serveur « funambule.org »

Voir aussi à cette URL

Sur Firefox vous pouvez installer l’extension « ip and domain informations »

* Les couches hautes, aussi appelées couches logicielles, contiennent des protocoles pour simplifier la programmation logicielle. Elles requièrent généralement que deux programmes communiquent entre eux sur le réseau. Elles sont implémentées par des bibliothèques logicielles ou directement dans divers logiciels. Le système d’exploitation ne doit pas, en général, implémenter les protocoles des couches hautes. Elles sont au nombre de quatre :

Les COUCHE HAUTES :

4) la couche transport : permet de gérer la communication entre deux programmes, deux processus. Les deux protocoles de cette couche sont les protocoles TCP et UDP.
5) la couche session : comme son nom l’indique, permet de gérer les connexions et déconnexions et la synchronisation entre deux processus.
6) la couche présentation : se charge du codage des données à transmettre. Elle s’occupe notamment des conversions de boutisme ou d’alignement, mais aussi du chiffrement ou de la compression des données transmises.
7) la couche application : prend en charge tout le reste. (pour l’instant c’est vague comme explication) Chaque couche ajoute sa propre en-tête à l’information d’origine
Ce procédé s’appelle ’encapsulation
La couche 2 permet à deux machines d’acheminer les données d’un ordinateur à un autre. directement connectées de dialoguer, on dit alors que les machines sont sur un même réseau
La couche 3 permet le dialogue entre réseaux, ce que l’on appelle le routage. deux machines sur un même réseau pourront dialoguer directement, mais pour parler à une machine située sur un réseau distant, il faudra passer par des machines intermédiaires qui feront la liaison entre les réseaux (on appellera ces machines intermédiaires des routeurs).
Ces routeurs vont donc recevoir les paquets sur un réseau, et les renvoyer sur l’autre.
L’adressage MAC en couche 2 permet d’identifier les machines SUR UN MÊME RÉSEAU.
L’adressage IP en couche 3 permet d’adresser les machines SUR DES RÉSEAUX DISTINCTS.
Si vous avez compris les masques de sous réseau, vous savez que le masque permet notamment à une machine de savoir quelles sont les autres machines de son réseau. Ainsi, quand une machine veut dialoguer avec une autre, elle va d’abord regarder si cette machine est sur son propre réseau, ou si elle va devoir passer par des routeurs intermédiaires pour lui envoyer son paquet. Ceci va être possible grâce à la table de routage.
Si le modèle osi comporte 7 couches, que nous venons d’énoncer ci dessus.
Le modèle TCP/IP, a seulement quatre couches : liaison, Internet, transport et application.
La couche liaison de TCP/IP regroupe notamment les couches physiques et liaison d’OSI. De même, la couche application de TCP/IP regroupe les couches session, application et présentation d’OSI. TCP/IP est un sigle qui recouvre deux protocoles utilisés par de nombreuses sociétés commercialisant des équipements de réseau.
Ces deux protocoles IP (Internet Protocol) et TCP (Transmission Control Protocol) forment respectivement la couche réseau et la couche de transport qui ont été développées pour les besoins d’interconnexion des divers réseaux hétérogènes de la défense américaine.
L’idée de base est simple, rendre ces réseaux homogènes en leur imposant un protocole commun, le protocole IP. De cette façon, pour passer d’un sous-réseau à un autre sous­ réseau, il faut passer par le protocole IP qui gère le routage.
Dans les faits, ce sigle TCP/IP représente beaucoup plus que les deux protocoles développés pour interconnecter des sous­ réseaux entre eux ; il désigne tout un environnement qui contient, bien sûr, les protocoles TCP et IP mais aussi les applications qui ont été développées au­ dessus de ces deux protocoles : la messagerie électronique dénommée SMTP (Simple Mail Transport Protocol), le transfert de fichiers FTP (File Transfer Protocol), l’accès à des bases d’informations WWW (World Wide Web), etc.
la combinaison adresse IP + port est alors une adresse unique au monde, elle est appelée socket).
L’adresse IP sert donc à identifier de façon unique un ordinateur sur le réseau tandis que le numéro de port indique l’application à laquelle les données sont destinées. De cette manière, lorsque l’ordinateur reçoit des informations destinées à un port, les données sont envoyées vers l’application correspondante.
S’il s’agit d’une requête à destination de l’application, l’application est appelée application serveur.
S’il s’agit d’une réponse, on parle alors d’application cliente.
TCP/IP est un protocole, c’est à dire des règles de communication
IP signifie Internet Protocol : littéralement "le protocole d’Internet". C’est le principal protocole utilisé sur Internet.
Internet signifie Inter­ networks, c’est à dire "entre réseaux". Internet est l’ interconnexion des réseaux de la planète.
Le protocole IP permet aux ordinateurs reliés à ces réseaux de dialoguer entre eux.
UDP/IP est un protocole qui permet justement d’utiliser des numéros de ports en plus des adresses IP (On l’appelle UDP/IP car il fonctionne au dessus d’IP).
IP s’occupe des adresses IP et UDP s’occupe des ports.
Chaque couche (UDP et IP) va ajouter ses informations.
Les informations de IP vont permettre d’acheminer le paquet à destination du bon ordinateur. Une fois arrivé à l’ordinateur en question, la couche UDP va d livrer le paquet au bon logiciel (ici : au serveur HTTP).
• Les deux logiciels se contentent d’ émettre et de recevoir des données ("Hello !"). Les couches UDP et IP en dessous s’occupent de tout.
Ce couple (199.7.55.3:1057, 204.66.224.82:80) est appel é un socket. Un socket identifie de façon unique une communication entre deux logiciels.
TCP est capable : de faire tout ce que UDP sait faire .
- de vérifier que le destinataire est prêt à recevoir les données.
- de découper les gros paquets de données en paquets plus petits pour que IP les accepte
- de numéroter les paquets, et à la réception de vérifier qu’ils sont tous bien arrivés, de
- redemander les paquets manquants et de les réassembler avant de les donner aux logiciels.
- Des accusés de réception sont envoyés pour prévenir l’expéditeur que les données sont bien arrivées.
Internet est donc l’interconnexion de tous les réseaux de la planète.
Le protocole DNS permet de retrouver une adresse IP en fonction d’un nom d’ordinateur (un peu comme un annuaire).
• Le protocole FTP sert à transporter des fichiers d’un ordinateur à l’autre.
• Le protocole IR C permet de créer des « salons » de discussion en direct.
• Le protocole ICQ permet de savoir si quelqu’un est en ligne et de dialoguer avec lui.
• Le protocole NTP permet de mettre les ordinateurs à l’heure par internet à 500 millisecondes près.
• Les protocoles P2P permettent de partager des fichiers à grande échelle.
• Le protocole NNTP permet d’accéder à des forums de discussion sur des milliers de sujets différents.
• Le protocole SSH permet d’avoir un accès sécurisé à des ordinateurs distants.
• Le protocole SMTP permet d’envoyer des emails, et le protocole POP3 de les recevoir.
• D’autres protocoles permettent de faire du téléphone ou de la visio­ conférence.
• etc.
Tout ces protocoles utilisent le protocole IP, le protocole d’internet (IP = « Internet Protocol »).
On dit qu’ils sont transportés par IP (c’est en effet le protocole IP qui est chargé de transporter les paquets de données jusqu’à la destination).
Et comme internet est égalitaire, il accepte de transporter n’importe quel protocole du moment que vous utilisez le protocole IP.
Cela veut dire que vous pouvez développer votre propre protocole. Internet acceptera de transporter vos données sans problème.Vous pouvez inventer des protocoles et les utiliser pour communiquer (du moment que votre correspondant en face comprend le protocole que vous avez inventé).
La connexion physique qui relie tous les types de réseau peut être câblée (filaire) ou bien réalisée à l’aide de la technologie sans fil.
Bien souvent les réseaux de communication physique constituent le fondement de plusieurs réseaux logiques, appelés VPN (Virtuel Private Network, ou réseau privé virtuel en français).
Ceux-ci utilisent un moyen de transmission physique commun, par exemple un câble de fibre optique et, lors du transfert des données, sont assignés à des réseaux virtuels logiquement différents au moyen d’un logiciel de VPN créant un tunnel (ou logiciel de tunneling). Le modèle OSI est une norme précisant comment les machines doivent communiquer entre elles.
Chaque couche ne peut communiquer qu’avec une couche adjacente
Pour comprendre cette règle, vous allez devoir comprendre comment les machines se servent du modèle OSI pour communiquer.
Vous êtes devant votre ordinateur et votre navigateur préféré. Vous entrez l’adresse d’un site dans la barre d’adresses, et le site apparaît aussitôt.
Sans le savoir, vous avez utilisé le modèle OSI ! en gros, l’application (le navigateur) de couche 7, s’est adressée aux couches réseau pour que celles-ci transmettent l’information à l’application demandée sur la machine demandée (le serveur web sur la machine google.com par exemple).
Lors d’un envoi, nous parcourons donc les couches du modèle OSI de haut en bas, de la couche 7 à la couche 1, ainsi que vous pouvez le voir sur la figure suivante.
application
présentation
session
transport
réseau
liaison de données
physique

le protocole ARP
ARP est un protocole permettant de déterminer une adresse MAC en fonction d’une adresse IP.


L’Address Resolution Protocol (ARP, protocole de résolution d’adresse) est un protocole utilisé pour traduire une adresse de protocole de couche réseau (typiquement une adresse IPv4) en une adresse de protocole de couche de liaison (typiquement une adresse MAC). Le protocole ARP a un rôle phare parmi les protocoles de la couche Internet de la suite TCP/IP, car il permet de connaître l’adresse physique d’une carte réseau correspondant à une adresse IP, c’est pour cela qu’il s’appelle Protocole de résolution d’adresse (en anglais ARP signifie Address Resolution Protocol). Chaque machine connectée au réseau possède un numéro d’identification de 48 bits. Ce numéro est un numéro unique qui est fixé dès la fabrication de la carte en usine. Toutefois la communication sur Internet ne se fait pas directement à partir de ce numéro (car il faudrait modifier l’adressage des ordinateurs à chaque fois que l’on change une carte réseau)
mais à partir d’une adresse dite logique attribuée par un organisme : l’adresse IP. Ainsi, pour faire correspondre les adresses physiques aux adresses logiques, le protocole ARP interroge les machines du réseau pour connaître leur adresse physique, puis crée une table de correspondance entre les adresses logiques et les adresses physiques dans une mémoire cache.
L’ARP ou "Address Resolution Protocol" est un protocole qui se situe sur la couche 3 du modèle OSI. On l’assimile parfois à un protocole de couche 2 et demi car il assure la liaison entre le protocole IP qui utilise les adresses IP pour construire ses paquets et les trames Ethernet qui elles utilisent les adresse MAC. En plus simple, c’est un protocole qui permet de retrouver un adresse MAC à partir d’une adresse IP. Le protocole RARP

Le protocole RARP (Reverse Address Resolution Protocol) est beaucoup moins utilisé, il signifie Protocole ARP inversé, il s’agit donc d’une sorte d’annuaire inversé des adresses logiques et physiques.
En réalité le protocole RARP est essentiellement utilisé pour les stations de travail n’ayant pas de disque dur et souhaitant connaître leur adresse physique...
Le protocole RARP permet à une station de connaître son adresse IP à partir d’une table de correspondance entre adresse MAC (adresse physique) et adresses IP hébergée par une passerelle (gateway) située sur le même réseau local (LAN). Pour cela il faut que l’administrateur paramètre le gateway (routeur) avec la table de correspondance des adresses MAC/IP. En effet, à la différence de ARP ce protocole est statique. Il faut donc que la table de correspondance soit toujours à jour pour permettre la connexion de nouvelles cartes réseau.
note 1 :Normalement non. Un constructeur qui fabrique des cartes réseau va acheter des adresses MAC, ou plus exactement des morceaux d’adresses MAC. Les trois premiers octets de l’adresse représentent le constructeur.
Ainsi, quand un constructeur veut produire les cartes, il achète trois octets qui lui permettront de donner des adresses à ses cartes. Par exemple, j’achète la suite de trois octets : 00:01:02. Toutes les cartes réseau que je vais produire vont commencer par ces trois octets, par exemple : 00:01:02:00:00:01 ; puis : 00:01:02:00:00:02 ; etc.
Si je choisis toujours les trois derniers octets différents pour les cartes que je produis, je suis sûr qu’aucune autre carte réseau n’aura la même adresse MAC, car je suis le seul à posséder les trois premiers octets 00:01:02 et j’ai fait attention à ce que les trois derniers ne soient pas identiques.
Récapitulons :
L’adresse MAC est l’adresse d’une carte réseau.
Elle est unique au monde pour chaque carte.
Elle est codée sur 6 octets (soit 48 bits).
Grâce à l’adresse MAC, je suis donc capable d’envoyer des informations à la carte réseau d’une machine !
Une adresse MAC spéciale
Parmi les adresses MAC, il y en a une particulière, c’est l’adresse dans laquelle tous les bits sont à 1, ce qui donne ff:ff:ff:ff:ff:ff. Cette adresse est appelée l’adresse de broadcast.
L’adresse de broadcast est une adresse universelle qui identifie n’importe quelle carte réseau. Elle me permet ainsi d’envoyer un message à toutes les cartes réseaux des machines présentes sur mon réseau, en une seule fois.Toute machine qui reçoit une trame qui a, comme adresse MAC de destination, l’adresse de broadcast, considère que la trame lui est destinée.
CIDR : qu’est-ce que le classless interdomain routing ?
Introduction aux systèmes d’adressage.
Le système d’adressage par classes fonctionne selon le même principe : les adresses IP sont rangées par classes et dans chacune d’elles se trouvent des plages. Si une entreprise demandait des adresses pour cent ordinateurs, on choisirait la classe lui offrant ce nombre d’adresses et on lui offrirait des adresses IP issues de cette classe.
Le problème de ce système d’adressage est le pourcentage assez élevé de perte d’adresses. Nous avons vu que toutes les adresses IP de la classe A, par exemple, nous permettaient d’obtenir 16 777 214 adresses IP par réseau en utilisant les masques par défaut. Cela dit, l’entreprise qui voudrait une adresse IP pour un réseau de 10 000 hôtes aurait quand même 16 767 214 d’adresses en surplus. Quelle perte !
L’adressage sans classes (ou adressage CIDR = Classless Inter Domain Routing) est le système de gestion et d’allocation d’adresses IP le plus utilisé aujourd’hui.
Le but de ce nouveau système s’articule autour de deux points :
Économiser les adresses IP. Et Faciliter le routage.
par CIDR comprenez « routage effectué entre domaines qui n’utilisent pas les classes ». On comprend alors que le réseau Internet est fondé sur ce système d’adressage. Logique, quand on y pense… Sinon, comment un système d’adressage par classes aurait-il pu supporter plus de 2 milliards d’internautes ? Depuis les années quatre-vingt-dix, nous n’aurions plus d’adresses IP disponibles
En anglais, les adresses IP utilisant l’adressage CIDR sont appelées classless adresses par opposition aux classful adresses, qui désignent celles qui utilisent l’adressage par classes. Habituez-vous à ce vocabulaire qui est très présent dans les documentations en anglais. pourquoi ce nouveau système a été créé.
Soit l’adresse 192.168.10.0/23.
À ce stade, vous êtes censés savoir que le nombre après le slash (/) équivaut au nombre de bits masqués. Si vous avez encore des difficultés, nous vous recommandons la relecture de la sous-partie sur la notation du masque..
Dans une adresse IP, c’est la partie gauche qui correspond à l’identité du réseau
la partie réseau de l’adresse est 192.168
la partie droite soit 1.15
comment on détermine ou comment on affecte ces deux là :

la façon d’identifier la partie réseau et la partie hôte, c’est de connaître le nombre de bits réservés à la partie réseau, et c’est ce que l’on appelle le masque de sous-réseau.
Sauf qu’il y a deux manière de représenté ce masque, soit en notation décimale à point (comme l’adresse IP), soit en notation CIDR (celle que l’on doit privilégier).
La notation CIDR à l’avantage de nous informé directement du nombre de bits engagés dans le masque !
Ainsi, un masque 255.255.255.0 correspond à /24, soit 24 sur 32 bits réservés à la partie réseau.
Pour un masque 255.255.255.240, c’est moins évident au premier coup d’œil de comprendre qu’il s’agit du masque /28, et qu’il ne reste donc que 4 bits pour l’adressage des machines de ce sous-réseau...
Dans mon adresse 192.168.1.15 puisque le masque de sous-réseau est /24.
la partie réseau est 192.168.1.0 et non pas 192.168*
Il ne me reste donc que 8 bits pour adresser les machines de ce sous-réseau.
Ma machine a dont l’identifiant 15 dans le sous-réseau 192.168.1.0/24 (192.168.1.* .
Et quand à savoir comment est attribuée cet identifiant sur ce sous-réseau, et bien, l’attribution est libre. Il n’y a aucune règle.
On peux attribué n’importe quelle identifiant de 1 à 254 à ta machine qui porte actuellement l’identifiant 15, et même un identifiant déjà utilisé par une autre machine sur le même sous-réseau (mais cela entraîne inévitablement certains problèmes...).
D’où l’usage du protocole DHCP, pour s’assurer que l’attribution des identifiants machines suis certaines règles.


quelques commandes réseau sous debian


*Le fichier hosts dans le fichier /etc/hosts vous verrez la table qui sert de conversion des noms en adresse ip Le fichier hosts est « l’ancêtre » du service DNS. Il servait à indiquer, sur chaque machine, la correspondance entre le nom d’hôte et l’adresse IP. * Le fichier resolv.conf contient le nom de domaine et la configuration de la résolution de nom DNS, que vous allez interroger. Une fois configuré. Si vous avez installé le paquet resolvconf, ce fichier est mis à jour utomatiquement depuis des informations qui se trouve dans le fichier /etc/network/interfaces. * Le paquet etc/resolvconf gère le contenu du fichier « /etc/resolv.conf servant à la résolution des noms en fonction du type de connexion utilisé et en récupérant les informations à différents endroits statiques ou dynamiques (clients ppp, dhcp ou autres). *Le PID d’un processus peut se récupérer avec la commande ps -edf | grep “processus Par exemple pour le processus “apache” commande: ps -edf | grep apache

IPRoute2 Programmes Contenu de IPRoute2 installés :
bridge, ctstat (link to lnstat), genl, ifcfg, ifstat, ip, lnstat,
nstat, routef, routel, rtacct, rtmon, rtpr, rtstat (lien vers lnstat), ss et tc
Répertoires installés :/etc/iproute2, /usr/lib/tc et /usr/share /doc/iproute2-4.9.0,
bridge Configure des ponts réseaux
ctstat Outil donnant le statut de la connexion
genl Interface netlink générique
ifcfg Un emballage en script shell pour la commande ip. Remarquez qu’il a besoin des programmes arping et rdisk du paquet iputils que vous pouvez trouver sur http://www.skbuff.net/iputils/ .
ifstatAffiche les statistiques des interfaces, incluant le nombre de paquets émis et transmis par l’interface
ip link + périphérique autorise les utilisateurs à regarder l’état des périphériques et à faire des changements.
ip addr autorise les utilisateurs à regarder les adresses et leurs propriétés, à ajouter de nouvelles adresses et à supprimer les anciennes.
ip neighbor autorise les utilisateurs à regarder dans les liens des voisins et dans leurs propriétés,
à ajouter de nouvelles entrées et à supprimer les anciennes. ip rule autorise les utilisateurs à regarder les politiques de rou‐ tage et à les modifier.
ip route autorise les utilisateurs à regarder la table de routage et à modifier les règles de routage.
ip mroute autorise les utilisateurs à configurer, modifier ou suppri‐ mer le routage multicast.
ip tunnel autorise les utilisateurs à regarder les tunnels IP et leurs propriétés, et à les modifier.
ip maddr autorise les utilisateurs à regarder les adresses multicast et leurs propriétés, et à les changer.
ip monitor autorise les utilisateurs à surveiller en continu l’état des périphériques, des adresses et des routes.
lnstat :Fournit les statistiques réseau Linux. C’est un remplacement plus généraliste et plus complet de l’ancien programme rtstat
routef Un composant de ip route pour vider les tables de routage.
routel Un composant de ip route pour afficher les tables de routage.
Rtacct Affiche le contenu de /proc/net/rt_acct
rtmon Outil de surveillance de routes.
rtpr Convertit la sortie de ip -o en un format lisible
rtstat Outil de statut de routes
tc :Exécutable de contrôle du trafic ; utile pour l’implémentation de la qualité de service (QOS) et de la classe de service (COS) tc qdisc : autorise les utilisateurs à configurer la discipline de queues
tc class :autorise les utilisateurs à configurer les classes suivant la planification de la discipline de queues tc estimator :autorise les utilisateurs à estimer le flux réseau dans un réseau tc filter :autorise les utilisateurs à configurer les filtres de paquets pour QOS/COS
Voir la documentation officiel et le man pour plus d’infos QUELQUES NOTIONS SUR LE BINAIRE
Un octet représente 8 bits.Ce qui nous donne pour un octet, qui représente 8 bits : 1 octet = 2 puissance 8, = 256 valeurs ! Rappell : 9 puissance 6 = 9 *9 *9 *9 *9 *9 soit 531441 (faut multiplier 5 fois pour puissance 6) le premier 9 compte aussi dans puissance 6
- un nombre décimal avec ou sans virgule. C’est la forme la plus utilisée dans notre monde. Elle permet de faire des opérations arithmétiques. Les nombres sont de base 10 et composés de 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
- le binaire est un système de numération utilisant la base 2, Elle est utilisée en électronique et en informatique. L’ordinateur étant une machine (composé d’éléments électroniques), il ne comprend donc que le langage binaire et stocke une information dans un bit qui ne peut prendre que deux valeurs. Les nombres binaires sont composés de 0 et 1.
- Le binaire s’explique avec la puissance 2
- Le système hexadécimal est composé de 16 valeurs basiques qui sont le 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E et le F. C’est donc un système de numération utilisant la base 16. Ce système est utilisé en informatique et permet notamment de compresser un code binaire. Par exemple les codes couleurs sont souvent utilisés en hexadécimal (bleu = 0002ff).
De 0 à 9 les chiffres décimales - binaire – hexadécimal sont :
0 =binaire 0 hexadécimal = 0
1 =binaire 1 hexadécimal = 1
2 =binaire 10 hexadécimal = 2
3 =binaire 11 hexadécimal = 3
4 =binaire 100 hexadécimal = 4
5 =binaire 101 hexadécimal = 5
6 =binaire 110 hexadécimal = 6
7 =binaire 111 hexadécimal = 7
8 =binaire 1000 hexadécimal = 8
9 =binaire 1001 hexadécimal = 9
suite
10 =binaire 1010 hexadécimal = a
etc.…
en binaire
1+ 1 = 10
10 + 1 = 11
11 + 1 = 100
dans les nombres décimal, les nombres pairs sont : 0,2,4,6,8,10,12, 14 etc.
les impairs sont : 1, 3, 5, 7, 9, 11, 13, 15,
dans les nombres binaires., le chiffre est 0 ou 1 selon que le nombre est pair ou impair le 4 sera 0
le 6 sera 0
le 1 et le 3 seront 1
Il faut couper les nombre en moitiés successives, et voir si cette moitiés est impair ou pair.
Exemple pour le nombre 6 :
6 /2 = 3 * 2 +0 =binaire 0
3 /2 = 1 * 2 +1 = binaire 1
1 /2 = 0 * 2 +1 = binaire 1
donc 6 = 110 en binaire
suite
pour le nombre 7
7 / 2 = 3 x 2 + 1 = binaire 1
3 / 2 = 1 x 2 + 1 = binaire 1
1 / 2 = 0 x 2 + 1 = binaire 1
donc 7 = 111 en binaire
mais :
0 divisé par 2 = 0 x 2 + 0 = binaire 0
0 en décimal = 0 en binaire
et
1 /2 = 0 * 2 = 0 +1 = binaire 1
1 en décimal = 1 en binaire
au lieu d’aller à 9 et dire 10, l’ordinateur va tout simplement à 1, et, pour le nombre suivant, il va dire 10. puis 11 et comme il n’y a pas de 12 (le 2 n’existe pas en binaire, il va aller à 100 1101 en base 2 (binaire) est égal à 13 en base 10 (décimale)
1101²=1212201 soit 13
2³ = 8
*- Utilisons la commande "bc" dans notre console
- Exemple de conversion du nombre 255(base 10) vers la base 2 :
$ echo 'obase=2;255' | bc 11111111
*- Pour une adresse IPv4 et un masque de sous-réseau donné, on peut obtenir des informations juste en réalisant des opérations sur leur représentation binaire.
Exemple :
- On à une machine avec cette configuration :
- Adresse IPv4 : 192.168.1.15
- Masque de sous-réseau : 255.255.255.0
(ce qui aurait pu s’écrire plus simplement 192.168.1.15/24)
*- On veut savoir quel est le réseau dans lequel se trouve la machine, il suffit alors de faire.
1. Conversion des deux "adresses" en base 2.
*- À la main, c’est un peu fastidieux, alors une bonne ligne de commande vient nous sauver




** note0 : DNS
- Les noms de domaines ne correspondant pas à une extension de pays sont appelés des domaines génériques (gTLD), par exemple .org ou .com.
- S’ils correspondent à des codes de pays (fr, be, ch…), ce sont des domaines de premier niveau national, aussi appelés ccTLD de l’anglais country code TLD.
- On représente un nom de domaine en indiquant les domaines successifs séparés par un point, les noms de domaines supérieurs se trouvant à droite. Par exemple, le domaine org. est un TLD, sous-domaine de la racine
- Le domaine rastacouère.org. est un sous-domaine de .org. Cette délégation est accomplie en indiquant la liste des serveurs DNS associée au sous-domaine dans le domaine de niveau supérieur.
Les noms de domaines sont donc résolus en parcourant la hiérarchie depuis le sommet et en suivant les délégations successives, c’est-à-dire en parcourant le nom de domaine de droite à gauche.
DNS nous permet d’identifier des noms plutôt que des numéros.
Le principe de base d’un DNS, c’est de produire un annuaire.
** note 1 : Le protocole DHCP :
- La première fonction d’un serveur DHCP (Dynamic Host Configuration Protocol) est de fournir des adresses IP associées à un masque. Il fait partie de la « couche application.
- Le serveur DHCP écoute En UDP, sur le port 67(serveur) et le port 68(client) est utilisé pour attribuer une adresse IP au client, celui ce étant identifié par son adresse physique (adresse mac)
Au lieu de demander aux administrateurs réseau d’attribuer manuellement les adresses IP à tous les périphériques réseau, il gère et automatise les configurations de manière centralisée.
L’un des principaux avantages du DHCP est sa capacité à gérer les attributions d’adresses IP par le biais de baux. Il est possible de les récupérer lorsqu’elles ne sont pas utilisées. Ensuite, elles peuvent être réaffectées à d’autres clients.
En gros, le client dhcp demande une adresse IP à un serveur DHCP
il emet un message de demande de bail IP (DHCPDISCOVER) qui est envoyé sous forme d’une diffusion sur le réseau avec adresse IP source 0.0.0.0 et adresse IP destination 255.255.255.255 et adresse MAC.
Les serveurs DHCP répondent en proposant une adresse IP avec une durée de bail et l’adresse IP du serveur DHCP (DHCOFFER).. Voir plus de docs sur le web.....
** note 2:Chipset ou "jeu de puces "
la carte mère est le composant principal du PC.
le chipset c’est des composants electroniques soudés à la carte mère, qui gèrent les flux de donnnées entre les processeurs, la mémoire et tous les autres périphériques.c’est à dire : bus informatique, mémoire vive (RAM) , accès direct à la mémoire (DMA) , Bus IDE ou Serial ATA, PCI, AGP, disque dur, réseau informatique, port série, port parallèle, USB, FireWire, clavier, souris, Entrées-Sorties, carte graphique, carte son, Hyper-Threading, Front side bus, lecteur de disquette et les entrées-sorties généralement, etc.
** note 3:bus informatique
Un bus informatique est un dispositif de transmission de données partagé entre plusieurs composants d’un système numérique.
ISA = Industry Standard Achitecture.
PCI = Periphiral Component Interconnect
MCA = Micro Channel Architecture.
EISA = Extended Industry Standard Achitecture.
VLB = Vesa Local Bus.
AGP = Advanced Graphic Port.
USB = Universal Serial Bus.
Les bus internes, également connus sous le nom de bus de données, bus mémoire, système de bus ou de front-side-bus, relient les composants internes principaux d’un ordinateur, tels que le processeur et la mémoire, sur la carte mère.
note 4 : telnet telnet est un protocole réseau client serveur basé sur TCP (port 23)permettant d’émuler un terminal à distance.
Une fois que vous vous connectez à la machine distante, un nom d’utilisateur (login) et un mot de passe (password) vous seront demandés pour des raisons de sécurité afin de restreindre l’accès aux seules personnes autorisées. telnet nom_du_serveur
telnet 168,195,125,66
logout Permet de se déconnecter
close Pour terminer la session telnet

note 5:la commande ipcalc