Виды протоколов в сети Интернет: какой протокол является базовым

Основные сетевые термины

Перед тем как обсуждать основы сети интернет, нам нужно разобраться с некоторыми общими терминами, которые часто используются специалистами и встречаются в документации:

  • Соединение – в сетях, соединение означает возможность передавать данные между устройствами. Перед тем как начнется передача данных, должно состоятся соединение, параметры которого описаны протоколом;
  • Пакет –  это основной структурный блок данных в сети. Все данные передаются в виде пакетов, большие данные разделяются на небольшие пакеты, фиксированного размера. В каждом пакете есть заголовок, в котором находится информация о данных, пункте назначения, отправителе, строке жизни пакета, времени отправки и т д;
  • Сетевой интерфейс – это физическое или виртуальное устройство, которое позволяет компьютеру подключиться к сети. Если у вас есть две сетевые карты на компьютере, то вы можете настроить сетевой интерфейс для каждой из них. Также сетевой интерфейс может быть виртуальным, например, локальный интерфейс lo;
  • LAN – это ваша локальная сеть, к ней подключены только ваши компьютеры и больше никто не имеет к ней доступа. Это может быть ваша домашняя или офисная сеть;
  • WAN – это глобальная сеть интернет, обычно этот термин применяется для обозначения всей сети интернет, также этот термин может относиться к сетевому интерфейсу;
  • Протокол – набор правил и стандартов, которые определяют команды и способ коммуникации между устройствами. Существует множество протоколов и мы их рассмотрим ниже. Самые популярные из них – это TCP, UDP, IP и ICMP, также есть протоколы сети интернет более высокого уровня, например, HTTP и FTP;
  • Порт – это адрес на компьютере, который связан с определенной программой. Это не сетевой интерфейс и не местоположение. С помощью портов программы могут общаться между собой;
  • Брандмауэр – это программное обеспечение, которое контролирует все сетевые пакеты, проходящие через компьютер. Проходящие пакеты обрабатываются на основе правил, созданных пользователем. Также брандмауэр может закрывать определенные порты, чтобы сделать работу компьютера более безопасной;
  • NAT -это служба преобразования сетевых адресов между локальной и глобальной сетью. Количество свободных сетевых адресов в сети уменьшается, поэтому необходимо найти решение, и решением стало создания локальных сетей, где несколько компьютеров могут иметь один IP адрес. Все пакеты приходят на роутер, а он уже потом с помощью NAT распределяет их между компьютерами.
  • VPN – это виртуальная частная сеть, с помощью нее можно объединить несколько локальных сетей через сеть интернет. Используется в большинстве случаев для обеспечения безопасности.

Вы можете найти намного больше терминов, но здесь мы перечислили все самые основные, которые будут встречаться чаще всего.

Общие сведения

Сетевой протокол – это набор правил, который позволяет обмениваться данными нескольким устройствам связанным сетью. Ни одно удалённое подключение не может обойтись без работы протоколов, без них система просто не знала бы как взаимодействовать и общаться. Если обобщать, то можно сказать что это семейство стандартов, предписывающее методы общения, а также спецификации оборудования.

Для описания и деления протоколов используется семиуровневая модель OSI (Open System Interconnection — взаимодействие открытых систем, ВОС). В этой классификации описываются все формы взаимодействия необходимые для полноценной работы оборудования:
• Приложение;
• Представление;
• Сеанс;
• Транспорт;
• Сеть;
• Передача данных;
• Физическое воплощение.

Основные протоколы интернета

