next up previous contents index
Next: IV Anatomie d'une adresse Up: A Introduction à la Previous: II Réseaux locaux   Contents   Index

Subsections


III Introduction à IP

1 TCP/IP et l'Internet - Un peu d'histoire

En 1969 aux États Unis, l'agence gouvernementale DARPA lance un projet de réseau expérimental, basé sur la commutation de paquets. Ce réseau, nommé ARPANET, fut construit dans le but d'étudier les technologies de communications, indépendamment de toute contrainte commercialeIII1

Un grand nombre de techniques de communication par modems datent de cette époque.

L'expérience d'ARPANET est alors si concluante que toutes les organisations qui lui sont rattachées l'utilisent quotidiennement pour pour leurs messages de service.

En 1975, le réseau passe officiellement du stade expérimental au stade opérationnel.

Le développement d'ARPANET ne s'arrête pas pour autant, les bases des protocoles TCP/IP sont développés à ce moment, donc après que ARPANET soit opérationnel.

En Juin 1978 Jon PostelIII2définit IPv4 et en 1981 IP est standardisé dans la RFC 791 [J. Postel 1981].

En 1983 les protocoles TCP/IP sont adoptés comme un standard militaire et toutes les machines sur le réseau commencent à l'utiliser. Pour faciliter cette reconversion, la DARPA demande à l'université de Berkeley d'implémenter ces protocoles dans leur version (BSD) d'unix. Ainsi commence le mariage entre ce système d'exploitation et les protocoles TCP/IP.

L'apport de l'Université de Berkeley est majeur, tant au niveau théorique (concept des sockets) qu'au niveau de l'utilisateur, avec des utilitaires très homogènes qui s'intègrent parfaitement au paradigme d'usage existant (rcp, rsh, rlogin...).

Depuis cette époque, un nouveau terme est apparu pour désigner cette interconnexion de réseaux, l'Internet, avec un `` i '' majuscule.

Le succès de cette technologie est alors très important et suscite un intérêt croissant de la part d'acteurs très divers, et en particulier La `` National Science Foundation '' qui y voit un intérêt majeur pour la recherche scientifique et soutient donc ce nouveau moyen de mettre en communication tous les chercheurs.

Depuis 1990, ARPANET n'est plus, pourtant le terme Internet demeure il désigne maintenant un espace de communication qui englobe la planète tout entière. Des millions de sites partout sur la surface du globe y sont connectés.

Depuis 1994, l'Internet s'est ouvert au commerce, surtout avec l'apparition en 1991 d'un nouvel outil de consultation, le `` World Wide Web '' ou `` Web '' et ses interfaces populaires : MosaicIII3, Netscape, Mozilla, Firefox, Konqueror... La liste n'est pas exhaustive !

Depuis 1995, pour faire face à sa popularité fortement croissante et aux demandes de transactions sécurisées, le protocole évolue et une nouvelle version, la version 6 (IPng puis tout simplement IPv6), est définie et en cours de déploiement expérimental.

Les protocoles désignés par TCP/IP ont également envahi les réseaux locaux eux-mêmes, car il est plus facile d'utiliser les mêmes protocoles en interne et en externe.

Pour les utilisateurs, l'accès à l'Internet est possible à l'aide d'une collection de programmes spécialisés si faciles à utiliser que l'on peut ignorer tout (ou presque) de leur fonctionnement interne.

Seul les programmeurs d'applications réseaux et les administrateurs de systèmes ont besoin d'en connaître les arcanes.

Les services réseaux les plus populaires sont principalement :

En conclusion de ce paragraphe sur l'historique on peut dire que l'Internet est une collection apparemment anarchique (il n'y a pas de structure hiérarchique et centralisée) de réseaux inter-connectés et appartenant à divers propriétaires.

On distingue trois niveaux : les réseaux au sein des organisations (lans), les réseaux régionaux et les réseaux de transit.

Le site de l'Association Fnet indique quelques pointeurs intéressants sur l'historique de l'InternetIII4(en anglais).

2 Caractéristiques de TCP/IP

Le succès de TCP/IP, s'il vient d'abord d'un choix du gouvernement américain, s'appuit ensuite sur des caractéristiques intéressantes :

  1. C'est un protocole ouvert, les sources (C) en sont disponibles gratuitement et ont été développés indépendamment d'une architecture particulière, d'un système d'exploitation particulier, d'une structure commerciale propriétaire. Ils sont donc théoriquement transportables sur n'importe quel type de plate-forme, ce qui est prouvé de nos jours.

  2. Ce protocole est indépendant du support physique du réseau. Cela permet à TCP/IP d'être véhiculé par des supports et des technologies aussi différents qu'une ligne série, un câble coaxial Ethernet, une liaison louée, un réseau token-ring, une liaison radio (satellites, `` wireless '' 802.11a/b/g), une liaison FDDI 600Mbits, une liaison par rayon laser, infrarouge, xDSL, ATM, fibre optique, la liste des supports et des technologies n'est pas exhaustive...

  3. Le mode d'adressage est commun à tous les utilisateurs de TCP/IP quelle que soit la plate-forme qui l'utilise. Si l'unicité de l'adresse est respectée, les communications aboutissent même si les hôtes sont aux antipodes.

  4. Les protocoles de hauts niveaux sont standardisés ce qui permet des développements largement répandus et inter-opérables sur tous types de machines.

La majeurs partie des informations relatives à ces protocoles sont publiées dans les RFCs (Requests For Comments). Les RFCs contiennent les dernières versions des spécifications de tous les protocoles TCP/IP, ainsi que bien d'autres informations comme des propositions d'améliorations des outils actuels, la description de nouveaux protocoles, des commentaires sur la gestion des réseaux, la liste n'est pas exhaustive.

3 Comparaison TCP/IP -- ISO

La suite de protocoles désignée par TCP/IP, ou encore `` pile ARPA '', est construite sur un modèle en couches moins complet que la proposition de l'ISO. Quatre couches sont suffisantes pour définir l'architecture de ce protocole.

4
Couche Application (Application layer).
3
Couche Transport (Transport layer).
2
Couche Internet (Internet layer).
1
Couche interface réseau (Network access layer).
0
Matériel (n'est pas une couche comprise dans le protocole).

cm

\includegraphics{fig.intro.01.ps} cm figure III.01 -- Comparaison ISO-ARPA

La figure III.01 met en comparaison les fonctionnalités des couches du modèle OSI et celles des protocoles TCP/IP.

cm

La figure III.02 elle, donne une vue d'ensemble de l'architecture logicielle avec quelques protocoles d'applications de la famille IP. Ils sont très nombreux, non représentés tous ici, et il s'en faut de beaucoup car il en existe des centaines. La lecture du fichier /etc/services, présent sur toute machine de la famille des Unix, donne un aperçu des principaux services enregistrés auprès de l'IANA. Quand nous aurons expliqié la notion `` port '' (cf page [*]) cette lecture sera plus facile...Donc patience !

IP
`` Internet Protocol ''
SCTP
`` Stream Control Transmission Protocol ''
TCP
`` Transmission Control Protocol ''
UDP
`` User Datagram Protocol ''

\includegraphics{fig.intro.02.ps} cm figure III.02 -- Architecture logicielle

Les chapitres qui suivent donnent l'occasion d'examiner SMTP, DNS, SNMP, SCTP, TCP, UDP, ARP, RARP, IP, IGMP et ICMP !

3.1 Couche `` Application Layer ''

Au plus haut niveau les utilisateurs invoquent les programmes qui permettent l'accès au réseau.

Chaque programme d'application interagit avec la couche de transport pour envoyer ou recevoir des données. En fonction des caractéristiques de l'échange le programme a choisi un mode de transmission à la couche de transport.

La plus grande proportion des applications laissent à la couche de transport le soin d'effectuer le travail de `` Session '', néanmoins il est possible pour certaines applications de court-circuiter cette fonctionnalité pour agir directement au niveau `` Réseau '', comme on peut l'observer sur la figure III.02 à droite.


3.2 Couche `` Transport Layer ''

La principale tâche de la couche de transport est de fournir la communication d'un programme d'application à un autre. Une telle communication est souvent qualifiée de `` point à point ''.

Cette couche peut avoir à réguler le flot de données et à assurer la fiabilité du transfert : les octets reçus doivent être identiques aux octets envoyés. C'est pourquoi cette couche doit gérer des `` checksums '' et savoir re-émettre des paquets mal arrivés.

Cette couche divise le flux de données en paquets (terminologie de l'ISO) et passe chacun avec une adresse de destination au niveau inférieur.

De plus, et c'est surtout valable pour les systèmes d'exploitation multi-tâches multi-utilisateurs (Unix,...), de multiples processus appartenant à des utilisateurs différents et pour des programmes d'applications différents, accèdent au réseau au même moment, ce qui implique la capacité de multiplexer et de démultiplexer les données, suivant qu'elles vont vers le réseaux ou vers les applications (`` Session '').


3.3 Couche `` Internet Layer ''

Cette couche reçoit des data-grammes en provenance de la couche réseau, qu'elle doit analyser pour déterminer s'ils lui sont adressés ou pas. Dans le premier cas elle doit `` décapsuler '' son en-tête du data-gramme pour transmettre les données à la couche de transport et au bon protocole de cette couche (TCP, UDP...), dans le deuxième cas elle les ignore.

Cette couche prend aussi en charge la communication de machine à machine. Elle accepte des requêtes venant de la couche de transport avec une identification de la machine vers laquelle le paquet doit être envoyé.

Elle utilise alors l'algorithme de routage (page [*]) pour décider si le paquet doit être envoyé vers une passerelle ou vers une machine directement accessible.

Enfin cette couche gère les datagrammes des protocoles ICMP et IGMP.


3.4 Couche `` Network Access ''

Le protocole dans cette couche définit le moyen pour un système de délivrer l'information à un autre système physiquement relié. Il définit comment les data-grammes IP sont transmis. La définition de ceux-ci reste indépendante de la couche réseau, ce qui leur permet de s'adapter à chaque nouvelle technologie au fur et à mesure de leur apparition.

Avant de s'intéresser au détail des data-grammes IP, nous allons examiner le problème de l'adressage IP, dans le chapitre suivant.

4 Encapsulation d'IP

\includegraphics{fig.intro.03.ps}
cm figure III.03 -- Encapsulation d'IP

Comme nous l'avons décrit avec le modèle des couches OSI, les couches IP fonctionnent par encapsulations progressives.

Chaque couche en-capsule la précédente avec les informations de contrôle qu'elle destine à la couche de même niveau sur la machine distante.

Cet ajout est nommé `` header '' (en-tête) parce-qu'il est placé en tête des données à transmettre.

Application | datas |
Transport | Header | datas |
Internet | Header | Header | datas |
Network | Header | Header | Header | datas |

La taille des `` headers '' dépend des protocoles utilisés. Pour la couche IP le protocole comporte en standard 5 mots de 32 bits, même chose pour la couche TCPIII5.

5 Bibliographie

Pour en savoir plus :

RFC 0791
S J. Postel, `` Internet Protocol '', 09/01/1981. (Pages=45)
(Format=.txt) (Obsoletes RFC0760)

La Recherche
Numéro spécial Internet numéro 238 de février 2000


next up previous contents index
Next: IV Anatomie d'une adresse Up: A Introduction à la Previous: II Réseaux locaux   Contents   Index
Fran├žois Laissus 2009-02-27