SlideShare a Scribd company logo
0
Copyright IDC Frontier Inc. All rights reserved.
0
ARPトラブルあるある
株式会社IDCフロンティア
技術開発本部 UX開発部
アーキテクトグループ
井上 一清
11
(C) IDC Frontier Inc. All Rights Reserved.
世の中の様々なネットワーク技術
OSPF
BGP
MPLS
VPLS
EVPN
AnsibleSDN
Automation
Fabric
Fabric
Rest API
22
(C) IDC Frontier Inc. All Rights Reserved.
33
(C) IDC Frontier Inc. All Rights Reserved.
44
(C) IDC Frontier Inc. All Rights Reserved.
http://qiita.com/inoueissei/items/8d61e675c404ff2ef8d1
今回の話は大体こちらに載ってます・・
55
(C) IDC Frontier Inc. All Rights Reserved.
ARPは一往復で両機器のARP tableが更新される
192.168.1.1/24
00:11:11:11:11:11
192.168.1.2/24
00:22:22:22:22:22
192.168.1.3/24
00:33:33:33:33:33
192.168.1.10/24
00:10:10:10:10:10
Who has 192.168.1.1?
Tell 192.168.1.10
MAC Address Address
00:10:10:10:10:10 192.168.1.10
MAC Address Address
00:10:10:10:10:10 192.168.1.10
MAC Address Address
00:10:10:10:10:10 192.168.1.10
ARP Request
ARP RequestはBroadcastで送出され、その時点で
他のマシンもマシンAのARPテーブルを学習する
A
B C D
ハイサーイ
めんそーれ! あいっ あいっ
66
(C) IDC Frontier Inc. All Rights Reserved.
ARPは一往復で両機器のARP tableが更新される
192.168.1.1/24
00:11:11:11:11:11
192.168.1.2/24
00:22:22:22:22:22
192.168.1.3/24
00:33:33:33:33:33
192.168.1.10/24
00:10:10:10:10:10
192.168.1.1 is-at
00:11:11:11:11:11
MAC Address Address
00:10:10:10:10:10 192.168.1.10
MAC Address Address
00:10:10:10:10:10 192.168.1.10
MAC Address Address
00:10:10:10:10:10 192.168.1.10
ARP Reply
MAC Address Address
00:11:11:11:11:11 192.168.1.1
ARP Replyは基本Unicast
なので他のマシンは学習しない
A
B C Dはいさーい
めんそーれ!
・・・ ・・・
77
(C) IDC Frontier Inc. All Rights Reserved.
はぁーや
(へー、まぁそんな感じだよね)
88
(C) IDC Frontier Inc. All Rights Reserved.
でもNDPだと違う
99
(C) IDC Frontier Inc. All Rights Reserved.
Neighbor Solicitation/Neighbor Advertisement の仕組
• ARPと異なり双方向で行われる必要がある
• 要請ノードマルチキャストアドレスを上手く利用
(ff02::1:ff00:0000~ff02::1:FFff:ffff)
Neighbor Solicitation
Src=2001:db8:1::1
Dst=ff02::1:ff00:2
Target 2001:db8:1::2
2001:db8:1::1
0011.2233.4401
2001:db8:1::2
0011.2233.4402
2001:db8:1::3
0011.2233.4403
Neighbor Advertisement
Src=2001:db8:1::2
Dst=2001:db8:1::1
Target MAC 0011.2233.4402
(破棄)
×①
②
ff02::1:ff Unicastの下位3byte
2001:db8:1::0000:0002 (2001:db8:1::2)
ff02::1:ff00:0002 (ff02::1:ff00:2)
Multicast AddressとEthernet Addressの関係
(Dst Ethernet Address)
※”33:33”にMulticastの下位4byteを連結
104 bits 24 bits
ff02::1:ff00:0002 (ff02::1:ff00:2)
33:33:ff:00:00:02
要請ノードマルチキャストアドレス
こいつだけ学習 ・・(誰やねん)
1010
(C) IDC Frontier Inc. All Rights Reserved.
• IPv6だと双方でNS/NAをやり取りする必要がある
• /64とかのアドレス空間で大量のデバイスが接続さ
れる可能性があるため
• 実際通信しない機器のMACまで覚えてられない
• 要請ノードマルチキャストアドレスのDst MACを
見れば、破棄できる
• 機器は自分の要請ノードマルチキャストアドレス
を知っている。
• 他の要請ノードマルチキャストアドレスは破棄
1111
(C) IDC Frontier Inc. All Rights Reserved.
ARPはCPUを食う
Broadcastだからこの段階では
(NICは)破棄できないこれを”CPUが”見てようやく
自分ではないと判断して破棄
APP Requestのパケットキャプチャ
ARPのBroadcast Stormが発生した場合、
帯域が食われるだけでなく、マシンのCPUも100%に張りつく
※あと、ARPはIPパケット(Ethernetタイプ番号0800)ではありません。
1212
(C) IDC Frontier Inc. All Rights Reserved.
トラフィック切替時の
ARP学習に注意しよう
1313
(C) IDC Frontier Inc. All Rights Reserved.
例えば、クラウド/仮想環境で良くある構成
・・・・・・・・・・・
めっちゃある仮想ルータ
物理ルータ
10,000 ARP
cost 500 cost 1000
1414
(C) IDC Frontier Inc. All Rights Reserved.
例えば、クラウド/仮想環境で良くある構成
・・・・・・・・・・・
めっちゃある仮想ルータ
物理ルータ
Who has 198.51.100.1?
Who has 198.51.100.2?
Who has 198.51.100.3?
Who has 198.51.100.4?
Who has 198.51.100.5?
Who has 198.51.100.6? ×
Who has 198.51.100.7?
大急ぎでARP Requestを
投げなければならない
………
× ×
機器によるがこぼした場合は再送に20秒程度かかる
cost 500 cost 100
1515
(C) IDC Frontier Inc. All Rights Reserved.
・・・・・・・・・・・
めっちゃある仮想ルータ
物理ルータ
先に上りを切り替えてあげよう
ARPはtimerがあるので、各々が
ARP Requestを再送してくれる
cost 500 cost 1000
ARP Request
ARP Request
1616
(C) IDC Frontier Inc. All Rights Reserved.
例えば2、ルータ間のトラフィック切り戻し
0.0.0.0/0 via 1.1.1.1
1.1.1.1
メンテナンス等で、インタフェースを落として迂回している状態
1717
(C) IDC Frontier Inc. All Rights Reserved.
00:00:00.00 Link Up
00:00:00.01 ARP Request
00:00:00.02 Link Up
下位機器がLink UpしてARP Requestを投げても
上位機器がReadyな状態になっていないと
ARP Requestが受信されない
0.0.0.0/0 via 1.1.1.1
1.1.1.1
ARP
1818
(C) IDC Frontier Inc. All Rights Reserved.
大量のARP更新には
落とし穴があることも
1919
(C) IDC Frontier Inc. All Rights Reserved.
・・・・・・・・・・・
仮想ルータ
10,000 ARP
Who has 198.51.100.1?
Who has 198.51.100.2?
Who has 198.51.100.3?
Who has 198.51.100.4?
Who has 198.51.100.5?
Who has 198.51.100.6? ×
Who has 198.51.100.7?
………
ARP Timerを5分に設定
1分間隔にExpireが近いものを
まとめてARP更新
自分が送ったARP Requestの
Replyを捌けないことも・・
2000個くらい
2020
(C) IDC Frontier Inc. All Rights Reserved.
以上、ARPトラブルあるあるでした。
他にもこんなのあるぜ!という方は
Qiita等にコメント下さい。
ご清聴ありがとうございました!!
21
(C) IDC Frontier Inc. All Rights Reserved.

