Протокол для передачи данных с гарантированной доставкой и порядком частей данных

Обновлено: 29.05.2024

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

Оглавление

Типичная структура пакета данных

Структура пакета данных, описанная в протоколе, содержит важную информацию о пакете для обмена данными, такую ​​как:

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

Эта информация помещается перед пользовательскими данными в виде заголовка или прикрепляется как трейлер .

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

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

Отличительные особенности сетевых протоколов

Задачи протокола

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

  • Безопасное и надежное соединение между компьютерами, участвующими в обмене данными ( рукопожатие )
  • Надежная доставка посылок
  • Повторная отправка пакетов, которые не пришли
  • Доставка пакетов данных желаемому получателю (ям)
  • Обеспечение безошибочной передачи ( контрольная сумма )
  • Объединение входящих пакетов данных в правильном порядке
  • Предотвращение чтения неавторизованными третьими лицами (через шифрование )
  • Предотвращение манипуляций со стороны неавторизованных третьих лиц (с помощью MAC-адресов или электронных подписей )

Пример функции

Будет показан простой практический пример, основанный на процедуре установления соединения протокола TCP ( процедура рукопожатия ).

  1. Сначала компьютер 1 отправляет пакет данных, в котором говорится, что он хочет установить соединение с компьютером 2.
  2. Компьютер 2 отвечает, что готов к этому.
  3. Затем компьютер 1 подтверждает компьютеру 2, что он понимает, что компьютер 2 готов.

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

  1. Компьютер 1 отправляет пакет данных с вопросом, какие файлы доступны.
  2. Компьютер 2 отвечает со списком доступных файлов.
  3. Компьютер 1 отправляет пакет данных, в котором запрашивается конкретный файл.
  4. Компьютер 2 отвечает, что файл существует, описывает файл и начинает передачу.

Протоколы передачи данных

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

  • маршрутизируемый
  • IP гарантирует, что пакет данных достигнет места назначения; TCP или UDP контролируют передачу данных
  • не привязан к какому-либо производителю, но принят всеми
  • может использоваться как в локальных, так и в глобальных сетях
  • подходит для сложных (TCP) и простых (UDP) передач
  • относительно большой стек, неблагоприятный для очень простых или маленьких ( встроенных ) систем
  • UDP скорее для небольших пакетов данных, доставка которых не критична
  • TCP скорее для больших передач или потоков данных с гарантированной свободой от ошибок
  • маршрутизируемый
  • поддерживается многими операционными системами
  • не подходит для больших сетей, так как маршруты нельзя комбинировать
  • SPX: низкая производительность WAN , поскольку одновременно запрашивается только один пакет (см. Окно приема TCP )
  • не рекомендуется для сетей сторонних производителей
  • Поддержка Microsoft Windows XP / Microsoft Windows Server 2003 прекращена
  • небольшие накладные расходы
  • соответственно легко настроить и настроить
  • подходит только для очень маленьких сетей
  • не маршрутизируемый
  • нельзя использовать в Интернете
  • Поддержка Microsoft Windows 2000 прекращена
  • комфортный
  • большая простота использования
  • простой анализ ошибок
  • легкая расширяемость
  • легко настроить
  • подходит только для небольших сетей
  • низкая скорость передачи данных при более быстром подключении (> 10 Мбит / с)
  • используется только в операционных системах Apple, теперь заменен TCP / IP
  • особенно для систем управления зданием
  • быстрое общение
  • только для элементарных данных
  • почти не используется в других областях

Протоколы для конкретных приложений

Функции протоколов основаны друг на друге: транспортные протоколы подготавливают путь передачи для прикладных протоколов, которые в принципе независимы от них. Это гарантирует, что прикладные программы в разных системах могут взаимодействовать друг с другом, как только эти системы смогут каким-либо образом установить соединение. Например, Интернет-протокол регулирует глобальную уникальную адресацию компьютеров. Эта адресация затем используется, например, протоколом управления передачей для передачи данных и простым протоколом передачи почты для передачи электронной почты. Это послойное построение протоколов представлено с помощью модели OSI .

Протоколы приложений также служат стандартом для передачи между разными программами одного типа. Известные примеры:

история

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

В 1968 году по инициативе Министерства обороны США государственный научно-исследовательский институт ARPA провел эксперименты, с помощью которых должны были быть получены фундаментальные знания о функционировании компьютерных сетей. В результате в 1969 году был запущен проект ARPANET , который должен был обеспечить прозрачную передачу данных между различными абонентскими системами - независимо от маршрута, среды или обстоятельств передачи. С 1983 года семейство интернет-протоколов как совокупность согласованных стандартов для надежной и эффективной передачи данных утвердилось в ARPANET . Он также используется после того, как ARPANET стал общедоступным как Интернет , и поскольку многие компьютеры были подключены к Интернету не позднее 2000-х годов, он считается квазистандартом для многих сетевых приложений.

Смотри тоже

литература

  • Хайн, Райснер: TCP / IP упакован. митп-Верлаг, Бонн 2001.
  • Г. Зигмунд: Технология сетей. 5-е издание, 1296 страниц, Берлин и Оффенбах: VDE Verlag, 2003.
  • Х. Кениг: Разработка протоколов - Принцип, описание и разработка протоколов связи. Б.Г. Тойбнер, Штутгарт / Лейпциг / Висбаден, 2003 г.

веб ссылки

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

    Эта страница последний раз была отредактирована 11 мая 2021 в 12:18.

Содержание

Сетевой протокол

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

Новые протоколы для Интернета определяются IETF, а прочие протоколы — IEEE или ISO. ITU-T занимается телекоммуникационными протоколами и форматами.

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

Общие сведения

Сетевые протоколы предписывают правила работы компьютерам, которые подключены к сети. Они строятся по многоуровневому принципу. Протокол некоторого уровня определяет одно из технических правил связи. В настоящее время для сетевых протоколов используется модель OSI (Open System Interconnection — Взаимодействие Открытых Систем, ВОС).

Модель OSI — это семиуровневая логическая модель работы сети. Модель OSI реализуется группой протоколов и правил связи, организованных в несколько уровней.

Протоколы

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

Наиболее известные протоколы, используемые в сети Интернет:

Перечень сетевых протоколов

Канальный уровень

Сетевой уровень

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

Сеансовый уровень

Уровень представления данных

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

Wikimedia Foundation . 2010 .

Полезное

Смотреть что такое "Протоколы передачи данных" в других словарях:

протокол передачи данных — Различают основные протоколы передачи данных в зависимости от мультиплексируемости шин адреса и данных и асинхронного или синхронного режима. [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] протокол… … Справочник технического переводчика

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

ГОСТ Р МЭК 60870-5-103-2005: Устройства и системы телемеханики. Часть 5. Протоколы передачи. Раздел 103. Обобщающий стандарт по информационному интерфейсу для аппаратуры релейной защиты — Терминология ГОСТ Р МЭК 60870 5 103 2005: Устройства и системы телемеханики. Часть 5. Протоколы передачи. Раздел 103. Обобщающий стандарт по информационному интерфейсу для аппаратуры релейной защиты оригинал документа: 3.2 архитектура повышенной… … Словарь-справочник терминов нормативно-технической документации

Список пропускных способностей интерфейсов передачи данных — В данном списке приведены пропускные способности различных интерфейсов передачи данных, применяемых в компьютерной технике. Для обозначения пропускной способности интерфейса иногда могут использоваться термины ёмкость канала или… … Википедия

управление каналом передачи данных — Функции канального уровня (L2), определяющие адресацию машин в сети, порядок их доступа к среде передачи (Medium Access Control, MAC) и формат передаваемых данных. Аббревиатура DLC/LLC нередко используется как универсальный термин для обозначения … Справочник технического переводчика

Протоколы — Сетевой протокол набор правил, позволяющий осуществлять соединение и обмен данными между двумя и более включёнными в сеть устройствами. Разные протоколы зачастую описывают лишь разные стороны одного типа связи; взятые вместе, они образуют стек… … Википедия

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

Протоколы сетевого уровня — Протокол сетевого уровня (англ. Network layer) протокол 3 его уровня сетевой модели OSI, предназначается для определения пути передачи данных. Отвечает за трансляцию логических адресов и имён в физические, определение кратчайших… … Википедия

Основные характеристики TCP и UDP показаны в табл. 16.3.

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

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

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

Разумеется, отправителю неэффективно просто ждать, пока получатель получит и обработает каждый пакет по одному. Поэтому процедура усложняется, вводится специальное понятие – "окно" (window). Окно имеет некоторый размер, предположим, 10. Это означает, что передача начинается с отсылки 10 первых пакетов. Получатель может принять их не в том порядке, в каком они были отосланы. Тем не менее, на каждый успешно полученный пакет отсылается подтверждение с указанием номера такого пакета. Если отправитель отослал уже все 10 пакетов, но квитанция о получении пакета 1 так и не пришла, то передача приостанавливается, а по прошествии тайм-аута первый пакет считается потерянным и пересылается еще раз. Если же подтверждения приходят регулярно, то отправляются новые пакеты, но не более 10 единовременно.

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

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

Порты

  • порты меньше 255 используются для публичных сервисов;
  • порты из диапазона 255-1023 назначаются компаниями-разрабочиками для приложений;
  • номера свыше 1023 – не регулируемые.

Таким образом, говоря об установленном TCP-соединении, имеют ввиду 4 числа: IP-адрес и порт одной стороны и те же параметры второй стороны. Например, если пользователь со своей машины 194.11.22.33 обратился через браузер к web-серверу 213.180.194.129 , то это означает, что установлено соединение 194.11.22.33:10123-213.180.194.129:80 (номер 10123 выбран произвольно – используется любой незанятый порт).

Используется также термин "сокет" (socket), под которым подразумевается пара "IP-адрес:порт" – адресная "точка" для сетевых обращений.

Session layer (layer 5)

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

Session layer координирует установление и завершение соединений и сессий между приложениями.

Presentation layer (layer 6)

Предположим, хост -получатель использует EBCDIC ( кодировка , применяемая на крупных IBM-серверах для передачи символов в виде чисел), а хост - отправитель – ASCII (традиционная кодировка для персональных компьютеров). Presentation layer будет обеспечивать преобразование пересылаемых между этими машинами данных.

Для обеспечения безопасности при передаче частной информации через публичные сети необходимо шифрование данных . Один из распространенных протоколов, используемых для этой цели, – SSL (Secured Sockets Layer ) – может быть отнесен к уровню представлений.

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

Application layer (layer 7)

Последний уровень – уровень приложений, на котором определяются взаимодействующие стороны, учитывается авторизация пользователя, определяется качество обслуживания ( quality of service ) и, собственно, обеспечивается выполнение прикладных задач, таких, как обмен файлами, электронными письмами и т.д. Уровень приложения – это не само приложение , хотя зачастую программы выполняют некоторые функции Application layer .

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

  • com – commercial (коммерческие организации);
  • org – non-profit (некоммерческие организации);
  • net – network service (организация работы сети);
  • edu – educational (образование, зачастую – американские университеты);
  • int – international (международные организации);
  • gov – government (правительство, организации американского правительства);
  • mil – military (военные, американские военные организации).

Кроме того, для каждой страны был заведен двухбуквенный домен , например, ru - Россия, su – СССР, us – США, fr – Франция и т.д. В последнее время вводятся новые доменные имена верхнего уровня, такие, как biz и info .

В каждом домене первого уровня может быть множество доменов второго уровня. Так, существует множество сайтов в домене ru , или com . У домена второго уровня может быть множество доменов третьего уровня и т.д.

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

IP, ICMP, TCP и UDP

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

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

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

Для передачи малых кусков информации можно использовать протокол UDP (User Datagram Protocol – протокол пользовательских дейтаграмм). Он также используется совместно с интернет протоколом, но намного проще чем TCP. В отличии от TCP, UDP не гарантирует доставку пакетов в нужной последовательности и не дублирует передачу утерянных пакетов, соответственно он потребляет меньше системных ресурсов, а скорость передачи существенно выше. Он применяется в приложениях которым, требуется большая пропускная способность линий связи, либо малое время доставки данных, например для аудио или видео связи.

Почтовые протоколы – SMTP, POP, IMAP

Для передачи и получения электронной почты требуются свои собственные протоколы. Почту обычно отправляют по протоколу SMTP (Simple Mail Transfer Protocol – простой протокол передачи почты). Его также используют для передачи почты между почтовыми серверами. При настройке почтовых клиентов (например, Outlook Express) требуется указывать адрес SMTP сервера. Для получения почты с сервера почтового ящика почтовые клиенты обычно используют протокол POP (Post Office Protocol – протокол почтового отделения). На текущий момент действует его третья редакция (версия), которая называется POP3 (Post Office Protocol Version 3 – протокол почтового отделения, версия 3). Для возможности получения почты при настройке в почтовом клиенте необходимо указать адрес POP3 сервера. Адреса SMTP и POP3 серверов могут совпадать, а могут и не совпадать, их следует уточнить у почтового провайдера. Протоколы SMTP и POP3 работают совместно с TCP протоколом для передачи и доставки почты через интернет.

Существует и более функциональный, но менее известный протокол для чтения электронной почты – IMAP (Internet Message Access Protocol – протокол доступа к электронной почте интернета). Данный протокол позволяет получить доступ к письмам хранящимся в почтовом ящике на сервере без необходимости загрузки её на локальный компьютер. Это очень удобно, когда требуется доступ к письмам почтового ящика с нескольких компьютеров. IMAP также работает совместно с протоколом TCP.

Протокол передачи файлов – FTP

Протокол передачи файлов (FTP – File Transfer Protocol) предназначен для передачи файлов в компьютерных сетях с одного компьютера на другой. Он обеспечивает возможность простого управления файлами на удаленном компьютере. Это достаточно старый протокол, который был введен в эксплуатацию до всемирной паутины (WWW – World Wide Web). В настоящее время он используется в основном для загрузки файлов на веб сервера, однако существуют и файловые хранилища, работающие по протоколу FTP. Он работает совместно с протоколом TCP. Адреса URL использующие FTP протокол начинаются с „ftp:”.

Читайте также: