システム上の AX.25 や NET/ROM の各ポートには SSID 付コールサイン (訳注: Sub Station ID、つまり「-1」とか「-5」とかのアレ) が割当てられていなけ ればなりません。 これはこれから詳しく説明する設定ファイルにおいて設定します。
NOS や BPQ といった AX.25 の実装の中には AX.25 や NET/ROM の各ポートに 同一の SSID 付きコールサインを割当てられるものがあります。 Linux ではちょっと込みいった技術的な事情で、こういうことができません。 でも実際のところ、それほど大きな問題ではないですけど。
つまり設定の内容を考えるときには、あらかじめ注意しておかなければならな いことがいくつかあるということです。 以下に列挙してみます。
AX.25 と NET/ROM の各ポートは別々の SSID 付きコールサインを使うよう設定する。
TCP/IP は送受信に使われる AX.25 ポートの SSID 付きコールサインを使う。 つまり 1. において AX.25 インターフェイスに割当てたものである。
NET/ROM は設定ファイルにある SSID 付きコールサインを使う。 ただしこのコールサインは他の NET/ROM ノードに接続するときにだけ使われ るもので、一般の AX.25 ユーザーがあなたの NET/ROM ノードに接続するとき に使う SSID 付きコールサインとは違う。 詳しくは後ほど説明。
ROSE 用のコールサインが「rsparms」コマンドにより 指定されていなければ、ROSE はデフォルトで AX.25 ポート用の SSID 付きコー ルサインを使う。 「rsparms」コマンドで SSID 付きコールサインを指定 してあれば、ROSE は全てのポートでこの SSID 付きコールサインを使う。
その他のプログラム、例えば「ax25d」などはどの様な SSID 付きコールサインでも接続を受付ける。 これは他のポートと重複していても構わない。
ルーティングに気をつければ全てのポートに同じ IP アドレスを設定しても構わ ない。お望みであれば。
AX.25 の実装は全部が全部 TNC2 というわけではありません。 あなたが TNC を使ったパケットしか知らないとしたら、今まで親しんできたの とはやや違った名称を Linux は使っています。 以下の表は各設定項目がどのような意味を持つか示しています。 この文書を読んでいて知らない名称に出くわしてもそれがどういう 意味を持つか分かると思います。
Linux での名称 | TAPR TNC での名称 | 説明 |
---|---|---|
T1 | FRACK | ACK されなかったフレームを再送信するまでの待ち時間 |
T2 | RESPTIME | ACK を送信するまで次の受信フレームを待つ最小時間 |
T3 | CHECK | リンクが生きているかどうか確認する時間間隔 |
N2 | RETRY | 接続が切れたと判断するまで繰り返す再送信回数 |
Idle | 切断までにアイドル状態にあるとみなす時間間隔 | |
Window | MAXFRAME | ACK されなかった送信フレームの最大値 |
実行時には多くのカーネルパラメーターを変更することができます。 /proc/sys/net/ 以下をよく見れば、ネットワーク設定の 様々なパラメーターを書き込まれた分かりやすい名前のファイルがたくさんあ ることが分かるでしょう。 /proc/sys/net/ax25/ 以下の各ディレクトリは設定され ている各 AX.25 ポートを表しています。 ディレクトリ名がポートの名前です。
/proc/sys/net/ax25/portname/ 以下にあるファイルはこんな感じです。
ファイル名 | 意味 | 取り得る値 | 初期値 |
---|---|---|---|
ip_default_mode | IP Default Mode | 0=DG 1=VC | 0 |
ax25_default_mode | AX.25 Default Mode | 0=Normal 1=Extended | 0 |
backoff_type | Backoff | 0=Linear 1=Exponential | 1 |
connect_mode | Connected Mode | 0=No 1=Yes | 1 |
standard_window_size | Standard Window | 1 .. 7 | 2 |
extended_window_size | Extended Window | 1 .. 63 | 32 |
t1_timeout | T1 Timeout | 1s .. 30s | 10s |
t2_timeout | T2 Timeout | 1s .. 20s | 3s |
t3_timeout | T3 Timeout | 0s .. 3600s | 300s |
idle_timeout | Idle Timeout | 0m 以上 | 20m |
maximum_retry_count | N2 | 1 .. 31 | 10 |
maximum_packet_length | AX.25 Frame Length | 1 .. 512 | 256 |
この表の T1, T2, T3 の単位は秒で、Idle Timeout の単位は分です。 ただし sysctl で使うときは秒に 10 をかけた内部表記で指定するので気をつ けてください。 これは 1/10 秒単位の時間分解能で指定するためです。 T3 や Idle といった設定値にゼロを指定できるタイマーでは、ゼロという値 はタイマーを使用していないことを表します。
/proc/sys/net/netrom/ 以下のファイルはこんな感じです。
ファイル名 | 意味 | 取り得る値 | 初期値 |
---|---|---|---|
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 |
/proc/sys/net/rose/ 以下のファイルはこんな感じです。
ファイル名 | 意味 | 取り得る値 | 初期値 |
---|---|---|---|
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 |
パラメーターを設定するのに必要なことはファイルそのものに指定したい値を 書き込むだけです。 例えば ROSE の window size の設定値を調べて新しい値を設定するには、以 下のようにします。
# cat /proc/sys/net/rose/window_size 3 # echo 4 >/proc/sys/net/rose/window_size # cat /proc/sys/net/rose/window_size 4 |