SlideShare a Scribd company logo
1
IP Anycast
Ochrona i skalowanie usług sieciowych
Łukasz Bromirski
lbromirski@cisco.com
2
Agenda
§  IP Anycast – co to jest?
§  Jak wykorzystać IP Anycast?
§  Rozważania projektowe dla DNS
§  Rozważania projektowe dla HTTP
§  Q&A
3
IP Anycast
4
Trochę o historii…
§  Wykrywanie nowych usług – SNTPv4 (RFC 2030)
oraz NTP "manycast" (RFC 4330)
§  Pierwszy mechanizm przechodzenia na IPv6 (RFC
2893) a potem 6to4 (RFC 3068)
§  Użycie anycastów dla RP – MSDP i PIM (RFC
4610)
§  W IPv6 pierwsze RFC (RFC 1884, 2373 i 3513)
zabraniały używania adresu anycastowego jako
adresu źródłowego; zniesiono to ograniczenie w
RFC 4291
§  Zastosowanie anycastów w systemie DNS (RFC
3258) wspomina wykorzystanie "shared unicast"
To nic nowego, ale nadal działa dobrze J
5
IP Anycast
§  Prosty, efektywny, szeroko używany J
§  Niezależny od warstwy trzeciej
zarówno IPv4 jak i IPv6 działają – po prostu
RFC mówi o specjalnych adresach anycast – ale
większość technik skalowania, w tym te
najpowszechniejsze – wykorzystują podejście 'shared
unicast'
6
IP Anycast
§  Jest bardzo uniwersalny
§  Może być wykorzystywany zamiast lub
równocześnie z:
równoważeniem obciążenia w L3/L4
dodawaniem usług IP w sposób tradycyjny
§  W przeciwieństwie do powszechnego przekonania,
IP Anycast może być również używany do
skalowania usług TCP*
* więcej o tym później, pamiętajcie jednak że Wasze rezultaty mogą się różnić
7
Wykorzystanie anycastu IP
8
Typowe zastosowanie
1.1.1.1/32
9
Serwer zostaje przeciążony
1.1.1.1/32
10
Rozwiązanie pierwsze: rośniemy wszerz
"Zainstalujmy loadbalancer i dodajmy serwerów"
sieć
VIP: 1.1.1.1/32
1.1.5.10/24
1.1.5.11/24
1.1.5.12/24
1.1.5.13/24
11
Po zastosowaniu VIPa i serwerów
1.1.1.1/32
12
…ale połączenia się przeciążają…
1.1.1.1/32
13
…i tylko część użytkowników ma dostęp
1.1.1.1/32
14
A może zreplikujemy to samo IP?
1.1.1.1/32
1.1.1.1/32
15
Zreplikowana usługa
1.1.1.1/32
1.1.1.1/32
Mechanizm routingu wybierze drogę o
najmniejszym koszcie pomiędzy klientem a
serwerem
Każdy z hostów zostanie skierowany do "najbliższej"
instancji usługi
Należy zadbać o usuwanie niedziałających instancji
Działa dla IP, MPLS/IP i dowolnego protokołu
routingu
R1> show ip route!
I 1.1.1.1/32 [115/10] via 192.168.11.6!
R3> show ip route!
I 1.1.1.1/32 [115/20] via 192.168.73.7!
!
R7> show ip route!
I 1.1.1.1/32 [115/10] via 192.168.77.6!
!
R1
R7
R3
R5
16
1.1.1.1/32
Zreplikowana usługa
1.1.1.1/32
Replikacja zapewni wysoką dostępność
"Śmierć" jednej instancji spowoduje zniknięcie jej z
IGP, jeśli IGP będzie o tym wiedział
Ilość stopni redundancji zależy od ilości instancji
R1> show ip route!
I 1.1.1.1/32 [115/20] via 192.168.17.7!
R3> show ip route!
I 1.1.1.1/32 [115/20] via 192.168.73.7!
!
R7> show ip route!
I 1.1.1.1/32 [115/10] via 192.168.77.6!
!
R1
R7
R3
R7> show ip route!
I 1.1.1.1/32 [115/10] via 192.168.77.6!
!
R5
17
Zreplikowana usługa
1.1.1.1/32
Automatyczne rozkładanie obciążenia w
L3/L4
Uwaga na usługi TCP – oraz ogólnie, na usługi
utrzymujące dłuższe połączenia
R3> show ip route!
I 1.1.1.1/32 [115/20] via 192.168.13.1!
via 192.168.37.7!
R1
R7
R3
R5 1.1.1.1/32
18
IP Anycast w służbie DNS
19
Problemy tradycyjne
§  Brak stosowania "best practices"
Serwery DNS usytuowane są zwykle w jednym miejscu (z
punktu widzenia topologii sieci) co oznacza, że stają się łatwym
celem dla ataków i zwiększa ryzyko ich zniknięcia w przypadku
awarii
wyeliminowanie serwerów i łącz do nich nigdy nie było prostsze
Nawet jeśli serwery DNS znajdują się w różnych miejscach
sieci, przyciągają różny ruch – do różnych IP
atak na 2-3 adresy lub podsieci jest nadal bardzo prosty do
przeprowadzenia
przełączenie się z pierwszego adresu na drugi przy rozwiązywaniu
nazw nadal nie wychodzi dobrze większości popularnych systemów
operacyjnych
20
Problemy tradycyjne
§  Skalowalność:
większość klientów DNS (resolverów) w stosowanych
powszechnie systemach operacyjnych nie radzi sobie dobrze z
więcej niż 1-2 serwerami DNS
czasami można dodać więcej, ale rzadko robi to realną różnicę*
możesz serwować różne adresy DNS w różnych częściach swojej
sieci, ale jest to trudne do zarządzania i utrzymania
można też dodać lokalny load-balancing na wiele różnych
adresów IP – sprzętowo lub programowo
to jednak też dodaje złożoności do całości rozwiązania
21
Kto używa IP anycastu dla DNS?
§  "Prawie" wszyscy! J
* Mapa CAIDA dla DNS: http://www.caida.org/research/dns/influence-map/
22
Mapa root serwerów DNS
http://www.root-servers.org/
23
Ochrona serwerów root DNS anycastem
24
Rozwiązanie IP anycastu dla DNS
W detalach
sieć
em0:1.1.5.10/24
em0:1.1.5.11/24
em0:1.1.5.12/24
em0:1.1.5.13/24lo0: 1.1.1.1/32


