Перейти к содержимому

Что называется стеком коммуникационных протоколов

  • автор:

Характеристика популярных стеков коммуникационных протоколов

Взаимодействие компьютеров в сетях происходит в соответствии с определенными правилами обмена сообщениями и их форматами, то есть в соответствии с определенными протоколами.

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

Существует достаточно много стеков протоколов, широко применяемых в сетях. Это и стеки, являющиеся международными и национальными стандартами, и фирменные стеки, получившие распространение благодаря распространенности оборудования той или иной фирмы. Примерами популярных стеков протоколов могут служить стек IPX/SPX фирмы Novell, стек TCP/IP, используемый в сети Internet и во многих сетях на основе операционной системы UNIX, стек OSI международной организации по стандартизации, стек DECnet корпорации Digital Equipment и некоторые другие.

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

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

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

Умение хорошо работать в среде той или иной операционной системы является важной характеристикой коммуникационного оборудования. Часто можно прочитать в рекламе сетевого адаптера или концентратора, что он разрабатывался специально для работы в сети NetWare или UNIX. Это означает, что разработчики аппаратуры оптимизировали ее характеристики применительно к тем протоколам, которые используются в этой сетевой операционной системе, или к данной версии их реализации, если эти протоколы используются в различных ОС. Из-за особенностей реализации протоколов в различных ОС, в качестве одной из характеристик коммуникационного оборудования используется его сертифицированность на возможность работы в среде данной ОС.

На нижних уровнях — физическом и канальном — практически во всех стеках используются одни и те же протоколы. Это хорошо стандартизованные протоколы Ethernet, Token Ring, FDDI и некоторые другие, которые позволяют использовать во всех сетях одну и ту же аппаратуру.

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

Конспект лекции 12. Модель TCP/IP.

Модель TCP/IP — сетевая модель для управления передачей данных, которые представлены в цифровом виде.

Эта модель описывает способ передачи данных от одного устройства к другому.

Документом, регламентирующим уровневую архитектуру модели и описывающий все протоколы, входящие в TCP/IP, является RFC 1122.

Проблематика

Модель OSI имеет замечательную теоретическую проработку, но именно из-за большого количества теории она не может существовать в реальности: много уровней и задач сильно перегружают архитектуру, и задача построения компьютерной сети начинает требовать много ресурсов.

Для того, чтобы облегчить и обобщить задачу построения КС, была придумана модель TCP/IP. Название происходит от самых используемых протоколов этой модели.

Эта модель была принята как стандарт де-факто (негласно). Не смотря на это, данная модель является основой для архитектуры сети Интернет.

История.

Стек протоколов TCP/IP был создан на основе NCP (Network Control Protocol) группой разработчиков под руководством Винтона Серфа в 1972 году. В июле 1976 года Винт Серф и Боб Кан впервые продемонстрировали передачу данных с использованием TCP по трём различным сетям. Пакет прошёл по следующему маршруту: Сан-Франциско — Лондон — Университет Южной Калифорнии. К концу своего путешествия пакет проделал 150 тысяч км, не потеряв ни одного бита. В 1978 году Серф, Джон Постел и Дэнни Кохэн[en] решили выделить в TCP две отдельные функции: TCP и IP (англ. Internet Protocol, межсетевой протокол). TCP был ответственен за разбивку сообщения на датаграммы (англ. datagram) и соединение их в конечном пункте отправки. IP отвечал за передачу (с контролем получения) отдельных датаграмм. Вот так родился современный протокол Интернета. А с 1 января 1983 года ARPANET перешла на новый протокол. Этот день принято считать официальной датой рождения Интернета.

Выделяемые уровни

На рисунке представлена модель TCP/IP в сравнении с моделью OSI.

модель TCP/IP в сравнении с моделью OSI.

Уровень доступа к сети (или Канальный уровень)

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

Канальный уровень иногда разделяют на 2 подуровня — LLC и MAC.

  • Logical Link Control (верхний) — подуровень управления логической связью. В его задачи входит управление передачей данных и обеспечение проверки и правильности передачи информации.
  • Media Access Control (нижний) — подуровень управления доступом к физической среде. Обеспечивает адресацию и механизмы управления доступом к каналам.

Кроме того, канальный уровень описывает среду передачи данных.

Уровень сети Интернет (или Межсетевой уровень)

Межсетевой уровень предназначен для передачи пакета из одной сети в другую.

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

Межсетевое взаимодействие — это основной принцип построения интернета. Локальные сети по всему миру объединены в глобальную, а передачу данных между этими сетями осуществляют магистральные и пограничные маршрутизаторы.

Транспортный уровень

Протоколы транспортного уровня могут решать проблему негарантированной доставки сообщений («дошло ли сообщение до адресата?»), а также гарантировать правильную последовательность прихода данных. В стеке TCP/IP транспортные протоколы определяют, для какого именно приложения предназначены эти данные. Два главных транспортных протокола — TCP и UDP.

  • TCP — «гарантированный» транспортный механизм с предварительным установлением соединения, предоставляющий приложению надёжный поток данных, дающий уверенность в безошибочности получаемых данных, перезапрашивающий данные в случае потери и устраняющий дублирование данных. TCP позволяет регулировать нагрузку на сеть, а также уменьшать время ожидания данных при передаче на большие расстояния. Более того, TCP гарантирует, что полученные данные были отправлены точно в такой же последовательности. В этом его главное отличие от UDP.
  • UDP — протокол передачи датаграмм без установления соединения. Также его называют протоколом «ненадёжной» передачи, в смысле невозможности удостовериться в доставке сообщения адресату, а также возможного перемешивания пакетов. В приложениях, требующих гарантированной передачи данных, используется протокол TCP.

На транспортном уровне появляется понятие «порт». Для передачи данных между процессами устройства (например, передача сообщения из одного приложения «вконтакте» другому приложению «вконтакте») недостаточно знать только IP-адрес и его маску. Ещё необходимо знать, какому процессу адресован пакет данных.

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

Порт — это число от 0 до 65535, которое присваивается процессу на время. Порт чем-то похож на кабинку, которую можно занять определённой программе (ну а совокупность портов можно представить как гостиницу).

Порт порт так же может определять, какой протокол используется на прикладном уровне.

Порты выделяются как для TCP, так и для UDP (т.е. порты для одного протокола не пересекаются с портами другого).

Прикладной уровень предназначен для работы сетевых приложений. Для обмена информацией они используют свои протоколы, например: протокол HTTP для обмена гипертекстовой разметкой, протокол FTP (передача файлов), SMTP (электронная почта), SSH (безопасное соединение с удалённой машиной), DNS (преобразование символьных имён в IP-адреса) и многие другие.

В массе своей эти протоколы работают поверх TCP или UDP и привязаны к определённому порту, например:

  • HTTP на TCP-порт 80 или 8080;
  • FTP на TCP-порт 20 (для передачи данных) и 21 (для управляющих команд);
  • SSH на TCP-порт 22;
  • запросы DNS на порт UDP (реже TCP) 53.

С этим уровнем взаимодействует пользователь. Поэтому протоколы на этом уровне могут разрабатывать и прикладные программисты.

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

Стек — это структурированный последовательно набор значений. В нашем случае, это структурированный список протоколов модели.

Для удобства определим протоколы по каждому уровню.

  • Нижний уровень сетевых интерфейсов включает в себя Ethernet, Wi-Fi и DSL (модем). Данные сетевые технологии формально не входят в состав стека, но крайне важны в работе интернета в целом.
  • Основной протокол сетевого уровня – IP (Internet Protocol). Это маршрутизированный протокол, частью которого является адресация сети (IP-адрес). Здесь также работают такие дополнительные протоколы, как ICMP, ARRP и DHCP. Они обеспечивают работу сетей.
  • 7.На транспортном уровне расположились TCP – протокол, обеспечивающий передачу данных с гарантией доставки, и UDP – протокол для быстрой передачи данных, но уже без гарантии.
  • Прикладной уровень – это HTTP (для web), SMTP (передача почты), DNS (назначение IP-адресам понятных доменных имен), FTP (передача файлов). Протоколов на прикладном уровне стека TCP/IP больше, но приведённые можно назвать самыми значимыми для рассмотрения.

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

Таким образом, любой пакет содержит в себе стек используемых протоколов, который собирается при отправке, и в обратном порядке разбирается (подобно структуре «стек» в программировании).

формирование пакета данных по модели TCP/IP.

Стандартные стеки коммуникационных протоколов

Стандартные стеки коммуникационных протоколов

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

Протокол (коммуникационный) — это набор правил и процедур взаимодействия модулей одного уровня в разных узлах.

Интерфейс — это набор правил и процедур взаимодействия модулей соседних уровней в одном узле.

Стек протоколов – это иерархически организованный набор протоколов, достаточный для организации взаимодействия узлов в сети.

В настоящее время в сетях используется большое количество стеков коммуникационных протоколов. Рассмотрим некоторые из них: TCP/IP, IPX/SPX, NetBIOS/SMB и OSI.

Введение в протоколы TCP/IP

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

Что это такое

схема протоколы

Протоколы данного типа позволяют реализовать модель соединения пакетов. По сути, они являются основой работы всего Интернета. И чаще всего при использовании термина TCP/IP подразумевают всю сеть, которая работает на основе 2 отдельных протоколов – TCP и IP.

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

TCP – аббревиатура, которая расшифровывается как Transfer Control Protocol. То есть по сути это специальный протокол, который управляет передачей. Он создан для установки и поддержания надежного соединения между устройствами. Именно он отвечает за передачу данных, контролирует объем передаваемых файлов и выполняет новую отправку при возникновении сбоев.

Характеристики протокола TCP заключаются в следующем:

  • Реализация взаимодействия на уровне логического соединения.
  • Организация потоковой отсылки данных.
  • Двунаправленная взаимосвязь.
  • Функция отправки отдельных пакетов данных.
  • Использование принципа «скользящего окна» для увеличения скорости передачи.

Другой протокол – IP – расшифровывается как «Интернет протокол». Он является базовым для архитектуры передачи файлов и необходим для отправки сетевого пакета по необходимому адресу. Все данные предварительно делятся на несколько пакетов, которые отправляются независимо друг от друга до конечного адресата.

Основными характеристиками протокола IP является следующее:

  • Реализация обмена данных при помощи сегментов.
  • Взаимодействие устройств без использования логического соединения.
  • Фрагментация IP-сегментов в случае необходимости.
  • Отсутствие средств для управления скоростью передачи сегментов.

Стек сетевых протоколов требуется для поддержания связи компьютеров (хостов), которые подключены к сети. Главная особенность такого набора – аппаратная независимость, которую невозможно получить при использовании других сетевых технологий. То есть TCP/IP не зависит от характеристик аппаратного обеспечения, что позволяет организовать обмен данными между сетями с разными технологиями передачи. За счет использования IP-адресов поддерживается соединение между двумя любыми устройствами.

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

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

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

Разрабатывалось семейство протоколов под руководством Министерства обороны США, поэтому иногда его называют DoD-системой. Многие специалисты отмечают сходство системы с протоколами OSI, так как обе они строятся по принципу деления на уровни и выполнение отдельных функций на каждом из них.

Общие термины и понятия

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

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

Настройка протоколов подразумевает процесс установки базовой ОС и не требует от пользователя дополнительных действий.

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

Отдельно стоит рассказать про сетевые интерфейсы стека. TCP/IP на уровне сетевого интерфейса создает пакеты из IP-дейтаграмм, которые передаются при помощи сетевых технологий. В этой модели протоколов применяется схема IP-адресации, при помощи которой удается однозначно идентифицировать хосты и сети, с которыми компьютер устанавливает соединение.

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

Назначение протокола TCP/IP

tcp картинка

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

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

Такая процедура уменьшает объем информации, которую можно передавать в единицу времени, однако позволяет добиться надежности передачи.

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

Форматы протоколов

Теперь поговорим о том, что такое IP-протокол. Как мы уже отмечали, этот межсетевой протокол в стеке используется для определения адресации сетевого уровня. Существует два основных формата протокола, которые применяется для IP адресов:

  • IPv4. Представляет собой 32-битное число. Представление адресов в такой форме достаточно удобное – оно представляет собой 4 группы десятичных чисел (но строго от 0 до 255), которые разделяются точками. Например: 188.227.9.194.
  • IPv6. Такой формат подразумевает использование 128-битного числа. Адреса формируются в виде 8 групп, в каждой из которых имеется 4 шестнадцатеричные цифры. Разделяются группы двоеточием. Например: 2001:0058:0db8:0074:1c60:2c18:1025:2b5f.

Уровневая модель протоколов

При рассмотрении модели 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 – для отправки файлов и т. д.

Что такое стек

ekonomiya-s-vdi-1.jpg

Теперь вернемся к вопросу о том, что такое «стек». Почти каждому пользователю знаком протокол Ethernet. В нем каждое устройство и адресат снабжаются MAC-адресом – он является идентификатором машины. Этот адрес объединяется с типом используемых данных и самими файлами. Фрагмент этих данных называют фреймом (frame). Стоит отметить, что MAC-адрес всегда уникален и не повторяется ни на одном устройстве, так как дубли могут привести к возникновению серьезных сетевых проблем.

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

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

Если обобщить понятие стека, то это – комплект сетевых протоколов с иерархической структурой. Главное условие его создания – это достаточный набор правил для организации взаимодействия устройств в сети. Все протоколы должны работать одновременно, без конфликтов, сбоев и незавершенных операций. Именно поэтому стек делится на отдельные уровни, каждый из которых направлен на решение определенной задачи: например, подготовку данных к отправке или их непосредственную передачу.

Изначально стек протоколов «ТСП/ИП» разработан в 1972 году на основе Network Control Protocol, но только спустя 4 года создана передача данных с применением протокола TCP. К концу 80-х было выделено две отдельные функции – TCP и IP. И уже к 1983 году удалось полностью перейти на современный протокол, что и считается отправной точкой развития Интернета.

Сравнение с моделью OSI

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

В OSI различают три начальных уровня – приложения, представления и сеансовый, – когда как в TCP/IP все это выделяется в прикладной уровень.

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

Выводы

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *