Сетевой способ передачи информации

Основы надежной передачи данных

Тем, кто стремится разобраться в сетях и протоколах, посвящается.

В статье рассматриваются основы надежной передачи данных, реализуются примеры на Go, в том числе UDP и TCP . По мотивам раз, два, три и книги «Компьютерные сети. Нисходящий подход», а то все обсуждают только Танненбаума и Олиферов.

Протокол транспортного уровня

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

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

Это делается разбиением (при необходимости) сообщений прикладного уровня на фрагменты и добавлением к каждому из них заголовка транспортного уровня.

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

Принципы надежной передачи данных

Надежная передача данных по совершенно надежному каналу

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

Надежная передача данных по каналу с возможными ошибками

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

В таком случае применяются механизмы:

  • обнаружения ошибки;
  • обратной связи;
  • повторной передачи.

Протоколы надежной передачи данных, обладающие подобными механизмами многократного повторения передачи, называются протоколами с автоматическим запросом повторной передачи (Automatic Repeat reQuest, ARQ).
Дополнительно, стоит предусмотреть возможность ошибок и в квитанциях, когда принимающая сторона не получит никакой информации о результатах передачи последнего пакета.
Решение этой задачи, используемое в том числе в TCP, состоит в добавлении в пакет данных нового поля, содержащего порядковый номер пакета.

Надежная передача данных по ненадежному каналу, допускающему искажение и потерю пакетов

Одновременно с искажениями, к сожалению, в сети присутствует потеря пакетов.
И для решения этой задачи требуются механизмы:

  • определения факта потери пакетов;
  • повторной доставки потерянных пакетов принимающей стороне.

Дополнительно, кроме потери пакета, необходимо предусмотреть возможность потери квитанции или, если ничего не потеряно, ее доставки со значительной задержкой. Во всех случаях производится одно и то же: повторная передача пакета. Для контролирования времени в данном механизме используется таймер отсчета, который позволяет определить окончание интервала ожидания. Так в пакете net параметр TCPKeepAlive установлен на 15 секунд по умолчанию:

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

Читайте также:  Все способы как определить качество меда

Итак, мы ознакомились с ключевыми понятиями протоколов надежной передачи данных:

  • контрольными суммами;
  • порядковыми номерами пакетов;
  • таймерами;
  • положительными и отрицательными квитанциями.

Но и это не все!

Протокол надежной передачи данных с конвейеризацией

В том варианте, который мы уже рассмотрели, протокол надежной доставки очень неэфективен. Он начинает «тормозить» передачу, обеспечиваемую каналом связи, при увеличении RTT . Для повышения его эффективности, лучшей утилизации пропускной способности канала связи применяют конвейеризацию.

Применение конвейеризации приводит к:

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

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

  • возвращение на N пакетов назад;
  • выборочное повторение.

Возвращение на N пакетов назад — протокол скользящего окна

Отправитель должен поддерживать три типа событий:

  • вызов протоколом более высокого уровня. Когда «сверху» вызывается функция отправки данных, передающая сторона сначала проверяет степень заполнения окна (то есть наличие N посланных сообщений, ожидающих получения квитанций). Если окно оказывается незаполненным, новый пакет формируется и передается, а значения переменных обновляются. В противном случае передающая сторона возвращает данные верхнему уровню, и это является неявным указанием, что окно заполнено. Обычно верхний уровень предпринимает повторную попытку передачи данных через некоторое время. В реальном приложении отправитель, скорее всего, либо буферизовал бы данные (вместо немедленной отсылки), либо имел механизм синхронизации (например, семафор или флаг), который позволял бы вышестоящему уровню вызывать функцию отправки данных только при незаполненном окне.
  • получение подтверждения. В протоколе для пакета с порядковым номером N выдается общая квитанция, указывающая на то, что все пакеты с порядковыми номерами, предшествующими N, успешно приняты.
  • истечение интервала ожидания. Для определения фактов потерь и задержек пакетов и квитанций протокол использует таймер. Если интервал ожидания истекает, передающая сторона повторно отправляет все посланные неподтвержденные пакеты.

Выборочное повторение

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

Пример

