La couche application

Index de l'article

Généralités

 

La couche application au sens du model TCP/IP (model à 4 couches) donne la possibilité de recourir aux applications facilitant le dépannage réseau, le transfert de fichier et les autres besoins liés à l'utilisation de l'Internet.
Elle supporte en plus les API réseaux (Network Application Programming Interface). Celle-ci autorise l'accès Internet à des programmes écrits sous un système d'exploitation particulier.
La couche application se nomme aussi service de niveau process Application.
Dans le model OSI à 7 couches, les couches 5, 6 et 7 sont dites hautes, orienté du traitement des informations à échanger entre mes ordinateurs interconnectés, 1 et 2 sont les couches basses et 3 et 4 sont dite intermédiaires (réseau et acheminement)

 

Couche session: niveau 5

 

Elle permet l'ouverture et la fermeture d'une session de travail entre deux ordinateurs distants. Elle assure la synchronisation des dialogues entre les interlocuteurs. C'est à ce niveau que l'on décide du mode de transmission (simplexe, half duplex, full duplex).
La couche session ajoute aux paquets de données (en provenance de la couche 4) des informations de contrôle déterminant le type de trame à transmettre, son numéro par rapport à l'ensemble de message.
C'est dans la couche session que s'effectue le contrôle des accès (niveau de sécurité lors de la mise en relation entre les deux ordinateurs, la résolution des noms)...
Couche session :

  • Ouverture et fermeture des sessions de travail : le début et la fin du dialogue
  • Détermination du type de trame à transmettre : une trame ou plusieurs trames.
  • Sécurité (contrôle) et résolution des noms : le DNS

 


Couche présentation : niveau 6

 

Elle assure la mise en forme de l'information pour que celle-ci soit accessible à l'utilisation. C'est à ce niveau que s’effectuent les opérations de codage, de compression, de cryptage décryptage. En faut il s'agit de transcrire les données à échanger dans un format neutre compréhensible par les deux ordinateurs. Il faut vérifier et adapter la syntaxe utilisée par les deux systèmes d'exploitation installés dans les machines interconnectées.

 
 

27


La couche application : Niveau 7

Cette couche fournit les services utilisables par les applications installées dans les différentes machines en réseaux.

 


Quelques services proposés par la couche 7

 

Transfert de fichier FTP, accès à des fichiers NFS (Network File System), terminal TELNET, service de messagerie (SMTP).
En fait nous disons que le niveau 7 contient les différents processus nécessaires à la communication entre ordinateur interconnectés en particulier le processus de transfert de fichier.
Un même service du niveau 7 peut être mis en oeuvre par plusieurs logiciels installés par l'utilisateur, exemple: Outlook Express, MSN Sender...
Le transfert de fichiers peut être fait par Firefox, Internet Explorer.
Certains services de la couche session du model OSI sont effectués au niveau de la couche transport du model TCP/IP.
Couche session (OSI), Couche transport (TCP/IP) :

  • Ouverture et fermeture des sessions de travail : début et fin du dialogue.
  • Sécurité : contrôle des accès

Un protocole offre des services aux autres protocoles, aux utilisations et aux systèmes d'exploitation.
IP offre les services à TCP en lui permettant d'arriver à bon port.
TCP offre des services à SMTP; HTTP; FTP

 

 


Les services de base orientés réseau

 

Offert par la couche application sous TCP/IP.
La gestion des fichiers et impression.
Un serveur d'impression gère une ou plusieurs imprimantes et il livre à grande vitesse et à u débit binaire élevé, les documents que l’utilisateur voudrait éditer.
Un service de fichier gère une mémoire de très grande capacité (les disques durs internes ou externes) sur laquelle il lit ou écrit ce que l'utilisateur lui demande d'expédier ou de stocker.
Un même serveur (ordinateur) peut offrir les deux services précités, un même serveur de fichier peut être réalisé par deux logiciels.

 
 

28



Scénario type de livraison d'un fichier dans un réseau

 

Une requête arrive sue le réseau traverse les couches du protocole jusqu'à la couche transport d'où elle est dirigée vers le port approprié vers le programme serveur spécifique.

  • La résolution des nom: le DNS (Domain Name Service) fait appel au serveur de nom. Lorsqu'une demande arrive sur le réseau celui-ci se charge d'effectuer la traduction nécessaire. Les serveurs de nom communiquent ente eux au niveau de la couche application (à travers les ports).
    C'est le protocole de machine cliente qui initialise les requêtes DNS ou WINS (Windows Internet Naming Service) de la machine serveur. Ce ne sont pas les utilisateurs qui ont la charge de cette opération.
    WINS est un service de résolution de nom et d'adresse spécifique à Microsoft, de moins en moins utiliser.
  • La redirection: un redirecteur détermine si une requête émise sur une machine locale peut y être traitée ou s'il est nécessaire de la confier à une autre machine du réseau local.
    Si une requête est émise à l'intension d'une autre machine, le redirecteur met celle-ci sur le réseau.
    Les redirecteur mis en oeuvre par le système d’exploitation orientée réseau.
  • Relation entre les API et la couche application, un interface de programmation d'application (API: Application Programming Interface) est un ensemble prédéfini de fonctions qu'un programme peut utiliser pour accéder à d'autres partie de l'environnement du système d'exploitation. Exemple: Une pile de protocole TCP/IP.
 

29

Une application (logiciel) utilise les API pour ouvrir et fermer les connexions et pour écrire ou lire les données provenant du réseau.
L'API SOCKET qui reçoit les données au travers d'un socket et passe celle-ci à l'application concernée et dans l'environnement Windows, WINSOCK est une API du système d'exploitation permettant un interfaçage entre le protocole TCP et les applications réseaux installées dans un ordinateur local.
WINSOCK permet à une application réseau disponible sur une machine d'accéder à une autre machine du réseau local.
L'API permet la communication entre différents services qu'elles soient situées sur la même machine ou sur la machine cliente.

 

 


Les utilitaires de la pile TCP/IP

 

Ils peuvent être regroupés en quatre catégories:

  • Connexion
  • Transport de fichier
  • Accès réseau éloigné
  • Internet

Utilitaire de connexion (tools)

 

ipconfig /all : affiche la configuration TCP/IP
ping : test de la connectivité.
arp : possibilité d'examiner ou de modifier le cache d'une machine locale ou éloignée.

Le cache ARP contient le dictionnaire adresse physique - adresse IP.

trace route : Il suit le chemin d'un datagramme.
route : Possibilité d'éditer ou d'ajouter une entrée dans une table de routage.
netstat : Affiche les statistiques IP, UDP, TCP, ICMP.
nebtstat : Affiche les statistiques de net bios et nebt.
hostyname : Donne le nom de l'hôte local.

 

Utilitaire de transport de fichier

 

ftp : Transport de fichier sous IP.
tftp : transfert de fichier sous UDP
rcp : transfert de fichier éloigné.

 

Utilitaire pour accès au réseau éloigné

 

telnet : Utilitaire terminal éloigné.
resec : Exécute les commandes sur un site éloigné grâce au démon rexec.
rsh : invoque le shgell d'un site éloigné pour exécuter une commande.
finger : Affiche des informations.

 

Utilitaire Internet

 

browser : donne accès au contenu HTML du WWW.
news reader : connexion au groupe news
email readers : Expédition et réception du courrier électronique.
archie : Fournit l'accès aux index des sites FTP anonymes.
gopher : Utilitaire d'information Internet à base de menu.
whois : Fournit l'accès au répertoire d'information avec contact personnel comme les pages blanches d'Internet.


 

 


Etude approfondie du processus de résolution de noms

 

Le processus de résolution de noms accepte un nom de machine et tente de traduire ce nom en une adresse IP correspondante.

 

La résolution de nom de machine

 

Dans ce système chaque machine se voit assignée un nom alpha numérique appelé "nom de machine". Si le système d'exploitation rencontre un nom alpha numérique, là où il attendait une adresse IP, si le nom alpha numérique est contenu dans la liste de nom de machine, la machine lit d'adresse IP associée au nom. La machine remplace alors le nom de machine par adresse IP et exécute la commande. Le fichier host fonctionne selon ce principe et reste efficace dans des réseaux isolés et de petite taille. Mais l'efficacité de la recherche dans ce fichier unique diminue lorsque la quantité d'information qui est stockée augmente.
Il faut en outre que l'administrateur du réseau local effectue des incessantes mises à jour.
Dans cette conception, tous les noeuds sont équivalents et le système de résolution de nom ne peut pas utiliser efficacement la structure hiérarchique de l'espace d'adressage IP. Pour résoudre ce handicap, il faudrait un système de résolution de nom qui travaille de manière hiérarchique:

 

30

  • Qui distribue la responsabilité de la résolution de nom à un groupe de serveur de résolution de nom spécifique. Ces derniers ont pour rôle de maintenir des tables définissant les associations nom adresse. Les autres machines du réseau sollicitent ce serveur afin d'obtenir des adresses IP
  • Délai à un administrateur local le droit de résoudre localement les noms: par exemple il faudrait laisser le soin à administrateur d'un réseau "A" la responsabilité de la résolution de nom de ce réseau.

