Вы находитесь на странице: 1из 32

Д. И. БИЗИН, О. Н.

КОВАЛЕНКО

ДЕЦЕНТРАЛИЗОВАННЫЕ ОВЕРЛЕЙНЫЕ СЕТИ

ЧАСТЬ 1

ОМСК 2015
Министерство транспорта Российской Федерации
Федеральное агентство железнодорожного транспорта
Омский государственный университет путей сообщения

Д. И. Бизин, О. Н. Коваленко

ДЕЦЕНТРАЛИЗОВАННЫЕ ОВЕРЛЕЙНЫЕ СЕТИ

Часть 1

Утверждено редакционно-издательским советом университета


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

Омск 2015
УДК 004.716 (075.8)
ББК 32.882.1-5я73
Б59

Децентрализованные оверлейные сети: Учебно-методическое пособие


к выполнению лабораторных работ. Часть 1/ Д. И. Бизин, О. Н. Коваленко; Омс-
кий гос. ун-т путей сообщения. Омск, 2015. 32 с.

Учебно-методическое пособие содержит описание двух лабораторных ра-


бот по дисциплинам «Компьютерные технологии и сети», «Компьютерные сети
и системы» и «Сети и системы передачи информации». Рассматриваются осо-
бенности конфигурирования сервера пиринговых сетей, установки и настройки
клиентской программы, подключения клиента к серверу и к другим клиентам с
целью копирования файлов.
В каждой лабораторной работе указывается цель работы, приводятся не-
обходимые для выполнения лабораторной работы теоретические сведения, по-
рядок выполнения работы, содержание отчета и контрольные вопросы.
Предназначено для студентов ИАТИТа и слушателей Института повыше-
ния квалификации и переподготовки.

Библиогр.: 3 назв. Табл. 2. Рис. 15.

Рецензенты: доктор техн. наук, профессор А. Т. Когут;


канд. техн. наук, доцент А. А. Лоскутов.

___________________________________
© Омский гос. университет
путей сообщения, 2015
3
ОГЛАВЛЕНИЕ

Введение .................................................................................................................. 5
Лабораторная работа 1. Сервер eDonkey2000 ........................................................ 6
1.1. Краткие сведения из теории ......................................................................... 6
1.2. Порядок выполнения работы...................................................................... 13
1.3. Содержание отчета...................................................................................... 15
1.4. Контрольные вопросы................................................................................. 15
Лабораторная работа 2. Интерфейс и настройки программы eMule v0.94b ....... 15
2.1. Краткие сведения из теории ....................................................................... 15
2.2. Порядок выполнения работы...................................................................... 30
2.3. Содержание отчета...................................................................................... 31
2.4. Контрольные вопросы................................................................................. 31
Библиографический список................................................................................... 31

34
ВВЕДЕНИЕ

Оверлейные децентрализованные сети – общий случай логической сети,


создаваемой поверх другой сети. Узлы такой сети могут быть связаны либо фи-
зическим соединением, либо логическим, для которого в основной сети сущест-
вуют один или несколько соответствующих маршрутов из физических соедине-
ний. Примерами оверлейных сетей являются сети VPN, пиринговые и одноран-
говые сети, которые работают на основе сети Интернет и представляют собой
«надстройки» над классическими сетевыми протоколами. Так, например, комму-
тируемый доступ в Интернет может осуществляться через оверлейную сеть по
протоколу PPP, который работает «поверх» обычной телефонной сети.
Изучение оверлейных децентрализованных сетей предлагается проводить
на примере пиринговых сетей. Среди существующих реализаций пиринговых
сетей можно выделить такие действующие файлообменные системы, как
eDonkey, BitTorrent, Gnutella, Kademlia. Пиринговая сеть позволяет обеспечить
совместное использование информационных ресурсов с возможностью распре-
деленного поиска информации. Эффективность файлообменной сети определя-
ется высокой скоростью передачи файлов за счет копирования одновременно из
нескольких источников.
В результате выполнения лабораторного практикума студенты получат
теоретические знания о функционировании пиринговой сети, использующей в
качестве серверного программного обеспечения (ПО) Lugdunum eserver-
17.15.i686-win32 и в качестве клиентской программы – eMule v0.49b, и практи-
ческие навыки в ее использовании.
Учебно-методическое пособие содержит рекомендации по выполнению
двух лабораторных работ, при выполнении которых студенты получат навыки ус-
тановки, настройки и работы с серверным и клиентским ПО пиринговых сетей.

5
Лабораторная работа 1

СЕРВЕР eDonkey2000

Ц е л ь р а б о т ы: изучение функций сервера Lugdunum eserver-17.15.i686-


win32, его основных параметров и команд, необходимых для сбора информации
о состоянии пиринговой сети.

1.1. Краткие сведения из теории

1.1.1. Децентрализованные оверлейные сети

Все компьютерные сети делятся на две большие группы: централизован-


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

Рис. 1.1. Модель «клиент – сервер»

