Slide 1

Slide 1 text

Internet week 2016 想いが伝わるBGP運⽤ BGP Communityの 基本設計

Slide 2

Slide 2 text

⼩島 慎太郎 codeout http://about.me/codeout 2004 2009 2014 ϑϦʔϥϯεͷ "4ख఻͍ *9 +1/"1 *41 OUUOFU

Slide 3

Slide 3 text

本⽇話すこと w #(1$PNNVOJUZ͕ͲͷΑ͏ʹ࢖ΘΕͯΔ͔ w ࣗ෼ͨͪͰܾΊΔύλʔϯ w ΄͔Ͱܾ·ͬͨ΋ͷΛ͔ͭ͏ύλʔϯ w ࣗ෼ͨͪͰઃܭͯ͠ΈΑ͏ w ͳͥ͜ͷઃܭͳͷ͔ɺࢲͷܦݧ͔Β w ઃܭͨ͠#(1$PNNVOJUZΛ΄͔ʹެ։͢Δ ΂͖͔ߟ͑ͯΈΑ͏

Slide 4

Slide 4 text

BGP Community

Slide 5

Slide 5 text

BGP Community w ܦ࿏ʹ͚ͭΔλά w όΠτόΠτ w 0QUJPOBM5SBOTJUJWF
 ͋ͬͯ΋ͳͯ͘΋0,"4·ͨ͗Ͱ఻ൖ͢Δ w جຊతʹ͸উखʹܾΊͯ0, w /0@&91035ɺ/0@"%7&35*4&ͳͲͷ
 ఆٛࡁΈ$PNNVOJUZͱॏෳ͠ͳ͍͔͗Γ 2914 : 2518

Slide 6

Slide 6 text

BGP Community 2914 : 2518 Global Administrator
 ふつうは自分のASNに固定 自由

Slide 7

Slide 7 text

2バイト : 2バイト だけ? w όΠτόΠτɺόΠτόΠτͷ
 ύλʔϯ΋͋Δ w 3'$#(1&YUFOEFE$PNNVOJUZ

Slide 8

Slide 8 text

微妙

Slide 9

Slide 9 text

...4バイトAS のひといますか? w όΠτόΠτɺόΠτόΠτ w ߹ܭόΠτ͔͠࢖͑ͳ͍ w Կʹ͔ͭ͑Δ͔͸3'$Λ w લ൒όΠτޙ൒όΠτ࢖͍͔ͨͬͨΒΞ΢τ w ΋ͪΖΜແཧ΍Γ࢖͑ΔΑʁ w ޙ൒όΠτˠόΠτʹϚοϐϯά͢Δͱ͔Ͷʁ
 όουϊ΢ϋ΢ष w #(1-BSHF$PNNVOJUZʹظ଴
 IUUQMBSHFCHQDPNNVOJUJFTOFU

Slide 10

Slide 10 text

使われかた

Slide 11

Slide 11 text

トランジット、ピア、顧客 の区別 トランジット 顧客 ピア XXX:200 + XXX:400 + XXX:100 + XXX:200 + XXX:300 XXX:100 + XXX:200 +
 XXX:300 + XXX:400 自分 XXX:400

Slide 12

Slide 12 text

ntt.net https://www.us.ntt.net/support/policy/routing.cfm

Slide 13

Slide 13 text

ntt.net https://www.us.ntt.net/support/policy/routing.cfm 65500 : 2518
 2518 には広告しない 2914 : 480
 LP をちょっと下げる

Slide 14

Slide 14 text

EQUINIX ルートサーバー https://ix.equinix.com/ixp/mlpeCommunityInfo

Slide 15

Slide 15 text

EQUINIX ルートサーバー https://ix.equinix.com/ixp/mlpeCommunityInfo 0:24115 + 24115:2518
 2518 にだけ広告する

Slide 16

Slide 16 text

BGP Community の使われかた w ଞࣾͷܾΊ͔ͨ͸ΊͪΌͪ͘ΌࢀߟʹͳΔ w ଞࣾͷ#(1$PNNVOJUZ·ͱΊαΠτ
 IUUQTPOFTUFQOFUDPNNVOJUJFT w ֎͔Βݟ͍͑ͯΔ΋ͷ͕͢΂ͯͰ͸ͳ͍ w ಺෦؅ཧͷͨΊͷ#(1$PNNVOJUZ΋͋Δ

Slide 17

Slide 17 text

⾃分たちでも決めてみよう

Slide 18

Slide 18 text

基本戦略 େྔͷ΋ͷ͸ѻ͍ʹ͍͘ˠλάΛ͚ͭͯѻ͍΍͘͢
 ѻ͍΍ཻ͍͢౓Ͱɺѻ͍΍͍͢λάΛ͚ͭΔ #(1$PNNVOJUZͷϚονํ๏Λ஌Δ ࣗ෼ͨͪʹͱͬͯศརͳΑ͏ʹλάΛܾΊΔ w ͲΜͳཻ౓ɺͲΜͳํ๏Ͱ5&͍ͯ͠Δ͔ w ҰൃͰܾΊͳ͍͍ͯ͘Αʂ
 ϕετͳઃܭʹࢸΔʹ͸͕࣌ؒඞཁɹ ͦΕ͸ސ٬ʹͱͬͯ΋ศརͳͷͰ͸ʁ w ࣗ෼͕ศརʹ࢖͍ͬͯΔ΋ͷΛެ։͍ͯ͘͠ w ͜͜͸৻ॏʹ BGP Community

Slide 19

Slide 19 text

BGP Community のマッチ⽅法を知る XXX:1..$ XXX:* XXX:1..$ XXX:.* +VOJQFS [XXX:100 XXX:200] XXX:100 XXX:200 XXX:1..$ XXX:.* XXX:100 XXX:200 *0493 *04 XXX:[100-120] #(1$PNNVOJUZΛఆٛ͢ΔલʹɺͲͷΑ͏ʹϚονͰ͖Δ͔ ஌͓ͬͯ͘ඞཁ͕͋ΔɻϚονͮ͠Β͍άϧʔϓ෼͚͸ආ͚ͳ͍ ͱ͍͚ͳ͍ɻ͍͍ͩͨਖ਼نදݱ͕࢖͑ΔɻൣғࢦఆͰ͖Δ΋ͷ΋ɻ 正規表現がないと かなりつらい

Slide 20

Slide 20 text

BGP Communnity の意味を考える ͲΜͳ$PNNVOJUZʹͲΜͳҙຯΛ࣋ͨͤΔ͔ w ·ͣ୯ͳΔϥϕϧͱͯ͠ w ܦ࿏ͷछผ w ଞࣾͷܦ࿏τϥϯδοτPSϐΞPSސ٬ w ࣗ෼ͷܦ࿏αʔϏεผ w ϩέʔγϣϯ w ࠃ಺PSւ֎ɺؔ੢PSؔ౦ w ࣄۀن໛ʹΑཻͬͯ౓͕͕ͪ͏

Slide 21

Slide 21 text

BGP Communnity の意味を考える w ܦ࿏ૢ࡞ ύεΞτϦϏϡʔτ w -PDBM1SFGFSFODF w "4@1"5)1SFQFOE w ແ৚݅ʹૢ࡞͢ΔPSಛఆͷ/FJHICPSʹग़͢ͱ͖͚ͩૢ࡞ w ܦ࿏ૢ࡞ ޿ࠂ͢ΔPS͠ͳ͍ w ಛఆͷ/FJHICPS͚ͩʹग़͢ग़͞ͳ͍ w τϥϑΟοΫΞΧ΢ϯςΟϯά w 4$6%$6 +VOJQFS • http://www.juniper.net/techpubs/en_US/junos15.1/topics/concept/source-class-usage-options- junos-nm.html w #(11PMJDZ"DDPVOUJOH $JTDP • http://www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/13760-38.html 全部に効く / 一部に 効くなど、粒度パターン が必要かも

Slide 22

Slide 22 text

えっ、なんかめちゃくちゃ多いんですけど… w ͳͷͰɺجຊ͸ࣗ෼ͨͪʹศརͳΑ͏ʹ w υοάϑʔσΟϯάॏཁ w ʮސ٬ʹͱͬͯศརͩΖ͏͔ʯ͸Ұ୴๨Ε·͠ΐ͏ w ཻ౓Ͱ೰ΜͩΒɺͱΓ͋͑ͣࡉ͔͘ w ࠁΈͷ֊ஈΛޙͰࡉ෼Խˠݫ͍͠ w ࠁΈͷ֊ஈΛޙͰ·ͱΊΔˠ0, w ௚ަ͢ΔΑ͏ʹ

Slide 23

Slide 23 text

