Professional Documents
Culture Documents
BGP Protocol
BGP Protocol
والنوع ده بتكون الشركة بتاعى أو المؤسسة مربوطة بالـــ ISPبـــ Linkواحد فهنا
مش محتاج BGPوكل اللى هحتاجه بسDefualt Route
النوع ده بتكون الشركة بتاعى أو المؤسسة مربوطة بالـــ ISPلكن بـــ Link 2
علشان موضوع الـــ redundantفهنا برده مش محتاج BGPوكل اللى هحتاجه
بس Defualt Route
MadeBY
MohamedAbdel
nas
ser
عندى نوع تالت إسمه : Single Multi-homed
MadeBY
ومحتاج أستعملها مثال والـــ primary pathعلى ISP 1
MohamedAbdel
nas
ser
والـــ ISP 1متوصل بــــ ISPتانى ...........لغاية لما يوصل لـــ ISP 2فهياخد
وقت كبير جدا غير إنه لفه طويله علشان يوصل فى حين إنك أساسا لما تشتغل بالـــ
BGPهيكون فيه connectedبينك وبين ISP 2على طول
-الــــ BGPبيعتبر Path vectorيعنى بيختار الـــ Pathعلى حسب عدد الــ
autonomous systemالقليلة اللى هيقدر يوصل من خاللها للـــ
Destination
-الــــ Updateفى الــــ BGPفى الـــ internalبيكون 5ثوانى
-الــــ Updateفى الــــ BGPفى الـــ Externalبيكون 30ثانية
MadeBY
MohamedAbdel
nas
ser
عندى نوعين من الــــ BGP
النوع األول IBGPو النوع التانىEBGP
الفرق بينهم إنى عندى مثال أكتر من autonomous systemفلما الـــ Routes
هتخرج من راوتر فى ASمثال رقمه 1إلى راوتر فى ASرقمه 2فهنا هيبقى النوع
External BGP
ولما الــــ Routesتوصل للراوتر اللى فى ASرقم 2فهو عايز يبعتها للراوترات
اللى معاه فى نفس الــــ ASوهنا هقول عليه internal BGP
MadeBY
MohamedAbdel
nas
ser
أنواع الــــ Tablesفى الـــــ : BGP
MadeBY
MohamedAbdel
nas
ser
أول نوع الـــ : Open message
ودى بتستخدم فى فتح الـــ sessionمع الـــ Neighborوبيكون فيها الـــ
holdtimeو الـــ BGP router ID
MadeBY
MohamedAbdel
nas
ser
بالنسبة للـــ : Neighbors states
الحالة األولى بتكون Idleوفى الحالة دى الراوتر هيبدأ يبحث فى الـــ Routing
tableإنه يوصل للـــ neighborإزاى وهيبدأ يعمل listenللـــ neighborفى
حالة إنه قدر يعمل إتصال
لو الراوتر قدر يوصل للـــ Neighborبعد أما نجح إنه ينشئ إتصال فهنا الراوتر
بدأ يدخل فى الحالة التانية وهى الـــــ Connectوفى الحالة دى هتبدأ عملية TCP
MadeBY
MohamedAbdel
nas
ser
three-way handshakeولو نجحت هنبدأ ندخل فى الحالة التالتة اللى هى الــــ
Open sent
لكن لو فشلت فهنا الراوتر هيكون فى حالة الـــ Active state
فيه شوية حجات الزم تكون معروفة ليك علشان تعرف تأسس إتصال BGP
-زى مثال الــــ ASليك وللـــ Neighbor
-تعرف الـــ IP addressبتاع الـــ Neighbor
-إن الـــ IPبتاع الـــ Neighborيكون Reachableودى بتعنى لو عندى
راوتر مثال عايز يأسس إتصال BGPمع راوتر بيبعد عنى مثال 5أو 6
راوترات ( مهمة )
MadeBY
MohamedAbdel
nas
ser
الـــ show ip bgp summary
MadeBY
MohamedAbdel
nas
ser
إزاى تأسس إتصال iBGP
ومفهوم الــ update Source loopback
MadeBY
MohamedAbdel
nas
ser
طيب احنا عارفين إن علشان تأسس إتصال يبقى الزم فيه حجات قلناها قبل كده :
-الـــ ip addressبتاع الـــNeighbor
-الـــ Autonomous System
-يكون فيه Reachability
لكن لو بدأت تعمل pingمن R2على الـــ loopback R3مش هتالقي فيه
Reachabilityوبالتالى أنا محتاج يكون فيه reachabilityبينه وبين الــــ
loopbackالتانى ؟
MadeBY
MohamedAbdel
nas
ser
نيجى للمشكلة اللى بعد كده وهى :
لما جيت أعمل الـــ configurationظهرت المشكلة التانية
MadeBY
MohamedAbdel
nas
ser
طب الحل إيه ؟
الحل هنا إنى أخلى R2يرسل بـــ Source ip addressبتاع الـــ loopback
interfaceوكإنى بقوله إن أى updateهتبعته لـــ R3خلى الـــ Source ip
addressهو الـــ loopback interfaceبتاعك
عرفنا بفضل هللا يعنى إيه eBGPو iBGPوالحمد هلل وضحناهم بــ labs
لكن المرة دى هيكون Labصغير لتوضيح مالحظة مهمة جدا وهى :
MadeBY
MohamedAbdel
nas
ser
؟eBGP فى الـــloopback interface ماذا لو تم استخدام الـــ
MadeBY
MohamedAbdel
nas
ser
: لكن قبل حل المشكلة دى فيه مالحظة مهمة وهى
MadeBY
MohamedAbdel
nas
ser
لذلك عند عمل عالقه eBGPبالـــ loopback interface
فهناك احتمالين :
-االحتمال األول يكون فيه عالقة بين راوترين فقط
-االحتمال التانى يكون فيه عالقة بين أكتر من راوتر
لكن عند استخدام أكثر من راوترين يعنى عندى ٣راوترات وهعمل عالقة eBGP
بين األول والتالت فالزم هنا نزود قيمة الـــ TTLبقيمة أكبر من 1مثال وممكن
تخليها 255عادى وإال لن تقوم الـــ Sessionحتى
لو تم كتابة هذا الـــcommand
MadeBY
MohamedAbdel
nas
ser
هبدأ أكتب الـــ commandالخاص بالـــ ebgp multihop
وبكده الــ neighborهتقوم معايا أو أكتب disable-connected-check
MadeBY
MohamedAbdel
nas
ser
PC6 لــــPC5 منping لو جيت بعد كل ده تعمل
Destination host unreachable هتالحظ
MadeBY
MohamedAbdel
nas
ser
طيب المشكلة فين ؟
المشكلة هنا لما R3أعلن شبكة 6.0/24بالـــ BGPفهنا وصلت للـــ R2وأصبح
R2شايف الشبكة دى عن طريق الـــ Next-hopاللى هو 23.3إلنه
هيكون الـــ Best pathوهنالقى الشبكة فى الـــ Routing tableلكن شبكة
5.0/24مش هتكون فى الـــ Routing tableبسبب الـــ next hopواللى
موضح فى الصورة إلن R2علشان يروح لشبكة 5.0/24المفروض
الـــ next hopتكون R1وليس R4
نفس الكالم بينطبق الجهة المقابلة برده بالنسبة لـــ R4لما هيذيع الشبكة 5.0/24
وتوصل لـــ R1وتبقى فى الـــ Routing tableبتاعه
MadeBY
MohamedAbdel
nas
ser
طيب فين المشكلة برده ؟
والحل ؟
إنى أخلى الـــ R2هو الـــ Next-hopلـــ R1
وأخلى الـــ R1هو الـــ Next-hopلـــ R2بإستخدام next-hop-self
MadeBY
MohamedAbdel
nas
ser
سواء هنا أو هنا اتغيرNext-hop وهتالحظ إن الـــ
MadeBY
MohamedAbdel
nas
ser
PC6 وPC5 هتم بينreachability والنتيجة النهائية إن فيه
MadeBY
MohamedAbdel
nas
ser
مفهوم الــــ The BGP split-horizon
خلينا نشوف المثال ده ونطبق عليه المشاكل اللى هتظهر واحدة واحدة
وعرفنا إزاى نعمل تأسيس العالقات لكن الالب هيخليك تراجع اللى فات
أول مشكلة كانت لما عملنا عالقة iBGPبين ( R1و ) R2و ( R1و ) R3
ونفس الموضوع لما عملنا عالقة iBGPبين ( R4و ) R3و ( R4و ) R2
192.168.1.0 وأشوف هل هيقدر يشوف شبكةR2 لكن لما جيت أدخل على الــــ
MadeBY
MohamedAbdel
nas
ser
لقيت إنه قادر يشوفها لكن فيه مشكله وهى إن الـــ Next-hopمش مظبوط وده
إلن داخل الــــ iBGPاليتم تحديث الـــ Next-hopوبالتالى لما R1بعت التحديث
لـــ R2بعته زى مهو وبالتالى مش هيقدر يوصل
MadeBY
MohamedAbdel
nas
ser
وهنا أصبح R2شايف شبكة 192.168.1.0/24من خالل الــ Best pathاللى
هو R1ولو كتبت show ip bgpهتشوف إن R2أصبح يقدر يوصل لشبكة
192.168.1.0/24
MadeBY
MohamedAbdel
nas
ser
وبالتالى PC7استحالة يقدر يوصل لـــ PC8
MadeBY
MohamedAbdel
nas
ser
PC8 يوصل لجهازPC7 وهنا يقدر جهاز
MadeBY
MohamedAbdel
nas
ser
مفهوم الــــــ Route Reflectorأو RR
وبالتالى الـــ TCP Sessionهتبقى كبيرة جدا غير إن كل روتر محتاج CPUو Memory
يقدروا يتحملوا الوضع ده غير كمان الـــ Configurationوالـــ Troubleshooting
وهنا تم عمل الــــ Route Reflectorبحيث يبقى فيه حاجة مركزية تعملى reflectللـــ
Routeللـــ Neighborsوبالتالى هتقل عدد الـــ BGP Sessionsداخل الـــشبكة عندى
وبالتالى الـــــ Troubleshootingمش هيبقى فيه تعقيد
MadeBY
MohamedAbdel
nas
ser
وبالتالى أصبح الـــ Route Reflectorتقدر تقوم هو التعديل لمفهوم الـــ split-horizon
اللى كان بيمنع إن أى Routerاستلم Updateداخل الـــ iBGPيبعته للـــ Neighbor
اللى جنبه علشان يمنع الـــ Loop
MadeBY
MohamedAbdel
nas
ser
: المطلوب
MadeBY
MohamedAbdel
nas
ser
) R7 وR3 – R5 وR3 ( بينiBGP عمل عالقة: ثالثا
) R5 وR3 ( بين
) 7R وR3 ( بين
MadeBY
MohamedAbdel
nas
ser
رابعا وده لب الموضوع النهاردة :
عمل R3كـــــ Route Reflectorلكل من R1و R2و R4
أوال هنعمل عالقة iBGPبين R3والراوترات دى يعنى
بين ( R3و ) R1و ( R3و ) R2و ( R3و ) R4
MadeBY
MohamedAbdel
nas
ser
R1 وR3 أوال بين
MadeBY
MohamedAbdel
nas
ser
ونفس األمر بين R3و R4
الــــ Commandده :
Neighbor …………. Route-reflector-client
يعنى كإنى بقوله إنته هتكون الـــ Clientوأنا الـــ Route Reflector
طيب احنا محتاجين نتأكد إن R3لما تتذاع شبكة من راوتر فيهم هيبعتها للباقى
MadeBY
MohamedAbdel
nas
ser
هنا هنعمل advertiseلشبكة 20.20.20.0/24اللى موجودة على R2
ونشوف هل هتقدر توصل لـــ R4و R1وال
MadeBY
MohamedAbdel
nas
ser
وهكذا لو تم عمل advertiseلشبكة 40.40.40.0/24من خالل R4هتوصل لـــ R2
لكن إزاى بيتم منع الــــ loopبعد عمل الــــ Route-Reflector
أو إيه هى اآلليـــة اللى بتم علشان يتم منع الـــ Loop
إلن زى منته شفت إن R3إستلم شبكة 20.20.20.0/24وبعدين بعتها لــــ R4
واحنا عارفين إن بسبب الــــ BGP split-horizon Ruleفأى Routerهيستلم route
من خالل iBGP peeringمش هيذيعها إلى أى Routerتانى داخل الـــ iBGPعلشان
أتفادى موضوع الــــ loopلكن هنا R3إستلم شبكة 20.20.20.0/24من R2وبعدين
بعتها لــــ !...... R4؟
MadeBY
MohamedAbdel
nas
ser
Originator ID and Cluster List مفهوم
Route-Reflector فى المثال السابق تم شرح تطبيق عمل الـــ
MadeBY
MohamedAbdel
nas
ser
وبالتالى فأى شبكة الـــ R2هيعملها Advertiseمن خالل الـــ iBGPهتوصل لـــ R1و
R4على الرغم إن مفيش تأسيس إتصال iBGPبينهم من األساس
يعنى لما R2أعلن شبكة 20.20.20.0/24وصلت لــــ R1و R4من خالل R3
MadeBY
MohamedAbdel
nas
ser
وكذلك بالنسبة لــ R4لما أعلن شبكة 40.40.40.0/24
هنالحظ إنها وصلت لــــ R1و R2من خالل R3
MadeBY
MohamedAbdel
nas
ser
يعنى R3هيعتبر نقطة مركزية بتعمل Reflectللـــ Routeلبقية الـــ Routers
ويبقى السؤال :
إزاى R3لما استلم شبكة من R2بعتها لـــ R1و R4
ولما استلم شبكة من R4بعتها لـــ R1و R2
واحنا عارفين إن بسبب الــــ BGP split-horizon Rule
فأى Routerهيستلم routeمن خالل iBGP peeringمش هيذيعها إلى أى Routerتانى
داخل الـــ iBGPعلشان أتفادى موضوع الــــ loop
فإزاى هيتمنع الـــ loopبعد عمل الـــ Route-Reflector؟
MadeBY
MohamedAbdel
nas
ser
طيب إيه هو الـــ Originator ID؟
ده اللى من خالله الـــ Routersاللى هتبقى clientللـــ Route-reflector
هتقدر تمنع الـــ loopاللى هيحصل بالنسبة ليها
فلما الـــ R4لما هيجى يستلم الشبكة 40.40.40.0/24مرة تانية هيعمل برده نفس األمر
ويبص على الـــ Originatorولو طلع هو الـــ Router IDتبعه هيقوم عامل ignoreللـــ
updateده
MadeBY
MohamedAbdel
nas
ser
طيب بالنسبة للــــ Cluster List؟
ده اللى هيستعمله الـــ Route-Reflectorنفسه علشان يمنع الـــ loop
يعنى لما يجيله شبكة ويبدأ يعملها Reflectللـــ Neighborهيبدأ يضع الـــ Router ID
تبعه فى خانة الــــ Cluster List
يعنى R3لما استلم الشبكات من R2و R4وضع الـــ Router IDتبعه فى خانة الــــ
Cluster Listقبل ميبعتها لـــ R1
وبالتالى لما هيستلم أى شبكة تجيله تانى فيها نفس الـــ Cluster Listتبعه فهنا هيعمل
ignoreللـــ updateلكن لو مشفشى الـــ Router IDتبعه فى خانة Cluster Listفهنا
هيستلم الـــ updateعادى ويبعته لبقيه الـــ Routers
MadeBY
MohamedAbdel
nas
ser
مفهوم الــــ The BGP confederation
MadeBY
MohamedAbdel
nas
ser
عرفنا مفهوم BGP split-horizon Ruleوهو إن أى Routerهيستلم routeمن
خالل iBGP peeringمش هيذيعها ألى Routerتانى داخل الـــ iBGPعلشان
أتفادى موضوع الـــ loopعندى
وبالتالى كنت محتاج أعمل الـــ Full meshعلشان أقدر أوفر الــــ Connectivityداخل
الشبكة عندى لكن المشكلة إنى لو عندى راوترات كتير جدا وبالتالى لو عملت الـــ Full
meshفالـــ TCP Sessionهتبقى كبيرة جدا غير إن كل روتر محتاج CPUو
Memoryيقدروا يتحملوا الوضع ده غير كمان الـــ Configurationوالـــ
Troubleshooting
وكان الحل فى الموضوع ده هو عمل الــــ Route Reflectorبحيث يبقى فيه حاجة
مركزية تعملى reflectللـــ Routeللـــ Neighborsوبالتالى هتقل عدد الـــ BGP
Sessionsداخل الـــشبكة عندى وبالتالى الـــــ Troubleshootingمش هيبقى فيه تعقيد
طيب بالنسبة للـــ Routersخارج الـــ ASبتاعى هل هتشوف الـــ Sub AS؟
مش هتشوف إال الـــ Public ASفقط
طيب بالنسبة لتأسيس العالقة فهتكون فى اللحظة دى بين الـــ Sub ASعالقة
eBGPلكن بداخل الـــ Sub ASهتبقى عالقة iBGP
وفى النهاية الموضوع ده بيستخدم فى سيناريوهات معينة لكن يبقى الحل األمثل
واألكثر شيوعا فى معظم الحاالت هو تنفيذ الـــ Route Reflector
اللى تم عمله فى الـــ : Lab
تم إضافة الـــ IPلكل روتر -
تم إستخدام بروتوكول الـــ OSPFلتوفير اإلتصال -
تم عمل loopback 5و loopback 50على راوتر 5 -
تم عمل loopback 6و loopback 60على راوتر 6 -
MadeBY
MohamedAbdel
nas
ser
بالنسبة للــــ Configuration
المطلوب :
عمل عالقة eBGPبين R1و R6 -1
عمل advertiseلشبكة 6.6.6.0/24و 60.60.60.60/24 -2
عمل عالقة eBGPبين R4و R5 -3
عمل advertiseلشبكة 5.5.5.0/24و 50.50.50.0/24 -4
عمل عالقة iBGPبين R1و R2بإستخدام الــ Sub AS -5
عمل عالقة iBGPبين R3و R4بإستخدام الـــ Sub AS -6
عمل عالقة eBGPبين R2و R3بإستخدام الـــ Sub AS -7
التأكد فى النهاية من الـــ Reachabilityمن R6إلى R5 -8
MadeBY
MohamedAbdel
nas
ser
R5 وR4 بينeBGP عمل عالقة: ثالثا
50.50.50.0/24 و5.5.5.0/24 لشبكةadvertise : رابعا
MadeBY
MohamedAbdel
nas
ser
خامسا :عمل عالقة iBGPبين R1و R2بإستخدام الــ Sub AS
MadeBY
وهيكون نفس الكالم على R3
MohamedAbdel
nas
ser
فهنا مفيش تأسيس للعالقة و الــــ neighborمش هتبقى up
MadeBY
MohamedAbdel
nas
ser
نفس األمر هيكون بالنسبة لــ R1و R2
R2مش شايف الشبكات 6.6.6.0/24و 60.60.60.0/24
بسبب مشكلة الــ Next Hop
MadeBY
MohamedAbdel
nas
ser
دمتم سالمين وبخير
MadeBY
MohamedAbdel
nas
ser
BGP Attributes
ياترى الــــ BGPبيحسب أفضل مسار إزاى ؟
ياترى هيحسبه زى الـــ RIPبالـــ Hop count؟
وال الـــ EIGRPباإلعتماد على الـــ Bandwidthو الـــ Delay؟
MadeBY وال الـــ OSPFباإلعتماد على الـــ Cost؟
MohamedAbdel
nas
ser
الــــ : configuration
MadeBY
MohamedAbdel
nas
ser األول إنى أحدد الشبكة واللى هى 9.9.9.0/24 -
إما بالــ Access-listأو الــ prefix-list
هبدأ أعمل Route-mapوأبدأ أتحكم فى قيمة الـــ weight -
هسمح لباقى الشبكات -
بعد كده هبدأ أربط الـــ Route-mapمع الـــ neighbor -
MadeBY
MohamedAbdel
nas
ser
دى كانت قبل عمل الـــ weightوكان مسار R5هو المفضل
MadeBY
MohamedAbdel
nas
ser
يعنى أنا محتاج لما أوصل لكل الشبكات مثال أختار مسار R4
فكل اللى هعمله إنى أحدد الـــ weightمع الـــ Neighborفقط
من غير أى route-mapأو تحديد شبكة
MadeBY
MohamedAbdel
nas
ser
لو ملقتشى تغيير حصل وقتى معاك فحاول تكتب الـــ commandده
* R3#clear ip bgp
وبعد تحديد الـــ weightاصبح المسار المفضل هو R4وليس R5للوصول
لكل الشبكات سواء شبكة 9.9.9.0/24أو شبكة 8.8.8.0/24
MadeBY
MohamedAbdel
nas
ser
الــــ BGP Attributes – Local preference
الـــ local preferenceبيعتبر تانى Attributeمن الـــ Attributesاللى بيعتمد
عليها الـــ BGPلتحديد أفضل مسار لكن يظل الـــ weightمتفوق عليه فى تحديد
المسار األفضل
المميز فى الــ Local preferenceإنه open standardيعنى مش خاص
بسيسكو فقط وبالتالى دى ميزة قوية للـــ Local preference
MadeBY
MohamedAbdel
nas
ser
MadeBY
MohamedAbdel
nas
ser
طيب حاليا R1يقدر يروح لشبكة 9.9.9.0/24و شبكة 8.8.8.0/24من طريق R2
وأنا محتاج أخلى R1يروح لكل الشبكات من طريق R3
الحل هنا ممكن أستخدم الـــ local preferenceفى إنى أعلى القيمة بتاع على R3
وبالتالى R1هيبدأ يختار األعلى فى الـــ local preference
الــــ configuration
أنا محتاج R1يروح لكل الشبكات من R3بدل R2فهنا هدخل على R3
وأبدأ أعدل الـــ Default valueبتاع الــ local preferenceلــ R3
MadeBY
MohamedAbdel
nas
ser
لو دخلنا على R1مرة تانية فهنا هيبدأ يروح للشبكات الخارجية من R3
الطريقة التانية إنى أتحكم فى الشبكات
أنا عايز أتحكم فى شبكة معينة
يعنى محتاج أخلى R1لما يخرج لشبكة 8.8.8.0/24فقط يطلع من R3
أول حاجة حدد الشبكة من خالل الــ Prefix-listوأعطيت ليها إسم Net8 -
عملت الـــ Route-mapوأعطيت ليها إسم m.a.elnaser -
بدأت أعمل matchللــ Route-mapمع الـــ prefix-list -
MadeBY حدد الــ local preferenceبـــ 950 -
MohamedAbdel
nas
ser
سمحت لبقية الشبكات -
بعد كده بدأت أحدد الـــ neighborاللى هو R1واضيف الــ Route-mapاللى -
عملتها وهخليها out
ممكن أتحكم فى إنه يسلك R7بدل طريق R4عن طريق الـــ AS-Path
عن طريق عمليــــة الـــ Perpendودى تقدر تقول عليها إنى بوهم الـــ Routers
إنه هيمر على autonomous Systemكتيروبالتالى مش هيبقى المسار المفضل
بالنسبة ليه
MadeBY
MohamedAbdel
nas
ser
الـــــ configuration
أول حاجة هحدد الشبكة من خالل الــ Prefix-listوهعطى ليها إسم Net1-11 -
هعمل الـــ Route-mapوهعطي ليها إسم m.a.elnaser -
هبدأ أعمل matchللــ Route-mapمع الـــ prefix-list -
هبدأ حدد عدد الــ autonomous systemالوهمى اللى هيعدى عليه -
هسمح لبقية الشبكات على افتراض إن فيه شبكات غير 1.1.1.0/24و -
11.11.11.0/24موجودين
بعد كده هبدأ أحدد الـــ neighborاللى هو R6وأحدد الــ Route-mapاللى -
عملتها وهخليها فى اتجاه الــــ out
MadeBY
MohamedAbdel
nas
ser
حاول تعمل clearلل BGPعلشان تشوف النتيجة لو مظهرتشى معاك بإستخدام
* R4#clear ip bgp and * R6#clear ip bgp
ولو جيت على R6هتالحظ إنه استلم كل الشبكات بــ R4من خالل الـــ BGP
MadeBY
MohamedAbdel
nas
ser
علشان مفهوم الــ originيوضح خلينا نشوف الـــ lab
MadeBY
MohamedAbdel
nas
ser على R2
على R3
لو عملت commandالــ redistributionعلى R3
يبقى كده هعمل advertiseلكل الشبكات يعنى شبكة 192.168.23.0/24وشبكة
33.33.33.0/24وأنا مش عاوز كده أنا عاوز فقط أستخدم الـــ redistribution
لشبكة 192.168.23.0/24فقط
بدام هبدأ أحدد يبقى هستخدم الــــ Route-map
MadeBY
MohamedAbdel
nas
ser
وهنا R3هيعلن فقط شبكة 192.168.23.0/24فقط
بإستخدام commandالــــ redistribution
لو دخلنا على R6هنالحظ إنه استلم شبكة 192.168.23.0/24من مسارين
مسار R2و مسار R3
R2أعلنها بإستخدام commandالـــ network
R3أعلنها بإستخدام commandالـــ redistribution
والـــ Routerبيفضل إستخدام commandالـــ network
طيب إزاى عرف R6إن R2مستخدم الــ networkعلى عكس R3؟
هيعرف بإستخدام الـــ origin codes
MadeBY
MohamedAbdel
nas
ser
الـــ BGP Attributes – MED
MadeBY
المسار األقل فى الـــ MEDهو األفضل
MohamedAbdel
nas
ser القيمة الـــ Defaultبتساوى 0
الـــ MEDبينتقل بين الــ eBGP Peersفقط .....يعنى إيه ؟
يعنى فى الرسمة دى الــ R2و R3لو استلموا شبكة 8.8.8.0مع metric
هتوصل لـــ R1و R2و R3مع الـــ metricلكن هتقف داخل الــ AS
لكن R4هيشوف الشبكة 8.8.8.0من غير الـــ metric
MadeBY
MohamedAbdel
nas
ser
أنا محتاج R5يوصل لشبكة 8.8.8.0/24عن طريق R3عن طريق الــ MED
MadeBY
MohamedAbdel
nas
ser
بعد كده هربط كل route-mapبالــــ neighbor
MadeBY
MohamedAbdel
nas
ser
لو دخلنا على R1علشان نشوف الوضع هنالحظ إن شبكة 8.8.8.0/24وصلت لـــ
R1من مسار R3وليس R2وده إلن الــ metricأقل من مسار R2
فيه حل تانى
إنى أعمل Route-mapواحدة فقط وأربطها بـــ neighborالـــ R2
وأعلى الـــ metricفقط بحيث يبقى أكبر من 0وأسيب مسار R3زى مهو بــ
metricيساوى 0
MadeBY
MohamedAbdel
nas
ser بالنسبة لــ R5علشان يوصل لشبكة 8.8.8.0/24كان بيوصل كده
تخيل لوعندك كذا شبكة معمولها advertiseداخل الـــ BGPوانته عايز تتحكم فى
الموضوع ده ......يعنى انته عندك الوقتى أربع شبكات على R1تم عمل
advertiseليهم داخل الـــ : BGP
شبكة 1.1.1.0/24
وشبكة 10.10.10.0/24
MadeBY وشبكة 11.11.11.0/24
MohamedAbdel
nas
ser
وشبكة 12.12.12.0/24
لما الشبكات دى بدأت توصل لـــــ R10عن طريق الـــ BGPفهيبدأ يشوف الشبكات
دى من طريقين طريق R11وهو ال ُمفضل ليه وطريق R12
MadeBY
MohamedAbdel
nas
ser يعنى R10علشان يوصل للشبكات دى هيسلك مسار R11
المطلوب يشوف شبكة 1.1.1.0/24من مسار R11فقط
وبقية الشبكات من مسار R12
R2هو المسار المفضل للشبكات اللى على R1وبالتالى علشان أتحكم فيها
فهدخل على R2وهبدأ أعمل الـــ prefix-listوأحدد الشبكة اللى محتاج أعملها
advertiseفقط
لما هعمل الـــ controlده على R2واربطه بالـــ neighborاللى هو R4
فهتالقى شبكة 1.1.1.0/24هى فقط اللى هتتبعت لــ R4وبالتالى R4هيقدر يوصلها
من المسار المفضل اللى هو R2
ملحوظة :فى الواقع العملى ممكن تتحكم فى الشبكات اللى عندك فقط
MadeBY
MohamedAbdel
nas
ser
طيب أنا لو عامل الــ prefix-listفى اتجاه الــــ in
معنى كده إنك بتتالعب بالترافيك اللى طالع من عندك ( ) upload
الــــ Local AS
تخيل عندك customer 1مربوط بــــ SP-1
MadeBY وعندك customer 2مربوط بــــــ SP-2
MohamedAbdel
nas
ser
MadeBY
MohamedAbdel
nas
ser
طيب إزاى هنقل الـــ customer 2إلى SP-1من غير معمل أى تغيير
عند الــ customer 2أو عمل relationshipمن جديد بين
الــ customer 2و الـــ SP-1؟
MadeBY
SP-1 علىIP وهنا الزم أعمل نفس الـــ
MohamedAbdel
nas
ser
وهنا أصبح فيه reachabilityبين SP-1وبين R8اللى عند customer 2
MadeBY
MohamedAbdel
nas
s
نيجى للخطوة التانية وهى إقامة العالقة بين R8وبين : SP-1
er
MadeBY
MohamedAbdel
nas
ser
وهنا بدأت العالقة تقوم بين الـــ SP-1والــــ customer 2عادى
لكن لو دخلنا الوقتى على R8علشان نشوف الوضع
لو دخلنا على R2هنالحظ إنه شايف برده الـــ ASاللى بيساوى 500
وهنا أصبح الـــ ASاألساسى اللى هو 300موجود والـــ Local ASأيضا
لكن أنا مش عايز الـــ local ASيوصل لـــ R2
هنا هدخل على الـــ SP-1وأبدأ أختار no-prepend
MadeBY
MohamedAbdel
nas
ser
وبعد أما كان R2شايف الـــ ASاللى بيساوى 500أصبح مش موجود عنده
لو مفيش نتيجة اعمل | Clear ip bgp * | command
طيب بالنسبة لــــ R8اللى شايف الـــ main ASوالــ Local AS
محتاج أخلى الـــ R8يشوف فقط الـــ local ASاللى كان 500
MadeBY
MohamedAbdel
nas
ser هنا هدخل على SP-1
علشان منخليش الـــ customer 1يشوف الـــ local ASعملنا no prepend
وعلشان نخلى الـــ customer 2يشوف فقط الــ local ASهنزود
وبالتالى لما هعمل األمر ده هنالقى إن R8بعد أما كان شايف الـــ ASاللى
بيساوى 300أصبح شايف فقط الــ ASاللى بساوى 500
وأخيرا ! .........
MadeBY
MohamedAbdel
nas
ser
الـــــ Allowas-in
MadeBY
MohamedAbdel
nas
ser
نفس األمر لو بصينا على R1هنالحظ إنه أيضا مستلمشى الشبكات اللى
معمولها advertiseمن الـــ Branch 1
MadeBY
MohamedAbdel
nas
ser
طيب إيه السبب اللى ممكن يخلى الفرع ده ميستلمشى الشبكات اللى معمولها
advertiseبالـــ BGP؟
السبب هو إن لما R18هيجى يستلم الشبكات من Branch 1هيالقى إن الـــ
Autonomous Systemالخاص بيه واللى هو 100موجود ضمن الــ
Pathوبالتالى هيعمل ignoreعلشان يمنع الـــ loopوبالتالى مش هيعرف
يستلم الشبكات نهائى
MadeBY
MohamedAbdel
nas
ser
الـــــ peer-Group in BGP
فى الــ labالموجود ده لو حبيت أعمل الـــ R1هو الـــ Route Reflector
لكل الـــ Routersاللى عندى داخل الــــ autonomous System 100
عن طريق الـــ loopbacksبالتالى أنا محتاج أعمل مع كل Routerموجود
تقريبا 4 commands
يعنى أنا تقريبا محتاج 20 commandsهكتبهم على R1علشان أعمل عالقة
iBGPوبالتالى الموضوع مرهق وهنا ظهر مفهوم :
MadeBY
MohamedAbdel
nas
ser
MadeBY
MohamedAbdel
nas
ser
BGP – community الــــ
no-export :
Don’t advertise the prefix to any eBGP neighbors
MadeBY
Local-AS : MohamedAbdel
nas
ser
Internet :
Advertise the prefix to all BGP neighbors
MadeBY
MohamedAbdel
nas
ser
وبالنسبة لـــــ R2فهيكون هو الـــ Best pathللشبكات دى
ولو بصينا على R1فهيكون الـــ R2هو الــ Best Pathللشبكات دى
MadeBY
MohamedAbdel
nas
ser
والمطلوب األول :
محتاج R7ميعلنشى الشبكة 8.8.8.0للــــ Neighbors
MadeBY
MohamedAbdel
nas
ser
علشان أنا عملت الموضوع على R4فأنا مش محتاج بقى الــ command
بتاع send communityإلن كده كده R4أصبح الموضوع عليه
ولو بصينا على R1فهنالحظ إن شبكة 8.8.8.0مستلمهاش
وشبكة 5.5.5.0أيضا مستلمهاش
MadeBY
MohamedAbdel
nas
ser
اللى تم فى الـــ : lab
الـــ configurationالعادى خالص فى الـــ BGP -
عمل advertiseللشبكات 3.3.3.0و 30.30.30.0و 33.33.33.0 -
عمل advertiseللشبكات 10.10.10.0و 100.100.100.0 -
داخل الـــ ASاللى هو 200تم عمل confederation -
ولو نسيت الـــ confederationفممكن ترجع تراجع عليه من الدرس
اللى وضحناها بخصوص الـــ confederationقبل تكلمة الــ labده
علشان تكون الصورة واضحة عندك
لما أعلنت الشبكات الطبيعى إنها توصل لـــ R4وبقية الروترات داخل
الــــ Autonomous Systemالمختلفة
MadeBY
MohamedAbdel
nas
ser
يعنى R4شايف الشبكات ال ُمعلنة
الـــ R11نفس الكالم شايف الشبكات ال ُمعلنة
MadeBY
MohamedAbdel
nas
ser
المطلوب :
-تطبيق الــــ No exportبحيث شبكة 3.3.3.0توصل لـــ R4
ومتوصلشى لــ
MadeBY
MohamedAbdel
nas
ser
MadeBY
MohamedAbdel
nas
ser
ياترى الشبكة 3.3.3.0وصلت لـــ R7وال ال
لو بصينا على R7
هنالحظ إن الشبكة وصلت إلن الــ Best pathبالنسبة لــ R7هو R5
والشبكة مش بتتمنع فى eBGPداخل بيئة الـــ confederation
وبالتالى وصلت لــ R6وبعدين لـــ R5
وبالتالى الشبكة مازالت هتوصل لـــ R7
الــــ R5حاليا ميعرفشى عن الـــ communityاللى موجودة على R4
وبالتالى محتاج حد يبلغ الـــ communityدى لـــ R5
MadeBY
MohamedAbdel
nas
ser
فالمفروض اللى يبلغ الـــ communityدى هو R6
MadeBY
MohamedAbdel
nas
ser
كده R6بقى عارف الـــ community
لكن R7مازال شايف الشبكة
MadeBY
MohamedAbdel
nas
ser
وهنا الـــ R7مش هيشوف الشبكة دى إلن R5خالص بقى عارف الــ
communityاللى المفروض من خاللها هياخد الــ action
MadeBY
حتى الـــ R11مبقاش شايف الشبكة 3.3.3.0
MohamedAbdel
nas
ser
ثالث نوع من أنواع الـــــ known community-Well
هو الــــ local-ASوالنوع ده ببساطة مش هيعلن أى شبكة للـــــ eBGP
حتى عالقة الـــ eBGPاللى بتم داخل بيئة الـــ Confederation
ولو جينا على R6واللى بينه وبين R4عالقة eBGPلكن داخل بيئة الـــ
confederationهنالحظ إنه شايف الشبكات كلها
MadeBY
MohamedAbdel
nas
ser
ولو جينا على R7
هنالحظ إنه شايف الشبكات اللى تم عمل advertiseليها داخل الـــ BGP
المطلوب :
منع إعالن الشبكات دى 3.3.3.0و 30.30.30.0للـــ eBGPسواء كان
الـــ eBGPالعادى أو حتى الـــ eBGPداخل بيئة الـــ confederation
الــــ : configuration
الشبكات لما R1هيستلمها هيبدأ يبعتها بالـــ BGPللــــ Neighbors
وبالتالى هتوصل لـــ R4واللى بدوره هيبدأ يبعتها هو كمان وهكذا
MadeBY
MohamedAbdel
nas
s وبعد أما R6كان شايف الشبكة 3.3.3.0و 30.30.30.0
er
MadeBY
MohamedAbdel
nas
ser
الــــ private community
ملحوظة :
الـــ communityعبارة عن 32 bitوممكن تتكتب بصيغتين
إما هتتكتب كجزء واحد عبارة عن 32 bit
أو تتكتب على جزئين كل جزء عبارة عن 16:16 = 16 bit
أول 16 bitيفضل يكونوا برقم الـــ AS
أنا محتاج أتحكم فى الترافيك اللى داخل لـــ R11عن طريق الـــ
communityيعنى محتاج مثال شبكة 3.3.3.0و شبكة 30.30.30.0
يبقى الـــ Best Pathهو الــــ R7وليس من مسار R5
زى معرفنا قبل كده علشان أحدد يبقى هعمل access-listأو prefix-list
لو جيت عملت على sh ip bgp = R4وبعدين الشبكة هالحظ إنى حاطط
200:10مش الرقم اللى ظهر ده
وبالتالى أنا محتاج إنى أخلى R4يبعت الـــ communityدى لــ R5و R7
ولو جينا ندخل مرة تانية على R5و R7هنالحظ إن الـــ community
وصلت وطبعا ممكن أغير صيغة الـــ communityللـــ new format
وبعد تغيير الصيغة
أصبحت نفس الصيغة اللى أنا كنت كاتب بيها الــ community
السؤال هل R11شايف الــ communityدى علشان بعد كده أقدر اتحكم من
خاللها واإلجابة ال طبعا وبالتالى محتاج R5و R7يبعتوا
برده الــ communityدى لـــ R11
وبالتالى لو دخلت على R11هالحظ إنه فيه communityمستلمها من مسارين
طيب إزاى أضيف communityتانى مختلف لشبكة ليها community
يعنى أنا لو محتاج حاليا أضيف مثال communityبتساوى 300:10
لشبكة 3.3.3.0لكن على R7فقط !....