6
Главным преимуществом такой системы является ее простота. Вся ин-
формация хранится в одном месте, поэтому ею легко управлять и поддерживать
ее достоверность.
В централизованных сетях сервер сам по себе неактивен, т. е. он не обра-
щается к компьютерам пользователей с просьбами, не осуществляет их поиск, а
ждет, когда сами пользователи обратятся к нему с запросом. По такому прин-
ципу работают протоколы HTTP (протокол передачи гипертекста) и FTP (про-
токол передачи файлов).
Децентрализованные оверлейные сети – это компьютерные сети, осно-
ванные на равноправии участников. В таких сетях отсутствуют выделенные
серверы, а каждый узел является как клиентом, так и сервером. Принцип, на
котором основана работа оверлейных децентрализованных сетей, – это система
«клиент – клиент», где отдельные пользователи обращаются друг к другу. В от-
личие от архитектуры «клиент – сервер» такая организация позволяет сохра-
нять работоспособность сети при любом количестве и любом сочетании дос-
тупных узлов. Такие сети называют еще одноранговыми.
Примерами децентрализованных оверлейных сетей являются сети VPN,
пиринговые сети, FreeNet, I2P (Invisible Internet Project), Gnutella, TOR (The Onion
Router), Psiphon.
Существует два типа децентрализованных сетей: сети без координирую-
щего сервера (рис. 1.2, а) и гибридные сети (рис.1.2, б).
В децентрализованных сетях клиенты обращаются друг к другу с запро-
сом на передачу какого-либо файла напрямую без участия сервера. В гибрид-
ных сетях серверы присутствуют, но через них не строится связь, они выпол-
няют лишь координирующие функции и содержат информацию о пользовате-
лях, списки доступных у пользователей файлов и т. д.
Рассмотрим принцип функционирования оверлейных децентрализованных
сетей на примере пиринговых сетей. В пиринговой сети каждый клиент взаимо-
действует напрямую лишь с некоторым подмножеством узлов сети. При необхо-
димости передачи файлов между не контактирующими напрямую узлами сети
связь осуществляется либо через узлы-посредники, либо по временно установ-
ленному прямому соединению. Данное соединение специально устанавливается
на момент передачи. Пиринговые сети в своей работе используют свой собст-
венный набор протоколов и ПО.
Координирующие серверы в пиринговых сетях ведут базу данных, в ко-
торой хранятся IP-адреса клиентов сети, общедоступные файлы у клиентов, ме-
стонахождение фрагментов файлов, количество загруженной и переданной каж-
дым клиентом информации.

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

Поиск и передача файла

б
Рис. 1.2. Модели децентрализованных сетей:
а – сеть без координирующего сервера; б – гибридная сеть

8
Клиент запрашивает в сети требуемый файл. Происходит этап поиска
нужного файла по данным, хранящимся на сервере. Если нужный файл имеет-
ся, сервер передает клиенту IP-адреса других клиентов, у которых данный файл
был найден. Клиент, запросивший файл, устанавливает прямое соединение с
этими клиентами и начинает его загружать. Любой файл копируется по кусоч-
кам от нескольких пользователей одновременно. Клиент сам находит тех, у кого
есть недостающие фрагменты, и осуществляет их загрузку. При этом вполне
возможна ситуация, когда два пользователя копируют друг у друга разные фраг-
менты одного и того же файла, полученные ими раньше от других пользовате-
лей. Целостность файла проверяется по контрольным суммам.

1.1.2. Конфигурирование сервера eDonkey2000

Сервер Lugdunum eserver-17.15.i686-win32 – сервер для сети eDonkey2000.


Он должен иметь конфигурационный файл donkey.ini, в котором содержатся
значения конфигурационных параметров сервера eDonkey2000. Список основ-
ных параметров и их возможных значений приведен в табл. 1.1.

Т а б л и ц а 1.1
Параметры сервера eDonkey2000

Значение
Параметр Описание параметра
параметра
1 2 3
name Название сервера, которое будет обозна- –
чено в списках клиентов
desc Описание сервера eserver
lowidpercent Максимальный процент пользователей с 20
низким ID (при превышении этого значения
сервер оказывается полностью заполнен-
ным, подключение к нему новых клиентов
невозможно)
hardLimit Жесткий предел (это количество файлов, 4000
которое клиент делает доступным для ска-
чивания. Если клиент превышает этот пре-
дел, сервер отсоединяет его для сохранения
равенства полосы пропускания)
softLimit Мягкий предел (если клиент делает дос- 1000
тупным количество файлов, превышающее
этот предел, сервер посылает ему предупреж-
дение и игнорирует избыточные файлы)

9
О к о н ч а н и е т а б л. 1.1

1 2 3
maxClients Максимальное число клиентов для дан- 1000
ного сервера
max_frame_size Максимальный размер кадра (если кли- 250000
ент посылает кадр размером, превышаю-
щим это значение, сервер отсоединяет его)
max_string_size Максимальный размер названия файла 140
maxSearchCount Максимальное число источников на зап- 200
рос файла (для подключенного к этому сер-
веру клиента)
maxUDPSearch- Максимальное число источников на зап- 20
Count рос файла (для не связанного с этим серве-
ром клиента)
maxVersion У программного обеспечения клиента 2000
есть номер версии (клиентам, имеющим
версию большую, чем это значение, будет
отказано в соединении)
minVersion Клиентам, имеющим версию меньшую, 59
чем это значение, будет отказано в соеди-
нении
maxservers Максимальное количество серверов, ко- 4096
торое данный сервер может добавить в свой
список
port TCP-порт сервера 4661
public Если установлено истинно (true), сервер false
является доступным для других серверов,
которые распространяют его имя для своих
клиентов. Если установлено ложно (false),
то только те клиенты смогут подключиться
к данному серверу, которые знают его IP-
адрес
thisIP IP-адрес сервера –

Для работы с сервером Lugdunum eserver-17.15.i686-win32 применяются


команды.
Команда vc (view clients) – просмотр подключенных клиентов – позволяет
вывести на экран следующую информацию: количество клиентов, подключенных
к данному серверу, их идентификаторы, IP-адреса, TCP-порты; версии клиентов;
число общедоступных файлов, предоставляемых каждым клиентом, и их общая
сумма; количество клиентов с низким идентификатором LowID; имена клиентов.

10
Применение команды vc представлено на рис. 1.3.

