PPPoE(PPP over Ethernet)とは
PPPoEとはPPPをEthener上で扱う技術になります。PPPを利用することでユーザ認証やIPアドレスの割り当てを実現している。
PPPoEを利用する代償としてPPPoE/PPPヘッダーが着くことでMTUが1492に減少してしまう。そのため、MSSへ1452調整する必要が発生する。
※ただしNTTのフレッツ回線はPPPoEカプセリング解除後にL2TPを利用するため、MTU1454/MSS1414に調整が必要になる。
接続シーケンス
PPPoED ディスカバリーステージ
Ethernetは従来のATMやダイアルアップ接続と異なり、複数の機器が接続できるマルチアクセスメデイアである。接続の際にブロードキャストでパケットを送信し、応答がある端末から選択してPPP接続を行う。ブロードキャスタードメイン内に複数のPPPoEサーバがある場合はブロードキャスターに全てが応答します。クライアントは一番応答速度が速い端末を接続先として選択します。
そのシーケンスディスカバリーステージになります。ディスカバリーステーションは4つのパケットのやり取りで成立します。
PPPoE Active Discovery Initiation (PADI) クライアント→サーバ
まずPPPoEクライントからサーバへの接続要求のパケットが開始されます。その際に接続先を探すためにMACの宛先がBroadcast (ff:ff:ff:ff:ff:ff) で送信されています。
PPPoE Active Discovery Offer (PADO) サーバ→クライアント
PPPoEサーバはクライアントから接続要求に応えるパケットとしてPADOを返します。MACアドレスの送信先がクライアントのアドレスになっているのがわかります。このパケットでPPPoEサーバのMACアドレス、名前(上記ではAC-Name PPPoE-Server)、サービス名(今回は未指定)の情報を送信します。
PPPoE Active Discovery Request (PADR) クライアント→サーバ
サーバが複数ある場合などPADOが複数受信します。その中から条件接続するサーバに対してクライアントから応答を変えるパケットになります。
PPPoE Active Discovery Session-confirmation (PADS) サーバ→クライアント
サーバからのSession ID(この例は 0x0013)をクライアントに通知し、サーバ、クライント間でPPPoEセッションが確立されます。
PPPoE Active Discovery Session-confirmation (PADT)
PPPoEセッションを切断する際に送信するパケットがPADTが送信され切断される。PADTはクライント、サーバ側どちら側からも発信させる可能性があるパケットです。
PPPセッションステージ
PPPセッションステージは従来と同じPPPのネゴシエーションを行います。
- PPP LCP (リンク確立フェーズ)
- PPP CHAP(認証フェース)
- PPP IPCP (IPアドレスの通知)
パケットキャプチャーファイル
PPPoE-Seq.pcap
設定例集
- PPPoE Server/Clinet (ローカル認証)Cisco IOS Configメモ
- PPPoE Server/Clinet (RADIUS認証)端末型払い出し(固定IP)Cisco IOS Configメモ
- PPPoE Server/Clinet (RADIUS認証)LAN型払い出し(固定Prefix)Cisco IOS Configメモ
その他ネットワーク解説ページ
-
ネットワーク解説