More Related Content

What's hot

RSQB Flip Flopの等価回路モデル
RSQB Flip Flopの等価回路モデルRSQB Flip Flopの等価回路モデル
RSQB Flip Flopの等価回路モデル
マルツエレック株式会社 marutsuelec
 
高速シリアル通信を支える技術
高速シリアル通信を支える技術高速シリアル通信を支える技術
高速シリアル通信を支える技術Natsutani Minoru
 
Arduino 習作工坊 - Lesson 5 機械之夜
Arduino 習作工坊 - Lesson 5 機械之夜Arduino 習作工坊 - Lesson 5 機械之夜
Arduino 習作工坊 - Lesson 5 機械之夜
CAVEDU Education
 
Iotlt Vol.10 @ gloops 920MHz 長距離伝送実験
Iotlt Vol.10 @ gloops 920MHz 長距離伝送実験Iotlt Vol.10 @ gloops 920MHz 長距離伝送実験
Iotlt Vol.10 @ gloops 920MHz 長距離伝送実験
Noboru Matsumoto
 
ハードウェア技術の動向 2015/02/02
ハードウェア技術の動向 2015/02/02ハードウェア技術の動向 2015/02/02
ハードウェア技術の動向 2015/02/02
maruyama097
 
Iotlt 920 mhz特定省電力無線
Iotlt 920 mhz特定省電力無線Iotlt 920 mhz特定省電力無線
Iotlt 920 mhz特定省電力無線
Noboru Matsumoto
 
