Introduction
Le logiciel FlexNet est né en 1988. Il a été conçu pour mettre en place, aisément, un système dédié au packet radio avec des liaisons spécifiques et une coordination nationale. Mettant ainsi un terme à l'ère du PK1 et autre TNC2 en mode perroquet. De plus le système devait être fiable, peu cher et évolutif. Par la suite, en 1995, le portage vers le monde du PC a permis l'utilisation de plusieurs autres interfaces.
La particularité du logiciel
Le logiciel est écrit à 95% en langage C sauf quelques routines E/S écrites en assembleur. Le sysop définit l'indicatif, le ou les TxDelay, la ou les vitesses de transfert de chaque voie ; tous les autres paramètres sont auto-adaptatifs, ce qui permet une configuration plus aisée. Le Hop-to-Hop-Acknowledge est la confirmation immédiate des trames reçues pour une liaison passant par le digi.
Routage dynamique et compression des Headers
Chaque digi échange le nom de ses partenaires et le temps nécessaire pour les atteindre. Les répéteurs retransmettent l'information, ce qui permet une vue dynamique du réseau ou presque... Les en-têtes de niveau 3 sont quant à eux compressés, ce qui ne pose pas de problème puisque les voies de transport sont dédiées.
L'origine : le RMNC
Le logiciel FlexNet à été écrit à l'origine pour fonctionner sur un hardware spécifique. Celui-ci est basé sur des cartes appelées RMNC. Un système complet RMNC est composé d'une carte SOLOMASTER (qui contrôle la totalité du système), de plusieurs cartes SLAVES (une par voie radio ou kiss) et une carte RESET qui évite tous les blocages. Chaque carte dispose d'un microprocesseur, le 6809, de RAM pour la gestion des QSO, d'eprom pour flasher le logiciel. Tout ce beau monde discute sur une bus de données.
Le sysop peut également mettre en place une carte d'E/S avec 16 contacts secs permettant l'allumage d'amplis ou de la cafetière avant de se rendre sur le digi.
Les commandes
(A)ctualité, (I)nfo, (H)elp : Permet de lire différents textes renseignés par le Sysop
(D)estinations : Affiche la table de destinations obtenue grâce aux échanges du routage dynamique. D * F : cette extension permet d'afficher uniquement les digis comportant la lettre F dans l'indicatif
(P)aramètres : Donne les différents états du digi (qualité des liaisons, runtime, nombre de QSO, etc...)
(L)ink : Affiche les links dédiés sur le digi en question
(MH)eard : Liste des stations entendues sur les différents ports
(F)ind : Permet de rechercher un OM sur un ou plusieurs digi adjacents
(C)onnect : Permet d'établir la connexion vers un digi, un service, automatiquement s'il est connu du réseau
Spécifique à PC/FlexNet
(ST)atistiques : Affiche différentes statistiques sur le nombre de trames et le taux d'erreur
PC/Flexnet ou l'ouverture
Le logiciel de gestion du réseau FlexNet a été porté sur plate-forme PC par Gunter Jost, DK7WJ, donnant ainsi naissance à PC/FlexNet. Le hardware n'est alors plus spécifique. À l'image de FPAC, PC/FlexNet est un ensemble de logiciels de gestion de réseau rassemblant toutes les couches sur une seule machine. Ainsi, de la liaison radio à l'application utilisateur, PC/FlexNet homogénéise l'ensemble des composantes d'un noeud packet. FlexNet, dans son implémentation sur PC, apporte une nouvelle souplesse de développement du réseau packet-radio par rapport à son utilisation sur un hardware spécifique, tout en en gardant les spécificités.
Une organisation stratifiée
Pratiquement PC/FlexNet s'articule autour d'un « kernel » appelé FlexNet, qui est le logiciel proprement dit de gestion de la couche réseau (tel qu'il est implémenté dans le RMNC). La fonction de « noeud » ou « node » est assurée par une application (FlexDigi) qui assume les fonctions de routage. À côté de ce kernel, viennent se greffer deux catégories de « pilotes » ou interfaces qui composent les couches et dont les buts sont distincts.
Les gestionnaires de modems
C'est ici que l'évolution par rapport au RMNC est importante. En effet, le champ de modems utilisables est considérablement élargi. Outre le support classique des cartes USCC4 et USCC8, et du modem BayCom, PC/FlexNet permet aussi d'envisager l'exploitation de nombreuses autres interfaces. En voici une liste non-exhaustive :
- cartes internes USCC4 et USCC8 (accueillant indifféremment des modems de 9 600 à 76 800 bauds -DF9IC-)
- modems G3RUH et compatibles
- modem BayCom (300 à 2 400 baud)
- modem 9k6 pour port parallèle c'est le PAR96
- modem 9k6 « PicPar » à base de micro contrôleur PIC pour port parallèle
- cartes sonores SoundBlaster et Windows Sound System (1k2 et 9k6)
- cartes DSP Motorola, Analog-Device (EZKIT), Texas etc...
- TNC2, TNC2C, TNC2S, TNC3 et FalCon avec EPROM « 6PACK »
- cartes réseau Ethernet (NE2000 et compatibles...)
- port KISS
Chaque type de modem possède son propre gestionnaire au sein de l'ossature FlexNet. Ils sont tous construits sur une base commune assurant la compatibilité entre le noyau et les différentes interfaces.
Les interfaces d'applications
Dans le même esprit de souplesse qui conduit le développement de PC/FlexNet, quatre interfaces permettent de relier les applications à la couche réseau :
- KISS : Permet la liaison avec tout système équipé KISS (sauf TNC).
- TFEMU : Emulateur de TFPC qui permet l'utilisation de logiciels qui exploitent habituellement des drivers du type TFPCR, TFPCX, TFX, TFKISS, etc... Permet ainsi la liaison d'un logiciel utilisateur (GP, TOP, SP), d'un BBS ou d'un cluster.
- ETHEREMU : Emulateur de driver de carte ETHERNET qui permet l'emploi de tout logiciel utilisant les cartes réseau. De la sorte, PC/FlexNet a la possibilité de se transformer en passerelle AX.25 TCP/IP.
- Kit de Développement : Cette possibilité d'accéder directement au noyau (FlexNet) permet le développement d'applications spécifiques à PC/FlexNet. C'est ainsi que sont conçus tous les drivers de modems pour PC/FlexNet, mais aussi BayCom MailBox, logiciel de BBS développé par Florian/DL8MBT ou tout simplement « FlexDigi », qui est le gestionnaire de node.
De plus, il est possible, grâce à quelques utilitaires, de tester une liaison en « loopback » (boucle interne au node), de remplir des voies radio inutilisées avec un « dummy » (driver factice), de monitorer l'ensemble des voies ou de décharger de la mémoire indépendamment toutes les applications, etc...
Fonctionnement global
De par sa position centrale dans le système, FlexNet et FlexDigi gèrent toutes les transmissions, qu'elles soient internes ou externes au node. Il est de ce fait possible de faire communiquer entre elles toutes les composantes du node. Une application peut être associée à une ou plusieurs voies radio, deux applications (AX.25 et TCP/IP par exemple) peuvent communiquer par l'intermédiaire du noyau et de leurs interfaces d'application respectives, deux ou plusieurs voies radio peuvent être reliées ensemble, etc...
C'est le SysOp qui, par la configuration logicielle des voies radio et des applications, détermine la structure interne et l'utilisations du noeud packet.
Du coté de l'utilisateur
Du point de vue de l'utilisateur, FlexNet simplifie le réglage des paramètres liés à la gestion du trafic. Seuls la vitesse de transmission, l'indicatif et le TXDELAY nécessitent un paramètre. Toutes les autres variables sont prises en charge par FlexNet qui les calcule en temps réel sur la base du trafic analysé sur les voies radio. Grâce au kit de développement, ne nombreuses applications « natives » sur PC/FlexNet peuvent être développées. À ce jour, on compte déjà sept applications développées spécifiquement pour PC/FlexNet :
- PingPongConvers (DG2FEF) : serveur convers en temps-réel
- DxNet (F5MZN) - DX-Cluster
- Clusse (OH7LZB) - DX-Cluster
- BayComTerminal (DL8MBT) - logiciel utilisateur remplaçant de BayCom
- BayComMailBox (DL8MBT) - logiciel de BBS
- PCFLog (DL8MAS) - log automatique de l'activité du node
- Serv (DG2FEF) - gestion distante du node
Gunter/DK7WJ travaille actuellement au développement d'un patch de FlexNet pour Windows NT/95, ce qui laisse entrevoir, avec l'implémentation par DC6IQ d'une couche IP, un grand nombre de possibilités et d'extensions des capacités du réseau packet-radio (travail multitâche, serveur Web, Gopher, FTP, routage IP, etc...)
Alexandre Cugnot, F1RHK et Stanislas Perrin, F1SLS
|