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