Пиринговая валюта Биткоин – самый опасный опенсорсовый проект. Пиринг для непричастных

Структура Интернета не является древовидной: здесь нету главного маршрутизатора, который обрабатывает весь трафик. Сеть Интернет состоит из огромного числа связей между различными операторами и провайдерами. Существует два вида связей: аплинк и пиринг. В этой статье мы рассмотрим что такое пиринг.

Пиринг (от англ. peer — соседство) — это договоренность двух операторов связи (или провайдеров) о взаимном обмене трафиком. Это соглашение реализуется технически и включает в себя:

1. Непосредственно физическое соединение сетей (стык сетевого оборудования двух операторов)

2. Взаимный обмен информацией по протоколу BGP (настройка BGP на сетевом оборудовании)

Главное преимущество пиринга состоит в том, что это бесплатно или очень дешево для обеих сторон. Достигается это за счет того, что оба оператора заинтересованы в обмене трафика. В свою очередь, аплинк — это стык с крупным провайдером, который предоставляет доступ в Интернет. За такой стык оператор будет платить деньги, потому что провайдер имеет большую сеть и трафик там, соответственно, тоже крупный. Провайдер, который предоставляет интернет называется Tier 1. Tier 1 — оператор, который не имеет аплинков, но при этом имеет хорошую связность между другими операторами связи. За эту связность ему платят.

Исходя из вышеизложенного, становится понятно, что наилучший вариант — это пиринг, потому что он позволяет экономить значительную сумму средств. Однако на практике не все так просто. Чтобы организовать пиринг между двумя операторами нужна дорогая инфраструктура. К примеру граничный маршрутизатор Juniper MX480 стоит около 26000 долларов.

Операторы, участвующие в пиринге, могут контролировать трафик, что позволяет контролировать такие параметры как, например, задержка и потеря пакетов. В случае с аплинком пакет будет посылаться в сеть через транзитное соединение и трафик уходит в Интернет через любой маршрут.

Места, в которых физически организуется стык, называются IX (Internet EXchange) — дословно Интернет-биржа. Это уютные серверные, в которых организуются соединения между операторами.

Виды пиринга:

1. Прямое кабельное соединение между операторами. Минусы: потребует затрат на «последние мили» между пирами

2. Публичный пиринг — осуществляется на базе точек обмена трафиком. В качестве такой точки выступает коммутатор Ethernet (или стек коммутаторов), к которому подключаются все сети.

3. Приватный пиринг — два оператора находятся в одном дата-центре и подключаются друг другу напрямую кабелем. Этот вариант сочетает в себе два предыдущих.

Существуют также разные виды договоренностей о пиринге:

1. Глобальный — обмен трафиком происходит от любого клиента оператора А до любого клиента оператора B

2. Частичный — обмен трафиком происходит между определенными клиентами и в определенном регионе

3. Платный — когда связность оператора А больше связности оператора B, второй платит первому за пиринг.

Что нужно чтобы организовать пиринг

Существует ряд вещей, без которых невозможно организовать пиринг межу операторами. Первое и самое важное — это точка подключения. Для этого может потребоваться граничный маршрутизатор, либо последняя миля Ethernet, соединяющая ваше оборудование и коммутатор точки обмена трафика. При этом потребуется оплатить порт на коммутаторе, аренду/покупку дата-центра или последнюю милю. Также потребуются специалисты, которые будут настраивать и мониторить все это оборудование.

Прочитав эту статью, я думаю вы уяснили для себя, что такое пиринг.

В современном мире все мы привыкли иметь возможность делиться интересными сведениями и материалами с друзьями и прочими людьми. Особенно в этом отношении важен интернет, так как именно и предоставляет нам кучу возможностей для осуществления такого рода обмена.

Разные типы информации и передавать можно различными способами. К примеру, сегодня весьма популярна пиринговая сеть (P2P), уникальность которой в способности к передаче практически любого объема данных. Но, разумеется, это далеко не единственная сфера, где эта технология действительно востребована. К примеру, именно на ее основе созданы многочисленные кластеры для распределенных вычислений, использующие мощности удаленных компьютеров.

«Этическая» сторона вопроса

Вообще, в последние годы активно «демонизируется» пиринговая сеть. Что это «опасно» с точки зрения получения вирусов и нелицензионного контента, говорят практически во всех СМИ.

Вот только журналисты отчего-то стыдливо умалчивают, что не менее 70% трафика от протокола Р2Р приходятся на абсолютно законопослушных пользователей и даже целые компании, которые просто разгружают свои серверы, вовлекая в обмен данными рядовые компьютеры. Простой пример: уже давно «Метелица», она же компания Blizzard, использует эти сети для обновления клиентов того же «Варкрафта» и прочих своих игр. Не стоит и упоминать, какое от игроков со всего мира там генерируется!

Но в этой статье пиринговая сеть нами будет рассмотрена именно с позиций приема и передачи файлов, так как рядовым пользователям эта сторона вопроса ближе всего.

Наиболее распространенные программы

