Открытые системы. Открытые спецификации. Компьютерные сети. Определение. Возможности. Модель OSI Понятие «открытая система» Открытая система — любая система (компьютер, вычислительная сеть, ОС, программный пакет, др. аппаратные и программные продукты), которая построена в соответствии с открытыми спецификациями. Понятие «открытая система» Открытая спецификация – документ или документация, которое содержит: формализованное описание аппаратных или программных компонентов; описание способов их функционирования; описание взаимодействия с другими компонентами; условия эксплуатации; ограничения и особые характеристики. Открытая спецификация согласуется со стандартами и поддерживается открытым гласным процессом, направленным на приспособление новой технологии к ее применению. Свойства открытых систем Расширяемость; Масштабируемость; Переносимость; Интерграция; Способность к взаимодействию; Высокая готовность — устойчивость к сбоям. Понятие «открытые спецификации» Использование открытых спецификаций при разработке ИС, позволяет третьим сторонам разрабатывать для этих ИС различные расширения и модификации. Для реальных систем полная открытость – недостижимый идеал. Как правило, даже в системах, называемых открытыми, этому определению соответствуют лишь некоторые части. Открытость ОС Unix — доступны спецификации интерфейсов, исходники, протоколы и даже внутренние алгоритмы работы системы. Открытость системы нужна: пользователям (системные функции в Unix-подобных ОС одинаково называются, имеют одинаковые параметры, поэтому можно легко переносить приложения из среды одной версии Unix в среду другой версию); разработчикам (чтобы иметь возможность внесения согласованных усовершенствований); продавцам (чтобы объяснить покупателю возможности его покупки). Спецификации интерфейсов и протоколов ОС UNIX публикуются в наборе стандартов для Unix POSIX, SVID, XPG и частично приняты в качестве международных стандартов мобильных ОС. Понятие OSI Существует эталонная модель взаимодействия открытых систем (Open System Interconnection Reference Model), часто называемая моделью OSI, которая описывает взаимосвязи открытых систем. Эта модель разработана Международной организацией по стандартизации (International Organization for Standardization, ISO 7498-1). Модель OSI описывает схему взаимодействия сетевых объектов, определяет перечень задач и правила передачи данных. Понятие сети Сеть (network) – группа компьютеров, принтеров, маршрутизаторов, сетевых устройств, которые обмениваются информацией через некоторую среду передачи данных. Локальные сети (Local Area Networks) – позволяют объединить информационные ресурсы предприятия (файлы, принтеры, БД) для повышения эффективности применения вычислительной техники. Городские сети (Metropolitan Area Networks) – позволяют организовать обмен данными между отдельными компьютерами и сетями отдельного региона, города. Глобальные сети (Wide Area Networks) – позволяют обмениваться данными между отдельными сетями предприятий, удаленными на значительные расстояния. Компьютерная сеть — совокупность компьютеров, соединенных между собой в соответствии с одной из стандартных типовых схем расположения и соединения сетевых устройств (компьютеров, маршрутизаторов и пр.) и использующие для передачи данных один из протоколов канального уровня, определенный для этой сети. Задачи модели OSI своевременно и правильно передать данные через сеть связи (т. е. пользователями должны быть оговорены виды сигналов, правила приема и перезапуска, маршруты и т. д.); доставить данные пользователю в приемлемый для него распознаваемой форме. Уровни и протоколы Всю информацию в процессе передачи сообщений от одного пользователя к другому можно разбить на уровни. OSI включает в себя семь уровней. Для того чтобы серверы и клиенты сети могли общаться, они должны работать «говорить» на одном языке. каждый уровень является выражением некоторого языка, который описывает информацию своего уровня. В модели OSI язык каждого уровня называется протоколом этого уровня. Протокол определяет набор правил для организации обмена информацией на всех уровнях взаимодействия сетевых объектов. Виртуальное взаимодействие уровней Каждый уровень компьютера-отправителя взаимодействует с таким же уровнем компьютераполучателя, как будто он связан напрямую. Такая связь называется логической или виртуальной связью. Взаимодействие смежных уровней В действительности, связь осуществляется между смежными уровнями одного компьютера. Информация на компьютере-отправителе должна пройти через все уровни (вертикально) с помощью ПО, которое работает на каждом уровне, и реализует определенные сетевые функции в соответствии с набором протоколов. Взаимодействие уровней модели OSI Каждый уровень может реально взаимодействовать только с соседними уровнями: верхним и нижним. Реальное взаимодействие уровней модели OSI Реальное взаимодействие — непосредственная передача информации, при которой данные остаются неизменными. Реальное взаимодействие имеет место только на самом нижнем уровне — физическом уровне. Взаимодействие смежных уровней Информация неизменной передается по физической среде до компьютера-получателя и опять проходит сквозь все слои, пока не доходит до того же уровня, с которого она была послана на компьютере-отправителе. Верхние уровни Нижние уровни Верхние и нижние уровни Решают задачу представления данных пользователю в такой форме, которую он может распознать и использовать. Нижние уровни служат для организации передачи данных. Формирование пакета каждого уровня семиуровневой модели Перед подачей в сеть данные разбиваются на пакеты. Пакет (packet) это единица информации, передаваемая между станциями сети. При отправке данных пакет проходит последовательно через все уровни программного обеспечения. Формирование пакета каждого уровня семиуровневой модели На каждом уровне к пакету добавляется управляющая информация данного уровня (заголовок), которая необходима для успешной передачи данных по сети. Формирование пакета каждого уровня семиуровневой модели На принимающей стороне пакет проходит через все уровни в обратном порядке. Протокол каждого уровня читает информацию пакета, затем удаляет информацию, добавленную к пакету на этом же уровне отправляющей стороной, и передает пакет следующему уровню. Когда пакет дойдет до прикладного уровня, вся управляющая информация будет удалена из пакета, и данные примут свой первоначальный вид. Физический уровень Уровень 0 — физическая среда передачи сигнала (кабели, радиолинии). Уровень ничего не описывает, только указывает среду. Уровень 1 — физический. Включает физические аспекты передачи двоичной информации по линиям связи (напряжение, частота, природа физической среды). Выполняет поддержание связи и приемпередачу битового потока на двух концах соединения. Канальный уровень определяет логическую топологию сети, т. е. направления потоков данных между узлами сети; определяет способы передачи данных; решает вопросы, связанные с адресацией физических устройств в рамках логической сети; управляет передачей информации (синхронизация передачи и сервис соединений) между сетевыми устройствами. Протоколы канального уровня Протоколами канального уровня определяются: - правила управления потоками данных (для устройств, работающих на этом уровне модели OSI, например, коммутаторы); - правила обнаружения (и иногда исправления) ошибок при передаче; - правила организации битов физического уровня (двоичные единицы и нули) в логические группы информации — фреймы или кадры; - правила идентификации компьютеров в сети по их физическим адресам (MAC-адрес). MAC-адрес MAC адрес (физический адрес) — это уникальный идентификатор, присваиваемый каждой единице активного оборудования компьютерных сетей (например сетевой карте персонального компьютера). MAC-адрес позволяет уникально идентифицировать каждый узел сети и доставлять данные только этому узлу. Таким образом, MAC-адреса формируют основу сетей на канальном уровне, которую используют протоколы более высокого (сетевого) уровня. Существует мнение, что MAC-адрес жестко вшит в сетевую карту и сменить его нельзя или можно только с помощью программатора. На самом деле MAC-адрес легко меняется программным путем, так как значение, указанное через драйвер, имеет более высокий приоритет, чем зашитое в плату. Структура кадра Кадр — единица данных канального уровня, состоящей из непрерывной последовательности сгрупированных битов, имеющей заголовок и окончание. Контрольная сумма кадра Достаточно часто поле контрольной суммы (или CRC — число для контроля целостности передачи информаци) располагается после данных. Это обеспечивает высокую эффективность проверки кадра при приеме, так как к моменту получения битов, соответствующих этому полю, весь кадр уже получен, и контрольная сумма может быть вычислена. С канальным уровнем обычно связаны следующие сетевые соединительные устройства: - мосты (объединяет сегменты подсети в единую сеть); - интеллектуальные концентраторы; - коммутаторы; - сетевые интерфейсные платы (сетевые интерфейсные карты, адаптеры и т.д.). Коммутатор Сетевой коммутатор (свич) — устройство, предназначенное для соединения нескольких узлов КС в пределах одного или нескольких сегментов сети. Коммутатор работает на канальном уровне. Коммутатор Коммутатор передаёт данные только непосредственно получателю. Это повышает производительность и безопасность сети, избавляя остальные сегменты сети от необходимости (и возможности) обрабатывать данные, которые им не предназначались. Коммутатор Коммутатор хранит в памяти таблицу коммутации, в которой указывается соответствие MAC-адреса узла порту коммутатора. Коммутатор анализирует фреймы (кадры) и, определяет MAC-адрес хоста-отправителя и получателя. Сетевой уровень Этот уровень обеспечивает связь любых двух точек сети. Доставка данных на сетевом уровне в общем-то похожа на доставку данных на канальном уровне модели OSI, где для передачи данных используется физическая адресация устройств. Однако адресация на канальном уровне относится только к одной логической сети, действует только внутри этой сети. Сетевой уровень описывает методы и средства передачи информации между многими независимыми (и часто разнородными) логическими сетями, которые, соединенные вместе, формируют одну большую сеть. Сетевой уровень В отличие от канального сетевой уровень может выбирать конкретный маршрут в объединенной сети и избегать посылки данных в те логические сети, в которые данные не адресованы. Сетевой уровень осуществляет это путем коммутаций, адресации на сетевом уровне и с использованием алгоритмов маршрутизации. Сетевой уровень также отвечает за обеспечение правильных маршрутов для данных через объединенную сеть, состоящую из разнородных сетей. Пакеты Сетевой пакет может состоять из стартовых бит (преамбулы), заголовков (headers), нагрузки (payload или body) и прицепа (trailer или footer). Между пакетами, посылаемыми в сеть, обычно соблюдается межкадровый интервал. Маршрутизатор (роутер) Устройство, которое собирает информацию о топологии межсетевых соединений и на ее основании пересылает пакеты сетевого уровня в сеть назначения. Чтобы передать сообщение из одной сети в другую сеть, нужно совершить транзитные передачи между сетями, каждый раз выбирая подходящий маршрут. Маршрутизатор Обычно маршрутизатор использует адрес получателя, указанный в пакетных данных, и определяет по таблице маршрутизации путь, по которому следует передать данные. Если в таблице маршрутизации для адреса нет описанного маршрута, пакет отбрасывается. Маршрутизаторы помогают уменьшить загрузку сети, благодаря фильтрации Маршрутизатор Проблема выбора наилучшего пути называется — маршрутизацией и ее решение — главная задача сетевого уровня. Эта проблема осложняется тем, что короткий путь не всегда лучший. Часто критериями служат: - время передачи данных по данному маршруту; - пропускная способность канала свзяи; - интенсивность трафика. Протоколы сетевого уровня - IPv4/IPv6, Internet Protocol - ARP, Address Resolution Protocol - ICMP, Internet Control Message Protocol - IGMP, Internet Group Management Protocol - PIM-DM, Protocol Independent Multicast Dense Mode - IPsec, Internet Protocol Security - IPX, Internetwork Packet Exchange - RIP, Routing Information Protocol Уязвимости протоколов сетевого уровня IGMP — протокол передачи сообщений о маршрутизации, но: отсуствует аутентификация сообщений об изменении параметров маршрута; зависание систем Windows 9x/NT/200. ARP — протокол преобразования IP-адреса в физический адрес, но: аутентификация на базе открытого текста (информация пересылается в незашифрованном виде); возможность перехвата трафика пользователя злоумышленником. IP протокол Internet Protocol (IP, досл. «межсетевой протокол») — маршрутизируемый протокол сетевого уровня стека TCP/IP. Именно IP стал тем протоколом, который объединил отдельные компьютерные сети во всемирную сеть Интернет. Неотъемлемой частью протокола является адресация сети (IP-адрес). Стек протоколов TCP/IP включает в себя четыре уровня: - прикладной уровень (application layer), - транспортный уровень (transport layer), - сетевой уровень (internet layer), - канальный уровень (link layer). IP-адрес IP-адрес (Internet Protocol Address) — уникальный сетевой адрес узла в компьютерной сети, построенной по протоколу IP. В сети Интернет требуется глобальная уникальность адреса; в случае работы в локальной сети требуется уникальность адреса в пределах сети. IP-адрес состоит из двух частей: номера сети и номера узла. В случае изолированной сети её адрес может быть выбран администратором из специально зарезервированных для таких сетей блоков адресов (10.0.0.0/8, 172.16.0.0/12 или 192.168.0.0/16). Если же сеть должна работать как составная часть Интернета, то адрес сети выдаётся провайдером либо региональным интернетрегистратором (их 5: Северная Америка, Южная Америка, Южная Азия и Австралия, Африка и Европа, Центральная Азия). Транспортный уровень Транспортный уровень (англ. Transport layer) — 4-й уровень сетевой модели OSI, предназначен для доставки данных. При этом не важно, какие данные передаются, откуда и куда, то есть, он предоставляет сам механизм передачи. Блоки данных он разделяет на фрагменты, размер которых зависит от протокола, короткие объединяет в один, а длинные разбивает. Этот уровень завершает организацию передачи данных: контроль потока данных, проходящих по маршруту, определенному 3 уровнем, правильность передачи блоков данных, правильность доставки, сохранность и порядок следования. Протоколы транспортного уровня UDP TCP RIP IPX/SPX Сеансовый уровень Сеансовый уровень способствует взаимодействию между устройствами, запрашивающими и поставляющими услуги: - устанавливает связь; - восстанавливает аварийно оконченные сеансы. Сеансы связи контролируются посредством механизмов, которые устанавливают, поддерживают, синхронизируют и управляют диалогом между поддерживающими связь объектами. Этот уровень также помогает верхним уровням идентифицировать доступный сетевой сервис и соединиться с ним. 6 Уровень. Представление. 6 Уровень. Представление. Уровень представления данных преобразует данные во взаимно согласованный формат (синтаксис обмена), понятный всем сетевым приложениям и компьютерам, на которых работают приложения. Может, кроме того, сжимать и разворачивать, а также шифровать и расшифровывать данные. 6 Уровень. Представление. Компьютеры используют различные правила представления данных с помощью двоичных нулей и единиц. Несмотря на то что все эти правила пытаются достичь общей цели — представить данные, понятные человеку, производители компьютеров и стандартизирующие организации создали правила, противоречащие друг другу. Когда два компьютера, использующие различные наборы правил, пытаются связаться друг с другом, им часто бывает необходимо выполнить некоторые преобразования. 6 Уровень. Представление. Локальные и сетевые операционные системы часто шифруют данные для защиты их от несанкционированного использования. Шифрование — это общий термин, который описывает некоторые методы защиты данных, обратимое преобразование информации в целях сокрытия от неавторизованных лиц. 7 Уровень. Прикладной уровень. Прикладной уровень обеспечивает: - интерфейс между пользователем и сетью; - доступ приложений к сетевому сервису; - выполнение прикладных программ; - функционирование баз данных. 7 Уровень. Прикладной уровень. Реализуется пять прикладных служб: - служба справочника; - предоставление соединений; - управление сетью; - передача файлов; - удаленный терминальный доступ («тонкий» клиент); - электронная передача сообщений. Протоколы. Прикладной уровень - IMAP - SMTP (отправка писем) - POP, POP3 - SSH - BitTorrent - DNS - FTP - HTTP, HTTPS HTTP HTTP в настоящее время повсеместно используется во Всемирной паутине для получения информации с вебсайтов. HTTP («протокол передачи гипертекста») — изначально принимал данные в виде гипертекстовых документов в формате HTML, в настоящий момент используется для передачи произвольных данных. Основа HTTP — технология «клиент-сервер», то есть «клиенты» посылает запрос у «поставщика» (сервера), который ожидает запрос, производят необходимые действия и возвращают обратно сообщение с результатом. IMAP IMAP (Internet Message Access Protocol) — протокол прикладного уровня для доступа к электронной почте. Базируется на транспортном протоколе TCP и использует порт 143. IMAP предоставляет пользователю обширные возможности для работы с ящиками, находящимися на центральном сервере. Почтовая программа, использующая этот протокол, получает доступ к хранилищу корреспонденции на сервере так, как будто эта корреспонденция расположена на компьютере получателя. IMAP работает в почте Mail.Ru, Yandex.ru, Gmail.com, а также в качестве сервера для работы в Outlook, Apple Mail, Opera, Mozilla, а также в мобильных клиентах. Благодаря смартфонам IMAP получил развитие.