Модель взаимодействия открытых системopen systems interconnection (osi)

Адресации. Порты

Для адресации на транспортном уровне используются порты. Это просто число от 1 до 65 535. Номера у процессов на одном хосте не должны повторяться, иначе мы не сможем понять к какому конкретно процессу отправить пришедший пакет.  

Записываются порты, следующим образом 192.168.1.3:80. Выделенные жирным это IP-адрес, а 80 — это порт. Чтобы в интернете подключиться к какому-нибудь сервису и к службе необходимо указать ip адрес и соответствующий порт. 

Типы портов

Если мы хотим подключиться к какому-нибудь сервису в интернете нам нужно знать не только ip адрес, но и порт. Поэтому договорились, что популярные сервисы будут работать на одних и тех же портах. Эти порты называются хорошо или широко известные порты 1-1024. 

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

Использование, как хорошо известных портов, так и зарегистрированных это просто договоренность. Например Web сервер может работать не только на 80 порту, но и на любом другом. Часто используется support номер 88 или 8080. При этом, когда вы подключаетесь к такому веб-серверу Вы должны указать порт на котором он работает. 

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

IP-адреса и порты

Рассмотрим пример сетевого взаимодействия с использованием ip адресов и портов. Есть сервер на котором работает web сервер на порту №80. И есть клиент, который хочет подключиться к этому веб серверу. 

Клиент открывает браузер, операционная система автоматически назначает ему порт 50298. Браузер выполняет соединение с веб сервером, запрашивает веб страницу. Web сервер отправляет ему эту страницу. 

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

Сетевые уровни модели OSI

Физический

Отвечает за физическую передачу данных между устройствами на большие и не очень расстояния. Он описывает виды сигналов и способы их обработки для разных сред передачи: проводов (витой пары и коаксиала), оптического волокна, радиолинии (wi-fi и bluetooth), инфракрасного канала. Единицы данных на этом уровне – биты, преобразованные в электрические импульсы, свет, радиоволны и т.д. Также тут фиксируются типы разъемов, их распиновка.

Устройства, работающие на физическом уровне модели ОСИ (OSI Model): повторители сигнала, концентраторы (хабы). Это наименее «интеллектуальные» устройства, задачей которых является усиление сигнала или его разветвление без какого-либо анализа и модификации.

Канальный

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

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

Также тут впервые всплывает понятие адреса. Здесь – это MAC (англ. Media Access Control) адрес – шестибайтовый идентификатор сетевого устройства, необходимый для указания в кадрах в качестве получателя и отправителя при передаче данных в рамках одного локального сегмента.

Устройства: сетевой мост (bridge), коммутатор. Их преимущественное отличие от «нижних» устройств – ведение таблиц MAC адресов по своим портам и рассылка/фильтрация трафика уже только по необходимым направлениям.

Сетевой

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

Единица передаваемой информации – пакеты. Адресация узлов и сетей производится присвоением им 4-байтовых номеров – IP (англ. Internet Protocol) адресов, иерархически организованных, и позволяющих гибко настраивать взаимную логическую видимость сегментов сетей.

Также здесь появляются и привычные символьные имена узлов, за соответствие которых IP адресам отвечают протоколы сетевого уровня. Устройства, работающие на этом этаже модели OSI – маршрутизаторы (роутеры, шлюзы). Реализуя в себе все три первых уровня стека протоколов, они объединяют собой разные сети, перенаправляют пакеты из одной в другую, выбирая по определенным правилам их маршрут, ведут статистику передачи, обеспечивают безопасность за счет таблиц фильтрации.

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

Транспортировка в этом случае подразумевается логическая (так как за физическую отвечает 1 ступень стека): установление соединения с противоположным узлом на соответствующем уровне, подтверждение доставки полученных данных, контроль их качества. Так работает протокол TCP (англ. Transmission Control Protocol). Передаваемая порция информации – блок или сегмент.

Для передачи же потоковых массивов (датаграмм) используется протокол UDP (англ. User Datagram Protocol).

Адрес – десятичный номер виртуального программного порта конкретной рабочей станции или сервера.

Сеансовый

Управляет процессом передачи в терминах пользовательского доступа. Ограничивает время соединения (сессии) одного узла с другим, контролирует права доступа, синхронизирует начало, конец обмена.

Представительский

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

Прикладной

Прикладной или уровень прикладных приложений. Серфинг в браузере, получение и отправка почты, доступ к другим узлам сети посредством удаленного доступа – вершина сетевой модели OSI.

Модель OSI

Более расширенный вариант модели osi, предполагает, что в сетевом оборудовании есть только 3 уровня, физический, канальный и сетевой. Однако сейчас это не всегда соответствует действительности, появились сетевые устройства, которые также работают и на прикладном уровне. 

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

Сетевая модель TCP/IP

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