Наверняка каждый пользователь хотя бы слышал о некоторых утилитах, посредством которых и осуществляется файловый обмен. У всех на слуху µTorrent и eMule, Shareaza, KaZaA и и другие, которые постоянно упоминаются в связи с передачей той или иной информации в сети интернет. Впрочем, постараемся рассказать о них более упорядочено. Итак, что такое пиринговая сеть? Какова научная расшифровка этого понятия?

Определение

Можно сказать, что сразу после создания компьютеров люди озадачились тем, как можно связывать их в единую систему. Вскоре была придумана технология локальных сетей, активно используемая и по сей день. Но у такого способа связывания компьютеров в единый «организм» есть и свои недостатки. К примеру, в большинстве случаев отдельные машины имеют повышенные привилегии, что допустимо далеко не всегда.

Именно для устранения такой «дискриминации» и была придумана пиринговая сеть, каждый компьютер в которой может не только принимать, но и передавать информацию, работая одновременно в качестве сервера и клиента. Чаще встречается аббревиатура P2P (peer-to-peer), что с английского можно перевести как «от равного к равному». Такие сети еще называют децентрализованными.

Основные принципы работы

Каждый участник — пир. Они и объединяются в глобальную систему, внутри которой осуществляется передача какой-либо информации. От в которой есть сервер и клиент, пиринговые отличаются своей повышенной живучестью: вне зависимости от количества функционирующих пиров, они сохраняют полную работоспособность. Кроме того, нет явной зависимости от сервера.

Давайте приведем «наглядный» пример передачи небольшого файла в такой сети. Данные передаются небольшими кусками, которые называются пакетами. Каждый файл разбивается на множество таких пакетов, которые и скачиваются пользовательской машиной. Порядок их получения особого значения не имеет.

Отличия от стандартной сети

В случае же обычной сети есть сервер, а есть файл, который оттуда можно скачать. Скорость получения данных будет находиться в прямой зависимости как от пропускной способности сервера, так и от его загруженности в каждый конкретный момент. Проще говоря, при наличии огромного количества пользователей, каждый из которых что-то «тянет» с сервера, скорость отдачи может вообще упасть до нуля.

Если же с сервером и вовсе что-то случится, то вся информация сразу станет вам недоступна. И придется заниматься поисками другого источника, с которого можно будет скачивать данную информацию.

Преимущества пиринговой модели передачи данных

Куда совершеннее работает пиринговая сеть. Что это значит? Во-первых, вам не потребуется искать конкретный сервер, с которого идет передача требующегося файла. Достаточно на специальном сайте отыскать файл или магнет-ссылку, которые указывают на его существование. Скачать его можно будет при помощи специальной программы, о некоторых из которых мы уже говорили выше. И основное отличие будет в том, что скачивание может идти одновременно с сотен и тысяч однотипных источников.

Мы уже отмечали, что в этих сетях каждый отдельный компьютер может выполнять одновременно еще и функцию сервера, а потому каждый сегмент является универсальным. Проще говоря, если какие-то пиры вдруг окажутся недоступными, всегда могут выручить компьютеры других людей, на жестких дисках которых наверняка окажется требуемая информация.

Некоторые недостатки пиринговой модели

Мы неоднократно подчеркивали, что основной сферой использования такого рода сетей является обмен данными. Как ни странно, но в мире практически не встречается описанная нами выше пиринговая сеть. Что это означает? Дело в том, что классическая модель имеет не только многие достоинства, но и некоторые критические недостатки.

Наиболее спорным обстоятельством является необходимость поиска в сети пиров, у которых есть тот же самый файл и которые находятся в сети в то же самое время. Именно поэтому была создана гибридная модель. В ней есть своего рода серверы, но отвечают они не столько за передачу данных, сколько за поиск активных пользователей, у которых имеется искомая вами информация. Практически все современные пиринговые сети работают именно за счет использования этой гибридной модели.

Чтобы стать полноправным и полноценным участником такой системы, понадобится инсталлировать на свой компьютер особую программу-клиент, которая будет отвечать за поиск свободных пиров с нужными данными. Заметим, что существует далеко не одна пиринговая сеть. Что это подразумевает?

Наиболее крупные и популярные сети для обмена файлами

Следует помнить, что в интернете существуют сотни и тысячи более мелких, локальных сетей, многие из которых поддерживаются даже региональными провайдерами. Прекрасным примером может служить пиринговая сеть МТС. Конечно, все они используют классическую или гибридную модель работы, подчиняются одним и тем же принципам, но могут использовать совершенно различные протоколы передачи данных, а уж о специфическом программном обеспечении и говорить не стоит.

Наиболее крупными, известными во всем мире, являются следующие Р2Р сети:

    ED2K. Передача данных осуществляется по протоколу MFTP. Клиент — известная программа eMule. Уже с 2005 года проект находится в состоянии «хронической смерти», но пока что сеть продолжает стабильно функционировать, пусть даже и скорость передачи данных быстрой никак не назвать.

    BitTorrent. Пожалуй, наиболее популярный сегмент пиринговой системы, отличающийся громадным количеством пользователей и высокой скоростью. Имеет огромное количество клиентов, к числу которых относится «эпический» uTorrent, BitComet, а также десятки иных.

    Direct Connect. Более специфический вариант, когда хабы, образованные некими группами людей, используются ограниченным (сравнительно) кругом пользователей. Чрезвычайно популярна эта модель в качестве локальной сети провайдера. Основной клиент - DC++.

    Gnutella. Вот это самая настоящая, чистая пиринговая система. Используется особый протокол передачи данных, который был создан компанией Nullsoft, разработчиком общеизвестного (хотя и умершего) «Винампа». Какие в этом случае используются клиенты пиринговых сетей? Известна программа Shareaza, LimeWire и прочие.

    FastTrack. Также характеризуется «чистой» моделью P2P, но в обмене файлами могут участвовать только те компьютеры, которые имеют их полную версию. Программы - KaZaA, mlDonkey.

