Wdrożenie IPv6 – więcej niż nowe adresy

1

Początki protokołu IPv6 sięgają roku 1992, kiedy to po raz pierwszy zwrócono uwagę na globalne wyczerpywanie się adresów IPv4 i postanowiono opracować nowy protokół rozwiązujący ten problem. Obecnie mamy 2009 rok i wciąż słyszymy „za 5 lat wszędzie będzie IPv6”. Ostatnie prognozy przekonują że wyczerpanie puli adresów IPv4 nastąpi około 2012 roku. Czasu coraz mniej, warto więc przekonać się, jak powinno przebiegać wdrożenie IPv6, jeśli zabrać się za nie na poważnie.

Opracowując IPv6, korzystano z doświadczeń zebranych przez lata używania protokołu IPv4, ale wprowadzono także wiele ulepszeń, jak:

  • Większa przestrzeń adresowa. Dzięki wydłużeniu adresu z 4 do 16 bajtów problem wyczerpania się adresów naprawdę zostanie odsunięty co najmniej o kilka pokoleń.
  • Mniejsze tablice routingu. Powinno to być ułatwieniem dla operatorów, ale w praktyce, przynajmniej na razie, routery muszą obsługiwać IPv6 równolegle z IPv4, więc i tak potrzebują jeszcze większych tablic, niż dla samego IPv4.
  • Uproszczony nagłówek IP: Pewne ułatwienie dla konstruktorów sprzętu i programistów, w praktyce mało odczuwalne dla użytkowników końcowych.
  • Rozszerzanie protokołu poprzez dodawanie nagłówków. Ułatwienie dla aplikacji korzystających z protokołu, utrudnienie dla urządzeń sieciowych, szczególnie firewalli, które muszą przeglądać dłuższe fragmenty pakietów w celu analizy nagłówka wraz ze wszystkimi rozszerzeniami.
  • Autokonfiguracja i tworzenie sieci „ad-hoc”. Pomagają w opanowaniu zarządzania siecią.
  • Bezpieczeństwo. W IPv6 pod tym hasłem rozumie się wymóg, by implementacja tego protokołu obsługiwała także szyfrowanie i uwierzytelnianie IPsec. Oczywiście od aplikacji zależy czy IPsec w ogóle będzie uruchomiony – na początku istnienia IPv6 z pewnością nie.
  • Łagodna migracja z IPv4. Pozostaje głównie w teorii, wdrażanie IPv6 wciąż przysparza wielu kłopotów technicznych związanych z równoległym działaniem sieci i usług zarówno IPv4, jak i IPv6.

Tyle teorii, prezentowanej w większości dyskusji prowadzonych na temat IPv6, spójrzmy jednak jak to wszystko wygląda w praktyce.

Po co IPv6?
Oprócz wyczerpywania się wolnych adresów IPv4 nie widać jeszcze przełomu, który przekona ludzi do korzystania z IPv6. Forpocztą są tutaj ci, którzy borykają się z tym ograniczeniem na co dzień. Najwięcej (i największe) implementacji IPv6 i nacisków na wdrażanie tego protokołu widzimy w Azji, gdzie po prostu liczba użytkowników jest „niekompatybilna” z IPv4. Protokołem zainteresowani są też operatorzy telefonii komórkowej, którzy muszą zmagać się z ograniczeniem liczby dostępnych adresów publicznych.

Dlaczego więc IPv6 wciąż nie zostało wdrożone? Jest to problem jajka i kury: brak usług IPv6 powoduje brak zainteresowania użytkowników na większą skalę, a brak zainteresowania nie zachęca do rozwoju takich usług (portale, serwisy). Co gorsza – jak na razie wydaje się że usługodawcy nie mogą sobie pozwolić na oferowanie usługi wyłącznie dla IPv6, gdyż cierpieliby na brak użytkowników zniechęconych trudnościami w korzystaniu z IPv6. Usługodawcy muszą więc rozwijać usługi dwutorowo, jednocześnie dla IPv4 i IPv6, co może podnosić koszty wdrożenia.

Duży wkład w promowanie technologii mają rządy wielu państw, ale, np. Japonia, jest liderem IPv6 nie tylko dzięki rządowi. W USA urządzenia kupowane do sieci rządowych muszą obligatoryjnie obsługiwać IPv6. Chiński „Internet Nowej Generacji” jest oparty wyłącznie na IPv6. Z wykorzystaniem tego protokołu obsługiwano ruch sieciowy w ramach Olimpiady 2009 w Pekinie. W Unii Europejskiej rekomendowane jest wdrażanie usług IPv6 w ramach rządowych serwisów, a także promowanie wdrożeń w poszczególnych krajach. Rządy Francji czy Luksemburgu wydały swoje własne rozporządzenia oparte na unijnych. Rząd Australii sponsoruje budowę sieci testowej. Z racji swojego „eksperymentalnego” charakteru IPv6 jest też już obecny w wielu sieciach naukowych i akademickich, także w Polsce.