Ces deux contraintes ont abouti au développement du système de nom de domaine DNS. Le DNS découpe l'espace de nommage en entité hiérarchique appelée domaine. Le nom de domaine peut être inclus avec le nom de machine dans ce qui s'appelle un nom de domaine pleinement qualifié FQDN (Fully Quality Domain Name), exemple: toto.maison.net.

Résolution de noms de machine:

Avantage:

  • Chaque machine du réseau dispose d'un fichier host (le fichier host maintient une table de correspondance nom-machine-adresse IP).
  • Efficacité trouvée dans des réseaux isolés.

Limite d'utilisation :

  • Incessante mise à jour.
  • Recherche difficile lorsque le nombre de machine augmente.
  • Nom respect de la hiérarchie de l'espace d'adresse IP

Certains réseaux utilisent un fichier host pour la résolution locale et DNS pour les requêtes distantes.
Les systèmes d'exploitation intégrant les fonctionnalités réseaux (TCP/IP) reconnaissent le fichier host et utilise pour la résolution de nom avec peu ou sans intervention de l'utilisateur.
Comment remédier aux insuffisances relevées lors de la résolution des noms par utilisation du ficher hosts?

Solution:

Utilisation de la résolution de nom DNS:

  • Utilisation des serveurs spécialisés pour la résolution des noms : de manière globale dans le réseau Internet.
  • Possibilité est laissée à un administrateur local de configurer une machine pour la résolution de nom : dans un réseau local isolé ou pas.
  • Découpage hiérarchique en domaine, sous domaine etc.

Principales étapes dans la mise en oeuvre d'une configuration de résolution de nom local

  • Assigner une adresse IP et un nom de machine à chaque machine.
  • Créer un fichier host faisant correspondre l'adresse IP au nom de machine de chaque machine. Le fichier hosts peut se nommer hosts ou hosts.txt
  • Placer le fichier dans un emplacement spécifique de chaque machine, ce fichier doit contenir une adresse de bouclage: 127.0.0.1

Exemple d'affichage de fichier hosts:

127.0.0.1 localhost #cette machine
198.1.14.2 la_machine_de_toto #la station de travail de toto
198.1.14.128 R4_pass #la passerelle

Fonctionnement du fichier : algorithme

Une machine a besoin d'une adresse IP, la machine compare son propre nom au nom sollicité, s'il y'a pas correspondance, le système recherche dans le reste du fichier hosts.txt pour s'assurer que le nom de machine sollicité y est contenu. S'il y'a correspondance, l'adresse IP est retournée à la machine local, celle-ci convertit l'adresse IP en adresse physique grâce à ARP.

Utilisation pratique d'un fichier dans l'environnement DOS: éditer dans l'environnement Windows utilisateur de "bloc note"

 
 

31

La résolution de nom effectuée par le processus DNS

 

Si une machine du réseau rencontre un nom de machine dont elle a besoin de connaître l'adresse IP , elle envoie une requête au serveur DNS lui demandant qu'elle est l'adresse IP associée à ce nom de machine? Si le serveur DNS connaît l'adresse, il la retourne à la machine ayant remis la requête. Cette dernière substitue alors de manière transparente et exécute la commande. Lorsqu'une modification se produit sur le réseau, une nouvelle machine ou un changement de nom, l'administrateur réseau doit modifier la configuration DNS qu'une seule fois au niveau du serveur DNS.
Tout changement sera disponible à toute machine initiant une requête DNS vers le serveur.

 
 

32
En plus un serveur DNS peut être optimiser (configuration matérielle et logicielle) pour pouvoir effectuer une recherche rapide et supporter une base de donnée plus importante.

 

33

 

Autre avantage d'un serveur DNS:
Il permet d'avoir un seul point de configuration DNS pour tout un réseau local.

Limite d'utilisation d'un seul serveur DNS dans un réseau étendu.
La solution dans l'utilisation d'un grand réseau à l'exemple d'Internet:

  • Le serveur de nom précédent ne peut pas fonctionner efficacement avec une base de donnée de tout l'Internet.
  • Ce serveur devra être sollicité pour toutes les modifications intervenues dans une quelconque machine du réseau.

Esquisse de solution adopté dans le réseau Internet

  • Chaque entreprise ou institution a la possibilité de configurer un serveur de nom local.
  • Tous les serveurs sont ensuite reliés et dialoguent entre eux, ainsi le scénario de recherche d'une adresse DNS est le suivant:
    1. Si un serveur local peut trouver sa propre base de données, il retourne immédiatement cette adresse au client.
    2. Si le serveur de nom local ne peut trouver l'adresse dans ses propres enregistrements, il demande aux autres serveurs de nom de trouver l'adresse recherchée afin de la retourner au client demandeur.

DNS utilise les noms de domaine pleinement qualifié FQDN (Full Qualified Fiel Domain Name). FQDN est la concaténation du nom de machine et du nom de domaine.

 
 

34
DNS supporte plus de 127 niveaux de domaine.
Exemple: .net - toto.edu - ali.toto.edu - tata.ali.toto.edu

Avantages liés à l'utilisation d'un serveur local : résolution de noms.

  • Possibilité d'avoir un seul point de configuration : gestion centralisée.
  • Possibilité d'avoir un serveur de grande performance.

Limites d'utilisation d'un seul server DNS dans un réseau étendu (Internet):

  • Inefficacité d'un serveur DNS unique pour une première base de données à la dimension d'Internet.
  • Temps de recherche trop important
  • Modification répétée du serveur DNS à chaque chargement de machine lorsque ce serveur est unique.

Le serveur DNS fonctionne aussi sous Windows 2000 Serveur:

 
 

35
Lorsqu'une machine du réseau a besoin d'une adresse IP, elle envoie une requête récursive à un serveur de nom proche. Cette requête signifie : donnez-moi l'adresse IP associée à ce nom ou dite-moi que vous ne pouvez pas la trouver. Mais avant l'envoie d'une requête sur le réseau, la machine doit d'abord vérifier si le IP recherché n'est pas le sien ou si ce dernier ne se trouve pas dans le fichier hosts local.
Un serveur de nom utilise une requête itérative pour trouver l'adresse IP. Envoyez-moi l'adresse IP ou dites-moi où je peut la s trouver.
En résumé le processus de résolution DNS se décompose donne suite:

  1. une machine envoie une requête à un serveur de nom A, elle lui demande l'adresse IP associée au nom de domaine. Exemple: toto.tata.ali.mil
  2. Le serveur de nom A teste ses propres enregistrements pour voir s'il connaît l'adresse sollicitée. Si le serveur dispose de cette adresse, il la retourne à la machine cliente.
  3. Si le serveur de nom A ne dispose pas de cette adresse, il initie le processus de recherche de cette adresse. En particulier, le serveur B, un serveur de niveau supérieur pour le domaine .mil lui demandant l'adresse associée au nom de domaine: toto.tata.ali.mil
  4. Le serveur B n'est pas capable de fournir l'adresse, mais sait retourner au serveur A l'adresse du serveur de nom C, le serveur de nom de domaine ali.mil
  5. Le serveur de nom A envoie une requête à un serveur C, ce dernier recherche l'adresse de la machine toto.tatat.ali.mil et envoie l'adresse au serveur de nom A. Le serveur de nom A envoie cette adresse à la machine cliente. La machine cliente initie alors une connexion avec la machine toto.tata.ali.mil.

Un même serveur de nom dans un sous domaine peut héberger plusieurs niveau hiérarchiques de sous domaine.
Un même serveur de nom peut aussi héberger plusieurs sous domaines de top level différents, on parle de gestion de sous domaine par zone géographique (zone Afrique, occidentale, Europe...)

 
 

36

Fichier de zone de résolution inverse

 

Le fichier de zone de résolution inverse permet de correspondre à une adresse IP, le nom d'une machine.

Exemple 1:

La zone pour le réseau classe C du numéro 192.59.66.0 aura pour nom 66.59.192.in-address.arpa

Exemple 2:

43.0.0.0
La résolution inverse devra avoir pour nom 43.in-addres.arpa

Exemple 3:

172.58.0.0
La zone de résolution inverse devra avoir pour nom 58.172.in-address.arpa

Il existe une méthode actuelle permettant d'assigner une nouvelle adresse IP à une machine à l'aide du protocole DHCP. En d'autre terme si une machine est enregistrée dans le DNS et accessible par son nom de machine, le serveur DNS devra trouver un moyen de connaître l'adresse IP utilisée par cette dernière. Le scénario se passe en étapes:

  1. La machine démarre, elle s'identifie à l'aide de son nom auprès du serveur DHCP.
  2. Le serveur DHCP lui attribue un numéro IP.
  3. Le serveur DHCP informe au même moment le serveur DNS du nom de la machine et de son numéro IP pour la mise en place du fichier.

 


Travaux pratiques 1

 

Configuration du client DNS: processus permettant à un client d'utiliser le DNS avec LINUX et Windows, en plus emploi des utilitaires ping numéro IP ; ping nom_machine+nom_domaine
nslookup: interrogation du serveur DNS

 

 


Travaux pratiques 2

 

Utilisation de netbios dans l'environnement Windows (résolution de nom)