לדלג לתוכן

BGP

מתוך ויקיפדיה, האנציקלופדיה החופשית
BGP
אין תמונה חופשית
אין תמונה חופשית
סוג exterior gateway protocol עריכת הנתון בוויקינתונים
פורט 179 (SCTP), 179 (TCP), 179 (UDP) עריכת הנתון בוויקינתונים
מקור
  • RFC 1267: Border Gateway Protocol 3 (BGP-3)
  • RFC 7705: Autonomous System Migration Mechanisms and Their Effects on the BGP AS_PATH Attribute
  • RFC 6793: BGP Support for Four-Octet Autonomous System (AS) Number Space
  • RFC 4275: BGP-4 MIB Implementation Survey
  • RFC 1774: BGP-4 Protocol Analysis
  • RFC 1773: Experience with the BGP-4 protocol
  • RFC 6286: Autonomous-System-Wide Unique BGP Identifier for BGP-4
  • RFC 1265: BGP Protocol Analysis
  • RFC 1771: A Border Gateway Protocol 4 (BGP-4)
  • RFC 4271: A Border Gateway Protocol 4 (BGP-4)
  • RFC 1105: Border Gateway Protocol (BGP)
  • RFC 1657: Definitions of Managed Objects for the Fourth Version of the Border Gateway Protocol (BGP-4) using SMIv2
  • RFC 5701: IPv6 Address Specific BGP Extended Community Attribute
  • RFC 1266: Experience with the BGP Protocol
  • RFC 2918: Route Refresh Capability for BGP-4
  • RFC 3065: Autonomous System Confederations for BGP
  • RFC 3107: Carrying Label Information in BGP-4
  • RFC 1164: Application of the Border Gateway Protocol in the Internet
  • RFC 2842: Capabilities Advertisement with BGP-4
  • RFC 2439: BGP Route Flap Damping
  • RFC 2545: Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing
  • RFC 4273: Definitions of Managed Objects for BGP-4
  • RFC 1163: Border Gateway Protocol (BGP)
  • RFC 3345: Border Gateway Protocol (BGP) Persistent Route Oscillation Condition
  • RFC 1269: Definitions of Managed Objects for the Border Gateway Protocol: Version 3
  • RFC 1268: Application of the Border Gateway Protocol in the Internet
  • RFC 1656: BGP-4 Protocol Document Roadmap and Implementation Experience
  • RFC 8212: Default External BGP (EBGP) Route Propagation Behavior without Policies
  • RFC 4276: BGP-4 Implementation Report
  • RFC 4274: BGP-4 Protocol Analysis
  • RFC 4893: BGP Support for Four-octet AS Number Space
  • RFC 7607: Codification of AS 0 Processing
  • RFC 6608: Subcodes for BGP Finite State Machine Error
  • RFC 7606: Revised Error Handling for BGP UPDATE Messages
  • RFC 2283: Multiprotocol Extensions for BGP-4
  • RFC 1654: A Border Gateway Protocol 4 (BGP-4)
  • RFC 1772: Application of the Border Gateway Protocol in the Internet
  • RFC 1997: BGP Communities Attribute
  • RFC 7153: IANA Registries for BGP Extended Communities
  • RFC 5543: BGP Traffic Engineering Attribute
  • RFC 6368: Internal BGP as the Provider/Customer Edge Protocol for BGP/MPLS IP Virtual Private Networks (VPNs)
  • RFC 1655: Application of the Border Gateway Protocol in the Internet
  • RFC 4360: BGP Extended Communities Attribute
  • RFC 2858: Multiprotocol Extensions for BGP-4
  • RFC 1966: BGP Route Reflection An alternative to full mesh IBGP
  • RFC 4760: Multiprotocol Extensions for BGP-4
  • RFC 4456: BGP Route Reflection: An Alternative to Full Mesh Internal BGP (IBGP)
  • RFC 2796: BGP Route Reflection - An Alternative to Full Mesh IBGP
  • RFC 3392: Capabilities Advertisement with BGP-4 עריכת הנתון בוויקינתונים
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

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