Tag: Loop

  • (TK) Budowa rutera”

    (TK) Budowa rutera”

    Funkcjonowanie 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

    • 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, przez co jest używany 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ą.
      • Konfiguracja metody Process Switching, jest możliwa za pomocą komendy [ip router-cache], wydanej w trybie konfiguracji globalnej.
    • 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, dalsza część komunikacji jest przetwarzana przez silnik przełącznika (SE). Należy przy tym pamiętać, że dla pakietu z innym adresem docelowym (IPv4 czy IPv6), procesor routingu 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.
    • 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, 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, bądź w przypadku odebrania pakietu kierowanego bezpośrednio do lokalnego urządzenia.
      • 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.

    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