[Сетевые технологии] Как находить проблемы с интернетом и кто виноват ч.1

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
28-Ноя-2020 01:30

Многие могут рассказать такую историю :
- Алло, техподдержка провайдера? У меня плохо открывается сайт aaaaaa.com.
- С нашей стороны пули вылетели, проблема в мишени у сайта - пишите туда.- Привет. Это сайт aaaaaa.com? У меня плохо открывается ваш сайт.
- У нас всё хорошо, пишите провайдеру.
В этом цикле статей попытаемся разобраться - почему так происходит и собрать алгортим - как найти виновного, и что делать.Disclaimer : автор знает, что 
  • Traceroute не всегда покажет проблемы, что маршруты больше про BGP и AS-PATH. 
  • Автор в курсе про пиринг, асимметрию, MPLS, BGP Communities и что килобайт это 1024 байта.
  • Маршрут “туда” и “обратно” - два разных маршрута и traceroute разницы не покажет.
  • Матерые сетевики могут найти очень много неточностей. Эти неточности допущены специально, для облегчения понимания материала не-сетевиками. :D 
За чей счет банкет?Интернет в России гораздо дешевле интернета, например в Америке или в Германии. Дешевле в несколько раз. Vodafone Kabel в Германии стоит 45 евро в месяц за 500 мегабит.  Это 4000 рублей на момент написания текста. В России, например, у РосТелеком я плачу 1050 рублей в месяц за оптику, по которой приходит 600 мегабит. Так как в России не производится коммутационное оборудование, то казалось бы - за чей счет банкет? Ведь железо стоит столько же сколько и в Германии.  Попробуем в этом разобраться.Путь от пользователя до сервера выглядит, обычно, следующим образом:
Городской роутер провайдера.Я плачу 1050 рублей в месяц за 600 мегабит. На телеком-рынке стоимость 1 мегабита составляет от 6 до 30 рублей в зависимости от города. Это значит, что 600 мегабит интернета стоит от 3600 рублей. Как же мне РосТелеком продает всего за 1050? Этому есть несколько причин. Одна из ключевых – он продает не только мне. Пользователь обычно не использует интернет на полную катушку 24х7. Поэтому, в тарифе написано - ДО 600 мегабит. С точки зрения математики это выглядит следующим образом: В городском роутере есть 10 гигабит интернета. Этот интернет продали 500 пользователям. При этом, каждому продали по 1 гигабиту. И того – продали 500 гигабит. А всего 10. Так как не все пользователи и не всегда качают фильмы с торрентов, то и проблем обычно нет.  Это называется oversell. Вечер пятницы.В пятницу вечером проблемы, впрочем, могут начаться. В 17:00 школьники приходят домой с улицы, родители приходят домой с работы. Все садятся за компьютеры и начинают смотреть YouTube/Тикток и так далее. В этот момент как раз и получается, что 10 гигабит на город перестает хватать. Для пользователя это выражается в следующем: 
  • Ухудшается пинг (иногда в несколько раз).
  • Падает скорость.
Но, давайте будем честными – при пинге до сайта в 4 мс и 20 мс, а также при скорости загрузки сайта в 50 мегабит и 600 мегабит, мы разницы, обычно, не чувствуем – странички грузятся почти так же быстро, видео играется и, в целом, всё хорошо. Сайты нынче стали настолько требовательны к ресурсам компьютера, что важнее стала не скорость интернета, а производительность процессора и память. Однако, если вы пользуетесь удаленным рабочим столом или ssh - разница ощущается. А в сервисах типа GFN.RU 4мс и 20мс input-лага – это не только гораздо хуже картинка, но и разница между жизнью и смертью в Rainbow Six Siege.Если со скоростью всё понятно, то на пинге стоит остановиться отдельно. Трафик в интернете движется со скоростью света. Независимо от загрузки магистрали, расстояние между пользователем и сайтом не поменялось – почему же пинги стали хуже? На сетевом оборудовании могут использоваться очереди (PBQ/QoS). Если пакет ушел в сеть, а канал загружен, то он может попасть в очередь и будет там болтаться либо пока не устареет, либо пока у него не появится возможность попасть в канал (пока не рассосется более приоритетный трафик).  В терминальных ситуациях, перегрузка канала выражается потерями пакетов при пингах. Это штатное поведение магистральных коммутаторов – когда что-то не влазит, то что-то случайно отбрасывается до тех пор, пока не начнет влезать. Тем не менее, не стоит беспокоиться – TCP/IP (который используется при взаимодействии с сайтами) – протокол с подтверждением доставки. Если что-то по пути потеряется, то потеря будет отправлена еще раз. Для пользователя это будет выглядеть как снижение скорости, которое он не заметит.UDP (используется обычно для видео/голоса) – более быстрый, но без контроля доставки, данные и правда могут потеряться по пути. Эти потери обслуживаются на более высоком уровне, по сравнению с TCP. В стриминговых сервисах потери UDP-пакетов приводят к снижению битрейта – до тех пор, пока потери не прекратятся. Стоит так же обратить внимание, что:
  • Скорость у пользователя ДО 600 мегабит.
  • Пинг в договоре не прописывается.
  • Сайт может отдавать пользователю 20 мегабит вместо 600 даже при хорошей скорости от пользователя до сайта. Например, с помощью https://www.nginx.com/blog/dynamic-bandwidth-limits...ey-value-store/. И чтоб защититься от DDoS и краулинга.
  • Для того, чтоб диагностировать скорость между сайтом и пользователем – нужны специальные инструменты в том числе у сайта, и они должны быть доступны диагносту.
