ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
概要
NAT(Network Address Translation、ネットワークアドレス変換)は、組織内で使うプライベート IP アドレスと、インターネット上で通用するグローバル IP アドレスを相互に変換する技術です。IPv4 アドレスは枯渇しているため、家庭や企業の多数の端末すべてにグローバル IP を割り当てることは現実的ではありません。そこで内部ではプライベート IP を使い、インターネットへ出る境界(ルータ)でグローバル IP に変換することで、限られたアドレスを共有します。
現在広く使われているのは、IP アドレスだけでなくポート番号も変換する NAPT(Network Address Port Translation。IP マスカレード、PAT とも)です。これにより 1 個のグローバル IP を複数の内部端末で同時に共有でき、家庭用ルータのインターネット接続はほぼこの仕組みで成り立っています。
仕組み
NAPT ルータは、内部端末が外部へ通信を始めるたびに「内部の IP+ポート」と「変換後のグローバル IP+ポート」の対応をNAT テーブルに記録します。戻りのパケットが届いたら、このテーブルを逆引きして本来の内部端末へ転送します。
内部端末 A 192.168.1.10:51000 ──┐
内部端末 B 192.168.1.11:51000 ──┤ ルータ (グローバル 203.0.113.5)
▼
NAT テーブル:
┌──────────────────────────┬──────────────────────────┐
│ 内部 (IP:Port) │ 外部 (IP:Port) │
├──────────────────────────┼──────────────────────────┤
│ 192.168.1.10:51000 │ 203.0.113.5:40001 │
│ 192.168.1.11:51000 │ 203.0.113.5:40002 │
└──────────────────────────┴──────────────────────────┘
送信元ポートが同じ 51000 同士でも、変換後ポート(40001/40002)で区別するため衝突しません。これが「1 個のグローバル IP を多数で共有できる」理由です。応答パケットは宛先ポート 40002 を見て、内部端末 B へ正しく戻されます。
具体例・計算
外部のサーバへ HTTP リクエストを送ったときの変換の流れを、パケットのヘッダ単位で追います。
① 内部 → ルータ (変換前)
送信元 192.168.1.10:51000 宛先 93.184.216.34:80
② ルータが書き換え (送信元を変換) → インターネットへ
送信元 203.0.113.5:40001 宛先 93.184.216.34:80
※ NAT テーブルに対応を記録
③ サーバ → ルータ (応答が戻る)
送信元 93.184.216.34:80 宛先 203.0.113.5:40001
④ ルータが逆変換 → 内部端末へ
送信元 93.184.216.34:80 宛先 192.168.1.10:51000
外部から内部のサーバへ自発的に接続させたい場合(自宅サーバの公開など)は、NAT テーブルに動的なエントリがないため、あらかじめ静的に対応を設定する「ポートフォワーディング(静的 NAT)」を使います。
ポートフォワーディング設定例:
外部 203.0.113.5:8080 → 内部 192.168.1.20:80
外部から http://203.0.113.5:8080/ にアクセスすると
内部の Web サーバ 192.168.1.20:80 へ転送される
P2P 通信や VoIP では、双方が NAT の内側にいると直接つながれないため、NAT 越え技術を使います。STUN は自分のグローバル IP+ポートを知るためのサーバ、TURN はどうしても直接つながらないときに通信を中継するサーバです。
主な用途
- 家庭・企業のインターネット接続 — 1 本のグローバル IP で社内・家庭内の多数端末を同時に接続します。
- アドレス節約 — IPv4 アドレスの消費を抑え、ISP の契約数を増やせます(CGN)。
- セキュリティの副次効果 — 外部から内部の端末へ直接到達しにくくなり、簡易的な防御として働きます(本来の目的ではない)。
- サーバ公開 — ポートフォワーディングで特定サービスだけを外部へ公開します。
関連技術との比較
| 項目 | NAT(静的/基本) | NAPT(IP マスカレード/PAT) | CGN(キャリアグレード) |
|---|---|---|---|
| 変換対象 | IP アドレスのみ | IP + ポート | IP + ポート(大規模) |
| 共有数 | 1 対 1 が基本 | 多 対 1 | 多数の加入者 対 少数 IP |
| 設置場所 | 境界ルータ | 家庭用/企業ルータ | ISP 設備 |
| 外部からの着信 | 静的設定で可 | 原則不可(要ポート開放) | 困難(複数加入者で共有) |
注意点・落とし穴
- 外部から内部へ自発接続できない — P2P・オンラインゲーム・VoIP で問題になり、STUN/TURN/UPnP などの NAT 越えが必要です。
- NAT テーブルのタイムアウト — 一定時間通信がないとエントリが消え、長時間アイドルのコネクションが切れます。キープアライブで対策します。
- CGN 環境の制約 — 加入者間でグローバル IP を共有するため、ポート開放ができず、IP 単位の規制(あるサイトの IP BAN)が無関係な利用者に波及することがあります。
- NAT はセキュリティ機能ではない — 着信を遮るのは副次効果に過ぎず、ファイアウォールの代わりにはなりません。
- IPv6 での扱い — IPv6 はアドレスが潤沢なため、アドレス節約目的の NAT は原則不要とされます。エンドツーエンド通信を取り戻せる一方、NAT に依存した防御を別途設計し直す必要があります。
関連リンク
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 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
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 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
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?