PPPoEについて
PPPoEとは、Point to Point Protocol over Ethernetの略であり、
PPPをイーサネット上でつかえるように拡張されたプロトコル。
PPP
前提となるPPPとは、ポイントとポイント同士を直接つなぐデータリンク層(L2)のプロトコル。
昔に電話線を利用してインターネットを利用していた時代に「ダイヤルアップ接続」として利用されていたらしい。
※私は使ったこと有りません。CATV→光
PPPはLCP、NCP、PAP or CHAPというマルチプロトコルで構成されている。
LCPはリンクの確立等L2の機能を提供し、
NCPはIP情報の配布などL3の機能を提供する。※L3がIPの場合IPCPが利用されるらしい。
PAP、CHAPはリンク確立後の認証を担当する。
PAPはユーザIDパスワードが平文で流れるため利用されておらず、
チャレンジレスポンス認証であるCHAPを覚えておけばよさそう。
ISPなどでは認証するユーザーが多いため、RADIUSなどを利用する。
NCPについては認証サーバとやりとりするのかもしれない。
ここはまた機会がある時に勉強しようと思う。
PPPoE
PPPoEとは上に書いた通り、PPPをイーサネット上で利用するためのプロトコル。
PPPはポイント同士をつなぐ1:1のプロトコルであるため、イーサネット上では利用できない。
というのもPPPはシリアルインターフェースなどで利用され、1:1が前提となっているので、
ARPなどを行わない。=MACアドレスが必要ない。
余談
シリアル等のインターフェースがデフォルトルートの場合は、デフォルトルートとしてネクストホップアドレスの指定が必要なく、インターフェースで指定すれば良いらしい。
このような理由から、マルチポイントであるイーサネットではイーサネットによるカプセル化が必要。
上の図にあるように、PPPoEを利用するにはPPPをイーサネットでカプセル化するだけでなく、
PPPoEヘッダも必要になる。
PPPoEを確立するためには2つのステップが必要で、
1. Discovery Stage
2. PPP Session Stage
となる。
Discovery Stage
まずはPPPoEクライントとPPPoEサーバ(BAS)でセッションを確立する。
セッションを確立手順は以下のように行われる。
- PADI(PPPoE Active Discovery Initiation)
PPPoEサーバを探索するためのブロードキャスト - PADO(PPPoE Active Discovery Offer)
クライアントにユニキャスト応答 - PADR(PPPoE Active Discovery Request)
PPPoEセッションの開始要求 - PADS(PPPoE Active Discovery Session-confirmation)
要求を受け入れ、セッションIDを通知。拒否する場合はエラーを返す
PPP Session Stage
次に通常通り、PPPを確立する。
PPPの確立手段は以下の通り。
- LCP(Link Control Protocol)
リンク確立のため、ネゴシエーションを行う。
Configure-RequestとConfigure-Ackが行われる。 - CHAP(Challenge Handshake Authentication Protocol)
認証フェーズ。PAPもしくはCHAP、認証がない場合はスキップされる。
セキュアなCHAPが採用される。 - NCP(IPCP)
IPではIPCP、IPXではIPXCPが使われる。
ここでIPアドレスが払い出されることでIPによる通信ができる。
これでようやくPPPoE接続が完了し、IPによる通信が可能となる。
次はCiscoにコンフィグを入れて試して見る予定。
↓2021/01/05 試しました