Вывод – в обычной ситуации, доказать провайдеру, что между вами и сайтом проблема где-то у провайдера – практически невозможно. Маршруты в большом интернете.После того, как трафик прошел городской роутер и дошел до магистрального роутера, он попадает в интернет. 
Топология интернета напоминает Mesh СетьКонечно, самым правильным было бы найти кратчайший маршрут между пользователем и сайтом, и отправить трафик по нему. Однако, это практически никогда не происходит, и тому есть несколько причин.BGPДля выбора по какому маршруту отправить трафик, используется протокол BGP. С его помощью определяется количество узлов между двумя точками. Трафик может быть направлен по маршруту с меньшим количеством узлов (самый короткий AS-PATH). Однако, данный метод не учитывает такой метрики, как расстояние между узлами.  Вполне может произойти, и происходит, что между двумя точками есть, например, два маршрута:
  • AS123 <--1000km--> AS456 <--50км--> AS888 
  • AS123 <--5000км--> AS888
Как видим, ASPATH у второго маршрута короче (на нем меньше промежуточных точек) и трафик вполне может пойти по нему. Хотя, напомню, скорость света указывает на то, что первый маршрут будет быстрее. Загрузка канала и экономика.Обратимся к первой картинке. Видим, что у провайдера есть 3 магистральных канала: Оранжевый, синий и зеленый. Синий – самый жирный. Например, 8 гигабит. Оранжевый чуть менее жирный. Например, 4 гигабита. И зеленый – самый тонкий: 2 гигабита. При этом, синий – самый короткий, оранжевый чуть длиннее и зеленый – самый длинный. Казалось бы - всегда используй жирный и короткий, не ходи тонкими и длинными. Но, в реальности, это происходит не всегда. Канал между двумя точками всегда стоит денег. С точки зрения экономики это выглядит следующим образом:
  • Арендуется оптическое волокно. В зависимости от ДЦ и жадности владельца оптики волокно стоит по-разному. Иногда, ОЧЕНЬ по-разному. Если на входе в ДЦ есть оптика только от одного владельца, которому, в том числе принадлежит ДЦ, то цена может быть сильно негуманной. Альтернатив-то нет.
  • По этому волокну организовывается сетевая связь между двумя точками. 
  • Приобретается предоплаченная полоса трафика. Например, 3 гигабита.
  • Договариваются о цене на Берсты: когда вместо оплаченных 3 гигабит по каким-то причинам «наливается» 5 гигабит. Обычно, берсты стоят дороже предоплаченной полосы и их стараются не использовать. 
Берст (burst): кратковременное (или не кратковременное) превышение. В данном случае предоплаченной полосы. Провайдер в канале 10 гигабит купил всего 1 гигабит. Он может на самом деле использовать все десять. Всё, что выше купленого - называется берстом или превышением.95 персентиль (95th percentile, MRTG95). Напоминает медиану (50th percentile). Как считается : берется отрезок времени, например 100 секунд. Разбивается на 100 отрезков по 1 секунде. В каждом отрезке определяется максимальная загрузка канала. Отбрасывается 5 отрезков с самой большой загрузкой. Из оставшихся отрезков находят отрезок с самой высокой загрузкой - это и будет 95 персентиль.Нюанс с берстами. Загрузка канала считается по 95 персентилям. Это значит, что если в течение месяца канал более чем 32 часа загружен на 10 гигабит, даже если выкуплен 1 гигабит, и средняя загрузка 0.5 гигабит, то … арендатору приходит счет за 10 гигабит. Поэтому, арендаторы стараются избегать берстов и загружать все свои каналы равномерно. Всё вышесказанное напрямую влияет как именно ваш трафик пойдет от вас до сервера: 
  • Во-первых, по самому дешевому каналу.
  • Во-вторых –по тому, где есть неиспользованная предоплаченная полоса.
  • В-третьих, если какой-то канал «мигнул» бёрстами, то их потом могут добивать: залил в какой-то резервный канал 10 гигабит в результате аварии на основном канале - значит, до конца месяца можно спокойно в резервный канал лить все 10 гигабит. Счет-то все равно уже придет за 10 гигабит. 
  • И уже на последнем месте будет учитываться скорость и комфорт пользователя.
Так же стоит отметить, что перегрузка магистрального канала на несколько процентов – пользователями не чувствуется. Да, при перегрузке будут потери пакетов, но, как написано выше – TCP и UDP трафик это спокойно обработает. TCP -на уровне протокола, а UDP – на уровне приложения. В интерактивных стриминг-сервисах, увы, это чувствуется – инпут-лаг, рассыпающаяся картинка.А еще, магистральное оборудование, может и «не понимать», что бюджет канала исчерпан. Если маршруты говорят, что эти 12 гигабит стоит заливать в канал, в котором всего 10 гигабит полосы, то туда Nexus и попробует залить. Всё вышесказанное говорит о том, что:  когда вечером все начинают смотреть YouTube, то может как падать скорость, так и появляться потери пакетов. А трафик может ходить очень странными путями.В последующих статьях пройдем варианты диагностики - внутри квартиры, последнюю милю, магистраль, а так же разберемся куда жаловаться.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_setevye_tehnologii (Сетевые технологии), #_internet (Интернет), #_provajdery (Провайдеры), #_domashnij_internet (домашний интернет), #_wifichajnik (wifi-чайник), #_striming (стриминг), #_setevye_tehnologii (
Сетевые технологии
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 13:45
Часовой пояс: UTC + 5