Модель osi
Содержание:
Краткая история создания
На начальном этапе, в 80-х годах, производители компьютеров создавали свои собственные запатентованные сетевые модели. Сетевые модели разных производителей были несовместимы. Это означало, что компьютеры одного производителя не могли создавать сетевое соединение с компьютерами другого производителя. В это время даже у Министерства обороны США была своя сетевая модель – Department of Defense (DOD), которая была опубликована через некоторое время после создания. После появления DOD волонтеры решили использовать ее как основу для создания более сложной сетевой модели. Так появилась сетевая модель TCP/IP, которая оказалась настолько функциональной и логически продуманной, что некоторые производители компьютеров начали использовать именно эту сетевую модель. Начали появляться первые компьютеры разных производителей с возможностью устанавливать сетевое соединение друг с другом. К концу 90-х все производители компьютеров перешли на сетевую модель TCP/IP.
Однако, Международная Организация по Стандартизации (ISO) в середине 90-х завершила создание сетевой модели под названием «Открытые Системы Соединений» (OSI – Open Systems Interconnection). Предполагалось, что OSI станет единым стандартом для всех производителей компьютеров и сетевых устройств, поэтому в середине 90-х годов была предпринята попытка перейти на стандартизированную модель. Но переход не удался. У сетевой модели TCP/IP не было документации, описывающей функции всех ее протоколов, в то время как OSI была полностью задокументирована. Несмотря на то, что TCP/IP и OSI являются несовместимыми моделями, большое количество терминов из документации для OSI было заимствовано для документации по TCP/IP, вследствие чего OSI стала считаться эталонной сетевой моделью. В настоящее время все устройства, осуществляющие передачу данных по сети, используют сетевую модель TCP/IP.
Соответствие модели OSI и других моделей сетевого взаимодействия
Поскольку наиболее востребованными и практически используемыми стали протоколы (например TCP/IP), разработанные с использованием других моделей сетевого взаимодействия, далее необходимо описать возможное включение отдельных протоколов других моделей в различные уровни модели OSI.
Семейство TCP/IP
Семейство TCP/IP имеет три транспортных протокола: TCP, полностью соответствующий OSI, обеспечивающий проверку получения данных; UDP, отвечающий транспортному уровню только наличием порта, обеспечивающий обмен датаграммами между приложениями, не гарантирующий получения данных; и SCTP, разработанный для устранения некоторых недостатков TCP, в который добавлены некоторые новшества. В семействе TCP/IP есть ещё около двухсот протоколов, самым известным из которых является служебный протокол ICMP, используемый для внутренних нужд обеспечения работы; остальные также не являются транспортными протоколами.
Семейство IPX/SPX
В семействе IPX/SPX порты появляются в протоколе сетевого уровня IPX, обеспечивая обмен датаграммами между приложениями (операционная система резервирует часть сокетов для себя). Протокол SPX, в свою очередь, дополняет IPX всеми остальными возможностями транспортного уровня в полном соответствии с OSI.
В качестве адреса хоста ICX использует идентификатор, образованный из четырёхбайтного номера сети (назначаемого маршрутизаторами) и MAC-адреса сетевого адаптера.
Канальный уровень
Канальный уровень (data link layer) – он нам нужен для взаимодействия сетей на физическом уровне. Наверное, все слышали о MAC-адресе, вот он является физическим адресом. Устройства канального уровня – коммутаторы, концентраторы и т.п.
IEEE (Institute of Electrical and Electronics Engineers — Институт инженеров по электротехнике и электронике) определяет канальный уровень двумя подуровнями: LLC и MAC.
LLC – управление логическим каналом (Logical Link Control), создан для взаимодействия с верхним уровнем.
MAC – управление доступом к передающей среде (Media Access Control), создан для взаимодействия с нижним уровнем.
Объясню на примере: в Вашем компьютере (ноутбуке, коммуникаторе) имеется сетевая карта (или какой-то другой адаптер), так вот для взаимодействия с ней (с картой) существует драйвер. Драйвер – это некоторая программа — верхний подуровень канального уровня, через которую как раз и можно связаться с нижними уровнями, а точнее с микропроцессором (железо) – нижний подуровень канального уровня.
Типичных представителей на этом уровне много. PPP (Point-to-Point) – это протокол для связи двух компьютеров напрямую. FDDI (Fiber Distributed Data Interface) – стандарт передаёт данные на расстояние до 200 километров. CDP (Cisco Discovery Protocol) – это проприетарный (собственный) протокол принадлежащий компании Cisco Systems, с помощью него можно обнаружить соседние устройства и получить информацию об этих устройствах.
Вся третья часть курса CCNA (Exploration 3) об устройствах второго уровня.
Функции сеансового уровня
Сейчас сетевое взаимодействие усложнилось, и не состоит из простых запросов и ответов, как было раньше. Если Вы хотите загрузить веб страницу, чтобы показать её в браузере, вам нужно загрузить:
- сам текст веб-странички (.html);
- стилевой файл, который описывает оформление web страницы (.css)
- большая часть современных веб страниц содержит картинки и другие элементы
Чтобы выполнить одну задачу, загрузить веб страницу, нам необходимо реализовать несколько отдельных сетевых операций. Набор таких операций, направленных на выполнение единой задачи, как раз называется сеансом и по логике модели osi должен обрабатываться на сеансовом уровне.
Однако в tcp ip обработкой сеансов должно заниматься само приложение, поэтому такая возможность была добавлена в протокол http. Если в первой версии протокола HTTP 1.0 для загрузки каждого элемента страницы необходимо было открывать отдельное соединение tcp, то в последующих версия появилась функция HTTP keep-alive, которая позволяет открыть одно соединение tcp и через него загрузить все элементы страниц, что работает быстрее.
Принципы создания слоев
Принципы, которые используют при создании уровней модели OSI:
- Слой обязан быть создан, когда системе требуется новый уровень.
- Слой имеет индивидуальные функции, соответствующих Европейскому международному стандарту.
- При выборе границ слоя поток информации, поступающей на интерфейсы, должен быть минимизирован.
- Количество уровней модели OSI должно препятствовать возникновению разных функций внутри одного и того же слоя.
- Проста и надежность. Архитектура не должна быть сложной для управления.
Учитывая эти принципы, сообщество приняло установки о том, что нижние слои (1, 2, 3 и 4) необходимы для маршрутизации информации между соответствующими концами и зависят от физической среды. Верхние уровни (5, 6 и 7) отвечают за обработку информации, относящейся к управлению обменами между компьютерными системами. Кроме того, слои 1-3 взаимодействуют между соседними машинами, а не между конечными, которые могут быть разделены несколькими маршрутизаторами. И напротив, слои с 4-го по 7-й взаимодействуют только между удаленными хостами.
TCP/IP и OSI
TCP/IP ссылается на огромное количество протоколов, описание которых находится в документах под названием RFC. Они находятся в свободном доступе в Интернете. Протоколы и правила были разделены на категории – уровни. Каждый уровень обладает своим набором функций, или сервисов, реализующихся за счет протоколов этого уровня.
Таблица 1.1 Сетевая модель TCP/IP
# | TCP/IP(RU) | TCP/IP(EN) |
---|---|---|
4 | Приложений | Application layer |
3 | Транспортный | Transport layer |
2 | Интернет | Internet layer |
1 | Канальный (в некоторых источниках Физический) | Link layer |
Таблица 1.2 Сетевая модель OSI
# | OSI(RU) | OSI(EN) |
---|---|---|
7 | Приложений | Application layer |
6 | Презентаций | Presentation layer |
5 | Сессий | Session layer |
4 | Транспортный | Transport layer |
3 | Сетевой | Network layer |
2 | Канальный | Data Link layer |
1 | Физический | Physical layer |
Как сетевой инженер, могу сказать, что важно знать название и порядковый номер каждого уровня. Совет: если вы хотите разбираться в сетях и в сетевом оборудовании, то распечатайте себе обе сетевые модели, представленные выше, и подглядывайте в свои заметки ежедневно
Эти знания помогут вам понять, что означают понятия “коммутатор 2-го уровня”, “коммутатор 3-го уровня” или “L2-канал”, “L3-канал”, а самое главное, – на CCNA экзамене вам точно встретятся вопросы о сетевых моделях.
Таблица 1.3 Пример протоколов каждого уровня
Название уровня | Пример протоколов |
---|---|
Приложений | HTTP, FTP, SNMP, POP3 |
Транспортный | TCP, UDP |
Интернет | IP |
Физический | Ethernet |
Всего 4 уровня Модели TCP/IP
На рисунке модель представлена рядом с моделью открытых систем (OSI), у этих моделей функции большинства уровней одинаковы.
Первый уровень Сетевых Интерфейсов
Нижний уровень сетевых интерфейсов — это интерфейс который обеспечивает связь с разными сетевыми технологиями, например очень популярными сейчас Ethernet, Wi-Fi и остальными подобными, но и со стареющими технологиями DSL для передачи данных через модем.
Второй уровень Интернет
Уровень Интернет аналогичен сетевому уровню в OSI. Это уровень необходим для того, чтобы найти маршрут в составной сети, объединяющей сети созданные на основе других технологий. Передавая данные используем протоколы ip.
Третий уровень Транспортный
Объединяет процессы происходящие между 2-мя абсолютно разными компьютерами (ноутбуками). В стеке TCP/IP существуют 2 протокола, tcp необходимый для передачи данных гарантируя доставку и udp который передаёт данные с большой скоростью, но к сожалению, не гарантируя доставку.
Четвертый уровень Прикладной
Объединил в себе функции аж три уровня модели OSI, видно по картинке. В модели TCP IP считается, если приложению нужны какие-либо функции уровня представления или сеансового, то оно должно их само реализовывать. На практике это оправдано.
Здесь находятся определенные протоколы необходимые для решения тех или иных задач. HTTP нужен для веб, SMTP для передачи почты, DNS для назначения ip адресам человеко понятных url доменных имен, FTP для передачи файлов. На самом деле протоколов в прикладном уровне большое количество.
Автор Э. Таненбаум в книге Компьютерные сети, объединил достоинства двух моделей OSI и TCP/IP. Именно такая модель, изображенная на картинке, применяется на практике.
Литература
- А. Филимонов. Построение мультисервисных сетей Ethernet. — М.: BHV, 2007. ISBN 978-5-9775-0007-4.
- Руководство по технологиям объединённых сетей. 4-е изд. — М.: Вильямс, 2005. ISBN 5-8459-0787-X.
- Интернет ресурс: сервер :
- Этот сервер, содержащий сведения по сетевым технологиям начал формироваться в 1997 году. Он частично создан на средства, выделенные по проектам РФФИ (99-07-90102 и 01-07-90069).
- В основу материалов легли тексты книг:
- «Протоколы и ресурсы Интернет» (Радио и связь, М. 1996),
- «Сети Интернет. Архитектура и протоколы» (Сиринъ, М. 1998),
- «Протоколы Интернет. Энциклопедия» («Горячая линия — Телеком», М. 2001, 1100 стр.),
- «Протоколы Internet для электронной торговли» («Горячая линия — Телеком», М. 2003, 730 стр.),
которые базировались на двух курсах, читаемых студентам[значимость факта?] кафедр «Телекоммуникационные сети и системы» (факультет МФТИ ФРТК), «Интеграции и менеджмента» (факультет МФТИ ФОПФ) и «Информатики» (факультет НаноБиоИнфоКогни МФТИ) — «Каналы и сети передачи данных», «Протоколы Интернет».
Соответствие модели OSI и других моделей сетевого взаимодействия
Поскольку наиболее востребованными и практически используемыми стали протоколы (например TCP/IP), разработанные с использованием других моделей сетевого взаимодействия, далее необходимо описать возможное включение отдельных протоколов других моделей в различные уровни модели OSI.
Семейство TCP/IP
Семейство TCP/IP имеет три транспортных протокола: TCP, полностью соответствующий OSI, обеспечивающий проверку получения данных; UDP, отвечающий транспортному уровню только наличием порта, обеспечивающий обмен датаграммами между приложениями, не гарантирующий получения данных; и SCTP, разработанный для устранения некоторых недостатков TCP, в который добавлены некоторые новшества. В семействе TCP/IP есть ещё около двухсот протоколов, самым известным из которых является служебный протокол ICMP, используемый для внутренних нужд обеспечения работы; остальные также не являются транспортными протоколами.
Семейство IPX/SPX
В семействе IPX/SPX порты появляются в протоколе сетевого уровня IPX, обеспечивая обмен датаграммами между приложениями (операционная система резервирует часть сокетов для себя). Протокол SPX, в свою очередь, дополняет IPX всеми остальными возможностями транспортного уровня в полном соответствии с OSI.
В качестве адреса хоста ICX использует идентификатор, образованный из четырёхбайтного номера сети (назначаемого маршрутизаторами) и MAC-адреса сетевого адаптера.
Адресации. Порты
Для адресации на транспортном уровне используются порты. Это просто число от 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 адресов, но и портов, никакой путаницы не будет.