クラウドの組み立て方事始め H/W利用者としての事業者
クラウドの組み立て方事始め H/W利用者としての事業者クラウドの組み立て方事始め H/W利用者としての事業者
クラウドの組み立て方事始め H/W利用者としての事業者
Naoto MATSUMOTO
 
Info talk2013
Info talk2013Info talk2013
Info talk2013
Koichi Ise
 
Extreme Assembler Tanka - eagle0wl
Extreme Assembler Tanka - eagle0wlExtreme Assembler Tanka - eagle0wl
Extreme Assembler Tanka - eagle0wl
asmtanka
 
UVLOの等価回路モデル作成方法
UVLOの等価回路モデル作成方法UVLOの等価回路モデル作成方法
UVLOの等価回路モデル作成方法
Tsuyoshi Horigome
 
FPGA
FPGAFPGA
FPGA
firewood
 
透過 L2 BRIDGE NAT
透過 L2 BRIDGE NAT透過 L2 BRIDGE NAT
透過 L2 BRIDGE NAT
h-otter
 
Siklu 製品資料 Nov 2016 rev2
Siklu 製品資料 Nov 2016 rev2Siklu 製品資料 Nov 2016 rev2
Siklu 製品資料 Nov 2016 rev2
Nitta Tetsuya
 
GTMF 2015: 「音声再生遅延推測機能」正式リリース! ズレない!待たせない!快適なスマホゲームを実現する技術紹介 | 株式会社CRI・ミドルウェア
GTMF 2015: 「音声再生遅延推測機能」正式リリース! ズレない!待たせない!快適なスマホゲームを実現する技術紹介 | 株式会社CRI・ミドルウェアGTMF 2015: 「音声再生遅延推測機能」正式リリース! ズレない!待たせない!快適なスマホゲームを実現する技術紹介 | 株式会社CRI・ミドルウェア
GTMF 2015: 「音声再生遅延推測機能」正式リリース! ズレない!待たせない!快適なスマホゲームを実現する技術紹介 | 株式会社CRI・ミドルウェア
Game Tools & Middleware Forum
 
IPv6 を始めてみた
IPv6 を始めてみたIPv6 を始めてみた
IPv6 を始めてみた
miki koganei
 
構造化オーバーレイネットワークに適した分散双方向連結リストDDLL
構造化オーバーレイネットワークに適した分散双方向連結リストDDLL構造化オーバーレイネットワークに適した分散双方向連結リストDDLL
構造化オーバーレイネットワークに適した分散双方向連結リストDDLL
Kota Abe
 
CPU製品出荷状況と消費電力の見える化
CPU製品出荷状況と消費電力の見える化CPU製品出荷状況と消費電力の見える化
CPU製品出荷状況と消費電力の見える化
Naoto MATSUMOTO
 
Osc2018tokyo spring-20180224
Osc2018tokyo spring-20180224Osc2018tokyo spring-20180224
Osc2018tokyo spring-20180224
Tomoya Hibi
 

What's hot (20)

RSQB Flip Flopの等価回路モデル
RSQB Flip Flopの等価回路モデルRSQB Flip Flopの等価回路モデル
RSQB Flip Flopの等価回路モデル
 
Google 20130218
Google 20130218Google 20130218
Google 20130218
 
