アイドルセッションの満了をチェックするルーチンは、 最も頻繁に実行されたとしても 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 のホームページは http://www.roaringpenguin.com/pppoe/ である。
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]