up
ГлавнаяБлогБезопасностьЖелезоПрограммированиеАдминистрированиеХостинг
MySQLHTMLBashHDDLinuxCentOSFreeBSDBenchmarkDebianPHPRAMSSDCPUPerl

Популярные статьи
Категория “Администрирование

Маршрутизация трафика между двумя точками

Многие из вас имели проблемы со скоростью интернет соединения с определенным узлом сети (сайтом / сервером), или хотя бы слышали об этом. Чтобы понимать от чего может так происходить и кто в этом виноват рассмотрите картинку ниже.

Трафик между точкой A к точке B может идти как показало зеленой линией, или как указано красными стрелочками. То есть, не смотря на физическую отдаленность узлов, фактическая длинна маршрута может быть разной.

Маршруты могут задаваться административно (статические маршруты), либо вычисляться с помощью алгоритмов маршрутизации, базируясь на информации о топологии и состоянии сети, полученной с помощью протоколов маршрутизации (динамические маршруты). Каждый маршрутизатор самостоятельно решает куда дальше послать пакет, но в пределах своих соседей, к которым имеет прямое подключение. Этот принцип называется «шаг за шагом» (hop by hop). Таким образом, принцип hop-by-hop перекладывает всю ответственность за маршрут на данном участке на маршрутизатор, отвечающий за данный участок. Именно по этому от дата центра, где размещен сервер B, напрямую не зависит каким маршрутом будет проходить трафик от клиента A. Косвенная зависимость конечно имеется и заключается она в том, какие магистральные провайдеры подключены к ДЦ. Так как именно маршрутизаторы этих магистральных провайдеров и решают как направлять пакеты.

Интернет состоит из некий автономных систем (AS), которые соединяются друг с другом, передают свой трафик соседям и даже передают трафик от одного соседа другому транзитом. Важно понимать, что это личное право автономной системы принимать трафик от соседа и отправлять его соседу. Хотят — отправляют. Хотят — не отправляют, или отправляют не ближайшему соседу, а совсем другому, который пропускает трафик третьему, третий пятому, пятый в Автралию, а потом обратно. Кто кому какой трафик передаёт определяется межоператорскими соглашениями.

Главным протоколом Интернета является BGP (border gateway protocol). Этот протокол используется для общения между маршрутизаторами провайдеров/операторов на стыках автономных систем, то есть за пределами их сетей. Каждая автономная система, участвующая в работе Интернета, анонсирует какие маршруты она принимает и через какого аплинка. А ведь автономных систем много.

Анонсируя свои сети, оператор может творить чудеса (или ужасы), может анонсировать свои сети через нескольких аплинков — и в этом случае трафик к нему пойдёт через всех, причём выбор аплинка в том или ином случае пойдёт через наиболее удобный путь (который или ближе, или дешевле, тут уж как настроят). Так же оператор, может, например, не анонсировать часть адресов. В этом случает трафик умирает на первом же маршрутизаторе, который осознал, что дальше пути нет.

Вот пример маршрута. Допустим, мы, сидя в Киеве решили попросить фотографию котика с сервера в Вильнюсе. Маршрутизатор нашего провайдера знает, что ближайший линк до Вильнюса — через Варшаву (зелёная стрелка). Сервер в Вильнюсе пошуршал, нашёл котика и отправляет его нам. Но оператор сети в Вильнюсе знает, что за трафик в кабеле до Варшавы с него срубят много-много денег. А в Москву он не отправляет трафик по политическим причинам. И вот, он отправляет его через другого оператора. В Риге. Который опять его отправлят в Стокгольм, тот отправляет дальше, трафик снова пересылают… И так пока картинка не доползёт до скучающего котофила в Киеве.

Резюмируя все вышесказанное можно ответить на вопрос, который интересует многих наших клиентов: "Почему у нас низкая скорость соединения с сервером, если мы приобрели сервер с гарантированной полосой 1 Gbit/s?". Ответ весьма логичный, гаратируется полоса от сервера к маршрутизатору в дата центре и доступность этой полосы на выходе из дата центра к оператору связи. И не более. Далее трафик ходит между разными AS, которые не имеют никакого отношения к компании, которая предоставляет вам в аренду сервер. И в конечном итоге приходит к провайдеру интернета, к которому уже подключен сам клиент. 

Часть материала позаимствована из habr и изложена более кратко.

Saturday, 29 September 2018, 17:55
Ссылка на страницу:

comments powered by Disqus

Чаще всего ищут

Статистика блога
Статтей: 186
Безопасность: 9
Железо: 19
Программирование: 16
Администрирование: 139
Хостинг: 2