MPLS VPN

VPN warstwy 3 wykorzystujące MPLS: VRF, RD, RT i routing PE-CE.

Wprowadzenie: Wyzwanie Współdzielonego Świata

Wyobraźmy sobie dużą korporację, "Pol-Global S.A.", z biurami w Warszawie i Gdańsku. Każde biuro ma swoją własną, prywatną, wewnętrzną sieć komputerową. Aby firma mogła funkcjonować, pracownicy w Warszawie muszą mieć bezproblemowy i bezpieczny dostęp do serwerów i plików znajdujących się w biurze w Gdańsku, i odwrotnie. Między nimi rozciąga się ogromny publiczny internet, chaotyczna przestrzeń pełna ruchu od milionów innych firm i osób prywatnych. Jak Pol-Global może stworzyć dla siebie jedną, zunifikowaną i prywatną sieć, korzystając z tej współdzielonej publicznej infrastruktury?

To jest fundamentalny problem, który rozwiązuje Wirtualna Sieć Prywatna (VPN). VPN to technologia, która tworzy bezpieczny, zaszyfrowany tunel przez sieć publiczną, taką jak internet, w celu połączenia zdalnych użytkowników lub oddziałów. Z perspektywy użytkowników w Pol-Global, wydaje się, jakby ich biura w Warszawie i Gdańsku były połączone jednym, prywatnym kablem, chociaż w rzeczywistości ich dane podróżują przez dziesiątki routerów i systemów należących do różnych dostawców usług internetowych (ISP).

Chociaż istnieje wiele sposobów tworzenia VPN (jak tunele IPsec), zarządzanie nimi na dużą skalę może stać się niezwykle złożone dla dostawcy usług, obsługującego setki lub tysiące klientów korporacyjnych. Tu właśnie błyszczy MPLS. MPLS VPN Warstwy 3 to wysoce skalowalne, elastyczne i wydajne rozwiązanie oferowane przez dostawców usług, które pozwala im używać ich jednej, współdzielonej sieci MPLS do tworzenia logicznie oddzielonych, prywatnych sieci dla każdego z ich klientów.

Podstawowy Problem: Pokrywające się Adresy IP

Największą techniczną przeszkodą dla dostawcy usług oferującego VPN jest problem pokrywającej się przestrzeni adresowej. Aby zaoszczędzić na kosztach i uprościć zarządzanie wewnętrzne, ogromna większość firm używa prywatnych zakresów adresów IP zdefiniowanych w RFC 1918 (np. 192.168.1.0/24192.168.1.0/24, 10.0.0.0/810.0.0.0/8).

Teraz rozważmy wyzwanie ISP.

  • Jego klient, Pol-Global S.A., używa w swoich biurach sieci 192.168.1.0/24192.168.1.0/24.
  • Jego inny klient, "Innowacyjne Rozwiązania sp. z o.o.", również używa w swoich biurach sieci 192.168.1.0/24192.168.1.0/24.

Obaj klienci łączą się z tą samą siecią ISP. Kiedy pakiet od Pol-Global przybywa z celem 192.168.1.50192.168.1.50, a inny pakiet od Innowacyjnych Rozwiązań przybywa z dokładnie tym samym adresem docelowym, skąd routery ISP mają wiedzieć, do której sieci klienta go wysłać? Standardowy router może mieć tylko jeden wpis dla 192.168.1.0/24192.168.1.0/24 w swojej globalnej tablicy routingu. Ta niejednoznaczność uniemożliwia świadczenie oddzielnych usług VPN przy użyciu tradycyjnego routingu. Technologia MPLS VPN została stworzona specjalnie, aby rozwiązać ten problem za pomocą eleganckiego zestawu "magicznych sztuczek".

Sztuczka 1: VRF - Wirtualny Router dla Każdego Klienta

Pierwsza część rozwiązania polega na odizolowaniu informacji routingowych każdego klienta od pozostałych na routerze brzegowym dostawcy (Provider Edge - PE). MPLS osiąga to za pomocą funkcji zwanej Virtual Routing and Forwarding (VRF).

Analogia: Poczta w Biurowcu z Wieloma Najemcami. Wyobraź sobie pocztę w dużym biurowcu, która obsługuje dziesiątki różnych firm. Aby uniknąć pomieszania korespondencji, pracownik poczty nie trzyma wszystkiego na jednym, dużym stosie. Zamiast tego ma oddzielne, oznakowane przegródki i oddzielny spis adresów dla każdej firmy. Poczta Firmy A trafia do przegródek Firmy A, a poczta Firmy B do przegródek Firmy B.

