เมื่อคืนวันที่ 4 ต.ค. ได้เกิดเหตุ facebook และบริการในเครืออย่าง Instagram, facebook messenger หรือ WhatsApp ล่มครั้งใหญ่เกือบ 7 ชั่วโมง แม้ตอนนี้เฟซบุ๊กจะยังไม่ได้แถลงอย่างเป็นทางการออกมาว่าเกิดอะไรขึ้น แต่ผู้เชี่ยวชาญด้านเครือข่ายชี้ว่าสาเหตุเกิดจาก Border Gateway Protocol (BGP) ทำงานผิดพลาด จนเครือข่ายหาทางเข้า DNS ที่แปลงชื่อโดเมนเป็น IP ไม่เจอ จึงเหมือนป้ายบอกทางเข้าอาณาจักรเฟซบุ๊กหายไปจากโลกอินเทอร์เน็ต แล้ว BGP และ DNS คืออะไร เราจะแบไต๋ให้ฟังกัน
รู้จัก DNS และ BGP
ทุกครั้งเมื่อเราพิมพ์คำว่า facebook.com หรือมีการเข้าถึง facebook จากแอปต่างๆ ชื่อโดเมน facebook.com จะถูกเปลี่ยนเป็นเลข IP Address เช่น 69.63.176.13 เพื่อให้เครือข่ายสามารถค้นหาเซิร์ฟเวอร์ของเฟซบุ๊กและเข้าถึงบริการได้ ซึ่งการแปลงชื่อโดเมนเป็น IP Address นี้เป็นหน้าที่ของ Domain Name System หรือ DNS ครับ
เมื่อเรารู้ที่อยู่ของสิ่งต่างๆ ในอินเทอร์เน็ตผ่าน DNS แล้ว สิ่งต่อไปที่จำเป็นคือป้ายบอกทาง เพราะโลกอินเทอร์เน็ตอันน่ามหัศจรรย์เกิดจากเครือข่ายเล็กๆ จำนวนมากที่เชื่อมต่อกัน เราเรียกเครือข่ายย่อยของอินเทอร์เน็ตนี้ว่า autonomous systems (AS) ซึ่งการที่เข้าจะเข้าเว็บสักเว็บหนึ่งได้ต้องผ่าน AS จำนวนมากเพื่อเชื่อมเส้นทางให้ถึงกัน แต่เพราะอินเทอร์เน็ตก็ออกแบบให้ใช้งานได้แม้บางเส้นทางจะถูกตัดไป ทำให้เรามีเส้นทางจำนวนมากเพื่อไปถึงปลายทางเดียวกัน และหน้าที่บอกทางบนโลกอินเทอร์เน็ตว่าต้องผ่าน AS ไหนบ้างถึงจะเร็วที่สุดนั้นเป็นของ Border Gateway Protocol หรือ BGP แผนที่แห่งโลกอินเทอร์เน็ต
BGP มีปัญหา ชี้ไปหา DNS ของเฟซบุ๊กไม่ได้
สาเหตุของเฟซบุ๊กล่มครั้งนี้แม้ว่าบริษัทยังไม่ได้แถลงอย่างเป็นทางการว่าเกิดจากอะไร แต่หลักฐานต่างๆ ชี้ว่า BGP ทำงานผิดพลาดจนไม่สามารถชี้เส้นทางไปยัง DNS nameserver ของเฟซบุ๊กได้ ทำให้ผู้ใช้ทั่วโลกไม่สามารถหาทางเข้าอาณาจักรเฟซบุ๊กเจอ น่าจะเกิดจากการตั้งค่า BGP ของเฟซบุ๊กผิดพลาดจนระบบล่มไปเกือบ 7 ชั่วโมง
ในอดีต BGP ก็เคยทำเน็ตล่มมาหลายครั้ง
แต่ก่อนการทำงานของ BGP นั้นใช้ระบบความเชื่อใจ เครือข่าย AS ต่างๆ จะอัปเดตเส้นระหว่างกันตลอดเพื่อรายงานเส้นทางเชื่อมต่อใหม่ และปิดเส้นทางที่มีปัญหา แต่เคยมีเหตุการณ์อินเทอร์เน็ตล่มครั้งใหญ่ในปี 2004 เมื่อ TTNet ผู้ให้บริการอินเทอร์เน็ตของตุรกีประกาศเส้นทาง BGP ผิดพลาด และเส้นทางนี้ก็กระจายผ่าน AS ไปเรื่อยๆ ทำให้อินเทอร์เน็ตโลกมีปัญหาไปเป็นวัน
และในปี 2008 ผู้ให้บริการอินเทอร์เน็ตในปากีสถานก็พยายามใช้ BGP บล็อกการเข้าถึง YouTube แต่เส้นทางที่ผิดพลาดนี้ก็กระจายอยู่ภายนอก ทำให้เข้า Youtube ไม่ได้ไปหลายชั่วโมง
ตั้งแต่นั้นเป็นต้นมาการอัปเดตเส้นทางจึงมีการตรวจสอบให้มั่นใจก่อนการนำไปใช้จริง ทำให้ปัญหาอินเทอร์เน็ตล่มจาก BGP ลดลงไป