Тема 1.               Сетевые операционные системы

Структура сетевой операционной системы

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

 

Рис. 1.1. Структура сетевой ОС

В сетевой операционной системе отдельной машины можно выделить несколько частей (рисунок 1.1):

·         Средства управления локальными ресурсами компьютера: функции распределения оперативной памяти между процессами, планирования и диспетчеризации процессов, управления процессорами в мультипроцессорных машинах, управления периферийными устройствами и другие функции управления ресурсами локальных ОС.

·         Средства предоставления собственных ресурсов и услуг в общее пользование - серверная часть ОС (сервер). Эти средства обеспечивают, например, блокировку файлов и записей, что необходимо для их совместного использования; ведение справочников имен сетевых ресурсов; обработку запросов удаленного доступа к собственной файловой системе и базе данных; управление очередями запросов удаленных пользователей к своим периферийным устройствам.

·         Средства запроса доступа к удаленным ресурсам и услугам и их использования - клиентская часть ОС (редиректор). Эта часть выполняет распознавание и перенаправление в сеть запросов к удаленным ресурсам от приложений и пользователей, при этом запрос поступает от приложения в локальной форме, а передается в сеть в другой форме, соответствующей требованиям сервера. Клиентская часть также осуществляет прием ответов от серверов и преобразование их в локальный формат, так что для приложения выполнение локальных и удаленных запросов неразличимо.

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

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

На рисунке 1.2 показано взаимодействие сетевых компонентов. Здесь компьютер 1 выполняет роль "чистого" клиента, а компьютер 2 - роль "чистого" сервера, соответственно на первой машине отсутствует серверная часть, а на второй - клиентская. На рисунке отдельно показан компонент клиентской части - редиректор. Именно редиректор перехватывает все запросы, поступающие от приложений, и анализирует их. Если выдан запрос к ресурсу данного компьютера, то он переадресовывается соответствующей подсистеме локальной ОС, если же это запрос к удаленному ресурсу, то он переправляется в сеть. При этом клиентская часть преобразует запрос из локальной формы в сетевой формат и передает его транспортной подсистеме, которая отвечает за доставку сообщений указанному серверу. Серверная часть операционной системы компьютера 2 принимает запрос, преобразует его и передает для выполнения своей локальной ОС. После того, как результат получен, сервер обращается к транспортной подсистеме и направляет ответ клиенту, выдавшему запрос. Клиентская часть преобразует результат в соответствующий формат и адресует его тому приложению, которое выдало запрос.

 

Рис. 1.2. взаимодействие компонентов операционной системы при взаимодействии компьютеров

На практике сложилось несколько подходов к построению сетевых операционных систем (рисунок 1.3).

Рис. 1.3. Варианты построения сетевых ОС

Первые сетевые ОС представляли собой совокупность существующей локальной ОС и надстроенной над ней сетевой оболочки. При этом в локальную ОС встраивался минимум сетевых функций, необходимых для работы сетевой оболочки, которая выполняла основные сетевые функции. Примером такого подхода является использование на каждой машине сети операционной системы MS DOS (у которой начиная с ее третьей версии появились такие встроенные функции, как блокировка файлов и записей, необходимые для совместного доступа к файлам). Принцип построения сетевых ОС в виде сетевой оболочки над локальной ОС используется и в современных ОС, таких, например, как LANtastic или Personal Ware.

Однако более эффективным представляется путь разработки операционных систем, изначально предназначенных для работы в сети. Сетевые функции у ОС такого типа глубоко встроены в основные модули системы, что обеспечивает их логическую стройность, простоту эксплуатации и модификации, а также высокую производительность. Примером такой ОС является система Windows NT фирмы Microsoft, которая за счет встроенности сетевых средств обеспечивает более высокие показатели производительности и защищенности информации по сравнению с сетевой ОС LAN Manager той же фирмы (совместная разработка с IBM), являющейся надстройкой над локальной операционной системой OS/2.

Одноранговые сетевые ОС и ОС с выделенными серверами

В зависимости от того, как распределены функции между компьютерами сети, сетевые операционные системы, а следовательно, и сети делятся на два класса: одноранговые и двухранговые (рисунок 1.4). Последние чаще называют сетями с выделенными серверами.

 

(а)

(б)

Рис. 1.4. (а) - Одноранговая сеть, (б) - Двухранговая сеть

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

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

Очевидно, что на выделенных серверах желательно устанавливать ОС, специально оптимизированные для выполнения тех или иных серверных функций. Поэтому в сетях с выделенными серверами чаще всего используются сетевые операционные системы, в состав которых входит нескольких вариантов ОС, отличающихся возможностями серверных частей. Например, сетевая ОС Novell NetWare имеет серверный вариант, оптимизированный для работы в качестве файл-сервера, а также варианты оболочек для рабочих станций с различными локальными ОС, причем эти оболочки выполняют исключительно функции клиента. Другим примером ОС, ориентированной на построение сети с выделенным сервером, является операционная система Windows NT. В отличие от NetWare, оба варианта данной сетевой ОС - Windows NT Server (для выделенного сервера) и Windows NT Workstation (для рабочей станции) - могут поддерживать функции и клиента и сервера. Но серверный вариант Windows NT имеет больше возможностей для предоставления ресурсов своего компьютера другим пользователям сети, так как может выполнять более широкий набор функций, поддерживает большее количество одновременных соединений с клиентами, реализует централизованное управление сетью, имеет более развитые средства защиты.

Выделенный сервер не принято использовать в качестве компьютера для выполнения текущих задач, не связанных с его основным назначением, так как это может уменьшить производительность его работы как сервера. В связи с такими соображениями в ОС Novell NetWare на серверной части возможность выполнения обычных прикладных программ вообще не предусмотрена, то есть сервер не содержит клиентской части, а на рабочих станциях отсутствуют серверные компоненты. Однако в других сетевых ОС функционирование на выделенном сервере клиентской части вполне возможно. Например, под управлением Windows NT Server могут запускаться обычные программы локального пользователя, которые могут потребовать выполнения клиентских функций ОС при появлении запросов к ресурсам других компьютеров сети. При этом рабочие станции, на которых установлена ОС Windows NT Workstation, могут выполнять функции невыделенного сервера.

Важно понять, что несмотря на то, что в сети с выделенным сервером все компьютеры в общем случае могут выполнять одновременно роли и сервера, и клиента, эта сеть функционально не симметрична: аппаратно и программно в ней реализованы два типа компьютеров - одни, в большей степени ориентированные на выполнение серверных функций и работающие под управлением специализированных серверных ОС, а другие - в основном выполняющие клиентские функции и работающие под управлением соответствующего этому назначению варианта ОС. Функциональная несимметричность, как правило, вызывает и несимметричность аппаратуры - для выделенных серверов используются более мощные компьютеры с большими объемами оперативной и внешней памяти. Таким образом, функциональная несимметричность в сетях с выделенным сервером сопровождается несимметричностью операционных систем (специализация ОС) и аппаратной несимметричностью (специализация компьютеров).

В одноранговых сетях все компьютеры равны в правах доступа к ресурсам друг друга. Каждый пользователь может по своему желанию объявить какой-либо ресурс своего компьютера разделяемым, после чего другие пользователи могут его эксплуатировать. В таких сетях на всех компьютерах устанавливается одна и та же ОС, которая предоставляет всем компьютерам в сети потенциально равные возможности. Одноранговые сети могут быть построены, например, на базе ОС LANtastic, Personal Ware, Windows for Workgroup, Windows NT Workstation.

В одноранговых сетях также может возникнуть функциональная несимметричность: одни пользователи не желают разделять свои ресурсы с другими, и в таком случае их компьютеры выполняют роль клиента. За другими компьютерами администратор закрепил только функции по организации совместного использования ресурсов, а, следовательно, они являются серверами. В третьем случае, когда локальный пользователь не возражает против использования его ресурсов и сам не исключает возможности обращения к другим компьютерам, ОС, устанавливаемая на его компьютере, должна включать и серверную, и клиентскую части. В отличие от сетей с выделенными серверами, в одноранговых сетях отсутствует специализация ОС в зависимости от преобладающей функциональной направленности - клиента или сервера. Все вариации реализуются средствами конфигурирования одного и того же варианта ОС.

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

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

Прикладные протоколы. FTP

Протокол пересылки файлов FTP (File Transfer Protocol) реализует удаленный доступ к файлу. Для того чтобы обеспечить надежную передачу, FTP использует в качестве транспорта протокол с установлением соединений - TCP. Кроме пересылки файлов протокол FTP предлагает и другие услуги. Так, пользователю предоставляется возможность интерактивной работы с удаленной машиной, например, он может распечатать содержимое ее каталогов. Наконец, FTP выполняет аутентификацию пользователей. Прежде, чем получить доступ к файлу, в соответствии с протоколом пользователи должны сообщить свое имя и пароль. Для доступа к публичным каталогам FTP-архивов Internet парольная аутентификация не требуется, и ее обходят за счет использования для такого доступа предопределенного имени пользователя Anonymous.

В стеке TCP/IP протокол FTP предлагает наиболее широкий набор услуг для работы с файлами, однако он является и самым сложным для программирования. Приложения, которым не требуются все возможности FTP, могут использовать другой, более экономичный протокол - простейший протокол пересылки файлов TFTP (Trivial File Transfer Protocol). Этот протокол реализует только передачу файлов, причем в качестве транспорта используется более простой, чем TCP, протокол без установления соединения - UDP.

Прикладные протоколы. Telnet

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

Прикладные протоколы. SNMP

Протокол SNMP (Simple Network Management Protocol) используется для организации сетевого управления. Изначально протокол SNMP был разработан для удаленного контроля и управления маршрутизаторами Internet, которые традиционно часто называют также шлюзами. С ростом популярности протокол SNMP стали применять и для управления любым коммуникационным оборудованием - концентраторами, мостами, сетевыми адаптерами и т.д. и т.п. Проблема управления в протоколе SNMP разделяется на две задачи.

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

Вторая задача связана с контролируемыми переменными, характеризующими состояние управляемого устройства. Стандарты регламентируют, какие данные должны сохраняться и накапливаться в устройствах, имена этих данных и синтаксис этих имен. В стандарте SNMP определена спецификация информационной базы данных управления сетью. Эта спецификация, известная как база данных MIB (Management Information Base), определяет те элементы данных, которые управляемое устройство должно сохранять, и допустимые операции над ними.

Прикладные протоколы. SMTPPOPNNTP

Протоколы SMTP и POP (Simple Mail Transfer Protocol) используется для организации почтовых сообщений.

Протокол NNTP предназначен для организации передачи новостей.

Прикладные протоколы. ICMP.

Протокол обмена управляющими сообщениями ICMP (Internet Control Message Protocol) позволяет маршрутизатору сообщить конечному узлу об ошибках, с которыми машрутизатор столкнулся при передаче какого-либо IP-пакета от данного конечного узла.

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

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

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

Существует несколько типов сообщений ICMP. Каждый тип сообщения имеет свой формат, при этом все они начинаются с общих трех полей: 8-битного целого числа, обозначающего тип сообщения (TYPE), 8-битного поля кода (CODE), который конкретизирует назначение сообщения, и 16-битного поля контрольной суммы (CHECKSUM). Кроме того, сообщение ICMP всегда содержит заголовок и первые 64 бита данных пакета IP, который вызвал ошибку. Это делается для того, чтобы узел-отправитель смог более точно проанализировать причину ошибки, так как все протоколы прикладного уровня стека TCP/IP содержат наиболее важную информацию для анализа в первых 64 битах своих сообщений.

Поле типа может иметь следующие значения:

Значение

Тип сообщения

0

Эхо-ответ (Echo Replay)

3

Узел назначения недостижим (Destination Unreachable)

4

Подавление источника (Source Quench)

5

Перенаправление маршрута (Redirect)

8

Эхо-запрос (Echo Request)

11

Истечение времени дейтаграммы (Time Exceeded for a Datagram)

12

Проблема с параметром пакета (Parameter Problem on a Datagram)

13

Запрос отметки времени (Timestamp Request)

14

Ответ отметки времени (Timestamp Replay)

17

Запрос маски (Address Mask Request)

18

Ответ маски (Address Mask Replay)

Как видно из используемых типов сообщений, протокол ICMP представляет собой некоторое объединение протоколов, решающих свои узкие задачи.

Протокол ICMP предоставляет сетевым администраторам средства для тестирования достижимости узлов сети. Эти средства представляют собой очень простой эхо-протокол, включающий обмен двумя типами сообщений: эхо-запрос и эхо-ответ. Компьютер или маршрутизатор посылают по интерсети эхо-запрос, в котором указывают IP-адрес узла, достижимость которого нужно проверить. Узел, который получает эхо-запрос, формирует и отправляет эхо-ответ и возвращает сообщение узлу - отправителю запроса. В запросе могут содержаться некоторые данные, которые должны быть возвращены в ответе. Так как эхо-запрос и эхо-ответ передаются по сети внутри IP-пакетов, то их успешная доставка означает нормальное функционирование всей транспортной системы интерсети.

Во многих операционных системах используется утилита ping, которая предназначена для тестирования достижимости узлов. Эта утилита обычно посылает серию эхо-запросов к тестируемому узлу и предоставляет пользователю статистику об утерянных эхо-ответах и среднем времени реакции сети на запросы.

Когда маршрутизатор не может передать или доставить IP-пакет, он отсылает узлу, отправившему этот пакет, сообщение "Узел назначения недостижим" (тип сообщения - 3). Это сообщение содержит в поле кода значение, уточняющее причину, по которой пакет не был доставлен. Причина кодируется следующим образом:

Код

Причина

0

Сеть недостижима

1

Узел недостижим

2

Протокол недостижим

3

Порт недостижим

4

Требуется фрагментация, а бит DF установлен

5

Ошибка в маршруте, заданном источником

6

Сеть назначения неизвестна

7

Узел назначения неизвестен

8

Узел-источник изолирован

9

Взаимодействие с сетью назначения административно запрещено

10

Взаимодействие с узлом назначения административно запрещено

11

Сеть недостижима для заданного класса сервиса

12

Узел недостижим для заданного класса сервиса

Маршрутизатор, обнаруживший по какой-либо причине, что он не может передать IP-пакет далее по сети, должен отправить ICMP-сообщение узлу-источнику, и только потом отбросить пакет. Кроме причины ошибки, ICMP-сообщение включает также заголовок недоставленного пакета и его первые 64 бита поля данных.

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

Недостижимость протокола и порта означают отсутствие реализации какого-либо протокола прикладного уровня в узле назначения или же отсутствие открытого порта протоколов UDP или TCP в узле назначения.

Ошибка фрагментации возникает тогда, когда отправитель послал в сеть пакет с признаком DF, запрещающим фрагментацию, а маршрутизатор столкнулся с необходимостью передачи этого пакета в сеть со значением MTU меньшим, чем размер пакета.

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

Для корректировки поведения компьютеров маршрутизатор может использовать сообщение протокола ICMP, называемое "Перенаправление маршрута" (Redirect).

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

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

В сообщении "Перенаправление маршрута" маршрутизатор помещает IP-адрес маршрутизатора, которым нужно пользоваться в дальнейшем, и заголовок исходного пакета с первыми 64 битами его поля данных. Из заголовка пакета узел узнает, для какой сети необходимо пользоваться указанным маршрутизатором.

Что такое URL?

В World Wide Web для задания местоположения файлов на других серверах сети Internet используется URL - Uniform Resource Locator.

URL включает в себя :

§  метод доступа к ресурсу, т.е. протокол доступа (http, gopher, WAIS, ftp, file, telnet и др.)

§  сетевой адрес ресурса (имя хост-машины и домена)

§  полный путь к файлу на сервере

В общем виде формат URL выглядит так:

method://host.domain[:port]/path/filename

где method имеет одно из значений, перечисленных ниже

 

file

 

файл на вашей локальной системе,
или файл на anonymous FTP сервере

http

 

файл на World Wide Web сервере

gopher

 

файл на Gopher сервере

WAIS

 

файл на WAIS (Wide Area Information Server) сервере

news

 

группа новостей телеконференции Usenet

telnet

 

выход на ресурсы сети Telnet

 

Параметр host.domain - адрес ресурса в сети Internet.

Параметр port - число, которое необходимо указывать, если метод требует номер порта. На одном компьютере могут одновременно работать несколько программ-серверов, использующих один протокол. Для того, чтобы ОС разобралась, какому приложению-серверу адресовать полученный пакет, в пакете указывается порт. Таким образом, отдельные сервера могут иметь свой отличительный номер порта. Какой номер порта писать Вы должны узнать на host-узле.

Стандартными портами являются :

21 – FTP          23 – Telnet        70 – Gopher     80 – HTTP

URI.

URL образуют подмножество более общей схемы наименования URI.

Идентификаторы фрагментов

Некоторые URI указывают на местоположение внутри ресурса. Этот тип URI заканчивается символом "#", за которым следует указатель (идентификатор фрагмента). Например, следующий URI указывает на фрагмент с именем section_2:

http://somesite.com/html/top.html#section_2

Относительные URI

Относительный URI не содержит информации о схеме наименования. Путь в нем указывает на ресурс на машине, на которой находится текущий документ. Относительные URI могут содержать компоненты относительного пути (например, ".." означает один уровень выше в иерархии) и идентификаторы фрагментов.

Относительные URI приводятся к полным URI с помощью базового URI. В качестве примера приведения относительного URI предположим, что у нас имеется базовый URI "http://www.acme.com/support/intro.html". Относительный URI в следующей ссылке:

   <A href="suppliers.html">Suppliers</A>

будет преобразован в полный URI "http://www.acme.com/support/suppliers.html", а относительный URI в следующем фрагменте

   <IMG src="../icons/logo.gif" alt="logo">

будет преобразован в полный URI "http://www.acme.com/icons/logo.gif".

В HTML URI используются для:

ссылки на другие документы или ресурсы (см. элементы A и LINK).

ссылки на внешние таблицы стилей или скрипты (см. элементы LINK и SCRIPT).

включения в страницу изображений, объектов или апплетов (см. элементы IMG, OBJECT, APPLET и INPUT).

