(T) LISP (Location/ID Separation Protocol)*

LISP (Location/ID Separation Protocol)

Location/ID Separation Protocol

Geneza powstania protokołu LISP

  • Protokół LISP powstał w odpowiedzi na problemy związane z ograniczoną skalowalnością globalnej sieci Internet:
    • Aggregation – Wiele tras routingu w sieci globalnej, jest niezależna od dostawcy (Provider Independent), związku z czym agregacja wielu sieci nie jest możliwa.
    • Traffic Engineering – Jedną z metod inżynierii sieciowej, jest dzielenie rozgłaszanych tras routingu na wiele, bardziej szczegółowych tras. Co znacząco wpływa na wielkość globalnej tablicy routingu.
    • Multihoming – Prawidłowe połączenie sieci lokalnej LAN do internetu, przy wykorzystaniu połączenia Multihoming. Wymaga pobrania przez rutery pełnej globalnej tablicy routingu (Około 785000 tras), co znacząco obciąża procesor CPU.
    • Routing instability – Niestabilność rozgłaszanych tras, w globalnej tablicy routingu, zwana „Route Churn”. Znacząco zwiększa zużycie procesora CPU w ruterze.

Pojęcia związane z protokołem LISP

Architektura protokołu LISP
  • LISP Site – Nazwa strefy do której przynależą rutery LISP oraz urządzenia końcowe posiadające adresy EID.
  • EID (Endpoint Identifier) – Adres IP (IPv4 / IPv6) urządzenia końcowego znajdującego się w strefie LISP Site.
  • ITR (Ingress Tunel Router) – Ruter LISP enkapsulujący ruch IP, nadchodzący z urządzenia końcowego EID.
  • ETR (Egress Tunel Router) – Ruter LISP de-enkapsulujący ruch IP, nadchodzący z poza strefy LISP Site.
  • xTR (Tunel Router) – Ruter LISP pełniący zarówno rolę ITR jak i ETR.
  • PITR (Proxy ITR) – Ruter LISP pełniący rolę podobną do rutera ITR, względem sieci Non-LISP.
  • PETR (Proxy ETR) – Ruter LISP pełniący rolę podobną do rutera ETR, względem sieci Non-LISP.
  • PxTR (Proxy xTR) – Ruter LISP pełniący zarówno rolę PITR jak i PETR.
  • RLOC (Routing Locator) – Adres IP (IPv4 / IPv6) rutera ETR, względem sieci wewnętrznej LISP (Core LISP).
  • MS (Map Server) – Ruter LISP mapujący adresy EID do prefix-ów, poprzez ruter ETR (Baza EID-to-RLOC).
  • MR (Map Resolver) – Ruter LISP kierujący nadchodzący enkapsulowany ruch LISP z rutera ITR, do rutera ETR.
  • MS/MR (Map Server/Map Resolver) – Ruter LISP pełniący zarówno rolę MS jak i MR.

Budowa protokołu LISP

LISP Routing Architecture

  • W tradycyjnej architekturze sieciowej, adres IP określa lokalizację oraz tożsamość urządzenia końcowego, związku z czym zmiana lokalizacji wymuszą zmianę adresu a tym samym tożsamości wskazanego urządzenia.
  • Protokół LISP oddziela od adresu IP tożsamość urządzenia (EID), zostawiając funkcję lokalizacji (RLOC).

LISP Control Plane

  • Warstwa kontrolna (Control Plane) protokołu LISP, działa na podobnej zasadzie na jakiej funkcjonuje protokół DNS. Rozwiązując zamiast nazwy domenowej na adres IP, adres EID na adres RLOC, wysyłając zapytanie (MAP Request) do rutera MR.
  • Zastosowanie modelu opartego na zapytaniach (Pull Model), ogranicza zawartość tablicy routingu do niezbędnego minimum.

LISP Data Plane

  • Warstwa Data Plane protokołu LISP, enkapsuluje ruch sieciowy otrzymany z urządzenia końcowego EID, na ruterze ITR. Umieszczając go w nowym pakiecie UDP z nowym adresem źródłowym / docelowym RLOC.
  • Budowa pakietu protokołu LISP została opisana w artykule Enkapsulacja protokołu LISP.

Operacje protokołu LISP

Map registration and map operational components

  • Podczas konfiguracji protokołu LISP, do ruterów ETR należy przypisać sieć bądź wiele sieci EID, wraz ze strefą LISP Site. Informację o zarejestrowanych sieciach zostaną wysłane do rutera MS. Proces rejestracji wygląda następująco:
    1. Ruter ETR wysyła wiadomość „Map register message” do rutera MS w celu zarejestrowania nowej sieci EID (10.1.2.0/24). Wiadomość ta oprócz adresu sieci, zawiera adres RLOC rutera (100.54.2.2).
    2. Ruter MS odsyła wiadomość „Map notify message”, potwierdzając tym samym dodanie sieci EID do bazy.
