Cisco : R&S 1

De Justine's wiki
Aller à la navigation Aller à la recherche

Chapitre 1 - Exploration du réseau

Nous (les humains) avons besoin de communiquer, ce qu’on fait sans problèmes aujourd’hui. L’accès à internet est considéré comme un droit de l’homme. Internet a changé les interactions sociales, politiques, personnelles… Création de commus. Le « Réseau Humain ». Le rzo a aussi changé la façon d’apprendre. Certains types de communication sont apparus : Messagerie, réseaux sociaux, Outils de collab, Blogs, Wikis, Podcasts, Partage de fichier en p2p… Les entreprises communiquent non seulement mais aussi en externe grâce à internet. On peut avoir plein d’idées autour du réseau. Ils facilitent aussi le divertissement : classiques (films, musique…) ou nouveaus (jeux multi, e-sport…), et on peut échanger autour de nos divertissements.

Tailles de réseaux : Réseau domestique, Réseaux SOHO (petits bureaux ou bureaux à domicile), Moyens et grands (Réseau d’une grosse boîte), Réseaux mondiaux (internet).

Modèle client/serveur, capital.

Le p2p, ou chacun est client et serveur, est utile dans les petites structures : simple, facile à configurer, peu coûteux, tâches simples (transfert de fichiers, partages d’imprimantes…) Mais il n’est pas très safe, peu administrable, pas évolutif, peu performant.

On a des réseaux locaux reliés à des appareils réseaux (routeurs, ponts…) par des supports, lesquels réseaux locaux contiennent des processus et services. Plusieurs routes, toussa toussa

Périphériques intermédiaires : commutateurs, commutateurs multicouche, routeur avec ou sans fil, firewall… Ils regen et transmettent des signaux, gère les chemins, indiquent aux autres les erreurs, redirigent les données, classifient les msgs par priorité, autorisent ou refusent des flux de données.

Les supports sont : cuivre (rj45 à 8 broches, etc.), la fibre, le sans-fil.

Schéma de réseau = « Diagramme de topologie ». On a des périphériques, des cartes réseau, et la différence entre port physique et interface est que le port désigne la prise en elle-même, reliée à un périph final ou un eqt réseau ; l’interface est un port spécifique qui se connecte à un rzo individuel (comme sur un routeur).

On distingue le diagramme physique du diagramme logique.

Types de réseaux :

-LAN : peu étendu, relie des périphs finaux, grosse BP, un seul admin (limité au switch en général)
-WAN:étendu, appartient en général à un presta de services, relie des LAN en Débit plus bas
-MAN:Entre LAN et WAN, par exemple une gde ets
-WLAN : Wireless LAN
-SAN : Réseau de stockage

Internet est géré par des organisme comme IETF, ICANN, IAB, IEEE…

Un internet est une interconnexion de réseaux ; Mais les World Wide Web s’écrit avec une majuscule (Internet).

Internet : mondial
Extranet : Fournisseurs, clients, collaborateurs
Intranet : Entreprise uniquement

Les options de connexion varient considérablement d'un FAI et d'une région à l'autre. Cependant, les options les plus utilisées sont le câble haut débit, la technologie DSL (Digital Subscriber Line) haut débit, les WAN sans fil et les services mobiles. Les boîtes sont généralement reliées par DSL, Ligne louée, sat, ou Metro Ethernet (voire WAN ethernet). Les particuliers par (A)DSL, Câble (celui de la télé), cellulaire, sat, RTC, fibre.

Avant chaque service avait un réseau (téléphone, informatique, télévision…). Mais maintenant les réseaux convergent.

L’architecture réseau doit comprendre : Tolérance aux pannes, Evolutivité, QoS, Sécurité.

Tolérance aux pannes : connexions redondantes, contrairement à un réseau de téléphone par ex.
Evolutivité : on peut acceuillir de nouveaux périphériques. Comme Internet.
QoS : C’est principalement la gestion des priorités des paquets : on favorise les services qui doivent aller vite, comme le téléphone, au détriment de services plus lents comme les mails.
Sécurité : Sécurité de l’infra (matériellement)+ Sécurité de l’information. Confidentialité, Intégrité, Disponibilité des données.

BYOD : Bring Your Own Device
Collaboration en ligne
Communication vidéo
Cloud Computing : 4 types :
-Public : Disponibles à tous, peut-être payant ;
-Privé : Pas disponible à tous…
-Hybride : Au moins deux clouds différents dans une même architecture, avec différentes autorisation d’accès
-Personnalisé
Les clouds fonctionnent grâce aux data centers.

De nouvelles tendances domestiques : cloud, IoT…

On a aussi le CPL qui permet de ne pas multiplier les câbles.

Et le haut débit sans fil, par ex. avec du WiFi longue portée..

Sécurité : les menaces sont internes ou externes. Menaces externes : Virus, vers, trojans, adwares, Faille zero-day, piratage, DOS, Vol de données, Usurpation d’identité…

Systèmes de sécurité : antivirus + pare-feu, au minimum ; plus pare-feux spécialisés, ACL, Systèmes de prévention des intrusions, VPN.

Architecture réseau : Périphériques, connexions et produits intégrés prenant en charge les technologies et application nécessaires.

CCNA : Cisco Certified Network Associate : installer, exploiter, configurer, dépanner des réseaux routés et commutés, et vérif de connexions. Connaissances de base sur la réduction des menaces. Inclt : IP, OSPF, SLIP, Frame Relay, VLAn, ETHERNET, ACL, etc.

  1. Chapitre 2 : Configuration d’un système d’exploitation réseau

OS réseau = OS d’un éqt réseau (IOS…) (ou firmware)

Interpréteur de commandes > Kernel > Matériel

CLI = Command Line Interface

Console, Secure Shell, telnet, voire port aux (connexion téléphonique)

SecureCRT (minicom c’est mieux?)

Modes de configuration :

On passe en mode de configuration globale en faisant conf t, et après on a une invite Switch(config)#. Ensuite on a plusieurs sous-modes de config : configuration de ligne (line …) pour configurer les accès console, SSH, telnet, etc avec invite Switch(config-line)#
Et la configuration d’interface (interface …) avec invite Switch(config-if)#.

Avec enable, on passe en mode d’exécution priviligié (ou mode actif).

Pour sortir d’un sous-mode on peut utiliser ctrl+z

Dans la CLI :

-tab : autocomplétion
-ctrl + D : efface le caractère à l’emplacement du curseur
-ctrl + K : efface tout du curseur à la fin de la ligne
-esc +D : Efface tout du curseur à la fin du mot

ctrl + c quitte un mode de conf vers exec ou exec vers invite
ctrl + z quiite la conf vers exec privilégiée
ctrl + maj + 6 stoppe requêtes DNS et pings.

Mettre un mdp sur mode privilégié:

R1#

R1#en

R1#enable

R1#conf t

Enter configuration commands, one per line. End with CNTL/Z.

R1(config)#enab

R1(config)#enable secre

R1(config)#enable secret Prevert77

R1(config)#exit

Mon prochain enable me demandera un mdp

MDP sur mode utilisateur :

R1#conf t

Enter configuration commands, one per line. End with CNTL/Z.

R1(config)#line c

R1(config)#line console 0

R1(config-line)#passwo

R1(config-line)#password Prevert77

R1(config-line)#login

R1(config-line)#exit

On me demandera un mdp lors de l’accès via console.

MDP sur les lignes de terminal virtuel (SSH, telnet) :

R1(config)#line vty 0 15

R1(config-line)#passwo

R1(config-line)#password Prevert77

R1(config-line)#login

R1(config-line)#exit

Le MDP sera demandé lors du prochain accès en ligne.

Chiffrer les MDP :

R1(config)#service password-encryption

R1(config)#exit

verifier la running-config me montre que les MDP sont chiffrés

Bannières :

R1(config)#banner motd "Bienvenue! Soyez gentils!"

Enregistrer :

R1#copy run start

Destination filename [startup-config]?

Building configuration...

[OK]

On peut aussi recharger la running avec reload. On peut aussi tout supprimer avec erase startup-config, pour ensuite reload.

Pour capturer une conf, il faut juste enregistrer le résultat d’un sh run ou sh start dans un fichier texte.


 

SVI : interface de commutateur virtuelle, généralement sur VLAN 1 ; elle a une IP qui ne sert que à configurer le switch. Pour configurer telnet de a à z :

Switch#conf terminal

Switch(config)#username admin secret bonjour

On crée l’utilisateur admin.

Switch(config)#enable secret bonjour

On déclare le mot de passe système. (pour enable)

Switch(config)#line vty 0 4

On rentre dans le menu Telnet.

Switch(config-line)#login local

On demande à Telnet d’utiliser les utilisateurs local, enregistré sur le Switch/Routeur.

Switch(config-line)#password bonjour

On déclare le mot de passe Telnet.


 

  1. Chapitre 3 Protocoles et communications Réseau

Communication : Chez les humains, on a plusieurs méthodes de communication. On a une source du msg, un émetteur, un support de transmission ou canal, un destinataire, et une destination du message.
A va penser à une idée, l’émttre en parlant, le son voyage dans l’air, B entend et comprend l’idée. Avant de parler, les personnes doivent être d’accord sur le moyen de communiquer. Ensuite il faut une langue commune. Chacune de ces tâches décrit les protocoles.


 

Règles : Les personnes doivent avoir des règles communes pour communiquer entre elles. Ces règles régissent la communication entre les hommes et doivent être suivies si l’on veut être compris. règle = protocole. Les protocoles doivent prendre en compte l’identification de l’expéditeur et du destinataire, l’utilisation d’une langue et d’une syntaxe commune, la vitesse d’élocution, la demande de confirmation ou de QSL.

Codage : On code un message avant de l’envoyer. Le codage est le processus de conversion de l’information à des fins de transmission. Le décodage c’est l’inverse. Chez l’humain, je code quand je traduis une idée en mots, je parle, et l’autre décode en comprenant mes mots et ce qu’ils signifient.

Format et encapsulation des messages : Un message envoyé doit suivre un certain format ou structure. Le format dépend du message et du type de canal utilisé. Par exemple pour une lettre, on aura un format : identification du destinataire - salutations - contenu - phrase de conclusion - expéditeur. De même la lettre est mise dans une enveloppe : c’est l’encapsulation. Les messages informatiques sont encapsulés, eux aussi. Chaque message est encapsulé dans une trame avant d’être transmis sur le réseau, avec les adresses source/dest et un indicateur de fin de trame.

Taille des messages : Les gens découpent leurs messages en phrases, limitées en taille. Les ordinateurs découpent eux aussi leurs messages en plusieurs trames, découpées de façon précise, selon les protocoles et les canaux. L’émetteur doit découper les msg en parties ni trop longues ni trop courtes, chaque trames ayant son propre adressage. Le destinataire recompose le message.

Méthode d’accès : Détermine le moment où un individu peut envoyer un msg. Si deux individus parlent en même temps, on a une collision d’informations.

Contrôle de flux : La synchronisation affecte aussi la qté d’infos à envoyer et leur vitesse de livraison. Les hôtes d’un rzo utilisent des méthodes de ctrl de flux pour négocier une synchro correcte.

Délai d’attente de réponse : les hôtes du rzo ont des règles quant au délai d’attente et à l’action à faire en cas d’absence de réponse.

Option de remise des messages : On peut vouloir communiquer en monodiffusion, multidiffusion ou diffusion (broadcast). De même, on peut demander un QSL ou non.

Règles qui régissent les communications : Un groupe de protocoles nécessaires pour communiquer est une suite de protocoles. Ils sont mis en œuvre par les hôtes, et périphs réseaux, le matériel… On a ici le concept de pile avec des couches (de haut en bas données - protocoles de conv, couche physique) comme dans la pile TCP/IP.

Protocoles Réseau : Contrairement aux gens, le réseau a besoin de protocoles ayant des exigences et interactions précises. Les protocoles réseau définissent un format et un ensemble communs de règles d’échange des messages. Les plus courants sont HTTP, TCP et IP (4 et 6). On a des protocoles pour le format ou la structure des messages, le partage des infos relatives aux chemins entre périphs réseau et réseaux, le mode de transmission des messages d’erreur, l’initialisation et la fin des sessions de transferts de données.

Interaction des protocoles :

Exemple :

Couche Application : HTTP
Couche Transport : TCP (divise le msg en segments, gère leur taille et débit)
Couche Internet : IP (prend les segments et en fait des paquets avec l’adressage IP)
Accès Réseau:Ethernet (gère la communication sur une liaison de données ainsi que la transmission physique sur le support).

Suite de protocoles et normes de l’industrie :

Une suite de protocoles peut être une norme ou un standard. Par exemple on a la suite de protocoles TCP/IP qui va des couches 2 à 4, mais on aussi la suite Iso, la suite AppleTalk, la suite Novell… La couche 1 a ses propres protocoles : Ethernet, PPP, frame Relay, ATM, WLAN… Ici on se concentre sur TCP/IP. Il a été développé à partir d’ARPANET, et d’autre protocoles comme DNS s’y sont rajoutés.

Résumé des protocoles par couche :


APPLICATION : DNS (nom du système), BOOTP (Boot sur le réseau), DHCP (adressage), SMTP / POP / IMAP (messagerie), FTP/TFTP (transfert de fichiers avec et sans connection), HTTP (web).

TRANSPORT : TCP et UDP

INTERNET : IP (mise des segments en paquets avec @), NAT (conversion d’@ ip), ICMP (signalement d’erreurs de transmission), OSPF (Routage : Routage à état de lien, Conception hiérarchique basée sur des zones, routage intérieur de norme ouverte), EIGRP (Routage : protocole Cisco, avec une métrique tenant compte de BP, délai, charge, fiabilité).

ACCES RESEAU : ARP (mappage MAC - IP), PPP (encapsulation pour transmission sur connexion en série), Ethernet (Définit règles de câblage et signalisation), Pilotes d’interface (Fournit à l’ordi des instructions pour contrôler une interface déterminée sur un périph réseau).

Ma page internet est récupérée (données) et recoit une en-tête HTTP, reçoit des infos TCP (contrôle de flux…), puis IP (adressage), puis ethernet (urgence, etc). Le client désencapsule.

Les normes sont ouvertes et sont gérées par des organismes de normalisation (IEEE, ICANN, IANA, ITU, TIA, IETF…).

Normes Internet : Les organismes veulent développer des normes ouvertes. ISOC : promotion d’internet libre ; IAB:gestion/dvpt des normes internet ; IETF:gère TCP/IP et technos internet ; IRTF:Recherche à long terme sur TCP/IP, not. crypto, p2p, sécurité… ; ICANN : Attribution des @ IP, noms de domaines etc ; IANA : Supervise l’attribution des IP, noms de domaine et numéro de port pour l’ICANN.

L’IEEE (Institute of Electrical and Electronics Enginneers) crée des normes et innove dans de nombreux domains (les normes 802, c’est eux).

  • 802.1 : groupe de travail sur les protocoles LAN de couche supérieure
  • 802.3 : groupe de travail sur Ethernet
  • 802.11 : groupe de travail sur les LAN sans fil
  • 802.15 : groupe de travail sur les réseaux personnels sans fil (WPAN)
  • 802.16 : groupe de travail sur les réseaux métropolitains à liaison sans fil
  • 802.18 : groupe consultatif technique de contrôle radio
  • 802.19 : groupe de travail sur la coexistence des réseaux sans fil
  • 802.21 : groupe de travail sur les services MIH (Media Independent Handover)
  • 802.22 : groupe de travail sur les réseaux régionaux sans fil
  • 802.24 : groupe consultatif technique sur les réseaux intelligents

