SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Adressage IP
             Thomas Noël, pour la formation Transfer/FFTI
                                  21 mai 2001


Table des matières
1   Le modèle OSI                                                                                                      3
    1.1 Introduction . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   3
    1.2 Transparents . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   3
        1.2.1 Une architecture en couches          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   3
        1.2.2 Le modèle TCP/IP . . . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   6

2   Adressage IP                                                                                                        7
    2.1 Introduction . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    7
    2.2 Transparents . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    7
        2.2.1 La théorie . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    7
        2.2.2 La commande ifconfig             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   10

3   Réseaux IP                                                                   12
    3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
    3.2 Transparents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
         3.2.1 Masque de sous-réseau . . . . . . . . . . . . . . . . . . . . 12

4   Communication en TCP et UDP                                                                                        15
    4.1 Introduction . . . . . . . . . . . . . . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   15
    4.2 Transparents . . . . . . . . . . . . . . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   15
        4.2.1 Un datagramme IP . . . . . . . .                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   15
        4.2.2 Entête TCP . . . . . . . . . . . .               .   .   .   .   .   .   .   .   .   .   .   .   .   .   17
        4.2.3 Entête UDP . . . . . . . . . . . .               .   .   .   .   .   .   .   .   .   .   .   .   .   .   18
        4.2.4 Ports et sockets . . . . . . . . . .             .   .   .   .   .   .   .   .   .   .   .   .   .   .   19
        4.2.5 Primitives de programmation TCP                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   20

5   Description rapide des travaux pratiques                                     21
    5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
    5.2 Transparents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21




                                        1
Transfer FFTI                                                                   2


Introduction
    Vous êtes bien sûr invités à ajouter vos notes personnelles sur les marges, et
à me signaler toute ambiguïté, toute erreur (même au niveau de l’orthographe) à
l’adresse thomas.noel@auf-francophonie.org.
Transfer FFTI                          Le modèle OSI                           3


1       Le modèle OSI
1.1     Introduction
   Le modèle de référence OSI (Open Systems Interconnection) est issu d’une
proposition de l’Organisation Internationale de Normalisation (ISO). On l’appelle
couramment le modèle OSI.

1.2     Transparents
1.2.1    Une architecture en couches




                             Les sept couches


                             7    Application
                                                   Interface
                             6   Présentation
                                                   Interface
                             5     Session
                                                   Interface
                             4    Transport
                                                   Interface
                    paquet 3        Réseau
                                                   Interface
                     trame 2        Liaison
                                                   Interface
                         bit 1     Physique




                                 Transparent 1
Transfer FFTI                              Le modèle OSI                 4




                       Communication entre couches


                7      Application
                                          Interface
                6     Présentation

                5       Session
                4       Transport                     données
                3        Réseau                       données

                2        Liaison                      données

                1       Physique




                                     Transparent 2




                Communication entre deux systèmes


           7    Application                            Application   7
           6    Présentation                          Présentation   6
           5        Session                             Session      5
           4        Transport                          Transport     4
                                       protocole
           3        Réseau              réseau          Réseau       3
                                       protocole
           2         Liaison            liaison         Liaison      2
                                       protocole
           1        Physique           physique        Physique      1


                                   Support physique



                                     Transparent 3
Transfer FFTI                           Le modèle OSI                          5

    Dans le modèle OSI, chaque couche propose des services précis à ses deux
couches supérieure et inférieure, et à ces deux là seulement. Chaque couche joue
un rôle précis, et ne doit pas empieter sur le domaine de ses voisines.
    Voici une présentation rapide des couches, en commençant par la couche de
plus bas niveau.
Physique transmission des bits de façon brute sur le support de transmission, par
     exemple modulation/démodulation sur de la paire torsadée. Aucune gestion
     des erreurs.
Liaison de données rend la communication sûre au niveau des erreurs. Découpage
      du message en trames, avec messages d’acquittement
Réseau gestion du sous-réseau. Transporte les paquets, effectue le routage.
Transport accepte les informations de la couche session, les découpe en paquet
     pour les envoyer à la couche réseau. En réception, recolle les morceaux
Session gestion du dialogue entre «utilisateurs»
Présentation définit la syntaxe et la sémantique des informations
Application définit des protocoles génériques (pour la transmission de fichiers, la
     gestion des terminaux, etc.)




                                   Routage


       7 Application                                        Application 7
       6 Présentation                                       Présentation 6
       5   Session                                            Session    5
       4   Transport                                         Transport 4

       3    Réseau           Réseau          Réseau           Réseau     3
       2    Liaison          Liaison          Liaison         Liaison    2
       1   Physique         Physique         Physique        Physique    1
             hote 1         routeur 2        routeur 1         hote 2




                                 Transparent 4
Transfer FFTI                            Le modèle OSI                              6

1.2.2   Le modèle TCP/IP




                             Le modèle TCP/IP


           7 Application           Application    Telnet, FTP, SMTP,
                                                  DNS, ...




                                                                       protocoles
           6 Présentation
           5    Session

           4    Transport          Transport      TCP, UDP
           3    Réseau              Internet      IP




                                                                       réseaux
           2     Liaison                          ArpaNet, SatNet,
                                    "Réseau"      LAN, ...
           1    Physique

               Et protocoles de contrôle : ICMP, ARP, RARP, BOOTP.



                                  Transparent 5

    Le modèle TCP/IP est beaucoup plus simple que le modèle OSI. Il s’est imposé
par le seul fait de son existence, alors qu’aucune des implémentations du modèle
OSI n’est vraiment fonctionnelle (trop lourdes).
    On retrouve dans TCP/IP ce qui fait le succès d’Unix : la simplicité. Par exemple,
les applications ne sont pas «ennuyées» par des couches présentation ou session. La
communication sur le réseau se fait octet par octet : à chaque application de définir
comment elle va utiliser ces informations. On retombe sur le principe des fichiers
Unix, qui ne sont pas du tout structurés, et ne sont qu’une suite d’octet (ou de bits,
même).
Transfer FFTI                             Adressage IP                            7


2       Adressage IP
2.1     Introduction
    Cette partie du cours donne une vision des techniques et des méthodes d’adres-
sage IP. Rien n’est vraiment compliqué, mais il faut maitriser ces aspects pour en-
suite parler de routage. En effet, l’adressage ne consiste pas seulement à affecter
une adresse à chaque machine : il faut d’abord définir un plan d’adressage.
    Par exemple, il est vivement conseillé de découper les ensembles d’adresses en
plusieurs groupes d’adresses bien distincts (sous-réseaux, subnets) pour prendre en
considération, dés le départ, les aspects organisation, optimisation et sécurisation
d’un réseau IP.

2.2     Transparents
2.2.1    La théorie




                                  Adresse IP


              Une adresse = un entier codé sur 32 bits (donc 4 octets)
                 Notation «décimale pointée» : A.B.C.D

    Exemples :
    –   193.104.111.65, en héxadécimal : C1686F41
    –   10.0.0.2, en binaire : 00001010000000000000000000000010
    –   157.159.40.55, en décimal 2644453431
    –   123.343.231.665 n’est pas une adresse IP




                                  Transparent 6

    Précision : 123.343.231.665 n’est pas une adresse IP car 343 et 665 ne