高速シリアル通信を支える技術
高速シリアル通信を支える技術高速シリアル通信を支える技術
高速シリアル通信を支える技術
 
Arduino 習作工坊 - Lesson 5 機械之夜
Arduino 習作工坊 - Lesson 5 機械之夜Arduino 習作工坊 - Lesson 5 機械之夜
Arduino 習作工坊 - Lesson 5 機械之夜
 
Iotlt Vol.10 @ gloops 920MHz 長距離伝送実験
Iotlt Vol.10 @ gloops 920MHz 長距離伝送実験Iotlt Vol.10 @ gloops 920MHz 長距離伝送実験
Iotlt Vol.10 @ gloops 920MHz 長距離伝送実験
 
ハードウェア技術の動向 2015/02/02
ハードウェア技術の動向 2015/02/02ハードウェア技術の動向 2015/02/02
ハードウェア技術の動向 2015/02/02
 
Iotlt 920 mhz特定省電力無線
Iotlt 920 mhz特定省電力無線Iotlt 920 mhz特定省電力無線
Iotlt 920 mhz特定省電力無線
 
クラウドの組み立て方事始め H/W利用者としての事業者
クラウドの組み立て方事始め H/W利用者としての事業者クラウドの組み立て方事始め H/W利用者としての事業者
クラウドの組み立て方事始め H/W利用者としての事業者
 
Info talk2013
Info talk2013Info talk2013
Info talk2013
 
Extreme Assembler Tanka - eagle0wl
Extreme Assembler Tanka - eagle0wlExtreme Assembler Tanka - eagle0wl
Extreme Assembler Tanka - eagle0wl
 
Fpga local 20130322
Fpga local 20130322Fpga local 20130322
Fpga local 20130322
 
UVLOの等価回路モデル作成方法
UVLOの等価回路モデル作成方法UVLOの等価回路モデル作成方法
UVLOの等価回路モデル作成方法
 
FPGA
FPGAFPGA
FPGA
 
透過 L2 BRIDGE NAT
透過 L2 BRIDGE NAT透過 L2 BRIDGE NAT
透過 L2 BRIDGE NAT
 
Siklu 製品資料 Nov 2016 rev2
Siklu 製品資料 Nov 2016 rev2Siklu 製品資料 Nov 2016 rev2
Siklu 製品資料 Nov 2016 rev2
 
GTMF 2015: 「音声再生遅延推測機能」正式リリース! ズレない!待たせない!快適なスマホゲームを実現する技術紹介 | 株式会社CRI・ミドルウェア
GTMF 2015: 「音声再生遅延推測機能」正式リリース! ズレない!待たせない!快適なスマホゲームを実現する技術紹介 | 株式会社CRI・ミドルウェアGTMF 2015: 「音声再生遅延推測機能」正式リリース! ズレない!待たせない!快適なスマホゲームを実現する技術紹介 | 株式会社CRI・ミドルウェア
GTMF 2015: 「音声再生遅延推測機能」正式リリース! ズレない!待たせない!快適なスマホゲームを実現する技術紹介 | 株式会社CRI・ミドルウェア
 
IPv6 を始めてみた
IPv6 を始めてみたIPv6 を始めてみた
IPv6 を始めてみた
 
構造化オーバーレイネットワークに適した分散双方向連結リストDDLL
構造化オーバーレイネットワークに適した分散双方向連結リストDDLL構造化オーバーレイネットワークに適した分散双方向連結リストDDLL
構造化オーバーレイネットワークに適した分散双方向連結リストDDLL
 
CPU製品出荷状況と消費電力の見える化
CPU製品出荷状況と消費電力の見える化CPU製品出荷状況と消費電力の見える化
CPU製品出荷状況と消費電力の見える化
 
Osc2018tokyo spring-20180224
Osc2018tokyo spring-20180224Osc2018tokyo spring-20180224
Osc2018tokyo spring-20180224
 

Similar to ARPトラブルあるある JANOG38 LT

Aerospike on IDCF Cloud
Aerospike on IDCF CloudAerospike on IDCF Cloud
Aerospike on IDCF Cloud
IDC Frontier
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt AffinityについてTakuya ASADA
 
IDCFクラウドセミナー RDB活用
IDCFクラウドセミナー RDB活用IDCFクラウドセミナー RDB活用
IDCFクラウドセミナー RDB活用
IDC Frontier
 
Wiresharkで検出できないチャットプログラム
Wiresharkで検出できないチャットプログラムWiresharkで検出できないチャットプログラム
Wiresharkで検出できないチャットプログラム
Shinichi Hirauchi
 
プログラマ目線から見たRDMAのメリットと その応用例について
プログラマ目線から見たRDMAのメリットとその応用例についてプログラマ目線から見たRDMAのメリットとその応用例について
プログラマ目線から見たRDMAのメリットと その応用例について
Masanori Itoh
 
20150715 xflow kikuta_final
20150715 xflow kikuta_final20150715 xflow kikuta_final
20150715 xflow kikuta_final
Kazumasa Ikuta
 
201104016 osc2011 kobe
201104016 osc2011 kobe201104016 osc2011 kobe
201104016 osc2011 kobe
Yamauchi isamu
 
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Tomoya Hibi
 
Reconf 201901
Reconf 201901Reconf 201901
Reconf 201901
Takefumi MIYOSHI
 
Container Networking Deep Dive
Container Networking Deep DiveContainer Networking Deep Dive
Container Networking Deep Dive
Hirofumi Ichihara
 
Trema day 1
Trema day 1Trema day 1
Trema day 1
ykuga
 
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
VirtualTech Japan Inc.
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
 
Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)
Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)
Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)
Masahiro Tsuji
 
Loves Baremetal-servers, Loves POWER
Loves Baremetal-servers, Loves POWERLoves Baremetal-servers, Loves POWER
Loves Baremetal-servers, Loves POWER
Fujishiro Takuya
 
クラウド時代のネットワーク再入門
クラウド時代のネットワーク再入門クラウド時代のネットワーク再入門
クラウド時代のネットワーク再入門
Naoto MATSUMOTO
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
tetsusat
 
僕はまだ10%しかIDCFクラウドを理解していなかった
僕はまだ10%しかIDCFクラウドを理解していなかった僕はまだ10%しかIDCFクラウドを理解していなかった
僕はまだ10%しかIDCFクラウドを理解していなかった
Fujishiro Takuya
 

Similar to ARPトラブルあるある JANOG38 LT (20)

Aerospike on IDCF Cloud
Aerospike on IDCF CloudAerospike on IDCF Cloud
Aerospike on IDCF Cloud
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt Affinityについて
 
IDCFクラウドセミナー RDB活用
IDCFクラウドセミナー RDB活用IDCFクラウドセミナー RDB活用
IDCFクラウドセミナー RDB活用
 
Wiresharkで検出できないチャットプログラム
Wiresharkで検出できないチャットプログラムWiresharkで検出できないチャットプログラム
Wiresharkで検出できないチャットプログラム
 
プログラマ目線から見たRDMAのメリットと その応用例について
プログラマ目線から見たRDMAのメリットとその応用例についてプログラマ目線から見たRDMAのメリットとその応用例について
プログラマ目線から見たRDMAのメリットと その応用例について
 
20150715 xflow kikuta_final
20150715 xflow kikuta_final20150715 xflow kikuta_final
20150715 xflow kikuta_final
 
201104016 osc2011 kobe
201104016 osc2011 kobe201104016 osc2011 kobe
201104016 osc2011 kobe
 
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
 
Reconf 201901
Reconf 201901Reconf 201901
Reconf 201901
 
Container Networking Deep Dive
Container Networking Deep DiveContainer Networking Deep Dive
Container Networking Deep Dive
 
計算機理論入門08
計算機理論入門08計算機理論入門08
計算機理論入門08
 
Trema day 1
Trema day 1Trema day 1
Trema day 1
 
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
 
Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)
Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)
Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)
 
Loves Baremetal-servers, Loves POWER
Loves Baremetal-servers, Loves POWERLoves Baremetal-servers, Loves POWER
Loves Baremetal-servers, Loves POWER
 
クラウド時代のネットワーク再入門
クラウド時代のネットワーク再入門クラウド時代のネットワーク再入門
クラウド時代のネットワーク再入門
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
 