R1# sh ip route!
!
*> 1.1.1.1/32!
via 1.1.5.10!
via 1.1.5.11!
via 1.1.5.12!
via 1.1.5.13!
R1 R2


R2# sh ip route!
!
*> 1.1.1.1/32!
via 1.1.5.10!
via 1.1.5.11!
via 1.1.5.12!
via 1.1.5.13!
IGP: OSPF/IS-IS/EIGRP
;; ANSWER SECTION:!
ns1.anycasted.com. 86400 IN A 1.1.1.1!
zapytanie o adres serwera DNS
Tablica routingu R1 Tablica routingu R2
25
Równoważenie obciążenia w dużej sieci
1.1.1.1/32
1.1.1.1/32
POZ
WRO
SZC
GDA
WAR
BIA
LUB
KRA
WRO# sh ip route!
!
*> 1.1.1.1/32!
via 1.1.22.2!
via 1.1.18.2!
Tablica routingu routera WRO
26
Rozwiązanie IP anycastu dla DNS
§  Wymagana jest uważna konfiguracja
odpowiadamy na pytania z adresu anycast, przypisanego
do interfejsu loopback0 (1.1.1.1/32 & 2001:db8::100:100)
sami pytamy, przeprowadzamy transfery stref/etc z adresu
fizycznego interfejsu lub innego interfejsu loopback
Konfiguracja systemu DNS - named
options {!
listen-on { 1.1.1.1; };!
listen-on-v6 { 2001:db8::100:100; };!
query-source address 1.1.5.10;!
query-source-v6 2001:db8::34:254;!
transfer-source 1.1.5.10;!
transfer-source-v6 2001:db8::34:254;!
};!
NS1-1 named.conf
options {!
listen-on { 1.1.1.1; };!
listen-on-v6 { 2001:db8::100:100; };!
query-source address 1.1.5.11;!
query-source-v6 2001:db8::34:254;!
transfer-source 1.1.5.11;!
transfer-source-v6 2001:db8::34:254;!
};!
NS1-2 named.conf
27
Rozwiązanie IP anycastu dla DNS
§  Pomiędzy serwerem DNS a routerami należy
uruchomić protokół IGP – pakiet routingu do wyboru
Konfiguracja – quagga/OpenOSPFd
interface em0!
ip address 1.1.5.11/24!
!!
interface lo0!
ip address 1.1.1.1/32!
quagga.conf
router ospf!
ospf router-id 1.1.5.11!
network 1.1.5.0/24 area 10!
redistribute connected route-map PF-DNS!
!!
route-map PF-DNS permit 10!
match ip address prefix-list dns-ospf!
!!
ip prefix-list dns-ospf permit 1.1.1.1/32!
ospfd.conf
28
IP Anycast w służbie HTTP
29
Skalowanie usług TCP w ogólności
§  Ilość zmian topologii wpływających na "bliskość"
instancji powinna być ograniczona
zmiana topologii oznacza w tej sytuacji zerwanie sesji TCP
obejście problemu jest związane zwykle z
synchronizacją stanów pomiędzy serwerami (bolesne,
"ciężkie" - złożone)
nauczenie aplikacji klienta lub urządzenia po drodze
(CPE) by dawało sobie z tym radę (działa w
rzeczywistych zastosowaniach*)
§  Jeśli pomiędzy klientem a instancjami mamy wiele
równoległych ścieżek, mogą pojawić się problemy
można w prosty** sposób zmienić koszty połączeń tak aby
uniknąć problemu jeśli występuje
* Studium przypadku dla streamingu TCP dla usług IP anycast, NANOG #37
30
Usługa HTTP z IP anycast
§  Dla długo trwających sesji HTTP, w szczególności z
wykorzystaniem różnego rodzaju mechanizmów
śledzących, jak np. cookies – przy zmianie topologii
może pojawić się problem
Technologie typu AJAX są lepsze do tego typu zastosowań
§  Jeśli topologia zmieni się pomiędzy kolejnymi
zapytaniami klienta, mogą pojawić się pewne
problemy
np. niezsynchronizowane/uaktualnione cookies,
powodujące wyrzucenie/złe przekierowanie klienta
można to oczywiście obejść wykonując synchronizację z
niezależnych adresów
31
Gdzie znaleźć więcej informacji?
§  Wykorzystanie anycastu z TCP
Anycast-aware transport for content delivery networks
http://dl.acm.org/citation.cfm?id=1526750
§  Wdrażanie anycastów z TCP
NANOG #37
http://www.nanog.org/meetings/nanog37/abstracts.php
§  BCP 126 / RFC 4786
Operation of Anycast Services
http://tools.ietf.org/html/rfc4786
§  Rozważania architekturalne dla IP Anycast
http://tools.ietf.org/html/draft-mcpherson-anycast-arch-
implications-00
32
Q&A
33
Łukasz Bromirski
lbromirski@cisco.com

More Related Content

What's hot

Sekrety magicznego ogrodu Docker
Sekrety magicznego ogrodu DockerSekrety magicznego ogrodu Docker
Sekrety magicznego ogrodu Docker
Kamil Grabowski
 
Noc informatyka
Noc informatykaNoc informatyka
Noc informatykaOnetIT
 
Prezentacja Jabber
Prezentacja JabberPrezentacja Jabber
Prezentacja Jabber
bm9ib2r5
 
PLNOG 8: Przemysław Grygiel - Data Center Allegro wyboista droga L2 do autost...
PLNOG 8: Przemysław Grygiel - Data Center Allegro wyboista droga L2 do autost...PLNOG 8: Przemysław Grygiel - Data Center Allegro wyboista droga L2 do autost...
PLNOG 8: Przemysław Grygiel - Data Center Allegro wyboista droga L2 do autost...
PROIDEA
 
PLNOG16: Transport ruchu klientów - MPLS L2 i L3, Tomasz Jedynak
PLNOG16: Transport ruchu klientów - MPLS L2 i L3, Tomasz JedynakPLNOG16: Transport ruchu klientów - MPLS L2 i L3, Tomasz Jedynak
PLNOG16: Transport ruchu klientów - MPLS L2 i L3, Tomasz Jedynak
PROIDEA
 
GlusterFS
GlusterFSGlusterFS
Stosy sieciowe w przestrzeni użytkownika.
Stosy sieciowe w przestrzeni użytkownika.Stosy sieciowe w przestrzeni użytkownika.
Stosy sieciowe w przestrzeni użytkownika.
Semihalf
 
Efekt motyla w kodzie maszynowym.
Efekt motyla w kodzie maszynowym.Efekt motyla w kodzie maszynowym.
Efekt motyla w kodzie maszynowym.
Semihalf
 
HPE 3PAR All Flash
HPE 3PAR All FlashHPE 3PAR All Flash
HPE 3PAR All Flash
hpepolska
 
PLNOG 3: Piotr Jabłoński - Realizacja styku międzyoperatorskiego dla usług L...
PLNOG 3: Piotr Jabłoński -  Realizacja styku międzyoperatorskiego dla usług L...PLNOG 3: Piotr Jabłoński -  Realizacja styku międzyoperatorskiego dla usług L...
PLNOG 3: Piotr Jabłoński - Realizacja styku międzyoperatorskiego dla usług L...
PROIDEA
 
PLNOG 8: Krzysztof Konkowski - GigabitEthernetem routera agregacyjnego do nie...
PLNOG 8: Krzysztof Konkowski - GigabitEthernetem routera agregacyjnego do nie...PLNOG 8: Krzysztof Konkowski - GigabitEthernetem routera agregacyjnego do nie...
PLNOG 8: Krzysztof Konkowski - GigabitEthernetem routera agregacyjnego do nie...
PROIDEA
 
PLNOG 9: Krzysztof Mazepa - Dostęp szerokopasmowy IPv6
PLNOG 9: Krzysztof Mazepa - Dostęp szerokopasmowy IPv6PLNOG 9: Krzysztof Mazepa - Dostęp szerokopasmowy IPv6
PLNOG 9: Krzysztof Mazepa - Dostęp szerokopasmowy IPv6
PROIDEA
 
Monitoring sieci
Monitoring sieciMonitoring sieci
Monitoring sieci
Kamil Grabowski
 
PLNOG 6: Piotr Jabłoński - Praktyczne aspekty implementacji IGP
PLNOG 6: Piotr Jabłoński - Praktyczne aspekty implementacji IGP PLNOG 6: Piotr Jabłoński - Praktyczne aspekty implementacji IGP
PLNOG 6: Piotr Jabłoński - Praktyczne aspekty implementacji IGP
PROIDEA
 
Złam zasady i stwórz wydajny stos IP przy użyciu DPDK
Złam zasady i stwórz wydajny stos IP przy użyciu DPDKZłam zasady i stwórz wydajny stos IP przy użyciu DPDK
Złam zasady i stwórz wydajny stos IP przy użyciu DPDK
Semihalf
 
Usługi sieci internet cz iiii 2012
Usługi sieci internet cz iiii   2012Usługi sieci internet cz iiii   2012
Usługi sieci internet cz iiii 2012
Tańczący Z Kojotami
 
PLNOG 6: Piotr Wojciechowski - IPv6 - dwa kliknięcia i działa
PLNOG 6: Piotr Wojciechowski - IPv6 - dwa kliknięcia i działa PLNOG 6: Piotr Wojciechowski - IPv6 - dwa kliknięcia i działa
PLNOG 6: Piotr Wojciechowski - IPv6 - dwa kliknięcia i działa
PROIDEA
 
PLNOG15: IP services architecture with TDM quality in MPLS/IP networks - Mare...
PLNOG15: IP services architecture with TDM quality in MPLS/IP networks - Mare...PLNOG15: IP services architecture with TDM quality in MPLS/IP networks - Mare...
PLNOG15: IP services architecture with TDM quality in MPLS/IP networks - Mare...
PROIDEA
 
PLNOG 8: Bartłomiej Anszperger - MPLS - Co to jest? Z czym to gryźć? Jak i po...
PLNOG 8: Bartłomiej Anszperger - MPLS - Co to jest? Z czym to gryźć? Jak i po...PLNOG 8: Bartłomiej Anszperger - MPLS - Co to jest? Z czym to gryźć? Jak i po...
PLNOG 8: Bartłomiej Anszperger - MPLS - Co to jest? Z czym to gryźć? Jak i po...
PROIDEA
 
PLNOG 5: Bartosz Kiziukiewicz, Marcin Wójcik - Praktyczne wskazówki projektow...
PLNOG 5: Bartosz Kiziukiewicz, Marcin Wójcik - Praktyczne wskazówki projektow...PLNOG 5: Bartosz Kiziukiewicz, Marcin Wójcik - Praktyczne wskazówki projektow...
PLNOG 5: Bartosz Kiziukiewicz, Marcin Wójcik - Praktyczne wskazówki projektow...
PROIDEA
 

What's hot (20)

Sekrety magicznego ogrodu Docker
Sekrety magicznego ogrodu DockerSekrety magicznego ogrodu Docker
Sekrety magicznego ogrodu Docker
 
Noc informatyka
Noc informatykaNoc informatyka
Noc informatyka
 
Prezentacja Jabber
Prezentacja JabberPrezentacja Jabber
Prezentacja Jabber
 
