114
INF2 – RÉSEAUX INFORMATIQUES La Liaison de Données

INF2 – RÉSEAUX INFORMATIQUEScosy.univ-reims.fr/~lsteffenel/cours/UP1/INF2/Cours2.pdf · Objectifs de ce Cours ... réseau local et le rôle de la couche liaison de ... Détection

Embed Size (px)

Citation preview

INF2 – RÉSEAUX INFORMATIQUES

La Liaison de Données

Objectifs de ce Cours

• Décrire les fonctionnalités qui caractérisent un protocole •  Indépendamment de la couche OSI/TCP-IP

• Comprendre les différents éléments d'un réseau local et le rôle de la couche liaison de données

• Étudier les mécanismes d'accès au médium de transmission

Fonctions d'un Protocole

• De manière générale, un protocole doit assurer une ou plusieurs des fonctions suivantes : �  Délimitation des données �  Détection et/ou correction d'erreurs �  Contrôle de flux �  Établissement de connexions

• L'emploi de l'ensemble de ces services dépend de la technologie utilisée et des objectifs du protocole

�  Délimitation des Données

• Techniques de délimitation • Délimitation temporelle

•  Diviser le temps en intervalles "fixes" •  Peu adaptée à la transmission réseau

• Approches par "signalement" •  manipulation du codage au niveau physique •  comptage des caractères (champs "taille") •  caractères de marquage de début et de fin •  bits de marquage de début et de fin

Découpage Physique

• Utilisation de "mots interdits" au niveau physique •  Certains supports physiques utilisent des codages qui

permettent des redondances •  Ex : Manchester

•  0 = front "descendant" (haut-bas) •  1 = front "montant" (bas-haut)

•  Le support peut tolérer l'usage des "mots interdits" pour signaler le découpage de trames •  Haut-haut ou bas-bas

•  Difficile d'utiliser ailleurs

Clock

Data

Manchester

1 0 1 0 0 1 1

FLAG FLAG

Découpage "Générique"

• Utilisation d'un champs "taille" :

(b)

(a) 5 1 2 3 4 5 6 7 8 9 8 0 1 2 3 4 5 6 8 7 8 9 0 1 2 3

5 1 2 3 4 7 6 7 8 9 8 0 1 2 3 4 5 6 8 7 8 9 0 1 2 3

Character count One character

Error

Frame 15 characters

Frame 1

Frame 25 characters

Frame 2(Wrong)

Frame 38 characters

Frame 48 characters

Now a character count

Fig. 3-4. A character stream. (a) Without errors. (b) With oneerror.

Inconvénient : perte de synchronisation

Découpage "Générique" (2)

•  Bits délimiteurs – réseaux synchrones (avec un horloge) •  Deux étapes

1.  utilisation d'un drapeau (flag) au début et à la fin •  ex: HDLC (0111 1110) •  ex: Ethernet (7x10101010)

2.  transparence par bourrage (bit stuffing) – garantir que le drapeau n'est jamais utilisé pour les données

•  ex : insertion de 0 dans les chaines de lorsque cinq "1" sont détectés

A BESC FLAG

A BESC ESC

A ESC BESC ESC FLAG

A ESC BESC ESC ESC

BA FLAG

BA ESC

FLAGA ESC B

ESCA ESC B

FLAGTrailerFLAG Header Payload field

Original characters After stuffing(a)

(b)

Fig. 3-5. (a) A frame delimited by flag bytes. (b) Four examplesof byte sequences before and after byte stuffing.

0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0

0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0

Stuffed bits

(a)

(b)

(c) 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0

Fig. 3-6. Bit stuffing. (a) The original data. (b) The data as theyappear on the line. (c) The data as they are stored in the receiver’smemory after destuffing.

Découpage "Générique" (3)

•  Utilisation de caractères délimiteurs : •  Ex : ASCII

•  début = DLE (Data Link Escape) + STX (Start of TeXt) •  fin = DLE (Data Link Escape) + ETX (End of TeXt)

•  Ex : Balises XML •  <data> bla-bla-bla </data>

•  Ex : HDLC sur des réseaux asynchrones •  Problème avec les "binaires"

•  présence de séquences de contrôle dans les données •  Besoin d'un caractère de bourrage (character stuffing)

•  ex: transparence par doublage en ASCII •  texte à envoyer (NET) : A -DLE- B •  trame envoyée (LINK) : DLE-STX- A -DLE-DLE- B -DLE-ETX

•  ex: le caractère "<" en XML doit utiliser l'entity "&lt;"

�  Détection et Correction d’Erreurs

• Le mode de transmission choisi peut être sensible aux interférences et mal interpréter les signaux reçus •  Ex : un 0 qui devient un 1

•  Il faut au moins détecter une erreur • Principe : utilisation de redondances

•  Rajouter des bits supplémentaires pour vérifier l'exactitude des données transmises

• Exemples •  Parité •  Hamming •  CRC

Parité

Bit de parité: Détecte une seule erreur

