Couche R�seau

Document Sample
Couche R�seau Powered By Docstoc
					             Couche Réseau
                Djafer Baddou




11/22/2011                      1
             Rappel: Couche Liaison
   Cette couche définit les protocoles nécessaires pour un système de délivrer
      l'information à un autre système physiquement relié à savoir pour:
        – Connexion: protocole qui fournit le processus nécessaire à
           l'établissement, au maintien et à la libération des connexions.
        – Contrôle d‟erreur: protocole qui détecte et corrige, si possible, les
           erreurs dues au support physique et signale à la couche réseau les
           erreurs irrécupérables.
        – Contrôle de flux: protocole qui supervise le fonctionnement de la
           transmission des messages, la manière d'enchaîner les échanges
           selon un protocole normalisé ou non.
        – Format du message: protocole qui définit comment les données de
           haut niveau ( data-grammes IP ) sont transmis, trames. Deux familles
           de protocoles de liaison de données: BSC , HDLC.
   Ces définitions restent indépendante de la couche réseau, ce qui leur permet
      de s'adapter à chaque nouvelle technologie au fur et à mesure de leur
      apparition, Ethernet, Token ring, etc….
   On a dit des système physiquement liée ceci est vrai même à la présence des
      pont. Car les ponts ne modifier pas le contenu du message mais il filtre
      l‟adresse pour le passer vers sa destination.

11/22/2011                                                                        2
                         Introduction
   • La couche réseau assure les fonctionnalités de :
     l'adressage, le routage, le contrôle de flux et la détection
     et correction d'erreurs non réglées par la couche 2.
   • La couche réseau reçoit des segments de la couche
     transport et les transforme ( fragmentation + d‟en-tête) en
     IP-PDU appelé paquet et les transmet a la couche liaison.
   • La couche réseau reçoit et analyse aussi les paquets en
     provenance de la couche liaison.
        – S'ils lui sont adressés, elle doit `` décapsuler '' son en-tête les
          re-assemble en segments pour les transmettre à la couche de
          transport et au bon protocole de cette couche (TCP, UDP...).
        – S‟ils ne lui sont pas adressés, elle les ignore.
   Enfin la couche réseau gère les data-grammes des protocoles
     ICMP et IGMP.

11/22/2011                                                                      3
             Techniques De Propagation Des
                       Messages
   Comment les messages sont-ils propagés à
       l‟intérieur d‟un réseaux?
   Les messages sont propages en utilisant une des
       techniques suivantes:
   •   Commutation De Circuits
   •   Commutation De Paquets
      – data gramme
      – circuit virtuel.


11/22/2011                                           4
     Commutation De Circuits (CS)
  • Un circuit est réservé avant de commencer la transmission.
  • Il reste bloqué pendant toute la durée d‟émission des
    données.
  • Exemples: réseau téléphonique.
  • CS permet une communication garantie.
  • Pour les appels téléphonique, la majeure partie du temps, une
    partie ou l'autre parle. Donc la réservation des ressources
    pourrait être justifiée.
  • Mais l‟emploi de réseau à CS pour des transfert de données
    garantie n‟est pas recommande car une grande partie du
    temps le circuit réservé est à inactif (idle).



11/22/2011                                                          5
     Commutation De Paquets (PS)
     L'opération de commutation de paquets se fait comme suit:
      Des données sont transmises en paquets courts.
      Une limite supérieure typique sur la longueur de paquet est
        1000 bytes.
      Si une source a un plus long message à envoyer, le message
        est divisé en une série de paquets.
      Chaque paquet contient une partie des données de
        l'utilisateur plus quelques paramètres de contrôle.
      À chaque nœud en route, le paquet est reçu, brièvement
        stocké, et passé au prochain nœud.
      À chaque nœud le message pourra être découpé en paquets
        convenable à ce nœud.
      Le paquet est envoyé nœud par nœud jusqu‟ à sa
        destination.
11/22/2011                                                      6
                           CS vs. PS
    PS a un certain nombre d'avantages par rapport à CS:
         Plusieurs communication a PS peuvent dynamiquement
          partager un même lien de nœud-à-nœud. La transmission
          des données en paquets facilite cette tache.
         Mais, avec CS, le temps sur un lien de nœud-à-nœud est
          réservé en utilisant le multiplexage synchrone de division
          de temps. Un tel lien peut être inactif (idle) parce qu'une
          partie de son temps est consacrée à une connexion qui est
          à vide (idle).
         quand le trafic devient encombré sur un réseau de CS,
          futur appels seront bloqués jusqu'à ce que la charge sur le
          réseau diminue. Sur un réseau de PS des paquets sont
          encore acceptés, mais la livraison sera retardé.
         la priorité peut être employée. Ainsi, si un nœud a un
          certain nombre de paquets alignés (queued) pour la
          transmission, il peut transmettre le paquet de haut-priorité
11/22/2011d'abord.                                                     7
              Commutation de Paquets:
             Data gramme et Circuit Virtuel
    Soit une station a un message à envoyer par un réseau de
         commutation par paquets, PS.
    Le message est de longueur plus grande que la taille maximum
         de paquet.
    La station divise le message en paquets et envoie ces paquets,
         un par un, a travers le réseau.
    Comment le réseau manipulera t-il ce jet des paquets pendant
         leur livraison à la destination prévue. Deux techniques de
         commutation par paquets sont employées dans les
         réseaux contemporains:
        1. data gramme et.
        2. circuit virtuel.

11/22/2011                                                            8
             Technique de PS: Data gramme
    Chaque paquet est traité indépendamment et désigné sous le
       nom d'un data gramme. Cette technique a les propriétés
       suivantes:
      Chaque nœud choisit le prochain nœud par lequel le data
       gramme sera transmis.
    •  Les data grammes sont transmis indépendamment vers le
       nœud suivant ou ils sont collectés à nouveau.
    •  Ainsi tous les data grammes , ayant la même adresse de
       destination, ne suivent pas le même itinéraire, et ils
       peuvent arriver désordonner au nœud récepteur ou à la
       destination.
    •  Le nœud de réception peut reconstituer les data grammes
       à leur ordre original avant de les livrer à la destination.
    •  Dans quelques réseaux de data gramme, il appartient à la
       destination plutôt qu'au nœud de réorganiser les data
       grammes à nouveau.
11/22/2011                                                           9
             Technique de PS: Circuit Virtuel
        Dans l'approche de circuit virtuel, un itinéraire est établi
         avant que tous les paquets soient envoyés.
        Une fois l'itinéraire est établi, tous les paquets suivent le
         même itinéraire dans le réseau.
        Puisque l'itinéraire est fixé pour la durée du connexion
         logique, il est quelque peu semblable à un circuit dans un
         réseau de commutation à circuit.
        Mais ceci ne signifie pas que c'est un chemin réservé,
         comme dans la commutation de circuit.
        Car un paquet est encore mémorisé à chaque nœud, et
         aligné (queued ) à la sortie vers une ligne, alors que
         d'autres paquets sur d'autres appartenant a des utilisateurs
         differents mais de meme nœud peuvent partager
         l'utilisation de cette même ligne.
        Par conséquent le circuit est désigné sous le nom d'un
         circuit virtuel.
11/22/2011                                                          10
             Technique de PS: Circuit Virtuel
    La caractéristique principale de la technique de circuit virtuel
        est qu'un itinéraire entre les stations est installé avant le
        transfert de données.
       Chaque paquet contient un identificateur de circuit virtuel
        aussi bien que des données.
       Chaque nœud sur l'itinéraire pré-établi sait où diriger de
        tels paquets.
       Chaque station peut avoir plus d'un circuit virtuel à une
        même station:
             l'itinéraire liant deux stations peut être utilisée par des
              différentes utilisateurs de ces deux stations.
        Chaque station peut avoir des circuits virtuels à plus d'une
         station.
             Chaque station peut utiliser des différents liens simultanés
              comme itinéraires pour des différentes utilisateurs de cette
              station.
11/22/2011                                                                   11
             Figure 1: example de circuit virtuel




        A                                D   deux VCs partage
                    B             C          le lien B-C
        E                                F




11/22/2011                                                 12
             Circuit Virtuel vs. Data gramme
    Avantages des circuits virtuels:
       Dans l'approche de circuit virtuel, le nœud n'a pas besoin de
        prendre une décision de cheminement pour chaque paquet. Une
        décision est faite une fois seulement pour toutes les paquets en
        fixant un circuit virtuel.
       Avec un circuit virtuel le passage des paquets est plus rapide;
        car pas de décision de cheminement à prendre pour chaque
        paquet à chaque nœud.
       Dans le cas d‟un échangé prolonge le réseau peut fournir deux
        services liés au circuit virtuel qui sont avantageux :
               Le mode séquentiel: tous les paquets suivent le même
                itinéraire et donc ils arrivent dans l'ordre original. Mais Il
                faut introduire les séquences dans le cas des data
                grammes.
               La contrôle d'erreur est un service qui s'assure non
                seulement que les paquets arrivent dans l'ordre approprié,
                mais que tous les paquets arrivent correctement. Dans le
                cas des data grammes pas de garantie.
11/22/2011                                                                  13
             Circuit Virtuel vs. Data gramme
    Avantages de l'approche de data gramme:
      Puisque la phase d'installation de circuit est évitée. Ainsi,
       si une station souhaite envoyer seulement un ou quelque
       paquets, la livraison de data gramme sera plus rapide.
      Le service de data gramme est plus est flexible. Par
       exemple, si la congestion se développe dans une part du
       réseau, des data grammes entrants peuvent être conduits
       loin de la congestion.
      La livraison de data gramme est en soi plus fiable. Avec
       l'utilisation des circuits virtuels, si un nœud échoue, tous
       les circuits virtuels qui traversent ce nœud sont perdus.
       Avec la livraison de data gramme, si un nœud échoue, les
       paquets suivants peuvent trouver un itinéraire alternatif qui
       dévie ce nœud.
11/22/2011                                                         14
             Approches Architecturales
   La caractéristique la plus importante dans
      l’architecture Internet est le mode
      d’opération:
   1. Mode Sans Connexion.
   2. Mode a Connexion-orientée




11/22/2011                                      15
             Mode Sans Connexion
   •    Le mode sans connexion correspond à un
        mécanisme de data-gramme d’un réseau de
        commutation à paquet, PS, ou des data-grammes
        sont émis.
   •    Dans ce mode aucune connexion n‘est établie:
        – transmission sans vérifier à l'avance si l'équipement à
          atteindre et les nœuds intermédiaires ( routeurs)
          éventuels, sont bien actifs.
        – C'est alors aux équipements gérant le réseau
          d'acheminer le message étape par étape et en assurant
          sa temporisation jusqu'à ce que le destinataire soit actif.
        – Aucun garanti de livraison fiable, ou ordre séquentiel
          (bien que la couche liaison de données peut a un
          mécanisme de contrôle d'erreur).

11/22/2011                                                              16
      IP avec Mode Sans Connexion
   La couche réseau comporte un protocole connu par Internet
       Protocol, IP.
   IP est nécessaire pour accéder à un réseau particulier.
   Ainsi tous les nœuds ( stations ou routeurs ) d‟un réseau
       comportent un IP commun.
   IP fournit un service sans connexion, ou data-gramme, entre la
       source et la destination d‟un système.
   Chaque data gramme de la couche réseau est traitée
       indépendamment et conduite de la source à la destination à
       travers une série de routeurs et de réseaux.
   Pour chaque data gramme transmis par un nœud ( station ou
       routeur) , une décision de cheminement est prise au sujet
       du prochain nœud.
   Ainsi, différents data grammes peuvent prendre différents
       itinéraires entre la source et la destination.

11/22/2011                                                          17
       Mode Avec Connexion Orientée
   Dans le mode avec connexion, toute communication entre deux équipements
       suit le processus suivant:
   •   L'émetteur demande l'établissement d'une connexion par l'envoi d'un bloc
       de données spécial en mode sans connexion au récepteur.
   •   Si connexion refusée, communication n'aura pas lieu.
   •   Si connexion acceptée, communication est établie, un circuit dans le
       réseau reliant l'émetteur au récepteur est réservé.
   •   Dans un processus complexe cette phase peut inclure des négociation
       entre protocoles d‟émetteur et de réception telle que la taille des données
       et la temporisation de transfert.
   •   Originaire et destinataire établissent et maintiennent la connexion aussi
       long qu'ils ont des messages à échanger.
   •   Finalement, récepteur ou émetteur chacun d‟eux peut terminer la
       connexion par l‟envoie d‟une demande de terminaison a l‟autre.
   •   On s‟intéresse au transfert des données en utilisant le mode avec
       connexion orientée.
   •    Dans ce cas on a une commutation de paquet avec circuit virtuel.



11/22/2011                                                                           18
             Avantages IP avec Mode Sans
                     Connexion
   Non fiabilité: Le service offert par IP est non fiable:
        –    IP ne garantie pas que toutes les données seront fournies
        –    IP ne garantie pas que les données qui sont fournies arriveront
             dans l'ordre approprié.
   C'est la responsabilité de la prochaine couche supérieure (par
       exemple, TCP) de fixer toutes les erreurs qui se produisent.
   Cette non fiabilité a permet certain avantages pour le mode
       sans connexion:
   • Flexibilité: Puisque l'ordre de la livraison n'est pas garanti,
       les unités de données successives peuvent suivre
       différents chemins du réseau.
   • Robustesse: Cette flexibilité permet aussi au protocole de
       réagir à la congestion et à l'échec dans l'Internet en
       changeant des itinéraires.
11/22/2011                                                                     19
             Figure 2: Exemple d‟Opération




11/22/2011                                   20
             Exemple d‟Opération
   Le schéma 2 décrit l'opération d‟IP pour l'échange
      de données entre le poste A sur LAN1 et le poste
      B sur LAN2 qui sont reliés par un WAN à relais de
      trame.
   Les postes A et B et les routeurs doivent avoir un
      Internet Protocol identique.
   Les postes A et B doivent avoir les mêmes
      protocoles au-dessus de leur couche réseau.
   Les routeurs intermédiaires ont besoin seulement
      d‟implémenter jusqu‟à la couche réseau.



