前のページ 次のページ 目次

1. はじめに

1.1 PPxPの特徴

ユーザープロセス実装

PPxPはデバイスドライバとppxpdコマンド、そしてコンソールからなります。 トンネルデバイスを使った実装ですので、PPPのカプセル化/脱カプセル化は ppxpdコマンドのユーザープロセスで処理されます。ユーザープロセスPPPはパ フォーマンスがでないという誤解を受けやすいですが、そんなことはありませ ん。PPPはシリアルなどのラインデバイスとネットワークインターフェイスの 間でデータ交換を行うことで通信を実現しています。一般的にラインデバイス をオープンするのはユーザプロセスであり、IIJ-PPPやPPxPはそれをネットワー クインターフェイスに渡す手法が他の実装系と異なるだけです。例えばLinux で一般的なppp-2.xシリーズはPPPフレームのままTTYデバイスを使ってカーネ ルに渡します。それに対してIIJ-PPPやPPxPはPPPフレームからRAWパケットを 取り出して生のキャラクタデバイスを使ってカーネルに渡します。もし速度差 がでるとすれば、単純なキャラクタデバイスを使い、カーネルとのやりとりが 少ないIIJ-PPPやPPxPの方が速くなるでしょう。

オンデマンド機能

通信が起こった時にPPP接続を確立する「オンデマンド接続」機能を持ってい ます。PPxPでは、仮アドレスを用いてネットワークインターフェイスを初期化 し、そこに流れたパケットを検知して接続処理を開始するという方法をとって います。この方式では、接続前に生成されたパケット(接続のトリガーになっ たパケット等)が接続後に消失する可能性があります。PPxPでは、消失の原因 の一つである「実アドレスと仮アドレスの違い」をなくすために、必要に応じ てパケットの再構築を行うようになっています。

IPマスカレード機能

ローカル側のプライベートネットワーク上のホストからリモートの先にあるネッ トワークに出て行くための「IPマスカレード機能」を持っています。これによ り、通常のダイアルアップ接続で複数のホストから同時にインターネットに出 て行くことができるようになります。LinuxカーネルのIPマスカレード機能に 比べればかなり貧弱ですが、TELNET程度ならば十分に実用できます。OSに依ら ずにIPマスカレード機能が実現できるというのもメリットです。また、IPマス カレード機能の一部を使えばパケット再構築では補い切れない「実アドレスと 仮アドレスの違い」を吸収することができます。

PPxPの構成

PPxPはPPPの実装プログラムであるppxpdデーモンと、そのユーザーインターフェ イスプログラムからなります。そして、そのユーザーインターフェイスプログ ラムをコンソールと呼んでいます。コンソールはUNIXドメインソケットを介し てppxpdデーモンを制御します。ppxpdデーモンは内部的にはPPP処理部、ライ ンデバイス処理部、コンソール処理部の3つの部品からなっています。ライン デバイスとしては、シリアル(モデム)の他にTCP上の仮想ラインやPTYを介した 仮想ラインが利用できます。

標準コンソールppxp

ppxpコマンドはIIJ-PPPのプロンプトに相当するコマンドインタプリタ型のコ ンソールです。また、クイックダイアルアップというダイアログ型の設定/接 続機能も備えています。

XPM版Xクライアントコンソールxppxp

hanataka@abyss.rim.or.jpさん作のコンソールです。XPMライブラリを使って おり、デザインも奇麗です。ミニ版のxppxpmコマンドもあります。細かな設定 をしてスクリプトファイルを作成/調整するにはppxpコマンドが便利ですが、 設定が終って実用を始めたら、xppxpコマンドが絶対おすすめです。

Tk版Xクライアントコンソールtkppxp/qdial

hashi@ppp.fastnet.ne.jpさん作のコンソールです。PPxPのTcl/Tkインターフェ イスパッケージ"PPxP with Tcl/Tk"の一部としてtkppxpコマンドとqdialコマ ンドが用意されています。

forms版Xクライアントコンソールfppxp

formsライブラリを使ったコンソールです。作者にセンスがないために、forms ライブラリを使っているにも関わらず、イマイチなできになっています。誰か この子を可愛がってくれる人はいらっしゃいませんでしょうか?

inetd版コンソールin.ppxp

コンソールはUNIXドメインソケットを介してデーモンを制御しますが、このコ ンソールを使うことで他のホストからも制御できるようになります。また、 httpを喋ることができるようになりつつありますので、将来的にはNetscape Navigatorなどのブラウザからデーモンを制御できるようになる予定です。

その他のコンソール

以上はPPxPのソースパッケージに入っているコンソールですが、他にも開発さ れつつあるプログラムがいくつかあります。私も楽しみにしています。

複数のシステムで動作

いくつかのUNIX系OSで動作することを確認しています。

Linux

インテル系CPU,Alpha CPU,SPARC CPUのLinuxで確認しています。作者が主に 開発環境として使っているのはLinuxです。

FreeBSD

バージョン2.2.xおよびバージョン3.0,3.1で確認されています。

NetBSD

インテル系CPU用のNetBSDおよびNetBSD/mac68kで動作を確認しています。 PC/AT互換機はバージョン1.3で、PC98はバージョン1.2Gで確認されています。

OpenBSD

インテル系CPU,SPARC CPUのOpenBSDで確認しています。

他にもトンネルドライバが実装されているOSに移植して行きたいと思っていま す。

1.2 情報の入手方法

ホームページ(本家:AT-LINK)

http://www.linet.gr.jp/~manabe/PPxP/

ホームページ(マスター:AT-LINK系)

http://www.dsl.gr.jp/~manabe/PPxP/

ホームページ(ミラー:SINET)

http://www.dsl.ics.tut.ac.jp/~manabe/PPxP/

メーリングリスト

mailto:ppxp-info-subscribe@ML.dsl.ics.tut.ac.jp

1.3 利用と配布

Copyright (c) 1997, 1998, 1999 The PPxP Development Team. All rights reserved.

以下の条件が満たされる限り、変更の有無に関係なくソースおよびバイナリ形 式での再配布と利用を許可します:

なお、条件ではありませんが、作者は利用者および再配布者に対して以下のこ とを期待しています。

営利メディア

非営利メディア

1.4 免責

PPxP開発チームが提供しているのはソフトウェアそのもののみであり、保証や 責任などを提供しているわけではありません。このソフトウェアを導入したり、 利用したりすることにより、あるいは何もしないことによりよって生じたいか なる問題についてもこのチーム、そのメンバー、テスター、および本ソフトウェ ア内に名前が記載されている者が責任を負うことはありません。


前のページ 次のページ 目次