แแแแแ แฏแแแ, แแ แแฅแแแ แแแแฅแกแแแแ แ แแแแแแแ. Yandex-แจแ แแแแฃแจแแแแ แกแฎแแแแแกแฎแแ แแแแแขแแ แแแแแก แกแแกแขแแแแแก, แแกแแแ แกแแขแ แแแกแแแ แขแ แฅแกแแแแก แแ แฅแแขแแฅแขแฃแ แแก. แแแแ แแ แแฆแแก แฉแแแ แแแกแแฃแแ แแแ BGP แแ แแขแแแแแแ.
แแ แแ แแแแ แแก แฌแแ, Yandex-แแ แฉแแ แแ ROV (Route Origin Validation) แงแแแแ แแแ แขแแแแ แแแ แแแขแแ แคแแแกแแ, แแกแแแ แขแ แแคแแแแก แแแชแแแแก แฌแแ แขแแแแแจแ. แฌแแแแแแฎแแ แฅแแแแแ, แแฃ แ แแขแแ แแแแแแแ แแก แแ แ แแแแ แแแแฅแแแแแแก แแก แขแแแแแแแแก แแแแ แแขแแ แแแแแ แฃแ แแแแ แแแแแแ.
BGP แแ แ แแกแ แแ แแแแ
แแฅแแแ แแแแแ แแชแแ, แ แแ BGP แจแแแฅแแแ, แ แแแแ แช แแแขแแ แแแแแแแก แแแ แจแ แฃแขแแแแชแแแก แแ แแขแแแแแ. แแฃแแชแ, แแแแจแ, แแแแแงแแแแแแก แจแแแแฎแแแแแแแก แ แแแแแแแแแ แแแแฎแแ แฎแ แแ แแ: แแฆแแก, BGP, แแ แแแแแ แแแคแแ แแแแแแก แฌแงแแแแแแ, แแแแแแฅแชแ แจแแขแงแแแแแแแแแแก แแแขแแแฃแกแแ, แ แแแแแแช แแแแชแแแก แแแแชแแแแแก แแแแ แแขแแ แ VPN-แแแ แแฎแแ แแแแฃแ SD-WAN-แแแ แแ แแแแแ แแแแแแแชแแแช แแ, แ แแแแ แช. แขแ แแแกแแแ แขแ SDN-แแก แแกแแแแกแ แแแแขแ แแแแ แแกแแแแก, แ แแแแแแช แแฅแชแแแก แแแแซแแแแก แแแฅแขแแ แก BGP-แแก แแกแแแแก แแ แแขแแแแแแ.
Fig. 1. BGP SAFI
แ แแขแแ แแแแฆแ (แแ แแแ แซแแแแแก) BGP แแแแแแ แแแแแงแแแแแ? แแ แกแแแแแก แแ แ แซแแ แแแแแ แแแแแแ:
- BGP แแ แแก แแ แแแแแ แแ แแ แแขแแแแแ, แ แแแแแแช แแฃแจแแแแก แแแขแแแแแแฃแ แกแแกแขแแแแแก แจแแ แแก (AS);
- BGP แแฎแแ แก แฃแญแแ แก แแขแ แแแฃแขแแแก TLV (type-length-value) แคแแ แแแขแจแ. แแแแฎ, แแ แแขแแแแแ แแแแจแ แแแ แขแ แแ แแ แแก, แแแแ แแ แ แแแแแ แแแก แแ แแคแแ แ แแฅแแก แจแแกแแชแแแแแ แขแแแแแแแแก แแแแ แแขแแ แแแก แจแแ แแก แแแแแซแแแจแ, แงแแแแแแแแก แฃแคแ แ แแแแแแแแแแ แแฆแแแฉแแแแแ แแแกแแ แกแฎแแ แคแฃแแฅแชแแฃแ แ แแแแแแแขแแก แแแแแแ แแแ, แแแแ แ แแแแแขแแแแแ แแแ แจแ แฃแขแแแแชแแแก แแ แแขแแแแแแก แแฎแแ แแแญแแ แ.
แฒ แ แกแญแแ แก แแแก? แแแแแแ, แแ แแขแแแแแก แแ แแฅแแก แฉแแจแแแแแฃแแ แแแฅแแแแแแแแ แแแฆแแแฃแแ แแแคแแ แแแชแแแก แกแแกแฌแแ แแก แจแแกแแแแฌแแแแแแ. แแแฃ, BGP แแ แแก แแแ แแแ แ แแแแแแก แแ แแขแแแแแ: แแฃ แแกแฃแ แ แแชแแแแแ แแกแแคแแแแก, แ แแ แแฎแแ แแฅแแแ แคแแแแ Rostelecom-แแก, MTS-แแก แแ Yandex-แแก แฅแกแแแก, แแแฎแแแ!
IRRDB-แแ แแแคแฃแซแแแแฃแแ แคแแแขแ แ - แกแแฃแแแแแกแ แชแฃแแแ แจแแ แแก
แฉแแแแแ แแแแฎแแ: แ แแขแแ แแฃแจแแแแก แแแขแแ แแแขแ แแกแแ แกแแขแฃแแชแแแจแ? แแแแฎ, แแก แฃแแแขแแกแแ แแฃแจแแแแก, แแแแ แแ แแแแแ แแ แแก แแแ แแแแฃแแแ แคแแแฅแแแแ, แ แแช แแแแ แแ แแแแฃแ แกแแแแแแขแแแก แแแฃแฌแแแแแแแก แฎแแแก. แแแฃแฎแแแแแแ แแแแกแ, แ แแ BGP-แจแ แฐแแแแ แแแแก แแฅแขแแแแแ แแกแแแ แแแ แแแแ, แแแแแแแแแแแก แฃแแแขแแกแแแ แแแแแช แแแแแฌแแแฃแแแ แจแแชแแแแแแแ. แฌแแแแแแแแแ แแแแแแแแแ
แแ แแแฏแ. 2. Cloudflare แแแซแ แแแแแก แฉแแ แแแ
แแแแ แแ แแแแแช, แ แแขแแ แฎแแแแ แแกแแแ แแแแแแแแแแ แแฅแแก แแแแจแ แแ แแฎแแ แแ แแ แ แงแแแแแแฆแ? แแแแก แแแแ, แ แแ แแแขแแ แแแแแแ แแงแแแแแแ แแแ แจแ แฃแขแแแแชแแแก แแแคแแ แแแชแแแก แแแ แ แแแแแชแแแแ แแแแแแก, แ แแแ แแแแแแแแฌแแแ แ แแก แแฆแแแแ BGP แแแแแแแแแแกแแแ. แแกแแแ แแแแแชแแแแ แแแแแแ แแแแ แแ, แแแแแแ แ แแแแแแแก แแแ แแแแก แ แแแแกแขแ แแขแแ แแแ (RIPE, APNIC, ARIN, AFRINIC), แแแแ แแแแแฃแแแแแแแแ แแแแแแแจแแ (แงแแแแแแ แชแแแแแแ แแ แแก RADB), แแกแแแ แแ แแก แ แแแแกแขแ แแขแแ แแแแก แแแแแ แแแแ แแแ, แ แแแแแแกแแช แคแแแแแ แแแแ แแแแแแแแแแ (Level3 , NTT แแ แ.แจ.). แกแฌแแ แแ แแ แแแแแชแแแแ แแแแแแแก แฌแงแแแแแแ, แแแแแแแแจแแ แแกแ แแแ แจแ แฃแขแแแแชแแ แแแแ แฉแฃแแแแก แแแกแ แแฃแจแแแแแก แจแแแแ แแแแ แกแขแแแแแฃแ แแแแก.
แแฃแแชแ, แแ แแก แแแฃแแแกแ. แแแ แจแ แฃแขแแแแชแแแก แแแคแแ แแแชแแ แแแฌแแแแแ ROUTE-OBJECTS แแ AS-SET แแแแแฅแขแแแแก แกแแคแฃแซแแแแแ. แแ แแฃ แแแ แแแแ แแฃแแแกแฎแแแแก แแแขแแ แแแแชแแแก IRRDB-แแก แแแฌแแแแกแแแแก, แแแจแแ แแแแ แ แแแแกแแกแแแแก แแ แแ แกแแแแแก แแแขแแ แแแแชแแ, แ แแแแ แช แแแแกแ. แแแฃ, แแแแแกแแแแ แก แจแแฃแซแแแ แแแฃแแแขแแก แแแแแแก แแแแแก แแแแแแแฅแขแแแจแ แแ แแแแ แแแแ แแแก แแแแแ แแแแ แแแก แแแแแ แแแแ แแแแแแแก แแ แแแแแแแ แแแแก แคแแแขแ แแแก. แฃแคแ แ แแแขแแช, AS-SET แแแกแแฎแแแแแแก แฃแแแแแแฃแ แแแ แกแฎแแแแแกแฎแแ IRR แแแแแแก แจแแ แแก แแ แแ แแก แแแ แแแขแแ แแแฃแแ, แ แแแแช แจแแแซแแแแ แแแแแแฌแแแแก แแแกแแแแแ แ แแคแแฅแขแแแ แกแแขแแแแแแแฃแแแแแชแแ แแแแ แแขแแ แแกแแแแก แแแแจแแ แแก แฃแแชแแ แ แแแแแ แแแแ, แ แแแแแแแช, แแแแแก แแฎแ แแ, แแ แแคแแ แ แจแแชแแแแ.
แแแแแขแแแแแ แแแแแฌแแแแแ AS-SET-แแก แแแแแงแแแแแแก แแแแฃแจแ. แแฅ แแ แแก แแ แ แฌแแ แขแแแ:
- แ แแแแกแแช แแแแ แแขแแ แ แแฆแแแก แแฎแแ แแแแแแขแก, แแก แแแแขแแแก แแแก แแแแแก AS-SET-แจแ, แแแแ แแ แแแแฅแแแก แแ แแกแแแแก แจแแแก แแแก;
- แแแแแ แคแแแขแ แแแ แแแแคแแแฃแ แแ แแแฃแแแ แแฎแแแแ แแแแแแขแแแแแ แแแขแแ แคแแแกแแ.
แจแแแแแแ, BGP แคแแแขแ แแแแก แแแแแแแแ แแแ แคแแ แแแขแ แจแแแแแแ แแแแแแขแแแแแ แแแขแแ แคแแแกแแก แแขแแแแแ แแแแ แแแแแแชแแ แแแแแ แคแแแขแ แแแแกแแแ แแ แแแ แแแ แฃแแ แแแแแแกแแแ, แ แแช แแแแแก แแแ แขแแแแ แแแแก แแ IP แขแ แแแแแขแแก แแ แแแแแแแ แแแแกแแแ.
แ แ แแ แแก AS-SET-แแก แกแแคแฃแซแแแแแ แแ แแคแแฅแกแแก แคแแแขแ แแแแก แฉแแแแชแแแแแ? แงแแแแแแ แกแแแแขแแ แแกแ แแก แแ แแก, แ แแ แแแแแแแแแแแ แแแ แกแแแฅแขแแแแจแ - แแ แแคแแ แ. แแแแ แแ แฉแแแแแ แแแแแขแแแแแ แแแฅแแแแแแแแ, แ แแแแแแแช แแแกแแแแ IRRDB-แแ แแแคแฃแซแแแแฃแแ แคแแแขแ แแแแก แแฃแจแแแแแก แแ แแแ แแแ แ แแแจแ, แแก แแ แแก, แ แ แแฅแแ แฃแแแ, RPKI.
RPKI
แแแแแ แขแแแแแฃแแ แแแแ, RPKI แแ แฅแแขแแฅแขแฃแ แ แจแแแซแแแแ แฉแแแแแแแแก แแแแแฌแแแแแฃแ แแแแแชแแแแ แแแแแ, แ แแแแแก แฉแแแแฌแแ แแแ แจแแแซแแแแ แแ แแแขแแแ แแคแแฃแแแ แแแแแฌแแแแฃแแ แแงแแก. ROA (แแแ แจแ แฃแขแแก แแแแแฅแขแแก แแแขแแ แแแแชแแแก) แจแแแแฎแแแแแจแ, แฎแแแแแแฌแแ แ แแ แแก แแแกแแแแ แแแแแก แกแแแ แชแแก แแคแแแแแแ, แฎแแแ แแแแแ แฉแแแแฌแแ แ แแ แแก แกแแแแแแ (แแ แแคแแฅแกแ, asn, max_length). แแ แกแแแแแแ, แแก แฉแแแแฌแแ แ แแแขแแแชแแแก แจแแแแแแก: $prefix แแแกแแแแ แแแก แกแแแ แชแแก แแคแแแแแแแ แฃแคแแแแ แแแกแชแ AS แแแแแ แก $asn แแแแแแแแกแแก แแ แแคแแฅแกแแแ, แ แแแแแแ แกแแแ แซแ แแ แแฆแแแแขแแแ $max_length. แแ แแแ แจแ แฃแขแแแแขแแ แแแ, RPKI แฅแแจแแก แแแแแงแแแแแแ, แจแแฃแซแแแแ แจแแแแแฌแแแ แฌแงแแแแ แจแแกแแแแแแกแแแแกแแแแก แแ แแคแแฅแกแ - แแแ แแแแ แกแแแแแ แ แแแแจแ.
แกแฃแ แแแ 3. RPKI แแ แฅแแขแแฅแขแฃแ แ
ROA แแแแแฅแขแแแ แกแแแแแแ แแแแ แฎแแแก แแแแแแแแแแแจแ แแงแ แกแขแแแแแ แขแแแแแฃแแ, แแแแ แแ แแแแ แแ แแแแ แแกแแแ แ แแแแฃแ แแ แแฎแแแแ แฅแแฆแแแแแ แ แฉแแแแแแแ IETF แแฃแ แแแแจแ. แฉแแแ แแแ แแ, แแแแก แแแแแแ แกแแจแแแแแ แแฆแแ แก - แชแฃแแ แแแ แแแขแแแแ. แกแขแแแแแ แขแแแแชแแแก แแแกแ แฃแแแแแก แจแแแแแ, แกแขแแแฃแแ แแงแ แแก, แ แแ ROA แแชแแแแ BGP-แแก แแแขแแชแแแแกแแแ - แ แแช แกแแแแ แแแแก แแ แจแแแกแแแแแแแ. แแแแแแแกแฎแแแแแแก แจแแฃแซแแแแ แแแ แขแแแแ แแแแแแแฎแแ ROA-แแ แแแคแฃแซแแแแฃแแ แคแแแขแ แแแ, แแแแแแแก แแแกแแฌแงแแกแจแ แกแฌแแ แ AC แแแแ แแก แฉแแกแแแ. แแ แ แแแแ แช แแ แแก แแแชแแแแแแ แแแ แแแแแแ, แจแแแแแแ แแแแแแฃแ แ แแแแแฏแ แแงแ ROA-แก แแแแแงแแแแแแก แแแขแแแแแ. แแ แแแ แแแแช, แ แแขแแ แแแญแแ แแแแ แขแแฅแแแแแแแ, แแฃ แแก แแ แแฃแจแแแแก?
แ แแขแแ แแ แแก แแ แ, แ แแ แจแแชแแแแแ แแแ แ? แ แแแแแ แแก แแ แแ แแก แแแแแ แกแแแแ แแแ. ROA แแ แแชแแแก BGP-แจแ แฐแแแแ แแแแก แแฅแขแแแแแแกแแแ, แแแแ แแ แแชแแแก แขแ แแคแแแแก แจแแแแฎแแแแแแ แแแขแแชแแแแกแแแแแแแแแแแแ, BGP-แจแ แกแขแแขแแแฃแ แ แแแแแแแแกแแแ, แ แแแแแแช แกแฃแ แฃแคแ แ แฎแจแแ แแ แฎแแแแ. แแกแแแ, IRR-แแ แแแคแฃแซแแแแฃแแ แคแแแขแ แแแแกแแแ แแแแกแฎแแแแแแแ, ROV แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แแ แ แแฎแแแแ แแแแแแขแแแแแ, แแ แแแแ แแแแแขแแแแแแแ แแ แแแแ แแแแแแแก แแ แแแแแแแ แแแแแ แแแขแแ แคแแแกแแแจแ. แแแฃ RPKI-แก แแแแแ แแแแกแแแ แแ แแแ BGP-แแแ แแแแแแแแ แฅแ แแแ แแแ แแแ แ แแแแแ.
แแฎแแ, ROA-แแ แแแคแฃแซแแแแฃแแ แแแ แจแ แฃแขแแแแก แจแแแแฌแแแแ แแขแแแแแ แแแแ แฎแแ แชแแแแแแแ แซแแ แแแแแ แแแแแแแจแแแแแก แแแแ : แฃแแกแฎแแแแแกแ แแแ แแแฃแแ IX แฃแแแ แฃแแฃแแแแแแงแแคแก แแ แแกแฌแแ แแแ แจแ แฃแขแแแก Tier-1 แแแแ แแขแแ แแแก แจแแ แแก, แฆแแ แก แฎแแแแแกแแแ แแฆแแแแจแแแ AT&T, แ แแแแแแแช แฉแแ แแ แคแแแขแ แแแ แแแแแก แแแแแขแแ แแแ แขแแแแ แแแแแ; แแแแขแแแขแแก แฃแแกแฎแแแแแกแ แแ แแแแแแแ แแแ แแกแแแ แฃแแฎแแแแแแแแแ แแ แแแฅแขแก. แแ แแแแแแ แกแแจแฃแแแ แแแแแก แกแแขแ แแแแแขแ แแแแ แแขแแ แแ แฃแแแ แฉแฃแแแ แแแแแฎแแ แชแแแแ แแก, แแ แแแแก แฃแแฅแแแแก แแแแก แจแแกแแฎแแ. แ แแขแแ แแฎแแ แชแแแแแแก แงแแแแ แแก แแแแ แแขแแ แ RPKI-แก? แแแกแฃแฎแ แแแ แขแแแแ: แแแแชแแแ แแฅแแแแ แแแแแแแแ แขแ แแคแแแ แกแฎแแ แแแแแแแแแแแก แจแแชแแแแแแแกแแแ. แกแฌแแ แแ แแแแขแแ Yandex แแ แแก แแ แ-แแ แแ แแแ แแแแ แ แฃแกแแแแก แคแแแแ แแชแแแจแ, แ แแแแแแแช แแแแแกแ แฅแกแแแแก แแฆแแแ แแ ROV แฉแแ แแ.
แ แ แแแฎแแแแ แจแแแแแ?
แฉแแแ แแฎแแ แแแแแแฅแขแแฃแ แแ แแแ แจแ แฃแขแแแแชแแแก แแแคแแ แแแชแแแก แจแแแแฌแแแแ แขแ แแคแแแแก แแแชแแแแก แฌแแ แขแแแแแแแ แแ แแแ แซแ แแแ แแแแแ แแแขแแ แคแแแกแแแแ. แฃแแฎแแแแก แแแแแแแแจแ, แแแแแแแฌแแแแ แแกแแแ แฉแแ แแฃแแ แแฅแแแแ แขแ แแคแแแแก แแแแแ แแ แแแแแแแ แแแแแ.
แ แ แแแแกแฎแแแแแแแ แแแแก แจแแแแแแก? แแฃ แแกแฃแ แ แแแแแ แแแ แขแ แแคแแแแก แแแ แจแ แฃแขแแก แฃแกแแคแ แแฎแแแแ แแฅแแแแก แฅแกแแแกแ แแ Yandex-แก แจแแ แแก, แแแ แฉแแแ:
- แแแแฌแแ แแ แแฅแแแแ แแแกแแแแ แแแก แกแแแ แชแ
RIPE แแแ แขแแแจแ - แแแ แขแแแแ, แกแแจแฃแแแแ 5-10 แฌแฃแแ แกแญแแ แแแแ. แแก แแแแชแแแก แฉแแแแก แแแแจแแ แก แแ แจแแแแฎแแแแแจแ, แแฃ แแแแแแ แฃแแแแฃแ แแ แแแแแแ แแก แแฅแแแแ แแแกแแแแ แแแก แกแแแ แชแ (แแ แแก แแฃแชแแแแแแแ แแแฎแแแแ แแแ แ แแฃ แแแแแ); - แแแแแแกแขแแแแ แแ แแ แ-แแ แแ แฆแแ แแแแแก RPKI แฅแแจแ (
แแฌแแคแ-แแแแแแแแขแแ แ ,แ แฃแขแแแแขแแ แ ) แแ แฉแแ แแแ แแแ แจแ แฃแขแแก แจแแแแฌแแแแ แฅแกแแแแก แกแแแฆแแแ แแ - แแแแก แแแขแ แแ แ แแแกแญแแ แแแแ, แแแแ แแ แแกแแ แแ แแแแแแฌแแแแก แขแแฅแแแแฃแ แกแแ แแฃแแแแแก.
Yandex แแกแแแ แแฎแแ แก แฃแญแแ แก แคแแแขแ แแชแแแก แกแแกแขแแแแก แจแแแฃแจแแแแแแก แแฎแแแ RPKI แแแแแฅแขแแก แกแแคแฃแซแแแแแ -
ASPA-แแ แแแขแแแฃแ แแ แแ แ แแแแจแ Next Hop แแแแคแแ แแแชแแแแ แแแกแแฃแแ แแ. แแฅ แแกแแแ แแกแแฃแแ แแแแ Netflix-แแก, Facebook-แแก, Dropbox-แแก, Juniper-แแก, Mellanox-แแกแ แแ Yandex-แแก แแแแแแแแ. แแฃ แแแแแขแแ แแกแแแ แฅแกแแแแก แกแขแแแ แแ แแแกแ แแแแแแแแ แแแ แแแแแแแแจแ, แแแแ แซแแแแแ
แฌแงแแ แ: www.habr.com