11/22/2011                                                21
               Exemple d‟Opération
   •    À partir des couches supérieures dans A la couche IP dans
        A reçoit des blocs de données à envoyer aux couches
        supérieures correspondantes dans B.
   •    IP attache son en-tête indiquant, entre autres, l‟adresse
        réseau globale de B. Cette adresse est de deux parties:
        1. Identificateur de réseau LAN 2 et.
        2. Identificateur de poste de destination B.
        L'en-tête est un IP-PDU qui est un paquet qu‟on a appelle
            ici un data gramme.
       Le data gramme est envoyé à la couche liaison, il est alors
        encapsulé avec le protocole liaison de LAN pour devenir
        une trame, qui est:
        1. Une en-tête de LLC puis.
        2. Une en-tête et queue (trailer) MAC. L‟en-tête comporte
            entre autre l‟adresse du routeur suivant.

11/22/2011                                                            22
             Exemple d‟Opération
   IP passe le data gramme au LLC avec les instructions de
       l'envoyer au routeur X.
   LLC passe alternativement cette information vers le bas à la
       couche MAC,
   MAC insère l'adresse du niveau MAC du routeur X dans son
       en-tête.
   Maintenant on a construit le trame qui inclut des données des
       couches plus élevées, l'en-tête d‟IP, l'en-tête de LLC, et
       l‟en-tête et la queue (trailer) MAC.
    La trame est envoyée au routeur X, selon les instructions
       de IP.
    Le routeur X décolle ( strips off) les champs de LAN par les
       protocoles des sous couches MAC et LLC et passe le data
       gramme à la couche IP.
    Le protocole IP analyse l'en-tête du data gramme pour
       déterminer sa destination, dans ce cas la destination B.

11/22/2011                                                          23
              Exemple d‟Opération
   Le protocole du routeur X doit maintenant prendre une
       décision de cheminement. Il y a trois possibilités:
       1. La destination B est relié directement à un des réseaux
           auxquels le routeur X est attaché. Si oui, le routeur
           envoie le data gramme directement à la destination B.
       2. Pour atteindre la destination, un ou plusieurs routeurs
           additionnels doivent être traversés. Si oui, une décision
           de cheminement doit être prise: À quel routeur le data
           gramme devrait-il être envoyé?
       3. Le routeur ne sait pas l'adresse de destination. Dans
           ce cas-ci, le routeur renvoie un message d'erreur à la
           source du data gramme.
   Dans les deux cas 1 et 2, IP dans le routeur X envoie le data
       gramme vers la prochaine couche inférieure incluant
       l'adresse globale du réseau de destination et les
       instructions de cheminement.

11/22/2011                                                             24
               Exemple d‟Opération
       La couche inférieure du routeur X construit une trame en
        encapsulant le data gramme avec les champs de protocole
        de relais de trame ( en-tête et queue) et le transmet à
        travers le WAN à un autre routeur Y.
       Dans ce cas l‟en-tête de la trame correspondant au relais
        de trame indique une connexion logique au routeur Y.
       Relais de trame du routeur Y décolle ( strips off) ses
        champs ( en-tête et queue) et récupère le data gramme. Il
        passe le data gramme à la couche réseau.
       IP protocole de la couche réseau du routeur Y analyse l'en-
        tête du data gramme. Il détermine, dans ce cas que la
        destination B est connectée directement au réseau LAN2
        duquel le routeur Y est attaché.



11/22/2011                                                            25
              Exemple d‟Opération
       IP passe le data gramme au LLC avec les
        instructions de l'envoyer vers la destination B.
       LLC passe alternativement cette information vers
        le bas à la couche MAC,
       MAC insère entre autre l'adresse du niveau MAC
        de destination B dans l‟en-tête du trame à
        envoyer.
       Le routeur Y envoie la trame directement à la
        destination B, selon les instructions IP.
       Maintenant que la trame arrive à la destination B.
        B fait le processus inverse de A pour obtenir les
        données.

11/22/2011                                                   26
                       Remarques
   •    à chaque niveau IP le data gramme peut être fragmente en
        data grammes de plus petite taille pour adapter au limitation
        de taille maximum de data gramme du prochain le réseau.
   •    chaque station peut également limiter la longueur de sa file
        d'attente (buffer ) pour que le réseau auquel est attachée ne
        pénalise pas le réseau plus rapide.
   •    Une fois que la limite de file d'attente est atteinte, toutes
        données additionnelles sont simplement ignorées.
   •    Si la fragmentation s'est produit, IP protocole dans le poste
        de destination mémorise les données jusqu'à ce que le
        message original en entier puisse être rassemblé.
   •    Ce bloc de données est alors passé à la couche supérieure
        dans le poste.


11/22/2011                                                          27
             Points de Conception
   Examinons les points de conception en détail:
   1. Encapsulation
   2. Contrôle de connexion
   3. Fragmentation et re-assemblement
   4. Durée de vie du Data gramme
   5. Contrôle d‟erreur
   6. Contrôle de flux
   7. Multiplexage
   8. Services de transmission
   9. Livraison ordonnée
   10. Routage
   11. Adressage
11/22/2011                                         28
             Points sur la Conception:
                        Encapsulation

   •     Chaque PDU contient les données de la couche
         supérieure et des champs de contrôle de
         l‟information.
   •     Le contrôle d‟information vient en trois
         catégories:
        1. Adressage,
        2. Code d‟Erreur (CE), et
        3. Contrôle de protocole ( type de protocole de la couche
           supérieure).
   •     L‟addition de contrôle d‟information au données
         est appelé encapsulation des données.
11/22/2011                                                          29
           Points de Conception:
               Contrôle de connexion
   Durant la phase conception, on doit décider quel
         mode de connexion est préférable.
   Pour le choix du mode sans connexion on doit
         considérer le IP-PDU comme un data gramme. Ce
         data gramme est traité indépendamment des
         autres data grammes. Ce mode est très utile
         (voir l‟avantage du mode).
   Pour le choix du mode avec connexion on doit
         considérer les étapes d‟établissement de la
         connexion. Dans ce mode, les IP-PDUs qui sont
         des paquets sont traités ensemble. Si une station
         prévoit un long échange de transfert de données,
         ce choix peut être tenu en compte ( voir avantage
         du mode )
11/22/2011                                                 30
              Points de Conception:
             Fragmentation et re-assemblage
   Au niveau de la couche application le PDU est appelé message.
   Toute couche inférieure à la couche application, le message
       peut être divisé en block de données, c‟est se qu‟on
       appelle fragmentation. Les raisons de fragmentation sont
       diverses:
   •   Le réseau de communication accepte seulement des
       blocks de données de taille définie: ATM limite les blocks à
       53 octets, Ethernet à 1526 octets.
   •   Le contrôle d‟erreur peut être plus efficace à des PDU de
       petites tailles parce que on a besoin de retransmettre que
       quelques bits en cas d‟erreur.
   •   Lien de transfert équitablement partagé entre différents
       messages avec un retard négligeable en cas de PDU à taille
       optimale.
11/22/2011                                                        31
              Points de Conception:
             Fragmentation et re-assemblage
   •   L‟allocation de mémoire sans saturation.
   •   En cas d‟opération de redémarrage et
       récupération des données perdues. La perte sera
       minime avec des blocks de petite tailles.
   A la conception on doit tenir compte d‟autre facteurs
       relative au blocks de tailles plus petites:
   • Le nombre de block est très grand donc la
       somme des temps des processus de tous les
       blocks est important.
   • Le nombre des interruptions d‟autres processus
       à chaque block arrivé est important.

11/22/2011                                                 32
               Points de Conception:
             Fragmentation et re-assemblage
   Le processus inverse du fragmentation est le re-assemblage.
   A quel point se fait-il le re-assemblage?
   A la destination:
        –    Solution plus facile,
        –    Mais dans ce cas on se trouve avec un nombre très
             importants de blocks à rassembler.
        –    Dans ce cas, la re-organisation et l‟ordre de séquence peut
             prendre beaucoup de temps.
        –    Car IP protocole mémorise les fragments jusqu'à ce que le
             message original en entier puisse être rassemblé.
   A chaque routeur:
        –    Re-assemblage et fragmentation se fait à chaque routeur.
        –    On peut avoir besoin de buffers à grand mémoire
        –    Tous les blocks doit passer par le même routeur, cas du
             circuit virtuel. Ceci impose l‟usage d‟un routage dynamique.

11/22/2011                                                                  33
             Points de Conception:
             Fragmentation et re-assemblage
   Au niveau de IP la technique de fragmentation introduit dans
        l‟en-tête du IP l‟information suivante:
   1. Identificateur du PDU (ID): C‟est le moyen par lequel on
        identifier le data gramme. C‟est une combinaison des
        adresses de source et destination, le numéro de port de la
        couche du protocole qui a généré les données (exemple:
        TCP), et d‟un identificateur fournit par cette couche du
        protocole.
   2. Longueur de donnée: C‟est la longueur du champ de
        données de l‟utilisateur en octets.
   3. Offset: C‟est la position d‟un fragment de données de
        l‟utilisateur dans le data gramme original avant
        fragmentation. C‟est un multiple de 8 octets (64 bits)
   4. More flag: C‟est un flag de test: 0 ( false ) ou 1 ( true )
   La figure 3 montre le processus de fragmentation.
11/22/2011                                                           34
             Figure 3: Exemple de fragmentation
Avec un MTU de 1498, la fragmentation se fait comme suit:


                             Données : 2276 octets




 20                                                  20
                  donnée: 1472 octets                     donnée: 794 octets

 LT=1492, Offset=0, more=1                           LT=814, Offset=184, more=0

 LT = longueur total, offset du trame ( 8-octet/64-bit units)




11/22/2011                                                                   35
              Points de Conception:
             Fragmentation et re-assemblage
   •     La construction d'un paquet IP dépend d‟une taille maximale,
         appelée MTU ( maximum transmission unit), que la trame peut
         l‟emporter.
   •     Chaque technologie a son spécifique MTU.
        – le paquet IP porté à l'intérieur d'une trame d'Ethernet/LLC peut
             avoir, au plus, 1478 octets de données d'utilisateur + 20 octets
             d'en-tête IP = 1498.
   •     Data gramme ne peut pas être plus grand que le MTU sur lequel
         est envoyé.
   •     Quand un routeur reçoit un data gramme plus grand que le MTU
         sur lequel il sera envoyé, le routeur divise le data gramme en
         fragments.
   •     La source crée un data gramme de longueur égale à la longueur
         entière du champ de donnée = 2276 octets de offset = 0, et un
         more flag = 0 (false).
11/22/2011                                                                  36
              Points de Conception:
             Fragmentation et re-assemblage
   La fragmentation peut être faite à n'importe quel
       poste ou routeur.
   Pour fragmenter un data gramme, le protocole IP
       performe l‟étape suivant, figure 3:
      1. Crée le nombre N d‟espaces désiré des data
         grammes et copie l‟en-tête original dans les
         data grammes.
      2. Divise le champ des données de l‟utilisateur
         reçue en N portions, le N –1 portions devrait
         être un multiple de 64 bits (8 octets) et le N
         ième devrait être inférieur ou égale aux
         premières N –1 portions,

11/22/2011                                                37
               Points de Conception:
             Fragmentation et re-assemblage
        3.   Placer les portions dans les nouveaux data grammes.
             – 2276 octets = 1472 + 794 octets.
        4.   Les champs de l‟en-tête de chaque nouveau data gramme est:
             1. Identificateur du PDU (ID): à déterminer, Il est le même
                pour tous les nouveaux data gramme
             2. Les longueurs de données: sont égales aux longueurs des
                donnée introduits,
             3. le flag more = 1 ( true ) pour les premiers N – 1 et 0 (false )
                pour le dernier data gramme, et.
             4. Le offset est égale à la somme de la longueur des
                précédentes portions des données divisée par 8. Donc:
                 –   L1 = 1472, LT1=1492, offset=0, more =1
                 –   L2 = 794, LT2=814, offset=184, more=0.



11/22/2011                                                                    38
              Points de Conception:
             Fragmentation et re-assemblage
   •     Le re-assemblage des data grammes est basé sur les adresses de
         source et de destination, le champ d'identification, et le protocole
   •     Pour re-assembler les data gramme, il faut avoir un espace de
         mémoire suffisant au point de re-assemblage.
   •     A mesure que les fragments de même ID arrivent:
        – leur champs de données sont introduit dans l‟espace mémoire
             réservé,
        – L‟introduction est dans l‟ordre de leur Offset de 0 jusqu‟au
             Offset le plus grand en vérifiant toujours le flag more,
             • si more = 1 plus de data grammes qui arrivent,
             • si more = 0 c‟est la fin.
   Le offset est utilisé à la place des numéro séquentiel parce que ceci
        permet des futures fragmentations fait par des routeurs
        successifs.

11/22/2011                                                                  39
Figure 4: exemple de Fragmentation

      TL=1492, Offset=0, more=1   1472       TL=814, Offset =184, more=0   794




  MTU = 820:             TL=820, Offset =0, more=1    800



                        TL=692, Offset =100, more=1   672



                        TL=814, Offset =184, more=0   794




11/22/2011                                                                       40
                 Points de Conception:
        Fragmentation et re-assemblage
   •     Une certaine méthode est nécessaire pour décider quand
         faut – il:
        –    Abandonner l‟effort de routage et.
        –    Libérer l'espace de mémoire occupés par des autres data
             grammes.
   •     Une des deux méthodes suivantes:
        1.   Un temporisateur de re assemblage est souvent employé
             pour fixer le temps de conservation des data grammes dans
             le buffer.
             •   Temporisateur déclenche quand le premier fragment arrive.
             •   Temporisateur détruit quand le more flag égal à 0 à l‟arrive du
                 dernier data gramme et le offset est dans l‟ordre.
             •   Si le temporisateur expire, les data grammes dans le buffer
                 seront détruits et le buffer est-il libéré (dans ce cas un ICMP
                 message «temps dépassé » est retourné).
        2.   Alternative: On peut aussi employer le champs temps à
             vivre « time to live » du premier data gramme arrivé.
11/22/2011                                                                         41
   Points de Conception: Durée de vie
                     d‟un data gramme
   •     Durée de vie d‟un data gramme ou Temps de vivre « time
         to live » est employé pour empêcher qu'un data gramme
         fait une boucle indéfiniment à travers l'Internet.
   •     Exemple dans le cas d‟une congestion, le data gramme
         peut prendre des chemins alternatifs mais n‟arrivera
         jamais à la destination.
   •     C'est indésirable parce qu'un data gramme circule sans
         fin consomme des ressources.
   •     Pour éviter ces problèmes, chaque data gramme peut être
         identifié par une durée de vie ou temps de vivre.
   •     Une fois que la vie expire, le data gramme est détruit.
   •     Dans le cas de processus de re-assemblage les data
         grammes détruits n‟arriveront jamais.
   •     On sait que le service IP ne fournit aucun garanti de
         livraison.
