โหลด BGP ขาเข้าจากเราเตอร์ ISP เดียวกัน


10

ฉันมีเราเตอร์ BGP สองตัวสำหรับ DIA ที่มีปัญหากับผู้ให้บริการรายหนึ่งซึ่งลิงก์ทั้งสองไปยังผู้ให้บริการรายนี้อยู่บนเราเตอร์ SP เดียวกัน การโอนผ่านอีเธอร์เน็ตของฉันผ่านลิงก์ MetroE สองลิงก์จากผู้ให้บริการรายอื่นในนามของผู้ให้บริการหลักของฉันเนื่องจากผู้ให้บริการรายหนึ่งมีไฟเบอร์อยู่ในตึกแล้ว หากใครบางคนสามารถล้างคำศัพท์ ISP ได้เมื่อผู้ให้บริการรายหนึ่งขนส่งบริการอื่น ๆ ฉันก็ยินดี วงจรทั้งสองยุติ L3 ด้วยเราเตอร์ SP เดียวกันดังนั้นเราเตอร์สองตัวของฉันแต่ละเพียร์ที่มีเราเตอร์ผู้ให้บริการเดียวกัน ฉันได้รับการกำหนดพื้นที่ PA จาก SP นี้

ฉันไม่มีปัญหากับการโหลดบาลานซ์ขาออก (หรือการแบ่งปันโหลดเนื่องจากฉันเดาว่าจะมีความแม่นยำทางเทคนิคมากกว่า) ขาออกฉันใช้ ECLB ที่ไฟร์วอลล์ซึ่งเลือกเราเตอร์หนึ่งในสองตัวจากแฮช srcip / dstip

ผู้ให้บริการรายนี้ - ลืมเกี่ยวกับผู้ให้บริการเพียงแค่ให้การขนส่ง - ไม่ใช่การรับส่งข้อมูลขาเข้าโหลดจากเราเตอร์หนึ่งข้ามการเชื่อมโยงไปยังเราเตอร์สองเครื่องของฉันและนี่คือทิศทางที่เราสามารถใช้ 5x50Mb BW รวมกันที่เรามี กิ่ว SP เห็นเส้นทางที่เท่าเทียมกับเราสำหรับเครือข่ายโฆษณาเดียวกันและโดยพื้นฐานแล้วเส้นทางแรกที่พวกเขาเรียนรู้คือสิ่งที่กลายเป็นเส้นทางที่ดีที่สุด

ฉันอยู่กับสิ่งที่ฉันกำลังพิจารณาตัวเลือกของฉันด้านล่างได้รับการจราจรในช่วงวงจรทั้งสองและอยากจะรู้ว่าสิ่งที่ผู้เชี่ยวชาญที่นี่คิดว่าดีที่สุดโดยเฉพาะอย่างยิ่งถ้าคุณคุ้นเคยกับระเบียบวิธีปฏิบัติ SP ทั่วไป เนื่องจากฉันมีสัญญาการเปลี่ยนสัญญาในเวลานี้จึงไม่ใช่ตัวเลือกในการสร้างสิ่งนี้ด้วยวิธีอื่น

การอนุญาตmaximum-paths 2ในเครือข่าย SP แก้ไขสิ่งนี้ แต่สิ่งนี้ใช้ได้กับลูกค้า BGP ของพวกเขาทั้งหมดในเราเตอร์เดียวกันกับที่ฉันไม่คิดว่าพวกเขาจะอนุญาต อย่างน้อยหนึ่งตัวเลือกที่จะทำงานเกี่ยวข้องกับเส้นทางคงที่ แต่นั่นไม่ใช่สิ่งที่ฉันต้องการ

ด้านล่างเป็นตัวเลือกที่ฉันได้พิจารณาตามลำดับความชอบ

  1. อนุญาตให้ BGPmaximum-paths 2บนเราเตอร์ SP (ส่งผลกระทบต่อลูกค้า BGP ทั้งหมดที่อยู่ที่นั่น) ดังนั้น / 24 จะถูกใช้เมื่อโฆษณาทั้งสองวงจร

  2. แบ่งครึ่ง / 24 ของฉันและโฆษณาแยก / 25sผ่านแต่ละลิงก์พร้อมกับ / 24 SP เพิ่งระบุว่าชุมชนที่ไม่มีเอกสารสามารถใช้เพื่อยอมรับคำนำหน้า> / 24 สิ่งนี้ต้องการการจัดการ NAT บนไฟร์วอลล์ของฉันเพื่อใช้ที่อยู่ร่วมในทั้งสอง / 25 เนื่องจากปริมาณการใช้งานส่วนใหญ่ตอนนี้กลับมาหาเราในที่อยู่เพียงไม่กี่ที่ในระดับล่าง / 25

  3. SP สแตติกเส้นทางถึง / 24เพื่อบังคับให้โหลดบาลานซ์ w / BGP / 24 (เส้นทางลอย)

  4. SP สแตติกเราต์ไปที่ / 25sเพื่อบังคับให้ ECLB w / BGP / 24 นำหน้า (ใน RIB แต่ไม่ได้ใช้ยกเว้นความล้มเหลวของ / 25s)

ฉันคิดว่าการโฆษณา / 25s ใน BGP เป็นตัวเลือกที่ดีที่สุดที่ฉันค้นพบเมื่อไม่นานมานี้เป็นไปได้กับชุมชนที่ไม่มีเอกสาร SP แต่มีตัวเลือกอื่น ๆ ที่ฉันไม่ได้พิจารณาหรือกังวลเกี่ยวกับแพ็กเก็ตที่ล้าสมัย ?

นี่เป็นปัญหาการโหลดบาลานซ์ย้อนกลับที่คนส่วนใหญ่ถามด้วย BGP


1
เส้นทางสูงสุดสามารถทำงานได้แม้ว่าคุณจะมีหลายเราเตอร์ถึงสองตัวในกรณีที่ PE แต่ละตัวที่เครือข่ายผู้ให้บริการจำเป็นต้องเปิดใช้งานเส้นทางสูงสุดและต้องได้รับเส้นทางทั้งสองจาก iBGP
ytti

มีข้อสงสัยของฉันเมื่อฉันเขียนมัน ...
generalnetworkerror

คำตอบ:


8

ฉันจะขอ 'เส้นทางสูงสุด' (ปกติจะเรียกว่า ECMP ในมาตรฐานและเอกสารไม่ใช่ ECLB) และหาก ECMP ไม่ใช่แบบเริ่มต้นให้ย้อนกลับไปที่แผน / 25 ของคุณ

ตัวย่ออื่น ๆ ที่ฉันไม่สามารถเข้าใจได้ในทันทีคือ DIA (การเข้าถึงอินเทอร์เน็ตโดยเฉพาะ?) และ SOP (ขั้นตอนการปฏิบัติการมาตรฐานหรือไม่) ฉันไม่แน่ใจว่าสิ่งเหล่านี้เป็นตัวย่อสากลจริง ๆ หรือไม่ที่ควรใช้ใน stackexchange โดยไม่มี hovertext อย่างน้อยที่สุดเพื่อแก้ไข


ขอบคุณฉันรู้ว่า ECLB ไม่ถูกต้อง แต่ฉันจำ ECMP ไม่ได้จากส่วนบนสุดของหัว และคุณถูกต้องกับ TLA ;-) DIA เป็นศัพท์สากลที่ทุก ๆ หนึ่งในผู้ให้บริการอินเทอร์เน็ตชั้นที่ 1 ที่ฉันใช้ในช่วงทศวรรษที่ผ่านมาใช้ในการทำสัญญาบริการอินเทอร์เน็ตผ่านลิงก์โดยตรง SOP ก็เป็นสากลเช่นกัน แต่ฉันจะบอกคุณว่ามันเป็นการยืดการใช้มันในคำย่อที่มีตัวอักษรเป็นตัวย่อเช่น NE
Generalnetworkerror

6

การพูดเกี่ยวกับคำศัพท์ที่คุณได้พูดไปแล้วเรื่องการขนส่งซึ่งฉันคิดว่าเป็นบริการประเภทนั้นที่มักถูกเรียกว่า บางครั้งคนก็จะเรียกว่าเป็น "โยง"

คุณมีทางเลือกอื่นในการย้ายอินเทอร์เฟซข้างเราเตอร์เดียวกันจากนั้นตั้งค่า eBGP multihop *** ระหว่างคุณและผู้ให้บริการของคุณ ใช่คุณสูญเสียความซ้ำซ้อนที่ด้านข้างของคุณ แต่ในฝั่งตรงข้ามมันจะเป็นเราเตอร์เดียวกันอยู่แล้วดังนั้นนั่นคือจุดที่สงสัย สิ่งนี้ยังช่วยลดความต้องการของผู้ให้บริการที่จะทำ eBGP multipath ในกรณีที่พวกเขาไม่เต็มใจที่จะทำเช่นนั้นกับคุณ (แต่ฉันพบว่าโดยทั่วไปแล้วผู้ให้บริการส่วนใหญ่จะเปิดใช้งานได้ถ้าไม่ได้เปิดใช้งานแล้ว) .

หากไม่น่าเชื่อถือแล้วการประกาศสอง / 25 นั้นน่าจะเป็นทางออกที่ดีที่สุดของคุณเว้นแต่ผู้ให้บริการของคุณจะยินดีที่จะเปิดmaximum-paths(อีกครั้งสมมติว่าพวกเขายังไม่ได้ทำ)

*** การทำโหลดบาลานซ์ด้วย eBGP multihop ในสถานการณ์ของคุณจะเกี่ยวข้องกับสิ่งต่อไปนี้:

  1. ย้ายการเชื่อมต่อ ISP ที่สองไปยังเราเตอร์หนึ่งตัวที่ด้านข้างของคุณ
  2. ทั้งคุณและผู้ให้บริการกำหนดค่าupdate-source Loopback0ในแต่ละเซสชันของคุณ - คุณไม่จำเป็นต้องใช้ Lo0 หากคุณไม่ต้องการตราบใดที่คุณเห็นด้วยว่าที่อยู่ใดที่จะใช้เส้นทางแบบคงที่
  3. กำหนดค่าสแตติก 2x / 32 เส้นทางไปยังลูปแบ็คของกันและกันผ่านอินเทอร์เฟซที่เชื่อมต่อ (หรือ IP ถัดไปของการฟ้อนรำ) - นี่คือวิธีที่การทำโหลดบาลานซ์ทำงานเนื่องจากเป็น ECMP จริงๆ
  4. กำหนดค่าebgp-multihop 2ในเซสชันของผู้อื่น (คุณต้องการให้หมายเลขนี้มีขนาดเล็กที่สุดเท่าที่จะทำได้เพื่อหลีกเลี่ยงการขโมยเซสชัน TCP)

Voila โหลดบาลานซ์ สิ่งนี้จะขยายขนาดต่อส่วนต่อประสานเนื่องจากการเพิ่มพอร์ตใหม่จะเกี่ยวข้องกับการเพิ่มส่วนต่อประสานอื่นและเส้นทางแบบคงที่


คุณสามารถอธิบายอย่างละเอียดว่าผู้ให้บริการจะเริ่มส่งปริมาณข้อมูลผ่านลิงค์ทั้งสองได้อย่างไรโดยการย้าย eBGP บนเราเตอร์เดียวกันที่ส่วนท้ายของลูกค้าหากไม่ได้เปิดใช้งานมัลติพา ธ
ytti

แน่นอนฉันจะแก้ไขคำตอบของฉัน
John Jensen

พูดอย่างเคร่งครัดซึ่งไม่ต้องใช้มัลติฮอปหรือย้ายไปยังเราเตอร์เดียวกัน เพียงต้องการให้คุณเปลี่ยนโปรโตคอล BGP ของคุณในครั้งถัดไปเพื่อให้เหมือนกันในทั้งเพื่อนร่วมงานและผู้ให้บริการของ eBGP ที่ยอมรับ 'remote nexthop' และเส้นทางแบบคงที่ไปยังพวกเขา
ytti

