Utp протокол: что это, как, зачем? / Хабр

Содержание

что это, как, зачем? / Хабр

Традиционно большинство P2P-приложений использовало TCP для обмена данными. Про то, что µTorrent начинает использовать новый протокол, основанный на UDP, на хабре уже упоминали (

раз

,

два

). В данном посте новый протокол µTP описан подробнее, в том числе его тюнинг и возможность отключения. Подробности описаны таким образом, чтобы было понятно далёким от сетевых протоколов людям.

Update: Официальная документация на протокол: www.bittorrent.org/beps/bep_0029.html

Пара слов про 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 всё летает.

протокол uTP открыт под лицензией MIT, и первая интеграция этой библиотеки / Хабр

Сегодня Bittorrrent а именно разработчики uTorrent открыли свою спецификацию uTP под лицензией MIT/


Исходный код в виде библиотеки написанной на С++ можно скачать на

github
А так же была выпущена новая версия KTorrent 4.
0

В ней была добавлена библиотека uTP

А так же еще некоторые изменения о которых можно почитать на

официальном сайте

Плюсы uTP в том что

* Он динамически себя ограничивает в зависимости от использования интернета другими приложениями на компьютере

* обход некоторых NAT методом

STUN

* Если вдруг пакет теряется то протокол увеличивает фрагментацию, начальная фрагментация 300 байт

Некоторые провайдеры говорят что их оборудования слишком перегружено из-за введения uTP, но вы сами подумайте, если вдруг где либо осуществляется фильтрация трафика bittorrent то uTorrent а в скоро и другие клиенты, будут увеличивать фрагментацию пакетов и создавать подобию не слабой DDOS атаки на оборудования, вы скажите, кошмар, ужас.

Но прелесть заключается в том что бы уменьшить нагрузку на оборудования — надо разрешить и не фильтровать трафик.


Те кто не согласен со мной можете отключить uTP в ваших клиентах.

Для того что бы отключить uTP выполните следующее:

В переменной bt. transp_disposition в дополнительных настройках uTorrent поставте нужное вам значение.
1 — разрешить инициировать исходящие TCP-соединения,
2 — разрешить инициировать исходящие uTP-соединения,
4 — разрешить принимать входящие TCP-соединения,
8 — разрешить принимать входящие uTP-соединения

Таким образом, 13 (1+4+8), значение по умолчанию в последних версиях 2.x, означает возможность принимать все виды соединений, но самостоятельно устанавливать только TCP. 15

Кстати теперь uTorrent в зависимости от условий и типов клиента использует как uTP так и стандартный TCP протокол, аналогично Skype…
О том что такое uTP подробней можно почитать тут

Ждем добавления uTP в rTorrent и Transmission !

Кстати они выложили свой uTP в свободный доступ после голосования на их uservoise вот

тут

Там есть много интересного за что можно проголосовать, например клиент под Linux, оглавление голосования

тут

АСТ — Электронная торговая площадка [#WEB1]

Общие

Инструкция по регистрации на УТП и в ТС. Использование учетной записи ЕРУЗ  Новое

Регистрация на электронной площадке через ЕРУЗ

Памятка по работе со счетами и тарифами Новое

Финансовый рейтинг от Сбербанка Новое

 

Участник

Памятка участника (5 шагов для подачи заявки на участие) Новое

Памятка (Оплата услуг Оператора / обеспечение заявки на участие)  

Подача заявок на участие, запрос на разъяснение, отзыв/изменение заявки Новое

Подача заявок на участие в процедуре, участниками которой могут быть только СМСП Новое

Инструкция по ответу на запрос по заявке Новое

Особенности участия в этапах закупок, участниками которых могут быть только СМСП Новое

Участие в дополнительном этапе (переторжке) Новое

Особенности участия в многопозиционных торгах Новое

Особенности участия в закупках с мультивалютностью

Формирование поисковых запросов и подключение подписки на процедуры Новое

 

Организатор и специализированная организация

Настройка интеграции УТП и ЕИС (01-04-2021) Новое

Инструкция по настройке связи и сопоставлению способов закупок Оператора — Заказчика (ЕИС) Новое

Инструкция по обновлению плана закупок Новое

Создание извещения Новое

Приглашение потенциальных участников к участию в процедуре закупки Новое

Управление процедурой Новое

Настройка по расчету НМЦК Новое

Проведение совместной закупки (23-05-2019)

Проведение переторжки (дополнительного этапа)

Особенности проведения многопозиционных торгов

Особенности проведения процедур с мультивалютностью Новое

Порядок рассмотрения заявок на участие, формирование протоколов открытия доступа к заявкам, рассмотрения заявок, подведения итогов и в свободной форме Новое

Инструкция по работе с электронным договором Новое

Инструкция по созданию запроса разъяснений по заявке Новое

Завершение процедуры, уклонение участника от заключения договора Новое

Инструкция для специализированной организации 

Подключение информера Новое

 

Особенности проведения закупок, участниками которых могут являться только субъекты СМСП

Памятка по проведению закупок для СМСП (ред. 452-ФЗ) Новое

Инструкция по созданию извещения для процедур, участниками которых могут быть только СМСП 

Конкурс. Проведение этапов процедуры, участниками которых могут быть только СМСП (ред.452-ФЗ) Новое

Аукцион. Проведение этапов процедуры, участниками которых могут быть только СМСП (ред.452-ФЗ) Новое

Запрос предложений. Проведение этапов процедуры, участниками которых могут быть только СМСП (ред.452-ФЗ) Новое

Запрос котировок. Проведение этапов процедуры, участниками которых могут быть только СМСП (ред.452-ФЗ) Новое

 

Руководство по стеку протоколов TCP/IP для начинающих

T-Rex

Тираннозавр Рекс

Cтек протоколов TCP/IP широко распространен. Он используется в качестве основы для глобальной сети интернет. Разбираемся в основных понятиях и принципах работы стека.

Основы TCP/IP

Стек протоколов TCP/IP (Transmission Control Protocol/Internet Protocol, протокол управления передачей/протокол интернета) — сетевая модель, описывающая процесс передачи цифровых данных. Она названа по двум главным протоколам, по этой модели построена глобальная сеть — интернет. Сейчас это кажется невероятным, но в 1970-х информация не могла быть передана из одной сети в другую, с целью обеспечить такую возможность был разработан стек интернет-протоколов также известный как TCP/IP.

Разработкой этих протоколов занималось Министерство обороны США, поэтому иногда модель TCP/IP называют DoD (Department of Defence) модель. Если вы знакомы с моделью OSI, то вам будет проще понять построение модели TCP/IP, потому что обе модели имеют деление на уровни, внутри которых действуют определенные протоколы и выполняются собственные функции. Мы разделили статью на смысловые части, чтобы было проще понять, как устроена модель TCP/IP:

Уровневая модель TCP/IP

Выше мы уже упоминали, что модель TCP/IP разделена на уровни, как и OSI, но отличие двух моделей в количестве уровней. Документом, регламентирующим уровневую архитектуру модели и описывающий все протоколы, входящие в TCP/IP, является RFC 1122.

Стандарт включает четыре уровня модели TCP/IP, хотя, например, согласно Таненбауму (Таненбаум Э., Уэзеролл Д. Т18 Компьютерные сети. 5-е изд. — СПб.: Питер, 2012. — 960 с.: ил. ISBN 978-5-459-00342-0), в модели может быть пять уровней.

Три верхних уровня — прикладной, транспортный и сетевой — присутствуют как в RFC, так и у Таненбаума и других авторов. А вот стоит ли говорить только о канальном или о канальном и физическом уровнях — нет единого мнения. В RFC они объединены, поскольку выполняют одну функцию. В статье мы придерживаемся официального интернет-стандарта RFC и не выделяем физический уровень в отдельный. Далее мы рассмотрим четыре уровня модели.

Канальный уровень (link layer)

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

Этот уровень также вычисляет максимальное расстояние, на которое пакеты возможно передать, частоту сигнала, задержку ответа и т.д. Все это — физические свойства среды передачи информации. На канальном уровне самым распространенным протоколом является Ethernet, но мы рассмотрим его на примере в конце статьи.

Межсетевой уровень (internet layer)

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

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

Маска подсети и IP-адреса

Маска подсети помогает маршрутизатору понять, как и куда передавать пакет.

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

Протокол интернета — IP (Internet Protocol) используется маршрутизатором, чтобы определить, к какой подсети принадлежит получатель. Свой уникальный IP-адрес есть у каждого сетевого устройства, при этом в глобальной сети не может существовать два устройства с одинаковым IP. Он имеет два подвида, первым был принят IPv4 (IP version 4, версии 4) в 1983 году.

IPv4 предусматривает назначение каждому устройству 32-битного IP-адреса, что ограничивало максимально возможное число уникальных адресов 4 миллиардами (232). В более привычном для человека десятичном виде IPv4 выглядит как четыре блока (октета) чисел от 0 до 255, разделенных тремя точками. Первый октет IP-адреса означает его класс, классов всего 4: A, B, C, D.

Рассмотрим, например, IPv4 адрес класса С 223.135.100.7. Первые два октета 223.135 определяют класс, третий — .100 — это номер подсети, а последний означает номер сетевого оборудования. Например, если необходимо отправить информацию с компьютера номер 7 с IPv4 адресом 223.135.100.7 на компьютер номер 10 в той же подсети, то адрес компьютера получателя будет следующий: 223.135.100.10.

В связи с быстрым ростом сети интернет остро вставала необходимость увеличения числа возможных IP-адресов. В 1998 впервые был описан IPv6 (IP version 6, версии 6), который использует 128-битные адреса, и позволяет назначить уникальные адреса для 2128 устройств. Такого количества IPv6 адресов будет достаточно, чтобы назначить уникальный адрес для каждого атома на планете.

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

2DAB:FFFF:0000:0000:01AA:00FF:DD72:2C4A. 

Так как IPv6 адреса длинные, их разрешается сокращать по следующим правилам: ведущие нули допускается опускать, например в адресе выше :00FF: позволяется записывать как :FF:, группы нулей, идущие подряд тоже допустимо сокращать и заменять на двойное двоеточие, например, 2DAB:FFFF::01AA:00FF:DD72:2C4A. Допускается делать не больше одного подобного сокращения в адресе IPv6.

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

IP способен инкапсулировать другие протоколы, предоставлять место, куда они могут быть встроены. Как было сказано выше, IP — это 32 бита информации, первые 8 бит в заголовке IP — поля для указания номера инкапсулируемого протокола. Для IPv4 первые 8 бит — поле «протокол», для IPv6 — поле «следующий заголовок». Например, ICMP (межсетевой протокол управляющих сообщений) будет обозначен числом 1, а IGMP (межсетевой протокол группового управления) будет обозначен числом 2.

ICMP и IGMP

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

ICMP никогда не вызывается сетевыми приложениями пользователя, кроме случаев диагностики сети, к примеру, пинг (ping) или traceroute (tracert). ICMP не передает данные, это отличает его от транспортных TCP и UDP, расположенных на L3, которые переносят любые данные. ICMP работает только с IP четвертой версии, с IPv6 взаимодействует ICMPv6.

Сетевые устройства объединяются в группы при помощи IGMP, используемый хостами и роутерами в IPv4 сетях. IGMP организует multicast-передачу информации, что позволяет сетям направлять информацию только хостам, запросившим ее. Это удобно для онлайн-игр или потоковой передаче мультимедиа. IGMP используется только в IPv4 сетях, в сетях IPv6 используется MLD (Multicast Listener Discovery, протокол поиска групповых слушателей), инкапсулированный в ICMPv6.

Транспортный уровень (transport layer)

Постоянные резиденты транспортного уровня — протоколы TCP и UDP, они занимаются доставкой информации.

TCP (протокол управления передачей) — надежный, он обеспечивает передачу информации, проверяя дошла ли она, насколько полным является объем полученной информации и т.д. TCP дает возможность двум хостам производить обмен пакетами через установку соединения. Он предоставляет услугу для приложений, повторно запрашивает потерянную информацию, устраняет дублирующие пакеты, регулируя загруженность сети. TCP гарантирует получение и сборку информации у адресата в правильном порядке.

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

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

Протоколы L3 не интерпретируют информацию, полученную с верхнего или нижних уровней, они служат только как канал передачи, но есть исключения. RSVP (Resource Reservation Protocol, протокол резервирования сетевых ресурсов) может использоваться, например, роутерами или сетевыми экранами в целях анализа трафика и принятия решений о его передаче или отклонении в зависимости от содержимого.

Прикладной уровень (application layer)

В модели TCP/IP отсутствуют дополнительные промежуточные уровни (представления и сеансовый) в отличие от OSI. Функции форматирования и представления данных делегированы библиотекам и программным интерфейсам приложений (API) — своего рода базам знаний. Когда службы или приложения обращаются к библиотеке или API, те в ответ предоставляют набор действий, необходимых для выполнения задачи и полную инструкцию, каким образом эти действия нужно выполнять.

Протоколы прикладного уровня действуют для большинства приложений, они предоставляют услуги пользователю или обмениваются данными с «коллегами» с нижних уровней по уже установленным соединениям. Здесь для большинства приложений созданы свои протоколы, например HTTP для передачи гипертекста по сети, SMTP для передачи почты, FTP для передачи файлов, протокол назначения IP-адресов DHCP и прочие.

Зачем нужен порт и что означает термин сокет

Приложения прикладного уровня, общаются также с предыдущим, транспортным, но они видят его протоколы как «черные ящики». Для приема-передачи информации они могут работать с TCP или UDP, но понимают только конечный адрес в виде IP и порта, а не принцип их работы.

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

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

Так почтовые приложения, которые общаются по SMTP-протоколу, прослушивают порт 25, почта через POP3 приходит на 110-й, по HTTP принимают сообщения веб-сервера — это порт 80, 21-й зарезервирован за FTP. Порт всегда записывается после IP и отделяется от него двоеточием, выглядит это, например, так: 192.168.1.1:80.

Чтобы не запоминать числовые адреса интернет-серверов была создана DNS — служба доменных имен. DNS всегда слушает на 53 порту и преобразует буквенные имена сетевых доменов в числовые IP-адреса и наоборот. Служба DNS позволяет не запоминать IP — компьютер самостоятельно посылает запрос «какой IP у selectel.ru?» на 53 порт DNS-сервера, полученного от поставщика услуг интернет.

DNS-сервер дает компьютеру ответ «IP для selectel.ru — XXX.XXX.XXX.XXX». Затем, компьютер устанавливает соединение с веб-сервером полученного IP, который слушает на порту 80 для HTTP-протокола и на порту 443 для HTTPS. В браузере порт не отображается в адресной строке, а используется по умолчанию, но, по сути, полный адрес сайта Selectel выглядит вот так: https://selectel.ru:443.

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

Стек протоколов, снова канальный уровень

О канальном уровне модели TCP/IP мы рассказали меньше всего, давайте вернемся еще раз к началу, чтобы рассмотреть инкапсуляцию протоколов и, что значит «стек».

Большинству пользователей знаком протокол Ethernet. В сети, по стандарту Ethernet, устройства отправителя и адресата имеют определенный MAC-адрес — идентификатор «железа». MAC-адрес инкапсулируется в Ethernet вместе с типом передаваемых данных и самими данными. Фрагмент данных, составленных в соответствии с Ethernet называется фреймом или кадром (frame).

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

После ознакомления с уровневой структурой модели становится понятно, что информация не может передаваться между двумя компьютерами напрямую. Сначала кадры передаются на межсетевой уровень, где компьютеру отправителя и компьютеру получателя назначается уникальный IP. После чего, на транспортном уровне, информация передается в виде TCP-фреймов либо UDP-датаграмм.

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

Point-to-Point протоколы

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

У PPP есть два подвида — PPPoE (PPP по Ethernet) и PPPoA (PPP через асинхронный способ передачи данных — ATM), интернет-провайдеры часто их используют для DSL соединений.

PPP и его старший аналог SLIP (протокол последовательной межсетевой связи) формально относятся к межсетевому уровню TCP/IP, но в силу особого принципа работы, иногда выделяются в отдельную категорию. Преимущество PPP в том, что для установки соединения не требуется сетевая инфраструктура, а необходимость маршрутизаторов отпадает. Эти факторы обуславливают специфику использования PPP протоколов.

Заключение

Стек TCP/IP регламентирует взаимодействие разных уровней. Ключевым понятием в здесь являются протоколы, формирующие стек, встраиваясь друг в друга с целью передать данные. Рассмотренная модель по сравнению с OSI имеет более простую архитектуру.

Сама модель остается неизменной, в то время как стандарты протоколов могут обновляться, что еще дальше упрощает работу с TCP/IP. Благодаря всем преимуществам стек TCP/IP получил широкое распространение и использовался сначала в качестве основы для создания глобальной сети, а после для описания работы интернета.

Новый протокол uTP в µTorrent 2.0 создал проблемы для провайдеров и пользователей: rednyrg721 — LiveJournal

«Во второй версии торрент-клиента µTorrent была официально добавлена поддержка протокола uTP. Среди преимуществ протокола был заявлен более быстрый обмен файлами за счёт перехода на протокол UDP и, как следствие этого, уменьшение нагрузки на оборудование провайдеров и участников файлового обмена. Но, к сожалению, из-за плохой реализации работы протокола всё произошло наоборот, нагрузка на сетевое оборудование не уменьшилась, а увеличилась.
Увеличение нагрузки заметили как интернет-провайдеры, так и обычные пользователи торрент-клиента. Причиной возросшей нагрузки на оборудование стал малый размер пакетов (до 150 байт), передаваемых торрент-клиентом, вызвавший рост PPS (Packets Per Second) в 1,5-2 раза. В данный момент для снижения нагрузки интернет-провайдеры блокируют работу протокола uTP, заставляя µTorrent использовать для своей работы TCP-, а не UDP-соединения между пирами.
Для отключения протокола uTP в своём торрент-клиенте вам необходимо выставить параметр bt.transp_disposition в значение 5 в расширенных настройках клиента.»

Отсюда. Ещё на тему. Ещё.

Интересная получается штука — создатели популярной программы могут поставить на колени пол-интернета. А ответственности, как таковой, у них и нет ни перед кем (да и полных спецификаций протокола нету в открытом доступе даже вроде как). В 2008 году была паническая статейка на тему (оригинал, продолжение), но автора её засмеяли. А оказывается, он в чём-то прав был )

