From 87b06c9fc6bf71d6a5a7e4a95aa7869f4c66b7ae Mon Sep 17 00:00:00 2001 From: JOLIMAITRE Matthieu Date: Sun, 10 Mar 2024 21:37:54 +0100 Subject: [PATCH] reseau --- reseau/02_net.md | 5 +- reseau/03_net.md | 327 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 331 insertions(+), 1 deletion(-) create mode 100644 reseau/03_net.md diff --git a/reseau/02_net.md b/reseau/02_net.md index fba6187..e23fbc1 100644 --- a/reseau/02_net.md +++ b/reseau/02_net.md @@ -8,7 +8,7 @@ on utilise une onde qui est modulée avec le signal d'entrée dans le but de tra +-----+ +-----+ +--------------+ +--------------+ +-----+ +-----+ | DTE |--| DCE |--| Modulateur & |. . . .| Modulateur & |--| DCE |--| DTE | -+-----+ +-----+ | Démodulateur | | Démodulateur | +-----+ +-----+ ++-----+ +-----+ | Démodulateur | canal | Démodulateur | +-----+ +-----+ +--------------+ +--------------+ ``` @@ -387,3 +387,6 @@ Exemple : USB, token-ring 802.5 (IBM). Une station qui veut émettre écoute le medium. - si celui-ci est libre, elle commence sa transmission, tout en vérifiant qu'auune autre station n'est en train d'émettre. - en cas de collision, les stations interromptent leur communication et attendent un délai aléatoire (rng back-off) puis la première ayant passé ce délai peut réémettre. + +Une analogie serait la colision dans une discussion entre humain : +- lorsque deux personnes se mettent à parler simultanément, ils se coupent et un des deux, chois au hasard, reprends. diff --git a/reseau/03_net.md b/reseau/03_net.md new file mode 100644 index 0000000..a60fa4d --- /dev/null +++ b/reseau/03_net.md @@ -0,0 +1,327 @@ +# Detection des collisions + +Influende du temps de propagation. + +``` +Postes : A B C D E + *---*---*---*---* + . . . . . +T0 : ####.___.___.___. + . . . . . +T0+x : .___.####___._xxx + . . . . . +T0+y : .___.__####_xxx_. + . . . . . +T0+z : .___.____#x#x___. + . . . . . +``` + +à T0+z, la collision à lieu, A et E ont fini d'émettre et n'ont pas détecté la collision, +elles pensent pouvoir continuer à envoyer des trames sur le médium. + +## Solution : slot-time + +Pour éviter ce genre de collision, nous introduisons un délai avant chaque nouvelle transmission +pour s'assurer que l'information ait pu rejoindre tout le réseau avant d'émettre à nouveau. + +Ce délai (slot-time) est généralement choisi à deux fois le temps de parcours de l'information sur tout le médium. + +## Taille minimum d'une trame + +Pour que l'on puisse détecter la collision, il faut que la station émettrice +soit toujours en train d'émettre lorsque la station la plus éloignée détecte l'émission. + +Il faut donc que le temps d'émission d'un trame de longueur minimale soit supérieure au slot-time. + +ex : + +vitesse | taille mini | slot time + +... + +## Reprise après collision (binary exponential backoff) + +Après la détection de la collision, la station doit retransmettre la même trame au bout d'un temps aléatoire dépassant le slot-time et du nombre de collisions successives déjà subies. + +Le nompre de collisions successives est proportionnel au temps de retransmission. + +Calcul du temps d'attente : M x slot Time +- 0 =< M < 2^k + - 0 < k < 2^(n-1). + - n est le nombre de collision par rapport à la station + + +- le nombre aléatoire est d'abord choisi dans [0, 1] +- puis dans [0, 3] +- puis [0, 7] +- ... +- à la 10e tentative, [0, 1023] +- à la 16e tentative, la transmission est abandonnée. + +## Exemple + +``` +station : A B C D E + -*---*---*---*---*- + +``` + +A et E subissent une collision : + +### Cas 1 + +``` +station : A E + -*---*-#####-*---*- +n : 1 1 +k : [0,1] [0,1] +``` + +règles : + +- k_A = 0 & k_E = 0 => collision +- k_A = 0 & k_E = 1 => pas de collision +- k_A = 1 & k_E = 0 => pas de collision +- k_A = 1 & k_E = 1 => pas de collision + +valeurs de k + +| A | E | +|---|---| +| 0 | 0 | +| 0 | 1 | +| 1 | 0 | +| 1 | 1 | + + +probabilité que A gagne : 1/4 +probabilité que E gagne : 1/4 +probabilité de collision à nouveau : 1/2 + + +### Cas 2 + +``` +station : A E + -*---*-#####-*---*- +n : 1 2 +k : [0,1] [0,1,2,3] +``` + +valeurs de k + +| A | E | +|---|---| +| 0 | 0 | +| 0 | 1 | +| 0 | 2 | +| 0 | 3 | +| 1 | 0 | +| 1 | 1 | +| 1 | 2 | +| 1 | 3 | + +probabilité que A gagne : 5/8 +probabilité que E gagne : 3/8 +probabilité de collision à nouveau : 2/8 : 1/4 + + +## Domaine de collision + +- sur une topologie BUS, ou sur une topologie étoile constituée d'un HUB, le signal ethernet est ... + +## Conclusion + +le CSMA/CD n'est potentiellement pas adapté aux applications temps réel car non déterministe + + +# CSMA/CR (Collision .. with Collision Resolution) + +dans la méthode CSMA/CR, la station utilises des fonctionnalité plus élabotées pour détecter une collision dès que possible. + +Pour éviter les collisions en chaine, une station qui transmet une trame cesse d'émettre si elle recoit un bit différent du sien ; +- Une station qui émet un bit à 1 s'arrete si elle voir passer sur le support un bit à zéro. +- Une station qui recoit un bit identique à celui qu'elle a émis continue à émettre. + +## Évolutions + +| Port | mode | +|-------------|-------------| +| 10BT | Half-duplex | +| 100BASETx | Full-duplex | +| GB ethernet | Full-duplex | + +### Switch + +``` +[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] + | | : | | + A B C D E +``` + +| Port | Mac | +|------|-----| +| 1 | A | +| 2 | B | +| 3 | C | +| 4 | D | +| 5 | E | +| 6 | | + +chaque port du switch est un domaine de collision. +Le switch n'envoie le trafic que sur le port concerné. + +# Trame ethernet + +``` ++-----------+-----+-----------+----------+------+----------+-----+-----+ +| préambule | SFD | Dést. MAC | Src. MAC | Type | donnée | FCS | IPG | ++-----------+-----+-----------+----------+------+----------+-----+-----+ +``` + +- préambule : 7 octets pour synchroniser les horloges du traget. +- Start Frame DElimiter : 1 octet qui indique au récepteur que le champ destination MAC démarre au prochain octet (synchro) + +- Dest : 6 octets d'une addresse MAC +- Src : 6 octets d'une addresse MAC + +## Domaine de Broadcast + +Au contraire d'une communication unicast, il est possible d'adresser des trames de données +à tous les membred d'un même réseau uniquement par des adresses spécifiques. + +Adresse MAC de diffusion générale est FF.FF.FF.FF.FF.FF + +Un switch recevant une trame broadcast sur l'un de ses ports la diffusera sur tous les autres ports. + +> note : +> un broadcast propagé dans un réseau contenant un cycle risque de se répéter à l'infini sur ce dernier. +> La solution est d'utiliser des switch implémentant le protocole spanning tree ; +> Qui réduit le nombre de récepteur des paquets broadcast à un réseau ne contenant pas de cycles entre les switchs. + +Un routeur ne propage pas de broadcast car il interface deux réseaux différents, et un broadcast est adressé à un seul réseau. + +## VLAN + +un VLAN permet de, virtuellement, utiliser une seule liaison pour véhiculer deux réseaux séparés entre deux switchs qui le supportent. + +``` +[ switch A ] =trunk= [ switch B ] + | | | | + | | | | + [A][X] [B][Y] + / \ / \ +vlan1 vlan2 vlan1 vlan2 + . . . . + . . . . . . . . . . . . . + . . . . . . . . . . . +``` + +Sur un switch, chaque VLAN est un domaine de broadcast. + +Il est possible de joindre des VLAN avec un Routeur ; +mais il est préférable de contrôler l'accès entre deux VLAN +de responsabilités différentes avec un Routeur configuré en pare-feu. + +> note : LAN est une norme 802 + +# Réseau WIFI + +## Topologies + +### Ad-Hoc / indépendant + +``` + A + | \ + | \ + B -- C +``` + +Les enteines de chaques membre peut communiquer dirrectement avec celles des autres membres du réseau. + +### Infrastructure + +``` + A + | +B --o-- C + ^\_ point d'accès +``` + +Les membres du réseau sont tous connectés à un point d'accès. + +## Utilisation des ondes + +Comme la bande FM, les réseaux wifi sont divisées en canaux se chevauchant. + +``` + ------------------------------------------------- + ......1...... ........6..... .......11..... + ......2....... .......7...... .....12...... + .......3....... ......8....... .....13..... + .......4....... ......9....... + ........5....... ....10....... + + ^^^^^^^^^^^^^\_ 22 Mhz +``` + +- 13 bandes +- 3 bandes distinctes +- 22 Mhz de longueur +- 2.4 Ghz + +## Codages + +- DSSS +- FHSS +- OFDM : Orthogonal Frequency Division Multiplexing +- OFDMA : Orthogonal Frequency Division Multiple Access + +## Les couches 802.11 + +- Liaison + - LLC : 802.2 + - MAC : 802.11 +- Physique + - FHSS + - ... + - OFDMA + +## Standards + +| Nom | 802.11b | 802.11a | 802.11g | 802.11n | 802.11ac | 802.11ax | +|---------------|----------|---------|---------|----------|----------|--------------| +| Fréquences | 2.4 Ghz | 5 | 2.4 | 2.4 ou 5 | 5 | 2.4 ou 5 | +| Transfert max | 11 Mb | 54 | 54 | 150 | 3.4 Gb | 10.5 | +| Modulation | DSSS | OFDM | OFDM | OFDM | OFDM | OFDL / OFDMA | +| Portée | 35-140 m | 35-120 | 35-140 | 50-250 | 20-300 | 20-300 | +| année | 1999 | 1999 | 2003 | 2009 | 2013 | 2021 | + +## Méthode d'accès au médium + +CSMA/CD inapproprié +- dificile d'écouter le médium lors de la transmission +- 2 stations peuvent être visibles l'une de l'autre + +CSMA/CA méthode adapté +- carrier sense multiple access +- collision avoidance : évitement des collisions +- méthode par compétition + +### principe du CSMA/CA + +1. Une station souhaitant émettre écoute si le médium est libre. + - si c'est le cas, elle attend pendant un temps fixe (DIFS) + temps aléatoire. +2. si le média est toujours libre, alors elle émet. + +acquittement (ack) après un silence SIFS. + +``` + ------------------------------ + Source : .###.......... + Destination : .....#........ + Autre station : .......###.... + ^\_ ACK +``` +