Introduction à TCP/IP et aux routeurs de type IOS (Cisco)

Alexandre Dulaunoy (adulau@metatix.com)

Version 0.1

Introduction

Modèle OSI

Le but de l'OSI(ISO) est de créer un modèle idéale ou chaque couche effectue une tâche définie et dépend des services de la couche inférieure. Donc chaque couche fournit ses propres services à la couche supérieur.

*0.4!osi.png

Couche physique (1)  

La couche transfère les bits à travers un canal de communication. L'encodage de ses bits peuvent être en numérique mais aussi en analogique. Cette couche transmet les bits venant de la couche de données à l'interface physique et inversément. (support physique : Paire torsadée, coaxial, FO...)

Couche liaison de données (2)   

La couche de liaison de données prend les données de la couche physique et fournit ses services à la couche réseau. Les bits reçus sont assemblés en trames1. (liaison possible : Ethernet, Frame Relay, X.25, PPP...)

Couche réseau (3)   

La couche réseau gère les connexions entre les noeuds du réseau. Un routeur, p.exemple, travaille au minimum dans cette couche. Dans le modèle TCP/IP, la fonction de la couche réseau est assuré par IP2. (IPv4 ou IPv6)

Couche transport (4)  

La couche de transport offre des services supplémentaires par rapport à la couche réseau. Cette couche garantit l'intégrité des données. Son travail consiste à relier un sous-réseau non fiable à un réseau plus fiable. Dans le modèle TCP/IP, la fonction de la couche transport est assuré par TCP3 et par le protocol UDP4.

Couche session (5)  

La couche de session gère les connexions entre les applications coopérantes. Le modèle TCP/IP ne possède pas de couche de session car TCP fournit une grande partie des fonctionnalités de session. Mais le services NFS, p.exemple peut utilisé le protocol RPC qui lui est dans la couche de session. Beaucoup d'applications TCP n'utilise pas les services de la couche session.

Couche présentation (6)  

La couche de présentation gère la représentation des données. Pour représenter les données, il existe ASCII, EBCDIC... Un langage commun doit etre utilisé pour une bonne compréhension entre les différents noeuds du réseau. Par exemple, il existe le langage ASN.1 pour la représentation des données en SNMP. (XDR pour NFS, Base64 pour SMTP...). Plusieurs applications TCP n'utilise pas les services de cette couche.

Couche d'application (7)  

La couche d'application fournit les protocoles et fonctions nécessaires pour les applications clients. Il existe un nombre important de services fournis par la couche d'application. Dans le modèle TCP/IP, on peut citer comme service : FTP,SMTP,POP3,HTTP5.

Modèle TCP/IP

*0.40.3ip.png

TCP / UDP

TCP et UDP sont les deux protocoles principaux dans la couche de transport. TCP et UDP utilisent IP comme couche réseau. TCP procure une couche de transport fiable, même si le service qu'il (IP) utilise ne l'est pas. TCP est orienté connexion c'est-à-dire qu'il réalise une communication complète entre 2 points. Cela permet de réaliser une communication complète entre 2 points (client/serveur p.ex) sans se préoccuper du chemin emprunté.

UDP émet et reçoit des datagrammes6. Cependant, contrairement à TCP, UDP n'est pas fiable et n'est pas orienté connexion. Il est utilisé pour les résolutions DNS et aussi pour TFTP.

IP

IP est le protocole principale de la couche réseau. Il est utilisé à la fois par TCP et UDP. Chaque bloc de données TCP,UDP, ICMP et IGMP qui circule est encapsulé dans de l'IP. IP est non fiable et n'est pas orienté connexion. (contrairement à SNA p.exemple)

Par non fiable, nous voulons dire qu'il n'existe aucune garantie pour que le datagramme IP arrive à la destination. Si par exemple, un datagramme IP arrive à un router saturé, le routeur efface le paquet et envois un message ICMP ``unreachable'' à la source. La fiabilité d'une connexion doit être maintenue par TCP.

Pas orienté connexion, signifie que IP ne maintient aucune information d'état concernant les datagrammes successifs. Le trajet, pour atteindre B à partir de A, des datagrammes n'est peut etre pas le meme et ils peuvent arriver dans le désordre par exemple. L'avantage majeur de cette technique du moindre effort, c'est la grande tolérance, par exemple, vis-à-vis des pannes de l'infrastructure.

ICMP

ICMP est souvent considéré comme faisant partie de la couche IP. ICMP communique des messages (erreurs, modification, information). La commande ``ping'', qui permet de voir si une machine répond, utilise ICMP (echo).

PING localhost.localdomain (127.0.0.1) from 127.0.0.1 : 56(84) bytes of data.

64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=0 ttl=255 time=0.1 ms

64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=1 ttl=255 time=0.1 ms

64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=2 ttl=255 time=0.1 ms

64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=3 ttl=255 time=0.1 ms

64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=4 ttl=255 time=0.1 ms

 

--- localhost.localdomain ping statistics ---

5 packets transmitted, 5 packets received, 0% packet loss

round-trip min/avg/max = 0.1/0.1/0.1 ms


Footnotes:

1Unité logique de bits assemblés.

2Internet Protocol

3Transmission Control Protocol

4User Datagram Protocol

5Nous montrerons des exemples d'intéraction avec ces services, un peu plus loin.

6unité d'information


File translated from TEX by TTH, version 2.70.
On 16 May 2000, 10:38.