Что это такое? Сетевые протоколы – это своды правил, по которым участники сети взаимодействуют между собой. Причем такие связи могут быть прописаны как на аппаратном уровне, так и на программном.
Какими бывают? Всего сетевых протоколов насчитывается около 7000, но большая их часть применяется для решения узких задач. В целом их можно классифицировать по системам, в которых они работают, а таковых всего две: TCP\IP и OSI.
- Понятие сетевого протокола
- Сетевые протоколы Интернета
- Сетевые протоколы транспортного уровня
- Сетевые протоколы прикладного уровня
-
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
Понятие сетевого протокола
Все устройства, подключенные к сети, взаимодействуют друг с другом на одном уровне, обмениваясь сообщениями в заданной последовательности и в определенном формате. Сетевой протокол — это именно порядок такого взаимодействия, некая система форм и правил, представленная как набор процедур для каждого уровня сетевой иерархии.
Специалисты этим понятием чаще всего описывают регламент общения двух узлов, расположенных в разных местах сети, но находящихся на одном уровне. Несколько протоколов разных уровней могут работать согласованно и организовывать, таким образом, межсетевое взаимодействие.
Такая система называется стеком протоколов, где протоколы являются средством реализации данного взаимодействия. Здесь можно провести аналогию с неким алгоритмом решения задачи и программой, выполняющей данный алгоритм.
Каждый протокол может быть программно реализован несколькими способами. Так, компания Microsoft для своей системы Windows NT внедрила регламент IPX, представленный в виде ПО NWLink. Этот же протокол реализовала Novell, но он отличается своими характеристиками.
Поэтому сравнивать аналогичные протоколы от разных компаний следует не только по их функциональности, но и по качеству программной реализации. Немаловажно учитывать также и качество стека протоколов. От распределения функций между элементами этой многоуровневой структуры и от определения интерфейсов между ними зависит в итоге эффективность взаимодействия сетевых устройств.
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Скачивайте и используйте уже сегодня:
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка
Только проверенные нейросети с доступом из России и свободным использованием
ТОП-100 площадок для поиска работы от GeekBrains
Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽
Реализация протоколов обеспечивается не только аппаратными и программными возможностями компьютеров. В этом участвуют и отдельное коммуникационное оборудование. Тип конкретного устройства определяет, какие именно средства встроены в это устройство, чтобы реализовать некий набор протоколов.
Сетевые протоколы Интернета
Компьютерная сеть чаще всего рассматривается как горизонтальная, плоская система. Обычно речь идет о протоколах интернета верхнего уровня и конкретного приложения. Однако установить связь между любыми двумя сетевыми устройствами можно лишь с внедрением вертикальных абстрактных уровней.
А значит, для каждого слоя требуется свой протокол, и для создания соединения эти протоколы должны работать одновременно, друг поверх друга. Данные передаются от нижнего слоя к верхнему, при этом абстрагируясь и упрощаясь, становясь в итоге максимально простыми для восприятия конечным приложением.
Принято выделять 7 таких уровней абстракции, нижние из которых зависят от используемого оборудования. Передаваемая же информация будет всегда иметь один и тот же вид. Передача данных на другое сетевое устройство осуществляется на самом низком уровне, затем эти данные проходят все уровни у получателя в обратном порядке. Каждый абстрактный слой добавляет необходимую информацию для дальнейших операций с полученными пакетами.
OSI (Open Systems Interconnect)
В сетевых протоколах OSI как многоуровневая модель использовалась изначально. В соответствии с ней существует 7 уровней:
- Приложение
На самом верхнем уровне конечный пользователь работает с интернетом через приложения, передавая в сеть данные и не задумываясь о технологии передачи.
Скачать файл- Представление
Передаваемые данные, находясь на более низком уровне, приобретают вид, понятный для программного обеспечения получателя.
- Сессия
Здесь осуществляется подготовка соединения между отправителем и получателем для последующей передачи данных.
Читайте также!
- Транспорт
На этом уровне OSI данные непосредственно передаются. После этого обоими узлами осуществляется проверка успешной доставки пакетов.
- Сеть
Протоколы сетевого уровня применяются для маршрутизации данных до тех пор, пока данные не будут получены удаленным компьютером. Для этого пакеты иногда разбиваются на более мелкие фрагменты, которые затем собираются обратно получателем.
- Соединение
Определяется способ соединения с удаленным устройством, обеспечивается стабильность этого соединения. Для этого применяются соответствующие аппаратные средства.
- Устройства
Самый нижний физический уровень служит для обработки данных устройствами и программным обеспечением для управления соединением (Ethernet, Wi-Fi).
Итак, прежде чем достичь аппаратного обеспечения, информация проходит через несколько слоев.
TCP/IP
Используемые сетевые протоколы в интернете работают чаще всего по модели TCP/IP. По сравнению с OSI количество уровней здесь сокращено до четырех:
- Приложения
На данном уровне обеспечиваются соединение между двумя компьютерами и передача данных от одного к другому. При этом приложения рассматриваются как установленные локально, даже если они расположены на удаленных системах.
- Транспорт
Следующий уровень ответственен за взаимодействие процессов. Выбор целевого приложения для передачи данных и необходимого для этого протокола выполняется с помощью портов.
на курсы от GeekBrains до 01 декабря
- Сеть
Этот уровень служит для обеспечения доставки данных от одного узла к другому по интернету, а также для определения IP-адресов. При этом должны быть известны отправитель и получатель, однако сама связь не реализуется.
- Соединение
Здесь непосредственно обеспечивается физическое соединение двух узлов, чтобы конечные устройства могли свободно обмениваться данными вне зависимости от применяемых технологий.
Модель TCP/IP отличается меньшей абстрактностью. Она более понятна и поэтому предпочтительна среди пользователей. Здесь отсутствует какая-либо привязка к программным техническим операциям. Тем не менее, обе рассмотренные модели вполне пригодны для изучения принципов работы конкретной сети.
Идея в том и в другом случае одинакова: данные перед отправкой упаковываются с использованием нескольких протоколов, передаются по нескольким сетевым узлам до получателя и затем распаковываются в обратном порядке. Для конечных приложений сам факт прохождения этой информации через сеть может быть скрыт — данные будто бы просто копируются в пределах одной локальной машины.
Сетевые протоколы транспортного уровня
IP
Глобальный интернет-протокол (IP) объединил все компьютеры в одну сеть. Это самая простая технология, созданная прежде всего для маршрутизации дейтаграмм. Проще говоря, этот протокол определяет маршрут движения пакетов по сетевым узлам. Каждое устройство, подключенное к сети, идентифицируется по IP-адресу для того, чтобы пакеты доходили до нужного адресата. Таким устройством может быть, например, компьютер или удаленный принтер.
Сетевые протоколы канального уровня (в том числе IP), однако, обладают низкой надежностью. Здесь отсутствует обязательная проверка успешной доставки пакетов и целостности этих пакетов. Этот протокол лишь пересылает данные.
Перед отправкой пакетов необходимо определить целевой порт. Специально для этого в данном случае введена отдельная адресная система. Адрес сетевого протокола IP может представлять собой либо 32-битную (для 4 версии), либо 128-битную (для 6 версии) запись. В отправляемый пакет заранее заносится техническая информация: заголовок (header) и сведения для доставки (payload).
Версии протокола отличаются разрядностью: IPv4 состоит из четырех разделов и поддерживает 32 разряда, вмещая до 4 294 967 296 адресов. Используется по умолчанию и отличается простотой. Главным недостатком четвертой версии можно назвать весьма ограниченный адресный ресурс.
Протокол IPv6 является уже 128-битной системой и поддерживает гораздо больший адресный диапазон. Здесь доступно примерно 2 в 128 степени адресов, записываемых как последовательность 32-х шестнадцатеричных чисел, равномерно сгруппированных по 8-ми разделам. Этот протокол, напротив, достаточно сложен для администрирования. Поэтому хостеры предоставляют в аренду серверы с установленным по умолчанию IPv4. Хотя арендаторы обычно вправе попросить изменить протокол на IPv6.
TCP
Позволяет узлам интернета обмениваться информацией. С точки зрения модели OSI действует на транспортном уровне.
Передача файлов осуществляется после их дробления, после чего эти файлы на стороне получателя собираются обратно. Поясним это на примере загрузки веб-сайта. После запроса нужной страницы пользователем удаленный сервер отправляет в ответ HTML-файл. Данный процесс происходит по протоколу HTTP. Чтобы установить соединение, HTTP сначала обращается к уровню TCP, а после этого отправляет требуемый файл пользователю. Роль протокола TCP состоит в конвертации отправляемых данных в блоки на стороне сервера, установки соединения и подтверждения получения этих данных на стороне пользователя.
Сетевой протокол TCP обладает следующими функциями:
- Нумерация сегментов
Система автоматически отслеживает проходящие через узел сегменты и нумерует их по порядку. При этом каждый байт данных, подлежащих передаче, получает свой определенный номер.
- Управление потоком
В протокол встроена функция ограничения скорости передачи данных отправителем. Необходимость в этом возникает для обеспечения надежной доставки. Адресат постоянно информирует отправителя о возможном объеме получаемых данных.
- Контроль ошибок
Эта функция проверяет пересылаемые байты на целостность и призвана повысить таким образом надежность доставки.
- Наличие специальных портов
В протоколе TCP используются отдельные порты отправителя и получателя. Они нужны для взаимодействия с другими протоколами. К примеру, для SSH выделен порт 22, для HTTP — порт 80, для HTTPS — порт 443, для Gopher — порт. Также существует разделение по трем категориям. Все порты от 0 до 1023 относят к общеизвестным, от 1024 до 49151 — к зарегистрированным, от 49152 до 65535 — к динамическим.
UDP (User Datagram Protocol)
Этот протокол аналогичен TCP, но все же отличается от него поведением в сети. Основное отличие состоит в отсутствии у пользователя необходимости подтверждать успешную отправку или получение данных. Это позволяет заметно повысить скорость работы, однако понижает уровень безопасности и надежности.
Специфика применения протокола UDP связана главным образом с особенностями этого протокола. В частности, он подойдет для мессенджеров, где задержка с доставкой сообщений может быть критичной. Кроме того использование протокола оправдано в многопользовательских играх и приложениях, а также в потоковом видео.
Перед отправкой данные собираются в специальном UDP-пакете, в который, помимо этого, добавляется заголовок, содержащий 4 поля: номер порта отправителя, номер порта получателя, длина заголовка, контрольная сумма блока. Каждое такое поле вмещает 2 байта информации.
Из-за низкого уровня защиты протокол UDP пользуется популярностью у злоумышленников, которые организуют с его помощью DDOS-атаки. Отсутствие подтверждения от сервера дает возможность бесконтрольно отправлять на сервер запросы. В отправке огромного числа дейтаграмм и состоит суть хакерской атаки. В попытках ответить на каждый запрос сервер в итоге перегружается.
SCTP
Данный протокол управляет передачей потока. Он работает на транспортном уровне и обеспечивает стабильную последовательную передачу информации. При этом как отправитель, так и получатель может обладать сразу несколькими IP-адресами. Благодаря этому можно безопасно и прозрачно переключаться на резервные сетевые каналы.
Протокол SCTP похож на TCP и UDP с точки зрения обеспечения транспортных функций для ряда интернет-приложений. Благодаря возможности быстро переключаться между интерфейсами SCTP находит свое применение прежде всего в работе программного обеспечения, которое должно быть всегда доступно. Функционирование протокола осуществляется поверх IP и аналогичных бесконтактных пакетных сетей. При этом поддерживается наличие нескольких IP-адресов у одного узла.
RTP (Real-time Transfer Protocol)
Иначе называется протоколом реального времени. Обеспечивает транспортную функцию для потокового мультимедиа, широко используется в IP-телефонии. Обычно RTP реализован в связке с протоколом управления RTCP. В то время как первый транслирует аудио или видео, второй анализирует статистические данные QoS и синхронизирует разные потоки. Для работы RTP используются порты с четными номерами, RTCP же функционирует через нечетные порты.
Данный протокол считается стандартным при передаче потоковой аудио- и видеоинформации через IP благодаря возможности одновременной передачи этой информации нескольким получателям путем многоадресной IP-рассылки.
Сетевые протоколы прикладного уровня
Протокол TCP/IP и абстрактную модель OSI объединяет одно общее свойство — прикладной характер верхних уровней.
Существует несколько прикладных стандартных архитектур, среди которых стоит упомянуть следующие:
- DNS (сообщает IP-адрес через вызов запроса с доменом);
- HTTP (обеспечивает взаимодействие между сервером и клиентом, доставляет гипертекстовые документы WWW браузеру через сервер);
- HTTPS (аналогична HTTP, но дополнительно шифрует веб-страницы).
Читайте также!
Система доменных имен DNS использует в своей работе алгоритмы UDP, обладающие сравнительно низкой надежностью передачи данных. Однако в прикладных протоколах FTP и HTTP уже применяются принципы TCP.
В интернете часто используются:
- FTP (управляет файловым обменом);
- POP3 (обеспечивает получение почтовой программой электронной почты с сервера);
- IMAP (предоставляет доступ к электронной почте через интернет).
Прекрасно написано! Спасибо!