что такое utp соединения
Про µTP в новых версиях µTorrent: что это, как, зачем?
Традиционно большинство P2P-приложений использовало TCP для обмена данными. Про то, что µTorrent начинает использовать новый протокол, основанный на UDP, на хабре уже упоминали (раз, два). В данном посте новый протокол µTP описан подробнее, в том числе его тюнинг и возможность отключения. Подробности описаны таким образом, чтобы было понятно далёким от сетевых протоколов людям.
Пара слов про TCP и UDP. Первый расшифровывается как Transmission Control Protocol, или протокол управления потоком. Он удобен тем, что даёт использующей его программе гарантию, что данные дойдут до адресата целыми, полностью и в том порядке, в котором были отправлены. Его использование требует предварительной установки соединения и его закрытия в конце. Этакое создание «трубы» через которую будет идти обмен данными. UDP же не предоставляет никаких гарантий что данные дойдут, или что дойдут в правильном порядке. Он только позволяет переслать небольшой блок данных (датаграмму) от одного адреса другому. Вся работа по проверке доставки, и при необходимости — повторной посылке, ложится на саму программу.
Поскольку торрент-клиент и так этим занимается — это не большая проблема. Дело в том, что посылаемые через TCP-«трубу» данные в процессе разбиваются на куски («пакеты»), каждый из которых отправляется независимо. При этом один пакет может идти одним маршрутом, другой — другим, последний кусок может прийти первым, первый — вообще по дороге потеряться. Поэтому каждый участник «трубы» (от операционной системы до маршрутизаторов) вынужден хранить у себя буфер, в который собирает отдельные пакеты, проверяя целостность и порядок, и требуя перепосылку если часть пакетов не дошла.
При этом, если посылающий сидит на широком канале, а принимающий — на модеме, то первый сразу отправляет большой блок данных, который может быстро дойти до провайдера второго, и потихоньку просачиваться в модем. В это время первый, не получив подтверждения о получении, перешлёт часть кусков заново. Ещё раз, и ещё, в результате магистраль провайдера оказывается забита этой ненужной перепосылкой. Одна из основных целей uTP — устранить эту лишнюю нагрузку на провайдеров от P2P-трафика.
Латентно uTP появился в µTorrent версии 1.8, но умел принимать только входящие uTP-соединения, инициировать их сам — не умел. Впервые это научилась альфа-версия 1.9, потом стало возможным включить это и в новых версиях 1.8 ключиком bt.transp_disposition. Его значение от версии к версии менялось, но сейчас устаканилось на следующих битовых флагах:
1 — разрешить инициировать исходящие TCP-соединения,
2 — разрешить инициировать исходящие uTP-соединения,
4 — разрешить принимать входящие TCP-соединения,
8 — разрешить принимать входящие uTP-соединения
Таким образом, 13 (1+4+8), значение по умолчанию в последних версиях 1.8, означает возможность принимать все виды соединений, но самостоятельно устанавливать только TCP. 15 (значение по умолчанию в 2.0) разрешает все виды как исходящих так и входящих соединений. Чтобы запретить uTP вообще (если он вызывает какие-либо проблемы) надо поставить 5 (1+4). Стоит ли ставить 15 в 1.8 — вопрос спорный, на официальном форуме пишут что поддержка uTP в версии 2.0 намного лучше, поэтому скорость в 1.8 может быть хуже, чем по TCP.
В версии 2.0 также появилась поддержка UDP-трекеров. Для трекера вообще TCP очень излишний и требует много лишних ресурсов пакетами установки/закрытия соединения, поэтому для открытых трекеров UDP — благо. Например, последнее время трекер anirena очень глючит по TCP и далеко не с первого раза отвечает, DHT там часто запрещён, а UDP-трекер работает прекрасно. Но для закрытых трекеров он не подходит, т.к. не позволяет послать пасскей, чтобы идентифицировать таким образом качающего.
Ещё в 2.0 появится метод обхода некоторых NAT (STUN), что поможет соединяться большему числу NAT-страдальцев, хотя будет работать не во всех случаях.
Лично меня из всех новшеств 2.0 больше всего порадовал TCP Rate Control. Он позволяет подстраивать скорость и TCP-соединений так, чтобы они не мешали другим приложениям и минимизировать лишнюю перепосылку пакетов, о которой написано выше. Раньше это достигалось установкой cFos-драйвера, в котором можно было поставить низкий приоритет торренту, высокий — браузеру, а с версией 2.0 этого больше не требуется. Управляется это опцией bt.tcp_rate_control, если вам важнее чтобы торрент не мешает другим интернет-приложениям — его стоит включить, если важна максимальная скорость торрента — есть смысл отключить, на официальном форуме пишут что это иногда скорость увеличивает.
Замечу, что в uTP это делается всегда, даже в версии 1.8, а скорость TCP-трафика подстраивается под загрузку канала только в 2.0. В uTP постоянно меряется время отклика от пиров, с которыми происходит обмен данными. как только этот «пинг» начинает увеличиваться, задолго до начала потерь пакетов, µTorrent сбавляет скорость.
За счёт этого, пока канал свободен — он используется на полную. как только например другое приложение (броузер) начинает грузить канал — в µTorrent’е начинает возрастать время отклика, и он автоматически освобождает канал для броузера. Как только пинг вернулся обратно (канал снова освободился) — µTorrent увеличивает загрузку канала. При этом лишних перепосылок пакетов гораздо меньше, чем если бы это происходило на TCP-уровне
Впрочем, тут есть интересный момент, что с ней или по uTP исходящий канал может забиваться на 95%, а без неё только с TCP — на 100%, но эта разница в 5% может оказаться той самой излишней перепосылкой одних и тех же пакетов, что канал забивает, а реальной пользы не приносит, так что imho не всегда когда канал чуть недозабивается это значит что новая версия хуже.
Ещё в обсуждениях часто мелькает ключ net.calc_overhead. Если он включен, то при настройке скорости учитывается и служебный трафик — запросы блоков, подтверждения, уведомления какие блоки у кого есть и т.п. Если отключен — считаются только сами блоки данных. Поэтому раньше советовали ограничивать исходящий канал в торренте до 80-90% от реального, иначе он весь забивался отправляемыми блоками, и уведомления о получении блоков и запросы новых не успевали проходить, поэтому серьёзно страдала скорость скачивания. Опять же, на широких каналах некоторые пишут что при выключении этой опции скорость чуть выше, но может это глюк бета-версии и в релизе всё будет нормально.
Тут ещё есть такой момент, в котором я не уверен на 100%, но кажется что служебного трафика в uTP больше. Ибо в каждой маленькой датаграмме надо передавать что это за блок, от какого торрента, а по TCP можно посылать большие блоки, не подписывая каждый кусочек. Впрочем, тут будет служебный трафик самого TCP, так что не факт что он сильно «экономичнее».
Ещё нельзя не упомянуть такое явление, как «шейпинг» или «резание» P2P-трафика некоторыми провайдерами. Для России это (пока?) не актуально, а на открытых трекерах, где много пиров со всего мира, скорость по uTP значительно выше.
С другой стороны, не всё сетевое железо — модемы, марштуризаторы — и не весь софт рассчитывался на такое количество UDP-трафика, поэтому у некоторых пользователей с ним возникают глюки. Например со скоростью — когда периодически она вдруг падает до нуля, потом снова восстанавливается, или плавает от нуля до максимума. Видимо где-то в сетевом окружении переполняется некий связанный с UDP буфер, чёрт знает. Опять же, на официальном форуме можно поискать про совместимость с разным софтом и железом в случае проблем.
Другие «продвинутые» опции, на которые можно обратить внимание:
bt.connect_speed — сколько максимум новых соединений можно устанавливать в секунду (стоит увеличить, у меня стоит 80),
net.max_halfopen — про это много писалось, и менять стоит вместе с патчем tcpip.sys, хотя с протоколом uTP это уже не важно.
net.utp_target_delay — это некий целевой «пинг» при подстройке соединений, в некоторых случаях при его увеличении где-то до 400-500 скорость становится лучше.
peer.disconnect_inactive_interval — через сколько секунд закрывается соединение с пиром, с которым нет обмена данными, актуально больше для открытых трекеров где больше народу и «плохих» пиров, либо на случай сетевых глюков — чтобы быстрее определять разрыв соединения и переустанавливать его. в некоторых случаях имеет смысл понизить до 90-120.
Версия 2.0 хотя и бета — вполне стабильная, скачать можно тут: forum.utorrent.com/viewtopic.php?id=60602
По личным ощущениям, в старых альфах 1.9 при скачивании с открытых трекеров если до этого входящий канал загружался где-то на 1/3, с uTP стал грузиться где-то на 2/3. При скачивании с закрытых трекеров раньше канал загружался так, что броузер начинал подтормаживать, а в 2.0 всё летает.
Как работает витая пара и как происходит передача данных
Содержание
Содержание
Современный компьютер обязан быть подключенным к интернету. Если раньше это было прихотью владельца, то сейчас некоторые игры и программы без него не работают. Тем не менее, владельцы чаще обращают внимание на скорость оперативной памяти или частоту монитора, а качество сетевого оборудования остается на втором плане. Тем не менее, простой провод от роутера к компьютеру имеет много характеристик, и они могут влиять на стабильность соединения. Что такое витая пара, почему она витая, и откуда в ней берется интернет — разбираемся в нашем материале.
Информация передается по проводам: длинным, коротким, медным и даже стеклянным. В мире так много проводов, что, если связать их в один, то можно провести интернет на Луну и обратно. Однако, даже если это осуществимо, такой интернет гарантированно не будет работать. Потому что, кроме самого провода, есть еще тонна условий, при которых работает витая пара. Это категория проводника, тип, материал провода, качество экранирования, помехоустойчивость и многое другое. Все это определяет качество работы сети и распространяется как на многокилометровые линии связи, так и на домашних коротышек.
А для тех, кто предпочитает использовать беспроводные сети, можно посмотреть, какую точку доступа подобрать и как это сделать правильно:
Как витая пара передает сигнал
Для кого-то будет открытием, что по кабелю передаются не биты и байты, хотя технику мы называем цифровой. На самом деле, в проводе нет никакой информации, а только напряжение. Один компьютер задает вопрос, другой отвечает, и все это происходит с помощью передачи вольтажа через витые пары.
Для передачи информации компьютер делит ее на биты. Затем они шифруются в двоичную систему и передаются по кабелю. В это время информация выглядит как простые электрические импульсы разной длительности (частоты) и с разным вольтажом. При этом, передаются два сигнала: один с положительным напряжением, другой — с отрицательным. Принимая сигнал, дешифратор складывает напряжения и в сумме получает ноль. Таким образом, зная вольтаж, длительность импульса и разницу напряжений, сетевая карта понимает, какой код ей посылает собеседница.
С точки зрения простого человека без физико-математической корочки в кармане такое объяснение будет понятным и достаточным, чтобы представить, что творится в витой паре во время передачи сигнала. В информатике этот процесс называется манчестерским кодом и это находится на первом уровне OSI. Так называют 7 уровней движения информации от бита к понятному для человека изображению на экране. Движение электрических или световых сигналов это первый, «физический» уровень. Там и работает витая пара.
От советской лапши к современному UTP
Для передачи высокочастотного сигнала не всегда использовался провод с несколькими витыми парами. Не будем заглядывать в историю совсем далеко, а остановимся на времени, когда телефония уверенно поселилась в каждой квартире 80-х. Вполне реально, что у кого-то и до сих пор работает телефонный аппарат по старой DSL-линии. Он подключен таким проводом:
Это телефонный провод ТРП для прокладки сети в помещениях. В народе его называют лапшой из-за сходства с плоскими макаронами. Обычно используется для «доводки» сигнала к нужному месту. Сейчас таким проводом сигнальные линии не ведут, а используют современные UTP патч-корды.
Еще один способ передать высокочастотные данные на средние расстояния — коаксиальные провода. Сигнальный провод защищен от наводок экранированием:
Коаксиальный кабель используют и сейчас, например, в радио и спутниковой связи, а также в антеннах для приема цифрового или аналогового телевидения. Впрочем, его могут применять везде, где необходимо соединить между собой два чувствительных к помехам устройства.
Помимо «домашних» и всем известных проводов, в современных сетях есть и другие. Это многожильные провода-трассы с 25 парами, экранированные и усиленные, а также оптоволоконные проводники с разным количеством стеклянных жил, в том числе и витые пары.
Для чего так много разновидностей витой пары
С помощью витой пары соединяют не только роутер и компьютер. Есть более глобальные применения. Так, один проводник предназначен только для помещений, а другой способен работать на улице под прямыми лучами солнца. Первый растянется и испортится на больших расстояниях, а другой спокойно выдержит вытягивание на десятки метров. Где-то достаточно протянуть простой провод без экрана, а в другом месте будет много посторонних сигналов, поэтому и провод нужен соответствующий. Для этого предназначены разные типы витой пары.
UTP — самый простой и нежный кабель. Не защищен от внешних помех, а также не любит растягивание. Зато он мягкий и хорошо сгибается. Подходит для дома и офиса.
FTP — то же самое, но с дополнительным экранированием. То есть, все пары закутаны в фольгу. Имеет те же физические плюсы и минусы первого варианта, только более устойчив к помехам. Такие провода — минимум для использования в производственных помещениях с посторонними помехами.
STP — все то, что есть в предыдущих, плюс защитная металлическая оплетка.
SFTP — каждая пара завернута в собственную фольгу, а общий провод защищен металлической оплеткой.
U/FTP — каждая пара в фольге, остальное все как у UTP.
F/FTP — для каждой пары фольга, плюс общая для всего провода.
SF/FTP — каждая пара экранирована, плюс весь провод защищен металлической оплеткой, а для жесткости добавляют стальную проволоку. Это провод для построения длинных трасс.
Для домашнего интернета вполне хватает простого UTP. Максимум — FTP, если это многоквартирный дом и нужно защитить сигнал от микроволновок и роутеров с точками доступа 5 ГГц. Остальные используются для прокладки внешних линий между зданиями или на большое расстояние, где сигнал обязательно защищают от внешних помех и стремятся максимально сохранить качество.
Категории витой пары
Категории витой пары определяются основными характеристиками провода: максимальная частота сигнала и толщина проводника. Чем выше допустимая частота в проводе, тем лучше его качественные показатели и способность удерживать скорость на протяжении десятков метров. В основном используются «5e» и «6» категории, хотя всего их 10:
Между прочим, та самая «лапша» — это витая пара Cat. 1, и она до сих пор встречается в частных жилых секторах под ADSL. Остальные категории вышли из обихода (2, 3, 4) или еще не нашли широкого применения в домашних сетях (6a, 7, 7a). Тем не менее, это вопрос времени, так как соединения со скоростью более 1 Гбит/с уже существуют и предлагаются провайдерами.
Другие характеристики
С категорией витой пары определиться несложно, потому что в компьютерных магазинах пользователю вряд ли предложат что-то, кроме проводов Cat. 5e или Cat. 6. Гораздо важнее выбрать провод по другим параметрам.
Во-первых, учитываем материал, из которого сделаны жилы витой пары. Самый дешевый и доступный вариант — это алюминий. Проводит электричество в 1,7 раза хуже меди, любит окисляться при контакте с кислородом и не любит изгибы. Как основа для качественной сигнальной трассы сразу отметается, даже если это домашняя сеть со скоростью до 100 Мбит/с. Единственный плюс такого провода — дешевое производство.
Чуть лучше — омедненный алюминий. Все то же самое, только алюминий покрыт нанослоем меди для защиты от окисления. Проходим мимо.
Единственно верный путь — чистая медь. Это лучшая электропроводность, устойчивость к окислению, стойкость к изгибам и гарантия стабильности в месте соединения провода и клеммы. Разумеется, это самый дорогой провод из витых пар.
Однако наличие проводников из чистой меди составляет только половину дела. Медный провод производить дорого, поэтому и здесь есть нюансы. Следующий важный параметр, который указывает на качество проводника — это толщина медной жилы. Тут тоже есть свои стандарты:
Чем больше диаметр, тем меньше сопротивление линии, а значит, выше скорость передачи информации на большие расстояния. В обычных сетях используют 23-24 AWG, и этого достаточно. Тем более, что фанатично искать провод с «толстыми» парами не стоит хотя бы из-за стандартов ISO. Они говорят, что 22-24 AWG — это разумные пределы для того, чтобы провод без проблем помещался в контактах коннекторов и розеток (до 0,64 мм). Впрочем, если говорить о домашних сетях, то AWG 24 — это разумный предел для любых систем и скоростей.
Витая пара бывает одножильная и многожильная. Провод с цельными жилами подходит для разводки сети по стенам, в кабель-каналах или для организации длинных трасс. Физические и электрические свойства цельного медного провода лучше, чем у многожилки. В основном это прочность и помехоустойчивость. Многожильный провод применяется для сборки заводских патч-кордов. Его свойств достаточно для передачи информации между устройствами на небольшом (до 5 м) расстоянии. Он хорошо принимает форму и устойчив к изломам.
Несмотря на стандарты в Cat. 5e, производители могут выпускать провода с двумя парами вместо четырех. Количество пар играет роль в сетях со скоростью выше 100 Мбит/с. Учитываем этот момент и берем полноценный кабель со всеми парами, чтобы потом спокойно переключиться на высокоскоростной тариф, подключить видеонаблюдение и смотреть фильмы в 4К без проблем с пропускной способностью.
Хорошему проводу — хорошая изоляция. Качественная витая пара должна защищаться толстой, но мягкой оболочкой. Тогда провод будет легче свернуть, направить в кабель-канале, а еще он не перетрется и будет уверенно держаться в клипсе сетевого разъема. Хорошая изоляция — это также защита от потери сигнала на больших расстояниях, где полимерное покрытие проводника работает как электромагнитный диэлектрик.
Коннекторы RJ-45
Registered Jack — стандартизированный разъем. Как и витая пара, коннектор имеет разные категории и уровни качества.
Для каждого типа витой пары применяется свой разъем. Для проводов Cat. 5 и 5e используют первый вариант (см. изображение выше). Он знаком каждому пользователю и способен переварить толщину проводников до 24 AWG. Более ничем не примечателен.
Для построения экранированных сетей используется джек Cat. 6. Он может зажимать провода до 23 AWG, а также имеет металлический корпус, который соединяется с фольгой в проводе и создает единый помехоустойчивый контур между устройствами.
Соответственно, для проводов высших категорий есть другие коннекторы. Но это серверный уровень и домашний пользователь вряд ли столкнется даже с коннекторами типа 6a.
Пригодность разъема для разного типа проводов диктуется не только размерами клипсы, что удерживает провод в разъеме, но и типами ножей, которые пробивают оболочку каждого провода в паре и соединяются с медью. А еще качеством позолоты контактов.
Почему пар несколько и за что они отвечают
Для приема и передачи данных в проводе используется два способа расположения витых пар в коннекторах. Это прямой и перекрестный обжим. Для современных сетевых устройств нет разницы в распиновке, потому что устройства умеют делать это автоматически на уровне разъема. Поэтому в основном используется прямой обжим и соответствующая ему распиновка пар:
В соединениях до 100 Мбит/с данные передаются только двумя парами: одна занимается отправкой сигнала (называют TX), другая приемом (RX). То есть, Transfer и Receive. Причем в каждой паре оба провода работают в одном направлении. Только по одному бежит положительное напряжение, а в другом — отрицательное. Это мы разобрали в начале статьи. Остальные пары задействуются под нужды PoE (подключение IP-камер), телевидения или телефонии. Для работы высокоскоростных линий задействуют все четыре пары.
Провода обозначают стандартными цветами, где каждая пара имеет свой основной цвет. Это сделано для удобства, так как прозванивать восемь одноликих проводов при каждом обжиме —занятие утомительное. Физической разницы между парами нет, главное, чтобы провод был обжат одинаково с обоих концов.
Почему пара «витая» и что такое экранирование
По проводу передаются электрические импульсы с высокой частотой. В самом начале эти импульсы сильные и отчетливые, а к концу провода их амплитуда снижается. Это называется затуханием сигнала или «вносимыми потерями». Отношение силы выходного сигнала в начале провода к силе входного сигнала в конце измеряют в децибелах. Чем выше разница, тем хуже качество сигнала. Обычно сигнал портится на больших расстояниях, если спецификации витой пары не соответствуют заявленным или нарушаются правила построения сетей. Немалую роль в качестве сигнала играет материал проводников, их правильный обжим в коннекторе, а также защита от собственных и внешних наводок.
Как сократить потери сигнала на длинных трассах:
То есть, если нужно передать сигнал на очень большое расстояние, то без репитера это не получится. Принцип работы такой же, как и у повторителя для WiFi: берется редуцированный сигнал, преобразуется в исходный по мощности и отправляется следующей станции или адресату. Для этого есть специальные устройства — экстендеры Ethernet. Или роутер (он же свитч). То есть, если сигнал тухнет через каждые 100 метров, то можно переподключать линию на свитчах и передавать сигнал дальше. Но это в теории.
На практике сигнал в витой паре перемешивается с различными помехами. Это сигналы сотовой сети, радиосигнал роутера, высокочастотные волны от микроволновой печи и даже низкочастотный шум от двигателя автомобиля. Помимо этих явлений есть и внутренние, когда одна пара вносит паразитные сигналы в другую пару и возникают перекрестные помехи.
От внешних воздействий на сигнал провод защищают алюминиевой фольгой. В зависимости от типа и категории провода, такая фольга может защищать каждую пару отдельно или весь провод целиком. Для защиты от сильных помех также используют металлическую оплетку.
Для снижения наводок между пар придумали другой способ — витые провода:
Из начальной физики мы знаем, что движение электричества в проводе создает электромагнитное поле. Это поле может влиять и взаимодействовать на поле и сигнал других проводов. От таких наводок нельзя избавиться, но ими можно управлять. Для этого все пары в проводе смещены относительно друг друга и имеют одинаковый шаг витка. Таким образом, влияние помех распределяется равномерно и становится предсказуемым для передатчиков.
Вместо тысячи слов
Если поднимать всю теорию о витой паре, возвращаемых сигналах, помехах и различных электромагнитных явлениях, можно написать диссертацию, магистерскую работу, а может и диплом для технического ВУЗа. Тем не менее, общее понимание работы витой пары мы рассмотрели. Этого должно быть достаточно, чтобы любой пользователь (особенно гуманитарий) мог прочитать статью и выбрать хороший провод для своей сети. И построить ее так, чтобы потом не пришлось все переделывать.
Пошаговая инструкция по выбору хорошего провода для дома: