Chapitre suivantIndex des CoursChapitre précedentChapitre 6

ATM: Classical IP et ARP sur ATM   

 

En quoi consiste le Classical IP et ARP sur ATM ?

Cette technique consiste à transmettre les datagrammes IP et les requêtes/réponses ARP (ATMARP) sur un réseau ATM. L'AAL5 est utilisé. Un circuit virtuel est établi.

La résolution d'adresse s'effectue à l'intérieur d'un LIS (Logical IP Subnet). Ceci permet d'utiliser le modèle des LAN traditionnels.

Qu'est-ce qu'un LIS ?

Un LIS (Logical IP Subnet) est un ensemble d'ordinateurs formant un sous-réseau logique.

Les caractéristiques des membres IP d'un LIS sont les suivants:

- Tous les membres ont la même adresse réseau et le même masque d'adresse;
- Tous les membres sont directement connectés au réseau ATM;
- Tous les membres à l'extérieur d'un LIS sont accessibles par un routeur qui appartient à différents LIS;
- Tous les membres d'un LIS doivent avoir ATMARP et le protocole inverse InATMARP lorsqu'ils utilisent les SVCs;
- Tous les membres d'un LIS doivent avoir InATMARP lorsqu'ils utilisent les PVCs;
- Tous les membres d'un LIS doivent pouvoir communiquer avec tous les autres membres du LIS via ATM et ses circuits virtuels;

Ainsi, il est possible de configurer plusieurs LIS sur le même réseau ATM. Chaque LIS fonctionant ensuite comme un réseau indépendant.

Quel est la taille de la MTU ?

L'entité émettrice de la couche AAL5 pourrait accepter des paquets ayant une longueur atteignant 64 Koctets (le champ longueur de la trame AAL5 est de 16 bits). En réalité la MTU par défaut est de 9180 octets (compatibilité avec le SMDS), ce qui oblige IP à segmenter si on dépasse cette taille. La MTU est découpée pour être transmise dans des cellules ATM. A l'arrivée, les opérations inverses sont effectuées.

Comment identifier le protocole du paquet encapsulé ?

Une trame AAL5 peut encapsuler des paquets générés par des entités protocolaires supérieures diverses. Or aucun champ dans la trame AAL5 ne permet d'identifier le protocole de l'entité utilisatrice.

Une première possibilité est de considérer que les entités AAL5 paires négocient le protocole utilisé sur le circuit virtuel. Cela veut dire qu'il faut ouvrir un protocole par circuit virtuel ce qui revient assez cher.

Une alternative consisterait d'utiliser quelques octets du champ données de l'AAL5 pour coder le protocole de l'entité supérieure. Ainsi, plusieurs protocoles pourraient être utilisés sur le même circuit virtuel. Dans ce cas, le standard indique qu'il faut utiliser une encapsulation LLC/SNAP (Logical Link Control / SubNetwork Attachment Point). Le champ LLC (3 octets) contient 0xAA-AA-03 (indicant la présence de SNAP). L'entête SNAP (5 octets) contient l'OUI (Organizationally Unique Identifier - 3 octets) avec la valeur 0x00-00-00 (indiquant que les deux octets suivant désignent l'ethertype) et l'Ethertype (2 octets) avec la valeur 0x08-06 (indiquant ARP) ou 0x08-00 (indiquant IP).

Quelles sont les différentes mises en relation à effectuer ?

Il faut distinguer les deux cas: les SVCs et les PVCs.

Dans le cas des SVCs, il faut effectuer d'abord un mapping entre l'adresse ATM et l'adresse IP au moment de l'établissement de la connexion. Ensuite, le mapping doit être réalisé entre la paire VPI/VCI et l'adresse IP.

Dans le cas des PVCs, le mapping est entre la paire VPI/VCI (configurée manuellement) et l'adresse IP.

D'autre part, il faut souligner que le Broadcast n'est pas possible avec ATM.

Quel est le fonctionnement de base d'ATMARP ?

Comme ATM ne permet pas la diffusion, un serveur ATMARP est mis en place pour chaque LIS. Chaque ordinateur du LIS est configuré de telle façon qu'il peut atteindre le serveur (PVC ou connaissance de l'adresse ATM). Ce serveur enregistre dans sa base les correspondances entre les adresses ATM et les adresses IP. Lorsqu'un ordinateur désire correspondre avec un autre ordinateur de son LIS, il doit connaître son adresse ATM pour créer un circuit virtuel. Il envoie une requête au serveur qui lui répond positivement ou négativement. Contrairement à ARP, il y a toujours une réponse à la requête ce qui permet de distinguer entre un disfonctionnement du serveur et un destinataire inconnu (n'appartient pas au LIS).

Quel est le format des adresses ATM ?

Plusieurs formats d'adresses d'ATM peuvent être utilisés. L'UIT-T recommande un adressage E.164 sur 8 octets, tandis que l'ATM forum définit un adressage NSAPA sur 20 octets. Les adresses ATM définis par l'ATM forum dans la spécification UNI 3.0 (Q.93B) incluent deux éléments: un Calling Party Number Information Element et un Calling Party Subaddress Information Element. Ces éléments d'information (IE) seront utilisés dans les champs number et subaddress des paquets ATMARP/InATMARP.

L'ATM va définir trois structures en combinant l'ATM number et l'ATM subaddress:
                            ATM Number               ATM Subaddress
Structure 1      ATM Forum NSAPA                  null
Structure 2                  E.164                               null
Structure 3                  E.164                   ATM Forum NSAPA

Ainsi si le LIS est implanté sur un LAN respectant l'UNI 3.0 alors la structure 1 est utilisé, sinon s'il est implanté sur un réseau public E.164 alors on utilise la structure 2 sinon on utilise la structure 3 dans le cas d'un LIS combinant les deux adressages.

Quel est le format d'un paquet ATMARP et InATMARP ?

Le paquet ATMARP contient plusieurs champs qu'on peut répartir en 3 catégories:

1. Identification des entités mises en relation
( Permet d'identifier les types d'adresses physiques et logiques - idem que dans ARP/InARP)
- Type matériel / Hardware type (16 bits) - ATM: 0x0013
- Type protocole / Protocol type (16 bits) - IP: 0x0800

2. Adresses à résoudre
(Plusieurs formats d'adresses d'ATM peuvent être utilisés. Un bit présent dans les champs longueur précise le type d'adressage utilisé. Pour le protocole IP, la longueur à préciser est 4 octets. )
- Longueur et type de l'adresse ATM de la source / Type & length of source ATM number (8 bits)
- Longueur et type de la sous adresse ATM de la source / Type & length of source ATM subaddress (8 bits)
- Longueur de l'adresse du protocole source / Length of source protocol address (8 bits)
- Longueur et type de l'adresse ATM de la cible / Type & length of target ATM number (8 bits)
- Longueur et type de la sous adresse ATM de la cible / Type & length of target ATM subaddress (8 bits)
- Longueur de l'adresse du protocole cible / Length of target protocol address (8 bits)
- Adresses source et cible ATM et IP / ATM & IP source and target adresses (x bits)

3. Opérations ATMARP
- Code opération / Operation code (request, reply or NAK) (16 bits)
                  1: Demande ATMARP / ARP_REQUEST
                  2: Réponse ATMARP / ARP_REPLY
                  8: Demande ATMARP inverse (InATMARP) / InARP_REQUEST
                  9: Réponse ATMARP inverse (InATMARP) / InARP_REPLY
                  10: Accusé de réception ATMARP négatif / ARP_NAK

Comment fonctionne ATMARP avec les SVCs ?

Prenons un exemple: L'ordinateur A ayant les adresses ATMA et IPA veut communiquer avec l'ordinateur B ayant les adresses ATMB et IPB (A ne connaît que IPB):

1. A ouvre un circuit virtuel avec le serveur ATMARP;
2. A envoie une demande ATMARP (Op=1) au serveur en précisant l'adresse IPB;
3. Le serveur répond à A (Op=2) en remplissant l'adresse ATMB;
4. A peut alors ouvrir un SVC avec B;
5. A maintient la correspondance entre le VPI/VCI et l'adresse IPB.

3bis. Le serveur répond à A (Op=10) qu'il ne connaît pas B;
4bis. A ne peut pas ouvrir un SVC avec B.

Comment enregistrer les adresses d'un membre de LIS dans le serveur ATMARP ?

Dès qu'un membre (ordinateur ou routeur) d'un LIS établit une connexion avec le serveur ATMARP, ce dernier lui envoie une demande InATMARP auquel il est obligé de répondre. Ainsi, le serveur enregistre dans sa base de données le couple adresse ATM / adresse IP.

Chaque fois qu'un ordinateur effectue une ATMARP, le serveur extrait le couple adresse ATM / adresse IP et revalide son entrée dans la base.

L'information est conservée dans la base au moins 20 minutes. Passé ce délai, le serveur s'il a une connexion établie avec l'ordinateur envoie une demande InATMARP et attend la réponse. Si la réponse est conforme à l'entrée le temporisateur est réarmé. S'il n'y a pas de connexion établie, l'entrée est supprimée.

L'information fournie par le serveur ATMARP est conservée chez le client 15 minutes maximum. Il faut ensuite revalider.

Comment connaître les adresses avec les PVCs ?

Prenons un exemple: L'ordinateur A ayant les adresses ATMA et IPA veut communiquer avec l'ordinateur B ayant les adresses ATMB et IPB. Un circuit virtuel permanent est établi manuellement entre A et B. Si les adresses ATMB et IPB ne sont pas configurées manuellement avec toutes les correspondances, A ne connaît aucune adresse de B (et vice versa).

1. A envoie une demande InATMARP (Op=8) à B via le PVC;
2. B envoie une réponse InATMARP (Op=9) à A via le PVC;

Les adresses ATM et IP de l'émetteur sont mis dans les paquets.

Chapitre précedentIndex des CoursChapitre suivant

Révisé le :12-Jan-2004| ©2004 www.technologuepro.com