Parité à 2 dimensions (VRC/LRC) : Détecte et corrige une erreur seule

0 0

0 = « somme » paire 1= « somme » impaire

La distance de Hamming

• Si une trame est formée de m bits de données et r bits de contrôle, le mot résultat de longueur m+r est appelé mot de code •  Pour appartenir à un code, un mot doit être unique

• Le nombre de bits de différence entre deux mots est appelé la distance de Hamming

10001001 XOR 10110001

------------- 00111000 = distance 3

La distance de Hamming

• La détection (et la correction) d’erreurs dépende de la distance de Hamming •  Ex : parité simple ! distance 1 = détection d’une

erreur

• Pour détecter d erreurs, il faut une distance d+1 • Mais comment savoir quel était le mot original ?

• Pour corriger d erreurs, il faut une distance 2d + 1

La distance de Hamming

• Prenons un code •  00000 00000, 00000 11111, 11111 00000,

11111 11111

• Distance Hamming = 5 • Détection jusqu’à 4 bits d’erreur • Correction jusqu’à 2 bits d’erreur

Détection d’erreurs: Cyclic Redundancy Check

•  Un réseau fiable peut se passer d’un code correcteur •  Il est plus simple de demander la retransmission

•  CRC : Prend un polynôme générateur G •  but: ajouter r bits de CRC, R, pour que

•  L’ensemble <D,R> soit exactement divisible par G (modulo 2) •  Le récepteur connait G, divise <D,R> par G. Si reste != 0 : erreur •  Détecte les suites d’erreurs jusqu’à r+1 bits

•  Très utilisé en pratique

Détection d’erreurs: Cyclic Redundancy Check

•  Exemple : Générateur •  G(x) = x4 + x + 1

•  Autres exemples de polynômes générateurs

•  HDLC (OSI) •  x64+x4+x3+x+1 •  GSM •  x40+x26+x23+x17+x3+1 •  IEEE 802 •  x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x1+1

•  Détection avec CRC 16 bits : •  toutes les erreurs simples et doubles, les burst < 17 bits •  99.997 % erreurs burst 17 bits •  99.998 % erreurs burst >17 bits

�  Contrôle de Flux

• La transmission des données n'est pas immédiate •  Débit •  Latence (délai)

• Les capacités de l'émetteur et du récepteur peuvent être différentes

31Les protocoles de liaison de données

2Chapitre

2.2 CONTRÔLE DE FLUX

Considérons deux équipements A et B reliés par un circuit de données sur lequel A veutenvoyer des données à B. L’équipement A découpe les données en trames, appelées tramesd’information, et les transmet les unes à la suite des autres. Elles sont repérées par la let-tre I. Le circuit étant exempt d’anomalies, toutes les données sont délivrées sans erreur àl’équipement B qui les stocke pour les exploiter.

Supposons que A soit un ordinateur et B une imprimante lente, dotée d’une capacité mémoirelimitée, lui imposant de garder en mémoire toutes les informations envoyées par A tantqu’elles ne sont pas imprimées. Si le rythme d’envoi des informations est nettement supérieurà son rythme d’impression, il y a rapidement saturation de la mémoire et perte d’informa-tions par B. Il faut mettre en place un mécanisme de contrôle du rythme d’envoi des informa-tions vers le récepteur, appelé contrôle de flux. Le petit engrenage de la figure 2.4 représente lemécanisme mis en jeu pour contrôler le flux des informations arrivant dans l’imprimante.

Pour réaliser le contrôle de flux, on introduit deux trames de supervision, RR (ReceiverReady) et RNR (Receiver Not Ready). Ces trames ne transportent aucune information utile etne servent qu’à la gestion du dialogue. Elles sont générées et exploitées par le protocole deliaison et sont invisibles pour l’utilisateur. Le mécanisme est le suivant : à chaque réception detrame, l’équipement B envoie une trame RR s’il est prêt à accepter d’autres trames ou une

Figure 2.3Représentation des échanges.

Figure 2.4Exemple d’une transmission sans contrôle de flux sur un circuit de données parfait.

Trame

Délai depropagation

A commenceà émettre latrame

A finitd'émettrela trame

B finit derecevoirla trame

Temps

A

B

Durée de transmission

B commenceà recevoir latrame

IA

B

I I I

?Mémoire

Contrôle de flux

• Lors de la transmission des données, trois grands problèmes se posent • Comment gérer le flux des données ? • Comment être sûr de la réception d’une donnée ? • Comment agir si le

réseau est partagé ?

Contrôle de Flux • Protocole d'envoi stop-and-wait

• On introduit deux messages de supervision •  RR – receiver ready •  RNR – receiver not ready

RR

RNR RR

RR

Contrôle de Flux

• Canal bruité •  Et si l'un des messages est

perdu ? �  Envoi d'un acquittement �  Timeout pour retransmission

•  Le cas de la perte de msg

Temps

msg

ack

msg

msg

ack

retransmission ✗

Contrôle de Flux