Как я уже сказал. в основе работы сети лежит использование нескольких протоколов, которые работают один поверх другого. Давайте рассмотрим основные сетевые протоколы интернет, которые вам будут часто встречаться, и попытаемся понять разницу между ними.

  • MAC или (Media Access Control) – это протокол низкого уровня, который используется для идентификации устройств в локальной сети. У каждого устройства, подключенного к сети есть уникальный MAC адрес, заданный производителем. В локальных сетях, а все данные выходят из локальной сети и попадают в локальную сеть перед тем, как попасть к получателю, используются физические MAC адреса для обозначения устройств. Это один из немногих протоколов уровня соединения, с которым довольно часто приходится сталкиваться.
  • IP ( Internet Protocol) – расположен уровнем выше, за MAC. Он отвечает за определение IP адресов, которые будут уникальными для каждого устройства и позволяют компьютерам находить друг друга в сети. Он относится к сетевому уровню модели TCP/IP. Сети могут быть связанны друг с другом в сложные структуры, с помощью этого протокола компьютеры могут определить несколько возможных путей к целевому устройству, причем во время работы эти пути могут меняться. Есть несколько реализаций протокола, но наиболее популярной на сегодняшний день является IPv4 и IPv6.
  • ICMP (Internet control message protocol) – используется для обмена сообщениями между устройствами. Это могут быть сообщения об ошибках или информационные сообщения, но он не предназначен для передачи данных. Такие пакеты используются в таких диагностических инструментах, как ping и traceroute. Этот протокол находится выше протокола IP;
  • TCP (Transmission control protocol) – это еще один основной сетевой протокол, который находится на том же уровне, что и ICMP. Его задача – управление передачей данных. Сети ненадежны. Из-за большого количества путей пакеты могут приходить не в том порядке или даже теряться. TCP гарантирует, что пакеты будут приняты в правильном порядке, а также позволяет исправить ошибки передачи пакетов. Информация приводится к правильному порядку, а уже затем передается приложению. Перед передачей данных создается соединение с помощью так называемого алгоритма тройного рукопожатия. Он предусматривает отправку запроса и подтверждение открытия соединения двумя компьютерами. Множество приложений используют TCP, это SSH, WWW, FTP и многие другие.
  • UDP (user datagram protocol) – это популярный протокол, похожий на TCP, который тоже работает на транспортном уровне. Отличие между ними в том, что здесь используется ненадежная передача данных. Данные не проверяются при получении, это может выглядеть плохой идеей, но во многих случаях этого вполне достаточно. Поскольку нужно отправлять меньше пакетов, UDP работает быстрее, чем TCP. Поскольку соединение устанавливать не нужно, то этот протокол может использоваться для отправки пакетов сразу на несколько машин или IP телефонии.
  • HTTP (hypertext transfer protocol) – это протокол уровня приложения, который лежит в основе работы всех сайтов интернета. HTTP позволяет запрашивать определенные ресурсы у удаленной системы, например, веб страницы, и файлы;
  • FTP (file transfer protocol) – это протокол передачи файлов. Он работает на уровне приложений и обеспечивает передачу файла от одного компьютера к другому. FTP – не безопасный, поэтому не рекомендуется его применять для личных данных;
  • DNS (domain name system) – протокол того же уровня, используемый для преобразования понятных и легко читаемых адресов в сложные ip адреса, которые трудно запомнить и наоборот. Благодаря ему мы можем получить доступ к сайту по его доменному имени;
  • SSH (secure shell) – протокол уровня приложений, реализованный для обеспечения удаленного управления системой по защищенному каналу. Многие дополнительные технологии используют этот протокол для своей работы.

Есть еще очень много других протоколов, но мы рассмотрели только сетевые протоколы, которые больше всего важны. Это даст вам общие понятия того, как работает сеть и интернет в целом.

Соединение TCP

TCP для передачи данных использует соединение. Соединение нужно установить перед тем, как начать передачу данных, а после того как передача данных завершена, соединение разрывается.

Задачи соединения

  • Убедиться в том, что отправитель и получатель действительно хотят передавать данные друг другу
  • Договориться о нумерации потоков байт. С точки зрения практической реализации нельзя всегда нумеровать данные в потоке байт с нуля. Каждый раз начальное значение для нумерации байт выбираются по определенному алгоритму и отправитель и получатель должны договориться между собой какое начальное значение они будут использовать для нумерации потока байт.
  • При установке соединения происходит договоренность о некоторых параметрах соединения.

Установка соединения в TCP

Отправитель посылает запрос на установку соединения сообщение SYN от слова синхронизация. Также в сегмент включаются порядковый номер передаваемого байта.

Получатель в ответ передаёт сообщение SYN, куда включает подтверждение получения предыдущего сообщения ACK от слова acknowledge и порядковый номер байта, который он ожидает 7538, потому что на предыдущем этапе был получен байт с номером 7537.

Также отправитель включает в сегмент номер байта в потоке байт 36829. Номера байт в первом сообщении не могут быть всегда нулевыми, они выбираются по достаточно сложным алгоритмам, но для простоты можно представлять себе что эти номера выбираются случайным образом.

На третьем этапе пересылается подтверждение получения предыдущего запроса на установку соединения ACK номер следующего ожидаемого байта 36830, а также номер байта в сообщении. После этого соединение считается установленным и можно передавать данные.

Разрыв соединения в TCP

Соединение в TCP дуплексное — это означает, что после установки соединения передавать данные можно в две стороны. Есть две схемы разрыва соединения. Возможен одновременный разрыв соединения, в этом случае обе стороны разрывают соединение в одно и то же время, либо односторонние, в этом случае одна сторона говорит о том, что данные для передачи у нее закончились, но другая сторона может передавать данные еще достаточно долго.

Протокол TCP предусматривает два варианта разрыва соединения: корректное, с помощью одностороннего разрыва соединения и сообщения FIN и разрыв из-за критической ситуации с помощью сообщения RST.

Рассмотрим, как выполняется корректный разрыв соединения. Сторона, которая хочет разорвать соединение пересылает другой стороне сообщение FIN и в ответ получает сообщение ACK. Однако соединение разорвано только с одной стороны.

Когда другая сторона решила, что данные для передачи у нее закончились, она также передает сообщение FIN в ответ получает сообщение ACK подтверждение. На этом этапе соединение закрыто полностью в обе стороны.

Для разрыва соединения в критической ситуации из-за ошибок в приложении или с оборудованием используется одно сообщение RST. В этом случае соединение закрывается в обе стороны. Хотя сообщение RST предназначено для использования в критических ситуациях, некоторые протоколы используют его для быстрого закрытия соединения.

Уровни OSI

Для наглядности процесс работы сети принято разделять на 7 уровней, на каждом из которых работает своя группа протоколов.

Для выполнения разных задач имеется несколько протоколов, которые занимаются обслуживанием систем, например, стек TCP/IP. Давайте здесь внимательно посмотрим на то, каким образом информация с одного компьютера отправляется по локальной сети на другой комп.

Задачи компьютера ОТПРАВИТЕЛЯ:

  • Взять данные из приложения
  • Разбить их на мелкие пакеты, если большой объем
  • Подготовить к передаче, то есть указать маршрут следования, зашифровать и перекодировать в сетевой формат.

Задачи компьютера ПОЛУЧАТЕЛЯ:

  • Принять пакеты данных
  • Удалить из него служебную информацию
  • Скопировать данные в буфер
  • После полного приема всех пакетов сформаровать из них исходный блок данных
  • Отдать его приложению

Для того, чтобы верно произвести все эти операции и нужен единый свод правил, то есть эталонная модель OSI.

Вернемся у к уровням OSI. Их принято отсчитывать в обратном порядке и в верхней части таблицы располагаются сетевые приложения, а в нижней — физическая среда передачи информации. По мере того, как данные от компьютера спускаются вниз непосредственно к сетевому кабелю, протоколы, работающие на разных уровнях, постепенно их преобразовывают, подготавливая к физической передаче.

Разберем их подробнее.

6. Уровень представления (Presentation Layer)

Переводит эти данные на единый универсальный язык. Дело в том, что каждый компьютерный процессор имеет собственный формат обработки данных, но в сеть они должны попасть в 1 универсальном формате — именно этим и занимается уровень представления.

Ваше мнение – WiFi вреден?

Да
24.19%

Нет
75.81%

Проголосовало: 10179

5. Сеансовый уровень (Session Layer)

У него много задач.

  1. Установить сеанс связи с получателем. ПО предупреждает компьютер-получатель о том, что сейчас ему будут отправлены данные.
  2. Здесь же происходит распознавание имен и защита:
    • идентификация — распознавание имен
    • аутентификация — проверка по паролю
    • регистрация — присвоение полномочий
  3. Реализация того, какая из сторон осуществляет передачу информации и как долго это будет происходить.
  4. Расстановка контрольных точек в общем потоке данных для того, чтобы в случае потери какой-то части легко было установить, какая именно часть потеряна и следует отправить повторно.
  5. Сегментация — разбивка большого блока на маленькие пакеты.

4. Транспортный уровень (Transport Layer)

Обеспечивает приложениям необходимую степень защиты при доставке сообщений. Имеется две группы протоколов:

  • Протоколы, которые ориентированы на соединение — они отслеживают доставку данных и при необходимости запрашивают повторную отправку при неудаче. Это TCP — протокол контроля передачи информации.
  • Не ориентированные на соединение (UDP) — они просто отправляют блоки и дальше не следят за их доставкой.

3. Сетевой уровень (Network Layer)

Обеспечивает сквозную передачу пакета, рассчитывая его маршрут. На этом уровне в пакетах ко всей предыдущей динформации, сформированной другими уровнями, добавляются IP адреса отправителя и получателя. Именно с этого момент пакет данных называется собственно ПАКЕТОМ, у которого есть IP адреса (IP протокол — это протокол межсетевого взаимодействия).

2. Канальный уровень (Data Link Layer)

Здесь происходит передача пакета в пределах одного кабеля, то есть одной локальной сети. Он работает только до пограничного маршрутизатора одной локальной сети. К полученному пакету канальный уровень добавляет свой заголовок — MAC адреса отправителя и получателя и в таком виде блок данных уже называется КАДРОМ.

При передачи за пределы одной локальной сети пакету присваивается MAC не хоста (компьютера), а маршрутизатора другой сети. Отсюда как раз появляется вопрос серых и белых IP, о которых шла речб в статье, на которую была выше дана ссылка. Серый — это адрес внутри одной локальной сети, который не используетс яза ее пределами. Белый — уникальный адрес во всем глобальном интернете.

При поступлении пакета на пограничный роутер IP пакета подменяется на IP этого роутера и вся локальная сеть выходит в глобальную, то есть интернет, под одним единственным IP адресом. Если адрес белый, то часть данных с IP адресом не изменяется.

1. Физический уровень (Transport layer)

Отвечает за преобразование двоичной информации в физический сигнал, который отправляется в физический канал передачи данных. Если это кабель, то сигнал электрический, если оптоволоконная сеть, то в оптический сигнал. Осуществляется это преобразование при помощи сетевого адаптера.

Что такое сетевая модель OSI?

То есть модель OSI — это обобщенные стандарты для разработчиков программ, благодаря которым любой компьютер одинаково может расшифровать данные, переданные с другого компьютера. Чтобы было понятно, приведу жизненный пример. Известно, что пчелы видят все окружающее их в утрафиалетовом свете. То есть одну и ту же картинку наш глаз и пчелиный воспринимает абсолютно по-разному и то, что видят насекомые, может быть незаметно для зрения человека.

То же самое и с компьютерами — если один разработчик пишет приложение на каком-либо программном языке, который понимает его собственный компьютер, но не доступен ни для одного другого, то на любом другом устройстве вы прочитать созданный этим приложением документ не сможете. Поэтому пришли к такой идее, чтобы при написании приложений следовать единому своду правил, понятному для всех.

Слои протоколов

Передача цифровых данных модемом реализована в 1940 году. Сети появились 25 лет спустя.

Усложняющиеся системы связи потребовали введения новых методик описания процесса взаимодействия компьютерных систем. Концептуальная модель OSI вводит понятие протокольных (абстрактных, реально не существующих) слоев. Структура создана усилиями инженеров Международной организации по стандартизации (ISO), регламентирована стандартом ISO/IEC 7498-1. Параллельную работу вел французский комитет CCITT. В 1983 году разработанные документы объединили, получив модель протокольных слоев.

Концепция 7-слойной структуры представлена работами Чарльза Бэчмана. Модель OSI включает опыт разработки АRPANET, EIN, NPLNet, CYCLADES. Линейка полученных слоев взаимодействует по вертикали с соседями: верхний использует возможности нижнего.

В компьютерных линиях совокупность протоколов подразделяют на слои. Бывают:

  1. Физический (биты): USB, RS-232, 8P8C.
  2. Канальный (кадры): PPP (включая PPPoE, PPPoA), IEEE 802.22, Ethernet, DSL, ARP, LP2P. Устаревшие: Token Ring, FDDI, ARCNET.
  3. Сетевой (паеты): IP, AppleTalk.
  4. Транспортный (датаграммы, сегменты): TCP, UDP, PORTS, SCTP.
  5. Сеансовый: RPC, PAP.
  6. Представительский: ASCII, JPEG, EBCDIC.
  7. Прикладной: HTTP, FTP, DHCP, SNMP, RDP, SMTP.

Физический слой

Зачем разработчикам сто стандартов? Многие документы появились эволюционно, согласно возрастающим требованиям. Физический слой реализуют набором коннекторов, проводов, интерфейсов. Например, экранированная витая пара способна передавать высокие частоты, делая возможным реализацию протоколов битрейтом 100 Мбис/с. Оптоволокно пропускает свет, производится дальнейшее расширение спектра, возникают гигабитные сети.

Физический слой заведует схемами цифровой модуляции, физическим кодированием (формированием несущей, закладкой информации), опережающей коррекцией ошибок, синхронизацией, мультиплексированием каналов, выравниванием сигнала.

Канальный слой

Каждый порт управляется собственными машинными командами. Канальный слой показывает, как реализовать передачу форматированной информации, используя имеющееся железо. Например, PPPoЕ содержит рекомендации организации протокола PPP средствами сетей Ethernet, используемый традиционно порт – 8P8C. Эволюционной борьбой «эфирная сеть» смогла подавить соперников. Изобретатель концепции, основатель компании 3СОМ, Роберт Меткалф, сумел убедить несколько крупных производителей (Интел, DEC, Ксерокс) объединить усилия.

Попутно совершенствовались каналы: коаксиальный кабель → витая пара → оптическое волокно. Изменения преследовали цели:

  • удешевления;
  • повышения надежности;
  • внедрения дуплексного режима;
  • повышения помехоустойчивости;
  • гальванической развязки;
  • питания устройств посредством сетевого кабеля.

Оптический кабель повысил длину сегмента меж регенераторами сигнала. Канальный протокол больше описывает структуру сети, включая методы кодирования, битрейт, количество узлов, режим функционирования. Уровень вводит понятие кадра, реализует схемы расшифровки адреса MAC, детектирует ошибки, повторно отправляет запрос, контролирует частоту.

Сетевой

Общепринятый IP-протокол определяет структуру пакета, вводит специфический адрес из четырех групп цифр, известных сегодня каждому. Некоторые маски зарезервированы. Владельцам ресурсов присваиваются имена соответственно базам серверов DNS. Конфигурация сети во многом безразлична. Вводятся слабые ограничения. Как например, Ethernet требовал уникальности MAC-адреса. Протокол IP урезает максимальное число ПК 4,3 млрд штук. Человечеству пока что хватает.

Сетевой адрес принято делить на домены. По техническим причинам единое соответствие четырем группам цифр отсутствует. Сам интернет обозначает аббревиатура www (сокращенное название world wide web, иначе – всемирная паутина). Сегодня единообразный адрес (URL) опускает тривиальные буквы. Подразумевая – человек, открывший браузер, явно намеревается бороздить с компьютера всемирную паутину.

Транспортный

Слой далее расширяет структуру формата. Формирование сегмента TCP производит объединение пакетов, упрощая поиск потерявшейся информации, гарантируя восстановление.

Прикладной, представительский

Иерархия выше транспортного уровня может нарушаться. Например, RPC иногда опирается на HTTP. Концепция Р2P касается пиринговых одноранговых сетей. В противовес этому HTTP вводит иерархию клиент-сервер. Представительский слой раскрывает способы кодирования информации, оцифровку, сжатие, шифрование.

Преимущества и недостатки протокола

Достоинства

  1. Интернет протокол HTTP дает возможность достаточно просто создавать нужные клиентские приложения.
  2. Первоначальные возможности протокола возможно расширить, внедрив свои персональные заголовки.
  3. Протокол поддерживается как клиент большим числом программ и есть возможность выбирать среди множества хостинговых компаний с серверами HTTP.

Недостатки

  1. Протокол HTTP не содержит в явном виде возможность навигации внутри ресурсов сервера.
  2. Отсутствует поддержка распределенности. Промышленное применение интернет протокола HTTP с использованием распределённых вычислений при больших нагрузках на сервер оказывается непригодным.

Протоколы уровня 2 Data Link layer (Канальный уровень)

Этот уровень предназначен для обеспечения взаимодействия сетей на физическом уровне и контроля за ошибками, которые могут возникнуть. Данные, полученные с физического уровня, он упаковывает во фреймы, проверяет на целостность, если нужно исправляет ошибки и отправляет на сетевой уровень. Канальный уровень может взаимодействовать с одним или несколькими физическими уровнями, контролируя и управляя этим взаимодействием. Спецификация IEEE 802 разделяет этот уровень на 2 подуровня – MAC (Media Access Control) регулирует доступ к разделяемой физической среде, LLC (Logical Link Control) обеспечивает обслуживание сетевого уровня. На этом уровне работают коммутаторы, мосты. В программировании этот уровень представляет драйвер сетевой платы, в операционных системах имеется программный интерфейс взаимодействия канального и сетевого уровней между собой, это не новый уровень, а просто реализация модели для конкретной ОС. Примеры таких интерфейсов: ODI, NDIS

  • ARCNET Attached Resource Computer NETwork
  • CDP Протокол обнаружения Cisco
  • DCAP Data Link Switching Client Access Protocol
  • Dynamic Trunking Protocol Динамический протокол группобразования
  • Econet
  • FDDI Волоконно-оптический интерфейс по распределенным данным
  • Frame Relay
  • Канальный уровень CCITT G.hn
  • HDLC High-Level Data Link Control
  • IEEE 802.11 WiFi
  • IEEE 802.16 WiMAX
  • LocalTalk
  • L2F Layer 2 Forwarding Protocol
  • L2TP Layer 2 Tunneling Protocol
  • LAPD Процедуры доступа к соединению на D-канале
  • LLDP Link Layer Discovery Protocol
  • LLDP-MED Link Layer Discovery Protocol — Media Endpoint Discovery
  • PPP Point-to-Point Protocol
  • PPTP Point-to-Point Tunneling Protocol
  • Q.710 Упрощенный Message Transfer Part
  • NDP Протокол обнаружения соседей
  • RPR IEEE 802.17 Resilient Packet Ring
  • Shortest Path Bridging
  • SLIP Serial Line Internet Protocol (устарел)
  • StarLAN
  • STP Spanning Tree Protocol
  • Token ring — по сути является не протоколом, а топологией
  • VTP VLAN Trunking Protocol

Как работает HTTPS протокол сайта

HTTPS является расширенной версией HTTP. Главное отличие в том, что теперь запросы от клиента отправляются не в голом виде, а в зашифрованном благодаря криптографическим механизмам SSL и TLS. Использование этого протокола позволяет добиться такого результата, при котором запрос от клиента может быть действительно прочтен только на стороне сервера, и никак не может быть перехвачен третьей стороной где-то по середине. Этой третьей стороной могут выступать хакеры, вирусы-трояны, недобросовестные провайдеры, спецслужбы любых стран и так далее. Перехватив ваш незащищенный, отправленный по HTTP протоколу запрос, похититель может его видоизменить, может просто узнать ценную информацию и воспользоваться ей в корыстных целях. На данный момент HTTPS протокол является полностью нескомпрометированным методом взаимодействия устройств в интернете, и может выстоять против любой хакерской атаки, тем самым обеспечив максимально безопасное взаимодействие устройств в сети.

Поделитесь в социальных сетях:FacebookXВКонтакте
Напишите комментарий