Протокол в информатике: что такое, каким может быть, характеристика
Передача информации в компьютерной сети подчинена ряду правил. Они зависят от типа сведений, решаемых в сети задач, определяют условия работы оборудования, входящего в сеть. Рассмотрим, что такое протокол (стандарт) передачи данных в информатике, их виды, кратко опишем наиболее используемые.
В глобальную сеть входят миллиарды компьютеров, мобильных и иных устройств. Работают они на базе разнообразных программных и аппаратных платформ, но при обмене данными руководствуются едиными принципами – протоколами, в информатике – это базовый набор методов, принципов, соглашений, в соответствии с которыми происходит обмен информацией между узлами сети. Они задают алгоритмы обработки возникших ошибок, правила совместной эксплуатации оборудования. Надстраиваются один над иным – имеют многоуровневую структуру; следующий не выполняется, пока не завершится работа предшествующего.
Различают прикладные и базовые протоколы. Прикладные – специализированные – отвечают за передачу текста, новостей, потокового мультимедиа. Их часть может не участвовать в работе компьютера либо не поддерживаться.
Базовые – обеспечивают передачу пакетов (блоков) данных между узлами сети (компьютерами, мобильными устройствами). Яркий пример – стек TCP/IP. Разделяет пакеты на части – блоки с идентификаторами, снабжается заголовками – адреса получателя и отправителя, ID сообщения. За доставку отвечает Internet Protocol – IP. Пакеты могут передаваться по разным маршрутам с различной скоростью. Принимаются программным обеспечением и собираются в нужной последовательности.
Физические и логические протоколы
Протоколы делятся на два вида — физические и логические.
Физические протоколы регулируют то, как именно и какие сигналы будут идти от одного устройства к другому. Например, импульсами по 5 вольт 100 раз в секунду или на определённой частоте радиосигналов. Эти протоколы нужны для того, чтобы наладить связь между устройствами. А уже после налаживания связи можно передавать данные.
? Физические протоколы часто называют сигнальными, потому что они регулируют передачу физических сигналов между устройствами.
Логические протоколы отвечают за смысл и передачу данных, когда связь уже установлена. Например, у нас есть два блютус-устройства, телефон и наушники, которые выяснили друг про друга, что они могут работать по одному и тому же проколу. После того как они наладили связь, они могут использовать протокол передачи данных, чтобы узнать друг о друге получше:
- какая версия блютуса стоит на каждом устройстве;
- кто что умеет делать — только играть музыку или ещё может работать как гарнитура;
- есть ли поддержка музыкальных кодеков;
- какой уровень заряда на каждом устройстве;
- нужно ли использовать энергосберегающий режим и так далее.
? Получается, что задача физического протокола — установить связь между устройствами, а логического — передавать данные по этой установленной связи.
Типы сетевых протоколов
Рассмотрим несколько самых популярных сегодня протоколов, работающих на разных уровнях:
Уже известный вам Media Access Control (MAC) это низкоуровневый сетевой протокол. С ним, в той или иной мере приходится сталкиваться всем пользователям. Используется он для идентификации сетевых устройств.
На следующем уровне после MAC располагается IP – Internet Protocol, имеющий две основные разновидности IPv4 и IPv6. Он назначает компьютерам уникальные IP-адреса, благодаря которым устройства могут себя обнаруживать в сети.
ICMP, TCP и UDP
Выше IP находятся такие протоколы:
- ICMP (Internet control message protocol), отвечающий за обмен информацией. Не используется для передачи данных. Именно ICMP используется в известной вам команде ping.
- TCP (Transmission control protocol). Этот сетевой протокол управляет передачей данных. TCP дает гарантия в том, что все переданные пакеты данных будут приняты правильно и ошибки будут полностью исключены.
- UDP (user datagram protocol) похож на TCP, но работает быстрее, так как в нем данные при получении не проверяются. В некоторых случаях использование UDP бывает вполне достаточным.
По своей распространенности в Интернет Hyper Text Transfer protocol находится на первом месте, ведь именно на его основе работают все сайты. С его помощью с локального компьютера можно открыть веб-сервис на удалённом сервере.
Как понятно из перевода названия, File Transfer Protocol служит для передачи файлов. Советуем не использовать его для передачи важных данных, так как в FTP не поддерживается необходимая безопасность.
POP3 и SMTP
Два протокола для работы с электронной почтой. POP3 отвечает за получение почты, SMTP – за отправку. Оба протокола позволяют доставлять email, передавая его почтовому клиенту.
Протокол SSH (Secure Shell) относится к уровню приложений. Создает защищенный канал для удаленного управления другой операционной системой. Поддерживает различные алгоритмы шифрования.
FTP — File Transfer Protocol
Протокол передачи файлов. Его использовали ещё в 1971 году — задолго до появления протокола IP. На текущий момент этим протоколом пользуются при удалённом доступе к хостингам. FTP является надёжным протоколом, поэтому гарантирует передачу данных.
Этот протокол работает по принципу клиент-серверной архитектуры. Пользователь проходит аутентификацию (хотя в отдельных случаях может подключаться анонимно) и получает доступ к файловой системе сервера.
Это не только система доменных имён (Domain Name System), но и протокол, без которого эта система не смогла бы работать. Он позволяет клиентским компьютерам запрашивать у DNS-сервера IP-адрес какого-либо сайта, а также помогает обмениваться базами данных между серверами DNS. В работе этого протокола также используются TCP и UDP.
Уровневая модель протоколов
При рассмотрении модели TCP/IP нельзя обойти внимание и уровни, на которые она разделена. Интересно, что количество уровней регламентируется стандартом RFC. Этот стандарт выделяет 4 уровня (или ступени):
- канальный;
- сетевой (или межсетевой);
- транспортный;
- прикладной.
Ряд экспертов делят начальный уровень на канальный и физический, однако до сих пор не существует единого мнения о целесообразности такой классификации. Мы рассмотрим 4 основных уровня, которые выделяют чаще всего.
1. Канальный.
Его предназначение – описать то, как происходит обмен сведениями на ступени сетевых устройств. Также канальный уровень определяет, как именно информация будет передаваться от одной машины к другой. Данные на link layer обязательно кодируются, затем делятся на несколько пакетов и отправляются по выбранному каналу передачи.
На этом уровне определяется максимально допустимое расстояние для передачи данных, а также такие параметры, как задержка ответа, частота сигнала и т. д. То есть, все физические характеристики системы. Наиболее распространенным протоколом на этом уровне является Ethernet.
2. Межсетевой.
Этот уровень стека протоколов TCP/IP занимается соединением существующих локальных сетей в глобальную. В этом случае под локальными сетями понимают индивидуальные сети на каждом устройстве. Internet layer регламентирует передачу данных по множеству сетей, что позволяет наладить взаимодействие между разными системами.
Именно межсетевое взаимодействие является одним из ключевых принципов функционирования Интернета. Локальные сети объединяются в общую, глобальную, а благодаря пограничным и магистральным маршрутизаторам между ними осуществляется передача файлов.
3. Транспортный.
На этой ступени функционируют протоколы TCP и UDP, которые отвечают за отправку и доставку данных.
Первый протокол – TCP – управляет передачей, проверяет, все ли файлы дошли, насколько полным является полученный объем и не произошло ли ошибок во время процедуры. Протокол помогает двум компьютерам выполнять обмен пакетами при помощи установки специального соединения. Дополнительно TCP позволяет повторно запросить потерянные данные, устранить дублирующиеся пакеты и регулировать загрузку сети. Именно такой протокол отвечает за сборку полученных пакетов в правильном порядке.
А вот протокол UDP, используемый на transport layer, является менее надежным. Занимается он отправкой автономных датаграмм, однако не гарантирует их 100% получение. Данные могут быть утеряны или доставлены в неверном порядке. По этой причине UDP не используется в тех случаях, когда необходима надежная передача. Применение этого протокола допустимо только тогда, когда потеря данных не будет критичной для работы приложения. Также UDP требуется в тех случаях, когда невозможно по каким-либо причинам сделать повторный запрос данных.
4. Прикладной.
Последний уровень, который присутствует в протоколе типа TCP/IP – это прикладной. В отличие от той же системы OSI, отсутствуют промежуточные уровни (например, сеансовый), поэтому форматированием и разбивкой данных занимается программный интерфейс приложений. Приложение обращается к API, а в ответ получает набор действий или инструкцию по их выполнению.
Application layer существует для большинства программ, которые обмениваются файлами с нижними уровнями по уже существующим соединениям. Чаще всего для приложений создаются новые протоколы: например, HTTP – для отправки гипертекста, FTP – для отправки файлов и т. д.
Протокол TCP
Протокол TCP это протокол следующего после протокола IP уровня. Предназначен этот протокол для контроля передачи информации и ее целостности.
Например, Передаваемая информация разбивается на отдельные пакеты. Пакеты доставят получателю независимо. В процессе передачи один из пакетов не передался. Протокол TCP обеспечивает повторные передачи, до получения этого пакета получателем.
Транспортный протокол TCP скрывает от протоколов высшего уровня (физического, канального, сетевого IP все проблемы и детали передачи данных).
Преобразование IP-адресов в символьные адреса
Технология активно используется для назначения буквенно-цифровых названий веб-ресурсов. При вводе домена в адресной строке браузера сначала происходит обращение к специальному серверу DNS. Он всегда прослушивает порт 53 у всех компьютеров, которые подключены к интернету, и по запросу преобразует введенное название в стандартный IP-адрес.
После определения точного местонахождения файлов сайта включается обычная схема работы – от прикладного уровня с кодированием данных до обращения к физическому оборудованию на уровне сетевых интерфейсов. Процесс называется инкапсуляцией информации. На принимающей стороне происходит обратная процедура – декапсуляция.