w μϝͳྫ❌ w ؔ੢ͷτϥϯδοτ ˠ999 w ؔ౦ͷτϥϯδοτ ˠ999 w ؔ੢ͷϐΞ ˠ999 w ؔ౦ͷϐΞ ˠ999 w ͍͍ྫ⭕ w ؔ੢ ˠ999 w ؔ౦ ˠ999 w τϥϯδοτˠ999 w ϐΞ ˠ999 ͜Ε͸ͨͿΜΘ͔Γ΍͍͢ 関西のトランジット = XXX:100 XXX:300

Slide 24

Slide 24 text

w ͡Ό͋ɺ͜Ε͸ʁ w "4/:ʹ޿ࠂ͠ͳ͍ ˠ: w ΞδΞͰ͸ɺ"4/:ʹ޿ࠂ͠ͳ͍ ˠ: w ͜͏Ͱ͸ʁ w "4/:ʹ޿ࠂ͠ͳ͍ ˠ: w ΞδΞͰ͸ɺ"4/:ʹ޿ࠂ͠ͳ͍ ˠ:999 w 999ޮՌΛΞδΞʹݶఆ͢Δ ͦΕ͸ͦ͏ͳΜ͚ͩͲɺ w Θ͔Γ΍͍͢ʁ w ଞͷ$PNNVOJUZͱͷίϯϘ͕ͪΌΜͱಈ͘ʁ わかりやすさ重要。 自分たちに便利なように 直交してない

Slide 25

Slide 25 text

ケーススタディ: 国内ISPの例 トラン ジット トラン ジット ؔ੢ ؔ౦ 顧客 自社 サービス 自社 サービス w ؔ౦ɺؔ੢ʹ෼͔ΕͯΔ w ࣗࣾαʔϏεͷܦ࿏͸
 ؔ੢ؔ౦ʹด͡Δ w Πϯλʔωοτͷܦ࿏͸
 ΞδΞ64&6͘Β͍ͷ
 ཻ౓ͰݟͯΔ w ʮσϑΥϧτϞόΠϧ
 ͬΆ͍"4ͷܦ࿏͚ͩཉ͍͠ʯ ͱ͍͏ސ٬͕ෳ਺͍Δ 顧客

Slide 26

Slide 26 text

w ड৴ w τϥϯδοτɺސ٬ɺ ࣗࣾܦ࿏ΛϚʔΫ w -1Ληοτ w ૹ৴ w ϑΟϧλʔ ケーススタディ: 国内ISPの例 (1) 基本 トラン ジット トラン ジット ؔ੢ ؔ౦ 顧客 自社 サービス 自社 サービス 顧客 XXX:120 XXX:130 XXX:110 XXX:110、 120、130 XXX:110、120

Slide 27

Slide 27 text

ケーススタディ: 国内ISPの例 (2) ⾃社サービスの経路は関⻄ / 関東に閉じる トラン ジット トラン ジット ؔ੢ ؔ౦ 顧客 自社 サービス 自社 サービス 顧客 XXX:205 = リージョン に閉じるフラグ
 XXX:2010 = 関西 XXX:2020
 = 関東 受信時
 XXX:205 が付いていて、 XXX:2020 が付いてない
 経路を捨てる

Slide 28

Slide 28 text

ケーススタディ: 国内ISPの例 (2) ⾃社サービスの経路は関⻄ / 関東に閉じる トラン ジット トラン ジット ؔ੢ ؔ౦ 顧客 自社 サービス 自社 サービス 顧客 XXX:205 = リージョン に閉じるフラグ
 XXX:2010 = 関西 XXX:2020
 = 関東 受信時
 XXX:205 が付いていて、 XXX:2020 が付いてない
 経路を捨てる ؔ੢ͷܦ࿏Λ֎ʹग़͞ͳ͍ Neighbor ͝ͱʹؔ੢/ؔ౦ͷ۠ผ͕ඞཁ ❌ ؔ౦Ҏ֎ͷܦ࿏Λड͚औΒͳ͍ Neighbor ʹΑΔ෼ذ͕ෆཁ ⭕

Slide 29

Slide 29 text

ケーススタディ: 国内ISPの例 (3) インターネットの経路はアジア / US / EU くらいの粒度で⾒てる トラン ジット トラン ジット ؔ੢ ؔ౦ 顧客 自社 サービス 自社 サービス 顧客 2914:3000 → XXX:1200 3257:50002 → XXX:1200 ఆٛͷ64 ఆٛͷ64 ˠ 999 ࣗ෼ͨͪఆٛͷ64 ʹ෇͚͔͑Δ

Slide 30

Slide 30 text

