אז מה זה ה-BGP הזה שהפיל את וואטאסאפ, פייסבוק ואינסטגרם

האם זה ה-DNS? אולי מתקפת סייבר? או שזה בכלל ה-BGP. רגע, אבל מה זה לעזאזל BGP?

למשך קצת יותר מ-6 שעות לא היו זמינים אמש (ב’) שירותי הרשת והאפליקציות מבית פייסבוק – החל מהרשת החברתית עצמה, דרך אפליקציית המסרים הפופולרית ביותר בעולם – וואטסאפ ופייסבוק מסנג’ר וכלה באינסטגרם ושירות המציאות המדומה של פייסבוק, Oculus. אבל אם נשים בצד את ההיסטריה והפייק ניוז שהופץ תוך כדי, מה באמת גרם לקריסה?

להתראות DNS, שלום BGP

קודם כל נסייג ונגיד שאנחנו נמצאים זמן קצר יחסית לאחר האירוע, ורק אחרי חקירה יסודית של מומחי ה-DevOps של פייסבוק נוכל לדעת את רצף האירועים שהוביל לתקלה הכלל-עולמית. כרגע, בכל מקרה מסתמנת תמונה מסויימת, שככל הנראה הובילה לקריסה בזמינות של פייסבוק וחברות הבת שלה – הגרועה ביותר בשנתיים האחרונות.

אז החשוד המיידי הוא כמובן שירות ה-DNS או Domain Name System, כלומר השרת שהופך את המחרוזות facebook.com או instagram.com לכתובת ה-IP של השרתים עצמם. הכתובת יכולה להיות מספרית (תקן IPv4) או אלפא-נומרית (תקן IPv6). כלומר, אם נשתמש באנלוגיות – נגיד שיש לנו חבר עשיר מאוד, שהקים רשת חברתית גדולה, ומזמין אותנו לטייגלעך טעימים לראש השנה, ה-DNS הוא השירות שאומר לנו מה הכתובת של אותו חבר שאנחנו רוצים לבקר, במקום שנצטרך להקליד קורדינטות.

אבל הכתובת לבדה לא מספיקה לנו, ולכן אנחנו זקוקים גם להוראות להגעה הכי מהירה לחבר וניתוב של התנועה, וכאן נכנס לתמונה פרוטוקול BGP, או Border Gateway Protocol. זהו ה-Waze שלנו, אם נמשיך באנלוגיה. הפרוטוקול מנתב למעשה בצורה אוטונומית את הפקטות של הנתונים שלנו, כלומר, כל לחיצה, תמונה או חיפוש שאנחנו עושים דרך כל ספקיות הרשת והשרתים השונים – עד שהם מגיעים לכתובת הנכונה. למעשה מדובר בערימת נתיבים אפשריים, שעוזרים להגיע מכל נקודה באינטרנט לכל נקודה – בעזרת הכתובות שמתקבלת. לכל רשת כזו יש ASN, כלומר מספר מזהה שעוזר למידע שלנו להגיע אליה. הנקודה הבעייתית של פייסבוק במקרה הזה היתה עם ASN 32934.


וואטסאפ קרסה? הצטרפו ליותר מ-2K החברים בקבוצת הדיונים שלנו


פייסבוק, שמשרתת מדי יום מיליארדי משתמשים, בנתה לעצמה שירות BGP משלה, שמנתב את התנועה והמשתמשים בין השירותים השונים שלה. עכשיו, זוכרים שדיברנו על Waze? עכשיו דמיינו ש-Waze היתה כמו ה-GPSים של פעם. כלומר, לא מתעדכנת, לא מגיבה בזמן אמת לשינויים, ומכילה נתיבים לא מעודכנים. לא ממש יעיל, נכון? אז גם שירות ה-BGP של פייסבוק דורש תחזוקה קבועה ועדכונים בעקבות התשתיות והצמתים החדשים שצצים באינטרנט כל הזמן. וכאן, על פי כל הסימנים, החלה הבעיה.

רגע, אל תגיד לי שדחפת את העדכון הזה לפרודקשן

