BGP

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
Gnome-colors-edit-find-replace.svg יש לשכתב ערך זה. הסיבה לכך היא: כתוב כסיכום ולא כערך אנציקלופדי.
אתם מוזמנים לסייע ולתקן את הבעיות, אך אנא אל תורידו את ההודעה כל עוד לא תוקן הדף. אם אתם סבורים כי אין בדף בעיה, ניתן לציין זאת בדף השיחה.

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

Border Gateway Protocol – הוא פרוטוקול ניתוב בין AS.

BGP הוא Path Vector כלומר, ה BGP בונה מסלול שלם לכל ניתוב.

הניתוב של BGP מתבסס על: המסלול, מדיניות ה AS , הסכמים בין AS, ביטחון ועוד מגוון חוקים.

רוב ה ISP חייבים להפעיל BGP בניהם כדי לתקשר על שום פרוטוקולי ניתוב פנימיים שונים.

לכל AS יש Speaker שיש לו תקשורת TCP עם כל ה Speaker-ים של שכיניו.

ה Speaker מפרסם למחוץ ל AS את המידע על ה subnet-ים שניתן להגיע אליהם ואם זה Transit אזי הוא מפרסם גם את ה subnet-ים שניתן להגיע דרכו (המידע שנישלח הוא רק מידע ששונה) כמו כן הוא גם

מפרסם לתוך ה AS את הsubnet שניתן להגיע אליהם (ע"י OSPF לדוגמה).

מאחר וכל AS רשאי להריץ פרוטוקול ניתוב פנימי שונה אזי אין משמעות אמתית למחיר של מעבר ב AS כלשהו מאחר שהמטריקה של כל אחד שונה, לכן מפורסם רק "יכולת הגעה" אל היעד.

ישנו BGP בתוך AS שנקרא i-BGP מלשון internal ויש את ה BGP העיקרי שהוא e-BGP שהוא בין AS שונים מלשון external.

ה-Speakers מנהלים בינם תקשורת כזו שכל זמן מסוים הם שולחים הודעת keepAlive. כמו כן הם מודיעים אחד לשני על subnet חדשים שהם יכולים להגיע אליהם או לחלופין שהם כבר לא יכולים להגיע אליהן וכן כל מני תכונות על המסלול כמו – מהו ה Next hop למסלול והמסלול עצמו. כעיקרון ה BGP הינו Scalable מאחר שהוספה של AS חדש מצריכה להוסיף עוד דובר אחד למשחק אך כל Border Router שכזה צריך לשמור בבטן מידע ניתוב על כל התתי רשתות שקיימות.

לאחר שה-Speaker החליט מהו המסלול המוצלח ביותר לתת רשת כלשהי הוא מודיע זאת לכל הנתבים ב AS שלו.

ה BGP יכול לשמור מספר מסלולים כ"גיבוי". כיצד ניתן להחליט מהו המסלול המוצלח ביותר? האם מספר ה AS שחוצים בדרך צריך להיות פרמטר? אולי יש AS אחד איטי או ארוך במיוחד? ניתן להגדיר מסלול לרשתות ספציפיות ומסלול אחר לאחרות. אז למה בעצם אנחנו צריכים את ה i-BGP? בשביל לסנכרן בין המסלולים של שני ה border router.

אם ב AS יש יותר מ-Speaker אחד אזי התקשורת בניהם הינה גם ב i-BGP , לדוגמה שימוש לזה היא כדי להחליט מיהו ה border router שדרכו יגיעו ל-subnet כלשהו X.

החלטת הניתוב של BGP היא חד כיוונית – כלומר, זה שאני שולח דרך AS כלשהו לא אומר שאני חייב גם לקבל משם.

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

ראו גם[עריכת קוד מקור | עריכה]