PPPOE-RELAY(8) | System Manager's Manual | PPPOE-RELAY(8) |
pppoe-relay - ユーザー空間 PPPoE リレーエージェント
pppoe-relay [options]
pppoe-relay は Linux で使われる PPPoE (Point-to-Point Protocol over Ethernet) の ユーザー空間リレーエージェントである。 pppoe-relay はクライアント pppoe と サーバー pppoe-server と連携して動作する。 pppoe-relay の動作についての詳細は、 このマニュアルで後にでてくる「動作」のセクションを参照すること。
アイドルセッションの満了をチェックするルーチンは、 最も頻繁に実行されたとしても 30 秒に 1 回であるので、 最も短いタイムアウトの値もこれに近い。 timeout のデフォルトの値は 600 秒 (10 分) である。
pppoe-relay は、-B または -C オプションで指定された 全てのインターフェースに入ってくる PPPoE PADI フレームを待ち受ける。 PADI フレームが入ってくると、 pppoe-relay は Relay-Session-ID タグを追加し、 -B または -S オプションで指定された 全てのインターフェースに PADI をブロードキャストする。 (ただし PADI フレームが入ってきたインターフェースは除く)。
受信した全ての PADO フレームは、 (送られてきた PADI フレームに有効な Relay-Session-ID タグがあると仮定して) PADI を送ってきたクライアントにリレーして戻される。 同様に、クライアントからの PADR フレームは、 マッチしたアクセス集信装置にリレーして戻される。
PADS フレームを受信すると、pppoe-relay は 接続元と接続先の MAC アドレスとセッション ID を ハッシュテーブルに入れる。 アクセス集信装置が監視するセッション ID は、 クライアントが監視するセッション ID と異なるかもしれない。 pppoe-relay はセッション ID が重複しないように セッションの番号をふり直さなければならない。 接続元または接続先がセッションフレームを送信すると、 pppoe-relay はハッシュテーブルにあるセッションエントリを参照し、 適切な接続相手にフレームを受け渡す。
PADT フレームを受信すると、pppoe-relay は 接続相手に PADT フレームを受け渡し、 ハッシュテーブルからセッションエントリを削除する。
クライアントやサーバーがクラッシュした場合 (またはフレームが失われた場合)、 PADT フレームは送信されず、pppoe-relay のハッシュテーブルは 失効したセッションで一杯になってしまう。 そのため、セッションを掃除するルーチンが定期的に実行され、 ハッシュテーブルから古くなったセッションを削除する。 timeout 秒間データが流れていない場合、 そのセッションは「古くなった」とされる。 タイムアウトによりセッションが削除される場合、 セッションが kill されたことを知らせるために、 接続元と接続先に PADT フレームが送られる。
pppoe-relay -C eth0 -S eth1
上記の例では、eth0 ネットワーク上の PPPoE クライアントと eth1 ネットワーク上の PPPoE サーバーの間でフレームが受け渡される。
pppoe-relay -B eth0 -B eth1
これは透過的なリレーの例である -- eth0, eth1 ネットワークとクライアント・サーバーの どの組み合わせでもフレームが受け渡される。
pppoe-relay -S eth0 -C eth1 -C eth2 -C eth3
この例では、eth0 ネットワーク上のサーバーと eth1, eth2, eth3 ネットワーク上のクライアントの間で フレームが受け渡される。
pppoe-relay は David F. Skoll <dfs@roaringpenguin.com> によって 作成された。
pppoe のホームページは http://www.roaringpenguin.com/pppoe/ である。
adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5), pppoe(8), adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-server(8)
26 January 2001 | 4th Berkeley Distribution |