Проекция корпоративного конфликта на сетевую связность

Проекция корпоративного конфликта на сетевую связность
Корпоративный конфликт возник 10.06.2019 из-за возрастания стоимости доставки SMS пользователям сети Вымпелком со стороны Mail.RU Group. В качестве ответных мер Mail.RU Group перестал «обслуживать» прямые российские IP-каналы в сторону сети Вымпелком.

Ниже краткий анализ ситуации с позиции сетевого инженера.

Update: 14.06.2019 18:45 — акцент на российских маршрутах в сеть Вымпелком, скорректированы выводы, добавлено пояснение Сергея Кубасова (CIO Вконтакте).
Update: 14.06.2019 19:48 — добавлено описание способа ограничения распространения маршрутов по «короткому» российскому пути через Ростелеком, МТС, РЕТН.НЕТ..


Вводные:
Вымпелком имеет автономную систему AS3216, все остальные (8402 — домашний интернет, 16345 — мобильный интернет) располагаются за 3216.

Mail.RU Group — автономные системы AS47541, AS47542 и AS47764. Основным генератором контента является 47542, т.н. CDN VKONTAKTE (фильмы, музыка). Все автономные системы независимы друг от друга (с позиции внешней автономной системы).

Сначала посмотрим на ситуацию со стороны сети Вымпелком. Для этого нам поможет Looking Glass Вымпелком.

Смотрим первую автономную систему — AS47541.

 2914 47541
    79.104.32.251 (metric 10500) (79.104.32.251)
      Origin IGP, metric 30, localpref 87, valid, internal, best, group-best, import-candidate, import suspect
      Received Path ID 0, Local Path ID 1, version 2865394342
      Community: 2914:410 2914:1214 2914:2213 2914:3200 3216:3000 3216:3103 47541:1 47541:40000 47541:50078

AS-PATH содержит две автономные системы — 2914 (NTT) и 47541 (VKONTAKTE-SPB-AS).
Метрика localpref установлена 87, что согласно описанию в RIPE DB для объекта AS3216 соответствует международному пирингу.


remarks: International peer’s routes get local preference in the
remarks: range of 81-89.

Эту же информацию подтверждают и комьюнити 3216:3000 и 3216:3103 (источник — RIPE DB для AS3216):


remarks: 3216:3000 Receieved from an international uplink or peer, specifically:

remarks: 3216:3103 AMS-IX

То есть, маршрут до ВКонтакта Вымпелком видит через европейский стык.

Посмотрим другую автономку ВКонтакте — 47542 (VKONTAKTE-MSK-CDN-AS).

Все аналогично.

 2914 47541
    79.104.32.251 (metric 10500) (79.104.32.251)
      Origin IGP, metric 30, localpref 87, valid, internal, best, group-best, import-candidate, import suspect
      Received Path ID 0, Local Path ID 1, version 2865394338
      Community: 2914:410 2914:1214 2914:2213 2914:3200 3216:3000 3216:3103 47541:1 47541:40000 47541:50078

А как обстоят дела с самим Mail.ru? Посмотрим на AS47764 (mailru-as).

 3356 47764
    194.67.0.215 (metric 10501) (194.67.0.215)
      Origin IGP, metric 0, localpref 77, valid, internal, best, group-best, import-candidate
      Received Path ID 0, Local Path ID 1, version 2867605667
      Community: 3216:3000 3216:3007 3356:2 3356:22 3356:100 3356:123 3356:519 3356:2094 47764:1 47764:40000 47764:50077 

Вымпелком видит Mail.ru через as3356 (аплинк Level3, Tier1 оператор). Эта информация подтверждается и localpref 77:


remarks: Uplink’s routes get local preference in the range of 71-79.
remarks: Last Update: February 2012…

и комьюнити (3216:3000 и 3216:3007):


remarks: 3216:3000 Receieved from an international uplink or peer, specifically:

remarks: 3216:3007 Level 3 Communications

Из полученной информации видно, что трафик с сети Вымпелком на ВКонтакте и МэйлРу распространяется через европейские стыки согласно маршрутам, полученным по протоколу BGP. Альтернативных маршрутов через внутрироссийские стыки в Looking Glass нет. Мер по искусственному перенаправлению трафика через заведомо худшие маршруты не обнаружено.

А как видит Mail.ru Group сети Вымпелкома?
Воспользуемся Looking Glass от Мэйлов.

С маршрутизаторов из AS47764 (mailru-as):

  Path #6: Received by speaker 0
  Advertised to peers (in unique update groups):
    188.93.60.188   
  1299 1299 1273 3216 3216
    217.20.147.250 (metric 100) from 217.20.147.250 (217.20.147.253)
      Origin IGP, metric 500, localpref 200, valid, internal, best, group-best
      Received Path ID 0, Local Path ID 0, version 1172721494
      Community: 1299:20000 47764:701 47764:41100 47764:41108 47764:50077

AS-PATH содержит AS1299 (Telia, Tier1 оператор, аплинк Mail.RU) и as1273 (Vodafon, Tier1 оператор, аплинк Вымпелком).

LocalPreference 200 — стандарт для внешних стыков Mail.ru (https://net.mail.ru/bgp.html), а MED 500 соответствует всему, что получено не с прямого стыка, не с IX-ов, не с пирингов.

Но почему же нет местных маршрутов через российских операторов связи???
Есть они, но приоритет у них «нестандарный»!
Вот маршрут через Ростелеком (as12389):

  Path #1: Received by speaker 0
  Not advertised to any peer
  12389 3216
    46.61.178.149 from 46.61.178.149 (213.59.207.79)
      Origin IGP, metric 500, localpref 199, valid, external
      Received Path ID 0, Local Path ID 0, version 0
      Community: 3216:2001 3216:2999 3216:4100 12389:5 12389:6 12389:1100 12389:1105 12389:1277 47764:701 47764:41100 47764:41104 47764:50077
      Origin-AS validity: not-found

Вот через Мегафон (as31133):

  Path #2: Received by speaker 0
  Not advertised to any peer
  31133 3216
    78.25.77.41 from 78.25.77.41 (10.222.253.97)
      Origin IGP, metric 500, localpref 199, valid, external
      Received Path ID 0, Local Path ID 0, version 0
      Community: 3216:2001 3216:2999 3216:4100 31133:300 31133:46170 47764:701 47764:41100 47764:41105 47764:50077
      Origin-AS validity: not-found

Вот через РЕТН.НЕТ:

  Path #3: Received by speaker 0
  Not advertised to any peer
  9002 9002 3216
    87.245.253.24 from 87.245.253.24 (87.245.225.1)
      Origin IGP, metric 500, localpref 199, valid, external
      Received Path ID 0, Local Path ID 0, version 0
      Community: 9002:9002 9002:64667 47764:701 47764:41100 47764:41101 47764:50077
      Origin-AS validity: not-found

И даже через МТС!

  Path #5: Received by speaker 0
  Not advertised to any peer
  8359 3216
    212.188.61.105 from 212.188.61.105 (195.34.52.77)
      Origin IGP, metric 500, localpref 199, valid, external
      Received Path ID 0, Local Path ID 0, version 0
      Community: 8359:200 8359:609 8359:5012 47764:701 47764:41100 47764:41103 47764:50077
      Origin-AS validity: not-found

Метрика localpref на эти российские маршруты занижена, то есть маршруты ухудшены по сравнению с зарубежными!

Кроме того, со стороны Mail.Ru Group стоят запреты распространения своих префиксов в Вымпелком через российских операторов!

РЕТН.НЕТ (http://lg.retn.net/):
На анонсах из Mail.RU Group стоит комьюнити 3216:65535.
Вывод из LG РЕТН.НЕТinet.0: 762737 destinations, 1734826 routes (762708 active, 222780 holddown, 277 hidden)
94.100.176.0/20 (1 entry, 1 announced)
*BGP Preference: 170/-201


AS path: 47764 I
AS path: Recorded
Communities: 3216:65535 9002:64667 9002:65530

Маршруты, помеченные таким комьюнити Вымпелком не принимает на свою сеть. Выдержка из RIPE DB по AS3216:
...
remarks: Internal comminuties are assigned only internally.
remarks: They are in range 3216:0000-3216:4999 and 3216:6000-3216:65535
remarks: and are always deleted from incoming updates at the border
remarks: routers.
...

В сторону Ростелекома (http://lg.ip.rt.ru) Mail.RU Group отдает аналогичные маршруты с комьюнити 12389:8350.
Вывод из LG Ростелекома94.100.176.0/20 via 217.107.65.1 on eth0.9 [sr2 2019-06-13] * (100/?) [AS47764i] Type: BGP unicast univ
BGP.origin: IGP
BGP.as_path: 47764
BGP.next_hop: 213.59.207.78
BGP.med: 0
BGP.local_pref: 850
BGP.community: (12389,1) (12389,1100) (12389,1105) (12389,1277) (12389,8350) (12389,8380) (47764,1) (47764,40000) (47764,50077)
BGP.originator_id: 213.59.207.78
BGP.cluster_list: 95.167.88.79 95.167.88.49 95.167.88.17

Согласно записям в RIPE DB для объекта as12389 это комьюнити означает «не анонсировать в сеть as3216»:...
remarks: | 12389:835y When advertising to GoldenTelecom (AS3216) |
...
remarks: | ...y=0 - do not advertise |
...

Аналогично в сторону МТС (http://lg.mtu.ru):Вывод из LG МТСBGP routing table entry for 94.100.176.0/20, version 161717219
Paths: (2 available, best #1, table default)
Multipath: eBGP
Advertised to update-groups:
6
47764, (received & used)
195.34.52.77 (metric 16) from 195.34.52.181 (195.34.52.181)
Origin IGP, metric 0, localpref 140, valid, internal, best
Community: 8359:2120 8359:2150 8359:5500 8359:55277
Originator: 195.34.52.77, Cluster list: 83.59.83.59
47764, (received & used)
195.34.52.77 (metric 16) from 195.34.52.182 (195.34.52.182)
Origin IGP, metric 0, localpref 140, valid, internal
Community: 8359:2120 8359:2150 8359:5500 8359:55277
Originator: 195.34.52.77, Cluster list: 83.59.2.77

Комьюнити 8359:2120 означает:...
remarks: 8359:212x when announcing to Sovam (Beeline)
...
remarks: x=0 - do not announce
...

Посмотреть на анонсы Mail.RU Group в сторону Мегафона посмотреть нельзя — у последнего нет Looking Glass.

Посмотрим AS47541 (VKONTAKTE-SPB-AS).

Вывод слишком большой.

 Router: a9922-e-5
Command: show ip bgp 81.211.56.202


Last switch-over Thu Apr  5 04:25:09 2018: 1 year, 10 weeks, 6 hours, 9 minutes ago

Fri Jun 14 10:34:20.791 MSK
BGP routing table entry for 81.211.0.0/17
Versions:
  Process           bRIB/RIB  SendTblVer
  Speaker          913059757   913059757
Last Modified: May 21 05:20:38.536 for 1y03w
Paths: (6 available, best #4)
  Advertised to update-groups (with more than one peer):
    0.2 
  Advertised to peers (in unique update groups):
    188.93.60.188   
  Path #1: Received by speaker 0
  Not advertised to any peer
  1299 1273 3216 3216
    87.240.191.235 (metric 31) from 87.240.191.235 (87.240.191.235)
      Origin IGP, metric 5000, localpref 150, valid, internal
      Received Path ID 0, Local Path ID 0, version 0
      Community: 1273:12752 1299:431 1299:4000 1299:20000 1299:20002 1299:20200 3216:2001 3216:2999 3216:4100 47541:701 47541:41100 47541:41111 47541:50078
  Path #2: Received by speaker 0
  Not advertised to any peer
  1299 1273 3216 3216
    87.240.191.248 (metric 31) from 87.240.191.248 (87.240.191.248)
      Origin IGP, metric 5000, localpref 150, valid, internal
      Received Path ID 0, Local Path ID 0, version 0
      Community: 1273:12752 1299:431 1299:4000 1299:20000 1299:20002 1299:20200 3216:2001 3216:2999 3216:4100 47541:701 47541:41100 47541:41111 47541:50078
  Path #3: Received by speaker 0
  Not advertised to any peer
  174 6762 3216 3216
    87.240.191.249 (metric 31) from 87.240.191.249 (87.240.191.249)
      Origin IGP, metric 5000, localpref 150, valid, internal
      Received Path ID 0, Local Path ID 0, version 0
      Community: 174:21100 174:22005 47541:701 47541:41100 47541:41108 47541:50078
  Path #4: Received by speaker 0
  Advertised to update-groups (with more than one peer):
    0.2 
  Advertised to peers (in unique update groups):
    188.93.60.188   
  174 6762 3216 3216
    149.6.169.113 from 149.6.169.113 (38.28.1.236)
      Origin IGP, metric 5000, localpref 150, valid, external, best, group-best
      Received Path ID 0, Local Path ID 0, version 913059757
      Community: 174:21100 174:22005 47541:701 47541:41100 47541:41108 47541:50078
      Origin-AS validity: not-found
  Path #5: Received by speaker 0
  Not advertised to any peer
  1273 1273 3216 3216
    195.89.114.197 from 195.89.114.197 (195.2.1.107)
      Origin IGP, metric 5005, localpref 150, valid, external
      Received Path ID 0, Local Path ID 0, version 0
      Community: 1273:12752 3216:2001 3216:2999 3216:4100 47541:701 47541:41100 47541:41110 47541:50078
      Origin-AS validity: not-found
  Path #6: Received by speaker 0
  Not advertised to any peer
  3356 3356 3216 3216 3216
    213.242.69.69 from 213.242.69.69 (4.69.177.130)
      Origin IGP, metric 5000, localpref 150, valid, external
      Received Path ID 0, Local Path ID 0, version 0
      Community: 3216:2001 3216:2999 3216:4100 3356:2 3356:22 3356:100 3356:123 3356:503 3356:2067 47541:701 47541:41100 47541:41107 47541:50078
      Origin-AS validity: not-found

AS-PATH указывает на AS174 — Cogent (аплинк Mail.RU, Tier1), затем AS6762 — Telecom Italia (аплинк Вымпелком). Local Preference везде 150, но так на все внешние стыки, вне зависимости от писанных политик.

Посмотрим AS47542 (VKONTAKTE-MSK-CDN-AS).

 Router: mx960-m9-0
Command: op lg-sh-bgp prefix 81.211.56.202


0.0.0.0/0                LP:151       MED:        NH:87.240.191.222  AS path: 47541 I
Communities: 
Accepted Best

 
0.0.0.0/0                LP:151       MED:        NH:95.142.204.251  AS path: 47541 I
Communities: 
Accepted
Inactive-reason: Interior > Exterior > Exterior via Interior

И со второго маршрутизатора:

 Router: mx960-m9-1
Command: op lg-sh-bgp prefix 81.211.56.202


0.0.0.0/0                LP:151       MED:        NH:87.240.191.224  AS path: 47541 I
Communities: 
Accepted Best

 
0.0.0.0/0                LP:151       MED:        NH:95.142.204.250  AS path: 47541 I
Communities: 
Accepted
Inactive-reason: Interior > Exterior > Exterior via Interior

Только маршруты по умолчанию (0.0.0.0/0). Эту ситуацию пояснил сотрудник Mail.RU Group greediness, за что ему спасибо. Если кратко: московский сегмент сети ВКонтакте являются кеширующим (а не генерирующим), задача которого — оптимизация скорости загрузки популярного востребованного контента. Забота о пользователях, да.

Если маршрута на какую-то сеть нет, значит эта сеть не обслуживается кеширующими серверами. Значит оптимизация скорости загрузки не работает, а пользователи страдают. Но тут нужно акцентировать — пользователи не только свои, но и Вымпелкома.

Выводы:

  1. Со стороны Вымпелком трафик в сторону Mail.RU Group распределяется естественным образом. Искусственных перенаправлений через манипуляции Local Preference не обнаружены
  2. Со стороны Mail.RU Group наблюдаются манипуляции с префиксами Вымпелком. На существующие маршруты в сторону сети Вымпелком через российских операторов приоритеты занижены по сравнению с маршрутами через зарубежных Tier1 операторов.
  3. На передаваемые российским операторам (МТС, Ростелеком, РЕТН.НЕТ) маршруты со стороны Mail.RU Group добавлены управляющие BGP комьюнити для ограничения их распространения в сторону Вымпелком

Почему же Mail.RU Group ставит маршруты через Европу более приоритетными? Почему Mail.RU Group запрещает короткую внутрироссийскую связность с Вымпелкомом?

Им так дешевле? Гонять трафик через зарубежные каналы и платить тирванам валютой?
Или есть желание загнать трафик подальше, чтобы забирать его было не так удобно, а?
Это сетевому инженеру неизвестно…

Источник: habr.com