**Enhanced Interior Gateway Routing Protocol** - **(EIGRP)** е лиценциран, насочувачки протокол на CISCO, заснован на оригиналниот IGRP. EIGRP е напреден distance-vector насочувачки протокол со оптимизација за минимизирање на насочувачката нестабилност настаната после промени во топологијата како и употребата на опсегот и пресметувачката сила на насочувачот. Насочувач кој поддржува EIGRP автоматски ќе редистрибуира информација за насока до IGRP соседите со претворање на 32 битна EIGRP метрика во 24 битна IGRP метрика. Повеќето од насочувачките оптимизации се засновани на Расејувачкиот Алгоритам за Ажурирање (Diffusing Update Algorithm – DUAL) од SRI и гарантира ослободување од јамки како и овозможуање на механизам за брза конвергенција.

Основни Операции
----------------

Собраните податоци од EIGRP се складирани во три табели:

* Табела на соседи: Чува податоци за соседните насочувачи, т.е. за дирекно поврзаните интерфејси
* Табела на топологија: Оваа табела не ја чува комплетната топологија на мрежата туку ги содржи само состојбите на насочувачката табела собрани од дирекно поврзаните соседи. Оваа табела соджи список на дестинациски мрежи во EIGRP рутирана мрежа заедно со нивната поединечна метрика. Исто така за секое одредиште се идентификуваат и се чуваат во табела следбеникот и возможниот следбеник, ако постојат. Секое одредиште во тополошката табела се бележи како „Пасивна" (состојба кога насочувачот е стабилизиран и ги знае дестинациските рути) или „Активна" (кога топологијата има промени и насочувачот е во процес на активно ажурирање на дестинациската рута).
* Насочувачки табели: Ги чува вистинските рути до сите одредишта. Насочувачката табела е популаризирана од тополошката табела со секоја дестинациска мрежа која има идентификувано следбеник и опционално возможен следбеник. Следбеникот и возможниот следбеник го опслужуваат следниот скок на насочувачот за тоа одредиште.

За разлика од повеќето distance-vector протоколи, EIGRP не се потпира на известувања за периодичните рути, со цел да ја задржи тополошката табела. Насочувачки информации се менуваат само со соседите и се праќа само промената. Се користат и насочувачки тагови.

EIGRP Композитна и векторска метрика
------------------------------------

EIGRP здружува шест различни векторски метрики со секоја рута и зема предвид само четири при пресметка на композитна метрика:

```
Router>show ip eigrp topology 10.0.0.1 255.255.255.255
IP-EIGRP topology entry for 10.0.0.1/32
  State is Passive, Query origin flag is 1, 1 Successor(s) , FD is 40640000
  Routing Descriptor Blocks:
  10.0.0.1 (Serial0/0/0) , from 10.0.0.1, Send flag is 0x0
      Composite metric is (40640000/128256) , Route is Internal
      Vector metric:
        Minimum bandwidth is 64 Kbit
        Total delay is 25000 microseconds
        Reliability is 255/255
        Load is 197/255
        Minimum MTU is 576
        Hop count is 1
```

Опсег

* Минимален опсег (во килобити во секунда) долж патеката од насочувачот до дестинациската мрежа.

Тежина

* Број во ранг од 1 до 255. 255 значи заситен.

Доцнење

* Вкупно доцнење (во 10 секунди во микросекунда) долж патеката од насочувачот до дестинациската мрежа.

Надежност

* Број во ранг од 1 до 255. 255 значи многу надежен.

MTU

* Минимална патека, никогаш не се користи при пресметка на метрики.

Пресметка на скокови

* Број на насочувачи, пакет поминува кога се рутира оддалечена мрежа, користејќи ја границата EIGRP AS.

**К Вредности.** Постојат 5 К вредности кои се користат во пресметките на композитната метрика, од К1 до К5. К вредностите се однесуваат како мултипликатори или модификатори. К1 не е еднаков со опсегот.
По дифолт, само вкупното доцнење и минималниот опсег се разгледуваат кога се стартува EIGRP на насочувач, но администраторот може да овозможи или да ги оневозможи сите К вредности потребни за разгледување на други векторски метрики.
Заради компјутерските рути тие се комбинираат заедно во тежинска формула за да се добие единечна метрика,

{\displaystyle {\bigg [}{\bigg (}K\_{1}\cdot {\text{Bandwidth}}+{\frac {K\_{2}\cdot {\text{Bandwidth}}}{256-{\text{Load}}}}+K\_{3}\cdot {\text{Delay}}{\bigg )}\cdot {\frac {K\_{5}}{K\_{4}+{\text{Reliability}}}}{\bigg ]}\cdot 256}
каде константите од К1 до К5 може да бидат поставени од корисникот. Многу важен но не толку очигледен факт е дека ако К5 е поставен на нула, изразот {\displaystyle {\tfrac {K\_{5}}{K\_{4}+{\text{Reliability}}}}} е неискористлив.
По дифолт, К1 и К3 се поставуваат на еден, а се останато на нула, редуцирајќи ја горната формула на (Bandwidth+Delay)\*256.
Овие константи мора да се постават на иста вредност за сите насочувачи во EIGRP систем инаку најверјатно ќе резултира со насочувачки јамки. CISCO насочувачите кои работат на EIGRP, нема да формираат EIGRP соседство и ќе забележат за несогласувањата во К вредностите додека вредностите не се иденични во насочувачите.
EIGRP го мери опсегот и доцнењето со следниве метрики:

Опсег за EIGRP = 107 / Интерфејс опсегот
Доцнење за EIGRP = Интерфејс доцнењето / 10
На CISCO насочувач, интерфејс опсегот е параметар кој статички се конфигурира, изразен во килобити во секунда (овие поставувања имаат улога само при пресметување на метриката, а не на реалниот линиски опсег). Делејќи ја вредноста од 107 kbit/s (т.е. 10 Gbit/s) со изразот за интерфејс опсегот, се враќа вредност користена во тежинската формула. Аналогно, интерфејс доцнењето е параметар конфигуриран статички изразен во микросекунди. Делејќи го интерфејс доцнењето со 10, се враќа вредност за доцнење изразено во микросекунди кое се користи во тежинската формула.
IGRP ја користи истата основна формула за пресметка на глобалната метрика, единствената разлика е тоа што IGRP формулата не го содржи скалираниот фактор 256. Всушност овој скалирачки фактор беше претставен за да ја олесни комактибилноста помеѓу EIGRP и IGRP. Во IGRP вкупната метрика е 24 битна вредност, додека EIGRP користи 32 битна вредност за изразување на метриката. Со множење на 24 битна метрика со фактор 256 (поместувајќи 8 бита во лево) вредноста се проширува во 32 бити и обратно. На овој начин се прераспределуваат информациите помеѓу EIGRP и IGRP вклучувајќи едноставни делења или множења на вредноста на метриката со 256, што се извршува автоматски.
EIGRP исто така ја одржува и пресметката за скок за секој насочувач, меѓутоа не се користи во пресметка на метриката. Ова само се потврдува во предефинирниот максимум на EIGRP насочувач (по дифолт се поставува на 100 и може да се промени во ранг од 1-255). Насочувачите кои имаат метрика за скок повисока од максимумот, ќе бидат рекламирани како недостапни од страна на EIGRP насочувачот.

Следбеник
---------

Следбеник за одредеено одредиште е следниот скок на насочувачот кој ги задоволува овие два услови:

* Го обезбедува најкраткото растојание до одредиште
* Гарантира дека нема да е дел од некоја насочувачка јамка

Првиот услов може да биде задоволен со споредување на метриките од сите соседни насочувачи кои ја рекламираат тоа одредиште, зголемувајќи ја метриката со линк до тој сосед и селектирајќи сосед кој ќе врати најмало вкупно растојание. Вториот услов може да биде задоволен со тестирање на т.н. возможен услов за секој сосед кој ја рекламира тоа одредиште. Може да постојат повеќе следбеници за тоа одредиште, во зависност од реалната топологија.
Следбениците за одредиштето се зачувуваат во тополошка табела, кои подоцна се користат за популаризирање на насочувачката табела како следни скокови за тоа одредиште.

Возможни следбеници
-------------------

Возможен следбеник за некоја одредеено одредиште е следен скок на насочувачот за кого е задоволен следниот услов:

* Гарантира дека нема да е дел од некоја насочувачка јамка

Овој услов се потврдува со тестирање на физибилити условот.
Секој следбеник е и возможен следбеник. Меѓутоа во многу наводи за EIGRP изразот „возможен следбеник" се користи за да ги обележи оние насочувачи кои овозможуваат патека без јамки, но кои не се следбеници. 
Возможен следбеник овозможува работна рута до истата одредиште со поголема оддалеченост. Во секое време насочувачот може да праќа пакети до рута обележана како пасивна, до било кои следбеници или возможни следбеници без предупредувања и овој пакет ќе се достави. Возможните следбеници се чуваат во тополошката табела.
Возможните следбеници делотворно овозможуваат резервна рута во случај постоечкиот следбеник да умре. Исто така кога се врши unequal-cost load-balancing (балансирање на мрежен сообраќај во инверзна пропорција со цените на рутите), возможните следбеници се користат за следен скок во насочувачката табела за тежински балансираните одредишта.
По дифолт, вкупниот број на следбеници и возможни следбеници за одредиште чувана во насочувачка табела е ограничен на четири. Ова ограничување може да варира во ранг од 1 до 6. Во поновите верзии на CISCO IOS (пример 12.4) рангот е меѓу 1 и 16.

Активна и Пасивна Состојба
--------------------------

Одредиштето во тополошката табела може да се означи како активна или пасивна. Пасивна состојба е состојба кога насочувачот ги има идентификувано следбениците за одредиштето. Одредиштето се менува во активна кога тековниот следбеник повеќе не го задоволува физибилити условот и повеќе не постојат возможни следбеници за тоа одредиште (на пример не се достапни резервни рути). Одредиштето се менува од активна во пасивна кога насочувачот примил одговор за сите прашања до соседите. Ако следбеникот престане да го задоволува условот за возможност но постои најмалку еден возможен следбеник кој е достапен, насочувачот ќе промовира возможен следбеник со најмала вкупна оддалеченост (оддалеченост пријавена од возможниот следбеник плус цената на линкот до соседот) до новиот следбеник и одредиштето се менува во пасивна состојба.

Пријавена оддалеченост и возможна оддалеченост
----------------------------------------------

Пријавена оддалеченост (Reported Distance - RD) е вкупната, рекламирана метрика долж патеката до дестинациската мрежа од соседот. Ова растојание понекогаш се вика Рекламирано растојание (AD) и е еднакво со тековното најкратко растојание од следбеникот до следниот насочувач.
Возможна оддалеченост (Feaisible Distance - FD) е најкраткото познато растојание од насочувач до некое одредиште. Ова претставува пријавена оддалеченост (RD) + цената да се стигне до соседниот насочувач од кој RD беше пратена. Важно е да се забележи дека метриката претставува **последен премин од активна во пасивна состојба**. Со други зборови, претставува историски најкраткиот патека до одредеено одредиште. Додека рутата е во пасивна состојба, FD ги ажурира само намалените вредности на активните растојанија до одредиштето. Од друга страна, ако насочувачот има потреба да влезе во активна состојба за тоа одредиште, FD ќе ажурира нова вредност по премин на насочувачот од активна во пасивна состојба. Ова е единствен случај каде FD може да се зголеми. Преминот од активна во пасивна состојба бележи нов почеток за таа рута.
На пример, ако до новооткриеното одредиште X премине од активна во пасивна состојба, со вкупно растојание 10, насочувачот ги поставува RD и FD на 10. Подоцна тоа растојание се намалува од 10 на 8. Ова растојание останува во пасивна состојба (бидејќи растојанието се намалило, не е прекршен физибилити условот) и насочувачот ги ажурира FD и RD на 8. Дури подоцна растојанието се зголемува на 12, но т.ш. сè уште постои валиден следбеник или возможен следбеник кој е достапен. Во овој случај RD се ажурира на 12, меѓутоа FD ќе остане со вредност 8. Следува дека вредностите на RD и FD ќе бидат различни. На крајот, реалниот следбеник пропаѓа и не постои друг возможен следбеник кој може да се идентификува. Следува дека насочувачот мора да премине во активна состојба и да ги праша неговите соседи за нова рута до одредиште X. Да претпоставиме дека новооткриената патека до одредиштето има вкупно растојание 100, насочувачот ќе премине во пасивна состојба и ќе ги ажурира FD и RD за новата најкратка патека, во овој случај 100.

Физибилити Услов
----------------

Физибилити услов е доволен услов за непостоење на јамки во EIGRP рутирана мрежа. Се користи за избор на следбеници и возможни следбеници кои гарантираат дека рутата е ослободена од јамки за дадеено одредиште. Упростената формулација е впечатливо едноставна:
*Ако, за тоа одредиште, соседниот насочувач рекламира растојание кое е строго помало од возможното растојание, тогаш тој сосед лежи на рута ослободена од јамки за тоа одредиште.*
Секој сосед што ја задоволува релацијата RD<FD за одредеено одредиште е рута која е ослободена од јамки за тоа одредиште.
Овој услов е наречен Услов за Изворен Јазол и е еден од најеквивалентните услови кој беше предложен и докажан од доктор J. J. Garcia Luna Aceves на SRI.
Важно е да се сфати дека овој услов е доволен а не потребен услов. Тоа значи дека соседите кои го задоволуаат овој услов гарантирано се наоѓаат на патека која е ослободена од јамки за тоа одредиште, меѓутоа исто така може да постојат други соседи кои се наоѓаат на патека ослободена од јамки и кои не го задоволуваат овој услов. Но овие соседи не ја обезбедуваат најкратката патека до одредиштето, па според тоа нивното неискористување не претставува значајно ослабување на функционирањето на рутата. Овие соседи повторно ќе бидат оценети за можно користење ако премине во активна состојба за тоа одредиште.

EIGRP класификација како distance-vector
----------------------------------------

Во минатото, EIGRP беше опишуван во многу маркетинг материјали на CISCO, како балансиран, хибриден, насочувачки протокол, наводно комбиниран со најдобрите додатоци од link-state и distance-vector протоколите. Овој опис не е точен од принципиелна гледна точка. По дефиниција:

* Distance-vector насочувачкиот протокол се заснова на дистрибуирана форма на Белман – Форд алгоритмот за наоѓање на најкраткиот пат. Работи на принцип на менување на векторот на растојанијата до сите одредишта познати за тој јазол. Понатамошни тополошки информации не се разменуваат. На овој начин, секој јазол знае за сите одредишта присутни во мрежата и знае за резултирачкото растојание до секое одредиште преку секој сосед на јазолот. Но, јазолот не знае за топологијата на мрежата ниту пак има потреба од неа.
* Link-State насочувачкиот протокол се заснова на алгоритми за наоѓање на најкраткиот пат во граф (најкористен алгоритам е алгоритмот на Dijkstra). Работат на размена на опис за секој јазол и точната поврзаност со секој сосед. Следува дека секој јазол ја знае точната топологија на мрежата, т.е. има графофска репрезентација на мрежата. Користејќи го тој граф, секој јазол го пресметува најкраткиот пат од себе до достапното одредиште.

