(TK) Budowa rutera”

Budowa rutera

Podział funkcji rutera

  • Warstwa Management Plane – Nadzoruje proces zarządzania systemem Cisco IOS, za pomocą protokołu SSH, Telnet, HTTP czy HTTPS. Umożliwiając zdalną kontrolę oraz monitoring urządzenia, jak i jego systemu.
  • Warstwa Control Plane – Nadzoruje proces wymiany danych związanych z sieciami oraz trasami do nich prowadzącymi. Pomiędzy sąsiednimi urządzeniami sieciowymi, za pomocą protokołów routingu dynamicznego. Na podstawie zebranych informacji tworzy wspólną dla wszystkich protokołów tablicę RIB (Routing Information Base), przechowująca informacje o trasach routingu z najmniejszą metryką jak i najniższą wartością dystansu administracyjnego (AD) protokołu który daną trasę rozgłasza.
  • Warstwa Data, Forwarding Plane – Kieruje przepływem pakietów nadchodzących do rutera.

Metody przełączania pakietów

Przepływ danych w modelu Process Switching
  • Process Switching (Stosowany jedynie w starszych ruterach Cisco) – Stanowi najstarszą, najwolniejszą metodę kontroli przepływu danych, w której wszystkie nadchodzące pakiety są pojedynczo przetwarzane na poziomie systemu operacyjnego IOS, przez procesor (CPU). Proces ten znacząco zmniejsza wydajności urządzenia, a tym samym używany jest w ostateczności lub podczas rozwiązywania problemów sieciowych związanych z przepływem pakietów (Troubleshooting-u).
    • Komenda [show processes cpu] wyświetla listę aktywnych procesów obecnie przetwarzanych przez procesor CPU. Znajdujący się na tej liście proces „IP Input” określa ilość odwołań procesu przełączania pakietów, do procesora CPU.
    • W przypadku metody Process Switching, funkcja Load-balancing działa zgodnie z zasadą (Per-packet), kierującąc każdy następujący pakiet inną drogą prowadzącą do tej samej sieci docelowej.
    • Konfiguracja metody Process Switching, jest możliwa za pomocą komendy [ip router-cache].
    • Następujące pakiety są automatycznie obsługiwane za pomocą metody Process Switching, niezależnie od wspieranego rozwiązania (Router Cache Switching czy Topology Based Switching):
      • Pakiety kierowane do lokalnego urządzenia.
      • Pakiety zbyt skomplikowane dla obsługi sprzętowej.
      • Pakiety wymagające dodatkowych akcji (Np. ARP).
Przepływ danych w modelu Router Cache Switching / Fast Switching
  • Router Cache Switching / Fast Switching (Flow-based Switching / Demand-Based Switching / Router once, Switch many / NetFlow Switching) – Wykorzystuje procesor routingu (RP) do określenia drogi docelowej względem pierwszego nadesłanego pakietu należącego do jednego przepływu (Flow), dalsza część komunikacji jest przetwarzana przez silnik przełącznika (SE). Należy przy tym pamiętać, że dla pakietu z innym adresem docelowym (IPv4 bądź IPv6), procesor routingu RP musi przeprowadzić nowe poszukiwanie interfejsu docelowego.
    • W przypadku metody Fast Switching funkcja Load-balancing działa zgodnie z zasadą (Per-destination), kierującąc każdy następujący przepływ (Flow) inną drogą, na podstawie docelowego adresu IP.
Przepływ danych w modelu Cisco Express Forwarding
  • Topology Based Switching (CEF Cisco Express Forwarding) – Wykorzystuje procesor routingu (RP) wraz z informacjami warstwy trzeciej w celu stworzenia wydajnej, sprzętowej tablicy FIB (Forwarding Information Base). Zawierającej trasy pobrane z tablicy routingu (RIB), w celu osiągnięcia szybkiego przepływu nadchodzących pakietów. Dzięki temu rozwiązaniu procesor routingu (RP) jest używany jedynie w sytuacji zmiany topologii sieciowej (Obsługuje protokoły routingu dynamicznego), tudzież w przypadku odebrania pakietu kierowanego bezpośrednio do lokalnego urządzenia. Rutery Cisco w celu obsługi metody CEF, wykorzystują specjalnie zaprojektowane, wyspecjalizowane komponenty fizyczne zwane ASICs (Application-Specific Integrated Circuit).
    • W przypadku metody Cisco Expres Forwarding funkcja Load-balancing działa zgodnie z zasadą (Per-destination), kierującąc każdy następujący przepływ (Flow) inną drogą, na podstawie docelowego adresu IP.
    • Konfiguracja metody CEF, jest możliwa za pomocą komendy [ip cef], wydanej w trybie konfiguracji globalnej.

Przetwarzania ruchu sieciowego w urządzeniach modularnych

  • Supervisor – Główny moduł zarządzający przełącznikiem modularnym. Zawiera między innymi moduł Forwarding Engine, procesor switching-u (L2) oraz routingu (L3) jak inne podstawowe komponenty przełącznika wielowarstwowego.
  • Centralized Forwarding Architecture – Ruch sieciowy jest przetwarzany przez główny procesor RP (Route Processor).
  • Distributed Forwarding Architecture – Ruch sieciowy jest przetwarzany przez lokalny moduł FIB karty sieciowej (Local Forwarding Engine).

Interfejsy routera

  • Poszczególne stany interfejsów rutera oznaczają:
Line Status Protocol Status Description
Administratively Down Down Interfejs został wyłączony komendą „Shutdown”.
Down Down Interfejs ma problemy na poziomie warstwy pierwszej lub Interfejs po drugiej stronie połączenia została wyłączony za pomocą komendy „Shutdown”.
Up Down Interfejs ma problemy na poziomie warstwy drugiej.
Up Up Interfejs ma problemy na poziomie warstwy trzeciej, bądź też działa prawidłowo.
Znaczenia stanów interfejsów

Problemy związane z CEF

CEF Routing Loop

  • Problem zwany (Cisco Express Forwarding routing loops and sub-optimal routing) występuje w przypadku:
    • Skonfigurowania statycznej trasy routingu skierowanej na interfejs wielo-dostępowy (Multi-Access Interface).
    • Nawiązania relacji CEF na podstawie odpowiedzi (Proxy Address Resolution Protocol).

IP CEF Load Sharing

Wstęp do funkcji CEF Load Sharing

To ile oraz jakie trasy zostaną dodane do funkcji równoważenia obciążenia sieciowego, nie zależy od funkcji CEF a od konfiguracji protokołów routingu dynamicznego.
  • Aby funkcji Load Sharing mogła zostać aktywowana, funkcja CEF musi być włączona na konfigurowanym urządzeniu.
    • W celu sprawdzenia stanu funkcji CEF należy wykorzystać komendę [show ip cef].
    • Wyświetlenie następującego komunikatu [%CEF not running] oznacza że funkcja CEF nie została aktywowana.
  • Per-Destination Load Balancing (Fast Switching, CEF) – Domyśla metoda równoważonego obciążenia wykorzystana przez funkcję CEF. Kieruje ruchem sieciowym zgodnie z logika „Source-destination host pair”, dzięki czemu pakiety kierowane z jednego adresu źródłowego do jednego adresu docelowego nie zostaną rozdzielone pomiędzy dwoma interfejsami.
  • Per-Packet Load Balancing (Process Switching) – Umożliwia równoważne obciążenie ruchu sieciowego, nadchodzącego z jednego adresu źródłowego do jednego adresu docelowego, korzystając przy tym z logiki „Round-robin method”. Dzięki której równoważenie obciążenia sieciowego jest bardziej stabilne, ponieważ obydwie trasy są równomiernie utylizowane (Logika „Round-robin” kieruje jeden pakiet pierwszą trasą, drugi drugą trasą, trzeci znowuż pierwszą i tak dalej…). Niestety przy jednoczesnym narażeniu sieci na powstanie problemów związanych z  rutingiem asymetrycznym (Asymmetric Routing), czy problemów związanych otrzymywaniem pakietów poza kolejnością (Out-of-order packets). Metoda Per-Packet Load Balancing:
    • Jest polecana w przypadku wykorzystania pojedynczego adresu docelowego dla którego domyślne rozwiązanie Per-Destination Load Balancing nie sprawdza się (Ponieważ utylizowana będzie jedynie jedna trasa).
    • Nie jest polecana w przypadku ruchu VoIP dla którego istotne jest otrzymywanie segmentów sieciowych zgodnie z kolejnością w jakiej zostały nadane.
W przypadku metody "Per-packet load balancing" wszystkie interfejsy które przekierowują ruch do wskazanego miejsca docelowego muszą mieć aktywowaną funkcję CEF.
W przypadku sieci docelowej posiadającej więcej niż jedną trasę docelową, ta mająca obsłużyć następny przepływ (Flow) tudzież następny pakiet, będzie oznaczona gwiazdką (*). Co jest widoczne w wydruku komendy [show ip route sieć].

Algorytmy funkcji Load-Balance

  • Funkcja CEF wykorzystuje jeden z poniższych algorytmów, w celu zapewnienia równoważonego obciążenia względem wielu tras routingu. Obecnie wykorzystywany algorytm można zmienić za pomocą komendy [ip cef load-sharing algorithm algorytm] wydanej w trybie konfiguracji globalnej systemu IOS.
    • Original Algorithm – Domyślny algorytm wykorzystywany w systemie Cisco IOS.
    • Universal Algorithm – Umożliwia każdemu ruterowi znajdującemu się w tej samej sieci, na podjęcie innej niezależnej decyzji o podziale obciążenia, względem każdej pary adresów źródłowych jak i docelowych.
    • Tunnel Algorithm – Został zaprojektowany w celu zapewnienia równoważonego obciążenia dla pary adresów źródłowych i docelowych.
    • Include-ports Algorithm – Został wzbogacony o możliwość prowadzenia równoważonego obciążenia z wykorzystaniem portów warstwy czwartej (Layer 4).

Konfiguracja funkcji CEF

Podstawowa konfiguracja funkcji CEF

(config)# [no] ip cef

Dezaktywuje / Aktywuje funkcję CEF na konfigurowanym ruterze.

(config)# ip route-cache

Aktywuje funkcję „Process Switching” na konfigurowanym ruterze.

(config)# interface interfejs

Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

(config-if)# [no] ip route-cache cef

Dezaktywuje / Aktywuje funkcję CEF na konfigurowanym interfejsie sieciowym.

# show ip cef

Wyświetla zawartość tablicy FIB.

Rozszerzona konfiguracja funkcji CEF Load-Balance

(config)# ip cef load-sharing algorithm {original / tunnel [ID] / universal [ID] / include-ports {source [ID] / destination [ID] / source [ID] destination [ID]}}(original)

Określa jaki algorytm funkcji CEF będzie wykorzystywany.
* original – Ustawia algorytm (Original), oparty na logice haszowania adresu źródłowego z adresem docelowym.
* tunnel – Ustawia algorytm (Tunnel), wykorzystywany na połączeniach tunelowych.
* universal – Ustawia algorytm (Universal), oparty na logice haszowania adresu źródłowego z adresem docelowym jak i dodatkową wartością ID.
* include-ports – Ustawia algorytm (Include-ports), oparty na logice haszowania portów warstwy czwartej.

(config)# interface interfejs

Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

(config-if)# no ip load-sharing per-destination

Aktywuje metodę „Per-destination load balancing” dla funkcji CEF.

(config-if)# ip load-sharing per-packet

Aktywuje metodę „Per-packet load balancing” dla funkcji CEF.

# show ip route adres-IP

Wyświetla trasy routingu, prowadzące do wskazanej w komendzie sieci. W przypadku funkcji Load-Balance trasa oznaczona gwiazdą (*) będzie obsługiwała następny przepływ danych.

Czyszczenie pamięci

# clear cef table [ipv4 / ipv6] [vrf nazwa-VRF](ipv4)

Usuwa zawartość bazy FIB względem określonej rodziny adresów IP.

# clear ip cef adres-IP

Usuwa określony w komendzie adres IP, z bazy FIB.

# clear ip cache

Usuwa dane zmagazynowane przez funkcję Fast-switching.

# clear ip route

Usuwa zawartość tablicy routingu, wymuszając proces jej przebudowy (W tym bazy FIB).

Pozostałe tematy związane z routing-iem

PDFPRINT

Robert T Kucharski

Cisco Network Engineer in GPW.

Dodaj komentarz