Как Hurricane Electric подставил МегаФон, причем тут China Telecom и MSK-IX
Речь пойдет про нарушение «Закона о Связи» из-за возникающей между сетями российских операторов связи ПАО МегаФон и ООО «Ай Ти» через зарубежных операторов. Данное нарушение является административным, возможен штраф 150 тыс. руб. Как к этому всему причастны HE, CT и MSK-IX — об этом ниже.
Введение
В «Законе о Связи», а точнее в ФЗ-90 от 1 мая 2019 года, в п.6 ст.65.1 вводятся правила маршрутизации трафика для случаев, когда получателем и отправителем его являются пользователи на территории РФ.
6. В случае осуществления централизованного управления сетью связи общего пользования лица, участвующие в централизованном управлении, обязаны выполнять правила маршрутизации сообщений электросвязи, установленные федеральным органом исполнительной власти, осуществляющим функции по контролю и надзору в сфере средств массовой информации, массовых коммуникаций, информационных технологий и связи. Правила маршрутизации сообщений электросвязи распространяются на сообщения электросвязи в случае, если получателем или отправителем таких сообщений является пользователь услугами связи на территории Российской Федерации.
В самих правилах указывается на запрет маршрутизации трафика через сети, находящиеся за пределами территории РФ, за некоторым исключением.
2. Если получателем и отправителем сообщений электросвязи является пользователь услугами связи на территории Российской Федерации, не допускается маршрутизация сообщений электросвязи через сети связи, находящиеся за пределами территории Российской Федерации, за исключением случаев маршрутизации сообщений электросвязи между пользователями услугами связи на территории Калининградской области, на судах, приписанных к портам Российской Федерации, находящимся в открытом водном или воздушном пространстве вне пределов Российской Федерации, и иными пользователями услугами связи на территории Российской Федерации, между абонентами российских операторов связи в посольствах, консульствах и представительствах Российской Федерации за рубежом, а также между абонентами российских операторов связи в посольствах, консульствах и представительствах Российской Федерации за рубежом и абонентами российских операторов связи на территории Российской Федерации.
Особо внимательне могут заметить, что закон описывает ситуацию, когда работает «централизованное управление сетью». В законе это описывается в п.2 ст.65.1 — централизованное управление может осуществляться в случае возникновения угроз устойчивости, безопасности и целостности функционирования сети Интернет.
2. В случае возникновения угроз устойчивости, безопасности и целостности функционирования на территории Российской Федерации информационно-телекоммуникационной сети «Интернет» и сети связи общего пользования может осуществляться централизованное управление сетью связи общего пользования федеральным органом исполнительной власти, осуществляющим функции по контролю и надзору в сфере средств массовой информации, массовых коммуникаций, информационных технологий и связи.
Централизованное управление сетью — полномочия Роскомнадзора, он является федеральным органом исполнительной власти. Реализуются эти полномочия силами Центра мониторинга и управления сетью связи общего пользования (ЦМУ ССОП) — подразделением Главного радиочастотного центра (ФГУП ГРЧЦ). Роскомнадзор является собственником ГРЧЦ, а ГРЧЦ — исполнителем (т.е. «руками»), в том числе функции мониторинга соблюдения законодательства.
Подытожим: в случае централизованного управления сетью ЦМУ ССОП берет управление в свои руки и маршрутизирует трафик между российскими абонентами так, чтобы он не выходил за пределы территории РФ.
Сразу возникают вопросы: как ЦМУ ССОП будет выполнять это требование, а самое главное — когда и как будет объявлено централизованное управление? И у меня таки есть ответ на оба: требование будет выполнять оператор (а точнее владелец автономной системы), а ЦМУ ССОП будет только присылать акты о нарушении, а дальше — суд и штраф;, а централизованное управление уже давно введено, об этом не писали в газетах, не говорили по ТВ — тихо уведомили сообщением каждому оператору в его личном кабинете на портале ГРЧЦ.
Как это работает
В 2021 году ЦМУ ССОП разработал и разослал владельцам автономных систем Инструкцию по организации подключений к системе «ИС ЦМУ ССОП». Инструкция прекрасно гуглится и любой желающий может ознакомиться с перечнем предоставляемой в ЦМУ ССОП информацией, а именно:
по протоколу BGP непрерывно выгружается таблица маршрутизации;
по протоколу SNMP ЦМУ ССОП имеет возможность опрашивать счетчики интерфейсов маршрутизаторов;
по протоколу Netflow ЦМУ ССОП получает информацию о передаваемом трафике.
Первого пункта более чем достаточно, чтобы обнаруживать прохождение трафика через зарубежные сети, что ЦМУ ССОП и делает: по AS-PATH всех имеющихся у него маршрутов он выбирает те, среди которых номер зарубежной AS обрамляется российскими, например:
12389 1299 3267
где 12389 — Ростелеком, 1299 — Arelion (бывш. Telia), 3267 — Runnet. Далее ЦМУ ССОП определяет граничную AS, допустившую маршрутизацию трафика вопреки Правилам — в данном примере это AS 12389, и отправляет им Письмо-поручение.
В поручении будет вложено несколько документов, включая скриншот из той самой ИС ЦМУ ССОП, где в графическом виде визуализируется выходящий за пределы РФ маршрут («петля за рубеж»), и самое главное — срок устранения. Если в указанный срок не устранить петлю и не отправить отчет о причинах — оператор получает штраф.
Так что там с Hurricane Electric?
Самое глупое во всей описанной схеме, что петля фиксируется со стороны оператора, который ни о петле, ни о существовании удаленной AS знать ничего не знает. Например, AS 3267 может иметь в аплинках российских операторов МегаФон, ВымпеКом, МТС, но из-за ошибки инженеров Runnet маршруты были помечены комьюнити 31133:26130, 3216:5290 и 8359:2110 в сторону каждого из аплинков соответственно, и Ростелеком маршрута через российские сети не получит, а значит отправит трафик в сторону AS 3267 через своих аплинков за рубеж. Еще раз: ошибку совершил инициатор распространения маршрутной информации, а штраф влепили получателю.
Если немного отойти от конкретного примера, то требования Правил можно описать языком математики, например, теории графов. Делать этого я, конечно же, не буду, ограничившись достаточно вольной формулировкой:
Для каждого элемента множества ASru, ориентированный граф связности со всеми остальными элементами данного множества должен быть связным.
Если во множетсве ASru найдется элемент ASn, для которого граф будет несвязным, то в дело вступает Оперативный дежурный ЦМУ ССОП.
А что с China Telecom?
Говоря про сетевую связность мы часто оперируем понятием автономная система, забывая, что маршрутизируемой единицей является сеть (или «префикс»), а AS — лишь атрибут принадлежности этой сети!
И если мы посмотрим на таблицу маршрутизации BGP, а посмотреть ее можно, например, на публичных роутерах https://www.routeservers.org/, то можем убедиться, что она представляет собой что-то вроде базы данных key-value, где key — это некий префикс (Network), а value — массив кортежей (Next Hop, Metric, Local Preference, Path, Status и др):
Network Next Hop Metric LocPrf Weight Path
* i 1.0.0.0/24 193.251.150.10 150 0 13335 i
* i 193.251.156.144 150 0 13335 i
* i 193.251.143.156 150 0 13335 i
* i 193.251.156.118 150 0 13335 i
* i 193.251.154.150 150 0 13335 i
* i 193.251.150.66 100 85 0 1299 1299 1299 1299 13335 i
* i 193.251.143.162 150 0 13335 i
* i 172.25.4.248 150 0 13335 i
* i 193.251.151.222 150 0 13335 i
* i 193.251.245.36 150 0 13335 i
*>i 193.251.245.37 150 0 13335 i
* i 1.0.4.0/24 195.219.87.114 100 85 0 6453 7545 38803 i
* i 193.251.150.244 100 85 0 6453 7545 38803 i
* i 172.25.4.213 100 85 0 6453 7545 38803 i
* i 193.251.156.122 100 85 0 174 7545 38803 i
* i 193.251.150.30 100 85 0 6453 7545 38803 i
* i 154.54.11.181 100 85 0 174 7545 38803 i
* i 193.251.156.112 100 85 0 1299 7545 38803 i
* i 193.251.150.66 100 85 0 1299 7545 38803 i
* i 62.115.170.120 100 85 0 1299 7545 38803 i
*>i 172.26.4.166 100 86 0 6453 7545 38803 i
* i 195.12.254.164 100 85 0 1299 7545 38803 i
* i 195.12.254.102 100 85 0 1299 7545 38803 i
* i 193.251.248.0 100 85 0 1299 7545 38803 i
* i 193.251.150.76 100 85 0 1299 7545 38803 i
* i 195.12.254.154 100 85 0 1299 7545 38803 i
* i 195.12.254.212 100 85 0 1299 7545 38803 i
С учетом этого можно скорректировать формулировку:
Для каждого элемента множества ASru, ориентированный граф связности со всеми элементами Pru должен быть связным.
Pru — это множество российских префиксов, анонсируемых от имени российских автономных систем.
При чем тут MSK-IX???
А вот на этот вопрос уже можно ответить конкретно: MSK-IX — это несвязное с Интернет сообщество. Анонсируемый на роут-сервер маршрут будет распространен только среди участников этого сообщества и передан далее нижестоящим автономным системам. Этот маршрут не попадет в таблицу маршрутизации AS, если она не находится в клиентском конусе MSK-IX.
Обозначим через AS’ru множество автономных систем российских операторов, присутствующих на MSK-IX или попадающих в клиентский конус MSK-IX, через P’ru — множество префиксов, принадлежащих AS’ru и доступных через роут-сервер MSK-IX. Предположим, что существует префикс P’x, который принадлежит множеству P’ru и не принадлежит множеству Pru. Есть ли в этом какая-то проблема с т.з. ЦМУ ССОП? Нет, проблемы никакой нет: в базе данных key-value глобального интернета нет записи с ключем, соответствующему P’x.
А что, если в глобальном интернете или его существенной части появится префикс P’x? Тогда произойдет полное или частичное (не для всех элементов ASru) объединение Px и P’x. А если при этом вершиной графа, связывающего элементы подмножества ASru\AS’ru, будет элемент ASn, не входящий в множество ASru? А, вот это штраф!
А теперь по-русски: на роут-сервере MSK-IX может появиться префикс, которого нет в глобальном интернете, но его туда доставит какой-то из зарубежных операторов и проанонсирует своим российским клиентам, которые сами на MSK-IX не присутствуют.
Какие причины?
Блиц в формате вопрос-ответ:
В. Как на MSK-IX появился такой префикс?
О. Многие операторы «выжимают» из IX-ов максимум трафика, анонсируя туда более мелкие части («more-specific») своих сетей, и не анонсируют их напрямую в Интернет. Так делать не нужно, это влечет разные проблемы, нарушает логику работы CDN.
В. Зачем международному оператору брать связность на MSK-IX и перепродавать её российским операторам?
О. Это тактика некоторых операторов, самый известный и крупный из которых — Hurricane Electric. Оператор нашёл свою нишу — получает связность по минимальной цене в одной стране, перепродает её в другой. Можно считать, что это некое противопоставление тактике Tier-1, которые свою связность продают, а обмениваются ей только среди равных себе.
В. Почему российский оператор, получивший штраф сам не включится в MSK-IX?
О. Описанная проблема не с конкретным IX-ом, она может повториться на любой площадке. Кроме того, на IX-ах не участвуют классические магистральные операторы — Ростелеком, ТТК, ВымпелКом, МегаФон и некоторые другие.
В. А зачем тогда они покупают интернет у зарубежных операторов, у того же Hurricane?
О. Санкции. Изначально они покупали IP-транзит у Tier-1 операторов, но из-за санкций многие сделки либо заморожены, либо расторгнуты. Трафик растёт, нужно расширять стыки, приходится покупать у того, кто более лоялен к российским компаниям, например, китайцы (China Telecom), турки (TurkTelecom), индусы (Tata) и др.
В. Почему тогда не запретить покупать интернет у зарубежных операторов?
О. А связность с зарубежными сетями ты где будешь брать, гений?
В. А что тогда можно сделать?
О. Лучше всего — не писать законы, перечащие уже работающим правилам и подчиняющимся технологическим стандартам. Либо делать это максимально разграничивая обязанности, зоны ответственности. Писать законы по принципу «Маршрут, СТОЙ! Раз-два!» — это плохо. Понятненько?
В. А что-то более реалистичное можно придумать?
О. Во время читать письма от государственных органов и своевременно реагировать на них. Покупать IP-транзит, в котором не замешивается трафик закрытых сообществ. Например, с учетом данного закона требовать от зарубежных аплинков запрета на подключение к российским IX-ам или операторам как клиент. Небольшим операторам рекомендуется иметь прямые включения в федеральных магистралов.
В. Может быть стоит выгнать зарубежные компании с российский IX-ов?
О. Помимо американского Hurricane на российских IX-ах получают трафик операторы ближнего зарубежья: из Казахстана, Узбекистана, Азербайджана, Армении, а также их более дальних клиентов — Иран, Афганистан и т.д. Они платят российским магистралам за доступ по территории РФ, они платят самому IX-у; российские контент-провайдеры, соцсети, кинотеатры отдают им трафик для абонентов, конкурируя с зарубежными компаниями — тоже монетизация. Так что лучше созидать, а не разрушать.
В. Почему бы тогда не разделить IX-ы для российских и зарубежных операторов?
О. Здесь есть рациональное зерно. Например, шведский Netnod IX состоит из двух параллельных плоскостей — Green и Blue (не считая сегментов с повышенным MTU и в других городах). Но добровольно строить параллельную инфраструктуру вряд ли кто будет, а если за дело возьмутся законотворцы, то может стать только хуже…
В. А есть еще примеры подобных нарушений?
О. Примеры есть, их можно найти, если хорошо поискать. Думаю, ЦМУ ССОП всё-таки использует закон и свою систему как «дубину» для дисциплинирования операторов. Если они в одночасье найдут все проблемные места и пришлют предписания на устранения, чем они в дальнейшем будут обосновывать своё существование? Вооооот!
В. Так что же все-таки случилось с МегаФоном?
О. У МегаФонa, AS 31133, в апинках есть China Telecom Global, AS23764:

В аплинках у China Telecom есть Hurricane Electric, AS 6939:

Hurricane Electric присутствует на MSK-IX:

Вот их BGP-сессия в Looking Glass роут-сервера MSK-IX, анонсируют 91 тысячу префиксов:

На MSK-IX есть тульский оператор АйТи, AS 42916, который анонсирует туда 17 префиксов

Если посмотреть в таблице Интернет (я смотрел на telnet route-server.opentransit.net), то видно только 7 префиксов:
Network Next Hop Metric LocPrf Weight Path
* i 91.193.236.0/23 193.251.150.66 100 85 0 1299 3216 42916 i
* i 193.251.247.254 100 85 0 9002 42916 i
* i 172.25.4.85 100 85 0 9002 42916 i
*>i 172.25.4.85 100 85 0 9002 42916 i
* i 91.193.236.0/22 193.251.150.66 100 85 0 1299 3216 42916 i
* i 193.251.247.254 100 85 0 9002 42916 i
* i 172.25.4.85 100 85 0 9002 42916 i
*>i 172.25.4.85 100 85 0 9002 42916 i
* i 91.193.238.0/23 193.251.150.66 100 85 0 1299 3216 42916 i
* i 193.251.247.254 100 85 0 9002 42916 i
* i 172.25.4.85 100 85 0 9002 42916 i
*>i 172.25.4.85 100 85 0 9002 42916 i
* i 91.195.204.0/23 193.251.150.66 100 85 0 1299 3216 42916 i
* i 193.251.247.254 100 85 0 9002 42916 i
* i 172.25.4.85 100 85 0 9002 42916 i
*>i 172.25.4.85 100 85 0 9002 42916 i
* i 91.201.252.0/23 193.251.150.66 100 85 0 1299 3216 42916 i
* i 193.251.247.254 100 85 0 9002 42916 i
* i 172.25.4.85 100 85 0 9002 42916 i
*>i 172.25.4.85 100 85 0 9002 42916 i
* i 91.201.252.0/22 193.251.150.66 100 85 0 1299 3216 42916 i
* i 193.251.247.254 100 85 0 9002 42916 i
* i 172.25.4.85 100 85 0 9002 42916 i
*>i 172.25.4.85 100 85 0 9002 42916 i
* i 91.201.254.0/23 193.251.150.66 100 85 0 1299 3216 42916 i
* i 193.251.247.254 100 85 0 9002 42916 i
* i 172.25.4.85 100 85 0 9002 42916 i
*>i 172.25.4.85 100 85 0 9002 42916 i
В виде таблицы с разбивкой по маске по столбцам:
/22 | /23 | /24 |
91.193.236.0/22 | 91.193.236.0/23 | 91.193.236.0/24 |
91.193.237.0/24 | ||
91.193.238.0/23 | 91.193.238.0/24 | |
91.193.239.0/24 | ||
91.201.252.0/22 | 91.201.252.0/23 | 91.201.252.0/24 |
91.201.253.0/24 | ||
91.201.254.0/23 | 91.201.254.0/24 | |
91.201.255.0/24 | ||
91.195.204.0/23 | 91.195.204.0/24 | |
91.195.205.0/24 |
Самый правы столбец — специфики, которые объявляются только в «закрытое сообщество» и через Hurricane Electric утекают «наружу».
И вот «картина маслом» — если мы посмотрим в Looking Glass ГРЧЦ (вот за это спасибо!) по любому из «спецификов», маршрут будет иметь AS-PATH через двух (!) зарубежных операторов — сначала China Telecom Global, AS 23764, затем Hurricane Electric, AS 6939, а потом уже наш тульский АйТи:

И для сравнения «правильный» маршрут для /23, в AS-PATH только отечественные AS:

В. А зачем писать статью, почему бы не написать приватно операторам?
О. У меня с ЦМУ ССОП договоренность: я не делаю их работу, а они не пишут статьи на Хабр. Важно показать проблему широкому кругу, а не умолчать о ней.
В. Так кто в этой ситуации виноват больше всего?
О. Виновного назначает суд, но я надеюсь, что МегаФон пофиксит проблему раньше. А вообще — мир вокруг нас меняется слишком быстро и вопреки нашему желанию. Старые парадигмы перестают работать, а новые не всем приемлемы. Возможно, следующие поколения будут воспринимать это проще.