11/22/2011                                                         42
   Points de Conception: Durée de vie
                    d‟un data gramme
   L‟implémentation de la durée de vie dans un data gramme se
        fait en deux manières:
       1. Employer un compteur dans le data gramme. Chaque
            fois qu‟un data gramme traverse un routeur, le compte
            est décrémenté d‟une valeur déterminée auparavant.
       2. La durée de vie peut être une mesure vraie du temps.
            – Ceci exige que les routeurs doivent savoir, lorsque
               le data gramme arrive au routeur, la durée depuis la
               dernière fois le data gramme a passé par le routeur.
            – Cette durée sera décrémentée du champs de la
               durée de vie.



11/22/2011                                                            43
   Points de Conception: Durée de vie
                 d‟un data gramme
   La deuxième méthode d‟implémenter la durée de vie
       d‟un data gramme a l'avantage d‟être employée
       dans l'algorithme de re-assemblage:
      – C‟est qu‟on peut se servir de la vie de data
          gramme.
      – Le champ de vie continue à être décrémenté
          par la fonction de re-assemblage;
      – Comme avec la première approche, si la
          durée de vie expire avant de compléter le re-
          assemblage, les fragments reçus sont
          détruits.
11/22/2011                                                44
               Points de Conception:
                         Contrôle de Flux
   •     Le contrôle de flux est une fonction exécutée par le poste de
         réception pour limiter la quantité ou le taux de données qui sont
         envoyées par une entité de transmission.
   •     La forme la plus simple de contrôle de flux est la technique arrêt
         et attente « stop and wait », dont chaque PDU doit être reconnue
         avant que le prochain peut être envoyé.
   •     La forme la plus efficaces est la technique HDLC de fenêtre de
         glissage. Une quantité de données peuvent être envoyées sans
         reconnaissance.
   •     Cependant, la contrôle de flux au niveau de la couche IP permet
         seulement aux routeurs et à des stations de réception de limiter le
         taux auquel ils reçoivent des données.
   •     Pour le mode sans connexion la meilleure approche peut être
         d'envoyer des paquets de contrôle de flux à d'autres routeurs et à
         des stations de source leur demandant de réduire le flux des
         données, un exemple est données à la section ICMP.
11/22/2011                                                                 45
               Points de Conception:
                         Contrôle d‟Erreur
   •     Les techniques de contrôle d'erreur sont nécessaires pour réagir
         contre la perte ou les dommages des données et des paramètres.
   •      Le contrôle d'erreur est mise en application en tant que deux
         fonctions séparées: détection et retransmission d'erreur.
   •     Pour réaliser la détection des erreurs, l'expéditeur insère un code
         de détection d'erreurs dans la PDU transmise. Le récepteur
         vérifie la valeur du code sur la PDU entrante.
   •     Si une erreur est détectée le récepteur jette PDU.
   •     Quand il ne reçoit pas une reconnaissance à la PDU dans un
         temps raisonnable, l'expéditeur retransmet la PDU.
   •     Quelques protocoles utilisent également un code de correction
         d'erreurs, qui permet au récepteur non seulement de détecter des
         erreurs mais, dans certains cas, pour les corriger.
   •     On a vue que ces techniques sont appliquées au niveau de la
         couche liaison.
11/22/2011                                                                     46
              Points de Conception:
                       Contrôle d‟Erreur
   •     Le service IP ne garantit pas la livraison réussie de chaque
         data gramme.
   •     Quand un data gramme est jeté par un routeur, le routeur
         devrait essayer de renvoyer de l'information à la source, si
         possible.
   •     IP de la source peut employer cette information pour
         modifier sa stratégie de transmission et peut informer des
         couches plus élevées.
   •     Pour signaler qu'un data gramme spécifique a été jeté, un
         certain moyen d'identification de data gramme est
         nécessaire.
   •     Le data gramme peut être jeté pour un certain nombre de
         raisons, y compris l'expiration de vie, la congestion, et
         l'erreur de FCS.
11/22/2011                                                              47
             Points de Conception:
                     Multiplexage
   Multiplexage est toujours lié au concept de
      l'adressage. On trouve plusieurs forme de
      multiplexage:
   • Une forme de multiplexage est les connections
      multiples a un seul poste donc au niveau de la
      couche physique.
   • Le multiplexage peut également être accompli
      par l'intermédiaire des noms des ports, qui
      permettent les connections simultanées
      multiples. Par exemple, connections multiples
      de TCP ou chaque connexion est liée une port.

11/22/2011                                             48
               Points de Conception:
                             Multiplexage
   •     Le multiplexage est employé également a l‟interface d'un
         niveau à l'autre dans la même station. Il est employé dans
         deux manières:
        1.   Multiplexage vers le haut se produit quand la couche de plus
             haut niveau contient protocoles multiples. Ils sont
             multiplexés, ou partagent, une seule connexion vers la couche
             plus bas. Ceci peut être nécessaire pour une utilisation plus
             efficace du service des couche plus bas ou pour fournir
             plusieurs connections au couche de plus haut niveau dans un
             environnement où réellement une seule connexion a la
             couche de niveau plus bas existe.
        2.   multiplexage vers le bas signifie que la couche de plus haut
             niveau est connectée a une couche de plus bas niveau ayant
             des protocoles multiples. Cette technique peut être employée
             pour fournir la fiabilité, l'exécution, ou l'efficacité.

11/22/2011                                                               49
             Points de Conception:
               Services de transmission
   Un protocole peut fourni une variété de service additionnel a
       utiliser par un poste. On mentionne trois exemples:
   •   Priorité: Certains messages, tels que des messages de
       contrôle, doivent envoyer à l'entité de destination avec un
       minimum retard. Un exemple serait une demande de
       terminate-connection. C‟est une priorité assignée sur une
       base de message. En outre, la priorité peut être assignée
       sur une base de connexion.
   •   QoS: le qualité de service est toujours relie au mode de
       connexion fournit.
   •   Sécurité: le mécanisme de sécurité peut être utilise pour
       faire de restriction à l‟accès au système.
   Tous ces services de transmission peuvent être tenu en compte
       lors de la conception.
11/22/2011                                                       50
               Points de Conception:
                      Contrôle de Livraison
   •     Les risques que les PDUs n'arriveront pas dans l'ordre dans
         lequel elles ont été envoyées existent toujours.
   •     Car PDUs peuvent traverser différents chemins à travers le
         réseau.
   •     L‟ordre est préférable même parfois est obligatoire. Par exemple,
         si un fichier est transféré entre deux systèmes nous voudrions
         être assurés que les records du fichier reçu sont dans le même
         ordre comme ceux du fichier transmis.
   •     Si chaque PDU est donnée un numéro unique, et des numéros
         sont assignés de façon séquentiel, alors c'est une tâche simple
         pour que le récepteur re-ordre à nouveau les PDUs reçus. C‟est
         l‟exemple de fenêtre de glissage.
   •     Problème: on ne peut pas faire la répétition de nombres de
         séquence (modelo). Dans ce cas-ci, le nombre maximum d'ordre
         doit être plus grand que le nombre maximum de PDUs.
   •     Comme nous avons vu, la fragmentation donne un meilleur choix
         par l‟introduction dans le format de données les champs de Offset
         et le flag more.
11/22/2011                                                               51
               Points de Conception:
                                  Routage
   Chaque station ou routeur maintient un tableau de routage qui
        présente, pour chaque réseau de destination possible, le
        prochain routeur auquel le data gramme d'Internet devrait
        être envoyé.
   La tableau de routage peut être statique ou dynamique.
        •    Une table statique, cependant, pourrait contenir les itinéraires
             alternatifs si un routeur particulier est indisponible.
        •    Une table dynamique est plus flexible en répondant aux états
             d'erreur et de congestion.
   Dans l'Internet, par exemple, le moment où un routeur « shut
      down », ou une congestion est produit, tous ses voisins
      enverront un rapport de statut à d'autres routeur et stations
      pour mettre à jour leurs tables de routage.


11/22/2011                                                                      52
             Points sur la Conception:
                                 Routage
   Des tables de routage peuvent être employées pour soutenir
       d'autres services d'interconnexion de réseaux, la sécurité
       et la priorité. Par exemple:
        •    Différents réseaux pourraient être classifiés pour manipuler
             des données sécuritaire. Le mécanisme de routage doit
             s'assurer qu'on ne permet pas à des données d'un niveau
             donné de sécurité de passer par des réseaux pas sécuritaire (
             not cleared).
        •    Une autre technique de routage est routage de source. La
             station de source indique l'itinéraire en incluant une liste
             séquentielle de routeurs dans le data gramme. Ceci encore, a
             pu être utile pour des besoins prioritaires ou sécurité .
   En conclusion, nous mentionnons un service lié au routage qui
       est l‟enregistrement d'itinéraire. Pour enregistrer un
       itinéraire, chaque routeur introduit son adresse internet
       dans une liste d'adresses dans le data gramme. Ce
       dispositif est utile pour des test et de correction (debug).
11/22/2011                                                                   53
                    Adressage

   Le concept d‟adressage en communication
       architecture est un concept très complique. Il
       couvre les sujet suivant:
   •   Niveau d‟adressage
   • Champ (scope) d‟adressage
   • Identificateur de connexion
   • Mode d‟adressage.




11/22/2011                                              54
             Figure 5: Adressage




11/22/2011                         55
       Adressage: Adressage de Niveau

   Le niveau d'adressage signifie le point de communication entre
       chaque niveau d‟une architecture donnée. Car chaque
       niveau a son propre adressage pour communiquer
       l‟information au niveau suivant.
   •   Typiquement, une adresse unique est associée à chaque
       poste (Workstation ou serveur) et à chaque nœud
       intermédiaire ( routeur) dans une configuration.
   •   Une telle adresse est, en général, une adresse de niveau
       réseau.
        –    Dans le cas de l'architecture de TCP/IP, on dit l‟adresse IP, ou
             l‟adresse Internet.
        –    Dans le cas de l'architecture OSI, on dit Point d„Accès au
             Service de réseau, NSAP.
   L'adresse de niveau réseau est employée pour acheminer un
       PDU à travers des réseaux jusqu‟à sa station destination.

11/22/2011                                                                      56
       Adressage: Adressage de Niveau
   Une fois que les données arrivent à la station de destination, elles
        doivent être conduites à un certain processus ou application dans
        la station.
   •    Une station comprend des applications multiples et une
        application peut soutenir des utilisateurs multiples.
   •    Chaque application et, peut-être, chaque utilisateur d'une
        application, est assignée un identificateur unique dans la station,
        désigné par:
       – port dans l'architecture de TCP/IP
       – par Point d„Accès de Service, SAP dans l'architecture OSI.
   Par exemple, application courriel, une application de transfert de
        fichier etc…
   Au minimum chaque application aurait un port ou une SAP unique
        dans la station.
   De plus, l'application de transfert de fichier pourrait soutenir des
        transferts simultanés multiples, dans ce cas, chaque transfert est
        dynamiquement assigné un port ou SAP unique.

11/22/2011                                                                57
   Adressage: Étendue (Scope ) d‟Adressage

   L'adresse IP ou NSAP est une adresse globale.
   Les caractéristiques principales d'une adresse
       globale sont comme suit:
        •    Non – ambiguïté global: Une adresse globale identifie
             une station unique. Des synonymes sont permis. C'est-
             à-dire, une station peut avoir plus d‟une adresse
             globale.
        •    Applicabilité globale: Permet à un réseau de
             transmettre des données de n'importe quelle station,
             attachée à n'importe quel réseau, à n'importe quelle
             autre station attaché à n'importe quel autre réseau.



11/22/2011                                                       58
   Adressage: Étendue (Scope ) d‟Adressage

   Résolution d‟adresses c‟est un autre niveau de l'adressage qui
       est exigé.
   La couche physique ne sait pas localiser un poste de son
       adresse IP.
   Une trame envoyée à travers un lien physique donné doit
       employer un format du trame qui correspondant a chaque
       technologie MAC ( Ethernet , token ring, ATM, etc… ),
   Par conséquent, les adresses dans la trame doivent être des
       adresses hardware.
   Ainsi l'adresse IP du prochain routeur ou station doit être
       traduite à une adresse hardware équivalente avant qu'un
       paquet puisse être envoyé dans une trame.
   C‟est ce qu‟on appelle résolution d‟adresse.

11/22/2011                                                          59
   Adressage: Étendue (Scope ) d‟Adressage


   L‟adressage du scope est approprié pour des
       adresses de niveau réseau.
   Un port ou une SAP au-dessus de niveau de réseau
       est unique dans une station donnée mais n'a pas
       besoin d'être globalement unique.




11/22/2011                                               60
Adressage: Identificateur de Connexion
   Pour le transfert de données en mode sans connexion ( data gramme ), une
        adresse globale est employée avec chaque transmission de données.
   Pour le transfert de données en mode avec connexion (circuit virtuel ) on a le
        scénario suivent:
   •    L'entité 1 sur le système A demande une connexion à l'entité 2 sur le
        système B, en utilisant l'adresse globale B-2. A cette étape le mode est
        sans connexion.
   •    Quand B-2 accepte la connexion, un identificateur de connexion ( un
        numéro ) est fournie et est employée par les deux entités pour de future
        transmission.
   •    Un aspect principal de réseau virtuel est que le format d'adresse est
        simple et uniforme.
   •    Ne peut pas employer des adresses hardware parce que différentes
        technologies ont différentes structures d'adresse.
   •    La structure d'adresse doit être indépendante de n'importe quelle
        structure particulière d'adresse hardware.
   •    Le poste émetteur met l‟adresse IP de destination en paquet.
   •    L'adresse de destination peut être interprétée par n'importe quel routeur
        intermédiaire.
   •     Les routeurs examinent l'adresse et envoie le paquet vers la destination.

11/22/2011                                                                           61
Adressage: Identificateur de Connexion

   L'utilisation de l‟identificateur de connexion a
       plusieurs avantages:
        –    overhead réduits: Un identificateur de connexion est
             plus court que des adresses globales.
        –    Routage: l‟identificateur de connexion sert à identifier
             l'itinéraire aux systèmes intermédiaires, tels que des
             nœuds de commutation par paquets, pour manipuler le
             futur PDUs.
        –    Multiplexage: Une entité peut utiliser plus d‟une
             connexion logique en même temps. Par conséquent,
             PDU doit s‟identifier par un identificateur de connexion.
        –    Usage d‟information d‟état: Une fois la connexion est
             établie les stations peuvent maintenir l‟information de
             l‟état de connexion en utilisant l‟identificateur de
             connexion.
