يقوم ال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 المقابلة حتى لا يحدث مشاكل