to właśnie taka wirtualna poczta wewnątrz routera. Kiedy ISP przyjmuje nowego klienta VPN, tworzy dla niego dedykowany VRF na routerach PE, do których podłącza się klient.

  • Każdy VRF ma swoją całkowicie niezależną tablicę routingu i tablicę przekazywania.
  • Fizyczny interfejs łączący się z lokalizacją klienta (routerem CE) jest przypisany do VRF tego klienta.
  • Aktualizacje routingowe otrzymywane od routera CE klienta są instalowane tylko w tablicy routingu tego konkretnego VRF.

To elegancko rozwiązuje problem pokrywających się adresów lokalnie. Router PE może teraz bez problemu posiadać trasę do 192.168.1.0/24192.168.1.0/24 w `VRF_Pol-Global` i inną, całkowicie oddzielną trasę do 192.168.1.0/24192.168.1.0/24 w `VRF_Innowacje`. Trasy są odizolowane i nie powodują konfliktu.

Sztuczka 2: Rozróżniacz Tras (RD) - Tworzenie Unikalnych Adresów Globalnych

VRF-y rozwiązują problem na jednym routerze. Ale jak ten router ma ogłosić te pokrywające się trasy do innych routerów PE w rdzeniu sieci ISP? Podstawowy proces BGP wciąż nie potrafi obsłużyć dwóch identycznych prefiksów 192.168.1.0/24192.168.1.0/24.

Rozwiązaniem jest uczynienie trasy każdego klienta globalnie unikalną. Robi się to przez dodanie "znacznika" lub "numeru konta" do prefiksu trasy. Ten znacznik nazywa się Rozróżniaczem Tras (Route Distinguisher - RD).

RD to 64-bitowa liczba, którą router PE dodaje na początek 32-bitowego prefiksu IPv4 klienta. Wynikiem jest zupełnie nowy, 96-bitowy adres, który jest gwarantowanie unikalny w całej sieci. Ten nowy adres nazywa się adresem VPNv4.

Przykład: Unikalizacja Prefiksów

  • Dla VRF Pol-Global administrator konfiguruje RD 65000:10065000:100. Gdy PE uczy się trasy 192.168.1.0/24192.168.1.0/24 od Pol-Global, konwertuje ją na prefiks VPNv4: 65000:100:192.168.1.0/2465000:100:192.168.1.0/24.
  • Dla VRF Innowacyjne Rozwiązania administrator konfiguruje inny RD, np. 65000:20065000:200. Gdy PE uczy się tej samej trasy od nich, konwertuje ją na prefiks VPNv4: 65000:200:192.168.1.0/2465000:200:192.168.1.0/24.

Z perspektywy BGP działającego w rdzeniu ISP, są to teraz dwa całkowicie różne i unikalne prefiksy sieciowe. Może je ogłaszać, przetwarzać i przechowywać bez żadnego zamieszania czy konfliktu. Jedynym zadaniem RD jest zapewnienie unikalności; nie jest on używany do podejmowania decyzji o przekazywaniu.

Sztuczka 3: Cele Tras (RT) - Budowanie Wirtualnej Sieci Prywatnej

Mamy już unikalne trasy ogłaszane w sieci dostawcy. Ostatnie pytanie brzmi: skąd odbierający router PE wie, do której sieci VPN (którego VRF) należy dana trasa? Sam fakt otrzymania unikalnej trasy VPNv4 nie oznacza, że powinna być ona dostępna dla każdego klienta.

Kontroluje to inny atrybut BGP zwany Celem Trasy (Route Target - RT). RT to atrybut BGP Extended Community, który działa jak znacznik lub identyfikator listy mailingowej. Kontroluje on import i eksport tras między BGP a VRF.

Proces Eksportu i Importu

Proces ten przypomina zaawansowany system sortowania poczty oparty na listach subskrypcyjnych:

  1. Eksport RT: Kiedy router PE uczy się trasy od klienta CE i konwertuje ją na prefiks VPNv4, dołącza do niej jeden lub więcej Celów Trasy Eksportu przed ogłoszeniem jej do innych PE. To jak przyklejenie naklejki "lista-mailingowa-A" na wychodzącym liście.
  2. Import RT: Każdy VRF na routerze PE jest skonfigurowany z jednym lub więcej Celami Trasy Importu. To jest "lista subskrypcji" danego VRF.
  3. Zasada Dopasowania: Gdy router PE otrzymuje trasę VPNv4 od innego PE, patrzy na Cele Trasy Eksportu dołączone do trasy. Następnie sprawdza konfigurację Celów Trasy Importu wszystkich swoich lokalnych VRF-ów. Trasa zostanie zainstalowana w tablicy routingu danego VRF tylko wtedy, gdy Cel Trasy Eksportu trasy pasuje do jednego z Celów Trasy Importu VRF.

