شرح الEigrp

عام 0 geek4arab
Spread the love
0
(0)

8

 

يطلق على الEIGRP مصطلح advanced distance-vector routing protocol اى انه نوع من أنواع ال distance-vector ولأكن بشكل أكثر تطور وقوه في الأداء،يعتبر الEIGRP نسخة معدلة من برتوكول IGRP

والذي فارق عالم Cisco فان إصدارات نسخ الios التي تبدءا من 12.3 فما فوق أصبحت لا تدعم ال IGRP،يعتبر الeigrp برتوكول خاص بشركة Cisco اى انه لا يعمل إلا على روترات Cisco وهذا من وجهة نظري عيب كبير في هذا الprotocol،يقوم ال EIGRP بعمل automatically redistribute route information to IGRP neighbors من خلال تحويل الmetric من EIGRP metric 32 bit إلى IGRP metric 24 bit،يعمل بروتوكول الEigrp على Transport Layer


1-مصطلحات عامة
Convergence:(التقارب) وتكون الشبكات converged عندما تحتوى ال routing table عند كل روتر في الشبكة تحتوى على مسار إلى كل ال destination وبشكل منظم

Metric:هو قيمة (value) تستخدم لقياس الوصول ال destination وتتعدد طرق القياس ومنها Bandwidth, Delay

Classless/classfull Protocol:ولان الحديث في هذا الجانب قد يطول إلا اننا سنختصر الحديث في هذا النوعان في شي واحد أن الUpdate الخاص بال classless routing protocol يحتوى على subnet mask وأمثله علية RIPv2EIGRP, OSPFIS-IS, and BGP،أما في الclassfull protocol فان ال update الخاص بة لا يتضمن subnet maskوأمثله علية (RIPv1)

Unicast message: وتعنى إرسال رسالة إلى شخص محدد أو إلى Destination محدد

Multicast Message: وتعنى إرسال رسالة إلى مجموعة من الأشخاص من بين أشخاص كثر

Source & Destination: مصطلح يطلق على علاقة التواصل بين طرفين قد يكون الطرفين أنا وأنت فمثلا عندما تتكلم مع صديق ليك على الهاتف طالما أنت تتكلم وهو يسمع إذا أنت الSource وهو الDestination وفي عالم الشبكات مثلا إذا قلت أريد أن اعرف المسافة بيني وبين الDestination 10.0.0.0/8 بمعنى أن أنا أريد أن اعرف المسافة بيني وبين هذه الشبكة 10.0.0.0/8

Administrative Distance: قيمة بين 0 إلى 255 وتعبر عن مدى مصداقية الrouting protocol،فكلما كان ال routing protocol له رقم اصغر فان أولوية استخدامه تكون اقرب،وهذا جدول يبين الأرقام الخاصة بكل بروتوكول

 

 

 


 

2-خواص ال EIGRP
1- EIGRP is a Cisco-proprietary protocol:لا يعمل إلا على روترات Cisco

2- Fast convergence:EIGRP يستخدم the Diffusing Update Algorithm (DUAL) لتسريع عملية convergence،ويعتبر الeigrp البرتوكول الوحيد الذي يستخدم مسار احتياطي backup Route يقوم بالتحويل آلية مباشر إذا ما حدث انقطاع للمسار الرئيسي وإذا لم يوجد يقوم بإرسال طلب (queries) إلى ال neighbors’،يطلب منهم إذا وجدوا مسار إضافي أن يرسلوا إلية

3- VLSM support،يدعم الEIGRP خاصية ال classless routing protocol
4- Partial updates:أو التحديث الجزئي وهي ميزة جيدة حيث أن هذا التحديث يرسل عندما يحدث تغيير في المسار أو في ال metric،مما يضمن عدم إهدار الbandwidth
5- Use composite metric and compatible with IGRP:يستخدم نفس طريقة القياس المتبعة في الEIGRP إلا وهي B.W, delay, load, reliability, MTU،EIGRP metric (32 bits) = 256 * IGRP metric (24 bits)

6- Seamless connectivity across all data link layer protocols:يستطيع الEIGRP العمل معي اى نوع من أنواع الشبكات في المستوى الثاني،مثل BMA, NBMA, point-to-point protocols

7- Multiple network layer support:خاصية رائعة من الeigrp حيث أنة يستطيع العمل مع IP, AppleTalk,IPX

8- Load balancing:يستطيع الeigrp إرسال الdata من خلال أكثر من مسار ولا يشترط أن يتم الإرسال بشكل متسأوي فيمكن لل eigrp إرسال 8packets من مسار ويرسل 3 packets من مسار أخر وأيضا ميزة أخرى أنة يستطيع استعمال مسارات غير متوافقة في السرعات لتوصيل الTraffic

9- Use of multicast and unicast:يستخدم ال EIGRP كلا من unicast و ال multicast في عملية الاتصال بين الروترات ولا يستخدم ال broadcast،يستخدم الeigrp ال Multicast ip 224.0.0.10
مثال:
عندما يعمل eigrp روتر ولنسميه مثلا (R_A)في شبكة من نوع BMA وتحتوى هذه الشبكة على العديد من الروترات التي يعمل عليها EIGRP فيقوم (R_A) بإرسال رسالة تسمى Hello packet على العنوان 224.0.0.10 multicast ولأكن عندما يكون الرد من الروترات الأخري فسوف يكون unicast لهذا الروتر ويكون عبارة عن hello+update وسوف نتطرق لهذا لاحقا إن شاء الله


3-Underlying Processes and Technologies العمليات والتقنيات التحتية

1-Neighbor discovery/recovery mechanism:هذه الآلية تسمح للروتر بمعرفة أو اكتشاف ال EIGRP’s neighbor المتصلة معه بشكل dynamically أو تلقائي

2- Reliable Transport Protocol (RTP]:يعنى نظام النقل الموثوق وهو مسئول عن تامين توصيل الEIGRP Packets إلى الEIGRP Neighbors،لكي يذود عملية التوثيق يستخدم ACK مثل TCP ولأكن بشكل مبسط عنه كثيرا

Reliable Packets
ومن أمثله الحزم التي تحتاج إلى توثيق هي (update, query, and reply) في الEIGRP packets والسبب الرئيسي أنهم لا يتم إرسالهم بشكل دوري وإنما يتم إرسالهم من قبل الروتر في حالات متغيرة مثل ظهور روتر جديد في الشبكة يحتاج إلى إرسال update له وهكذا.

يحتوى ال RTP على مؤقتين وهما :
SRTT (smooth round trip time) متوسط الوقت الذي تستغرقه ال EIGRP Packets لإرسال إلى neighbor ومحدد وأيضا الوقت الذي يستغرقه استقبال ACK من الneighbor

RTO (retransmission time out) وقت انتظار ACK قبل إعادة إرسال الreliable packet مرة أخرى

ملحوظة هامة:Neighbor ينتهي بعد 16 RTO،اى انه إذا أرسل روتر إلى جاره من الروترات Update packet ولأكن جاره لم يرسل له ACK يعلمه بأنه استلمه يقوم الروتر بإرسال update packet مرة أخرى وإذا لم يرد هذا الجار يكرر المحاولة إلى أن تصل إلى المرة السادسة عشر ثم يتوقف عن الإرسال ويعتبر هذا الNeighbor مفقود

3- DUAL (Diffusion Update Algorithm):هذا هو العمود الفقاري للEIGRP Protocol وهو المحرك الرئيسي لهذا البرتوكول،فهو مسؤل عن اختيار أفضل المسارات إلى اى Destination وفق لشروط معينه،ويستطيع استخدام طريق إضافي alternate paths دون الحاجة إلى انتظار الطلب من Router Neighbor،وأخيرا هو مسؤل عن صيانة وإعداد ال Topology Table و Routing Table باستخدام بعض الشروط

تم تطوير الDual في SRI International على يد العم اقصد الدكتور J.J Garcia-Luna-Aceves مواليد Mexico 1955 وهذه صورته

 

4- Protocol-dependent modules (PDM):وهو مسئول عن عملية تغليف أو عملية ال(Encapsulation) لل EIGRP packets للعمل في Network layer،(ip/ipx/ AppleTalk) فمن المعلوم أن هذا البروتوكول يستطيع العمل معي العديد من بروتوكولات المستوى الثالث ومن المعلوم أيضا إن طرق الEncapsulation تختلف من بروتوكول إلى أخر لذا فان مهمة ال PDM،عمل Encapsulation يتناسب معي كل برتوكول

 


4-EIGRP Terminology
مصطلحات خاصة بالEigrp
1- Neighbor table:وفي هذا الجدول يوضع به جميع الروترات المتصلة مباشرتا بالروتر ويطلق على تلك الروترات مصطلح Eigrp router neighbors

تستطيع استعراضهم من خلال كتابه الأمر التالي

 

 

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::2

وهناك بعض الإشارات المهمة في هذا الشكل
Address : هو عنوان الخاص بال neighbor
Interface: وهي التي يأتي منها الneighbor packet بمعنى أخر المتصلة بهذا الneighbor
Hold Time : الوقت الذي من الممكن أن ينتظره الروتر دون استقبال اى packet من هذا الneighbor
وحقيقة هذا خاص بال hello packet لأكن معي الإصدارة الجديدة من نسخ ال ios أصبح اى packet سواء hello أو غيرها
Uptime: مده معرفة هذا الروتر بجاره
أما الSRTT/RTO فقد سبق الحديث عنهم

2- Topology table:ويوضع في هذا الجدول كل المسارات المؤدية ال اى Destination سواء كانت أفضل المسارات أو غيرها،ويمكن أن تشاهد هذا الجدول من خلال أمر#show ip eigrp topology

3-Routing Table:ويوضع في هذا الجدول أفضل المسارات (route )إلى Destination محدد

5- Successor ‘S’:وهذا المصطلح يطلق على أفضل مسار (route) ويوضع في جدولين وهما Routing / Topology Table

6- Feasible successor ‘FS’:وهذا يطلق على المسارات الاحتياطية بعد الSuccessor والتي كون اقل في قدرة التوصيل من ال Successor،وتوضع في جدول واحد فقط وهو ال Topology table

7- Feasible distance ‘FD’:وهو مصطلح مهم ويجب التركيز علية،وهو ال metric الواصل من ال source إلى ال destination،والsource هنا يقصد به مثلا إذا كنت تعمل على روتر فالmetric الذي بين هذا الروتر الذي تعمل علية والDestination تسمى ال FD

8- Advertised distance ‘AD’:هي ال metric الذي يكون مابين جارك وال Destination

وهذه صورة توضح إلبك المصطلحات بشكل مصور

Active and Passive State

قبل أن تفهم معنى الحالتين ادعوك لمشاهده هذه الصورة

 

لاحظ حرف الP والذي يرمز لكلمة Passive بجوار كل Destination،فالDestination يكون Passive عندما يكون هناك Successor له طيب في حالت أن حدث انقطاع للSuccessor Route يقوم ال EIGRP باستخدام ال Feasible Successor بدلا من عنه فيتحول الFS،إلى S طيب ماذا لو لم يوجد FS يقوم الروتر بإرسال Query Packet إلى الNeighbors طبعا عدا التي حدث من عندها الانقطاع يقول لهم يا جماعة حد عنده مسار لهذا ال Destination في هذه الحالة تحديدا والتي يبحث فيه الروتر عن مسار لل Destination
يكون هذا الDestination في حالة Active ،فهمت ؟ أظن لو أعدت قراءتها سوف تفهم أكثر !

ملحوظة:اكرر لو يوجد Fs لل Destination فانه لا يحتاج إلى عملية Active State،لأنه سيحل محل الS


5-EIGRP Packets
عندك خمس أنواع من أنواع ال packets

1- Hello Packet
من الاسم تستطيع معرفة الهدف من هذا ال Packet فهو مسئول عن تكوين العلاقة بين الروتر و Neighbors،يتم إرسال هذه الpacket بشكل دوري بمعنى كل فترة زمنية محدده
فترات الإرسال،وهنا تعتمد على نوع وسرعة الاتصال،فيتم إرسال Hello Packet كل 5 ثواني معي كل الشبكات الوصلات التي سرعتها اكبر من (T1) 1.54Mbps و الوصلات التي من نوع point to point جميعا،أما في الوصلات ال multipoint مثل T1 (1.54Mbps) أو ما اقل في سرعتها تكون ال Hello Packet كل 60 ثانية

Dead interval:وهو يعنى أن بعد إرسال عدد معين من ال Hello Packet يعتبر هذا ال Neighbor مفقود،وتقاس بثلاث أضعاف وقت ال Hello Packet،Dead interval = 3 * hello interval (15sec for fast links, 180 sec for slow links)

ملحوظة
1- في وصلات ال point to point سواء سريعة أم بطيئة ترسل الHello Packet كل 5 ثواني

 

2-هذه الإعدادات تكون by Default ويمكنك تغيرها بالأوامر التالية
(config-if)# ip hello-interval eigrp
(config-if)# ip hold-time eigrp
2- Update packet عندما يبدأ ال Eigrp Router العمل وبعد أقامه علاقة معي الNeighbor يرسل له ال Routing Topology Table اى يرسل له ال Successors المتاح لدية ويكون باستخدام ال Unicast،أو يقوم بإرسال تحديث جزئي إذا حدث اى تغيير في المسارات التي لدية ويكون باستخدام ال Multicast

ملحوظة هامة لا يتم إرسال الFS في اى Update فقط يتم إرسال الS في المسارات

3- Query packet عندما يفقد ال S فان الروتر يرسل Multicast 224.0.0.10 يطلب منهم أن يرسلوا له مسار أخر للDestination من Neighbors بدلا من الذي تم فقده

4-Reply packet:هي الرد على ال Query من ال Neighbors

5- Ack packet راجع الحديث عن الRTP وكل ال Eigrp يحدث لها Acknowledges عدا ال Hello Packet

EIGRP Packet Format

 

وهذه الصورة توضح الشكل العام للEigrp PacketKوبصراحة قرات مقال رائع وكان به بعض الحديث عن Eigrp Packet وهذا هو الرابط
http://www.rhyshaden.com/eigrp.htm

Initial Route Discovery
لتثبيت المعلومة سأقوم بشرح عملية بدء العلاقة بين روترين

في البداية يقوم A بإرسال Hello Packet إلى B،ثم بعد ذلك يقوم B بإرسال حزمتين الأولى Hello Packet و Update الخاص به ومتضمن جميع ال Successor عدا المسارات التي استلمها من هذه الinterface لسبب قاعدة the split horizon rule ومن الأفضل مراجعتها

وبما أن ال Update نوع من أنواع ال Reliable Packets فانه يحتاج إلى Ack لتأكيد وصوله إلى A،ثم يقوم A بإرسال الupdate والتي تحتوى على كل المسارات الموجودة في Routing Table عدا التي استلمت من هذه الinterface إلى B ويرد B بAck


6-Operation التشغيل
في البداية يقوم ال Neighbors بتكوين علاقة بينهم ولأكن ما هي شروط إن تكون الروترات Neighbors
1- يجب أن يكون Autonomous System مشترك
2- يجب أن تكون قيمة ال K-valuesواحده وهذه القيم تستخدم لحساب ال metric
صورة لتثبيت الشروط

 

وهذه تظهر عندما لا تكون k-value متوافقة لاحظ جيدا

ملحوظة مصطلح ال autonomous system في ال Eigrp ليس هو نفسه الموجود في BGP،حيث أن الربط بين 2 AS في ال BGP تعنى الربط بين برتوكولين مختلفين مثلا Ripv2 & Eigrp،أما في الEigrp فتكون الربط بين نفس نوع البرتوكول

 


 

 

7-EIGRP Metric

س:كيف يختار الEIGRP الSuccessor ؟
ج:يختار EIGRP الSuccessor من خلال اختيار مسار صاحب اقل Metric موجود بين كل المسارات الخاصة بالDestination محدد ولفهم الطريقة عليك بفهم طريقة حساب الMetric

حساب الMetric
مثل ما قلنا إن الطريقة الذي يستخدمها ال Eigrp لحساب المسافة بين الSource وال Destination هو الMetric،يوجد خمس متغيرات تستخدم لقياس الMetric اثنان منهم يتم استخدامهم (used by Default) وهم
1- Bandwidth:اقل سرعة موجودة بين الSource والDestination تكون هي الBandwidth المستخدمة (used by Default)
2- Delay:مقدار التأخير الذي يأخذه الوصول على طول الخط بين الDestination وال Source
(Used by Default)
3- Reliability: مدى موثوقية استخدام هذا المسار من حيث مدة بقائه يعمل يدون حدوث انقطاع ويأخذ رقم ما بين 1 to 255 والرقم 255 يكون أكثر موثوقية
4- load: وهو رقم ما بين 1 إلى 255 يدل على مدى وجود اختناق أو حمل في استخدام الinterface فكلما قل الرقم كلما كان مقدار استخدام ال int قليل
مثال ( دائما اشبه عندما تكون في حالة اختناق مثل أن يكون لك أخ أو أخت في الثانوية العامة وارد أن تجلب له النتيجة من خلال موقع النتيجة فمن كثرة الضغط على هذا الموقع في يوم النتيجة فلن تستطيع التعرف عليها )
5- MTU اختصار ل Maximum Transmission Unit وقلما ما تحدثت عنها الكتب واعتقد أنها لا تستخدم في الحساب بل توجد بعض المواقع لم تذكرها أصلا لأكن من باب العلم بالشئ عليك معرفتها

طيب هذا شكل المعادلة و تحتاج إلى عدة ملاحظات
EIGRP Metric = 256*((K1*Bw) + (K2*Bw)/(256-Load) + (K3*Delay)*(K5/(Reliability + K4)))

الملاحظات هي
1- K1, K2, K3, K4, K5 قيم افتراضية
وتساوى by Default
K1 = 1
K3 = 1
K2 = 0
K4 = 0
K5 = 0

2- إن bandwidth و Delay يخضعون لطريقة حساب خاصة بكل منهم،Bandwidth = يتم اختيار اقل Bandwidth على interface موجودة في المسار الواصل إلى Destination،ثم يقسم على 10 اس 7،وهذا هو الشكل الموضح
الDelay = يتم جمع الDelay الموجودة في كل ال interface والتي هي تكون موجودة بالmicroseconds يتم قسمته على 10

مثال اكتب الأمر Sh interface s0/0

 

لاحظ الDelay = 20000 في microseconds فنقوم بقسمة على 10 ليساوى 2000

هذه هي المعادلة التي يمكن من خلالها تحديد الMetric،ولكن في الحقيقة ليست هذه التي تستخدم by Default والمعادلة التي تستخدم by default هي Metric = 256*( Bandwidth + Delay )،أو ممكن نضرب 256 في كل طرف يعنى ستكون بالشكل الأتي Metric = [Bandwidth*256 ] + [Delay*256]

ولتثبيت المعلومة نأخذ مثالا

في هذا المثال Router A عنده مسارين للوصول إلى Router D أو اى شبكة خلفه،وسنقوم بأمر الله بتحديد أفضل مسار له

أولا بالنسبة للمسار A-b-c-d

 

ملحوظة مهمة لاحظ أن الDelay يتم جمعة وهذا لان التأخير يكون على طول المسافة،أما في الBandwidth يتم اختيار اصغر سرعة موجودة على طول الطريق

ثانيا المسار a-x-y-z-d

إذا سيكون ال Successor path هو الأقل في نسبة ال Metric الذي هو 1لمسار A-b-c-d

وسيكون ال feasible Successor هو المسار a-x-y-z-d

ملحوظة:يمكن أن يكون هناك أكثر من Successor بشرط أن يكون الMetric متساوي (by Default)،وأيضا يمكن أن يكون هناك أكثر من F Successor ولأكن لكي يكون المسار F Successor يجب أن يخضع لشرط مهم جدا جدا ويحتاج لتركيز ويسمى بال feasibility condition

Feasibility condition
أولا عليك بمراجعة مصطلح الAD و FD
الشرط وهو
لكي يكون المسار FS يجب أن يكون ال FD للSuccessor اكبر من ال AD لل F Successor

أظن المثال هذا لا يوجد أوضح منه أعدت ارسم فيه حوالي ربع ساعة،لاحظ أن المسار E-D-Z لن يكون Fs ولكن هذا لا يعنى أن Router E لا يمكنه استخدام هذا المسار يمكن استخدام هذا المسار إذا حدث الاتى
الحالة الأولى
أن يحدث انقطاع مع Router C وبذلك يكون مسار روتر B هو ال Successor وبذلك تتغير شرط المعادلة ويصبح مسار روتر D FS

الحالة الثانية
أن يحدث عطل في الروترين B,C فيرسل Router E Query إلى جميع ال Neighbors يطلب منهم مسار إلى Network Z وسيرد علية روتر D بالمسار وبذلك يصبح هذا المسار Successor

 


 

 

8-Eigrp & Summarization
Summarization الهدف الأساسي منه تصغير حجم ال Update وأيضا تصغير الTopology & Routing Table ممكن واحد يسال كيف؟
الإجابة:شوف يا سيدي طبعا إحنا درسنا قبل هذا عملية تقسيم الip (Subneting) وطبعا تعرفنا على مدى فائدتها مع المنظمات التي تتعدد فروعها بشكل ضخم
المهم أن ميزة الSummarization انه إذا كان عندك Subnet متعددة
مثل
172.16.1.0/24
172.16.2.0/24
172.16.3.0/24
172.16.4.0/24
172.16.5.0/24
172.16.6.0/24
172.16.7.0/24
172.16.8.0/24
172.16.9.0/24
172.16.10.0/24
172.16.11.0/24
طيب بين كل هذه الشبكات هناك رابط مشترك ألا وهو 172.16.X.X إذا فلماذا لا نقوم بعمل تجميع كل هذا الشبكات تحت 172.16.0.0/16 حتى نقوم بتصغير الPacket
يقوم الروتر من خلال الSummarization بدمج كل هذه الشبكات وجعلها 172.16.0.0/16 وبهذا يقوم بتصغير حجم الUpdate المرسل وحجم ال Routing & Topology Table

