Протоколы передачи данных: их типы и особенности
Зміст
Что такое протокол передачи данных
Большинство современных устройств взаимодействуют друг с другом по сети. Компьютеры, смартфоны, планшеты, холодильники, камеры, датчики и прочие устройства подключаются к интернету, чтобы принимать или отправлять данные.
Чтобы разные типы устройств могли взаимодействовать между собой, нужно структурировать информацию определенным образом, понятным и устройству-передатчику, и устройству-приемнику. Для этого создаются правила, которые определяют, как проводить каждый этап взаимодействия и в каком виде передавать данные. Стандартизированные наборы правил называются протоколами передачи данных.
Назначение и задачи протоколов передачи данных
Протокол передачи данных задает правила, в соответствии с которыми устройства взаимодействуют по сети.
Протоколы разрабатываются в соответствии с моделью взаимодействия открытых систем (Open Systems Interconnection — OSI). Эта модель состоит из семи уровней, и протоколы передачи данных создаются для каждого из них.
Уровень | Описание |
7. Прикладной | Самый близкий к пользователю уровень. На нем производится прием информации от пользователя и вывод данных для пользователя. На уровне 7 работают веб-браузеры, Telnet, FTP. |
6. Уровень представления | Этот уровень не зависит от представления данных на прикладном уровне. Он осуществляет преобразование формата приложения в сетевой формат и обратно. Примером может служить шифрование и расшифровка данных для безопасной передачи. |
5. Сеансовый | Для взаимодействия двух устройств по сети нужно создать сеанс связи. Функции этого уровня отвечают за установку соединения, координирование и прекращение взаимодействия между приложениями. |
4. Транспортный | Этот уровень обеспечивает передачу данных между конечными системами и хостами. Он определяет объем данных, скорость передачи, направление и т. д. Самый распространенный пример протокола этого уровня — TCP. UDP также работает на 4-м уровне. |
3. Сетевой | На сетевом уровне осуществляется передача пакетов, оптимизируется их маршрутизация. На этом уровне работает протокол IP. |
2. Канальный | Обеспечивает передачу данных между узлами, которые связаны между собой. Исправляет ошибки, возникающие на физическом уровне. Этот уровень состоит из двух подуровней: MAC (Media Access Control) и LLC (Logical Link Control). |
1. Физический | Низший уровень, на котором и происходит передача данных в виде электрических и оптических импульсов или радиоволн. |
Типы протоколов
Существует много протоколов передачи данных. В этой статье мы рассмотрим:
- IP
- TCP/IP
- UDP
- FTP
- DNS
- HTTP
- NTP
- SSH
IP — Internet Protocol
Интернет-протокол (Internet Protocol, IP) — это протокол маршрутизации и адресации пакетов данных, который обеспечивает их передачу по сетям и доставку в требуемый пункт назначения.
Данные, передаваемые по интернету, делятся на маленькие фрагменты, называемые пакетами. К каждому пакету прикрепляется информация об IP-адресе конечного устройства или домена, которые должны получить данные. Поскольку данные направляются по назначенным IP-адресам, они прибывают в нужное место.
После прибытия пакетов в пункт назначения они по-разному обрабатываются. Способ обработки зависит от того, какой протокол используется совместно с IP. Самые распространенные транспортные протоколы — TCP и UDP.
TCP/IP — Transmission Control Protocol/Internet Protocol
Протокол управления передачей (Transmission Control Protocol, TCP) — это коммуникационный стандарт, позволяющий программам и устройствам обмениваться сообщениями по сети. Он предназначен для передачи пакетов по интернету и обеспечения успешной доставки данных и сообщений по сетям.
TCP — один из базовых стандартов, которые определяют правила интернета. Это один из наиболее распространенных протоколов в сфере цифровых коммуникаций.
TCP упорядочивает данные, чтобы обеспечить их передачу между сервером и клиентом. Перед передачей данных TCP устанавливает соединение между источником и пунктом назначения. Крупные данные разделяются на мелкие пакеты, которые передаются по сети, и на каждом этапе гарантируется целостность данных.
Основные характеристики TCP:
- клиент подтверждает доставку данных с сервера;
- при наступлении тайм-аута сервер пытается еще раз передать данные, которые не были доставлены;
- если сеть перегружена, TCP задерживает передачу данных;
- этот протокол использует трехэтапное «рукопожатие» для проверки наличия ошибок передачи данных.
Для передачи пакетов от узла к узлу используется IP.
UDP
Протокол транспортного уровня (User Datagram Protocol, UDP) — это протокол связи, ориентированный на сообщения. Он позволяет устройствам и программам передавать данные по сети без проверки их доставки.
Такой способ передачи данных лучше всего подходит для связи в режиме реального времени и систем трансляции.
Как и TCP, UDP предназначен для отправки и приема сообщений. Но в случае UDP перед передачей данных подключение не создается.
Кроме того, этот протокол не гарантирует доставку пакетов данных с сервера. Он не проверяет, доставлены ли данные клиенту.
В большинстве случаев UDP работает быстрее, чем TCP, потому что он не обеспечивает доставку пакетов.
Протокол UDP не подходит для передачи сообщений электронной почты, просмотра веб-страниц или загрузки файлов. Он используется, в основном, для передачи данных в режиме реального времени: трансляций или передачи многозадачного сетевого трафика.
Основные характеристики UDP:
- адаптируется к приложениям, требовательным к пропускной способности и толерантным к потере пакетов;
- меньше задержек при передаче данных;
- используется для отправки большого количества пакетов за один раз;
- есть возможность потери некоторых данных.
FTP
Протокол передачи данных (File Transfer Protocol, FTP) предназначен как для передачи отдельных файлов, так и для пакетной передачи.
Этот протокол существует давно, и проблем со взаимодействием при его использовании, скорее всего, у вас не будет. Ваш бизнес-партнер сможет обмениваться файлами по этому протоколу. Не будет проблем и с поиском клиентского приложения для конечных пользователей.
Недостаток этого протокола — в слабой защите. Поэтому, если вам требуется соблюдать такие законы и регламенты, как HIPAA, PCI-DSS, SOX, GLBA и EU Data Protection Directive, не пользуйтесь FTP.
Выбирайте его, если компания:
- НЕ работает в строго регламентированной отрасли (здравоохранение, финансы, производство);
- НЕ отправляет и НЕ принимает конфиденциальные файлы;
- НЕ публичная (и на него не распространяются закон SOX).
Еще одна проблема FTP — зависимость от проблем брандмауэра, которые могут повлиять на подключение к клиенту.
При этом, у FTP (и у HTTP) есть безопасные версии. У FTP — это FTPS, а у HTTP — HTTPS.
Оба протокола защищены с использованием уровня защищенных сокетов (Secure Sockets Layer, SSL). При использовании FTPS вы продолжаете пользоваться преимуществами FTP и при этом применяются возможности SSL, в том числе шифрование данных при передаче, а также аутентификация. Поскольку FTPS основан на FTP, могут возникать проблемы с брандмауэром.
Организациям из юридического, правительственного и финансового сектора больше подойдет FTPS.
DNS
Система доменных имен (Domain Name System, DNS) — это протокол прикладного уровня, который определяет, как процессы приложений выполняются в различных системах, передают друг другу сообщения.
DNS обеспечивает преобразование между именами хостов сети и числовыми адресами. У каждого узла дерева есть доменное имя.
Полное доменное имя — это последовательность символов, разделенных точками.
DNS — это сервис, который преобразует доменное имя в IP-адрес. Пользователю намного проще запомнить понятное имя, чем числовой IP-адрес.
DNS хранит имена всех хостов, доступных в интернете, в распределенной базе данных. Если клиентская программа, например браузер, отправляет запрос с именем хоста, то DNS-преобразователь отправляет к DNS-серверу запрос на получение IP-адреса этого хоста.
Если на DNS-сервере нет IP-адреса, связанного с именем хоста, то он передает запрос другому DNS-серверу. Когда преобразователь получает IP-адрес, выполняется запрос по протоколу IP.
HTTP
Протокол передачи гипертекста (HyperText Transfer Protocol, HTTP) предназначен для передачи гипертекстовых документов и связанных с ними мультимедийных файлов. Это протокол прикладного уровня: по нему приложение-клиент взаимодействует с приложением-сервером.
Взаимодействие происходит в виде обмена отдельными сообщениями. Приложение-клиент (чаще всего это веб-браузер) отправляет серверу сообщение, называемое запросом. Приложение-сервер отправляет клиенту сообщение, называемое ответом. И в вопросе, и в ответе содержатся следующие части:
- стартовая строка с описанием запросов или кодом состояния;
- необязательный набор HTTP-заголовков, в которых указывается запрос или описывается тело сообщения;
- пустая строка, которая означает, что вся метаинформация запроса отправлена;
- необязательное тело сообщения с данными или документом, связанными с запросом.
В качестве транспортного протокола для HTTP используется TCP.
NTP
Точное время для всех устройств в компьютерной сети важно по многим причинам. Разница даже в долю секунды может вызвать проблемы.
Протокол сетевого времени (Network Time Protocol, NTP) — это интернет-протокол для синхронизации часов компьютера по сети. Это один из старейших протоколов комплекта TCP/IP. Термин NTP применяется и к самому протоколу, и к клиент-серверным приложениям.
Синхронизация проводится в четыре этапа:
- NTP-клиент инициирует запрос к NTP-серверу на получение данных о времени.
- После этого клиент может вычислить длительность задержки связи и локальное смещение, чтобы подстроить локальные часы под часы на сервере.
- Для первоначальной настройки часов обычно требуется провести шесть обменов данными за 5-10 минут.
- После синхронизации клиент обновляет часы каждые 10 минут, для чего обычно требуется обменяться лишь одним сообщением (не считая синхронизации клиента с сервером). Транзакция проводится по протоколу UDP через порт 123.
Ниже приведены некоторые примеры применения протокола NTP:
- от координирования времени зависит очередность выполнения распределенных процедур;
- механизмы безопасности зависят от постоянного хронометрирования сети;
- обновление файловой системы на нескольких компьютерах зависит от синхронизации часов;
- системы ускорения сети и управления ею зависят от точности часов, особенно при измерении производительности и устранении неполадок.
SSH
Безопасная оболочка (Secure SHell, SSH) — это протокол, использующий шифрование для защиты соединения между клиентом и сервером. Все команды, вывод, передаваемые файлы и данные для аутентификации шифруются, чтобы предотвратить сетевые атаки.
Этот протокол используется для входа на удаленный сервер и выполнения команд и передачи данных с одного компьютера на другой.
При безопасной связи обеспечивается аутентификация с использованием надежного пароля, а данные передаются в зашифрованном виде с использованием зашифрованного ключа по незащищенному каналу.
Этот протокол заменяет те протоколы, которые не защищены с использованием удаленного входа, такие как Telnet, rlogin, rsh и подобные, а также протокол передачи файлов FTP.
Его функции обеспечения безопасности широко используются сетевыми администраторами для удаленного управления системами и приложениями.
Протокол SSH защищает сеть от различных атак, таких как спуфинг DNS, маршрутизация от источника и спуфинг IP.
Заключение
Протоколы передачи данных нужны для того, чтобы устройства «понимали», в каком формате должно происходить общение.
Знакомство с этими протоколами будет полезным для всех, кто работает с данными в мире взаимосвязанных устройств. Это поможет правильно выбирать протоколы для решения конкретных задач.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: