Ivan_83 Posted August 27, 2012 Сервис (стартап) полезен для разгрузки магистрали тем, у кого много абонентов и/или много доступных чужих абонентов через пиринги. Меньше 10к абонентов (своих + пиринг партнёров) - смысла читать дальше нет. Кратко: если набирается хотя бы n локальных пиров для закачки то внешние пиры фильтруются и трафик не идёт через магистраль. Результат как у систем кеширующих торрент, но без необходимости держать у себя монстров с дисками. Принцип работы Запросы к популярным торрент трекерам заворачиваются на спец софтину, софтине скармливается список подсетей своих и пирринг партнёров, список локальных ретрекеров (опционально, своих и пиринг партнёров). Запрос от абонента в несколько модифицированном виде рассылается на на оригинальный трекер и ретрекеры, ответы собираются, в начале в них добавляются локальные пиры и пиры пиринг партнёров, если их больше заданного числа (например 10), то "внешние" пиры не добавляются. Плюсы: + экономия внешних каналов; + прозрачно для абонента; + работает со всем трекерами, не зависимо от их желания; + работает со всеми пиринг партнёрами, не зависимо от их желания; + минимум настроек; + минимум доп нагрузки на оборудование провайдера; Статистика софтины доступна и подробна, например: http://www.netlab.linkpc.net:8088/stat http://www.netlab.li...t:8088/dnscache answers with weightX peers only: 17233 (12,55%) ... requests per sec: 0 requests total: 139095 returned peers total: 586611 первая строчка показывает сколько было ответов без "внешних" пиров вообще. Вопросы сюда, желающие по тестировать в личку. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vlad11 Posted August 27, 2012 Чем отличается от точки обмена трафиком? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted August 27, 2012 Ivan_83 Так а что вы с DHT и PEX делаете? Всё равно оттуда внешние пиры набегут. Или вы пошли путём Билайна и тупо дропаете его? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted August 27, 2012 Лост и другие не отдают ретрекер локал, а выдают пиры рандомно. И даже если ретрекер локал там есть, то их трекеры опрашиваются первыми и выдают что попадется. В случае использования данного сервиса все запросы проходят через локальные ретрекеры и при наборе n локальных пиров внешних пиров в ответе трекеров не будет вообще. Те кпд точек обмена (IX) будет выше при грамотном применении. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted August 27, 2012 Так а что вы с DHT и PEX делаете? Всё равно оттуда внешние пиры набегут. Или вы пошли путём Билайна и тупо дропаете его? Ничего. Задача оптимизировать и ничего не сломать. Работает только с http трекерами. DHT - долго ищет, за это время от трекеров успевает придти ответ и начаться закачка. PEX - предполагает вмешательство на L7 в достаточно большом потоке трафика, и тоже начинает работать уже после ответов от трекеров. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted August 27, 2012 Решил я посмотреть логику работы uTorrent. Загрузил винду, поставил последнюю stable версию uTorrent Free 3.2[27708], скачал популярный торрент с rutracker-а, смотрю что происходит. uTorrent почти одновременно обращается к retracker-у и к самому tracker-у(с разницей в 0.15с), на ретрекере находится много сидеров, смотрю по списку пиров - бо'льшая часть трафика льётся с IP из той AS, из которой у меня IP, т.е. всё само по себе работает и не понятно зачем вообще нужна ваша софтина. В случае если у вас wirespeed-локалка, то даже несколько пиров с ретрекера сделают своё дело. Если на ретрекере меньше 50 пиров на раздаче(ограничение по умолчанию в uTorrent), то всё равно внешние пиры прибегут по DHT/PEX. Плюсы:+ экономия внешних каналов; покажите это статистикой по трафику, а не статистикой пиров/торрентов и прочих чисел(отключите вашу приблуду на пару дней, при этом оставьте retracker.local и записи для bep22) + работает со всем трекерами, не зависимо от их желания; isp.bep22 уже давно включен по умолчанию, retracker появляется даже в тех раздачах, где он не прописан (вот можете попробовать http://torrent.ubuntu.com/simple/precise/desktop/ubuntu-12.04.1-desktop-amd64.iso.torrent ) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted August 27, 2012 и вместо того, чтобы изобретать прозрачные прокси, я уверен, надо мучать разработчиков uTorrent(остальные подтянуться) на предмет автополучения peer_policy по аналогии с bep22(один раз уже писали http://forum.utorrent.com/viewtopic.php?pid=621170#p621170 , но как видно ниже, тамошние r&d просто послали автора сообщения) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted August 27, 2012 uTorrent почти одновременно обращается к retracker-у и к самому tracker-у(с разницей в 0.15с), на ретрекере находится много сидеров, смотрю по списку пиров - бо'льшая часть трафика льётся с IP из той AS, из которой у меня IP, т.е. всё само по себе работает и не понятно зачем вообще нужна ваша софтина. В случае если у вас wirespeed-локалка, то даже несколько пиров с ретрекера сделают своё дело. Если на ретрекере меньше 50 пиров на раздаче(ограничение по умолчанию в uTorrent), то всё равно внешние пиры прибегут по DHT/PEX. Есть приватные торренты, запрещающие клиенту DHT/PEX. Чем дольше клиент не увидит внешние пиры, тем больше скачает с локала. А если локалка 100мегабит, то шансы не дождаться пока внешние пиры появятся и разгонятся весьма велики. 50 - это скорее дефолт трекеров, я пробовал просить больше (лост, нова, рутрекер), всё равно прилетает 50, если просить меньше, то прилетит меньше. покажите это статистикой по трафику, а не статистикой пиров/торрентов и прочих чисел(отключите вашу приблуду на пару дней, при этом оставьте retracker.local и записи для bep22) Такой возможности у меня пока нет. isp.bep22 уже давно включен по умолчанию, retracker появляется даже в тех раздачах, где он не прописан (вот можете попробовать http://torrent.ubunt...d64.iso.torrent ) И в приватных торрентах? (кажется лост, нова такие делают) А ещё есть альтернативные клиенты, которые всякие bep не очень то и поддерживают. и вместо того, чтобы изобретать прозрачные прокси, я уверен, надо мучать разработчиков uTorrent(остальные подтянуться) на предмет автополучения peer_policy по аналогии с bep22(один раз уже писали http://forum.utorren...=621170#p621170 , но как видно ниже, тамошние r&d просто послали автора сообщения) Софтина немного из другого выросла: нужно было просто дублировать запросы на второй трекер, идея сделать её умнее пришла во время изучения протокола. Торрент клиент не один, до всех пока достучишься... Помню было ещё какое то расширение, которое типа умело вытягивать хмл с локальными подсетями провайдера, не знаю чем дело кончилось с внедрение этой фичи. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted August 27, 2012 Есть приватные торренты, запрещающие клиенту DHT/PEX. Капля в море, можно пренебречь. s.lobanov (Сегодня, 19:19) писал: покажите это статистикой по трафику, а не статистикой пиров/торрентов и прочих чисел(отключите вашу приблуду на пару дней, при этом оставьте retracker.local и записи для bep22) Такой возможности у меня пока нет. У вас нет своего DNS или вы PTR-записи ваших IP не проделегированы на вас? В любом случае, это ваша проблема, к операторам не деревня-телеком 50 абонентов, это не относится И в приватных торрентах? (кажется лост, нова такие делают) А ещё есть альтернативные клиенты, которые всякие bep не очень то и поддерживают. опять капля в море. масса качает с рутрекера мюторрентом почти последней версии, остальными пренебрегаем посмотрите клиентов на какой-нибудь популярной раздаче, бо'льшая часть это uTorrent 3.1.3 (скоро будет 3.2 ибо autoupdate) я просто не вижу смысла возиться ради альтернативных клиентов, приватных раздач и прочей мелочёвки. вы программист и должны знать правило относительно профилирования ПО - если вы даже оптимизируете в 100 раз код, который занимает 5% времени выполнения, то выигрыш будет... ну вы знаете. в плане оптимизации трафика тоже самое, сначала надо определить за что браться, а потом уже оптимизировать это. у вас же никакого предварительного анализа этой проблемы не видно Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted August 28, 2012 Наши оценки эффективности такого алгоритма, популярности клиентов и трекеров расходятся. Кроме принудительной регистрации на своём ретрекере торрентов с популярных трекеров можно точно также регистрировать на ретрекерах партнёров и вытаскивать пиров от туда. В нашей деревне не все себе могут ретрекер поставить, некоторые dpi покупают и изобретают тарифы с приоритетами, у других есть свой ретрекер и менять они ничего не хотят. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ShumBor Posted August 28, 2012 Вспомнил еще, клиенты построенные на библиотеке Rasterbar libtorrent могут с пирами обмениваться трекерами, т.к. есть расширение lt_trackers extension, to exchange trackers between peers и часто оно включено по умолчанию. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Cosmonaut Posted August 30, 2012 Ivan_83 Молодец, что выставил в паблик. Мы как раз 100 Мбит в сентябре давать будем, можем потестить приблуду. Нашу ситуацию ты знаешь, что нужно для теста? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted August 31, 2012 Нашу ситуацию ты знаешь, что нужно для теста? Сегодня выложу в паблик: - конфиг nginx для проксирования (если не удаётся подключится куда указано то проксирует на то что указано в http_host); - список трекеров; - скрипты для iptables + ipset (берут список хостов из файла, резолвят все IP и загоняют во временный ipset, потом заменяют рабочий временным). Вам нужно будет [поставить/настроить] nginx на проксирование до нашего адреса 94...79, и трафик к трекерам завернуть на него (nginx). Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted September 2, 2012 Вот собственно: http://www.netlab.linkpc.net/download/software/trp/ Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Dyr Posted October 7, 2012 Чем это отличается от моего варианта? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted October 7, 2012 Заворачиваются запросы к трекерам и модифицируется траф к ним/от них. Включил и траф попёр на локальные ретрекеры сам, в том числе от тех торрентов которые юзеры давно раздают. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Dyr Posted October 8, 2012 Прикалываешься, что ли? У меня то же самое. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
st_re Posted October 8, 2012 Я так понял у Dyr ловятся торенты, дописывается свой ретрекер и отдается клиенту, у Ivan_83 перехватываются запросы к штатным трекерам и убираются-добавляются пиры в ответы. нет ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Dyr Posted October 8, 2012 (edited) А, тогда понятно. Заморочненько. Уважаю :) Edited October 8, 2012 by Dyr Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted October 8, 2012 у Ivan_83 перехватываются запросы к штатным трекерам и убираются-добавляются пиры в ответы. нет ? К любым указанным. Траф заворачивается на софтину фаерволом, так же как раньше заворачивали на прозрачные проксики весь хттп. Дальше софтина "множит" запрос на указанные в конфиге трекеры и может сходить на тот трекер куда он был изначально (если в конфиге разрешено), пиры из всех ответов суммируются, сортируются в зависимости от предпочтений и если достаточно пиров из прописанных в конфигах подсетей то все остальные пиры клиенту не отдаются. Думаю ещё дописать опцию, для себя, чтобы на ориг трекер уходили только start/stop эвенты, а апдейты не уходили, иногда мне не хочется рейтинг... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Dyr Posted October 8, 2012 А как у тебя с src ip дела обстоят? Свои ставишь или в совсем-совсем прозрачном режиме делаешь? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted October 8, 2012 На трекер идёт src ip = ip сервера с софтиной, добавляю x-real-ip (или как то так) заголовок с реальным ip клиента. Ещё в аргументах запроса ip тоже добавляется/исправляется. Только не все трекеры это понимают. OpenTracker собранный с опред опциями (см make от него) это понимает. Остальные регают сервер с софтиной в кач пира, что в принципе не очень плохо когда речь идёт об оригинальных трекерах из запроса - меньше трафика со внешки к юзеру если мы отдали только "локальные" пиры. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Negator Posted October 8, 2012 (edited) Есть пару вопросов. 1. Я так понял все это касается только вхлдящего торрент-трафика. На исходящий не работает? 2.Если у кого-то есть все же MRTG-графики с выключенной и включенной софтиной - просьба выложить. Без этого неясно как оценить эффективность. Edited October 8, 2012 by Negator Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...