INTEGRITY Dokumentace

Řízení provozu

Tabulka směrování Magic Transit Virtual Network

Jakmile provoz vstoupí do sítě Cloudflare, musí se dostat na správné místo ve vaší infrastruktuře: do konkrétního datového centra, kanceláře nebo cloudového prostředí. To, jak Cloudflare tato směrovací rozhodnutí dělá, řídí traffic steering.

Magic Transit Virtual Network je virtuální overlay síť, soukromá pro váš účet, která zahrnuje všechna datová centra Cloudflare po celém světě. Tato overlay síť poskytuje:

Magic Transit Virtual Network umožňuje směrovat provoz Magic Transit prostřednictvím anycastových tunelů pomocí GRE a Internet Protocol Security (IPsec) nebo CNI s Dataplane v2. Do směrovací tabulky Magic Transit Virtual Network můžete přidávat záznamy prostřednictvím konfigurace statických tras nebo pomocí tras získaných přes BGP peering (beta).

Povolené rozsahy IP adres

Ve směrovací tabulce Magic Transit Virtual Network jsou povoleny následující rozsahy adres IPv4:

Výchozí směrování

Pokud provoz neodpovídá žádné trase nakonfigurované ve virtuální síti, Cloudflare použije výchozí chování podle typu cílové adresy:

Prioritizace tras

Magic Transit směruje provoz podél tunelových cest na základě priorit záznamů cest.

Nastavit prioritu a váhy pro statické trasy

Hodnota priority pro statické trasy se konfiguruje přímo jako součást objektu trasy v Cloudflare dashboard nebo prostřednictvím API. Například:

Prefix NextHop Priorita
10.10.10.100/24 TUNNEL_1_IAD 200
10.10.10.100/24 TUNNEL_2_IAD 200
10.10.10.100/24 TUNNEL_3_ATL 100
10.10.10.100/24 TUNNEL_4_ATL 100

V tomto příkladu tunely s prioritou 100 mají přednost před tunely s prioritou 200 protože nižší čísla mají vyšší prioritu.

Volitelně můžete přiřadit váhy pro efektivnější rozložení provozu mezi více tunelů. Hodnoty vah určují podíl provozu, přičemž tunely s vyšší váhou dostávají více provozu. Maximální hodnota váhy je 256.

V následujícím příkladu TUNNEL_2_IAD pravděpodobně obdrží dvakrát tolik provozu než TUNNEL_1_IAD.

Prefix NextHop Priorita Váha
10.10.10.100/24 TUNNEL_1_IAD 100 64
10.10.10.100/24 TUNNEL_2_IAD 100 128
10.10.10.100/24 TUNNEL_3_ATL 100 192
10.10.10.100/24 TUNNEL_4_ATL 100 255

Kromě priority ovlivňuje způsob směrování provozu i omezení statických tras na konkrétní zeměpisné oblasti. Více informací najdete v Omezení tras na konkrétní regiony pro další podrobnosti.

Nastavit prioritu pro trasy BGP

Když BGP oznámí trasu, Cloudflare ji automaticky přidá do směrovací tabulky Magic Transit Virtual Network s výchozí prioritou 100 která se vztahuje na všechny regiony. Pokud však existuje statická trasa se stejným prefixem a stejnou prioritou, statická trasa má vždy přednost před trasou BGP. Nastavte pro statické trasy jinou prioritu (vyšší nebo nižší než 100) v závislosti na tom, čemu chcete dát přednost. Nižší hodnoty mají vyšší prioritu.

Pokud navíc existuje více tras BGP se stejnou délkou prefixu a stejnou prioritou, ECMP mezi nimi rozděluje provoz pomocí směrování equal-cost multi-path (ECMP).

Změňte priority tras pomocí atributů BGP

Cloudflare podporuje řízení provozu pomocí BGP komunit a AS prependingu. Tyto techniky směrování provozu můžete využít k nastavení priorit tras a k optimalizaci provozu napříč více interkonekty.