PLNOG 8: Przemysław Grygiel - Data Center Allegro wyboista droga L2 do autost...
PLNOG 8: Przemysław Grygiel - Data Center Allegro wyboista droga L2 do autost...PLNOG 8: Przemysław Grygiel - Data Center Allegro wyboista droga L2 do autost...
PLNOG 8: Przemysław Grygiel - Data Center Allegro wyboista droga L2 do autost...
 
PLNOG16: Transport ruchu klientów - MPLS L2 i L3, Tomasz Jedynak
PLNOG16: Transport ruchu klientów - MPLS L2 i L3, Tomasz JedynakPLNOG16: Transport ruchu klientów - MPLS L2 i L3, Tomasz Jedynak
PLNOG16: Transport ruchu klientów - MPLS L2 i L3, Tomasz Jedynak
 
GlusterFS
GlusterFSGlusterFS
GlusterFS
 
Stosy sieciowe w przestrzeni użytkownika.
Stosy sieciowe w przestrzeni użytkownika.Stosy sieciowe w przestrzeni użytkownika.
Stosy sieciowe w przestrzeni użytkownika.
 
Efekt motyla w kodzie maszynowym.
Efekt motyla w kodzie maszynowym.Efekt motyla w kodzie maszynowym.
Efekt motyla w kodzie maszynowym.
 
HPE 3PAR All Flash
HPE 3PAR All FlashHPE 3PAR All Flash
HPE 3PAR All Flash
 
PLNOG 3: Piotr Jabłoński - Realizacja styku międzyoperatorskiego dla usług L...
PLNOG 3: Piotr Jabłoński -  Realizacja styku międzyoperatorskiego dla usług L...PLNOG 3: Piotr Jabłoński -  Realizacja styku międzyoperatorskiego dla usług L...
PLNOG 3: Piotr Jabłoński - Realizacja styku międzyoperatorskiego dla usług L...
 
PLNOG 8: Krzysztof Konkowski - GigabitEthernetem routera agregacyjnego do nie...
PLNOG 8: Krzysztof Konkowski - GigabitEthernetem routera agregacyjnego do nie...PLNOG 8: Krzysztof Konkowski - GigabitEthernetem routera agregacyjnego do nie...
PLNOG 8: Krzysztof Konkowski - GigabitEthernetem routera agregacyjnego do nie...
 
PLNOG 9: Krzysztof Mazepa - Dostęp szerokopasmowy IPv6
PLNOG 9: Krzysztof Mazepa - Dostęp szerokopasmowy IPv6PLNOG 9: Krzysztof Mazepa - Dostęp szerokopasmowy IPv6
PLNOG 9: Krzysztof Mazepa - Dostęp szerokopasmowy IPv6
 
Monitoring sieci
Monitoring sieciMonitoring sieci
Monitoring sieci
 
PLNOG 6: Piotr Jabłoński - Praktyczne aspekty implementacji IGP
PLNOG 6: Piotr Jabłoński - Praktyczne aspekty implementacji IGP PLNOG 6: Piotr Jabłoński - Praktyczne aspekty implementacji IGP
PLNOG 6: Piotr Jabłoński - Praktyczne aspekty implementacji IGP
 
Złam zasady i stwórz wydajny stos IP przy użyciu DPDK
Złam zasady i stwórz wydajny stos IP przy użyciu DPDKZłam zasady i stwórz wydajny stos IP przy użyciu DPDK
Złam zasady i stwórz wydajny stos IP przy użyciu DPDK
 
Usługi sieci internet cz iiii 2012
Usługi sieci internet cz iiii   2012Usługi sieci internet cz iiii   2012
Usługi sieci internet cz iiii 2012
 
PLNOG 6: Piotr Wojciechowski - IPv6 - dwa kliknięcia i działa
PLNOG 6: Piotr Wojciechowski - IPv6 - dwa kliknięcia i działa PLNOG 6: Piotr Wojciechowski - IPv6 - dwa kliknięcia i działa
PLNOG 6: Piotr Wojciechowski - IPv6 - dwa kliknięcia i działa
 
PLNOG15: IP services architecture with TDM quality in MPLS/IP networks - Mare...
PLNOG15: IP services architecture with TDM quality in MPLS/IP networks - Mare...PLNOG15: IP services architecture with TDM quality in MPLS/IP networks - Mare...
PLNOG15: IP services architecture with TDM quality in MPLS/IP networks - Mare...
 
PLNOG 8: Bartłomiej Anszperger - MPLS - Co to jest? Z czym to gryźć? Jak i po...
PLNOG 8: Bartłomiej Anszperger - MPLS - Co to jest? Z czym to gryźć? Jak i po...PLNOG 8: Bartłomiej Anszperger - MPLS - Co to jest? Z czym to gryźć? Jak i po...
PLNOG 8: Bartłomiej Anszperger - MPLS - Co to jest? Z czym to gryźć? Jak i po...
 
PLNOG 5: Bartosz Kiziukiewicz, Marcin Wójcik - Praktyczne wskazówki projektow...
PLNOG 5: Bartosz Kiziukiewicz, Marcin Wójcik - Praktyczne wskazówki projektow...PLNOG 5: Bartosz Kiziukiewicz, Marcin Wójcik - Praktyczne wskazówki projektow...
PLNOG 5: Bartosz Kiziukiewicz, Marcin Wójcik - Praktyczne wskazówki projektow...
 

Similar to PLNOG 8: Łukasz Bromirski - IP Anycast - Ochrona i skalowanie usług sieciowych

PLNOG 9: Marcin Aronowski - Unified MPLS
PLNOG 9: Marcin Aronowski - Unified MPLSPLNOG 9: Marcin Aronowski - Unified MPLS
PLNOG 9: Marcin Aronowski - Unified MPLS
PROIDEA
 