создания изображений-карт (см. элементы MAP и AREA).

отправки форм (см. FORM).

создания документов с использованием кадров (см. элементы FRAME и IFRAME).

ссылок на внешние источники (см. элементы Q, BLOCKQUOTE, INS и DEL).

ссылок на соглашения о метаданных, описывающих документ (см. элемент HEAD).

Подробнее об URI см. в разделе о типах URI.

Тема 2.               Требования к сети. Архитектура сети. Выбор технологии.

Требования к сети.

Специалисты, занимающиеся разработкой вычислительных сетей, и сетевые администраторы всегда стремятся обеспечить выполнение трех основных требований к сети:

1.     масштабируемость,

2.     производительность,

3.     управляемость.

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

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

Для правильного проектирования сети, ее разработки и обслуживания специалисты должны учесть следующее:

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

§   Использование новых программных средств. Знакомство с новшествами надо проводить как можно раньше, чтобы внести необходимые корректировки в проект.

§   Исследование различных решений и их возможных влияний на архитектуру сети.

§   Проверка сетей. Необходимо создавать прототипы сети и ее частей. Это может предупредить появление так называемых "узких мест", оценить примерную производительность и применимость различных архитектур.

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

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

§   Вычисление критического времени. Необходимо определить время допустимой реакции каждого приложения и возможные периоды максимальной нагрузки. Важно понять, как нештатные ситуации могут повлиять на работоспособность сети, и определить, нужен ли резерв для организации непрерывной работы предприятия.

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

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

Критерии выбора технологии:

§   популярность технологии в обозримом будущем. От этого зависит расширяемость сети и обновление оборудования. Примером непопулярной СТ является  ARCNet.

§   Качество обслуживания. Очень кратко можно заметить, что различные приложения предъявляют различные требования к качеству обслуживания, которое характеризуют следующие параметры: время задержки, взрывообразность, пропускная способность, реакция на ошибки и т.п. Качество обслуживания каждого пользователя может определяться, например, путем введения  "оплаты".

§   Масштабируемость. Опыт показывает, что приложения пользователей со временем усложняются и предъявляют все более высокие требования к сети, поэтому следует заранее позаботиться о росте сети. Если сеть продумана плохо, то через 2-3 года ее придется переделывать. Таким образом, Вы должны лучше пользователей предусмотреть направления роста их прикладных приложений.

§   Стоимость.

§   Поддержка существующей кабельной системы.

§   Совместимость с уже установленным оборудованием.

Архитектура сети.

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

В архитектуре сети выделяют три аспекта: принципы  построения, сетевые шаблоны, технические позиции.

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

Техническая позиция уточняет параметры выбранной технологии и дает описание отдельно взятого устройства, метода, протокола, сервиса и т.д. Количество технических позиций может быть различным, приведем возможный перечень решаемых вопросов:

§  Сетевые транспортные протоколы.

§  Протоколы маршрутизации в сети.

§  За счет чего будет достигаться возможность выбора качества обслуживания.

§  Какая будет адресация в сетях IP, подсетях.

§  Стратегия коммутации в локальных сетях.

§  Объединение коммутации и маршрутизации.

§  Организация городской сети.

§  Организация глобальной сети.

§  Служба удаленного доступа.

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

Оценка трафика сети. Разделение на подсети.

Достаточно сложная задача – оценка трафика в сети. Очевидно, что правильная оценка позволит выбрать оптимальный вариант, то есть такой, при котором сеть будет работать достаточно быстро, и будет стоить приемлемые деньги.

Оценить точно трафик трудно по той причине, что величина его зависит и от применяемой сетевой технологии, и от распределения во времени информационных потоков, от надежности кабельной системы. Так, например, в Ethernet с ростом трафика растет количество коллизий, и, следовательно, растет объем повторных передач, и падает фактическая скорость передачи.

Для того, чтобы верно оценить трафик, следует не только определить объемы передаваемой информации от одного компьютера к другому, но построить график распределения информационных потоков во времени. На суммарном графике можно увидеть «узкие места» сети, то есть такие сетевые участки, но которых в некоторые моменты времени возникают продолжительные задержки передачи.

Достаточно приблизительно можно утверждать следующее: для определения фактической скорости следует теоретическую скорость уменьшить вдвое - втрое. Это число получилось на практике при анализе работы нескольких сетей.

Исходя из оценки сетевого трафика, решается вопрос о выборе сетевой технологии, о мощности сетевого оборудования, об архитектуре сети. Так, например, если в целом производительность сети в 10 Мгб устраивает Вас, кроме того, достаточно определенно все пользователи сети делятся на две группы по используемым прикладным задачам, то имеет смысл обычную Ethrnet-сеть на тонком коаксиальном кабеле разделить на две подсети. При этом минимальными средствами будет достигнута требуемая производительность сети.

Не забудьте, что при проектировании сети Вы можете предъявить руководству предприятия требование изменения расположения некоторых подразделений (разумные требования, конечно!) с целью организации подсетей для часто общающихся пользователей.

Подсети

Адресное пространство сети internet может быть разделено на непересекающиеся подпространства - "подсети", с каждой из которых можно работать как с обычной сетью TCP/IP. Таким образом, единая сеть организации может строиться как объединение подсетей. Как правило, подсеть соответствует одной физической сети, например, одной сети Ethernet.

Конечно, использование подсетей необязательно. Можно просто назначить для каждой физической сети свой сетевой номер, например, номер класса C. Однако такое решение имеет два недостатка. Первый, и менее существенный, заключается в пустой трате сетевых номеров. Более серьезный недостаток состоит в том, что если ваша организация имеет несколько сетевых номеров, то машины вне ее должны поддерживать записи о маршрутах доступа к каждой из этих IP-сетей. Таким образом, структура IP-сети организации становится видимой для всего мира. При каких-либо изменениях в IP-сети информация о них должна быть учтена в каждой из машин, поддерживающих маршруты доступа к данной IP-сети.

Подсети позволяют избежать этих недостатков. Ваша организация должна получить один сетевой номер, например, номер класса B. Стандарты TCP/IP определяют структуру IP-адресов. Для IP-адресов класса B первые два байта являются номером сети. Оставшаяся часть IP-адреса может использоваться как угодно. Например, вы можете решить, что третий байт будет определять номер подсети, а четвертый байт - номер узла в ней. Вы должны описать конфигурацию подсетей в файлах, определяющих маршрутизацию IP-пакетов. Это описание является локальным для вашей организации и не видно вне ее. Все машины вне вашей организации видят одну большую IP-сеть. Следовательно, они должны поддерживать только маршруты доступа к шлюзам, соединяющим вашу IP-сеть с остальным миром. Изменения, происходящие в IP-сети организации, не видны вне ее. Вы легко можете добавить новую подсеть, новый шлюз и т.п.

Как назначать номера сетей и подсетей. Маска подсети.

После того, как решено использовать подсети или множество IP-сетей, вы должны решить, как назначать им номера. Обычно это довольно просто. Каждой физической сети, например, Ethernet или Token Ring, назначается отдельный номер подсети или номер сети. В некоторых случаях имеет смысл назначать одной физической сети несколько подсетевых номеров.

Например, предположим, что имеется сеть Ethernet, охватывающая три здания. Ясно, что при увеличении числа машин, подключенных к этой сети, придется ее разделить на несколько отдельных сетей Ethernet. Для того, чтобы избежать необходимости менять IP-адреса, когда это произойдет, можно заранее выделить для этой сети три подсетевых номера - по одному на здание. (Это полезно и в том случае, когда не планируется физическое деление сети. Просто такая адресация позволяет сразу определить, где находится та или иная машина.) Однако прежде, чем выделять три различных подсетевых номера одной физической сети, тщательно проверьте, что все ваши программы способны работать в такой среде.

Для задания подсети следует задать "маску подсети". Она используется сетевым программным обеспечением для выделения номера подсети из IP-адресов. Биты IP-адреса, определяющие номер IP-сети, в маске подсети должны быть равны 1, а биты, определяющие номер узла, в маске подсети должны быть равны 0.

Например, Ваша организация получила адрес сети класса В. Тогда  третий байт IP - адреса используется для задания номера подсети. Это позволяет иметь 256 подсетей, в каждой из которых может быть до 254 узлов. Маска подсети в такой системе равна 255.255.255.0.

Но, если в вашей сети должно быть больше подсетей, а в каждой подсети не будет при этом более 60 узлов, то можно использовать пару битов из четвертого байта IP-адреса. Тогда маска будет 255.255.255.192 (192 десятичное = 11000000 двоичное =  2**6+2**7 = 128+64).Это позволяет иметь 1024 подсети и до 62 узлов в каждой. (Напомним, что номера узлов 0 и "все единицы" используются особым образом.)

Обычно маска подсети указывается в файле стартовой конфигурации сетевого программного обеспечения. Протоколы TCP/IP позволяют также запрашивать эту информацию по сети.

Проект сети.

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

Непрерывность работы сети. Архивы, запасные серверы, …

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

Здесь можно выделить программный, аппаратный и организационный аспекты. Организационное решение состоит в составлении инструкций для сетевого администратора, графика создания архивных копий. Обеспечение надежности хранения данных могут предоставить некоторые аппаратные средства, например, SCSI – диски, поддерживающие технологию RAID-3. Удобно использовать с целью архивирования данных программы. При этом автоматически, без вмешательства администратора и пользователей сети будут создаваться и пополняться архивы. К сожалению, подобных программ общего вида на рынке достаточно немного и не всегда их функциональность удовлетворительна, поэтому сетевому администратору придется создавать их самому.

Логическая структура сети. Сетевые ОС. Сетевые протоколы

На данном этапе составляется описание всех программных средств: ОС, драйверов, протоколов, организующих логику работы сети.

Размер пакета, ячейки, кадры

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

Итак, кадрами называется единица информации, передаваемая протоколами, работающими на канальном уровне модели OSI (Ethernet, Token ring, …). Пакетом – на сетевом и транспортном уровне модели OSI. Ячейками называют пакеты фиксированного размера.

Для пакетов и кадров, очевидно, должны быть определены в спецификации максимальный и минимальный размер. Разберемся, почему. Максимальный размер диктуется ограничением буферов всех сетевых устройств. Причем, могут играть роль взаимные размеры пакетов протоколов двух соседних уровней модели OSI, например, дейтаграмма TCP и пакет IP должны быть согласованы (иметь один максимальный размер), иначе придется заниматься разбиением, а затем сборкой.

Раут - маршрутизация в подсетях.

Маршрутизацию в подсетях в небольших локальных сетях выполняют программы маршрутизации, установленные на некоторых компьютерах, называемых шлюзами.

Тема 3.               PHP и другие серверные технологии.

PHP - язык разработки сценариев

PHP - язык разработки сценариев, выполняемых на сервере. Прошли времена крикливо выглядящих сайтов с мерцающими штучками  и множеством анимаций, за которыми обычно скрывалось убожество информации. Современный сайт должен содержать самую свежую информацию (иногда, не старее 5 минут и менее), кроме того, он должен приятно выглядеть. Таким образом, современный сайт - это динамический сайт. Современный Web - сервер - это не просто Web - сервер, но и средства хранения данных, обработки запросов, создания документов требуемых форматов. Обязательное качество профессионального сайта - разграничение доступа, обеспечение защиты самого сайта и всего Web - сервера в частности.

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

На стороне сервера можно воспользоваться и другими средствами создания динамической страницы, они будут рассмотрены ниже.

Динамические технологии на стороне клиента.

Маленькая домашняя страничка не обязательно должна быть активной. Впрочем, тогда она, по-видимому, будет слишком унылой. Обилие активных элементов может раздражать читателя, а недостаток - вызывать скуку. Пытайтесь найти «золотую середину». Очевидно, что эта середина располагается в разных местах для сайтов разной направленности. Если вы создаете сайт, содержащий в основном формальные данные, например - доказательство теоремы Ферма, то врятли уместно расцвечивать страницу как елку. А если ваш сайт о путешествиях, о загадочных далеких странах, то обойтись без фотографий, встроенного видео, звукового оформления наверное не получится.

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

Итак, динамические технологии на стороне клиента: ActiveX, Java апплеты, сценарии на скрипт языках.

ActiveX объекты могут быть помещены на страницу при помощи тэга <OBJECT>. Соответствующие программы могут выполняться как на стороне сервера, так и на стороне клиента. ActiveX объекты гарантированно работают только в Internet Explorer (для других браузеров следует смотреть в документации), а в случае выполнения на сервере требуют операционной системы Windows на сервере. Такое ограничение сужает круг возможных клиентов вашей страницы, хотя такое сужение может оказаться вполне приемлемым.

Java апплеты  (не путать с JavaScript) - это программы, написанные на языке Java, которые могут быть включены в HTML страницу. Выполняется программа Java - машиной.

<applet align=выравнивание alt=текст archive=сжатыйфайл class=класс code=файлапплета codebase=URL datafld=имяколонки datasrc=источникданных height=высота hspace=отступпогоризонтали id=идентификатор mayscript name=имя src=URL style=стиль title=всплывающаяподсказка vspace=отступповертикали width=ширина>

<param name=имяпараметра value=значение>

<param name=имяпараметра value=значение>

...

текст

</applet>

Программирование на скрипт языках является часто самым простым способом для новичков внести оживление в свою страничку.

Динамические технологии на стороне сервера.

Часто бывает гораздо экономичнее производить обработку на сервере, так как при этом сильно сокращается объем сетевого трафика. Кроме того, политика безопасности может потребовать ограничить объем передаваемых данных на сторону клиента (скрытие на клиенте этих уже полученных данных при помощи свойства visible - замок от честных и мало знающих людей). Это - основные причины, по которым требуется устраивать обработку данных на сервере.

Технологии на стороне сервера: CGI (Common Gateway Interface) - интерфейс общего шлюза, ASP (Active Server Pages), Java Servlets, JSP (Java Server Pages) и другие.

CGI программа может быть написана почти на любом языке, но чаще всего ее пишут на Perl или C. Эту технологию поддерживают практически все Web - серверы.

Web - серверы в данном случае выступают как шлюз между запросом клиента и требуемыми данными. Сервер сначала создает новый процесс, в котором будет выполняться программа. Затем в этот процесс загружается необходимая среда времени выполнения и сама программа. Наконец, передается объект, представляющий собой запрос. И вызывается программа. По окончании работы программы веб-сервер считывает полученные ею результаты из стандартного устройства вывода (stdout).

В настоящее время самая большая проблема этой технологии в том, что она плохо масштабируется. Для обработки каждого запроса веб-сервер создает новый процесс. Каждый процесс состоит из собственного набора переменных окружения, отдельного экземпляра необходимой среды выполнения, экземпляра программы, имеет свою память. Такое устройство приводит к выполнимости достаточно простой атаки типа «отказ в обслуживании». Да и при нормальной работе в случае одновременного большого количества запросов к серверу может возникнуть отказ. Решение этой проблемы - технология FastCGI, которая  обеспечивает совместное использование экземпляров CGI - программ. Еще одно решение - mod_perl. Эта технология основывается на интерпретации и выполнении сценариев Perl внутри веб-сервера Apache, совершенно обходя, таким образом, CGI.

Видимо, в ответ на неэффективность CGI фирмы Netscape и Microsoft разработали собственные API, позволяющие программистам создавать серверные приложения в виде библиотек совместного доступа. Эти библиотеки загружаются в процессе веб-сервера и могут обслуживать несколько запросов, не создавая новых процессов. Запускаться они могут или сразу же при запуске веб-сервера или при необходимости. Если в течение некоторого времени они не используются, веб-сервер может выгружать их из памяти. Это решение легче масштабируется, но имеет тоже несколько существенных недостатков:

·         предлагаемые API функции платформо зависимые,

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

·         при возникновении ошибки доступа в серверной программе, так как она находится внутри процесса сервера, может произойти отказ сервера.

ASP программа похожа на PHP программу в том смысле, что получая запрос на ASP файл сервер сначала ищет скомпилированную страницу, и если не находит, то сначала компилирует ее. Скомпилированная страница выполняется. Результат - HTML страница передается браузеру. Существенное ограничение этой технологии - операционная зависимость.

SSJS  - Java Script на стороне сервера. Это технология, предложенная Netscape. Преимуществом ее может считаться использование стандартного языка JavaScript, а недостатком по сравнению с ASP и PHP то, что это компилятор, а не интерпретатор, что усложняет процесс модификации страниц. Еще более существенный недостаток - программная зависимость: технологию SSJS  поддерживает только Netscape Enterprise Server, уступающий Apache и Microsoft IIS по распространенности в Интернет.

Java Servlets  и JSP - технологии, применяемые на стороне сервера и использующие язык Java.

 

Тема 4.               Распределенная обработка. Безопасность. Эффективность.

Модель распределенной обработки информации.

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

Эти отношения могут использоваться и в более сложных абстрактных моделях связи как более низкий уровень. Например, при включении компьютера операционная система выступает в качестве клиента и запрашивает сетевой сервер (контроллер домена) о возможности входа в сеть. Если включение компьютера в сеть в соответствии в политикой безопасности допустимо, то сетевой сервер, уже выступая в роли клиента, запрашивает DHCP сервер, возможно находящийся на другом компьютере, об IP-адресе. Иногда такую схему называют трехуровневой.

Можно также применять иерархическую модель связей. Такая модель реализована в DNS протоколе.

Подробнее о распределенных системах мы поговорим в курсах «Корпоративные ИС» и «Проектирование распределенных ИС».

Безопасность информации. Базовые функциональные профили. Полные функциональные профили.

Методы оценки эффективности информационных сетей.

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

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

Следует упомянуть еще одно важное понятие QoS – качество обслуживания. Под качеством обслуживания подразумевается набор характеристик связи. Чтобы пояснить потребность различных передаваемых данных к качеству обслуживания, рассмотрим две задачи: передача выполняемого файла и передача видео в реальном времени. Очевидно, что передавать файл можно с достаточно низкой скоростью, но без ошибок. Некоторая потеря бит, особенно не расположенных рядом, допустима при передаче видео, но требуется соблюдать скорость передачи.

Сетевые программные и технические средства информационных сетей.

 

 

Hosted by uCoz