Каковы основные преимущества всех этих сервисов? Все просто — никакая настройка пиринговой сети совершенно не требуется. Ставите программу, переходите по «магнитной» ссылке и... вуаля, файл начал качаться!

Основные правила обмена файлами

Учитывая специфику работы этих сетей, не приходится удивляться наличию довольно-таки жестких правил, которые крайне желательно соблюдать. Многие из них просты и логичны. При их невыполнении вам грозит полное исключение из обменного процесса, что влечет за собой невозможность получения нужной информации.

Мы уже не раз говорили, что в основе такой модели лежит принцип равноправия всех участников. Из этого следует, что вам нужно не только скачивать, но и отдавать информацию. В принципе, это едва ли не единственное обязательное условие. Вас это не устраивает? Что ж, тогда к вашим услугам — многочисленные сервисы обмена информацией, построенные по стандартной архитектуре сервер-клиент.

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

Что желательно делать при обмене?

Очень желательно, скачав какой-то файл, раздать с него же равный объем информации. Как правило, если пользователь только скачивает, но ничего не раздает, системой могут быть введены «штрафные санкции», предусматривающие полное исключение возможности получения новых файлов. Может использоваться даже блокировка по IP или МАС-адресу. В частности, этим отличается пиринговая сеть "Билайн".

    Ни в коем случае не удаляйте файл, только-только завершив его скачивание. Если есть такая возможность, как можно дольше сохраняйте его на своем жестком диске.

    Нельзя также перемещать или переименовывать полученные файлы, так как в этом случае другие пользователи также не смогут получить к ним доступ.

    Ни в коем случае не занижайте искусственно скорость исходящего канала. Разумеется, такая передача в какой-то степени нагружает ваш жесткий диск и саму систему, однако не стоит так отмахиваться от нужд других людей.

    Не помешает держать на компьютере десяток-другой популярных файлов, чтобы поддерживать систему.

Правообладателям: мы вовсе не советуем распространять пиратский софт или что-то подобное. Всегда можно только поприветствовать, если пользователь участвует в обмене дистрибутивами того же «Линукса», так как это значительно разгружает серверы компаний, которые и без того зачастую живут на одни пожертвования и работают исключительно на добровольческой основе!

О защите авторских прав

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

О пиринговом договоре

Договор обмена Интернет -трафиком между двумя и более сетями Интернет-провайдеров состоит из трёх элементов:

  • физическое соединение сетей
  • техническое взаимодействие между сетями, обмен маршрутами
  • коммерческие и договорные пиринговые соглашения

Интернет-провайдеры часто организуют точки обмена трафиком , то есть помещения, в которых происходит физическое соединение сетей многих операторов.

Типы пиринговых соглашений

Пиринг может осуществляться через:

  • частное соединение по схеме «точка-точка » между двумя сетями
  • точку обмена трафиком, возможно, не зависящую ни от одного провайдера, где множество провайдеров обмениваются трафиком.

С коммерческой точки зрения различают платный и бесплатный пиринг. Обычно крупные провайдеры обмениваются трафиком между собой бесплатно, и взимают оплату за пиринг с мелких провайдеров. Мелкие провайдеры обмениваются между собой на точках обмена трафиком бесплатно.

Эффективность пиринга

Пиринг позволяет сократить маршруты передачи пакетов между сетями и снизить затраты на трафик. Создание городских или национальных узлов обмена трафиком помогает избежать использования междугородных и международных каналов связи при передаче информации между разными Интернет-провайдерами одного города или страны . Пиринг позволяет Интернет-провайдерам предлагать бесплатный местный трафик.

См. также

Примечания


Wikimedia Foundation . 2010 .

Синонимы :

Смотреть что такое "Пиринг" в других словарях:

    Сущ., кол во синонимов: 1 обмен (55) Словарь синонимов ASIS. В.Н. Тришин. 2013 … Словарь синонимов

    пиринг - соглашения об обмене трафиком Соглашения об обмене трафиком и маршрутизации пакетов, заключаемые Интернет провайдерами между собой. [аутсорсингаhttp://www.outsourcing.ru/content/glossary/A/page 1.asp] Тематики информационные технологии в целом… … Справочник технического переводчика

    Операторы (Интернет операторы первого яруса) это ISP), которые соединены со всем Интернетом исключительно через неоплачиваемые соединения, обычно называемые пирингом. Другое название Tier 1 оператора transit free, потому что он не получает полную … Википедия

    - (провайдеры первого уровня) это IP операторы (обычно, но необязательно ISP), которые соединены со всем Интернетом исключительно через неоплачиваемые соединения, обычно называемые пирингом. Другое название Tier 1 оператора transit free, потому что … Википедия

    Возможно, эта статья содержит оригинальное исследование. Добавьте ссылки на источники, в противном случае она может быть выставлена на удаление. Дополнительные сведения могут быть на странице обсуждения. (11 мая 2011) … Википедия

    - (англ. Internet Exchange Point, IX, IXP) сетевая инфраструктура, предназначенная для оперативной организации соединений и межоператорского обмена IP трафиком (пиринга) между независимыми сетями в Интернет. Участниками обмена трафиком… … Википедия

    Официальный логотип UA IX украинская точка обмена интернет трафиком, функционирует с августа 2000 года. Обеспечивает максимальную связность сетей украинских провайдеров и организацию эффективного обмена трафиком между ними по кратчайшим… … Википедия

    ООО «Старлинк Телеком» Тип Общество с ограниченной ответственностью Год ос … Википедия

    На рынке доступа в Интернет для физических лиц в Молдавии доминируют три провайдера Moldtelecom, StarNet и Интерднестрком. Доступ к Интернету для юридических лиц преимущественно занят двумя провайдерами Moldtelecom и Arax. Но это не… … Википедия

    Lan ix.ru lan ix.ru LAN IX (Network Exchange) проект объединения сетей Петербурга. Содержание 1 … Википедия

  • Tutorial

Abstract: Рассказ про устройство Интернета, как «сети сетей» в виде текста для чтения, без двоичной системы счисления и нюансов BGP. Большая часть расказа будет не про процесс общения ноутбука с точкой доступа, а о том, что происходит после того, как данные пройдут «шлюз по умолчанию». Предупреждаю, букв много.

Вступление

Маленький провокативный вброс: ни один из читателей этой статьи к Интернету не подключен. Все подключены к сети своего провайдера, и не более. Подключение к Интернету дорогое, его сложно делать, вам потребуется очень крутое оборудование, несколько договоров с несколькими операторами связи и квалифицированные сотрудники. Простому домашнему пользователю это никак и никогда не светит. Не говоря уже о том, что в Интернете может быть не больше 4 миллиардов подключившихся (а до недавнего времени было даже «не более 65536») . Даже если весь Интернет перейдёт на ipv6, это число не поменяется.

Вот число подключившихся к Интернету :

По оси Y - число в штуках. Штуках, штуках. И вас в этом числе не посчитали.

Дело в том, что Internet - это, если переводить буквально, «межсетье». Сеть Сетей. И участниками Интернета являются не пользователи (их компьютеры, планшеты, микроволновки с wifi и т.д.), а сети. Сети и только сети участвуют в работе Интернета. Интернет - это то, что связывает разные сети между друг другом.

А вот отдельные узлы этих сетей - они уже могут посредством своей сети, подключенной к Интернету, связываться с другими узлами других сетей.

Впрочем, обо всём по порядку.

Что есть сеть?

Я пропущу всю драматичную и покрытую пылью историю первых десятилетий компьютеров. В какой-то момент возникло желание передавать информацию с компьютера на компьютер иначе, чем дырявя тысячи перфокарт. После долгих мучений и миллиардных инвестиций в сдохшие-таки протоколы, которые так и не стали стандартами (а некоторые стали, но всё равно сдохли), возникло понятие «локальной сети» (или «локалки»). Локальная сеть позволяет компьютерам, которые расположены рядом связываться друг с другом по адресу в этой сети. Понятие «рядом» очень растяжимое, и может растягиваться на несколько зданий, а если сильно напрячься, то и на пару городов.

Почему «сеть»?

Мы все привыкли к тому, что это самое, компьютерное, называется «сеть». Но мы ещё помним, что сетью называется то, чем ловят рыбу и прочие ячеистые структуры.

Так что если компьютерная, но сеть, то она тоже должна быть из ячеек. В то же самое время наш бытовой опыт говорит о том, что это никак не сеть, а настоящее компьютерное дерево. Листья (компьютеры, смартфоны, планшеты и т.д.) подключаются к веткам (маршрутизаторы, коммутаторы, точки доступа), которые снова подключаются к маршрутизаторам/коммутаторам, и так до тех пор, пока не образуется Главный Маршрутизатор, от которого линк обычно уходит к провайдеру Интернета. Или, в случае совсем локальной сети - никуда не уходит, ибо Маршрутизатор - он Главный.

Где же тут сеть?

Ответ: в такой конфигурации нет сети. Это не сеть. То есть это всё ещё компьютерная сеть, но очень частный, «порванный» её вариант. Настоящая компьютерная сеть подразумевает, что у нас в сети более чем один маршрутизатор, и они связаны друг с другом несколькими линками.

Ниже схема средней по размеру локальной сети. Круглые объекты - маршрутизаторы, квадратные - коммутаторы, за вычетом исходной точки и целевой точки все коммутаторы удалены для упрощения. Зелёным показан предпочительный путь, красным - дорогой отрезок.

Уже больше похоже на сеть?

Именно в избыточных связях и состоит главная идея Интернета. Создавали его американские военные (ARPANET) с простой целью - если любой из промежуточных узлов на этой схеме произойдёт повреждение (на войне бывает, знаете ли, копали окоп, порвали кабели), то связь должна сохраниться.

На самом деле я немного лукавлю - множество локальных сетей (было) построено не на протоколе IP, а на других протоколах (ATM, IPX/SPX).

Но мы говорим про победителя - про протокол IP (который так и расшифровывается - Internet Protocol).Сети, построенные на базе IP-протокола, и Интернет в частности работают на принципе hop-by-hop.

Hop by hop

Для того, чтобы исключить существование «центрального маршрутизатора всея Интернет» каждый маршрутизатор, решающий куда дальше послать принятый пакет, принимает это решение самостоятельно. И только в пределах своих соседей (directly connected). Этот принцип называется «шаг за шагом» (hop by hop). Альтернативой подобному подходу мог бы быть либо центральный координирующий узел, говорящий как передавать пакеты, либо указание маршрута в самом пакете.

Идея центрального координирующего узла натыкается на одну простую проблему - как донести информацию о новом маршруте до маршрутизатора, если использующийся для связи с маршрутизатором маршрут повреждён? Упс…

Идея «заранее проложенного маршрута» использовалась в UUCP (предшественник обычной электронной почты), но в условиях войны (одновременно: землетрясение, цунами, и авария на атомной электростанции) надеяться, что отправитель в курсе, какие узлы работают, какие нет, мягко говоря, наивно.

Таким образом, принцип hop-by-hop перекладывает всю ответственность за маршрут на данном участке на маршрутизатор, отвечающий за данный участок (в такой формулировке звучит как банальность).

Маршрутизатор обычно может довольно хорошо сказать, кто из его соседей живой, а кто нет. Плюс, он может общаться с соседями соседей и узнавать информацию о том, какие у них линки живые, а какие нет.

Второе (общение с соседями) называется «протокол маршрутизации». Он описывает то, каким образом маршрутизатор должен общаться с соседями и как именно это общение должно влиять на таблицу маршрутизации. Сами протоколы бывают двух типов - для работы «внутри сети», и для работы между сетями.

Таблица маршрутизации - это святая святых любого маршрутизатора. Её структура простая: весь трафик сети такой-то пересылается на адрес такой-то через сетевой интерфейс такой-то, плюс предпочтительность каждого маршрута. Чем точнее маршрут, тем он предпочтительней, а при прочих равных используется приоритет данного маршрута. Финальный (самый плохой) маршрут называется «на деревню дедушке», то есть «весь трафик». Это так называемый «шлюз по умолчанию». Его используют только если нет более точных маршрутов, и, что самое интересное, у обычных компьютеров (телефонов, планшетов, пылесосов, видеокамер, зубочисток с wifi и т.д.) очень часто бывает только он - маршрут по умолчанию, то есть ничего хорошего в их жизни нет.

Но это была присказка. Сказка будет впереди.

А что там, за аплинком?

Аплинком (uplink) называют того, от кого получают доступ к Интернету.

Как мы уже обсудили, настоящий Интернет объединяет сети. Такие сети называются «автономные системы», и называются они так потому, что ни от кого не зависят - они сами по себе. Автономные системы соединяются друг с другом (и сейчас мы обсудим как), передают свой трафик соседям, и даже передают трафик от одного соседа другому транзитом.

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

Итак, настоящий Интернет состоит из автономных систем и связей между ними.

Кто-то вообразил, что связь между автономной системой в Китае и, например, в Москве - это тысячи километров. Нет-нет. Размер (физический) линка между автономными системами обычно очень маленький - иногда это десятки сантиметров, иногда метры, в крайнем случае десятки метров.

Почему? Потому что если бы линк между ними был 10 000 километров, да ещё и висел бы на столбах, кто бы за этими столбами ухаживал, поливал их, подпирал и привязывал к проводам? Так что чаще всего все эти тысячи и тысячи километров оптики (медь умерла на таких дистанциях), которые и есть автономная система. Заметим, это целый отдельный мир, называемый «магистральные операторы». Их бизнес как раз в том и состоит, что они берут трафик с одной точки и доносят до другой через тысячи километров сквозь стужу, тракторы и медведей.

А вот соединения между автономными системами (их называют «стыки») обычно находятся в уютных холодных, сухих и тщательно охраняемых помещениях. Это могут быть серверные (например, у Селектела в серверной есть некотрое количество так называемых «операторских стоек» - как раз для того, чтобы операторы, которые там разместились, могли стыковаться друг с другом в комфортных условиях), или, если говорить про действительно крупные специализированные узлы, то используются отдельные помещения (чаще всего образующиеся стихийно из-за большой концетрации готовых трасс) - Internet Exchange (IX). Так что MSK-IX - это не «Москва-9», это «Мoscow Internet Exchange»). Туда приходят операторы (со своими проводами или арендованными) и коммутаторами (целыми, или маленьким кусочком посредством аренды VLAN/порта). А дальше трудолюбивые паучки начинают вязать всемирную паутину инженеры начинают заниматься тысячами кроссировок (соединением проводом одного коммутатора с другим). На этих кроссировках весь интернет и держится.

Как же все эти люди умудряются договориться друг с другом? А главное, как эти договорённости сохраняют главное свойство - переживать смерть (в том числе и смерть линка с соседями)?

BGP

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

Каждая автономая система, участвующая в работе Интернета, анонсирует какие маршруты она принимает и через какого аплинка. А ведь автономных систем много. Тысячи их! Полный список всех анонсов называется Full View, и он описывает существование всего Интернета на планете Земля (насколько я знаю, автономных систем за пределами планеты нет, есть только отдельные узлы, которые маршрутизируют трафик через наземные машрутизаторы). Full View довольно большой (под 400 000 записей для ipv4, от 200Мб до 2Гб в размере в зависимости от железа и софта).

Заметим, что маршрутизатору с Full View не нужно иметь шлюза по умолчанию - перед ним карта всего Интернета.

Так как оператор сам решает какие префиксы (фрагменты сети того или иного размера) анонсировать и через кого, то он может указывать через кого принимать трафик. Например, выбирая между «хорошо и дорого» и «дешево» оператор может предпочесть дешево. А «дорого» оставить как резерв.

При этом очень важно, что «откуда оператор принимает трафик» не равно «куда он его отсылает». Это так называемые нессимметричные маршруты. Их появление - результат экономической политики и жадности.

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

Заметим, анонсируя свои сети, оператор может творить чудеса (или ужасы). Оператор может анонсировать свои сети через нескольких аплинков - и в этом случае трафик к нему пойдёт через всех, причём выбор аплинка в том или ином случае пойдёт через наиболее удобный путь (который или ближе, или дешевле, тут уж как настроят). Это, кстати, лежит в основе большинства CDN (content distribution network) - оператор хранит копию раздаваемого содержимого на куче серверов по всему миру, имеет кучу стыков с местными операторами и всюду анонсирует свои (одни и те же) адреса. Получается, что в каждом регионе пользователю запросы принимают на ближайшем к нему (по маршруту) сервере, и оттуда же ему и отвечают, что получается сильно быстрее, чем через всю планету переспрашивать.

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

Вот пример вывода, который мне удалось получить во время недавних кратковременных работ на сетевом оборудовании. По мере того, как информация о завершении BGP-сессий между маршрутизатором и его аплинками расходилась по Интернету, трафик отправляли всё дальше и дальше, на маршрутизаторы, которые пока что считали, что они знают, куда отправлять трафик. В результате, после 255 хопов (т.е. передач между 255 маршрутизаторами) пакет умирал от старости, так и не достигнув назначения.

PING selectel.ru (188.93.16.26) 56(84) bytes of data. From ae0-0.par-gar-score-2-re1.interoute.net (212.23.42.26) icmp_seq=51 Time to live exceeded From ae-3-80.edge5.Frankfurt1.Level3.net (4.69.154.137) icmp_seq=54 Time to live exceeded From xe-0-2-1.par72.ip4.tinet.net (89.149.181.138) icmp_seq=68 Time to live exceeded From 94.79.28.33 icmp_seq=72 Time to live exceeded From so-0-0-0.IL2.NYC12.ALTER.NET (146.188.15.254) icmp_seq=92 Time to live exceeded 64 bytes from 188.93.16.26: icmp_seq=326 ttl=58 time=0.732 ms

Аплинки аплинков: Tier 1

Простыми логическими рассуждениями легко понять, что если у аплинка есть аплинк, то либо аплинков бесконечное количество, либо они замкнуты в кольцо, либо есть такие аплинки, у которых нет аплинков.

И такие есть. Их называют Tier 1 . Их отличие от всех остальных не в том, что они не имеют аплинков (всё-таки у нас сеть, верха/низа в формальном смысле нет), а в том, что они не платят никому за Интернет. Представьте себе компанию, которая получает сотни гигабит/с (терабиты?) трафика, столько же отправляет - и всё это на халяву. Чтобы получить на халяву интернет надо подойти к ближайшему макдональдсу/старбаксу поближе, найти их wifi… К сожалению, Tier 1 это вас не сделает. Чтобы быть Tier 1 нужно ещё одно условие - чтобы вам за интернет платили. Таким образом, они никому не платят, а им за связность платят.

Происходит это из-за очень хорошей связности (количества стыков) этих операторов. Очевидно, что местечко это очень уютненькое и соблазнительное, так что многие туда метят. Подробнее про то, как «дружат» между друг другом Tier 1 хорошо написано на nag.ru .

Пиры, пиринг и пиррова победа

Как мы выяснили, Tier 1 со всех деньги получают и никому не дают. Если есть два оператора, между которыми большой трафик (допустим, это очередной убийца ютуба с миллионами роликов про котят и новый мегателеком с миллионами жаждущих посмотреть на котят), то идеальная (с точки зрения Tier 1 оператора) картинка выглядит так: оба оператора подключаются к Tier 1 и платят за трафик. Убийца ютуба за исходящий, получатель котят - за входящий. Tier 1 доволен, убийца ютуба не может найти адекватную модель монетизации котят, а мега-телеком просит дотацию из бюджета.

Решение? Дотащить/арендовать кабель до уютной коммутационной и настроить локальный обмен. От ютубоубийцы к мегателекому. Итог: гигабайты котят ходят напрямую, расходы сокращаются. Tier 1 не очень доволен, но его бизнес вообще не котят гонять, а «самую крутую связность» делать, так что без своего куска хлеба он не останется.

Такое соединение называется пирингом (от peer). Его главное условие - участники пиринга друг другу не платят, или платят, но смешную сумму за аренду порта/кусочка физического линка.

Одно время любимым направлением пиринга были «контенто-генераторы» и «провайдеры Интернет». Но тут началось… Напстер, шареаза, едонкей, DC, и, под трубный глас копирайтных фанфар… торренты. Внезапно, объём трафика «между пользователями» стал в разы больше, чем между поставщиками контента и потребителями. И если ютуб и его клоны вполне могут потягаться, то какой-нибудь сайт с «много букв, мало картинок» (например, Хабрахабр) очевидно не может угнаться за пользователями, которые решили скачать всю Футураму и Симпсонов одним паком, да ещё и раздать обратно с рейтом 2.

Так что особую популярность приобрели стыки между провайдерами. В силу того, что многие провайдеры делают nat и серые адреса внутри сети, доходило до пиринга серыми адресами, причём провайдеры резали полосу по тарифу только в Интернет, а «пиринг локалками» шёл на скорости среды.

В результате у операторов в руках оказался гигантский трафик терабайтных масштабов.

Таким образом, пиринг должен быть выгоден обоим операторам. Оба оплачивают только порт для стыка и сколько-то за обслуживание этого стыка. И оба экономят… Когда бизнес экономит - это хорошо. Когда конкурент бизнеса экономит - это плохо. Так что в дело вступает большая корпоративная политика.

Если у нас есть провайдер А с трафиком в 10 Гб/с и провайдер Б с трафиком в 1Гб/с, а примерный объём пиринга между ними 500Мб/с, то…

… Надо ещё сказать, чаще всего магистралы деньги берут за полосу, по 95% персентилю, и по тому, какого было больше - исходящего или входящего.

Так вот, если будет пиринг между А и Б, то А экономит на пиринге 5% трафика, а Б - 50%. Очевидно, если А и Б конкуренты, то отказавшись от пиринга А почти ничего не потеряет, а вот Б будет сильно много платить аплинку, чтобы тот донёс трафик до А.

Ещё хуже, когда операторов три: А, Б, В. А и В большие, между ними стык в 10Гб/с, почти забитый. Б - маленький, и у него всего 500Мб/с. А и В пирятся, а Б не пускают. Б идёт к аплинку и платит кровные. За трафик до А и до В. А так как большинство пользователей у А и В, то у Б большая часть пользователей хочет получить/отправить трафик А или В. Для альянса А и В всё отлично - большая часть трафика локальная, а к конкурентам уходят сущие крохи. А для Б это означает, что большая часть трафика - платная и дорогая.

Таким образом, два больших дружат, а у Б всё плохо (дорого). А бывает так, что объединяются несколько больших операторов и решают устроить «бизнес». Получается ОПГ. Как любая ОПГ, она начинает «доить» тех, кого крышует и давить тех, кто сопротивляется. Ну, вы понимаете, кушать всем хочется.

… Ах да, ОПГ расшифровывается весьма невинно - Объединённая Пиринговая Группа. Чуть подробнее про это есть в блоге Кипчатова .

Войны вокруг пиринга существуют и будут существовать, увы. Mesh network хорош пользователям, но не тем, кто на Интернете зарабатывает.

В силу того, что пиринг очень востребованная услуга, существуют целые компании, которые строят свой бизнес только на предоставлении пиринга. В этом случае существует несколько методов:

  • Прямая коммутация. Оператор А втыкается в оператора Б физически
  • Общение через коммутатор пиринг-оператора. Прелесть метода в том, что можно иметь один порт, и общаться с несколькими операторами, которые присутствуют в том же самом коммутаторе
  • Роут-сервер. Это самый тонкий и изящный ход: каждый оператор в пиринге устанавливает соединения с роут-сервером пиринг-оператора, получает от него все маршруты, которые анонсировали все подключенные к пирингу операторы. При этом для сторонних наблюдателей автономная система пиринг-оператора в маршруте не появляется. В этом случае пиринг-оператор обычно берёт деньги за трафик, но меньшие, чем «настоящий» провайдер, работающий в качестве аплинка.

Чёрные дыры в Интернете



В силу своей примитивности, DoS атаки (обычно любят добавлять DDoS, но distributed - это отдельный разговор) очень легко реализуемы. Десяток строчек на Си, одна строчка в шелле - и вот, очередной компьютер изо всех сил тужится, стараясь загадить Весь Интернет бессмысленным трафиком. Если таких компьютеров собрать несколько - можно получить поток хлама в гигабайты, десятки гигабайт, сотни гигабайт.

Если весь этот мусор направляется на один адрес, то получается беда. Входящий канал забивается в «потолок» и добросовестные пользователи просто не могут прислать свои запросы.

Проблема состоит в том, что могут забить не только канал конкретного сервера, но и входящий канал оператора (да, такое бывает). С учётом, как оплачиваются каналы между операторами (95% персентиль), большой поток мусорного трафика длительное время - это очевидные непродуктивные затраты.