représentent pas des octets (un octet est représenté par une valeur entre 0 et 255).
Transfer FFTI                                    Adressage IP                    8




                              Découpage en réseaux


   Les adresses sont regroupées dans des réseaux.
   Exemples :
   – l’ensemble des adresses commençant par 193.104.111
   – celles commençant par 157.159.
   – celles commençant par 34
   On a donc une arborescence : de gauche à droite = du général au particulier
                   
   (comme les n de téléphone)




                                       Transparent 7




                                        Classes IP


   Des classes d’adresses définissent la grandeur des réseaux.
   – Classe A : 126 réseaux de 16 millions d’adressesa
                            0 id_res                id_ord

   – Classe B : 16 382 réseaux de 65 536 adresses
                            10      id_res               id_ord

   – Classe C : 2 millions de réseaux de 254 adresses
                            110            id_res               id_ord

     a id_res   : identifiant réseau et id_ord : identifiant ordinateur




                                       Transparent 8
Transfer FFTI                           Adressage IP                       9




                            Adresses spéciales


                Deux adresses spécifiques définissent le réseau :

   Adresse de réseau : donnée par la valeur «tout à 0»
       Exemples : 157.159.0.0, 193.104.111.0
   Adresse de diffusion (broadcast) : donnée par la valeur «tout à 1»
       Exemples : 157.159.255.255, 193.104.111.255

                      Adresses spéciales «non diffusables»

   127.*.*.* : adresses de rebouclage (loopback)
   0.0.0.0 et 0.id_ord : «cet» ordinateur sur «ce» réseau (au démarrage)



                                Transparent 9
Transfer FFTI                        Adressage IP                      10

2.2.2   La commande ifconfig



                              ifconfig


                      aide en ligne : man ifconfig

   Syntaxe Linux :
   ifconfig interface options
   ifconfig interface <adresse> netmask xxx broadcast
   xxx
   Exemple :
   ifconfig eth0 193.104.111.122 netmask
   255.255.255.192 broadcast 193.104.111.127
   ifconfig eth0 up ou ifconfig eth0 down
   ifconfig sans argument donne la configuration actuelle.


                              Transparent 10

   Sous Linux, on peut avoir une aide rapide sur la syntaxe de ifconfig en
passant l’option -h à la commande :
thomas@ip$ /sbin/ifconfig -h
Usage: ifconfig [-a] [-i] [-v] interface
                [[family] address]
                [[-]broadcast [aa.bb.cc.dd]]
                [[-]pointopoint [aa.bb.cc.dd]]
                [netmask aa.bb.cc.dd]
                [dstaddr aa.bb.cc.dd]
                [hw class address]
                [metric NN] [mtu NN]
                [[-]trailers] [[-]arp]
                [[-]allmulti] [[-]promisc]
                [multicast]
                [mem_start NN] [io_addr NN] [irq NN]
                [media type]
                [txqueuelen len]
                [up] [down] ...
    Un exemple de sortie avec la commande ifconfig utilisée sans argument
(sous Linux) :
thomas@ip$ /sbin/ifconfig
Transfer FFTI                                     Adressage IP                                    11

lo       Link encap:Local Loopback
         inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
         UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
         RX packets:5428 errors:0 dropped:0 overruns:0 frame:0
         TX packets:5428 errors:0 dropped:0 overruns:0 carrier:0
         Collisions:0

eth0 Link encap:Ethernet HWaddr 00:80:C8:43:3C:A7
     inet addr:193.104.111.122 Bcast:193.104.111.127 
                                           Mask:255.255.255.192
     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
     RX packets:67044 errors:0 dropped:0 overruns:0 frame:0
     TX packets:20372 errors:0 dropped:0 overruns:0 carrier:0
     Collisions:0
     Interrupt:10 Base address:0xfc00
    N’oubliez pas que lancer la commande ifconfig ne fait que modifier la confi-
guration courante du système. En aucun cas les paramètres ne seront sauvegardés.
Si vous désirez modifier de façon permanente ces informations, il vous faut exami-
ner les fichiers de démarrage de votre systèmes, c’est-à-dire en général les scripts
situés dans le répertoire /etc/init.d (voir le cours sur init System V)1 .




    Sur une distribution Debian 2.2, la configuration prise en compte au démarrage
est contenue dans /etc/network/interfaces. Exemple d’un tel fichier :
# The loopback interface
iface lo inet loopback

# first ethernet interface
iface eth0 inet static
     address 207.50.225.54
     network 207.50.225.0
     netmask 255.255.255.0
     broadcast 207.50.225.255
     gateway 207.50.225.33
    Lors du démarrage, le script /etc/init.d/networking reçoit l’argument
start. Il exécute alors un ensemble de commandes ifup pour activer les inter-
faces par rapport à cette configuration. Si l’on désire modifier définitivement les
paramètres, il faut donc :
    – modifier le fichier /etc/network/interfaces
    – relancer le système de configuration du réseau avec la commande
      /etc/init.d/networking reload
   1 n’oubliez   pas non plus qu’il n’est absolument pas nécessaire de redémarrer le système ensuite :
utilisez plutôt les commandes start et stop des scripts de démarrage
Transfer FFTI                                Réseaux IP                                12


3       Réseaux IP
3.1     Introduction
    Nous allons maintenant voir que la notion de classe IP est devenue aujourd’hui
obsolète. A ce propos, il faut bien noter que cette notion n’était imposée par aucune
loi mathématique, mais bien inventée par l’homme pour se repérer plus facilement.
    Or, cette technique de découpage en trois grandes familles de réseaux avait un
inconvénient majeur : les classes B étaient trop grandes et les classes C trop petites.
On s’est donc débarrassé de cette notion, nous allons ici étudier comment.

3.2     Transparents
3.2.1    Masque de sous-réseau




                       Par rapport aux classes A,B,C


    On va indiquer en plus de l’adresse une autre information : le masque de
    réseau ou netmask. C’est un nombre à 32 bits qui se compose d’un
    ensemble de 1 suivi d’un ensemble de 0.
    – Les 1 indiquent la partie réseau
    – Les 0 indiquent la partie machine
    Exemples avec nos classes A, B et C :
    – A : 11111111000000000000000000000000 soit 255.0.0.0
    – B : 255.255.0.0
    – C : le célèbre 255.255.255.0



                                    Transparent 11

   L’idée qui vient alors à l’esprit est de ne pas se limiter à travailler sur des octets,