L’EIA est une alliance commerciale connue pour ses normes sur le câblage, connecteurs et racks 19 pouces. La TIA est resp. de normes de communication dans des domaines comme l’eqt radio, les tours gsm, la VOIP, le sat. Enfin l’ITU-T (un des plus vieux organisme de normalisation) gère des normes de compression vidéo, de télévision sur IP, et de communicaiton haut débit comme DSL.

L’utilisation d’un modèle en couches a des avantages : aide à concevoir des protocoles, encourager la concurrence, éviter que des changements sur uen couche ne se répercutent sur les autres, founit un langage commun. Le modèle DOD est un modèle de protocole car il suit la structure d’une suite de protocoles (TCP/IP). OSI est un modèle de référence car il assure la cohésion de tous les types de protocoles sans indiquer leur mise en œuvre ; mais aussi c’est un modèle pour la suite de protocole OSI.

cf les fonctions de chaque couche des deux modèles. Ils diffèrent par leur structure et la relation entre leurs couches respectives.

La segmentation sert avant tout à permettre le multiplexage : Si j’envoyais toute ma donnée en une seule longue trame, le réseau serait complètement pris pendant ce temps là. La segmentation augmente l’efficacité du réseau.

PDU (Protocol Data Unit) est l’unité de mesure des informations échangées dans un réseau informatique : bit, trame, paquet, segment, données (de bas en haut du modèle OSI) pour le modèle OSI ou DOD.

La couche réseau gère les @IP, la couche liaison de données gère les adresses MAC. A chaque passage d’un routeur celui-ci remplace l’en tête de couche 2 OSI en remplacant les @ MAC par la sienne et celle du prochain routeur. La trame contient aussi une queue de bande qu’on verra plus tard.

L’adresse MAC de dest d’un paquet que j’envoie sur le réseau est celle du périph final si celui-ci est dans le même réseau ; sinon elle est celle du routeur de sortie.

Chapitre 4 Accès Réseau

La couche liaison de données et la couche physique du modèle OSI sont étroitement liées, si bien qu'elles ne forment qu'une seule couche dans le modèle TCP/IP.

Couche Physique

Connexion câblée ou sans fil.

Box = routeur à servies intégrés (ISR).

Le cuivre utilise des variations de signaux électriques, la fibre des impulsions lumineuses, et le wifi des ondes hyperfréquences (> 1 GHz). Tous ces aspects sont normalisés : si les couches 2 à 7 sont normalisées par IETF, la couche 1 est normalisée par ISO, EIA, UIT-T, ANSI, IEEE... On distingue composant actif/passif ainsi que composant physique (supports, connecteurs...) de composant matériel (NIC, interface...).

Le codage en ligne est la méthode qui permet de transformer un flux de bits en un code sur le signal électrique ou lumineux (comme la codage Manchester). On utilise de la FM ou de l'AM.