vc
[ num] ID IP:port [country versions rcv xmt shares
sources times searches lowid flags] nickname
[ 4] 218147008 192.168.0.13:62751 [c: v:60/0.49b/0/60 r:3742.3 x:75.1.0
p:73/1 S: 0/ 0/ 0 t:60/60/60 s:0/0 l:0/0/0/0 f:zc1nUEh] spi – 265 – 03.
net
[ 8] 234924224 192.168.0.14:4000 [c: v:60/0.49b/0/60 r:1262.2 x:75.1.0
p:24/1 S: 0/ 0/ 0 t:52/52/52 s:0/0 l:0/0/0/0 f:zc1nUEh] spi – 265 – 04.
net
count=2/2 97 shares
Рис. 1.3. Результат применения команды vc
Команда vs (view servers) – просмотр известных серверов – позволяет вы-
вести на экран следующие характеристики:
а) количество серверов, известных данному серверу;
б) IP-адреса, порты серверов;
в) IP-адреса клиентов с LowID (для перенаправления вызовов от клиентов
с HighID);
г) общее число файлов;
д) ограничения (мягкий и жесткий пределы) количества файлов от одного
клиента с целью сохранения равенства полосы пропускания;
е) имена серверов.
Применение команды vs представлено на рис. 1.4.

vs
[ ] IP:port IP_referer users[lowid ]/max files sping/
cping (del) pingtime soft/hard [Refs] Name
Total : 0 users (0 low) 0 files 0 working servers
Рис. 1.4. Результат применения команды vs

Команда vo (view options) – просмотр опций – позволяет просмотреть


значения конфигурационных параметров сервера. Результат применения
команды vo представлен на рис. 1.5.

vo
maxClients=50 softLimit=1000 hardLimit=4000 thisIP=192.168.0.10 port=4661

Рис. 1.5. Результат применения команды vo

11
Команда name=value позволяет присвоить параметру определенное зна-
чение. Например, maxClients=2000 – команда, устанавливающая максимально
возможное количество подключенных к серверу клиентов равным 2000.
Команда print name позволяет напечатать список параметров сервера.
Команды g и stats – просмотр состояния сервера – позволяют получить
развернутую информацию о подключенных клиентах и имеющихся у них дос-
тупных файлах. На экран программы выводится информация не только о коли-
честве клиентов, но и об их разновидности (eMule, eDonkey, Shareaza,
Kademlia). Текущие данные о файлах содержат информацию об общем их ко-
личестве, доступных на данный момент; о количестве среди них единственных,
общих и оцененных файлов (с назначенным приоритетом). Также выводится
информация о состоянии TCP- и UDP-портов. Результат применения команды g
представлен на рис. 1.6.

g
2+0/1000 users (2 zlib, 0 obf) (2 emule, 0 mldk, 0 shareaza, 0 +) (0 auxports) (
2 newtags OK) (0 kadenabled)
97 files (95 uniq, 97 complete, 0 rated) (237 keyw) avg=48.5 files/user
( 0 wservers / 0 servers) 0 gusers, 0 gfiles
LOWID : enable (%20 percent), 0 users, 0 glowusers
TCP stats :
0 Searches 0 MoreSearches 0 GetSources 0 GetSources2 97 Publishes 0 Callb
acks
Total : 5220 bytes received
2 Pings sent 0 LPings sent 0 server messages sent
0 server ident sent 0 servers list sent 0+0+0+0 Callbacks sent
Total : 278 bytes sent
UDP stats :
slimit: 2/1048576 slots, 0/4 frames
SmartSources : TCP : max=200 nb=7S/55sec 0 hits 0 misses 0 scan 0 reorg
SmartSources : UDP : max=30 nb=5S/75sec 0 hits 0 misses 0 scan 0 reorg

Рис. 1.6. Результат применения команды g


Команда wel (view welcome messages) – просмотр приветственного сооб-
щения – позволяет вывести на экран версию сервера server version 17.15 (lug-
dunum).
Команда filters (view filters) позволяет просмотреть, какие фильтры ис-
пользуются.

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

slab
**** slab dump (dcache_line=64) ****
slab(servers) freelist = 00000000 size = 288 used=0 usedsize=0
slab(keywords) freelist = 00D7C280 size = 64 total_allocated = 512 used=2
usedsize=128
slab(clients) freelist = 00C28600 size = 512 total_allocated = 512 used=2
usedsize=1024
∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
slab(buffers) freelist = 00C68200 size = 3072 total_allocated = 16 used=0
usedsize=0
heap1 total=16777152 reste=16763696 cur=038C34C0
[ 0: 0/ 0+ 0][ 8: 0/ 0+ 17][ 16: 0/ 0+ 19]
[ 24: 0/ 0+ 14][ 32: 0/ 0+ 0][ 40: 0/ 0+ 8]
[ 48: 0/ 0+ 7][ 56: 0/ 0+ 10][ 64: 0/ 0+ 0]
inuse=11352 blocs=95 avg=119
Рис. 1.7. Результат применения команды slab
Команда debug – отладка программы – позволяет выявить и устранить
возникшие ошибки.
Команда netrange выдает перечень сетевых настроек.
Команда reload осуществляет перезагрузку конфигурационных файлов.
Команда m (вводится сообщение) позволяет осуществить широковеща-
тельную рассылку сообщения всем подключенным клиентам.

1.2. Порядок выполнения работы

1.2.1. Прописать для организации сервера пиринговой сети в лаборатории


в документе donkey.ini конфигурационные параметры, как показано на рис. 1.8.
1.2.2. Запустить программу Lugdunum eserver-17.15.i686-win32.
1.2.3. Применить команды, описанные в п. 1.1.2.
1.2.4. Проанализировать информацию, выведенную на экран программы с
помощью команд vc, vs и vo.

13
1.2.5. С помощью соответствующих команд собрать информацию о сос-
тоянии пиринговой сети и привести ее в виде таблицы (табл. 1.2).

[server]
name = server_donkey
desc = eserver
thisIP = 192.168.0.10 # The IP of server
port = 4661 # The TCP port
lowidpercent = 20
maxClients = 50
max6+SearchCount = 200
maxVersion = 2000
minVersion = 59
hardLimit = 4000
softLimit = 1000

Рис. 1.8. Пример содержимого файла donkey.ini

Т а б л и ц а 1.2
Состояние пиринговой сети

Значение
Объекты
параметра
1 2
Клиенты
Количество клиентов:
всего
с Low ID
Клиент № 1
Имя
IP-адрес
Порт
ID
Количество доступных файлов
Клиент № 2
∙∙∙∙∙
Серверы
Количество серверов
IP-адреса
Порты
14
О к о н ч а н и е т а б л. 1.2
1 2
Файлы
Всего
Единственные
Общие
С приоритетом

1.3. Содержание отчета

1) Параметры сервера Lugdunum eserver-17.15.i686-win32.


2) Результаты выполнения команд по п. 1.3.4.
3) Таблица состояния пиринговой сети.
4) Ответы на контрольные вопросы.

1.4. Контрольные вопросы

1) В чем заключается отличие технологий построения и работы пиринго-


вой сети от сети с клиент-серверной архитектурой?
2) Каковы функции сервера в пиринговой сети?

Лабораторная работа 2

ИНТЕРФЕЙС И НАСТРОЙКИ ПРОГРАММЫ eMule v0.49b

Ц е л ь р а б о т ы: ознакомиться с основными возможностями клиентской


программы eMule v0.49b.

2.1. Краткие сведения из теории

2.1.1. Описание программного обеспечения клиента

EMule – клиент сети eDonkey2000 для ОС Microsoft Windows. Клиент


может запрашивать сервер или выделенные узлы, получать ответ с информаци-
ей о запрошенных файлах и узлах, на которых они находятся, и далее уже рабо-
тать напрямую с указанными источниками. EMule версии 0.49b поддерживает
два разных типа сетей: классическую серверную eDonkey2000 и бессерверную
Kademlia.
После запуска клиент соединяется с одним из серверов. Сервер присваи-
вает клиенту идентификационный номер (ID), который не изменяется в течение
всего времени подключения клиента к серверу. Клиентские идентификаторы
делятся на высокие (HighID) и низкие (LowID) и характеризуют соединение.
15
При HighID соединение нормальное, LowID свидетельствует о том, что
есть некоторые проблемы с подключением, чаще всего связанные с наличием
брандмауэра и (или) прокси на пути к серверу; в некоторых случаях LowID
присваивается, когда сервер перегружен. Наличие низкого идентификатора ог-
раничивает использование клиентом сети и может привести к отклонению сер-
вером подключения. LowID не позволяет напрямую обмениваться файлами с
пользователями, также имеющими LowID.
У клиента с высоким ID нет никаких ограничений в использовании сети.
Высокий ID рассчитывается на основе IP-адреса клиента по формуле:

ID  X  28 Y  216 Z  2 24 W , (2.1)

где X, Y, Z, W – значения первого, второго, третьего и четвертого байтов IP-


адреса клиента соответственно.
Низкий ID всегда меньше, чем 16777216.
EMule поддерживает рейтинговую систему в целях поощрения пользова-
телей для обмена файлами. Чем больше файлов пользователь предоставляет
другим клиентам, тем больше рейтинговых очков он получает и тем быстрее
продвигается у них в очередях на загрузку. Таким образом, очередь клиентов,
ожидающих доступа к файлам, движется в соответствии с рейтингом. Для сох-
ранения очков рейтинга после отключения от сети служит идентификатор поль-
зователя (User Hash), который генерируется программой eMule при первом же
запуске. Идентификатор пользователя – это 128-битный (16-байтный) иденти-
фикатор, созданный из случайных чисел, за исключением 6-го и 15-го байтов,
которые имеют значения 14 и 111 соответственно.
В то время как ID клиента действителен только во время соединения кли-
ента с определенным сервером, пользовательский идентификатор (хеш) уника-
лен и используется, чтобы опознать клиента (User Hash идентифицирует авто-
матизированное рабочее место).
Рейтинговые очки начисляются исходя из двух кредитных модификато-
ров – R1 и R2, которые рассчитываются по формулам:

Upload  2
R1  ; (2.2)
Download
(2.3)
R 2  Upload  2 ,
где Upload – переданное количество информации, Мбайт;
Download – загруженное количество информации, Мбайт.

16
Эти коэффициенты сравниваются, и наименьший из них используется в
качестве модификатора. Существуют некоторые граничные условия:
а) если переданное количество информации меньше 1 Мбайт, модифика-
тор устанавливается в единицу;
б) если загруженное количество информации равно нулю, модификатор
оценивается равным десяти;
в) максимальное значение модификатора равно десяти, минимальное –
единице. Если полученные значения выходят за эти пределы, то они понижают-
ся (повышаются) до единицы (десяти) соответственно.
Затем с помощью модификатора вычисляется непосредственно рейтинг.
Если для файлов обмена установлен приоритет, то при определении рейтинга
он также учитывается. Множители, на которые умножается рейтинг в зависи-
мости от приоритета, равны 0,2; 0,6; 0,7; 0,9 и 1,8 для «очень низкого», «низко-
го», «нормального», «высокого» и «очень высокого» приоритетов соответст-
венно. Таким образом, рейтинг Р вычисляется по формуле:

Р =100·М·П, (2.4)

где М – модификатор ( R1 или R2 );


П – приоритет файла.
Для каждого передаваемого файла клиент поддерживает приоритетную
очередь. Очередь строится в соответствии с начисляемыми для каждого клиен-
та очками Q, которые рассчитываются по формуле:

Р T
Q , (2.5)
100

где T – время в очереди, с.


Порядок очереди определяется количеством очков – у кого их больше,
тот и копирует данный файл первый.
В eMule оптимизирована процедура загрузки файлов. Например, в пер-
вую очередь загружаются наиболее редкие блоки файла, а при повреждении
блока повторно скачивается только его поврежденная часть. Кроме того, имеет-
ся функция «Предпросмотр», которая позволяет ознакомиться с файлами и про-
смотреть архивы еще до того, как они будут полностью скопированы.
Для однозначного определения ресурсов в сети используются идентифи-
каторы файлов (File ID), которые определяются исходя из имени файла и его
содержимого.
Помимо идентификаторов файлы имеют хеш-коды (File Hash). В то время
как по File ID ведется поиск файла в сети, File Hash необходим для контроля
над ошибками.
17
Каждый файл разбивается клиентом eMule на блоки по 9,28 Мбайт. От
каждого блока вычисляется хеш-функция по алгоритму MD4. Когда хеш-коды
каждого блока подсчитаны, от них вычисляется полный хеш-код (Hashset).
После полного скачивания каждого блока eMule вычисляет его Hash и со-
поставляет с хеш-кодом, который был направлен клиентом-источником файла.
Если они сходятся – все скопировано правильно. В противном случае скачива-
ние блока начинается заново. При этом восстановление файла осуществляется
путем постепенной замены части битов (по 180 Кбайт) до тех пор, пока рассчи-
танный хеш-код не совпадет с исходным.
EMule может получить список серверов не только с определенного ресур-
са, но и от партнеров по сети. Кроме того, партнеры могут обмениваться спис-
ками источников скачиваемых файлов, что снижает потребность в серверах.

2.1.2. Установка и настройка eMule v0.49b

Процедура установки программы eMule стандартна:


1) запустить «Мастер установки eMule v0.49b»;
2) выбрать компоненты программы, которые необходимо установить
(«файлы программы» и «контроль eD2K ссылок»);
3) выбрать место хранения настроек и файлов eMule – «индивидуальное»
(в папке данных для приложений пользователей) или «совместное» (в папке
«eMule»), выбирается последнее;
4) определить маршрут установки программы.
После установки eMule на рабочем столе появится иконка программы. Пос-
ле первого запуска программы загружается помощник настройки программы.
Рассмотрим последовательность настройки программы eMule:
1) В появившемся окне выбрать имя клиента (произвольное, можно оста-
вить предложенное по умолчанию http://emule-project.net). В этом же окне уста-
навливаем галочку, чтобы программа автоматически соединялась с сервером.
2) Следующий этап настройки программы eMule – выбор портов, кото-
рыми будет пользоваться программа. Здесь ничего менять не нужно.
3) Включить опцию управления приоритетами приема и отдачи. Управ-
ление приоритетами приема позволит eMule контролировать, чтобы файлы с
большим количеством источников не мешали файлам с малым количеством ис-
точников. Управление приоритетами отдачи позволит eMule повышать приори-
тет для редких файлов, замедляя распространение популярных файлов.
4) В следующем окне отказаться от включения вуалирования протокола.
5) Выбрать работу программы в сетях eDonkey2000 и Kademlia.
6) Выбрать тип соединения (рис. 2.1).
7) После завершения настроек помощника первого запуска разворачива-
18
ется главное окно программы. Необходимо нажать вкладку «Настройки», в ко-
торой необходимо отключить опцию «Фильтровать LAN IP серверов и клиен-
тов» (рис. 2.2).
8) В окне «Серверы» в блоке «Новый сервер» добавить IP-адрес и имя
сервера (рис. 2.3).
9) Нажать на кнопку «Соединение» для соединения с сервером пиринго-
вой сети. В закладке «Журнал» можно увидеть, когда программа подключится к
серверу. После подключения к серверу можно перейти на закладку «Поиск» и
искать нужную информацию.

Рис. 2.1. Внешний вид окна для выбора типа соединения

2.1.3. Возможности программы eMule v0.49b

Клиент eMule отличается от других программ достаточно жесткими тре-


бованиями к предоставлению файлов пользователями, несмотря на то, что ме-
ханизмы функционирования сетей не предполагают серьезных ограничений по
возможностям скачивания файлов. Поэтому первое, что нужно сделать для эф-
фективной работы с программой, – предоставить другим пользователям файлы
для скачивания. Для этого служит кнопка «Настройки», нажав которую нужно
перейти к пункту «Папки». Здесь же можно сразу задать папку для временных
и загруженных файлов. При указании папки с предоставленными для скачива-
ния файлами необходимо учесть, что подпапки не предоставляются автомати-
чески, их нужно указывать явно либо выделить нужную папку, нажав клавишу
«Ctrl». В этом случае содержимое ее подпапок будет включено в общий список

19
предоставленных данных, а ее название в списке будет выделено жирным шриф-
том (рис. 2.4).

Рис. 2.2. Отключение опции «Фильтровать LAN IP серверов и клиентов»

Рис. 2.3. Добавление сервера в список доступных серверов

После этого можно подключаться к сети. Делается это с помощью кнопки


«Соединение». Сразу же после нажатия кнопки программа попытается установить
соединение с сетью eDonkey 2000 (далее eD2k), а затем и с Kademlia (далее – Kad).
Когда соединение будет установлено, можно переходить к поиску файлов.
20
Для нахождения требуемых файлов нажимается кнопка «Поиск» в верх-
ней части окна. В поле «Имя» вводится искомый текст, в поле снизу выбирают-
ся нужный тип файла (архив, аудио, видео и др.) и метод поиска (область 1 на
рис. 2.5).
Доступны следующие методы поиска:
а) «Сервер» – поиск осуществляется только на том сервере сети eD2k, к
которому клиент в данный момент подключен;
б) «Глобальный» – аналогичен поиску по серверу, с тем отличием, что
здесь участвует не один сервер, а все серверы сети eD2k из списка доступных
(список доступных серверов отображается при запуске программы или по на-
жатию кнопки «Серверы»);
в) «Kad-сеть» – поиск в сети Kad (как правило, имеет лучшие результаты,
чем поиск по сети eD2k);
г) «FileDonkey» – web-поиск с помощью браузера по сайту filedonkey.com.

Рис. 2.4. Выбор папок для загруженных, временных и раздаваемых файлов

В правой части окна в специальном поле можно настроить дополнитель-


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

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

Рис. 2.5. Вид окна «Поиск»

После того, как найденные файлы отобразятся на экране (область 2 на


рис. 2.5), можно переходить к их загрузке. Рекомендуется сортировать резуль-
таты поиска по их доступности, щелкнув по заголовку «Доступность» в окне с
результатами поиска. Это поможет выбрать файл, имеющийся у многих поль-
зователей, т. е. тот, вероятность успешного скачивания которого будет макси-
мальной.
Цвет, которым обозначен файл, говорит о его статусе: чем более светлым
синим цветом он выделен, тем выше его доступность; черный цвет означает,

22
что файл имеет совсем низкую доступность; зеленым выделяются файлы, кото-
рые уже скопированы.
Команда загрузки выбранного файла доступна из его контекстного меню –
выбрать пункт «Прием» или просто дважды щелкнуть на названии файла.
Убедиться в том, что копирование файла началось, можно, перейдя на
вкладку «Передача» с помощью одноименной кнопки.

2.1.4. Расширенные функции программы eMule

В верхней части окна программы расположено несколько кнопок, с по-


мощью которых осуществляется доступ к различным окнам. Приведем их крат-
кий обзор.
В окне «Kad» отображена информация о процессе подключения к сети
Kad. В основном окне приведен список серверов, с которыми установлено со-
единение, их ID и другие характеристики. Рядом с ID каждого сервера отобра-
жается индикатор его состояния: зеленый индикатор указывает на то, что под-
ключение установлено и все в порядке; желтый – что подключение есть, но
имеет некоторые проблемы; красный – подключение установить не удалось.
Окно «Серверы» позволяет управлять реализацией клиента eMule в сети
eD2k, основанной на серверах. В действительности серверы eD2k не хранят
файлы, они только содержат информацию о том, какие файлы опубликованы в
сети, и помогают eMule найти их. Окно серверов показывает текущее состояние
для всех сетей и сообщения журнала событий (рис. 2.6).
В списке доступных серверов (область 1 на рис. 2.6) показаны все серве-
ры, которые известны на данный момент программе и с которыми может быть
установлено соединение. В блоке «Новый сервер» (область 2 на рис. 2.6) можно
вручную ввести адрес сервера, если его нет в списке (например, когда адрес
был через Интернет).
Другой способ пополнения списка серверов – загрузить из Интернета
файл server.met, скопировать его URL в поле «Обновить server.met из URL» и
нажать кнопку «Обновить».
Количество доступных серверов влияет на результаты поиска – чем
больше серверов, тем больше вероятность найти то, что нужно. На скорость
загрузки и передачи файлов свойства сервера никак не влияют, так как клиент в
конечном итоге связывается с владельцами файлов и ведет загрузку непосредст-
венно у них.
Во вкладке «Журнал событий» окна «Серверы» (область 3 на рис. 2.6) ве-
дется протокол всех процессов загрузки файлов, попыток установить связь с
сервером, и отображается информация о состоянии скачиваемого файла – если
файл поврежден, выводится предупредительное сообщение.
23
24
Рис. 2.6. Вид окна «Серверы»
Поле «Моя информация» (область 4 на рис. 2.6) предоставляет информа-
цию о состоянии текущего соединения eMule для сетей eD2k и Kad и других
функций, например, таких как web-интерфейс.
В окне «Передача» отображена информация не только о загрузках (об-
ласть 1 на рис. 2.7), но и о передаче файлов с данного компьютера (область 2 на
рис. 2.7). С помощью этого окна можно не только просматривать сведения о за-
гружаемых файлах, но и управлять ходом загрузки. Одной из важных возмож-
ностей является настройка уровня приоритета загрузки – вручную устанавлива-
ется последовательность загрузки с помощью пункта «Приоритет» контекстно-
го меню определенного файла или оставляется право выбора очередности за
программой eMule.
Если дважды щелкнуть на названии скачиваемого из нескольких источ-
ников файла, раскроется весь список этих источников, в котором будет отраже-
на подробная информация о каждом из них: имя, приоритет загрузки, клиент-
ская программа, ее версия и др.
Значок компьютера, которым обозначен каждый источник, показывает
следующее: если экран монитора желтый, это значит, что уже скачано доста-
точно много информации и приоритет данного файла на скачивание повысился,
значок «+» на экране монитора означает, что источник поддерживает расши-
ренный протокол eMule, а галочка – то, что пользователь предпринял дополни-
тельные меры для обеспечения собственной конфиденциальности.
Схематичное изображение лица, размещенное рядом с компьютером, ме-
няется в зависимости от статуса: желтое «лицо» – клиент в очереди или ожида-
ет ответа пользователя, серое – пользователь недоступен, красное – идет под-
ключение. Эта же информация, но в текстовой форме, отображается в графе
«Приоритет».
Графа «Размер» указывает на то, каким образом была получена информа-
ция о данном источнике, и может иметь одно из следующих значений: «eD2k
server» (от сервера eD2k), «Kad» (через сеть Kad), «Обмен» (от других источни-
ков) или «Пассивный» (источник обнаружился самостоятельно, обратившись за
каким-либо файлом).
В графе «Приоритет» показано положение в очереди (QR) либо указана
причина невозможности загрузки, либо собственно приоритет, когда файл ска-
чивается из нескольких источников.
В окне «Поиск» есть возможность расширенного поиска. В критериях по-
иска можно использовать служебные слова AND (и), OR (или) и NOT (не).
AND используется, когда нужно чтобы оба слова присутствовали в названии
файла, OR – если интересуют файлы с любым из приведенных слов, NOT – ког-
да нужно исключить файлы, содержащие в названии определенные слова.

25
26
Рис. 2.7. Вид окна «Передача»
В окне «Файлы» можно изменить список предоставляемых для скачива-
ния файлов, просмотреть информацию о загружаемых файлах, добавить ком-
ментарии к любому файлу или дать ему собственную оценку. Большинство из
этих функций доступно в контекстном меню правой кнопки мыши. При этом
необходимо выбрать группу файлов для отображения в левой части окна про-
граммы («Все файлы обмена», «Загружаемые файлы», «Папки обмена» и др.).
Окно «Сообщения» позволяет обмениваться сообщениями с пользовате-
лями, занесенными в категорию «Друзья».
Окно «IRC» – это средство общения пользователей по сети Интернет в
режиме реального времени. Для подключения нужно нажать кнопку «Соедине-
ние» в левой нижней части окна, и программа попытается установить связь с
IRC-сервером (irc.freshirc.com, адрес выставлен по умолчанию). В лаборатории
данная функция программы eMule не доступна.
Окно «Статистика» – информативное окно, из которого можно узнать все
подробности о сетевом трафике, переданных и полученных файлах, времени
работы с программой, подключенных серверах и другие сведения о работе про-
граммы.

2.1.5. Настройки программы eMule

Окно настроек программы eMule состоит из нескольких вкладок, а вы-


звать само окно можно, нажав на соответствующую кнопку в основном окне
программы. Далее рассматривается каждая из вкладок окна настроек.
Несмотря на название вкладки «Основные», по сути, важными здесь яв-
ляются только три настройки – «Имя клиента», «Язык» и «Появляться при на-
жатии на еD2k-ссылку» (этот флажок включает (выключает) автоматический
перехват из браузера ссылок на ресурсы сети eD2k). Остальные настройки ре-
комендуется оставить установленными по умолчанию.
Вкладка «Дисплей» позволяет настроить параметры интерфейса пользо-
вателя. Если необходимо снизить нагрузку на процессор, то можно сдвинуть
ползунок настройки «Прогресс» в крайнее левое положение. После активиза-
ции функции «Автозаполнение (функция истории)» при каждом запуске про-
граммы будет появляться список файлов, скачивание которых было завершено
во время прошлой сессии работы eMule и которые были автоматически убраны
по завершении скачивания из списка закачек.
Вкладка «Соединение» – важная вкладка, на которой можно установить
максимальную скорость загрузки и передачи файлов (группа «Предел линии»),
включить (отключить) ограничение приема (передачи), настроить порты рабо-
ты программы и другие функции, касающиеся соединения и сети.

27
Вкладка «Прокси» используется при работе с программой через прокси-
сервер. Нужно выбрать тип прокси-сервера, указать его адрес и порт. В случае
необходимости придется ввести еще и имя пользователя и пароль для входа на
сервер. В рамках лабораторного комплекса данная вкладка не используется.
Во вкладке «Сервер» важными являются настройки автоматического об-
новления списка серверов. Опция «Автообновление серверов при старте» по-
зволяет загружать новые списки из Интернета. Можно обновлять списки серве-
ров и другим способом – с компьютера подключенного пользователя или с сер-
веров, с которыми уже установлено соединение. Лучше всего использовать все
три возможности обновления одновременно.
Опция «Безопасное соединение» относится к настройкам защиты програм-
мы. В случае, когда в процессе подключения к серверу клиент получает LowID,
серверу может быть передана дополнительная информация о его компьютере.
Если включить флажок «Безопасное соединение», эта информация передавать-
ся не будет и доступ к серверу будет закрыт. В результате eMule попытается
подключиться к другому серверу.
Во вкладке «Папки» указываются папки для временных и скачиваемых
файлов и папки с предоставленными для загрузки файлами.
Вкладка «Файлы» имеет ряд настроек операций над файлами. Значение
каждой из опций вполне понятно из названия.
Вкладка «Уведомления» служит для настройки звуковых сигналов и
всплывающих сообщений, позволяет настроить реакцию программы на различ-
ные события.
Как и само окно статистики, настройки вкладки «Статистика» практи-
чески не влияют на параметры загрузки файлов. Единственное, о чем стоит
здесь сказать, – если программа будет отнимать у системы слишком много ре-
сурсов, нужно увеличить время обновления ее данных.
Чтобы войти в чат, нужно на вкладке «IRC» в поле «Имя» указать свое
имя, а в поле «Сервер» – адрес сервера чата. В рамках лабораторного комплекса
данная вкладка не используется.
Фильтр сообщений во вкладке «Сообщения и комментарии» позволяет
отклонить ненужные сообщения, содержащие определенный текст. Этот текст
записан в поле «Фильтровать сообщения, содержащие:», причем строки фильт-
ра разделены между собой символом «|». Желательно включить флажок «Рас-
ширенный спам-фильтр», чтобы уменьшить число нежелательных сообщений.
Вкладка «Безопасность» позволяет настроить параметры безопасности.
Для ограничения доступа к определенным IP-адресам нужно ввести их уровень
в одноименное поле либо нажать на кнопку «Редактор», которая откроет файл
«ipfilter.dat» в блокноте. «Ipfilter.dat» – это файл-«черный список» IP-адресов.

