Сборка физических частей компьютерной сети сама по себе недостаточна для ее функционирования; подключенным устройствам также требуется способ связи. Эти языки общения называются сетевыми протоколами.
Назначение сетевых протоколов
Без протоколов устройствам не хватило бы способности понимать электронные сигналы, которые они посылают друг другу по сетевым соединениям. Сетевые протоколы выполняют следующие основные функции:
- Адресайте данные правильным получателям.
- Физическая передача данных от источника к получателю, при необходимости с защитой безопасности.
- Получение сообщений и отправка ответов надлежащим образом.
Рассмотрите сравнение сетевых протоколов с тем, как почтовая служба обрабатывает физическую бумажную почту. Подобно тому, как почтовая служба обрабатывает письма из многих источников и пунктов назначения, сетевые протоколы обеспечивают непрерывную передачу данных по многим путям.
Однако, в отличие от физической почты, сетевые протоколы предоставляют расширенные возможности. К ним относятся доставка постоянного потока сообщений в один пункт назначения (называемый потоковой передачей) и автоматическое создание копий сообщения для одновременной доставки в несколько пунктов назначения (называемый широковещательной рассылкой)..
Распространенные типы сетевых протоколов
Не существует протокола, поддерживающего все функции, необходимые каждой компьютерной сети. Тем не менее, каждый из них служит ключом, который разблокирует данное сетевое устройство или службу. За прошедшие годы были изобретены различные сетевые протоколы, каждый из которых пытался поддерживать определенные типы сетевого взаимодействия.
Три основные характеристики, отличающие один тип протокола от другого:
- Симплекс против дуплекса: Симплексное соединение позволяет только одному устройству передавать данные по сети. Дуплексные сетевые соединения позволяют устройствам передавать и получать данные по одному и тому же физическому каналу.
- Ориентированный на соединение или без установления соединения: Сетевой протокол, ориентированный на установление соединения, обменивается (процесс, называемый рукопожатием) адресной информацией между двумя устройствами, что позволяет им вести разговор (называемый сеанс). Протоколы без установления соединения доставляют отдельные сообщения из одной точки в другую, не принимая во внимание аналогичные сообщения, отправленные до или после (и не зная, были ли сообщения успешно получены).
- Layer: сетевые протоколы обычно работают вместе в группах (называемых стеками, поскольку на диаграммах протоколы часто изображаются в виде блоков, сложенных друг над другом). Некоторые протоколы функционируют на нижних уровнях, тесно связанных с тем, как физически работают различные типы беспроводных или сетевых кабелей. Другие работают на более высоких уровнях, связанных с тем, как работают сетевые приложения, а некоторые работают на промежуточных уровнях между ними.
Семейство интернет-протоколов
Общие общедоступные сетевые протоколы принадлежат к семейству интернет-протоколов. IP - это основной протокол, который позволяет домашней и другим локальным сетям через Интернет взаимодействовать друг с другом.
IP хорошо подходит для перемещения отдельных сообщений из одной сети в другую. Он не поддерживает концепцию диалога (соединения, по которому поток сообщений может перемещаться в одном или обоих направлениях). Протокол управления передачей (TCP) расширяет IP с помощью этой возможности более высокого уровня. Поскольку двухточечные соединения необходимы в Интернете, эти два протокола объединяются в пары и называются TCP/IP..
И TCP, и IP работают на средних уровнях стека сетевых протоколов. Популярные приложения в Интернете иногда реализуют свои протоколы поверх TCP/IP. Протокол передачи гипертекста используется веб-браузерами и серверами по всему миру. TCP/IP, в свою очередь, работает поверх сетевых технологий более низкого уровня, таких как Ethernet. Другие популярные сетевые протоколы семейства IP включают ARP, ICMP и FTP.
Как сетевые протоколы используют пакеты
Интернет и большинство других сетей передачи данных работают путем организации данных в небольшие части, называемые пакетами. Чтобы улучшить производительность и надежность связи, каждое большое сообщение, отправляемое между двумя сетевыми устройствами, часто подразделяется на более мелкие пакеты базовым аппаратным и программным обеспечением. Эти сети с коммутацией пакетов требуют, чтобы пакеты были организованы определенным образом в соответствии с протоколами, которые поддерживает сеть. Этот подход хорошо работает с технологией современных сетей, поскольку они обрабатывают данные в виде битов и байтов (цифровые 1 и 0).
Каждый сетевой протокол определяет правила организации пакетов данных. Поскольку такие протоколы, как Интернет-протокол, часто работают вместе на уровнях, некоторые данные, встроенные в пакет, отформатированный для одного протокола, могут быть в формате какого-то другого родственного протокола (метод, называемый инкапсуляцией).
Протоколы обычно делят каждый пакет на три части: заголовок, полезные данные и нижний колонтитул. Некоторые протоколы, например IP, не используют нижние колонтитулы. Заголовки и нижние колонтитулы пакетов содержат контекстную информацию, необходимую для поддержки сети, включая адреса отправляющего и принимающего устройств. Полезные нагрузки содержат данные для передачи.
Верхние или нижние колонтитулы часто содержат специальные данные для повышения надежности и производительности сетевых подключений, например, счетчики, отслеживающие порядок отправки сообщений, и контрольные суммы, помогающие сетевым приложениям обнаруживать повреждение или подделку данных.
Как сетевые устройства используют протоколы
Операционные системы сетевых устройств включают встроенную поддержку некоторых сетевых протоколов более низкого уровня. Например, все современные операционные системы для настольных компьютеров поддерживают Ethernet и TCP/IP. Многие смартфоны поддерживают Bluetooth и протоколы семейства Wi-Fi. Эти протоколы подключаются к физическим сетевым интерфейсам устройства, таким как его порты Ethernet и радиомодули Wi-Fi или Bluetooth.
Сетевые приложения поддерживают протоколы более высокого уровня, взаимодействующие с операционной системой. Веб-браузер, например, преобразует такие адреса, как https://lifewire.com/, в пакеты HTTP, содержащие данные, которые веб-сервер может получить и отправить обратно на правильную страницу. Принимающее устройство отвечает за повторную сборку отдельных пакетов в исходное сообщение путем удаления заголовков и нижних колонтитулов и объединения пакетов в правильной последовательности.