kazmax - Linux で自宅サーバー

x25 - 約束事その他の説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. ソケットアドレス
  5. ソケットオプション
  6. バグ
  7. 関連項目
  8. バージョン

名前

x25, PF_X25 - ITU-T X.25 / ISO-8208 プロトコルインターフェース

書式

#include <sys/socket.h>
#include <linux/x25.h>
x25_socket = socket(PF_X25, SOCK_SEQPACKET, 0);

説明

X25 ソケットは X.25 パケット層プロトコルに対するインターフェースを提供する。 これにより、アプリケーションはパブリックな X.25 データネットワークで 通信することができるようになる。 X.25 は International Telecommunication Union's recommendation X.25 (X.25 DTE-DCE mode) で標準化されている。 X25 ソケットは、中間層のない X.25 ネットワーク (X.25 DTE-DTE mode) での通信にも用いることができる。 DTE-DTE モードは ISO-8208 に記述されている。

メッセージ境界は保存される。ソケットからの   read (2) は、反対側のソケットからの対応する   write (2) と同じ大きさのデータを受け取り、出力する。 必要がある場合は、カーネルが長いメッセージの 分割 (segmenting) と再構成 (re-assembling) を行う。 これには X.25 の M ビットが用いられる。 メッセージサイズには、ハードコーディングされた上限はない。 しかし、一時的にシステムリソースが足りなかったり、 他の制約 (ソケットメモリバッファのサイズ制限など) が 効いてしまうと、長いメッセージの再構成には失敗するかもしれない。 この場合、その X.25 接続はリセットされることになる。

ソケットアドレス

AF_X25 ソケットアドレスファミリーは、ネットワークアドレスを表すために struct sockaddr_x25 を用いる。これは ITU-T recommendation X.121 で定義されている。


struct sockaddr_x25 {
	sa_family_t	sx25_family;	/* must be AF_X25 */
	x25_address	sx25_addr;	/* X.121 Address */
};

sx25_addr には char 配列 x25_addr[] を含まれる。これは 0 で終端する文字列として解釈される。 sx25_addr.x25_addr[] は 15 個までの ASCII 文字を含むことができ (終端の 0 は含まない)、 これが X.121 アドレスをなす。 10 進の数文字、 `0' から `9' までだけが許される。

ソケットオプション

以下の X.25 特有のソケットオプションは、 setsockopt (2)で設定でき、   getsockopt (2) で取得できる。このときレベルパラメータには SOL_X25 を指定する。

X25_QBITINCL
X.25 の Q ビット (Qualified データビット) にユーザーがアクセス できるかどうかをコントロールする。整数の引数を取る。 0 にセットすると、 Q ビットは発信パケットには決してセットされず、 受信パケットでは無視される (デフォルト)。 1 にセットすると、ソケットから読む、あるいはソケットに送る メッセージそれぞれに先頭バイトが前置される。 ソケットから読んだデータでは、先頭バイトが 0 だと、 この到着データパケットに対応する Q ビットはセットされていなかったことになる。 先頭バイトが 1 だと、到着データパケットの Q ビットがセットされていたことになる。 ソケットに書き込むデータの先頭バイトが 1 だと、 その発信パケットの Q ビットをセットする。 0 だと、 Q ビットをセットしない。

バグ

X.25 PLP 実装は CONFIG_EXPERIMENTAL なので、たくさんあるだろう。

この man ページは完成していない。

まだアプリケーションプログラマー用のヘッダファイルがない。 カーネルのヘッダファイル <linux/x25.h> をインクルードしなければならない。 CONFIG_EXPERIMENTAL なので、将来のバージョンのインターフェースでは バイナリ互換性が失われるかもしれない。

X.25 N-Reset イベントは、まだユーザープロセスに伝播しない。 したがってリセットが起こると、データは通知無しに失われる。

関連項目

  socket (2),   socket (7) 

Jonathan Simon Naylor: \(lqX.25 の再分析と再実装\(rq
URL は ftp://ftp.pspt.fi/pub/ham/linux/ax25/x25doc.tgz

バージョン

PF_X25 プロトコルファミリは Linux 2.2 の新機能である。