28
Вкладка «Планировщик» позволяет выполнять действия по расписанию.
Можно запускать и останавливать закачки, изменять ограничения приема и пе-
редачи данных, число источников и подключений в назначенное время. Чтобы
добавить новое задание, необходимо нажать кнопку «Новый», после этого в
поле «Имя» ввести его название, щелкнуть правой кнопкой мыши на поле
«Действия» и в появившемся меню выбрать один из пунктов: «Лимит отдачи»
(изменение максимальной скорости скачивания данных), «Лимит приема» (из-
менение максимальной скорости загрузки данных), «Ограничение источников»,
«Максимальное число соединений» и др. После добавления всех необходимых
действий необходимо включить флажок «Включен» в поле «Планировщик» и в
поле «Детали».
Вкладка «Web-cepвep» позволяет создать собственный web-сервер для
удаленного управления программой eMule с другого компьютера. Для его ис-
пользования достаточно установить флажок «Включен» и ввести пароль адми-
нистратора в поле «Пароль». После этого можно набрать адрес компьютера (в
формате http://ip:порт/), на котором установлена программа eMule, ввести па-
роль и работать с программой почти так же, как с собственного компьютера.
Все настройки, не относящиеся к описанным выше вкладкам, содержатся
во вкладке «Другие настройки». Наиболее же полезные из настроек данной
вкладки приведены ниже.
Опция «Максимальное количество соединений за 5 секунд» – не реко-
мендуется выставлять значение этой настройки больше 25 – 30.
Опция «Максимальное число полуоткрытых соединений» – это макси-
мальное количество соединений, которые открыты, но не используются в теку-
щий момент. Разработчики eMule рекомендуют не выставлять этот параметр на
значение больше 9 в Windows XP SP2, в других операционных системах –
больше 50. Чем меньше максимальное число полуоткрытых соединений, тем
медленнее идет обмен данными.
Опция «Использование кредитной системы» повышает вероятность уве-
личения скорости скачивания файлов.
Опция «Фильтровать LAN IP серверов и клиентов» – для пользователей
локальной сети при необходимости обмена с другими пользователями этой же
сети данная опция должна быть отключена. Если локальной сети нет, эта
настройка защитит от некорректных источников, когда пользователи локальных
сетей передают неверные IP-адреса.
При включении флажка «Дополнительные опции управления» становятся
доступными дополнительные возможности eMule. Для нормальной работы про-
граммы можно ограничиться и стандартным набором, а для опытных пользова-
телей можно его расширить.

29
Опция «Отключить скачивание с PeerCache» имеет следующее значение.
«PeerCache» – это система, предназначенная для ускорения загрузки файлов.
Работает она довольно просто: если провайдер поддерживает такую систему, то
когда несколько пользователей будут скачивать один и тот же файл, он будет
загружен на сервер провайдера, в результате скачивание пройдет значительно
быстрее.
Опция «Безопасная запись .met/ .dat» позволяет установить режим записи
файлов загрузки.

2.2. Порядок выполнения работы

2.2.1. Запустить программу «eMule v0.49b». Ознакомиться с интерфейсом


программы.
2.2.2. В поле «Настройки» выбрать пункт «Папки». Указать папки с пре-
доставленными для скачивания файлами.
2.2.3. Подключиться к сети eD2k, выбрав в списке серверов «serv-
er_donkey» и нажав на кнопку «Соединение». В блоке «Моя информация» оп-
ределить, какой идентификатор клиента присвоен сервером.
2.2.4. Перейти к окну «Поиск». В поле «Имя» ввести ключевые слова и
нажать на кнопку «Старт». Символ «*» позволит увидеть все доступные файлы
для скачивания в лаборатории.
2.2.5. После выбора файла нажать на его имени правой кнопкой мыши и в
появившемся меню выбрать «Прием». Процесс загрузки можно просмотреть в
окне «Передача».
2.2.6. Определить для загружаемого файла, какие цвета используются и
что они обозначают. После добавления файла на загрузку может возникнуть
ситуация, когда его статус какое-то время находится в положении «Ожидание».
Это связано с низкой скоростью закачки. Факторы, которые влияют на скорость
закачки: настройка eMule, ID клиента, продолжительность сессии eMule, коли-
чество источников для закачки, доступность отдельных частей, популярность
файла. Копирование с одного источника одновременно нескольких файлов не
допускается. Для увеличения скорости скачивания необходимо предоставить
файлы для загрузки другим клиентам.
Неправильные параметры настройки в eMule (неправильно настроенные
лимиты скорости), LowID и короткая продолжительность сеансов имеют отри-
цательное воздействие на скорость загрузки. Новые файлы (релизы) и файлы с
маленьким количеством источников или с плохо распространенными частями
также понижают скорость закачки.

30
2.3. Содержание отчета

1) Краткие сведения о программе eMule.


2) Последовательность действий при выполнении п. 2.2.2 – 2.2.6.
3) Ответы на контрольные вопросы.

2.4. Контрольные вопросы

1) В чем отличие технологий пиринговой сети и сети с клиент-серверной


архитектурой?
2) Назовите функции сервера в пиринговой сети.
3) Что такое LowID и как устранить его?
4) В чем заключается метод начисления рейтинговых очков?
5) Для чего в eMule нужен пользовательский идентификатор?
6) Какой механизм применяется в eMule для контроля над ошибками при
загрузке файлов?
7) Какие методы и параметры поиска файлов применяются в пиринговых
сетях?
8) Какая дополнительная функция eMule-сервера используется для связи
с клиентами, имеющими LowID?

Библиографический список

1. Ф и н к о в М. В. Скачиваем фильмы, музыку и программы из Интернета.


Пиринговые сети: eDonkey, BitTorrent, KaZaA, DirrectConnect / М. В. Ф и н к о в /
Пер. с чеш. СПб: Наука и техника, 2006. 272 с.
2. K u l b a k Y. The eMule Protocol Specification / Y. K u l b a k, D. B i c k s o n /
The Hebrew University of Jerusalem, 2005. 582 р.
3. Олифер В. Г. Компьютерные сети. Принципы, технологии, протоколы /
В. Г. О л и ф е р , Н. А. О л и ф е р / СПб: Питер, 2006. 958 с.

31
Учебное издание

БИЗИН Дмитрий Игоревич, КОВАЛЕНКО Ольга Николаевна

ДЕЦЕНТРАЛИЗОВАННЫЕ ОВЕРЛЕЙНЫЕ СЕТИ

Часть 1

Учебно-методическое пособие
________________________________

Редактор Н. А. Майорова
Корректор И. А. Сенеджук

***

Подписано в печать .11.2015. Формат 60 × 84 1/16.


Офсетная печать. Бумага офсетная. Усл. печ. л. 2,0. Уч.-изд. л. 2,2.
Тираж 100 экз. Заказ .

**

Редакционно-издательский отдел ОмГУПСа


Типография ОмГУПСа

644046, г. Омск, пр. Маркса, 35

32

Вам также может понравиться