Лучшие теоритические практики собраны в практической реализации TCP. А если кто-то знает, как лучше — welcome.

Источник

Способы передачи данных в компьютерных сетях

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

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

Проводные сети

Коаксиальный кабель

В начале зарождения компьютерной техники был практически единственный материал для построения компьютерных сетей. Он не дорогой, легкий, гибкий, удобный и простой в установке. Есть два типа коаксиального кабеля, тонкий и толстый. Тонкий его диаметр составляет 0,64 см., сопротивление 50 Ом, прост в применении и подходит для любого типа сетей. Подключается непосредственно к плате сетевого адаптера. Максимальная дальность составляет 185 метров. Толстый его диаметр 1,27 см., сопротивление 75 Ом, иногда его еще называют стандартный Ethernet. Из-за своего диаметра имеет жилу толще и соответственно затухания меньше, максимальная дальность составляет 500 метров. Используется в качестве магистрали, соединяющей несколько небольших сетей. Для подключения к толстому коаксиальному кабелю применяется специальное устройство трансивер, снабженный коннектором, который называется «вампир» и «пронизывающий ответвитель». К сетевой плате подключается с помощью BNC-T коннектора, а BNC терминаторы используются для поглощения сигналов на обоих концах кабеля при использовании подключения с топологией «шина».

Читайте также:  Способ отображения химического состава вещества называется

Витая пара

Наверняка такой вид кабеля встречали все, на данный момент он используется довольно-таки широко. Выглядит он как два перевитых изолированных медных провода. Несколько пар таких проводов помещены в одну защитную оболочку. Переплетают провода для того, чтобы избавиться от электрических помех, наводимых соседними проводами или другими источниками. Иногда можно встретить мнение о том, что их перевивают для создания дополнительного магнитного поля, которое позволяет увеличить дальность, но оно ошибочно. Витая пара бывает двух видов экранированная и нет. Неэкранированная витая пара (UTP) используется для создания локально-вычислительных сетей с максимальной длинной 100 метров. Экранированная витая пара (STP) помещена дополнительно в экран эдакую медную оплетку, по мимо этого пары проводов обмотаны фольгой. Она меньше подвержена влиянию электрических помех поэтому обеспечивает более высокую скорость передачи данных и соответственно увеличенное максимальное расстояние. Преимущество применения витой пары в первую очередь дешевизна, простота подключения и использования. К недостатку можно отнести небольшие расстояния и ограниченная скорость.

Кабель, витая пара разделяется на категории:

CAT1 – частотная полоса 0,1 МГц, имеет одну пару используется для передачи голоса или цифровых данных при использовании модема;

CAT2 – частотная полоса 1 МГц, имеет две пары проводников и применяется при построении телефонных сетей, скорость передачи данных составляет 4 Мбит/с;

CAT3 — частотная полоса 16МГц, встречается как двух так и четырех парный тип, применяется как при построении телефонных сетей так и локальных сетей. Поддерживает скорость передачи от 10 до 100 Мбит/с;

CAT4 – частотная полоса 20 МГц, четырех парный кабель, возможна скорость передачи данных до 16 Мбит/с;

CAT5 – частотная полоса 100 МГц, применяется как при построении телефонных сетей так и локальных сетей. Поддерживает скорость передачи данных от 100 Мбит/с до 1000 Мбит/с. В настоящее время распространенная категория кабеля;

CAT6 – частотная полоса 250 МГц. Применяется при построении сетей Fast Ethernet и Gigabit Ethernet, возможна скорость передачи данных до 10 Гбит/с.

CAT7 – частотная полоса 600-700 МГц. Поддерживает скорость передачи данных до 10 Гбит/с. По структуре кабель имеет общий внешний экран и фольгированную защиту каждой пары.

Оптоволоконный кабель

По нему передаются световые импульсы. Это достаточно надежный способ передачи данных, так как его нельзя вскрыть и перехватить данные. Оптоволоконные линии предназначены для перемещения больших объемов данных на очень высоких скоростях, сигнал в них практически не затухает и не искажается. Оптоволокно передает сигналы только в одном направлении, поэтому кабель состоит из двух волокон с отдельными коннекторами для передачи и приема информации. Скорость передачи составляет от 100 Мбит/с и теоретически может достигать до 200 Гбит/с. Данный вид передачи данных не подвержен электромагнитному излучению. Существенным недостатком стоит отметить дороговизну и сложность установки и подключения. Оптическая сеть состоит из лазерного передатчика света, мультиплексора/демультиплексора для объединения оптических сигналов с разными длинами волн, усилителя оптических сигналов, демультиплексоров и приемников, которые преобразуют оптических сигнал обратно в электрический.

