Tag: BGP

  • (T) Protokoły routingu dynamicznego**

    (T) Protokoły routingu dynamicznego**

    Zagadnienia związane z routingiem

    Routing Dynamiczny

    • Zadaniem protokołu Routingu Dynamicznego jest wypełnienie Tablicy Routingu, trasami prowadzącymi do sieci docelowych. W tym celu rutery wymieniają między sobą wiadomości mające określić istniejące sieci oraz ich lokalizację a następnie za pomocą algorytmów wyznaczyć najkrótszą trasę do nich prowadzącą.

    Zagadnienia związane z routingiem

    • Routing Protocol – Zestaw zasad, wiadomości oraz algorytmów wykorzystywanych przez router do wykrywania nowych  sieci, jak i tras do nich prowadzących. Poprzez poszukiwanie nowych oraz analizowanie istniejących tras routingu w celu określenia jednej najlepszej trasy względem każdej z istniejących sieci. Przykładowym protokołem routingu dynamicznego jest protokół RIP, EIGRP, OSPF, BGP czy IS-IS.
    • Routed Protocol & Routable Protocol – Protokół określający logiczne zasady struktury oraz adresacji sieci, umożliwiające prowadzenie komunikacji przez rutery. Przykładowym protokołem tego typu jest protokół IPv4 bądź IPv6.
    • Routing Asymetryczny (Asymmetric Routing) – Zachodzi, gdy droga powrotna wysłanego pakietu jest inna, niż ta którą dotarł do celu. Sytuacja ta może powodować komplikacje związane z kolejkowaniem wysyłanych wiadomości np. utrudniając komunikację protokołu TCP tudzież zupełnie ją blokując. Przykładem takiej sytuacji jest użycie protokołu HSRP na przełącznikach warstwy trzeciej, przy zastosowaniu redundantnego podłączenia z przełącznikami L2 warstwy dostępowej. W sytuacji tej powracające pakiety odebrane przez urządzenie, które nie uczestniczyło w danej transmisji, nie będą posiadać adresu MAC nadawcy w swojej tablicy (ARP cache), przez co ruch ten zostanie odebrany jako nieznany ruch unicast-owy a tym samym zostanie odrzucony.
    • Czas oczekiwania (Latency) – Określa czas przez jaki pakiet podróżuje od źródła do celu, przez co jest szczególnie ważny dla aplikacji głosowych (Voice over IP). Przykładowo w standardzie G.114 wymagana jakość połączenia nie powinna przekraczać czasu oczekiwania rzędu 150ms. Na końcową wartość czasu oczekiwania składa się przepustowość (Bandwidth) oraz opóźnienie (Delay).
    • Następny przeskok (Next-Hop) –
    • Zbieżność (Convergence) –
    • Autonomous System (AS) –
    • Autonomous System Number (ASN) – 
    • Interior Gateway Protocol (IGP) – 
    • Exterior Gateway Protocol (EGP) – 

    Dystans Administracyjny

    • W przypadku wykorzystania dwóch protokołów routingu na jednym ruterze, może dojść do sytuacji w którym obydwa protokoły przedstawią dwie różne drogi dotarcia do tej samej sieci docelowej. Aby wybrać jedną najlepszą, ruter wykorzystuje stałą wartość administracyjną przypisywaną do każdego protokołu routingu dynamicznego. Ten z niższą wartością posiada większy priorytet na dodawanie tras do tablicy routingu.
    Protokół Routingu Dystans Administracyjny
    Connected 0
    Static Route 1
    BGP (External Routes) 20
    EIGRP (Internal Routes) 90
    IGRP 100
    OSPF 110
    IS-IS 115
    RIP 120
    EIGRP (External Routes) 170
    BGP (Internal Routes) 200
    DHCP default route 254
    Unusable 255

    Wartości dystansu administracyjnego (AD)

    Metryka

    • Hop Count (Skok) – Ilość routerów, jakie musi pokonać pakiet, aby dotrzeć do celu.
    • Bandwidth (Pasmo) – Ilość danych jaka może być przepuszczana przez połączenie, w określonym okresie czasu.
    • Przepustowość (Throughput) – Rzeczywista szerokość pasma (Bandwidth), zmierzona w określonym okresie czasu (Jest to prędkość pasma pomniejszona o istniejący ruch sieciowy oraz wszelkie opóźnienia).
    • Delay (Opóźnienie) –
    • Reliability (Osiągalność) – Wartość szacowana na podstawie awaryjności drogi.

    Protokoły routingu dynamicznego

    Protokoły routingu dynamicznego

    • Zadania dynamicznych protokołów routingu:
      • Dynamiczna nauka o sieci należącej do danej instancji routingu.
      • Nauka o najlepszej ścieżce prowadzącej do każdej dostępnej podsieci.
      • Dynamiczna wymiana danych o zmianach zachodzących w sieci.
    • Dynamiczne protokoły routingu należy dostosować do panujących w firmie warunków, zgodnie z następującymi cechami charakterystycznymi które posiadają:
      • Skalowalność (Scalability) – W zależności od tego jak wielka jest obecna sieć oraz jakie zmiany będą w niej zachodzić w przyszłości, należy dobrać odpowiedni protokół routingu lub wykorzystać routing statyczny. W przypadku opcji pierwszej należy zwrócić uwagę na np. ilość przeskoków (która w przypadku protokołu RIP jest ograniczona do 15).
      • Zależność od producenta (Vendor interoperability) – Łącząc urządzenia sieciowe wielu producentów, należy zwrócić uwagę czy wszystkie z nich wspierają wybrany protokół routingu, przykładowo do 2013 roku protokół EIGRP mógł działać jedynie na ruterach firmy Cisco.
      • Znajomość obsługi protokołu przez personel IT – Pracownicy firmy mogą być bardziej zorientowani w obsłudze jednego z protokołów, co może znacząco usprawnić jego wdrażanie w sieci lokalnej.
      • Prędkość i zbieżność (Speed of convergence) – Szybkość wykrywania i reagowania na zachodzące w sieci zmiany jest istotną chcą każdego z protokołów routingu.
      • Sumaryzację (Summarization) – Możliwość sumaryzacji wielu wpisów z tablicy routingu do pojedynczego, może znacznie zmniejszyć rozmiar tablicy przyspieszając proces routingu przy jednoczesnym odciążeniu procesora.
      • Routing wewnętrzny oraz zewnętrzny – W zależności od potrzeby w firmie może zostać wykorzystany protokół bramy zewnętrznej BGP, stosowany szczególnie w przypadku nadmiarowego połączenia z dostawcą ISP czy jedynie jeden z protokołów bramy wewnętrznej IGP.
    Protokoły routingu dynamicznego

    Exterior Gateway Protocol

    Protokoły IGP są wykorzystywane w komunikacji pomiędzy różnymi systemami autonomicznymi AS.

    Interior Gateway Protocol

    Protokoły IGP są wykorzystywane w komunikacji wewnątrz jednego systemu autonomicznego AS.
    • Protokoły wektora odległości (Distance-Vector) – Okresowo wymieniają całą zawartość swojej tablicy routingu, pomiędzy bezpośrednio przylegającymi sąsiadami. Przez co niezależnie od zaistniałych w sieci zmiany, każda wymaga ponownego przesyłania całej zawartości tablicy routingu, powodując duże opóźnienia (Speed of convergence).
      • Split Horizon – Funkcja podzielonego horyzontu (Split Horizon), blokuje wysyłanie aktualizacji dotyczących tras routingu, na interfejsie z którego trasy te zostały otrzymane. Tym samym niwelowane jest ryzyko powstawania pętli sieciowych.
      • Poison Reverse – W celu unieważnienia rozgłaszanej trasy routingu, ruter rozpoczyna jej rozgłaszanie z metryką Poison Reverse”, równą 16, co oznacza trasę nieosiągalną (RIP, IGRP).
      • EIGRP – Protokół EIGRP (Enhanced Interior Gateway Routing Protocol) stanowi nowszą wersje protokołu IGRP. Jako protokół routingu dynamicznego posiada pewne cechy protokołów Distance-vector oraz link-state, przez co nazywany jest hybrydą lub zaawansowanym protokołem wektora odległości (advanced distance-vector routing protocol). Oprócz częściowych aktualizacji EIGRP umożliwia wyliczanie metryki na podstawie innych czynników niż ilość przeskoków.
    Funkcjonalność RIPv1 RIPv2 IGRP EIGRP
      Metryk Obydwa protokoły jako metrykę wykorzystują ilość skoków, z ograniczeniem tej liczby do 15 możliwych przeskoków. Obydwa protokoły jako metrykę wykorzystują ilość skoków, z ograniczeniem tej liczby do 15 możliwych przeskoków.   Obydwa protokoły jako metrykę domyślnie wykorzystują pasmo i opóźnienie z dodatkowym wsparciem niezawodności. Obydwa protokoły jako metrykę domyślnie wykorzystują pasmo i opóźnienie z dodatkowym wsparciem niezawodności.  
    Adres rozgłoszeniowy 255.255.255.255 224.0.0.9 255.255.255.255 224.0.0.10
    VLSM NIE TAK NIE TAK
    CIDR NIE TAK NIE TAK
    Sumaryzacja NIE TAK NIE TAK
    Autentykacja NIE TAK NIE TAK
    Algorytm Bellman-Ford Bellman-Ford DUAL DUAL

    Porównanie protokołów klasowych (RIPv1, IGRP) z protokołami bezklasowymi (RIPv2, EIGRP)

    • Protokoły stanu łącza (Link-State) – Tworzą szczegółową mapę topologii sieciowej, na podstawie której szukają najlepszej trasy dotarcia do sieci docelowej. Dzięki wymianie wiadomości LSA (Link-State Advertisements) cała zawartość tablicy routingu jest propagowana jedynie w pierwszej fazie nawiązywania sąsiedztwa z innymi urządzeniami, tym samym poszczególne aktualizacje zawierają jedynie niezbędne informacje, a co za tym idzie zmniejszają ilość niepotrzebnego ruchu sieciowego. Dodatkowym atutem protokołów stanu łącza w porównaniu do protokołów wektora odległości, jest ich znacznie większa zbieżność (zależność ta nie dotyczy protokołu EIGRP który ma porównywalne osiągnięcia jak OSPF czy IS-IS). Dodatkowo protokoły te posiadają następujące cechy:
      • Budują mapę sieci.
      • Mają krótki czas zbieżności.
      • Posiadają budowę hierarchiczną (Uzyskaną poprzez podział sieci na strefy).
    • Protokół wektora ścieżki (Path-Vector BGP) – Określa dokładną ścieżkę jaką musi pokonać pakiet, aby dotrzeć do celu, pokonując na swojej drodze różne systemy autonomiczne AS.

    Migracje

    Migracja protokołu routingu

    • Dystans administracyjny AD (Administrative Distance) – Dystans administracyjny przypisywany do protokołów routingu, umożliwia współistnienie wielu protokołów na tym samym urządzeniu. W przypadku, w którym jedna sieć jest rozgłaszana przez więcej protokołów, router wybiera tą z niższą wartością dystansu administracyjnego.
    • Redystrybucja Routingu (Route Redistribution) – Umożliwia wymienianie informacji na temat sieci pomiędzy różnymi protokołami bądź instancjami tego samego protokołu routingu.

    Migracja protokołu IPv4 do IPv6

    • Check equipment for IPv6 compatibility
    • Run IPv4 and IPv6 concurrently
    • Check the ISP’s IPv6 support
    • Configure NAT64
    • Use NPTv6
    • Send IPv6 traffic over an IPv6-over-IPv4 tunnel

    Pozostałe tematy związane z routing-iem

  • (K) Wireshark*

    (K) Wireshark*

    Filtrowanie ruchu sieciowego:

    Filtrowanie ruchu na podstawie protokołów

    Serach> ip.proto eq ID

    Filtruje ruch sieciowy w poszukiwaniu pakietów określonego protokołu.

    Serach> bootp

    Filtruje ruch sieciowy w poszukiwaniu wszelkich wiadomości protokołu DHCP.

    Serach> icmp

    Filtruje ruch sieciowy w poszukiwaniu wszelkich wiadomości ICMP.

    Serach> cdp

    Filtruje ruch sieciowy w poszukiwaniu wszelkich wiadomości protokołu CDP.

    Serach> hsrp

    Filtruje ruch sieciowy w poszukiwaniu wszelkich wiadomości protokołu HSRP.

    Filtrowanie ruchu na podstawie adresów IP

    Serach> ip.src==adres-IP

    Wyświetla cały ruch z określonym adresem źródłowym.

    Serach> ip.dst==adres-IP

    Wyświetla cały ruch z określonym adresem docelowym.

    Serach> ip.addr==adres-IP

    Wyświetla cały ruch z określonym adresem IPv4.

    Serach> ipv6.addr==adres-IP

    Wyświetla cały ruch z określonym adresem IPv6.

    Filtrowanie protokołu EIGRP

    Serach> (eigrp.opcode == 5) && (eigrp.ack == 0)

    Wyświetla wiadomości powitalne (Hello).

    Serach> eigrp.stub_flags

    Wyświetla wiadomości powitalne (Hello), propagowane przez rutery Stub.

    Serach> eigrp.opcode == 1

    Wyświetla zarówno pełne (Full) jak i częściowe (Partial), wiadomości aktualizacyjne (Update).

    Serach> (eigrp.opcode == 1) && !(ip.dst == 224.0.0.10)

    Wyświetla pełne (Full), wiadomości aktualizacyjne (Update).

    Serach> (eigrp.opcode == 1) && (ip.dst == 224.0.0.10)

    Wyświetla częściowe (Partial), wiadomości aktualizacyjne (Update).

    Serach> (eigrp.opcode == 1) && (expert.message == “Destination unreachable”)

    Wyświetla wiadomości aktualizacyjne (Update), zawierające trasy “poison reverse”.

    Serach> (eigrp.opcode == 5) && !(eigrp.ack == 0)

    Wyświetla wiadomości Acknowledge.

    Serach> eigrp.opcode == 3

    Wyświetla wiadomości Query.

    Serach> eigrp.opcode == 4

    Wyświetla wiadomości Replay.

    Przykładowe filtru ruchu sieciowego

    Serach> eth.addr[0:3]==00:06:5B

    Wyświetla adresy MAC przypisane przez firmę DELL.

    Wyrażenie wykorzystywane podczas filtracji:

    Operacje logiczne

    Serach> wyrażenie1 and wyrażenie2

    Wyświetla wyrażenie pierwsze i drugie.

    Serach> wyrażenie1 or wyrażenie2

    Wyświetla wyrażenie pierwsze bądź drugie.

    Serach> tcp.port eq port

    Wyświetla ruch kierowany na dany port TCP.

    Wyrażenia filtrujące

    Serach> tcp.port operator-logiczny port

    Wyświetla ruch kierowany na dany port TCP.

    Filtrowanie ruchu na podstawie adresu IP

    Serach> host adres-IP

    Wyświetla ruch sieciowy pochodzący

    Serach> net adres-IP/prefix

    Wyświetla