BGP

מתוך המכלול, האנציקלופדיה היהודית
קפיצה לניווט קפיצה לחיפוש

Border Gateway Protocol או בקיצור BGP הוא פרוטוקול ניתוב המהווה את ליבת מערכת הניתוב של רשת האינטרנט[1]. BGP הוא פרוטוקול ניתוב מבוסס קשר (Path-vector), המתפקד בשכבת היישום של מודל ה-OSI וכן בשכבת היישום של מודל ה-TCP/IP. נתב שפועל באמצעות BGP מנהל טבלה של הרשתות המחוברות אליו, והקשרים ביניהן לבין רשתות אחרות, ומבצע החלטות ניתוב על בסיס הקשרים בין הרשתות ומדיניות המוכתבת בצורה ידנית על ידי מנהל הרשת.

היסטוריה

BGP נמצא בשימוש באינטרנט מאז שנת 1994.

בשנת 2006 פורסמה הגרסה העדכנית של הפרוטוקול (BGP4) בRFC 4271. גרסה זו הרחיבה את השימוש בפרוטוקול גם לרשתות IP בסימון CIDR.

אופן פעולת הפרוטוקול

לכל מערכת אוטונומית (AS - Autonomous System) לניהול רשת באינטרנט מקוצה מספר מזהה ייחודי (ASN - Autonomous System Number). כל AS מהווה צומת ניתוב שמשתמש בפרוטוקול BGP כדי לבנות מסלולי ניתוב דינמיים כדי להתממשק מול AS-ים אחרים[2].

כדי לבנות מסלולים, כל AS מפרסם את הASN ורשימת תחומי כתובות (Prefix) שיש ברשותו והוא יכול להעביר אליהם תעבורה בחבילת BGP Announcement לשכנים שלו. כל שכן מקבל את ההודעה, אוגר את המידע ומשקלל אותו עם המסלולים ששמורים אצלו. לאחר מכן השכן מחלחל את המידע הלאה לשכנים שלו על ידי שרשור ה-ASN של עצמו להודעה. השכנים החדשים מקבלים את תחומי הכתובות יחד עם רשימת ה-ASN-ים שעליהם לעבור כדי להגיע לאותה קבוצת כתובות.

כדי להימנע ממעגלים, AS-ים מפילים הודעות BGP שמכילות את ה-ASN של עצמם.

בחירת מסלול

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

יצירת שכנות (BGP Peering)

שני נתבים שמתקשרים ב-BGP יכולים ליצור קשר ביניהם אם הוגדר להם לעשות זאת באופן ידני (אין בפרוטוקול מנגנון שכנות אוטומטי). לאחר מכן, הם יפתחו חיבור BGP מעל חיבור TCP בפורט 179. כל נתב (BGP Speaker) שולח הודעת Keepalive של 19 בתים כל 60 שניות כדי לשמור על החיבור.

תתי פרוטוקולים

iBGP (internal BGP)

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

eBGP (external BGP)

eBGP או BGP חיצוני, הוא פרוטוקול ניתוב בין שני נתבי BGP השייכים לAS-ים שונים ושכנים זה לזה (BGP peers). מטרת הפרוטוקול היא לאתר את המסלול האופטימלי ברשת באמצעות עדכון AS-ים אודות כתובות ה-IP עליהן כל נתב אחראי, כדי שהם ינתבו אליו מידע רלוונטי.

בעיות אבטחה

חטיפת BGP (BGP Hijacking)

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

  1. מניעת שירות על ידי יצירת מסלולים כוזבים או ביטול מסלולים לגיטימיים.
  2. האזנה על ידי שימוש ב-BGP כדי לנתב תעבורה לכיוון רכיב או רשת אינטרנטיים שנמצאים בבעלות התוקף.
  3. יצירת חוסר יציבות במסלול.

ראו גם

קישורים חיצוניים

הערות שוליים

  1. ^ מערך הסייבר הלאומי, המלצות ליישום (Best Practices) מניעה והתמודדות כנגד חטיפת BGP, באתר www.gov.il, ‏יולי 2020
  2. ^ דן פייגין, BGP Hijacking - או עד כמה קל להפיל את האינטרנט?, Digital Whisper 102, 2019
Logo hamichlol 3.png
הערך באדיבות ויקיפדיה העברית, קרדיט,
רשימת התורמים
רישיון cc-by-sa 3.0