בעדכון שהוציאה חטיבת ההנדסה של פייסבוק נכתב שהתקלה נגרמה עקב “שינויי הגדרות בנתבים שמתאמים תעבורת נתונים בין מרכזי הנתונים שלנו”… מה שהוביל ל”אפקט דומינו בדרך שבה מרכזי הנתונים של פייסבוק מתקשרים בינם לבין עצמם”. פייסבוק עצמה היתה קמצנית למדי בהסברים הטכניים אולם מניתוחים של ענקית תעבורת הרשת Cloudflare עולה כי לקריסה של השירותים קדם רצף לא מובן של עדכונים לשירות ה-BGP של פייסבוק – איפשהו באיזור 18:58 שעון ישראל (השירותים עצמם קרסו בפועל בסביבות השעה 18:38). כתוצאה מהעדכון הזה, ה-BGP של פייסבוק הפסיק לספק נתיבים אפשריים לשרתי ה-DNS של פייסבוק.

כך זה נראה למשל כאשר שרת DNS חיצוני (במקרה הזה, 1.1.1.1 המצוין של Cloudflare) שולח בקשה ומבקש את ה-IP של facebook.com או instagram.com

route-views>show ip bgp 185.89.218.0/23
% Network not in table
route-views>

route-views>show ip bgp 129.134.30.0/23
% Network not in table
route-views>

בפועל, ובמילים פשוטות, שירות ה-BGP עבר עדכון, שכלל כנראה הוראה לכל השרתים והתנועה בעולם פשוט להתעלם מפייסבוק. למחוק אותה מהמפה. וכך אנחנו לא יכולים למצוא את החבר המיליארדר חובב הגלשנים שלנו, ומיליארדי משתמשים אחרים לא יכולים לתקשר בווטאסאפ, פייסבוק או אינסטגרם.

כתופעת לוואי לנפילה ולהעלמות של פייסבוק מהרשת – קרתה גם האטה בגלישה ובשירותים אחרים, מה שהוביל בהתחלה לחשש ממתקפת סייבר או נפילה סייבר-אפוקליפטית. ככל הנראה זה קרה בגלל הפגיעה בשרתי ה-DNS דוגמת 1.1.1.1 של Cloudflare או 8.8.8.8 של גוגל, שניסו לאתר את כתובת ה-IP של פייסבוק, נתקלו בשגיאה ב-nameserver, ואז חזרו וביקשו שוב ושוב ושוב ושוב. בנוסף, גם אנחנו, בני האדם, קיבלנו שגיאות, רפרשנו את העמודים, סגרנו ופתחנו את האפליקציות – והקפצנו את העומס על שרתי ה-DNS השונים פי 30, מה שגרם להאטה ובעיות זמינות גם בפלטפורמות אחרות כמו טלגרם, טוויטר וטיקטוק.

זינוק של פי 30 בבקשות. מקור: Cloudflare

התיקון בדרך

אז, לכאורה, אם זו הבעיה, מהנדסי הרשתות של פייסבוק יכולים פשוט לדחוף עדכון שידרוס את העדכון הבעייתי, לא? ובכן, לא כל-כך מהר. ראשית, המהנדסים היו צריכים להבין את מקור הבעיה, ואז לראות היכן ההגדרות הבעייתיות, ואז להכין את העדכון הגואל, ולוודא שהוא באמת יפתור את הבעיה הזו ולא ייצור 1024 בעיות אחרות. ואם כל זה לא מספיק, נסו לעשות את זה כשכל העולם בפניקה, והבוס הגדול עבר יום לא משהו. ועל זה תוסיפו את העובדה, שאם אתם עובדים בפייסבוק, אתם כנראה משתמשים בכלי התקשורת של פייסבוק, שכאמור קרסו. לא פשוט.


פייסבוק קרסה? הצטרפו ליותר מ-13K מנויים שמקבלים את כל עדכוני הטכנולוגיה וההייטק בערוץ הטלגרם שלנו


למעשה, על פי חלק מהדיווחים, עובדי פייסבוק לא יכלו אפילו להתחבר למחשבים שלהם ואז נתקעו גם מחוץ למשרדים, ללא יכולת לפתוח את הדלתות החכמות. כך או כך, על פי חלק מהדיווחים, המהנדסים של פייסבוק נאלצו לנסוע פיזית לדאטה-סנטרים של החברה ולדחוף את העדכונים מקומית – במקום לעשות זאת מרחוק – גם זה חתיכת כאב ראש.

בסופו של דבר, לקראת 01:00 שעון ישראל, צוותי ההנדסה של פייסבוק הצליחו להתגבר על הבעיה, העדכון הוטמע, ואזרחי ישראל, כמו שאר אזרחי העולם, יצאו מהמרחבים המוגנים. עד לפעם הבאה.

יניב אביטל