La bande passante est exprimée en bits par seconde; c'est la capacité d'un support à transporter des données. Elle dépend du support et de la technologie employée. Le débit est la mesure du transfert de bits sur un support pendant une période donnée : La bande passante est toujours la même (1 Gigabit/seconde par ex) alors que le débit peut varier (selon l'encombrement, etc). Le débit applicatif est la quantité de données utilisables transférées sur une période (càd débit total - encapsulation, accusés de réception...).

Interférences : sur un support en cuivre, si le signal numérique pur n'est constitué que d'une onde carrée, des interférences peuvent venir le déformer : le récepteur recoit alors un signal modifié. Les interférences augmentent avec la distance (elle viennent des interférences radioélectriques ou électromagnétiques, voire de la diaphonie quand plusieurs supports sont proches et irradient les uns sur les autres). Le blindage et la mise à la terre peuvent aider contre les interférences. On distingue les câbles ethernet non blindés (UTP) des câbles blindés (STP). Les torsades servent à diminuer les interférences par annulation : chaque câble de la torsade émet une onde inverse de l'autre.

Catégories de câbles UTP :

  • Catégorie 3 : Utilisé pour les coms vocales et ligne téléphoniques (4 paires non torsadées)
  • Catégorie 5/5e : Utilisés pour la transmission de données (5 : 100Mégas, 5e 1Giga de préférence). Paires Torsadées
  • Chaque paire est séparée des autres avec une gaine séparatrice, va jusqu'à 10 Gigabits mais ce n'est pas recommandé.

<img src="/mediawiki/images/7/7b/RJ45.jpg" _fck_mw_filename="RJ45.jpg" width="413" height="345" _fck_mw_origimgwidth="1000" _fck_mw_origimgheight="1000" alt="Brochage RJ45" title="Brochage RJ45" style="vertical-align:middle;" />

 

 

Fibre Optique : La fibre Optique résiste au parasitage, sa principale faiblesse étant sa fragilité. Il y'en a deux types:

  • Monomode : le coeur en verre de 9 microns n'offre qu'un seul chemin lumineux, avec laser
  • Multimode: le coeur en verre de 50 microns offre plusieurs chemins lumineux, avec LED

La fibre mono permet des communications sur de plus longues distances, la fibre multimode provoquant plus de dispersion; mais le laser de la fibre mono coûte cher. La fibre emploie plusieurs types de connecteurs :

<img src="/mediawiki/images/0/0e/Fo.jpg" _fck_mw_filename="Fo.jpg" _fck_mw_origimgwidth="360" _fck_mw_origimgheight="245" alt="RTENOTITLE" title="RTENOTITLE" style="vertical-align:middle;" />Il faut faire attention à ce que les connecteurs soient bien branchés et que la connexion ne soit pas perturbée par de la poussière.

Supports sans fil:

La technologie sans fil a pour contraintes:

  • La zone de couverture
  • Les interférences
  • La sécurité
  • Le support partagé (ils ne fonctionnent qu'en "half-dupex").

Les trois normes les plus employées sont:

  • Le wifi 802.11
  • Le wi max 802.16
  • Le bluetooth 802.15

Couche liaison de données

Couche 2 du modèle OSI, elle a pour rôle:

 

  •     de permettre aux couches supérieures d'accéder aux supports.
  •     d'accepter les paquets de couche 3 et de les encapsuler dans des trames.
  •     de préparer les données du réseau pour le réseau physique.
  •     de contrôler la manière dont les données sont placées et reçues sur le support.
  •     d'échanger des trames entre les nœuds via le support d'un réseau physique, comme un câble UTP ou à fibre optique.
  •     de recevoir et d'acheminer les paquets vers un protocole de couche supérieure.
  •     de détecter les erreurs

La notation de couche 2 d'un périphérique réseau connecté à un support commun est le terme "noeud". Cette couche est divisée en deux sous-couches :

  • La couche Logical Link Control, couche supérieure qui communique avec la couche 3. Elle place dans la trame les informations permettant d'indiquer le protocole de couche 3 utilisé; dans le but de permettre à plusieurs protocoles de couche 3 (ipv4, v6) d'utiliser la même interface, les mêmes supports.
  • La couche d'accès au support MAC: Elle définit les processus d'accès au support exécutés par le matériel. Elle fournit une couche liaison de données qui traite les différentes technologies réseau. Les protocoles de couche liaison de données, gérées par la couche d'accès au support, incluent : Ethernet, 802.11, PPP, HDLC, Frame Relay...

La couche 2 gère la méthode de contrôle d'accès au support : c'est-à-dire la façon dont la trame est constituée en fonction du support de transmission (ethernet, wifi...). La trame est désencapsulée/réencapsulée à chaque passage de routeur. De plus la couche d'accès au support gère la façon dont les trames sont envoyées sur le support, en fonction de la topologie logique du réseau (on distingue ici les topologies point-à-point, maillées complètes, en étoile...).

Une topologie réseau partageant un seul support avec plusieurs périphériques est appellée réseau à accès multiple (comme avec un hub, par exemple). Le réseau fonctionne alors en half-duplex, chaque noeud ayant une gestion des conflits (CSMA-CD) et parlant chacun son tour ; c'était aussi le cas avec token ring. De nos jours les commutateurs fonctionnent par défaut en full-duplex.  En ce qui concerne le wifi 802.11, on utilise un équivalent de CSMA-CD appellé CSMA-CA (Carrier Sense Multiple Acces with Collision Avoidance), qui ne détecte pas les collisions mais les évite d'une autre façon : chaque noeud qui transmet tient compte du temps dont il a besoin, les autres noeuds étant informés et le laissant faire.

Si toutes les trames comporte un en-tête, des données et une queue de bande, toutes les en-têtes / queues de bande ne sont pas identiques et elles dépendent des supports utilisés : on utilisera plus ou moins d'informations de contrôle.

Chapitre 5 Ethernet

Ethernet prend place à la couche 2. La couche 2 est divisée en deux parties :

  • La couche LLC (ou Logical Link Control) qui gère la communication avec la couche réseau située au dessus. Elle ajoute au paquet des informations de contrôle pour faciliter la transmission. Cette couche se fait au niveau logiciel (via le driver de la carte réseau, en quelque sorte).
  • La couche MAC situé sur le matériel met en oeuvre les spécifications des normes 802.3 (les normes pour Ethernet).

NB : Tout ça n'est valable que pour une trame au format 802.3 (et pas Ethernet 2).

Sous couche MAC

Cette couche a deux fonctions : encapsuler les données et contrôler l'accès au support. L'encapsulation a trois fonctions de base :

  • délimiter les trames (pour identifier les bits qui contituent une trame)
  • l'adressage : la trame contient déjà le paquet avec l'adresse IP, mais ajoute à ça l'adresse MAC
  • La détection des erreurs : avec le checksum en fin de trame.

 

L'accès au support : celui-ci gère le placement des trames sur les supports ainsi que leur suppression. La sous-couche MAC communique directement avec la couche physique, et gère également tout ce qui est CSMA/CD.

Les adresses MAC peuvent être de monodiffusion, de broadcast (ff:ff:ff:ff:ff:ff), ou de multidiffusion : elle est alors associée à une ip de destination sous le format "adresse de diffusion" (de 224.0.0.0 à 239.255.255.255, un résumé des adresses réservées est disponible <a href="https://en.wikipedia.org/wiki/Multicast_address" alt="https://en.wikipedia.org/wiki/Multicast_address" title="https://en.wikipedia.org/wiki/Multicast_address">https://en.wikipedia.org/wiki/Multicast_address</a>); une adresse MAC de multidiffusion a un format spécial (voir <a href="Media%3AEthernet">Media:Ethernet</a>) et commence par 01. Les commutateurs ne font en général pas la distinction entre multicast et broadcast : ce sont les ordinateurs qui le font, en fonction de l'adresse IP.

Commutateurs

Un commutateur établit une table MAC/Port en observant les adresses MAC sources des paquets qu'il recoit sur chacune de ses interfaces réseau. Il envoie ensuite le paquet à l'adresse MAC de destination. Si le commutateur recoit plusieurs adresses MAC sur un même port (ce qui est le cas lorsque plusieurs commutateurs sont branchés en cascade, par exemple), il peut associer un seul port à plusieurs adresses MAC. De la même façon, si le commutateur n'as pas l'adresse de destination dans sa table, il va envoyer la trame sur tous ses ports et le correspondant pourra répondre à son tour. Il faut noter que le switch ne note dans sa table que les adresses MAC source, malgré les demandes qu'il pourrait envoyer concernant les adresses MAC de destination.

Si un ordinateur envoie une trame vers internet, l'adresse MAC de destination dans la trame sera évidemment celle de la passerelle par défaut.

Méthodes de transmission de paquets

On a deux types de méthodes : le store-and-forward, et le cut-through.

  • Store-and-Forward : Le switch reçoit toute la trame, vérifie le CRC et recherche l'adresse de destination si celui-ci est valide. Il achemine ensuite le paquet.
  • Cut-Through : Le switch achemine la trame avant qu'elle ne soit entièrement reçue : il n'attend que l'adresse de destination.

Le commutation cut-through a deux variantes:

  • Le Fast-Forward : niveau de latence le plus faible. On transmet le paquet dès la lecture de l'adresse de destination. C'est le cut-through classique. La latence est mesurée entre le premier et le dernier bit. Le switch peut transmettre des erreurs, auquel cas la NIC destinataire s'en chargera.
  • Le Fragment-Free : Le switch stocke les 64 premiers octets avant de transmettre la trame. c'est un compromis entre Cut-Through et Store-and-Forward. Ce sont sur ces 64 premiers octets que les erreurs ont souvent lieu : le switch y fait un petit contrôle d'erreurs.

On peut régler par port le fait de commencer en cut-through et de passer en store-and-forward après un certain nombres d'erreurs; une fois qu'on retombe sous ce seuil on repasse en cut-through.

Mise en mémoire tampon

Un switch peut mettre en mémoire tampon des trames avant de les transférer, ce qui peut être une solution en cas d'encombrement par exemple. On a deux types de mise en mémoire tampon:

  • Axée sur les ports : Les trames sont stockées dans des files relatives à des ports entrants et sortants spécifiques. Une seule trame peut retarder toutes les autres qui sont derrière elle dans la file.
  • Mémoire partagée : Stocke toutes les trames dans une mémoire commune à tous les ports du commutateur. On a pas besoin de déplacer des trames dans des files d'attente. Le commutateur tient à jour une carte de liaison entre une trame et un port, qui dit vers quel port le paquet doit être acheminé. Le nombre de trames stockées dans la mémoire ne se limite pas à un seul tampon du port, ce qui permet de transmettre de plus grandes trames sans trop en supprimer; c'est important dans la commutation asymétrique, dans laquelle différents ports ont différents débits de données.

Paramètres de mode duplex et débit

Paramètres relatifs à chaque port qui sont fondamentaux. On a le half-duplex et le full-duplex. La négociation automatique consiste à échanger des informations sur débit et duplex entre deux périphériques pour qu'ils puissent choisir la meilleure option. On choisit le full-duplex si les deux périphériques sont compatibles. C'est général l'option par défaut.

L'un des problèmes courants sur du 10/100BASE-T est quand les deux périphériques n'utilisent pas le même duplex, souvent après réinitialisation de l'un des deux : la négociation automatique doit être activée ou désactivée des deux côtés, et les ports bien configurés. 

Auto-MDIX

Outre le duplex il faut définir le bon type de câble en fonction du support (câble droit ou croisé). La plupart des switches prennent en charge la configuration d'interface MDIX auto, c'est-à-dire la configuration auto-MDIX, qui détermine automatiquement si le câble utilisé est droit ou croisé. Elle est activée sur les switches qui utilisent la version 12.2 ou supérieure de Cisco IOS.

Protocole ARP:

Voir <a href="Protocoles">Protocoles</a>

Pour voir la table ARP sur du matériel Cisco :

show ip arp

Chapitre 6 Couche réseau

Couche 3 du modèle OSI.

Pour permettre aux périphériques de transmettre des informations sur tout le réseau, la couche 3 utilise quatre processsus de base:

  • L'adressage des périphériques finaux : avec une adresse IP unique
  • L'encapsulation : met un segment dans un paquet
  • Le routage : la couche réseau fournit les services permettant de transmettre les paquets à travers le réseau; chaque routeur intermédiaire est appellé un tronçon
  • Désencapsulation : À l'arrivée on vérifie l'IP et on transfère le paquet à la couche transport

Les deux protocoles de la couche réseau sont ipv4 et ipv6.

Encapsulation IP

Le protocole IP encapsule le PDU de la couche transport en ajoutant un en-tête IP, lequel reste le même entre le moment ou le paquet quitte la source et le moment où il arrive à destination; dans tous les cas la partie données reste inchangée.

Le protocole IP est conçu pour ne pas surcharger les réseaux. Il ne gère pas le suivi et la gestion du flux, ces fonctions étant prises en charge par d'autres couches; il ne se charge que du routage. Il a les caractéristiques suivantes :

  • Sans connexion : pas de connexion préalable à l'envoi de données
  • Acheminement au mieux : La livraison n'est pas garantie, ni l'ordre d'arrivée
  • Indépendant du support : sauf pour la MTU (Taille maximale d'un paquet), établie en communiquant avec la couche 2; un routeur intermédiaire doit parfois scinder un paquet (c'est la fragmentation).

Attention : ne pas confondre IP avec d'autres protocoles qui pourraient prendre en charge ce genre de choses (TCP, UDP...).

En-tête IPV4

RTENOTITLE

NB: Ce genre de schémas se lit de gauche à droite et de haut en bas; l'en tête est représentée "empilée" même si elle ne l'est pas en réalité. Seuls les 20 premiers octets sont traités dans le chapitre de Cisco.

Explication de certains champs:

  • Version : 4 bits qui indiquent la version IP (0100 pour ipv4)
  • DS : Contient DSCP (Services différenciés ou DiffServ: anciennement champ de type de service) et ECN. Ce champ de 8bits définit la priorité de chaque paquet. 6 pour DSCP (Differenciated Services Code Point) et 2 pour ECN (Explicit Congestion Notification)
  • TTL (Time To live): 8 bits déterminant le temps à vivre du paquet : chaque routeur traversé enlève un point, et une fois à 0 le routeur abandonne le paquet et envoie un message ICMP de dépassement de délai; le TTL est déterminé par l'émetteur.
  • Protocole: Identifier le prochain protocole de niveau: ces 8 bits indiquent le protocole de couche supérieure approprié (TCP, UDP, ICMP)
  • Ip source et dest font chacun 32 bits, évidemment.
  • Les champs IHL (Longueur d'en-tête Internet), Total length et Header Checksum permettent d'identifier et valider le paquet
  • D'autres champs servent à réassembler un paquet fragmenté, notamment Identification, indictauers et décalage du fragment pour garder un trace des paquets fragmentés.
  • Les champs options et padding (remplissage ou bourrage) sont rarement utilisés.

 

Les problèmes d'IPv4

IPv4 a différents problèmes qui amènent à son abandon:

  • Le manque d'adresses dispo : environ 4 milliards d'adresses disponibles
  • La croissance de la table de routage : les routeurs internet utilisent beaucoup de ressources matérielles à cause du nombre de routes internet en constante augmentation
  • Le manque de connectivité de bout en bout : à cause de NAT

 

Présentation d'IPv6

L'IETF commence au début des années 90 à se pencher sur le problème. IPv6 a plusieurs avantages:

  • Un plus grand espace d'adressage : 340 undécillions d'adresses (10³⁶)
  • Traitement simplifié des paquets : l'en-tête est plus simple
  • Plus besoin de NAT du coup, ce qui favorise le bout-en-bout
  • Davantage de données utiles pour un meilleur transport et débit
  • Architecture réseau hiérarchique pour simplifier le routage
  • Autoconfiguration des adresses

En-tête IPv6

RTENOTITLE

Certains champs ont été conservés et d'autres ont changé de nom ou de position (Traffic class, Payload length, Next header, hop limit), et flow label est apparu. Liste des champs:

  • Version : contient 0110 pour IPv6
  • Classe de traffic : 8 bits équivalents au champ de services différenciés IPv4
  • Etiquetage de flux : 20 bits indiquant que tous les paquets portant la même étiquette de flux doivent être traités de la même façon par tous les routeurs
  • Longueur des données utiles : 16 bits indiquant la longueur de données utiles de IPv6 (sans le bourrage?)
  • En-tête suivant : 8 bits équivalents au champ de protocoles de IPv6
  • Limite du nombre de tronçons : 8 bits qui remplacent le TTL, fonctionne de la même façon, un paquet abandonné provoque l'envoi d'un message ICMPv6
  • Les adresses source et destination qui sont plus longues qu'en IPv4

Les routeurs ne fragmentent pas les paquets IPv6 routés. Cependant un paquet IPv6 peut contenir des champs facultatifs situés entre l'en-tête et les données utiles.

Décisions relatives aux transmissions entre les hôtes

La couche réseau est responsable de diriger les paquets entre les hôtes. Un hôte peut envoyer un paquet à lui-même, un hôte local, ou un hôte distant. Pour savoir si un hôte est local ou distant, on utilise la combinaison masque de sous-réseau / adresse réseau. Si il est distant, on utilise la passerelle par défaut : elle achemine le trafic vers d'autres réseaux, possède une IP située dans le réseau local, et peut recevoir ou transmettre des données. La table de routage d'un hôte contient généralement l'adresse de la passerelle par défaut.

Table de routage

La commande netstat -r permet de voir la table de routage d'un hôte. Elle liste les interfaces de l'hôte avec leurs adresses MAC, la table de routage IPv4, et la table de routage IPv6.

Décisions du routeur pour la transmission de paquets

Un hôte qui envoie un paquet sur un réseau distant regarde sa table de routage et envoie le paquet à la passerelle par défaut. Lorsque le paquet arrive sur le routeur, il consulte sa table de routage pour déterminer la route à suivre. La table de routage d'un routeur peut stocker des informations sur:

  • Les routes directement connectées : elles viennent des interfaces actives du routeur
  • Les routes distantes: les routes correspondant à d'autres routeurs, soit configurées par l'admin soit configurées dynamiquement
  • La route par défaut : utilisée en dernier recours, si le routeur n'as pas d'autre route à employer.

Sur un routeur Cisco, la table de routage est affichée avec la commande show ip route. Elle contient en plus des routes des informations sur celles-co, avec la façon dont elle a été découverte, la fiabilité, le classement et la date de dernière màj. Ainsi lorsqu'un paquet arrive sur le routeur celui-ci examine son en-tête et sa table de routage pour déterminer le réseau de destination et la route à prendre. Lorsqu'une adresse IPv4 et un masque sont configurés sur les deux interfaces d'un routeur, deux entrées apparaissent automatiquement, avec les caracs suivantes:

  • C pour réseau conncté directement ou L pour interface locale
  • l'adresse réseau de destination
  • L'interface de sortie
  • PAS d'adresse de tronçon suivant, ce qui est logique

À l'inverse, une entrée concernant un réseau distant contiendra une entrée du type :

  • L'origine de la route : D pour EIGRP, S pour statique, O pour OSPF
  • Le réseau de destination
  • La fiabilité de la route (moins = mieux)
  • La métrique, soit la valeur de "préférence" de la route (moins = mieux)
  • via
  • Ip du prochain routeur
  • à quel moment le routeur a été entendu pour la dernière fois
  • L'interface (locale)  de sortie

Un paquet destiné à un réseau inconnu sera envoyé soit à la route par défaut, soit il sera abandonné si aucune route par défaut n'est déterminée.

Un routeur est un ordinateur

Il existe différents types de routeurs :

-Les routeurs à services intégrés, pour les petites entreprises et les particuliers (gamme Cisco ISR G2)
-Les routeurs WAN pour les grandes entreprises et organisations (Cisco Analyst et Cisco ASR)
-Les routeurs pour fournisseurs de services, opérateurs télécoms... Gammes Cisco ASR, CRS-3, gamme 7600

La certification CCNA se concentrent sur les premiers. Tout comme un ordi, un routeur a un OS (Cisco IOS), un CPU, de la RAM, de la ROM, et de la mémoire vive non-volatile ou NVRAM, et de la mémoire flash.

NB fm wikipédia : "Une mémoire RAM non volatile est une mémoire informatique qui est à la fois une mémoire RAM (qui permet l'accès direct à ses composantes) et une mémoire non volatile (qui ne perd pas son information lorsque l'alimentation électrique est interrompue). "

La RAM contient:
-IOS en cours d'exécution
-Table de routage
-Table ARP
-Fichier de conf en cours
-Mémoire tampon de paquets

La NVRAM contient le fichier de configuration initiale.
La mémoire Flash contient les fichiers d'IOS
La ROM contient POST : Le micrologiciel de contrôle de la mémoire morte (IOS limité)

RTENOTITLE

 

Connexion à un routeur

Panneau arrière d'un cisco 1941:

RTENOTITLE

Les slots EHWIC ou HWIC peuvent acceuillir des cartes d'interface haut débit (ce sont les trois gros slots dont il faut faire "sauter" la plaque pour les utiliser). En dessous, deux petits slots de mémoire compacte flash. On voit aussi les ports console, etc...

Les connexions sur un routeur Cisco peuvent être regroupées en deux catégories : Les interfaces de routeur intrabandes (ports EHWIC et RJ45 utilisées pour relier le routeur au réseau, ports série pour relier à un WAN externe) et les ports de gestion (console, aux, et les ports de gestion qui peuvent être en RJ45 mais ne servent pas à transmettre du trafic). Attention, les connexion SSH et Telnet nécessitent une connexion intrabande, ce qui veut dire que le routeur doit être "dans le réseau".

Lors du démarrage d'un routeur...

Différents fichiers sont copiés vers la RAM:

CiscoBoot.png

Le processus de démarrage d'un routeur est le suivant:

  • Exécution du test POST : POST est chargé depuis la ROM et effectue ses tests sur le matériel. Ensuite, BootStrap est chargé depuis la ROM, localise IOS eet commence à démarrer (du texte arrive à l'écran).
  • Localisation et chargement de IOS : IOS est chargé depuis la mémoire flash ou le serveur TFTP et commence à démarrer. Si IOS est introuvable, une version limitée est chargée depuis la ROM pour dépannage.
  • Localisation et chargement du fichier de configuration : Bootstrap copie ensuite le fichier de configuratoin de démarrage depuis la NVRAM vers la RAM. Il peut aussi être chargé depuis un serveur TFTP, et si il n'y en a pas le routeur affiche une invite de configuration.

Afficher des infos sur la version de Cisco IOS utilisée

switch#show version
Cisco IOS Software, 3600 Software (C3660-JK9O3S-M), Version 12.4(25d), RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Wed 18-Aug-10 07:31 by prod_rel_team

ROM: ROMMON Emulation Microcode
ROM: 3600 Software (C3660-JK9O3S-M), Version 12.4(25d), RELEASE SOFTWARE (fc1)

switch uptime is 0 minutes
System returned to ROM by unknown reload cause - suspect boot_data[BOOT_COUNT] 0x0, BOOT_COUNT 0, BOOTDATA 19
System image file is "tftp://255.255.255.255/unknown"

[...]

Cisco 3660 (R527x) processor (revision 1.0) with 187392K/9216K bytes of memory.
Processor board ID FTX0945W0MY
R527x CPU at 250MHz, Implementation 40, Rev 1.2, 512KB L2 Cache


3660 Chassis type: ENTERPRISE
18 FastEthernet interfaces
DRAM configuration is 64 bits wide with parity enabled.
253K bytes of NVRAM.
8192K bytes of processor board System flash (Read/Write)

Configuration register is 0x2102

 

 

Configuration de base d'un routeur

Configurer le nom du périphérique
     hostname nom

Sécuriser le mode d'exécution utilisateur
     line console 0
     password mot de passe
     login

Sécuriser l'accès SSH / Telnet à distance
     line vty 0 15
     password mot de passe
     login

Sécuriser le mode d'exécution privilégié
     enable secret mot de passe

Sécuriser tous les mots de passe dans le fichier de configuration
     service password-encryption

Fournir un avertissement juridique
     banner motd délimiteur (#) message délimiteur

Configurer l'interface SVI de gestion
     interface vlan 1
     ip address adresse ip masque de sous-réseau
     no shutdown

Enregistrez la configuration
     copy running-config startup-config

Configuration d'une interface

Configurer l'interface
     interface type et numéro
     description  texte descriptif
     ip address adresse ipv4 masque de sous-réseau
     no shutdown

 Informations sur les interfaces

show ip interface brief  # Donnes des infos sur toutes mes interfaces et leur connexions, on peut enlever le brief
show interfaces # Affiches des stats sur toutes les interfaces d'un périphérique
show ip route # Affiche le contenu de la table de routage

 Attribuer une adresse de passerelle à un commutateur

interface vlan 1 #C'est la Switch Virtual interface ou SVI
ip address 192.168.0.1 255.255.255.0
ip default-gateway 192.168.1.254

Attention, cette passerelle n'est utilisée que pour les paquets venant du commutateur lui-même, lors d'une connexion à distance par exemple.

Chapitre 7 Adressage IP

Adresses IPv4

Utilise la numération binaire. La notion de numération pondérée signigfie simplement que la valeur d'un digit change en fonction de sa place dans le nombre (10⁰, 10¹, etc).

Une fois l'adresse réseau déterminée et représentée en binaire, l'ordinateur effectue une opération AND entre l'IP et le masque de sous-réseau pour déterminer l'adresse réseau.

Pour rappel, les adresses sont composées comme suit:

Premier sous-réseau:
     -Adresse Réseau (Partie hôte à 0)
     -Adresse Premier Hôte (Des 0 suivis d'un 1)
     -Adresse dernier hôte (Des 1 suivis d'un 0)
     -Adresse de diffusion (Partie hôte à 1)

Deuxième sous-réseau:
     etc...

Rappel sur le multicast IPv4 : On utilise des adresses situées entre 224.0.0.0 et 239.255.255.255 qui sont des adresses de multidiffusion réservées; le routeur ne les transmet pas. Les clients multicast font appel à des services demandés par un programme pour s'abonner à un groupe de multidiffusion. Un groupe = une adresse; un multicast est en fait un broadcast dont les récepteurs qui ne sont pas abonnés au groupe refusent les messages. Ainsi un hôte abonné à un groupe de multicast traite les données qui sont envoyés à sont adresse de monodiffusion ainsi que ceux qui sont destinés à son groupe de multicast.

Adresses Privées

Les blocs d'adresses privées sont :

  • 10.0.0.0 à 10.255.255.255
  • 172.16.0.0 à 172.31.255.255
  • 192.168.0.0 à 192.168.255.255

Elles sont définies dans la RFC 1918.

Les adresses spéciales sont:

  • Adresses de bouclage : 127.0.0.0/8 à 127.255.255.254
  • Adresses APIPA (ou locales-liens): 169.254.0.0/16 à 169.254.255.254
  • Adresses TEST-NET: 192.0.2.0/24 à 192.0.2.255 (Utilisées à des fins pédagogiques)
  • Il y'en a aussi dans le bloc 240.0.0.0 à 255.255.255.254

Les classes sont:

  • A : 0.0.0.0/8 à 127.0.0.0/8
  • B:128.0.0.0/16 à 191.255.0.0/16
  • C:192.0.0.0/24 à 223.255.255.0/24
  • D (multidiffusion): 224.0.0.0 à 239.0.0.0
  • E (Éxpérimentales): 240.0.0.0 à 255.0.0.0

Le systèmes de classes gâchant de nombreuses adresses on est passés au sans-classe (CIDR) à la fin des années 1990.

Organismes d'attribution des IP:

  • Amérique du nord : ARIN (American Registry for Internet Numbers)
  • Amérique du sud : LACNIC (Regional Latin-American and Carribean IP Adress Registry)
  • Europe, Moyen-Orient et Asie Centrale : RIPE NCC (Réseaux IP Européens)
  • Asie et Pacifique : APNIC (Asian Pacific Network Information Centre)
  • Afrique : AFRINIC (African Network Information Centre)

Ce sont les RIR, ou organismes d'enregistrement locaux. Ils sont chapeautés par l'IANA qui leur alloue des blocs d'adresses. Les RIR fournissent les FAI, mais les grosses entrepruises peuvent passer directement par les RIR.

Épuisement des adresses IPv4

IPv6 est arrivé à cause de l'épuisement des adresses IPv4; l'épuisement est déjà passé pour la plupart des RIR sauf pour Afrinic, IPv4 étant limité à 4.3 milliards d'adresses. NAT aide à limiter la casse, mais il est incompatible avec de nombreux protocoles et services notamment pour le p2p.

Coexistence IPv4 et IPv6

L'IETF a créé divers protocoles pour permettre aux deux systèmes de coexister:

  • La double-pile : Se fait sur un même segment de réseau car chaque hôte utilise deux piles réseau
  • Le tunneling : Des paquets IPv6 sont encpasulés dans des paquets IPv4 pour permettre leur acheminement dans un réseau IPv4
  • La traduction : Les périphériques IPv6 peuvent utiliser la traduction NAT64 pour communiquer avec des périphériques réseau IPv4 à l'aide d'une technique similaire à NAT. Un paquet IPv6 est traduit en IPv4 et inversement.

Tunneling et traduction ne sont utilisés que lorsque c'est nécessaire; l'objectif est de communiquer en IPv6 de manière native.

Adresse IPv6

Représentation de l'adresse IPv6

Les adresses IPv6 ont une longueur totale de 128 bits, notées en format hexadécimal. Un groupe de 4 bits est représenté par un seul caractère en hexa; ainsi deux caractère hexadécimaux représentent un octet, et 4 caractères hexadécimaux représentent 16 bits, ce que l'on appelle familièrement un hextet.

Attention : si une adresse MAC utilise 8 bits par champ, soit deux carctères hexa, soit un demi-hextet, l'adresse IPv6 utilise bel et bien un hextet par champ, soit 4 caractères hexa ou 16 bits. Ne pas confondre les deux.

Une adresse IPv6 est composé de 8 champs contenant chacun un hextet. Le format priviligié indique l'adresse IPv6 doit être écrite avec ses 8 champs au complet, même si ce n'est pas le plus rapide:

2001:0db8:85a3:0000:0000:8a2e:0370:7334

On utilise différentes règles quant à l'écriture des adresses IPv6 pour les raccourcir.

Règle 1:

On omet tous les zéros qui se trouve en début de champ (si le champ est composé uniquement de zéros, on en laisse un dans le champ):

2001: db8:85a3: 0: 0:8a2e: 370:7334

Ici, deux zéros en début de champ ont été supprimés.

Règle 2 :

On omet les champs composés uniquement de zéros en les laissant vides, en ne laissant à la place que ::

2001:db8:85a3::8a2e: 370:7334

Ici, les deux champs composés de zéros ont été omis. :: peut remplacer n'importe quelle suite de champs composés uniquement de zéros.

Attention : le :: ne DOIT être utilisé qu'UNE SEULE FOIS par adresse; autrement, on ne sait pas combien de champs ont été omis.

Une fois ces deux règles appliquées, ont parle alors d'adresses en format compressé.

Types d'adresses IPv6

Il existe trois types d'adresses IPv6:

  • Monodiffusion
  • Multidiffusion
  • Anycast: C'est une adresse de monodiffusion IPv6 qui peut être attribuée à plusieurs périphériques. Un paquet envoyé à une adresse anycast est acheminé vers le périphérique le plus proche ayant cette adresse. Les adresses anycast ne seront pas vues dans ce cours.

IPv6 n'as pas d'adresse de broadcast; cependant il une adresse de multicast destinée à tous les noeuds qui donne sensiblement le même résultat.

Composition et utilisation des adresses IPv6

Longueur de préfixe

IPv6 n'utilise pas de notation décimale à point ni même de masque de sous-réseau à proprement parler mais utilise la longueur de préfixe, comme IPv4 avec CIDR. La longueur de préfixe standard pour une adresse IPv6 est /64, soit la moitié de ses 128 bits. On a alors 64 bits pour la partie hôte, et en général on ne change pas ce préfixe car on largement assez d'espace d'adressage pour couvrir tous nos besoins.

Adresse de monodiffusion IPv6

Une adresse de monodiffusion identifie une interface de façon unique sur un réseau, comme pour IPv4. Une adresse de destination DOIT être une adresse de monodiffusion dans le cas d'IPv6; l'adresse de destination peut-être une mono ou une multi diffusion.

NB:Les adresses de diffusion les plus courantes sont les adresses de diffusion globale et les adresses de lien-local

 

[Mono]diffusion globale ou Global Unicast Adress (GUA) :

Elle est similaire à une adresses IPv4 publique : elle est unique au monde et routable sur internet. Peut être statique ou dynamique. Elles sont attribuées par les RIR, lesquels recoivent des blocs d'adresses de la part de l'ICANN. Actuellement seules des adresses commencant par les bits 001 ou 2000::/3 sont attribuées; cela veut dire que le premier chiffre d'une adresse GUA est 2 ou 3. Cela représente un 8e de l'espace d'adressage dispo, et seule une infime partie des adresses sont réservées aux autre types d'adresses.

2001:0DB8::/32 est réservée à des fins de documentation, notamment pour servir d'exemple.

Une adresse de diffusion globale est constituée de trois parties:

  • Préfixe de routage global : Partie réseau ou préfixe, attribuée en général par le FAI aux clients; en général les RIR attribuent un préfixe de routage global en /48 à tous les clients potentiels. C'est en gros l'équivalent de la partie réseau d'une adresse IPv6.
  • ID de sous-réseau: Utilisé par une entreprise pour identifier les sous-réseaux au sein de son réseau; elle fait en général 16 bits qui suivent le préfixe global, pour un préfixe réseau total de 64 bits. C'est en gros l'équivalent de la partie sous-réseau d'une adresse IPv4 utilisant VLSM.
  • ID d'interface: C'est la partie hôte, qui fait en général 64 bits. Oon dit ID d'interface car un hôte peut avoir plusieurs interface. Il est fortement recommandé qu'elle fasse 64 bits. L'adresse contenant uniquement des 1 dans sa partie ID interface est attribuable, car on utilise pas de broadcast. Celle contenant uniquement des 0 est attribuable aussi, mais elle est reservée comme adresse anycast de routeur de sous-réseau; il ne faut l'attribuer qu'à un routeur.

[--Préfixe de routage global ------][---ID de sous réseau---][------ID d'interface---------------------------]
|---------------48 bits---------------------||----------------16 bits-------||---------------------------------64 bits----------|

Il suffit donc de compter les hextets. 3 pour Le préfixe, 1 pour l'ID de sous réseau, 4 pour l'ID interface.

 

Lien-local (ou link-local):

Ces adresses sont utilisées pour communiquer avec d'autres périphériques sur la même liaison locale. Dans IPv6 le terme "link" fait référence à un sous-réseau. Ces adresses sont confinées à une seule liaison; leur caractère unique n'est confirmé que dans le cadre de cette liaison, car elle ne sont pas routable au-delà (en d'autres termes, les routeurs ne les retransmettent pas). Si elle n'est pas configurée manuellement sur une interface, elle est autoconfigurée (c'est-à-dire qu'elle est générée toute seule, sans communiquer avec un serveur DHCPv6). Cette autoconfiguration permet aux périphériques d'un réseau local de communiquer entre eux sans intervention humaine, y compris avec le routeur.

NB : En général on utilise comme adresse de passerelle par défaut l'adresse de lien-local du routeur
NB2 : Dans un réseau de plusieurs routeurs, chaque routeur peut ainsi communiquer avec le tronçon suivant en utilisant son adresse de lien local:

(X) @1 --------- @2 (X) @1 ------------@2(X) etc : Ici chaque routeur a 2 interfaces et donc 2 adresses de lien-local

Adresse Locale Unique :

C'est un autre type d'adresse de monodiffusion. Elles onnt des points communs avec les adresses IPv4 privées, mais aussi des différences. Elles ne doivent pas être routables sur le réseau IPv6 global et ne doivent pas être traduites en adresses globales (ie pas de NAT!). Elles sont comprise entre FFC00::/7 et FFDF::/7

Synthèse des adresses de monodiffusion IPv6

  • Monodiffusion globale : unique au monde
  • Link-local : confinées à un seul lien : Dans la plage FE80::/10
  • Bouclage : ::1/128
  • Adresse non spécifiée ::/128
  • Locale unique : FFC00::/7 à FFDF::/7
  • IPv4 intégrée

Configuration d'une adresse de diffusion globale sur un routeur / un périphérique

La plupart des commandes de configuration sont les mêmes que pour une adresse IPv4, sauf qu'on utilise la commande ipv6 au lieu d'ip. Exemple:

interface FastEthernet 0/1
ipv6 address 2001:db8:acad:1::1/64
no shut

Attention à ne pas oublier la longueur de préfixe.

La configuration est également similaire sur un ordinateur. L'adresse de routeur peut être une adresse de monodiffusion globale ou une adresse lien-local; les deux fonctionnent.

Cependant la configuration statique ne convient pas aux grands réseaux. On a deux façons d'obtenir une adresse de façon dynamique:

  • La configuration automatique des adresses sans état (SLAAC)
  • DHCPv6 avec état

NB : Sans état signifie que le protocole n'enregistre pas l'état d'une session; on a simplement des paires requête/réponse qui sont traitées indépendamment les unes des autres.

NB2 : Lorsque l'on utilise DHCPv6 ou SLAAC, l'adresse lien-local du routeur est automatuiquement configurée.

Configuration Dynamique ou SLAAC

Cette méthode permet à un périphérique d'obtenir le préfixe, la longueur de préfixe et l'adresse de passerelle par défaut et d'autres infos auprès d'un routeur, sans intervention d'un serveur DHCPv6. Lorsque la SLAAC est utilisée les périphériques se basent sur les messages d'annonce de routeur ICMPv6 du routeur local pour obtenir les informations nécessaires. Ces messages sont envoyés toutes les 200 secondes à tous les périphériques IPv6 du réseau; un message est également envoyé à tout hôte qui envoie un message de solicitation. Pour activer le routage IPv6 sur un routeur Cisco:

ipv6 unicast-routing

On peut configurer des adresses IPv6 sur un routeur qui n'est pas un routeur IPv6.

!: SLAAC génère des adresse de diffusion globale, pas des adresses lien-local

Le message d'annonce de routeur contient :

  • Le préfixe de réseau et sa longueur
  • l'adresse de passerelle par défaut
  • Les adresses DNS et le nom de domaine.

On a trois options de message d'annonce de routeur:

  • SLAAC: C'est l'option par défaut, où le routeur suggère d'utiliser les informations qu'il contient pour créer sa propre adresse de diffusion IPv6 sans aide d'un DHCP. Avec cette technique aucun serveur n'as de contrôle sur la distribution des adresses ni même de liste des adresses utilisées. Le préfixe du routeur est utilisé et l'ID interface est créé à l'aide de la méthode EUI-64 qui génère un nombre à 64 bits aléatoire.
  • SLAAC avec un serveur DHCPv6 sans état : si le routeur est configuré pour cette option, il suggère aux hôtes d'utiliser la SLAAC pour créer une adresse de diffusion globale; l'adresse de lien local du routeur qui est la source du message d'annonce comme adresse de passerelle par défaut; et un serveur DHCPv6 pour obtenir d'autres infos comme l'adresse du DNS et un nom de domaine.
  • DHCPv6 avec état (pas de SLAAC): cette option est similaire à DHCPv4 : un périphérique reçoit toutes ses infos d'adressage, y compris une adresse de diffusion globale la longueur de préfixe et les adresses DNS à l'aide des services d'un serveur DHCPv6 avec état. Avec cette option le message d'annoncce de routeur suggère aux hôtes d'utiliser l'adresse lien-local du routeur comme passerelle par défaut, et le DHCPv6 pour le reste.

!! L'adresse de passerelle ne peut être obtenue que de façon dynamique, à partir du message d'annonce du routeur.

 

Méthode EUI-64 et génération aléatoire

Lorsque un client utilise la SLAAC pour déterminer sons ID interface, il peut utiliser la méthode EUI-64 ou un nombre à 64 bits aléatoire.

EUI-64

Signifie Extended Unique Identifier. Ce processus utilise l'adresse MAC à 48 bits de l'interface et insère 16 autres bits au milieu de celle-ci pour obtenir un ID interface. Pour rappel, une adresse MAC est représentée en deux parties : l'OUI à 24 bits et l'identifiant de périphérique à 24 bits. Un ID interface EUI-64 comprend trois parties :

  • Le code OUI sur 24 bits, mais dont on a inversé le 7e bit (le bit Universel/Local)
  • La valeur à 16 bits FFFE intégrée
  • l'ID de périphérique de 24 bits provenant de l'adresse MAC.

Ces adresses sont donc facile à reconnaître : elle contiennent toujours FFFE en plein milieu de l'ID interface.

Nombre aléatoire

Certains OS utilisent un nombre aléatoire pluôt qu'EUI-64 pour générer l'ID interface (Windows, à partir de Vista). Pour s'assurer qu'elles sont uniques, le client utilise La DAD, ou détection d'adresses dupliquées. Il semble que Linux utilise EUI, dans le kernel version 2.6.

Adresses lien-local dynamiques

Tous les périphériques doivent avoir une adresse de lien-local. Elle peut être établie dynamiquement ou manuellement. Pour rappel son préfixe est toujours FE80::/10. Quand elle générée dynamiquement, elle l'est à l'aide d'EUI-64 ou d'un nombre aléatoire elle aussi, pour obtenir les 64 bits de l'ID interface (entre FE80 et l'ID interface, on a une série de 0 ou ::). Les OS utilisent généralement la même méthode pour la lien-local et pour une adresse de diff. globale en SLAAC.

Les routeurs Cisco créent automatiquement une adresse de lien-local dès qu'une adresse de diff. globale est attribuée à l'interface, par défaut en EUI-64. Pour les interfaces série, ils utilisent l'adresse MAC d'une interface ethernet, puisque une adresse de lien local ne doit être unique que sur sa liaison, et on peut donc avoir plusieurs fois la même lien local sur un routeur. Le défaut est le long ID d'interface, et il est d'ailleurs courant de les configurer à la main pour faciliter la mémorisation.

Configuration d'adresse lien local statique sur un routeur

interface gigabitethernet 0/0
ipv6 address fe80::1 link-local
exit
#On peut réutiliser cette adresse sur plusieurs interfaces; elle est volontairement simple: FE80::1 pour le routeur 1, FE80::2 pour le routeur 2, etc
#On peut vérifier avec:
show ipv6 interface brief
show ipv6 route
 

Le paramètre link-local doit suivre toute adresse au préfixe allant de FE80 à FEBF.

 

Adresse de multidiffusion IPv6 Attribuées

Elles sont semblables aux adresses de multidiffusion IPv4. Pour rappel, elles ne peuvent être que des destinations, jamais des sources. Les adresses de multidiffusion attribuées sont des adresses de multidiffusion réservées à des groupes ou périphériques prédéfinis. Une adresse de multidiffusion attribuée est une adresse unique utilisée pour joindre un groupe de périphériques exécutant un service ou un protocole commun. Les adresses de multidiffusion attribuées sont utilisées avec des protocoles spécifiques, tels que DHCPv6. Les deux groupes les plus courants sont:

  • FF02::1 : C'est un groupe que tous les noeuds peuvent rejoindre. Un paquet envoyé à cette adresse est traité par tous les noeuds sur la liaison. C'est à peu près la même chose qu'une adresse de broadcast en IPv4, elle est notamment utilisée par les annonces de routeur.
  • FF02::2 : C'est le groupe de multidiffusion à tous les routeurs. Un routeur devient membre de ce groupe lorsque il est utilisé en tant que routeur ipv6 avec la commande ipv6 unicast-routing. Un paquet envoyé à cette adresse est traité par tous les routeurs IPv6. Elle est utilisée par tous les noeuds souhaitant solliciter un routeur.

Adresse multidiffusion de noeud sollicité

Une telle adresse est comparable à un broadcast à tous les noeuds. Elle peut être mappée à une adresse de multidiffusion Ethernet spéciale. Cela permet à la carte réseau Ethernet de filtrer la trame en examiunant l'adresse MAC de destination sans l'envoyer au processus IPv6 pour voir si le périphérique est la cible prévue.

ICMPv4 et ICMPv6

Le service ICMP de la suite TCP/IP sert, entre autres choses, à envoyer les messages d'erreur : ils fournissent des commentaires sur les problèmes liés au traitement de paquets IP dans certaines circonstances. Ils ne sont pas obligatoire et sont parfois interdits  sur certains réseaux. Il existe en v4 et en v6, et en parlant d'ICMP plus loin dans ces notes je parlerais à la fois des deux versions. Il existe plusieurs types de messages différents:

  • Host confirmation : Un message ICMP echo permet de déterminer si un hôte est fonctionnel. L'hôte local envoie un message ICMP echo request, et si le correspondant est disponible il répond par une réponse d'echo. ICMP echo est à la base de la commande ping.
  • Destination or service unreachable: Ce message avertit la source que ce qu'il cherche à atteindre est inaccessible. Ce message utilise des codes de destination, dont voici certains : 0 - Réseau innaccessible, 1 - Hôte innaccessible, 2 - Protocole innaccessible, 3 - Port innaccessible (Ceux de la v6 diffèrent légèrement)
  • Time exceeded : Ce message est transmis lorsque le champ TTL (pour la v4) ou de hop limit (pour la v6) à atteint 0; le routeur qui à décrémenté le TTL à 0 abandonne le paquet et envoie un time exceeded.
  • Route redirection : Ce message part d'un routeur et informe l'hôte que la route choisie n'est pas la meilleure car le prochain tronçon est sur le même réseau que l'ordinateur émetteur, et lui indique une meilleure route à suivre. La redirection est souvent désactivée dans les entreprise pour éviter les redirections de flux de données.

Messages de sollicitation et d'annonce de routeur ICMPv6

ICMPv6 ressemble beaucoup à IPv4  pour l'information et le contrôle d'erreurs, mais il apporte de nouvelles fonctionnalités. Les messages ICMPv6 sont encapsulés dans l'IPV6. Il offre 4 nouveaux protocoles dans le cadre du NDP (Neighbor Discovery Protocol):

  • Message de sollicitation de routeur (RS): Envoyé par un hôte pour demander un message d'annonce de routeur sur l'adresse du groupe de multidiffusion des routeurs FF02::2
  • Message d'annonce de routeur (RA): Envoyés par les routeurs toutes les 200 secondes pour fournir les informations d'adressage aux hôtes via la SLAAC
  • Message de sollicitation de voisin : Utilisé pour la résolution d'adresse et la détection d'adresses dupliquées; c'est une "multidiffusion de noeud sollicité" (cf. plus haut), et elle correspond en gros à un broadcast. Il sert à deux choses: le Neighbor Discovery qui remplace à peu près ARP, et est utilisé pour obtenir les adresses MAC des voisins dont on connaît l'IP; et la Détection d'Adresses Dupliquées (DAD), qui se fait en envoyant à tout le réseau un message contenant notre adresse IP; si personne ne répond, c'est bon (si une duplication existe, l'autre hôte renvoie son adresse MAC).
  • Message d'annonce de voisin : C'est la réponse à une sollicitation de voisin, envoyée en monodiffusion; on répond en renvoyant une adresse MAC.

ICMPv6 ND inclut également un message de redirection similaire à IPv4.

Traceroute

En plus de ping, ICMP permet la commande traceroute. Celle-ci permet de tracer le chemin jusqu'à un hôte en donnant des informations sur chaque tronçon rencontré en chemin. Celle-ci fournit le RTT, Round Trip Time, qui correspond à la durée de transmission sur chacun des tronçons; elle correspond à la durée nécessaire pour que le paquet atteigne l'hôte distant, plus le temps mis par la réponse pour revenir. Un * indique un paquet perdu.

Le fonctionnement de traceroute consiste à jouer sur le TTL ( ou Hop limit) : On envoie d'abord un paquet avec un TTL de 1, afin d'obtenir l'adresse du premier routeur qui va mettre le TTL à zéro et laisser tomber le paquet en envoyant un message ICMP Time Exceeded; puis on envoie un paquet avec un TTL de 2 pour obtenir l'adresse du deuxième routeur qui se retrouvera également à mettre le TTL à zéro et à envoyer un time exceeded; et on continue en incrémentant le TTL jusqu'à atteindre l'hôte final qui répondra par un message ICMP (Echo reply ou Port unreacheable, à la place d'un time expired). Ainsi on aura l'adresse de tous les tronçons puisqu'ils auront tous envoyé un ICMP time exceeded.

 

Chapitre 8 Segmentation des réseaux IPv4 en sous-réseaux

Domaines de diffusion

Dans un réseau LAN, on utilise des diffusions pour localiser:

  • Les autre périphériques
  • Les services (DHCP)

Les commutateurs diffusent les broadcasts sur toutes les interfaces, sauf celle d'où ils proviennent, mais pas les routeurs; de ce fait chaque interface du routeur est connectée à un domaine de diffusion. Le problème des grands domaines de diffusion est la quantité de traffic générée par tous les broadcasts envoyés sur le réseau: le réseau et les périphériques sont ralentis. C'est pourquoi on segmente le réseau en sous-réseaux, en augmentant la taille du masque de sous-réseau.

Les termes réseau et sous-réseau sont utilisés de manière interchangeable.

 

Segmentation en sous-réseaux avec classe

La segmentation en sous-réseaux ameliore les performances du réseau en réduisant le trafic global, et elle permet égalelement de mettre en place des politiques de sécurité. Les sous-réseaux peuvent être découpés en fonction de critères tels que:

  • L'emplacement géographique
  • L'entité de l'entreprise
  • le type de périphérique
  • Autre chose

Pour rcréer des sous-réseaux, on utilise des bits de la partie hôte en tant que bits réseau en étendant le masque; plus on emprunte de bits d'hôte, plus on pourra créer de sous-réseaux (qui seront de plus en plus petits). Le moyen le plus simple est d'augmenter à la limite d'octet, c'est à dire au point suivant dans une adresse IPv4 : par exemple en passant de 10.0.0.0/8 à 10.1.0.0./16 et 10.2.0.0./16. Ainsi on passe de 16 477 214 hôtes dans le réseau de base à 255 sous-réseaux possibles de 65 534 hôtes. On pourrait également augmenter jusqu'à /24, et avoir 65536 sous-réseaux de 254 hôtes chacun.

La limite /24 est la plus utilisée car c'est la plus pratique : on a rarement besoin d'avoir 65 536 hôtes dans un réseau.

Segmentation en sous-réseaux sans classe

Il n'y a pas d'obligation quand à l'endroit ou s'arrête notre partie réseau : s'arrêter à la limite d'octet est pratique mais on peut s'arrêter à n'importe quel bit de l'adresse. On a ainsi plus de précision et de flexibilité.

La découpage utilisable maximal est en /30, ce qui nous donne des réseaux à 4 adresses au total et donc deux hôtes (et un masque 255.255.255.252)

Pour chaque bit emprunté, le nombre de sous-réseau double et le nombre d'adresses d'hôte disponible diminue.

Pour rappel, il suffit d'emprunter des bits à la partie hôte et de convertir en décimal :

192.168.1.0 divisé en deux:

192.168.1. 1|0000000 donne 192.168.1.128/25 comme adresse réseau
192.168.1. 0|0000000 donne 192.168.1.0/25 comme adresse réseau

Pour connaître la première adresse dispo, on met un 1 à la fin de la partie hôte en binaire
Pour connaître la dernière, on met des uns suivis d'un 0 en binaire à la partie hôte
Et on convertit. Ce n'est pas compliqué.
On peut aussi avoir à convertir le masque qui sera alors : 255.255.255.128

Calcul des sous-réseaux

Pour connaître combien de sous-réseaux je peux faire en empruntant n bits:

2n

Pour connaître le nombre d'hôtes qui peuvent être pris en charge par sous-réseau, avec n le nombre de bits restant dans la partie hôte:

2n-2

Ainsi, si je veux faire deux sous-réseaux, je prends 1 bits; si j'en veux 44, je prends deux bits; etc.

Bien entendu, si je veux faire beaucoup de sous-réseaux, il faudra que je dispose au départ d'un masque plus petit : J'aurais plus de sous-réseaux possibles avec un masque /16 qu'avec un /24 (16 384 sous-réseaux max contre seulement 64).

On peut ensuite adapter le découpage aux besoins de l'entreprise; à partir d'une adresse de départ, on peut effectuer différents découpages en fonction des besoins, voire même créer des sous-sous-réseaux.

 

VLSM

...

La technique est détaillée sur la page IPv4

La planification des sous-réseaux en entreprise doit être précédée par une études des besoins de l'entreprise en termes d'utilisation du réseau; il faut aussi se demander quelle est la structure apropriée. Ainsi on étudie l'ensemble du réseau et on tient compte des points suivants pour dresser le plan d'adressage:

  • Taille
  • Nombre d'hôtes par sous-réseau
  • Méthode d'attribution des adresses
  • Hôtes nécessistant des adresses IPv4 statiques
  • Hôtes utilisant DHCP

L'administrateur doit choisir avec soin les plages d'adresses réseau, surtout quand il s'agit d'adresses privées. Les IP publique étant généralement attribuées par les LIR, l'administrateur peut rarement décider de leur découpage. Il y'a trois critères à prendre en compte lors de la préparation de l'adressage du réseau :

  • Éviter les doublons d'adresses
  • Fournir et contrôler l'accès (serveurs internes/externes, routeurs, etc)
  • Surveiller la sécurité et les performances (On doit pouvoir identifier facilement les périphériques posant problème).

Dans un réseau, il existe différents type d'appareils nécessitant des adresses, à savoir :

  • Les clients/utilisateurs finaux : généralement avec DHCPv4/v6 ou SLAAC
  • Les serveurs et périphériques : Doivent avoir une IP statique prévisible; prévoir quelque chose de cohérent
  • Les serveurs accessibles via Internet : Ont généralement des adresses privées qui sont NATées sur le routeur/pare-feu
  • Les périphériques intermédiaires : Doivent avoir des adresses statiques cohérentes pour la surveillance/configuration
  • La passerelle : Utilise une adresse statique, généralement la première ou la dernière de la plage

Il est conseillé de définir un modèle d'attribution des adresses en fonction du type de périphérique, afin de faciliter l'ajout et la suppression de nouveaux matériels.

Segmentation en sous-réseaux IPv6 : l'adresse de monodiffusion globale

La segmentation en sous-réseaux en IPv6 utilise une approche différente de celle utilisée pour IP6 : puisque l'on a plus de problèmes à fournir des adresses, on peut se concentrer sur la meilleure approche hiérarchique à utiliser pour gérer et attribuer les meilleurs sous-réseaux. Si en IPv4 on limite les domaines de diffusion et on gère la pénurie d'adresses, ces problèmes ne sont pas présents en IPv6. On se contente de créer un schéma d'adressage reposant sur le nombre de sous-réseaux requis.

L'adresse de monodiffusion globale est la seule que l'on puisse segmenter en sous-réseaux, à l'aide de l'identifiant de sous-réseau (les 16 bits qui suivent le préfixe de routage global, qui fait lui-même 48 bits). Celui-ci permet de créer jusqu'à 65536 sous-réseaux sans devoir emprunter dans la partie hôte, ce qui est plus que suffisant. La segmentation dans la partie hôte est possible mais rarement nécessaire.

Il suffit de prendre un réseau avec un préfixe de routage global en /48, et d'incrémenter en hexa le champ suivant. On aura pour chaque sous-réseau des millions d'hôtes possibles, ce qui n'est pas un problème avec IPv6.

 

 

Chapitre 9 Couche Transport

Rôle de la couche transport

La couche transport est chargé de l'établissement d'une session de communication temporaire entre deux applications et de l'acheminement des données entre celles-ci. Les données sont transportées entre les deux hôtes sans se soucier du type d'hôte, du support ou du chemin suivi par les données. La couche transport constitue la liaison entre la couche application et les couches inférieures chargées de la transmission sur le réseau.

 

Responsabilités de la couche transport

La couche transport est chargée :

  • Du suivi des communications : chaque ensemble de données transitant entre une application source et une application destination est appellé une conversation. Un hôte peut héberger plusieurs communications qui ont plusieurs conversations simultanément.
  • Segmentation des données et reconstitution des segments : Les données doivent être préparées sous forme de blocs faciles à gérer (appellés segments). Les protocoles de la couche transport disposent de services qui segmentent les données en segments de taille appropriée. Chaque bloc de données est encapsulée, avec en-tête utile pour la réorganisation des données. Le destinataire doit pouvoir réassembler les segments en données utilisables. Les protocoles gèrent la facon dont les informations d'en-tête servent à réassembler les données.
  • Identification des applications : Pour que les données atteignent l'application destinataire, les protocoles de la couche transport affectent un numéro identifiant l'application de destination, appellé numéro de port. Chaque application ayant besoin d'accéder au réseau (côté client) se voit attribuer un numéro de port dynamique.

Les en-tête de couche transport servent également à gérer le multiplexage, rendu possible par la segmentation.

Fiabilité de la couche transport

La couche transport gère également les exigences de fiabilité avec ses deux protocoles principaux TCP et UDP. En effet, IP ne s'occupe que de la structure, de l'adressage et du routage des paquets; il ne fixe pas le mode d'acheminement ou de transport des paquets. TCP est fiable et complet, et il garantit que toutes les données arrivent à destination, mais son en-tête comporte de nombreux champs et il est assez complexe. UDP est lui plus simple et rapide, mais son acheminement au mieux ne garantit pas l'arrivée des paquets.

TCP (Transmission Control Protocol)

TCP a trois fonctions de fiabilité de base :

  • Numérotation et suivi des segments transmis à partir d'une application spécifique
  • Accusé de réception des données recues
  • Retransmission des données lorsque aucun accusé de réception n'as été reçu.

TCP, avec ses fonctions de fiabilité, engendre une surcharge supplémentaire et d'éventuels retards de transmission.

Il est utile quand on a besoin de quelque chose de fiable, avec A/R, avec un renvoi des données perdues, et en ordre séquentiel. On l'utilise pour le web, les mails...

Fonctions du protocole TCP

TCP a des fonctions avancées qu'il faut bien connaître.

  • Établissement d'une session : TCP est orienté connexion, c'est-à-dire qu'il négocie et établit une connexion entre les périphériques avant de transmettre du trafic. Grâce à celle-ci les périphériques négocient la quantité de trafic envoyées à un moment donné et les données de communications sont étroitement gérées.
  • Acheminement fiable : Dans les réseaux, la fiabilité consiste à surveiller que chaque segment envoyé parvienne à sa source, un segment pouvant être altéré ou perdu.
  • Livraison en ordre : TCP numérote les segments pour que ceux-ci puissent être remis en ordre à l'arrivée.
  • Contrôle de flux : Les hôtes du réseau disposant de ressources limitées (mémoire, puissance, bande passante...) TCP détermine si ces ressources sont surexploitées ou non et peut demander à l'application de réduire le flux de données. TCP contrôle la quantité de données transmises par la source. Voir la RFC 793.
  • TCP est un protocole avec état, c'est-à-dire qu'il contrôle l'état de la session de communication; pour cela, il enregistre les informations qu'il a envoyées et reçues.

 

En-tête TCP

Celle-ci fait 20 octets sans les options.

RTENOTITLE

Les champs sont :

  • Port source et destination (16 bits chacun) : identifient l'application
  • Numéro de séquence /numéro d'ordre (32 bits) : Pour réorganiser les données, est fonction du nombre d'octets envoyés
  • Numéro de reçu / numéro d'accusé de réception (32 bits): indique les données reçues, correspond au prochain numéro d'ordre attendu
  • Longueur d'en-tête (4 bits) : connu sous le nom "décalage de données". Indique la longueur de l'en-tête.
  • Réservé (6 bits) : future reserved
  • Bits de contrôle (6 bits) : comprennent les indicateurs indiquant l'objectif et la fonction du segment TCP.
  • Taille de fenêtre (16 bits) : Indique le nombre de segments pouvant être acceptés en même temps.
  • Somme de contrôle (16 bits) : Checksum pour le contrôle d'erreur dans l'en-tête ET les données.
  • Urgent (16 bits) : Indique si les données sont urgentes.
  • Les options prennent 0 ou 32 bits, le cas échéant.
  • Les flags sont :
    • SYN
    • ACK
    • FIN
    • RST pour réinitialiser une connexion
    • PSH : ne pas bufferiser les données mais les envoyer de suite
    • URG : Informer d'une donnée prioritaire

 

UDP (User Datagram Protocol):

Protocole d'acheminement au mieux et sans état, UDP est utile lorsque l'application a besoin d'un flux de données rapide et dans lequel des pertes sont tolérables. Il fournit en effet des fonctions de base pour acheminer les données, avec peu de surcharge et de vérification. Il n'est cependant pas considéré comme fiable, puisque aucun accusé de réception n'est envoyé. Si la fiabilité est nécessaire, l'application peut s'en charger.

Il est donc utile quand on a besoin de quelque chose de rapide, avec peu de surcharge, pas d'A/R requis, pas de renvoi des données perdues, et un envoi des données à mesure de leur arrivée; les applications tolérant une petite perte de données l'utilisent. C'est par exemple le cas pour le streaming en direct ou la VOIP dans lesquels on ne tolère pas de retard d'expédition (les services qui diffusent de la vidéo enregistrée passent par TCP). Pour résumer ses différences avec TCP:

  • Les données sont reconstituées selon l'ordre de réception
  • Les segments perdus ne sont pas renvoyés
  • Pas d'établissement de session
  • L'expéditeur n'est pas informé de la disponibilité des ressources.

UDP est dans la RFC 768.

En-tête UDP

Les blocs de données envoyés par UDP sont appelés datagrammes. L'en-tête ne fait que 8 octets, et il est à noter qu'elle a quand même un checksum.

RTENOTITLE

Plusieurs types d'application utilisent UDP :

  • Applications multimédia et de streaming, VOIP : ces applications tolèrent des pertes de paquets mais pas du retard
  • Application de requête et de réponse : Les transactions sont simples, une question reçoit une réponse (DHCP, DNS, RADIUS)
  • Applications gérant elle-même la fiabilité : comme par exemple SNMP et TFTP

Numéros de port.

On l'as déjà dit, les numéros de ports permettent le multiplexage.

Chaque numéro de port peut être réservé en TCP ou UDP mais pas les deux, à priori.

Le numéro de port source est dynamique et généré aléatoirement par l'émetteur pour identifier les différentes conversations : les conversations sont suivies grâce aux ports source. L'IANA suggère les ports 45532 (2^15+2¹⁴) à 65535 (216 - 1).

Les ports destination (côté serveur donc) sont eux fixés par l'IANA et ne changent pas.

Les ports sources sont placés dans le segment, lequel est ensuite encapsulé dans un paquet IP; le combinaison IP/Numéro de port (source ou destination) est appellée interface de connexion. Elle se note <@IP>:<n° de port>, par exemple : 192.168.1.20:80

Deux interfaces de connexions serveur et client mises ensemble forment une paire d'interfaces de connexion.

Groupes de numéros de ports

Il existe différents groupes de numéros de ports, gérés par l'IANA :

  • 0 à 1023 : ports réservés, c'est-à-dire réservés à des applications et des services, souvent du type web ou messagerie, par exemple. En réservant ces numéros, le client sait à quel numéro s'adresser pour demander une page web, par exemple.
  • Ports enregistrés (1024 à 49151) : sont affectés par l'IANA à une entité demandeuse pour une application spécifique. Ces ports sont utilisés pour une application spécifique plus que pour un type de service (par exemple, le port 1200 UDP est réservé à Half-Life 2 et Counter-Strike).
  • Ports privés ou dynamiques (49152 à 65535) : aussi appellés ports éphémères, sont affectés dynamiquement par le système du client. Il identifient l'application cliente dans la communication.

Certains OS peuvent utiliser des ports enregistrés au lieu de ports privés.

La commande netstat sert à voir les connexions TCP en cours.

Processus serveur TCP

Chaque processus applicatif exécuté sur le serveur est associé à un numéro de port, qu'il soit statique (réception) ou dynamique (émission). Deux services ne peuvent être associés au même numéro de port.

Une connexion TCP peut alors être établie, et ce en 3 étapes:

  • A envoie une requête SYN à B
  • B répond par un SYN ACK
  • A répond par un ACK

La connexion a trois buts : Vérifier que le périphérique de destination est sur le réseau, s'assurer que le périphérique de destination a un service actif et accepte les requêtes sur le numéro de port de destination, et bien sûr informer le périphérique de destination que la source veut établir une session.

Une fois les données envoyées, la connexion se clôture en 4 étapes:

  • A envoie une requête FIN à B
  • B répond par un ACK
  • B envoie une requête FIN à A
  • A répond par un ACK

Ainsi les deux connexions (client - serveur et serveur - client) sont fermées. En effet, TCP fonctionne en Full duplex, avec connexions en simultané.

Les segments reçus ne le sont pas forcément dans l'ordre. Des numéros sont affectés dans l'en-tête de TCP, ceux-ci représentant le premier octet de données du segment TCP. Lors de la configuration de la session un ordre initialm (ou ISN) est défini. Il représente la valeur de départ des octets de cette session. Lors de la session le numéro d'ordre est incrémenté du nombre d'octets de données envoyés. Ce suivi des octets de données permet d'identifier chaque segment et d'en accuser réception individuellement. 

L'ISN n'est pas à 1 par défaut mais c'est un nombre aléatoire, dans le but d'éviter certaines attaques.

Le processus TCP qui recoit les données les place dans une mémoire tampon de réception. Les segments sont ensuite remis dans l'ordre avant d'être envoyés à la couche application. Les données ne sont envoyées que lorsqu'elles sont complètes.

Contrôle de flux et taille de fenêtre.

TCP offre également des fonctions de contrôle de flux, dans le but de maintenir la fiabilité des transmissions TCP entre les hôtes. On utilise pour cela le champ de 16 bits appellé "Taille de fenêtre". La taille de fenêtre représente le nombre d'octets que la destination peut accepter et traiter en une seule fois. En effet, avec une taille de fenêtre de 10 000 par exemple, le dernier octet que pourra recevoir la destination sans accuser réception est l'octet n° 10 000. Une fois ces 10 000 octets reçus, le destinataire accuse réception, et le flux de données reprend.

Il faut également savoir que la MSS (Maximum Segment Size) est de 1460 octets.

La taille de fenêtre est calculée initialement lors de la connexion en trois étapes. La destination n'attends généralement pas que tous les octets de sa taille de fenêtre aient été reçus avant d'accuser réception; d'ailleurs l'émetteur ajuste la taille de fenêtre lors de l'émission de données en fonction des accusés de réception qu'il reçoit. Ce processus porte le nom de "fenêtres glissantes".

En général, les périphériques utilisent les fenêtres dynamiques, c'est-à-dire que le destinataire n'attend pas la réception de toute sa taille de fenêtre avant d'accuser réception; il attend en général deux segments. On peut envoyer des segments tant que le destinataire accuse réception.

Contrôle d'encombrement

En cas d'encombrement sur le réseau, des paquets peuvent être mis de côté par un routeur surchargé. Ils ne sont alors pas considérés comme étant reçus. En déterminant la vitesse à laquelle les segments TCP sont envoyés mais non reçus, la source peut estimer le niveau d'encombrement du réseau. Chaque fois qu'il y'a encombrement, les paquets TCP sont renvoyés par la source; si la retransmission n'est pas contrôlée, cela peut aggraver le niveau d'encombrement du réseau : de nouveaux paquets sont envoyés en plus de ceux qui sont déjà dans le réseau. Pour éviter cela TCP utilise de nombreux algorithmes, mécanismes et minuteurs. De plus si la source détermine que les segments TCP ne sont pas reçus ou pas assez vite, elle peut diminuer le nombre d'octets qu'elle envoie sans influer sur la taille de fenêtre de la destination.

L'explication des mecanismes de la gestion d'encombrement ne rentre pas dans le cadre de ce cours.

Fiabilité et réassemblage de datagrammes du protocole UDP,

UDP crée moins de surcharge que TCP, car il n'est pas orienté connexion et n'as pas de mécanisme de fiabilité complexes. Ces fonctions sont alors généralement implémentées dans les couches application.

UDP n'ayant pas de numéro d'ordre des datagrammes, aucun suivi n'est fait à ce niveau-là : UDP se contente de réassembler les données dans l'ordre dans lequel il les reçoit et de les transmettre à l'application. C'est à cette dernière de déterminer l'ordre des données.

Les numéros de ports réservés en UDP peuvent être différents services, comme RADIUS ou DNS.

L'utilisation des numéros de port se fait de la même façon qu'en TCP (avec du dynamique pour le client et du statique pour le serveur).

Chapitre 10 : Couche application

La couche application est la plus proche de l'utilisateur : elle sert d'interface avec les couches du réseau. Les trois couches supérieures du modèle OSI définissent les fonctions de la couche application TCP/IP unique.

Il existe de nombreux protocoles de couche application, les plus connus étant HTTP, FTP, TFTP, IMAP et DNS.

Couches présentation et session

La couche présentation remplit trois fonctions:

  • Mettre en forme les données provenant du périphérique source dans un format compatible pour la réception par le périphérique de destination
  • Compresser les données pour que le périphérique de destination les décompresse
  • Chiffrer les données

Cette couche, en mettant en forme les données, définit les normes des formats de fichiers : MPEG pour la vidéo, GIF, JPG et PNG pour les images...

La couche session, elle crée et gère les dialogues entre les applications source et destination. Elle traite l'échange des informations pour commencer et maintient le dialogue pour redémarrer les session interrompues ou inactives pendant une longue période.

À retenir :

  • Couche application OSI = Protocoles
  • Couche présentation OSI = Formats de fichiers

Protocoles de la couche application TCP/IP

On compte plusieurs protocoles au niveau de la couche application:

  • DNS (Noms)
  • BOOTP (Pour booter sur le réseau)
  • DHCP
  • SMTP, POP, IMAP
  • FTP et TFTP
  • HTTP et HTTPS

Modèle client/serveur

Dans ce modèle, le client est celui qui demande des informations et le serveur est celui qui répond à la requête. Les processus client et serveurs sont considérés comme faisant partie de la couche application. Les protocoles de couche application décrivent le format des requêtes et des réponses entre client et serveur. Outre le transfert de données, cet échange peut nécessiter l'authentification de l'utilisateur et l'identifiaction d'un fichier de données à transférer : c'est par exemple le fonctionnement d'un serveur mail.

On parle de téléchargement ascendant (upload) du client vers le serveur, et de téléchargement descendant (download) dans l'autre sens.

Modèle peer-to-peer

Dans ce modèle, on a pas de serveurs dédiés. Le modèle p2p implique deux parties : les réseaux p2p et les applications p2p. Elles ont des caractéristiques similaires, mais elles sont dans les faits très différentes.

Dans un réseau p2p, au moins deux machines sont connectées sur un réseau et peuvent partager des ressources; chaque hôte connecté (ou homologue) sert à la fois de client et de serveur. Ces rôles sont définis en fonction de chaque requête.

Une application p2p permet à un périphérique d'agir en tant que serveur et que client dans la même communication. Ces applications nécessitent que chaque terminal fournisse une IU et exécute un service en arrière-plan. Il existe aussi des systèmes hybrides dans lesquels les données sont décentralisées, mais un index centralisé indique leur emplacement. Les applications p2p courantes sont entre autre:

  • eDonkey
  • G
  • BitTorrent
  • Bitcoin

Il existe un protocole servant de base à certaines applications p2p : Gnutella. Ces logiciels permettent de se connecter au service par internet et de localiser des ressources partagées pour y accéder. On peut citer WireShare, Shareaza... Bittorent, lui, répartit des morceaux de fichiers sur plusieurs utilisateurs et stocke les emplcements dans un fichier torrent. Les clients demandent alors plusieurs morceaux de fichiers à la fois.

HTTP et HTML

Une connexion à un serveur web par un navigateur se fait via HTTP. L'URL et l'URI sont les noms que la plupart des utilisateurs associent aux adresses web. Le client demande une page web (dont le nom est traduit par DNS), la recoit et l'affiche en décodant le code HTML.

HTTP est un protocole de type requête/réponse. HTTP spécifie plusieurs types de messages utilisés pour les requêtes des clients, dont les trois plus courant sont:

  • GET : Requête client visant à obtenir des données
  • POST : Télécharger des fichiers de données vers le serveur, comme des formulaires
  • PUT : Télécharge des données vers le serveur, comme une image.

HTTP est flexible, mais pas sécurisé : tout est en clair.

Pour cela il y'a HTTPS : le processus est le même, mais le chiffrement et l'authentification sont gérés : le flux de données est chiffré par SSL.

Protocoles de messagerie électronique

Le courriel est une méthode de stockage et de transfert de données qui permet d'envoyer, stocker et récupérer des messages électroniques à travers le réseau. Les messages sont stockés dans des bases de données.

Les clients communiquent avec des serveurs et les serveurs communiquent entre eux : les clients ne communiquent pas directement. Les e-mails font appel à trois protocoles:

  • SMTP (envoi)
  • POP (réception)
  • IMAP (réception)

SMTP (SImple Mail Transfer Protocol)

Les format de message SMTP exigent une en-tête et un corps de message. Le corps peut contenir n'importe quel texte, et l'en-tête doit contenir les adresses correctement mises en forme.

Lorsque un client envoie un mail, le processus SMTP client se connecte au serveur sur le port 25. Le client envoie ensuite le message. Si le destinataire est local, le message est placé dans son compte local; sinon le message est transféré vers un autre serveur de messagerie. Si le serveur distant est occupé, le message est placé en attente et l'envoi est retenté régulièrement; au bout d'un moment, si le message n'as pas pu être envoyé, il sera renvoyé à l'expéditeur comme non délivrable.

POP (Post Office Protocol)

Ce protocole est utilisé pour récupérer le courrier depuis le serveur, et le supprimer de celui-ci. C'est le fonctionnement par défaut de POP : les messages ne sont pas conservés sur le serveur.

Le serveur démarre en écoutant le port TCP 110. Les clients peuvent alors envoyer des requêtes d'établissement de connexion TCP. Une fois la connexion établie, le serveur POP envoie un message de bienvenue. Les deux peuvent alors échanger des commandes et des réponses jusque à la fin de la connexion.

IMAP (Internet Message Access Protocol)

IMAP utilise une autre méthode : contrairement à POP, le client télécharge des copies des messages, qui sont conservés sur le serveur jusqu'à effacement manuel. Les clients ne voient que des copies dans leurs logiciels de messagerie. Il peuvent créer une hiérarchie de fichiers sur le serveurs qui sera répliquée sur le client de messagerie. Lorsque un client supprime un message, l'action est également effectuée sur le serveur.

DNS (Domaine Name Service)

Les noms de domaine ont été créés pour traduire les adresses IP en noms simplex et explicites, plus facile à mémoriser pour un être humain. Cela permet également de changer l'adresse IP d'un serveur sans que l'utilisateur ne s'en rende compte.

Le service DNS définit un service automatisé qui associe les noms des ressources à l'adresse réseau numérique requise. Il comprend le format des demandes, des réponses et des données. Ce format de message est utilisé pour tous types de demandes clientes et de réponses serveur, pour les messages d'erreur et pour le transfert d'informations d'enregistrement de ressources entre les serveurs.

Format du message DNS

DNS stocke différents types d'enregistrement de ressources utilisés pour résoudre des noms. Ces enregistrements contiennent le nom, l'adresse et le type d'enregistrement. Certains de ces types d'enregistrements sont:

  • A : Une adresse IPv4 de périphérique terminal
  • AAA Une adresse IPv6 de périphérique terminal (Prononcer "Quadruple A")
  • NS : Un serveur de nom autorisé
  • MX Un enregistrement d'échange de courrier électronique.

Lorsque un client envoie une requête, le processus DNS du serveur commence par chercher dans ses propres enregistrements pour résoudre le nom; s'il n'y arrive pas, il s'adresse alors à d'autres serveurs pour résoudre le nom. Lorsque il reçoit une correspondance, il la stocke quelques temps au cas où une autre demande du même type lui serait envoyée.

Sur un client Windows, le service client DNS stocke également en mémoire les demandes résolues.

Le format de message DNS suit le schéma suivant :

  • En-tête
  • Question : Relative au nom du serveur
  • Réponse : Enregistrement de ressource répondant à une question
  • Autorité : Enregistrement de ressource désignat une autorité
  • Informations supplémentaires : Enregistrement de ressources contenant des informations supplémentaires.

Hiérarchie DNS

DNS utilise une hiérarchie pour créer une base de données assurant la résolution des noms. La hiérarchie ressemble à une arborescence inversée : la racine est au sommet et les branches en dessous, avec l'utilisateur au sommet des branches.

La structure d'attributions de noms DNS est divisée en petites zones faciles à gérer. Chaque serveur DNS tient à jour un fichier de base de données spécifique et se charge du mappage noms -> adresses uniquement dans cette partie de la structure DNS globale. Il transfère les demandes qui sont hors de sa zone à un autre serveur DNS se trouvant dans la bonne zone.

Ce système est donc évolutif, puisque la conversion des noms d'hôtes s'étend à plusieurs serveurs.

Les différents domaines de premier niveau (ou TLD, Top Level Domain) représentent l'organisation ou le pays d'origine : .com pour une entreprise ou une industrie, .org pour un organisme à but non lucratif, .fr pour la France, etc...

NSLookup

Lors de la configuration d'un périphérique réseau, celui-ci reçoit une ou plusieurs adresses de serveurs DNS, généralement de la part du FAI. Le client peut alors interroger ce serveur DNS en cas de besoin.

L'OS de la plupart des ordinateurs comprend également un utilitaire nommé NSLookup, qui permet à l'utilisateur d'interroger manuellement un serveur DNS. NSLookup comprend de nombreuses options pour tester et vérifier le fonctionnement de DNS.

DHCP (Dynamic Host Configuration Protocol)

DHCP automatise l'affectation des adresses IP, masques de sous-réseau, passerelles et autres paramètres réseau IPv4. On parle alors d'adressage dynamique, contraire à l'adressage statique.

Lorsque un utilisateur se connecte au réseau le serveur DHCP et fournit une adresse IPv4 située dans la plage (ou pool) d'adresses prévue et l'affecte à l'hôte pour une durée définie. Une fois le délai écoulé et si l'utilisateur n'est plus en ligne l'adresse est libérée et retourne au pool d'adresses.

DHCP est préférable sur les grands réseaux, dans lesquels beaucoup d'utilisateurs vont et viennent. Les serveurs DHCP peuvent être de taille diverse, en fonction des besoins au sein du réseau. De nombreux réseaux utilisent à la fois DHCP et l'adressage statique; les serveurs, imprimantes et autres périphérique non clients sont généralement configurés avec une adresse statique.

DHCPv6 offre des services similaires, à l'exception qu'il ne fournit pas d'adresse de passerelle par défaut, celle-ci étant reçue via les messages de Router Announcement.

Fonctionnement de DHCP

Le fonctionnement est le suivant :

[Client]                        [Serveur DHCP]
DHCPDiscover   -->       
                        <--       DHCPOffer
DHCPREquest    -->
                        <--       DHCPAck

 Lorsqu'un périphérique se connecte au réseau IPv4 en étant configuré avec DHCP, le client diffuse un message de détection DHCP (DHCPDISCOVER) sur le réseau, pour connaître les serveurs DHCP. Un serveur DHCP répond par un message d'offre DHCPOFFER, qui offre un bail au client. Il contient l'adresse IPv4, le masque, l'adresse du serveur DNS, et l'adresse de ka gateway, ainsi que la durée du bail.

Le client peut recevoir plusieurs message DHCPOFFER si le réseau comporte plusieurs serveurs DHCP et doit alors effectuer un choix et envoyer sa requête DHCPREQUEST qui identifie explicitement le serveur et l'offre de bail acceptée. Le client peut aussi demander à recevoir une adresse que le serveur lui a déjà attribuée précédemment.

En supposant que l'adresse demandée par le coient ou offerte par le serveur soit encore disponible, le serveur renvoie un message d'accusé de réception DHCPACK. Celui-ci confirme au client que le bail est conclu. Si l'offre n'est plus valide, le serveur renvoie un message d'accusé de réception négatig DHCPNAK; dans ce cas le processus recommence avec un message de DHCPDISCOVER.

Les serveurs DHCP s'assurent que toutes les adresse IP utilisées sont uniques.

DHCPv6 possède un ensemble de message similaires, nommés :

  • SOLICIT
  • ADVERTISE
  • INFORMATION REQUEST
  • REPLY

Protocole FTP (File Transfer Protocol)

FTP est un autre protocole de couche application couramment utilisé, utilisé pour transférer des données entre un client et un serveur. Pour transférer correctement les données, FTP nécessite deux connexions:

  • Le client effectue une connection de contrôle au serveur sur le port 21. Cette connexion se compose de commandes du client et de réponses du serveur.
  • Le client établit alors un seconde connexion sur le port TCP 20 pour le transfert de données proprement dites. Cette connexion est créée chaque fois qu'un transfert de données a lieu.

Le transfert de données peut s'effectuer dans les deux sens.

SMB ( Server Message Block)

Le protocole SMB est un protocole de partage de fichiers client/serveur utilisé pour décrire la structure des ressources réseau partagées telles que répertoires, imprimantes, fichiers, ports séries... Il s'agit d'un protocole requête-réponse, dont tous les messages partagent un format commun. Ce format utilise une en-tête de taille fixe, suivi d'un paramètre et d'un composant de données de taille variable. Les message SMB peuvent :

  • Démarrer et authentifier des session ou y mettre fin;
  • Contrôler l'accès aux fichiers et aux imprimantes
  • Permettre à une application d'envoyer/recevoir des messages.

Le partage de fichiers et les services d'impression SMB sont à la base des réseaux Microsoft. Depuis Windows 2000, Microsoft a modifié la structure sous-jacente pour l'utilisation de SMB. Tous les produit Microsoft utilisent le nommage DNS qui permet aux protocoles TCP/IP de prendre en charge directement le partage de ressources SMB. 

Contrairement à FTP, avec SMB les clients établissent une connexion à long terme aux serveurs. Une fois la connexion établie, l'utilisateur peut accéder aux ressources distantes comme si elles étaient sur sa machine locale.

Linux et UNIX fournissent également une méthode de partage des ressources Microsoft avec une version de SMB : SAMBA. Les systèmes Apple le gère également.

Chapitre 11 : Conception d'un réseau de petite taille

Topologie de petits réseaux

La majorité des entreprises sont de petites entreprises, avec de petits réseaux. Il s'agit souvent de réseaux simples, avec un seul routeur et un ou deux commutateurs. Ils peuvent aussi comporter des points d'accès WiFi (parfois intégrés au routeur) et des téléphones IP. La seule connexion de réseau étendu est en général en DSL.

La gestion d'un petit réseau exige la plupart des compétences requises pour la gestion d'un grand réseau. La maintenance, le dépannage du matériel, ainsi que la sécurisation sont les tâches principales. La gestion peut être confiée soit à un employé, soit à un sous-traitant, selon la taille et le type de l'entreprise.

Cependant, même les petits réseaux doivent faire l'objet d'une planification et d'une conception, notamment par rapport au choix de matériel. La planification permet de parer à tous les besoins, comme les facteurs de coût et les options de déploiement. Un des premiers critères à prendre en compte est le type de périphériques à utiliser pour la prise en charge du réseau. Plusieurs facteurs sont déterminants : Le coût, le nombre de ports, la vitesse, la modularité, la facilité de gestion... Un équipement réseau peut permettre des fonctions telles que :

  • Sécurité
  • QoS
  • VoIP
  • Commutation de couche 3 (switch manageable)
  • NAT
  • DHCP
  • Et d'autres...

Adressage IP d'un petit réseau

Il est nécessaire de planifier l'adressage IP : Tous les hôtes d'un interréseau doivent avoir une adresse unique. Le schéma d'adressage IP doit être planifié, documenté et mis à jour en fonction du type de périphérique recevant l'adresse.

Les différents types de périphériques présent influent sur l'adressage IP:

  • Périphériques finaux
  • Serveurs et périphériques (imprimantes...)
  • Hôtes accessibles depuis Internet
  • Périphériques intermédiaires

Il faut prévoir et documenter le schéma d'adressage IP de façon logique : si tous les serveurs ont une adresse située entre 50 et 100, ils seront faciles à repérer. De plus, un adressage déterministe aide à contrôler l'accès aux ressources. Les serveurs doivent bvien sûr avoir une IP fixe, et les ressources accessible depuis l'extérieur doivent être facile à surveiller.

Un autre aspect important est la fiabilité. Même dans un petit réseau, la moindre panne peut coûter très cher. Pour assurer un niveau de fiabilité élevé, la redondance permet d'éliminer les points de défaillance uniques. Il est utile de doubler les connexions au réseau, ainsi que les équipements. De la même façon, prendre deux FAI peut être une bonne idée.

Gestion du trafic

L'administrateur réseau doit tenir compte des différents types de trafic et de leur traitement dans la conception du réseau. Dans un petit réseau, les routeurs et les commutateurs doivent être configurés pour prendre en charge le trafic en temps réel, comme la voix et la vidéo, séparément du trafic des autres données. Le trafic dans un réseau bien pensé doit être classifié précisément avec différentes priorités en fonction de sa nature, afin d'aider à la productivité.

Il existe deux types de programmes ou processus logiciels permettant d'accéder au réseau : les applications de réseau et les services de couche application.  Les applications réseau sont des logiciels qui permettent aux utiilsateurs de communiquer sur le réseau; certaines applications sont orientées réseau, ie elles implémentent les protocoles de couche application et peuvent communiquer directement avec les protocoles de couches inférieure, comme les clients de messageries et les navigateurs web.

D'autres programmes peuvent nécessiter l'assistance des services de couche application. Même si ils sont transparents pour un employé, ces services constituent les programmes qui établissent l'interface avec le réseau et préparent les données à transférer; différents types de données nécessitent différents services réseau pour être correctement préparés afin d'être traités par les fonctions des couches inférieures du modèle OSI. Chaque application utilise des protocoles qui définissent les normes et les formats de données à utiliser : sans eux, on aurait aucune méthode commune pour transférer les données.

Protocoles courants

Quelle que soit la taille du réseau, un technicien à souvent à travailler avec les protocoles réseau : ils prennent en charge les services et applications utilisés par les employés d'un petit réseau. Les protocoles réseau, sui sont la "boîte à outils" de base d'un tech; définissent les élements suivants :

  • Les processus sur l'une des extrémités d'une session de communication
  • Les types de message
  • La syntaxe des message
  • La signification des champs informatifs
  • La manière dont les messages sont envoyés et la réponse attendue
  • l'interaction avec la couche d'en dessous

On peut citer comme protocoles : DNS, SSH, les protocoles mail, DHCP, HTTP/S, S/FTP... Il faut essayer d'utiliser autant que possible les versions sécurisées de ces protocoles.

Application de vidéo et de communication vocale

VoIP et les services de vidéo en streaming sont de plus en plus utilisés. Il faut assurer que les équipements adéquats sont installés et que les périphériques réseau utilisent un acheminement prioritaire. L'infrastructure doit suivre : il faut s'assurer que le câblage et le matériel (switches) peuvent prendre en charge ce trafic supplémentaire.

Les périphériques VoIP convertissent un signal analogique en données numériques. le périphérique peut être un Adaptateur de Téléphone Analogique (ATA), disposé au cul d'un téléphone classique. Une fois les signaux convertis, le routeur achemine les paquets vers la destination. La VoIP est moins coûteuse que la téléphonie IP, mais ne réponds pas aux mêmes exigences de qualité. Ce genre de solutions peut passer par Skype, par exemple.

La téléphonie sur IP, elle, passe par un téléphone IP qui convertit lui-même le signal. Dans les réseaux équipés d'une solution intégrée de téléphonie sur IP, aucun routeur compatible avec les services de voix n'est nécessaire. Les téléphones IP utilisent un serveur dédié pour le contrôle des appels et la signalisation. De nombreuses solutions destinées au petits réseaux existent.

Pour les applications en temps réel, le réseau doit être en mesure de prendre en charge les applications sensibles aux retards d'acheminement. Les protocoles RTP (Real-time Transport Protocol) et RTCP (Real-time Transport Control Protocol) répondent à ces exigences. Ils permettent le contrôle et l'évolutivité des ressources réseau en autorisant l'incorporation des mécanismes de QoS, qui offrent des outils pour la réduction des problèmes de latence des applications RTSP (protocole de communication des applications de streaming média, qui ne transporte pas de données mais des commandes vers un serveur mutlimédia).

Croissance d'un petit réseau

La plupart des entreprises se développant avec le temps, l'admin devrait avoir le temps de prendre des décision réfléchies quant à l'expansion du réseau. Plusieurs éléments sont nécessaires pour réfléchir cette évolution:

  • Une documentation du réseau, physique et logique
  • Un inventaire des équipements
  • Un budget
  • Une analyse du trafic (documentation des protocoles, applications et services avec leur besoin respectifs en trafic).

  Analyse de protocoles

Pour savoir comment gérer le réseau, il est important de savoir quel type de trafic est acheminé sur le réseau, ainsi que le fluxde trafic. On peut utiliser pour cela un analyseur de protocoles comme Wireshark. Il est recommandé d'observer les points suivants : capturer le trafic pendant les périodes de pointe pour obtenir une représentation juste des différents types de trafic, et effectuer la capture sur différents segments du réseau, certaines partie du trafic pouvant être localisées.

Une fois les informations collectées, on peut l'analyser pour déterminer comment améliorer la gestion du trafic. Il peut alors être nécessaire de réduire certains types de trafic, voire de modifier la configuration du réseau (en déplacant un serveur par exemple. Le simple fait de déplacer un serveur peut parfois aider, mais il peut s'avérer nécessaire de remodeler le réseau.

Sécurité du réseau

Types de menaces

Une intrusion sur un réseau peut coûter cher en temps comme en argent. Un intrus peut utiliser une faille, une attaque sur le matériel ou deviner des identifiants et des mots de passe. Cela peut entraîner des vols d'informations, des pertes et manipulations de données, une usurpation d'identité, voire une interruption de service.

Sécurité physique

La sécurité physique des équipements peut elle-même présenter des failles. Un assaillant peut empêcher l'utilisation des ressources du réseau si celles-ci sont physiquement compromises. Les 4 catégories de menaces physiques sont les suivantes :

  • Menaces matérielles : dommages physiques au matériel
  • Menaces environnementales : variation de température ou d'humidité
  • Menaces électriques : pics de tension, alimentation insuffisante
  • Menaces liées à la maintenance : Mauvaise manipulation, absence de pièces de rechange essentielles, mauvais câblage, mauvais étiquetage...

La sécurité doit être planifiée : Verrouiller les entrées possibles, contrôler et surveiller l'accès aux armoires électriques, utiliser des caméras.

Types de failles

Elles peuvent concerner la Technologie, la Configuration, ou la Stratégie de Sécurité.

Technologie:

Les faiblesses peuvent concerner les protocoles TCP/IP, voire les systèmes d'exploitation en eux-même ou les applications. Les équipement réseau sont eux aussi souvent victime de failles importantes, que ce soit pour les mots de passe, le manque d'authentification ou les protocoles de routage et les trous dans les pare-feu...

La CERT (Computer Emergency Response Team) archive les faiblesses des OS.

Configuration:

ON compte différents types de failles, parmi lesquelles:

  • Comptes utilisateur non sécurisés (mots de passe transmis en clair...)
  • Comptes système avec des mots de passe facile à deviner
  • Services Internet mal configurés : JavaScript en navigateur, mauvaise configuration des services des terminaux, des FTP ou serveurs Web...
  • Paramètres par défaut non sécurisés dans les logiciels
  • Équipements réseaux mal configurés : les erreurs de configuration du matériel peuvent entraîner d'importants problèmes en matière de sécurité : listes d'accès, protocoles de routage, chaîne de communauté SNMP mal configurées...

Politique de sécurité

  • Absence de stratégie de sécurité écrite : Une stratégie qui n'est pas écrite ne peut pas être appliquée
  • Politique : les batailles entre départements peuvent rendre difficile la mise en place d'une stratégie cohérente
  • Manque de continuité de l'authentification : De mauvais mots de passe
  • Contrôle des accès logiques non appliqués : La surveillance et le contrôle insuffisant du réseau laissent les attaques perdurer, ce qui peut entraîner un gaspillage des ressources, et la place du technicien (voire l'avenir de l'entreprise).
  • Installation de matériels et modifications non conformes à la stratégie de sécurité : topologie du réseau, applications...
  • Absence d'un plan de reprise après un sinistre : chaos, panique et confusion en cas d'attaque !

Types de malwares

Un malware est un programme malveillant. Cisco cite 3 types :

  • Virus : Programme malveillant qui insère une copie de lui-même dans un autre programme et se transmet entre les machines. Les effets vont de la gêne, à la perte de données, jusqu'au DOS. Ils sont presque toujours attachés à un exécutable, et ne se lancera qu'en lancant cet exécutable. Les virus se transmettent lorsqu'un programme qu'ils ont infecté se transmet.
  • Vers : Fonctionne comme un virus (en s'auto-répliquant), mais n'ont pas besoin de la diffusion d'un fichier infecté. Les vers sont autonomes et n'ont pas besoin d'un programme d'accueil ou d'une intervention humaine pour se propager. Ils utilisent les fonctionnalités du système pour voyager dans le réseau.
  • Chevaux de Troie : code en apparence légitime, qui trompe l'utilisateur sur ses fonctions. Une fois activé, il peut gêner l'utilisateur ou bien supprimer des fichiers, usurper son identité, voler des données, propager d'autres malwares... Il créent souvent des backdoors. Ils ne s'auto-répliquent pas, mais se transmettent souvent par mail ou téléchargement.

Attaques de reconnaissance :

Les attaques de réseau peuvent être classées en trois catégories :

  • Attaque de reconnaissance : découverte et mappage non autorisés de systèmes, services, vulnérabilités: il s'agit essentiellement de la phase de prise d'informations, avec des outils comme ping/fping, whois, analyse de trafic, dans le but de mapper et connaître le réseau.
  • Attaques par accès : manipulation de données ou accès systèmes non autorisés: elles exploitent des vulns dans les services d'authentification, web, ftp... pour accéder à des comptes web, des bases de données et autres. Elles permettent d'obtenir un accès non autorisé. Il en existe 4 types : Attaques de mots de passe (bruteforce, par trojan ou analyse de paquets); Exploitation de la confiance (systèmes trop confiants, un seul de ces systèmes peut corrompre tout le réseau); Redirection de ports (exploitation de la configuration des ports), Man-in-the-middle.
  • Attaque par déni de service : désactifvation ou corruption de réseaux, systèmes, services. Ce sont les plus connues et les plus compliquées à gérer. Elle est considérée comme peu glorieuse car facile. On peut citer dans les DOS:
    • Exploitation des disques durs, remplissage de tampon ou bande passante
    • Innondation de SYN
    • Inondation de pings (smurf)
    • Innondation de paquets (bombes UDP, attaques fraggle)
    • Paquets surdimensionnés (ping fatal, qui est outdated)
    • Chevauchement de paquets (Winuke)
    • Données non traitées (Teardrop)
    • Cisco définit le DDOS comme une attaque passant par des serveurs gestionnaires des zombies), qui sont là pour flooder; le smurf consiste à attaquer un matériel réseau avec des zombies en le saturant de paquets ICMP reply.

Sauvegarde, mise à jour, mise à niveau et correctifs

Pour se protéger, il faut se tenir informé des menaces et appliquer rapidement les correctifs, ce qui est la meilleure correction. L'administration d'un grand nombre de systèmes demande la création d'une image système standard déployée sur tous les nouveaux systèmes, en plus des correctifs sur les systèmes déjà présents. On peut centraliser les correctifs sur un serveur dédié.

Authentification, autorisation, gestion des comptes

Les services de ce type fournissent la structure de base servant la mise en place d'un contrôle d'accès sur un périphérique réseau. On se rappelle de RADIUS et de l'AAA :

  • Authentification: T'es qui?
  • Authorization : T'as le droit de faire quoi?
  • Accounting (gestion des comptes): Tu fais quoi?

Pare-feu

Un des meilleurs outils disponibles. Il se trouve entre deux réseaux ou plus, et contrôle le trafic en interdisant les accès non autorisés. Des pare-feu logiciels peuvent être installés sur les hôtes en plus de pare-feux matériels. Les pare-feux utilisent diverses techniques:

  • Filtrage de paquets : selon @IP ou @MAC
  • Filtrage des applications : en fonction des numéros de port
  • Filtrage d'URL : interdit l'accès à certains sites web
  • Filtrage dynamique de paquets (SPI): les paquets entrants doivent constituer des réponses légitimes à des des requêtes d'hôtes. Les paquets non sollicités sont bloqués sauf si ils sont expréssement autorisés. Peut reconnaître certaines attaques comme DDOS.

Présentation de la sécurité des périphériques

Quand on installe un nouveau système, les paramètres de sécurité sont ceux laissés par défaut, souvent insuffisants. Cisco a une fonction autosecure. On peut citer quelques autres étapes simples :

  • Changer les noms d'utilisateur et les mots de passe
  • Limiter l'accès aux ressources aux personnes autorisées
  • Désactiver les services et applications inutiles
  • Appliquer les patches

Mots de passe:

  • >à 8 caractères
  • Complexe
  • Pas de répétitions, mots du dictionnaire, choses évidentes ou en lien avec la personne
  • Fautes d'orthographe
  • Modifié régulièrement
  • Ne pas les noter en évidence.

Chez Cisco, on peut mettre des espaces après la première lettre pour faire des phrases secrètes.

Sécurité de base sur le matériel Cisco:

  • service password encryption
  • service password min-length
  • login block-for 120 attempts 3 within 60 : bloque les tentatives de connexion 120 secondes après trois échecs de connexion en l'espace de 60 secondes
  • line vty 0 4 puis exec-timeout 10 : Déconnecte tous les utilisateurs inactifs au bout de 10 minutes.

Pour activer SSH:

  • Vérifier le hostname : ip domain name
  • Générer les clefs : crypto key generate rsa general-keys
  • Créer un utilisateur : username
  • Activer les connections SSH entrantes : login local puis transport input ssh

Ping et tracert

  • ! réception d'une réponse
  • . expiration du délai d'attente
  • U reception d'un message d'inaccessibilité

IOS propose un mode étendu de la commande ping, accessible avec ping (sans IP) depuis la conf globale.On utilise ping ipv6 pour ipv6. Pareiol pour traceroute.

Ligne de base du réseau

Pour bien dépanner un réseau, il convient d'avoir un fichier qui recense le comportement "de base" du comportement du réseau. Des profils de référence détaillés peuvent être conçus à l'aide d'outils spécialisés.

cf https://www.cisco.com/c/en/us/support/docs/availability/high-availability/15112-HAS-baseline.html

Commandes show courantes :

  • show run conf
  • show interfaces
  • show arp
  • show ip route
  • show protocols
  • show version

Show CDP neighbors

Cisco Discovery Protocol s'exécute à la couche 2, et sert à savoir quels autres équipements sont présents (même sans IP de configurée!). Il est lancé automatiquement au démarrage de matériel Cisco; il détecte les matériels Cisco voisins et et échange des informations sur les périphériques matériels et logiciels avec ses voisins. Il fournit les informations suivantes :

  • Identificateurs de périphériques : un nom d'hôte par ex.
  • Liste d'adresses : jusqu'aà une adresse réseau pour chaque protocole pris en charge.
  • Identificateur de port : nom du port local et distant
  • Liste de capacités : types de périphérique par exemple
  • Palte-forme : la plate-forme matérielle

On peut accéder à des détails avec la commande show cdp neighbors (on peut rajouter details pour avoir les IP d'un voisin). CDP est utile mais doit être désactivé sur les ports qui ne communiquent pas avec du matériel Cisco pour éviter de donner ces informations à des hackers. Pour le désactiver en global : no cdp run. Sur une interface : no cdp enable.

La commande debug

Cette commande d'IOS permet d'afficher pour analyse tous messages générés par les processus, protocoles, mécanismes et évènement IOS. Elle sont toutes entrées en mode d'exécution priviligié. On peut affiner l'affichage : par exemple pour n'avoir que les messages en rapport avec ICMP, je peux utiliser debug ic icmp.

Elle se désactive avec no debug ic icmp ou undebug. On peut tout désactiver undebug all. Certaines commandes de débogage comme debug all et debug ip packet génèrent beaucoup de données et utilisent beaucoup de ressources. Le routeur doit alors afficher beaucoup de lignes et peut ne pas avoir assez de ressources.

Les messages de journal IOS sont par défaut envoyées à la consoles, mais pas au lignes virtuelles (SSH, telnet...). Vu que les résultats de la commande debug font partie de ces messages de journal, il faut utiliser terminal monitor pour les voir depuis une ligne virtuelle.

Pour désactiver cela, on utilise terminal no monitor.

Méthode de dépannage de base

Pour un dépannage de base, il faut suivre une méthode rigoureuse basée sur 6 étapes. Il faut d'abord déterminer la complexité du problème, en sachant combien de périphériques du réseau sont concernés. Si le problème concerne un seul périphérique, on commence sur celui-ci; si il concerne de nombreux périphériques, on commence par la connexion qu'ils ont en commun.

Les 6 étapes sont :

  • Identification du problème : À cette étape, il est important de discuter avec l'utilisateur
  • Élaboration d'une théorie des causes probables : Cette étape fait généralement naître plusieurs causes probables.
  • Test de la théorie en vue de déterminer la cause : En suivant notre raisonnement inductif, on va tester chacune des théories pour dégager la véritable cause du problème. On peut déterminer l'ordre de test grâce à Occham :D Si ça ne fonctionne pas, il faut continuer à chercher des théories.
  • Élaboration d'un plan d'action visant à résoudre le problème et implémenter la solution : Il faut implémenter la solution à notre cause trouvée
  • Vérification du fonctionnement de l'ensemble du système et implémentation des mesures préventives : On doit vérifier le fonctionnement de l'ensemble du système et implémenter des mesures préventives au besoin
  • Documentation des résultats des recherches et des actions entreprises : Pour référence ultérieure

Quand le problème ne peut être résolu immédiatement, Ou qu'un problème nécessite la décision d'un responsable ou d'un certaine expertise, le problème doit être transféré à qui de droit. La politique de l'entreprise doit clairement établir les conditions de transfert d'un problème.

Duplex et conflit

Deux périphérique ayant un lien direct entre eux doivent utiliser le même mode de duplex et la même vitesse: half ou full duplex, 10, 100 mbits/s... Il peut être négocié automatiquement, ou être configuré manuellement. Lorsque les modes de duplex ne sont pas identiques, les deux périphériques ne peuvent pas communiquer. CDP permet de détecter facilement les conflits de duplex, pas forcément évident à détecter avec de petits paquets comme avec ping. En effet, CDP affiche des messages de journal à propos des conflits de Duplex.

Problèmes d'adressage IP

Peuvent être détectés avec les commandes show ip int [brief], ou show interface [interface], ou show interfaces.

Attention aux périphériques finaux qui font APIPA, aussi. La plupart sont prévus pour utiliser un serveur DHCP pour se configurer.

Les problèmes de passerelle par défaut sont également possibles : utiliser la commande show ip route sur le routeur peut aider.