مثال على ذلك انظر في الصورة القادمة
عندما يقوم روتر B بإرسال Update إلى روتر A سيرسل له قائمة بأنه يرى كلا من
172.16.1.0/24
172.16.2.0/24
172.16.3.0/24
هذا طبعا قبل أن يستخدم ال Summarization ولاحظ أننا نستخدم مثلا مبسط من الممكن أن تتخيل معي إذا كان هناك أكثر من 100 شبكة ماذا سيكون شكل أو حجم ال Update أو Routing table

طيب إذا ما استخدمنا ال Summarization سيقوم بإرسال Update يعلم روتر A بأنه يرى هذه الشبكة 172.16.0.0/16،لاحظ الفارق الكبير الذي من الممكن أن تشعر به عندما تشاهد الRouting Table في روتر A

 

الآن بعد فهم الفكرة الأساسية له نستطيع أن نتكلم قليلا عن خواص الSummarization وكيفية إعداده

1- هناك نوعين من الSummarization النوع الأول Auto Summarization وهو by Default في Eigrp & Rip v2 Routing Protocols وهو يقوم بإعداد ال Summarization بدون تدخل مهندس الشبكات،النوع الأخر وهو manual Summarization وهو أن تقوم بإعداده على ال interface المقابلة للروتر التي تود أن يخرج من الUpdate وبه ال Summarization وفي مثالنا السابق يكتب الأمر على الinterface،في روتر B المواجه لروتر A
2- يقوم الروتر الذي تم عمل Summarization علية بإنشاء interface وهمي تسمى Null0،ولكي تستطيع مشاهدتها تكتب الأمر Router#sh ip route

والهدف من null0 هو الأتي لكي أوضح لك بشئ من التفصيل سأقوم بشرحها على المثال السابق عندما قمنا بكتابة الأمر RouterB(config-if)#ip summary-address eigrp 1 172.16.0.0 255.255.0.0،فإننا نعنى بذلك أن يرسل Router B إلى Router A انه يرى الشبكة 172.16.0.0/16 بكل محتوياتها،السؤال هنا ماذا لو أراد Router A أن يرسل Data إلى اى Destination في نفس الip Range الموجودة في 172.16.0.0/16 وهذا ال Destination ليس 172.16.1.0/24،أو 172.16.2.0/24 أو 172.16.3.0/24

اى الموجودين فعليا في الشبكة؟ أو أن يحدث انقطاع معي واحد من هؤلاء الثلاثة ففي الحقيقة Router A لن يعرف لأنه يأتي له Update بان Router B يرى هذا الRange 172.16.0.0/16،في هذه الحالة اى packet سترسل إلى اى Destination غير موجود فعليا فسيقوم Router B بإرساله إلى الinterface null0 بمعنى أخر سيحدث لهذا الPacket Drop يعنى سترمى في سلة المهملات

3- سيحمل مسار الSummary اقل metric موجودة للمسارات التي ستكون تحته بمعنى أخر سيحمل اقل metric في هؤلاء 172.16.1.0/24 , 172.16.2.0/24 , 172.16.3.0/24
4- سيظل الSummary يعمل حتى انقطاع أخر شبكة فيه وبعد ذلك سيتوقف الروتر عن إرسال update عنه

5- لعمل Summary Configuration
أولا تلغى الAuto Summary
من خلال
Router(config)#router eigrp (As)
Router(config-router)#no auto-summary
ثم الذهاب إلى الinterface المراد عمل summarization عليها ثم تكتب الأمر الأتي Router(config-if)#ip summary-address eigrp (AS number ) 172.16.0.0 255.255.0.0

طيب ماذا لو نسيت تلغى auto ?
سيقوم الAuto Summary بالعمل بجانب الmanual summary،وبهذا نكون انتهينا من ال Summarization


9-Route Selection