11/22/2011                                                               62
         Adressage: Mode d‟Adressage

   Généralement, une adresse se rapporte à une station
        ou à un port. On dit adresse individuel ou
        unicast.
   Il est possible aussi qu‟une adresse se rapporte à
        plus d'une station ou port en même temps. Dans
        ce cas l‟adresse est une adresse:
        1. multicast, destiné à un spécifique sous-ensemble
           d'entités. Par exemple, un utilisateur pourrait souhaiter
           envoyer une note à un certain nombre d'individus.
        2. broadcast destiné pour tous les destinataires dans le
           réseau. Par exemple, le centre de contrôle de réseau
           souhaite informer tous les utilisateurs que le réseau va
           être shut down.
11/22/2011                                                             63
                         Adresses IP
   •     Chaque réseau dans un Internet de TCP/IP est assigné un network
         numéro unique.
   •     Chaque poste sur un réseau spécifique est assigné un numéro de
         poste ou q‟on appelle adresse du poste mais qui est unique
         seulement dans ce réseau.
   •     Les numéros des réseaux sont unique.
   •     Alors que les adresses (numéro ) des postes peuvent être
         réutilisées sur différents réseaux;
   •     L‟adresse IP du poste est la combinaison du numéro du network
         (préfixe ) et l‟adresse du poste (numéro du poste ) (suffixe).
   •     La combinaison du préfixe, numéro de network, et du suffixe,
         numéro du poste, sera unique.
   •     L'attribution des numéros de réseau doit être coordonnée
         globalement; l'attribution des adresses des postes peut être
         contrôlée localement.

11/22/2011                                                             64
                   Adresses IP: Format
   •     Chaque champs adresses de source et de destination dans l'en-
         tête du IP-PDU contient 32 bits d‟adresse global IP (voir RFC 790
         ).
   •     L‟adresse globale IP est composée d'un identificateur de réseau,
         préfixe, et d'un identificateur de station, suffixe.
   •     La partie réseau de l'adresse IP vient toujours en tête, préfixe, la
         partie station est donc toujours a la queue, suffixe.
   •     Le format de l’adresse IP attribue une partie des 32 bits pour
         le préfixe et l’autre partie pour le suffixe
   •     Les 32 bits d‟adresse IP sont représentés sous forme de quatre
         entiers de huit bits, séparés par des points. Par exemple:
        •    L‟adresse IP: 11000000 11100100 00010001 00111001.
        •    Est représenté comme: 192.228.17.57.
   •     Cette notation est appelé: notation décimale pointée ( dotted
         decimal notation).

11/22/2011                                                                      65
             Adresses IP: Routeurs et nœuds
                           Intermédiaires
   •   Les adresses IP dépendent
       sur l‟adresse du réseau                Ethernet 131.108.0.0
   •   Mais pour les nœuds
       intermédiaires (routeurs ) qui     131.108.99.5
       sont connectes a plus d‟un
       réseau, quelle adresse réseau
       va – t – on attribuer a                       223.240.129.2
                                                                      Token Ring
       l‟adresse IP du nœud?                                         223.240.129.0
   •   Plus précisément L‟adresse
       IP spécifie une interface, ou le
       point d'attachement du                              223.240.129.17
       réseau, mais pas l‟ordinateur
   •   Donc un nœud (routeur) peut
                                                   76.0.0.17
       avoir un multiple d‟adresses
       IP – une pour chaque
       interface                                   WAN 76.0.0.0



11/22/2011                                                                     66
       Adresses IP: Classes de Réseaux

   •   Une partie des 32 bits du champs d‟adresse IP est attribuée
       au préfixe, l‟autre partie au suffixe
   •   Le partage du champ d‟adresse dépend de l‟exigence de
       chaque technologie et son besoin d‟un grand ou petit
       réseau.
   •   Donc on doit disposer des formats d‟adresse multiple qui
       permet grand et petit préfixes
   •   Chaque format est appelée classe d‟adresse
   La composition d‟adressage IP donnée au dessus vient
       principalement en trois classes :




11/22/2011                                                       67
        Adresses IP: Classes de Réseaux

   1.   Classe A: on réserve
       •      un octet pour le réseau,
       •      trois octets pour les stations.
       Est utilisée pour quelque réseaux chacun avec plusieurs stations.
   2.   Classe B: on réserve
       •     deux octets pour le réseau,
       •     deux octets pour les stations.
       Est utilisée pour un nombre moyen de réseaux chacun avec un
             nombre moyen de stations.
   3.   Classe C: on réserve
       •     trois octets pour le réseau,
       •     un octet pour les stations.
   Est utilisée pour plusieurs réseaux chacun avec quelques stations.


11/22/2011                                                                 68
        Adresses IP: Classes de Réseaux

Class          Octet 1      Octet 2   Octet 3     Octet 4


 A      0      préfixe                 suffixe                1.0.0.1 to
                                                              126.255.255.254
         10       préfixe                    suffixe          128.0.0.1 to
 B
                                                              191.255.255.254

         110         préfixe                        suffixe   192.0.0.1 to
 C
                                                              223.255.255.254

         1110      multicast                                  224.0.0.0 to
 D
                                                              239.255.255.255

         1111       Réserver pour un future usage             240.0.0.0 to
 E
                                                              254.255.255.255

 11/22/2011                                                                     69
         Figure 6: Formats d‟Adresse IP




11/22/2011                                70
      Adresses IP: Classes de Réseaux
  •     Une classe est identifiée par les quatre premiers bits du
        champs d’adresse.
  •     En fait, pendant que le paquet voyage d‟un nœud a un
        autre pour aboutir a sa destination, chaque nœud pour
        faire la décision de la prochaine nœud intermédiaire, doit
        reconnaître le numéro du réseau de la destination ( préfixe
        ).
  •     La reconnaissance du préfixe se fait en analysant les
        quatre premiers bits du champs d‟adresse pour savoir la
        classe:




11/22/2011                                                            71
      Adresses IP: Classes de Réseaux
       •     Si le premier bit est 0 l'adresse est de classe A. On dispose de 7 bits
             pour identifier le réseau et de 24 bits pour identifier la station.
       •     Si les deux premiers bits sont 10 l'adresse est de classe B. On
             dispose de 14 bits pour identifier le réseau et 16 bits pour identifier la
             machine.
       •     Si les trois premiers bits sont 110 l'adresse est de classe C. On
             dispose de 21 bits pour identifier le réseau et 8 bits pour identifier la
             machine.
       •     Si les quatre premiers bits de l'adresse sont 1110 il s'agit d'une classe
             d'adressage spéciale, la classe D. Cette classe est prévue pour faire
             du ``multicast'', ou multipoint. Contrairement aux trois premières
             classes qui sont dédiées à l'``unicast'' ou point à point.
       •     Si les quatre premiers bits de l'adresse sont 1111 il s'agit d'une classe
             expérimentale, la classe E. La RFC 1700 précise ``Class E addresses
             are reserved for future use'' mais n'indique pas de quel futur il s'agit...




11/22/2011                                                                                 72
         Table 1: Adresses IP Possibles




11/22/2011                                73
      Adresses IP: Classes de Réseaux

   Les nombres d‟adresse possibles dans chaque
      classes est une combinaison des nombre de
      réseaux et nombres de machines. Selon le
      tableau 1 et figure 5 on a pour:
   1. Classes A: 1 à 126 réseaux et 224 stations
      possibles pour chaque réseau, c-à-d 16 777 214
      machines différentes. Notez que l‟octet 0
      (00000000) et 127 (01111111) sont réservés.
   2. Classe B: 214= 16 384 réseaux (128.0 à 191 255) et
      65 534 machines pour chaque réseau.
   3. Classe C: 221=2 097 152 réseaux (de 192.0.0 à
      223.255.255) et 254 machines pour chaque
      réseau.
11/22/2011                                                 74
       Adresses IP: Classes de Réseaux
   Classe     Bits       nombre    Bits     nombre Maximum de
             préfixe   Maximum de suffixe     postes / réseau
                         réseaux



      A        7          128        24        16777216



      B       14         16384       16          65536



      C       21        2097152      8            256

11/22/2011                                                      75
    Adresses IP: Adresses particulières
   Certaines adresses IP ont une signification particulière.
   Par convention le numéro de poste 0 n'est pas attribué.
   Par exemple, sur toutes les machines, l'adresse 127.0.0.0 indique la machine
         elle-même ( loopback ).
   À l'inverse, si tous les bits du champ poste sont à 1 cela désigne toutes les
         machines du réseaux, c'est ce que l'on appelle une adresse de
         ``broadcast'', c'est à dire une information délivrée à tout le monde.
   On évite au maximum l'usage d'une telle adresse IP sur les réseaux, pour des
         raisons d'efficacité (encombrement de la bande passante).
   Quelques exemples d'adresses avec une signification particulière :
   0.0.0.0: poste inconnu, sur ce réseau
   0.0.0.1: poste 1 de ce réseau
   255.255.255.255: Tous les postes
   138.195.52.1: le poste 52.1 du réseau 138.195.0.0
   138.195.0.0: Ce poste sur le 138.195.0.0
   193.104.1.255: Tous les postes du 193.104.1.0
   127.0.0.1: Ce poste (boucle locale).
   Remarque : les deux premières adresses, avec un numéro de réseau égal à 0,
         ne peuvent figurer que comme adresse source dans des cas bien
         particuliers comme le démarrage d'une station.
11/22/2011                                                                         76
              Adresses Spéciales de IP
    Préfixe    Suffixe       Type d‟adresse                  But
   Tous=0     Tous=0       machine elle même   Utiliser durant le redémarrage
   réseau     Tous= 0      Réseau lui même     Sert comme identificateur du
                                               réseau
   réseau     Tous= 1      Broadcast direct    Broadcast sur un réseau donne

   Tous= 1    Tous= 1      Broadcast limite    Broadcast sur un LAN
   127        quelconque   Loopback            Teste




11/22/2011                                                                      77
              Adresses IP: Autorisation
   •     A travers un internet, chaque préfixe doit être unique.
   •     Toute organisation qui veut connecte a l‟Internet doit
         obtenir des numéros de réseau ( préfixes ) a partir des
         autorités appelées ISP (Internet Service Providers ).
   •     For un internet privé, le choix des préfixes est prie par
         l‟organisation elle même.
   •     Généralement, l‟administrateur des réseaux assigne un
         préfixe unique pour chaque réseau de l‟organisation pour
         assurer.
   •     Dans les cas, une fois le choix du numéro de réseau est
         obtenue, il doit être unique et appartient a une classe
         définie, l‟organisation peut alors assigner les numéros de
         machine.



11/22/2011                                                            78
  Adresses IP: Précisions sur le broadcast
   Tout d'abord il faut préciser qu'une adresse de broadcast est forcément une
        adresse de destination, elle ne peut jamais apparaître comme une adresse
        source dans un usage normal des réseaux.
        Il y a quatre formes possibles de broadcast :
   1.   ``Limited broadcast'' (255.255.255.255) Une telle adresse ne peut servir
        que sur le brin local et ne devrait jamais franchir un routeur.
        Ce n'est malheureusement pas le cas (précisions en cours). L'usage de
        cette adresse est normalement limitée à un hôte en phase d'initialisation,
        quand il ne connait rien du réseau sur lequel il est connecté.
   2.   ``Net-directed broadcast''
        Tous les bits de la partie hôte sont à 1. Un routeur propage ce type de
        broadcast, sur option.
   3.   ``Subnet-directed broadcast''
        C'est le même cas que ci-dessus mais avec une adresses IP comportant
        des subnets.
   4.   ``All-subnets-directed broadcast''
        C'est le cas où tous les bits des subnets et hôtes sont à 1. Ce cas
        possible théoriquement est rendu obsolète depuis la RFC 922 (1993).




11/22/2011                                                                       79
   Adresses IP: Précisions sur le multicast
   En règle générale l'adressage multicast est employé pour s'adresser
        en une seule fois à un groupe de machines.
   Dans le cas d'un serveur vidéo/audio, cette approche induit une
        économie de moyen et de bande passante évidente quand on la
        compare à une démarche ``unicast'' : un seul datagramme est
        routé vers tous les clients intéressés au lieu d'un envoi massif
        d'autant de datagrammes qu'il y a de clients.
   Les adresses de type ``multicast'' ont donc la faculté d'identifier un
        groupe de machines qui partagent un protocole commun par
        opposition à un groupe de machines qui partagent un réseau
        commun.
        La plupart des adresses multicast allouées le sont pour des
        applications particulières comme par exemple la découverte de
        routeurs (que nous verrons ultérieurement lors du routage IP) ou
        encore la radio ou le téléphone/vidéo sur Internet (``Mbone'').
   Les plus couramment utilisées sur un LAN sont :
        224.0.0.1 Toutes les machines sur ce sous réseau
        224.0.0.2 Tous les routeurs sur ce sous réseau

11/22/2011                                                                  80
             Adresses IP: Groupe multicast
   Si une adresse multicast démarre avec les bits 1110 par contre
         pour les 28 bits suivants son organisation interne diffère de
         celle des classes A, B et C.
   Les 28 bits n'ont pas de structure particulière par contre on
         continue à utiliser la notation décimale pointée : 224.0.0.0 à
         239.255.255.255.
   Un groupe d'hôtes qui partagent un protocole commun utilisant
         une adresse multicast commune peuvent être répartis
         n'importe où sur le réseau.
   L'appartenance à un groupe est dynamique, les hôtes qui le
         désirent rejoignent et quittent le groupe comme ils veulent.
   Il n'y a pas de restriction sur le nombre d'hôtes dans un groupe
         et un hôte n'a pas besoin d'appartenir à un groupe pour lui
         envoyer un message.



11/22/2011                                                            81
    Adresses IP: Groupe multicast et MAC
   Une station Ethernet quelconque doit être configurée pour accepter le multicast, c'est à dire
         pour accepter les trames contenant un datagramme munis d'une adresse IP de
         destination qui est une adresse multicast.
   Cette opération sous entend à juste titre que la carte réseau sait faire le tri entre les trames.
         En effet les trames multicast ont une adresse MAC particulière : elles commencent
         forcément par les trois octets 01:00:5E.
   Ceux-ci ne désignent pas un constructeur en particulier mais sont possédés par l'ICANN
         (ex IANA).
         Restent trois octets, soit 24 bits dont le premier est forcément à 0 pour désigner les
         adresses de multicast (contrainte de la RFC 1700).

         Du fait qu'il n'y a pas assez de place dans l'adresse MAC pour faire tenir les 28 bits
         du groupe multicast, cette adresse n'est pas unique. On peut même préciser que
         pour chaque trame comportant une adresse multicast il y a 25 adresses IP de
         groupes multicast possibles !
         Ce qui signifie que si les 23 bits de poids faible ne suffisent pas à discriminer la
         trame il faudra faire appel au pilote de périphérique ou à la couche IP pour lever
         l'ambiguïté.
         Quand une trame de type multicast est lue par la station Ethernet puis par le pilote de
         périphérique, si l'adresse correspond à l'une des adresses de groupe multicast
         préalablement configurées, le datagramme franchit la couche IP et une copie des
         données est délivrée aux processus qui ont ``joint le groupe multicast''.
         La question est de savoir comment les trames de type multicast atteignent justement
         cette station Ethernet ? La réponse se trouve dans un protocole nommé IGMP et que
         nous examinerons dans le prochain chapitre concernant IP.
11/22/2011                                                                                         82
                 Adresses IP: Limitations

   •     La croissance des numéros de networks et la complexité des
         routage rendre l‟adressage sous forme de classes très limites.
   •     D‟une part, l‟espace des adresses IP était épuisée.
   •     D‟autre part, choisir une classe parmis les trois classes
         disponibles A, B, C, laisse plusieurs numéros d‟adresse non
         utilisés.
   •     deux mécanismes ont été inventés pour surmonter les limitations:
        1.   Adressage sous –réseau ( subnet addressing )
        2.   Adressage sans classe ( Classless Addressing )
   •     Les deux ont en commun un mécanisme de masquage.
   •     Les tableaux d‟adressage pour chaque routeurs ou stations
         doivent avoir deux informations pour chaque adresse:
        1.   Les 32 bits pour l‟adresse IP
        2.   32 bits pour une adresse masque ( soit subnet mask ).
   •     Le masque 32 bits est composé d‟une partie de bits a 1 de même
         grandeur en bits que le préfixe réseau, et une partie de bits a 0 de
         même grandeur en bits que le suffixe poste.
11/22/2011                                                                      83
    Adresses IP: Sous Réseaux et Masquage

•     En 1984 un troisième niveau de hiérarchie est mis en place : le
      ``subnet'' ou sous-réseau pour permettre aux administrateurs
      de gérer plus finement de grands réseaux.
•     Considérez un Internet , Figure 7, qui inclut un ou plusieurs
      WAN et un certain nombre de site,
•     Chaque site contient un certain nombre de LANs: LAN X, Y, Z.
•     On suppose qu‟on utilise la classe C: plusieurs réseaux
      chacun avec quelques stations.
•     la structure reliant les LANs est supposé très complexe.
•     Une approche à ce problème est d'assigner un numéro de
      network unique à tout les LANs dans le site.
•     Du point de vue du reste de l'Internet, le site est un simple
      réseau, ce qui simplifie l'adressage et le routage.

11/22/2011                                                         84
             Figure 7: exemple de subnet




11/22/2011                                 85
  Adresses IP: Sous Réseaux et Masquage

   •    Chaque LAN dans le site est assigné un numéro subnet
        pour permettre une fonction facile des routeurs dans le
        site.
   •    Puisque c‟est la classe C, dans ce cas on réserve trois
        octets réseau, un octet station.
   •    L‟octet de station de l‟adresse IP est divisée en un
        numéro de subnet et un numéro de poste.
   •    Le ``subnet'' utilise les bits de poids fort de la partie poste
        de l'adresse IP, pour désigner un réseau, figure 8. Le
        nombre de bits employés est laissé à l'initiative de
        l'administrateur.




11/22/2011                                                                86
      Figure 8: découpage d‟adresse IP




11/22/2011                               87
  Adresses IP: Sous Réseaux et Masquage

   Un octet a pour valeur maximum:
                        255 = 26 + 27 + 25 + 24 + 23 + 22 + 21 + 20
                            = 128 +64 +32 +16 + 8 +4 +2 +1

   Nous avons d'une part 27 + 26 = 192, utilisés pour adresser les sous-réseau
   et d'autre part 25 + 24 + 23 + 22 + 21 + 20 = 63 utilisés pour adresser les postes
   Ce qui permet de caractériser 4 sous réseaux:
                  Sous- réseau                            Id du sous réseau
                    LAN 0       00                                     00
                    LAN 1       01                                      64
                    LAN 2       10                                     128
                    LAN 3       11                                      192

   de 62 machines chacun (63 moins l'adresse de broascast, le ``0'' n'étant pas
        compté).


11/22/2011                                                                              88
  Adresses IP: Sous Réseaux et Masquage

   La machine d'adresse 1 sur chaque sous-réseau, aura comme
       adresse IP .
             Sous réseau           Décomposition        Adresse IP.
                    00               00 + 1 = 1           192. 228.17.1
                    01               64 + 1 = 65          192. 228.17.65
                    10               128 + 1 = 129        192. 228.17.129
                    11               192 + 1 = 193        192.228.17.193


   Donc l‟adresse IP de chaque machine est composée:
   1. de la partie identifiant le réseau : 192. 228.17 et
   2. un numéro calculer a partir de la somme:
        1.   du numéro de subnet: 0, 64, 128 ou 192 et
        2.   l‟adresse réelle de la machine affectée par le segment LAN
             dont elle appartient.
11/22/2011                                                                  89
  Adresses IP: Sous Réseaux et Masquage

   •     Donc les routeurs locaux dans le site doivent acheminer les
         données en se basant sur:
        –    Cette adresse IP.
        –    Un masque subnet.
   •     Le masque de subnet soustrait le numéro du subnet: 0, 64,
         128 ou 192 du numéro du poste: 1 dans ce cas.
   •     L‟exemple de figure 7 montre l‟usage de subnet. Les deux
         routeurs R1 et R2 sont configurés avec un masque subnet
         de valeur 255.255.255.192.
   •     Un paquet d‟adresse de destination 192.228.17.57 arrive a
         R1 venant du reste du network ou du LAN Y.
   •     Le tableau 2 montre que le calcul de masque montre que le paquet doit
         être envoyé au subnet 1.
   •     Alors le routeur vérifie le subnet 1 dans sa base de donnée pour conclure
         que le paquet doit être envoyé au LAN X.

11/22/2011                                                                           90
 Tableau 2: Adresses IP: Sous Réseaux et Masquage


   Le routeur R1 applique le masque du subnet pour déterminer a
       quel subnet le paquet doit être envoyé :

                                Représentation binaire                Dotted Decimal

      Adresse IP                11000000.11100100.00010001.00111001   192.228.17.57

      Masque du subnet          11111111.11111111.11111111.11100000   255.255.255.192

      Bitwise AND entre         11000000.11100100.00010001.00100000   192.228.17.32
      adresse et Masque=
      numéro de net et subnet
      Numéro du subnet          11000000.11100100.00010001.001        1
      numéro du machine         00000000.00000000.00000000.00011001   25



11/22/2011                                                                              91
  Adresses IP: Sous Réseaux et Masquage

   Les stations aussi emploient le masque subnet pour prendre la
        décision de cheminement.
   Le tableau suivant montre le résultat d‟une division de sous d‟un site
        en sub-net:

   Numéro sous- réseau   ``Netmask'„     ``Broadcast'„     Adressage de poste.
   192.228.17.00         255.255.255.192     00 + 63 = 63      .1 à .62.
   192.228.17.64         255.255.255.192     64 + 63 = 127     .65 à .126.
   192.228.17.128        255.255.255.192     128 + 63 = 191    .129 à .190.
   192.228.17.192        255.255.255.192     192 + 63 = 255    .193 à .254.

   Soit un total de 62 x 4 = 248 postes possibles pour cette classe C avec
        un masque de sous réseau, au lieu des 254 postes sans masque.
   La RFC 950 donne plus de précisions,
   la RFC 1878 est une table de tous les sous-réseaux possibles.

11/22/2011                                                                       92
                      Adresses IP: CIDR
   En 1992 la moitié des classes B étaient allouées.
   •   Avec ce rythme, plutôt 1994, il n'y aurait plus de classe B
       disponible et l'Internet aurait pu mourir.
   •   La croissance du nombre de réseaux se traduisait par une
       saturation des routes. Donc usage limites des routeurs.
   Ces considérations ont conduit l'IETF a mettre en place le routage
       Internet sans classe CIDR (``Classless InterDomain Routing'' )
       pour permettre plus de flexibilité dans la taille du subnet; en
       particulier, des valeurs entre 256 et 65536.
   CIDR est basé sur la constatation suivante:
        –    Si on considère un réseau qui contient 9 postes.
        –    On a besoin donc seulement d‟un suffixe de quatre bits pour
             représenter toutes les valeurs possibles de postes
        –    Mais la classe C qui a le plus petit nombre de postes possibles,
             dispose de 8 bits pour le suffixe postes.
        –    Donc pour utiliser 9 postes, ISP est oblige a assigner 255 postes
        –    Sans classe permet a l‟ISP d‟assigner un préfixe de 28 bits et donc le
             réseau peut avoir seulement un maximum de 14 postes, 0 pour
             broadcast.
11/22/2011                                                                            93
                     Adresses IP: CIDR

        –    Dans le cas du mécanisme sans classe, ISP peut
             attribuer un préfixe de 28 bits de grandeur et suffixe de
             4 bits de grandeur.
        –    Dans ce cas on peut attribuer a un client soit par
             exemple: 128.211.96.16 avec 28 bits suffixe.
        –    Le masque dans ce cas est de 255.255.255.240
        –    Comme la Notation Décimale Pointée est utilise pour faciliter
             au humain d‟entrer l‟adresse IP a l‟ordinateur, Une notation
             CIDR est utilisée pour le même but:
                        adresse IP / # bits du préfixe
                         Soit donc 128.211.96.16/28



11/22/2011                                                                   94
                  Adresses IP: CIDR

   •     Avec CIDR on peut assigner 2 sous- réseaux qui ont
         chacun 14 postes par exemple
   •     Préfixe est calculer en utilisant la logique AND:
   •     Network 1: 128.211.96.16 / 28 ← 28 bits préfixe
   •     Network 2: 128.211.96.32 / 28
   •     Masque: 11111111 11111111 11111111 11110000
   •     Net 1:     10000000 11010011 01100000 0001––––
        – Les adresses IP sont entre 128.211.96.17 et
            128.211.96.30,
   •     Net 2:     10000000 11010011 00000000 0010––––
        – Les adresses IP sont entre 128.211.96.33 et
            128.211.96.40,


11/22/2011                                                    95
             Résolution des Adresses

   Les adresses IP sont virtuelles parce qu'elles sont maintenues par le
        logiciel.
   Le hardware ne comprend pas le rapport entre une adresse IP et un
        réseau ou le rapport entre une adresse IP et un ordinateur
        particulier.
   Une trame envoyée à travers un lien physique donné doit employer un
        format du trame qui est dépendant de la technologie MAC dans
        le cas du LAN ( Ethernet , token ring, etc… ),
   Par conséquent, les adresses dans la trame doivent être des adresses
        hardware, exemple dans le cas du LAN on l‟appelle adresse MAC.
   Donc avant que le protocole puisse envoyer un paquet à travers un
        réseau physique, Il doit traduire l‟adresse IP de l'ordinateur (
        station ou routeur ) de destination en adresse équivalente du
        hardware.
   C‟est ce qu‟on appelle résolution d‟adresse.
   On dit qu‟une telle adresse IP serait résolue à la correcte adresse
        hardware.
11/22/2011                                                                 96
    Figure 9: Illustration de résolution des Adresses
                     pour un simple internet




11/22/2011                                              97
             Résolution des Adresses

   Soit le réseau de la figure 9,
   Les postes A et B sont attaches au même réseau
       physique ( par exemple même LAN ).
   Si une application dans A envoie des données à une
       application dans B, l‟application utilise l‟adresse
       IP de B comme adresse de destination.
   Mais le protocole dans A résout l‟adresse IP de B à
       l‟adresse hardware de B.
   Le protocole donc utilise cette adresse hardware
       pour envoyer la trame directement à B.


11/22/2011                                                   98
             Résolution des Adresses
   Par contre, si une application dans B envoie un message à une
        application dans le poste F qui est attache à un autre réseau (
        autre LAN),
   Le protocole dans A ne peut pas résoudre l‟adresse de F.
   Mais, le protocole dans A détermine tout d‟abord que le paquet doit
        être transmit au routour R1.
   Le protocole dans A doit donc résoudre d‟adresse de R1 et lui envoie
        le paquet.
   Une fois le paquet arrive à R1, le protocole dans R1 détermine que le
        paquet pour joindre F doit être envoyé à R2 d‟abord.
   Le protocole dans R1 doit donc résoudre l‟adresse de R2 et lui envoie
        le paquet.
   Finalement, R2 reçoit le paquet, détermine que la destination est F.
   R2 est attache au réseau physique de F.
   R2 résout donc l‟adresse de F et lui délivre le paquet.
   Conclusion: le protocole de chaque station peut résoudre seulement
        l‟adresse du plus proche nœud dont elle est relier directement.

11/22/2011                                                                 99
             Résolution des Adresses
   • L‟algorithme utilisé pour la traduction ( résolution
     ) de l‟adresse IP a l‟adresse hardware dépend du
     protocole et du schéma d‟adressage du
     hardware.
   • Exemple: la méthode de résolution de l‟adresse
     IP a une adresse Ethernet est différente de la
     méthode de résolution d‟une adresse IP a une
     adresse ATM.
   • Cependant, on a trois méthodes de base pour
     établir la résolution d‟adresse:
      – Vérification (lookup ) de Table
      – “Calcul direct”
      – Échange de Message
11/22/2011                                                  100
  Résolution des Adresses: Vérification de
                                     Table
   •   Chaque Routeur ou station contient une table pour chaque préfixe ( réseau)
   •   Chaque Table consiste d‟une matrice contenant des pairs ( d‟adresse IP , son
       equivalent adresse hardware).
   •   Cet exemple montre une table pour le réseau préfixe 197.15.3.0 / 24.
   •   Donc chaque adresse IP dans la table commence avec un préfixe de 24 bits
   •   L‟implémentation peut gagner de l‟espace et du temps par stocker seulement le
       suffixe.

             IP address (32 bits)                 Hardware address (48 bits)
                  197.15.3.2                           0A:07:4B:12:82:36
                  197.15.3.3                          0A:9C:28:71:32:8D
                  197.15.3.4                           0A:11:C3:68:01:99
                  197.15.3.5                           0A:74:59:32:CC:1F
                  197.15.3.6                           0A:04:BC:00:03:28
                  197.15.3.7                           0A:77:81:0E:52:FA
11/22/2011                                                                             101
 Résolution des Adresses: Calcul direct
   •   Le calcul directe consiste a implémenter une relation
       mathématique entre l‟adresse IP et son équivalent adresse
       hardware.
   •   Chaque fois qu‟un ordinateur est ajoute au réseau, on lui assigne
       un suffixe et une équivalente adresse hardware.
   •   Une fois, le routeur veut résoudre une adresse IP, il va seulement
       appelé cette fonction avec comme argument l‟adresse IP pour
       obtenir l‟adresse hardware.
        – Exemple:
             • Poste avec adresse IP 229.123.1.1 est assigne une adresse
               hardware 1;
             • Poste avec adresse IP 229.123.1.2 est assigne une adresse
               hardware 2;
            • etc.
   •   Le calcul se fait: logical AND avec la valeur 000000FF.

                       hardware_address = ip_address & 0xff

11/22/2011                                                                  102
    Résolution des Adresses: Échange de
                           Message
   •     un poste qui doit résoudre une adresse IP envoie à
         travers un réseau un message demande demandant
         l'adresse hardware équivalente à l‟adresse IP.
   •     Le poste reçoit une réponse portant l'adresse du
         hardware correspondante.
   •     La demande pourrait être envoyée:
        1.    A un des postes serveurs qui contiennent toutes les
             tables d‟adresses ou
        2. A tous les stations, message broadcast ou unicast, et
             la station qui contient la réponse doit répondre.
   •     ARP ( Address Resolution Protocol ) c‟est le protocole
         qui défini les format des messages demande et réponse.


11/22/2011                                                          103
      Résolution des Adresses: Format du
                 Message ARP pour Ethernet
   • RFC 826 montre les différents format de ARP
   • Le schéma montre un format spécifique pour Ethernet: 32
     bits adresse IP et 48 bits adresse hardware
   Bits      0                   8                  16                               31

                 d’adresse type Hardware : 0001          d’adresse type IP : 0800

             H. addr. length      P. addr. length               Operation

                                 Sender’s hardware address, part 1

                    Sender’s H. address pt. 2            Sender’s P. address pt. 1

                    Sender’s P. address pt. 2             Target H. address pt. 1

                                  Target hardware address, part 2

                                      Target protocol address

11/22/2011                                                                                104
                 Figure 10: Messages             ARP

                                Frame
   Ethernet frame               type
          S Source Dest.
 Preamble F                     0806           data        CRC
          D Addr. Addr.
      7      1    6        6      2      46 – 1500          4      octets


   LLC frame            LLC
                                        data
                      I-frame

                         2            44 – 1498                    octets

ARP
message                ARP                      Padding

11/22/2011                                                            105
                      28                          16      octets
                Adresses IP dans C/C++
   in-addr.arpa": structure qui permet de définir la relation entre les
      adresses IP et les noms
   From /usr/include/netinet/in.h

   /* Internet address
    * This definition contains obsolete fields for
    * compatibility with SunOS 3.x and 4.2bsd. The
    * presence of subnets renders divisions into fixed
    * fields misleading at best. New code should use
    * only the s_addr field.
    */

   struct in_addr      {
     union {
           struct      { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;
           struct      { u_short s_w1,s_w2; } S_un_w;
           u_long      S_addr;
     } S_un;
   #define s_addr       S_un.S_addr /* should be used for all code */
   };

11/22/2011                                                                106
               Fonctions Utiles
    unsigned long inet_addr( char* cp )
      – Conversion d‟adresse string a la valeur 32
        bits
      – Example: inet_addr(“129.0.0.1”)
   socketAddress.sin_addr.s_addr = inet_addr(
     charIPAddress );


   char * inet_ntoa(struct in_addr in)
     – Conversion d‟adresse IP de 32 bits a un
       string en format décimal pointé.

11/22/2011                                           107
             Adresses IP dans Java
   • Class java.net.InetAddress
   Une classe qui représente les adresses IP et un
     ensemble de méthodes pour les manipuler
   static InetAddress getByName(String host)
        – Crée une instance de InetAddress basée sur une adresse string
        – String peut être une adresse IP format décimal pointe (ex.
          “129.0.0.1”), ou host name
   static InetAddress getByAddress(byte[] address)
        – Crée une instance de InetAddress basée sur des bytes contenant
          les 4 valeurs d‟adresse IP
   String getHostAddress( )
        – Retourne un string décimal pointe pour une adresse IP
   byte[] getAddress( )
        – Retourne array de bytes pour une adresse IP



11/22/2011                                                                 108
                 Le Protocole IP
   Jusqu‟à présent la norme de IP utilisée dans des
       réseaux de TCP/IP est la version 4, IPv4.
   Elle est officiellement défini dans RFC 791.
   IP fait partie de l‟ensemble TCP/IP et est le protocole
       le plus largement répandu comme protocole
       d'interconnexion de réseaux.
   Dans cette partie on va examiner:
   1. Services du protocole IPv4
   2. Format du PDU du protocole IPv4
   3. Protocole de Contrôle de Message Internet
       (ICMP).

11/22/2011                                                   109
             Le Protocole IP: Services
   Rappelez que les services fournit par des
      protocoles à des couches adjacentes sont
      exprimés en termes de:
        1. Primitifs: indique la fonction à exécuter.
        2. Paramètres: sont employés pour passer des données
           et des paramètres.
   IP fournit deux primitifs de service à l'interface de la
       prochaine couche plus élevée:
        1. Le primitif Send: qui est une demande, request, de
           transmission d'une unité de données.
                 SEND(src,dst,prot,TOS,TTL,BufPTR,en,Id,DF,opt)
        2. le primitif Deliver: est employé par IP pour annoncer a
           la couche supérieure l'arrivée d'une unité de données.
                  RECV(BufPTR,prot,&src,&dst,&TOS,&len,&opt)


11/22/2011                                                           110
             Le Protocole IP: Services
   Les paramètres liés aux deux primitifs sont:
       –   Adresse de source
       –   Adresse de destination
       –   Protocole: c‟est l‟utilisateur de IP, ex: TCP
       –   Indicateurs de type de service: pour spécifier le type de traitement
           de PDU pendant sa transmission.
       –   Identification: combinaison d‟adresses et du protocole de
           l‟utilisateur pour identifier le PDU. Utile pour le re-assemblage et
           reportage d'erreur
       –   Identificateur Don‟t fragment: indique si des données ont besoin
           d‟être fragmentées
       –   Time to live: en secondes
       –   Longueur de données
       –   Option de Données: options demande par l‟utilisateur de IP.
       –   Données.
       Les paramètres identification, don‟t fragment, time to live sont présent
           dans le primitif Send mais pas dans Deliver. L‟utilisateur IP n‟a pas
           besoin d‟eux.

11/22/2011                                                                         111
             Le Protocole IP: Services
        Autres paramètres optionnel:
             – Sécurité: champ indiquant niveau de
               sécurité.
             – Routage de source: champ pour la liste
               des adresses des routeurs a traverser.
             – Enregistrement d'itinéraire: champ pour
               enregistrer les routeurs visités
             – Identification du stream.
             – Timestamp: champ pour ajouter le temps a
               chaque passage de PDU par un nœud.


11/22/2011                                                112
        Le Protocole IP: Format PDU
   La figure 11 montre le format d‟un data gramme IP, RFC 791. Il
        est composé de:
   •    4 bits Version : spécifie la version du protocole IP.
        –    Pour vérifier que l'émetteur et le destinataire sont bien en phases
             avec la même version.
        –    La version 4 qui est utilisée sur l'Internet,
        –    quelques implémentations de la version 6 existent et soient déjà en
             expérimentation.
   •     4bits IHL (Internet Header Length): la longueur de l'en-tête
         en mots de 4 octets ( ou 32 bits).
        –    La taille standard de cette en-tête fait IHL = 5 mots de 4 octets, donc
             la longueur de l‟en-tête est de 5 x 4 = 20 octets = 160 bits, dans ce
             cas pas d‟options
        –    si IHL = 10, la longueur de l‟en-tête est de 10 x( 4 octets ) = 40
             octets = 320 bits.
        –    La taille maximale est telle que IHL = 23 + 22 + 21 + 20 = 15, donc la
             taille maximale de l‟en-tête est 15 x 4 = 60 octets = 480 bits, dans ce
             cas options sont présentes.

11/22/2011                                                                             113
   Figure 11: le format d‟un data gramme IPv4
   Bits      0         4         8                 16      19                     31
             Version       IHL   type de Service            Longueur Totale

                        Identification             Flags     offset du Fragment

                 Time to live        Protocole             Header Checksum

                                       Adresse de Source

                                     Adresse de Destination

                                         Options + padding

                                     Data: up to 65,516 octets


             Maximum packet size: 65,536 octets

11/22/2011                                                                             114
        Le Protocole IP: Format PDU
   •     8 bits (4 utiles) TYPE OF SERVICE: indiquent au routeur le
         service à offrir pour ce data gramme.
        –    Bits 0-2 Precedence.
        –    Bit 3     Retard: 0 = Normal, 1 = Low.
        –    Bit 4     Throughput: 0 = Normal, 1 = High.
        –    Bit 5     Fiabilité:   0 = Normal, 1 = High.
        –    Bits 6-7 Reserve pour un future usage
   •     16 bits TOTAL LENGTH: donne la taille du data gramme,
         en-tête plus données, en octets.
        –    Avec 16 bits on peut avoir une valeur de 65535 octets
        –    Mais MTU impose une limitation de taille.

   Les 3 champs prochains sont prévus pour contrôler la fragmentation
        des data grammes. La fragmentation est nécessaire pour ne pas
        dépasser le MTU impose par le prochain nœud.


11/22/2011                                                              115
        Le Protocole IP: Format PDU
   •     16 bits IDENTIFICATION: C'est un identificateur de paquet.
        –    Ensemble ce nombre avec l'adresse de source, l'adresse de
             destination, et le protocole d'utilisateur sont prévus pour identifier le
             data gramme.
        –    Donc ce nombre devrait être unique pour l'adresse de la source,
             l'adresse de destination, et le protocole d'utilisateur pendant le
             temps où le data gramme sera dans l'Internet.
   •     3 bits FLAGS:
        –    1 bit pour le flag « more »: data grammes sont fragmentes en petits
             data gramme. Chaque data grammes a son arrive au récepteur. Celui
             ci vérifie le flag more pour voir s‟il y a d‟autre data gramme qui vont
             arriver ( more =1) ou non ( more = 0 ).
        –    1 bit pour le flag « don‟t fragment »: si par exemple la destination
             n‟a pas les capacités de fragmentation, le flag « don‟t fragment » =
             1, fragmentation interdit. Si « don‟t fragment » = 1 et data gramme
             plus grand que MTU, il sera écarté.
        –    1 bit est réservé pour un future usage.

11/22/2011                                                                               116
        Le Protocole IP: Format PDU
   •     13 bits FRAGMENT OFFSET: offset Indiquant où dans le
         data gramme original que ce fragment appartient:
        –    mesuré en unités de 64 bits.
        –    Donc les fragments autres que le dernier fragment ont le
             champs de donnée un multiple de 64 bits, leur flag more = 1.
        –    Le dernier fragment est de flag more = 0.


   •     8 bits TTL ``Time to live'„: indique, en secondes, la durée
         restante avant que ce paquet expire.
        •    ce champ n'est qu'un compteur décrémenté d'une unité à
             chaque passage dans un routeur.
        •    255 secondes maximum temps de vivre pour un data
             gramme sur le net.
        •    Son objet est d'éviter la présence de paquets fantômes
             circulant indéfiniment.
11/22/2011                                                                  117
        Le Protocole IP: Format PDU
   •     8 bits PROTOCOL: pour identifier le type
         protocole responsable du format et du contenu
         des données, qui peut être a titre d‟exemple:
        –    1       pour    le protocole ICMP
        –    6       pour    le protocole TCP
        –    17      pour    le protocole UDP.


   •     16 bits HEADER CHECKSUM: pour s'assurer de
         l'intégrité de l'en-tête.
        –    Lors du calcul de ce ``checksum'' ce champ n‟est pas
             considéré dans la somme, il est de valeur 0.
        –    A la réception, par routeur ou destination, de chaque
             paquet, la couche IP re-calcule ce « checksum », si elle ne
             correspond pas à celle trouvée dans l'en-tête le data gramme
             est écarté sans message d'erreur.
        –    Dans le calcul on considère le variation du « Time to live »

11/22/2011                                                                  118
        Le Protocole IP: Format PDU
   •     32 bits SOURCE ADDRESS: Adresse IP de l'émetteur de
         l'origine du data gramme.
   •     32 bits DESTINATION ADDRESS: Adresse IP du
         destinataire ( non intermédiaire nœud ) du data gramme.

   •     variable bits IP OPTIONS: Le protocole IP utilise ce champ
         pour coder les options demandées par l'utilisateur
         d'envoi.
        –    Leur codage est optionnel. Mais une fois codées, leur
             implémentation est nécessaire.
        –    Les options les plus courantes concernent :
             • Des problèmes de sécurité.
             • Des spécifications de routage.
             • Des enregistrements d'heure.

11/22/2011                                                            119
Le Protocole IP: Format PDU
        – Le format du champ option est:
             • 8 bits type d‟option:
                 – 1 bit copied flag: option copie dans tous paquets (= 1) ou non (=0)
                 – 2 bits class ( = 0 contrôle ( décision de routage , sécurité ), 1 = … )
                 – 5 bits numéro ( = 0 fin de liste, = 2 sécurité, = 3 et = 9 routage )
             • 8 bits longueur d‟option c‟est la somme des bits de chaque option
               ( compte le type, longueur, et donnée ), utiliser pour offset.
             • Multiple de 8 bits données de l‟option.
   Exemple: Option de routage
                         type length                 data
                   |10000011| variable| 8 bits pointer| route data |

        – Route data consiste de série d‟adresse IP ( 32 bits) le data
          gramme va traverser.
        – Le pointer indique le offset de chaque adresse

   • PADDING (32 bits ): Remplissage pour aligner sur 32 bits...

11/22/2011                                                                                   120
         Le Protocole IP: Conclusion
   En conclusion partielle quel est le rôle de la couche
       IP ?
   1. Son principal rôle est le routage des data
       grammes.
   2. elle peut fragmenter les données de taille
       supérieure au MTU du support physique à
       employer.
   Le protocole IP ne donne aucun garanti quand la
       livraison ou l‟ordre de livraison.




11/22/2011                                                 121
                     Protocole ICMP
   Les paquets circulent d'un nœud vers un autre jusqu'à leur
        destination. Il peut y avoir:
   •      des ruptures de lignes de communication,
   •      des machines peuvent être:
        –       à l'arrêt,
        –      en pannes,
        –       déconnectées du réseau ou
        –      incapables de router les paquets car problème de congestion.
   •      Paquets IP peuvent alors ne pas être délivrés à leur destinataire.
   •      Il faut informer la source du type de problème pour qu‟elle réagit.
   •      le protocole IP ne contient rien qui permet de détecter l‟échec de
          transmission.
   •      Nous avons vu que le protocole IP ne vérifie pas si les paquets
          émis sont arrivés à leur destinataire dans de bonnes conditions.

11/22/2011                                                                 122
Protocole ICMP: système de messages d'erreur

   •     C'est pourquoi un protocole de contrôle des
         erreurs connu sous le nom de ICMP (Internet
         Control Message Protocol) est introduit dans la
         couche IP à coté du protocole IP.
   •     ICMP est défini dans la RFC 792.
   •     ICMP permet aux destinataires ( routeurs ou
         stations ) d'informer la source sur des erreurs
         de transmission,
   •     Ainsi, quand un message d'erreur arrive pour
         un paquet émis, c'est la couche IP elle-même
         qui gère le problème, la plupart des cas sans
         informer la couche supérieure.
11/22/2011                                                 123
             Protocole ICMP: Message
   •     Bien que ICMP soit au même niveau que IP, c'est un
         utilisateur IP.
   •     Un message ICMP est construit et alors passé à IP, qui
         encapsule le message avec une en-tête IP pour former un
         data gramme.
   •     IP alors transmet le data gramme résultant de la façon
         habituelle.
   •     Puisque les messages ICMP sont transmis dans des data
         grammes IP, leur livraison n'est pas garantie et leur
         utilisation ne peut pas être considérée fiable.
   •     Donc, il peut arriver qu'un paquet d'erreur rencontre lui-
         même un problème de transmission, dans ce cas on ne
         génère pas d'erreur sur l'erreur.


11/22/2011                                                            124
             Figure 12: Format du Message ICMP



   Bits         0     4        8              16                   31

                    Type           Code                Checksum

                                        Paramètres

                           Contenu du message: longueur variable




11/22/2011                                                              125
       Protocole ICMP: Format du Message
   •      La figure 12 montre le format général des différents
          types des messages ICMP :
   •      Chaque message ICMP a un type particulier qui
          caractérise le problème qu'il signale.
   •      Une en-tête de 32 bits qui est commune pour tous les
          types des messages ICMP est composé comme suit :
        –    8 bits TYPE: spécifie le type de message ICMP. La
             valeur détermine le reste des champs du format.
        –    8 bits CODE: spécifie les paramètres du message. Il
             complète l'information du champ précédent.
        –    16 bits CHECKSUM: est utilisé avec le même
             mécanisme de vérification que pour les data grammes
             IP mais ici il ne porte que sur le message ICMP
             (rappel : le checksum de l'en-tête IP ne porte que sur
             son en-tête et non sur les données véhiculées).

11/22/2011                                                            126
Protocole ICMP: Format du Message
   • 32 bits Paramètres: pour des paramètres très spécifiques.
   • Bits variables Contenu du message: Information
     additionnelle qui spécifie plus en détail le message:
      – Les cas dans lesquels le message ICMP se rapporte à
        un antérieur data gramme IP, ce champ inclut l'en-tête
        entier plus les 64 premiers bits des données de l‟original
        data gramme IP.
      – Ceci permet à la source de comparer le message ICMP
        entrant avec l‟ antérieur data gramme.
      – La raison d'inclure les 64 premiers bits de données est
        pour permettre au module IP dans le poste source de
        déterminer quels protocole de niveau supérieur était
        impliqué.


11/22/2011                                                           127
Protocole ICMP: Types de Message
   Message De Destination Inaccessible (Unreachable )
        Quand une passerelle ne peut pas délivrer un data gramme IP, elle envoie un message
           ICMP ``destination unreachable'' à l'émetteur et le code détaille a quelle point le
           problème.
      Bits         0         4        8                   16                                   31
                        Type =3             Code                      Checksum
                                                       unused
                                Internet Header + 64 bits of Original Data Datagram

   ICMP Fields:
   Type 3
   Code 0 = net unreachable; 1 = host unreachable; 2 = protocol unreachable; 3 = port
       unreachable; 4 = fragmentation needed and DF set; 5 = source route failed.
   16-bit Checksum
   IP Fields:
   Destination Address: The source network and address from the original datagram's data.

   The internet header plus the first 64 bits of the original datagram's data. This data is used by the
       host to match the message to the appropriate process. If a higher level protocol uses port
       numbers, they are assumed to be in the first 64 data bits of the original datagram's data.

11/22/2011                                                                                                128
Protocole ICMP: Types de Message
   Time Exceeded Message:
   Chaque nœud décrémente la valeur du « time to live » du data gramme et le rejette
      quand la valeur du TTL arrive à zéro et envoie un message ICMP à l'émetteur
      pour le tenir au courant.
       Bits         0        4       8                16                          31
                        Type =11          Code                   Checksum
                                                 unused
                            Internet Header + 64 bits of Original Data Datagram
   ICMP Fields:
   Type 11
   Code 0 = time to live exceeded in transit; 1 = fragment reassembly time exceeded .
   16-bit Checksum
   IP Fields:
   Destination Address: The source network and address from the original datagram's
       data.

   The internet header plus the first 64 bits of the original datagram's data. This data is
      used by the host to match the message to the appropriate process. If a higher
      level protocol uses port numbers, they are assumed to be in the first 64 data bits
      of the original datagram's data.

11/22/2011                                                                                    129
Protocole ICMP: Types de Message
   Redirect Message
   Quand une passerelle détecte une erreur de routage, elle fait deux choses :
              1. Elle envoie à l'émetteur du paquet un message ICMP ``re-direct.''
              2. Elle redirige le paquet vers la bonne destination.
        Cette re-direction ne règle pas les problèmes de routage car elle est limitée aux
              interactions entres passerelles et hôtes directement connectés.
        La propagation des routes aux travers des réseaux multiples est un autre problème.
       Bits            0        4         8                  16                            31
                           Type =5             Code                    Checksum
                                           Gateway Internet Address

   ICMP Fields:                 Internet Header + 64 bits of Original Data Datagram
   Type 5
   Code 0 = Redirect datagrams for the Network. 1 = Redirect datagrams for the Host. 2 = Redirect
          datagrams for the Type of Service and Network. 3 = Redirect datagrams for the Type of
          Service and Host.
   16-bit Checksum
   IP Fields:
   Destination Address: The source network and address from the original datagram's data.



11/22/2011                                                                                          130
Protocole ICMP: Types de Message
   Source Quench Message
   •  Quand un data-gramme IP arrive trop vite pour une passerelle ou un hôte, il est rejeté.
   •  Un paquet arrive ``trop vite'' quand la machine qui doit le lire est congestionnée, trop de
      trafic à suivre.
   •  Dans ce cas la machine en question envoie un paquet ICMP ``source quench'' qui est
      interprété de la façon suivante :
   •  L'émetteur ralenti le rythme d'envoi de ses paquets jusqu'à ce qu'il cesse de recevoir ce
      message d'erreur.
          Bits            0        4         8                  16                                31
   ICMP Fields:               Type =4            Code                        Checksum
   Type 4                                           unused
   Code 0.
                              Internet Header + 64 bits of Original Data Datagram
   16-bit Checksum
   IP Fields:
   Destination Address: The source network and address from the original datagram's
       data.

   The internet header plus the first 64 bits of the original datagram's data. This data is
      used by the host to match the message to the appropriate process. If a higher
      level protocol uses port numbers, they are assumed to be in the first 64 data bits
      of the original datagram's data.

11/22/2011                                                                                             131
Protocole ICMP: Types de Message
   Probleme de Parameter Message
          –   Indique des problemes de parametre dans le message IP (usually format avec
              mauxaise option )

   Bits            0             4       8                 16                               31
                         Type =12             Code                     Checksum

                       Pointer                        unused
                                 Internet Header + 64 bits of Original Data Datagram

   ICMP Fields:
   Type 12
   Code 0 = pointer indicates the error ;
   16-bit Checksum
   8 bits Pointer, given value identifies the octet where an error was detected.
   IP Fields:
   Destination Address: The source network and address from the original datagram's data.

   The internet header plus the first 64 bits of the original datagram's data. This data is used by the
       host to match the message to the appropriate process. If a higher level protocol uses port
       numbers, they are assumed to be in the first 64 data bits of the original datagram's data.


11/22/2011                                                                                                132
Protocole ICMP: Types de Message
Echo or Echo Reply Message
•   Une machine envoie un message ``echo request'' pour tester si son destinataire est accessible.
•   Machine qui reçoit un tel message doit formuler un message ICMP ``echo reply''.
•   Ce mécanisme est extrêmement utile, est sous forme d'utilitaire (ping sous Unix).

    Bits          0          4         8                 16                            31
                       Type =8, 0           Code                     Checksum

                      Identifier                               Sequence Number
                                Internet Header + 64 bits of Original Data Datagram
ICMP Fields:
Type 8 for echo message; 0 for echo reply message.
Code 0;
16-bit Checksum
16 bits Identifier: If code = 0, an identifier to aid in matching echos and replies, may be zero.
16 bits Sequence Number If code = 0, a sequence number to aid in matching echos and replies, may
    be zero.
IP Fields:
Address: The address of the source in an echo message will be the destination of the echo reply
    message. To form an echo reply message, the source and destination addresses are simply
    reversed, the type code changed to 0, and the checksum recomputed.

11/22/2011                                                                                       133
Protocole ICMP: Types de Message
   Timestamp or Timestamp Reply Message
   Bits        0         4       8              16                            31
                   Type =13,14       Code                 Checksum
                                                  Sequence Number
                   Identifier
                                     Originate Timestamp
                                     Receive Timestamp
                                     Transmit Timestamp

   ICMP Fields:
   Type 13 for timestamp message; 14 for timestamp reply message.
   Code 0;
   16-bit Checksum
   16 bits Identifier: If code = 0, an identifier to aid in matching timestamp and replies,
       may be zero.
   16 bits Sequence Number If code = 0, a sequence number to aid in matching
       timestamp and replies, may be zero.
   IP Fields:
   Address: The address of the source in a timestamp message will be the destination of
       the timestamp reply message. To form a timestamp reply message, the source and
       destination addresses are simply reversed, the type code changed to 14, and the
       checksum recomputed.
11/22/2011                                                                              134
Protocole ICMP: Types de Message
   Timestamp: c‟est un champ ou on substitue le temps a chaque passage
      du PDU par un nœud
   Timestamp message
       – Envoie le message qui enregistre le temps de transmission, et
          demande une réponse
       – donnée: temps de transmission, temps de réception (a remplir), reply
          sending time (a remplir)
   Timestamp reply
       – Réponse a la demande du message timestamp
       – Donnée: valeurs remplies a partir du message timestamp




11/22/2011                                                                 135
Protocole ICMP: Types de Message
   Information Request or Information Reply Message
   Bits         0           4     8               16                             31
                    Type =15,16       Code                   Checksum

                    Identifier                      Sequence Number

   ICMP Fields:
   Type 15 for information request message; 16 for information reply message.
   Code 0;
   16-bit Checksum
   16 bits Identifier: If code = 0, an identifier to aid in matching request and replies,
       may be zero.
   16 bits Sequence Number If code = 0, a sequence number to aid in matching
       request and replies, may be zero.
   IP Fields:
   Address: The address of the source in a information request message will be the
       destination of the information reply message. To form a information reply
       message, the source and destination addresses are simply reversed, the type
       code changed to 16, and the checksum recomputed.


11/22/2011                                                                                  136
Protocole ICMP: Types de Message
   Information Request or Information Reply Message exemple:

   Demande d‟Adresse masque
        – Poste demande le routeur dans le LAN l‟adresse
          masque CIDR (souvent au redémarrage)
   Réponse d‟Adresse masque
        – Donnée: l‟adresse du masque




11/22/2011                                                     137
     Fonctions d„Administration de Réseau
               Employant ICMP
   • Ping: Pour tester la réponse d‟un poste à l‟envoie d‟un
     message. Il est utile pour un teste de connexion:
        – Envoyer un message écho d‟ICMP au poste indiqué
        – Le poste indiqué envoie un message réponse écho d„ICMP

   • Traceroute: Pour trouvez l'itinéraire depuis la source à la
       destination
        – envoie un paquet IP avec un temps-à-vivre égal a 1
        – premier routeur écartera le paquet car expiration du temps a vivre et
          envoyer un message ICMP “time exceeded”
        – le prochain message envoyé avec un temps-à-vivre égal a 2, et ainsi
          de suite jusqu'à ce que la destination soit atteinte
        – chaque routeur en route aura envoyé un message ICMP



11/22/2011                                                                        138
        Protocole IP Version 6 (IPv6)
•   IPv4 limite le champ d‟adresse à 32 bits.
•   Donc 232 , qui est de l‟ordre de 4 milliards, adresses différentes
    peuvent être assignées au client de l‟internet.
•   Dans les années 1980 on a aperçu qu‟il y a un problème d'insuffisance
    et qui a commencé à manifester plutôt dans les années 1990.
•   Parmis les raisons d‟insuffisance des adresses de 32 bits sont:
     – le développement des services Internet consommateurs d‟adresses, tel
       que: téléphonie fixe ( carte d‟appelle), mobile, Commerce ( point of sale ),
       etc.
     – la façon de régler les problèmes d‟adressage
•   Les problèmes de l‟adressage IPv4 ont reçus des solutions partielles
    qui permettent à IPv4 de durer:
     – Administration des adresses.
     – Grossissement des tables de routage.
     – Très grande centralisation de distribution. En fait trop faible
       hiérarchisation.



11/22/2011                                                                       139
        Protocole IP Version 6 (IPv6)
   •   Le plan d'adressage internet IPv4 devrait néanmoins tôt ou tard
       arriver à sa saturation.
   •   Ces difficultés ont amené à spécifier une version nouvelle IP.
   •   Développement d'un nouveau protocole qui apporte des réponses
       aux limitations du plan d'adressage IP v4 et qui suive aussi les
       évolutions technologiques (sécurité, performances, administration
       de réseau)
   •   Étude à partir de 1990 de différentes propositions pour un futur IP
       baptisé tout d'abord: IPng ("next generation").
   •   Processus de choix difficile à l'IETF ("Internet Engineering Task
       Force") a amené au protocole IPv6
   •   Choix techniques définitifs 1994-1995.
   •   La RFC 2460 définie le protocole IP version 6, IPv6.
   •   Implantations disponibles à partir de 1995-1996: phase
       d'expérimentation.

11/22/2011                                                                   140
      Protocole IPv6: Version 6 vs. 4
   Perfectionnements et modifications par rapport à
     IPv4:
   • Capacité d'adressage quadruplée 128 bits au lieu de 32 bits.
   • Simplification du format d'entête standard
      – Optimisation pour un routage simplifié.
      – Suppression des champs inutiles au routage.
   • Support de qualité de service
   • Amélioration des extensions et des options
      – Sous forme d'extensions à l'entête minimum (voir
         format).
   • Introduction de mécanismes de sécurité.
      – Support de mécanismes d'authentification, de
         confidentialité et d'intégrité des données.
   • Pas de « checksum » de contrôle d'entête

11/22/2011                                                          141
             Protocole IPv6: Conception
Les critères de conception sont:
• Adressage et routage hiérarchisés
     – Grand espace d'adressage hiérarchisé.
     – Autorisant un routage hiérarchisé qui diminue les tailles des tables.
     – Distribution d'adresse hiérarchisée exemple ( réseau , postes )
•   Déploiement
     – La nouvelle version doit proposer une transition de version 4 à 6.
     – Tous les changements à effectuer sur tous les types d'appareils doivent
       être précisés (protocoles annexes ICMP/IGMP, stations, routeurs,
       administration réseau, etc. ).
•   Fonctionnalités requises
     – Support de l'auto-configuration ('plug and play')
     – Support de mécanismes de sécurité. ( confidentialité, authentification)
     – Support de la qualité de service temporelle: existence de mécanismes de
       réservation de ressources.
     – Support du mode broadcast.
     – Support physique à tous les débits (hauts débits).
     – Support de la mobilité.
11/22/2011                                                                       142
             Protocole IPv6: Adresses
   • Adressage IPv6 RFC 1884
   • Rappel des principes de base
        – Une adresse IPv6 comme une adresse IPv4 est associée à une
          interface (pas à un poste)
        – Une adresse IPv6 comme une adresse IPv4 est à la fois
            • un identifiant unique pour une interface
            • un moyen de localisation de cette interface (dans le réseau
              mondial).
   • Taille des adresses : 128 bits
        – L‟adresse IPv4 est inclue dans IPv6 avec les premiers 96 bits
          sont 0 dans IPv6
        – 128 bits: un choix de compromis entre 32 bits jugé trop faible et
          160 bits adressage OSI réseau jugé trop grand.
        – A priori IPv6 permet 6 x 1023 adresses par mètre carré de
          surface terrestre.
        – Même si les adresses disponibles seront mal utilisées ce grand
          nombre est sécuritaire.


11/22/2011                                                                  143
               Protocole IPv6: Adresses
• Représentation des adresses IPv6
      –   Notation en hexadécimal avec deux points comme séparateurs.
      –   128 bits = 32 chiffres hexadécimaux à fournir en huit groupes de 4 chiffres.
      –   Quelques raccourcis d'écriture prévus
      –   Exemple: Adresse en Notation pointée:
                      105.220.136.100.255.255.255.255.0.0.18.128.140.10.255.255
      Devient en notation hexadecimal:
                             69DC:8864:FFFF:FFFF:0000:1280:8C0A:FFFF

      – Omission des zéros en tête de groupe (non significatifs)

     0ECD:AB56:0000:0000:FE34:98BC:7800:4532 devient ECD:AB56:0:0:FE34:98BC:7800:4532

      – Plusieurs groupes de 16 bits à zéro peuvent être remplacés par ::
        (l'abréviation :: ne peut apparaître qu'une fois dans une adresse)

          ECD:AB56:0:0:FE34:98BC:7800:4532   devient   ECD:AB56::FE34:98BC:7800:4532
ou
                        FFOC:0:0:0:0:0:0:0:B1     devient         FFOC : : B1


11/22/2011                                                                             144
             Protocole IPv6: Adresses
• Représentation des adresses IPv4 en IPv6
     – Une adresse IPv4 peut être écrite comme en IPv4 en notation
       décimale pointée mais aussi en notation hexadécimale IPv6.
• Adresse compatible IPv4
      Forme:      0:0:0:0:0:0:a.b.c.d      soit     ::a.b.c.d
     – C‟est un genre d'encapsulation en rajoutant des 0 devant
       l'adresse IPv4 pour en faire de l'IPv6.
     – On peut ainsi communiquer en IP v4 comme si l'on se
       trouvait dans le domaine d'adressage IP v6.




11/22/2011                                                        145
             Protocole IPv6: Adresses
• Les trois catégories d'adresses
   – Adressage "Unicast" point à point.
       • Une adresse pour un seul destinataire => le paquet est
         délivré à l'interface identifiée par l'adresse (comme en IPv4).
   – Adressage "Multicast" diffusion
       • Une adresse pour un ensemble de destinataires => le
         paquet est délivré à toutes les interfaces du groupe
         identifié par l'adresse (comme en IP v4).
   – Adressage "Anycast"
       • Une adresse pour un ensemble de destinataires => le
         paquet est délivré à l'une quelconque des interfaces
         appartenant au groupe identifié par l‟adresse anycast.
       • Utilisation possible, accès à un seul serveur appartenant
         à un groupe de serveurs (exemple trouver un serveur au
         moins, ou le plus proche selon le protocole du routage).



11/22/2011                                                            146
             Protocole IPv6: Adresses
Les adresses particulières
• Adresses de réseaux
     – L'adressage 128 bits est de type CIDR. Tout découpage
       réseau/ sous réseau est possible.
     – La notation adresse_IPv6/n définit la valeur du masque (les n
       bits en poids fort forment l'adresse de réseau, les autres bits
       sont à 0).
• Adresse non spécifiée (unspecified)
     – Pour un site en initialisation qui demande à un serveur son
       adresse réelle (seulement utilisable comme adresse source).
                  0:0:0:0:0:0:0:0 ou ::
• Adresse de rebouclage (loopback)

                        0:0:0:0:0:0:0:1 ou     ::1


11/22/2011                                                         147
    Protocole IPv6: Format du Paquet
   Le format de paquet IPv6 est conçu a être très simplifié:
   • longueur de l'entête fixe 40 octets.
   • pour placer des adresses très longues (128 bits)
   • pour routage très vite.
   • Reporter tout le reste dans des extensions.


                     optional

  IPv6 base Extension 1 … Extension N          data

       40                                                      octets


11/22/2011                                                         148
             Figure 14: Entête de Base de IPv6

   Bits      0         4                    12       16                   24               31

             Version       Traffic class                     Flow label

                       Payload length                  Next header             Hop limit




                                            Source address




                                           Destination address




11/22/2011                                                                                      149
Protocole IPv6: Entêtes de Base
   • 4 bits Version: 6
   • 8 bits Traffic class:
       – A l‟origine pour établir des classes ou des priorités pour la
          manipulation de paquet
       – Modifier:
            • 6 bits pour differentiated services, DS
            • 2 bits pour notification congestion explicite, ECN
            • Encore en processus de standardisation.
   • 20 bits Flow label: étiquette identifiant une séquence de paquets
     de même source, et avec les conditions de transmission
     semblables, tel que ont tous des priorités identiques.
       – Exemple: un flux peut identifier une transmission vidéo
          spécifique
   Notes: les règles suivantes sont appliquées au flow label:


11/22/2011                                                               150
      Protocole IPv6: Entêtes de Base
   • 16 bits Payload length (en octets):
        – C‟est la longueur du reste des entêtes (
          extension plus données ), en octets
   Charge utile ( Payload) La capacité de porter des données d'une certaine structure. Elle se
      rapporte typiquement à une partie d'un paquet ou d'une trame dans un système de
      communications qui contient les données de message contrairement aux en-têtes.

   • 8 bits Next header: identifier le type d'en-tête
     suivant après l‟en-tête de base.
        – Ceci peut indiquer le protocole de niveau supérieur, ou
          l'en-tête de l‟extension IPv6
        – Les valeurs sont des numéros du protocole définies
          dans: http://www.iana.org/assignments/protocol-numbers


11/22/2011                                                                                       151
       Protocole IPv6: Entêtes de Base
   •   8 bits Hop limit: le nombre maximum de routeur a visiter.
        – Ce nombre sera décrémenté par 1 au passage du paquet par
           chaque routeur.
        – A la valeur 0 le paquet sera écartée.
        – Ceci remplace le champs « Time to live » dans IPv4.
   •   128 bits Adresses Source, destination
        – L'adresse de destination peut ne pas être seulement la
           destination finale de paquets mais aussi les adresses du
           routeurs.
        – Modes d‟adresse: unicast, anycast, multicast, broadcast
   Note:
   • Quoique l‟entête de base IPv6 est plus long que celle de
     IPv4 ( 40 octets contre 20 ), celle IPv6 contient un moins de
     champs ( 8 contre 12).
   • Donc le traitement des paquets a chaque routeur est plus
     rapide.
11/22/2011                                                            152
Protocole IPv6: Entêtes d„Extension
   Les champs d'extension et leur ordre d'apparition, Voir
     schéma:
   • Les entêtes d'extension "Extension Headers" du Format
     IPv6 est défini dans RFC 1883
   • De nombreuses options prévues par le protocole sont
     codées dans un nombre variable de champs d'extension en
     début de paquet.
   • Les extensions ne sont pas traitées par les routeurs sauf
     l'extension informations "pour chaque saut" ("Hop by hop
     option header").
   • Une extension ne peut apparaître qu'une fois.
   • L‟ordre d‟apparition est recommandé (Recommended order
     of appearance)
   • Chaque en-tête d‟extension identifiera sa propre longueur,
     aussi bien que le type d'en-tête d‟extension ( l'en-tête
     suivant ) ou données qui suive.


