arpトラブルあるある - janog › ... › janog38 › download_file › arp.pdfarp...

22
0 Copyright IDC Frontier Inc. All rights reserved. 0 ARPトラブルあるある 株式会社IDCフロンティア 技術開発本部 UX開発部 アーキテクトグループ 井上 一清

Upload: others

Post on 06-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

0

Copyright IDC Frontier Inc. All rights reserved.

0

ARPトラブルあるある

株式会社IDCフロンティア技術開発本部 UX開発部

アーキテクトグループ井上 一清

Page 2: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

11

(C) IDC Frontier Inc. All Rights Reserved.

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

OSPF

BGP

MPLS

VPLS

EVPN

AnsibleSDN

Automation

Fabric

Fabric

Rest API

Page 3: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

22

(C) IDC Frontier Inc. All Rights Reserved.

Page 4: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

33

(C) IDC Frontier Inc. All Rights Reserved.

Page 5: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

44

(C) IDC Frontier Inc. All Rights Reserved.

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

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

Page 6: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

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

ハイサーイ

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

Page 7: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

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 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はいさーい

めんそーれ!

・・・ ・・・

Page 8: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

77

(C) IDC Frontier Inc. All Rights Reserved.

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

Page 9: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

88

(C) IDC Frontier Inc. All Rights Reserved.

でもNDPだと違う

Page 10: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

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

要請ノードマルチキャストアドレス

こいつだけ学習 ・・(誰やねん)

Page 11: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

1010

(C) IDC Frontier Inc. All Rights Reserved.

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

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

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

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

Page 12: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

1111

(C) IDC Frontier Inc. All Rights Reserved.

ARPはCPUを食う

Broadcastだからこの段階では(NICは)破棄できないこれを”CPUが”⾒てようやく

自分ではないと判断して破棄

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

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

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

Page 13: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

1212

(C) IDC Frontier Inc. All Rights Reserved.

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

Page 14: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

1313

(C) IDC Frontier Inc. All Rights Reserved.

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

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

物理ルータ

10,000 ARP

cost 500 cost 1000

Page 15: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

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

Page 16: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

1515

(C) IDC Frontier Inc. All Rights Reserved.

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

物理ルータ

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

cost 500 cost 1000

ARP RequestARP Request

Page 17: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

1616

(C) IDC Frontier Inc. All Rights Reserved.

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

0.0.0.0/0 via 1.1.1.1

1.1.1.1

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

Page 18: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

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

Page 19: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

1818

(C) IDC Frontier Inc. All Rights Reserved.

⼤量のARP更新には落とし⽳があることも

Page 20: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

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個くらい

Page 21: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

2020

(C) IDC Frontier Inc. All Rights Reserved.

以上、ARPトラブルあるあるでした。他にもこんなのあるぜ!という方は

Qiita等にコメント下さい。

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

Page 22: ARPトラブルあるある - JANOG › ... › janog38 › download_file › arp.pdfARP のBroadcastStorm が発生した場合、 帯域が食われるだけでなく、マシンのCPU

21

(C) IDC Frontier Inc. All Rights Reserved.