Przykład: Budowanie Sieci VPN

Router PE podłączony do biura Pol-Global w Warszawie jest skonfigurowany tak, że jego VRF eksportuje trasy z RT=65000:100RT=65000:100 i importuje trasy oznaczone RT=65000:100RT=65000:100.

Router PE podłączony do biura Pol-Global w Gdańsku ma dokładnie taką samą konfigurację VRF.

Tymczasem VRF-y dla Innowacyjnych Rozwiązań są skonfigurowane z RT=65000:200RT=65000:200.

Gdy PE z Warszawy ogłasza trasy Pol-Global, niosą one `Eksport RT 65000:100`. Otrzymuje je PE w Gdańsku. Ponieważ jego VRF dla Pol-Global jest skonfigurowany na `Import RT 65000:100`, trasa jest akceptowana i instalowana. Routery PE obsługujące Innowacyjne Rozwiązania również widzą to ogłoszenie, ale ponieważ ich VRF-y nie importują tego RT, po prostu je ignorują i odrzucają. Właśnie to tworzy "Prywatną" część Wirtualnej Sieci Prywatnej.

Płaszczyzna Danych: Stos Dwóch Etykiet

Zbudowaliśmy teraz płaszczyznę sterowania: VRF-y zapewniają lokalną izolację, RD globalną unikalność, a RT budują polityki VPN. Ale jak pakiet jest faktycznie przesyłany? Odpowiedź leży w stosie dwóch etykiet.

  1. Etykieta Wewnętrzna (VPN):

    Kiedy routery PE wymieniają trasy VPNv4 przez BGP, wymieniają również specjalną etykietę dla każdej trasy. Ta wewnętrzna etykieta nazywana jest etykietą VPN. Jej zadaniem jest poinformowanie końcowego, wyjściowego routera PE (Egress PE), do którego VRF klienta i którego interfejsu wychodzącego należy przekazać pakiet. To jest lokalna instrukcja dostawy.

  2. Etykieta Zewnętrzna (Transportowa):

    To standardowa etykieta MPLS, którą omówiliśmy wcześniej. Jej jedynym celem jest dostarczenie pakietu z routera wejściowego (Ingress PE) do routera wyjściowego (Egress PE). Routery w rdzeniu sieci (P-routery) patrzą tylko na tę zewnętrzną etykietę. Nie mają pojęcia o VPN-ach ani trasach klientów; ich jedynym zadaniem jest zamiana etykiety zewnętrznej i przekazanie pakietu w kierunku Egress PE, zidentyfikowanego w ich regularnej tablicy routingu IGP.

Pełna Podróż Pakietu – Podsumowanie

Prześledźmy pakiet z komputera Pol-Global w Warszawie do serwera w Gdańsku:

  1. Pakiet IP przybywa do wejściowego routera PE w Warszawie. Router dokonuje wyszukiwania w VRF_Pol-Global.
  2. Znajduje dopasowanie i określa wyjściowy router PE (w Gdańsku) oraz etykietę VPN, którą ten router ogłosił.
  3. Nakłada (PUSH) wewnętrzną etykietę VPN na pakiet.
  4. Następnie wyszukuje adres wyjściowego PE w swojej głównej tablicy i znajduje zewnętrzną etykietę transportową dla LSP prowadzącego do Gdańska.
  5. Nakłada (PUSH) zewnętrzną etykietę transportową na pakiet.
  6. Pakiet ma teraz dwie etykiety i jest wysyłany do rdzenia MPLS.
  7. Routery w rdzeniu zamieniają (SWAP) tylko zewnętrzną etykietę na każdym przeskoku. Nigdy nie widzą etykiety wewnętrznej.
  8. Router tuż przed wyjściowym PE (przedostatni przeskok) zdejmuje (POP) zewnętrzną etykietę.
  9. Wyjściowy PE w Gdańsku otrzymuje pakiet tylko z wewnętrzną etykietą VPN. Patrzy na tę etykietę, która mówi mu "Ten pakiet należy do VRF_Pol-Global i powinien być wysłany przez interfejs do ich biura w Gdańsku."
  10. Egress PE zdejmuje etykietę VPN, a oryginalny pakiet IP jest wysyłany do routera CE w Gdańsku. Misja zakończona, a żaden router w rdzeniu nigdy nie musiał wiedzieć nic o prywatnej sieci Pol-Global.
    MPLS VPN | Teleinf Edu