11/22/2011                                                        153
Figure 14: Paquet de IPv6 avec les entête d‟extension




11/22/2011                                              154
Protocole IPv6: Entêtes d„Extension
•   On doit rencontrer les extensions dans l'ordre suivant
     – L‟entête des options saut par saut "Hop-by-hop options header‟‟
         • 8 bits d‟entête suivant: identifie le type d‟entête suivant = 0 ( les
            valeurs sont des numéros du protocole )
         • 8 bits longueur de l‟extension
         • Variable bits options: chaque options vient en 3 champs:
               – 8 bits type d‟option: Différents types d'informations sont précisées
                 sur un octet.
               – 8 bits longueur
               – Variable bits donnée de l‟option: Définit des informations pour
                 être examinées par chaque routeur rencontré par le paquet.
         • Exemples de saut par saut information:
         • Jumbo Payload code 194 définit un paquet dont la taille dépasse 64K
            (jusqu'à 32 bits) peut être utilise pour une transmission vidéo
         • Router alert: informe le routeur que ce paquet est d‟intérêt pour lui




11/22/2011                                                                        155
Protocole IPv6: Entêtes d„Extension
     – L‟entête de Routage "Routing Header‟‟
        • 8 bits L‟entête suivant = 43
        • 8 bits longueur de l‟extension
        • 8 bits type de routage: maintenant est fixe a 0, dans ce
          cas l‟entête de base contient l‟adresse du routeur
          prochain et non l‟adresse finale. Successive adresses
          jusqu‟à l‟adresse final sont placées dans l‟entête de
          routage. Chaque fois que le paquet passe par un routeur.
          Ce routeur mis a jour l‟entête de base en remplaçant
          l‟adresse suivant a visiter et mis a jour l‟entête de routage
          en éliminant son adresse.
        • 8 bits segment left: nombre de nœud reste a visiter par le
          paquet
        • Variable bits List des adresse a visiter.




11/22/2011                                                          156
Protocole IPv6: Entêtes d„Extension
    – L‟entête de Fragmentation "Fragment Header"
         • 8 bits L‟entête suivant = 44
         • 8 bits réserver pour un futur usage
         • 13 bits offset du fragment: indique ou dans l‟original paquet ce
           fragment se situe. Identique a IPv4, il est d‟une unite de 64 bits.
         • 2 bits réserver pour un future usage
         • 1 bit flag more: 1 = more fragment 0 = dernier flag
         • 32 bits identificateur: tous les fragments du même origine ont le même
           identificateur, même adresse de destination et source.
Notes: Toute fragmentation dans IPv6 peut être fait par l’émetteur original.
    – Ceci signifie que l'expéditeur doit découvrir le MTU minimum pour la
       transmission entière.
    – Trouvez le MTU en envoyant un plus grand message ICMP écho avec le flag
       “don‟t fragment”:
         • Pas de réponse message écho reply.
         • Mais un message ICMP “destination unreachable” est obtenu
         • Donc diminuer la grandeur du message et envoyer encore.
         • Répéter jusqu‟a l‟obtention d‟un message ICMP écho reply au lieu du
           message ICMP “destination unreachable”

11/22/2011                                                                    157
Protocole IPv6: Entêtes d„Extension
     – L‟entête d‟Authentification 51 "Authentication Header"
        • L‟entête suivant = 51
        • La méthode proposée par défaut par IPv6 utilise une clé
          secrète connue de l'émetteur et du destinataire.
        • La clé combinée avec le paquet transmis subit est signée avec
          l'algorithme MD5 ("Message Digest 5") et donne une signature
          sur 128 bits.
     – L‟entête d‟Encapsulation De la Charge utile De Sécurité
        • L‟entête suivant = 50

     – L‟entête des options de destination
             • L‟entête suivant = 60
             • Pour manipuler, si présente, seulement par le nœud de
               destination dans l‟entete de base IPv6
             • Cet information sera mise a jour par ce nœud

     – L‟entete du Protocole du niveau haut (next header = 6 for TCP, 17 for UDP,
       58 for ICMPv6, 41 for IPv6 inside IPv6)


11/22/2011                                                                     158

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:22
posted:11/22/2011
language:French
pages:158