עורך אתר גיקטיים. יש לכם רעיון לכתבה? טיפ סודי? הדלפה? מחכה לכם ב-yaneev@geektime.co.il

הגב

15 תגובות על "אז מה זה ה-BGP הזה שהפיל את וואטאסאפ, פייסבוק ואינסטגרם"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

* היי, אנחנו אוהבים תגובות!
תיקונים, תגובות קוטלות וכמובן תגובות מפרגנות - בכיף.
חופש הביטוי הוא ערך עליון, אבל לא נוכל להשלים עם תגובות שכוללות הסתה, הוצאת דיבה, תגובות שכוללות מידע המפר את תנאי השימוש של Geektime, תגובות שחורגות מהטעם הטוב ותגובות שהן בניגוד לדין. תגובות כאלו יימחקו מייד.

סידור לפי:   חדש | ישן | הכי מדורגים
Mmm
Guest

כנראה מתקפת סייבר שקשורים למסמכים שהעובדת הדליפה על הילדים או שזה קמפיין גיוס לטלגרם בזמן שתוקפת את פייסבוק

אלי
Guest

מדוייק

משה
Guest

חבלה של עובדים של פייסבוק כנקמה בחברה המרושעת ביותר בהיסטוריה. המשיכו בטרור מבפנים!!!! עד להפלת החברה הזדגונית הזו!

חומי
Guest

הסבר מאלף .תודה

אור
Guest

ממליץ פעם הבאה להתייעץ עם מישהו שמבין קצת רשתות כדי להסביר מה זה BGP ולא לנסות לתרגם מויקיפדיה באנגלית ולצאת עם משפטים בסנגון “הפרוטוקול מנתב למעשה בצורה אוטונומית (AS) את הפקטות של הנתונים שלנו”

איש דבאופס
Guest

דווקא הסבר מאוד יפה לקהל הלא-טכנולוגי

תמיר
Guest

הקסדצימלי ולא אלפא נומרי

אבי
Guest

א. כל הכבוד על המאמר, זה סוג החומר שהייתי רוצה לראות פה.

ב. לכא’ זה תרגום של המאמר מהבלוג של קלאודפלייר, אז הנה המקור:
https://blog.cloudflare.com/october-2021-facebook-outage/

אבי
Guest

אגב, פינג לכתובות IP של שרתי פייסבוק כן החזיר תשובה.
לפי התיאוריה של ה- BGP זה לא מוסבר.

Pinging 157.240.28.51 with 32 bytes of data:
Reply from 157.240.28.51: bytes=32 time=210ms TTL=42
Reply from 157.240.28.51: bytes=32 time=214ms TTL=42
Reply from 157.240.28.51: bytes=32 time=229ms TTL=42
Reply from 157.240.28.51: bytes=32 time=211ms TTL=42

Ping statistics for 157.240.28.51:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 210ms, Maximum = 229ms, Average = 216ms

שם
Guest

ופינג לfacebook.com ?

בו גב
Guest

לא רלוונטי

איש תשקורת
Guest

אתה יכול לתת פינג לכתובת IP ולקבל תשובה, השאלה היא מה קורה כאשר אתה מנסה לתת פינג לכתובת URLית? במצב כזה כמו ההסבר שהם סיפקו ששרתי ה-DNS לא מחזירים תשובה אז פינג ל-facebook.com שאמור להיות מתורגם לכתובת IP מספרית, נניח: 157.240.28.51 לא יתורגם ולכן לא תתקבל תשובה..
בקיצר ההסבר למעלה טוב, ואתה אבי אל תנסה להתחכם בגלל שאתה יודע לשלוח פינגים ב-CMD :-)

אורן
Guest

הוא ניסה לגלוש לכתובת IP ולא לשם דומיין, היה אמור להצליח לגשת לאתר ולא הצליח

ALIENTECH
Guest

קיבלתי גם פינג ל facebook.com וגם למשך חצי שעה האתר היה באוויר עם סרטיפיקייט לא תקין ככה שעדכון שדפק להם את כל הראוטינג טייבלס לא ניראה לי הגיוני הורדתי את התעודה הלא תקינה שהייתה באוויר מי שרוצה להמשיך לחקור מוזמן לשלוח יוזר לטלגרם אשלח לו אותה

כולם חומואים חוץ ממני
Guest
כולם חומואים חוץ ממני

מה פורסם קודם, הכתבה הזו או הוידיאו של קומפיוטרפיל?

wpDiscuz

תגיות לכתבה: