หนึ่งวันของตาราง BGP ทั่วโลก
- มีการวิเคราะห์ตาราง BGP อยู่มากมาย โดยส่วนใหญ่เน้นไปที่แนวโน้มระยะยาว อย่างไรก็ตาม บทความนี้ต้องการพิจารณาหนึ่งวันของตาราง BGP ในมุมมองระยะสั้น
เริ่มต้น Yak Shaving
- เพื่อเก็บข้อมูล จึงพัฒนาเครื่องมือ bgpsee โดยใช้ BGP daemon ให้ส่งออกข้อความ BGP ในรูปแบบ JSON
- ชุดข้อมูลที่เก็บรวบรวมตั้งแต่วันที่ 1 มิถุนายน 2024 ถึง 1 กรกฎาคม ประกอบด้วยข้อความ BGP UPDATE จำนวน 464,673 รายการ
การส่งช่วงแรก และจำนวนเส้นทาง v4 กับ v6
- เมื่อเริ่มทำ BGP peering จะได้รับข้อความ UPDATE จำนวนมากใน "ช่วงแรก"
- ในช่วงแรกนี้ มีเส้นทางรวมทั้งหมด 949,483 เส้นทาง
สายยางรดน้ำสวน หรือสายดับเพลิง?
- การอัปเดตไม่ได้ถูกส่งเป็นสตรีมแบบเรียลไทม์ แต่ถูกรวบส่งเป็นชุดทุก 30 วินาที
- โดยเฉลี่ยแล้ว เส้นทาง IPv4 มีการอัปเดตประมาณ 50 เส้นทางทุก 30 วินาที และ IPv6 ประมาณ 47 เส้นทาง
- การอัปเดต IPv4 แสดงความผันผวนเป็นคาบ โดยสังเกตเห็นรอบวัฏจักร 40 นาที
ความบ้าคลั่งของการ Prepending
- ผู้ดูแลเครือข่ายสามารถควบคุมเส้นทางทราฟฟิกได้ด้วยการปรับความยาวของ AS path
- ความยาวสูงสุดของเส้นทาง IPv4 คือ 105 และของ IPv6 คือ 599 ซึ่งยาวมาก และอาจเกิดจากความผิดพลาดของผู้ดูแลเครือข่าย
คุณสมบัติของเส้นทาง
- การอัปเดต BGP มีทั้งคุณสมบัติของเส้นทางและข้อมูล Network Layer Reachability Information
- บาง AS ประกาศเส้นทางโดยใช้แอตทริบิวต์ 255 ที่สงวนไว้สำหรับการพัฒนา
เส้นทางที่ Flap: ใครกำลังมีปัญหา?
- เส้นทางที่เปลี่ยนแปลงบ่อยที่สุดคือ 140.99.244.0/23 ซึ่งเป็นของบริษัท EpicUp
- ความผันผวนของเส้นทางอาจเกิดจากหลายปัจจัย และสิ่งนี้แสดงให้เห็นถึงความหลากหลายของ peering ในเครือข่ายสมัยใหม่ทั่วโลกและความทนทานของโปรโตคอล BGP
นี่เป็นเพียงจุดเริ่มต้น
- ตาราง BGP เป็นภาพสรุปขององค์ประกอบหลากหลายทั่วโลก ซึ่งอาจรวมถึงความไม่มั่นคงทางการเมือง ปรากฏการณ์ทางธรรมชาติ และความผิดพลาดของผู้ดูแลเครือข่าย
- การทำความเข้าใจความซับซ้อนเหล่านี้เป็นเรื่องที่ทั้งน่าสนใจและงดงาม
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
เมื่อ 25 ปีก่อน เคยทำงานที่ ISP ขนาดเล็กและอ้างอิงบทแนะนำของ Avi Freedman เพื่อตั้งค่า multihome ทำให้สามารถรับ /20 จาก ARIN และประกาศเส้นทางไปยังเพียร์สองรายได้ กระบวนการนี้ทำให้ได้เรียนรู้อะไรมากมายและรู้สึกทึ่งกับวิธีการทำงานของมัน
การ flap ของ prefix EpicUp 140.99.244.0/23 ควรจะถูกจัดการด้วย route dampening ซึ่งเป็นข้อจำกัดที่ ISP ใช้กับเพียร์ทั้งหมด เพื่อป้องกันไม่ให้ prefix เดียวสร้างความผันผวนของ BGP ระดับโลกในสัดส่วนมากเกินไป
ไม่ค่อยมั่นใจกับความสัมพันธ์กับอัปเดตที่ผู้เขียนกล่าวถึง โดยเฉพาะเมื่อการประกาศอิงกับเส้นทาง prefix ของ autonomous system ที่ไม่เสถียร ก็น่าจะไม่เสถียรตามไปด้วย
ยังสงสัยเรื่องคาบ 40 นาทีอยู่ด้วย ตอนที่มีส่วนเกี่ยวข้องกับโลกของ BGP อย่างลึกซึ้งเมื่อ 8 ปีก่อน ไม่เคยเห็นคาบแบบนั้นเลย อาจเป็นสิ่งที่ชุดข้อมูลนี้แสดงขึ้นมาโดยบังเอิญ หรืออาจเกิดจากเครือข่ายที่ผู้เขียนใช้รับ BGP feed
เมื่อเจาะข้อมูลลึกลงไปและดูการเปลี่ยนแปลงของ AS กับ prefix จะเห็นว่ามีการเปลี่ยนแปลงเกิดขึ้นทั่วทุกแห่งโดยไม่มีรูปแบบเฉพาะ
ในแต่ละวันจะมี ISP บางรายที่ส่งสัญญาณรบกวนอยู่เสมอ ซึ่งเกิดจากวงจรที่ผิดพลาดหรือการตั้งค่าที่ผิด และบางครั้งก็เกิดการ flap เมื่อ prefix ใหม่เพิ่งเชื่อมต่อเข้าสู่อินเทอร์เน็ตเป็นครั้งแรก
การที่ ISP เล็ก ๆ ในแคนซัสไปปรากฏบนเราเตอร์ที่เพิร์ทเพราะ backhaul ที่ใช้ไฟเบอร์นั้น ทั้งน่าสนใจและน่ากลัวนิดหน่อยในเวลาเดียวกัน อย่างไรก็ตาม ความถี่ของอัปเดตยังคงอยู่ที่ <10hz ทั่วโลก
ถ้าอยากเรียนรู้เกี่ยวกับ BGP วิดีโอซีรีส์จาก Network Startup Resource Center ของมหาวิทยาลัยโอเรกอนมีประโยชน์มาก
แอททริบิวต์ BGP ที่สงวนค่าไว้ 0xff น่าจะเป็นลักษณะเฉพาะของ Huawei โดยเกือบทุก 0xff ที่เห็นใน bgp.tools มีรูปแบบเดียวกัน และบางเครือข่ายนั้นก็ใช้อุปกรณ์ Huawei อยู่
เคยเขียนสคริปต์ Python เพื่อดึงข้อมูลเส้นทาง BGP จากไฟล์ MRT แล้วนำเข้า Neo4j เพื่อสำรวจข้อมูล ไฟล์เหล่านี้มีเส้นทางที่ซ้ำกันมากถึงประมาณ 56 ล้านรายการ และ Neo4j ก็โดดเด่นมากในการ "merge" ข้อมูลประเภทนี้
บทความนี้ทำให้ได้เรียนรู้หลายอย่างเกี่ยวกับ BGP ที่ไม่เคยรู้มาก่อน โดยเฉพาะความวุ่นวายของมันที่น่าสนใจที่สุด และอยากอ่านรายละเอียดเพิ่มเติมในบทความถัดไป
เคยมีประสบการณ์ออกแบบและตั้งค่าเครือข่ายไฮบริดดาวเทียม-ไมโครเวฟให้ลูกค้าสหรัฐรายใหญ่ที่มีสำนักงานภาคสนามรอบเกาะบอร์เนียว และยังจำการทำ leased line handoff ที่จาการ์ตาได้ จำได้ว่าเคยอ่านว่าต้องใช้ BGP เพื่อเชื่อมเครือข่าย OSPF/UBNT กับ WAN องค์กร IGRP/Cisco
อยากให้โครงการ Memory Safety Initiative ถูกนำไปใช้กับการทำ BGP server implementation ใหม่ด้านความปลอดภัยและความมั่นคงของโครงสร้างพื้นฐานอินเทอร์เน็ตด้วย Rust
as8772 NetAssist ทำการ route ทราฟฟิกที่ไม่ดี
สงสัยว่าวิธีที่ง่ายที่สุดสำหรับคนทั่วไปในการเข้าถึงข้อมูล BGP คืออะไร ถ้าไม่มีเพื่อนอยู่ใน ISP ก็อยากลองทำการวิเคราะห์คล้าย ๆ กันดู