Ruter MS wykorzystuje port UDP 4342, zarówno jako port docelowy jak i źródłowy.

Map request and map replay

  • Jeśli urządzenie końcowe znajdujące się w strefie LISP Site, a chce nawiązać komunikację z urządzeniem znajdującym się w innej strefie. Musi wykonać następujące czynności:
    1. Urządzenie końcowe ze strefy pierwszej, wysyła zapytanie DNS w celu rozwiązania nazwy innego urządzenia końcowego, na adres IP. Serwer DNS odpowiada podają adres EID (10.1.2.2) szukanego urządzenia końcowego. Lokalne urządzenie końcowe wysyła wiadomość do bramy domyślnej (MAC) kierowaną na adres (10.1.2.2).
    2. Ruter ITR otrzymuje pakiet kierowany na adres 10.1.2.2, a następnie wykonuje następującą weryfikację:
      • Czy pakiet pasuje do trasy domyślnej ponieważ nie ma innej trasy do niego pasującej?
        • TAK – Ruter przechodzi do następnego punktu.
        • NIE – Ruter postępuje zgodnie z pasującą trasą routingu.
      • Czy źródłowy adres IP jest zarejestrowanym prefiksem EID w lokalnej pamięci podręcznej?
        • TAK – Ruter przechodzi do następnego punktu.
        • NIE – Ruter przekazuje pakiet natywnie.
    3. Ruter ITR wysyła enkapsulowane zapytanie „Map request” do rutera MR, odnośnie adresu 10.1.2.2. Wykorzystując w tym celu docelowy port UDP 4342 oraz wybrany przez siebie port źródłowy.
    4. Jeśli ruter MR pełni również rolę rutera MS, zapytanie „Map request” jest przekierowywane do właściwego rutera docelowego ETR. Jeśli jednak funkcje te są pełnione przez dwa niezależne urządzenia, ruter MR prześle zapytanie „Map request” do rutera MS, który następnie przekieruje je do właściwego rutera docelowego ETR.
    5. Ruter ETR wysyła odpowiedź „Map replay” do rutera ITR, zawierającą odwzorowanie mapowania EID-to-RLOC (10.1.2.2 -> 100.64.2.2). Wiadomość „Map replay” zostaje wysłana przy użyciu źródłowego portu UDP 4342, jak i portu docelowego wybranego przez ruter ITR (Wiadomość „Map request”).
    6. Ruter ITR zapisuje mapowanie EID-to-RLOC w swojej bazie, przeprogramowując zawartość tablicy FIB.

LISP data path

  • Po otrzymaniu mapowania EID-to-RLOC od rutera ETR (Bądź rutera MS w przypadku zastosowania przez ruter ETR wiadomości „Proxy Map Replay”), ruter ITR jest gotowy do wymiany danych pomiędzy urządzeniami końcowymi.
    1. Ruter ITR otrzymuje pakiet od urządzenia końcowego (10.1.1.1), kierowany na adres urządzenia docelowego (10.2.2.2).
    2. Ruter ITR odnajduje pasującą trasę w tablicy FIB, enkapsulując otrzymane pakiety EID, o adres RLOC IP rutera ITR jako adres źródłowy oraz adres RLOC IP rutera ETR jako adres docelowy.
    3. Ruter ETR otrzymuje enkapsulowane pakiety.

Proxy ETR

  1. Urządzenie końcowe EID wysyła zapytanie DNS w sprawie nazwy www.cisco.com, otrzymując w odpowiedzi adres IP 100.64.254.254. Po czym wysyła komunikację kierowaną na adres 100.64.254.254 do rutera ITR.
  2. Ruter ITR wysyła zapytanie „Map Request” do rutera MR.
  3. Ruter MR odpowiada wiadomością „Negative Map Replay” zawierającą wyliczoną trasę non-LISP.
  4. Ruter ITR dodaję otrzymaną trasę do tablicy FIB, po czym wysyła enkapsulowany ruch sieciowy do PETR.
  5. Ruter PETR de-enkapsuluje otrzymany ruch sieciowy, przesyłając go do odbiorcy.

Proxy ITR

  1. Ruch sieciowy nadchodzący z serwera cisco.com, kierowany na adres IP 10.1.1.1. Dochodzi do rutera PITR.
  2. Ruter PITR wysyła zapytanie „Map Request” do rutera MR.
  3. Ruter MR przesyła zapytanie „Map Request” do rutera ETR.
  4. Ruter ETR odpowiada wiadomością „Map Replay” ruterowi PITR.
  5. Ruter PITR enkapsuluje ruch sieciowy kierując go do rutera ETR.
  6. Ruter ETR de-enkapsuluje otrzymany ruch sieciowy.

Pozostałe tematy związane z DNA Center

PDFPRINT

Robert T Kucharski

Cisco Network Engineer in GPW.

Dodaj komentarz