mais bit par bit. On obtient alors des réseaux de taille beaucoup plus flexible.
Transfer FFTI                                 Réseaux IP                       13




                 Exemple de découpage d’une classe B


   Pour prendre un exemple simple, imaginons une classe B. Nous pouvons la
   découper en un ensemble de classe C en indiquant un masque adéquat.

                             Réseau vu de l’extérieur :
                        10    id_res               id_ord


                   En interne, découpage en pseudo-classes C :

                       10   id_res        subnet id_ord’
                       11111111111111111111111100000000
                              masque de sous-réseau



   Note : ce redécoupage est invisible de l’extérieur de la classe B. Il est
   uniquement destiné à une gestion plus intelligente en interne.


                                   Transparent 12




                Exemple de découpage d’une classe C


   Réseau de base : 193.104.111.0 (classe C)
   Découpage en 4 réseaux, masque à utiliser : 111...111.11000000 =
   255.255.255.192

                 réseau                        diffusion
                 193.104.111.0                 193.104.111.63
                 193.104.111.64                193.104.111.127
                 193.104.111.128               193.104.111.191
                 193.104.111.192               193.104.111.255
                                 ©§¥£¡
                                ¨ ¦ ¤ ¢
                 4 réseaux de             -2 = 62 machines possibles



                                   Transparent 13
Transfer FFTI                            Réseaux IP                             14




                               Autre notation


   Puisque les masques ne représentent qu’un certain nombre de 1 complétés
   par des 0 (pour obtenir 32 bits), la seule information intéressante est ce
   nombre de 1. Ce nombre correspond au nombre de bits bloqués.
   Quelques exemples :
   –   10.0.0.0 masque 255.0.0.0 : 10.0.0.0/16
   –   207.50.2.0 masque 255.255.255.0 : 207.50.2.0/24
   –   202.86.0.0 masque 255.255.248.0 : 202.86.0.0/21
   –   202.86.0.0 masque 255.255.248.0 : 202.86.0.0/21
   –   réseau de 8192 adresses : 202.86.16.0/20
   –   réseau de 1024 adresses : 202.86.8.0/22



                                Transparent 14
Transfer FFTI                      Communication en TCP et UDP                          15


4       Communication en TCP et UDP
4.1     Introduction
    Maintenant que vous avons des machines avec des adresses, et avant de pour-
suivre plus avant dans le routage des messages, nous examinons ici le fonction-
nement interne des protocoles IP (et des couches supérieures TCP et UDP). Cela
nous permettra de mieux comprendre comment fonctionne IP, et de mieux cerner
les problèmes.
    On notera par exemple que dans le cas général, aucune information sur le rou-
tage (le chemin à employer) n’est indiqué dans les messages IP. Il conviendra donc
de configurer correctement nos passerelles pour qu’elles sachent quoi faire avec les
messages qu’elles recevront.

4.2     Transparents
4.2.1    Un datagramme IP



                                Un datagramme IP


        version   long ent   type de service          longueur totale du datagramme

            identification du datagramme        drapeau      localisation du fragment

          durée de vie          protocole              total de controle d’entete

                                       adresse source

                                     adresse destination

                         options (longueur variable, peut etre vide)

                                            données



    version : on est encore aujourd’hui en version 4
    long ent : longueur de l’entête ( 32 bits), options comprises
                                            
    protocole : TCP, UDP, ICMP, etc.
    options : extensions possibles pour le protocole


                                     Transparent 15

      Quelques indications supplémentaires :
type de service : donne une priorité au datagramme et en précise le type
    d’acheminement (delai, débit, fiabilité). Peu utilisé car tous les routeurs ne
    gèrent pas ces options
Transfer FFTI                 Communication en TCP et UDP                      16

longueur du datagramme : longueur totale (entête et données). La taille
    maximale est donc de 65 536 octets.
identification : en cas de fragmentation, indique à quel datagramme apar-
    tient le fragment
drapeau : deux bits utilisés. DF (don’t fragment) pour empêcher la fragmentation
    et MF (more fragment) si le fragment n’est pas le dernier (en cas de fragmen-
    tation)
localisation : en cas de fragmentation, indique la position du fragment dans
    le datagramme
durée de vie : décompte du temps en secondes. En pratique, est décrémenté
    à chaque passage dans un système. Si égal à zéro, le datagramme est détruit
    (avec message d’avertissement à l’expéditeur)
total de contrôle : vérifie la validité de l’entête.
options : 5 options standards
      sécurité : donne un niveau de sécurité au datagramme
      routage strict : l’expéditeur (la source) donne un chemin spécifique à suivre
           par le datagramme
      routage lâche : donne une liste de routeurs obligatoires (mais pas de chemin
           complet)
      enregistrement de route : chaque système réseau traversé ajoute son adresse
           IP dans le datagramme
      horodatage : même chose avec en plus une horodate
Transfer FFTI                      Communication en TCP et UDP                      17

4.2.2    Entête TCP




                                       Entête TCP


                     port source                            port destination

                                       numéro de séquence

                               numéro d’accusé de réception
         long.                  U A P R S F
                                R C S S Y I            taille de la fenetre
        ent. TCP                G K H T N N
                   total de controle                   pointeur sur urgence

                                options (mots de 32 bits)

                                   données (optionnelles)




                                       Transparent 16

Ports source et destination : numéros précisant la connexion (voir transparent 18)
Numéros de séquence et d’accusé de réception : gestion classique du flot TCP
       (le second indique le prochain octet attendu)
Longueur de l’entête : nombre de mots de 32 bits dans l’entête
Drapeaux :
       URG : utilisation du pointeur sur urgence pour indiquer des données impor-
             tantes
       ACK : utilisation de l’accusé de réception (si 0, pas d’acquittement)
       PSH (pushed) : les données doivent être directement envoyées à l’applica-
             tion, sans passer par un système de cache
       RST (reset) : demande de réinitialisation en cas de problème
       SYN : pour établir une connexion (demande : SYN=1 et ACK=0, accepta-
             tion : SYN=1 et ACK=1)
       FIN : libération de la connexion
Taille de la fenêtre : fenêtre d’anticipation à taille variable pour le contrôle du flot
       TCP.
Total de contrôle : fiabilisation supplémentaire
Pointeur sur urgence : si URG=1, indique l’emplacement des données urgentes
Options : pour les possibilités non offertes dans l’entête
Transfer FFTI                  Communication en TCP et UDP                     18

4.2.3   Entête UDP




                                  Entête UDP


                port source                        port destination
            longueur totale UDP                total de controle UDP




                                  Transparent 17

    Pour aller encore plus vite, le total de contrôle être optionnel (une valeur 0
indique qu’il n’y a pas de total).
Transfer FFTI                 Communication en TCP et UDP                       19

4.2.4   Ports et sockets




                              Ports et sockets


   Port : numéro (nombre sur 16 bits) identifiant une connexion. Permet le
       multiplexage des connexions sur une machine. Derrière chaque port
       utilisé, on trouve une application qui communique ou est en attente de
       connexion.
   Socket : couple adresse + port identifiant une connexion sur une machine.

   Une connexion entre deux machines en TCP ou UDP est donc
   complétement définie par un couple sockets : la connexion sur le «serveur»
   et celle sur le «client».
   Pour voir les sockets «activées» sur une machine : netstat -a



                                Transparent 18

    Exemple de netstat -a sur une machine Linux (tronqué en largeur pour
tenir sur la page) :
zep:~/cotonou/reseau/ip$ netstat -a
Active Internet connections (including servers)
Proto Local Address           Foreign Address                             State
tcp   ppp-amiens-007.neu:1182 mailx.nnx.com:pop-3                         ESTABLISHED
tcp   ppp-amiens-007.neu:1181 mailx.nnx.com:smtp                          ESTABLISHED
tcp   ppp-amiens-007.neu:1180 www.minet.net:www                           ESTABLISHED
tcp   *:printer               *:*                                         LISTEN
(...)
Transfer FFTI                  Communication en TCP et UDP                  20

