ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
PPPoE とは
PPPoE (Point-to-Point Protocol over Ethernet) は RFC 2516 で定義された、PPP プロトコルを Ethernet フレーム上で運ぶカプセル化方式です。元々の PPP は電話回線・ISDN・専用線向けに設計されたものですが、ADSL / 光ファイバ時代に「ユーザ認証・IP アドレス払い出し」の仕組みとして再利用されました。
日本では NTT 東日本/西日本のフレッツ網を経由して ISP に接続する標準的な方式として広く使われています。
PPPoE が必要な背景
| 必要な機能 | 素の Ethernet | PPP | PPPoE |
|---|---|---|---|
| ユーザ認証 (PAP/CHAP) | 無し | あり | あり |
| 動的 IP アドレス払い出し | DHCP 別途 | IPCP | IPCP |
| セッション管理 (切断・接続) | 無し | あり | あり |
| イーサ媒体で動く | ○ | × | ○ |
動作フェーズ: Discovery と Session
[Discovery フェーズ] - 接続相手 (アクセスコンセントレータ) を探す
Client BAS/AC (ISP 側)
│ ── PADI (broadcast) ──→ ① 接続要求
│ ←── PADO ── ② 応答 (利用可能なサーバ広告)
│ ── PADR ──→ ③ サーバ選択
│ ←── PADS ── ④ Session ID 割当て
│
[Session フェーズ] - PPP で通信
│ ←── LCP Configure ──→ ⑤ リンク確立
│ ←── 認証 (PAP/CHAP) ──→ ⑥ ID/Pass 検証
│ ←── IPCP ──→ ⑦ IP アドレス払い出し
│ ←──── データ送受信 ────→ ⑧ 通常の IP 通信
│
│ ── PADT ──→ ⑨ 終了 (切断)
PADI = PPPoE Active Discovery Initiation
PADO = PPPoE Active Discovery Offer
PADR = PPPoE Active Discovery Request
PADS = PPPoE Active Discovery Session-confirmation
PADT = PPPoE Active Discovery Terminate
MTU 1492 の謎
Ethernet の MTU は標準で 1500 バイトですが、PPPoE 環境では1492 バイトがよく使われます。これは以下のオーバーヘッドのためです:
[Ethernet フレーム ペイロード 1500]
+--------------------------------+
| PPPoE Header (6 bytes) | <- バージョン/タイプ/コード/セッションID/長さ
| PPP Header (2 bytes) | <- プロトコル番号
| IP payload (max 1492 bytes) | <- ★ アプリのデータはここまで
+--------------------------------+
合計オーバーヘッド: 8 bytes
PPPoE 上の MTU = 1500 - 8 = 1492
これより大きな IP パケットを送ると、フラグメンテーション or DF=1 なら破棄
→ HTTPS が一部のサイトで「読み込みが途中で止まる」原因に
MSS Clamping (MSS の調整)
TCP の MSS (Maximum Segment Size) は MTU - 40 (IP 20 + TCP 20) で計算され、通常 1460。PPPoE では 1452(= 1492 - 40)に調整する必要があります。ルータ側で自動調整する機能が MSS Clamping:
! Cisco IOS でのインターフェース設定例
interface Dialer1
mtu 1492
ip tcp adjust-mss 1452 ← MSS Clamping
! Linux iptables
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
-j TCPMSS --clamp-mss-to-pmtu
IPoE / IPv4 over IPv6 への移行
日本では夜間の 網終端装置 (NTE) 混雑により PPPoE 接続が遅くなる問題があり、近年はIPoE 方式(IPv6 ネイティブで IPv4 を内包する方式: v6 プラス、transix、IPv6 オプション など)への移行が推進されています:
| 項目 | PPPoE | IPoE (v6 プラス等) |
|---|---|---|
| 認証 | ID/Pass による PPP 認証 | 回線情報で自動認証 |
| 終端装置 | NTE (網終端装置) を経由 | NTE をバイパス |
| 混雑時の速度 | 遅くなりがち | 安定 |
| 固定 IP | ISP プラン次第で可能 | 原則 動的 (オプションで可) |
| 対応ルータ | ほぼ全機種 | v6 プラス対応など制限あり |
| ポート開放 | 自由 | 共有 IP の制約あり |
OS / ルータ別の PPPoE 設定
Linux (rp-pppoe)
# Debian/Ubuntu
sudo apt install pppoeconf
sudo pppoeconf # 対話的に設定
# 直接設定ファイル (/etc/ppp/peers/dsl-provider)
plugin rp-pppoe.so
nic-eth0 # WAN 側 NIC
user "user@isp.example.jp"
password "your_password"
mtu 1492
mru 1492
defaultroute
persist
maxfail 0
# 接続
sudo pon dsl-provider
# 切断
sudo poff
Windows 10/11
1. 設定 → ネットワークとインターネット → ダイヤルアップ
2. 「新しい接続を設定する」
3. 「インターネットに接続します」 → 「ブロードバンド (PPPoE)」
4. ユーザー名 / パスワード / 接続名を入力
5. 接続
! 既存接続の MTU 変更 (管理者 PowerShell)
netsh interface ipv4 show subinterfaces
netsh interface ipv4 set subinterface "接続名" mtu=1454 store=persistent
家庭用ルータ (例: NEC Aterm)
1. http://aterm.me/ にアクセス
2. 「動作モード」を「PPPoE ルータ」に変更
3. 「PPPoE 接続設定」
- 接続先名: ISP 名
- ユーザー ID: xxxxxx@isp.example.jp
- パスワード: ********
4. MTU 値: 1454 (一部 ISP) または 1492
5. 保存して再起動
PPP 認証方式: PAP と CHAP
| 方式 | 仕組み | セキュリティ |
|---|---|---|
| PAP (Password Authentication Protocol) | ID/Pass を平文で送る | 低 (盗聴で漏洩) |
| CHAP (Challenge Handshake AP) | チャレンジ文字列に対するMD5 ハッシュで応答 | 高 (パスワード自体は流れない) |
| MS-CHAP v2 | CHAP を強化、相互認証 | 高 |
現代の ISP はほぼ CHAP / MS-CHAP v2 を使います。物理層が暗号化されていない PPPoE では PAP は避けるべきです。
FAQ
Q: 接続できるが特定サイトだけ開けない
A: MTU/MSS のミスマッチが原因。MTU を 1492 → 1454 や 1438 に下げる、または MSS Clamping を有効化する。
Q: 認証エラー (Authentication failed) が出る
A: ID の @isp.example.jp 部分(レルム)を含めて入力しているか確認。ISP によって不要な場合もある。
Q: PPPoE は IPv6 では使う?
A: 規格上は PPPoEv6 (PPP の IPv6CP) もあるが、現在は IPoE / DHCPv6-PD の方が一般的。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?