Пара-тройка цитат из обсуждения на форуме провайдеров (http://forum.nag.ru/forum/index.php?showtopic=55025):
«А можно ли расценивать действия разработчиков как попытку DDoS атаки и инкриминировать 272 статью УК РФ?
Создать хотя бы прецедент, дабы люди сначала думали, а потом уже делали, осознавая всю ответственность.»
«Согласен. Самое дурное в этой ситуации — то, что в открытом доступе даже нет полного описания этого uTP.»
«Да, и еще раз да.
Торент клиент сознательно формирует дос на шейп, цель загрузить его под завязку.»
«Проблема то в том, что поведение носит характер DDoS атак на провайдерское оборудование. И если у провайдеров покрупнее оборудование переваривает неглядя, то у других, данное поведение может вызывать очень большие осложнения во всей сети. Т.е. работа отдельно взятой программы может стать причиной неработоспособности целой сети. И, откровенно говоря, не всякий провайдер сможет оперативно отреагировать на возникшую проблему — заменить те же серверы доступа/роутеры на высокопроизводительные не всем по карману. Особенно если речь идет о небольших провайдерах, работающих в масштабах маленьких городов и поселков.
С другой стороны — чем больше волнений на эту тему будет, тем быстрее (покрайней мере очень надеюсь на это) разработчики исправят данный недочет в своем ПО.
Есть еще один момент в данном вопросе, о котором многие забывают. Даже если провайдерское оборудование переваривает сие издевательство не моргнув и глазом, то есть такие зловещие девайсы как «бытовые роутеры» в том числе с wifi на борту, которые буквально таки помирают под натиском пакетной нагрузки (http://vilianov.habrahabr.ru/blog/84111/). А пользователи зачастую валят все на провайдеров, не понимая, что сами являются виноватыми в том что их роутеры перестают работать.»

UPD 13.03 Подробный пост на тему с предысторией и кучей технических подробностей.

UDP и TCP — в чем разница между этими протоколами?

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

Несмотря на то, что протоколы UDP и TCP ориентированы на выполнение одной задачи – передачу данных, между ними существует ряд принципиальных отличий.

  1. Процесс установки соединения. В UDP в нем нет необходимости, в то время как TCP нуждается в обязательной процедуре начала сеанса, состоящей из трех этапов.
  2. Гарантия обмена трафиком. TCP отправляет запрос на предмет целостности данных – если в ответ поступает запрос о потерянных пакетах, они будут отправлены повторно. За счет этого обеспечивается абсолютная гарантия целостной передачи. Использование UDP, в свою очередь, может привести к потере некоторого количества пакетов.
  3. Управление и контроль потока. TCP осуществляет комплексный контроль и управление потоком информации, а в UDP это не нужно.
  4. Порядок доставки. Специфика TCP заключается в том, что все пакеты отправляются в формате строгой очередности. UDP доставляет сообщения в виде не упорядоченных датаграмм.
  5. Уведомление о перегрузках. Если в рамках передачи данных возникнут перегрузки, TCP отправит соответствующее уведомление. Протокол UDP не предоставляет какой-либо защиты от перегрузки.
  6. Сохранение границ переданных сообщений. Протокол TCP хоть и не может сохранить границы переданных сообщений, предоставляет гарантию их целостности. Применение протокола UDP предусматривает сохранение границ каждой пересланной датаграммы.
  7. Функция сборки и сегментации пакетов передаваемой информации. Поддерживается только в рамках протокола TCP.
  8. Процедура проверки достижимости. Является обязательной только для протокола TCP, в то время как протокол UDP физически не поддерживает ее.
  9. Взаимодействие с соединениями полуоткрытого типа. В рамках протокола TCP никогда не происходит повторная синхронизация. А вот протокол UDP устанавливает соединение методом повторной передачи запроса к конечному пользователю.

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

Чтобы обеспечить надежное соединение, протокол TCP предусматривает трехэтапный запуск сеанса связи. Клиент и сервер должны передавать значения ISN и порта. Еще одна отличительная особенность протокола TCP заключается в использовании контрольной суммы, с помощью которой система проверяет, правильно ли передана информация конечному пользователю.

Протокол TCP используют следующие приложения:

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

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

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

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

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

Кроме того, применение протокола TCP является гарантией надежности доставки. В случае некорректной отправки сообщения пользователь всегда получит соответствующее уведомление в виде окна с информацией о возникшей ошибке.

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

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

UDP – протокол, который обеспечивает высокую скорость отправки пакетов данных, но без гарантии их доставки. Если для конечного пользователя важна надежность доставки с сохранением порядка отправки данных, придется переходить на использование протокола TCP. Применение протокола UDP актуально, если проводится групповая и широковещательная передача данных. Вот почему он пользуется большой популярностью в области потокового интернет-видео, а также в игровой индустрии.

Пожалуйста, оставляйте свои мнения по текущей теме материала. Мы очень благодарим вас за ваши комментарии, дизлайки, отклики, подписки, лайки!

Пожалуйста, опубликуйте ваши комментарии по текущей теме статьи. За комментарии, подписки, дизлайки, отклики, лайки огромное вам спасибо!

Пожалуйста, опубликуйте ваши мнения по текущей теме статьи. Мы крайне благодарны вам за ваши комментарии, дизлайки, лайки, подписки, отклики!

АРАлина Рыбакавтор

Включение и выключение протоколов

Укажите, следует ли включить или выключить функцию каждого протокола. С помощью этой установки вы можете указать доступные протоколы и, таким образом, предотвратить неавторизованный доступ через сеть. Настройки сети можно выполнить на панели управления или с помощью Web Image Monitor, telnet, Device Manager NX или Remote Communication Gate S. Если выбрано Device Manager NX, запустите с его помощью Web Image Monitor и выполните настройки в приложении.

Протокол

Порт

Метод настройки

Если отключен

IPv4

Приложения, работающие через IPv4, не удастся использовать.

При использовании передачи IPv4 отключение IPv4 невозможно из Web Image Monitor.

IPv6

Приложения, работающие через IPv6, не удастся использовать.

IPsec

Шифрованная передача с помощью IPsec отключена.

FTP

TCP:21

Не могут быть использованы функции, требующие FTP.

Вы можете ограничить отображение личной информации, выполнив настройки на панели управления с помощью «Запр.отобр.информации польз.».

ssh/sftp

TCP:22

Не могут быть использованы функции, требующие sftp.

Вы можете ограничить отображение личной информации, выполнив настройки на панели управления с помощью «Запр.отобр.информации польз.».

telnet

TCP:23

  • Web Image Monitor

  • Device Manager NX

Команды, использующая telnet, отключены.

SMTP

TCP:25

(переменная)

Интернет-факс и функции уведомления по электронной почте, требующие прием SMTP, использовать не удастся.

HTTP

TCP:80

  • Web Image Monitor

  • telnet

  • Device Manager NX

Не могут быть использованы функции, требующие HTTP.

Невозможно выполнить печать с использованием IPP на порте 80.

HTTPS

TCP:443

  • Web Image Monitor

  • telnet

  • Device Manager NX

Функции, требующие применения HTTPS, не могут быть использованы.

Нельзя использовать @Remote.

Вы можете также выполнить настройки, чтобы запросить SSL-передачу с использованием панели управления или Web Image Monitor.

SMB

TCP:139

Не могут использоваться функции печати SMB.

NBT

UDP:137

UDP:138

Не могут быть использованы функции печати SMB через TCP/IP, а также распределенные функции NetBIOS на сервере WINS.

SNMPv1,v2

UDP:161

Не могут быть использованы функции, требующие SNMPv1, v2.

С помощью панели управления Web Image Monitor или telnet вы можете задать, чтобы настройки SNMPv1, v2 были доступны только для чтения и не могли быть изменены.

SNMPv3

UDP:161

Не могут быть использованы функции, требующие SNMPv3.

С помощью панели управления, Web Image Monitor или telnet можно также указать установки, которые обеспечат зашифрованную передачу SNMPv3 и запретить использование других методов передачи.

RSH/RCP

TCP:514

Функции, которые требуют RSH и TWAIN-сети, не могут использоваться.

Вы можете ограничить отображение личной информации, выполнив настройки на панели управления с помощью «Запр. отобр.информации польз.».

LPR

TCP:515

Функции LPR не могут использоваться.

Вы можете ограничить отображение личной информации, выполнив настройки на панели управления с помощью «Запр.отобр.информации польз.».

IPP

TCP:631

Не могут быть использованы функции IPP.

IP-Fax

TCP:1720 (H.323)

UDP:1719 (Привратник)

TCP/UDP:5060 (SIP)

TCP:5000 (H.245)

UDP:5004, 5005 (Voice)

TCP/UDP:49152 (T.38)

Для IP-факса функции подключения, использующие H. 323, SIP и T.38, использоваться не могут.

SSDP

UDP:1900

  • Web Image Monitor

  • telnet

  • Device Manager NX

Обнаружение устройств с помощью UPnP из Windows недоступно.

Bonjour

UDP:5353

Не могут использоваться функции Bonjour.

@Remote

TCP:7443

TCP:7444

Нельзя использовать @Remote.

DIPRINT

TCP:9100

Не могут использоваться функции DIPRINT.

RFU

TCP:10021

Встроенное ПО можно обновить через FTP.

NetWare

(IPX/SPX)

Печать через NetWare невозможна.

Не удается использовать SNMP через IPX.

WSD (устройство)

TCP:53000

(переменная)

Функции WSD (устройство) не могут быть использованы.

WSD (принтер)

TCP:53001

(переменная)

Функции WSD (принтер) не могут быть использованы.

WSD (сканер)/DSM

TCP-53002

(переменная)

Функции WSD (Сканер) и DSM не могут использоваться.

WS-Discovery

UDP/TCP:3702

Функции поиска WSD (устройство, принтер, сканер) использоваться не могут.

RHPP

TCP:59100

  • Web Image Monitor

  • telnet

  • Device Manager NX

Печать через RHPP невозможна.

LLTD

Невозможно использовать функцию поиска устройства с помощью LLTD.

LLMNR

UDP:5355

Невозможно отвечать на запросы разрешения имен с помощью LLMNR.

Wireshark · Показать ссылку на фильтр: транспортный протокол uTorrent

Имя поля Описание Тип Версии
bt-utp.ack_nr Номер подтверждения Беззнаковое целое, 2 байта от 1.6.0 до 3.6.2
bt-utp.connection_id Идентификатор соединения Целое число без знака, 4 байта от 1.6.0 до 3.6.2
бт-утп.данные Данные Последовательность байтов от 1.10.0 до 3.6.2
bt-utp.расширение Расширение Этикетка от 1. 6.0 до 3.6.2
bt-utp.extension_bitmask Битовая маска расширения Последовательность байтов от 1.6.0 до 3.6.2
bt-utp.extension_len Длина удлинителя Беззнаковое целое, 1 байт 1.от 6.0 до 3.6.2
bt-utp.extension_unknown Внутренний номер неизвестен Последовательность байтов от 1.6.0 до 3.6.2
бт-утп.флаги Флаги Беззнаковое целое, 1 байт от 1.6.0 до 3.6.2
bt-utp.next_extension_type Тип следующего расширения Беззнаковое целое, 1 байт от 1.6.0 до 3.6.2
bt-utp.seq_nr Порядковый номер Беззнаковое целое, 2 байта 1.от 6.0 до 3.6.2
bt-utp.timestamp_diff_us Разница временных меток в микросекундах Целое число без знака, 4 байта от 1. 6.0 до 3.6.2
bt-utp.timestamp_sec Отметка времени в секундах Целое число без знака, 4 байта от 1.6.0 до 3.6.2
bt-utp.timestamp_us Отметка времени в микросекундах Целое число без знака, 4 байта 1.6.0 до 3.6.2
bt-utp.type Тип Беззнаковое целое, 1 байт от 1.6.0 до 3.6.2
бт-утп.вер Версия Беззнаковое целое, 1 байт от 1.6.0 до 3.6.2
bt-utp.wnd_size Размер окна Беззнаковое целое, 1 байт от 1.6.0 до 3.6.2

Ключевое различие между протоколами TCP и UDP

Что такое TCP?

TCP/IP помогает вам определить, как конкретный компьютер должен быть подключен к Интернету и как вы можете передавать данные между ними.Это поможет вам создать виртуальную сеть, когда несколько компьютерных сетей подключены.

TCP/IP расшифровывается как Протокол управления передачей/Интернет-протокол. Он специально разработан как модель для обеспечения высоконадежного сквозного потока байтов через ненадежную межсетевую сеть.

В этом руководстве по различиям TCP и UDP вы узнаете:

Что такое UDP?

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

ОСНОВНЫЕ ОТЛИЧИЯ:

  • TCP — это протокол с установлением соединения, тогда как UDP — это протокол без установления соединения.
  • Скорость для TCP ниже, а скорость для UDP выше
  • TCP использует протокол квитирования, такой как SYN, SYN-ACK, ACK, в то время как UDP не использует протоколы квитирования
  • TCP выполняет проверку ошибок, а также исправление ошибок, с другой стороны, UDP выполняет проверку ошибок, но отбрасывает ошибочные пакеты.
  • TCP имеет сегменты подтверждения, но UDP не имеет сегмента подтверждения.
  • Когда мы сравниваем протоколы TCP и UDP, TCP имеет большой вес, а UDP — легкий.

Как работает TCP?

Установлено TCP-соединение с помощью трехэтапного рукопожатия. Это процесс инициирования и подтверждения соединения. Как только соединение установлено, начинается передача данных, а когда процесс передачи завершен, соединение прерывается путем закрытия установленного виртуального канала.

Как работает UDP?

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

Особенности TCP

Вот некоторые важные особенности TCP:

  • Подтверждение доставки
  • Повторная передача
  • Задерживает передачу при перегрузке сети
  • Простое обнаружение ошибок

Вот некоторые важные особенности UDP:

  • Поддерживает приложения с интенсивным использованием полосы пропускания, допускающие потерю пакетов
  • Меньше задержки
  • Отправляет большое количество пакетов.
  • Возможность потери данных
  • Разрешает небольшие транзакции (поиск DNS)

Разница между TCP и UDP

Вот основные различия между UDP и TCP:

Разница между UDP и TCP


TCP УДП
Это протокол, ориентированный на соединение. Это протокол без установления соединения.
TCP считывает данные в виде потоков байтов, и сообщение передается на границы сегмента. Сообщения UDP содержат пакеты, отправленные один за другим. Он также проверяет целостность во время прибытия.
Сообщения TCP проходят через Интернет с одного компьютера на другой. Это не основано на соединении, поэтому одна программа может отправлять много пакетов другой.
TCP переупорядочивает пакеты данных в определенном порядке. Протокол UDP не имеет фиксированного порядка, поскольку все пакеты независимы друг от друга.
Скорость для TCP ниже. UDP работает быстрее, так как не предпринимается попытка восстановления после ошибки.
Размер заголовка 20 байт Размер заголовка 8 байт.
TCP тяжеловесный. TCP требуется три пакета для установки соединения сокета, прежде чем можно будет отправить какие-либо пользовательские данные. UDP легковесен. Отсутствует отслеживание соединений, упорядочивание сообщений и т.п.
TCP выполняет проверку ошибок, а также исправление ошибок. UDP выполняет проверку ошибок, но отбрасывает ошибочные пакеты.
Сегменты подтверждения Нет сегментов подтверждения
Использование протокола квитирования, такого как SYN, SYN-ACK, ACK Нет рукопожатия (поэтому протокол без установления соединения)
TCP надежен, поскольку гарантирует доставку данных на маршрутизатор назначения. Доставка данных получателю не может быть гарантирована в UDP.
TCP предлагает расширенные механизмы проверки ошибок, поскольку он обеспечивает управление потоком и подтверждение данных. UDP имеет только один механизм проверки ошибок, который используется для контрольных сумм.

Приложения TCP

Вот приложения TCP:

  • Помогает установить/настроить соединение между различными типами компьютеров.
  • Работает независимо от операционной системы
  • Поддерживает множество протоколов маршрутизации.
  • Обеспечивает межсетевое взаимодействие между организациями.
  • Может работать независимо.
  • Поддерживает несколько протоколов маршрутизации.
  • TCP можно использовать для установления соединения между двумя компьютерами.

Применение UDP

Вот приложения UDP:

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

Преимущества TCP

Вот плюсы/преимущества TCP:

  • Помогает установить/настроить соединение между различными типами компьютеров.
  • Работает независимо от операционной системы.
  • Поддерживает множество протоколов маршрутизации.
  • Обеспечивает межсетевое взаимодействие между организациями.
  • Модель
  • TCP/IP имеет хорошо масштабируемую архитектуру клиент-сервер.
  • Может работать независимо.
  • Поддерживает несколько протоколов маршрутизации.
  • Может использоваться для установления соединения между двумя компьютерами.

Преимущества UDP

Вот плюсы/преимущества UDP:

  • Он никогда не ограничивает вас моделью связи на основе соединения; вот почему задержка запуска в распределенных приложениях мала.
  • Получатель пакетов UDP получает их неуправляемыми, что также включает в себя границы блоков.
  • Широковещательная и многоадресная передача также доступна с UDP
  • .
  • Возможна потеря данных
  • Малая транзакция (поиск DNS)
  • Приложение с интенсивным использованием полосы пропускания, которое допускает потерю пакетов

Недостатки TCP

Вот недостатки использования TCP:

  • TCP никогда не завершает передачу без явного запроса всех данных в движении.
  • Нельзя использовать для широковещательной или многоадресной передачи.
  • TCP не имеет границ блоков, поэтому вам нужно создать свой собственный.
  • TCP предлагает множество функций, которые вам не нужны. Это может привести к потере полосы пропускания, времени или усилий.
  • В этой модели транспортный уровень не гарантирует доставку пакетов.
  • Заменить протокол в TCP/IP непросто.
  • Он не предлагает четкого отделения от своих служб, интерфейсов и протоколов.

Недостатки UDP

Вот минусы/недостатки UDP:

  • В протоколе UDP пакет не может быть доставлен или доставлен дважды.Он может быть доставлен не по порядку, поэтому вы не получите никаких указаний.
  • Маршрутизаторы довольно небрежно относятся к UDP, поэтому они никогда не передают его повторно, если он конфликтует.
  • UDP не имеет управления перегрузкой и управления потоком, поэтому реализация — это работа пользовательского приложения.
  • UDP больше всего страдает от потери пакетов

Когда использовать UDP и TCP?

Теперь давайте сравним протоколы TCP и UDP:

  • TCP — это идеальный выбор, и даже он связан с дополнительными издержками. Поэтому, когда большая часть служебных данных приходится на соединение, ваше приложение остается подключенным в течение любого промежутка времени.
  • UDP идеально подходит для мультимедийных приложений, таких как VoIP.
  • Использовать сокеты TCP, когда и клиент, и сервер независимо отправляют пакеты в это время; случайная задержка приемлема. (например, онлайн-покер).
  • Вам следует использовать пользовательский UDP, если и клиент, и сервер могут отправлять пакеты по отдельности, а случайные задержки также недопустимы. (например, многопользовательские игры).

Протокол пользовательских дейтаграмм – обзор

3.3.1 Реализация UDP

Протокол UDP, определенный в RFC 768, обеспечивает очень небольшую функциональность по сравнению с нижележащим сетевым уровнем IP, что обеспечивает максимальную гибкость.Приложения, которые создают UDP-сокеты для отправки данных, не должны полагаться на то, что отправляемые данные будут получены. Однако UDP привлекателен по нескольким причинам:

Нет задержки в отправке информации. Как видно из кода UDP для нашего приложения boid, мы видим точку, в которую отправляется сегмент UDP. Это немедленно отправляет сообщение.

Нет настройки соединения. Клиенты UDP просто отправляют сообщения на серверы, и серверу не нужно ожидать, что какой-либо конкретный клиент отправит сообщение. Это отличается от TCP, см. следующий раздел.

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

Заголовок UDP очень мал.

Сегмент UDP представлен, как показано на рис. 3.4. Каждый сегмент UDP включает исходный порт и порт назначения.Это 16-битные числа, поэтому они должны лежать в диапазоне 0–65535. Как мы уже отмечали, порт назначения должен быть известен клиентскому (отправляющему) процессу. Однако исходный порт не так важен; он нужен только для возврата пакетов отправителю. Таким образом, на уровне приложения при создании сокета UDP для отправки сообщения можно либо запросить конкретный порт, либо получить случайный. Сегмент UDP также включает в себя длину данных и контрольную сумму данных, опять же 16 бит. Длина включает заголовок, поэтому общая длина сегмента UDP не должна превышать 65 536 байт. Контрольная сумма позволяет в некоторых случаях проверять в пункте назначения, что пакет UDP не поврежден; есть и другие подобные проверки на других уровнях стека протоколов.

Рисунок 3.4. Структура сегмента UDP

На рис. 3.5 показано соотношение между исходным и целевым портами. Транспортный уровень должен мультиплексировать и демультиплексировать пакеты сетевого уровня для правильного прикладного процесса. Справа, на нижних уровнях, находится последовательность входящих кадров, которая становится последовательностью входящих пакетов.Сетевой уровень передает их на транспортный уровень, который затем распределяет их по правильному процессу приложения в зависимости от их порта назначения. На этом рисунке сегмент UDP был получен для порта 2, но другой сегмент UDP был получен для порта 3. Сегменты для port2 и port3 распределяются по разным приложениям.

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

. Давайте подробно рассмотрим протокол UDP в нашем приложении boids, которое использует отдельный сокет для отправки и получения сообщений. Мы запустили процесс на двух машинах: seychelles.cs.ucl.ac.uk (с IP-адресом 128.16.3.52) и narok.cs.ucl.ac.uk (128.16.13.118). Сначала мы запустили процесс Java UDP boids на narok со следующей командной строки:

java -jar boidsUDP.jar 10 128.16.3.52 15000 15001

Это означает, что мы будем моделировать 10 боидов. Наш процесс сотрудничества осуществляется по телефону 128.16.3.52 (сейшельские острова). Принимающий порт на этой машине — 15001. Мы также создадим порт сервера на нашей машине на порту 15000. Через несколько секунд мы начали процесс на Сейшельских островах с

java -jar boidsUDP. jar 10 128.16.13.118 15001 15000

Обратите внимание на перестановку двух серверных портов.На рис. 3.6 показано представление сообщений между двумя хостами, на которых запущено приложение boids. В Wireshark мы отфильтровали весь остальной трафик, не связанный с приложением boids. Мы видим только пакеты UDP, половина с IP-адресом источника 128.16.13.118 и IP-адресом назначения 128.16.3.52 и половина с обменом IP-адресами источника и назначения. Мы выбрали кадр 1210 из журнала. Информация справа сначала немного сбивает с толку, в ней указано, что порт источника — qt-serveradmin , а порт назначения — hydap .Но взгляд на среднюю панель прояснит для нас ситуацию.

Рисунок 3.6. Информация о сегменте UDP для кадра 1210 демонстрации UDP boids

В средней панели мы выбрали уровень UDP. Он говорит нам, что «Src Port» — это qt-serveradmin (1220), а «Dst Port» — это hydap (15000). Это сообщение boid, идущее со случайно выбранного (1220) исходного порта на Сейшельских островах на известный серверный порт (15000) на Нароке. Причина, по которой мы видим qt-serveradmin и hydap, заключается в том, что эти службы, как известно, используют эти порты.На веб-сайте IANA, о котором мы упоминали ранее, они перечислены рядом с портами 1220 и 15000. Wireshark автоматически использует очень похожую таблицу, чтобы угадать, какой протокол используется, но в нашем случае эти предположения неверны. Мы не можем полностью избежать такой путаницы: исходный UDP-порт выбирается случайным образом, но мы могли бы использовать порт сервера, который обычно не используется. Если вы посмотрите на рис. 3.6, на следующий кадр, 1211, вы увидите, что Wireshark не угадал службу для порта 15001, а веб-сайт IANA указывает, что этот порт не назначен.В средней панели мы также видим, что длина равна 633: это сообщение приложения (625 байт) плюс 8 байтов для заголовка UDP. Контрольная сумма — 0x300d, и Wireshark указывает в квадратных скобках, что это правильно.

В нижнем кадре выделены восемь байтов, которые составляют заголовок UDP. Справа от этого нижнего кадра мы видим, что сразу после этого выделенного раздела мы можем распознать последовательность чисел с плавающей запятой, представленную в виде строк ASCII.

На рис. 3.7 показана сводная информация для последующего кадра, кадра 1211, который представляет собой сообщение boid в обратном направлении. Здесь мы видим, что исходный порт на narok был выбран случайным образом как порт 1220. Обратите внимание, что этот фрейм немного меньше (661 байт). Размер сообщения изменится, потому что используемые нами строки ASCII не имеют постоянной длины: например, если они отрицательные, будет знак «–».

Рисунок 3.7. Сводная информация для кадра 1211

Полная ситуация с адресами и портами источника и назначения показана на рисунке 3.8.

Рисунок 3.8. IP-адрес и номера портов для примера приложения UDP boids

Основы сети

Основы сети

Прежде чем приступить к управлению сетью Solaris, необходимо знать определения некоторых терминов, используемых в сети. Существует множество аббревиатур, связанных с сетью, и многие из них объясняются в следующих разделах. Сначала вы узнаете о сетевой модели, развернутой в Solaris 10, а затем узнаете о доступных типах сетей, включая различные сетевые протоколы. Наконец, вы узнаете о физических компонентах сетевого оборудования, включая сетевые интерфейсы и кабели.

Сетевые топологии

Термин «топология сети» относится к общей картине сети и устройству, в котором узлы в сети связаны друг с другом. Топология описывает малые и большие сети, включая локальные сети (LAN) и глобальные сети (WAN).

ЛВС

LAN — это набор хостов, обычно находящихся в одном здании и на одном этаже, соединенных высокоскоростной средой, такой как Ethernet.ЛВС может быть одной сетью Интернет-протокола (IP) или набором сетей или подсетей, соединенных через высокоскоростные коммутаторы и/или маршрутизаторы.

Сетевой интерфейс, кабель или провод, используемый для компьютерных сетей, называется сетевой средой. Обычно узлы в локальной сети соединяются витой парой или оптоволоконным кабелем. Кабель с витой парой имеет меньшую пропускную способность, чем оптическое волокно, но он дешевле и проще в установке. В кабеле с витой парой два отдельных провода скручены друг вокруг друга, чтобы свести к минимуму помехи от других витых пар в кабеле. Кабель с витой парой доступен в двух различных категориях:

  • Неэкранированная витая пара (UTP) UTP используется в большинстве сетевых сред, где электромагнитные помехи не представляют проблемы.

  • Экранированная витая пара (STP) STP используется в шумной среде; металлический экран вокруг проводов защищает от чрезмерных электромагнитных помех.

Кроме того, витая пара может быть многопроволочной или сплошной (калибр от 22 до 26).Чаще всего используется многожильный провод, потому что он очень гибкий и его можно согнуть вокруг углов. Одножильный кабель подвержен меньшему затуханию (то есть потере сигнала) и может прокладываться на большие расстояния, но он менее гибок, чем многожильный провод, и может сломаться, если его неоднократно сгибать.

Кроме того, согласно стандарту EIA/TIA-568 Альянса электронной промышленности/Ассоциации телекоммуникационной промышленности (EIA/TIA) кабель подразделяется на семь категорий в зависимости от его пропускной способности. Категории перечислены в таблице 8.1.

2

8 8 3

9 8 UTP, STP

98 4

Таблица 8.1. Кабельные Категории

Категория

Тип кабеля

Применение

1

UTP

Аналоговый голос

2

16MBP Data

UTP, STP

20 Мбит данных

5

UTP, STP

10 Мбит и 100 Мбит данных

5e

UTP, STP

1000 Мбит данных (1Gbps)

6

УТП, STP

Данные 155 Мбит/с (ATM) и 1000 Мбит/с (1 Гбит/с)

Вы можете увидеть из Таблицы 8. 1 видно, что существует несколько вариантов витой пары, каждый из которых имеет разную пропускную способность. Например, кабель UTP категории 5 (Cat 5) может поддерживать постоянную скорость передачи данных 100 Мбит/с.

глобальных сетей

Глобальная сеть ( WAN ) — это сеть, охватывающая потенциально обширную географическую область. Примером глобальной сети является Интернет. Другим примером является корпоративная сеть, которая связывает отдельные офисы одной корпорации в одну сеть, охватывающую всю страну или, возможно, весь континент.WAN, в отличие от LAN, обычно использует сторонних поставщиков услуг для соединения. Среди новичков в мире сетей распространено заблуждение, что глобальная сеть — это просто локальная сеть, но в большем масштабе. Это неверно, поскольку в локальных и глобальных сетях используются разные технологии, оборудование и протоколы. Например, Ethernet — это технология LAN, которая обычно не используется в глобальных сетях (но это меняется с более широкой доступностью и более низкой стоимостью высокоскоростных оптоволоконных соединений на большие расстояния).

Сетевые протоколы и сетевые модели

Сетевой протокол — это часть сети, которую вы настраиваете, но не видите.Это «язык» сети, который управляет передачей данных между системами по сети. Чтобы понять протоколы, вам нужно сначала понять сетевые модели.

Сетевая модель — это абстрактная общая структура, используемая для описания связи между системами. Двумя сетевыми моделями, которые обеспечивают основу для сетевого взаимодействия и являются стандартами, используемыми в сетевых средах Solaris, являются эталонная модель Международной организации по стандартизации (ISO)/Взаимодействия открытых систем (OSI) и Протокол управления передачей/Интернет-протокол (TCP/IP). ) модель.Эти модели обсуждаются в следующих разделах.

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

Модель ISO/OSI

Семиуровневая модель ISO/OSI была разработана в начале 1980-х годов. Хотя эта модель представляет собой идеальный мир и несколько бессмысленна в сегодняшней сетевой среде, она весьма полезна для определения отдельных функций, необходимых для осуществления сетевого взаимодействия.

В модели ISO/OSI отдельные службы, необходимые для связи, организованы в семь уровней, которые строятся друг на друге. Каждый уровень описывает определенную сетевую функцию, как показано на рис. 8.1.

Рисунок 8.1. Семиуровневая модель ISO/OSI.

В таблице 8.2 описаны функции каждого отдельного уровня.

Таблица 8.2. Семь слоев модели ISO / OSI

78

8

1

Физический

Описывает сетевое оборудование, включая электрические и механические соединения с сетью.

2

Канал передачи данных

Разбивает данные на кадры для отправки на физическом уровне и получает кадры подтверждения. Канальный уровень выполняет проверку ошибок и повторно передает кадры, которые не были приняты правильно.

3

Сеть

Управляет доставкой данных через канальный уровень и используется транспортным уровнем. Наиболее распространенным протоколом сетевого уровня является IP.

4

Транспорт

Определяет, как использовать сетевой уровень для обеспечения практически безошибочного соединения «точка-точка», чтобы хост A мог отправлять сообщения на хост B, которые приходят неповрежденными. и в правильном порядке. TCP работает на этом уровне.

5

Сеанс

Использует транспортный уровень для установления соединения между процессами на разных хостах.Уровень сеанса обеспечивает безопасность и создание сеанса.

6

Представление

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

7

Приложение

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


Модель TCP/IP

Чтобы сеть функционировала должным образом, информация должна быть доставлена ​​по назначению в понятной форме. Поскольку для выполнения сетевых функций необходимо взаимодействие различных типов сетевого программного и аппаратного обеспечения, разработчики разработали набор протоколов связи TCP/IP (набор протоколов), который в настоящее время признан стандартом и используется во всем мире.Поскольку это набор стандартов, протокол TCP/IP работает на многих типах компьютеров, что упрощает настройку гетерогенной сети с любой операционной системой, поддерживающей TCP/IP. Операционная система Solaris включает сетевое программное обеспечение для реализации набора протоколов связи TCP/IP.

Модель TCP/IP — это набор протоколов сетевой связи, состоящий из набора формальных правил, описывающих, как программное и аппаратное обеспечение должны взаимодействовать в сети. Модель TCP/IP имеет пять уровней:

.
  • слой аппаратного обеспечения

  • слой сетевого интерфейса

  • Интернет слой

  • Транспортный слой

  • Уровень приложений

Экзаменационный оповещение

Четыре или пять уровней Будьте осторожны на экзамене, поскольку Sun использовала как четырехуровневое, так и пятиуровневое описание этой модели, начиная с Solaris 8. Если вопрос описывает четырехуровневую модель, то аппаратный уровень следует рассматривать как интегрированный. со слоем сетевого интерфейса.

Каждый из них обсуждается в следующих разделах.

Аппаратный уровень

Аппаратный уровень модели TCP/IP соответствует физическому уровню модели ISO/OSI и описывает сетевое оборудование, включая электрические и механические соединения с сетью. Этот уровень регулирует передачу неструктурированных битовых потоков через среду передачи, которая может быть одной из следующих:

  • Ethernet (описано в стандарте 802 Института инженеров по электротехнике и электронике [IEEE]. 3. IEEE 802.11)

Примечание

В Solaris 10 удалена поддержка Token Ring, так как теперь она считается устаревшей технологией.

Для каждого носителя IEEE создал соответствующий стандарт в рамках проекта 802, который был назван в честь месяца (февраль) и года (1980) его создания.У каждого носителя есть свой стандарт, названный в честь проекта 802. Например, у Ethernet есть свой стандарт: 802.3.

Уровень сетевого интерфейса

Уровень сетевого интерфейса модели TCP/IP соответствует канальному уровню ISO/OSI; он управляет доставкой данных по физической сети. Этот уровень обеспечивает обнаружение ошибок и кадрирование пакетов. Фрейминг — это процесс сборки битов в управляемые блоки данных. Кадр — это последовательность битов с четко определенным началом и концом.

Протоколы уровня сетевого интерфейса включают следующее:

Эти протоколы описаны далее в этой главе.

Уровень Интернета

Интернет-уровень модели TCP/IP соответствует сетевому уровню ISO/OSI и управляет адресацией и доставкой данных между сетями, а также фрагментацией данных для уровня канала передачи данных. Интернет-уровень использует следующие протоколы:

.
  • IP IP — это набор методов передачи данных по сети.Большая часть трафика в Интернете использует IP в сочетании с другими протоколами, такими как протокол управления передачей (TCP) и протокол пользовательских дейтаграмм (UDP). IP определяет путь, по которому должен пройти пакет, на основе IP-адреса узла назначения. Solaris 10 поддерживает IP версии 4 (IPv4) и IP версии 6 (IPv6), которые обсуждаются далее в этой главе.

  • Протокол управляющих сообщений Интернета (ICMP) ICMP позволяет генерировать сообщения об ошибках, тестовые пакеты и информационные сообщения, относящиеся к IP.

  • Протокол разрешения адресов (ARP) ARP определяет метод, который сопоставляет 32-битный IP-адрес с 48-битным адресом Ethernet.

  • Протокол обратного разрешения адресов (RARP) RARP — это обратный протокол ARP. Он сопоставляет 48-битный адрес Ethernet с 32-битным IP-адресом.

Транспортный уровень

Транспортный уровень модели TCP/IP соответствует транспортному уровню модели ISO/OSI и гарантирует, что сообщения достигают правильного прикладного процесса с помощью программы управления передачей (TCP) и протокола пользовательских дейтаграмм (UDP).

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

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

Прикладной уровень

Прикладной уровень модели TCP/IP соответствует сеансовому уровню, уровню представления и прикладному уровню модели ISO/OSI. Прикладной уровень модели TCP/IP управляет пользовательскими прикладными программами и сетевыми службами. Этот уровень отвечает за определение способа представления данных взаимодействующими сетями. К протоколам прикладного уровня относятся следующие:

  • Сетевая файловая система (NFS) Этот клиент-серверный протокол и приложение описаны в главе 9, «Виртуальные файловые системы, пространство подкачки и дампы ядра».

  • Сетевая информационная система (NIS), Сетевая информационная система Plus (NIS+), Система доменных имен (DNS) и Упрощенный протокол доступа к каталогам (LDAP) Эти службы именования описаны в главе 12, «Службы именования.»

  • rlogin, Telnet и FTP Эти сетевые службы описаны в разделе «Сетевые службы» далее в этой главе.

  • Протокол передачи гипертекста (HTTP) HTTP используется в World Wide Web для отображения текста , изображения и звук через веб-браузер

  • Простой почтовый транспортный протокол (SMTP) SMTP обеспечивает доставку сообщений электронной почты

  • Удаленный вызов процедур (RPC) RPC — это протокол, который одна программа может использовать для запроса служб из другой системы в сети. RPC описан в разделе «Сетевые службы» далее в этой главе.

  • Протокол маршрутной информации (RIP) RIP обеспечивает автоматическое распределение маршрутной информации между системами. Solaris 10 включает RIP версии 2 (RIPv2), существенное обновление RIP.

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

Предупреждение об экзамене

Знание уровней и функций Для экзамена убедитесь, что вы знакомы с уровнями как семиуровневой модели OSI, так и модели TCP/IP.Вы должны быть в состоянии идентифицировать функции/протоколы, которые работают на каждом уровне, и порядок, в котором обрабатываются уровни.


Инкапсуляция и декапсуляция

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

Например, в TCP/IP пакет будет содержать заголовок физического уровня, за которым следует заголовок сетевого уровня (IP), за которым следует заголовок транспортного уровня (TCP), а затем данные протокола приложения. .

Пакеты

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

Ethernet

Ethernet — это стандарт, определяющий физические компоненты, которые машина использует для доступа к сети, и скорость, с которой работает сеть. Он включает спецификации кабелей, разъемов и компонентов компьютерного интерфейса. Ethernet — это технология LAN, которая изначально обеспечивала передачу информации между компьютерами со скоростью до 10 Мбит/с. Более поздняя версия Ethernet, называемая 100BASE-T или Fast Ethernet, увеличила скорость до 100 Мбит/с, а Gigabit Ethernet поддерживает скорость передачи данных 1 Гбит/с (1000 Мбит/с).В Таблице 8.3 перечислены некоторые распространенные названия носителей и связанные с ними типы кабелей.

8 10Base-T

8 8
Таблица 8.3. Ethernet Медиа

Ethernet Тип

Средний

10BASE2

50-ом ( «тонкий») коаксиальный кабель

10BASE5

75-Ом («Толстый») Коаксиальный кабель

Неэкранированный или экранированный (UTP / STP) Multistrand Cable

100Base-TX

неэффективно Экранированный (UTP / STP) Витая пара кабель

1000Base-T

Неэкранированная или экранированная (UTP / STP) Витая пара

1000BASE-CX

Медный кабель, используемый внутри электромонтажных шкафов на короткие расстояния (<25 метров)

1000BASE-LX

Волоконно-оптический кабель


Примечание

Носители 10BASE2 и 10BASE5 в настоящее время используются очень редко; даже сети 10BASE-T становятся все более редкими.

Тип Ethernet 100BASE-T является наиболее популярной средой, но постепенно он заменяется более новыми системами, поддерживающими 1000BASE-T (гигабит) и растущим числом устройств, подключенных по оптоволокну.

Ethernet использует протокол CSMA/CD, что означает множественный доступ с контролем несущей и обнаружением коллизий. Множественный доступ означает, что каждая станция может получить доступ к одному кабелю для передачи данных. Контроль несущей означает, что перед передачей данных станция проверяет кабель, чтобы определить, не отправляет ли уже что-либо какая-либо другая станция.Если локальная сеть оказывается бездействующей, станция может начать передачу данных. Когда нескольким компьютерам, подключенным к одной сети, необходимо отправить данные, два компьютера могут попытаться отправить данные одновременно, что приведет к конфликту данных. Протокол Ethernet обнаруживает это столкновение и уведомляет компьютер о повторной отправке данных.

Как два компьютера могут отправлять данные одновременно? Разве Ethernet не должен проверять сеть на наличие других систем, которые могут передавать данные, прежде чем отправлять данные по сети?

Вот что происходит в сети со скоростью 10 Мбит/с: Станция Ethernet отправляет данные со скоростью 10 Мбит/с.Это позволяет 100 наносекунд на бит передаваемой информации. Сигнал проходит около 0,3 метра (1 фут) за 1 наносекунду. После того, как электрический сигнал для первого бита прошел около 30 метров (100 футов) по проводу, станция начинает передавать второй бит. Кабель Ethernet может тянуться на сотни футов. Если две станции расположены на расстоянии около 75 метров (250 футов) друг от друга на одном и том же кабеле и обе начинают передачу в одно и то же время, они будут в середине третьего бита до того, как сигнал от каждой достигнет другой станции.

Это объясняет необходимость в части обнаружения столкновений CSMA/CD. Если две станции начинают отправлять данные одновременно, их сигналы сталкиваются через несколько наносекунд. Когда происходит такое столкновение, две станции прекращают передачу и повторяют попытку позже, после случайно выбранного периода задержки.

Это также объясняет, почему расстояния являются важным фактором при планировании сетей Ethernet.

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

Примечание

Начиная с Solaris 10, интерфейс FDDI больше не поддерживается.


Сетевое оборудование

Сетевое оборудование — это физическая часть сети, которую вы можете видеть. Физические компоненты соединяют системы и включают карты сетевого интерфейса (NIC), хосты, кабели, разъемы, концентраторы и маршрутизаторы, некоторые из которых обсуждаются в следующих разделах.

сетевых адаптеров

Компьютерное оборудование, позволяющее подключать компьютер к сети, называется сетевой картой (NIC) или сетевым адаптером. Сетевой интерфейс может поддерживать один или несколько протоколов связи, которые определяют, как компьютеры используют физическую среду — сетевой кабель или радиочастотный спектр — для обмена данными. Большинство компьютерных систем поставляются с предустановленным сетевым интерфейсом.

Каждый тип носителя LAN имеет свой собственный сетевой интерфейс.Например, если вы хотите использовать Ethernet в качестве сетевой среды, у вас должен быть установлен интерфейс Ethernet на каждом хосте, который должен быть частью сети. Разъемы на плате, к которым подключается кабель Ethernet, называются портами Ethernet.

хостов

Если вы опытный пользователь Unix/Solaris, вы, несомненно, знакомы с термином host , который часто используется как синоним компьютера или машины. С точки зрения TCP/IP в сети существует только два типа объектов: маршрутизаторы и хосты.Когда хост инициирует связь, он называется отправляющим хостом или отправителем. Например, хост инициирует связь, когда пользователь использует команду ping или отправляет сообщение электронной почты другому пользователю. Хост, который является целью связи, называется принимающим хостом или получателем.

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

Таблица 8.4. Информация хоста

Identity

Описание

Имя хоста

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

Интернет-адрес

Каждая машина в сети TCP/IP имеет 32-битный интернет-адрес (или IP-адрес), который идентифицирует машину для ее одноранговых узлов в сети.Этот адрес должен быть уникальным в сети.

Аппаратный адрес

Каждый хост в сети имеет уникальный адрес Ethernet, также называемый MAC-адресом. Производитель физически назначает этот адрес сетевым картам машины. Этот адрес уникален во всем мире, а не только для сети, к которой он подключен.


Концентраторы и коммутаторы
Кабель Ethernet

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

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

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

Большинство коммутаторов имеют автоматическое определение, что означает, что они поддерживают как порты Fast Ethernet (100 Мбит/с), так и порты Gigabit Ethernet (1000 Мбит/с).Это позволяет администратору установить выделенный канал Ethernet для устройств с высокой нагрузкой, таких как серверы.

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

Маршрутизаторы

Маршрутизатор — это машина, которая пересылает пакеты из одной сети в другую. Другими словами, в то время как концентратор соединяет компьютеры, маршрутизатор соединяет сети. Для этого маршрутизатор должен иметь как минимум два сетевых интерфейса. Машина только с одним сетевым интерфейсом не может пересылать пакеты; он считается хозяином. Большинство машин, которые вы настраиваете в сети, скорее всего, будут хостами.

Маршрутизаторы

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

Адресация IPv4

В IPv4 каждый хост в сети TCP/IP имеет 32-битный сетевой адрес, называемый IP-адресом , который должен быть уникальным для каждого хоста в сети. Если хост будет участвовать в Интернете, этот адрес также должен быть уникальным для Интернета.По этой причине IP-адреса назначаются специальными организациями, известными как региональные интернет-реестры (RIR). За адресное пространство IPv4 отвечает Интернет-корпорация по присвоению имен и номеров (ICANN; см. www.icann.org). Общая ответственность за IP-адреса, включая ответственность за распределение диапазонов IP-адресов, принадлежит Администрации адресного пространства Интернета (IANA; см. www.iana.org).

IP-адрес представляет собой последовательность из 4 байтов и записывается в виде четырех десятичных целых чисел, разделенных точками (например, 10.11.12.13). Каждое целое число имеет длину 8 бит и находится в диапазоне от 0 до 255. IP-адрес состоит из двух частей: идентификатора сети, который назначается RIR, и идентификатора хоста, который назначается локальным администратором. Первое целое число адреса (10.0.0.0) определяет тип адреса и называется его классом. Существует пять классов IP-адресов: A, B, C, D и E. В следующих разделах кратко описывается каждый класс.

Примечание

IPv6 Из-за ограниченного адресного пространства и других особенностей схемы IPv4 постепенно становится доступным пересмотренный протокол IP.Протокол, названный IPv6, был разработан для преодоления основных ограничений текущего подхода. IPv6 совместим с IPv4, но IPv6 позволяет назначать намного больше уникальных интернет-адресов и предлагает поддержку для повышения безопасности и производительности. Краткий раздел, посвященный IPv6, приводится далее в этой главе для справочной информации, хотя это и не является конкретной целью экзамена по Solaris 10, часть II.


Адреса класса А

Адреса класса A используются для очень больших сетей с миллионами узлов, таких как Интернет.Номер сети класса A использует первые 8 бит IP-адреса в качестве идентификатора сети. Остальные 24 бита составляют хостовую часть IP-адреса. Значение, присвоенное первому байту номера сети класса A, находится в диапазоне от 0 до 127. Например, рассмотрим IP-адрес 75.4.10.4. Значение 75 в первом байте указывает, что хост находится в сети класса A. Остальные байты, 4.10.4, устанавливают адрес хоста. RIR присваивает только первый байт номера класса A. Использование оставшихся 3 байтов остается на усмотрение владельца сетевого номера.Только 126 сетей класса A могут существовать, потому что 0 зарезервирован для сети, а 127 зарезервирован для петлевого устройства, оставляя от 1 до 126 в качестве пригодных для использования адресов. Каждая сеть класса A может поддерживать до 16 777 214 хостов. Сеть 10.x.x.x зарезервирована для использования частными сетями для хостов, не подключенных к Интернету. Если вы хотите назначить сеть класса А и вас не видно в Интернете, вы можете использовать один из этих сетевых адресов.

Адреса класса B
Адреса класса B

используются для сетей среднего размера, таких как университеты и крупные предприятия с большим количеством хостов.Адрес класса B использует 16 бит для номера сети и 16 бит для номера хоста. Первый байт номера сети класса B находится в диапазоне от 128 до 191. В номере 129.144.50.56 первые 2 байта, 129.144, назначаются RIR и составляют сетевой адрес. Последние 2 байта, 50.56, составляют адрес хоста и назначаются по усмотрению владельца сети. Сеть класса B может вместить до 65 534 хостов. Опять же, первый и последний адреса в сети зарезервированы.Адрес узла 0 зарезервирован для сети, а адрес 255 зарезервирован для широковещательного IP-адреса. Таким образом, фактическое количество хостов, которые могут быть назначены в сети класса B, составляет 65 534, а не 65 536. Диапазоны сетевых адресов от 172.16.x.x до 172.31.x.x зарезервированы для использования в частных сетях, не подключенных к Интернету. Если вы хотите назначить сеть класса B и вас не видно в Интернете, вы можете использовать один из этих сетевых адресов.

Адреса класса C
Адреса класса C

используются для небольших сетей с менее чем 254 хостами.Адрес класса C использует 24 бита для номера сети и 8 бит для номера хоста. Номер сети класса C занимает первые 3 байта IP-адреса; только четвертый байт назначается на усмотрение владельца сети. Первый байт номера сети класса C покрывает диапазон от 192 до 223. Второй и третий байты покрывают диапазон от 0 до 255. Типичный адрес класса C может быть 192.5.2.5, с первыми 3 байтами, 192.5.2, формирование номера сети. Последний байт в этом примере, 5, является номером хоста.Сеть класса C может вместить максимум 254 хоста из 256 адресов; опять же, это потому, что первое и последнее значения зарезервированы. Сетевые диапазоны 192.168.x.x специально зарезервированы для частных сетей, не подключенных к Интернету. Если вы хотите назначить сеть класса C и вас не видно в Интернете, вы можете использовать один из этих сетевых адресов.

Адреса класса D и E
Адреса

класса D охватывают диапазон от 224 до 239 и используются для групповой IP-адресации, как определено в RFC 988.Адреса класса E охватывают диапазон от 240 до 255 и зарезервированы для экспериментального использования.

Планирование IP-адресации

Первым шагом при планировании IP-адресации в сети является определение необходимого количества IP-адресов и того, будет ли сеть подключена к Интернету. Если сеть не будет подключена к Интернету, вы можете выбрать адреса в диапазоне 10.x.x.x, 172.16.x.x172.31.x.x или 192.168.x.x. Для сетей, которые будут подключены к Интернету и, следовательно, будут видны остальному миру, вам необходимо получить законные IP-адреса; это необходимо, потому что каждый хост в сети должен иметь уникальный IP-адрес.IP-адреса можно получить либо через поставщика услуг Интернета (ISP), либо через RIR, как упоминалось ранее в этом разделе. Когда вы получите свой сетевой номер, вы можете спланировать, как вы будете назначать хост-части IP-адреса.

Ближайший к вам RIR зависит от того, где географически расположена ваша сеть. Текущий список RIR выглядит следующим образом:

  • Регистратура интернет-номеров Северной и Южной Америки (ARIN; www.arin.net)

  • Европейский сетевой координационный центр RIPE (www.rip.net)

  • Азиатско-Тихоокеанский регион Азиатско-Тихоокеанский сетевой информационный центр (APNIC; www.apnic.org)

  • Латинская Америка и Карибский бассейн Реестр интернет-адресов Латинской Америки и Карибского бассейна (LACNIC; www.lacnic.net)

  • Африка Африканский сетевой информационный центр (AfriNIC; www.afrinic.net)

После того, как вы обратитесь в правильный RIR, вы должны обосновать, почему вам должны быть предоставлены глобальные IP-адреса. Обычно, если ваша организация не является крупной, ожидается, что вы получите IP-адреса от своего интернет-провайдера.

Примечание

Будьте осторожны с IP-адресами Вы не должны произвольно назначать сетевые номера сети, даже если вы не планируете подключать свою сеть к другим существующим сетям TCP/IP. По мере роста вашей сети вы можете решить подключить ее к другим сетям. Изменение IP-адресов в это время может потребовать больших усилий и привести к простоям. Вместо этого вы можете использовать специально зарезервированные IP-сети 192.168.x.x, или 172.16.x.x172.31.x.x, или 10.x.x.x для сетей, не подключенных к Интернету.


IPv6

Наконечник

IPv6 Ни один из вопросов на экзамене не относится к IPv6. Этот раздел включен исключительно для справочной информации.

Поскольку интернет-сообщество продолжает расти и использовать больше адресов IPv4, у нас заканчиваются доступные адреса IPv4. IPv6, также называемый IP Next Generation (IPng), улучшает возможности Интернета за счет использования упрощенного формата заголовка, более длинных адресов (128 вместо 32 бит), поддержки аутентификации и конфиденциальности, автоматической настройки назначения адресов и нового качества обслуживания (QoS). возможности.В частности, IPv6 предоставляет следующие улучшения:

  • Расширенные возможности адресации Поскольку IPv4 является 32-разрядным протоколом, он может поддерживать примерно 4 300 000 000 адресов. Было подсчитано, что адреса IPv4 будут исчерпаны примерно в 2008 году, но внедрение бесклассовой маршрутизации доменов в Интернете (CIDR) уменьшило нехватку.

Примечание

CIDR Бесклассовая маршрутизация доменов Интернета (CIDR) использует (обычно) первые 18 бит адреса IPv4 в качестве сетевой части, оставляя 14 бит для использования хостом.Эта реализация означает, что сети могут быть объединены маршрутизаторами для облегчения доставки, так же как телефонная система использует коды городов для маршрутизации телефонных вызовов. Обратите внимание, что CIDR не является темой экзамена и включен только в качестве справочной информации.

IPv6 увеличивает размер IP-адреса с 32 до 128 бит для поддержки большего количества уровней иерархии адресации. Таким образом, количество потенциальных адресов в 4 миллиарда x 4 миллиарда x 4 миллиарда раз превышает размер адресного пространства IPv4.

Вот пример адреса IPv6:

2001:0DB8:0000:0000:0000:FFFF:ACBC:19A1

Первые 48 бит адреса представляют общедоступную топологию. Следующие 16 бит представляют топологию сайта.

  • Улучшенная маршрутизация Когда количество организаций, подключенных к Интернету, увеличивается, объем памяти и информация о маршрутах также увеличиваются. Это возлагает нагрузку на маршрутизатор, который пересылает пакет; это приводит к снижению скорости поиска, что может стать фатальной проблемой для маршрутизатора с небольшой пропускной способностью.Улучшения в адресации IPv6 улучшают маршрутизацию по сравнению с тем, что доступно в IPv4.

  • Безопасность Базовая спецификация IPv6 включает улучшения безопасности и конфиденциальности. Интернет имеет ряд проблем с безопасностью и не имеет эффективных механизмов конфиденциальности и аутентификации ниже прикладного уровня. IPv6 устраняет эти недостатки за счет двух интегрированных опций, обеспечивающих улучшенные услуги IP Security (IPsec):

  • Поддержка трафика в реальном времени. отправитель запрашивает специальную обработку.Например, отправитель может запросить качество обслуживания не по умолчанию или обслуживание в режиме реального времени.

    Для поддержки трафика в реальном времени, такого как видеоконференции, в IPv6 используется концепция «метки потока». Используя метку потока, маршрутизатор может узнать, к какому сквозному потоку принадлежит пакет, а затем узнать, какой пакет относится к трафику реального времени.

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

  • Упрощение формата заголовка Некоторые поля заголовка IPv4 были удалены или стали необязательными в IPv6. Это изменение снижает общую стоимость обработки пакетов. Это изменение также максимально снижает стоимость пропускной способности заголовка IPv6, несмотря на увеличенный размер адресов. Несмотря на то, что адреса IPv6 в четыре раза длиннее адресов IPv4, размер заголовка IPv6 всего в два раза превышает размер заголовка IPv4.

  • Улучшенная поддержка параметров Изменения в способе кодирования параметров IP-заголовка обеспечивают более эффективную пересылку.Кроме того, длина параметров имеет менее строгие ограничения для IPv6, чем для IPv4. Изменения также обеспечивают большую гибкость для внедрения новых опций в будущем.

TCP и uTP Расположение транспорта BitTorrent.

BitTorrent, одно из самых распространенных P2P-приложений для обмена файлами, недавно представило LEDBAT, новый протокол управления перегрузкой, направленный на (i) ограничение дополнительной задержки из-за очередей, чтобы уменьшить помехи для остального пользовательского трафика (т.g., Интернет, VoIP и игры), разделяющих одно и то же узкое место доступа, и (ii) эффективно используя доступную пропускную способность канала, чтобы одновременно предоставить пользователям хорошую производительность BitTorrent. В этой работе мы принимаем две дополняющие друг друга точки зрения: а именно, точку зрения потока для оценки качества обслуживания (QoS), как в классических исследованиях управления перегрузкой, и точку зрения роя BitTorrent для оценки качества взаимодействия (QoE) одноранговых пользователей. . Мы также отмечаем, что в литературе по управлению перегрузкой содержится множество протоколов, таких как VEGAS, LP и NICE, имеющих сходство с LEDBAT, поэтому их обязательно следует учитывать при анализе.Следовательно, принимая вышеуказанные точки зрения, мы одновременно (i) сравниваем LEDBAT с другими протоколами и (ii) обеспечиваем глубокое понимание нового протокола и его влияния на QoS и QoE. Наше исследование, основанное на моделировании, позволяет сделать несколько выводов. На уровне потока мы считаем, что LEDBAT имеет самый низкий приоритет среди всех протоколов, что следует из его конструкции, которая стремится явно ограничить задержку в очереди на узком канале до максимального целевого значения. В то же время мы видим, что этот же самый параметр протокола может быть использован злоумышленниками, которые могут поставить более высокую цель, чтобы получить несправедливое преимущество перед конкурентами.Интересно, что производительность на уровне роя демонстрирует противоположный компромисс: меньшие цели более выгодны для QoE пользователей BitTorrent. Это можно объяснить тем, что большие задержки замедляют задачу передачи сигналов BitTorrent, что может негативно сказаться на эффективности роящегося протокола. Кроме того, мы видим, что по указанной выше причине в гетерогенных роях любой протокол на основе задержки (то есть не только LEDBAT, но также VEGAS или NICE) может дать конкурентное преимущество QoE по сравнению с TCP на основе потерь.В целом это противоречие между уровнями роя и потоков предполагает, что, по крайней мере, в текущих сценариях узких мест ADSL/кабельного доступа на практике можно использовать безопасную рабочую точку LEDBAT. В то же время наши результаты также указывают на то, что преимущества, аналогичные LEDBAT, можно получить и с другими протоколами на основе задержки, такими как VEGAS или NICE.

Что такое UDP | От структуры заголовка к пакетам, используемым в DDoS-атаках

Что такое протокол пользовательских дейтаграмм (UDP)

Протокол пользовательских дейтаграмм (UDP) работает поверх Интернет-протокола (IP) для передачи дейтаграмм по сети.UDP не требует, чтобы источник и получатель установили трехстороннее рукопожатие перед передачей. Кроме того, нет необходимости в сквозном соединении.

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

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

Преимущества и недостатки UDP

UDP имеет ряд преимуществ для различных типов приложений, в том числе:

  • Без задержек повторной передачи  – UDP подходит для чувствительных ко времени приложений, которые не могут допустить задержки повторной передачи отброшенных пакетов. Примеры включают передачу голоса по IP (VoIP), онлайн-игры и потоковую передачу мультимедиа.
  • Скорость  – скорость UDP делает его полезным для протоколов запроса-ответа, таких как DNS, в которых пакеты данных являются небольшими и транзакционными.
  • Подходит для широковещательной рассылки  – отсутствие сквозной связи в протоколе UDP делает его подходящим для широковещательной рассылки, в которой передаваемые пакеты данных рассматриваются как доступные для приема всеми устройствами в Интернете. Широковещательные рассылки UDP могут приниматься большим количеством клиентов без накладных расходов на стороне сервера.

В то же время отсутствие в UDP требований к подключению и проверке данных может создать ряд проблем при передаче пакетов.К ним относятся:

  • Нет гарантированного порядка пакетов.
  • Нет проверки готовности компьютера к получению сообщения.
  • Нет защиты от дубликатов пакетов.
  • Нет гарантии, что пункт назначения получит все переданные байты. Однако UDP предоставляет контрольную сумму для проверки целостности отдельных пакетов.

Структура пакета заголовка UDP

UDP упаковывает дейтаграммы в UDP-заголовок, который содержит четыре поля общим объемом восемь байтов.

Поля в заголовке UDP:

    • Порт источника  – порт устройства, отправляющего данные. Это поле может быть установлено равным нулю, если компьютеру назначения не нужно отвечать отправителю.
    • Порт назначения  – порт устройства, получающего данные. Номера портов UDP могут находиться в диапазоне от 0 до 65 535.
    • Длина  – указывает количество байтов, содержащих заголовок UDP и данные полезной нагрузки UDP.Ограничение для поля длины UDP определяется базовым IP-протоколом, используемым для передачи данных.
    • Контрольная сумма  – Контрольная сумма позволяет принимающему устройству проверить целостность заголовка пакета и полезной нагрузки. Это необязательно в IPv4, но стало обязательным в IPv6.

      Поля в заголовке UDP

UDP DDoS-угрозы и уязвимости

Отсутствие в

UDP механизма проверки и сквозных соединений делает его уязвимым для ряда DDoS-атак.Злоумышленники могут подделывать пакеты с произвольными IP-адресами и напрямую обращаться к приложению с этими пакетами.

Это отличается от TCP, в котором отправитель должен получить пакеты обратно от получателя, прежде чем можно будет начать связь.

DDoS-атаки, характерные для UDP, включают:

UDP-флуд включает в себя большие объемы поддельных пакетов UDP, отправляемых на несколько портов на одном сервере, зная, что нет возможности проверить настоящий источник пакетов. Сервер отвечает на все запросы сообщениями ICMP «Destination Unreachable», перегружая свои ресурсы.

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

Атака с усилением DNS включает в себя отправку злоумышленником UDP-пакетов с поддельным IP-адресом, который соответствует IP-адресу жертвы, своим преобразователям DNS.Затем преобразователи DNS отправляют свой ответ жертве. Атака построена таким образом, что ответ DNS намного больше, чем исходный запрос, что создает усиление исходной атаки.

Когда это делается в больших масштабах со многими клиентами и несколькими преобразователями DNS, это может привести к перегрузке целевой системы. DDoS-атака мощностью 27 Гбит/с может быть усилена до 300 Гбит/с с помощью усиления.

Злоумышленники отправляют пакеты UDP на порты сервера, чтобы определить, какие порты открыты.Если сервер отвечает сообщением ICMP «Destination Unreachable», порт не открыт. Если такого ответа нет, злоумышленник делает вывод, что порт открыт, а затем использует эту информацию для планирования атаки на систему.

Узнайте, как Imperva DDoS Protection может помочь вам с атаками UDP DDoS.

Как Imperva помогает смягчить UDP-атаки

Службы защиты Imperva от DDoS-атак нейтрализуют описанные выше атаки следующим образом:

Атаки на основе тома:  Imperva противостоит UDP-флудам и атакам с усилением DNS, поглощая и фильтруя вредоносный трафик с помощью нашей глобальной сети центров очистки — облачных кластеров, которые масштабируются по запросу для противодействия DDoS-атакам.Центр очистки идентифицирует и отбрасывает вредоносные запросы, позволяя законному пользовательскому трафику проходить в вашу сеть.

Атаки на протоколы:  Imperva может блокировать «плохой» трафик — например, трафик UDP, направленный на несуществующие порты, — еще до того, как он достигнет вашего сайта. Imperva также предоставляет технологию идентификации посетителей, которая различает законных посетителей веб-сайта (людей, поисковые системы и т. д.) и автоматических или злонамеренных клиентов.

UDP по сравнению с TCP для VoIP

В VoIP образцы аудио помещаются в пакеты данных для передачи по IP-сети.Как правило, один пакет содержит от 10 до 30 миллисекунд аудио. TCP и UDP являются двумя наиболее часто используемыми протоколами соединения, используемыми для передачи данных через Интернет.

Данные передаются через Интернет пакетами. Думайте о них как о письмах: как и в письмах, в пакетах есть конверт с адресом «от/до». TCP и UDP — это всего лишь два типа конвертов. Оба они передают данные и оба используют IP-адреса, но внешняя оболочка отличается. Вспомните USPS против FedEx.Адрес на конверте — это IP-адрес, откуда пришел пакет (адрес источника) и куда он направляется (адрес назначения). TCP настолько распространен в Интернете, что его обычно объединяют с IP и записывают как TCP/IP.

TCP: точность имеет значение

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

Поскольку протокол TCP ориентирован на установление соединения, он также гарантирует доставку пакетов данных в том же порядке, в котором они были отправлены.Процесс выглядит примерно так:

  1. Конечная точка A отправляет пакет 1 конечной точке B.

  2. Конечная точка B получает пакет 1 без ошибок и отправляет пакет подтверждения обратно в конечную точку A.

  3. Конечная точка A получает пакет подтверждения и переходит к отправке пакета 2 конечной точке B.

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

UDP: скорость имеет значение

В отличие от TCP, UDP не требует установления соединения, что означает, что пакеты данных могут отправляться без предупреждения, подготовки или согласования. В UDP также отсутствует какой-либо контроль ошибок. Пакеты могут быть не только доставлены в неправильном порядке, но и могут быть полностью пропущены. UDP предназначен для приложений, в которых вы больше заинтересованы в поддержании потока информации, чем в получении каждого отдельного пакета.Это делает UDP идеальным для таких сервисов реального времени, как VoIP.

UDP — это протокол, оптимизированный для своевременной доставки пакетов данных к месту назначения; он предназначен для сервисов реального времени, таких как VoIP, где важно поддерживать непрерывность потока данных.

Почему UDP идеально подходит для служб реального времени, а не TCP? Хотите верьте, хотите нет, но на самом деле «надежный» характер TCP вредит опыту конечного пользователя; задержки происходят каждый раз, когда возникает ошибка, такая как потеря пакета.Эти задержки, вызванные повторной передачей поврежденных пакетов и любых последующих пакетов, которые, возможно, уже были отправлены, приводят к неприемлемому уровню джиттера для конечного пользователя.

К счастью, службы связи в реальном времени, такие как VoIP, не требуют полностью надежного протокола транспортного уровня, который позволяет UDP блистать. Такие ошибки, как потеря пакетов, обычно лишь незначительно влияют на вывод звука. Гораздо лучше отбросить пакет и получить несколько миллисекунд тишины, чем несколько секунд задержки.

Почему UDP и TCP важны для VoIP

Протоколы UDP и TCP вступают в игру с VoIP, поскольку они структурируют способ прохождения веб-трафика через Интернет. Пакеты TCP и UDP отправляются из источника на ваш телефон или компьютер, и если какой-либо из этих пакетов будет отброшен, это повлияет на качество вашего звонка. Голоса будут хрипеть, возникнет помеха, и нарастает разочарование.

Регистрация устройств

В настоящий момент тысячи устройств Junction Networks пытаются подключиться к Junction Networks.Эти устройства включают в себя все, от отдельных SIP-телефонов до SIP-устройств и других УАТС. Большинство попыток подключения — это простая регистрация SIP. Регистрация SIP — это когда устройство SIP сообщает серверу, в данном случае Junction Networks, что оно доступно для вызовов и какой у него IP-адрес. Это общение происходит от каждой минуты до каждого часа для каждого устройства. Это очень много пакетов.

Если бы это были TCP-пакеты, каждый раз, когда телефон хотел сообщить нам, что он доступен, ему пришлось бы выполнять всю настройку TCP-соединения.Это было бы огромным количеством накладных расходов для оператора VoIP. В среде локальной сети этим можно было бы управлять, но для тысяч отдельных устройств и сотен из них, пытающихся зарегистрироваться каждую секунду, соединение TCP приведет к остановке серверов.

VoIP-трафик лучше оставить в виде UDP-трафика как из-за нагрузки на сервер, так и из соображений качества связи.

Качество вызова

После того, как телефоны зарегистрированы и вызов установлен, пришло время для UDP выйти на первый план.Телефонный разговор — это поток пакетов, которые должны создаваться, отправляться и приниматься в режиме реального времени. В TCP задержка — любая задержка — означала бы ухудшение качества телефонного звонка. Представьте, что вы слышите что-то по телефону через одну-две секунды после того, как человек на другом конце говорит это. Вы отвечаете на то, что они говорят, но они уже ушли. Это было бы совершенно сбивающим с толку. И, так как это в реальном времени, нет наверстать упущенное. Лучше отбросить пакет и получить миллисекундную тишину, чем секундную задержку.

Добавить комментарий

Ваш адрес email не будет опубликован.