arpトラブルあるある janog38 lt

Post on 19-Jan-2017

103 Views

Category:

Internet

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Copyright IDC Frontier Inc. All rights reserved.

1

ARP トラブルあるある

株式会社 IDC フロンティア技術開発本部 UX 開発部アーキテクトグループ

井上 一清

2 2

( C ) IDC Frontier Inc. All Rights Reserved.

世の中の様々なネットワーク技術

OSPF

BGP

MPLS

VPLS

EVPN

AnsibleSDN

AutomationFabric

Fabric

Rest API

3 3

( C ) IDC Frontier Inc. All Rights Reserved.

ARP

4 4

( C ) IDC Frontier Inc. All Rights Reserved.

ARP

5 5

( C ) IDC Frontier Inc. All Rights Reserved.

http://qiita.com/inoueissei/items/8d61e675c404ff2ef8d1

今回の話は大体こちらに載ってます・・

6 6

( C ) IDC Frontier Inc. All Rights Reserved.

ARP は一往復で両機器の ARP table が更新される

192.168.1.1/2400:11:11:11:11:11

192.168.1.2/2400:22:22:22:22:22

192.168.1.3/2400:33:33:33:33:33

192.168.1.10/2400:10:10:10:10:10

Who has 192.168.1.1?Tell 192.168.1.10

MAC Address Address00:10:10:10:10:10 192.168.1.10

MAC Address Address00:10:10:10:10:10 192.168.1.10

MAC Address Address00:10:10:10:10:10 192.168.1.10

ARP Request

ARP Request は Broadcast で送出され、その時点で他のマシンもマシン A の ARP テーブルを学習する

A

B C D

ハイサーイ

めんそーれ! あいっ あいっ

7 7

( C ) IDC Frontier Inc. All Rights Reserved.

ARP は一往復で両機器の ARP table が更新される

192.168.1.1/2400:11:11:11:11:11

192.168.1.2/2400:22:22:22:22:22

192.168.1.3/2400:33:33:33:33:33

192.168.1.10/2400:10:10:10:10:10

192.168.1.1 is-at 00:11:11:11:11:11

MAC Address Address00:10:10:10:10:10 192.168.1.10

MAC Address Address00:10:10:10:10:10 192.168.1.10

MAC Address Address00:10:10:10:10:10 192.168.1.10

ARP Reply

MAC Address Address00:11:11:11:11:11 192.168.1.1

ARP Reply は基本 Unicastなので他のマシンは学習しない

A

B C Dはいさーい

めんそーれ!

・・・ ・・・

8 8

( C ) IDC Frontier Inc. All Rights Reserved.

はぁーや(へー、まぁそんな感じだよ

ね)

9 9

( C ) IDC Frontier Inc. All Rights Reserved.

でも NDP だと違う

10 10

( C ) IDC Frontier Inc. All Rights Reserved.

Neighbor Solicitation/Neighbor Advertisement の仕組

• ARP と異なり双方向で行われる必要がある• 要請ノードマルチキャストアドレスを上手く利用  ( ff02::1:ff00:0000 ~ ff02::1:FFff:ffff )

Neighbor SolicitationSrc=2001:db8:1::1Dst=ff02::1:ff00:2Target 2001:db8:1::2

2001:db8:1::10011.2233.4401

2001:db8:1::20011.2233.4402

2001:db8:1::30011.2233.4403

Neighbor AdvertisementSrc=2001:db8:1::2Dst=2001:db8:1::1Target 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 11

( C ) IDC Frontier Inc. All Rights Reserved.

• IPv6 だと双方で NS/NA をやり取りする必要がある• /64 とかのアドレス空間で大量のデバイスが接続さ

れる可能性があるため• 実際通信しない機器の MAC まで覚えてられない

• 要請ノードマルチキャストアドレスの Dst MACを見れば、破棄できる• 機器は自分の要請ノードマルチキャストアドレス

を知っている。• 他の要請ノードマルチキャストアドレスは破棄

12 12

( C ) IDC Frontier Inc. All Rights Reserved.

ARP は CPU を食う

Broadcast だからこの段階では

( NIC は)破棄できないこれを” CPU が”見てようやく自分ではないと判断して破棄

APP Request のパケットキャプチャ

ARP の Broadcast Storm が発生した場合、帯域が食われるだけでなく、マシンの CPU も 100% に張りつく

※ あと、 ARP は IP パケット( Ethernet タイプ番号 0800 )ではありません。

13 13

( C ) IDC Frontier Inc. All Rights Reserved.

トラフィック切替時のARP 学習に注意しよう

14 14

( C ) IDC Frontier Inc. All Rights Reserved.

例えば、クラウド / 仮想環境で良くある構成

・・・・・・・・・・・めっちゃある仮想ルータ

物理ルータ

10,000 ARP

cost 500 cost 1000

15 15

( 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 16

( C ) IDC Frontier Inc. All Rights Reserved.

・・・・・・・・・・・めっちゃある仮想ルータ

物理ルータ

先に上りを切り替えてあげようARP は timer があるので、各々がARP Request を再送してくれる

cost 500 cost 1000

ARP RequestARP Request

17 17

( C ) IDC Frontier Inc. All Rights Reserved.

例えば 2 、ルータ間のトラフィック切り戻し

0.0.0.0/0 via 1.1.1.1

1.1.1.1

メンテナンス等で、インタフェースを落として迂回している状態

18 18

( C ) IDC Frontier Inc. All Rights Reserved.

00:00:00.00 Link Up00: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 19

( C ) IDC Frontier Inc. All Rights Reserved.

大量の ARP 更新には落とし穴があることも

20 20

( 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 21

( C ) IDC Frontier Inc. All Rights Reserved.

以上、 ARP トラブルあるあるでした。

他にもこんなのあるぜ!という方はQiita 等にコメント下さい。

ご清聴ありがとうございました!!

22

( C ) IDC Frontier Inc. All Rights Reserved.

top related