Page suivante Page précédente Table des matières

5. Numéros d'identification, adresses et préliminaires divers

Chaque port AX.25 et NetRom sur votre système doit se voir allouer un numéro d'identification (callsign/ssid). Il se configure dans les fichiers dont il va être à présent question.

Certaines mises en oeuvre d'AX.25 telles NOS et BPQ permettent l'emploi d'un ssid commun sur un même port AX.25 et NetRom. Pour des raisons techniques assez compliquées, Linux l'interdit. En pratique, ça ne s'avère pas un problème aussi important qu'on pourrait le croire.

Cela signifie que vous devez garder présents à l'esprit certains éléments lorsque vous configurez votre système.

  1. Chaque port AX.25 et NetRom doit disposer d'un ssid unique.
  2. TCP/IP utilise le ssid du port AX.25 par lequel il émet ou reçoit (celui dont il est question juste au-dessus).
  3. NetRom emploie le ssid spécifié dans son fichier de configuration mais seulement lorsqu'il dialogue avec un autre NetRom. Il ne s'agit pas du ssid que les clients AX.25 de votre noeud NetRom vont employer. Davantage de détails sur ce point tout à l'heure.
  4. Rose utilise par défaut le ssid du port AX.25 à moins qu'on ne lui en spécifie explicitement un autre grâce à la commande `rsparms' qui forcera le même ssid sur tous les ports.
  5. Les autres programmes tels `ax25d' écoutent via un ssid quelconque qui n'est soumis à aucune contrainte d'unicité entre ports différents.
  6. Si le routage est fait avec attention, vous pouvez affecter la même adresse IP à tous les ports.

5.1 Que sont les T1, T2, N2 ?

Toutes les piles AX.25 ne sont pas de type TNC2. La nomenclature Linux diffère sur certains points de celle du monde des TNC. Le tableau ci-dessous vous aidera à établir les correspondances entre les différents concepts.

-------+----------+------------------------------------------------
Linux  | TAPR TNC | Description
-------+----------+------------------------------------------------
T1     | FRACK    | Temps d'attente avant retransmission d'une
       |          | trame privée d'accusé de réception.
-------+----------+------------------------------------------------
T2     | RESPTIME | Temps minimum d'attente entre trames avant 
       |          | émission d'un acquittement.
-------+----------+------------------------------------------------
T3     | CHECK    | Périodicité d'émission d'un paquet de
       |          | vérification de l'état de la connexion.
-------+----------+------------------------------------------------
N2     | RETRY    | Nombre de tentatives de retransmission avant
       |          | de signaler un échec.
-------+----------+------------------------------------------------
Idle   |          | Durée d'inactivité d'une connexion avant sa 
       |          | fermeture.
-------+----------+------------------------------------------------
Window | MAXFRAME | Nombre maximal de trames transmises sans
       |          | acquittement.
-------+----------+------------------------------------------------

5.2 Paramètres configurables dynamiquement

Les noyaux 2.1.* et 2.0.* +moduleXX permettent la modification à la volée de paramètres auparavant statiques. Un examen attentif de la structure du répertoire /proc/sys/net/ révèle de nombreux fichiers dont les noms correspondent à ceux de paramètres réseau. Les fichiers dans le répertoire /proc/sys/net/ax25/ représentent chacun un port AX.25 configuré. Le nom du fichier reflète celui du port. La structure des fichiers dans /proc/sys/net/ax25/<portname>/ est la suivante :

Fichier               Signification         Valeur                   Défaut
ip_default_mode       Mode IP par défaut    0=DG 1=VC                0
ax25_default_mode     Mode AX.25 par défaut 0=normal 1=étendu        0
backoff_type          Backoff               0=Linéaire 1=exponentiel 1
connect_mode          Mode connecté         0=non 1=oui              1
standard_window_size  Fenètre standard      1  <= N <= 7             2
extended_window_size  Fenètre étendue       1  <= N <= 63            32
t1_timeout            Délai maximal T1      1s <= N <= 30s           10s
t2_timeout            Délai maximal T2      1s <= N <= 20s           3s
t3_timeout            Délai maximal T3      0s <= N <= 3600s         300s
idle_timeout          Attente d'inactivité  0m <= N                  20m
maximum_retry_count   N2                    1  <= N <= 31            10
maximum_packet_length Trame AX.25           1  <= N <= 512           256
T1, T2, T3 sont donnés en secondes tandis que la durée d'inactivité est en minutes. Notez que les valeurs employées dans l'interface sysctl s'expriment dans une unité interne multiple par 10 du temps en secondes. La résolution atteint donc le dixième de seconde. Dans le cas d'une alarme qui peut être nulle, c'est à dire pour T3 et pour la durée d'inactivité, une valeur nulle équivaut à une désactivation.

La structure des fichiers dans /proc/sys/net/netrom/ est la suivante :

Fichier                                    Valeur par défaut             
default_path_quality                       10
link_fails_count                           2
network_ttl_initialiser                    16
obsolescence_count_initialiser             6
routing_control                            1
transport_acknowledge_delay                50
transport_busy_delay                       1800
transport_maximum_tries                    3
transport_requested_window_size            4
transport_timeout                          1200

La structure des fichiers dans /proc/sys/net/rose/ est la suivante :

Fichier                                    Valeur par défaut
acknowledge_hold_back_timeout              50
call_request_timeout                       2000
clear_request_timeout                      1800
link_fail_timeout                          1200
maximum_virtual_circuits                   50
reset_request_timeout                      1800
restart_request_timeout                    1800
routing_control                            1
window_size                                3

Le positionnement d'un paramètre se fait simplement en l'écrivant dans le fichier. Par exemple, pour vérifier puis modifier la taille de fenêtre Rose, vous pourriez exécuter :

# cat /proc/sys/net/rose/window_size
3
# echo 4 >/proc/sys/net/rose/window_size
# cat /proc/sys/net/rose/window_size
4


Page suivante Page précédente Table des matières