ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
ARP とは
ARP (Address Resolution Protocol) は、IPv4 アドレスから MAC アドレスを解決するためのプロトコルです。OSI 参照モデルのデータリンク層 (第 2 層) と ネットワーク層 (第 3 層) を橋渡しする役割を担い、同一ネットワークセグメント内のホストが互いに通信する前に必ず使われています。
IPv6 では ARP は使われず、NDP (Neighbor Discovery Protocol) に置き換えられています。
なぜ ARP が必要なのか
IP パケットは「IP アドレス → IP アドレス」で宛先を指定しますが、実際にケーブル / 無線上を流れるイーサネットフレームは 送信元 MAC → 宛先 MAC のヘッダを持ちます。
つまり「同じ LAN にある 192.168.0.10 へ送る」場合、まずその IP に対応する MAC アドレスを知る必要があります。これを LAN 内で動的に解決するのが ARP です。
ARP の動作フロー
| ステップ | 動き | 宛先 |
|---|---|---|
| 1. ARP Request | 「192.168.0.10 の MAC は誰?」 | ブロードキャスト (FF:FF:FF:FF:FF:FF) |
| 2. ARP Reply | 「私です。MAC は aa:bb:cc:dd:ee:ff」 | ユニキャスト |
| 3. キャッシュ | 応答内容を ARP テーブルに保存 | — |
| 4. 通信 | 取得した MAC を宛先にイーサネットフレーム送信 | ユニキャスト |
ARP キャッシュ (ARP テーブル)
毎回ブロードキャストすると LAN が無駄に騒がしくなるので、解決結果はキャッシュされます。通常 OS は数分〜数十分でエントリを破棄し、再解決します。
確認コマンド
| OS | コマンド |
|---|---|
| Windows | arp -a |
| Linux | arp -a / ip neigh |
| macOS | arp -a |
# Linux/Mac
$ arp -a
? (192.168.0.1) at aa:bb:cc:dd:ee:ff [ether] on eth0
? (192.168.0.5) at 12:34:56:78:9a:bc [ether] on eth0
# Linux (推奨)
$ ip neigh
192.168.0.1 dev eth0 lladdr aa:bb:cc:dd:ee:ff REACHABLE
キャッシュのクリア
# Windows (管理者権限)
arp -d *
# Linux
sudo ip -s -s neigh flush all
ARP パケットの構造(概略)
| フィールド | 意味 |
|---|---|
| Hardware Type | 1 = Ethernet |
| Protocol Type | 0x0800 = IPv4 |
| Operation | 1 = Request / 2 = Reply |
| Sender MAC / IP | 送信元 MAC / IPv4 |
| Target MAC / IP | 宛先 MAC(Request 時は 0)/ IPv4 |
関連プロトコル
| プロトコル | 役割 |
|---|---|
| ARP | IPv4 → MAC アドレス解決 |
| RARP | MAC → IPv4 解決(現在は DHCP に置換) |
| Gratuitous ARP | 自分の IP に対する ARP を自発送信。重複検知 / 機器交換通知 |
| Proxy ARP | ルータが代理で ARP 応答する |
| NDP (IPv6) | ARP の代替。Neighbor Solicitation / Advertisement |
ARP スプーフィング (ARP poisoning)
ARP は認証機構を持たないため、悪意のあるホストが偽の ARP Reply を流すと、被害者の ARP テーブルが汚染され、トラフィックが攻撃者経由になります。中間者攻撃やセッション窃取の足がかりとして広く使われます。
対策
- Dynamic ARP Inspection (DAI): Cisco 等の L2 スイッチ機能。DHCP Snooping と組み合わせて正規 IP/MAC ペアだけを通す
- DHCP Snooping: 信頼できるポート以外からの DHCP 応答を遮断
- 静的 ARP エントリ: 重要サーバへの通信で利用 (運用負荷高)
- IDS / arpwatch: ARP テーブルの変動を監視
- セグメント分離: VLAN で攻撃面を縮小
FAQ
Q. ARP は別セグメントにも届くの?
A. 届きません。ARP はブロードキャスト (L2) ベースのため、ルータを超えません。別セグメントの宛先はデフォルトゲートウェイの MAC に向けて送られます。
Q. IPv6 では?
A. ARP は使われず、NDP が ICMPv6 のメッセージで同等の役割を担います。
Q. ARP テーブルが古い情報を返してつながらない
A. キャッシュを arp -d でクリアして再解決させると改善することがあります。
Gratuitous ARP の用途
Gratuitous ARP (GARP) は、自分の IP アドレスに対する ARP Request / Reply を自発的に LAN に流す動作です。以下の用途があります。
- IP アドレス重複検知: 起動時に「この IP は誰?」を発信し、応答があれば自分の IP が重複しているのでアラート
- 機器交換通知: 同じ IP で MAC が変わったことを LAN 内の他機器に伝え、ARP テーブルを更新させる
- HA / フェイルオーバ: 仮想 IP を引き継いだ予備機が GARP を打ち、トラフィックを自分に向ける
静的 ARP エントリの登録
セキュリティや特殊用途で、ARP キャッシュを手動固定することがあります。
# Linux: 静的エントリ追加
sudo ip neigh add 192.168.0.10 lladdr aa:bb:cc:dd:ee:ff dev eth0 nud permanent
# Windows (管理者)
arp -s 192.168.0.10 aa-bb-cc-dd-ee-ff
運用負荷が高くスケールしないため、大規模ネットワークでは Dynamic ARP Inspection (DAI) の方が現実的です。
パケットキャプチャでの観察
Wireshark や tcpdump で arp フィルタをかければ、ARP Request / Reply の流れを観察できます。トラブルシュートに有効です。
# tcpdump で ARP のみ表示
sudo tcpdump -nn -i eth0 arp
# 例の出力
# ARP, Request who-has 192.168.0.10 tell 192.168.0.5, length 28
# ARP, Reply 192.168.0.10 is-at aa:bb:cc:dd:ee:ff, length 28
関連
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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
- 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
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 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
コメントを削除してもよろしいでしょうか?