Direct Connect - принцип работы сети "Волга-Телеком"
Большая часть проблем новичков в DC++ подстерегает из-за банального непонимания происходящего.
Для
решения большинства проблем с режимами работы и стандартными ошибками
достаточно понимать основные приципы DC++, кои и постараюсь описать
далее.
Принцип работы:
Клиенты А, B и С подключены к хабу. Клиент A захотел скачать файл N. На поисковый запрос клиенты B и C ответили что файл N находится в шаре у клиента B. Далее начинается самое интересное:
DC++
использует входящее соединение. Это значит, что клиент А просит клиента
B: "хей! я хочу файл N. я открыл для тебя порт 666. Мой адрес
192.168.1.5". Клиент B устанавливает соединение с клиентом A
используя переданную информацию, после чего начинает передачу.
Соединение устанавливается напрямую между клиентам минуя хаб.
Данный случай является идеальным, к несчастью в реальности нас могут подстерегать следующие проблемы:
У
пользователя А установлен файрвол, который в автоматическом режиме
считает все попытки установить соединение с компьютером атакой (даже
встроенный в Windows файрвол делает это). Естественно игнорируя все
попытки клиента B подключится. Это - типичная проблема серии: "У меня
все качают а я не могу!". Решение - настроить файрвол корректно или отключить.
Пользователь А может находится за шлюзом NAT (Gateway). (см топологию С)
В
этом случае все соединения устанавливаемые клиентом А обрабатываются
шлюзом, но соединится с ним снаружи - невозможно без использования
технологии о которой скажу ниже. Если пользователь А установит в
клиенте "Активный режим работы" - возникнет таже самая проблема: Отдача
файлов возможна (тк соединится с В не проблема), а получение нет. Причина
- при попытке установить соединение клиент В будет использовать внешний
адрес шлюза. Аналогичная проблема возникнет при использовании Ethernet
ADSL модема - он выступает в качестве шлюза, выдавая пользователю
"внутренний IP адрес".
Какие IP адреса типично используются провайдерами как внутренние? 192.168.*.* 10.*.*.* 172.[16-31].*.*
В
этом случае также возможна следующая проблема - внутренние хабы сети
прекрасно работают, а внешние нет. (Соединения между клиентами внутри
сети возможны, а снаружи подключится нельзя)
Клиент обычно вопит в этот момент: "время ожидания ответа истекло".
Что делать?
вариант 1 - самый распространенный: Пользователь переходит в пассивный режим: DC++ начинает использовать ТОЛЬКО исходящие соединения:
Компьютер
А посылает компьютеру В запрос (через хаб): "Хей! я хочу файл N! Открой
мне порт" - "На тебе порт 666". Клиент А соединяется с Б используя эту
информацию и начинает передачу. Результат - вы можете соединятся
только с теми кто может принят ваш запрос. те с Активными клиентами.
Связь пассив - пассив невозможна по этойже причине.
вариант 2 - настройка шлюза. Для преодоления подобный проблем была разработана технология перенаправления портов:
Шлюзу(модему)
говорится примерно следующее: "все запросы на порт 666 перенаправляй на
клиента А". Как итог - Клиент В теперь может совершенно спокойно
соединится с А.
В настройках клиента А выставляется
принудительное использование порта и ip-адреса. (вместо локального ip
там указывается внешний ip шлюза)
Как работает поиск: (хотя тема подробно рассмотрена тут немного повторюсь) Если вы используете активный режим то поисковые запросы идут непосредственно пользователям. Если пассивный - поисковые запросы разруливает хаб.
Поиск и связь в активном режиме используют разные протоколы! для корректной работы, необходимо открыть для использования ОБА.
Когда
поиск ничего не находит сначала, а через 10 минут находит то что
искали, несмотря на то, что новые клиенты на хаб не заходили: Файл у юзера С.
Юзер
А запуская поиск ищет чтото, послыая несколько запросов (+автопоиск
альтернативных источников). Результат: Клиет С получает от А 6-9
запросов почти одновременно. после чего решает: "этот негодяй пытается
использовать спам поиска!" бан на 2 минуты на все поисковые запросы." |
Источник: http://udmjhub.byethost11.com/ |
Категория: Настройки ПО, оборудования | Добавил: Павел (01.09.2009) W |
Просмотров: 3022
| Рейтинг: 0.0/0 |
Добавлять комментарии могут только зарегистрированные пользователи.
[
Регистрация |
Вход ]