Od ostatniego wpisu na temat urządzeń Cisco minął prawie miesiąc. Egzamin coraz bliżej, a więc najwyższy czas zająć się powtórką protokołu trasowania EIGRP. Jest to opatentowany protokół firmy Cisco, działający wyłącznie na urządzeniach tej firmy. W związku z tym, że firma Cisco zdominowała rynek routerów, jest to istotny i często używany protokół. W ramach przygotowań do egzaminu, poniżej zamieszczam listę komend potrzebnych, aby ten protokół skonfigurować na routerze.
Protokół RIP, o którym pisałem w trzeciej części moich notatek o urządzeniach Cisco, wybiera najlepszą trasę na podstawie ilości routerów pomiędzy źródłem a celem wysyłanych pakietów. Za najlepszą zostaje uznana trasa z najmniejszą ilością routerów pośrednich. Maksymalna ilość routerów na trasie pakietu nie może przekroczyć 15. Jest to rozwiązanie proste i sprawne. Niestety problem pojawia się, kiedy najkrótsze fizycznie trasy mają niską przepustowość danych. Czasami pakiety dotarłyby do celu szybciej pokonując fizycznie dłuższą trasę, jeżeli przepustowość połączenia pomiędzy routerami na trasie dłuższej byłaby lepsza niż pomiędzy routerami na trasie krótszej. Problem ten rozwiązuje protokół EIGRP (ulepszona wersja wycofanego z użycia protokołu IGRP). W przypadku tego protokołu, podstawą do ustalenia najlepszej trasy jest przepustowość połączenia oraz opóźnienie, z jakim pakiety docierają do celu (bandwidth i delay).
Inną zaletą protokołu EIGRP w porównaniu z RIP jest to, że aktualizacje nie są wysyłane tak jak w przypadku RIP co 30 sekund (co niepotrzebnie zwiększa natężenie ruchu w sieci). Aktualizacje w EIGRP wysyłane są tylko wtedy, gdy nastąpi zmiana w konfiguracji sieci (dodanie nowego urządzenia, nowej sieci itp.). Zamiast aktualizacji co 30 sekund, wysyłane są bardzo niewielkie pakiety hello, które informują sąsiednie routery o obecności naszego urządzenia. Pakiety te ze względu na swój niewielki rozmiar nie zwiększają natężenia ruchu w sieci, w związku z tym wysyłane są dość często, co 5 sekund (w przypadku sieci o przepustowości mniejszej niż 1.544 Mbps jest to 60 sekund). Protokół EIGRP używa także innego timera, tzw. hold time, który decyduje jak długo informacja o sąsiednich routerach przechowywana jest w pamięci w przypadku nieotrzymania pakietów hello. Hold time w EIGRP wynosi 15 sekund (180 sekund w przypadku sieci o przepustowości mniejszej niż 1.544 Mbps).
Aby rozpocząć proces EIGRP na routerze, należy wydać następującą komendę:
Router(config)# router eigrp 1
Ponieważ na routerze można jednocześnie uruchomić więcej niż jeden proces EIGRP (każdy dla jednego autonomicznego systemu), komenda router eigrp musi zawierać numer, jakim chcemy opatrzyć nasz proces EIGRP (porcess ID). Numer ten musi być taki sam na każdym routerze należącym do tego samego autonomicznego systemu co nasz, a więc na każdym routerze, z którym chcemy utrzymywać wymianę informacji na temat tras.
Oto jak dodaje się sieć do procesu EIGRP:
Router(config)# router eigrp 1
Router(config-router)# network 172.16.0.0
Ponieważ w powyższej komendzie nie została podana maska podsieci, router uwzględni w procesie EIGRP (a więc także w pakietach aktualizacyjnych wysyłanych do innych routerów) wszystkie znane mu podsieci mieszczące się w sieci klasy B 172.16.0.0/16. Aby zadeklarować wyłącznie wybranej sieci, potrzebna jest odwrócona maska podsieci (wildcard mask) określająca dokładnie, która sieć ma być użyta:
Router(config-router)# network 172.16.0.8 0.0.0.3
Powyższa komenda dodała sieć 172.16.0.8 maska podsieci 255.255.255.252 do procesu EIGRP. Aby obliczyć odwróconą maskę podsieci (wildcard mask), należy od adresu 255.255.255.255 odjąć maskę podsieci:
| 255. | 255. | 255. | 255 |
| 255. | 255. | 255. | 252 |
| 0. | 0. | 0. | 3 |
Aby router mógł wysyłać i odbierać pakiety aktualizujące informacje o trasach do innych sieci, najpierw musi ustanowić zależność przyległości z routerem po drugiej stronie. Do tego celu używane są pakiety hallo. Do weryfikacji, czy taka zależność została utworzona, służy następująca komenda:
Router# show ip eigrp neighbors
Informacja uzyskana po wydaniu tej komendy będzie zawierała m.in. adres IP przyległych routerów, lokalny interfejs na którym dany router został wykryty, czas trwania zależności przyległości i licznik timera hold.
W przypadku protokołu EIGRP należy zwrócić uwagę, aby nie wydawać komendy passive-interface na interfejsach łączących z innymi routerami, gdyż uniemożliwi to routerom wymianę informacji na temat tras. Natomiast tak samo jak w innych protokołach, ogólne informacje o procesie EIGRP na lokalnym routerze można uzyskać wydając komendę show ip protocols. Kiedy zbudujemy sieć składającą się z więcej niż jednego routera, możemy zweryfikować tablicę trasowania na naszym routerze następującą komendą:
Router# show ip route
Komenda ta pokaże wszystkie trasy do sieci znane naszemu routerowi. Przy każdej sieci widoczna będzie symbol reprezentujący protokół, dzięki któremu router dowiedział się o danej trasie. Protokół EIGRP oznaczony jest literką D.
Jak już pisałem wcześniej, protokół EIGRP ustala, która trasa jest używana do przesyłania danych na podstawie przepustowości (bandwidth) i opóźnienia (delay) danego połączenia. Wartości te są ustalane przez administratora sieci i przypisywane do interfejsów na odpowiednich routerach; mogą być zmieniane w zależności od potrzeb. Istnieje również możliwość uwzględniania innych wartości: skuteczność (reliability) i obciążenie (load). Te wartości obliczane są co pięć minut automatycznie przez router i reprezentowane w wartości od 0 do 255 (im wyższa wartość tym lepsze połączenie). Należy pamiętać, że domyślnie protokół EIGRP używa tylko dwóch pierwszych z wymienionych tu wartości (przepustowość i opóźnienie).
Administrator sieci ma wpływ na to, które połączenie protokół EIGRP uzna za najlepsze (czyli którego będą używały routery). Można to regulować zmieniając przepustowość danego interfejsu następującą komendą w trybie konfiguracyjnym interfejsu (w tym przykładzie Serial 0/0):
Router# interface serial 0/0 Router(config-if)# bandwidth 64Jednostka stosowana w tej komendzie to kbps (kilobity na sekundę). Komenda ta nie zmienia rzeczywistej przepustowości danego interfejsu. Jest to jedynie wartość umowna używana przez niektóre protokoły (np. EIGRP i OSPF).
DUAL
DUAL to nazwa algorytmu używanego przez protokół EIGRP. Dzięki temu algorytmowi, protokół EIGRP jest szybszy niż protokół RIP. Protokół EIGRP przechowuje w pamięci routera nie tylko najkrótszą trasę do odległej sieci, ale także trasę rezerwową. Najkrótsza trasa do odległej sieci określana jest jako Successor, a trasa zapasowa określana jest jako Feasible Sucessor. Jeżeli trasa określana jako Successor przestanie być osiągalna, router nie musi wykonywać żadnych kalkulacji. Może od razu zacząć używać trasy zapasowej, Feasible Successor. Aby zobaczyć obie te trasy przechowywane w tablicy topologicznej routera, użyj następującej komendy:
Router# show ip eigrp topologyWyświetli się tabela podająca informacje o aktualnych trasach jak również o trasach zapasowych. Aby wyświetlić wszystkie trasy do odległych sieci - nie tylko najlepszą bądź zapasową - wydaj następującą komendę:
Router# show ip eigrp topology all-linksPowyższa komenda wyświetli wszystkie trasy do odległej sieci. Nie ma jednak gwarancji, że trasy te nie zapętlają się. Dla tego jeśli zaistnieje sytuacja, że którakolwiek z tych tras będzie miała być użyta, algorytm DUAL będzie użyty przez router do dokonania odpowiednich wyliczeń. To zabierze więcej czasu i zakłóci na jakiś czas komunikację na sieci.
Automatyczne podsumowywanie
Protokół EIGRP automatycznie podsumowuje sieci z tego samego zakresu i tej samej klasy. W nowoczesnych sieciach, gdzie nie stosuje się klas i używa się masek podsieci o zmiennej długości może to prowadzić do błędów. Aby tego uniknąć, podobnie jak w protokole RIPv2, należy wydać poniższą komendę:
Router(config)# router eigrp 1 Rotuer(config-router)# no auto-summaryRęczne podsumowywanie
Dla przykładowych sieci: 192.168.1.0/24, 192.168.2.0/24 oraz 192.168.3.0/24 routery mogą utrzymywać osobne wpisy w tabelach trasowych. Jednak po dokonaniu odpowiednich obliczeń, można również dokonać podsumowania tych trzech sieci jako 192.168.0/22 wydając taką komendę w trybie konfiguracyjnym interfejsu:
Router(config)# interface serial 0/0 Router(config-if)# ip summary-address eigrp 1 192.168.0.0 255.255.252.0 Router(config-if)# interface serial 0/1 Router(config-if)# ip summary-address eigrp 1 192.168.0.0 255.255.252.0Komendę tę należy wydać dla każdego interfejsu, który uczestniczy w procesie EIGRP (w powyższym przykładzie interfejsy seryjne 0/0 i 0/1).
Brama domyślna
Brama domyślna w protokole EIGRP dodawana jest przy użyciu następującej komendy:
Router(config)# ip route 0.0.0.0 0.0.0.0 serial 0/0 Router(config)# router eigrp 1 Router(config-router)# redistribute staticKomenda ta różni się od komendy używanej w protokołach RIP i OSPF.
Ilość komentarzy: 4
materiał zawarty w blogu to tylko I i II semestr CCNA. Będzie dalej? A może zabierzemy się razem do pracy i stworzymy coś razem?
— *Maciek Mon, 3 Jan 2011
Szymonie jesteś Wielki
— *Monika Tue, 29 Dec 2009
Świetna stronka, informacje napisane bardzo przystępnie oraz zrozumiale dla większości studentów :) Pozdrowienia z Politechniki Białostockiej!
— *Tommy Sat, 5 Dec 2009
Dobra "ściągawka" i powtórka materiału, poproszę o ciąg dalszy OSPF, switching itd. pozdrawiam
— *Cezary Sat, 3 Oct 2009