4.2.5   Primitives de programmation TCP



                  Primitives de programmation TCP


         client/serveur   primitive    signification
                 cs      socket       création d’un point de connexion
                     s    bind         attachement de l’adresse au socket
                     s    listen       acceptation de connexion
                     s    accept       attente d’une connexion
                     c    connect      demande de connexion
                 cs      send         envoi de données
                 cs      receive      reception de données
                 cs      close        fin de la connexion



                                  Transparent 19
Transfer FFTI                     Description rapide des travaux pratiques   21


5      Description rapide des travaux pratiques
5.1      Introduction
      Lors des différents travaux pratiques, on va successivement :
      – créer un réseau unique où toutes les machines pourront communiquer entre
        elles ;
      – puis, scinder ce réseau en trois réseaux distincts ;
      – ensuite configurer des passerelles entre les réseaux.

5.2      Transparents




                                  TP 1 : un seul réseau


                                 masques et adresses reseaux identiques




                               adresse : ____.____.____.____
                               masque : ____.____.____.____
                                réseau : ____.____.____.____
                              diffusion : ____.____.____.____
                         notation CIDR : ____.____.____.____/____




                                         Transparent 20

      Pour configurer les adresses des machines :
ifconfig eth0 ... : configure temporairement
/etc/network/interfaces : sur Debian 2.2, configuration permanente de
    la machine, qui est prise en compte par le script /etc/init.d/networking.
      Pour vérifier et tester :
ifconfig eth0 : affiche la configuration.
ping : envoi de messages ICMP ECHO_REQUEST et affiche des ICMP ECHO_RESPONSE.
traceroute : envoi de datagrammes UDP avec TTL incrémental et analyse des
    résultats renvoyés (permet de suivre un message à travers les différents rou-
    teurs).
Transfer FFTI          Description rapide des travaux pratiques   22




                        TP 2 : trois réseaux


                   A                                B
                                    C



                       réseau : (A) (B) (C)
                      adresse : ____.____.____.____
                      masque : ____.____.____.____
                  adr. réseau : ____.____.____.____
                     diffusion : ____.____.____.____
                notation CIDR : ____.____.____.____/____




                            Transparent 21
Transfer FFTI       Description rapide des travaux pratiques   23




                    TP 3 : interconnexion




                      A                    B



                                    C


           echo 1  /proc/sys/net/ipv4/ip_forward




                          Transparent 22

Contenu connexe

En vedette

Adressage ip l_adresse_ip_2
Adressage ip l_adresse_ip_2Adressage ip l_adresse_ip_2
Adressage ip l_adresse_ip_2finder0000
 
Cours adobe photoshop cs v8.0-fr - conseils et astuces dexperts
Cours   adobe photoshop cs v8.0-fr - conseils et astuces dexpertsCours   adobe photoshop cs v8.0-fr - conseils et astuces dexperts
Cours adobe photoshop cs v8.0-fr - conseils et astuces dexpertsMohamed Nouri
 
Présentation Photoshope
Présentation PhotoshopePrésentation Photoshope
Présentation PhotoshopeYoucef Redjem
 
06 02 ip
06 02 ip06 02 ip
06 02 ipNoël
 
Démocratie participative : étude de cas européen
Démocratie participative : étude de cas européenDémocratie participative : étude de cas européen
Démocratie participative : étude de cas européenVirginie Mahé
 
Initiation photoshop partie1
Initiation photoshop partie1Initiation photoshop partie1
Initiation photoshop partie1OneIDlille
 
Comprendre la crise financière (2009)
Comprendre la crise financière (2009) Comprendre la crise financière (2009)
Comprendre la crise financière (2009) Philippe Watrelot
 
L'Economie collaborative - Séminaire EHESS Benjamin Tincq, Arthur de Grave
L'Economie collaborative - Séminaire EHESS Benjamin Tincq, Arthur de GraveL'Economie collaborative - Séminaire EHESS Benjamin Tincq, Arthur de Grave
L'Economie collaborative - Séminaire EHESS Benjamin Tincq, Arthur de GraveBodyspacesociety Blog
 
Portrait des entreprises françaises exportatrices septembre 2014 Ellisphere
Portrait des entreprises françaises exportatrices septembre 2014 EllispherePortrait des entreprises françaises exportatrices septembre 2014 Ellisphere
Portrait des entreprises françaises exportatrices septembre 2014 EllisphereBecuwe Maëlle
 
Science 2.0 : les nouveaux usages de la communication scientifique pour les u...
Science 2.0 : les nouveaux usages de la communication scientifique pour les u...Science 2.0 : les nouveaux usages de la communication scientifique pour les u...
Science 2.0 : les nouveaux usages de la communication scientifique pour les u...MyScienceWork
 
Fascicule de présentation Douzi'action
Fascicule de présentation Douzi'actionFascicule de présentation Douzi'action
Fascicule de présentation Douzi'actionPaul Mariuzzo-Raynaud
 
Contes pour les enfants 3
Contes pour les enfants 3Contes pour les enfants 3
Contes pour les enfants 3cecicrispino
 
construction, rénovation, aménagements d'espaces professionnels et particulie...
construction, rénovation, aménagements d'espaces professionnels et particulie...construction, rénovation, aménagements d'espaces professionnels et particulie...
construction, rénovation, aménagements d'espaces professionnels et particulie...Leitao Jorge
 

En vedette (20)

Adressage ip l_adresse_ip_2
Adressage ip l_adresse_ip_2Adressage ip l_adresse_ip_2
Adressage ip l_adresse_ip_2
 
Cours adobe photoshop cs v8.0-fr - conseils et astuces dexperts
Cours   adobe photoshop cs v8.0-fr - conseils et astuces dexpertsCours   adobe photoshop cs v8.0-fr - conseils et astuces dexperts
Cours adobe photoshop cs v8.0-fr - conseils et astuces dexperts
 
Atelier 1 Introduction aux Réseaux Informatiques
Atelier 1 Introduction aux Réseaux InformatiquesAtelier 1 Introduction aux Réseaux Informatiques
Atelier 1 Introduction aux Réseaux Informatiques
 
Présentation Photoshope
Présentation PhotoshopePrésentation Photoshope
Présentation Photoshope
 
06 02 ip
06 02 ip06 02 ip
06 02 ip
 
Démocratie participative : étude de cas européen
Démocratie participative : étude de cas européenDémocratie participative : étude de cas européen
Démocratie participative : étude de cas européen
 
Initiation photoshop partie1
Initiation photoshop partie1Initiation photoshop partie1
Initiation photoshop partie1
 
(adressage)
(adressage)(adressage)
(adressage)
 
Comprendre la crise financière (2009)
Comprendre la crise financière (2009) Comprendre la crise financière (2009)
Comprendre la crise financière (2009)
 
Photoshop
Photoshop Photoshop
Photoshop
 
Apple Istory
Apple IstoryApple Istory
Apple Istory
 
L'Economie collaborative - Séminaire EHESS Benjamin Tincq, Arthur de Grave
L'Economie collaborative - Séminaire EHESS Benjamin Tincq, Arthur de GraveL'Economie collaborative - Séminaire EHESS Benjamin Tincq, Arthur de Grave
L'Economie collaborative - Séminaire EHESS Benjamin Tincq, Arthur de Grave
 
Portrait des entreprises françaises exportatrices septembre 2014 Ellisphere
Portrait des entreprises françaises exportatrices septembre 2014 EllispherePortrait des entreprises françaises exportatrices septembre 2014 Ellisphere
Portrait des entreprises françaises exportatrices septembre 2014 Ellisphere
 
PR #35
PR #35PR #35
PR #35
 
Nousty 04 web
Nousty 04 webNousty 04 web
Nousty 04 web
 
Science 2.0 : les nouveaux usages de la communication scientifique pour les u...
Science 2.0 : les nouveaux usages de la communication scientifique pour les u...Science 2.0 : les nouveaux usages de la communication scientifique pour les u...
Science 2.0 : les nouveaux usages de la communication scientifique pour les u...
 
Fascicule de présentation Douzi'action
Fascicule de présentation Douzi'actionFascicule de présentation Douzi'action
Fascicule de présentation Douzi'action
 
future1
future1future1
future1
 
Contes pour les enfants 3
Contes pour les enfants 3Contes pour les enfants 3
Contes pour les enfants 3
 
construction, rénovation, aménagements d'espaces professionnels et particulie...
construction, rénovation, aménagements d'espaces professionnels et particulie...construction, rénovation, aménagements d'espaces professionnels et particulie...
construction, rénovation, aménagements d'espaces professionnels et particulie...
 

Similaire à Coursip 2

Coursrseaux 111019081618-phpapp01
Coursrseaux 111019081618-phpapp01Coursrseaux 111019081618-phpapp01
Coursrseaux 111019081618-phpapp01Fabrice Enock
 
1 lexique de-commandes-cisco
1 lexique de-commandes-cisco1 lexique de-commandes-cisco
1 lexique de-commandes-ciscoMoctarThiongane
 
partie osi ( open system inerconnexion);
partie osi ( open system inerconnexion);partie osi ( open system inerconnexion);
partie osi ( open system inerconnexion);kawtarelbiraki
 
Android VoIP/SIP Softphone
Android VoIP/SIP SoftphoneAndroid VoIP/SIP Softphone
Android VoIP/SIP SoftphoneHamza Lazaar
 
Cours reseau ouya
Cours reseau ouyaCours reseau ouya
Cours reseau ouyaYaya Diako
 
Mémoire fin de cycle1
Mémoire fin de cycle1Mémoire fin de cycle1
Mémoire fin de cycle1Mustafa Bachir
 
Asterisk report
Asterisk reportAsterisk report
Asterisk reporttatbirt
 
Contributions aux environnements de développement de services de télécoms da...
Contributions aux environnements de développement de  services de télécoms da...Contributions aux environnements de développement de  services de télécoms da...
Contributions aux environnements de développement de services de télécoms da...Kokou Gaglo
 
Cours achirecture des ordi 1
Cours achirecture des ordi 1Cours achirecture des ordi 1
Cours achirecture des ordi 1fofanaabou
 
Couche1 couche2 s4_v05
Couche1 couche2 s4_v05Couche1 couche2 s4_v05
Couche1 couche2 s4_v05LeslyOctave
 
Projet réalisé par ameny Khedhira & Arij Mekki
Projet réalisé par  ameny Khedhira & Arij MekkiProjet réalisé par  ameny Khedhira & Arij Mekki
Projet réalisé par ameny Khedhira & Arij MekkiAmeny Khedhira
 
Model Based Testing des applications du protocole MQTT
Model Based Testing des applications du protocole MQTTModel Based Testing des applications du protocole MQTT
Model Based Testing des applications du protocole MQTTymelka
 

Similaire à Coursip 2 (20)

Reseaux
ReseauxReseaux
Reseaux
 
Coursrseaux 111019081618-phpapp01
Coursrseaux 111019081618-phpapp01Coursrseaux 111019081618-phpapp01
Coursrseaux 111019081618-phpapp01
 
Asterisk
AsteriskAsterisk
Asterisk
 
Preparation tpcisco reseaux
Preparation tpcisco reseauxPreparation tpcisco reseaux
Preparation tpcisco reseaux
 
1 lexique de-commandes-cisco
1 lexique de-commandes-cisco1 lexique de-commandes-cisco
1 lexique de-commandes-cisco
 
partie osi ( open system inerconnexion);
partie osi ( open system inerconnexion);partie osi ( open system inerconnexion);
partie osi ( open system inerconnexion);
 
Android VoIP/SIP Softphone
Android VoIP/SIP SoftphoneAndroid VoIP/SIP Softphone
Android VoIP/SIP Softphone
 
Lecours
LecoursLecours
Lecours
 
Bah mamadou hady
Bah mamadou hadyBah mamadou hady
Bah mamadou hady
 
Cours reseau ouya
Cours reseau ouyaCours reseau ouya
Cours reseau ouya
 
Mémoire fin de cycle1
Mémoire fin de cycle1Mémoire fin de cycle1
Mémoire fin de cycle1
 
Asterisk report
Asterisk reportAsterisk report
Asterisk report
 
Contributions aux environnements de développement de services de télécoms da...
Contributions aux environnements de développement de  services de télécoms da...Contributions aux environnements de développement de  services de télécoms da...
Contributions aux environnements de développement de services de télécoms da...
 
01 tcpip
01 tcpip01 tcpip
01 tcpip
 
Cours achirecture des ordi 1
Cours achirecture des ordi 1Cours achirecture des ordi 1
Cours achirecture des ordi 1
 
Couche1 couche2 s4_v05
Couche1 couche2 s4_v05Couche1 couche2 s4_v05
Couche1 couche2 s4_v05
 
Projet réalisé par ameny Khedhira & Arij Mekki
Projet réalisé par  ameny Khedhira & Arij MekkiProjet réalisé par  ameny Khedhira & Arij Mekki
Projet réalisé par ameny Khedhira & Arij Mekki
 
Model Based Testing des applications du protocole MQTT
Model Based Testing des applications du protocole MQTTModel Based Testing des applications du protocole MQTT
Model Based Testing des applications du protocole MQTT
 
Cours python
Cours pythonCours python
Cours python
 
vanderpypendaniel_msc
vanderpypendaniel_mscvanderpypendaniel_msc
vanderpypendaniel_msc
 