ケーススタディ: 国内ISPの例 (3) インターネットの経路はアジア / US / EU くらいの粒度で⾒てる トラン ジット トラン ジット ؔ੢ ؔ౦ 顧客 自社 サービス 自社 サービス 顧客 2914:3000 → XXX:1200 3257:50002 → XXX:1200 ఆٛͷ64 ఆٛͷ64 ˠ 999 ࣗ෼ͨͪఆٛͷ64 ʹ෇͚͔͑Δ τϥϯδοτࣄۀऀ͕ҟͳͬͯ΋ɺ ࣗ෼ͨͪͷϩέʔγϣϯఆٛʹ
 ෇͚͔͑Δ ౷Ұతͳ੍ޚ͕Մೳ
 (ϐΞ͕͋ΔͷͰ100%ΧόϨοδ͸ݫ͍͠)

Slide 31

Slide 31 text

ケーススタディ: 国内ISPの例
 (4) 「デフォルト + モバイルっぽいASの経路 だけ欲しい」という顧客が複数いる トラン ジット トラン ジット ؔ੢ ؔ౦ 顧客 自社 サービス 自社 サービス 顧客 XXX:4001 デフォルト +
 XXX:4001 w ड͚औΔͱ͖ʹϞόΠϧ
 ͬΆ͍"4Λ୳ͯ͠ϚʔΫ w ಛఆސ٬΁ͷܦ࿏޿ࠂ࣌ʹ ϑΟϧλʔ w ͦΜͳސ٬͕ͨ͘͞Μ
 ͍Δ

Slide 32

Slide 32 text

ケーススタディ: 国内ISPの例
 (4) 「デフォルト + モバイルっぽいASのだけ 欲しい」という顧客が複数いる トラン ジット トラン ジット ؔ੢ ؔ౦ 顧客 自社 サービス 自社 サービス 顧客 XXX:4001 デフォルト +
 XXX:4001 w ड͚औΔͱ͖ʹϞόΠϧͬ Ά͍"4Λ୳ͯ͠ϚʔΫ w ಛఆސ٬΁ͷܦ࿏޿ࠂ࣌ʹ ϑΟϧλʔ w ͦΜͳސ٬͕ෳ਺ɺ
 ͱ͍͏ͷ͕ϙΠϯτ ෳࡶͳ൑ఆϩδοΫΛෳ਺Օॴʹ ॻ͔ͳ͍޻෉ มߋ͠๨ΕͳͲʹΑΔ
 τϥϒϧ๷ࢭ
 + มߋ࣌ͷ࡞ۀՕॴΛݮΒ͢

Slide 33

Slide 33 text

TIPS ʮࣗ༝ʹͳΔόΠτͷ෦෼ɺ޿͗ͯ͢खʹ͋·Δ ʯ XXX: 0〜 99
 ... XXX: 200〜 249 XXX: 250〜 299 ... XXX:1000〜1099 XXX:1100〜1199 XXX:1200〜1299 XXX:1300〜1399 ... ˡڱ͍ͷͰ࢖Θͳ͍ɻྫ͑͹ͱ͸
 ҧ͏छผʹݟ͑Δ
 ˡࣅͨػೳ͸έλ਺ͱ಄dέλΛἧ͑Δ
 ༧໿ ༧໿ ˡύλʔϯ͕ଟ͍ػೳ΄Ͳ޿͘࢖͏ ༧໿ 隣をあけておくと、見直しで リナンバーしやすい まとまり感

Slide 34

Slide 34 text

すべてにハマる設計はない w ղܾ͍ͨ͠໰୊ن໛ʹΑͬͯɺϕετͳ
 #(1$PNNVOJUZઃܭ͸ҧ͏ w ·ͣ͸খ͘͞΍ͬͯΈ·͠ΐ͏ w ΍ͬͯΈͳ͍ͱ෼͔Βͳ͍ w ʮࣅͨύλʔϯͰ͜Ε΋ཉ͍͠ʯͬͯ
 ͲΜͲΜग़ͯ͘Δ w ͨ·ʹʮ͜Εސ٬͕تͿΜͰ͸ʯͱ͍͏ͷ͕
 ݟ͔ͭΔ

Slide 35

Slide 35 text