EIGRP насочувачите разменуваат пораки кои содржат информации за опсег, доцнење, тежина, надежност и MTU на патеката до секое одредиште и се познати како рекламни насочувачи. Секој насочувач ги користи овие параметри за пресметка на резултирачкото растојание од одредиштето. Во пораката не се присутни други дополнителни тополошки информации. Следува дека EIGRP по својата природа е distance-vector протокол.
Вистина е дека EIGRP користи бројни техники кои не се присутни во стандардните distance-vector протоколи, односно:

* Користи експлицитни hello пакети за да го открие и одржува соседството меѓу насочувачите
* Користи надежни протоколи за пренос на ажурирањата на насочувачите
* Користи физиилити услов за избор на патека без јамки
* Користи делбено сметање за да ги вклучи засегнатите делови од мрежата во пресметката на најкраткиот пат

Меѓутоа ниедна од овие техники не прави разлика меѓу основните принципи на EIGRP, што разменува вектори од растојанија до секоја позното одредиште во мрежата без целосно познавање на мрежната топологија и како што впрочем слични техники се користат во другите distance-vector протоколи (DSDV и AODV). ЕIGRP претставува напреден тип на distance-vector насочувачки протокол, а не е хибриден протокол.

Други детали
------------

EIGRP го поддржува бескласното меѓудоменско насочување (CIDR), дозволувајќи користење на променлива должина на маската на подмрежата – едно од подобрувањата на протоколот во однос на неговиот претходник.
EIGRP не се користи во апликации каде насочувачот треба да ја знае точната топологија на мрежата (на пример сообрачајното инженерство во MPLS).
EIGRP може да работи како одделен насочувачки процес за Интернет Протоколот (IP), IPv6, IPX и Apple Talk, со користење на независни протокол модули (PDMs), но не ја задоволува транслацијата меѓу протоколите.
Пример за постаување на EIGRP на CISCO IOS насочувач за приватна мрежа. Wildcard (адреса која се користи како замена, џокер) 0.0.15.255 е пример за подмрежа со максимум 4096 хоста (домаќини) – претставува bitwise комплемент на маската на подмрежата 255.255.240.0. Наредбата **no auto summary** овозможува автоматска сумаризација на рути во класни граници кој ќе резултира со јамка во бесконечната мрежа.

```
Router> **enable**
Router# **config terminal**
Router(config)# **router eigrp 1**
Router(config-router)# **network 10.201.96.0 ?**
  A.B.C.D  EIGRP wild card bits
  <cr>
Router(config-router)# **network 10.201.96.0 0.0.15.255**
Router(config-router)# **no auto-summary**
Router(config-router)# **end**
```

Наводи
------

1. 1 2

* Cisco Systems (2005-09-09), *Enhanced Interior Gateway Routing Protocol*, Document ID 16406, Посетено на 2008-04-27.
* Cisco Systems (n.d.), *Internetworking Technology Handbook: Enhanced Interior Gateway Routing Protocol (EIGRP)*, Посетено на 2008-04-27.
* Cisco Systems (2005-08-10), *Introduction to EIGRP*, Document ID 13669, Посетено на 2008-04-27.
* Lammle, Todd (2007), *CCNA Cisco Certified Network Associate Study Guide* (Sixth. изд.), Indianapolis, Indiana: Wiley Publishing, ISBN 978-0-470-11008-9.

Надворешни врски
----------------

* Cisco IOS IPv6 Configuration Guide, Release 12.4: Implementing EIGRP for IPv6 Архивирано на 8 јуни 2011 г.
* EIGRP—A Fast Routing Protocol Based on Distance Vectors Архивирано на 16 април 2007 г.
* IGRP Metric
* Loop-free Routing Using Diffusing Computations Архивирано на 11 мај 2008 г.
* Termination Detection for Diffusing Computations
* What you need to know about EIGRP Архивирано на 4 јануари 2009 г.
* EIGRP IP default network command Архивирано на 3 декември 2010 г.