Прикладной уровень

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

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

Транспортный уровень, также известный как транспортный уровень хост-хост, отвечает за предоставление прикладного уровня сервисами связи сеанса и датаграмм. Основными протоколами этого уровня являются TCP и UDP. Протокол TCP обеспечивает один-на-один, ориентированную на соединение, надежную службу связи. Он отвечает за последовательность и подтверждение отправленных пакетов, а также восстановление пакетов, потерянных при передаче. UDP предоставляет один-к-одному или один-ко-многим, без подключения, ненадежную службу связи. UDP обычно используется, когда объем передаваемых данных невелик (например, данные помещаются в один пакет).

Сетевой уровень

Сетевой уровень отвечает за адресацию хостов, упаковку и функции маршрутизации. Основными протоколами сетевого уровня являются IP, протокол разрешения адресов (ARP), протокол управляющих сообщений Интернета (ICMP) и протокол управления группами Интернета (IGMP). IP — это маршрутизируемый протокол, отвечающий за IP-адресацию, маршрутизацию и фрагментацию и повторную сборку пакетов. ARP отвечает за обнаружение адреса уровня сетевого доступа, такого как адрес аппаратных средств, связанный с данным доступом к Интернет-уровню. ICMP отвечает за предоставление диагностических функций и отчетов об ошибках из-за неудачной доставки IP-пакетов. IGMP отвечает за управление многоадресными группами IP. На этом уровне IP добавляет заголовок к пакетам, который известен как IP-адрес. Сейчас есть IPv4 (32-битный) адрес и IPv6 (128-битный) адрес.

2.4. Стек NetBIOS/SMB

Стек протоколов NetBIOS/SMB является совместным продуктом
IBM и Microsoft.Средства
NetBIOS появились в 1984 году как сетевое расширение стандартных функций
базовой системы ввода/вывода (BIOS) IBM PC для сетевой программы PC Network
фирмы IBM, которая на прикладном уровне использовала для реализации сетевых
сервисов протокол SMB.

7

SMB

6

5

NetBIOS

4

3

2

1

Соответствие стека NetBIOSSMB эталонной модели.

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

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

·Управление сессиями. Создание и
разрыв логического канала между рабочей станцией и сетевыми ресурсами файлового
сервера.

·Файловый доступ. Рабочая станция
может обратиться к файл-серверу с запросами на создание и удаление каталогов,
создание, открытие и закрытие файлов, чтение и запись в файлы, переименование и
удаление файлов, поиск файлов, получение и установку файловых атрибутов,
блокирование записей.

·Сервис печати. Рабочая станция может
ставить файлы в очередь для печати на сервере и получать информацию об очереди
печати.

·Сервис сообщений. SMB
поддерживает простую передачу сообщений со следующими функциями: послать
простое сообщение; послать широковещательное сообщение; послать начало блока
сообщений; послать текст блока сообщений; послать конец блока сообщений;
переслать имя пользователя; отменить пересылку; получить имя машины.

Из-за большого количества приложений, которые используют
функции API, предоставляемые NetBIOS, во многих сетевых ОС эти функции
реализованы в виде интерфейса к своим транспортным протоколам. В NetWare
имеется программа, которая эмулирует функции NetBIOS на основе протокола IPX,
существуют программные эмуляторы NetBIOS для Windows NT и стека TCP/IP.

Общая характеристика модели OSI

https://youtube.com/watch?v=DcV3HY6lFP4%3F

В связи с затянувшейся разработкой протоколов OSI, в настоящее время основным используемым стеком протоколов является TCP/IP, разработанный ещё до принятия модели OSI и вне связи с ней.

К концу 70-х годов в мире уже существовало большое количество фирменных стеков коммуникационных протоколов, среди которых можно назвать, например, такие популярные стеки, как DECnet, TCP/IP и SNA. Подобное разнообразие средств межсетевого взаимодействия вывело на первый план проблему несовместимости устройств, использующих разные протоколы. Одним из путей разрешения этой проблемы в то время виделся всеобщий переход на единый, общий для всех систем стек протоколов, созданный с учетом недостатков уже существующих стеков. Такой академический подход к созданию нового стека начался с разработки модели OSI и занял семь лет (с 1977 по 1984 год). Назначение модели OSI состоит в обобщенном представлении средств сетевого взаимодействия. Она разрабатывалась в качестве своего рода универсального языка сетевых специалистов, именно поэтому её называют справочной моделью.В модели OSI средства взаимодействия делятся на семь уровней: прикладной, представления, сеансовый, транспортный, сетевой, канальный и физический. Каждый уровень имеет дело с совершенно определенным аспектом взаимодействия сетевых устройств.

Приложения могут реализовывать собственные протоколы взаимодействия, используя для этих целей многоуровневую совокупность системных средств. Именно для этого в распоряжение программистов предоставляется прикладной программный интерфейс (Application Program Interface, API). В соответствии с идеальной схемой модели OSI приложение может обращаться с запросами только к самому верхнему уровню — прикладному, однако на практике многие стеки коммуникационных протоколов предоставляют возможность программистам напрямую обращаться к сервисам, или службам, расположенных ниже уровней. Например, некоторые СУБД имеют встроенные средства удаленного доступа к файлам. В этом случае приложение, выполняя доступ к удаленным ресурсам, не использует системную файловую службу; оно обходит верхние уровни модели OSI и обращается непосредственно к ответственным за транспортировку сообщений по сети системным средствам, которые располагаются на нижних уровнях модели OSI. Итак, пусть приложение узла А хочет взаимодействовать с приложением узла В. Для этого приложение А обращается с запросом к прикладному уровню, например к файловой службе. На основании этого запроса программное обеспечение прикладного уровня формирует сообщение стандартного формата. Но для того, чтобы доставить эту информацию по назначению, предстоит решить еще много задач, ответственность за которые несут нижележащие уровни. После формирования сообщения прикладной уровень направляет его вниз по стеку уровню представления. Протокол уровня представления на основании информации, полученной из заголовка сообщения прикладного уровня, выполняет требуемые действия и добавляет к сообщению собственную служебную информацию — заголовок уровня представления, в котором содержатся указания для протокола уровня представления машины-адресата. Полученное в результате сообщение передается вниз сеансовому уровню, который, в свою очередь, добавляет свой заголовок и т. д. (Некоторые реализации протоколов помещают служебную информацию не только в начале сообщения в виде заголовка, но и в конце в виде так называемого концевика.) Наконец, сообщение достигает нижнего, физического, уровня, который, собственно, и передает его по линиям связи машине-адресату. К этому моменту сообщение «обрастает» заголовками всех уровней.

Физический уровень помещает сообщение на физический выходной интерфейс компьютера 1, и оно начинает своё «путешествие» по сети (до этого момента сообщение передавалось от одного уровню другому в пределах компьютера 1). Когда сообщение по сети поступает на входной интерфейс компьютера 2, оно принимается его физическим уровнем и последовательно перемещается вверх с уровня на уровень. Каждый уровень анализирует и обрабатывает заголовок своего уровня, выполняя соответствующие функции, а затем удаляет этот заголовок и передает сообщение вышележащему уровню. Как видно из описания, протокольные сущности одного уровня не общаются между собой непосредственно, в этом общении всегда участвуют посредники — средства протоколов нижележащих уровней. И только физические уровни различных узлов взаимодействуют непосредственно.

Терминология инкапсуляции данных в OSI

Как и TCP/IP, каждый уровень OSI запрашивает услуги у следующего нижнего уровня. Для предоставления этих услуг каждый уровень использует заголовок и, возможно, трейлер (концевик). Нижний уровень инкапсулирует данные верхнего уровня после своего заголовка.

OSI использует более общий термин для обозначения сообщений (а не кадр, пакет и сегмент как в TCP/IP). OSI использует термин «блок данных протокола» (PDU, protocol data unit). PDU представляет биты, которые включают в себя заголовок и трейлер (концевик) для заданного уровня, а также инкапсулированные данные. Например, IP-пакет, как показано на , используя терминологию OSI, является PDU, а точнее PDU уровня 3 (сокращенно L3PDU), поскольку IP является протоколом уровня 3. OSI просто ссылается на PDU уровня x (LxPDU), где x – это номер обсуждаемого уровня, как показано на рисунке 2.

Рисунок 2 – Инкапсуляция OSI и блоки данных протокола

Уровень 7: прикладной уровень

Элементы службы общих приложений (CASE)

  • Обязательство, параллелизм и сервисный элемент восстановления (CCRSE)
  • Элемент службы обмена безопасностью (SESE)

Это отслеживает, как каждое приложение взаимодействует с другим приложением. Адреса назначения и источника связаны с конкретными приложениями.

Процессы приложений

  • Общий протокол управленческой информации (CMIP) — ISO 9596 / X.700
  • Службы каталогов (DS) — X.500 , позже модифицированный для стека TCP / IP как LDAP
  • Передача, доступ и управление файлами (FTAM)
  • Система обработки сообщений (MHS) — X.400
  • Протокол виртуального терминала (VT) — ISO 9040/9041
  • Удаленный доступ к базе данных (RDA)
  • Распределенная обработка транзакций ( OSI TP )
  • Протокол заявки на межбиблиотечный абонемент (ILAP)
  • Передача документов и манипуляции (DTAM)
  • Приложение для печати документов (DPA)
  • Хранение и поиск документов (DFR)

Общее определение термина пакет

Для описания фрагментов информации, передаваемых по сети, применяются термины: пакет, дейтаграмма, фрейм, сообщение и сегмент. Все они по сути имеют один и тот же смысл, но относятся к разным уровням модели OSI. Например, пакет можно рассматривать как конверт с письмом. Чтобы отправить этот конверт по почте, необходимо выполнить ряд требований (рис.1), которые перечислены ниже.

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

Рис.1. Обязательные составляющие обычного письма.

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

  • Почтовое вложение. Этот компонент представляет собой передаваемые данные, допустим, электронное письмо дяде Джо с сообщением о рождении сына.
  • Адрес отправителя. Этот компонент служит в качестве обратного адреса для электронного письма. Он позволяет узнать от кого поступило сообщение, даже просто на тот случай, если возникнет проблема при доставке электронной почты.
  • Адрес получателя. Этот компонент представляет собой адрес электронной почты дяди Джо и необходим для правильной доставки электронной почты.
  • Информация для системы проверки. Если речь идет о пакете, то этот компонент представляет собой определенную информацию для системы контроля ошибок. В данном случае применяется контрольная последовательность фрейма (Frame Check Sequence — FCS). Такую последовательность можно рассматривать как результат вычислений, выполненных над содержимым пакета с помощью некоторой математической формулы. Если вычисления FCS в пункте назначения {на компьютере дяди Джо) дадут правильный результат, это будет означать, что данные в пакете являются действительными и должны быть приняты. А если результаты вычислений окажутся неправильными, сообщение будет отброшено.

Рис.2. Основные компоненты пакете.

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

Модель TCP/IP vs. модель OSI

Модель TCP/IP старше модели OSI. На следующем рисунке показана соответствующая взаимосвязь их уровней.

Рисунок 4: модель OSI vs модель TCP/IP и набор протоколов TCP/IP.

Сравнивая слои TCP/IP-модели, и модели OSI, прикладной уровень протокола TCP/IP-модели аналогичен комбинации слоев 5, 6, 7 модели OSI, но TCP/IP-модель не имеет отдельного уровня представления и сеансового уровня. Транспортный уровень протокола TCP/IP включает в себя функции транспортного уровня OSI и некоторые функции сеансового уровня модели OSI. Уровень доступа сети модели TCP/IP охватывает канальный и физический уровни модели OSI

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

Учитывая значения двух моделей, модель OSI является концептуальной моделью. Она в основном используется для описания, обсуждения и понимания отдельных сетевых функций. Однако, TCP/IP в первую очередь сконструирована для того чтобы разрешить специфический круг проблем, а не действовать как описание поколения для всех сетевых взаимодействий как модель OSI. Модель OSI является общей, независимой от протокола, но большинство протоколов и систем придерживаются ее, в то время как модель TCP/IP основана на стандартных протоколах, которые разработал интернет. Другой момент, который следует отметить в модели OSI заключается в том, что не все уровни используются в более простых приложениях. В то время как уровни 1, 2, 3 являются обязательными для любой передачи данных, приложение может использовать какой-то уникальный интерфейс уровня вместо обычных верхних уровней в модели.

Межуровневые функции

Межуровневые функции — это сервисы, которые не привязаны к данному уровню, но могут влиять на более чем один уровень. Некоторые ортогональные аспекты, такие как управление и безопасность , охватывают все уровни (см. Рекомендацию ITU-T X.800). Эти услуги направлены на улучшение триады ЦРУ — конфиденциальность , целостность и доступность — передаваемых данных. На практике межуровневые функции являются нормой, поскольку доступность услуги связи определяется взаимодействием между сетевым дизайном и протоколами управления сетью .

Конкретные примеры межуровневых функций включают следующее:

Служба безопасности (электросвязь), как определено в рекомендации ITU-T X.800.
Функции управления, т. Е. Функции, которые позволяют настраивать, создавать экземпляры, отслеживать, завершать обмен данными между двумя или более объектами: существует специальный протокол уровня приложений, общий протокол информации управления (CMIP) и соответствующая ему служба, служба общей информации управления (CMIS ), они должны взаимодействовать с каждым слоем, чтобы иметь дело со своими экземплярами.

Многопротокольная коммутация по меткам (MPLS), ATM и X.25 — это протоколы 3a. OSI подразделяет сетевой уровень на три подуровня: 3a) доступ к подсети, 3b) зависимая от подсети конвергенция и 3c) независимая от подсети конвергенция. Он был разработан для предоставления унифицированной службы передачи данных как для клиентов с коммутацией каналов, так и для клиентов с коммутацией пакетов, которые обеспечивают модель обслуживания на основе дейтаграмм . Его можно использовать для передачи множества различных видов трафика, включая IP-пакеты, а также собственные кадры ATM, SONET и Ethernet

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

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

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

Adblock
detector