使っているBGP Community、
 顧客に公開するべき? w ސ٬ͷ໰୊Λղܾͦ͠͏ͳΒެ։͢Δ΂͖ w ࣗ෼͕ͨͪศརࣗ෼ͨͪͷ໰୊Λղܾͨ͠ w Ͱ͋Ε͹ɺ͍ͭͰʹސ٬ͷ໰୊ΛղܾͰ͖Δ͔΋ w Πϯλʔωοτ͔ͩΒɻύέοτ͸ࣅͨͱ͜ΖΛ௨Δ w ੍ޚݖΛҰ෦౉͢͜ͱͰɺސ٬ͷεϐʔυ্͕͕ͬͨΓɺ ࣗ෼ͨͪͷ01&9͕Լ͕Γͦ͏ͳΒެ։͢Δ΂͖ w ʮϝʔϧͰΦʔμʔ͍ͩ͘͞ʯ͸஗͍ w #(1$PNNVOJUZ"1*

Slide 36

Slide 36 text

10年前の、この状況に似てる http://www.slideshare.net/horiyasu/20140703-geechs

Slide 37

Slide 37 text

10年前の、この状況に似てる http://www.slideshare.net/horiyasu/20140703-geechs ࣗ෼ͨͪͰ͸ղܾͮ͠Β͍͕ɺ
 τϥϯδοτࣄۀऀͳΒͳΜͱ͔
 Ͱ͖ͦ͏ͳ໰୊͕͋Δ ʮ͓ئ͍͢Ε͹΍ͬͯ͘ΕΔɻ஗͍͚Ͳʯ ΑΓɺʮAPI Λ࢖ͬͯࣗ෼ͨͪͰ ͬ͞ͱղܾͰ͖Δʯ΄͏͕͍͍Ͱ͠ΐ͏ʁ

Slide 38

Slide 38 text

対する懸念 w ͍ͪͲ#(1$PNNVOJUZΛެ։ͨ͠Βɺ
 ม͑ΒΕͳ͍ͷͰ͸ʁ w ͍·ͷઃܭ͕ࣦഊͩͬͨΒʁ

Slide 39

Slide 39 text

そこで Large BGP Community ですよ http://largebgpcommunities.net/

Slide 40

Slide 40 text

何を⾔ってるのか w ͍ۙকདྷɺ-BSHF#(1$PNNVOJUZͳΔ΋ͷ ͕དྷΔ w όΠτόΠτˠόΠτόΠτόΠτ w Ϧφϯόʔͷνϟϯεʂ ސ٬΁ͷݴ͍༁తʹ w ͦΕ·Ͱʹ஌ݟΛͨΊͯɺઃܭΛݟ௚͢͜ͱ͕ Ͱ͖Δ

Slide 41

Slide 41 text

繰り返しだけど、
 BGP Community = API w ωοτϫʔΫػೳΛ֎͔Βൃಈ͢Δ w ࣗ෼͕ͨͪ͏Ε͍͠΋ͷ͸ɺސ٬ʹͱͬͯ΋͏Ε͍͠ w ଞࣾͷ"1*ΛϚογϡΞοϓͯࣗࣾ͠αʔϏεʹ
 ͭͳ͛Δ͜ͱ΋Ͱ͖Δ w #(1$PNNVOJUZ͸5SBOTJUJWFͳͷͰɺ
 ຊ࣭తʹ࿈ܞ͠΍͍͢ w Ͳ͔͔͜Β఻ΘΕ͹ൃಈ͢Δ

Slide 42

Slide 42 text

お隣さんは、
 API 連携で発展している…⚡⚡⚡ https://aws.amazon.com/jp/blogs/aws/building-bridges-for-better-cancer-treatment- with-the-fred-hutchinson-cancer-research-center/

Slide 43

Slide 43 text

BGP Community を消さないことも価値 顧客 2914 2914:666 2914:666 w ͨͱ͑͹ͷ35#)ɺ
 ސ٬͕࢖͑Δͱͨ͠ΒͲ͏ʁ w "61తͳ໰୊͸͋Δ͔΋ʜ w ܦ࿏ϑΟϧλʔ͸։͍ͯΔʁ

Slide 44

Slide 44 text

まとめ w #(1$PNNVOJUZͷઃܭํ๏ w ·ͣ͸ࣗ෼͕ͨͪศརʹ࢖͑Δ͜ͱ͕ॏཁ w ސ٬ʹެ։͢Δ͜ͱͰɺ
 ސ٬ͷ໰୊Λղܾ͢Δ͜ͱΛߟ͑Α͏ w #(1$PNNVOJUZ͸"1* w ݺΜͩΓݺ͹ΕͨΓ͠Α͏ w #(1$PNNVOJUZΛফ͞ͳ͍બ୒ࢶ΋͝ݕ౼Λ

Slide 45

Slide 45 text

Questions ?