Протокол передачи данных
Протокол передачи данных — это набор правил и соглашений, которые определяют способ обмена данными между устройствами и программами в сети. Другими словами это «язык» или правила «общения» между компьютерами или любыми другими устройствами, работающими с использованием процессоров. Протокол определяет, как данные упаковываются, отправляются и как устройства должны взаимодействовать друг с другом. Таким образом, связь между устройствами возможна исключительно благодаря применению протоколов[1].
Протоколы передачи данных можно классифицировать как физические (определяют, какие сигналы и каким образом передаются от одного устройства к другому — будь то электрические импульсы, передаваемые с определённой скоростью по проводам или посылки на заданной радиочастоте) и логические, которые отвечают за содержание и передачу данных после установления соединения. Например, интернет-браузер взаимодействует с сервером посредством протоколов HTTP или HTTPS. Передача файлов в компьютерной сети осуществляется по стандартному FTP-протоколу, а для потоковой загрузки данных используется протокол BitTorrent[2].
Виды протоколов
Стандартизированные протоколы передачи данных делают возможным создание универсальных интерфейсов (на физическом уровне), не связанных с конкретной аппаратной платформой или производителем (например, протоколы USB, Bluetooth). Они подразделяются следующим образом:
- сигнальный протокол необходим для управления соединением, таких как установление, переадресация и завершение сеанса связи. Это, например, протоколы RTSP, SIP. После окончания процедуры соединения для передачи данных используются такие протоколы, как RTP;
- сетевой протокол — протокол следующего уровня, определяющий свод правил и последовательностей действий, обеспечивающих возможность подключения и обмена данными между двумя и более устройствами, подключёнными к сети.
Различные протоколы часто описывают отдельные аспекты одного типа связи. Названия «сетевой протокол» и «стек протоколов», как правило, относятся к программным составляющим, использующим протокол.
Разработка новых интернет-протоколов осуществляется на уровне IETF, а другие виды протоколов определяются стандартами IEEE (англ. Institute of Electrical and Electronics Engineers) или ISO (англ. International Organization for Standardization; фр. Organisation internationale de normalisation). В свою очередь, рекомендации ITU-T (англ. International Telecommunication Union — Telecommunication Standardization Sector) регулируют телекоммуникационные протоколы и форматы[3].
Наиболее популярной системой классификации сетевых протоколов признана модель OSI (англ. Open Systems Interconnection model). В этой модели протоколы распределены на семь уровней, начиная с физического уровня (ответственного за формирование и распознавание сигналов) и до прикладного уровня (обеспечивающего интерфейс программирования приложений для передачи данных).
Модель OSI подразделяется на семь уровней, каждый из которых соответствует определённому набору протоколов и правил взаимодействия[1].
Уровни модели OSI
Любой протокол модели OSI должен взаимодействовать либо с протоколами своего уровня, либо с протоколами на единицу выше и/или ниже своего уровня. Взаимодействия с протоколами своего уровня называются горизонтальными, а с уровнями на единицу выше или ниже — вертикальными. Любой протокол модели OSI выполняет только функции своего уровня.
Каждому уровню с некоторой долей условности соответствует свой операнд — логически неделимый элемент данных, которым на отдельном уровне можно оперировать в рамках модели и используемых протоколов: на физическом уровне мельчайшая единица — бит, на канальном уровне информация объединена в кадры, на сетевом — в пакеты (датаграммы), на транспортном — в сегменты. Любой фрагмент данных, логически объединённых для передачи — кадр, пакет, датаграмма — считается сообщением. Именно сообщения в общем виде являются операндами сеансового уровня, уровня представления и прикладного уровня[3].
Уровни модели OSI | |||||
---|---|---|---|---|---|
Уровень | Тип данных | Функции | Примеры | Оборудование | |
7 | Прикладной | Данные | Доступ к сетевым службам | HTTP, FTP, POP3, SMTP, WebSocket | Хосты ⇒ клиенты сети Межсетевой экран |
6 | Представления | Представление и шифрование данных | ASCII, EBCDIC, SSL, gzip | ||
5 | Сеансовый | Управление сеансом связи | RPC, PAP, L2TP, gRPC | ||
4 | Транспортный | Сегменты Датаграммы | Прямая связь между конечными пунктами и надёжность | TCP, UDP, SCTP, Порты | |
3 | Сетевой | Пакеты | Определение маршрута и логическая адресация | IPv4, IPv6, IPsec, AppleTalk, ICMP | Маршрутизатор Сетевой шлюз Межсетевой экран |
2 | Канальный | Биты кадры |
Физическая адресация | PPP, IEEE 802.22, Ethernet, DSL, ARP, сетевая карта. | Сетевой мост Коммутатор Ethernet Точка доступа |
1 | Физический | Биты | Работа со средой передачи, сигналами и двоичными данными | Порты: USB, RJ Среда передачи сигнала:
|
Концентратор Повторитель (сетевое оборудование) |
Описание выполняемых функций:
- физический уровень занимается определением характеристик линий связи (механических, электрических, оптических);
- канальный уровень описывает правила использования физического уровня сетевыми узлами;
- сетевой уровень отвечает за адресные механизмы и доставку сообщений;
- транспортный уровень контролирует последовательность передачи компонентов сообщения;
- сеансовый уровень координирует взаимодействие между двумя программами, работающими на разных устройствах;
- уровень представления занимается преобразованием данных из внутреннего формата компьютера в формат передачи;
- прикладной уровень служит интерфейсом между прикладным ПО и остальными уровнями, обеспечивая удобные взаимодействия для сетевых приложений.
Уровни протоколов TCP/IP
Другая модель, известная как стек протоколов TCP/IP, включает в себя четыре уровня:
- уровень канала (link layer),
- уровень интернета (Internet layer),
- уровень передачи (transport layer),
- уровень приложений (application layer).
Примеры сетевых протоколов
Самым распространённым сетевым протоколом является TCP/IP — это протокол для передачи данных Интернета, названный так по наименованиям входящих в него двух основных протоколов: TCP (англ. Transmission Control Protocol) и IP (англ. Internet Protocol).[4]
Ниже приведён ряд наиболее популярных протоколов, также используемых в Интернете:
- HTTP (Hyper Text Transfer Protocol) — это протокол для передачи гипертекста. HTTP применяется при обмене веб-страницами между машинами в одной сети.
- FTP (File Transfer Protocol) — протокол обмена файлами между файловым сервером и компьютером пользователя. FTP позволяет передавать как двоичные, так и текстовые файлы. Подключившись к удалённому компьютеру, пользователь может загружать файлы с него на свой или наоборот.
- POP3 (Post Office Protocol) — стандарт для почтового соединения. POP3-серверы обрабатывают входящую почту и протокол обеспечивает запросы на получение писем клиентскими почтовыми программами.
- SMTP (Simple Mail Transfer Protocol) — это протокол, устанавливающий правила пересылки почты. SMTP серверы предоставляют либо подтверждение получения, либо сообщение об ошибке, либо запрашивают дополнительную информацию.
- TELNET — протокол для удаленного доступа. TELNET позволяет пользователям работать на удаленном компьютере как на своём собственном, включая запуск программ и изменение настроек. Однако возможности зависят от прав доступа, установленных администратором удалённой системы.
Ниже показана структурная схема обмена данными с использованием протоколов HTTP TCP/IP.
См. также
- DTN — протокол, разработанный для межпланетных сетей связи IPN, используемых NASA.
- HART-протокол
- Протокол передачи данных на основе UDP
- Протоколы модемной связи
- Таблица сетевых протоколов по функциональному назначению
Примечания
- ↑ 1,0 1,1 Маргарита Катрич. Что такое протоколы передачи данных (1 июня 2023). Дата обращения: 7 октября 2024.
- ↑ Что такое протокол (обновлено 2024-05-07). Дата обращения: 7 октября 2024.
- ↑ 3,0 3,1 Модели OSI/ISO и TCP/IP . TestIngineer. Дата обращения: 7 октября 2024.
- ↑ Hunt, Craig. TCP/IP Network Administration. — 3rd Edition. — O'Reilly Media, Inc.. — ISBN 0596002971.
Данная статья имеет статус «готовой». Это не говорит о качестве статьи, однако в ней уже в достаточной степени раскрыта основная тема. Если вы хотите улучшить статью — правьте смело! |