PPPoE

PPPoE(Point-to-Point Protocol over Ethernet)

  • ISPなどが接続時に認証をかけるために利用
  • C/Sモデル
接続の流れ
  • PPPoEクライアントがPPPoEサーバを探すためにブロードキャスト送信(PPPoE Active Discovery Initiation)
  • サーバがクライアントに応答(PPPoE Active Discovery Offer)
  • 特定のサーバに対してセッション開始を要求(PPPoE Active Discovery Request)
  • サーバがクライアントにセッションIDを通知(PPPoE Active Discovery Session-confirmation)
  • (以上がPPPoEセッション)
  • (以下はPPPセッション)
  • LCP(Link Control Protocol)ネゴシエーション
    • 互いの通信条件などをネゴ
  • 認証
    • PAP(Password Authentication Protocol):単純なパスワード認証.平文でやりとり.リンク確立時に1度だけ認証する
    • CHAP(Challenge-Handshake Authentication Protocol):MD5を用いたチャレンジレスポンスで定期的に認証する
  • IPCP(IP Control Protocol)ネゴシエーション
    • IPヘッダの圧縮やクライアントIPアドレスを割り当て
PPPoEパケット
  • Ethernetヘッダ+PPPoEヘッダ+payloadの形
  • PPPoEヘッダ
                        1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  VER  | TYPE  |      CODE     |          SESSION_ID           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            LENGTH             |           payload             ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 ※payloadはPPPoEセッションとPPPセッション時(PPPヘッダやIPデータが入る)で異なる