BGP komunity pro nastavení priority tras

Výchozí priorita trasy BGP je 100. Tuto základní prioritu lze upravit pomocí komunit. Pokud je například trasa označena komunitou 13335:60010 jeho priorita je nastavena na 10. Díky tomu má vyšší prioritu než výchozí 100 protože jsou upřednostňovány nižší číselné priority.

Podporované hodnoty komunity pro nastavení základní priority trasy jsou:

Nastavení více základních prioritních komunit ve stejné aktualizační zprávě prefixu představuje chybnou konfiguraci. V takovém případě Cloudflare upřednostní nejvyšší prioritu (nejnižší celočíselnou hodnotu).

AS path prepending pro úpravu priority tras

Za každou další zmínku vašeho ASN v přijaté AS path Cloudflare přidá 10 k základní prioritě trasy. Zvýšením čísla priority se trasa stává méně preferovanou.

Pokud je například vaše ASN 65000 pak BGP UPDATE ke Cloudflare bude:

# No change to base priority.
AS_PATH: 65000 65200

# Add 10 to base priority for 1 prepend of 65000
AS_PATH: 65000 65000 65200

# Add 20 to base priority for 2 prepend of 65000
AS_PATH: 65000 65000 65000 65200

Jak spolu fungují komunity a prependy

Cloudflare upravuje prioritu trasy při použití AS prepending s komunitami. Pokud je například trasa označená štítkem 13335:60150, základní priorita je nastavena na 150. Pokud své ASN prependujete dvakrát, Cloudflare přidá 10 pro každé prepend, čímž se zvyšuje priorita trasy na 180.

Režim Unified Routing (beta)

Režim Unified Routing je novější datová rovina Cloudflare One, která pro všechny podporované typy připojení používá jedinou směrovací infrastrukturu. Provoz v režimu Unified Routing směruje napříč Cloudflare One Client, Cloudflare Tunnel, IPsec, GRE a Cloudflare Network Interconnect (CNI) v rámci jednoho systému, což usnadňuje nastavení vašich připojení Cloudflare One.

V dashboardu Magic Transit se režim směrování zobrazuje tam, kde spravujete trasy:

Proč používat Unified Routing

Unified Routing představuje budoucnost vyhrazeného overlaye virtuální sítě, který pohání síťovou konektivitu Magic Transit a Cloudflare One.

U zákazníků Magic Transit je hlavním důvodem ke zvážení Unified Routing možnost vyhodnotit BGP pro tunely IPsec/GRE, což závisí na Unified Routing.

Omezení bety

Na účty používající režim Unified Routing se vztahují následující omezení. Tento seznam se bude postupně zkracovat, jak Cloudflare přidává podporu dalších funkcí.

Aktuální omezení beta verze Podrobnosti
Výkon Obvykle přibližně 150 Mbps na jeden onramp
Základní zachytávání paketů Záznamy nezahrnují provoz Automatic Return Routing ani BGP přes tunely
Úplné zachytávání paketů Zatím není podporováno
Funkce Cloudflare Advanced Network Firewall: ASN Lists, Threat Intel Lists, Rate Limiting, Managed Rulesets Zatím není podporováno
Filtrovací pravidla Gateway Nepodporováno pro provoz, kde je zároveň onramp i offramp IPsec/GRE/CNI
Load Balancer Případ použití z veřejné do soukromé sítě je podporován pro cíle IPsec/GRE/CNI. Případ použití ze soukromé do soukromé sítě zatím nepodporuje Cloudflare Source IPs
Podpora IPv6 IPv6 je podporována pro IPsec a GRE. Základní podpora síťového firewallu pro IPv6 je omezena na filtrování zdrojových a cílových IP adres

Registrace do bety Unified Routing

Unified Routing je aktuálně v uzavřené beta verzi. Chcete-li se zaregistrovat:

Omezení tras na konkrétní regiony

Pokud máte k síťovému segmentu více cest připojení a chcete uplatňovat různou prioritizaci tras podle toho, kde provoz vstupuje do sítě Cloudflare, můžete trasy omezit na konkrétní regiony datových center Cloudflare. To se hodí, pokud provozujete vlastní anycast síť a chcete, aby provoz koncových uživatelů dorazil do síťové lokality nejblíže danému uživateli.

Když trasu omezíte na oblast datacenter Cloudflare, zobrazí se pouze ve směrovací tabulce Magic Transit Virtual Network v dané oblasti, spolu se všemi globálními trasami, které nemají žádné omezení na oblast. Prioritizace tras a logika ECMP se uplatňují jak u tras omezených na oblast, tak u globálních tras.

Při použití tras s rozsahem na úrovni regionu zajistěte, aby všechny prefixy měly trasy pokrývající všechny regiony. Jinak může provoz dorazit do regionu Cloudflare, který není pokryt žádnou trasou, a Cloudflare jej v takovém případě zahodí.

Následující tabulka ukazuje na příkladu, jak u tras použít geografické omezení:

Prefix NextHop Priorita Kód regionu
10.10.10.100/24 TUNNEL_1_IAD 100 AFR
10.10.10.100/24 TUNNEL_2_IAD 100 EEUR
10.10.10.100/24 TUNNEL_3_ATL 100 ENAM
10.10.10.100/24 TUNNEL_4_ATL 100 ME
10.10.10.100/24 TUNNEL_5_ATL 100 WNAM
10.10.10.100/24 TUNNEL_4_ATL 100 ENAM

Pokud existuje více tras ke stejnému prefixu se stejnou prioritou a tyto trasy jsou přiřazeny různým zeměpisným oblastem (například WNAM a ENAM), provoz vstupující do sítě v konkrétní oblasti, například WNAM, opouští síť (egress) přes trasu přiřazenou stejné oblasti.

Kódy regionů a přidružené regiony

Cloudflare má devět zeměpisných regionů:

Kód regionu Region
AFR Afrika
APAC Asie a Tichomoří
EEUR Východní Evropa
ENAM Východní Severní Amerika
ME Blízký východ
OC Oceánie
SAM Jižní Amerika
WEUR Západní Evropa
WNAM Západní Severní Amerika

Nakonfigurujte rozsah svého provozu v Kód regionu sekci při přidávání nebo úpravě statické trasy. Přečtěte si Vytvořit statickou trasu a Upravte statickou trasu s dalšími informacemi.

Mapování prefixů Magic Transit

Mapování prefixů cest menších než /24

Aby mohl Cloudflare směrovat váš provoz ze své globální sítě do vašich datových center přes anycast tunely, musíte zadat své prefixy a tunely, na které mají být namapovány. Jako vodítko použijte následující tabulku.

Prefix NextHop
103.21.244.0/29 TUNNEL_1_IAD
103.21.244.8/29 TUNNEL_2_ATL

Minimální oznamovaný prefix je /24, ale protože Cloudflare používá anycastové tunely jako vnější obal pro váš provoz, může Cloudflare směrovat prefixy v rámci tohoto /24 k různým koncovým bodům tunelu. Můžete například odesílat x.x.x.0/29 do Data Center 1 a x.x.x.8/29 do Data Center 2. To se hodí, pokud pracujete v prostředí s omezenými IP zdroji.

Mapování prefixů cest větších než onboardované prefixy

Pokud máte více zapojených /24 podsítě, které patří do většího souvislého bloku, můžete nakonfigurovat souhrnnou statickou trasu pro odpovídající supersíť (jako /23 nebo /22) místo přidávání každé /24 jednotlivě. Díky tomu není nutné konfigurovat každý /24 trasu, protože veškerý provoz bude směrován přes stejné GRE tunely.

Pokud máte například dva tunely:

Tyto údaje můžete shrnout do jednoho 192.0.2.0/23.

Viz Přidejte tunely se dozvíte více o konfiguraci GRE tunelů.

Equal-cost multi-path routing

Equal-cost multi-path routing používá haše vypočítané z paket ↗ data, aby určila zvolenou trasu. Hash vždy vychází ze zdrojové a cílové IP adresy. U paketů TCP a UDP zahrnuje hash i zdrojový a cílový port. Algoritmus ECMP dělí hash každého paketu počtem rovnocenných dalších skoků (next hops). Modulo (zbytek po dělení) pak určuje, kterou trasou paket půjde.

Používání ECMP má několik důsledků:

Díky tomu ECMP zajišťuje vyvažování zátěže mezi tunely se stejným prefixem a prioritou.

Příklady

Tento diagram znázorňuje, jak ECMP rovnoměrně rozděluje provoz mezi dvě cesty se stejným prefixem a prioritou.

Normální tok provozu

flowchart LR
accTitle: Tunnels diagram
accDescr: This example has three tunnel routes, with traffic equally distributed across two paths.

subgraph Cloudflare
direction LR
B[Cloudflare <br> data center]
C[Cloudflare <br> data center]
D[Cloudflare <br> data center]
end

Z("Load balancing for some <br> priority tunnels uses ECMP <br> (hashing on src IP, dst IP, <br> scr port, dst port)") --- Cloudflare
A((User)) --> Cloudflare --- E[Anycast IP]
E[Anycast IP] --> F[/"GRE Tunnel 1 / <br> priority 1 / <br> ~50% of flows"/] --> I{{Customer <br> data center/ <br> network 1}}
E[Anycast IP] --> G[/"GRE Tunnel 2 / <br> priority 1 / <br> ~50% of flows"/] --> J{{Customer <br> data center/ <br> network 2}}
E[Anycast IP] --> H[/GRE Tunnel 3 / <br> priority 2 / <br> 0% of flows/] --o K{{Customer <br> data center/ <br> network 3}}

Tok provozu při failoveru: scénář 1

Selhání routeru zákazníka

Když kontroly stavu Magic Transit zjistí, že Tunnel 2 je nefunkční, Magic Transit dynamicky sníží prioritu této trasy, takže jedinou trasou s nejvyšší prioritou zůstane Tunnel 1. Provoz se tak přesměruje z Tunnelu 2 a veškerý provoz poteče přes Tunnel 1.

flowchart LR
accTitle: Tunnels diagram
accDescr: This example has Tunnel 2 unhealthy, and all traffic prioritized to Tunnel 1.

subgraph Cloudflare
direction LR
B[Cloudflare <br> data center]
C[Cloudflare <br> data center]
D[Cloudflare <br> data center]
end

Z(Tunnel health is <br> determined by <br> health checks that <br> run from all Cloudflare <br> data centers) --- Cloudflare
A((User)) --> Cloudflare --- E[Anycast IP]
E[Anycast IP] --> F[/"Tunnel 1 / <br> priority 1 / <br> ~100% of flows"/]:::green --> I{{Customer <br> data center/ <br> network 1}}
E[Anycast IP] --> G[/Tunnel 2 / <br> priority 3 / <br> unhealthy / 0% of flows/]:::red --x J{{Customer <br> data center/ <br> network 2}}
E[Anycast IP] --> H[/Tunnel 3 / <br> priority 2 / <br> 0% of flows/] --o K{{Customer <br> data center/ <br> network 3}}
classDef red fill:#EE4B2B,color: black
classDef green fill:#00FF00,color: black

Tok provozu při failoveru: scénář 2

Selhání zprostředkujícího poskytovatele internetových služeb (ISP)

Když Magic Transit zjistí, že Tunnel 1 je také nefunkční, sníží se priorita i této trasy, takže nejvyšší prioritu získá trasa přes Tunnel 3. V takovém případě veškerý provoz směřuje přes Tunnel 3.

