
Вычислительные сети. Многоуровневая модель OSI
Работа сети заключается в передаче данных между несколькими компьютерами. Процесс передачи данных состоит из нескольких отдельных задач:
-
Распознать данные.
-
Разбить данные на блоки.
-
Добавить инф. к каждому блоку, чтобы указать местоположение данных, и указать получателя.
-
Добавить инф. синхронизации и инф. для проверки ошибок.
-
Поместить данные в сеть и отправить их по заданному адресу.
Модель OSI – это модель взаимодействия открытых систем, которая определяет различные уровни взаимодействия этих систем в сетях с коммутацией пакетов, дает им стандартные имена и указывает какие функции должен выполнять каждый уровень.
Уровни модели OSI:
-
Прикладной уровень
-
Представительский уровень (уровень представления)
-
Сеансовый уровень
-
Транспортный уровень
-
Сетевой уровень
-
Канальный уровень
-
Физический уровень
Нижние уровни – физический и канальный – определяют физическую среду передачи данных.
Высокие уровни – все остальные – определяют, какими способами осуществляется доступ к услугам связи, чем выше уровень, тем более сложную задачу он решает.
Уровни отделяются друг от друга границами (интерфейсами). Все запросы от одного уровня к другому передаются через интерфейс. Каждый уровень использует услуги нижележащего уровня. Задача каждого уровня предоставления услуг вышележащим уровням.
Перед передачей по сети данные разбиваются на управляемые блоки – пакеты.
Пакет – это единица информации, передаваемая между устройствами сети, как единое целое.
Уровни модели osi
Прикладной уровень – это окно для доступа прикладных процессов к сетевым устройствам.
Функции прикладного уровня:
-
Обеспечивает услуги прикладным программам такие, как передача файлов по сети, доступ к БД, e-mail и др.
-
Управляет общим доступом к сети, небольшими данными и обработкой ошибок.
-
Единица инф. – сообщение.
Представительский уровень – определяет форматы, используемые для обмена данными между компьютерами.
Функции представительского уровня:
-
Отвечает за преобразование протоколов.
-
Трансляция данных и их шифрование.
-
Расширение графических команд.
-
Управляет сжатыми данными для уменьшения управляемых блоков.
Сеансовый уровень – позволяет приложениям на разных комп. установить, использовать и завершать соединение (сеанс).
Функции сеансового уровня:
-
Происходит распознавание имен и запрета, необходимое для связи приложений в сети.
-
Обеспечивает синхронизацию между пользовательскими заданиями с помощью расстановки в потоке данных контрольных точек.
Транспортный уровень – обеспечивает доп. уровне соединения сеансового уровня.
Функции транспортного уровня:
-
Гарантирует доставку пакетов без ошибок.
-
Переупаковывает сообщение: некоторые данные разбиваются на пакеты, а некоторые объединяются в один.
-
Управляет потоками, проверяет ошибки и участвует в решении проблем, связанных с отправкой к получателю пакетов.
Сетевой уровень – отвечает за адресацию сообщений и переводит логические адреса и имена в физические адреса.
Функции сетевой уровень:
-
Решает задачи и проблемы сетевого трафика, коммутации пакетов, маршрутизации и перегрузки.
Канальный уровень – осуществляет передачу кадров данных от сетевого уровня к физическому. Упаковывает биты, поступающие от физ. уровня в кадры.
Кадр – это логическая организационная структура, в которой можно помещать данные.
Физический уровень – осуществляет передачу неструктурированного потока битов о физической среде.
Функции физического уровня:
-
Генерирует электронные, оптические, механические и функциональные интерфейсы.
-
Формирует символы, которые принимают данные, поступившие от всех вышележащих уровней.
-
Определяет способ соединения сетевого кабеля с платой сетевого адаптера.
Стек протоколов TCP/IP
Стек TCP/IP – это набор иерархических упорядоченных сетевых протоколов.
Состав стека протоколов TCP/IP:
Протокол TCP
Протокол TCP – это протокол транспортного уровня, обеспечивающий надежную транспортировку данных между прикладными процессами путем установления логического соединения.
Функции протокола TCP:
-
Получение и передача потока данных от IP-уровня.
-
Обеспечение полнодуплексной передачи данных.
-
Обеспечение защиты от повреждения, потери, дублирования.
-
Обеспечение работы нескольких соединений.
-
Управление потоками данных.
Формат сообщений tcp
Единица данных протокола TCP – сегмент. Сегмент состоит из заголовка и блока данных.
Заголовок сегмента:
Порт источника (Source Port) – 16 бит – процесс-отправитель (порт-отправитель).
Порт назначения (Destination Port) – 16 бит – процесс-получатель (порт-получатель).
Порядковый номер (Sequence number) – 32 бит – указывает номер байта, который определяет смещение сегмента относительно потока отправляемых данных.
Подтвержденный номер (Acknowledgment number) – 32 бит - содержит максимальный номер байта в полученном сегменте, увеличенный на единицу; т.е все предыдущие байты были получены именно это значение используется в качестве квитанции.
Длина заголовка (Data Offset) – 4 бита – указывает длину заголовка сегмента TCP, измеренную в 32-битовых словах. Длина заголовка не фиксирована и может изменяться в зависимости от значений, устанавливаемых в поле Опции. Служит указателем на начало поле данных.
Резерв (Reserved) – 6 бит – поле зарезервировано для последующего использования. Заполняется нулями.
Кодовые биты (Control bits) – 6 бит – содержат служебную информацию о типе данного сегмента, задаваемую установкой в единицу соответствующих бит этого поля:
-
URG – срочное сообщение, используется если приложение обращается с запросом о срочной передаче данных.
-
ACK – квитанция на принятый сегмент.
-
PSH – запрос на отправку сообщения без ожидания заполнения буфера.
-
RST – сброс текущего соединения (при получении соединение ликвидируется, недопоставленные данные уничтожаются).
-
SYN – запрос на установление соединения.
-
FIN – признак достижения передающей стороной последнего байта в потоке передаваемых данных.
Окно (Windows) – 16 бит – содержит объявляемое значение размера окна в байтах;
Контрольная сумма (Checksum) – 16 бит – определяется для блока данных, состоящего из псевдозаголовка и самого сегмента данных. 96 –битный псевдозаголовок предшествует заголовку TCP и содержит IP-адрес отправителя, получателя, идентификатор протокола и сегмента.
Указатель срочности (Urgent Pointer) – 16 бит – используется совместно с кодовым битом URG и указывает на конец данных, которые необходимо срочно принять, несмотря на переполнение буфера.
Опции (Options) – это поле имеет переменную длину и может вообще отсутствовать, используется для решения вспомогательных задач.
Заполнитель (Padding) может иметь переменную длину, представляет собой фиктивное поле, используемое для доведения размера заголовка до целого числа 32-битовых слов.
Протокол IP
Протокол IP – это протокол межсетевого взаимодействия, который обеспечивает передачу дейтаграмм по сети.
Дейтаграмма – это самостоятельный пакет данных (сообщение), предназначенные для передачи по сети.
Функции протокола IP:
-
передачу пакетов по сети;
-
динамическую фрагментацию пакетов при передаче между сетями с различными значениями поля данных кадров;
-
перенос между сетями различных типов адресной информации в унифицированной форме.
Назначение IP-адреса – передача пакетов данных между сетями.