48203

Анализ влияния протоколов транспортного уровня в BitTorrent на качество обслуживания

Дипломная

Информатика, кибернетика и программирование

В ходе работы рассмотрены особенности трафика пиринговых файлообменных систем, изучена работа протоколов TCP и uTP в части управления скоростью передачи данных и проводится сравнительный анализ их влияния при использовании в BitTorrent на качество обслуживания

Русский

2015-01-06

1.17 MB

11 чел.

ФЕДЕРАЛЬНОЕ АГЕНТСТВО  СВЯЗИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ

БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ

УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ

им. проф. М. А. БОНЧ-БРУЕВИЧА»

Факультет __ИКСС__                                                   Допустить к защите

 Зав. кафедрой ____________

«___» ______________20    г.

Дипломная работа

на тему

«Анализ влияния протоколов транспортного уровня в

BitTorrent на качество обслуживания»

Санкт-Петербург

2014г.


ФЕДЕРАЛЬНОЕ АГЕНТСТВО  СВЯЗИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ

УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ

им. проф. М. А. БОНЧ-БРУЕВИЧА»

Факультет ______ИКСС_________          Кафедра_______СС_________

Специальность (направление)   _Системы связи, системы коммутации  –  210406__

                                                                              (название с указанием шифра)

Утверждаю:

Зав. Кафедрой СС_____________Кучерявый А.Е

       «______»_______________2014г.

       

ЗАДАНИЕ

на выполнение выпускной квалификационной работы (ВКР)

3.Квалификация_______инженер____________________________________

                  (бакалавр, магистр, инженер)

4.Вид работы_______дипломная работа__________________________

                  (трактат, реферат, диссертация, дипломный проект (работа)

5.Тема (ВКР) ____Анализ влияния протоколов транспортного уровня в BitTorrent на качество обслуживания_______________________________________________

утверждена приказом по университету от «___» ____________________________

6.Исходные данные (технические требования):__задание на дипломную работу _____________________________________________________________________

7.Содержание работы (анализ состояния проблемы, проведение исследований, разработка, расчеты параметров, экономическое обоснование и др.)

Введение

Глава 1. Обзор пиринговых файлообменных систем.

Глава 2. Quality of Service.

Глава 3. Экспериментальная часть.

Заключение.

Список источников.

Приложение.

8.Вид отчетных материалов, представляемых в ГАК (пояснительная записка, перечень, графического материала, отчет о НИР, технический проект, образцы и др.):

1. Пояснительная записка____________________________________________

2. Презентация к докладу_____________________________________________

3. Электронная версия пояснительной записки___________________________

4. Раздаточные материалы____________________________________________

__________________________________________________________________

9. Консультанты по ВКР с указанием относящихся к ним разделов

Дата выдачи задания «_24__» ______февраля____________2014   г.

Дата представления ВКР к защите «_5__» _____июня________2014    г.

Руководитель ВКР____________________________________________

(подпись)

Студент         ________________________________________________

(подпись)


Реферат

Тема выпускной квалификационной работы: «Анализ влияния протоколов транспортного уровня в BitTorrent на качество обслуживания».

Пояснительная записка содержит 70 страниц, из них: 26 рисунков, 19 таблицы.

Ключевые слова: протокол, BitTorrent, TCP, uTP, QoS, пиринговая сеть, трафик.

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

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

 


Список сокращений

DeffServ - Differentiated Service.

DPI- Deep Packet Inspection.

FTP- File Transport Protocol.

HTTP- HyperText Transport Protocol.

ICQ- I seek You.

IntServ - Integrated Service.

IP- Internet Protocol.

OSI- Open System Interconnection basic reference model.

P2P- Peer-To-Peer.

QoS- Quality of Service.

TCP- Transmission Control Protocol.

URL- Uniform Resource Locator.

uTP- uTorrent Transport Protocol.

ПО- программное обеспечение.


Содержание

Введение……………………………………………………………….…………8

  1.  Обзор пиринговых файлообменных систем………..………………14
  2.  Децентрализованные(одноранговые) пиринговые сети…….14
  3.  Гибридные пиринговые сети…………………………………..15
  4.  BitTorrent………………………………………………………..18
  5.  Анализ существующих проблем, создаваемых BitTorrent-трафиком и возможных способов их решения………………………………………………………………21
  6.  Цели и задачи дипломной работы…………………………….27
  7.  Quality of Service………………………………………………………28
  8.  Анализ механизмов обеспечения Qos на сетевом уровне………………………………………………………………...29
  9.  Протоколы транспортного уровня в BitTorrent………………34
  10.  Экспериментальная часть……………………………………………46
  11.  Выбор инструментария………………………………………...47
  12.  Анализ результатов эксперимента……………………………48
  13.  Заключение……………………………………………………………62
  14.  Список источников…………………………………………………...64
  15.  Приложение……………………………………………………………65


Введение.

Пиринговые (англ. «peer-to-peer» - равный-с-равным) сети это группы компьютеров, каждый из которых одновременно работает и клиентом (принимает данные), и сервером (отдает другим компьютерам, которые к нему подключаются). По другому эти сети еще называют Р2Р.

Первым проектом подобной структуры – был Napster, появившийся еще в 1999 году. Его популярность была ошеломляющей. Благодаря сети Napster, пользователи смогли быстро и бесплатно обмениваться музыкой. Но возмущенным борцам за авторское право удалось закрыть этот проект.

Однако, вслед за ним, как грибы после дождя, начали появляться новые пиринговые сети. Большинство из них, были децентрализованными – то есть не имели серверов, которые управляют раздачей трафика между компьютерами. Самой большей популярностью пользуются: eDonkey2000, FastTrack, Freenet и, конечно же, BitTorrent.

За весьма короткий отрезок времени пиринговая сеть BitTorrent приобрела армию поклонников и довольно высокую популярность. Начинающему пользователю, наверное, проще всего использовать клиент BitTorrent  – он имеет минимум настроек, и очень прост в управлении.

BitTorrent работает на 2-ух протоколах: uTP и TCP. Протокол uTP был разработан с целью оптимизации и улучшения качества работы сети.

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

В 1-й главе рассмотрена структура пиринговых сетей, типы и особенности функционирования. Разобран принцип работы и преимущества использования BitTorrent, а так же проанализированы проблемы, создаваемые BitTorrent-трафиком, и их возможные решения.

Во 2-й главе произведен анализ стандартных механизмов обеспечения QoS на сетевом уровне, а так же рассмотрены протоколы транспортного уровня, на основе которых функционирует BitTorrent, и их возможного влияния на качество обслуживания.

В 3-й главе были проведены экспериментальные исследования и  сравнительный анализ влияния протоколов транспортного уровня,используемых в BitTorrent, на задержку, джиттер и скорость загрузки данных. 

Проведенные в дипломной работе исследования позволяют опытным путем обосновать преимущества использования на транспортном уровне в BitTorrent протокола uTP, по сравнению с использовавшимся ранее протоколом ТСР.


1. Обзор пиринговых файлообменных систем.

Обмен информацией (или данными) на данный момент является обыденным и повседневным занятием для большинства современных людей. Данные могут быть абсолютно разными: обычный текст, видеоролики, целые фильмы, музыкальные композиции, программы и что-то иное.  Поэтому необходимость иметь доступ к огромному количеству информации,  лежащей на других компьютерах, сначала породила локальные сети. Но объединить все компьютеры в одну общую и большую локальную сеть не представляется возможным. Идея возможности обмена данными между пользователями выглядела перспективно. Поэтому была предложена система, позволяющая принимать и передавать файлы с каждым компьютером, который находится в сети и имеет определенное программное обеспечение. Такие системы получили названия пиринговых сетей (peer-to-peer) или п2п (р2р). Это словосочетание можно перевести как «равноправный обмен».

Своим названием Р2Р обязана Парбануэллу Йохнухуйтсману , который в 1984г. Впервые использовал словосочетание «peer-to-peer»при разработке Advanced Peer to Peer Networking  для IBM. Однако первая в мире функционирующая  пиринговая сеть была запущена только в 1999г. Здесь имеется ввиду обменная сеть NAPSTER, созданная Шоном Финнингом, Джорданом Риттером и Шоном Паркером. Сеть NAPSTER позволяла пользователям обмениваться музыкальными записями по всему миру.

Рис.1 Структура NAPSTER

Принцип работы достаточно не сложен. Устанавливая программу, пользователь указывал свой ник, пропускную способность канала, в какой каталог необходимо было складывать закачанные файлы и некоторую другую информацию. При каждом запуске Napster сам отыскивал на диске пользователя музыкальные файлы и «расшаривал» их (делал доступными другим пользователям Сети, а также отправлял список этих файлов на центральный сервер). При этом отличительной особенностью программы был обмен файлами между компьютерами пользователей, осуществляющийся напрямую, безо всякого участия сервера. Сервер выполнял сугубо информационную функцию - сообщал пользователям программы, у кого на компьютере имелись разыскиваемые файлы. В противном случае система просто не смогла бы функционировать - ни один суперсервер не выдержал бы такого безумного потока мр3-файлов. Кстати, «недружелюбные» действия в отношении файлов пользователя были исключены - всем мр3-файлам присваивался атрибут «read only»(определяет, может ли элемент быть изменен пользователем).Таким образом, Napster реализовала своеобразную форму «сетевого коммунизма»: качали вы - одновременно могли качать и у вас.

Впрочем, функции Napster'а не ограничивались одним только обменом файлами. Немного покопавшись в программе, вы могли обнаружить тематические чаты, поиск музыки по жанрам и исполнителям и т.д. Кстати, что касалось чатов: можно было создать собственный канал - и он был бы внесен в общий список! Присутствовала и простенькая ICQ-подобная система обмена моментальными сообщениями. Ее удобно было  использовать для общения с тем, у кого вы скачивали песню (или с тем, кто скачивал у вас). Эта функция особенно полезна, если вы хотели лично познакомиться с человеком со схожими музыкальными вкусами. Был также встроенный проигрыватель мр3-файлов - весьма неплохой, нужно заметить, хотя и с минимумом функций. Вообще, здоровый минимализм - отличительная черта программы. Простой и понятный интерфейс и полное отсутствие многочисленных маловажных функций - присутствовало только самое необходимое. Зато не зависало и занимало минимум оперативной памяти. Napster был файлообменной сетью централизованного типа: для функционирования ей необходимо наличие выделенного сервера, который индексирует файлы сети и выступает в роли единого поисковика. Если закрыть сервер, вся сеть переставала работать.

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

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

Как выглядит процесс обмена файлами в современных пиринговых сетях: пользователи сети выкладывают информацию об имеющихся у них контенте на раздаче. Какой-нибудь другой пользователь сети посылает запрос на поиск какого-либо файла. Программа ищет у клиентов сети файлы, соответствующие запросу, и показывает результат. После этого пользователь может скачать файлы у найденных источников. Современные файлообменные сети позволяют скачивать один файл сразу с нескольких источников (так быстрее и надёжнее). Чтобы убедиться, что этот файл у всех источников одинаковый, производится сравнение не только по названию файла, но и по контрольным суммам или хэшам типа MD4, TTH, SHA-1. Во время скачивания файла пользователем (и после его окончания) этот файл у него могут скачивать и другие клиенты сети, в результате чего особенно популярные файлы могут в итоге быть доступными для скачивания с сотен источников одновременно. Причем если в обычной сети 1000 пользователей захотят одновременно скачать этот файл, скорость скачивания каждого из них будет составлять примерно 1 кб/с. И это в идеальном случае: на практике, скорее всего, первые 500 пользователей будут качать файл с большей скоростью, а остальные просто не подключатся к серверу, который физически не сможет обработать столько запросов. В результате процесс скачивания фильма может растянуться на неделю, причем, чем больше будет желающих, тем медленнее будет загружаться файл на компьютер каждого из них. 
       В пиринговой сети все происходит по-другому. Когда на одном из ее компьютеров появляется новый файл, он разбивается на множество маленьких частей – и только после этого контент становится доступным для других пользователей. Причем каждому из них программа «отдает» разные части, нужные им в данный момент, поэтому с «материнского» компьютера пользователь «А» загрузит только первую часть, вторую он будет скачивать уже у пользователя «В», который за это время успел ее загрузить, третью – у «C» и т.д. Соответственно общая скорость скачивания для каждого пользователя будет равна сумме пропускной способности, которую способны обеспечить «материнский » ПК и остальные участники сети, которые загружают с него данный файл. В результате 1000 человек скачают тот же фильм за несколько часов, причем, чем больше пользователей будут одновременно его скачивать, тем выше будет скорость загрузки у каждого из них.

              Существует 2 основных типа пиринговых систем:

  1.  Одноранговые
  2.  Гибридные

  1.  Децентрализованные(одноранговые) пиринговые сети.

Рис. 2 Схема одноранговой пиринговой сети

Это пиринговые сети "в чистом виде". Их сущность заключается в том, что пользователи предоставляют друг другу доступ к определенной информации на своих компьютерах. В своей работе файлообменные сети используют свой собственный набор протоколов и ПО, обладающих важными усовершенствованиями и отличиями. Во-первых, каждый клиент такой сети, скачивая данные, позволяет подключаться к нему другим клиентам. Во-вторых, P2P-серверы (в отличие от HTTP и FTP) не хранят файлов для обмена, а их функции сводятся в основном к координации совместной работы пользователей в данной сети. Для этого они ведут своеобразную базу данных, в которой хранятся следующие сведения:

  1.  какой IP-адрес имеет тот или иной пользователь сети;
  2.  какие файлы размещены у какого клиента;
  3.  какие фрагменты каких файлов где находятся;
  4.  статистика того, кто сколько скачал себе и дал скачать другим.

Основной характеристикой подобных систем является возможность работы без взаимодействия с сервером, поскольку каждый узел (peer) одновременно является и клиентом, и сервером. Каждый компьютер может посылать запрос на поиск определенной информации на других компьютерах в пределах сети и должен обрабатывать запросы других пользователей. Поскольку никто не гарантирует своего постоянного присутствия в ней, это снижает файлообменный поток и соответственно эффективность работы сети. К одноранговым сетям относятся, в частности, ICQ,  Gnutella(v0.4) и Кад.

  1.  ГИБРИДНЫЕ ПИРИНГОВЫЕ СИСТЕМЫ.

Рис.3 Схема гибридной пиринговой системы.

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

Работа в пиринговых сетях строится следующим образом:

  1.  Клиент запрашивает в сети требуемый файл (перед этим возможно проведя поиск нужного файла по данным, хранящимся на серверах).
  2.  Если нужный файл имеется и найден, сервер отдает клиенту IP-адреса других клиентов, у которых данный файл был найден.
  3.   Клиент, запросивший файл, устанавливает «прямое» соединение с клиентом или клиентами, у которых имеется нужный файл, и начинает его скачивать (если клиент не отключен в это время от сети или не перегружен). При этом в большинстве P2P-сетей возможно скачивание одного файла сразу из нескольких источников.
  4.  Клиенты информируют сервер обо всех клиентах, которые к ним подключаются, и файлах, которые те запрашивают.
  5.  Сервер заносит в свою базу данных кто что скачал (даже если скачаны файлы не целиком).

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

К наиболее крупным и популярным файлообменным сетям можно отнести:

  1.  GnutellauGnutella2(основные клиенты  –Shareaza, LimeWire,      Phex, Morpheus).
  2.  eDonkey2000(клиент  - EDonkey2000).
  3.  DirectConnect( клиент  - DC++).
  4.  FastTrack(крупнейшая на сегодня пиринговая сеть – сеть насчитывает около 5 млн.  подключенных  пользователей в любое время.Основные клиенты  –KaZaA, giFT(KCeasy) и mlDonkey).
  5.  BitTorrent(самая популярная файлообменная сеть, с высокой скоростью передачи данных.( основные клиенты  –uTorrent, BitComet, BitSpirit, Azureus и прочие).


1.3 BitTorrent.

В продолжении будем рассматривать именно BitTorrent.

Рис.4 Обобщенная схема сети BitTorrent.

Датой появления BitTorrent’а считается 4 апреля 2001 года, когда Брэмом Коэном был создан первый клиент. Выход первой версии состоялся 2 июля 2001 года. Torrent-протокол – оказался оптимальным для скачивания нескольких файлов по частям, а не сразу целиком. Тогда Коэн вместе со своим братом и партнером Ашвином Нэвином создал корпорацию BitTorrent, Inc. в Сан-Франциско. С тех пор протокол torrent стал очень популярным в мире. С каждым днем количество его пользователей увеличивается все более. 

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

Преимущества, дающая работа с BitTorrent:

  1.  Доступность практически любого необходимого файла, который по каким-то причинам отсутствует в Сети в свободном доступе;
  2.  Хорошая скорость скачивания (в отличие от получения файлов через сервер) на торренте: чем больше имеют файл, тем выше скорость;
  3.  Огромное количество информации, ограниченно, грубо говоря, лишь жесткими дисками пользователей торрентов, а их тысячи;

Особенности торрент – протоколов:

  1.  Клиенты работают напрямую друг с другом. Торрент-трекер напрямую не принимает участия в обмене.
  2.  Торрент загружается частями; чем меньше распространен фрагмент файла, тем чаще он будет отдаваться. Это значит, что наличие раздающего / сидера не обязательно для того, чтобы скачать torrent. Протокол распределяет фрагменты между клиентами, так чтобы в дальнейшем они могли обмениваться частями без участия раздающего.
  3.   Загруженные части файла сразу же становятся доступными для других.
  4.  С помощью контрольной суммы отслеживается целостность для каждого скачанного кусочка.
  5.  Нет очередей скачивания, т.е. не требуется всем стоять в очереди к источнику / сидеру, для того чтобы скачать файл.
  6.  Передавать можно вложенные файлы, например каталог с файлами внутри.

Для того, чтобы распространить информацию о торренте, нужно создать torrent – файл, содержащий метаданные(так называемую информацию об информации, описание контента),содержащие необходимую информацию:

  1.  адрес (URL) трекера.
  2.  информацию о файле (атрибуты, размер и т. д.).
  3.  контрольную сумму / хэш сумму фрагментов.

Чтобы получить torrent – файл, имеющий расширение .torrent, его достаточно скачать любым доступным способом – с любого сайта или FTP сервера, передан по электронной почте и т.д.

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


1.4 Анализ существующих проблем, создаваемых BitTorrent-трафиком и возможных способов их решения.

BitTorrent трафик занимает серьезную часть общего трафика

Анализируя его, можно прийти к выводу что интернет – провайдерам приходилось решать проблемы, в первую очередь связанные с обеспечением необходимо-высоких скоростей для скачивания и отдачи в пиринговых сетях.  А для этого необходимо было учитывать особенности Р2Р-трафика:

  1.  Безразличен к топологии сети;
  2.  Не приносит дополнительной прибыли;
  3.  Вызывает проблемы у операторов с правообладателями.
  4.  Жаден до пропускной способности;

Безразличен к топологии сети: это означает что торрент-треккер с огромной доли вероятности найдет искомый файл, даже если его нет на ПК не только твоего города, но и страны. Как уже писалось ранее, на сегодняшний день большинство всех компьютеров подключены к единой сети Интернет, следовательно, даже если 2 ПК расположены на разных континентах, между ними всегда можно построить как минимум 1 путь маршрутизации. А еще обязательно на них обоих была установлена программа торрент-треккера, и один раздавал бы некий файл, второй же очень хотел бы его скачать.

Рис.5 Принцип работы BitTorrent.

Не приносит дополнительной прибыли: На сегодняшний день у Интернет-провайдеров очень распространен такой вид услуги как «безлимитный интернет». Данным способом завлекается множество потенциальных клиентов. Что это значит? А то, что клиент должен всего лишь заплатить заранее определенную абонентскую плату в месяц и забыть о необходимости беспокоиться и контролировать количество скачанного/отданного трафика, так как ограничение на его количество совсем снимается. И ты можешь в неограниченном количестве обмениваться необходимой тебе информацией, смотреть потоковое видео, играть в онлайн игры, общаться путем  IP-телефонии и многое другое. Но с появлением пиринговых сетей многие пользователи стараются по максимуму использовать все возможности торрента: скачать фильмы, музыку, сериалы, программы, книги и т.д. В связи с чем сильно стремительно возрос объем интернет-трафика. Появилось большое разнообразие интернет-приложений с различными требованиями к QoS. И все это нужно обеспечить с максимальным качеством. А абонентская плата остается неизменной и иногда оказывается несоответствующей тем услугам, которые были предоставлены. Но повышение цен может вызвать негативную реакцию клиентов, вплоть до их ухода, что в совокупности с усиливающейся конкуренцией на рынке интернет-услуг считается недопустимым.

Вызывает проблемы у операторов с правообладателями: Поскольку основным предметом файлообмена, осуществляемого посредством пиринговых систем, являются произведения литературы и искусства, а также объекты смежных прав, возникает резонный вопрос о законности подобной практики с точки зрения права интеллектуальной собственности. По статье 1229 Гражданского кодекса Российской Федерации никто не может использовать результаты интеллектуальной деятельности, не получив предварительного согласия правообладателя. В соответствии со статьей 1270 ГК РФ воспроизведение произведения определяется как изготовление одного или более экземпляра произведения или его части в любой материальной форме. Занесение объекта в память компьютера также квалифицируется законодателем в качестве воспроизведения произведения. А так как за создание и распространение таких файлов ответственны именно клиенты, то уследить за ними не представляется возможным. Возможными способами борьбы являются баны таких треккеров, но со временем они могут появиться вновь.

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

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

Рис. 6 Deep Packet Inspection

Deep Packet Inspection (DPI) – технология накопления статистических данных, проверки и фильтрации сетевых пакетов по их содержимому. В отличии от брандмауэров, DPI анализирует не только заголовки пакетов, но и все полное содержимое трафика на уровнях модели OSI со 2 и выше. DPI изучает пакеты по неким стандартным паттернам, по которым можно определить принадлежность пакета определенному приложению, поэтому  способно обнаруживать и блокировать вирусы, фильтровать информацию, не удовлетворяющую заданным критериям. Одно из основных требований к DPI-платформе — выполнять сканирование пакетов на скорости не ниже самой скорости канала передачи данных. Еще одно непременное требование к DPI-продуктам — гибкость применения, то есть возможность добавлять новые возможности и сценарии обработки трафика. Система DPI, как правило, устанавливается на границе сети оператора. Тем самым, весь трафик, который покидает или входит  в сеть оператора, проходит через DPI, что дает возможность его мониторинга и контроля. DPI осуществляет и так называемый поведенческий анализ трафика, который позволяет распознать приложения, не использующие для обмена данными заранее известные заголовки и структуры данных. Яркий пример тому – Bittorrent. Для их идентификации осуществляется анализ последовательности пакетов, обладающими одинаковыми признаками, таким как Source_IP:port – Destination_IP:port, размер пакета, частота открытия новых сессий в единицу времени и т.д., по поведенческим (эвристическим) моделям, соответствующим таким приложениям.

С точки зрения эксплуатации, оператор может контролировать подключения через DPI в на уровне приложений. Раньше он решал задачи реализации Quality of Service (QoS) исключительно средствами построения очередей на основании маркировки трафика служебными битами в заголовках IP, 802.1q и MPLS, выделяя наиболее приоритетный трафик (разного рода VPN’ы, IPTV, SIP и т.д.), и гарантируя ему определённую пропускную способность в любой момент времени. Трафик типа Best Effort, к которому относится весь интернет трафик домашних абонентов (HSI — High Speed Internet), оставался фактически без контроля, что давало возможность тому же Bittorrent забрать себе всю свободную полосу, что, в свою очередь, вело к деградации любых других веб-приложений. С использованием DPI у оператора появляется возможность распределить канал между различными приложениями. К примеру, в ночные часы разрешить трафику Bittorrent забирать себе больше полосы, чем днём, в часы-пик, когда в сети ходит большое количество другого веб-трафика. Другая популярная мера у многих мобильных операторов – блокировка Skype-трафика, а также любых видов SIP-телефонии. Вместо полной блокировки оператор может разрешать работу данных протоколов, но на очень низкой скорости с соответствующим ухудшением качества предоставления сервиса у конкретного приложения, чтобы вынудить пользователя платить за услуги традиционной телефонии, либо за специальный пакет услуг, разрешающий доступ к VoIP-сервисам.

Едва появившись, файлообменные пиринговые системы приобрели большую популярность. Это связано было, в первую очередь, с теми возможностями, что они предоставляли своим пользователям: постоянный доступ к огромному количеству контента с возможностью быстрой загрузки на свои ПК. Одной из самых популярных пиринговых систем стал BitTorrent. Большие объемы BitTorrent-трафика увеличивают нагрузку на сеть и приводят к перегрузке как сети доступа, так и магистральных сетей. Возможными решениями стали увеличение пропускной способности сети, блокировка BitTorrent, использование квот, дифференцированное обслуживания трафика на базе, например, Deep Packet Inspection (DPI), локализация BitTorrent-трафика и т.п. Однако все это требуется либо значительных инвестиций, либо порождает недовольство пользователей и их уход к конкурентам, либо проблемы с правообладателями [R. Dunaytsev, D. Moltchanov, Y. Koucheryavy, O. Strandberg, H. Flinck, «A survey of P2P traffic management approaches: best practices and future directions,» Journal of Internet Engineering, volume 5, number 1, June 2012, pp. 318-330]. Неожиданно удачным решением данной проблемы стало появление нового протокола uTP, который должен был разгрузить канал и соответствовать параметрам, предъявляемым к качеству обслуживания.


1.5  Цели и задачи  дипломной работы

Целью дипломной работы является анализ влияния используемого в BitTorrent протокола транспортного уровня (TCP или uTP) на качество обслуживания.

Для достижения поставленной цели необходимо решить следующие задачи:

  1.  Изучение особенностей трафика пиринговых файлообменных сетей и, в частности, BitTorrent
  2.  Изучение принципов работы протоколов TCP и uTP в части управления скорости передачи данных
  3.  Анализ влияния использования в BitTorrent протоколов TCP и uTP на такие параметры качества обслуживания как задержка, джиттер и коэффицент потери пакетов и скорость передачи данных.


2. Quality of Service

Quality of Service(QoS) -  это совокупность характеристик услуги электросвязи, которые имеют отношение к ее возможности удовлетворять установленные и предполагаемые потребности пользователя услуги (Recommendation Е.800 Качество услуг электросвязи: концепции, модели, цели и планирование надежности работы – Термины и определения, связанные с качеством услуг электросвязи.)

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

  1.  Поддержкой определенной полосы пропускания;
  2.  Сокращением вероятности потери кадров;
  3.  Исключением или управляемостью сетевых перегрузок;
  4.  Возможностью конфигурирования сетевого трафика;
  5.  Установкой количественных характеристик трафика по пути через сеть.

Классы QoS:

  1.  Класс 0 (Приложения реального времени, чувствительные к джиттеру, характеризуемые высоким уровнем интерактивности);
  2.  Класс 1(Приложения реального времени, чувствительные к джиттеру, интерактивные);
  3.  Класс 2(Транзакции данных, характеризуемые высоким уровнем интерактивности);
  4.  Класс 3(Транзакции данных, интерактивные приложения);
  5.  Класс 4(: Приложения, допускающие низкий уровень потерь);
  6.  Класс 5(Традиционные применения сетей IP).

2.1 Анализ механизмов обеспечения QoS на сетевом уровне.

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

Протокол IP может обеспечить лишь негарантированную доставку данных (best-effort service). Негарантированная доставка данных не предполагает проведения какого-либо различия между тысячами потоков информации в IP-сети. Следовательно, IP-сеть не может обеспечить никакой гарантии надежной доставки трафика приложений. Для разрешения этой проблемы было введено такое понятие, как качество обслуживания (Quality of Service - QoS) в сетях IP.

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

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

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

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

Необходимый сервис описывается многими параметрами, среди них самые важные:

  1.  Bandwidth (BW) – полоса пропускания, описывает номинальную пропускную способность среды передачи информации (определяет ширину канала).
  2.  Delay – задержка при передаче пакета.
  3.  Jitter – колебание (вариация) задержки при передаче пакетов.
  4.  Packet Loss – потери пакетов, определяет долю от отправленных пакетов, отбрасываемых сетью во время передачи.

Модели QoS

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

Можно выделить три модели реализации QoS в сети.

  1.  Негарантированная доставка данных (Best Effort Service) — обеспечивает связь между узлами, но не гарантирует надежную доставку данных, время доставки, пропускную способность и определенный приоритет. Полное отсутствие механизмов QoS. Используются все доступные ресурсы сети без какого-либо выделения отдельных классов трафика и регулирования. Считается, что лучшим механизмом обеспечения QoS является увеличение пропускной способности. Это в принципе правильно, однако некоторые виды трафика (например, голосовой) очень чувствительны к задержкам пакетов и изменению скорости их прохождения. Модель «Best Effort Service» даже при наличии больших резервов допускает возникновение перегрузок в случае резких всплесков трафика. Поэтому были разработаны и другие подходы к обеспечению QoS.
  2.  Интегрированные услуги (Integrated Services, IntServ) — эта модель описана в RFC 1633 и предполагает предварительное резервирование сетевых ресурсов с целью обеспечения предсказуемого поведения сети для приложений, требующих для нормального функционирования гарантированной выделенной полосы пропускания на всем пути следования трафика. Может обеспечить сквозное (End-to-End) качество обслуживания, гарантируя необходимую пропускную способность. В качестве примера можно привести приложения IP-телефонии, которым для обеспечения приемлемого качества передачи голоса требуется канал с минимальной пропускной способностью 64 Кбит/с (для кодека G.711).

В соответствии с концепциями «Integrated Services» приложения могут выбирать для своих потоков данных любой из многочисленных контролируемых уровней качества обслуживания. Для этого к базовым IP-сервисам добавляются новые компоненты и механизмы. Обслуживание в реальном времени требует гарантий, и эти гарантии не могут быть обеспечены без резервирования. Протокол RSVP предусматривает, что ресурсы резервируются для каждого потока, требующего QoS, на каждом промежуточном маршрутизаторе на пути от отправителя к получателю с использованием сигнализации «из конца в конец». Это, в свою очередь, требует хранения на маршрутизаторах данных о состоянии каждого конкретного потока и, как следствие, подразумевает кардинальные изменения в общей модели Internet. Кроме того, такое решение предлагает способ передачи требований приложения элементам сети, расположенным вдоль пути, и обмена служебной информацией QoS между сетевыми элементами и приложением. Недостатки использования протокола RSVP следующие:

  1.  требуется время на прокладку маршрута резервирования, что может быть критичным в больших корпоративных и глобальных сетях;
  2.  дополнительная загрузка промежуточных маршрутизаторов информацией о характере передаваемого трафика.
  3.  Дифференцированное обслуживание (Differentiated Service, DiffServ) — эта модель описана в RFC 2474, RFC 2475 и предполагает разделение трафика на классы на основе требований к качеству обслуживания. В архитектуре DiffServ каждый передаваемый пакет снабжается информацией, на основании которой принимается решение о его продвижении на каждом промежуточном узле сети, благодаря наличию классификаторов и формирователей трафика на границе сети, а также поддержки функции распределения ресурсов в ядре сети  в соответствии с политикой обслуживания трафика данного класса (Per-Hop Behavior, PHB). Модель дифференцированного обслуживания занимает промежуточное положение между негарантированной доставкой данных и моделью IntServ и сама по себе не предполагает обеспечение гарантий предоставляемых услуг, поэтому дифференцированное обслуживание часто называют мягким QoS.

DiffServ разделяет трафик на классы, вводя несколько уровней QoS, и состоит из следующих функциональных блоков: граничные формирователи трафика (классификация пакетов, маркировка, управление интенсивностью) и модули реализации PHB политики (распределение ресурсов, политика отбрасывания пакетов).

DiffServ можно кратко охарактеризовать как приоритезацию трафика (Prioritization). Механизмы DiffServ усовершенствуют протокол IP с целью преодолеть недостатки IntServ/RSVP и обеспечить масштабируемое избирательное обслуживание в Internet без необходимости запоминать состояние каждого потока и поддерживать сигнализацию. В отличие от RSVP, в случае DiffServ отправитель и получатель не обмениваются информацией о требованиях к качеству обслуживания, что исключает временные затраты на прокладку пути, присущие RSVP.

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

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

2.2 Протоколы транспортного уровня в BitTorrent.

В BitTorrent на сегодняшний день используется 2 протокола для передачи данных: TCP и uTP.

Протокол управления передачей TCP (Transmission Control Protocol) является обязательным стандартом TCP/IP, который описан в документе RFC 793 «Transmission Control Protocol (TCP)» и предоставляет надежную службу доставки пакетов, ориентированную на установление соединения. Протокол TCP:

  1.  гарантирует доставку IP-датаграмм;
  2.  выполняет разбиение на сегменты и сборку больших блоков данных, отправляемых программами;
  3.  обеспечивает доставку сегментов данных в нужном порядке;
  4.  выполняет проверку целостности переданных данных с помощью контрольной суммы;
  5.  посылает положительные подтверждения, если данные получены успешно. Используя избирательные подтверждения, можно также посылать отрицательные подтверждения для данных, которые не были получены;
  6.  предлагает предпочтительный вариант передачи для программ, которым требуется надежная передача данных с установлением сеанса связи, например для баз данных «клиент-сервер» и программ электронной почты.

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

Модуль TCP обеспечивает защиту от повреждения, потери, дублирования и нарушения очередности получения данных. Для выполнения этих задач все октеты в потоке данных сквозным образом пронумерованы в возрастающем порядке. Заголовок каждого сегмента содержит число октетов данных в сегменте и порядковый номер первого октета той части потока данных, которая пересылается в данном сегменте. При удачном приеме октета данных принимающий модуль посылает отправителю подтверждение о приеме - номер удачно принятого октета. Если в течение некоторого времени отправитель не получит подтверждения, считается, что октет не дошел или был поврежден, и он посылается снова. Этот механизм контроля надежности называется PAR (Positive Acknowledgment with Retransmission). В действительности подтверждение посылается не для одного октета, а для некоторого числа последовательных октетов. Нумерация октетов используется также для упорядочения данных в порядке очередности и обнаружения дубликатов (которые могут быть посланы из-за большой задержки при передаче подтверждения или потери подтверждения).

Для ускорения и оптимизации процесса передачи больших объемов данных протокол TCP определяет метод управления потоком, называемый методом скользящего окна, который позволяет отправителю посылать очередной сегмент, не дожидаясь подтверждения о получении в пункте назначения предшествующего сегмента. Но при этом протокол требует что в конечном итоге все отправленные данные были подтверждены принявшей их стороной. Одновременно с отправлением сегмента взводится таймер. Подтверждение должно придти либо с очередными данными в обратном направлении, если они есть, либо без данных. Подтверждение будет содержать порядковый номер очередного ожидаемого сегмента. Если таймер закончится прежде чем придет подтверждение, то сегмент посылается повторно.

Несмотря на кажущуюся простоту, ТСР протокол достаточно сложен и должен решать следующие основные задачи:

  1.  восстанавливать порядок сегментов;
  2.  убирать дубликаты сегментов, в каком бы виде (фрагментация) они не поступали;
  3.  определять разумную задержку для подтверждений в получении сегмента;
  4.  устанавливать и разрывать соединения;
  5.  управлять скоростью передачи.

      Структура TCP-пакета:

Рис.7 Структура ТСР-пакета

Sequence Number(SYN) - номер очереди или последовательный номер, показывает порядковый номер пакета при передаче, именно поэтому принимающая система собирает пакеты именно так, как надо, а не в том порядке, как они пришли.

Acknowledgment Number(ACK) - номер подтверждения, показывает, на пакет с каким SYN отвечает удаленная система, таким образом мы имеем представление, что удаленная система получила наш пакет с данным SYN.

Data Offset(или data length) – длина ТСР-пакета.

Reserved(зарезервированно) - Зарезервированно для будущего использования.

Контрольные биты- 6 бит (на схеме между reversed и window). Значения битов:

  1.  URG (поле срочного указателя задействовано);
  2.  ACK (поле подтверждения задействовано);
  3.  PSH (функция проталкивания);
  4.  RST (перезагрузка данного соединения);
  5.  SYN (синхронизация номеров очереди);
  6.  FIN (нет больше данных для передачи).

Window(окно) - Показывает доступное место в окне протокола ТСР.

Checksum(контрольная сумма) - Значение для проверки целостности пакета.

Urgent Point(Указатель срочности) - При отправке срочных данных в этом поле задается гранича области срочных данных.

DATA - это непосредственно те данные, которые мы хотим передать.


Содержание ТСР-пакета (с помощью программы Wireshark):

Рис.8 Содержание ТСР-пакета


Рис.9 Содержание ТСР-пакета


Рис.10 Содержание ТСР-пакета


uTP (Micro Transport Protocol) – является транспортным протоколом, представляющим собой протокол UDP с дополнительным уровнем поверх него, отвечающим за контроль передачи пакетов в сеть.

Разработан для того, чтобы уменьшить заторы в сети, позволяя другим видам трафика получать над ним приоритет.  К ним можно отнести телефонные звонки, просмотр веб-страниц и проверку почты. При использовании же ТСР, буфер будет быстро заполняться, что приведет к появлению задержек в несколько секунд. Природа работы uTP заключается в том, что он динамически себя ограничивает, если есть в этом необходимость, но если полоса пропускания не занята ничем, то uTP будет использовать её практически на 100%. 

Некоторые пользователи, тем не менее, утверждают, что использование нового протокола может ухудшить работу сети BitTorent. После выпуска первой версии uTorrent c поддержкой uTP, провайдеры отметили обратный эффект от внедрения uTP, который привел к значительному росту трафика и наводнению пакетами небольшого размера, из-за принципиальных архитектурных проблем uTP (при достижении ширины канала uTP начинает уменьшать размер пакета, тем самым лавинообразно увеличивая число передаваемых пакетов, что приводит к перегрузке оборудования).

uTP предназначен для более быстрого скачивания, так как работает по протоколу UDP, в котором обмен данными происходит быстрее, чем через протокол ТСР. Ускорение достигается за счёт того, что торрент-клиент берёт на себя выполнение нужных функций, отсутствующих в UDP, например, клиент перепроверяет целостность данных и, если блок неверен, скачивает его заново. Также провайдерам намного сложнее блокировать передачу данных через uTP благодаря отсутствию строгих, формализованных отличий UDP пакетов обычного трафика (формируемого, к примеру, сетевыми играми) от трафика, формируемого протоколом uTP, в отличие от TCP пакетов, по содержанию полей которых можно делать вывод об их принадлежности к p2p-трафику.

Особенности работы протокола uTP:

  1.  Заранее происходит анализ занятости пропускного канала (наличие существующих дополнительных соединений, уже пользующихся каналом) и устанавливается оптимальная скорость передачи данных.
  2.  Своевременное реагирование на появление перегрузки буферов обмена (при увеличении задержки получения подтверждений сразу происходит уменьшение скорости обмена данными).
  3.  


Содержание UDР-пакета (с помощью программы Wireshark):

Рис.11 Содержание UDР-пакета


Рис.12 Содержание UDР-пакета


Рассмотрев принципы работы протоколов транспортного уровня, используемых в BitTorren, можно сделать выводы, что протокол uTP является более уступчивым для других приложений. Его отличительной способностью является ограничение собственной скорости для предоставлении приоритетов другим приложениям, работающим параллельно с BitTorrent и используемыми аналогичные интернет-ресурсы. Для подтверждения проведем ряд экспериментов, показывающих выбор протокола в BitTorrent на такие параметры качества обслуживания как задержка, джиттер задержки и потери пакетов, а так же на такой важный фактор как скорость загрузок различных приложений, работающих параллельно с BitTorrent и использующих совместную полосу пропускания.


3. Экспериментальная часть.

Для исследования влияния BitTorrent’а при использовании двух разных транспортных протоколов(uTP и TCP), были произведены измерения времени Ping 4 разных сайтов. 2 являются одними из самых популярных сайтов у студентов (youtube.com и google.com). Третьим сайтом был выбран sut.ru, как наиболее актуальный для студентов СПбГУТ. А последним стал сайт практически не используемый в РФ(craiglist.org). Для всех 4 сайтов было поставлено 3 эксперимента:

  1.  Пингование сайта с выключенным BitTorrent(просмотр обычного пинга для данного сайта)
  2.  Пингование сайта с включенным BitTorrent при его работе на разных протоколах.
  3.  Пингование сайта с включенным BitTorrent при его работе на разных протоколах и параллельно включенным online-радио.

  1.   Выбор инструментария.

Для получения результатов экспериментов были использованы следующие утилиты:

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

С помощью интерфейса командной строки производилось пингование различных сайтов с получением конкретных результатов в милисекундах(ms).

  1.  Wireshark(отслеживание и анализ пакетов)

С помощью программы Wireshark производился анализ трафика.

  1.  Программа uTorrent
  2.  С помощью программы uTorrent производилось переключение протоколов, замеры скорости закачивания
  3.  Сайт «Speedtest.net»

С помощью сайта Speedtest.net была определена ширина пропускного канала

  1.  
  2.  


  1.  Анализ результатов эксперимента.

На рис. 13 представлен результаты пингования сайта youtube.com, когда на рабочем месте не было запущено BitTorrent или других программ, влияющих на загрузку пропускного канала.

Рис.13  Пингование youtube.com с выключенным BitTorrent.

Таблица 1

Ping_min                –                      5ms

Ping_max               –                     7ms

Ping_ave                –                      6ms

Jitter                       –                      2ms                      

Packet loss             –                      1%

На рис.14 представлен результаты пингования сайта youtube.com, когда на рабочем месте был запущен BitTorrent и происходили закачки файлов при использовании 2 протоколов(TCP и uTP). Можно заметить появление увеличившейся задержки при работе обоих протоколов, но при TCP задержки увеличены намного больше.

Рис.14  Пингование youtube.com с включенным BitTorrent при его работе на      разных протоколах

Таблица 2

uTP:

Ping_min – 5ms               Ping_max – 7ms                   ping_ave          –         6ms

Jitter – 2ms                     Packet loss  –             1%

TCP:

Ping_min – 5ms                Ping_max – 9ms                   ping_ave          –         6ms

Jitter – 4ms                     Packet loss -               0%

На риc.15 представлен результаты пингования сайта youtube.com, когда на рабочем месте был запущен BitTorrent и происходили закачки файлов при использовании 2 протоколов(TCP и uTP), а также запущено online-радио. Можно заметить появление увеличившейся задержки при работе обоих протоколов, но при TCP задержки увеличены намного больше.

Рис.15 Пингование youtube.com с включенным BitTorrent при его работе на разных протоколах и параллельно включенным online-радио.

Таблица 3

uTP:

Pingmin         –           5ms  

Pingmax         –          7ms

Ping ave         –          6ms

Jitter – 2ms                     Packet loss   –          1-2%

TCP:

Pingmin          –          5ms

Pingmax         –          9ms

ping ave         –           6ms

Jitter – 4ms                     Packet loss   -           0-1%

На рис.16 представлен результаты пингования сайта google.com, когда на рабочем месте не было запущено BitTorrent или других программ, влияющих на загрузку пропускного канал.

Рис.16 Пингование google.com.com с выключенным BitTorrent.

Таблица 4

Pingmin                    –                      5ms    

Pingmax                    –                     6ms

Ping ave                    –                     6ms

Jitter                                               1ms

Packet loss                                        0%


На рис.17 представлен результаты пингования сайта google.com, когда на рабочем месте был запущен BitTorrent и происходили закачки файлов при использовании 2 протоколов(TCP и uTP). Можно заметить появление увеличившейся задержки при работе обоих протоколов, но при TCP задержки увеличены намного больше.

Рис.17 Пингование google.com с включенным BitTorrent при его работе на разных протоколах.

Таблица 5

uTP:

Ping_min         –         5ms

Ping_max         –        7ms

Ping_ave      .   –        6ms

Jitter – 2ms                     Packet loss  –           1-2%

TCP:

Ping_min         –        5ms

Ping_max        –         8ms

Ping_ave        –         6ms

Jitter – 3ms                     Packet loss   -           0-1%

На рис.18 представлен результаты пингования сайта google.com, когда на рабочем месте был запущен BitTorrent и происходили закачки файлов при использовании 2 протоколов(TCP и uTP), а также запущено online-радио. Можно заметить появление увеличившейся задержки при работе обоих протоколов, но при TCP задержки увеличены намного больше.

Рис.18 Пингование google.com с включенным BitTorrent при его работе на разных протоколах и параллельно включенным online-радио.

Таблица 6

uTP:

Ping_min        –          5ms

Ping_max        –         8ms

Ping_ave  .      –         6ms

Jitter – 3ms                     Packet loss  –           1-2%

TCP:

Ping_min        –          5ms

Ping_max       –        11ms

Ping_ave  .     –          6ms

Jitter – 6ms                     Packet loss   -          0-1%

На рис.19 представлены результаты пингования сайта sut.ru, когда на рабочем месте не было запущено BitTorrent или других программ, влияющих на загрузку пропускного канала.

Рис.19 Пингование sut.ru с выключенным BitTorrent.

Таблица 7

Ping_min                 –                       2ms

Ping_max                –                        5ms

Ping_ave                 –                       3ms

Jitter                                               3ms

Packet loss                                       0%


На рис.20 представлен результаты пингования сайта sut.ru, когда на рабочем месте был запущен BitTorrent и происходили закачки файлов при использовании 2 протоколов(TCP и uTP). Можно заметить появление увеличившейся задержки при работе обоих протоколов, но при TCP задержки увеличены намного больше. 

Рис.20 Пингование sut.ru с включенным BitTorrent при его работе на разных протоколах.

Таблица 8

uTP:

Ping_min        –          2ms

Ping_max        –         6ms

Ping ave        –         3ms

Jitter  –  4ms                   Packet loss   –          1-2%

TCP:

Ping_min         –        2ms

Ping_max         –       7ms

Ping_ave      .   –        3ms

Jitter – 5ms                     Packet loss   -          0-1%

На рис.21 представлен результаты пингования сайта sut.ru, когда на рабочем месте был запущен BitTorrent и происходили закачки файлов при использовании 2 протоколов(TCP и uTP), а также запущено online-радио. Можно заметить появление увеличившейся задержки при работе обоих протоколов, но при TCP задержки увеличены намного больше.

Рис.21 Пингование sut.com с включенным BitTorrent при его работе на разных протоколах и параллельно включенным online-радио.

Таблица 9

uTP:

Ping_min         –         2ms

Ping_max         –        5ms

Ping_ave          –        3ms

Jitter – 3ms                     Packet loss   –         1-2%

TCP:

Ping_min          –        2ms

Ping_max         –        7ms

Ping_ave           –       3ms

Jitter – 5ms                     Packet loss   -          0-1%

На рис.22 представлен результаты пингования сайта craiglist.org, когда на рабочем месте не было запущено BitTorrent или других программ, влияющих на загрузку пропускного канала.

Рис.22 Пингование craiglist.org с выключенным BitTorrent.

Таблица 10

Ping_min                 –                    197ms

Ping_max                –                    199ms

Ping_ave                 –                    197ms

Jitter                                               2ms

Packet loss                                       0%


На рис.23 представлен результаты пингования сайта sut.ru, когда на рабочем месте был запущен BitTorrent и происходили закачки файлов при использовании 2 протоколов(TCP и uTP). Можно заметить появление увеличившейся задержки при работе обоих протоколов, но при TCP задержки увеличены намного больше.

Рис.23 Пингование craiglist.org с включенным BitTorrent при его работе на разных протоколах.

Таблица 11

uTP:

Ping_min – 197ms      Ping_max      –       203ms

Ping_ave      –        197ms

Jitter – 5ms                     Packet loss   –          1-2%

TCP:

Ping_min – 197ms      Ping_max       –      204ms

Ping_ave        –      198ms

Jitter – 6ms                     Packet loss   -          0-1%

.

На рис.24 представлен результаты пингования сайта sut.ru, когда на рабочем месте был запущен BitTorrent и происходили закачки файлов при использовании 2 протоколов(TCP и uTP), а также запущено online-радио. Можно заметить появление увеличившейся задержки при работе обоих протоколов, но при TCP задержки увеличены намного больше.

Рис.24 Пингование craiglist.org с включенным BitTorrent при его работе на разных протоколах и параллельно включенным online-радио.

Таблица 12

uTP:

Ping_min – 197ms      Ping_max       –      204ms

Ping_ave        –      200ms

Jitter – 7ms                     Packet loss   –          3-4%

TCP:

Ping_min – 197ms      Ping_max       –      214ms

Ping_ave        –      203ms

Jitter – 17ms                  Packet loss  -           0-2%

На рис.25 и рис.26 мы можем выделить общую тенденцию увеличенной задержки и джиттера задержки, характерной для протокола ТСР, в сравнении с протоколом uTP.

Рис.25 Сравнение общих задержек по протоколам ТСР и uTP для разных сайтов.

 

Рис.26 Сравнение джиттеров задержек по протоколам ТСР и uTP для разных сайтов

.


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

  1.  Только WEB
  2.  Только BitTorrent(uTP)
  3.  Только BitTorrent(TCP)
  4.  BitTorrent(uTP) + WEB
  5.  BitTorrent(TCP) + WEB

Таблица 13

 Мб/с

При Web

При BitTorrent(uTP)

При BitTorrent(TCP)

Web

2,1

0,7

0,3

BitTorrent( uTP)

1,3

2,0

 

BitTorrent(TCP)

2,0

 

2,3

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


Заключение.

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

Определены параметры, влияющие на качество обслуживания в сетях с коммутацией пакетов. Основные подходы к обеспечению качества обслуживания. Произведено сравнение протоколов транспортного уровня, использующихся в BitTorrent, в части управления скоростью и передачи. Был установлено, что протокол ТСР(в своей классической форме) управляет скоростью передачи на основе наблюдаемых потерь пакетов, а протокол uTP также учитывает время обращения пакетов, что позволяет снизить скорость до того как произойдет переполнение буфера и, следовательно, потери пакетов. Таким образом, можно сделать вывод, что использование протокола uTP  в BitTorrent позволит снизить задержку в доставке пакетов и джиттер этой задержки не только BitTorrent-трафика но и для других приложений, использующих данный сетевой ресурс.

Полученные результаты подтверждают сделанные предположения: при использовании на транспортном уровне протокола uTP в BitTorrent наблюдаемая задержка и джиттер оказываются ниже, чем при использовании в BitTorrent протокола ТСР. Хотя скорость загрузки по BitTorent в случае uTP оказывается немного ниже, чем в случае TCP (примерно 80% от максимально доступной для utP против 92% для TCP), доступная для других приложений скорость передачи, работающих параллельно BitTorrent, оказывается выше. Тем самым использование uTP в BitTorrent позволяет повысить качество обслуживания приложений реального времени, чувствительных к задержке и джиттеру этой задержки, обеспечить эффективное разделение пропускной способности канала между загрузкой по BitTorrent и другими приложениями, запускаемыми пользователем одновременно с BitTorrent.

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


Списки источников

  1.  Гуркин Ю.Н., Семенов Ю.А. «P2P. Файлообменные сети: принципы работы, используемые протоколы, безопасность, “Телекоммуникационные сети и системы”» Опубликовано в журнале «Телекоммуникационные сети и системы», №11, стр. 62 ISSN 1605-5055 2006г.
  2.  Семенов Ю.А. «Алгоритмы телекоммуникационных сетей. Часть 1. Алгоритмы и протоколы каналов и сетей передачи данных».Издательство: Интернет-университет информационных технологийБином. Лаборатория знаний. ISBN 978-5-94774-706-5, 978-5-94774-644-0; 2007 г.
  3.  Анатольев А.Г. «Высокоуровневое взаимодействие. Клиент-серверные, одноранговые и гибридные сети».[ http://www.4stud.info/networking/lecture3.html]
  4.  Митюшов В. Статья «Принципы работы и алгоритмы сетей BitTorrent».2012г.[ http://cncexpert.ru/education_courses/uTorrent.php]
  5.  Горнак.А. Статья «Технология DPI для для широкополосного доступа».[ http://www.nstel.ru/articles/dpi].
  6.  Величкевич, И. О. «Обеспечение качества обслуживания в сетях с коммутацией пакетов» / И. О.Величкевич, Н. И. Листопад // Веснiк сувязi. - 2009. - №2. - С. 17-23.
  7.  RFC 793. Протокол TCP. 1994. Перевод с английского: Радик Усманов. [http://www.citforum.ru/internet/tifamily/tcpspec.shtml .]
  8.  Arvid Norberg. Статья «uTorrent Transport Protocol».22.01.2009г.[ http://www.bittorrent.org/beps/bep_0029.html]
  9.  


Приложение 1

Таблица полученных значений «ping» для сайта youtube.com

Таблица 14

Youtube

Utp

Tcp

utp+radio

tcp +radio

6

6

6

6

6

6

6

6

6

5

6

6

6

7

5

6

6

6

6

6

6

6

6

5

6

6

6

6

6

13

6

6

6

6

7

6

6

6

6

7

6

6

6

6

7

6

5

6

5

6

6

5

6

6

7

6

6

6

7

6

7

6

6

6

6

6

6

7

8

6

6

5

6

6

6

6

5

5

6

6

6

6

7

6

6

6

8

6

6

6

6

7

6

5

9

6

6

6

6

6

6

8

5

6

7

6

6

6

6

8

6

8

6

6

8

7

6

6

6

6

6

7

6

6

6

6

7

6

6

8

6

5

6

7

9

7

6

6

6

6

7

5

6

6

6

6

6

6

6

6

10

6

6

6

5

6

7

6

6

6

6

6

6

6

6

7

6

5

6

5

7

7

6

6

6

5

6

6

5

6

7

5

5

6

5

6

6

6

6

6

6

7

6

7

6

8

6

7

7

11

6

6

6

6

6

5

6

6

6

7

6

5

6

6

6

6

7

7

6

11

5

6

6

5

12

6

6

6

6

6

5

5

6

6

6

6

6

6

6

6

6

6

8

9

6

Таблица полученных значений «ping» для сайта google.com

Таблица 15

Google.com

utp

Tcp

utp+radio

tcp +radio

6

6

6

6

7

6

6

6

6

6

6

6

5

7

6

6

7

6

6

6

6

6

6

6

5

6

6

7

6

6

6

6

6

5

5

5

6

6

5

7

6

6

7

6

7

6

6

6

6

6

6

6

6

6

5

6

6

6

7

7

6

6

6

6

6

5

6

7

6

7

6

6

6

6

6

6

6

7

6

5

6

6

5

7

6

6

6

6

5

6

6

6

5

6

7

6

5

6

6

6

5

6

6

7

5

6

7

8

6

6

6

6

6

6

7

6

6

6

6

6

5

6

6

6

6

5

6

6

6

6

6

6

7

6

7

6

6

6

6

7

5

6

6

6

6

5

6

6

6

6

5

6

7

5

8

5

6

8

6

6

6

7

6

6

6

6

6

8

7

6

6

6

6

7

7

5

6

6

6

6

6

6

6

6

6

5

6

5

6

6

5

9

8

6

8

6

6

6

6

7

6

6

6

6

11

6

6

7

6

5

6

6

7

6

6

6

6

6

5

6

6

6

6

6

5

8

6

9

6

6

6

8

7

6

6

5

5

7

6

6

5

8

6

6

6

7

6

6

Таблица полученных значений «ping» для сайта google.com

Таблица 16

sut.ru

utp

tcp

utp+radio

tcp +radio

3

2

2

2

3

3

3

3

3

3

3

3

3

3

2

3

4

3

3

3

3

3

2

4

3

2

3

3

2

3

4

5

3

3

2

3

3

3

4

3

3

5

3

3

2

3

3

5

3

4

3

3

2

7

4

3

3

4

2

3

3

2

3

3

3

3

3

4

3

3

4

3

2

3

3

2

2

3

3

3

4

3

5

3

3

4

2

2

3

6

7

3

4

4

3

3

2

4

2

3

4

3

6

3

3

2

2

3

3

3

4

3

3

3

3

3

3

3

3

3

4

3

3

2

3

2

2

2

3

3

4

3

3

3

3

3

3

3

3

3

2

2

3

2

4

3

2

2

3

4

3

3

3

2

2

3

4

4

3

3

4

4

2

2

2

6

3

3

7

2

2

2

3

3

3

2

3

3

3

2

3

3

4

3

2

2

3

2

6

3

3

3

3

3

2

4

2

2

2

2

3

3

3

3

3

6

3

2

2

3

4

5

2

4

4

2

5

3

3

3

2

3

2

2

3

3

5

2

2

2

4

2

3

6

2

3

3

2

3

3

4

4

3

3

3

2

Таблица полученных значений «ping» для сайта craiglist.org

Таблица 17

craiglist.org

utp

tcp

Utp+radio

tcp +radio

197

197

198

198

203

197

197

197

199

214

197

197

200

198

203

198

198

197

199

203

197

200

199

198

204

197

203

197

198

203

198

199

197

198

204

197

198

197

199

205

197

197

198

198

203

198

197

197

198

203

197

197

197

200

203

197

197

198

203

197

197

199

198

203

197

197

197

198

203

197

198

197

199

204

198

197

202

198

204

197

197

204

198

214

197

198

197

198

204

197

197

197

199

202

197

197

197

203

198

197

198

198

204

197

199

198

205

199

198

200

199

204

197

197

197

198

203

197

197

197

199

203

197

198

197

198

204

197

197

198

198

203

197

198

198

204

197

198

197

199

203

197

197

197

199

204

198

197

197

198

204

197

197

197

198

204

197

197

198

199

204

197

198

197

199

203

197

197

198

199

203

197

198

197

199

203

197

197

198

198

203

198

198

197

198

204

197

197

197

198

203

197

197

197

200

204

197

197

197

199

204

197

197

197

199

204

197

197

197

201

198

199

197

198

203

197

197

199

204

204

197

197

198

198

203

197

197

198

198

203

197

198

197

198

204

197

197

197

198

203

197

199

198

198

203

uTP

Max

ave.

Min

youtube.com

6,9

5,9

4,9

google.com

7,2

6,2

5

sut.ru

3,8

2,8

1,8

TCP

Max

ave.

Min

youtube.com

7,2

6,2

5,2

google.com

7,6

6,4

5,4

sut.ru

4

3

2

Обобщенная таблица результатов пингов различных сайтов при использовании протоколов uTP и TCP

Таблица 18

Обобщенная таблица полученных джиттеров задержек различных сайтов при использовании протоколов uTP и TCP.

Таблица 19

uTP

max

ave.

Min

youtube.com

5

3

1

google.com

3,8

2,4

1

sut.ru

4

2,6

1,2

TCP

max

ave.

Min

youtube.com

6

4,2

2,4

google.com

5,4

4

2,6

sut.ru

5,6

3,8

2


 

А также другие работы, которые могут Вас заинтересовать

71971. Мандрівка у королівство Здоров’я 56 KB
  Мета: формувати та закріплювати раніше набуті знання дітей про значення здоров’я, необхідності вести здоровий спосіб життя. Прищеплювати гігієнічні навички. Знайомити з народними традиціями збереження власного здоров’я.
71972. Життєвий та творчий шлях (на прикладі збірки «Людський вертеп») Марії Долі (Валерії Гуртовенко) 684 KB
  Тут народилась я і друзів маю В нім корені життя мої. Від слова жито яке означає той злакщо дає життя людям. Вже пізніше вона напише вірш Моїй няні і присвятить його їйлюдиніспогад про яку протягом всього життя повертатиме її в дитинство.
71973. ВЕСЕЛА МАСЛЯНА 78.5 KB
  Розвиток естетичних поглядів та смаків, що ґрунтуються на народній естетиці та найкращих надбаннях цивілізації. Виховання гармонійно розвиненої особистості з високим національно – культурним потенціалом, розвинутим почуттям прекрасного.
71974. ВІВАТ, МАТЕМАТИКА! 81.5 KB
  Доброго дня дорогі друзі Я рада вітати всіх хто знає математику хто любить математику хто в майбутньому спиратиметься на знання одержані в школі. Ведучий: Сьогодні будуть незвичайні уроки математики.
71975. Счастливый случай в математике 67.5 KB
  Цели: Повышение интереса к изучению математики, развитие творческих способностей учащихся, логического мышления. Обучение решению арифметических задач различного типа. Формирование приемов умственной и исследовательской деятельности. Воспитание интереса навыков учебного труда.
71976. Неделя математики. Брейн – ринг для учащихся 9-х классов 45.5 KB
  Первыми садятся за игровой стол команды, которым досталась фишка с номером 1. После игры проигравшие покидают игровой стол, а их место занимает команда № 2. И так далее. Жюри фиксирует количество выигранных боёв и количество отгаданных вопросов, определяет победителей.
71977. МАТЕМАТИЧНИЙ КВК (для 5-6 кл.) 120 KB
  Мета: розвивати логічне мислення, кмітливість, культуру математичного мовлення, пам’ять, виховувати вміння і навички міркування, самостійність, інтерес до предмета, впевненість у собі. Формувати соціальні, полікультурні, комунікативні та інформаційні компетентності.
71978. Математична мозаїка 52.5 KB
  Людина із задоволенням працює, якщо захоплена роботою та любить її. Уміння бачити цікаве і дивуватися приносить дітям радість, стимулює до творчих пошуків, розвиває уяву, що особливо важливо на уроках математики. Таке вміння потрібно виховувати і розвивати в учнів систематично як на уроках, так і в позакласній роботі.
71979. Вправи і задачі на засвоєння таблиці множення числа 8 52.5 KB
  Давайте дітки допоможемо берізці скинути листя Завдання Щоб побачити берізку треба перевірити д з ІІІ. Завдання Давайте дітки попросимо допомоги у сил природи. Слайд № 1 Сонечко сонечко допоможи виконати завдання: Усний рахунок Записати добутки з таблиці мал.