flowchart LR
accTitle: Tunnels diagram
accDescr: This example has Tunnel 1 and 2 unhealthy, and all traffic prioritized to Tunnel 3.

subgraph Cloudflare
direction LR
B[Cloudflare <br> data center]
C[Cloudflare <br> data center]
D[Cloudflare <br> data center]
end

Z(Lower-priority tunnels <br> are used when <br> higher-priority tunnels <br> are unhealthy) --- Cloudflare
A((User)) --> Cloudflare --- E[Anycast IP]
E[Anycast IP]  -- Intermediary <br> network issue -->  F[/Tunnel 1 / <br> priority 3 / <br> unhealthy / 0% of flows/]:::red --x I{{Customer <br> data center/ <br> network 1}}
E[Anycast IP]  -- Intermediary <br> network issue -->  G[/Tunnel 2 / <br> priority 3 / <br> unhealthy / 0% of flows/]:::red --x J{{Customer <br> data center/ <br> network 2}}
E[Anycast IP] -->  H[/Tunnel 3 / <br> priority 2 / <br> 100% of flows/]:::green --> K{{Customer <br> data center/ <br> network 3}}
classDef red fill:#EE4B2B,color: black
classDef green fill:#00FF00,color: black

Jakmile Magic Transit zjistí, že Tunnel 1 a Tunnel 2 jsou opět funkční, znovu upraví prioritu těchto tras a tok provozu se vrátí do normálu.

ECMP a využití šířky pásma

Protože je ECMP pravděpodobnostní, algoritmus směruje přibližně stejný počet toků přes každý tunel. Při rozhodování, kam nasměrovat další paket, však nebere v úvahu množství provozu již odeslaného přes daný tunel.

Uvažujme například scénář s mnoha připojeními TCP s velmi nízkou šířkou pásma a jedním připojením TCP s velmi vysokou šířkou pásma. Pakety připojení s vysokou šířkou pásma mají stejný hash, a proto využívají stejný tunel. V důsledku toho tento tunel využívá větší šířku pásma než ostatní.

Informace o BGP

Používání BGP peeringu se směrovací tabulkou Cloudflare One nebo Magic Transit Virtual Network vám umožňuje:

Díky této funkci můžete:

Stav vydání

Následující tabulka popisuje aktuální dostupnost BGP a doporučené případy použití pro jednotlivé způsoby připojení.

Funkce Fáze vydání Doporučené použití Předpoklady
BGP přes CNI Closed Beta Není k dispozici pro nové zákazníky: obraťte se na tým odpovědný za váš účet Cloudflare Network Interconnect (CNI) v2
BGP přes Anycast IPsec/GRE Open Beta Neprodukční pracovní zátěže Unified Routing (beta): pro registraci kontaktujte tým spravující váš účet

Architektura BGP

Globální směrování a anycast edge

Magic Transit Virtual Network provádí směrovací rozhodnutí pro každý paket jediným průchodem, a to v datovém centru Cloudflare, které paket zpracuje jako první (vstupní uzel). Díky tomu je cesta paketu určena už při vstupu do sítě, i když prochází více uzly v rámci páteřní sítě Cloudflare, což zajišťuje maximální efektivitu.

Vaše relace BGP přes IPsec, GRE nebo CNI se naváže s datacentrem Cloudflare nejbližším vašemu peer zařízení BGP. Trasy zjištěné zde se musí šířit do globální edge sítě Cloudflare, aby řídily způsob směrování provozu v rámci celé sítě.

Centralizované šíření tras

Magic Transit Virtual Network využívá pro šíření cest centralizovanou kontrolní rovinu, která funguje podobně jako BGP Route Reflector. Tato architektura odděluje fyzickou relaci BGP od globální distribuce cest:

Režim odolnosti Edge (Non-Stop Forwarding)

