Модель OSI
Эталонная модель OSI, иногда называемая стеком OSI представляет собой 7-уровневую сетевую иерархию (рис. 1) разработанную Международной организацией по стандартам (International Standardization Organization - ISO). Эта модель содержит в себе по сути 2 различных модели:
ñ горизонтальную модель на базе протоколов, обеспечивающую механизм взаимодействия программ и процессов на различных машинах
ñ вертикальную модель на основе услуг, обеспечиваемых соседними уровнями друг другу на одной машине
В горизонтальной модели двум программам требуется общий протокол для обмена данными. В вертикальной - соседние уровни обмениваются данными с использованием интерфейсов API.
Рисунок 1 Модель OSI
Уровень 1, физический
Физический уровень получает пакеты данных от вышележащего канального уровня и преобразует их в оптические или электрические сигналы, соответствующие 0 и 1 бинарного потока. Эти сигналы посылаются через среду передачи на приемный узел. Механические и электрические/оптические свойства среды передачи определяются на физическом уровне и включаютя:
ñ Тип кабелей и разъемов
ñ Разводку контактов в разъемах
ñ Схему кодирования сигналов для значений 0 и 1
Уровень 2, канальный
Канальный уровень обеспечивает создание, передачу и прием кадров данных. Этот уровень обслуживает запросы сетевого уровня и использует сервис физического уровня для приема и передачи пакетов. Спецификации IEEE 802.x делят канальный уровень на два подуровня: управление логическим каналом (LLC) и управление доступом к среде (MAC). LLC обеспечивает обслуживание сетевого уровня, а подуровень MAC регулирует доступ к разделяемой физической среде.
Наиболее часто используемые на уровне 2 протоколы включают:
HDLC для последовательных соединений, IEEE 802.2 LLC (тип I и тип II) обеспечивают MAC для сред 802.x, Ethernet, Token ring, FDDI, X.25, Frame relay
Уровень 3, сетевой
Сетевой уровень отвечает за деление пользователей на группы. На этом уровне происходит маршрутизация пакетов на основе преобразования MAC-адресов в сетевые адреса. Сетевой уровень обеспечивает также прозрачную передачу пакетов на транспортный уровень.
Наиболее часто на сетевом уровне используются протоколы:
ñ IP, IPX, X.25 (частично этот протокол реализован на уровне 2), CLNP - сетевой протокол без организации соединений
Уровень 4, транспортный
Транспортный уровень делит потоки информации на достаточно малые фрагменты (пакеты) для передачи их на сетевой уровень.
Наиболее распространенные протоколы транспортного уровня включают:
ñ TCP - протокол управления передачей, NCP - Netware Core Protocol, SPX - упорядоченный обмен пакетами, TP4 - протокол передачи класса 4
Уровень 5, сеансовый
Сеансовый уровень отвечает за организацию сеансов обмена данными между оконечными машинами. Протоколы сеансового уровня обычно являются составной частью функций трех верхних уровней модели.
Уровень 6, уровень представления
Уровень представления отвечает за возможность диалога между приложениями на разных машинах. Этот уровень обеспечивает преобразование данных (кодирование, компрессия и т.п.) прикладного уровня в поток информации для транспортного уровня. Протоколы уровня представления обычно являются составной частью функций трех верхних уровней модели.
Уровень 7, прикладной
Прикладной уровень отвечает за доступ приложений в сеть. Задачами этого уровня является перенос файлов, обмен почтовыми сообщениями и управление сетью.
К числу распространенных протоколов верхних уровней относятся:
ñ FTP - протокол переноса файлов, SMTP - простой протокол почтового обмена,NFS - сетевая файловая система
ñ FTAM - метод доступа для переноса файлов
5) Сжатие информации, избыточные коды, скрэмблирование
Сжатие данных (англ. data compression) — алгоритмическое преобразование данных, производимое с целью уменьшения их объёма. Применяется для более рационального использования устройств хранения и передачи данных. Синонимы — упаковка данных, компрессия, сжимающее кодирование, кодирование источника. Обратная процедура называется восстановлением данных (распаковкой, декомпрессией).
Сжатие основано на устранении избыточности, содержащейся в исходных данных. Простейшим примером избыточности является повторение в тексте фрагментов (например, слов естественного или машинного языка). Подобная избыточность обычно устраняется заменой повторяющейся последовательности ссылкой на уже закодированный фрагмент с указанием его длины. Другой вид избыточности связан с тем, что некоторые значения в сжимаемых данных встречаются чаще других. Сокращение объёма данных достигается за счёт замены часто встречающихся данных короткими кодовыми словами, а редких — длинными (энтропийное кодирование). Сжатие данных, не обладающих свойством избыточности (например, случайный сигнал или шум, зашифрованные сообщения), принципиально невозможно без потерь.
Логическое кодирование используется для кодов NRZI, AMI, то есть потенциальных кодов. Логическое кодирование должно заменять длинные последовательности бит, приводящие к постоянному потенциалу. Это делается путем вкрапления нулей в последовательность единиц или единиц в последовательность нулей. Для логического кодирования характерны следующие методы: избыточные коды и скремблирование.
Избыточные коды
Исходный код | Результирующий код |
Избыточные коды основаны на разбиении исходной последовательности бит на порции, которые часто называют символами. Затем каждый исходный символ заменяется на новый, который имеет большее количество бит чем исходный. Например логический код 4B/5B. 4B/5B используется в сетях FDDI и Fast Ethernet. В нем заменяют исходные символы длиной 4 бита на символы 5 бит. Так как результирующие символы содержат избыточные биты, то общее количество битовых комбинаций в них больше чем в исходных. В коде 4B/5B выходные символы имеют 32 комбинации, а исходные только 16, поэтому в результирующем коде можно выбрать 16 комбинаций, которые содержат небольшое количество 0, а остальные считать запрещенными кодами. Кроме устранения постоянной составляющей и придания коду самосинхронизации, избыточные коды позволяют приемнику распознавать искаженные биты. Если приемник принимает запрещенный код, значит на линии произошло искажение сигнала.
После получения результирующих символов код 4B/5B передается по линии с помощью физического кодирования. Здесь используются методы потенциального кодирования, чувствительные только к длинным последовательностям нулей. Символы кода 4B/5B гарантируют, что при любой их комбинации на линии не может встретиться последовательность более 3 нулей подряд.
Буква B в названии кода – от слова binary – двоичный, имеются также коды и с тремя состояниями сигнала, например код 8B/6T. В нем для кодирования 8 бит исходной информации используется код с из 6 сигналов, каждый из которых имеет 3 состояния. Избыточность кода 8B/6T выше чем у кода 4B/5B, так как на 256 исходных приходится 36, то есть 729 результирующих символа.
Использование таблицы перекодировки является очень простой операцией. Этот подход не усложняет сетевые адаптеры и интерфейсные блоки коммутаторов и маршрутизаторов.
Для обеспечения заданной пропускной способности линии, передатчик использующий избыточный код должен работать с повышенной тактовой частотой. Так для передачи кодом 4B/5B информации со скоростью 100 Мбит/сек., передатчик должен работать с тактовой частотой 125 МГц. При этом спектр сигнала на линии расширяется по сравнением с ситуацией, когда по линии передается чистый, не избыточный код. Тем не менее спектр избыточного потенциального кода оказывается уже чем спектр Манчестерского кода. Это оправдывает дополнительный этап логического кодирования а также работу приемника и передатчика с повышенной тактовой частотой.
Скремблирование
Перемешивание данных скремблером перед передачей – это другой способ логического кодирования. Методы скремблирования заключается в побитном вычислении результирующего кода на основании бит исходного кода и полученных в предыдущих тактах бит результирующего кода. Например, скремблер может реализовать следующее выражение: Bi=Ai+ Bi-3+Bi-5. Bi– результирующая кода, полученная на i-м такте работы кода. Двоичная цифра исходного кода, поступающая на i-м такте в код скремблера. Bi – цифра результирующего кода полученная на 3 или 5 тактов ранее текущего. + - исключающее или.
После получения результирующей последовательности приемник передает ее дискремблеру, который восстанавливает исходную последовательность на основании обратного соотношения.
Различные алгоритмы скремблирования отличаются количеством слагаемых дающих цифр результирующего кода и сдвигом между слагаемыми. Существуют и более простые способы борьбы с последовательностями единиц также относимые к классу скремблирование, например для улучшения кода AMI (биполярного кода) используют 2 метода, основанные на искусственном искажении нулей запрещенными символами.
2&ZS – код исправляет только последовательности, состоящие из 8 нулей.
HDB3 – исправляет любые 4 подряд идущие нуля в исходной последовательности.
Улучшенные потенциальные коды обладают достаточно узкой полосой пропускания для любых последовательностей 1 и 0, которые встречаются в передаваемых данных.
16 Сетевые ОС: как строятся, зачем нужны
Рис. 1 Варианты построения сетевых ОС
Первые сетевые ОС представляли собой совокупность существующей локальной ОС и надстроенной над ней сетевой оболочки. При этом в локальную ОС встраивался минимум сетевых функций, необходимых для работы сетевой оболочки, которая выполняла основные сетевые функции. Примером такого подхода является использование на каждой машине сети операционной системы MS DOS (у которой начиная с ее третьей версии появились такие встроенные функции, как блокировка файлов и записей, необходимые для совместного доступа к файлам). Принцип построения сетевых ОС в виде сетевой оболочки над локальной ОС используется и в современных ОС, таких, например, как LANtastic или Personal Ware.
Однако более эффективным представляется путь разработки операционных систем, изначально предназначенных для работы в сети. Сетевые функции у ОС такого типа глубоко встроены в основные модули системы, что обеспечивает их логическую стройность, простоту эксплуатации и модификации, а также высокую производительность. Примером такой ОС является система Windows NT фирмы Microsoft, которая за счет встроенности сетевых средств обеспечивает более высокие показатели производительности и защищенности информации по сравнению с сетевой ОС LAN Manager той же фирмы (совместная разработка с IBM), являющейся надстройкой над локальной операционной системой OS/2.
Зачем нужны
Сетевая операционная система (англ. Network operating system) – это операционная система, которая обеспечивает обработку, хранение и передачу данных в информационной сети.
Главными задачами сетевой ОС являются разделение ресурсов сети (например, дисковые пространства) и администрирование сети. Системный администратор определяет разделяемые ресурсы, задаёт пароли, определяет права доступа для каждого пользователя или группы пользователей. Отсюда сетевые ОС делят на сетевые ОС для серверов и сетевые ОС для пользователей.
Существуют специальные сетевые ОС, которым приданы функции обычных систем (например, Windows NT) и обычные ОС (Windows XP), которым приданы сетевые функции. Практически все современные ОС имеют встроенные сетевые функции.
Сетевая операционная система составляет основу любой вычислительной сети. Каждый компьютер в сети в значительной степени автономен, поэтому под сетевой операционной системой в широком смысле понимается совокупность операционных систем отдельных компьютеров, взаимодействующих с целью обмена сообщениями и разделения ресурсов по единым правилам - протоколам. Эти протоколы обеспечивают основные функции сети: адресацию объектов, функционирование служб, обеспечение безопасности данных, управление сетью. В узком смысле сетевая ОС - это операционная система отдельного компьютера, обеспечивающая ему возможность работать в сети.
В зависимости от того, как распределены функции между компьютерами сети, сетевые операционные системы, а следовательно, и сети делятся на два класса: одноранговые и двухранговые, которые чаще называют сетями с выделенными серверами.
Если компьютер предоставляет свои ресурсы другим пользователям сети, то он играет роль сервера. При этом компьютер, обращающийся к ресурсам другой машины, является клиентом. Компьютер, работающий в сети, может выполнять функции либо клиента, либо сервера, либо совмещать обе функции.
Если выполнение серверных функций является основным назначением компьютера, то такой компьютер называется выделенным сервером. В зависимости от того, какой ресурс сервера является разделяемым, он называется файл-сервером, факс-сервером, принт-сервером, сервером приложений и т.д. Выделенный сервер не принято использовать в качестве компьютера для выполнения текущих задач, не связанных с его основным назначением, так как это может уменьшить производительность его работы как сервера.
На выделенных серверах желательно устанавливать ОС, специально оптимизированные для выполнения определенных серверных функций. Поэтому в подобных сетях с чаще всего используются сетевые операционные системы, в состав которых входит нескольких вариантов ОС, отличающихся возможностями серверных частей. Например, сетевая ОС Novell NetWare имеет серверный вариант, оптимизированный для работы в качестве файл-сервера.
В одноранговых сетях все компьютеры равны в правах доступа к ресурсам друг друга. Каждый пользователь может по своему желанию объявить какой-либо ресурс своего компьютера разделяемым, после чего другие пользователи могут его использовать. В таких сетях на всех компьютерах устанавливается одна и та же ОС.