Файл: «Сетевые операционные системы».pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 25.04.2023

Просмотров: 251

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Сетевой стек TCP/IP (таблица 2 в приложении)[36]3 – набор сетевых протоколов. Так как стек TCP/IP был разработан до появления модели OSI его уровни весьма условно соответствуют ровням этой модели. В качестве примера протоколов стека можно привести: Протоколы TCP и UDP использующиеся для передачи данных с установление соединения с получателем и без него. Протокол IP позволяющий однозначно идентифицировать интерфейс составной сети. IP-адрес представляет из себя комбинацию номера сети и номера узла. Для IP-сетей, являющихся частью Интернета, уникальность нумерации IP-адресов обеспечивается специально созданными для этого органами Интернета: центральной корпорацией ICANN и региональными органами ARIN, RIP, LACNIC, AfriNIC и APNIC. (указание на книгу) Также в стандартах Интернета определено несколько классов, так называемых частных адресов, рекомендуемых для использования в частных IP сетях: класс А — сеть 10.0.0.0, класс В — диапазон из 16 номеров сетей 172.16.0.0-172.31.0.0 и класс С — диапазон из 255 сетей 192.168.0.0-192.168.255.0. Протокол DHCP отвечает за автоматическое получение IP адресов. Протоколы маршрутизации RIP, OSPF, IS-IS for IP, BGP отвечающие за определение маршрутов данных в составных сетях.

Для работы со стеком TCP/IP в операционных системах используется механизм Berkeley Sockets имеющий свою реализацию и в Unix-системах, и в ОС Windows под название WinSock.[37]1

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

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

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

Сокет может иметь как высокоуровневое символьное имя (адрес), так и низкоуровневое, отражающее специфику адресации определенного коммуникационного домена. Например, в домене Интернета низкоуровневое имя представлено парой IP-адрес, порт.


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

Обмен сообщениями в механизме сокетов реализован системными вызовами (таблица 3 в приложении).[38]1

Для решения проблем межсетевого взаимодействия используются такие подходы как: трансляция, мультиплексирование и инкапсуляция.[39]2

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

Принцип мультиплексирования протоколов заключается в поддержке операционной системой нескольких стеков протоколов, что позволяет клиентам и серверам выбрать тот протокол который будет для них общим (рисунок 3 в приложении).[40]3 Примером может служить популярное программное средство SAMBA, которое добавляет серверную и клиентские части протокола SMB компьютерам, работающим под управлением Unix. Это позволяет клиентам Microsoft Windows обращаться к файлам и принтерам серверов Unix так, как будто это серверы Microsoft Windows.[41]4

Принцип инкапсуляции или туннелирования применяется для согласования транспортных протоколов. Используется для объединения двух сетей построенный на одной транспортной технологии через транзитную сеть построенную на базе иной транспортной технологии.[42]1

Также для работы в сети операционной системе требуются специальные сетевые службы. Эти службы реализуют специфические функции по организации совместной работы пользователей сети, опираясь на функции ОС по управлению локальными ресурсами.[43]2 Рассмотрим организацию сетевой службы на примере службы сетевой файловой системы.

Сетевая файловая система — это сетевая служба, предоставляющая пользователям сети услуги по совместному использованию файлов, хранящихся на компьютерах сети.[44]3


Сетевая файловая система в общем случае включает следующие элементы: клиент сетевой файловой системы, сервер сетевой файловой системы, интерфейс сетевой файловой системы, локальная файловая система, интерфейс локальной файловой системы, протокол клиент-сервер сетевой файловой системы.

Клиенты сетевой ФС — это приложения работающие на компьютерах сети и отвечающие за обработку запросов на доступ к файлам на удаленных компьютерах

Сервер сетевой ФС — это приложение получив запрос от клиента передает его локальной файловой системе. После получения ответа сервер сетевой ФС передает этот ответ запросившему его клиенту.

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

Взаимодействие между клиентом и сервером организованно при помощи протоколов сетевой ФС. Обязательной функцией этих протоколов является ретрансляция запросов принятых клиентом на сервер.[45]1

Протокол SMB/CIFS — это основой протокол сетевой файловой системы в операционных системах семейства Windows компании Microsoft. Он был разработан совместно компаниями Microsoft, Intel и IBM. Работа протокола начинается с того, что клиент отправляет серверу специальное сообщение с запросом на установление соединения. В процессе установления соединения SMB-клиент и SMB-сервер обмениваются информацией о себе: они сообщают друг другу, какой диалект протокола SMB они будут использовать в этом соединении. Если сервер готов к установлению соединения, он отвечает сообщением-подтверждением.

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

В Linux в качестве сетевой ФС используется NFS.[46]2 — сетевая файловая система разработки корпорации Sun Microsystems.


В основе файловой системы NFS лежит представление о том, что пользоваться общей файловой системой может произвольный набор клиентов и серверов. Во многих случаях все клиенты и серверы располагаются в одной и той же локальной сети, но это не требуется. Файловая система NFS может также работать через Глобальную сеть. Каждый сервер NFS открывает один или несколько своих каталогов, предоставляя доступ к ним удаленным клиентам. Клиенты получают доступ к открытым каталогам, монтируя эти каталоги в свою файловую систему. (рисунок 4 в приложении)

В системе NFS используется два протокола. Первый протокол NFS управляет монтированием. Клиент может послать серверу путь к каталогу и запросить разрешение смонтировать этот каталог где-либо в своей иерархии каталогов. Если путь указан верно и данный каталог был открыт, то сервер возвращает клиенту описатель файла (file handle). Этот описатель содержит поля, однозначно идентифицирующие тип файловой системы, диск, номер i-узла каталога и информацию системы безопасности.

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

В настоящий момент в сетях используются обе сетевые ФС NFS и SMB. Современные файловые системы позволяют получить удаленный доступ с помощью обоих протоколов.

Поскольку детальный анализ всех сетевых служб займет весьма не малый объем то в рамках курсовой работы будут кратко рассмотрены три основные ОС и их некоторые отличительные особенности.

Операционная система FreeBSD[47]1

FreeBSD - это операционная система с открытым исходным кодом основанная на 4.4BSD-Lite версии для персональных компьютеров. В основном она базируется на программном обеспечении от группы CSRG, U.C. Berkley, с некоторым дополнениями из NetBSD, OpenBSD, 386BSD и Free Software Foundation. Расцвет популярности этой ОС пришелся на начало 2000-х годов тогда эта она использовалась как система для построения интранет и интернет-сетей в роли серверов, маршрутизаторов, фаерволов и файл серверов. Сейчас операционная система FreeBSD, в связи с развитием сетевого оборудования корпоративного уровня, для создания сетей используется специализированное оборудование таких фирм как Cisco, Junpiter Networks, FortiNet и т.д. используется в основном, для организации файл-серверов и серверов баз-данных.


Важной особенностью freeBSD является полная поддержка файловой системы ZFS. Это файловая система созданная в компании Sun Microsystems для операционной системы Solaris. Эта файловая система способна обеспечить высокую скорость доступа к данным, контроль целостности, минимизировать фрагментацию, динамически выделять или освобождать дисковое пространство для логической файловой системы.

FreeBSD Jail — механизм виртуализации в системе FreeBSD.

Jail поддерживается на уровне ядра, что позволяет ограничивать доступ к ресурсам компьютера и ограничивать видимость процессов вне jail. Таким образом создаётся безопасная виртуальная область внутри которой можно исполнять даже потенциально опасное программное обеспечение и оно никак не сможет повредить основной системе.

Операционная система Linux[48]1

Linux — это операционная система с открытым исходным кодом созданная в 1991 году студентом университета Хельсинки Линусом Торвальдсом на основе Minix. В настоящее время Linux - это общее название Unix-подобных операционных систем, основанных на одноимённом ядре. Каждый конкретный дистрибутив — это комплекс решений для разных задач, объединённых едиными системами установки, управления и обновления пакетов, настройки и поддержки. Одними из самых распространенных дистрибутивов Linux являются:

Debian — дистрибутив разрабатываемый обширным сообществом разработчиков в некоммерческих целях. Послужил основой для создания множества других дистрибутивов. Отличается строгим подходом к включению несвободного ПО.

Gentoo — дистрибутив собираемый из исходных кодов. Позволяет очень гибко настраивать конечную систему и оптимизировать производительность, поэтому часто называет себя мета-дистрибутивом. Ориентирован на экспертов и опытных пользователей.

CentOS — дистрибутив основанный на Red Hat Enterprise Linux компании Red Hat и совместим с ним. Срок поддержки каждой версии CentOS составляет 7 лет. Новая версия CentOS выходит раз в 2 года и каждая версия регулярно обновляется для поддержки новых аппаратных средств. В результате это приводит к безопасной, легко обслуживаемой, надёжной, предсказуемой и масштабируемой Linux среде.

Red Hat Enterprise Linux — дистрибутив для корпоративного использования. Новые версии выходят с периодичностью около 3 лет. Основная особенность дистрибутива — наличие коммерческой поддержки.

Ubuntu — основанная на Debian GNU/Linux. Ubuntu поставляется с подборкой программного обеспечения для серверов и рабочих станций. Есть версии для официально поддерживаемых архитектур, таких как i386, AMD64, ARM. Есть специальная версия Ubuntu для смартфонов и версия Ubuntu Core для работы на IoT-устройствах и роботах.