Datová rovina (data plane) Cloudflare je navržena pro vysokou dostupnost. Pokud edge lokalita ztratí spojení s centralizovaným relay serverem, systém přejde do režimu Edge Resiliency Mode, který napodobuje chování Non-Stop Forwarding (NSF):

Obnovení systému a opětovná synchronizace

Jakmile se obnoví konektivita mezi Cloudflare edge a centralizovaným relay serverem, systém automaticky opustí režim Edge Resiliency Mode a provede stavovou resynchronizaci:

  1. Synchronizace RIB-to-relay: Edge odešle relay všechny aktuálně uchovávané aktualizace BGP (aktuální stav RIB).
  2. Globální aktualizace: Relay tyto aktualizace sladí a případné změny šíří do zbytku globální sítě Cloudflare.
  3. FIB unfreeze: Lokální směrovací tabulky na edge se odemknou a aktualizují nejnovějšími ověřenými směrovacími instrukcemi.

BGP peering se směrovací tabulkou Magic Transit Virtual Network

Partnerství BGP (BGP peering) u Magic Transit probíhá s tabulkou směrování Magic Transit Virtual Network (nikoli s globální internetovou sítí Cloudflare). Partneři BGP nakonfigurovaní podle tohoto návodu budou dostávat inzerci všech prefixů v tabulce směrování Magic Transit Virtual Network a také všech dalších prefixů nakonfigurovaných ve vstupním bodě (on-ramp) Seznam oznámených prefixů.

Pokud místo toho chcete provést veřejný peering s Cloudflare ASN 13335 v některém z datacenter Cloudflare, přečtěte si Nastavení PNI a peeringu. V současné době není možné sdílet BGP peering Magic Transit Virtual Network a PNI na stejném fyzickém portu interconnectu.

Distribuce a konvergence BGP tras

Cloudflare redistribuuje trasy přijaté z vašeho zařízení do směrovací tabulky Magic Transit Virtual Network.

Všechny trasy ve směrovací tabulce Magic Transit Virtual Network se oznamují partnerům BGP. Každý partner BGP obdrží ke každé trase prefixu také kompletní AS_PATH, se zvolenou stranou Cloudflare ASN ↗ připojen na začátek. Díky tomu může peer přesně provést prevence smyček ↗.

Relace BGP peeringu mohou peerovi oznamovat dosažitelné prefixy a odvolávat dříve oznámené prefixy. Toto šíření netrvá déle než několik minut.

Časovače a nastavení BGP

Cloudflare používá následující časovače, které nelze konfigurovat:

Nastavení Popis
Časovač Hold 240 sekund pro CNI a 90 sekund pro tunely GRE a IPsec
(Aby se relace navázala, Cloudflare porovná svůj hold timer s hold timerem peeru a k navázání relace BGP použije nižší z obou hodnot.)
Časovač keepalive Jedna třetina hold timeru.
Graceful restart 120 sekund (aktuálně podporováno pouze pro CNI)

Možnosti a omezení BGP

BGP multipath je podporován. Pokud se BGP naučí stejný prefix na dvou různých interkonektech, Cloudflare rozloží provoz určený pro tento prefix mezi jednotlivé interkonekty podle standardního chování ECMP.

BGP Graceful Restart je podporován v pasivním režimu (helper/aware). Cloudflare udržuje stav předávání pro souseda, který se restartuje.

Podpora BGP má v současnosti následující omezení:

U zákazníků Magic Transit je BGP s tabulkou tras Magic Transit Virtual Network oddělené od oznamování anycast prefixů na hraně Cloudflare. Stažení anycast musí být řízeno stávajícími metodami popsanými v Inzerce prefixů.

Tunnel health checks

Musíte povolit starší kontroly stavu vedle BGP. To je klíčové pro zjištění, zda je konkrétní datacentrum Cloudflare z vašeho zařízení dosažitelné. Tunnel health checks upravit priority tras pro dynamicky získané trasy BGP.