Простейшее бытовое решение - прописать источник в drop на ближайшем маршрутизаторе, а то и коммутаторе. Но при этом оказывается, что во-первых, входящий канал всё равно перегружен, во-вторых его надо оплачивать, а в третьих мы сталкиваемся с проблемой «кого банить». Если весь трафик идёт с одного-двух адресов, задача простая. Но сделать флуд с поддельным адресом отправителя - легче лёгкого. Так что в совсем аварийных ситуациях блокируют адрес получателя (да-да, «добровольно умирают» для того, чтобы сохранить соседей), и переносят эту задачу на blackhole в BGP. В нормальной конфигурации в него должны добавляться свои адреса, а не чужие, но если аплинк по договорённости или по невнимательности разрешит анонсировать и чужие адреса, то это тоже можно сделать.

Рассказ про техническую часть blackhole BGP есть на хабре .

Как это выглядит? Для black hole выделен специальное комьюнити (условно говоря, ещё один, специальный, маленький full view), куда провайдер может анонсировать свои адреса с префиксом /32 (для ipv4). Выдали ему романтичный номер 666. Граничные маршрутизаторы обмениваются этой информацией по BGP, так что чёрная дыра расползется, медленно поглощая весь трафик, адресованный забаненному адресу на всех маршрутизаторах, которые эти анонсы видят (и поддерживают). В результате трафик на «жертву» начинает роняться на аплинках, аплинках аплинков - и так до ближайшего к источникам атаки «понимающих» маршрутизаторов. Они плохой трафик и дропнут, так что Интернет атаки не заметит. Адрес, впрочем, из интернета доступен не будет, так как «хороший» или «плохой» трафик машрутизатор разобрать не может.

Ссылки

  • До недавнего времени номер AS (автономной системы) был 16-битным, потом его заменили на 32-битный.
  • Рисунок из

Как работает интернет?

Если на пальцах, то практически у каждого, кто подключен больше, чем к одному провайдеру (а тем более, у самих провайдеров) есть магическая сущность, которая называется автономной системой (AS) или по русски - АСка.

Всем своим соседям (не по дому, разумеется, а тем, с кем есть прямые соединения), владелец AS сообщает: "Чуваки! У меня есть AS номер XXX!" Это называется BGP-Анонсом.

Соседи принимают это во внимание и передают дальше. Вот владелец AS YYY всех оповещает: "чуваки! Через меня доступна ASXXX! Путь до нее: XXX YYY". Постепенно, у каждого участника этой вакханалии складывается маршрутная таблица, в которой всегда видно, что от своей ASZZZ до ASXXX можно дойти по маршруту "ZZZ YYY YYY1 XXX".

Всё это развлекательное мероприятие и называется "протокол BGP".

Радость от него была бы неполной, не будь в BGP возможности выбрать маршрут. От двух свои провайдеров можно получить разные маршруты до ZZZ. Если XXX подключен не только к YYY1, но и напрямую к YYY, то у него будет более выгодный маршрут всего из трех хопов, вместо четырех.

Надеюсь, вы еще не запутались в трех латинских буквах и можно перейти к IP адресам.

У владельца автономной системы есть обычно собственный диапазон IP адресов, которые он может использовать сам, отдавать клиентам, солить, сушить, ну и вообще делать с ними все, что заблагорассудится.

Если компьютер, расположенный на одном краю интернета захочет передать чего нибудь компьютеру на другом конце интернета, он засунет все данные в пакет, лизнет языком клей на конверте, надпишет IP адрес получателя и отдаст своему маршрутизатору. Маршрутизатор отдаст этот пакет другому маршрутизатору внутри своей AS, тот третьему и наконец дело дойдет до самого умного маршрутизатора, знающего протокол BGP. Самый умный маршрутизатор вздохнет, наденет очки, посмотрит на адрес получателя, поковыряется в своих толстенных книгах с таблицами маршрутизации, сопоставит адрес с номером AS, потом найдет, через кого из соседей путь до этой AS ближе всего, отдаст пакет этому соседу и забудет.

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

Как? А элементарно. Надо соседу, который сидит по ту сторону резервного канала, отдавать не просто свой номер AS, а целый маршрут до нее. Вот так: "XXX XXX XXX XXX XXX". Да-да, просто несколько раз указать свою же AS. Это называется "добавить препенды".

Возвращаясь к нашей картинке, AS XXX подключена к двум провайдерам: YYY1 - кривой, но с безнлимитным трафиком. YYY - устойчивый, но трафик за большое бабло. Владелец XXX предпочитает, чтобы пока работает YYY1, весь трафик гонялся через него. Поэтому специально для YYY сообщаем, что через нас видно "XXX XXX XXX". Поскольку маршрут от XXX до ZZZ напрямую через YYY теперь получается длиннее, то связь будет через YYY.

Главное, чтобы ни из одной точки интернета этот маршрут никогда не стал кратчайшим. Сколько препендов добавить обычно выбирается на глазок - ну 5-10. Более длинные маршруты в интернете встречаются редко.

http://to-the-future.livejournal.com/450700.html



Похожие публикации