يقوم الDual بالعمل الأتي
1 – يقوم بحساب جميع المسارات المستلمة من الNeighbors
2- ثم يقوم باختيار الS والFs
3-إذا حدث انقطاع مع ال S يقوم باستخدام الFs
4- يستطيع أن يضع في الRTG أربع مسارات by Default للDestination معين وممكن ان يتحمل 6 مسارات كحد أقصى للDestination الواحد
5- يقوم بالتفرقة بين ثلاث أنواع من المسارات
internal path (Admin. Dist.=90 & symbol in RTG table is ‘D’.
معناها أن هذه الشبكة داخل الAs الخاصة بك
– summary path (Admin. Dist.=5 & symbol in RTG table is ‘D’
Out of interface null 0.
ملحوظة الAdmin Dest تساوى 5 فقط في الروتر الذي تم عمل الSummary به

-external path (Admin. Dist. =170 & symbol in RTG table is
‘DEX’.
أن هذه الشبكة خارج الAS المفعل على الروتر أومن اى routing Protocol أخر غير الEigrp

 

 


 

 

10-Query Problems
عندما يفقد الEigrp Router الSuccessor الخاص بأحد الnetwork ثم لا يكون هناك FS لهذا المسار يقوم الRouter بإرسال طلب (Query Packet ) لجميع الNeighbor المتصل بها عدا الinterface الذي كان من خلالها Successor يطلب منهم أن إذا وجدوا مسار لهذا ال Destination أن يرسلوا له هذا المسار ثم تقوم الNeighbors بالبحث عندهم فإذا لم يجدوا يقومون بإرسال Query إلى جيرانهم وهكذا وتدخل كل الروترات بالنسبة لهذه الnetwork إلى Active إلى أن يحدث عملية رد Replay packet من جيران اى روتر في الشبكة إذا عملية الرد سوف توقف عمليات الطلب

ملحوظة ينتظر الروتر جميع الReplay packet من كل الجيران ثم يقوم الDual بعملية الحساب لاختيار المسار الأفضل

Stuck-in-Active
طبعا كل لما يرسل إلى Neighbor الQuery Packet العملية ممكن تأخذ فترة كبيرة جدا وخصوصا عندما نتحدث عن شبكات تحتوى العديد من الروترات تقدر بالمئات مثلا فان الQuery سيسبح في سماء تلك الشبكة إلى أن يتم الرد وحلني لما ترجع تانى،طيب عندما يمضى على انتظار الروتر حوالي 3 min (by Default) يسمى في هذه الحال Stuck in Active
وترجع أسباب عدم الرد من الNeighbor إلى عدة أسباب

1- هو أن يكون الprocessor الخاص بالجار مشغول جدا أو أن تكون هناك مشاكل بالmemory
2- أن يكون الاتصال بالروترين غير جيد ولهذا بعض الPackets لن تستطيع الوصول وسوف تفقد
3- أو الunidirectional link وهذا معناها انك لو عندك مثلا زوجين من Fiber Cable واصلين بين روترين A,B
واحد منهم متخصص في الإرسال من A إلى B والثاني متخصص في الإرسال من B إلى A وإلى حصل أن واحد من الاتصالين دول انقطع في هذه الحالة تسمى unidirectional link. أو ممكن نقول أن معناه هو أن يحدث عطب في الإرسال فقط والاستقبال يعمل أو أن يكون العطب في الاستقبال فقط والإرسال يعمل

طبعا شركة سيسكو والناس العاملين بها لن يسمحوا بان يضيع كل ما تم تطويره في الEigrp
وكانت الحلول كالأتي
الحل الأول 1- SIA timer ( 3 min.)

انه إذا أرسل الروتر Query Packet إلى جميع الneighbors ولم يرد احدهم واستمر في عدم الرد إلى مدة اكبر من ثلاث دقائق يقوم الروتر بعملية Reset its neighbor relationship اى إعادة الاتصال وتكوين علاقة مع هذا الneighbor تحديدا لان الروتر في نظرة انه طالما لم يرد فان هناك مشكلة حدثت فإذا ما تم اعادت تكوين العلاقة بينه ولم يرد بHello إذا فسيحذف هذا الneighbor من الneighbor table،ومن الممكن تغيير مدة هذا التوقيت من خلال الأمر التالي (config-router)# timers active-time { / disable}

لنفترض أن المشكلة ليست مشكلة neighbor واحد لكن المشكلة في الشبكة،إليكم المثال التالي،Router A يبحث عن مسار للشبكة 162.168.1.0/24 فقام بإرسال Query إلى جاره Router B والذي لم يجد لديه تلك الشبكة فأرسل إلى روتر C ولأكن روتر c لدية مسار إلى هذه الشبكة لأكن المشكلة هي في وجود اتصال سيئ بين b , c

حيث أن C استلم الQuery من B وبالفعل أرسل الReplay ولأكن حدث سقوط لهذه الpacket ولم يصل ال RB،إذا فان روتر b لن يرد على روتر A إلا عندما يصل له الرد من C وفي نفس الوقت يكون قد مر فترة ثلاث دقائق على الQuery Packet المرسلة من A إلى B وبهذا يقوم روتر A بإعادة الاتصال وتكوين علاقة مع روتر B ولأكن هذا لن يحل المشكلة إذا فما هو العمل ؟؟؟؟؟
قامت سيسكو بعمل نوعين من الpacket (SIA query Packet , SIA Replay)،وسنطبقها على مثالنا أيضا،بعد دقيقة ونصف أو بالأصح نصف الوقت الخاص بالSIA Timer (3 min by Default ) سيرسل روتر A إلى روتر B ليخبره انه Stuck in Active (SIA Query)ثم يرسل له روتر B انه أيضا Stuck in Active (SIA Replay) وهذا يعنى أن المشكلة ليست معي الاتصال معي روتر B ثم يقوم روتر B بفعل نفس الشيء مع روتر C سيقوم روتر B بإرسال SIA Query إلى روتر C ولأكن لن يجد رد لوجود مشاكل في الاتصال بين الروترين وبالتالي بعد الفترة المتبقية سيقوم بإعادة العلاقة بين Router B,C ويكونون علاقة من جديد

وهذه الصورة بعد تطبيق الSIA Query

من الممكن القول أن الSIA Query يهدف إلى تحديد مكان المشكلة في الشبكة ومن ثم تصليح هذه المشكلة هذا والله اعلم Using Summarization أيضا من طرق حل مشاكل الQuery Packet هي استخدام الSummarization

مثال

 

روتر B بيبعت لروتر A update يخبره بأنه يرى هذه الشبكةsummary Address)) 172.30.0.0/16 بما فيها 172.30.1.0/24،فإذا حدث وحصل انقطاع للشبكة 172.30.1.0/24 فان روتر c سيرسل إلى روتر B Query Packet يطلب منه مسار إلى 172.30.1.0/24 فيقوم روترB بإرسال الQuery Packet إلى روتر A يطلب من مسار ل172.30.1.0/24 سيرفض روتر A هذا الطلب لأنه كيف يخبره روتر B بأنه يرى 172.30.0.0/16 ثم يطلب منه أن يجد له مسار لشبكة داخل هذه الشبكة إذا كان روتر A يرسل إلى جميع الشبكات التي تبداء ب172.16.0.0/16 !!!!!!!! وبهذا يرد روتر A بinfinity وبهذا لن يدخل الQuery إلى الشبكة 192.X.X.X وبذلك قللنا من حجم الQuery

ملحوظة هام إذا كان عند روتر A مسار إضافي محدد إلى 172.30.1.0/24 اى الشبكة التي يستفسر عنها روترB فان روتر A سيعلم روتر B بهذا

مازلنا في استكمال الحلول لمشاكل الQuery Packet

Stub Network
وهو أمر يكتب في الروترات التي لا تريدها أن تربطك باى مسار أخر،بمعنى أخر انك حالما تكتب الأمر يرسل الStub Router إلى جيرانه يخبرهم انه Stub اى لا تعتمد على لكي اجلب لك مسار بمعنى لا ترسل اى Query packet اى لا تطلب منى أن أتى لك باى مسار

وتوضح الصورة معنى الStub Network،حالما تطبق الأمر على الروتر يرسل الروتر Hello Packet يخبر الجيران انه Stub Router وبهذا لن يعتمد عليه لطلب اى مسارات
الأمر (config-router)#eigrp stub [receive only |connected|static|summary]

receive only وهذا إذا أردت أن تستقبل update دون إرسال مسار من المسارات مثل الأمر Passive interface في الRip معي الفارق طبعا حيث يسمح هذا الأمر بعمل الNeighbor Relationship بخلاف الpassive interface connected لكي يخبر بالمسارات التي تتصل به مباشرتا Static يسمح بإرسال الStatic route Summary يسمح بإرسال الsummary address
ملحوظة
لو أنت كتبت الأمر eigrp stub فقط فسيعمل تلقائيا (by Default) اثنان منهم وهم connected , Summary وأيضا لمعرفة هل الneighbors في حالة الStub أم لا هناك الأمر show ip eigrp neighbor detail

 

أخر حاجة في موضوع حل المشاكل إلى مش هنخلص منه
Graceful Shutdown

سؤال بسيط جدا قبل لما تعرف فائدة الGraceful Shutdown لنفترض انك تعمل على روتر B وقمت بإلغاء الEigrp من خلال الأمر no Router Eigrp طيب روتر A كل 60sec يرسل Hello Packet لو كان الاتصال بطئ ليطمئن على حالة الروتر B الذي هو Neighbor طيب وإحنا خدنا إن بعد مدة 3* hello interval ولم يرد الNeighbor سيصبح الNeighbor مفقود ولأكن هل سينتظر روتر A حوالي 3*60 Sec=180 لكي يعلم أن رويتر B ألغى الEigrp Protocol ?!!

وهنا أتى ال Graceful Shutdown أو بمعنى اصح الGoodbye message طيب بيعمل أية ؟ عندما يغلق روترB الEigrp Protocol يرسل Goodbye message تحمل قيمة جميع K1,2,3,4,5=255 ورسالة معناها أن أنا أوقفت الEigrp وسريعا يلغى روتر A جميع المسارات الموصولة من الروتر B
• في نسخ الios الجديدة 12.3(2.3)B 12.3(1.4)T 12.3(1.4) ستعلم أنها Goodbye Message أما القديمة فسيحدث لها K value mismatch لأنها سترسل له قيمهم تساوى 255 وبذلك سيعيد تكوين العلاقة مع روترB يعنى سواء نسخة قديمة أو جديدة سيعمل بنجاح إن شاء الله

ملحوظة هذا ليس حل للQuery Packet إنما لعمل Fast Convergence للشبكة

وهذه صوره لروتر استلم الرسالة


 

 

11-Basic EIGRP Configuration
1-(routerA(config)#router eigrp (autonomous-system-number
ملحوظة طالما أنت تريد أن يشارك الروتر الRouting Table يجب أن تكون جميع الروترات لها نفس رقم ال AS
Example
routerA(config)#router eigrp 109

2- routerA(config-router)# network network-number[wildcard-mask](Optional)
network-number وهنا تكتب عنوان الشبكة التي تريد الEigrp أن ينشرها
[wildcard-mask] (اختياري) وهو شبيه بالNetmask لأكن الBits في الWildcard الخاصة الشبكة تساوى صفر 0 والBits الخاصة بالHosts تساوى واحد 1 مثال

Network ID = 172.16.0.0
Netmask = 255.255.0.0
Wildcard mask = 0.0.255.255
Netmask by bits = 11111111.11111111.00000000. 00000000
Wildcard Mask = 00000000.00000000.11111111.11111111
طيب فائدة إذا كان لديك مجموعة من الinterfaces موجودة في class واحد مثال
S0/0 10.1.0.0
S0/1 10.2.0.0
S1/0 10.3.0.0
وأنت تريد أن تكون S0/0 هي الوحيدة التي تدخلها في الEigrp
إذا أنت كتبت الأمر التالي
routerA(config-router)#network 10.1.0.0
سيضع الوتر الDefault Wildcard لClass A وهي 0.255.255.255
بمعنى أخر الروتر سوف يعتقد انك كتبت الأمر هذا
Network 10.0.0.0
وجميع الinterfaces التي تبدأ ب 10.X.X.X ستدخل في الRouting
Or
لو أنت سوف تستخدم الWildcard Mask
routerA(config-router)#network 10.1.0.0 0.0.255.255
سيعنى ذلك انك ستحدد الinterface التي تبدأ ب 10.1.0.0 لكي تعمل هي فقط في الEigrp Routing
ملحوظة الخيار Wildcard متوفر مع النسخ الحديثة من الIos
3- تحديد الBandwidth
تحديد الBandwidth مهم جدا بالنسبة للWan interface وسنتحدث عنه باستفاضة في درس الEigrp & WAN
لأكن عليك معرفة الأمر تدخل على الانترفيس ثم تكتب
Bandwidth (Bandwidth in Kilobyte)

مثال عملي
سنقوم بإعداد الEigrp الخاص بالRouterA

أولا بدون استخدام الWildcard Mask
routerA(config)# router eigrp 109
routerA(config-router)#network 10.1.0.0
routerA(config-router)#network 10.4.0.0
routerA(config-router)#network 172.16.7.0
routerA(config-router)#network 172.16.2.0

بدون استخدام الWildcard كأنك كتبت هذا الأمر
routerA(config-router)#network 10.0.0.0
routerA(config-router)#network 172.16.0.0

لان الEigrp سيجعل الDefault Wildcard هو المستخدم
10.0.0.0 0.255.255.255
172.16.0.0 0.0.255.255

ثانيا باستخدام الWildcard Mask
routerA(config)# router eigrp 109
routerA(config-router)#network 10.1.0.0 0.0.255.255
routerA(config-router)#network 10.4.0.0 0.0.255.255
routerA(config-router)#network 172.16.7.0 0.0.0.255
routerA(config-router)#network 172.16.2.0 0.0.0.255
سيكون الانترفيس التي تحمل هذا الRanges هي التي ستكون ضمن الEigrp

Configure Basic Propagation of Default Route
أحيانا يكون عندك مجموعة روترات لهم نفس الAs وواحد منهم متصل بExternal As،وأنت قمت بعمل Default Route على هذا الروتر لأجل تحسين الأداء وأنت ألان تريد أن تنقل في الEigrp Update هذا المسار بحيث تعلم الروترات هذا المسار إليك الرسم وهو موضح عليه الأوامر

 

في المثال روتر A متصل بEX AS والتي هي 172.31.0.0/24 سنكتب الأمر التالي routerA(config)#default-network 172.31.0.0 لاحظ الرمز D*
أو من الممكن عمل الأتي طريقة أخرى routerA(config)#ip Route 0.0.0.0 0.0.0.0 172.31.1.1 ثم تكتب داخل الEigrp routerA(config-router)#network 0.0.0.0
يفضل استخدام الطريقة الثانية لأنها ستكون Gateway للوصول لاى Destination خارج الشبكة

Configuring Manual Route Summarization
وطبعا إحنا أتكلمنا عن الSummarization قبل كده لأكن سأكتب الأوامر للتذكير
Router (config-router)#no auto-summary
لا تنسى إلغاء الAuto
RouterB(config-if)#ip summary-address eigrp as-number address mask [admin-distance]
[admin-distance] اختياري من 0 to 255

Timers :
Hello & dead timers
(config-if)# ip hello-interval eigrp
(config-if)# ip hold-time eigrp
ملحوظة انتبه من أن يكون الHold-Time في الinterface اكبر من مدة الHello في الinterface المقابلة حتى لا يحدث مشاكل

Stuck In Active timer
(config-router)# timers active-time { / disable}
By Default 3 min
EIGRP load sharing
By Default يستطيع الEigrp أن يحتفظ ب4 Successor متساوين (equal-cost paths) لDestination واحد
وبإمكانك أن تغير عدد المسارات من خلال الأمر
maximum-path
الجديد في الموضوع انك تستطيع أن تستخدم مسارات إضافية ليست في نفس الMetric الخاص بالSuccessor
اى انك تستخدم مسارات اضعف من الSuccessor ولأكنها ستوضع في الRouting Table لكي تكون هي أيضا Successor

الموضوع بكاملة يتلخص في تعديل شرط من الشروط تحت عنوان ( لكي تصبح Successor بدون أن تكون مثل Metric الSuccessor ) لا لا لا هذا ليس حلقة من مسلسل إنما هو تلخيص للفكرة

في الوضع الطبيعي لكي تكون Successor يجب أن تكون على الأقل في نفس Metric الSuccessor تمام أوى
لأكن مع هذا الأمر
Router (Config-router) # Variance [No. multiplier]
[No. multiplier]: هو رقم من 1 إلى 128 وهو by Default = 1
معناه إيه أن لو الFsuccessor يساوى أو اقل من1*Successor metric استخدمه مثل الSuccessor
طيب لو كتبنا
Router (Config-router) # Variance 2
معناها إن لو Fsuccessor يساوى أو اقل من 2*Successor metric استطيع استخدامه كاSuccessor

مثال بسيط لتثبيت الفكرة

في الوضع الطبيعي Router E يستخدم Router C للوصول إلى الشبكة Z (Successor) والسبب انه اقل Metric
Metric =20
وسيجعل المسار الخاص بRouter B مسار احتياطي Feasible Successor وذلك انه أولا حقق الشرط أن يكون Fsuccessor حيث أن ال Advertised distance الخاص به (10) اقل من ال Feasible distanceالخاص بSuccessor (20)
إما المسار الخاص بRouter D فانه لم يحقق الشرط المطلوب لكي يكون Fs لان Advertised distance الخاص به (25) اكبر من ال Feasible distanceالخاص بSuccessor (20)

عندما نستخدم الأمر Router (Config-router) # Variance 2 معناه الأتي أن لكي يكون المسار Successor مع مسار Router C يجب أن يكون الMetric يساوى أو يكون اقل من ال2*Feasible distance الخاص بالSuccessor اى 2*20=40،ومسار Router B الFeasible distance الخاصة بة = 30 اى اقل من ال40 وبهذا يتم وضع مسار Router B في الRouting Table

طيب بالنسبة للمسار Router D لن يتم وضعة في الاعتبار لأنه ليس Fs اى لم يحقق الشروط الواجب توافرها في الFs
ملحوظة لكي يقوم الEigrp بإرسال الTraffic بشكل غير متساوي بين المسارات استخدم الأمر Router(config-router)#traffic-share balanced،ومعناه أن الروتر سيقوم بتوزيع نسب الإرسال من خلال نسبة الMetric التي لدى كل مسار

 


12-EIGRP & WAN Links

يدعم الEigrp أنواع مختلفة من الWan Connection مثل، Point To Point،NBMA،ولأنه يدعم أنواع مختلفة فالDefault Configuration الخاص به ليس هو الأفضل للاستخدام ،الEigrp يستخدم نسبة 50% من الBandwidth الموجود على الinterface اى الذي أم يكون موجود by Default،أو انك تدخل الBandwidth من خلال الأمر
Router (config-if)#Bandwidth (Bandwidth in Kilobyte)
لاحظ هناك فرق بين السرعة الحقيقية والBandwidth التي أنت تقوم بوضعها على الانترفيس وذلك لان التي تضعها على الانترفيس تستخدم في حسابات الRouting وذلك لأنها ثابتة لا تتغير إلا إذا قمت أنت بتغيير ها لأكن بالنسبة للData فتستخدم السرعة الحقيقية المستخدمة
والميزة انك تستطيع أن تعدل على نسبة استهلاك الEigrp للBandwidth
بمعنى أن إذا أراد الروتر إرسال Update Packet فانه لن يستطيع أن استعمال اكبر من 50% من الBandwidth الموجودة على الانترفيس
وتستطيع التعديل على النسبة من خلال الأمر التالي
Router (config-if)#ip bandwidth-percent eigrp as-number percent
as-number : معروف
Percent: النسبة التي تريدها للEigrp من استهلاك الBandwidth
لا يوجد Routing Protocol يدعم هذه الخاصية عدا الEigrp

ولأكن تختلف إعدادات الBandwidth من نوع إلى نوع وسنتناول بأمر الله أشكال عده من الإعدادات

Examples of EIGRP on WANs

المثال الأول
Frame Relay Multipoint in Which All VCs Share the Bandwidth Evenly

 

في هذا المثال Router C لديه أربع جيران متصل بهم Multipoint interface و لهم نفس نسبة الCIR فسوف يقوم الروتر بقسم الBandwidth على عدد الVCs التي لديةإذا سيكون إعداد الBandwidth لRouter C هي عدد الVCs * الCIR الثابت بينهم 4*56=224 سيكون الConfiguration كالأتي

RouterC(config)#interface serial 0
RouterC(config-if)#encapsulation frame-relay
RouterC(config-if)#bandwidth 224

مثال رقم 2
Frame Relay Multipoint in Which VCs Have Different CIRs

في هذه الحالة أنت لديك أربع جيران لأكن احد هؤلاء الجيران الCIR المخصص له اقل من البقية فإذا حسبت أن الCIR الذي سيستخدم في عملية الضرب في VCs هو 265 بحجة انه الأكثر استخداما فهذا قد يؤدى إلى عدم وصول بعض الUpdate إلى Router H لان Router C سيعتقد أن السرعة بينه وبين Router H = 256 إذا سيرسل update Packet بBandwidth اكبر من ما قد يتحملها الاتصال بينه وبين Router H

فأنت أمامك نوعين من الحلول
الحل الأول
أن تعتمد في حساب الBandwidth الذي ستضعه على Router C اقل CIR موجود لديك
56*4=224
أو
أن تقوم بعمل 2 Sub interface
واحدة multipoint وتجمع كل السرعات المتساوية
وأخر point to point وهي خاصة بالاتصال بRouter H ( الأقل في السرعة)

وتكون الConfiguration كالأتي

RouterC(config)#interface serial 0.1 multipoint
RouterC(config-subif)#bandwidth 768
RouterC(config-subif)#exit
RouterC(config)#interface serial 0.2 point-to-point
RouterC(config-subif)#bandwidth 56

مثال رقم 3
Frame Relay Hub-and-Spoke Topology

 

Router C متصل بعشرهVCs طبعا لم يظهر في الصورة إلا أربعة والسبب هو حجم الصورة سرعة الخاصة بRouter C 256kbps ولأكن لو إحنا جمعنا الCIRs ستساوى 56*10=560Kbps وهذا لن يتوافق مع سرعة Router C لذا سنقوم بالاتي
عمل Point to point Subinterface بعدد الVCs المتصلة بRouter C ووضع السرعة الخاصة بكل sub وهي عشر السرعة المتاحة 256/10=25 تقريبا وهذا لان كل Vcs ستكون منفصلة عن غيرها
ملحوظة اخترنا رقم 10 لأنه عدد الsubinterfaces أو بمعنى اصح عدد الVCs

RouterC(config)#interface serial 0.1 point-to-point
RouterC(config-subif)#bandwidth 25
RouterC(config-subif)#ip bandwidth-percent eigrp 63 110

RouterC(config)#interface serial 0.10 point-to-point
RouterC(config-subif)#bandwidth 25
RouterC(config-subif)#ip bandwidth-percent eigrp 63 110

RouterG(config)#interface serial 0
RouterG(config-if)#bandwidth 25
RouterG(config-if)#ip bandwidth-percent eigrp 63 110

ملحوظة قمنا بعمل نسبة استخدام الBandwidth 110 حتى نضمن توصيل الEigrp Packets،وهذا التعديل يجعل الEigrp يعمل على 28Kbps اى حوالي نصف ال56Kbps لكل Circuit،وطبعا هذا أفضل من أن تترك الEigrp يستخدم فقط نصف ال25 تخيل مدى البطء وقد يحدث أن لاتصل بعض الpacket،لوجود ضغط حتى لو بسيط على الاتصال أو وصول update كبيرة في الحجم

 


13-EIGRP Authentication

والغرض منه عمل حماية للEigrp Packets بين الNeighbors بحيث لا يعرف أو لا يفهم الEigrp Packet المرسلة إلا الذي لدية كلمة سر لفك تشفير هذه الPacket يوجد نوعين من الAuthentication
الأول
1-Simple password authentication (also called plain-text authentication)
ومعناها انك تستخدم Password لأكن غير مشفر وهذا خطر كبير ممكن واحد (Man in The Middle) يستخدم WireShark
أو اى برنامج لتحليل الpacket ويعرف الباسورد
والبروتوكولات التي تدعم هذا النوع هي
(IS-IS), (OSPF), (RIPv2)
2- Message Digest 5 (MD5) authentication
استخدام Password مشفرة
اخترع الMD5 عموما واحد أسمة Ron Rivest عام 1991 هذا الشخص الذي صمم الMD5 عموما وليس وضعه مع الEigrp
يقوم الMD5 باستخدام MD5 hashes يحول شكل الpassword لشئ مثل هذا d41d8cd98f00b204e9800998ecf8427e
البرتوكولات التي تدعمه
OSPF, RIPv2, BGP, and EIGRP

ملحوظة الEigrp يستخدم MD5 Authentication فقط أو لا يستخدم Authentication نهائي

Configuring EIGRP MD5 Authentication سوف نستخدم إن شاء الله الخطوات التالية
1- ادخل على الinterface المراد عم Authentication عليها لاحظ هذا انك تعمل الAuthentication على interface محددا
2- اكتب الأمر التالي
Router(config-if)#ip authentication mode eigrp autonomous-system md5
لكي تحدد نوع الAuthentication المستخدم
3-تقوم بصنع سلسة مفاتيح وتقوم بتسميتها بالأمر التالي
Router(config)# key chain name-of-chain
4-تعرف الKey id الخاصة بالمفتاح في سلسة المفاتيح كترتيب
Router(config-keychain)# key key-id
5-تكتب الباسورد الخاصة بالمفتاح بهذا الأمر
Router(config-keychain-key)# key-string text
6-ممكن تحدد مدة زمنية للمفتاح وممكن أيضا انك تحدد هل هذا المفتاح فقط لقبول الEigrp Packets أم لإرسال Eigrp Packets

لجعل المفتاح مخصص لقبول الPacket المستقبلة فقط (Accept Eigrp Packet)
Router(config-keychain-key)#accept-lifetime start-time {infinite | end-time | durationseconds}

start-time : بداية عمل هذا المفتاح
Infinite: معناه أن يبدأ يقبل Eigrp Packet من أول الوقت المحدد اى دون تحديد وقت لانتهاء الKey
Durationseconds: تحديد المدة بالثواني بمعنى مثلا جعله يعمل مدة 25000 sec
end-time : تاريخ انتهاء عمل هذا المفتاح

لجعل المفتاح يوضع مع الPacket المرسلة فقط (Send eigrp Packet)Router(config-keychain-key)#send-lifetime start-time {infinite | end-time | durationseconds}
نفس الشرح السابق

ملحوظة
إذا لم تحدد هل المفتاح للإرسال فقط أو للاستقبال اى بمعنى أخر لم تكتب الأمرين السابقين فان المفتاح سيعمل في الحالتين الإرسال والاستقبال

مثال عملي

 

في هذه الحالة الروترين 1,2 تم عمل Authentication بينهم طبعا MD5
أولا :الConfiguration الخاص بR1
R1#show running-config

key chain R1chain
key 1
key-string firstkey
accept-lifetime 04:00:00 Jan 1 2006 infinite
send-lifetime 04:00:00 Jan 1 2006 04:01:00 Jan 1 2006
key 2
key-string secondkey
accept-lifetime 04:00:00 Jan 1 2006 infinite
send-lifetime 04:00:00 Jan 1 2006 infinite

interface FastEthernet0/0
ip address 172.16.1.1 255.255.255.0
!
interface Serial0/0/1
bandwidth 64
ip address 192.168.1.101 255.255.255.224
ip authentication mode eigrp 100 md5
ip authentication key-chain eigrp 100 R1chain
!
router eigrp 100
network 172.16.1.0 0.0.0.255
network 192.168.1.0
auto-summary

لاحظ أن هناك أكثر من مفتاح وطبعا هذا شيء عادى
ملحوظة مهمة الAuthentication يكون بين الNeighbors فقط وممكن تعمل Authentication على interface وأخرى لا

ثانيا :الConfiguration الخاص بR2

R2#show running-config

key chain R2chain
key 1
key-string firstkey
accept-lifetime 04:00:00 Jan 1 2006 infinite
send-lifetime 04:00:00 Jan 1 2006 infinite
key 2
key-string secondkey
accept-lifetime 04:00:00 Jan 1 2006 infinite
send-lifetime 04:00:00 Jan 1 2006 infinite

interface FastEthernet0/0
ip address 172.17.2.2 255.255.255.0
!
interface Serial0/0/1
bandwidth 64
ip address 192.168.1.102 255.255.255.224
ip authentication mode eigrp 100 md5
ip authentication key-chain eigrp 100 R2chain
!
router eigrp 100
network 172.17.2.0 0.0.0.255
network 192.168.1.0
auto-summary

وهذا الDebug تظهر عندما تنجح عمليه الاتصال مع الAuthentication

R1#debug eigrp packets
EIGRP Packets debugging is on
(UPDATE, REQUEST, QUERY, REPLY, HELLO, IPXSAP, PROBE, ACK, STUB, SIAQUERY, SIAREPLY)
*Apr 21 16:38:51.745: EIGRP: received packet with MD5 authentication, key id = 1
*Apr 21 16:38:51.745: EIGRP: Received HELLO on Serial0/0/1 nbr 192.168.1.102
*Apr 21 16:38:51.745: AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/
rely 0/0

ماذا لو تم تغيير الPassword الخاصة بأحد الروترات
مثال
R1(config-if)#key chain R1chain
R1(config-keychain)#key 2
R1(config-keychain-key)#key-string wrongkey

سيظهر هذا في R2

R2#debug eigrp packets
EIGRP Packets debugging is on
(UPDATE, REQUEST, QUERY, REPLY, HELLO, IPXSAP, PROBE, ACK, STUB, SIAQUERY, SIAREPLY)
R2#
6 of 7

*Apr 21 16:50:18.749: EIGRP: pkt key id = 2, authentication mismatch
*Apr 21 16:50:18.749: EIGRP: Serial0/0/1: ignored packet from 192.168.1.101, opcode = 5
(invalid authentication)
*Apr 21 16:50:18.749: EIGRP: Dropping peer, invalid authentication
*Apr 21 16:50:18.749: EIGRP: Sending HELLO on Serial0/0/1
*Apr 21 16:50:18.749: AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Apr 21 16:50:18.753: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 100: Neighbor 192.168.1.101
(Serial0/0/1) is down: Auth failure
R2#show ip eigrp neighbors
IP-EIGRP neighbors for process 100

لاحظ عندما تم تغيير كلمة السر في Router 1 وانه لما أرسل R1 الpacket الخاصة إلى R2 فارد أن يتحقق من كلمة السر فوجدها ليست مطابقة للموجودة عنده فقام بقطع العلاقة مع Router 1 وهذا واضح جدا عندما قمنا بكتابة الأمر مره أخري (show ip eigrp neighbors) فلم يجد Neighbors

 


14-Debug & Show Commands

أولا ال show commands

1- لمشاهدة الNeighbors
show ip eigrp neighbors
2-لمشاهدة الRouting Table اى أفضل المسارات لجميع أنواع البروتوكولات المستخدمة ومنها الEigrp
The show ip route
وإذا أردت المسارات الخاصة فقط بالEigrp تكتب الأمر التالي
show ip route eigrp
3-لمشاهدة معلومات عن الDynamic Protocol المستخدمة ومنها الEigrp
show ip protocols
4-لمشاهدة جميع الinterfaces التي يعمل عليها الEigrp
show ip eigrp interfaces
5- لمشاهدة اللTopology Table
The show ip eigrp topology
ملحوظة هامه عندما تكتب هذا الأمر تظهر لك المسارات مثل الأتي
P 172.17.0.0/16, 1 successors, FD is 40514560
via 192.168.1.102 (40514560/28160), Serial0/0/1

FD هو هذا الرقم 40514560
AD هو هذا الرقم 28160

6- إذا أردت أن تعرف عدد أنواع ال Eigrp Packet المرسلة والمستقبلة فعليك بهذا الأمر
The show ip eigrp traffic

ثانيا ال Debug commands

1- لمشاهدة الPackets المرسلة والمستقبلة
debug eigrp packets
3-لإظهار كل شيء عن الEigrp
debug ip eigrp
4- لعرض عمليات الخاصة بالSummary Route فقط
debug ip eigrp summary
5- لعرض العلاقة بين الneighbors مثل الHello Packet
debug eigrp neighbors

وهكذا نكون انتهينا من هذا الEigrp،حقيقة له العديد من المميزات التي أبهرت العديد من الناس،ولقد اطلعت على بعض المميزات التي هي على قيد الإنشاء مثل

1- EIGRP routed VLANs
2- EIGRP extended community support
3- EIGRP security enhancements
4- EIGRP “shutdown” command
5- Bandwidth scalability to10G and beyond
6- Remote/multipoint summary support
7- MARP/BFD support
8- Better field debugs

بقلم:أحمد عمر محمود

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

الكاتب geek4arab

geek4arab

مواضيع متعلقة

التعليقات مغلقة