Проекция корпоративного конфликта на сетевую связность
Корпоративный конфликт возник 10.06.2019 из-за возрастания стоимости доставки SMS пользователям сети Вымпелком со стороны Mail.RU Group. В качестве ответных мер Mail.RU Group перестал «обслуживать» прямые российские IP-каналы в сторону сети Вымпелком.
Ниже краткий анализ ситуации с позиции сетевого инженера.
Вводные:
Вымпелком — имеет автономную систему 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):
Router: dl2.M9
Command: op lg-sh-bgp prefix 81.211.56.202
81.211.0.0/17 LP:200 MED:500 NH:217.20.147.250 AS path: 1299 1299 1273 3216 3216 I
Communities: 1299:20000 47764:701 47764:41100 47764:41108 47764:50077
Accepted Best
Router: dla1.AMS
Command: op lg-sh-bgp prefix 81.211.56.202
81.211.0.0/17 LP:200 MED:500 NH:217.20.147.250 AS path: 1299 1299 1273 3216 3216 I
Communities: 1299:20000 47764:701 47764:41100 47764:41108 47764:50077
Accepted Best
AS-PATH содержит AS1299 (Telia, Tier1 оператор, аплинк Mail.RU) и as1273 (Vodafon, Tier1 оператор, аплинк Вымпелком).
LocalPreference 200 — стандарт для внешних стыков Mail.ru (https://net.mail.ru/bgp.html), а MED 500 соответствует всему, что получено не с прямого стыка, не с IX-ов, не с пирингов.
Посмотрим 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
Странно, правда? В таблице маршрутизации ВКонтакта нет роутов на второго по величине магистрального оператора РФ!
Может быть там вообще нет Full View? Проверим! Вот IP-адрес Ростелекома отображается нормально — куча маршрутов, на каждом полно метрик:
Router: mx960-m9-0
Command: op lg-sh-bgp prefix 83.239.45.231
83.239.45.0/24 LP:150 MED:2000 NH:188.254.8.181 AS path: 12389 44467 I
Communities: 47541:43100 47541:43102 47541:50001 47541:50077 47542:700
Accepted Best
83.239.45.0/24 LP:150 MED:2000 NH:95.142.204.251 AS path: 12389 44467 I
Communities: 47541:43100 47541:43102 47541:50001 47541:50077 47542:700
Accepted
Inactive-reason: Interior > Exterior > Exterior via Interior
83.239.45.0/24 LP:150 MED:2001 NH:92.50.240.85 AS path: 12389 44467 I
Communities: 47541:43100 47541:43102 47541:50001 47541:50077 47542:700
Accepted
Inactive-reason: Always Compare MED
Давайте на всякий случай еще и beeline.ru (AS16345) посмотрим:
Router: mx960-m9-0
Command: op lg-sh-bgp prefix 217.118.87.98
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
Что же выходит, МэйлРу на сети CDN ВКонтакте (AS47542 — VKONTAKTE-MSK-CDN-AS) почему-то блокирует прием маршрутов Вымпелком?
Выводы:
1) Со стороны Вымпелком трафик в сторону MailRU Group распределяется естественным образом. Искусственных перенаправлений через манипуляции Local Preference не обнаружены
2) Со стороны CDN ВКонтакте наблюдаются манипуляции с префиксами Вымпелком. Исключение префиксов Вымпелком из глобальной таблицы маршрутизации роутеров МэйлРу указывает на применение статических правил маршрутизации для ручного перенаправления трафика.
Куда же МэйлРу перенаправляет трафик?
Туда, куда им дешевле? Или туда, где можно его «резать», создавая иллюзию некачественной услуги? Это сетевому инженеру не известно…
ПС. Наверное, это последнее, что я смогу написать здесь. Так что прощайте, Хабраюзеры!