W Polsce, oprócz inicjatyw rozmaitych środowisk związanych z polskim Internetem, promowaniem wdrażania IPv6 zajął się, z ramienia rządu, Urząd Komunikacji Elektronicznej (UKE). Niedawno odbyła się publiczna debata na ten temat zorganizowana właśnie przez UKE. Wielu polskich operatorów telekomunikacyjnych uzyskało już przydział swoich puli adresowych IPv6, w wielu sieciach trwają próby i testy różnych mechanizmów IPv6. Odbywają się szkolenia, IPv6 jest tematem dyskusji na branżowych konferencjach – warto się tym zainteresować.

W domu
Żeby korzystać z IPv6, jako użytkownik końcowy, musimy mieć komputer, który obsługuje ten protokół. Przede wszystkim – system operacyjny musi obsługiwać IPv6. Na szczęście od pewnego czasu nie jest to problemem, powszechnie stosowane systemy mają wbudowaną obsługę IPv6: Windows XP i Vista (a nawet Windows 95 z odpowiednim dodatkiem), MacOS X, czy rozmaite dystrybucje Linuksa oraz BSD.

Sam system to oczywiście nie wszystko – korzystać z IPv6 muszą też umieć aplikacje. Aplikacja sieciowa musi umieć znaleźć adres IPv6 w otrzymanej odpowiedzi na zapytanie DNS (rekordy AAAA), a następnie posłużyć się IPv6 do komunikacji z odpowiednim serwerem. Podstawową aplikacją jest przeglądarka internetowa, na szczęście te popularne radzą sobie bez większych problemów z nowym protokołem. Warto się zorientować, czy pozostałe aplikacje potrafią się dogadać po IPv6 – klient poczty internetowej, bittorrenta, komunikator itd.

Przymierzając się do przesiadki na IPv6, warto zrobić listę używanych programów sieciowych i sprawdzić, które z nich są do tego gotowe. Na szczęście sytuacja jest dość dobra. IPv6 obsługują setki aplikacji, z których korzystamy na co dzień: przeglądarki internetowe (Firefox, Internet Explorer, Safari, Opera, Google Chrome, Chimera, KDE), programy pocztowe (Outlook, Apple Mail, Thunderbird), komunikatorów (Pidgin, Trillian, XChat), podstawowe narzędzia sieciowe (nmap, putty i inni klienci FTP, Telnet, SSH, rsync, SAMBA, VNC) czy aplikacje multimedialne (VLC, Winamp, Windows Media Player).

Użytkownik, wyposażony w odpowiednio skonfigurowany system operacyjny i aplikacje, natknie się na jeszcze jeden problem. Z wyjątkiem nielicznych szczęśliwców, jego łącze internetowe najprawdopodobniej nie obsługuje IPv6. Potrzebny jest więc dodatkowy mechanizm, który umożliwi przeniesienie ruchu IPv6 poprzez sieć IPv4 do najbliższego urządzenia sieci IPv6. Istnieje kilka takich mechanizmów, wszystkie są oparte na tunelowaniu (opakowywaniu pakietu IPv6 w pakiet IPv4), różnią się metodą tworzenia tuneli i wykrywania bramki między IPv4/IPv6:

  • Pierwszym z mechanizmów jest 6over4, pozwalający automatycznie wykrywać bramki, lecz wymagający, żeby sieć IPv4 obsługiwała multicast, co w praktyce wyklucza go z użytku na większą skalę.
  • Rozwinięciem 6over4 jest ISATAP, bardziej skomplikowany protokół, lecz pozwalający na automatyczne budowanie tuneli i przesyłanie ruchu IPv6 za pomocą ruchu unicast IPv4.
  • Jeżeli komputer ma publiczny adres IPv4, można skorzystać z tunelowania 6to4, które może działać w sposób automatyczny, dzięki odpowiedniej konwersji adresów.
  • Jeżeli komputer ma adres prywatny i jest za urządzeniem tłumaczącym adresy IP (NAT), konieczne jest stosowanie innego mechanizmu tunelowania, nazywanego TEREDO. Protokół ten pozwala korzystać z bramek TEREDO pośredniczących w przekazywaniu ruchu pomiędzy komputerem, a siecią IPv6. Protokół ten stał się popularny dzięki udostępnieniu serwerów TEREDO przez Microsoft na potrzeby swoich systemów operacyjnych.

Obecnie, z braku takich usług świadczonych przez operatorów, można korzystać z usług tunelowania (bramek) oferowanych przez rozmaite firmy i instytucje, często bezpłatnie (w Polsce na przykład ICM, szukaj terminu „IPv6 tunnel broker”).

