Page 1 sur 2

[Séparation] Cours de réseau

Posté : 22 nov. 2005, 13:56
par iclo
Modération (Zeus) :
Sujet d'origine : http://www.phpfrance.com/forums/voir_sujet-11070.php


Tout dépend du domaine où on bosse, c'est certains que dans une boite qui ne fait que du dév Web, les dévellopeurs ne risquent pas de faire de la maintenance ou de l'adminSys.
Mais dans un département IT de taille modeste, il peut être utile d'avoir plusieurs corde à son arc.

Agité pour ta question, je vais essayé d'y répondre brievement maintenant, mais j'aurais plus de temps ce soir pour plus de détails.

Tu as compris que le subnet mask permet de spécifier le nombre de bits qui seront alloué à la partie "Réseau" de l'adresse ? Donc plus le subnet est élevé, plus le nombre de bits aloués au réseau est important, moins le nombre de bits alloués aux adresses des machines sur le réseau est important.
si tu as 4 machines sur le réseau, tu as besoin de 4 adresses (une par machine, logique :D) et de deux supplémentaires pour l'adresse du réseau et l'adresse BroadCast (J'imagine que tu as du voir ce que c'est ?? )
Il te font donc un nombre de bits qui te permettent d'avoir 6 séquence de bits différentes.
la séquence où tous les bits d'adresse sont à 0 est l'adresse général du réseau, celle où tous les bits d'adresse sont à un, c'est l'adresse broadcast.
Les quatres séquences "intermédiaires" sont les adresses des quatres machines.

Ensuite c'est juste du binaire :
si tu prends un subnet de 31 => 1 bits pour l'adressage, il ne te reste que 2 adresses : juste l'adresse réseaux et la broadcasr : c'est pas bon, aucune adresse pour les machine.
un subnet de 30 => 2 bits d'adressage => 4 adresses dont deux pour les machines
Etc...

Si tu veux, je devrais pouvoir remettre la main ce soir sur un de mes cours, format electronique, qui si je me souviens bien était pas mal foutu. Tu as aussi pas mal de site qui t'expliqueront en détails l'adressage ip avec force détails et diagrammes.

Posté : 22 nov. 2005, 14:08
par agité
C'est vraiment cool de ta pars pour les explications et le maximum de documentation me serait necessaire. Si tu peux m'envoyer tes cours en supplement ce serait un bon plus je pense car ceux que j'ai sont a moitié faussé.

Pour le adresses reservées broadcast et reseau je sais déjà comme pour le 127 reserve au loopback.

Posté : 22 nov. 2005, 17:55
par sadeq
Pour maitriser l'adressage IP, les masques de réseau et les sous-réseaux il est important d'avoir une connaissance claire du binaire et des opérateurs logiques tels que ET.

Car une adresse IP est avant tout exprimée en binaire sous la forme de 4 paquets d'octets : c'est à dire en 4 x8 = 32 bits

Et que sa composition obèit à des règles de découpage bien précises :
  • Classe A: 0xxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx (un bit 0 suivi de 31 bits)
    Classe B: 10xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx (2 bits 10 suivis de 30 bits)
    Classe C: 110xxxxx xxxxxxxx xxxxxxxx xxxxxxxx (3 bits 110 suivis de 29 bits)
Mais l'IP s'écrit en décimal en 4 parties séparées par un point:
A.H.H.H ou A.B.H.H ou A.B.C.H
où: H pour les ordinateurs et ABC pour les réseaux

Autre chose : le 1° octet = A ne peut être nul (0) ni 127 (réservé pour l'adresse de bouclage)
Les octets B et C vont de 0 à 255 (toutes les valeurs binaires)
Pour l'octet H ne peut être ni 0 ni 255

Les classes servent à établir une balance en terme de nombre de réseaux et d'ordinateurs connectés

En augmentant la classe de A à C, les réseaux possibles augmentes au détriment des ordinateurs connectés :
Exemple :
  • Classe A: nottée 0xxxxxxx (un bit 0 suivi de 7 bits)
    nombre de réseaux possibles = (2 puissance 7 = 128) - 2 (0 et 127 réservé) = 126 réseau A
    et nombre d'ordinateurs = (les 3 octets restants = 2 puissance (3x8) = 2 puissance 24 = 16777216) - 2 (0 et 255) = 16777214
Le masque de réseau permet de d'identifier la classe du réseau à partir de l'ip d'un ordinateur.
L'opération utilise un ET logique entre le code binaire de l'IP et celui du masque. Ainsi :
en mixant l'ip : 1.1.1.1 ET le masque : 255.0.0.0 on obtient une adresse de classe A.

En effet,
  • 1.1.1.1 = 00000001 . 00000001 . 00000001 . 00000001 (en binaire)
    ET
    255.0.0.0 = 11111111 . 00000000 . 00000000. 00000000 (en binaire)
    =
    1.0.0.0.0 = 00000001 . 00000000 . 00000000 . 00000000 (en binaire)
Car en binaire :
1 ET 0 = 0
0 ET 1 = 0
0 ET 0 = 0
1 ET 1 = 1

Posté : 23 nov. 2005, 09:03
par agité
Bon en fait je commence a assimiler le truc.

J'ai 3 classes A B C que je choisis en fonction du nombre de reseau ou machine.

La classe A commence a 1 et termine a 126 puisque 0 est le reseau par dfaut et 127 est le loopback. 0 = 0 :D
La classe B comment a 128 et termine a 191 car en binaire 10 = 128
La classe C commence a 192 et termine a 223 car en binaire 110=192

donc ensuite je peux definir quels adresse correspond a quel classe sans problème.

par exemple 200.0.0.0 est une adresse reseau de classe C et 11.0.0.0 est une adresse reseau de classe A.

bon ensuite comme 200.0.0.0 a forcement un masque et que celui ci est de classe C je fais en binaire : 11111111.11111111.1111111.0000000 puisque les 3 premiers octets sont utilisés pour le reseau.

donc 200.0.0.0 - 255.255.255.0
Mai la sa vas pas puisque les 3 octets suivant 200 sont a 0 ? enfin je comprend pas trop.

Ensuite je sais que comme j'ai que le dernier octet pour les machines sa me fera 255-2 0 pour le defaut et 255 broadscast donc 254 machines.

J'ai bon ?

ensuite j'aimerais juste avoir des exercices pour m'entrainer car j'apprendrais surement plus vite avec des exercices.

merci d'avance.

Posté : 23 nov. 2005, 12:17
par sadeq
.... donc 200.0.0.0 - 255.255.255.0
Mai la sa vas pas puisque les 3 octets suivant 200 sont a 0 ? enfin je comprend pas trop.
.....
T'as tout compris alors.
Pour ta question, 200.0.0.0 mélangée avec le masque 255.255.255.0 donne le code réseau 200.0.0 : c'est donc ton réseau principal de classe C même si les 2 octets sont à 0. Il suffit que 200 appartienne à la plage binaire de classe C.

200 = 128+64+8 = 1x128 + 1x64 + 0x32 + 0x16 + 1x8 + 0x4 + 0x2 + 0x1

Soit le code binaire :
200.0.0 = 11001000 00000000 00000000 (qui commence par 110 = classe C)


Mais puisque c'est une adresse de classe C, tu ne peux la découper au maximum qu'en 128 sous-réseaux au détriment du nombre de machines.En effet, le découpage d'un réseau en sous-réseau dépond de sa classe puisque pour créer des sous-réseaux, on puise de la plage allouée aux machines.

Dans les classes A et B, les machines disposent de trop d'espace d'adressage (respectivement 3 et 2 octets) contrairement à la classe C qui n'a que le dernier octet pour adresser les machines (sans inclure bien sûr le 0 et 255)

Pour créer des sous-réseaux, le principe est simple :
Pour un réseau A,B ou C, il faut réserver (comme pour le principe de découpage en classes) un ensemble de premiers bits dans la plage d'octets réservés aux machines et tantque le nombre de bits augmente, le nombre de sous-réseaux augmente aussi.
La réservation des bits désignant les sous-réseaux à créer se fait par le masque de sous-réseau.

Exemple:
Ainsi, pour multiplier les réseaux du réseau 200.0.0.x, on utilise un masque qui reserve par exemple les 2 premiers bits de l'octets des machines.

Soit l'adresse C : 200.0.0 ayant le masque par défaut : 255.255.255.0
Le masque de sous-réseau en question doit commencer au niveau du dernier octet par : 00, 01, 10 ou 11 soit respectivement :
11111111 11111111 11111111 00 000000 = 255.255.255.0
11111111 11111111 11111111 01 000000 = 255.255.255.64
11111111 11111111 11111111 10 000000 = 255.255.255.128
ou
11111111 11111111 11111111 11 000000 = 255.255.255.192

On a donc créé théoriquement jusqu'à 4 sous-réseaux (2 puissance 2)

Ce qui laisse 6 bits pour adresser les machines (2 puissance 6 = 64 machines par sous-réseau)

NB: Les formes tout-zéro et tout-un (255) confondent le sous-réseau au réseau principal dans le cas de tout-zéro et le broadcast en cas de 255 (tout-un)

Conclusion :

Nombre de bits => Nombre de sous-réseaux
1 => 2
2 => 4
3 => 8
4 => 16
5 => 32
6 => 64
7 => 128
8 (impossible pour une classe C) => 256

Posté : 23 nov. 2005, 12:41
par agité
disons que je dois diviser sa en 8 sous reseaux.


11001000.00000000.00000000.00000000 -> 200.0.0.0
11111111.11111111.11111111.00000000 -> 255.255.255.0

deviendras :

11111111.11111111.11111111.00000000 ->255.255.255.0
11111111.11111111.11111111.00100000 ->255.255.255.32
11111111.11111111.11111111.01000000 ->255.255.255.64
11111111.11111111.11111111.01100000 ->255.255.255.96
11111111.11111111.11111111.10000000 ->255.255.255.128
11111111.11111111.11111111.10100000 ->255.255.255.160
11111111.11111111.11111111.11000000 ->255.255.255.192
11111111.11111111.11111111.11100000 ->255.255.255.224

puisque 2^3=8 donc 8 sous reseaux.

chaque sous reseau pourra contenir 5^2=64 machines chaqun.

mais immaginons qu'on me demande 70 machines pour chaque sous reseau, dans ce cas je fais comment ?

Posté : 23 nov. 2005, 14:06
par naholyr
Je n'ai pas regardé les chiffres, mais il est évident qu'il y a parfois certaines opérations impossibles ;)
Par exemple 8 sous-réseaux de 70+ machines, sur un réseau de classe C, ça me parait difficile à première vue (là encore je te réponds sur l'instant, je n'ai fait aucun calcul) et il est probable qu'il faille changer de classe tout simplement.

Le sujet ne dérive pas un peu ? ;)

Posté : 23 nov. 2005, 14:14
par albat
Le sujet ne dérive pas un peu ? ;)
Et les réponses aux divers sujets abordés étant mêlées, il est difficile de scinder le sujet. :evil:

Posté : 23 nov. 2005, 14:18
par agité
Le sujet ne dérive pas un peu ? ;)
Et les réponses aux divers sujets abordés étant mêlées, il est difficile de scinder le sujet. :evil:
arf excusez moi messieurs les moderateurs !

on continue ou je recreer un sujet ?

Posté : 23 nov. 2005, 14:19
par zeus
Je serais d'avis de scinder les post qui parlent du réseau et d'insérer un lien vers le sujet d'origine

Vos avis ?

Posté : 23 nov. 2005, 14:29
par agité
Je serais d'avis de scinder les post qui parlent du réseau et d'insérer un lien vers le sujet d'origine

Vos avis ?
a mon avis tu peux scinder a partir du post de starkeus après sa pars en explication reseau. Quitte a couper une partie du message suivant ou de rajouter un post precedent non ?

Posté : 23 nov. 2005, 18:36
par sadeq
....mais immaginons qu'on me demande 70 machines pour chaque sous reseau, dans ce cas je fais comment ?
Déjà 70 est codé en binaire 1000110 sous 7 bits, ce qui te laisse un seul bit de l'octet machine de la classe C à utiliser pour créer les sous-réseaux. Mais malheureusement n'y en a que 2 possibles 0 et 1 dont le premier se confond avec le réseau principal et le second se confond avec l'adresse de broadcast.
En loccurence, ce n'est pas une solution très pratique, vaut mieux passer à une classe D ou ne pas ségmenter l'adresse C ce qui autorise 254 machines sur un seul ségment.

Vraisemblablement, la ségmentation de l'adresse C se voit intéressante entre 2 et 3 bits (4 et 8 sous-réseaux => 64 et 32 machine par ségment)

Posté : 23 nov. 2005, 18:43
par agité
Ok d'accord je retiens.

Maintenant le suite c'est que je dois expliquer des table de routage et en faire, savoir dessiner un reseau a partir d'une table de routage et expliquer toute les lignes. Chose qui n'est pas aisé pour moi.

Donc quand je regarde j'ai plusieurs partie :

1) l'adresse emetrice -> adresse reseau
2) le masque de sous reseau -> masque reseau
3) l'adresse destinatrice -> adresse paserelle
4) le routeur / paserlle par lequel il passe -> interface

C'est bien sa ?

Posté : 23 nov. 2005, 19:02
par sadeq
Le routage est effectivement une passerelle entre réseaux ou sous-réseaux.

Puisqu'en TCP/IP l'accès est direct par adresse ip, chaque réseau n'est accèssible que si l'on dispose d'une ip d'accès direct ou de broadcast qui lui permet de parcourir tous les noeuds.

Pour parcourir les réseaux, il faut connaitre alors leurs adresses qui servent de chemins que l'information doit prendre pour circuler jusqu'à arriver au noeud de destination.

L'agent spécialisé dans la liaison des réseau s'appelle une passerelle ou un routeur qui utilise une table de routage comme support de stockage des différentes laisons entre réseaux et d'un protocole de routage qui effectue effectivement le routage des messages entre les réseaux déclarés.

Conceptuellement parlant, une table de routage doit désigner le ou les chemins qui relient deux réseaux (un émetteur et un recepteur)
Exemple :
Chemin1: A -> B
Chemin2: B -> C
Chemin3: C -> D
Chemin4: A -> D

Pour aller de A à D, le message va prendre les chemins :
Chemin1, 2 et 3
ou le Chemin4 qui est le plus rapide selon la décision du routeur.

Posté : 23 nov. 2005, 19:17
par agité
Ok sa je comprend mais maintenant les adresses de sous reseau semblent être modifié parfois pour être acheminés.

Je prend donc l'exemple pour les 4 sous reseau mais je sens que je me suis planté quelque pars dans l'adressage la non ?

avec
200.0.0.1 255.255.255.0
200.0.0.2 255.255.255.0
200.0.0.3 255.255.255.0
200.0.0.4 255.255.255.0

200.0.0.5 255.255.255.64
200.0.0.6 255.255.255.64
200.0.0.7 255.255.255.64
200.0.0.8 255.255.255.64

200.0.0.9 255.255.255.128
200.0.0.10 255.255.255.128
200.0.0.11 255.255.255.128
200.0.0.12 255.255.255.128

200.0.0.10 255.255.255.192
200.0.0.11 255.255.255.192
200.0.0.12 255.255.255.192
200.0.0.13 255.255.255.192