- •Иконников с.Е. Компьютерные сети
- •Содержание
- •1. Обзор и архитектура компьютерных сетей
- •1.1. Основные понятия архитектуры компьютерных сетей
- •1.2. Классификация компьютерных сетей
- •1.3. Требования, предъявляемые к компьютерным сетям
- •2. Семиуровневая модель взаимодействия открытых систем osi
- •2.1. Взаимодействие уровней модели osi
- •2.2. Уровни модели osi
- •2.3. Сетезависимые и сетенезависимые протоколы.
- •2.4. Стек коммуникационных протоколов.
- •3. Стандарты и стеки протоколов
- •3.1. Спецификация стандартов 802.Х
- •3.2. Протоколы и стеки протоколов
- •4. Архитектура протокола tcp/ip
- •4.1. Адресация в ip-сетях
- •4.2. Автоматизация процесса назначения ip адресов
- •4.3. Протокол ip
- •4.4. Протоколы icmp и arp.
- •5. Сетевые операционные системы
- •5.1. Общие положения
- •5.2. Операционная система Windows nt/2000
- •5.3. Операционная система Unix.
- •5.4. Операционная система Novell NetWare
- •Прикладная программа
- •Файл-сервер
5.3. Операционная система Unix.
ОС UNIX представляет собой многозадачную ОС, созданную еще в 60-е годы прошлого века и доработанную на протяжении 70-х годов. Впервые ОС UNIX широкой публике была представлена в 1983 году под названием UNIX System V Release 1. С этого времени и до наших дней многие организации выпустили свои собственные версии ОС на базе UNIX, и сейчас существует множество различных ОС, функционирующих на базовых компонентах UNIX. Это стало возможным потому, что с самого начала ОС UNIX была больше совместным исследовательским проектом, нежели коммерческим продуктом.
Принципы UNIX
ОС UNIX базируется на следующих принципах:
Максимальное упрощение (адаптация ОС к различным условиям аппаратного обеспечения). Данный принцип заключается в том, что ОС построена на правилах, в соответствии с которыми она взаимодействует с различными элементами ЭВМ наиболее простым и понятным образом.
Локальность. Данный принцип заключается в использовании специализированных инструментов для выполнения простых системных вызовов, которые могут легко комбинироваться между собой в целях обеспечения более сложных действий. ОС UNIX использует небольшую программу, обеспечивающую базовый сервис для всех остальных программ.
Таким образом, хотя ОС Unix основана на простых компонентах, но ее способность к разнообразному сочетанию мелких элементов делают ОС очень сложной.
Часть программистов работают над проектами программного обеспечения для UNIX в качестве хобби и выставляют результаты своей деятельности для публичного использования.
Архитектура UNIX.
Независимо от того какую аппаратную платформу использует ОС Unix, базовые программные компоненты ОС Unix остаются без изменений:
-
ПРОГРАММЫ
ОБОЛОЧКА
ЯДРО
АППАРАТНОЕ ОБЕСПЕЧЕНИЕ
ЯДРО (Kernel) – это основной модуль, который содержит драйверы устройств, взаимодействующие с соответствующими компонентами аппаратных средств компьютера для обеспечения следующих базовых функций:
- управление памятью
- ввод-вывод
- обработка прерываний
- управление доступом
Ядро инициирует программам около 100 системных вызовов, которые приложения привлекают для решения конкретных задач (открытие файла, выполнение программы, прерывание процесса и т.д.). Эти функции являются строительными блоками, которые интегрируются программистами в более сложные задачи.
ОБОЛОЧКА (командный процессор) обеспечивает интерфейс, применяемый пользователем для ввода команд и исполнения программ. Командный процессор представляет собой интерпретатор (непосредственное выполнение текста программы на языке высокого уровня без преобразования в машинные коды) команд, аналогично Command.com и ОС MS-DOS или Cmd.exe в ОС Widows NT/2000. Оболочка функционирует в качестве языка программирования, который может быть затребован при создании сценариев. В отличие от ОС MS-DOS и Windows NT, обеспечивающих пользователей только одним из интерпретаторов команд, ОС Unix предлагает несколько оболочек с различными возможностями.
Основные команды по управлению файлами и выполнению других стандартных задач одинаковы для всех оболочек. Различие становятся ощутимыми в случае более сложных команд и при создании сценариев.
Кроме текстовых командных процессоров в ОС Unix возможно использование графического интерфейса пользователя (Graphical User Interface). Некоторые разновидности Unix, такие как Solaris, используют собственный графический интерфейс пользователя, другие, такие как Linux, применяют сервер Х Windows. В ответ на растущую популярность ОС Windows, графические оболочки Unix улучшились по качеству и набору возможностей.
Над оболочкой располагаются команды, применяемые пользователем для выполнения задач в системе. ОС Unix содержит сотни маленьких программ, называющиеся инструментарием команд (tools of commands), комбинируя которые в командной строке можно решать более сложные задачи.
Инструменты командной строки ОС Unix являются программами, а не приложениями их не следует путать со сложными комплексными приложениями, которые используют другие ОС, например ОС Windows. Добавление нового инструмента в систему Unix не требует процедуры установки, достаточно просто уточнить место расположения инструмента в файловой системе.
Версии ОС Unix
В отличие от операционных систем, разработанных для специальных нужд, любая версия ОС UNIX базируется на экономических соображениях, аппаратной платформе и персональных предпочтениях.
Unix System V Release 4 (SVR4) – первая популярная версия системы Unix, вышла в конце 80-х годов XX века. Эта версия включает компьютеры для построения компьютерных сетей с возможностями передачи файлов, дистанционного входа в систему и исполнения программ на удаленной машине, а также сетевую файловую систему NFS – Network File System.
1997 г. – Unix SVR5 (Open Server), SVR7 – UnixWare.
BSD (Berkley – Калифорнийский ун-т) Unix – это версия основана при создании фирмами разработчиками своих оригинальных продуктов. В этой версии имеется полная совместимость машинных кодов большинства программ с другими версиями Unix. В 1979 году вышла версия BSD 4, в которой протоколы TCP/IP использовались в качестве основных. Версии BSD активно используются в настоящее время и представляют собой свободно распространяемые ОС: Free BSD, Net BSD, Open BSD. Все они базируются на BSD 4.4 (1992 г.) и применяется в различных аппаратных платформах.
Free BSD основана на версии BSD 4.4 и имеет совместимость на уровне машинных кодов с приложениями для Linux, SVR4, Net BSD.
Free BSD 3.4 – 1999. Бесплатная версия: http://www.freebsd.org
Одним из приоритетов версии Net BSD является используемые ей приложения в различных аппаратных платформах. Совместимость данной версии на уровне кода позволяет ей поддерживать приложения BSD, Linux, System V, Sun OS. Существуют 15 версий NetBSD для различных аппаратных платформ. Net BSD 1.4.1 – 1999. Бесплатная версия: http://www.netbsd.org
Open BSD. Приоритет – безопасность информации, поддержка 11 аппаратных платформ. Бесплатная версия: http://www.openbsd.org
Sun Solaris или Sun OS. Данная ОС включает графический пользовательский интерфейс на основе X Windows. С 1991 года появились первые версии данной ОС (Solaris 8).
Linux. Созданная в Швеции в качестве школьного проекта (Linus Torvaldson) ОС Linux стала одной из популярных разновидностью системы Unix за последнее время. Существует версия Linux для различных аппаратных платформ, продолжается улучшение и доработка этой ОС. Недостатки: в некоторых случаях, программы, разработанные для одного пользователя, не работают с версиями ОС, которые есть у других пользователей (Red Hat Linux).
Организация сети Unix
Сетевая операционная система UNIX является одноранговой (т.е. каждый компьютер сети имеет доступ к ресурсам других компьютеров и предоставляет свои ресурсы в коллективное пользование). Возможности сетевого взаимодействия в ОС Unix принимают следующие три формы:
-открытие сессии с другой системой и использование команд в ее оболочке;
-получение доступа к файловой системе другого компьютера, использующего сервис NFS;
-запуск специального сервиса в одном компьютере и организация доступа к нему программой-клиентом другого компьютера.
Протоколы TCP/IP представляют основу всех версий ОС Unix, поэтому они включаются во взаимодействие между системами сети Unix.
Команды удаленного управления
Одной из форм сетевого доступа, применяемой в ОС Unix, является сессия удаленной консоли (remote console session), при которой пользователь подключается к удаленной машине сети и выполняет на ней команды. Как только соединение установлено, команды, вводимые пользователем клиентской системы, исполняются сервером, а результаты их действия пересылаются обратно по сети системе-клиенту, где выводятся на экран.
Это следующие команды:
rsh - Исполнение единственной команды на удаленном компьютере с выводом результата ее действия без непосредственного входа в удаленную систему.
Формат : rsh имя узла команда
имя узла – имя удаленного компьютера
команда – действие, которое должно быть выполнено в удаленной системе.
rcp - Копирование файлов с удаленного компьютера или на него через сеть без интерактивного подключения.
Формат : rcp [-r] узел – источник: имя файла узел – получатель: имя файла
узел – источник: имя файла – файл в системе-источнике, который нужно копировать;
узел – получатель: имя файла – система-назначения и имя файла, которое будет присвоено в этой системе;
[-r] – ключ для создания копии целого каталога
Команды взаимодействия двух систем, поддерживающих семейство протоколов TCP/IP
Telnet – устанавливает сеансы связи с удаленным компьютером.
FTP – средство передачи файлов в удаленную систему или из нее вместо непосредственного удаленного доступа (через протокол TCP), TFTP - через протокол UDP.
Эти команды выполняются также после установления соединения в различных ОС, включая ОС Windows NT.
Сетевая файловая система NFS (Network File System).
Предоставление файлов в совместное пользование является основным компонентом сетевого взаимодействия, поэтому ОС Unix имеет несколько механизмов получения доступа к файлам других компьютеров без транспортировки их на локальный жесткий диск. Наиболее часто применяемым из этих механизмов является служба NFS. Каждая версия ОС Unix включает поддержку NFS; другие ОС также поддерживают NFS (ОС Windows NT и Novell NetWare), но при наличии дополнительного программного обеспечения. Поддержка в ОС Windows NT и Novell NetWare необходима для взаимодействия с компьютерами на основе ОС Unix, включая интеграцию этих компьютеров в свои сети.
NFS (Network File System) представляет собой приложение типа клиент – сервер, в котором сервер объявляет всю свою файловую систему или ее часть доступной для клиентов, а клиенты получают доступ к удаленной файловой системе. В результате, доступные файлы отображаются как часть локальной файловой системы.
В основе NFS положен сервис RPC (Remote Procedure Call – удаленный вызов процедуры), разработанный для поддержания коммуникационной связи с удаленным компьютером. Взаимодействие между серверами NFS и клиентами основано на RPC-процедурах.
Основные RPC-процедуры
Getattr – получение атрибутов конкретного объекта файловой системы
Setattr – изменение одного или нескольких атрибутов объекта файловой системы сервера
Lookup – поиск заданного имени файла в каталоге
Access – задание прав доступа, которые пользователь будет иметь в отношении объекта файловой системы
Read – чтение данных из файла
Write – запись данных в файла
Create –создание файла
mkdir – создание подкаталога
Remove – удаление файла из каталога.
Rmdir – удаление подкаталога из каталога.
Rename – перемещение файла или каталога.
link – создание связи с объектом.
Организация сети по принципу «клиент-сервер»
ОС Unix является популярной основой для серверных приложений за счет относительной простоты и гибкости. В ОС Unix намного проще, чем в ОС Windows NT настроить работу Web – сервера, ожидая от него обслуживания большого количества клиентов и отключив все посторонние функции.
В силу того, что протоколы TCP/IP в основном разрабатывались для UNIX-платформы, имеется программное обеспечение сервера UNIX для любого из существующих приложений TCP/IP.