PLNOG 9: Łukasz Bromirski, Rafał Szarecki - MPLS VPN - Architektura i przeglą...
PLNOG 9: Łukasz Bromirski, Rafał Szarecki - MPLS VPN - Architektura i przeglą...PLNOG 9: Łukasz Bromirski, Rafał Szarecki - MPLS VPN - Architektura i przeglą...
PLNOG 9: Łukasz Bromirski, Rafał Szarecki - MPLS VPN - Architektura i przeglą...
PROIDEA
 
Przemyslaw Misiak - Wdrazanie mechanizmow QoS w sieciach MPLS
Przemyslaw Misiak -  Wdrazanie mechanizmow QoS w sieciach MPLSPrzemyslaw Misiak -  Wdrazanie mechanizmow QoS w sieciach MPLS
Przemyslaw Misiak - Wdrazanie mechanizmow QoS w sieciach MPLS
PROIDEA
 
PLNOG19 - Konrad Kulikowski - Segment Routing – okiem praktyka
 PLNOG19 - Konrad Kulikowski - Segment Routing – okiem praktyka PLNOG19 - Konrad Kulikowski - Segment Routing – okiem praktyka
PLNOG19 - Konrad Kulikowski - Segment Routing – okiem praktyka
PROIDEA
 
PLNOG 6: Łukasz Bromirski, Rafał Szarecki - Przełączniki i Routery - co jest ...
PLNOG 6: Łukasz Bromirski, Rafał Szarecki - Przełączniki i Routery - co jest ...PLNOG 6: Łukasz Bromirski, Rafał Szarecki - Przełączniki i Routery - co jest ...
PLNOG 6: Łukasz Bromirski, Rafał Szarecki - Przełączniki i Routery - co jest ...
PROIDEA
 
PLNOG15: BGP Route Reflector from practical point of view
PLNOG15: BGP Route Reflector from practical point of viewPLNOG15: BGP Route Reflector from practical point of view
PLNOG15: BGP Route Reflector from practical point of view
PROIDEA
 
PLNOG 6: Bartłomiej Anszperger - MPLS
PLNOG 6: Bartłomiej Anszperger - MPLSPLNOG 6: Bartłomiej Anszperger - MPLS
PLNOG 6: Bartłomiej Anszperger - MPLS
PROIDEA
 
PLNOG 7: Bartłomiej Anszperger - MPLS - trochę głębiej
PLNOG 7: Bartłomiej Anszperger - MPLS - trochę głębiej PLNOG 7: Bartłomiej Anszperger - MPLS - trochę głębiej
PLNOG 7: Bartłomiej Anszperger - MPLS - trochę głębiej
PROIDEA
 
Projekcik Routery2
Projekcik Routery2Projekcik Routery2
Projekcik Routery2arkulik
 
PLNOG 5: Łukasz Bromirski - Wysoka dostępność w sieciach operatorskich
PLNOG 5: Łukasz Bromirski - Wysoka dostępność w sieciach operatorskich PLNOG 5: Łukasz Bromirski - Wysoka dostępność w sieciach operatorskich
PLNOG 5: Łukasz Bromirski - Wysoka dostępność w sieciach operatorskich
PROIDEA
 
PLNOG 7: Marcin Aronowski - MPLS dla "tradycyjnego" operatora telekomunikacyj...
PLNOG 7: Marcin Aronowski - MPLS dla "tradycyjnego" operatora telekomunikacyj...PLNOG 7: Marcin Aronowski - MPLS dla "tradycyjnego" operatora telekomunikacyj...
PLNOG 7: Marcin Aronowski - MPLS dla "tradycyjnego" operatora telekomunikacyj...
PROIDEA
 
Łukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiej
Łukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiejŁukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiej
Łukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiej
PROIDEA
 
PLNOG 6: Mikołaj Chmura - System IPTV i sieć GPON - praktyka wdrożeń
PLNOG 6: Mikołaj Chmura - System IPTV i sieć GPON - praktyka wdrożeńPLNOG 6: Mikołaj Chmura - System IPTV i sieć GPON - praktyka wdrożeń
PLNOG 6: Mikołaj Chmura - System IPTV i sieć GPON - praktyka wdrożeń
PROIDEA
 
PLNOG20 - Krzysztof Mazepa - Transformacja poprzez innowacje
PLNOG20 - Krzysztof Mazepa - Transformacja poprzez innowacjePLNOG20 - Krzysztof Mazepa - Transformacja poprzez innowacje
PLNOG20 - Krzysztof Mazepa - Transformacja poprzez innowacje
PROIDEA
 
PLNOG 4: Piotr Jabłoński - Podstawy MPLS
PLNOG 4: Piotr Jabłoński - Podstawy MPLSPLNOG 4: Piotr Jabłoński - Podstawy MPLS
PLNOG 4: Piotr Jabłoński - Podstawy MPLS
PROIDEA
 
PLONG 21: Marcel Guzenda - Chmura_prywatna_w_wydaniu_Hiperkonwergentnym
PLONG 21: Marcel Guzenda - Chmura_prywatna_w_wydaniu_HiperkonwergentnymPLONG 21: Marcel Guzenda - Chmura_prywatna_w_wydaniu_Hiperkonwergentnym
PLONG 21: Marcel Guzenda - Chmura_prywatna_w_wydaniu_Hiperkonwergentnym
PROIDEA
 
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFXPLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
PROIDEA
 
PLNOG14: Nowości w protokole BGP, optymalizacja routingu na brzegu sieci - Łu...
PLNOG14: Nowości w protokole BGP, optymalizacja routingu na brzegu sieci - Łu...PLNOG14: Nowości w protokole BGP, optymalizacja routingu na brzegu sieci - Łu...
PLNOG14: Nowości w protokole BGP, optymalizacja routingu na brzegu sieci - Łu...
PROIDEA
 
PLNOG 6: Łukasz Bromirski - Protokoły warstwy 2 - Przegląd dostępnych opcji
PLNOG 6: Łukasz Bromirski - Protokoły warstwy 2 - Przegląd dostępnych opcji PLNOG 6: Łukasz Bromirski - Protokoły warstwy 2 - Przegląd dostępnych opcji
PLNOG 6: Łukasz Bromirski - Protokoły warstwy 2 - Przegląd dostępnych opcji
PROIDEA
 
PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...
PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...
PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...
PROIDEA
 

Similar to PLNOG 8: Łukasz Bromirski - IP Anycast - Ochrona i skalowanie usług sieciowych (20)

PLNOG 9: Marcin Aronowski - Unified MPLS
PLNOG 9: Marcin Aronowski - Unified MPLSPLNOG 9: Marcin Aronowski - Unified MPLS
PLNOG 9: Marcin Aronowski - Unified MPLS
 
PLNOG 9: Łukasz Bromirski, Rafał Szarecki - MPLS VPN - Architektura i przeglą...
PLNOG 9: Łukasz Bromirski, Rafał Szarecki - MPLS VPN - Architektura i przeglą...PLNOG 9: Łukasz Bromirski, Rafał Szarecki - MPLS VPN - Architektura i przeglą...
PLNOG 9: Łukasz Bromirski, Rafał Szarecki - MPLS VPN - Architektura i przeglą...
 
Przemyslaw Misiak - Wdrazanie mechanizmow QoS w sieciach MPLS
Przemyslaw Misiak -  Wdrazanie mechanizmow QoS w sieciach MPLSPrzemyslaw Misiak -  Wdrazanie mechanizmow QoS w sieciach MPLS
Przemyslaw Misiak - Wdrazanie mechanizmow QoS w sieciach MPLS
 
PLNOG19 - Konrad Kulikowski - Segment Routing – okiem praktyka
 PLNOG19 - Konrad Kulikowski - Segment Routing – okiem praktyka PLNOG19 - Konrad Kulikowski - Segment Routing – okiem praktyka
PLNOG19 - Konrad Kulikowski - Segment Routing – okiem praktyka
 
PLNOG 6: Łukasz Bromirski, Rafał Szarecki - Przełączniki i Routery - co jest ...
PLNOG 6: Łukasz Bromirski, Rafał Szarecki - Przełączniki i Routery - co jest ...PLNOG 6: Łukasz Bromirski, Rafał Szarecki - Przełączniki i Routery - co jest ...
PLNOG 6: Łukasz Bromirski, Rafał Szarecki - Przełączniki i Routery - co jest ...
 
PLNOG15: BGP Route Reflector from practical point of view
PLNOG15: BGP Route Reflector from practical point of viewPLNOG15: BGP Route Reflector from practical point of view
PLNOG15: BGP Route Reflector from practical point of view
 
PLNOG 6: Bartłomiej Anszperger - MPLS
PLNOG 6: Bartłomiej Anszperger - MPLSPLNOG 6: Bartłomiej Anszperger - MPLS
PLNOG 6: Bartłomiej Anszperger - MPLS
 
PLNOG 7: Bartłomiej Anszperger - MPLS - trochę głębiej
PLNOG 7: Bartłomiej Anszperger - MPLS - trochę głębiej PLNOG 7: Bartłomiej Anszperger - MPLS - trochę głębiej
PLNOG 7: Bartłomiej Anszperger - MPLS - trochę głębiej
 
Projekcik Routery2
Projekcik Routery2Projekcik Routery2
Projekcik Routery2
 
PLNOG 5: Łukasz Bromirski - Wysoka dostępność w sieciach operatorskich
PLNOG 5: Łukasz Bromirski - Wysoka dostępność w sieciach operatorskich PLNOG 5: Łukasz Bromirski - Wysoka dostępność w sieciach operatorskich
PLNOG 5: Łukasz Bromirski - Wysoka dostępność w sieciach operatorskich
 
PLNOG 7: Marcin Aronowski - MPLS dla "tradycyjnego" operatora telekomunikacyj...
PLNOG 7: Marcin Aronowski - MPLS dla "tradycyjnego" operatora telekomunikacyj...PLNOG 7: Marcin Aronowski - MPLS dla "tradycyjnego" operatora telekomunikacyj...
PLNOG 7: Marcin Aronowski - MPLS dla "tradycyjnego" operatora telekomunikacyj...
 
Łukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiej
Łukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiejŁukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiej
Łukasz Bromirski - Najlepsze praktyki zabezpieczania sieci klasy operatorskiej
 
PLNOG 6: Mikołaj Chmura - System IPTV i sieć GPON - praktyka wdrożeń
PLNOG 6: Mikołaj Chmura - System IPTV i sieć GPON - praktyka wdrożeńPLNOG 6: Mikołaj Chmura - System IPTV i sieć GPON - praktyka wdrożeń
PLNOG 6: Mikołaj Chmura - System IPTV i sieć GPON - praktyka wdrożeń
 
PLNOG20 - Krzysztof Mazepa - Transformacja poprzez innowacje
PLNOG20 - Krzysztof Mazepa - Transformacja poprzez innowacjePLNOG20 - Krzysztof Mazepa - Transformacja poprzez innowacje
PLNOG20 - Krzysztof Mazepa - Transformacja poprzez innowacje
 
PLNOG 4: Piotr Jabłoński - Podstawy MPLS
PLNOG 4: Piotr Jabłoński - Podstawy MPLSPLNOG 4: Piotr Jabłoński - Podstawy MPLS
PLNOG 4: Piotr Jabłoński - Podstawy MPLS
 
PLONG 21: Marcel Guzenda - Chmura_prywatna_w_wydaniu_Hiperkonwergentnym
PLONG 21: Marcel Guzenda - Chmura_prywatna_w_wydaniu_HiperkonwergentnymPLONG 21: Marcel Guzenda - Chmura_prywatna_w_wydaniu_Hiperkonwergentnym
PLONG 21: Marcel Guzenda - Chmura_prywatna_w_wydaniu_Hiperkonwergentnym
 
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFXPLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
 
PLNOG14: Nowości w protokole BGP, optymalizacja routingu na brzegu sieci - Łu...
PLNOG14: Nowości w protokole BGP, optymalizacja routingu na brzegu sieci - Łu...PLNOG14: Nowości w protokole BGP, optymalizacja routingu na brzegu sieci - Łu...
PLNOG14: Nowości w protokole BGP, optymalizacja routingu na brzegu sieci - Łu...
 
PLNOG 6: Łukasz Bromirski - Protokoły warstwy 2 - Przegląd dostępnych opcji
PLNOG 6: Łukasz Bromirski - Protokoły warstwy 2 - Przegląd dostępnych opcji PLNOG 6: Łukasz Bromirski - Protokoły warstwy 2 - Przegląd dostępnych opcji
PLNOG 6: Łukasz Bromirski - Protokoły warstwy 2 - Przegląd dostępnych opcji
 
PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...
PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...
PLNOG 18 - Sebastian Pasternacki - Bezpieczeństwo sieci operatorskich oraz en...
 

PLNOG 8: Łukasz Bromirski - IP Anycast - Ochrona i skalowanie usług sieciowych

  • 1. 1 IP Anycast Ochrona i skalowanie usług sieciowych Łukasz Bromirski lbromirski@cisco.com
  • 2. 2 Agenda §  IP Anycast – co to jest? §  Jak wykorzystać IP Anycast? §  Rozważania projektowe dla DNS §  Rozważania projektowe dla HTTP §  Q&A
  • 4. 4 Trochę o historii… §  Wykrywanie nowych usług – SNTPv4 (RFC 2030) oraz NTP "manycast" (RFC 4330) §  Pierwszy mechanizm przechodzenia na IPv6 (RFC 2893) a potem 6to4 (RFC 3068) §  Użycie anycastów dla RP – MSDP i PIM (RFC 4610) §  W IPv6 pierwsze RFC (RFC 1884, 2373 i 3513) zabraniały używania adresu anycastowego jako adresu źródłowego; zniesiono to ograniczenie w RFC 4291 §  Zastosowanie anycastów w systemie DNS (RFC 3258) wspomina wykorzystanie "shared unicast" To nic nowego, ale nadal działa dobrze J
  • 5. 5 IP Anycast §  Prosty, efektywny, szeroko używany J §  Niezależny od warstwy trzeciej zarówno IPv4 jak i IPv6 działają – po prostu RFC mówi o specjalnych adresach anycast – ale większość technik skalowania, w tym te najpowszechniejsze – wykorzystują podejście 'shared unicast'
  • 6. 6 IP Anycast §  Jest bardzo uniwersalny §  Może być wykorzystywany zamiast lub równocześnie z: równoważeniem obciążenia w L3/L4 dodawaniem usług IP w sposób tradycyjny §  W przeciwieństwie do powszechnego przekonania, IP Anycast może być również używany do skalowania usług TCP* * więcej o tym później, pamiętajcie jednak że Wasze rezultaty mogą się różnić
  • 10. 10 Rozwiązanie pierwsze: rośniemy wszerz "Zainstalujmy loadbalancer i dodajmy serwerów" sieć VIP: 1.1.1.1/32 1.1.5.10/24 1.1.5.11/24 1.1.5.12/24 1.1.5.13/24
  • 11. 11 Po zastosowaniu VIPa i serwerów 1.1.1.1/32
  • 12. 12 …ale połączenia się przeciążają… 1.1.1.1/32
  • 13. 13 …i tylko część użytkowników ma dostęp 1.1.1.1/32
  • 14. 14 A może zreplikujemy to samo IP? 1.1.1.1/32 1.1.1.1/32
  • 15. 15 Zreplikowana usługa 1.1.1.1/32 1.1.1.1/32 Mechanizm routingu wybierze drogę o najmniejszym koszcie pomiędzy klientem a serwerem Każdy z hostów zostanie skierowany do "najbliższej" instancji usługi Należy zadbać o usuwanie niedziałających instancji Działa dla IP, MPLS/IP i dowolnego protokołu routingu R1> show ip route! I 1.1.1.1/32 [115/10] via 192.168.11.6! R3> show ip route! I 1.1.1.1/32 [115/20] via 192.168.73.7! ! R7> show ip route! I 1.1.1.1/32 [115/10] via 192.168.77.6! ! R1 R7 R3 R5
  • 16. 16 1.1.1.1/32 Zreplikowana usługa 1.1.1.1/32 Replikacja zapewni wysoką dostępność "Śmierć" jednej instancji spowoduje zniknięcie jej z IGP, jeśli IGP będzie o tym wiedział Ilość stopni redundancji zależy od ilości instancji R1> show ip route! I 1.1.1.1/32 [115/20] via 192.168.17.7! R3> show ip route! I 1.1.1.1/32 [115/20] via 192.168.73.7! ! R7> show ip route! I 1.1.1.1/32 [115/10] via 192.168.77.6! ! R1 R7 R3 R7> show ip route! I 1.1.1.1/32 [115/10] via 192.168.77.6! ! R5
  • 17. 17 Zreplikowana usługa 1.1.1.1/32 Automatyczne rozkładanie obciążenia w L3/L4 Uwaga na usługi TCP – oraz ogólnie, na usługi utrzymujące dłuższe połączenia R3> show ip route! I 1.1.1.1/32 [115/20] via 192.168.13.1! via 192.168.37.7! R1 R7 R3 R5 1.1.1.1/32
  • 18. 18 IP Anycast w służbie DNS
  • 19. 19 Problemy tradycyjne §  Brak stosowania "best practices" Serwery DNS usytuowane są zwykle w jednym miejscu (z punktu widzenia topologii sieci) co oznacza, że stają się łatwym celem dla ataków i zwiększa ryzyko ich zniknięcia w przypadku awarii wyeliminowanie serwerów i łącz do nich nigdy nie było prostsze Nawet jeśli serwery DNS znajdują się w różnych miejscach sieci, przyciągają różny ruch – do różnych IP atak na 2-3 adresy lub podsieci jest nadal bardzo prosty do przeprowadzenia przełączenie się z pierwszego adresu na drugi przy rozwiązywaniu nazw nadal nie wychodzi dobrze większości popularnych systemów operacyjnych
  • 20. 20 Problemy tradycyjne §  Skalowalność: większość klientów DNS (resolverów) w stosowanych powszechnie systemach operacyjnych nie radzi sobie dobrze z więcej niż 1-2 serwerami DNS czasami można dodać więcej, ale rzadko robi to realną różnicę* możesz serwować różne adresy DNS w różnych częściach swojej sieci, ale jest to trudne do zarządzania i utrzymania można też dodać lokalny load-balancing na wiele różnych adresów IP – sprzętowo lub programowo to jednak też dodaje złożoności do całości rozwiązania
  • 21. 21 Kto używa IP anycastu dla DNS? §  "Prawie" wszyscy! J * Mapa CAIDA dla DNS: http://www.caida.org/research/dns/influence-map/
  • 22. 22 Mapa root serwerów DNS http://www.root-servers.org/
  • 23. 23 Ochrona serwerów root DNS anycastem
  • 24. 24 Rozwiązanie IP anycastu dla DNS W detalach sieć em0:1.1.5.10/24 em0:1.1.5.11/24 em0:1.1.5.12/24 em0:1.1.5.13/24lo0: 1.1.1.1/32 
 R1# sh ip route! ! *> 1.1.1.1/32! via 1.1.5.10! via 1.1.5.11! via 1.1.5.12! via 1.1.5.13! R1 R2 
 R2# sh ip route! ! *> 1.1.1.1/32! via 1.1.5.10! via 1.1.5.11! via 1.1.5.12! via 1.1.5.13! IGP: OSPF/IS-IS/EIGRP ;; ANSWER SECTION:! ns1.anycasted.com. 86400 IN A 1.1.1.1! zapytanie o adres serwera DNS Tablica routingu R1 Tablica routingu R2
  • 25. 25 Równoważenie obciążenia w dużej sieci 1.1.1.1/32 1.1.1.1/32 POZ WRO SZC GDA WAR BIA LUB KRA WRO# sh ip route! ! *> 1.1.1.1/32! via 1.1.22.2! via 1.1.18.2! Tablica routingu routera WRO
  • 26. 26 Rozwiązanie IP anycastu dla DNS §  Wymagana jest uważna konfiguracja odpowiadamy na pytania z adresu anycast, przypisanego do interfejsu loopback0 (1.1.1.1/32 & 2001:db8::100:100) sami pytamy, przeprowadzamy transfery stref/etc z adresu fizycznego interfejsu lub innego interfejsu loopback Konfiguracja systemu DNS - named options {! listen-on { 1.1.1.1; };! listen-on-v6 { 2001:db8::100:100; };! query-source address 1.1.5.10;! query-source-v6 2001:db8::34:254;! transfer-source 1.1.5.10;! transfer-source-v6 2001:db8::34:254;! };! NS1-1 named.conf options {! listen-on { 1.1.1.1; };! listen-on-v6 { 2001:db8::100:100; };! query-source address 1.1.5.11;! query-source-v6 2001:db8::34:254;! transfer-source 1.1.5.11;! transfer-source-v6 2001:db8::34:254;! };! NS1-2 named.conf
  • 27. 27 Rozwiązanie IP anycastu dla DNS §  Pomiędzy serwerem DNS a routerami należy uruchomić protokół IGP – pakiet routingu do wyboru Konfiguracja – quagga/OpenOSPFd interface em0! ip address 1.1.5.11/24! !! interface lo0! ip address 1.1.1.1/32! quagga.conf router ospf! ospf router-id 1.1.5.11! network 1.1.5.0/24 area 10! redistribute connected route-map PF-DNS! !! route-map PF-DNS permit 10! match ip address prefix-list dns-ospf! !! ip prefix-list dns-ospf permit 1.1.1.1/32! ospfd.conf
  • 28. 28 IP Anycast w służbie HTTP
  • 29. 29 Skalowanie usług TCP w ogólności §  Ilość zmian topologii wpływających na "bliskość" instancji powinna być ograniczona zmiana topologii oznacza w tej sytuacji zerwanie sesji TCP obejście problemu jest związane zwykle z synchronizacją stanów pomiędzy serwerami (bolesne, "ciężkie" - złożone) nauczenie aplikacji klienta lub urządzenia po drodze (CPE) by dawało sobie z tym radę (działa w rzeczywistych zastosowaniach*) §  Jeśli pomiędzy klientem a instancjami mamy wiele równoległych ścieżek, mogą pojawić się problemy można w prosty** sposób zmienić koszty połączeń tak aby uniknąć problemu jeśli występuje * Studium przypadku dla streamingu TCP dla usług IP anycast, NANOG #37
  • 30. 30 Usługa HTTP z IP anycast §  Dla długo trwających sesji HTTP, w szczególności z wykorzystaniem różnego rodzaju mechanizmów śledzących, jak np. cookies – przy zmianie topologii może pojawić się problem Technologie typu AJAX są lepsze do tego typu zastosowań §  Jeśli topologia zmieni się pomiędzy kolejnymi zapytaniami klienta, mogą pojawić się pewne problemy np. niezsynchronizowane/uaktualnione cookies, powodujące wyrzucenie/złe przekierowanie klienta można to oczywiście obejść wykonując synchronizację z niezależnych adresów
  • 31. 31 Gdzie znaleźć więcej informacji? §  Wykorzystanie anycastu z TCP Anycast-aware transport for content delivery networks http://dl.acm.org/citation.cfm?id=1526750 §  Wdrażanie anycastów z TCP NANOG #37 http://www.nanog.org/meetings/nanog37/abstracts.php §  BCP 126 / RFC 4786 Operation of Anycast Services http://tools.ietf.org/html/rfc4786 §  Rozważania architekturalne dla IP Anycast http://tools.ietf.org/html/draft-mcpherson-anycast-arch- implications-00