Slide 1

Slide 1 text

Routing Tutorial খౡ৻ଠ࿠!DPEFPVU +"/0(

Slide 2

Slide 2 text

খౡ৻ଠ࿠ • NTT Communications w !DPEFPVU • http://about.me/codeout ! ຊ೔ͷεϥΠυ͸ https://speakerdeck.com/codeout/bgp-routing-tutorial ʹ͋Γ·͢

Slide 3

Slide 3 text

Agenda w BGP とは? w BGP の設計を考えよう w BGP の運用を考えよう

Slide 4

Slide 4 text

BGP とは?

Slide 5

Slide 5 text

BGP とは? &(1ͷҰछ異なるAS間ͰSPVUJOH৘ใΛަ׵͢Δ ! w "4઀ଓάϥϑ 3*# Λߏங͠ QBDLFU GPSXBSEJOHʹ࢖͏ w ͭͷSPVUFʹ͸ෳ਺ͷQBUIؚ͕·Ε͍ͯΔ w SPVUF͋ΔQSFGJYʹ౸ୡ͢ΔͨΊͷQBUI܈ w QBUI༷ʑͳଐੑ 1BUI"UUSJCVUF ͷ૊ w SPVUJOHMPPQΛղফ͢Δ࢓૊Έ͕͋Δ w "4಺Ͱͷrouting policyを実装Ͱ͖Δ

Slide 6

Slide 6 text

peer A (AS2) MY AS (AS 1) peer B (AS3) AS10 AS20 QSFpY AS_PATH 10 QSFpY AS_PATH 10 QSFpY AS_PATH 20 10 QSFpY AS_PATH 3 20 10 QSFpY AS_PATH 2 10 MY ASSPVUFSͷಈ࡞ QBDLFUΛసૹ͠Α͏ͱ͢Δͨͼʹ 3*#಺͔ΒETU JQBEESFTTΛݕࡧ͠ Ѽઌ OFYUIPQ Λಛఆ͢Δ w ਖ਼֬ʹ͸3*#Λల։ͨ͠'*#಺Λݕࡧ͢Δ packet flow

Slide 7

Slide 7 text

異なるASには   異なるrouting   policyがあり,  それ が反映されたrouting 情報を交換する点で BGPは難しいし,  おも しろい http://mrg.bz/WooRIg

Slide 8

Slide 8 text

もう少し おさらいします

Slide 9

Slide 9 text

IGP との関係 w #(1ͰղܾͰ͖Δͷ͸ɼInternet上のある目的地に達 するために, 自AS内のどの出口から出ればいいか?
 ͷΈ ! w その出口にはどうやったら到達できるか?
 ͸*(1པΈ ! w *(1ͷओͳ༻్͸ɼ#(1ͷQSPUPDPMOFYUIPQΛղܾ͢ Δ͜ͱ w Ή΍Έʹ#(1ܦ࿏Λ*(1ʹ஫ೖ͠ͳ͍΄͏͕͍͍

Slide 10

Slide 10 text

A Border Gateway Protocol 4 (BGP-4) w RFC1654 +VMZ w RFC1771 .BSDI w RFC4271 +BOVBSZ w ΋ͪΖΜͨ͘͞Μ֦ு͞Ε͍ͯΔ w RFC1997 #(1$PNNVOJUJFT"UUSJCVUF w RFC2385 1SPUFDUJPOPG#(14FTTJPOTWJBUIF5$1.%4JHOBUVSF w RFC3065 "4$POGFEFSBUJPOTGPS#(1 w RFC4451 #(1.&%$POTJEFSBUJPOT w RFC4456 #(13PVUF3FGMFDUJPO w RFC4360 #(1&YUFOEFE$PNNVOJUJFT"UUSJCVUF w RFC5004 "WPJE#(1#FTU1BUI5SBOTJUJPOTGSPN0OF&YUFSOBMUP "OPUIFS w RFC5668 0DUFU"44QFDJGJD#(1&YUFOEFE$PNNVOJUZ w

Slide 11

Slide 11 text

BGP の経路選択 ࠷΋ߴ͍WEIGHTΛ࣋ͭύε͕༏ઌ͞Ε·͢Ұ෦ϝʔΧʔͷΈ 最も高い LOCAL_PREF を持つパスが優先されます OFUXPSL·ͨ͸BHHSFHBUF#(1αϒίϚϯυʹΑͬͯ ͋Δ͍͸*(1͔ Βͷ࠶഑෍Λ௨ͯ͡ ϩʔΧϧͰൃ৴͞Εͨύε͕༏ઌ͞Ε·͢ 最短の AS_PATH を持つパスが優先されます ࠷খͷΦϦδϯλΠϓΛ࣋ͭύε͕༏ઌ͞Ε·͢ 最小の Multi-Exit Discriminator (MED) を持つパスが優先されます
 MED͸SFNPUF"4͕ಉ͡৔߹ͷΈධՁ͞ΕΔ J#(1ύεΑΓ΋F#(1ύεͷํ͕༏ઌ͞Ε·͢ BGP ネクストホップへの最小の IGP メトリックを持つパスが優先されます ྆ํͷύε͕֎෦ͷͱ͖͸ ઌʹड৴ͨ͠ύε ࠷΋ݹ͍ύε ͕༏ઌ͞Ε ·͢ ࠷খͷϧʔλ*%Λ࣋ͭ#(1ϧʔλ͔ΒૹΒΕͨϧʔτ͕༏ઌ͞Ε·͢ ൃ৴ݩ*%·ͨ͸ϧʔλ*%͕ෳ਺ͷύεͰಉ͡৔߹͸ ࠷খͷΫϥελϦ ετ௕Λ࣋ͭύε͕༏ઌ͞Ε·͢ ࠷খͷྡ઀ϧʔλΞυϨε͔ΒૹΒΕͨύε͕༏ઌ͞Ε·͢ ! http://www.cisco.com/cisco/web/support/JP/100/1008/1008556_25-j.html

Slide 12

Slide 12 text

今日話すこと w BGPの設計を決める際に考えないといけないこと ʹ͍ͭͯ࿩ ͠·͢ ! w l#(1TFTTJPOͷઌʹ͍Δ"4 ސ٬QFFSJOHQBSUOFS USBOTJUఏڙऀ ʹ΋ݸผͷSPVUJOHQPMJDZ͕͋Δzͱ͍͏؀ ڥͰ どうやって自分の思うようにtraffic controlするか? Λཧղ͢ΔͨΊʹ w ࢲ͕࢖͍ͬͯΔख๏ͷ঺հ w ͦͷղઆ ΋͠·͢

Slide 13

Slide 13 text

BGP の設計を 考えよう

Slide 14

Slide 14 text

• eBGP policy / 設計 • 経路広告 • 経路受信 • iBGP policy / 設計

Slide 15

Slide 15 text

BGP 設計の前に network policyͬͯ͋Γ·͔͢ w Մ༻ੑ w ඼࣭ w ӡ༻ੑ w ֦ுੑ w TFDVSJUZ w DPTU

Slide 16

Slide 16 text

BGP 設計の前に network policy 物理設計 論理設計 OFUXPSLͷ෺ཧతͳ͜ͱ w 101഑ஔ%$બఆ w DBCMFQBUI w ऩ༰ઃܭ w ػثબఆ routing policy Ͳ͏QBDLFUΛྲྀ͔͢ 
 ௨ৗTFSWJDF͝ͱʹQPMJDZ͕มΘΔ w ͲͷΑ͏ͳ৘ใΛྲྀ͔͢ w ސ٬ʹͲͷΑ͏ͳOFUXPSLTFSWJDF Λఏڙ͢Δ͔ SPVUJOHQPMJDZΛຬͨ͢Α͏ɼSPVUJOHΛ ઃܭ͢Δ w QSPUPDPM͸ w SPVUFSFGMFDUPS 33 PS DPOGFEFSBUJPO w Ͳͷ৘ใ ܦ࿏ ΛͲ͜ʹྲྀ͢

Slide 17

Slide 17 text

eBGP policy (جຊ)

Slide 18

Slide 18 text

eBGP Policy を考えるポイント w どんな経路Λ w どんなeBGP session͔Β΋Β͏͔ ΋ΒΘͳ͍͔ w ͦͷࡍͷ༏ઌ౓͸ w どんなeBGP session΁޿ࠂ͢Δ͔ ޿ࠂ͠ͳ͍͔ w ͦͷࡍͷ༏ઌ౓͸ w ܦ࿏ͷ֤QBUIBUUSJCVUF͸୭ͷ΋ͷ͔ ! w GVMMSPVUFΛ࣋ͯͳ͍SPVUFS͸͋Δ w EFGBVMUSPVUFΛར༻Α͘ߟ͑ͳ͍ͱةݥ ؆୯ʹSPVUJOHMPPQ͕ى͖Δ w #(1Ͱ͸ͳ͘ɼผͷQSPUPDPM 041'ͳͲ ʹSFEJTUSJCVUF ͠ͳ͍ͱ͍͚ͳ͍ɼͱ͔͋Δ

Slide 19

Slide 19 text

経路の種別 w ސ٬ͷܦ࿏ w #(1ސ٬ w TUBUJDސ٬ ࣮ࡍ͸1"ʹू໿ w ࣗ"4ͷܦ࿏ w 1"1*ܦ࿏ w QFFSJOHQBSUOFSͷܦ࿏ w USBOTJUQSPWJEFSͷܦ࿏ w ෆཁͳܦ࿏ Ϗδωε্ͷ؍఺͔Βɼجຊతʹ͸্هͷॱʹ༏ઌ͢Δ ༏ઌͳΔ΂ͦ͘ͷܦ࿏ʹैͬͯQBDLFUΛྲྀ͍ͨ͠ ྲྀͯ͠΄͍͠ ༏ઌ౓ߴ ༏ઌ౓௿

Slide 20

Slide 20 text

eBGP セッションの種別 w ސ٬ w QFFS w QBJEQFFS ऩӹΛಘ͍ͯΔ w QSJWBUFQFFS w QVCMJDQFFS *9 w QBJEQFFS අ༻Λ෷͍ͬͯΔ w USBOTJU ಉ༷ʹɼجຊతʹ͸্هͷॱʹ༏ઌ͢Δ ༏ઌͳΔ΂ͦ͘ͷ઀ଓճઢʹQBDLFUΛྲྀ͍ͨ͠ ༏ઌ౓ߴ ༏ઌ౓௿

Slide 21

Slide 21 text

ࣗ"4 eBGP Policy の基本 ड৴޿ࠂ1PMJDZ͸ԿʹӨڹ͢Δ ֎෦"4 ܦ࿏ड৴ ܦ࿏޿ࠂ ֎෦"4 ֎෦"4 packet flow packet flow 受信Policy ࣗ"4網内ͰͲͷΑ͏ʹ SPVUJOHͤ͞Δ 広告Policy ࣗ"4網外ͰͲͷΑ͏ʹ SPVUJOHͤ͞Δ

Slide 22

Slide 22 text

eBGP 経路受信 (ちょっと細かく)

Slide 23

Slide 23 text

eBGP Policy の基本 (受信) MY AS ސ٬" ސ٬"ͷ ސ٬ ސ٬"ͷ transit ސ٬"ͷ peer transit" transit"ͷ transit tranit"ͷ peer peer" peer"ͷ ސ٬ peer"ͷ peer peer"ͷ transit transit"ͷ ސ٬ すべて受信 • transit A の顧客 • transit A 自身 • transit A のpeer • transit A のtransit 自身の経路を除き,すべて受信 (経路filterあり) • 顧客A の顧客 • 顧客A 自身 • 顧客A のpeer (通常流れてこない) • 顧客A のtransit (通常流れてこない bogon filter はすべてに必要 すべて受信 (経路filterあり) • peer A の顧客 • peer A 自身 • peer A のpeer (通常流れてこない) • peer A のtransit (通常流れてこない)

Slide 24

Slide 24 text

経路の各path attributeは 誰のもの? w ҎԼͷΑ͏ͳػೳΛఏڙ͍ͯ͠Δ*41΋
 IUUQPOFTDOFUDPNNVOJUJFT w ސ٬ܦ࿏ͷMEDを上書きしない w ࣗ"4಺Ͱͷlocal preference(LP)を制御する BGP communityΛސ٬޲͚ʹఏڙ͢Δ ސ٬ 経路受信 MED Community ࣗ"4 LP MED MEDを上書きしない LPを制御させる 7521:110 = LP110

Slide 25

Slide 25 text

受信経路を扱う ときに気にする べきポイント3つ

Slide 26

Slide 26 text

1. LPとMEDの値 2. 経路Filter 3. Path Attribute は 本来の用途に使おう

Slide 27

Slide 27 text

1. LPͱMEDͷ஋ ༏ઌ౓ ܦ࿏छผ -1 .&% ސ٬ d ্ॻ͖͠ͳ͍ ࣗ"4 ͳ͠ QFFS ্ॻ͖ े෼େ͖ͳ஋ USBOTJU ্ॻ͖ Λ·͍ͨͰ਺ஈ֊ EFGBVMU w ෯ʹ༨༟Λ΋ͬͯ਺஋Λઃఆ w -1ͷEFGBVMU஋͕ͷ࣮૷͕ଟ͍ͷͰ 
 ҆શΛظ͢ͳΒ-1ͷ஋͸ w 基本的に, 受け取った経路は使う w ྫ͑͹QFFS͔ΒlQFFSͷQFFSܦ࿏zΛड৴ͨ͠ͱͯ͠ɼ ૬खͷઃఆϛ εͷՄೳੑେ͕ͩ ڋ൱͢Δཧ༝͸ಛʹͳ͍ w ࢖͍ͨ͘ͳ͍ཧ༝͕͋Ε͹ผ ༏ઌ౓ΛԼ͛ΔPSڋ൱͢Δ w ᫔᫓ͦ͠͏ɼͳͲ

Slide 28

Slide 28 text

– 解説 – ༏ઌ౓ ܦ࿏छผ -1 .&% ސ٬ d ্ॻ͖͠ͳ͍ ࣗ"4 ͳ͠ QFFS ্ॻ͖ े෼େ͖ͳ஋ USBOTJU ্ॻ͖ Λ·͍ͨͰ਺ஈ֊ EFGBVMU ސ٬ͷ໌֬ͳҙਤ͕ ͳ͍ݶΓ࠷༏ઌ ৗʹ3*#ʹอ࣋ ܦ࿏Λࢦఆͯ͠ଞͷސ ٬΍QFFSʹӌճͤ͞Δ ͜ͱ͕Ͱ͖Δ QFFSͷͱൺֱͯ͠ɼ ඞͣ࣍ͷ"4@1"5)Ͱ ༏ઌ౓͕ܾఆ ސ٬ͷ5&બ୒ࢶΛ ૿΍͢ w "4@1"5)͕ಉ͡ͳΒ *(1ϕʔεͷDMPTFTU FYJUΛڧ੍ w BMXBZTDPNQBSF NFE΍QFFSސ٬"4 ରࡦͰ.&%ΛߴΊʹ w ?rͰ΋͍͍ ͔΋ "4@1"5)͕ಉ͡ͳΒ *(1ϕʔεͷDMPTFTU FYJUΛڧ੍ ҰԠ QSJWBUFQVCMJD QFFSͰஈ֊͋Δ*41 ΋͋Δ

Slide 29

Slide 29 text

2. 経路Filter ސ٬ܦ࿏ͷ༏ઌ౓͕ඇৗʹߴ͍ͨΊɼࡉ͔͘νΣοΫ ͢Δඞཁ͕͋Δ w IRRベース が理想的 w සൟʹϝϯςφϯεͰ͖ΔͷͰ͋Ε͹ खಈͰ΋໰୊ͳ͍͔΋͠ Εͳ͍ w GJMUFSํ๏ͷީิ w FYBDUNBUDIͳQSFGJYGJMUFS w FYBDUNBUDIͳQSFGJYGJMUFSPSJHJO"4GJMUFS ! w bogon prefix, 自ASのprefixは経路filterで除外 w #(1DPNNVOJUZ͸ಁաతʹѻ͏

Slide 30

Slide 30 text

QFFSܦ࿏΋ख์͠Ͱ͸ةͳ͍ w 経路hijackの可能性 w ࡉ͔͍GJMUFSΛઃఆͯ͠͠·͏ͱメンテナンスされなく なるかもしれない w l"4@1"5)ΛϝʔϧͰ఻͑߹͏z࢓૊Έ͕ಈ͍͍ͯͨ w ΍͸Γݶք͕͋ΔͷͰɼͰ͖ΔͷͰ͋Ε͹ސ٬ܦ࿏ಉ༷*33 ϕʔε͕Α͍ w ҰํɼଞͷࠃͰ͸ҎԼͷ૊Έ߹Θ͕ͤଟ͍ w maximum-prefix (prefix-limit) filter w ࣮੷ϕʔε ࡢ೔͔Β૿͑ͨΒΞ΢τ ͳͲ w QFFSJOHECϕʔε w prefix lengthによるfilter w JQWMF w JQWMFͳͲ

Slide 31

Slide 31 text

Maximum-Prefix (Prefix-Limit) Filter transitに設定すると危険な場合がある w OFUXPSL্ͷFWFOUʹΑΓٸʹQSFGJY਺͕૿ ͑Δͱ USBOTJU͕શஅ͢ΔϦεΫ͕͋Δ w JOUFSOFU͔Βःஅ͞ΕΔ͜ͱʹͳΔ

Slide 32

Slide 32 text

経路Filterに関する参考情報 +"/0($PNNFOU+$_ʹ
 େมஸೡʹ·ͱΊΒΕ͍ͯΔ
 IUUQXXXKBOPHHSKQEPDKBOPH DPNNFOU

Slide 33

Slide 33 text

"4 "4 3. Path Attribute ͸ຊདྷͷ༻్ʹ࢖͓͏ – ྫ͑͹ closest exit – *(1ʹΑΔ੍ޚ .&%͕ҟͳΔܦ࿏Ͱ΋DMPTFTUFYJU͍ͨ͠৔߹͸.&%Λ
 ্ॻ͖͢Δඞཁ͕͋Δ MED MED *(1DPTU MED 3 3 prefix Next Hop MED IGP > 192.0.2.0/24 R1 100 0 192.0.2.0/24 R2 100 50 prefix Next Hop MED IGP 192.0.2.0/24 R1 100 50 > 192.0.2.0/24 R2 100 0

Slide 34

Slide 34 text

*(1Λ༻͍Δ୅ΘΓʹɼ.&%ΛՃࢉ͢Δ͜ͱͰ΋ҰԠ ࣮ݱͰ͖Δ ! ! ! ×SPVUFSؒͰ.&%Ճࢉͯ͠ճΔඞཁ͕͋Δ ˚ͪ͜Β΋.&%ͷ্ॻ͖͕ඞཁ lนzʹͳ͍ͬͯΔͱ͍͏਺஋͕े෼͔ Ͳ͏͔͸QFFSQBSUOFSͷ޿ࠂQPMJDZ࣍ୈ ! w ຊདྷͷ.&%ͷ༻్ͱ͸ҟͳΔ Juniper NFUSJDBEE Cisco TFUNFUSJD

Slide 35

Slide 35 text

受信経路に手を入れる = 経路制御する 方法を決めておく (運用設計)

Slide 36

Slide 36 text

経路制御の選択肢 w USBOTJUQFFSܦ࿏ w -1ͷඍௐ੔ w "4@1"5)QSFQFOE w .&%ඍௐ੔ w QBTTJWF*(1 w ܦ࿏ΛࢭΊΔ ! w ސ٬ܦ࿏ w ސ٬͔Βͷґཔʹجͮ͘৔߹Λআ͖ ૢ࡞͠ͳ͍

Slide 37

Slide 37 text

w -1.&%ͳͲͷ਺஋͸ͳΔ΂͘弱くなるํʹ੍ޚ͢Δ w ϔϯʹUSBGGJDΛٵ͍ࠐΉͷΛ๷͙ w .&%૿΍͢
 -1 ݮΒ͢ ଟ͘ͷ࣮૷ͰEFGBVMU w "4@1"5)QSFQFOE
 QSFQFOE͞Εͨܦ࿏͕3*#ʹ࢒ͬͯ͠·͏Մೳੑ͕͋Δͷ ͰɼͳΔ΂͘ආ͚Δ w USBOTJUΛച͍ͬͯΔ৔߹ͳͲ શମͱͯ͠ܦ࿏͕ԕ ͘ݟ͑ͯ͠·͏ͷ͸ྑ͘ͳ͍ w QBTTJWF*(1͸ܦ࿏͝ͱͷ੍ޚ͕Ͱ͖ͳ͍

Slide 38

Slide 38 text

w -1.&%"4@1"5)ૢ࡞ w なるべくメンテナンス頻度を下げる w QFFS"4 w OFYUIPQ w PSJHJO"4 w "4@1"5) w QSFGJY ͷॱͰૢ࡞ ྫ͑͹QSFGJY͸͕࣌ؒܦͭͱมԽ͢ΔՄೳੑ͕ߴ͍

Slide 39

Slide 39 text

irregularなことは 目立つように /
 消しやすく QSPUPDPMT\ CHQ\ OFJHICPSYYYY\ JNQPSU<SFHVMBSJSSFHVMBSpOBMJ[F> ^ ^ ^ ! QPMJDZPQUJPOT\ QPMJDZTUBUFNFOUSFHVMBS\ GSPN\^ UIFO\ ௨ৗͷQPMJDZ OFYUQPMJDZ ^ ^ ! SFNPWFNFTPPO QPMJDZTUBUFNFOUJSSFHVMBS\ GSPN\^ UIFO\ JSSFHVMBSͳQPMJDZ OFYUQPMJDZ ^ ^ QPMJDZTUBUFNFOUpOBMJ[F\ UIFOBDDFQU ^ ^ ! +VOJQFSͷྫ OPSPVUFNBQSPVUFpMUFS SPVUFNBQSPVUFpMUFSQFSNJU ௨ৗͷQPMJDZ SPVUFNBQSPVUFpMUFSQFSNJU ௨ৗͷQPMJDZ SPVUFNBQSPVUFpMUFSQFSNJU ௨ৗͷQPMJDZ ! SFNPWFNFTPPO SPVUFNBQSPVUFpMUFSQFSNJU JSSFHVMBSͳQPMJDZ ! $JTDPͷྫ

Slide 40

Slide 40 text

よく使ったの は次の3種類 くらい

Slide 41

Slide 41 text

経路制御の選択肢 (受信) – LP 制御 – MY AS peer$ "4 peer# "4 ސ٬" transit" "4 prefix MED AS_PATH 192.0.2.1/32 100 1 192.0.2.2/32 100 1 prefix MED AS_PATH 192.0.2.1/32 50 2 prefix MED AS_PATH 192.0.2.1/32 100 1 192.0.2.2/32 100 1 Ұ෦ܦ࿏͸QFFSΑΓ ༏ઌ͍ͤͨ͞ prefix LP MED AS_PATH > 192.0.2.1/32 120 1000 1 192.0.2.1/32 110 1000 2 > 192.0.2.2/32 120 1000 1 LP policy w USBOTJU w QFFS QFFS#͔Βͷܦ࿏ʹ͍ͭͯ -1ΛԼ͛Δ

Slide 42

Slide 42 text

MY AS peer$ "4 peer# "4 ސ٬" transit" "4 prefix Next Hop MED AS_PATH 192.0.2.1/32 x.x.x.x 50 2 192.0.2.1/32 y.y.y.y 100 2 prefix Next Hop MED AS_PATH 192.0.2.1/32 z.z.z.z 100 2 SPVUFS͔Βಉ͡ܦ࿏Λड৴͍ͯ͠ ΔΑ͏ͳ৔߹Ͱ ༏ઌ౓Λૢ࡞͍ͨ͠ prefix Next Hop MED AS_PATH 192.0.2.1/32 x.x.x.x 110 2 > 192.0.2.1/32 y.y.y.y 100 2 経路制御の選択肢 (受信) – MED 制御 – QFFS#͔Βͷܦ࿏ʹ͍ͭͯ Ұํͷ.&%Λେ͖͘͢Δ
 େ͖ͳ஋Ληοτ͢ΔPS加算して大きくする

Slide 43

Slide 43 text

MY AS peer$ "4 peer# "4 ސ٬" transit" "4 prefix Next Hop 192.0.2.1/32 x.x.x.x 192.0.2.1/32 y.y.y.y prefix Next Hop 192.0.2.1/32 z.z.z.z SPVUFS͔Βಉ͡ܦ࿏Λड৴͍ͯ͠ ΔΑ͏ͳ৔߹Ͱ OFJHICPS୯ҐͰ༏ઌ ౓Λૢ࡞͍ͨ͠ prefix Next Hop IGP > 192.0.2.1/32 x.x.x.x 10 192.0.2.1/32 y.y.y.y 40 経路制御の選択肢 (受信) – IGP 制御 – ௨ৗͩͱ .:"4͔ΒݟͯYYYY ZZZZ΁ͷ*(1 DPTU͸྆ํ͕ͩ Ұํ͚ͩʹ͢Δ QSPUPDPMT\ JTJT\ QBTTJWF MFWFMEJTBCMF MFWFMNFUSJD ^ ^ ! +VOJQFSͷྫ

Slide 44

Slide 44 text

eBGP 経路広告

Slide 45

Slide 45 text

eBGP Policy の基本 (広告) MY AS ސ٬" ސ٬"ͷ ސ٬ ސ٬"ͷ transit ސ٬"ͷ peer transit" transit"ͷ transit tranit"ͷ peer peer" peer"ͷ ސ٬ peer"ͷ peer peer"ͷ transit transit"ͷ ސ٬ 顧客経路 + 自分の経路 のみ広告 w 顧客A から受信した経 路すべて w 自身の経路 顧客経路 + 自分の経路のみ広告 w 顧客A から受信した経路すべて w 自身の経路 すべての経路を広告 w 自身の経路 w peer A から受信した経路すべて w transit A から受信した経路すべて bogon filter はすべてに必要

Slide 46

Slide 46 text

BGP Community 便利 w ܦ࿏ͷछผʹΑΔzϚʔΫzΛ#(1DPNNVOJUZͱͯ͠ ෇༩͢Δͱސ٬͸ศརʹ࢖͑Δ w ֎෦"4͔Βɼどの地域Ͱड͚औ͔ͬͨ w ֎෦"4ͱ͸ɼtransit͔ peer͔ 顧客͔

Slide 47

Slide 47 text

prepend community とかどうですか? ސ٬ DPNNVOJUZ AS_PATH MY AS QFFS DPNNVOJUZ /" AS_PATH 顧客に ࣗ"4 ֎෦"4΁ͷ޿ࠂ࣌ͷ "4@1"5)Λ੍ޚͤ͞Δ

Slide 48

Slide 48 text

広告経路を扱う ときに気にする べきポイント3つ

Slide 49

Slide 49 text

1. MEDをちゃんと付ける 2. 経路Filter 3. ASPATH prepend
 ってちょっと強い

Slide 50

Slide 50 text

"4 "4 1.MEDをちゃんと付ける MED *(1DPTU MED ސ٬ MED *(1DPTU AS2 が AS1 のMEDを 評価した場合の packet flow ͬͪ͜ͷ΄͏͕͍ۙ ͬͪ͜Λ༏ઌͯ͠ʂ

Slide 51

Slide 51 text

w NFUSJDPVUJHQ͕ศར w *(1DPTUΛ޿ࠂ࣌ͷ.&%ͱͯ͠ར༻ ! ! ! ! ! ! ! ֎෦"4͕ৗʹ.&%ΛධՁͯ͘͠ΕΔͱ͸ݶΒͳ͍ w μϝ΋ͱͰ΋޿ࠂ͓ͯ͘͠Ձ஋͋Γ w ධՁͯ͠΋Β͍͍ͨͳΒ ަব QSPUPDPMT\ CHQ\ HSPVQFCHQ\ NFUSJDPVUJHQ OFJHICPSYYYY\^ ^ ^ ^ ! +VOJQFSͷྫ SPVUFSCHQYYYY OFJHICPSZZZZSPVUFNBQFCHQ SPVUFNBQFCHQ TFUNFUSJDUZQFJOUFSOBM ! $JTDPͷྫ

Slide 52

Slide 52 text

2. 経路Filter w ಺෦ͷࡉ͔͍ܦ࿏͸޿ࠂ͠ͳ͍ w DPOOFDUFE EJSFDU ܦ࿏͸#(1ʹSFEJTUSJCVUF͠ͳ ͍ͳͲ w ͢Δͱ͖ʹ͸OPFYQPSUDPNNVOJUZΛ෇͚͓ͯ͘ w CPHPOͦͷଞɼJOUFSOFUʹྲྀ͢΂͖Ͱͳ͍ܦ࿏ؚ͕·Ε ͳ͍͔Λ࠶֬ೝ w remove-privateしておく QSJWBUF"4͸࡟ͬͯ޿ࠂ

Slide 53

Slide 53 text

3. AS_PATH prepend w ੍ޚͰ͖Δ͕ ൺֱత੍ޚ͕ڧ͍ w lઃܭzʹؚΊΔͷ͸ ΍Γ͗͢ͳΠϝʔδ w ͲͪΒ͔ͱ͍͏ͱUSPVCMFTIPPUͳͲͷ࢑ఆରॲ༻

Slide 54

Slide 54 text

広告経路に手を入れる = 経路制御する 方法を決めておく (運用設計)

Slide 55

Slide 55 text

経路制御の選択肢 (広告) w ୭ʹର੍ͯ͠ޚ͢Δ͔ʹ͍ͭͯ w USBOTJUQFFS w "4@1"5)QSFQFOE w .&%ඍௐ੔ w #(1DPNNVOJUZ Ұ෦USBOTJUͷΈ w USBOTJU"4಺ͷ-1Λ੍ޚ w USBOTJU"4 ଞ"4ܦ࿏޿ࠂΛ੍ޚ ޿ࠂ͠ͳ͍QSFQFOE w ܦ࿏޿ࠂΛࢭΊΔ ! w ސ٬ w ސ٬͔Βͷґཔʹجͮ͘৔߹Λআ͖ ૢ࡞͠ͳ͍

Slide 56

Slide 56 text

あまり 手がない

Slide 57

Slide 57 text

経路制御の選択肢 (広告)
 – MED 制御 – "4 "4 MED *(1DPTU MED ސ٬ MED *(1DPTU ͬͪ͜ͷ΄͏͕͍ۙ ͬͪ͜Λ༏ઌͯ͠ʂ

Slide 58

Slide 58 text

経路制御の選択肢 (広告)
 – AS_PATH 制御 – peer" "4 MY AS "4 peer# "4 "4 "4 prefix AS_PATH 192.0.2.1/32 2 1 1 1 prefix AS_PATH 192.0.2.1/32 1 1 1 prefix AS_PATH 192.0.2.1/32 1 prefix AS_PATH 192.0.2.1/32 3 1 prefix AS_PATH 192.0.2.1/32 20 3 1 ͬͪ͜Λ༏ઌͯ͠΄͍͠ "4@1"5)ʹࣗ"4Λ༨෼ʹ͚ͭΔY

Slide 59

Slide 59 text

経路制御の選択肢 (広告) w ޿ࠂܦ࿏ͷ੍ޚ͕ޮ͔ͳ͍৔߹΋ଟʑ͋Δ w ސ٬QFFSJOHQBSUOFSUSBOTJUఏڙऀʹ΋൴ΒͳΓͷ QPMJDZ͕͋ΔͷͰ ΍ΉΛಘͳ͍ w 接続しているtransit / peer のrouting設計を理解するこ とがすごく重要 w .&%͸ޮ͔͘ w "4@1"5)QSFQFOEՄೳ͔ w CFTUQBUI͸ͲͷQBUIBUUSJCVUFͰܾ·͍ͬͯΔ͔ w ੍ޚܥ#(1DPNNVOJUZ͸͋Δ͔ w そのような設計になっているのはなぜか? ! w ௚઀౴͑ͯ΋Β͑Ε͹ϥοΩʔ w ਪଌͷ஝ੵͰ΋े෼໾ཱͭ

Slide 60

Slide 60 text

ҎԼͷબ୒ࢶ͸ߴ͍֬཰ͰޮՌ͕ظ଴Ͱ͖Δ ! w #(1$PNNVOJUZ ! w ܦ࿏޿ࠂΛࢭΊΔ w ଟ͘ͷ৔߹ ৑௕ੑΛଛͳ͏ w NPSFTQFDJGJDͳܦ࿏ʹ͢Δ Y w ؅ཧ͕൥ࡶʹͳΔ 奥の手 !

Slide 61

Slide 61 text

シンプルに わかりやすく http://www.flickr.com/photos/techsavvyed/5926978939/

Slide 62

Slide 62 text

iBGP policy / 設計

Slide 63

Slide 63 text

あまりたくさん 話しませんが, 気に留めておくと 良さそうなこと2つ

Slide 64

Slide 64 text

1. BGP Confederation 2. next-hop self

Slide 65

Slide 65 text

"4 "4 TVC"4 "4 TVC"4 "4 TVC"4 J#(1 GVMMNFTI J#(1 GVMMNFTI J#(1 GVMMNFTI 1. BGP Confederation 3PVUF3FGMFDUPS 33 ಉ༷ɼ#(1εέʔϥϏϦςΟΛ޲ ্ͤ͞Δٕज़ w ෳ਺ͷTVC"4ʹ෼ׂ͠ɼTVC"4ؒΛF#(1઀ଓ w IVCTQPLF͕ྑ͍ͱ͞ΕΔ "4 "4 AS_PATH AS_PATH QSJWBUF"4 CBDLCPOF"4ͱ΋ AS_PATH AS_PATH TVC"4͸ "4@1"5)͔ Β削除される TVC"4಺ͷQSJWBUF"4 "4@1"5)ධՁ࣌ public AS扱い .&%ධՁ࣌無視 DPOGFEFSBUJPOF#(1 w -1 w .&% w OFYUIPQ ͸透過する IGP domain

Slide 66

Slide 66 text

w ར఺ w *(1EPNBJOΛ෼ׂͰ͖Δ w େن໛ʹͳΔͱෆ҆ఆʹͳΓ͕ͪͳ*(1΁ͷରࡦ w TVC"4୯ҐͰ#(1QPMJDZΛ෼͚ΒΕΔ w αʔϏεผࠃผΤϦΞผͳͲͰӡӦ฼ମΛ෼͚Δͱ͖ʹͽͬͨ ΓϋϚΔ w M&Aなどにより統合したnetworkを,1ASに移行するステップ として w ܽ఺ w TVC"4ͷن໛͕େ͖͘ͳΔͱJ#(1TFTTJPO਺ͦΕʹ൐ ͏ܦ࿏਺͕ෛՙʹͳΔ w CFTUͰ͸ͳ͍ ܦ࿏͕ଟ͍ SPVUFDPOWFSHFODFUJNF͕௕͍ ! TVC"4͕େ͖͘ͳ͖ͬͯͨΒɼTVC"4಺΁ͷ33ಋೖ΋0, #(1$POGFEFSBUJPOͱ33ͷซ༻

Slide 67

Slide 67 text

2. next-hop self w ࣗ"4಺ͷUSBGGJDΛࡉ੍͔͘ޚ͍ͨ͠৔߹͸OFYUIPQ TFMG͠ͳ͍΄͏͕͍͍ w 経路制御の選択肢を1つ失う w ͨ͠΄͏͕͍͍৔߹΋͋Δ ޙड़ 意外と重要 ࣗ"4 J#(1 /)TFMG͋Γ Prefix NH 192.0.2.0/24 z.z.z.z 198.51.100.0/24 z.z.z.z Prefix NH 192.0.2.0/24 x.x.x.x 198.51.100.0/24 y.y.y.y

Slide 68

Slide 68 text

next-hop self したほうがいい場合 *9ܦ༝Ͱ΋Βͬͨܦ࿏ΛJ#(1ʹྲྀ͢ͱ͖ IUUQXXXKBOPHHSKQEPDKBOPHDPNNFOUKDUYU IX ࣗ"4 packet flow Prefix NH 192.0.2.0/24 x.x.x.x x.x.x.0/24 Prefix NH 192.0.2.0/24 x.x.x.x YYYY /) ʹ౸ୡ͢Δ ͷʹ*(1DPTU͕খ͍͞ ํΛબͿ dst MAC address を知らない 可能性がある

Slide 69

Slide 69 text

IX F#(1 YYYZ YYYY next-hop self したほうがいい場合 *9ܦ༝Ͱ΋Βͬͨܦ࿏Λಉ͡*9্ͷผͷF#(1ͷྲྀ͢ͱ͖ IUUQXXXKBOPHHSKQEPDKBOPHDPNNFOUKDUYU packet flow ࣗ"4 Prefix NH 192.0.2.0/24 x.x.x.x next-hop selfしないと ! Prefix NH 192.0.2.0/24 x.x.x.x Prefix NH 192.0.2.0/24 x.x.x.x Prefix NH 192.0.2.0/24 x.x.x.y Ͱ͋Δ΂͖ x.x.x.x(NH) に直接転送してしまう

Slide 70

Slide 70 text

BGP の運用を 考えよう

Slide 71

Slide 71 text

• Traffic Engineering • その他

Slide 72

Slide 72 text

Traffic Engineering

Slide 73

Slide 73 text

これから,運用上 問題になった ケースをいくつか 挙げます

Slide 74

Slide 74 text

みなさんも l自分ならどうするかz 考えてみてください

Slide 75

Slide 75 text

問題1: 直接peerしているのに
 trafficが流れてこない MY AS packet flow transitを 買っている peer peer transitを 売っている transitを 買っている transitを 売っている "4 peerͷத Ͱ͸͜ΕΛ༏ઌ peer "4 "4 "4

Slide 76

Slide 76 text

問題1: 直接peerしているのに
 trafficが流れてこない "4@1"5)తʹ͸͍ۙͷʹɼผͷQFFS͔ΒUSBGGJD͕ೖͬͯ ͘Δ w ਤͷΑ͏ͳέʔεͰ"4಺ͷSPVUJOHΛม͑Δ͜ͱ͸ ࠔ೉ QFFSͰ͸ͳ͘ɼUSBOTJU͔ΒUSBGGJD͕ೖͬͯ͘Δ w ͪ͜Β͸ͳΜͱ͔ͳΔ͔΋ "4 "4 MY AS "4 packet flow transitを 買っている peer peer transitを 売っている transitを 買っている transitを 売っている "4 peerͷத Ͱ͸͜ΕΛ༏ઌ peer

Slide 77

Slide 77 text

○␣ AS1にメールする (またはAS3にメールする) "4΁ͷܦ࿏޿ࠂΛૢ࡞͢Δ USBOTJUશମʹӨڹ͢ΔͷͰɼ
 جຊతʹ͸ྑ͘ͳ͍ ○␣ (もし提供していれば) AS3のBGP communityを使い,AS1に対して経路を 止める ˚"4΁ͷܦ࿏޿ࠂΛNPSFTQFDJGJDʹ w "4 .:"4΁ͷUSBGGJDͳͲɼର৅֎ͷUSBGGJD΋Ҿ͖ࠐΜͰ͠·͏ w OPFYQPSUΛ͚ͭΕ͹0, ΋͠"4͕ఏڙ͍ͯ͠Ε ͹ μϝ΋ͱͰ"4ͷ#(1 DPNNVOJUZΛ෇༩ͯ͠"4 ʹܦ࿏޿ࠂͯ͠ΈΔͷ΋Ұ ख "4 "4 MY AS "4 packet flow transitを 買っている peer peer transitを 売っている transitを 買っている transitを 売っている peer 答え: 直接peerしているのに trafficが流れてこない

Slide 78

Slide 78 text

問題2: transit間で trafficを動かしたい transit 1 MY AS transit 2 গ͠ Ҡ͍ͨ͠ packet flow

Slide 79

Slide 79 text

○␣ (特定ASからのtrafficが大きい場合) 直接peerする ○␣ transit1への経路広告時にAS_PATH prepend w ܦݧతʹ͍ͭ͘΋QSFQFOEͯ͠΋ޮՌ͸ബ͍ w ܦݧతʹ͸ݶք͸ఔ౓ɽQSFQFOEͯ͠ޮՌ͕ͳ͚Ε͹ɼ૿ ΍ͯ͠΋ͨͿΜಉ͡ ○␣ (もし提供していれば) transit1のBGP communityを使い,transit1
 内でのLPを下げる ! ˚ஸ౓͍͍WPMVNFͷܦ࿏ʹ͍ͭͯɼ w USBOTJU΁ͷ޿ࠂΛNPSFTQFDJGJDʹ w USBOTJU΁ͷܦ࿏޿ࠂΛࢭΊΔ 答え: transit間で trafficを動かしたい transit 1 MY AS transit 2 packet flow গ͠ Ҡ͍ͨ͠

Slide 80

Slide 80 text

問題3: peer間でtrafficを 動かしたい peer 1 MY AS peer 2 গ͠ Ҡ͍ͨ͠ packet flow

Slide 81

Slide 81 text

peer1, peer2 のASNが 違うので,MED操作が 効かない !! 答え: peer間でtrafficを 動かしたい peer 1 MY AS peer 2 packet flow গ͠ Ҡ͍ͨ͠ ○␣ peer1への経路広告時にAS_PATH prepend w ܦݧతʹ͍ͭ͘΋QSFQFOEͯ͠΋ޮՌ͸ബ͍ w ܦݧతʹ͸ݶք͸ఔ౓ɽQSFQFOEͯ͠ޮՌ͕ͳ͚Ε͹ɼ ૿΍ͯ͠΋ͨͿΜಉ͡ ○␣ (もしpeer1と複数peerしているなら) trafficをどけたいpeer1との
 eBGP sessionでのみ特定の経路広告を止める ! ˚ஸ౓͍͍WPMVNFͷܦ࿏ʹ͍ͭͯɼ w QFFS΁ͷ޿ࠂΛNPSFTQFDJGJDʹ w QFFS΁ͷܦ࿏޿ࠂΛࢭΊΔ

Slide 82

Slide 82 text

w QFFSؒͰ5&͍ͨ͠ཧ༝ w ඼࣭͕ѱ͍͔Β w ࣌ؒଳʹΑΓ᫔᫓͢Δ w MBUFODZ͕େ͖͍ w QBJEQFFS͔ͩΒ w ͳ͔ͥ͸෼͔Βͳ͍͕ސ٬ʹґཔ͞Ε͔ͨΒ 補足: peer間でtrafficを 動かしたい

Slide 83

Slide 83 text

問題4: peer間でよくある traffic移動 peer" MY AS peer"ͷ ผͷ peer ސ٬" packet flow ϝϯςφϯε #(1EPXO USBGGJD͕ ҠΔ ϝϯςφϯε͕ ऴΘͬͯ΋໭Βͳ͍

Slide 84

Slide 84 text

答え?: peer間などでよくある traffic移動 peer" MY AS peer"ͷ ผͷ peer ސ٬" w ໭͢ͷ͸ࠔ೉ w F#(1ؒͷCFTUQBUITFMFDUJPO͸SPVUFS*%Ͱ͸ͳ͘ lܦ࿏ͷੜଘظؒzͰܾఆ͢Δ৔߹͕ଟ͍ packet flow

Slide 85

Slide 85 text

ࣗ"4 問題5: 自AS網内の traffic balanceを変えたい 3 3 3 3 3 গ͠ Ҡ͍ͨ͠

Slide 86

Slide 86 text

·ͣ3͔Βग़ΔUSBGGJDͷҰ෦Λ3ʹҠͤͳ͍͔ߟ͑Δ ! w 3 3྆ํͰQFFS͍ͯͯ͠ɼސ٬Ͱ͸ͳ͍"4͕͋Ε͹ɼ3Ͱͷܦ࿏ड৴ ࣌ʹಛఆܦ࿏ʹ͍ͭͯ ! -1ΛԼ͛Δ ੍ޚ͕ڧ͗͢Δr
 "4@1"5)͕ޮ͔ͳ͘ͳΔ ˚"4@1"5)QSFQFOE ੍ޚ͕·ͩগʑ
 ڧ͍ɽࣗ"4಺શҬʹӨڹΛ༩͑Δ ! ○␣ MED を追加する ○␣ (MED を制御に使えない場合) passive IGP costを付ける ͦͷ#(1TFTTJPOશମʹӨڹ͠ɼ
 UPQPMPHZʹΑͬͯ͸ܶతʹมԽ͢ΔͷͰ஫ҙ 答え: 自AS網内の traffic balanceを変えたい ࣗ"4 3 3 3 3 3 গ͠ Ҡ͍ͨ͠

Slide 87

Slide 87 text

ͪΐ͏Ͳ͍͍Ҡಈର৅USBGGJD͕ͳ͔ͬͨΒ ! ˚ R1 R2 R4 trafficをR1 R3 R5 R4
 にできないか考える ! w 33ͷ*(1DPTUΛ্͛Δ
 Өڹൣғ͕େ͖͍ͷͰ஫ҙ w Ұ࣌తͳରԠʹ͸࢖͑Δ͔΋ ࣗ"4 3 3 3 3 3 গ͠ Ҡ͍ͨ͠

Slide 88

Slide 88 text

ͪΐ͏Ͳ͍͍Ҡಈର৅USBGGJD͕ͳ͔ͬͨΒ ! ○␣ R1 R2 traffic をR1 R3 R2 にできないか考える w 3͕͍࣋ͬͯΔF#(1TFTTJPOͷ͏ͪɼ
 TFTTJPO୯ҐͷUSBGGJD߹ܭͰஸ౓͍͍΋ͷ͕͋Ε͹ 
 OFYUIPQʹͳ͍ͬͯΔDPOOFDUFEQSFGJY
 JQWͳΒͳͲ ΁ͷTUBUJD
 ܦ࿏Λ3Ͱ3޲͚ʹઃఆ͢Δ ! (iBGPでnext-hop selfして
 いない場合に限る. また構成に
 よってはrouting loopが起きる
 可能性があるので注意) ࣗ"4 3 3 3 3 3 গ͠ Ҡ͍ͨ͠

Slide 89

Slide 89 text

˚෺ཧతͳมߋΛ൐͏ΞΠσΞ w 33 33΋ ʹMJOLΛ௥Ճ w 333333Ͱ&$.1Λޮ͔͢ w 3 3 3USBGGJDͷ൒෼͕3 3 3ʹҠΔ w ऩ༰Λม͑Δ 3 3 ˚ͦͷଞ w 3 3͕ಉ͡*9ʹ઀ଓ
 ͍ͯ͠ΔͳΒ w J#(1ͷOFYUIPQTFMG Λ΍ΊΔ w 3 3 3 
 3 3 3͕όϥϯε ࣗ"4 3 3 3 3 3 গ͠ Ҡ͍ͨ͠

Slide 90

Slide 90 text

MPLS-TE w ࣗ"4໢಺ͷUSBGGJDCBMBODFΛࣗಈͰ੍ޚ͢Δٕज़ w ۭ͖ଳҬΛࣗಈͰ୳͠ ͦ͜΁SPVUJOH w 2P4΋Մೳ w .1-4 .VMUJ1SPUPDPM-BCFM4XJUDIJOH 3471 3F4FS7BUJPO1SPUPDPM w *11BDLFUʹMBCFMΛ͚ͭͯΧϓηϧԽ w Ծ૝తͳτϯωϧ -41-BCFM4XJUDIJOH1BUI Λͭ͘Δ

Slide 91

Slide 91 text

USBGGJDͷFOEQPJOU͸มΘΒͣɼSFSPVUF͢Δ ࣗ"4 輻輳した ࣗಈͰӌճ

Slide 92

Slide 92 text

なんだか便利そうですよね? +"/0(ʹ͸ɼ lMPLSトラフィックエンジニアリング チュートリアルz ΋͋Γ·ͨ͠ ! IUUQXXXKBOPHHSKQNFFUJOH KBOPHUVUPSJBMNQMTIUNM

Slide 93

Slide 93 text

w ར఺ w खಈ5&͔Βͷ։์ w ଳҬઃܭ͕ϥΫ w ࠷ѱSFSPVUFͯ͘͠ΕΔ w ܽ఺ w PWFSMBZNPEFM w MBCFMPWFSIFBE w -41TJ[FΛઃఆ͢ΔͨΊɼ೔ʑ-41ຖͷUSBGGJD ྔΛΧ΢ϯτ͢Δඞཁ͕͋Δ w BVUPNBUJDCBOEXJEUIʹظ଴ MPLS-TE

Slide 94

Slide 94 text

ͦͷଞ

Slide 95

Slide 95 text

peering 判断の基本 USBOTJUίετΛ཈͑Δ͜ͱ͕ओͳ໨త w QFFSΛ͢Δ"4ϗϧμʔಉ࢜ͷྗؔ܎ʹ΋ΑΔ͕ w QFFS͢Δ͜ͱͰίετϝϦοτ͕͋Δ w ͓ޓ͍ͷϏδωεΛ৵֐͠ͳ͍ͳͲ ྆ऀͷQFFSJOH QPMJDZΛຬͨͯ͠ॳΊͯQFFSJOHΛߦ͏ ! w lίετϝϦοτ͕͋Δz͜ͱͷ໨҆ͱͯ͠
 zUSBGGJD͕ .CQTग़Δ͜ͱzͱ͍͏৚͕݅ ͋Δ৔߹΍ɼ ଓ͘

Slide 96

Slide 96 text

w l͓ޓ͍ͷϏδωεΛ৵֐͠ͳ͍z৚݅ͱͯ͠ෳ ਺Ϧʔδϣϯෳ਺101Ͱͷ઀ଓΛ৚݅ͱ͢Δ *41΋͍Δ "TJBSFHJPO 64SFHJPO lOFUXPSLͷن໛͕ ಉ͘͡Β͍zͱ͍͏ ໨҆ʹ΋ͳΔ "4 ຊڌ஍"TJB "4 ຊڌ஍64 ࣗ෼ͷܦ࿏Λ ࣗ෼ͷ Ϗδωεڌ఺ͷۙ͘Ͱ ౉ͨ͘͠ͳ͍ QFFSJOHQBSUOFS͸ͦ ͷܦ࿏ͰϏδωε͕Ͱ ͖ΔՄೳੑ͕͋Δ

Slide 97

Slide 97 text

w "4ϗϧμʔಉ࢜ͷྗؔ܎ʹΑΓ w QBJEQFFS w l͋Δ஍ҬͰUSBOTJUΛങ͑͹ɼผͷ஍ҬͰQFFSͰ͖Δz ͱ͍͏όʔλʔ ͷΑ͏ͳܗଶ΋͋Δ ! w XXXQFFSJOHECDPNʹ͋Δఔ౓·ͱΊΒΕ͍ͯ Δɽz(FOFSBM1PMJDZz͕l0QFOzͳ"4ϗϧμʔ ͸QFFSJOHʹԠͯ͘͡ΕΔՄೳੑେ w XFCPSNZTRMͰҰཡ͕औಘͰ͖Δ $ mysql -r -hpeeringdb.com -upeeringdb -ppeeringdb Peering mysql> SELECT asn, name, aka, policy_locations, policy_ratio FROM peerParticipants WHERE policy_general IN ('Open') ORDER BY asn;

Slide 98

Slide 98 text

peering 判断の基本 w *$1ʹͱͬͯ *41ͱͷQFFSJOHʹΑΓzϏδωε͕৵֐z ͞ΕΔՄೳੑ͸௿͍ͨΊɼ୯७ʹzίετϝϦοτ͕͋ Δ͔ z͕QFFSJOH൑அͷେ͖ͳධՁ࣠ʹͳΔ৔߹͕ଟ͍ ! w Ұํɼ*$1͸ଞͷ*$1ͱQFFSJOH͢ΔϝϦοτ͸͋Δ w ΞϓϦϏδωεϓϥοτϑΥʔϜͷ࿈ܞ w ଞࣾ"1*ͷར༻ ͳͲ͸૿͑ͯ͘ΔݟࠐΈ

Slide 99

Slide 99 text

生の声はこちらで lPeering in 2014z(1/23 16:00) ! IUUQXXXKBOPHHSKQNFFUJOH KBOPHQSPHSBNQFFSJOHIUNM

Slide 100

Slide 100 text

その他, ルーティングにとっ て重要な コンポーネント

Slide 101

Slide 101 text

transit providerの filterを制御する w Ͳ͔͜ͷ*OUFSOFU3PVUJOH3FHJTUSZ *33 ʹొ࿥͢Δ ඞཁ͕͋Δ w ೔ຊͰΑ͘࢖ΘΕ͍ͯΔ΋ͷ w +1*33 KQJSSOJDBEKQ w +1/*$ձһͷΈ w 3"%# XIPJTSBECOFU w ༗ঈ Z w /55$0. SSOUUOFU w OUUOFUϢʔβʔͷΈ ! ͓ޓ͍ʹNJSSPS͍ͯ͠ΔͨΊɼͲ͔͜Օॴʹొ࿥͢ Ε͹Α͍ ͜ͷ*33ͷ৘ใΛ ͍࣋ͬͯΔ͔ +1*33 3"%# /55$ 0. ͜ͷ *33͕ +1*33 ˓ ˓ º 3"%# ˓ ˓ ˓ /55$0 . ˓ ˓ ˓

Slide 102

Slide 102 text

http://www.nic.ad.jp/doc/jpnic-01077.html に丁寧な解説がある ! w ͍͔ͭ͘ͷPCKFDUΛొ࿥͢Δ w .BJOUBJOFS w "VUOVN w 3PVUF w "44FU ! w ొ࿥ͨ͠"44FUPCKFDUΛUSBOTJUQSPWJEFSʹ఻͑Δ w XXXQFFSJOHECDPNʹ΋ొ࿥͓ͯ͘͠ IRR への登録

Slide 103

Slide 103 text

l細かいことはpeering dbを見てくださいz
 ですむので便利 w XXXQFFSJOHECDPN w ৘ใӾཡ͸HVFTUΞΧ΢ϯτͰ0, w ࣗ"4ͷ৘ใΛొ࿥͢Δʹ͸
 Ϣʔβʔొ࿥ σʔλϕʔεӡӦऀͷঝೝ͕ඞཁ w NBJMBEESFTTͷEPNBJOΛݟΒΕΔͷͰ "4ͱͷؔ ࿈͕໌Β͔ͳNBJMBEESFTTΛ࢖͏ peering db

Slide 104

Slide 104 text

w "4ͷجຊ৘ใ w ໊લ w "4/ w छผ *41*$1ͳͲ w USBGGJDMFWFM w MPPLJOHHMBTTSPVUFTFSWFS63- w JQWNVMUJDBTUJQW w peering policy w PQFOTFMFDUJWFSFTUSJDUJWF/P w ෳ਺ڌ఺ͰͷQFFSΛ৚݅ʹ͢Δ͔ w JOPVUͷUSBGGJDൺ཰Λ৚݅ʹ͢Δ͔ w ࿈བྷઌ w ઀ଓ*9 QVCMJDQFFS༻ w ໊લ w ଳҬ w 101 QSJWBUFQFFS༻ w %$໊ w *OUFSGBDFछผ QFFSJOHECʹ͸ ͍Ζ͍ΖهࡌͰ͖Δ

Slide 105

Slide 105 text

経路奉行 w +1*33ʹొ࿥͢Δͱ͍͍͜ͱ͕͋Δ w #(1SPVUFIJKBDLJOHΛݕ஌௨஌ͯ͘͠ΕΔ w IUUQXXXOJDBEKQKBJQJSSKQJSS@FYQIUNM w *4"MBSN #(1.0/ Έ͍ͨͳ΋ͷ *4"MBSN
 IUUQXXXSJQFOFUJTBMBSNT #(1.0/ IUUQXXXCHQNPOOFU route: 202.12.30.0/24 descr: JPNICNET Japan Network Information Center Kokusai Kogyo Kanda Bldg. 6F 2-3-4 Uchi-Kanda Chiyoda-ku, Tokyo 101-0047 JAPAN X-Keiro: okadams@nic.ad.jp <--௥Ճهड़ X-Keiro: okadams-noc@nic.ad.jp <--ෳ਺͋ͯઌʹ௨஌͢Δ৔߹هड़ origin: AS2515 admin-c: SN3603JP tech-c: YK11438JP tech-c: MO5920JP notify: system@nic.ad.jp mnt-by: MAINT-AS2515 changed: apnic-ftp@nic.ad.jp 20080116 source: JPIRR

Slide 106

Slide 106 text

route server "4 w F#(1TFTTJPOΛTDBMFͤ͞Δٕज़ w ओʹ*9Ͱར༻͞Ε͍ͯΔ w ௨ৗͷQFFSJOHͷख๏ CJMBUFSBM ͱSPVUFTFSWFSܦ༝ͷQFFSJOHͷख๏ NVMUJMBUFSBM Ͱɼ3*#ͷத਎͕΄΅ಉ͡ w remote AS(この例ではAS10)はAS_PATHに載らない w eBGP session数を減らすことで運用をラクに w PQFOQPMJDZͷ"4ϗϧμʔ޲͖ IX route server "4 Prefix AS_PATH 192.0.2.0/24 1

Slide 107

Slide 107 text

まとめ

Slide 108

Slide 108 text

今日の目的 w BGPの設計を決める際に考えないといけないこと Λ͔ͭ Ή ! w l#(1TFTTJPOͷઌʹ͍Δ"4 ސ٬QFFSJOHQBSUOFS USBOTJUఏڙऀ ʹ΋ݸผͷSPVUJOHQPMJDZ͕͋Δzͱ͍ ͏؀ڥͰ どうやって自分の思うようにtraffic control するか? Λཧղ͢Δ

Slide 109

Slide 109 text

BGP のPolicyや設 計を決めるために 考えるべきこと

Slide 110

Slide 110 text

NetworkやRoutingを 考える際には 常にPolicyを意識

Slide 111

Slide 111 text

常に意識できるよう Routing Policyは なるべくシンプルに

Slide 112

Slide 112 text

とは言っても,
 BGP はASをまたぐので いつもPolicy/設計通りに 実装できるとは限らない

Slide 113

Slide 113 text

Policy/設計に 反することは 誰が見ても「反している」 のが分かるように ٕज़తෛ࠴Λฦͨ͢Ί ໨తΛୡ੒ͨ͠Βඞͣ໭͢ ͦͷࡍʹपғʹӨڹͳ͘ফͤΔΑ͏ ࣮૷͔࣌Β
 ޻෉͢Δ͜ͱ͕େࣄ