Читайте также:  Способы упаковки хлебобулочных изделий

Беспроводные компьютерные сети

Несложно догадаться, что для организации таких видов сетей не используются провода. Связь между устройствами осуществляется посредством радиоканала на частотах СВЧ-диапазона. На данный момент всем известна технология беспроводных сетей Wi-Fi. Но помимо этой технологии существуют и другие – WiMax, Bluetooth, UWB, ZigBee.

WiFi

Протокол и стандарт на оборудование для широкополосной радиосвязи, предназначен для организации локальных беспроводных сетей. Впервые появился в 1991 году в Нидерландах. Первоначально предназначался для систем кассового обслуживания и обеспечивал скорость передачи данных от 1 до 2 Мбит/с. Сейчас Wi-Fi это бренд, объединяющий несколько различных стандартов беспроводной связи IEEE 802.11. Существует более 20 стандартов подключений, но востребованы только 4 стандарта: 802.11b, 802.11a, 802.11g и 802.11n.

802.11b – скорость передачи 11 Мбит/с, диапазон 2,4 ГГц, радиус при отсутствии объемных перегородок до 50 метров. Имеет слабую помехоустойчивость и низкую пропускную способность;

802.11a – улучшенная версия предыдущего стандарта. Скорость передачи 54 Мбит/с, диапазон 5 ГГц, радиус до 30 метров;

802.11g – скорость передачи 54 Мбит/с, диапазон 2,4 ГГц, радиус до 50 метров.

802.11n – скорость передачи в теории до 480 Мбит/с, но на практике вполовину меньше, частота 2,4 и 5 ГГц, радиус до 100 метров.

WiMax

Под этим термином понимают технологию беспроводной передачи данных на большие расстояния до 10 км. Она также известна под названием Wireless MAN и утверждена стандартом IEEE 802.16. Используется для следующих целей:

  • соединения точек доступа Wi-Fi друг с другом и другими сегментами сети;
  • обеспечения беспроводного широкополосного доступа как альтернативы выделенным линиям и DSL;
  • предоставления высокоскоростных сервисов передачи данных и телекоммуникационных услуг;
  • создания точек доступа, не привязанных к географическому положению.

Bluetooth

Технология появилась в 1994 году. Позволяет объединять в сеть устройства в радиусе до 10 метров. По большей части используется для подключения периферийных устройств таких как наушники, мышь, колонки и т.п.

Ultra Wideand

Данная технология работает на малых расстояниях, фундаментально отличается от других радиочастотных коммуникационных систем. Уникальность ее в том, что она обеспечивает коммуникации без использования радиочастотной несущей. Вместо этого она использует сверхширокополосные сигналы с крайне низкой спектральной плотностью мощности. Скорость работы на расстоянии до 3 метров может достигать до 480 Мбит/с, а вот с увеличением расстояния скорость заметно снижается (10 метров – 110 Мбит/с). Технология позволяет создавать сети на маленьком расстоянии не превышающим 10 метров. Ее можно сравнить с Bluetooth, хотя используются совершенно разные технологии.

ZigBee

Стандарт для набора высокоуровневых протоколов связи, при построении используются маломощные цифровые трансиверы основанные на стандарте IEEE 800.15.4.-2006. Технология предназначена для радиочастотных устройств, где необходима длительная работа от батареек. Основная ее особенность в том, что она при малом энергопотреблении поддерживает не только простые топологии сетей, но и самоорганизующуюся и самовосстанавливающуюся ячеистую топологию с ретрансляцией и маршрутизацией сообщений. Область применения беспроводные сенсорные сети, автоматизация жилья (Умный дом), медицинское оборудование, системы промышленного мониторинга и т.п.

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

Источник

Оцените статью
Разные способы