Kernel vm-2014-05-25
Kernel vm-2014-05-25Kernel vm-2014-05-25
Kernel vm-2014-05-25
 
僕はまだ10%しかIDCFクラウドを理解していなかった
僕はまだ10%しかIDCFクラウドを理解していなかった僕はまだ10%しかIDCFクラウドを理解していなかった
僕はまだ10%しかIDCFクラウドを理解していなかった
 

ARPトラブルあるある JANOG38 LT

  • 1. 0 Copyright IDC Frontier Inc. All rights reserved. 0 ARPトラブルあるある 株式会社IDCフロンティア 技術開発本部 UX開発部 アーキテクトグループ 井上 一清
  • 2. 11 (C) IDC Frontier Inc. All Rights Reserved. 世の中の様々なネットワーク技術 OSPF BGP MPLS VPLS EVPN AnsibleSDN Automation Fabric Fabric Rest API
  • 3. 22 (C) IDC Frontier Inc. All Rights Reserved.
  • 4. 33 (C) IDC Frontier Inc. All Rights Reserved.
  • 5. 44 (C) IDC Frontier Inc. All Rights Reserved. http://qiita.com/inoueissei/items/8d61e675c404ff2ef8d1 今回の話は大体こちらに載ってます・・
  • 6. 55 (C) IDC Frontier Inc. All Rights Reserved. ARPは一往復で両機器のARP tableが更新される 192.168.1.1/24 00:11:11:11:11:11 192.168.1.2/24 00:22:22:22:22:22 192.168.1.3/24 00:33:33:33:33:33 192.168.1.10/24 00:10:10:10:10:10 Who has 192.168.1.1? Tell 192.168.1.10 MAC Address Address 00:10:10:10:10:10 192.168.1.10 MAC Address Address 00:10:10:10:10:10 192.168.1.10 MAC Address Address 00:10:10:10:10:10 192.168.1.10 ARP Request ARP RequestはBroadcastで送出され、その時点で 他のマシンもマシンAのARPテーブルを学習する A B C D ハイサーイ めんそーれ! あいっ あいっ
  • 7. 66 (C) IDC Frontier Inc. All Rights Reserved. ARPは一往復で両機器のARP tableが更新される 192.168.1.1/24 00:11:11:11:11:11 192.168.1.2/24 00:22:22:22:22:22 192.168.1.3/24 00:33:33:33:33:33 192.168.1.10/24 00:10:10:10:10:10 192.168.1.1 is-at 00:11:11:11:11:11 MAC Address Address 00:10:10:10:10:10 192.168.1.10 MAC Address Address 00:10:10:10:10:10 192.168.1.10 MAC Address Address 00:10:10:10:10:10 192.168.1.10 ARP Reply MAC Address Address 00:11:11:11:11:11 192.168.1.1 ARP Replyは基本Unicast なので他のマシンは学習しない A B C Dはいさーい めんそーれ! ・・・ ・・・
  • 8. 77 (C) IDC Frontier Inc. All Rights Reserved. はぁーや (へー、まぁそんな感じだよね)
  • 9. 88 (C) IDC Frontier Inc. All Rights Reserved. でもNDPだと違う
  • 10. 99 (C) IDC Frontier Inc. All Rights Reserved. Neighbor Solicitation/Neighbor Advertisement の仕組 • ARPと異なり双方向で行われる必要がある • 要請ノードマルチキャストアドレスを上手く利用 (ff02::1:ff00:0000~ff02::1:FFff:ffff) Neighbor Solicitation Src=2001:db8:1::1 Dst=ff02::1:ff00:2 Target 2001:db8:1::2 2001:db8:1::1 0011.2233.4401 2001:db8:1::2 0011.2233.4402 2001:db8:1::3 0011.2233.4403 Neighbor Advertisement Src=2001:db8:1::2 Dst=2001:db8:1::1 Target MAC 0011.2233.4402 (破棄) ×① ② ff02::1:ff Unicastの下位3byte 2001:db8:1::0000:0002 (2001:db8:1::2) ff02::1:ff00:0002 (ff02::1:ff00:2) Multicast AddressとEthernet Addressの関係 (Dst Ethernet Address) ※”33:33”にMulticastの下位4byteを連結 104 bits 24 bits ff02::1:ff00:0002 (ff02::1:ff00:2) 33:33:ff:00:00:02 要請ノードマルチキャストアドレス こいつだけ学習 ・・(誰やねん)
  • 11. 1010 (C) IDC Frontier Inc. All Rights Reserved. • IPv6だと双方でNS/NAをやり取りする必要がある • /64とかのアドレス空間で大量のデバイスが接続さ れる可能性があるため • 実際通信しない機器のMACまで覚えてられない • 要請ノードマルチキャストアドレスのDst MACを 見れば、破棄できる • 機器は自分の要請ノードマルチキャストアドレス を知っている。 • 他の要請ノードマルチキャストアドレスは破棄
  • 12. 1111 (C) IDC Frontier Inc. All Rights Reserved. ARPはCPUを食う Broadcastだからこの段階では (NICは)破棄できないこれを”CPUが”見てようやく 自分ではないと判断して破棄 APP Requestのパケットキャプチャ ARPのBroadcast Stormが発生した場合、 帯域が食われるだけでなく、マシンのCPUも100%に張りつく ※あと、ARPはIPパケット(Ethernetタイプ番号0800)ではありません。
  • 13. 1212 (C) IDC Frontier Inc. All Rights Reserved. トラフィック切替時の ARP学習に注意しよう
  • 14. 1313 (C) IDC Frontier Inc. All Rights Reserved. 例えば、クラウド/仮想環境で良くある構成 ・・・・・・・・・・・ めっちゃある仮想ルータ 物理ルータ 10,000 ARP cost 500 cost 1000
  • 15. 1414 (C) IDC Frontier Inc. All Rights Reserved. 例えば、クラウド/仮想環境で良くある構成 ・・・・・・・・・・・ めっちゃある仮想ルータ 物理ルータ Who has 198.51.100.1? Who has 198.51.100.2? Who has 198.51.100.3? Who has 198.51.100.4? Who has 198.51.100.5? Who has 198.51.100.6? × Who has 198.51.100.7? 大急ぎでARP Requestを 投げなければならない ……… × × 機器によるがこぼした場合は再送に20秒程度かかる cost 500 cost 100
  • 16. 1515 (C) IDC Frontier Inc. All Rights Reserved. ・・・・・・・・・・・ めっちゃある仮想ルータ 物理ルータ 先に上りを切り替えてあげよう ARPはtimerがあるので、各々が ARP Requestを再送してくれる cost 500 cost 1000 ARP Request ARP Request
  • 17. 1616 (C) IDC Frontier Inc. All Rights Reserved. 例えば2、ルータ間のトラフィック切り戻し 0.0.0.0/0 via 1.1.1.1 1.1.1.1 メンテナンス等で、インタフェースを落として迂回している状態
  • 18. 1717 (C) IDC Frontier Inc. All Rights Reserved. 00:00:00.00 Link Up 00:00:00.01 ARP Request 00:00:00.02 Link Up 下位機器がLink UpしてARP Requestを投げても 上位機器がReadyな状態になっていないと ARP Requestが受信されない 0.0.0.0/0 via 1.1.1.1 1.1.1.1 ARP
  • 19. 1818 (C) IDC Frontier Inc. All Rights Reserved. 大量のARP更新には 落とし穴があることも
  • 20. 1919 (C) IDC Frontier Inc. All Rights Reserved. ・・・・・・・・・・・ 仮想ルータ 10,000 ARP Who has 198.51.100.1? Who has 198.51.100.2? Who has 198.51.100.3? Who has 198.51.100.4? Who has 198.51.100.5? Who has 198.51.100.6? × Who has 198.51.100.7? ……… ARP Timerを5分に設定 1分間隔にExpireが近いものを まとめてARP更新 自分が送ったARP Requestの Replyを捌けないことも・・ 2000個くらい
  • 21. 2020 (C) IDC Frontier Inc. All Rights Reserved. 以上、ARPトラブルあるあるでした。 他にもこんなのあるぜ!という方は Qiita等にコメント下さい。 ご清聴ありがとうございました!!
  • 22. 21 (C) IDC Frontier Inc. All Rights Reserved.