ฉันไม่แน่ใจว่าคุณหมายถึงอะไร การใช้ ebgp multihop สำหรับการทำ load load ในแบบนี้จำเป็นต้องใช้การเชื่อมต่อแบบขนานระหว่างเราเตอร์ 2 ตัวเดียวกัน
John Jensen

คุณไม่จำเป็นต้องย้ายเซสชัน eBGP ที่มีอยู่ คุณสามารถรีเซ็ตเส้นทางกระโดดถัดไปในเส้นทางแผนที่เป็นที่อยู่บางแห่งได้ทั้งใน eBGP (คุณไม่จำเป็นต้องกำหนดค่า IP ที่ใดก็ได้) ตราบใดที่ผู้ให้บริการยอมรับการปรับเปลี่ยนครั้งต่อไป (จำเป็นต้องสลับใน IOS และ JunOS) และกำหนดค่าเส้นทางแบบคงที่ตามที่คุณอธิบายมันทำงานได้ดีโดยไม่ต้องใช้มัลติช็อปหรือย้าย eBGP ในตอนท้ายของลูกค้า
ytti

3

ทางออกที่ดีที่สุดที่นี่คือ BGP ECMP ผ่านmaximum-paths 2- แต่ฉันจะบอกว่า "ยอมรับเส้นทาง> / 24" ที่ต้องใช้แท็กชุมชนเสียงเหมือนความโง่เขลามหากาพย์ - สมมติว่าคุณเป็นลูกค้าของพวกเขาพวกเขาควรยอมรับทุกสิ่งที่คุณมอบให้ จำนวนสูงสุดของคำนำหน้าและเพียงกรองขาออกตามข้อตกลงอะไรก็ตามที่พวกเขามีกับเพื่อนอื่น ๆ หนึ่งใน upstreams ที่ทำให้ฉันอยู่ในเรือลำเดียวกันโดยไม่คำนึงถึงการทำ ECMP ฉันคาดหวังว่าจะได้รับอนุญาตให้ประกาศขนาดนำหน้าใด ๆ ที่ฉันต้องการให้กับผู้ให้บริการขนส่งและใช้มัน

ดังนั้นหากพวกเขาไม่ได้มีความสามารถอย่างยอดเยี่ยมในการสร้างความสมดุลในการรับส่งข้อมูลอย่าถอนคำนำหน้า / 24 ของคุณ - ออกไปและให้แน่ใจว่าเส้นทาง / 25 ของคุณถูกติดแท็กด้วย NO_EXPORT นอกเหนือจากสิ่งที่ผู้ให้บริการของคุณกล่าวหา ต้องใช้เพื่อให้ / 25 ของคุณจะไม่รั่วไหลออกจาก AS โดยไม่ตั้งใจ (ไม่ใช่ว่าจะเป็นไปได้ไกลมากถ้าเป็นเช่นนั้น)

หนึ่งบันทึกล่าสุด - ตรวจสอบให้แน่ใจว่า "ชุมชนที่ไม่มีเอกสาร" ไม่ได้อยู่ในความเป็นจริงกับชุมชนของ blackhole เพราะที่ต้องการจะ ... y รู้ที่ไม่ดี


สิ่งนี้มาจาก Tier 1 ที่รู้จักกันดีและ ISP ทั้งหมดที่ฉันได้ทำ BGP ไม่อนุญาตให้gt 24ใช้เป็นนโยบายทั่วไป ฉันวางแผนที่จะตั้ง NO_EXPORT ใน / 25s
Generalnetworkerror

upstreams ทั้งหมดของฉันจะยอมรับ > / 24 จากฉันพวกเขาจะไม่ส่งออก ฉันใช้เอฟเฟกต์นั้นเพื่อลดทราฟฟิกเนื่องจากพวกเขาไม่ทำ ECMP
Olipro

นอกจากนี้สิ่งนี้จะแย่มากในกรณีที่มีการโจมตี - หากคุณไม่สามารถประกาศ / 32 ถึงต้นน้ำของคุณด้วยชุมชน Blackhole คุณกำลังมีปัญหา
Olipro

พวกเขาอนุญาตให้มีการประกาศ blackhole ทุกขนาดด้วยชุมชนที่เหมาะสม
generalnetworkerror
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.