Coursip 2

  • 1. Adressage IP Thomas Noël, pour la formation Transfer/FFTI 21 mai 2001 Table des matières 1 Le modèle OSI 3 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Transparents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.1 Une architecture en couches . . . . . . . . . . . . . . . . . 3 1.2.2 Le modèle TCP/IP . . . . . . . . . . . . . . . . . . . . . . 6 2 Adressage IP 7 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 Transparents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2.1 La théorie . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2.2 La commande ifconfig . . . . . . . . . . . . . . . . . . 10 3 Réseaux IP 12 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2 Transparents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2.1 Masque de sous-réseau . . . . . . . . . . . . . . . . . . . . 12 4 Communication en TCP et UDP 15 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.2 Transparents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.2.1 Un datagramme IP . . . . . . . . . . . . . . . . . . . . . . 15 4.2.2 Entête TCP . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.2.3 Entête UDP . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.2.4 Ports et sockets . . . . . . . . . . . . . . . . . . . . . . . . 19 4.2.5 Primitives de programmation TCP . . . . . . . . . . . . . . 20 5 Description rapide des travaux pratiques 21 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.2 Transparents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1
  • 2. Transfer FFTI 2 Introduction Vous êtes bien sûr invités à ajouter vos notes personnelles sur les marges, et à me signaler toute ambiguïté, toute erreur (même au niveau de l’orthographe) à l’adresse thomas.noel@auf-francophonie.org.
  • 3. Transfer FFTI Le modèle OSI 3 1 Le modèle OSI 1.1 Introduction Le modèle de référence OSI (Open Systems Interconnection) est issu d’une proposition de l’Organisation Internationale de Normalisation (ISO). On l’appelle couramment le modèle OSI. 1.2 Transparents 1.2.1 Une architecture en couches Les sept couches 7 Application Interface 6 Présentation Interface 5 Session Interface 4 Transport Interface paquet 3 Réseau Interface trame 2 Liaison Interface bit 1 Physique Transparent 1
  • 4. Transfer FFTI Le modèle OSI 4 Communication entre couches 7 Application Interface 6 Présentation 5 Session 4 Transport données 3 Réseau données 2 Liaison données 1 Physique Transparent 2 Communication entre deux systèmes 7 Application Application 7 6 Présentation Présentation 6 5 Session Session 5 4 Transport Transport 4 protocole 3 Réseau réseau Réseau 3 protocole 2 Liaison liaison Liaison 2 protocole 1 Physique physique Physique 1 Support physique Transparent 3
  • 5. Transfer FFTI Le modèle OSI 5 Dans le modèle OSI, chaque couche propose des services précis à ses deux couches supérieure et inférieure, et à ces deux là seulement. Chaque couche joue un rôle précis, et ne doit pas empieter sur le domaine de ses voisines. Voici une présentation rapide des couches, en commençant par la couche de plus bas niveau. Physique transmission des bits de façon brute sur le support de transmission, par exemple modulation/démodulation sur de la paire torsadée. Aucune gestion des erreurs. Liaison de données rend la communication sûre au niveau des erreurs. Découpage du message en trames, avec messages d’acquittement Réseau gestion du sous-réseau. Transporte les paquets, effectue le routage. Transport accepte les informations de la couche session, les découpe en paquet pour les envoyer à la couche réseau. En réception, recolle les morceaux Session gestion du dialogue entre «utilisateurs» Présentation définit la syntaxe et la sémantique des informations Application définit des protocoles génériques (pour la transmission de fichiers, la gestion des terminaux, etc.) Routage 7 Application Application 7 6 Présentation Présentation 6 5 Session Session 5 4 Transport Transport 4 3 Réseau Réseau Réseau Réseau 3 2 Liaison Liaison Liaison Liaison 2 1 Physique Physique Physique Physique 1 hote 1 routeur 2 routeur 1 hote 2 Transparent 4
  • 6. Transfer FFTI Le modèle OSI 6 1.2.2 Le modèle TCP/IP Le modèle TCP/IP 7 Application Application Telnet, FTP, SMTP, DNS, ... protocoles 6 Présentation 5 Session 4 Transport Transport TCP, UDP 3 Réseau Internet IP réseaux 2 Liaison ArpaNet, SatNet, "Réseau" LAN, ... 1 Physique Et protocoles de contrôle : ICMP, ARP, RARP, BOOTP. Transparent 5 Le modèle TCP/IP est beaucoup plus simple que le modèle OSI. Il s’est imposé par le seul fait de son existence, alors qu’aucune des implémentations du modèle OSI n’est vraiment fonctionnelle (trop lourdes). On retrouve dans TCP/IP ce qui fait le succès d’Unix : la simplicité. Par exemple, les applications ne sont pas «ennuyées» par des couches présentation ou session. La communication sur le réseau se fait octet par octet : à chaque application de définir comment elle va utiliser ces informations. On retombe sur le principe des fichiers Unix, qui ne sont pas du tout structurés, et ne sont qu’une suite d’octet (ou de bits, même).
  • 7. Transfer FFTI Adressage IP 7 2 Adressage IP 2.1 Introduction Cette partie du cours donne une vision des techniques et des méthodes d’adres- sage IP. Rien n’est vraiment compliqué, mais il faut maitriser ces aspects pour en- suite parler de routage. En effet, l’adressage ne consiste pas seulement à affecter une adresse à chaque machine : il faut d’abord définir un plan d’adressage. Par exemple, il est vivement conseillé de découper les ensembles d’adresses en plusieurs groupes d’adresses bien distincts (sous-réseaux, subnets) pour prendre en considération, dés le départ, les aspects organisation, optimisation et sécurisation d’un réseau IP. 2.2 Transparents 2.2.1 La théorie Adresse IP Une adresse = un entier codé sur 32 bits (donc 4 octets) Notation «décimale pointée» : A.B.C.D Exemples : – 193.104.111.65, en héxadécimal : C1686F41 – 10.0.0.2, en binaire : 00001010000000000000000000000010 – 157.159.40.55, en décimal 2644453431 – 123.343.231.665 n’est pas une adresse IP Transparent 6 Précision : 123.343.231.665 n’est pas une adresse IP car 343 et 665 ne représentent pas des octets (un octet est représenté par une valeur entre 0 et 255).
  • 8. Transfer FFTI Adressage IP 8 Découpage en réseaux Les adresses sont regroupées dans des réseaux. Exemples : – l’ensemble des adresses commençant par 193.104.111 – celles commençant par 157.159. – celles commençant par 34 On a donc une arborescence : de gauche à droite = du général au particulier   (comme les n de téléphone) Transparent 7 Classes IP Des classes d’adresses définissent la grandeur des réseaux. – Classe A : 126 réseaux de 16 millions d’adressesa 0 id_res id_ord – Classe B : 16 382 réseaux de 65 536 adresses 10 id_res id_ord – Classe C : 2 millions de réseaux de 254 adresses 110 id_res id_ord a id_res : identifiant réseau et id_ord : identifiant ordinateur Transparent 8
  • 9. Transfer FFTI Adressage IP 9 Adresses spéciales Deux adresses spécifiques définissent le réseau : Adresse de réseau : donnée par la valeur «tout à 0» Exemples : 157.159.0.0, 193.104.111.0 Adresse de diffusion (broadcast) : donnée par la valeur «tout à 1» Exemples : 157.159.255.255, 193.104.111.255 Adresses spéciales «non diffusables» 127.*.*.* : adresses de rebouclage (loopback) 0.0.0.0 et 0.id_ord : «cet» ordinateur sur «ce» réseau (au démarrage) Transparent 9
  • 10. Transfer FFTI Adressage IP 10 2.2.2 La commande ifconfig ifconfig aide en ligne : man ifconfig Syntaxe Linux : ifconfig interface options ifconfig interface <adresse> netmask xxx broadcast xxx Exemple : ifconfig eth0 193.104.111.122 netmask 255.255.255.192 broadcast 193.104.111.127 ifconfig eth0 up ou ifconfig eth0 down ifconfig sans argument donne la configuration actuelle. Transparent 10 Sous Linux, on peut avoir une aide rapide sur la syntaxe de ifconfig en passant l’option -h à la commande : thomas@ip$ /sbin/ifconfig -h Usage: ifconfig [-a] [-i] [-v] interface [[family] address] [[-]broadcast [aa.bb.cc.dd]] [[-]pointopoint [aa.bb.cc.dd]] [netmask aa.bb.cc.dd] [dstaddr aa.bb.cc.dd] [hw class address] [metric NN] [mtu NN] [[-]trailers] [[-]arp] [[-]allmulti] [[-]promisc] [multicast] [mem_start NN] [io_addr NN] [irq NN] [media type] [txqueuelen len] [up] [down] ... Un exemple de sortie avec la commande ifconfig utilisée sans argument (sous Linux) : thomas@ip$ /sbin/ifconfig
  • 11. Transfer FFTI Adressage IP 11 lo Link encap:Local Loopback inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0 UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1 RX packets:5428 errors:0 dropped:0 overruns:0 frame:0 TX packets:5428 errors:0 dropped:0 overruns:0 carrier:0 Collisions:0 eth0 Link encap:Ethernet HWaddr 00:80:C8:43:3C:A7 inet addr:193.104.111.122 Bcast:193.104.111.127 Mask:255.255.255.192 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:67044 errors:0 dropped:0 overruns:0 frame:0 TX packets:20372 errors:0 dropped:0 overruns:0 carrier:0 Collisions:0 Interrupt:10 Base address:0xfc00 N’oubliez pas que lancer la commande ifconfig ne fait que modifier la confi- guration courante du système. En aucun cas les paramètres ne seront sauvegardés. Si vous désirez modifier de façon permanente ces informations, il vous faut exami- ner les fichiers de démarrage de votre systèmes, c’est-à-dire en général les scripts situés dans le répertoire /etc/init.d (voir le cours sur init System V)1 . Sur une distribution Debian 2.2, la configuration prise en compte au démarrage est contenue dans /etc/network/interfaces. Exemple d’un tel fichier : # The loopback interface iface lo inet loopback # first ethernet interface iface eth0 inet static address 207.50.225.54 network 207.50.225.0 netmask 255.255.255.0 broadcast 207.50.225.255 gateway 207.50.225.33 Lors du démarrage, le script /etc/init.d/networking reçoit l’argument start. Il exécute alors un ensemble de commandes ifup pour activer les inter- faces par rapport à cette configuration. Si l’on désire modifier définitivement les paramètres, il faut donc : – modifier le fichier /etc/network/interfaces – relancer le système de configuration du réseau avec la commande /etc/init.d/networking reload 1 n’oubliez pas non plus qu’il n’est absolument pas nécessaire de redémarrer le système ensuite : utilisez plutôt les commandes start et stop des scripts de démarrage
  • 12. Transfer FFTI Réseaux IP 12 3 Réseaux IP 3.1 Introduction Nous allons maintenant voir que la notion de classe IP est devenue aujourd’hui obsolète. A ce propos, il faut bien noter que cette notion n’était imposée par aucune loi mathématique, mais bien inventée par l’homme pour se repérer plus facilement. Or, cette technique de découpage en trois grandes familles de réseaux avait un inconvénient majeur : les classes B étaient trop grandes et les classes C trop petites. On s’est donc débarrassé de cette notion, nous allons ici étudier comment. 3.2 Transparents 3.2.1 Masque de sous-réseau Par rapport aux classes A,B,C On va indiquer en plus de l’adresse une autre information : le masque de réseau ou netmask. C’est un nombre à 32 bits qui se compose d’un ensemble de 1 suivi d’un ensemble de 0. – Les 1 indiquent la partie réseau – Les 0 indiquent la partie machine Exemples avec nos classes A, B et C : – A : 11111111000000000000000000000000 soit 255.0.0.0 – B : 255.255.0.0 – C : le célèbre 255.255.255.0 Transparent 11 L’idée qui vient alors à l’esprit est de ne pas se limiter à travailler sur des octets, mais bit par bit. On obtient alors des réseaux de taille beaucoup plus flexible.
  • 13. Transfer FFTI Réseaux IP 13 Exemple de découpage d’une classe B Pour prendre un exemple simple, imaginons une classe B. Nous pouvons la découper en un ensemble de classe C en indiquant un masque adéquat. Réseau vu de l’extérieur : 10 id_res id_ord En interne, découpage en pseudo-classes C : 10 id_res subnet id_ord’ 11111111111111111111111100000000 masque de sous-réseau Note : ce redécoupage est invisible de l’extérieur de la classe B. Il est uniquement destiné à une gestion plus intelligente en interne. Transparent 12 Exemple de découpage d’une classe C Réseau de base : 193.104.111.0 (classe C) Découpage en 4 réseaux, masque à utiliser : 111...111.11000000 = 255.255.255.192 réseau diffusion 193.104.111.0 193.104.111.63 193.104.111.64 193.104.111.127 193.104.111.128 193.104.111.191 193.104.111.192 193.104.111.255 ©§¥£¡ ¨ ¦ ¤ ¢ 4 réseaux de -2 = 62 machines possibles Transparent 13
  • 14. Transfer FFTI Réseaux IP 14 Autre notation Puisque les masques ne représentent qu’un certain nombre de 1 complétés par des 0 (pour obtenir 32 bits), la seule information intéressante est ce nombre de 1. Ce nombre correspond au nombre de bits bloqués. Quelques exemples : – 10.0.0.0 masque 255.0.0.0 : 10.0.0.0/16 – 207.50.2.0 masque 255.255.255.0 : 207.50.2.0/24 – 202.86.0.0 masque 255.255.248.0 : 202.86.0.0/21 – 202.86.0.0 masque 255.255.248.0 : 202.86.0.0/21 – réseau de 8192 adresses : 202.86.16.0/20 – réseau de 1024 adresses : 202.86.8.0/22 Transparent 14
  • 15. Transfer FFTI Communication en TCP et UDP 15 4 Communication en TCP et UDP 4.1 Introduction Maintenant que vous avons des machines avec des adresses, et avant de pour- suivre plus avant dans le routage des messages, nous examinons ici le fonction- nement interne des protocoles IP (et des couches supérieures TCP et UDP). Cela nous permettra de mieux comprendre comment fonctionne IP, et de mieux cerner les problèmes. On notera par exemple que dans le cas général, aucune information sur le rou- tage (le chemin à employer) n’est indiqué dans les messages IP. Il conviendra donc de configurer correctement nos passerelles pour qu’elles sachent quoi faire avec les messages qu’elles recevront. 4.2 Transparents 4.2.1 Un datagramme IP Un datagramme IP version long ent type de service longueur totale du datagramme identification du datagramme drapeau localisation du fragment durée de vie protocole total de controle d’entete adresse source adresse destination options (longueur variable, peut etre vide) données version : on est encore aujourd’hui en version 4 long ent : longueur de l’entête ( 32 bits), options comprises protocole : TCP, UDP, ICMP, etc. options : extensions possibles pour le protocole Transparent 15 Quelques indications supplémentaires : type de service : donne une priorité au datagramme et en précise le type d’acheminement (delai, débit, fiabilité). Peu utilisé car tous les routeurs ne gèrent pas ces options
  • 16. Transfer FFTI Communication en TCP et UDP 16 longueur du datagramme : longueur totale (entête et données). La taille maximale est donc de 65 536 octets. identification : en cas de fragmentation, indique à quel datagramme apar- tient le fragment drapeau : deux bits utilisés. DF (don’t fragment) pour empêcher la fragmentation et MF (more fragment) si le fragment n’est pas le dernier (en cas de fragmen- tation) localisation : en cas de fragmentation, indique la position du fragment dans le datagramme durée de vie : décompte du temps en secondes. En pratique, est décrémenté à chaque passage dans un système. Si égal à zéro, le datagramme est détruit (avec message d’avertissement à l’expéditeur) total de contrôle : vérifie la validité de l’entête. options : 5 options standards sécurité : donne un niveau de sécurité au datagramme routage strict : l’expéditeur (la source) donne un chemin spécifique à suivre par le datagramme routage lâche : donne une liste de routeurs obligatoires (mais pas de chemin complet) enregistrement de route : chaque système réseau traversé ajoute son adresse IP dans le datagramme horodatage : même chose avec en plus une horodate
  • 17. Transfer FFTI Communication en TCP et UDP 17 4.2.2 Entête TCP Entête TCP port source port destination numéro de séquence numéro d’accusé de réception long. U A P R S F R C S S Y I taille de la fenetre ent. TCP G K H T N N total de controle pointeur sur urgence options (mots de 32 bits) données (optionnelles) Transparent 16 Ports source et destination : numéros précisant la connexion (voir transparent 18) Numéros de séquence et d’accusé de réception : gestion classique du flot TCP (le second indique le prochain octet attendu) Longueur de l’entête : nombre de mots de 32 bits dans l’entête Drapeaux : URG : utilisation du pointeur sur urgence pour indiquer des données impor- tantes ACK : utilisation de l’accusé de réception (si 0, pas d’acquittement) PSH (pushed) : les données doivent être directement envoyées à l’applica- tion, sans passer par un système de cache RST (reset) : demande de réinitialisation en cas de problème SYN : pour établir une connexion (demande : SYN=1 et ACK=0, accepta- tion : SYN=1 et ACK=1) FIN : libération de la connexion Taille de la fenêtre : fenêtre d’anticipation à taille variable pour le contrôle du flot TCP. Total de contrôle : fiabilisation supplémentaire Pointeur sur urgence : si URG=1, indique l’emplacement des données urgentes Options : pour les possibilités non offertes dans l’entête
  • 18. Transfer FFTI Communication en TCP et UDP 18 4.2.3 Entête UDP Entête UDP port source port destination longueur totale UDP total de controle UDP Transparent 17 Pour aller encore plus vite, le total de contrôle être optionnel (une valeur 0 indique qu’il n’y a pas de total).
  • 19. Transfer FFTI Communication en TCP et UDP 19 4.2.4 Ports et sockets Ports et sockets Port : numéro (nombre sur 16 bits) identifiant une connexion. Permet le multiplexage des connexions sur une machine. Derrière chaque port utilisé, on trouve une application qui communique ou est en attente de connexion. Socket : couple adresse + port identifiant une connexion sur une machine. Une connexion entre deux machines en TCP ou UDP est donc complétement définie par un couple sockets : la connexion sur le «serveur» et celle sur le «client». Pour voir les sockets «activées» sur une machine : netstat -a Transparent 18 Exemple de netstat -a sur une machine Linux (tronqué en largeur pour tenir sur la page) : zep:~/cotonou/reseau/ip$ netstat -a Active Internet connections (including servers) Proto Local Address Foreign Address State tcp ppp-amiens-007.neu:1182 mailx.nnx.com:pop-3 ESTABLISHED tcp ppp-amiens-007.neu:1181 mailx.nnx.com:smtp ESTABLISHED tcp ppp-amiens-007.neu:1180 www.minet.net:www ESTABLISHED tcp *:printer *:* LISTEN (...)
  • 20. Transfer FFTI Communication en TCP et UDP 20 4.2.5 Primitives de programmation TCP Primitives de programmation TCP client/serveur primitive signification cs socket création d’un point de connexion s bind attachement de l’adresse au socket s listen acceptation de connexion s accept attente d’une connexion c connect demande de connexion cs send envoi de données cs receive reception de données cs close fin de la connexion Transparent 19
  • 21. Transfer FFTI Description rapide des travaux pratiques 21 5 Description rapide des travaux pratiques 5.1 Introduction Lors des différents travaux pratiques, on va successivement : – créer un réseau unique où toutes les machines pourront communiquer entre elles ; – puis, scinder ce réseau en trois réseaux distincts ; – ensuite configurer des passerelles entre les réseaux. 5.2 Transparents TP 1 : un seul réseau masques et adresses reseaux identiques adresse : ____.____.____.____ masque : ____.____.____.____ réseau : ____.____.____.____ diffusion : ____.____.____.____ notation CIDR : ____.____.____.____/____ Transparent 20 Pour configurer les adresses des machines : ifconfig eth0 ... : configure temporairement /etc/network/interfaces : sur Debian 2.2, configuration permanente de la machine, qui est prise en compte par le script /etc/init.d/networking. Pour vérifier et tester : ifconfig eth0 : affiche la configuration. ping : envoi de messages ICMP ECHO_REQUEST et affiche des ICMP ECHO_RESPONSE. traceroute : envoi de datagrammes UDP avec TTL incrémental et analyse des résultats renvoyés (permet de suivre un message à travers les différents rou- teurs).
  • 22. Transfer FFTI Description rapide des travaux pratiques 22 TP 2 : trois réseaux A B C réseau : (A) (B) (C) adresse : ____.____.____.____ masque : ____.____.____.____ adr. réseau : ____.____.____.____ diffusion : ____.____.____.____ notation CIDR : ____.____.____.____/____ Transparent 21
  • 23. Transfer FFTI Description rapide des travaux pratiques 23 TP 3 : interconnexion A B C echo 1 /proc/sys/net/ipv4/ip_forward Transparent 22