Docelowo, z punktu widzenia użytkownika, uruchomienie IPv6 sprowadzi się do otrzymania od swojego operatora instrukcji, jak się podłączyć do sieci IPv6: czy jest to sieć natywna (czyli niepotrzebne żadne tunelowanie), czy też należy uruchomić jeden z opisanych mechanizmów (6to4, ISATAP, TEREDO) i z jakimi parametrami.

Tunelowanie jest oczywiście etapem pośrednim migracji, oczekujemy, że sieć operatora stanie się siecią natywną IPv6.

Uff… ale czy użytkownik pamiętał, żeby sprawdzić, czy zapora sieciowa i antywirus obsługują IPv6? Diabeł tkwi w szczegółach., a wirusy wykorzystujące IPv6 istnieją od 2003 roku.

U operatora
Operatorzy telekomunikacyjni mają znacznie bardziej skomplikowane zadanie. Muszą zapewnić obsługę IPv6 nie tylko w szkielecie swojej sieci (co jest najłatwiejszym zadaniem), ale także w sieci dostępowej do użytkowników, w peeringu z innymi operatorami, oraz w ramach usług VPN.

Uruchomienie IPv6 w szkielecie jest względnie proste – większość nowoczesnych routerów szkieletowych obsługuje ten protokół, choć często w podstawowym zakresie w stosunku do IPv4 (routing, filtry ACL). Urządzenia te powinny działać w trybie dual-stack, czyli obsługując jednocześnie ruch IPv6 i IPv4 jako ruch tranzytowy. Problemy w tej części sieci są raczej natury operacyjnej – nie można tak po prostu nagle włączyć IPv6 na tych urządzeniach. Zmiany trzeba najpierw przetestować w laboratorium, uaktualnić wersje oprogramowania do zawierających niezbędne funkcje IPv6, znaleźć okno serwisowe i wykonać zmiany w sieci produkcyjnej. Dlatego też zalecane jest uruchamianie IPv6 okazjonalnie – jeżeli w sieciach operatorskich prowadzone są, np. instalacje lub wymiany urządzeń, należy przy okazji uruchomić IPv6, niejako na zapas.

Dużo większy kłopot czeka na brzegu sieci. Prostszym krokiem jest uruchomienie peeringu BGP i wymiany ruchu IPv6 z innymi operatorami – takie rzeczy robi się już w Polsce. Trudniej jest na brzegu sieci, gdzie routery brzegowe operatora muszą świadczyć usługi – dostępu IPv6 (najczęściej przy pomocy tunelowania poprzez IPv4 lub MPLS 6PE, ze względu na ograniczenia sieci dostępowych), ale też i prywatnych sieci VPNv6 (przy pomocy technologii MPLS i funkcjonalności 6VPE) na potrzeby firm. W początkowych fazach wdrożenia często wybierane jest rozwiązanie ze scentralizowaną bramką ISATAP/TEREDO, do której ruch jest tunelowany poprzez sieć dostępową IPv4. Następnie przechodzi się możliwie szybko na natywną sieć IPv6, gdzie tylko jest to możliwe.

Jeżeli sieci nie działają w trybie dual-stack, konieczne jest jeszcze uruchomienie połączenia między częścią natywną IPv6 a IPv4, żeby użytkownicy jednego protokołu mogli skomunikować się z zasobami korzystającymi z drugiego.

Aby ruch z komputerów użytkowników w ogóle trafił do celu, a w zasadzie, aby cel został w ogóle odnaleziony, serwery DNS należące do operatora muszą mieć informacje o adresach IPv6 w domenach, czyli obsługiwać rekordy AAAA. Uruchomienie IPv6 na serwerach DNS jest niezbędne.

Samo zarządzanie siecią staje się bardziej skomplikowane – począwszy od przydzielania adresów (DHCPv6?), przez wszelkie aplikacje zarządzające, które zbyt często są oparte na założeniu, że IPv4 to jedyny dostępny protokół. Zbieranie statystyk o IPv6 poprzez NetFlow wymaga posiadania urządzeń obsługujących taką funkcjonalność, czyli potrafiących zbierać statystyki i eksportować je w formacie NFv9 (wcześniejsze formaty dotyczą tylko IPv4).

Oprócz ruchu tranzytowego, operator powinien także zadbać o zabezpieczenie wszystkich urządzeń poprzez odpowiednie filtrowanie ruchu na wejściu do swojej sieci. Zalecenia dotyczące IPv4 zostały wypracowane przez lata praktyki, szeroko znane i propagowane, a mimo to wiele urządzeń sieciowych nie jest właściwie zabezpieczonych. Co dopiero z IPv6, gdzie dochodzi wiele elementów nowych i nieprzewidywalnych (poszukaj hasła „ipv6 routing header type 0”).

Sieć dostępowa stanowi wyzwanie sama w sobie. Użytkownicy często mają modemy DSL czy kablowe obsługujące jedynie IPv4. Wdrożenie w takiej sieci IPv6 wymaga tunelowania, tak jak to opisano wcześniej. W idealnym świecie wymieniono by jednak modemy (a także routery, bezprzewodowe punkty dostępowe czy inne urządzenia udostępniane użytkownikowi) na obsługujące IPv6. Problemem są koszty, jednak, gdy koszt zdobycia adresu IPv4 (lub stopień skomplikowania translacji adresów NAT) przewyższy koszt wymiany czy uaktualnienia urządzenia, na pewno się to stanie.

W firmie
Firmy stają przed ciężkim zadaniem. Muszą nie tylko zadbać o komputery i sieć firmową (podobnie jak użytkownik i operator), ale także o centra przetwarzania danych i o aplikacje firmowe, o polityki bezpieczeństwa i urządzenia dodatkowe (sieć to nie tylko komputery, ale też drukarki, kopiarki, faksy).

Centrum przetwarzania danych (ang. data center) łączy w sobie elementy sieci (routery i przełączniki powinny umożliwiać obsługę IPv6 w zakresie funkcjonalnym, jak dla IPv4), serwerów (obsługa IPv6 przez systemy operacyjne), przy czym w znacznie rozszerzonym stopniu. IPv6 powinno być uwzględniane przez mechanizmy klastrowania, robienia kopii zapasowych i wszelkie inne pracujące w tle procesy. Jest to dużo bardziej złożony przypadek, niż komputery użytkowników końcowych. Konieczna jest weryfikacja, czy wszystkie elementy rozwiązania (nie tylko system operacyjny, ale też bazy danych) odnajdą się w nowej sytuacji.

Poważnym zadaniem jest przeniesienie na IPv6 aplikacji specyficznych dla firmy, tworzonych na zamówienie – baz danych, systemów wspomagania decyzji, zarządzania klientami. Wiele z nich jest napisanych z założeniem istnienia tylko IPv4, np. przez zakodowanie na stałe adresów IPv4 innych serwerów, czy kontrolę lub logowanie dostępu opartych na tych adresach. Przeniesienie i przetestowanie aplikacji to spore zadanie stojące przed administratorami.

Polityka bezpieczeństwa wymaga nie tylko sprawdzenia czy firmowe firewalle i systemy wykrywania włamań obsługują IPv6, ale także napisanie reguł bezpieczeństwa uwzględniających specyfikę IPv6 i wszelkie nowe protokoły z IPv6 powiązane. Do tego dochodzi – ponownie – kwestia obsługi tego protokołu przez firmowe systemy monitorowania i zarządzania siecią.

Nie od razu IPv6 zbudowano
Podobnie, jak w przypadku wielu innych technologii, niemożliwe jest jednorazowe, nagłe uruchomienie IPv6 „na całym świecie”. Stopniowe wdrażanie jest jednak nie tylko możliwe, ale wskazane i konieczne, jeżeli Internet ma zyskiwać nowych użytkowników i nowe usługi. Łatanie dziur w IPv4 za pomocą translacji NAT na skalę całej sieci operatora (tzw. Carrier Grade NAT) jest drogie i trudne do wdrożenia, mimo że proste koncepcyjnie.

Im później zacznie się przygotowania i migrację, tym mniej będzie na to czasu, a koszty będą większe. W wielu przypadkach firmy zdecydują się prawdopodobnie na usługi integratorów sieci i systemów, aby przeprowadzić audyt, a następnie opracować i wdrożyć plan migracji do IPv6.

Jeśli chcesz się przyłożyć do sukcesu przyszłości Internetu, zainteresuj się IPv6, dopinguj swojego operatora, swoich dostawców sprzętu i aplikacji, swoich klientów, aby wdrażali tą technologię. Najlepiej zacznij od siebie.

Więcej informacji o wdrażaniu IPv6 można znaleźć na podanych stronach:

  • www.ipv6.com
  • www.ipv6forum.com – oficjalna strona IPv6 Forum, międzynarodowej organizacji promującej IPv6,
  • www.microsoft.com/ipv6 – oficjalna strona firmy Microsoft opisująca wszelkie aspekty wykorzystania IPv6 w swoich produktach,
  • http://tldp.org/ – informacje dla systemu Linux,
  • http://www.6net.org – podręcznik wdrażania IPv6 opracowany na podstawie praktycznych doświadczeń sieci 6NET w 2005 roku,
  • www.uke.gov.pl – informacje UKE na temat IPv6
  • www.pl.ipv6tf.org – informacje o IPv6 w Polsce.

Informacje o aplikacjach obsługujących IPv6:

Autorem jest Marek Moskal, inżynier systemowy w firmie Cisco

PODZIEL SIĘ

1 KOMENTARZ

ZOSTAW ODPOWIEDŹ