<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ <!ENTITY howto "http://www.traduc.org/docs/howto/lecture/"> <!ENTITY guide "http://www.traduc.org/docs/guides/lecture/"> <!ENTITY traduc "http://www.traduc.org"> <!ENTITY gfdl-vo "http://www.gnu.org/copyleft/fdl.html"> <!ENTITY gfdl-vf "http://cesarx.free.fr/gfdlf.html"> ]> <article id="ATM-Linux-HOWTO" lang="fr"> <articleinfo> <title> Guide pratique de la gestion d'ATM sous Linux </title> <subtitle> Version française du <foreignphrase>ATM on Linux HOWTO</foreignphrase> </subtitle> <author> <firstname>Paul</firstname> <surname>Schroeder</surname> <othername role="mi">B</othername> <affiliation> <orgname>IBM Corporation</orgname> <address><email>paulsch CHEZ us POINT ibm POINT com</email></address> </affiliation> </author> <othercredit role="traduction"> <firstname>François</firstname> <surname>Romieu</surname> <contrib>Traduction française</contrib> <email>francois CHEZ ueimor POINT eu POINT org</email> </othercredit> <othercredit role="relecture"> <firstname>Frédéric</firstname> <surname>Delanoy</surname> <contrib>Relecture de la version française</contrib> <email>delanoy SOULIGNÉ f CHEZ yahoo POINT com</email> </othercredit> <abstract> <para> Ce document décrit l'installation et la configuration des pilotes et outils nécessaires au fonctionnement d'ATM sous Linux. </para> <para> Pour les dernières informations, reportez-vous à la <ulink url="http://linux-atm.sourceforge.net/">page d'accueil</ulink> de <citetitle>ATM sous Linux</citetitle>. </para> <para> La prise en charge d'ATM par Linux est encore au stade pré-alpha. La version actuelle gère les connexions ATM brutes au niveau PVC et SVC, IP sur ATM, l'émulation LAN, MPOA, Arequipa et d'autres choses. </para> </abstract> <releaseinfo> Version 2.4.0.fr.1.0 </releaseinfo> <pubdate>2003-03-11</pubdate> <revhistory> <revision> <revnumber>2.4.0.fr.1.0</revnumber> <date>11/03/2003</date> <authorinitials>FRom, FDel</authorinitials> <revremark> Traduction de la version 2.4.0 de « ATM-Linux-HOWTO ». </revremark> </revision> <revision> <revnumber>2.4.0</revnumber> <date>18/10/2001</date> <authorinitials>PBS</authorinitials> <revremark> Converti de LaTeX en DocBook avec quelques ajouts et changements supplémentaires. <emphasis>(Converted from LaTeX to DocBook along with some other additions and changes.)</emphasis> </revremark> </revision> </revhistory> </articleinfo> <sect1 id="Introduction"> <title>Introduction</title> <sect2 id="Introduction.Remerciements"> <title>Origine et remerciements</title> <para> Ce guide s'inspire largement du document <citetitle>Usage Instructions</citetitle> qui a été inclus dans le paquet <emphasis>ATM on Linux</emphasis> jusqu'à la version 0.79. Werner Almesberger <email>wa CHEZ almsesberger POINT net</email> l'a rédigé pendant son séjour au <ulink url="http://icawww.epfl.ch/">Institute for computer Communications and Applications (ICA)</ulink>. </para> <para> Richard Jones <email>rjones CHEZ imcl POINT com</email> est à l'origine de la partie <link linkend="Signaling.Running-Two-ATM-NICs-Back-to-Back" endterm="Signaling.Back-to-Back.title"></link>. </para> </sect2> <sect2 id="Introduction.Copyright"> <title>Droits d'utilisation</title> <note><para> Le texte ci-dessous est la version française de la licence de ce document. Seule la version originale de cette licence, présentée dans la section suivante, fait foi. </para></note> <para> La version originale de ce document a été réalisé par la société <emphasis>IBM Corporation</emphasis> en 2001. </para> <para> Vous avez le droit de copier, distribuer et modifier la version originale de ce document selon les termes de la <ulink url="&gfdl-vo;">licence de documentation libre GNU (GFDL)</ulink> version 1.1 ou ultérieures, telle que publiée par la Free Software Foundation ; sans section invariante, sans texte de première de couverture ni texte de quatrième de couverture. Une copie de la licence est disponible sur <ulink url="&gfdl-vo;"></ulink>. </para> <para> Une partie importante de ce document provient du guide <citetitle>Usage Instructions</citetitle>, inclus dans le paquet <productname>ATM on Linux</productname> jusqu'à la version 0.79, qui a été disponible sous les licences BSD, GNU General Public License (GPL) et GNU Lesser General Public License (LGPL). </para> <para> La version française de document a été réalisée par François Romieu et Frédéric Delanoy. La version française de ce guide pratique est publiée en accord avec les termes de la <ulink url="&gfdl-vo;">licence de documentation libre GNU (GFDL)</ulink> ; sans section invariante, sans texte de première de couverture ni texte de quatrième de couverture. Une copie de la licence est disponible sur <ulink url="&gfdl-vo;"></ulink>. Une version française non officielle de cette licence est disponible sur <ulink url="&gfdl-vf;"></ulink>. </para> </sect2> <sect2> <title>Copyright</title> <note><para> Le texte ci-dessous est la licence de ce document. Ce texte fait foi. Il est composé de la licence en anglais du document orignal, suivi de la licence en français de sa traduction. </para></note> <para> Copyright 2001 IBM Corporation. </para> <para> Permission is granted to copy, distribute and/or modify this document under the terms of the <ulink url="&gfdl-vo;">GNU Free Documentation License</ulink>, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license can be found at <ulink url="&gfdl-vo;"></ulink>. </para> <para> A large portion of this document is derived from the <citetitle>Usage Instructions</citetitle> included with the <productname>ATM on Linux</productname> distribution up to version 0.79 which was released under the BSD License, GNU General Public License (GPL), and GNU Lesser General Public License (LGPL). </para> <para> La version française de document a été réalisée par François Romieu et Frédéric Delanoy. La version française de ce guide pratique est publiée en accord avec les termes de la <ulink url="&gfdl-vo;">licence de documentation libre GNU (GFDL)</ulink> ; sans section invariante, sans texte de première de couverture ni texte de quatrième de couverture. Une copie de la licence est disponible sur <ulink url="&gfdl-vo;"></ulink>. </para> </sect2> <sect2 id="Introduction.Mailing-List"> <title>Liste de diffusion</title> <para> Il existe une liste de diffusion pour discuter d'ATM sous Linux. Pour faire part de remarques, poser des questions ou vous impliquer, n'hésitez pas à rejoindre cette liste. Vous pouvez vous y abonner (<emphasis>subscribe</emphasis>) et vous en désabonner (<emphasis>unsubscribe</emphasis>) à l'adresse <ulink url="http://lists.sourceforge.net/lists/listinfo/linux-atm-general">http://lists.sourceforge.net/lists/listinfo/linux-atm-general</ulink>. </para> <para> La liste de diffusion est archivée sur <ulink url="http://www.geocrawler.com/lists/3/SourceForge/6487/0/">http://www.geocrawler.com/lists/3/SourceForge/6487/0/</ulink>. </para> </sect2> <sect2 id="Introduction.CVS-Access"> <title>Accès CVS</title> <para> Il est conseillé aux utilisateurs d'employer les publications stables plutôt que de récupérer la dernière version depuis le référentiel CVS. Voici néanmoins la marche à suivre pour les amateurs de sensations fortes. </para> <para> Commencez par vous connecter de façon anonyme : </para> <informalexample><screen> % cvs -d:pserver:anonymous@cvs.linux-atm.sourceforge.net.:/cvsroot/linux-atm login </screen></informalexample> <para> Appuyez sur Entrée à l'invite du mot de passe. Récupérez ensuite l'arborescence : </para> <informalexample><screen> % cvs -z6 -d:pserver:anonymous@cvs.linux-atm.sourceforge.net.:/cvsroot/linux-atm co -P linux-atm </screen></informalexample> <para> Il est possible de spécifier une branche particulière : </para> <informalexample><screen> % cvs -z6 -d:pserver:anonymous@cvs.linux-atm.sourceforge.net.:/cvsroot/linux-atm co -r V2_5_0 linux-atm </screen></informalexample> <para> Dans tous les cas, un répertoire « linux-atm » contenant la dernière version des sources est créé. Une fois à l'intérieur de ce répertoire, l'option « -d » de CVS n'est plus nécessaire. Par exemple, tapez : </para> <informalexample><screen> % cvs -z6 up -d </screen></informalexample> <para> pour obtenir les modifications apportées au référentiel (l'option « -d » de l'exemple se rapporte à la sous-commande « up » et n'a rien à voir avec le paramètre « -d » employé pour spécifier l'emplacement de la racine CVS). </para> <para> Après avoir récupéré l'arborescence, exécutez le script <application>autotools</application> dans le répertoire de plus haut niveau avant d'entamer la configuration, la compilation et l'installation. </para> <informalexample><screen> # ./autotools Running aclocal... Running autoconf... Running autoheader... Running automake... automake: configure.in: installing `./install-sh' automake: configure.in: installing `./mkinstalldirs' automake: configure.in: installing `./missing' configure.in: 26: required file `./ltconfig' not found automake: Makefile.am: installing `./INSTALL' automake: configure.in: installing `src/lane/ylwrap' Finished... Now run './configure' and 'make'... </screen></informalexample> <para> Pour construire un paquet .tar.gz ou un RPM, exécutez respectivement <userinput>make dist</userinput> ou <userinput>make rpm</userinput>. Le fichier .tar.gz se trouvera dans le répertoire de plus haut niveau de l'arborescence tandis que le RPM sera placé dans le répertoire <filename class="directory">src/extra/RPMS</filename>. </para> <para> Une interface web permet de visualiser le contenu du référentiel CVS : <ulink url="http://cvs.linux-atm.sourceforge.net/cgi-bin/viewcvs.cgi/linux-atm/linux-atm/">http://cvs.linux-atm.sourceforge.net/cgi-bin/viewcvs.cgi/linux-atm/linux-atm/</ulink>. </para> <para> Enfin, si vous souhaitez recevoir un courrier électronique pour chaque modification apportée au référentiel, abonnez-vous à la liste de diffusion « linux-atm-commits » : <ulink url="http://lists.sourceforge.net/lists/listinfo/linux-atm-commits">http://lists.sourceforge.net/lists/listinfo/linux-atm-commits</ulink>. </para> <para> Cette liste de diffusion est en lecture seule et aucune discussion ni question n'y est autorisée (idem pour les patches). Les discussions ont lieu sur la liste de diffusion linux-atm-general. </para> </sect2> </sect1> <sect1 id="Installation"> <title>Installation</title> <para> Pour installer le paquet, il vous faut : <itemizedlist> <listitem> <para>le paquet lui-même <ulink url="http://linux-atm.sourceforge.net/dist.php"></ulink></para> </listitem> <listitem> <para>un noyau Linux de type 2.4.x, p.ex. depuis <ulink url="ftp://ftp.kernel.org/pub/linux/kernel/v2.4/"></ulink></para> </listitem> <listitem> <para>Perl, version 4 ou 5</para> </listitem> <listitem> <para>(si vous souhaitez déverminer les accès mémoire) MPR, p.ex. depuis <ulink url="ftp://ibiblio.org/pub/Linux/devel/lang/c/"></ulink></para> </listitem> </itemizedlist> </para> <sect2 id="Installation.The-Binary-RPMs"> <title>Les binaires RPM</title> <para> Si vous ne souhaitez pas extraire et compiler les sources vous-même, les utilitaires ATM existent également sous forme de paquet RPM installable comme suit : </para> <informalexample><screen> rpm -ivh <replaceable>linux-atm-x.x.x-x.rpm</replaceable> </screen></informalexample> </sect2> <sect2 id="Installation.The-source-tree"> <title>L'arborescence des sources</title> <para> Commencez par décompacter le paquet ATM pour Linux : </para> <informalexample><screen> tar xzvf <replaceable>linux-atm-x.x.x.tar.gz</replaceable> </screen></informalexample> <para> Ceci crée une arborescence de racine <filename class="directory">linux-atm-x.x.x/</filename>. On notera les répertoires suivants : </para> <variablelist> <varlistentry><term><filename class="directory">doc/</filename></term> <listitem> <para>documentation au format SGML DocBook (ce HOWTO compris)</para> </listitem> </varlistentry> <varlistentry><term><filename class="directory">src/sigd/</filename></term> <listitem> <para>démon de signalisation UNI 3.0, UNI 3.1 et UNI 4.0 <application>atmsigd</application></para> </listitem> </varlistentry> <varlistentry><term><filename class="directory">src/saal/</filename></term> <listitem> <para>bibliothèque de signalisation AAL (SSCOP, SSCF et SAAL)</para> </listitem> </varlistentry> <varlistentry><term><filename class="directory">src/qgen/</filename></term> <listitem> <para>gestion des messages de type Q.2931</para> </listitem> </varlistentry> <varlistentry><term><filename class="directory">src/ilmid/</filename></term> <listitem> <para>démon d'enregistrement d'adresses ILMI : <application>ilmid</application></para> </listitem> </varlistentry> <varlistentry><term><filename class="directory">src/maint/</filename></term> <listitem> <para> utilitaires de maintenance ATM : <application>atmaddr</application>, <application>atmdiag</application>, <application>atmdump</application>, <application>atmloop</application>, <application>atmtcp</application>, <application>enitune</application>, <application>esi</application>, <application>sonetdiag</application>, <application>saaldump</application> et <application>zntune</application> </para> </listitem> </varlistentry> <varlistentry><term><filename class="directory">src/test/</filename></term> <listitem> <para> programmes de test : <application>align</application>, <application>aping</application>, <application>aread</application>, <application>awrite</application>, <application>br</application>, <application>bw</application>, <application>isp</application>, <application>ttcp_atm</application>, <application>window</application> </para> </listitem> </varlistentry> <varlistentry><term><filename class="directory">src/arpd/</filename></term> <listitem> <para> outils et démon ATMARP : <application>atmarp</application>, <application>atmarpd</application> </para> </listitem> </varlistentry> <varlistentry><term><filename class="directory">src/led/</filename></term> <listitem> <para>démon LAN Emulation : <application>zeppelin</application></para> </listitem> </varlistentry> <varlistentry><term><filename class="directory">src/lane/</filename></term> <listitem> <para> serveurs LAN Emulation : <application>bus</application>, <application>lecs</application>, <application>les</application> </para> </listitem> </varlistentry> <varlistentry><term><filename class="directory">src/mpoad/</filename></term> <listitem> <para>démon MPOA (Multi-Protocol Over ATM) : <application>mpcd</application></para> </listitem> </varlistentry> <varlistentry><term><filename class="directory">src/debug/</filename></term> <listitem> <para> outils d'examen : <application>delay</application>, <application>ed</application>, <application>encopy</application>, <application>endump</application>, <application>svctor</application>, <application>zndump</application> et <application>znth</application> </para> </listitem> </varlistentry> <varlistentry><term><filename class="directory">src/lib/</filename></term> <listitem> <para>bibliothèques pour démons et applications</para> </listitem> </varlistentry> <varlistentry><term><filename class="directory">src/man/</filename></term> <listitem> <para>pages de manuel diverses</para> </listitem> </varlistentry> <varlistentry><term><filename class="directory">src/extra/</filename></term> <listitem> <para> outils supplémentaires et fichiers de directives RPM. </para> </listitem> </varlistentry> <varlistentry><term><filename class="directory">src/config/</filename></term> <listitem> <para>fichiers de configuration et exemples de fichiers de type rc</para> </listitem> </varlistentry> <varlistentry><term><filename class="directory">src/switch/</filename></term> <listitem> <para>unité de commutation (en cours de développement)</para> </listitem> </varlistentry> </variablelist> </sect2> <sect2 id="Installation.Kernel-Configuration"> <title>Configuration du noyau</title> <warning><para> Si vous n'avez pas l'habitude de compiler et d'installer un nouveau noyau, reportez-vous au <ulink url="&howto;Kernel-HOWTO.html"><citetitle>guide pratique du noyau Linux</citetitle></ulink> (<foreignphrase>Linux Kernel HOWTO</foreignphrase>). </para></warning> <para> Après avoir décompacté le paquet du noyau, exécutez la commande habituelle au sommet de l'arborescence des sources du noyau : <command>make config</command>, <command>make menuconfig</command> ou <command>make xconfig</command>. Activez ensuite : </para> <screen> Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL) </screen> <para> Les options suivantes doivent apparaitre : </para> <screen> Asynchronous Transfer Mode (ATM, EXPERIMENTAL) (CONFIG_ATM) Use "new" skb structure (CONFIG_ATM_SKB) Classical IP over ATM (CONFIG_ATM_CLIP) Do NOT send ICMP if no neighbour (CONFIG_ATM_CLIP_NO_ICMP) LAN Emulation (LANE) support (CONFIG_ATM_LANE) Multi-Protocol Over ATM (MPOA) support (CONFIG_ATM_MPOA) ATM over TCP (CONFIG_ATM_TCP) Efficient Networks ENI155P (CONFIG_ATM_ENI) Enable extended debugging (CONFIG_ATM_ENI_DEBUG) Fine-tune burst settings (CONFIG_ATM_ENI_TUNE_BURST) Enable 16W TX bursts (discouraged) (CONFIG_ATM_ENI_BURST_TX_16W) Enable 8W TX bursts (recommended) (CONFIG_ATM_ENI_BURST_TX_8W) Enable 4W TX bursts (optional) (CONFIG_ATM_ENI_BURST_TX_4W) Enable 2W TX bursts (optional) (CONFIG_ATM_ENI_BURST_TX_2W) Enable 16W RX bursts (discouraged) (CONFIG_ATM_ENI_BURST_RX_16W) Enable 8W RX bursts (discouraged) (CONFIG_ATM_ENI_BURST_RX_8W) Enable 4W RX bursts (recommended) (CONFIG_ATM_ENI_BURST_RX_4W) Enable 2W RX bursts (optional) (CONFIG_ATM_ENI_BURST_RX_2W) ZeitNet ZN1221/ZN1225 (CONFIG_ATM_ZATM) Enable extended debugging (CONFIG_ATM_ZATM_DEBUG) Enable usec resolution timestamps (CONFIG_ATM_ZATM_EXACT_TS) IDT 77201 (NICStAR) (CONFIG_ATM_NICSTAR) Use suni PHY driver (155Mbps) (CONFIG_ATM_NICSTAR_USE_SUNI) Use IDT77015 PHY driver (25Mbps) (CONFIG_ATM_NICSTAR_USE_IDT77105) Madge Ambassador (Collage PCI 155 Server) (CONFIG_ATM_AMBASSADOR) Enable debugging messages (CONFIG_ATM_AMBASSADOR_DEBUG) Madge Horizon [Ultra] (Collage PCI 25 and Collage PCI 155 Client) Enable debugging messages (CONFIG_ATM_HORIZON_DEBUG) Interphase ATM PCI x575/x525/x531 (CONFIG_ATM_IA) Enable debugging messages (CONFIG_ATM_IA_DEBUG) </screen> <para> Les paramètres « burst » du gestionnaire ENI sont ajustables. Les modifier peut s'avérer nécessaire si le positionnement par défaut provoque des épuisements de tampons mémoire lors des transferts PCI. On se reportera à la documentation en ligne relative à « CONFIG_ATM_ENI_TUNE_BURST » pour une explication détaillée de l'impact de ce paramètre. </para> <para> Le fichier <filename class="headerfile">drivers/atm/nicstar.h</filename> contient les variables sur lesquelles on peut jouer pour le pilote IDT 77201. </para> <para> Les gestionnaires peuvent être employés avec certaines cartes compatibles. La référence la plus à jour pour ces dernières se trouve sur la <ulink url="http://linux-atm.sourceforge.net/info.php">page d'information</ulink> relative à <citetitle>ATM on Linux</citetitle>. </para> <para> Recompilez ensuite le noyau et redémarrez. </para> </sect2> <sect2 id="Installation.Driver-Messages"> <title>Messages des gestionnaires de périphériques</title> <para> Si vous avez activé le pilote ENI155p-MF, deux lignes semblables aux suivantes devraient apparaître (512kB pour la version -C, 2048kB pour la version -S) : </para> <informalexample><screen> eni(itf 0): rev.0,base=0xff400000,irq=10,mem=512kB (00-20-EA-00-07-56) eni(itf 0): FPGA,MMF </screen></informalexample> <para> Si vous avez activé le pilote ZN1221 / ZN1225, il apparaît des messages du genre : </para> <informalexample><screen> zatm(itf 0): rev.3,base=0xf800,irq=11,mem=128kB,MMF (00-20-D4-10-2A-80) zatm(itf 0): uPD98401 0.5 at 30.024 MHz zatm(itf 0): 16 shapers, 32 pools, 2048 RX, 3958 VCs </screen></informalexample> <para> Notez qu'une carte de révision 3 ou plus est nécessaire pour une carte-mère équipée d'un jeu de composants Triton. </para> <para> Si vous n'avez activé que le pilote ATM au-dessus de TCP, aucun message n'apparaît au démarrage parce que les périphériques correspondants ne sont créés qu'au moment de l'invocation de la commande <command>atmtcp</command>. </para> </sect2> <sect2 id="Installation.Memory-Debugging"> <title>Débogage mémoire</title> <para> Si on désire analyser d'éventuels problèmes relatifs aux allocations mémoire, il est nécessaire d'installer MPR avant de compiler les outils ATM. </para> <para> Si vous récupérez un paquet RPM binaire, MPR s'installe comme suit : </para> <informalexample><screen> rpm -ivh <replaceable>mpr-x.x-x.rpm</replaceable> </screen></informalexample> <para> Si vous partez des sources, décompactez <filename>mpr-x.x.tar.gz</filename> ainsi : </para> <informalexample><screen> tar xzvf <replaceable>mpr-x.x.tar.gz</replaceable> </screen></informalexample> <para> Puis exécutez les commandes suivantes : </para> <informalexample><screen> cd <replaceable>mpr-x.x</replaceable> ./configure x86-linux make make install </screen></informalexample> <para> Une détection automatique de certains usages erronés des fonctions <function>malloc</function> et <function>free</function> aura alors lieu automatiquement si les utilitaires ont été compilés après installation de MPR. Le suivi des allocations est activé en positionnant <function>MPRPC</function> et <function>MPRFI</function>. Reportez-vous aux fichiers <filename>doc/mpr.html</filename> et <filename>doc/mpr.ps</filename> dans le paquet MPR pour davantage de détails. </para> <para> Bien que le débogage des allocations n'implique qu'un léger surcoût à l'exécution, ces variables d'environnement ne sont pas positionnées par défaut. </para> </sect2> <sect2 id="Installation.ATM-Tools"> <title>Utilitaires ATM</title> <para> Pour finir, configurez et compilez les outils ATM. La configuration n'est requise que si votre commutateur utilise UNI 3.1 ou 4.0 ou s'il présente certains dysfonctionnements. Les options de configuration sont activées par passage au script <command>./configure</command> du paquet linux-atm. </para> <note><para> Exécutez <command>./configure --help</command> à partir de la racine de l'arborescence linux-atm pour visualiser toutes les options disponibles. </para></note> <para> Les commandes suivantes compilent les utilitaires ATM : </para> <informalexample><screen> cd <replaceable>linux-atm-x.x.x</replaceable> ./configure make make install </screen></informalexample> <para> Sauf spécification particulière lors de l'invocation de la commande <command>./configure</command>, <command>make install</command> installera les exécutables dans les répertoires <filename class="directory">/usr/local/bin</filename> et <filename class="directory">/usr/local/sbin</filename>. À l'exception du fichier <filename>hosts.atm</filename> (qui est installé dans le répertoire <filename class="directory">/etc</filename>), les fichiers de configuration se situeront en <filename class="directory">/usr/local/etc</filename>. Les bibliothèques et les fichiers d'en-tête sont respectivement copiés dans <filename class="directory">/usr/local/lib</filename> et <filename class="directory">/usr/local/include</filename>. Les pages de manuel se retrouvent dans <filename class="directory">/usr/local/man</filename>. </para> </sect2> <sect2 id="Installation.Extra-Packages"> <title>Paquets supplémentaires</title> <para> Certains programmes reposent sur des paquets de grande taille qui ne sont pas contrôlés par linux-atm. Pour d'autres, des patches sont fournis dans le paquet ATM-Linux. Ils se trouvent dans le répertoire <filename class="directory">src/extra</filename> de la distribution ATM-Linux. </para> <para> Les paquets suivants sont disponibles : </para> <variablelist> <varlistentry><term><application><ulink url="http://www.tcpdump.org/">tcpdump</ulink></application></term> <listitem> <para>capture de trafic réseau (amélioré pour ATM)</para> </listitem> </varlistentry> <varlistentry><term><application>ANS</application></term> <listitem> <para>serveur de noms ATM (repose sur <application>named</application> 4.9.5)</para> </listitem> </varlistentry> </variablelist> <para> Notez que <application>text2atm</application> emploie automatiquement ANS s'il est disponible, et que celui-ci ne doit dès lors être installé que sur les systèmes qui fournissent le service de résolution de noms ou lorsque des outils de maintenance au fait d'ATM sont requis (<application>nslookup</application>, …). </para> <para> Le script <application>hosts2ans.pl</application> dans le répertoire <filename class="directory">src/extra/ANS/</filename> convertit un fichier <filename>/etc/hosts.atm</filename> en un fichier de zone ANS. Son utilisation est décrite en tête de fichier. </para> </sect2> </sect1> <sect1 id="Device-Setup"> <title>Configuration des périphériques</title> <para> Cette partie décrit des options de configuration propres à chaque type de périphériques ainsi que des méthodes de diagnostic ATM ou SONET générales. Reportez-vous à la documentation du périphérique pour les détails relatifs à son installation et aux méthodes de diagnostic. </para> <sect2 id="Device-Setup.ATM-Over-TCP-Setup"> <title>ATM au-dessus de TCP</title> <para> En l'absence de véritable matériel ATM, vous pouvez utiliser l'API par l'intermédiaire du gestionnaire ATM au-dessus de TCP. Il émule des périphériques ATM qui sont directement connectés les uns aux autres à distance (c.-à-d. sans manipulation de paires VPI/VCI). </para> <para> Pour établir un lien (bidirectionnel) entre deux systèmes, devenez root sur chacun d'entre eux (ou exécutez les deux commandes sur le même système pour connecter deux interfaces) et exécutez la commande suivante sur l'un d'eux (que l'on désignera par « a ») : </para> <informalexample><screen> # atmtcp virtual listen </screen></informalexample> <para> Puis, sur l'autre système (« b ») : </para> <informalexample><screen> # atmtcp virtual connect <replaceable>adresse_de_a</replaceable> </screen></informalexample> <para> Les utilitaires <command>atmtcp</command> émettront des messages au fur et à mesure de leur avancement. Par exemple : </para> <informalexample><screen> Link 0: virtual interface 2 Link 1: incoming ATMTCP connection from 127.0.0.1 </screen></informalexample> <para> et </para> <informalexample><screen> Link 0: virtual interface 3 Link 1: ATMTCP connection to localhost </screen></informalexample> <para> On notera que la commande <command>atmtcp</command> s'exécute en permanence et que l'interrompre brise le lien virtuel. </para> <para> Une même machine peut accepter plusieurs liens en spécifiant des numéros de port différents (2812 par défaut). Aucun traitement AAL n'est effectué et il n'est par conséquent pas possible d'employer une couche d'adaptation différente (p.ex. AAL0) de celle utilisée à l'émission. </para> </sect2> <sect2 id="Device-Setup.ZN1221-ZN1225-Tuning"> <title>ZN1221 / ZN1225</title> <para> Les cartes ZeitNet ZN1221 et ZN1225 emploient des réserves de mémoire allouées à l'avance pour la réception. Dés qu'un circuit virtuel d'une certaine SDU est activé en réception, la réserve correspondante est remplie de tampons vides par le gestionnaire. La carte consomme les tampons lors de la réception et, lorsque leur nombre passe en dessous d'une certaine limite, le gestionnaire alloue à nouveau la réserve. </para> <para> Les limites inférieures et supérieures du nombre de tampons libres ainsi que la valeur limite pour l'adaptation à un nouveau décalage de données (voir ci-dessous) sont ajustables grâce au programme <application>zntune</application>. Emploi : </para> <cmdsynopsis> <command>zntune</command> <arg choice="opt">-l <replaceable>marque_basse</replaceable></arg> <arg choice="opt">-h <replaceable>marque_haute</replaceable></arg> <arg choice="opt">-t <replaceable>seuil</replaceable></arg> <arg choice="plain"><replaceable>interface</replaceable></arg> <arg choice="opt"><replaceable>réserve</replaceable></arg> </cmdsynopsis> <para> Les modifications sont appliquées à toutes les réserves si aucun indice de réserve n'est spécifié. La réserve 2 stocke les paquets de 64 octets, la réserve 3 les paquets de 128 octets, etc. Les réserves 0 et 1 ne sont pour l'instant pas utilisées. </para> <para> La configuration courante ainsi que des statistiques d'utilisation peuvent être obtenues en invoquant la commande <command>zntune</command> sans paramètre supplémentaire : </para> <cmdsynopsis> <command>zntune</command> <arg choice="opt">-z</arg> <arg choice="plain"><replaceable>interface</replaceable></arg> <arg choice="opt"><replaceable>réserve</replaceable></arg> </cmdsynopsis> <para> La colonne « Size » indique la taille de tampon mémoire en octets. La colonne « Ref » correspond au nombre de VC ouverts qui emploient cette réserve. La colonne « Alarm » indique combien de fois le nombre de tampons mémoire disponibles a franchi la limite basse depuis la dernière remise à zéro des compteurs. De même, la colonne « « Under » » fournit le nombre d'unités de données de protocole (PDU, Protocol Data Unit) jetées à cause d'un manque de mémoire. </para> <para> Les colonnes « Offs », « NxOf », « Count » et « Thres » indiquent l'état d'alignement. « Offs » est le décalage des données utiles dans les PDU attendues. Dans le cas d'une copie simple, les tampons de réception sont alignés de telle sorte que les données soient reçues à partir de frontières de page. « NxOf » correspond au décalage des données utiles de la dernière PDU reçue pour laquelle le décalage diffère de celui attendu. « Count » indique le nombre de PDU reçues consécutivement avec un décalage de « NxOf ». Enfin, lorsque « Count » atteint « Thres », « NxOf » devient la nouvelle valeur de décalage. </para> <para> L'option <parameter class="command">-z</parameter> permet de remettre à zéro les compteurs « Alarm » et « Under ». </para> </sect2> <sect2 id="Device-Setup.Files-in-proc-net-atm"> <title>Fichiers du répertoire <filename class="directory">/proc/net/atm/</filename></title> <para> Des informations sur l'état du système ATM sont accessibles via les fichiers du répertoire <filename class="directory">/proc/net/atm/</filename>. <filename>/proc/net/atm/arp</filename> contient des informations propres à CLIP (Classical IP over ATM), cf. <link linkend="IP-Over-ATM.CLIP" endterm="IP-Over-ATM.CLIP.title"></link>. </para> <para> Les périphériques ATM actifs sont énumérés dans le fichier <filename>/proc/net/atm/devices</filename>. Chaque entrée comprend le numéro de l'interface, son type, l'identifiant ESI (End System Identifier) ainsi que des compteurs d'usage. Ces derniers correspondent à ceux fournis par l'utilitaire <application>atmdiag</application>. </para> <para> Les périphériques ATM peuvent déclarer des enregistrements de la forme <literal><replaceable>type:indice</replaceable></literal> (par exemple <literal>eni:0</literal>). </para> <para> Les fichiers <filename>/proc/net/atm/pvc</filename> et <filename>/proc/net/atm/svc</filename> énumèrent les sockets de type PVC et SVC. L'interface et la paire d'indices VPI, VCI est donnée pour chaque socket. Dans le cas des PVC, cette information est suivie du type d'AAL, de la classe de trafic et du PCR en réception et en émission. Pour les SVC, on trouve l'état du SVC et l'adresse du correspondant. Les SVC de numéro d'interface 999 sont destinés à des mesures de contrôle particulières comme indiqué dans la colonne « State ». </para> <para> Enfin, le fichier <filename>/proc/net/atm/vc</filename> comprend les tailles de tampon mémoire et d'autres données internes pour les sockets ATM. </para> </sect2> <sect2 id="Device-Setup.ATM-Diagnostics"> <title>Diagnostic ATM</title> <para> L'utilitaire <application>atmdiag</application> permet de récupérer divers compteurs d'usage des gestionnaires de périphériques ATM. Reportez-vous à la page de manuel associée pour davantage de détails. </para> </sect2> <sect2 id="Device-Setup.SONET-Diagnostics"> <title>Diagnostic SONET</title> <para> L'outil de diagnostic SONET peut s'employer pour surveiller l'état du lien et pour simuler des erreurs. Pour obtenir les compteurs d'usage SONET, invoquez-le avec l'indice de l'interface ATM en argument. Par exemple : </para> <informalexample><screen> % sonetdiag 0 </screen></informalexample> <para> L'option <parameter class="command">-z</parameter> remet les compteurs à zéro : </para> <informalexample><screen> # sonetdiag -z 0 </screen></informalexample> <para> Les erreurs suivantes peuvent être simulées<footnote><para> Certains périphériques ne gèrent qu'un sous-ensemble de cette liste. </para></footnote> : </para> <variablelist> <varlistentry><term><errorcode>sbip</errorcode></term> <listitem> <para>insertion d'erreur de section (B1)</para> </listitem> </varlistentry> <varlistentry><term><errorcode>lbip</errorcode></term> <listitem> <para>insertion d'erreur de ligne (B2)</para> </listitem> </varlistentry> <varlistentry><term><errorcode>pbip</errorcode></term> <listitem> <para>insertion d'erreur de chemin (B3)</para> </listitem> </varlistentry> <varlistentry><term><errorcode>frame</errorcode></term> <listitem> <para>perte de trame en réception (RX)</para> </listitem> </varlistentry> <varlistentry><term><errorcode>los</errorcode></term> <listitem> <para>perte de signal</para> </listitem> </varlistentry> <varlistentry><term><errorcode>lais</errorcode></term> <listitem> <para>insertion d'un signal d'alarme de ligne</para> </listitem> </varlistentry> <varlistentry><term><errorcode>pais</errorcode></term> <listitem> <para>insertion d'un signal d'alarme de chemin</para> </listitem> </varlistentry> <varlistentry><term><errorcode>hcs</errorcode></term> <listitem> <para>insertion d'erreurs de somme de contrôle de l'en-tête</para> </listitem> </varlistentry> </variablelist> <para> Une erreur est activée par ajout du mot-clé correspondant à la ligne de commande. L'erreur est désactivée en préfixant le mot-clé par un signe négatif, par exemple : </para> <informalexample><screen> a# sonetdiag -z 0 >/dev/null b# sonetdiag -z 0 >/dev/null a# sonetdiag 0 los a# sonetdiag 0 -los b# sonetdiag 0 | grep BIP Section BIP errors: 56200 Line BIP errors: 342 Path BIP errors: 152 a# sonetdiag 0 | grep FEBE Line FEBE: 342 Path FEBE: 152 </screen></informalexample> <para> Si des insertions d'erreurs sont demandées, leurs identifiants sont indiqués lorsque les compteurs sont relevés via <application>sonetdiag</application>. On notera que le matériel peut spontanément désactiver certaines insertions d'erreur. </para> </sect2> </sect1> <sect1 id="Native-ATM-PVCs"> <title>Circuits virtuels permanents ATM natifs (PVC)</title> <para> Les circuits permanents s'utilisent pour des machines directement connectées ou reliées à un commutateur. Dans le dernier cas, la transmission des cellules doit être activée manuellement au niveau du commutateur. </para> <sect2 id="Native-ATM-PVCs.Traffic-Tools"> <title>Outils de génération de trafic</title> <para> <application>aread</application>/<application>awrite</application> et <application>br</application>/<application>bw</application> sont des programmes élementaires donnant accès à l'API ATM. <application>awrite</application> transmet la chaîne de texte donnée en deuxième argument via une PDU AAL5. <application>aread</application> reçoit une PDU AAL5 et l'affiche en hexadécimal. Ces deux programmes affichent également la valeur de retour des appels système correspondants ainsi que celle de <errorcode>errno</errorcode>. </para> <para> <application>bw</application> transmet le contenu de son entrée standard ou un flux de données arbitraires (si on lui passe un nombre en quatrième argument). Les données transitent dans des PDU AAL5 de 8 Ko. <application>br</application> reçoit les PDU AAL5 et les affiche sur sa sortie standard. </para> <para> Le premier argument des commandes <application>aread</application>, <application>awrite</application>, <application>br</application> et <application>bw</application> correspond à l'adresse du circuit permanent, à savoir le numéro de l'interface ATM, le VPI et le VCI séparés à chaque fois par un point. Le numéro de l'interface peut être omis s'il est nul. Par exemple : </para> <informalexample><screen> % awrite 1.0.42 hi </screen></informalexample> <para> Certains matériels ne supportent qu'un VPI nul. Par ailleurs, la plage des VCI peut être limitée, p.ex. entre 0 et 1023. Le numéro de l'interface ATM s'obtient à partir des messages d'initialisation du gestionnaire ATM concerné. <interfacename>atm0</interfacename> correspond à l'interface 0, <interfacename>atm1</interfacename> correspond à l'interface 1, etc. Dans un système muni d'un véritable périphérique ATM (autre que <application>atmtcp</application> donc), celui-ci se situe normalement en <interfacename>atm0</interfacename>. </para> <para> L'utilitaire <application>aping</application> émet et reçoit de petites PDU AAL5 via un PVC. Il s'attend à ce que les messages soient renvoyés en écho à l'autre extrémité ou à ce qu'une application similaire y émette un flux de messages. <application>aping</application> signale une erreur si rien n'est reçu pendant une certaine durée. Il s'invoque comme <application>aread</application>, en spécifiant le PVC. </para> <para> Pour des tests plus poussés, servez-vous de la version modifiée de <application>ttcp</application> incluse dans le paquet. La version originale est disponible à l'adresse : <ulink url="ftp://ftp.sgi.com/sgi/src/ttcp/"></ulink>. Les options suivantes ont été ajoutées : </para> <variablelist> <varlistentry><term><parameter class="command">-a</parameter></term> <listitem> <para> emploi natif d'ATM au lieu d'UDP/TCP. L'adresse doit être de cette forme pour les PVC : <parameter class="command">[<replaceable class="option">itf.</replaceable>]vpi.vci</parameter>. Pour les SVC, il s'agit d'une adresse terminale ATM. </para> </listitem> </varlistentry> <varlistentry><term><parameter class="command">-P</parameter> <replaceable>num</replaceable></term> <listitem> <para>utilisation d'une connexion CBR avec un débit crête de <replaceable>num</replaceable> cellules par secondes. Une classe de trafic UBR est appliquée par défaut. </para> </listitem> </varlistentry> <varlistentry><term><parameter class="command">-C</parameter></term> <listitem> <para>désactivation des sommes de contrôle (UDP)</para> </listitem> </varlistentry> </variablelist> <para> Exemples : </para> <informalexample><screen> %a ttcp_atm -r -a -s 0.90 %b ttcp_atm -t -a -s 0.90 </screen></informalexample> </sect2> <sect2 id="Native-ATM-PVCs.Direct-Cell-Access"> <title>Accès direct aux cellules</title> <para> Les cellules peuvent être formées et analysées avec l'utilitaire <application>atmdump</application> pour les périphériques dont le gestionnaire permet les accès directs aux cellules (mode AAL0). Par exemple : </para> <informalexample><screen> a% sleep 10; date | ./atmdump -t 1 -c 0.51 b% ./atmdump 0.51 825079645.192480: VPI=0 VCI=51, GFC=0x0, CLP=1, Data SDU 1 (PTI 1) 46 72 69 20 46 65 62 20 32 33 20 31 32 3a 34 37 3a 32 35 20 47 4d 54 20 31 39 39 36 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 </screen></informalexample> </sect2> </sect1> <sect1 id="Signaling"> <title>Signalisation</title> <sect2 id="Signaling.ATM-Hosts-File"> <title>Fichier des hôtes ATM</title> <para> Les adresses ATM étant peu pratiques à manipuler, la plupart des outils ATM acceptent également des noms au lieu des adresses numériques. La conversion entre les noms et les adresses s'effectue via le fichier <filename>/etc/hosts.atm</filename> dont la structure est analogue à celle du fichier <filename>/etc/hosts</filename> : </para> <informalexample><screen> <replaceable>adresse_numérique</replaceable> <replaceable>nom(s)</replaceable> </screen></informalexample> <para> Par exemple : </para> <informalexample><screen> 47.0005.80FFE1000000F21A26D8.0020EA000EE0.00 pc2-a.fqdn pc2-a 47.0005.80FFE1000000F21A26D8.0020D4102A80.00 pc3-a.fqdn pc3-a </screen></informalexample> <para> L'adresse numérique est spécifiée dans un des formats décrits dans [<xref linkend="api"/>]. L'adresse d'un système Linux peut être déterminée avec la commande <command>atmaddr <option>-n</option></command> (voir également la section <link linkend="Signaling.Manual-Address-Configuration" endterm="Signaling.Manual-Address-Configuration.title"></link>). </para> <para> De nombreux outils ATM tentent également d'obtenir le nom qui correspond à une adresse lorsqu'ils affichent cette dernière. Le premier nom qui apparaît dans le fichier en regard d'une adresse est alors utilisé. </para> <para> Outre les adresses ATM pour les SVC, les adresses des PVC peuvent également être stockées dans le fichier <filename>/etc/hosts.atm</filename>. Lorsque différents types d'adresses correspondent au même nom d'hôte, la première dont le type convient est employée. Ainsi, lorsqu'une application ne demande que des adresses de SVC, celles des PVC sont ignorées. </para> </sect2> <sect2 id="Signaling.ANS"> <title>ANS</title> <para> Si vous avez accès au service de nom ATM (ATM Name Service), par exemple parce que vous avez installé l'option ANS, vous pouvez l'employer en remplacement ou en complément du fichier de noms en spécifiant le nom de l'hôte qui héberge le service ANS dans le fichier <filename>/etc/resolv.conf</filename>. </para> <para> La liste des codes téléphoniques doit être connue pour effectuer la résolution inverse des adresses E.164. Cette liste se trouve sur le site de <ulink url="http://www.itu.org/">l'ITU-T</ulink> (International Telecommunications Union). La <ulink url="http://www.itu.int/itudoc/itu-t/ob-lists/icc/e164_717.html"><citetitle>liste des codes E.164 nationaux assignés par l'ITU-T</citetitle></ulink> est disponible aux formats PDF et Word. </para> <note><para> Si l'URL venait à changer, le document devrait être facilement localisé en utilisant le moteur de recherche du site. </para></note> <para> Le script <command>src/lib/pdf2e164_cc.pl</command> du paquet atm-linux permet de créer un tableau des codes nationaux E.164 à partir de la version PDF. Par exemple : </para> <informalexample><screen> perl pdf2e164_cc.pl <replaceable>e164_xxx.pdf</replaceable> >/etc/e164_cc </screen></informalexample> <para> Le script s'appuie sur l'utilitaire <application>pdftotext</application>. Celui-ci est disponible avec l'application <ulink url="http://www.foolabs.com/xpdf/"><application>xpdf</application></ulink>. </para> </sect2> <sect2 id="Signaling.Signaling-Demon"> <title>Démon de signalisation</title> <para> Pages de manuel : <citerefentry><refentrytitle>atmsigd</refentrytitle><manvolnum>8</manvolnum></citerefentry> <citerefentry><refentrytitle>atmsigd.conf</refentrytitle><manvolnum>4</manvolnum></citerefentry> </para> <para> Notez que la prise en charge point-à-multipoint d'<application>atmsigd</application> est très limitée : seul l'emploi en tant que feuille d'un arbre point-à-multipoint fonctionne. </para> <para> Par défaut, <application>atmsigd</application> est configuré pour se conformer à la version d'UNI choisie dynamiquement. Il peut être compilé pour UNI 3.0, 3.1 ou 4.0 en employant l'argument <parameter class="command">--with-uni=VERSION</parameter> du script <command>./configure</command> au sommet des sources du paquet linux-atm. </para> <para> Notez que la configuration de <application>atmsigd</application> est assez contraignante. Il s'arrête souvent en cas d'anomalie. Ceci devrait changer dans le futur. </para> <para> <application>atmsigd</application> cherche un fichier de configuration à l'emplacement spécifié via l'option <parameter class="command">-c</parameter>. <filename>/usr/local/etc/atmsigd.conf</filename> correspond à l'emplacement par défaut. </para> </sect2> <sect2 id="Signaling.ILMI-Demon"> <title>Démon ILMI</title> <para> ILMI offre un mécanisme de configuration automatique des adresses. En l'absence de commutateur ou si celui-ci ne gère pas ILMI, les adresses ATM doivent être renseignées manuellement (se reporter à la section <link linkend="Signaling.Manual-Address-Configuration" endterm="Signaling.Manual-Address-Configuration.title"></link>). On notera que le démon ILMI ne doit pas être employé avec des interfaces pour lesquelles les adresses sont positionnées manuellement. </para> <para> Le démon ILMI est invoqué comme suit : </para> <cmdsynopsis> <command>ilmid</command> <arg choice="opt">-b</arg> <arg choice="opt">-d</arg> <arg choice="opt">-i <replaceable>ip_locale</replaceable></arg> <arg choice="opt">-l <replaceable>fichier_journal</replaceable></arg> <arg choice="opt">-q <replaceable>qos</replaceable></arg> <arg choice="opt">-u <replaceable>version_uni</replaceable></arg> <arg choice="opt">-v</arg> <arg choice="opt">-x</arg> <arg choice="opt"><replaceable>itf</replaceable></arg> </cmdsynopsis> <variablelist> <varlistentry><term><parameter class="command">-b</parameter></term> <listitem> <para>arrière-plan. S'exécute dans un processus fils après initialisation.</para> </listitem> </varlistentry> <varlistentry><term><parameter class="command">-d</parameter></term> <listitem> <para>messages de débogage. Par défaut, <application>ilmid</application> est très discret.</para> </listitem> </varlistentry> <varlistentry><term><parameter class="command">-i</parameter> <replaceable>ip_locale</replaceable></term> <listitem> <para> adresse IP à annoncer au commutateur quand il en demande une. Elle est spécifiée sous forme décimale pointée ou textuelle. Par défaut, <application>ilmid</application> la détermine de façon heuristique. </para> </listitem> </varlistentry> <varlistentry><term><parameter class="command">-l</parameter> <replaceable>fichier_journal</replaceable></term> <listitem> <para> fichier d'enregistrement des messages de diagnostic (au lieu de la sortie standard). Le nom spécial <parameter class="command">syslog</parameter> implique l'envoi des messages vers l'enregistreur système syslog. </para> </listitem> </varlistentry> <varlistentry><term><parameter class="command">-q</parameter> <replaceable>qos</replaceable></term> <listitem> <para> configure la classe de service pour le circuit ILMI. Par défaut une classe UBR à la vitesse du lien est employée. </para> </listitem> </varlistentry> <varlistentry><term><parameter class="command">-u</parameter> <replaceable>version_uni</replaceable></term> <listitem> <para> version d'UNI. Les valeurs possibles sont : <parameter class="command">3.0</parameter>, <parameter class="command">3.1</parameter>, et <parameter class="command">4.0</parameter>. Le point est facultatif. La valeur employée par défaut dépend de la façon dont <application>ilmid</application> a été compilé. Il s'agit typiquement de la valeur <parameter class="command">3.0</parameter>. </para> </listitem> </varlistentry> <varlistentry><term><parameter class="command">-v</parameter></term> <listitem> <para>verbosité de débogage accrue.</para> </listitem> </varlistentry> <varlistentry><term><parameter class="command">-x</parameter></term> <listitem> <para> désactive l'inclusion des liaisons de variables dans les ColdstartTrap SNMP. Certains commutateurs (les LS1000 par exemple) ne fonctionnent que si cette option est activée. </para> </listitem> </varlistentry> </variablelist> <para> En l'absence de numéro d'interface, <application>ilmid</application> se sert de l'interface 0. La commande <command>atmaddr</command> permet de vérifier le succès de l'enregistrement d'adresse. </para> <para> L'agent ne supporte que les procédures d'enregistrement d'adresse spécifiées dans la section 5.8 des spécification UNI 3.1 d'ATM Forum. Ces procédures impliquent l'enregistrement du préfixe réseau de l'hôte par le commutateur tandis que l'hôte enregistre en retour l'adresse finale auprès du commutateur. L'hôte y parvient en ajoutant un identificateur de système (ESI/End System Identifier) et un octet sélecteur nul au préfixe réseau enregistré par le commutateur. L'identificateur correspond à l'adresse physique ou MAC de l'interface ATM. </para> </sect2> <sect2 id="Signaling.Manual-Address-Configuration"> <title id="Signaling.Manual-Address-Configuration.title">Configuration manuelle d'adresse</title> <para> Si votre commutateur ne prend pas en charge ILMI, vous devez positionner manuellement l'adresse ATM au niveau du commutateur et de l'ordinateur. Vérifiez au préalable qu'<application>ilmid</application> est désactivé et utilisez la commande <command>atmaddr</command> pour spécifier la ou les adresses. </para> <para> Page de manuel : <citerefentry><refentrytitle>atmaddr</refentrytitle><manvolnum>8</manvolnum></citerefentry> </para> <para> La configuration du commutateur dépend de son modèle. Par exemple, pour un Fore ASX-200 : </para> <informalexample><screen> conf nsap route new <replaceable>adresse_nsap</replaceable> 152 <replaceable>port</replaceable> <replaceable>vpi</replaceable> </screen></informalexample> <para> c'est-à-dire </para> <informalexample><screen> conf nsap route new 47000580ffe1000000f21510650020ea000ee000 152 1a2 0 |<---- préfixe NSAP ---->||<--ESI--->|^^ SEL </screen></informalexample> <para> La longueur de l'adresse NSAP complète doit toujours être de 40 chiffres hexadécimaux. Il est possible d'employer des adresses avec un préfixe différent et un ESI différent de ceux des périphériques. La valeur de l'octet de sélection (SEL) est ignorée. </para> </sect2> <sect2 id="Signaling.Running-Two-ATM-NICs-Back-to-Back"> <title id="Signaling.Back-to-Back.title">Emploi de deux adaptateurs ATM directement connectés</title> <para> Il est également possible d'utiliser deux cartes ATM directement connectées sans avoir besoin de commutateur. Ceci est très pratique pour des environnements de test simples. </para> <para> Un câblage adéquat est nécessaire si vous employez du câble UTP ou STP-5. Nos essais avec des câbles croisés standard 100Base-T n'ont rien donné. Le câblage est différent comme indiqué sur la figure suivante : </para> <informalexample><screen> RJ45 RJ45 1 ------------ 7 2 ------------ 8 7 ------------ 1 8 ------------ 2 Les broches 3, 4, 5, 6 ne sont pas connectées. </screen></informalexample> <para> Les couleurs aux extrémités des connecteurs RJ45 permettent de mieux illustrer ce montage. Le premier connecteur utilise le câblage ci-dessous : </para> <informalexample><screen> RJ45-1 1 - marron 2 - blanc/marron 3 - non connecté 4 - non connecté 5 - non connecté 6 - non connecté 7 - orange 8 - blanc/orange </screen></informalexample> <para> Et le second connecteur le câblage suivant : </para> <informalexample><screen> RJ45-2 1 - orange 2 - blanc/orange 3 - non connecté 4 - non connecté 5 - non connecté 6 - non connecté 7 - marron 8 - blanc/marron </screen></informalexample> <para> Un câblage 1 -- 7 et 2 -- 8 fournit une boucle des plus économiques. </para> <para> On considérera par la suite deux machines nommées « virgil » et « nestor ». </para> <para> Une extrémité de la connexion ATM doit activer le démon réseau <application>atmsigd</application> tandis que l'autre se sert de la version utilisateur usuelle. On exécute sur nestor la commande : </para> <informalexample><screen> atmsigd -b -m network </screen></informalexample> <para> et sur virgil : </para> <informalexample><screen> atmsigd -b </screen></informalexample> <para> ILMI n'est pas utilisable sans commutateur ATM. Créez un fichier <filename>/etc/hosts.atm</filename> avec deux adresses bidon, par exemple : </para> <informalexample><screen> 47.0005.80FFE1000000F21A26D8.0020EA000EE0.00 nestor-atm 47.0005.80FFE1000000F21A26D8.0020D4102A80.00 virgil-atm </screen></informalexample> <para> Ces adresses sont complètement fantaisistes mais cela n'a pas grande importance tant qu'on n'est pas connecté à un réseau ATM public ou privé. Les adresses sont transmises aux gestionnaires de périphériques via (sur virgil) : </para> <informalexample><screen> atmaddr -a virgil-atm </screen></informalexample> <para> et (sur nestor) : </para> <informalexample><screen> atmaddr -a nestor-atm </screen></informalexample> <para> Démarrez à présent <application>atmarpd</application> sur les deux machines de la façon habituelle. Vous devriez (en principe) disposer d'un système ATM opérationnel. Pour activer IP au-dessus d'ATM, suivez les instructions données à la section <link linkend="IP-Over-ATM" endterm="IP-Over-ATM.title"></link>. </para> </sect2> <sect2 id="Signaling.Q-2931-Message-Dumper"> <title>Analyseur-producteur de messages Q.2931</title> <para> Le compilateur de messages Q.2931 génère également un embellificateur pour les messages Q.2931. L'exécutable se nomme <application>q.dump</application> et se trouve dans le répertoire <filename>src/qgen</filename>. Notez que la commande <command>make install</command> ne le copiera nulle part. </para> <para> <application>q.dump</application> attend une suite d'octets sous forme de chiffres hexadécimaux séparés par des espaces sur l'entrée standard et affiche la structure du message si celui-ci est analysable. Exemple : </para> <informalexample><screen> % echo 09 03 80 00 05 5A 80 00 06 08 80 00 02 81 83 00 48 \ 00 00 08 | ./q.dump _pdsc = 9 "Q.2931 user-network call/connection control message" _cr_len = 3 call_ref = 8388613 (0x800005) msg_type = 0x5a "RELEASE COMPLETE" _ext = 1 _flag = 0 "instruction field not significant" _action_ind = 0 "clear call" msg_len = 6 (0x6) _ie_id = 0x08 "Cause" _ext = 1 cause_cs = 0 "ITU-T standardized" _flag = 0 "instruction field not significant" _action_ind = 0 "clear call" _ie_len = 2 (0x2) _ext = 1 location = 1 "private network serving the local user" _ext = 1 cause = 3 "no route to destination" </screen></informalexample> </sect2> </sect1> <sect1 id="IP-Over-ATM"> <title id="IP-Over-ATM.title">IP au-dessus d'ATM</title> <para> IP via ATM est pris en charge via CLIP (Classical IP over ATM) comme défini dans la RFC1577 [<xref linkend="RFC1577"/>], LANE (LAN Emulation, cf. [<xref linkend="lanev1"/>] et [<xref linkend="lanev2"/>]) et MPOA (Multi-Protocol Over ATM, cf. [<xref linkend="mpoav1"/>]) en mode client. </para> <sect2 id="IP-Over-ATM.CLIP"> <title id="IP-Over-ATM.CLIP.title">CLIP</title> <para> Un démon gère la génération et l'analyse des requêtes ARP. Le noyau ne maintient qu'une petite table de recherche avec des informations partielles. </para> <para> Pages de manuel : <citerefentry><refentrytitle>atmarpd</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>atmarp</refentrytitle><manvolnum>8</manvolnum></citerefentry> </para> <para> <application>atmsigd</application> et <application>ilmid</application> doivent être démarrés avant <application>atmarpd</application>. Utilisez l'option <parameter class="command">-b</parameter> pour être sûr que ces démons sont correctement synchronisés. Par exemple : </para> <informalexample><screen> #!/bin/sh atmsigd -b ilmid -b atmarpd -b ... </screen></informalexample> <para> Le script suivant ne fonctionnera par contre que rarement : </para> <informalexample><screen> #!/bin/sh atmsigd & ilmid & atmarpd & ... </screen></informalexample> <para> <application>atmarp</application> permet de configurer ATMARP. Une fois <application>atmsigd</application>, <application>ilmid</application> et <application>atmarpd</application> démarrés, créez une interface et configurez-la : </para> <informalexample><screen> # atmarp -c <replaceable>nom_interface</replaceable> # ifconfig atm0 <replaceable>adresse_locale</replaceable> <replaceable>options_supplémentaires_éventuelles</replaceable> up </screen></informalexample> <para> Par exemple : </para> <informalexample><screen> # atmarp -c atm0 # ifconfig atm0 10.0.0.3 up </screen></informalexample> <para> Dans le cas où seuls des PVC sont employés, on peut les créer avec : </para> <informalexample><screen> # atmarp -s 10.0.0.4 0.0.70 </screen></informalexample> <para> L'encapsulation est de type NULL si le mot clef <parameter class="command">null</parameter> est passé en argument. Notez qu'ARP demande une encapsulation de type LLC/SNAP. Le type NULL est donc limité aux PVC. </para> <para> L'usage de SVC peut nécessiter davantage de configuration. Si l'hôte joue le rôle de serveur ATMARP sur ce sous-réseau IP logique (LIS, Logical IP Subnet), aucune autre opération n'est nécessaire. Sinon, l'adresse ATM du serveur ARP doit être renseignée. Ceci s'effectue en créant une entrée avec l'option <parameter class="command">arpsrv</parameter>. Par exemple : </para> <informalexample><screen> # atmarp -s \ 10.0.0.0 47.0005.80.ffe100.0000.f215.1065.0020EA000756.00 \ arpsrv </screen></informalexample> <para> Le serveur ATMARP doit être opérationnel en préalable à la configuration des clients. </para> <para> La table ATMARP du noyau peut se lire via <filename>/proc/net/atm/arp</filename>. La table utilisée par <application>atmarpd</application> est régulièrement affichée sur la sortie standard lorsque le démon a été invoqué avec l'option <parameter class="command">-d</parameter>. Sans cette option de configuration, la table est écrite dans le fichier <filename>atmarpd.table</filename> du répertoire de sortie (par défaut <filename class="directory">/var/run</filename>, modifiable avec l'option <parameter class="command">-D</parameter>). La commande <command>atmarp -a</command> permet de la lire. </para> </sect2> <sect2 id="IP-Over-ATM.LAN-Emulation"> <title id="IP-Over-ATM.LAN-Emulation.title">Émulation de LAN</title> <para> Outre CLIP, LANE (Lan Emulation) convoie du trafic IP au-dessus d'ATM. LANE émule le comportement d'un (ancien) réseau local, par exemple dans son aspect diffusion des messages. Le serveur LANE est décrit dans le fichier <filename>src/lane/USAGE</filename> du paquet linux-atm. </para> <para> Pages de manuel : <citerefentry><refentrytitle>bus</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>lecs</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>les</refentrytitle><manvolnum>8</manvolnum></citerefentry> et <citerefentry><refentrytitle>zeppelin</refentrytitle><manvolnum>8</manvolnum></citerefentry> </para> <para> Si vous comptez utiliser plusieurs clients ou services LANE, chaque démon doit disposer de sa propre adresse ATM locale. Tous les démons emploient la même prise d'accès (SAP, Service Access Point) et la distinction entre connexions s'effectue donc avec les adresses ATM. </para> <para> Tout comme CLIP, LANE se compose d'un processus démon en espace utilisateur, <application>zeppelin</application>, qui gère le protocole LANE, et d'une partie noyau qui s'occupe du cache ARP LANE. </para> <para> <application>atmsigd</application> et <application>ilmid</application> doivent être lancés avant <application>zeppelin</application>. Le noyau crée une nouvelle interface au démarrage de <application>zeppelin</application>. Celle-ci peut alors être configurée : </para> <informalexample><screen> # zeppelin <replaceable>options_supplémentaires_éventuelles</replaceable> & # ifconfig lec0 <replaceable>adresse_locale</replaceable> <replaceable>options_supplémentaires_éventuelles</replaceable> up </screen></informalexample> <para> Dans l'exemple suivant, deux clients LANE sont démarrés. Le premier client utilise l'interface par défaut <interface>lec0</interface>, l'adresse d'écoute par défaut et se connecte au pseudo-réseau par défaut. Le second client LANE se voit attribuer l'interface <interface>lec2</interface>, s'attache à l'adresse locale <parameter class="command">ma_machine3</parameter>, essaie de joindre le pseudo-réseau <parameter class="command">mon_réseau</parameter> et fait office de pont entre le pseudo-réseau et le segment Ethernet. L'adresse <parameter class="command">ma_machine3</parameter> est spécifiée dans le fichier <filename>/etc/hosts.atm</filename>. Le reste du fonctionnement du pont est décrit dans le mini-HOWTO correspondant, [<xref linkend="bridge-howto"/>]. </para> <informalexample><screen> # zeppelin & # ifconfig lec0 10.1.1.42 netmask 255.255.255.0 \ broadcast 10.1.1.255 up # # zeppelin -i 2 -l ma_machine3 -n mon_réseau -p & # ifconfig lec2 10.1.2.42 netmask 255.255.255.0 \ broadcast 10.1.2.255 up </screen></informalexample> <para> <application>zeppelin</application> emploie l'interface <interface>lec0</interface> par défaut et s'attache à une adresse ATM dont l'octet de sélection est à zéro. Il essaie de contacter le LECS (LAN Emulation Configuration Server) à l'adresse standard et de joindre le pseudo-réseau spécifié par ce dernier. <application>zeppelin</application> utilise la MTU définie par le LES et n'agit pas en tant que proxy LEC (LAN Emulation Client). Ce paramétrage est modifiable avec les options de ligne de commandes définies dans <citerefentry><refentrytitle>zeppelin</refentrytitle><manvolnum>8</manvolnum></citerefentry>. </para> <para> <application>zeppelin</application> rejoint automatiquement tout pseudo-réseau dont la MTU dépasse les 1516 octets de MTU par défaut. La MTU de l'interface LANE s'ajuste en fonction de la MTU du pseudo-réseau courant. </para> <para> L'état du cache ARP LANE est accessible via le fichier <filename>/proc/net/atm/lec</filename>. Les adresses MAC, ATM et l'état de chaque entrée sont affichés. Les identifiants de connexion pour les enregistrement actifs sont également présents. </para> <para> Le service LANE (<citerefentry><refentrytitle>lecs</refentrytitle><manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>les</refentrytitle><manvolnum>8</manvolnum></citerefentry> et <citerefentry><refentrytitle>bus</refentrytitle><manvolnum>8</manvolnum></citerefentry>) se configure au moyen de fichiers. La syntaxe des fichiers de configuration est décrite dans les pages de manuel respectives. </para> <para> Une description plus détaillée des services LANE de Linux se trouve dans le mémoire d'études de Marko Kiiskilä [<xref linkend="kiis"/>]. <!-- FIXME NDT: retrouver l'URL --> </para> </sect2> <sect2 id="IP-Over-ATM.MPOA"> <title id="IP-Over-ATM.MPOA.title">MPOA</title> <para> Le client MPOA de Linux s'inscrit dans la tradition des services ATM divisés en un démon utilisateur et un service noyau. Le démon <application>mpcd</application> traite les paquets de contrôle MPOA tandis que le noyau tient à jour les caches entrant et sortant et effectue le renvoi des paquets. </para> <para> Page de manuel : <citerefentry><refentrytitle>mpcd</refentrytitle><manvolnum>8</manvolnum></citerefentry> </para> <para> <application>atmsigd</application> et <application>ilmid</application> doivent être lancés avant <application>mpcd</application>. Puisque MPOA détecte les flux IP à partir du trafic LANE, <application>zeppelin</application> doit être démarré au préalable. L'ordre de lancement des démons <application>zeppelin</application> et <application>mpcd</application> n'est toutefois pas fixé. Ils peuvent être arrêtés et redémarrés indépendamment l'un de l'autre. La méthode la plus simple pour désactiver MPOA consiste à envoyer un signal au démon <application>mpcd</application>. </para> <para> Ci-dessous se trouve un exemple tiré de la section <link linkend="IP-Over-ATM.LAN-Emulation" endterm="IP-Over-ATM.LAN-Emulation.title"></link> qui démarre deux clients LANE. La configuration a été enrichie de deux clients MPOA alimentés par les clients LANE : </para> <informalexample><screen> # zeppelin & # ifconfig lec0 10.1.1.42 netmask 255.255.255.0 \ broadcast 10.1.1.255 up # mpcd -s ma_machine1 -l ma_machine2 & # # zeppelin -i 2 -l ma_machine3 -n mon_réseau -p & # ifconfig lec2 10.1.2.42 netmask 255.255.255.0 \ broadcast 10.1.2.255 up # mpcd -i 2 -s ma_machine4 -l ma_machine5 & </screen></informalexample> <para> Le démon MPOA a besoin de deux adresses ATM locales qu'il emploie pour initialiser et recevoir les connexions de contrôle et de données. Les adresses peuvent être les mêmes que pour <application>zeppelin</application>, par exemple, mais elles doivent différer entre démons <application>mpcd</application>. Par défaut, <application>mpcd</application> ne récupère pas les informations de configuration du LECS. Les options de ligne de commande et un exemple d'emploi de LECS se trouvent dans la page de manuel de <application>mpcd</application>. </para> <para> Le contenu des caches entrant et sortant de MPOA peut être contrôlé via le fichier <filename>/proc/net/atm/mpc</filename>. </para> <para> Le client MPOA Linux accepte la classe de trafic CBR pour les SVC directs au lieu de la classe par défaut UBR. La QoS des SVC à venir est modifiable par l'intermédiaire de <filename>/proc/net/atm/mpc</filename>. </para> <informalexample><screen> # echo add 130.230.54.146 tx=80000,1600 rx=tx > /proc/net/atm/mpc # # créer assez de trafic pour déclencher un raccourci # cat /proc/net/atm/mpc QoS entries for shortcuts: IP address TX:max_pcr pcr min_pcr max_cdv max_sdu RX:max_pcr pcr min_pcr max_cdv max_sdu 130.230.54.146 80000 0 0 0 1600 80000 0 0 0 1600 Interface 2: Ingress Entries: IP address State Holding time Packets fwded VPI VCI 130.230.4.3 invalid 1160 0 130.230.54.146 resolved 542 151 0 109 ... </screen></informalexample> <para> Le raccourci avec l'adresse IP <parameter class="command">130.230.54.146</parameter> a été établi avec les paramètres ci-dessus. Des patches étendent la détection de flux à un support complet de niveau 4. Les flux de niveau 4 sont exprimés sous la forme d'un quintuplet (protocole, adresse locale, port local, adresse distance, port distant). Ils identifient des flux applicatifs. <!-- Le lien vers la rustine n'existe plus, et il ne semble pas en exister de version à jour. Si vous êtes intéressés, récupérez le dernier patch sur <ulink url="ftp://sunsite.tut.fi/pub/Local/linux-atm/mpoa/">ftp://sunsite.tut.fi/pub/Local/linux-atm/mpoa/</ulink>. --> </para> </sect2> </sect1> <bibliography id="Bibliography"> <title id="Bibliography.title">Bibliographie</title> <bibliodiv> <title>Références</title> <biblioentry id="api" xreflabel="api"> <title>Linux ATM API</title> <author> <firstname>Werner</firstname> <surname>Almesberger</surname> </author> <releaseinfo> <ulink url="http://linux-atm.sourceforge.net/API/">http://linux-atm.sourceforge.net/API/</ulink> </releaseinfo> <pubdate>juillet 1996</pubdate> </biblioentry> <biblioentry id="RFC1577" xreflabel="RFC1577"> <title>Classical IP and ARP over ATM (RFC1577)</title> <author> <firstname>Mark</firstname> <surname>Laubach</surname> </author> <pubdate>janvier 1994</pubdate> </biblioentry> <biblioentry id="lanev1" xreflabel="lanev1"> <title>LAN Emulation Over ATM -- Version 1.0</title> <corpauthor>ATM Forum</corpauthor> <pubdate>février 1996</pubdate> </biblioentry> <biblioentry id="lanev2" xreflabel="lanev2"> <title>LAN Emulation Over ATM -- Version 2 -- LUNI Specification</title> <corpauthor>ATM Forum</corpauthor> <pubdate>juillet 1997</pubdate> </biblioentry> <biblioentry id="mpoav1" xreflabel="mpoav1"> <title>Multi-Protocol Over ATM -- Version 1.0</title> <corpauthor>ATM Forum</corpauthor> <pubdate>juillet 1997</pubdate> </biblioentry> <biblioentry id="bridge-howto" xreflabel="bridge-howto"> <title>Bridging mini-Howto</title> <author> <firstname>Christopher</firstname> <surname>Cole</surname> </author> <releaseinfo> <ulink url="&howto;Bridge.html"></ulink> </releaseinfo> <pubdate>mars 2001</pubdate> </biblioentry> <biblioentry id="kiis" xreflabel="kiis"> <title>Implementation of LAN Emulation Over ATM in Linux</title> <author> <firstname>Marko</firstname> <surname>Kiiskilä</surname> </author> <releaseinfo> <ulink url="http://linux-atm.sourceforge.net/misc.php"></ulink> </releaseinfo> <pubdate>octobre 1996</pubdate> </biblioentry> </bibliodiv> </bibliography> </article>