• Canal bruité •  Et si l'un des ack est perdu ? •  Le temporisateur

aide à retransmettre le message

• Quoi faire avec le message dupliqué

Time

X Timeout

msg

msg

ack

ack * Envoi à la couche 3

Envoi à la couche 3 !!

�  Timeout �  Ack

Contrôle de Flux

• Canal bruité • Numérotation des messages

• Comment identifier ? • Numéro de séquence • Numéro d'octets •  Prochain octet

Time

X Timeout

msg (1)

msg (1)

ack (1)

ack (1)

Dupliqué

Envoi à la couche supérieure

�  Timeout �  Ack �  Seqnum

Contrôle de Flux

• Canal bruité • Numérotation des messages

• Comment identifier ? • Numéro de séquence • Numéro d'octets •  Prochain octet

Time

X Timeout

msg (1-10)

msg (11-32)

ack (33)

ack (11)

Dupliqué

Envoi à la couche supérieure

�  Timeout �  Ack �  Seqnum

Utilisé dans TCP

Fenêtre d'Anticipation

• Principe •  Permettre la transmission à l'avance d'un certain

nombre de messages avant acquittement •  Limiter ce nombre à un seuil

• Les fenêtres d’anticipation nécessitent des numéros de séquence pour les messages ainsi qu’une taille de fenêtre maximale pour l’émetteur et le récepteur

Fenêtre d’Envoi

• Contient des paquets qui ont été envoyés ou qui peuvent être envoyés •  Ces paquets n’ont pas encore été acquittées

• Lorsqu’un paquet arrive de la couche supérieure

a)  Le prochain numéro de séquence est attribué b)  L’entête de la fenêtre avance d’une unité

• Lorsqu’un acquittement arrive •  La queue de la fenêtre avance d’une unité

IFT3320/6320-H01 4 - 14

Fenetre de l’emetteur

N+2 N+3 N+4 N+5 N+6 N+7N+1N

envoyées et acquittées envoyées, ne pas encore acquittées

ne pas encore envoyées, mais peuvent être envoyées

ne peuvent pas encoreêtre envoyées

taille de la fenêtre

temps

N+8

Fenetre du recepteur

temps

N+2 N+3 N+4 N+5 N+6 N+7N+1N N+8

numéros de séquence présentement acceptés

Peter Kropf TELEINFORMATIQUE Universite de Montreal

Fenêtre de Réception

• Contient les paquets qui peuvent être livrés •  Les paquets ne sont livrés que dans l'ordre FIFO •  Les paquets qui dépassent la fenêtre sont

supprimées (drop)

• Lorsqu’un paquet contient un numéro qui correspond à la fenêtre •  Selon la politique d'acquittement :

•  Le paquet est transmise à la couche supérieure •  Un acquittement est crée •  La fenêtre glisse d’une unité

IFT3320/6320-H01 4 - 14

Fenetre de l’emetteur

N+2 N+3 N+4 N+5 N+6 N+7N+1N

envoyées et acquittées envoyées, ne pas encore acquittées

ne pas encore envoyées, mais peuvent être envoyées

ne peuvent pas encoreêtre envoyées

taille de la fenêtre

temps

N+8

Fenetre du recepteur

temps

N+2 N+3 N+4 N+5 N+6 N+7N+1N N+8

numéros de séquence présentement acceptés

Peter Kropf TELEINFORMATIQUE Universite de Montreal

Politiques d'Acquittement

• Son choix dépend de plusieurs facteurs •  Probabilité de perte de trames • Capacité des buffers en réception

• Différentes méthodes • Go-back-N (rejet global) •  Rejet sélectif

Protocole Go Back n • Chaque paquet est acquitté, ssi reçu dans l'ordre •  Si un paquet manque, le récepteur "s'arrête"

•  tout nouveau paquet (id plus grand) est ignoré

• Que faire alors ? •  Attendre le timeout (pas d'acquittement) •  Retransmettre toute trame après la dernière acquitté •  Croiser les doigts ;)

• Go back n gaspille de la bande passante si le taux d’erreurs est grand •  Retransmission d'un grand nombre de trames si la fenêtre de

réception est petite (voir =1)

Protocole Go Back n

•  Possibilité d'acquittement cumulatif •  Ack n indique que les paquets n,n-1,n-2, ...

ont été bien reçus et que les buffers peuvent être libérés

Protocole à Rejet Sélectif

•  Le protocole Go-back-N force la retransmission de tous les paquets •  Dans un réseau fiable, il est rare de perdre plus d'un paquet de

suite

•  Le protocole a rejet sélectif empêche ce gaspillage 1.  Le récepteur stocke tous les paquets "corrects" après un

paquet "incorrect" 2.  L'émetteur retransmet les paquets incorrects lorsqu'il a détecté

un problème

•  Forcément, la taille de la fenêtre de réception est > 1 •  Tout paquet est reçu et stocké en attente d'être transmis à la

couche supérieure dans l'ordre •  Nécessite beaucoup de mémoire

Acquittement Négatif (NAK)

•  Les NAKs sont souvent utilisés avec le rejet sélectif •  Ceci accélère la retransmission des trames manquantes

• Questions : •  A-t-on besoin de garder une trace des NAKs envoyés ? •  Et si les NAKs sont perdus ?

Comparaison des Politiques

• Le Stop-and-Wait est peu efficace • Le Go-back-N est le plus utilisé

• Mais risque de perdre en performance si le réseau est peu fiable

• Le Selective Reject n’apporte pas de gain flagrant de performances •  Sauf dans les réseaux peu fiables • Demande beaucoup de mémoire

Fonctions de la Couche Liaison de Données

• La couche 2 a un double rôle •  Travailler en contact avec la partie physique •  Offrir une gamme de services aux couches supérieures

• Habituellement on sous-divise la couche 2 •  Couche MAC – Media Access Control

•  Accès au support •  Adressage

•  Couche LLC – Logical Link Control •  Découpage •  Contrôle de flux •  Retransmission

MAC et la Topologie

• Les réseaux locaux peuvent être définis à partir de 3 topologies de base •  Le bus

•  Point-à-point •  Partagé

•  L'anneau •  L'étoile

• Topologie Physique ≠ Topologie Logique

L’accès au Support Physique

• MAC – Media Access Control • Même dans un lien point-à-point il faut gérer l'accès au support physique • Garantir qu'un seul émetteur occupe le support

• Deux grandes familles • Accès aléatoire (non déterministe) • Accès déterministe

ALOHA • Aloha est la base de tous les protocoles non-

déterministes •  Le protocole Aloha a été conçu par l'Université de

Hawaii afin de relier les campus avec des transmetteurs radio

•  Le protocole Aloha s'applique sur tout type de support partagé •  Un nombre de stations partagent le medium •  Deux ou plus veulent communiquer au même temps, causant

des collisions

Le protocole ALOHA •  Émetteur

•  Lorsque une trame arrive, procède à l'envoi •  La station écoute le réseau un certain temps •  Si un ACK est reçu, ok. Sinon, retransmet la trame après un

temps aléatoire •  Si aucun ACK après un certain nombre de tentatives, laisse

tomber •  Le checksum est utilisé pour détecter les erreurs

•  Récepteur

•  Si la trame est OK, retourne un ACK •  Sinon, ignore la trame (ne fait rien)

• Une trame peut être endommagée par le bruit ou par une transmission simultanée (collision)

ALOHA : envoie des trames

ALOHA : période de vulnérabilité

ALOHA

ALOHA • Quand le nœud reçoit une nouvelle trame à

transmettre, il l'envoie immédiatement •  La probabilité de collision augmente avec le nombre

de nœuds •  L’efficacité devient environ 18% • Autres problèmes (pour la radio)

•  Aucune borne de transmission •  Problème de l'antenne cachée

Slotted ALOHA(“en tranches”)

Postulat •  Les trames sont de même taille •  Le temps est divisé en tranches (= temps d’une trame) •  Les nœuds commencent à transmettre au début des tranches •  Les nœuds sont synchronisés •  Si 2 nœuds ou + transmettent en même temps, tous détectent

la collision

Fonctionnement •  Quand le nœud reçoit des données à transmettre, il le fait dans

la prochaine tranche •  Si pas de collision, le nœud continue à transmettre dans les

tranches suivantes •  Si collision, le nœud retransmet dans la tranche suivante

Slotted ALOHA

Pour •  S’il y a un seul nœud actif, il

profite de tout le débit •  Complètement

décentralisé •  Simple

Contre •  collisions, tranches gaspillées •  Tranches vides •  Les nœuds doivent détecter

rapidement les collisions •  Besoin de synchronisation pour

les tranches

Slotted ALOHA

• Comme le temps est organisé en fonction de la taille des trames •  Les nœuds doivent être synchronisés

• Les transmissions commencent uniquement au début d'une période •  Conséquence : une partie des trames rate le créneau ou recouvre d'autres trames

• L'utilisation maximale du canal est de 37%

Slotted ALOHA

CSMA

•  Pourquoi ALOHA et slotted ALOHA sont si peu performants ? •  Les stations ne vérifient pas l'état du canal. Elles juste envoient les

trames, ce qui cause des collisions si le canal n'est pas libre

•  Il est simple de les faire écouter le canal

•  CSMA : Carrier Sense Multiple Access •  Les stations écoutent le canal préalablement (carrier sense)

•  Ainsi, une station “sait” si le canal est libre ou pas •  Les transmissions ne sont faites que si le canal est libre •  Les collisions deviennent bien plus rares

•  Uniquement si deux ou plusieurs nœuds essayent d'envoyer des trames au même temps

CSMA – les contraintes

• Le CSMA a un temps borné de propagation •  Simple dans un réseau câblé • Moins évident dans un réseau radio • Dans une LAN, le temps de propagation sur le

câble est inférieur à celui de l'envoi d'une trame

• Grâce au "carrier sense", les stations savent presque immédiatement si le canal est libre •  Si le réseau semble libre

•  Transmission puis attente d'un ACK •  Si une collision a eu lieu, aucun ACK reçu donc

retransmission

CSMA/CD: CSMA with Collision Detection

•  Le problème du CSMA : •  Une collision bloque le canal pendant la durée de

transmission d'une trame, ce qui n'est pas bon si les trames sont longues

•  Règles du CSMA/CD: 1.  Si le canal est libre, transmettre ; sinon, aller à

l'étape 2 2.  Si le canal est occupé, continue à écouter jusqu'à ce

que le canal se libère ; alors transmettre immédiatement

3.  Si collision détectée, arrêt de la transmission et émission d'un signal de brouillage (jamming) pour prévenir les autres stations

4.  Après avoir transmis le signal de brouillage, attendre une durée aléatoire (le backoff) et recommencer à l'étape 1

Politiques d'Accès Dynamiques à Allocation Déterministe

"  Principe "  Allouer de la BP aux utilisateurs qui en ont

besoin "  Connaître les besoins des utilisateurs "  "Intelligence" centralisée ou répartie

"  Deux techniques principales "  Allocation sélective ou polling "  Passage de Jeton

Allocation Sélective ou Polling "  Un nœud maître gère le droit de utilisation du

canal "  Consulte les compétiteurs et les invite à émettre à tour

de rôle

"  Site maître (station centrale) �  Interroge séquentiellement chaque station �  Si elle a des trames à émettre

"  La trame est transmise au maître "  Le maître interroge le destinataire (prêt à recevoir ?)

Allocation de Jeton

• Mécanisme décentralisé • Utilisation d'une trame spéciale (jeton)

•  Le détenteur du jeton est autorisé à émettre pendant une durée de temps définie

•  Le passage du jeton peut être adressé ou pas •  Réseau en anneau : non adressé •  Réseau en bus ou étoile : adressé

En Résumé

• La couche 2 joue un rôle très important •  Transformer des bits en données •  Permettre la communication entre deux machines

dans un réseau local

• Dans un réseau local, la couche 2 serait suffisante • Malheureusement, Internet n'est pas un réseau

local

INF2 – RÉSEAUX INFORMATIQUES

Technologies de la Couche Liaison de Données et aperçu rapide de l'adressage IP et des services de la couche Transport

Objectifs de ce Cours

• Étudier un peu plus en détails l'une des technologies les plus représentatives de la couche 2 •  Ethernet

• Réviser (apprendre) rapidement quelques notions d'adressage IP et des services de transport • Nécessaires pour les activités pratiques avec

PacketTracer

Ethernet

Technologie câblée dominante •  Pas chère (même pour du Gbps) •  Simple • A su se garder à jour : 10 Mbps – 10 Gbps

Esquisse Ethernet de Bob Metcalfe

Charactéristiques Physiques de Ethernet

Service non fiable, sans connexion

•  Service sans connexion : •  L'émetteur n'établit pas une poignée de mains avant l'envoi

des données

•  Service non fiable : •  Le récepteur n'envoie aucun ack ou nack à l'émetteur •  Les flux de datagrammes transmis à la couche réseau

peuvent être incomplets •  Les trous seront comblés si un protocole fiable (TCP) est utilisé •  Sinon, l'application aura les données incomplets

Structure d'une trame Ethernet

Les données (IP ou autre) sont encapsulés dans les trames Ethernet

Preambule : •  7 octets avec le patron 10101010 suivis d'un octet

avec le patron 10101011 •  Utilisé pour synchroniser les récepteurs et

l'émetteur

Structure d'une trame Ethernet

• Adresses : 6 octets •  Si la carte réseau reçoit une trame avec une adresse qui

correspond, ou avec une adresse de diffusion (par exemple, un paquet ARP), les données sont transmis à la couche réseau

•  sinon, la trame est rejetée

•  Type : indique le protocole de couche haute (probablement IP, mais il y a d'autres)

• CRC : vérifié à la réception. Si les données sont corrompues, la trame est simplement rejetée

3 octets

I/G U/L OUI numéro de série

22 bits

Cyril Rabat (Licence 3 MI / Info0503) 2010-2011 29 / 53

1bit 1bit

Les adresses Ethernet

•  Chaque carte Ethernet possède une adresse MAC "unique" :

•  Chaque carte est unique dans le réseau local

•  L’adresse est gravée dans l’adaptateur réseau par le fabricant

•  Le OS peut le modifier par la suite

•  Une adresse MAC a une longueur de 48 bits (6 octets) :

•  Le 1er bit indique si l’adresse est individuelle (= 0) ou de groupe (= 1)

•  Le 2ème bit indique si l’adresse est universelle (= 0) ou locale (= 1)

•  22 bits pour identifier le fabricant : •  OUI (pour Organizational Unique Identifier) attribué par l’IEEE

•  Les 3 derniers octets sont attribués séquentiellement par le fabricant

Quelle est l'adresse MAC de ma carte réseau

Adressage en couche 2

• L'adressage MAC

Limitation des Adresses MAC

•  Les adresses MAC permettent l'identification des cartes

•  Plus de 2 millions de milliards d'adresses MAC possibles !

•  Les adresses MAC ont des inconvénients •  Aucune structure, ce qui donne un espace d'adressage plat

•  Comme envoyer une lettre seulement avec le nom du destinataire ? •  Résultat : identification unique utilisée seulement DANS LE

RÉSEAU LOCAL

L'adressage MAC ne suffit pas

Types de transmission dans un réseau local

• Unicast, Multicast et Broadcast Ethernet

Communication Ethernet

• Ethernet "à l'ancienne" : utilisation de Hubs

Communication Ethernet

• Utilisation de Switches (commutateurs)

Pourquoi un Switch est plus performant ?

Address Resolution Protocol (ARP)

ARP pour des destinations extérieures

Le Protocole IP

• Les fonctions du protocole IP • Adressage •  Routage

• Cependant • pas de vérification de séquencement • pas de contrôle de flux • pas de détection de perte ni retransmission

Service IP • Utilise un service minimum

•  Envoi "étape par étape", sans vision globale du chemin

•  Rend un service minimum •  service en mode non connecté

•  absence d'états dans les routeurs •  transmission de datagrammes (enveloppes)

•  remise best effort •  service non fiable

• avantages # robustesse # efficace pour les échanges brefs # simplicité d'utilisation

Adressage IPv4

• Principe •  adresse logique globale (contrairement à MAC) •  identification unique de chaque hôte •  format normalisé (+ performant) •  définition de l’ID du réseau et de l’ID de l’hôte

•  Format •  32 bits (4 champs de 8 bits) – décimal pointé

•  Ex : 192.168.0.1, 80.32.1.125

•  Définition de 5 classes de réseau (obsolète depuis les 90's)

Classes d'Adresses

• Objectif (en 1980) •  Limiter les tables de routage • Optimiser le traitement des paquets

0

110

1110

1111

réseau

réseau

réseau

adresse de multidestination

machine

machine

machine A

B

C

D

31 0 8 16 24

réservé E

10

Classe A : 128 réseaux 16 millions @

Classe B : 16384 réseaux 65534 @

Classe C : 2 millions réseaux

254 @

Sous-Réseaux

• Le format "par classe" est très rigide •  Ex : Un routeur d'un réseau classe A difficilement

serait en contact direct avec 16 millions de hôtes •  Besoin de découper le réseau pour plus de scalabilité

•  Ex2 : Un petit sous-réseau avec 5 machines mais masque /24 (classe C) "gaspille" 249 adresses

H H

H H

sous-réseau 1

sous-réseau 2

142.68.1.0

142.68.2.0

142.68.1.23 142.68.2.6

140.201.0.0 142.68.0.0

site 1 site 2

Sous-adressage

• Principe • ajout d'un niveau hiérarchique dans l'adressage

•  adresse de sous-réseau

•  subdivision de la partie hôte

•  le sous-réseau • est un réseau physique (i.e. un réseau IP connexe)

du réseau de site • a une visibilité purement interne

réseau sous-réseau machine

identificateur théorique

Le masque de sous-réseau •  le masque indique la frontière entre la partie sous-réseau

et la partie machine •  le masque est propre au site •  le masque est de 32 bits

•  Bits du masque de sous-réseau (subnet mask) •  positionnés à 1 $ partie réseau •  positionnés à 0 $ partie machine •  Exemple

•  11111111 11111111 11111111 11000000 % 26 bits pour le champ réseau, 6 bits pour le champ machine

• Notations •  décimale pointée

•  exemple : 255.255.255.192 •  adresse réseau/masque

•  exemple : 193.49.60.0/26 (26 = nombre de bits contigus du masque)

Masque de sous-réseau

• Utilisation

•  Exemple •  le réseau 142.68.0.0 (classe B!) a comme masque

255.255.255.0 (/24) •  soit l'hôte d'@IP 142.68.2.6

% l'hôte est sur le sous-réseau numéro 2

réseau

machine classe

masque réseau

réseau

ss-réseau machine

interne au site &&

10001110.01000100.00000010.00000110!11111111.11111111.11111111.00000000!

10001110.01000100.00000010.00000000!

142.68.2.6

255.255.255.0 &&

= 142.68.2.0

Types d'Adresses

• Adresse du réseau •  adresse qui identifie un réseau (tous les bits de la partie

hôte = 0)

• Adresse des machines •  adresse valide pour être attribué à une machine

• Adresse de diffusion •  adresse utilisée pour

envoyer un message à tous les hôtes d'un réseau (tous les bits de la partie hôte = 1)

Comment savoir si une adresse est dans mon réseau ?

• Chaque interface réseau est configurée avec une adresse IP et un masque

• Pour une adresse de destination, on applique le masque •  Si les deux adresses (source et destination)

appartiennent au même sous-réseau •  Communication directe via Ethernet (ARP)

•  Si les réseaux sont différents •  Envoi du paquet à la passerelle (gateway)

Adresses IP Spéciales

•  Route par défaut •  0.0.0.0

•  Loopback •  127.0.0.0 à 127.255.255.255

•  Lien-Local •  169.254.0.0 à 169.254.255.255 (169.254.0.0 /16) •  Attribuées aux interfaces locales lorsqu'il n'existe pas d'adresse IP

attribuée •  Adresses IP privées

•  10.0.0.0 à 10.255.255.255 (10.0.0.0 /8) •  172.16.0.0 à 172.31.255.255 (172.16.0.0 /12) •  192.168.0.0 à 192.168.255.255 (192.168.0.0 /16) •  Ces adresses ne sont pas "visibles" sur Internet

•  Besoin de NAT

La couche Transport

• Rôles •  Permettre à des entités paires de soutenir une

« conversation » •  Ouverture ou pas d'une connexion

•  Permettre un adressage "Application" ! Port

• Protocoles les plus courants •  TCP – orienté connexion, garantie de livraison • UDP – protocole plus souple, aucune garantie

Ports

IP

TCP UDP

FTP HTTP SMTP DNS DNS TFTP "  Applications

�  Transmettent des blocs de données

"  Protocole (par exemple TCP) �  Envoie des fragments

"  Blocs groupés / découpés (TCP)

ou transmis tels quels (UDP)

"  => Rassembler les blocs selon l'application

"  => n° de port multiplexage des données

/ démultiplexage (à réception)

Ports

IP

TCP UDP

FTP HTTP SMTP DNS DNS TFTP

"  Message : �  (IP + port) source �  (IP + port) destination

"  65536 ports TCP idem pour UDP "  Ports réservés

�  /etc/services (Unix) �  C:\WINDOWS\system32\drivers\etc\services (Windows)

"  Ports bien connus (well known ports) + attribution dynamique

Ports

. . . /etc/services

Primitives de base pour le transport

• Un service de transport simple doit au moins définir deux primitives •  Send () •  Receive ()

• Certaines variations dépendent de la qualité de service exigé •  Service connecté ou non-connecté

T C P "  Transmission Control Protocol

"  Mode connecté

-  Avant d'envoyer des données, s'assurer de la présence du récepteur

-  Garantit une certaine qualité de service

"  Connexion bi-directionnelle

• TCP vs UDP

U D P "  User Datagramme Protocol

"  Mode non connecté

�  Envoi sans vérifier la présence de l'expéditeur

�  Réduction des fonctions �  Plus grande simplicité

"  Connexion uni-directionnelle

La couche Application

• Rôles •  "Héberger" les protocoles de haut niveau •  Protocoles définis

•  telnet •  SMTP •  DNS •  HTTP •  Etc. •  Mais aussi des "API" haut niveau : XML-RPC, RMI, SOAP, etc.

En Résumé

•  Ethernet – le standard le plus utilisé actuellement •  Inclut le WiFi aussi !

•  L'adressage MAC permet des liaisons dans un réseau local •  Ne suffit pas pour des liaisons entre deux réseaux différents

•  Le choix entre la communication "locale" ou "distante" dépend du calcul des sous-réseaux

Introduction à la configuration IOS

Présentation " Cisco IOS est le système d’exploitation installé sur la majorité du matériel de marque Cisco et qui permet de le configurer " La configuration se fait

" Soit par une interface Web si elle est disponible

" Soit par une interface en ligne de commande (quasiment toujours disponible) appelée CLI (command-line interface)

Préparation de la connexion

•  La première fois qu’on accède à un dispositif actif (Routeur, Switch manageable), celui-ci n’est pas encore configuré pour l’accès à distance

•  L’administrateur doit donc utiliser le port Console pour se connecter grâce à un câble inversé (roll-over) •  L’accès se fait par Hyperterminal (windows) ou d’autres

clients type minicom •  Une fois configuré, le dispositif peut être accédé par :

•  Telnet / SSH – à travers le réseau •  Nécessite une connexion au réseau •  Le réseau doit être configuré dans les dispositifs (adresses

IP, masque, etc.) •  Le mot de passe Telnet est configuré sur le routeur

Accès direct aux dispositifs

•  Le port console permet la connexion d'un terminal d'accès •  Généralement c'est un logiciel (HyperTerminal, minicom) •  Aucune adresse IP n'est nécessaire du côté routeur/switch

•  Utilisé pour : •  Configurer un dispositif qui vient d'être installé •  Configurer un dispositif "sur place" – accès physique •  Dépannage lorsque l'accès distant ne fonctionne pas •  Récupérer les mots de passe de connexion

Connexion au port Console

Émulateurs de terminal

•  HyperTerminal : livré avec Windows •  Teraterm (gratuit), minicom (linux) •  Paramètres:

•  9600 Baud •  8 Data Bits •  1 Stop Bit •  No Parity

Le démarrage d’un Routeur / Switch

Les principes de base " Le CLI est divisé en différents modes de commandes

" User EXEC mode

" Privileged EXEC mode

" Global configuration mode

" Interface configuration mode

" Les commandes disponibles dépendent du mode " L'utilisation du ? permet d'obtenir toutes les commandes disponibles

" "show ?" permet de connaître les options de la commande show

" "sh?" permet d'obtenir toutes les commandes disponibles commençant par sh

" La touche TAB permet de faire la complétion des commandes tapées et s'il n'y a aucune ambiguïté, il est possible de taper que les premières lettres de la commande voulue (exemple : « en » au lieu de « enable »)

Fonction des modes " Le User EXEC mode est le mode par défaut dans lequel l'utilisateur se trouve quand il se connecte sur le matériel

" Il ne permet pas de changer la configuration du matériel " Pour avoir accès à toutes les commandes de configuration, vous devez entrer dans le Privileged EXEC mode

" Accessible généralement par mot de passe

" Depuis le Privileged EXEC mode, il est possible d'entrer dans le global configuration mode

" Il est possible dans ce mode de saisir des commandes de configuration et donc de modifier la configuration courante

" Attention : toute modification est perdu lors d'un redémarrage si elle n'est pas sauvegardée

Mode Utilisateur (routeur ou switch) " Lors de la connexion au matériel, nous obtenons un prompt du style

• Router >!

• Ou

• Switch >!

" Le mode Utilisateur permet de consulter la configuration mais ne laisse pas la modifier " Certains réseaux permettent l’accès libre des internautes : " http://www.routeviews.org/

Privileged EXEC mode

" L'accès au Privileged EXEC mode se fait depuis le User EXEC mode en tapant la commande enable (ou simplement en) " Le prompt est modifié en Router #!

" Certains utilisateurs l’appellent le mode enable " La commande disable permet de quitter ce mode

Obtention de l’aide

Obtention de l’aide

Obtention de l’aide

Abréviations

•  Le principe est simple : •  « Tant qu’il n’y a pas d’ambigüité, on peut raccourcir »

Le mode de configuration Global " Permet de configurer le matériel et d'avoir accès à la configuration des interfaces " La commande configure terminal (ou conf t si aucune ambiguïté) permet d'accéder à ce mode

" Nous obtenons les lignes suivantes :

Router# configure terminal!Enter configuration commands, one per line. End with CNTL/Z.!Router(config)#!!

" Pour retourner au Privileged EXEC mode,

" Utilisez la commande end!

" Ou les touches CTRL+Z

" La commande exit permet de retourner au mode précédent

Définir le nom de la machine •  Modifie le nom affiché sur l'invité de commandes. •  Important de le faire rapidement, pour éviter la confusion

lorsqu'on a plusieurs terminaux ouverts

Le fichier running-config

•  Le fichier running-config est la configuration actuelle sur la mémoire RAM

•  Toute modification de configuration affecte ce fichier

•  Le fichier running-config est perdu à chaque fois que le dispositif est arrêté ou redémarré

•  show running-config est une commande en mode privilège

Le fichier running-config

•  Le fichier startup-config est enregistré sur la mémoire NVRAM

•  Lors du démarrage, le dispositif copie le startup-config sur la mémoire (running-config)

Stockage de configuration du matériel ?

Supprimer la configuration

•  Parfois nécessaire •  Redémarrer la config si on l'a trop raté •  Sur le matériel des labs, à la fin des TPs

Mots de passe •  Des mots de passe sont nécessaires pour sécuriser l'accès au

dispositif et aux différents modes •  Le choix sur une machine "de production" doit se faire

soucieusement •  Pour les cours, la plupart des scénarios utilisent deux mots de

passe, "cisco" et "class" •  Console = cisco •  VTY (telnet) = cisco •  Privilège = class

Mots de passe console = cisco

•  Avec ce mot de passe, l'accès au console est sécurisé •  no ip domain-lookup empêche la recherche DNS (si une

commande n'est pas reconnue)

Mots de passe VTY = cisco

•  Lors de l'accès via telnet, ce mot de passe est demandé •  L'accès par telnet n'est pas activé tant que le mot de passe n'est

pas défini

Mots de passe privilège = class

•  Le mot de passe privilège bloque l'accès lorsque la commande enable est entrée

Access telnet et ssh " Telnet : transmission en clair " SSH : création d'un tunnel crypté entre la source et la destination " Sur les line vty

" transport input telnet " ou " transport input ssh " ou " transport input all

" Pour activer l'accès ssh, il faut en plus faire " hostname ... " ip domain-name .... " crypto key generate rsa " ip ssh version 2

" Attention : pour pouvoir utiliser ssh version 2, il faudra générer une clé RSA >= 768 bits. Par défaut, les clés sont de 512 bits. Recommandé de choisir des clés multiple de 1024.