Компьютерные сети. Принц, техн, прот 1-303. Книга переведена на английский, испанский, китайский и португальский языки
Скачать 5.49 Mb.
|
транспортные средства. Сетевая операционная система Операционную систему компьютера часто определяют как взаимосвязанный набор системных программ, который обеспечивает эффективное управление ресурсами компьютера (памятью, процессором, внешними устройствами, файлами и др.), а также предоставляет пользователю удобный интерфейс для работы с аппаратурой компьютера и разработки приложений. Говоря о сетевой ОС, мы, очевидно, должны расширить границы управляемых ресурсов за пределы одного компьютера. Сетевой операционной системой называют операционную систему компьютера, которая, помимо управления локальными ресурсами, предоставляет пользователям и приложениям возможность эффективного и удобного доступа к информационным и аппаратным ресурсам других компьютеров сети. Сегодня практически все операционные системы являются сетевыми. Из примеров, рассмотренных в предыдущих разделах (см. рис. 2.3 и 2.4), мы видим, что удаленный доступ к сетевым ресурсам обеспечивается: сетевыми службами; средствами транспортировки сообщений по сети (в простейшем случае – сетевыми интерфейсными картами и их драйверами). Следовательно, именно эти функциональные модули должны быть добавлены к ОС, чтобы она могла называться сетевой (рис. 2.5). От того, насколько богатый набор сетевых служб и услуг предлагает операционная система конечным пользователям, приложениям и администраторам сети, зависит ее позиция в общем ряду сетевых ОС. Помимо сетевых служб сетевая ОС включает программные коммуникационные (транспортные) средства, обеспечивающие совместно с аппаратными коммуникационными средствами передачу сообщений, которыми обмениваются клиентские и серверные части сетевых служб. Задачу коммуникации между компьютерами сети решают драйверы и протокольные модули. Они выполняют такие функции, как формирование сообщений, разбиение сообщения на части (пакеты, кадры), преобразование имен компьютеров в числовые адреса, дублирование сообщений в случае их потери, определение маршрута в сложной сети и т. д. И сетевые службы, и транспортные средства могут являться неотъемлемыми (встроенными) компонентами ОС или существовать в виде отдельных программных продуктов. Например, сетевая файловая служба обычно встраивается в ОС, а вот веб-браузер чаще всего является отдельным приложением. Типичная сетевая ОС имеет в своем составе широкий набор драйверов и протокольных модулей, однако у пользователя, как правило, есть возможность дополнить этот стандартный набор необходимыми ему программами. Решение о способе реализации клиентов и серверов сетевой службы, а также драйверов и протокольных модулей принимается разработчиками с учетом самых разных соображений: технических, коммерческих и даже юридических. Так, например, именно на основании антимонопольного закона США компании Microsoft было запрещено включать ее браузер Internet Explorer в состав ОС этой компании. Сетевая служба может быть представлена в ОС либо обеими (клиентской и серверной) частями, либо только одной из них. В первом случае операционная система, называемая одноранговой, не только позволяет обращаться к ресурсам других компьютеров, но и предоставляет собственные ресурсы в распоряжение пользователей других компьютеров. Например, если на всех компьютерах сети установлены и клиенты, и серверы файловой службы, то все пользователи сети могут совместно использовать файлы друг друга. Компьютеры, совмещающие функции клиента и сервера, называют одноранговыми узлами. Операционная система, которая содержит преимущественно клиентские части сетевых служб, называется клиентской. Клиентские ОС устанавливаются на компьютеры, обращающиеся с запросами к ресурсам других компьютеров сети. За такими компьютерами, также называемыми клиентскими, работают рядовые пользователи. Обычно клиентские компьютеры относятся к классу относительно простых устройств. К другому типу операционных систем относится серверная ОС – она ориентирована на обработку запросов из сети к ресурсам своего компьютера и включает в себя в основном серверные части сетевых служб. Компьютер с установленной на нем серверной ОС, занимающийся исключительно обслуживанием запросов других компьютеров, называют выделенным сервером сети. За выделенным сервером, как правило, обычные пользователи не работают. ПРИМЕЧАНИЕ Подробнее о сетевых операционных системах и встроенных в них сетевых службах вы можете прочитать в специальной литературе, а также в учебнике авторов «Сетевые операционные системы». Наиболее популярные сетевые службы Интернета, такие как электронная почта, веб-служба, IP- телефония и др., рассматриваются далее в части VII этой книги. Сетевые приложения На компьютере, подключенном к сети, могут запускаться приложения нескольких типов: □ Локальное приложение целиком выполняется на данном компьютере и использует только локальные ресурсы (рис. 2.6, а). Для такого приложения не требуется никаких сетевых средств, оно может быть выполнено на автономно работающем компьютере. Рис. 2.6. Типы приложений, выполняющихся в сети Централизованное сетевое приложение целиком выполняется на данном компьютере, но обращается в процессе своей работы к ресурсам других компьютеров сети. В примере на рис. 2.6, б приложение, которое выполняется на клиентском компьютере, обрабатывает данные из файла, хранящегося на файл-сервере, а затем распечатывает результаты на принтере, подключенном к серверу печати. Очевидно, что работа такого типа приложений невозможна без участия сетевых служб и средств транспортировки сообщений. Распределенное (сетевое) приложение состоит из нескольких взаимодействующих частей, каждая из которых выполняет какую-то определенную законченную работу по решению прикладной задачи, причем каждая часть может выполняться и, как правило, выполняется на отдельном компьютере сети (рис. 2.6, в). Части распределенного приложения взаимодействуют друг с другом, используя сетевые службы и транспортные средства ОС. Распределенное приложение в общем случае имеет доступ ко всем ресурсам компьютерной сети. Очевидным преимуществом распределенных приложений является возможность распараллеливания вычислений, а также специализация компьютеров. Так, в приложении, предназначенном, скажем, для анализа климатических изменений, можно выделить три достаточно самостоятельные части (см. рис. 2.6, в), допускающие распараллеливание. Первая часть приложения, выполняющаяся на сравнительно маломощном персональном компьютере, могла бы поддерживать специализированный графический пользовательский интерфейс, вторая – заниматься статистической обработкой данных на высокопроизводительном мейнфрейме, третья – генерировать отчеты на сервере с установленной стандартной СУБД. В общем случае каждая из частей распределенного приложения может быть представлена несколькими копиями, работающими на разных компьютерах. Скажем, в данном примере первую часть, ответственную за поддержку специализированного пользовательского интерфейса. можно было бы запустить на нескольких персональных компьютерах, что позволило бы работать с этим приложением нескольким пользователям одновременно. Однако чтобы добиться всех тех преимуществ, которые сулят распределенные приложения, разработчикам этих приложений приходится решать множество проблем, например: на сколько частей следует разбить приложение, какие функции возложить на каждую часть, как организовать взаимодействие этих частей, чтобы в случае сбоев и отказов оставшиеся части корректно завершали работу, и т. д. и т. п. Заметим, что все сетевые службы, включая файловую службу, службу печати, службу электронной почты, службу удаленного доступа, интернет-телефонию и др., по определению относятся к классу распределенных приложений. Действительно, любая сетевая служба включает в себя клиентскую и серверную части, которые могут выполняться и обычно выполняются на разных компьютерах. На рис. 2.7, иллюстрирующем распределенный характер веб-службы, мы видим различные виды клиентских устройств – персональные компьютеры, ноутбуки и мобильные телефоны – с установленными на них веб-браузерами, которые взаимодействуют по сети с веб-сервером. Таким образом, с одним и тем же веб-сайтом может одновременно работать множество – сотни и тысячи – сетевых пользователей. Многочисленные примеры распределенных приложений можно встретить и в такой области, как обработка данных научных экспериментов. Это не удивительно, так как многие эксперименты порождают такие большие объемы данных, генерируемых в реальном масштабе времени, которые просто невозможно обработать на одном, даже очень мощном Рис. 2.7. Веб-служба как распределенное приложение суперкомпьютере. Кроме того, алгоритмы обработки экспериментальных данных часто легко распараллеливаются, что также важно для успешного применения взаимосвязанных компьютеров с целью решения какой-либо общей задачи. Одним из известных примеров распределенного научного приложения является программное обеспечение обработки данных большого адронного коллайдера (Large Hadron Collider, LHC), запущенного 10 сентября 2008 года в CERN, -- это приложение работает более чем на 30 тысячах компьютеров, объединенных в сеть. Физическая передача данных по линиям связи Даже при рассмотрении простейшей сети, состоящей всего из двух машин, можно выявить многие проблемы, связанные с физической передачей сигналов по линиям связи. Кодирование В вычислительной технике для представления данных используется двоичный код. Внутри компьютера единицам и нулям данных соответствуют дискретные электрические сигналы. Представление данных в виде электрических или оптических сигналов называется кодированием. Существуют различные способы кодирования двоичных цифр, например, потенциальный способ, при котором единице соответствует один уровень напряжения, а нулю – другой, или импульсный способ, когда для представления цифр используются импульсы различной полярности. Аналогичные подходы применимы для кодирования данных и при передаче их между двумя компьютерами по линиям связи. Однако эти линии связи отличаются по своим характеристикам от линий внутри компьютера. Главное отличие внешних линий связи от внутренних состоит в их гораздо большей протяженности, а также в том, что они проходят вне экранированного корпуса по пространствам, зачастую подверженным воздействию сильных электромагнитных помех. Все это приводит к существенно большим искажениям прямоугольных импульсов (например, «заваливанию» фронтов), чем внутри компьютера. Поэтому для надежного распознавания импульсов на приемном конце линии связи при передаче данных внутри и вне компьютера не всегда можно использовать одни и те же скорости и способы кодирования. Например, медленное нарастание фронта импульса из- за высокой емкостной нагрузки линии требует, чтобы импульсы передавались с меньшей скоростью (чтобы передний и задний фронты соседних импульсов не перекрывались, и импульс успел «дорасти» до требуемого уровня). В вычислительных сетях применяют как потенциальное, так и импульсное кодирование дискретных данных, а также специфический способ представления данных, который никогда не используется внутри компьютера, – модуляцию (рис. 2.8). При модуляции дискретная информация представляется синусоидальным сигналом той частоты, которую хорошо передает имеющаяся линия связи. Рис. 2.8. Примеры представления дискретной информации Потенциальное и импульсное кодирование применяется на каналах высокого качества, а модуляция на основе синусоидальных сигналов предпочтительнее в том случае, когда канал вносит сильные искажения в передаваемые сигналы. Например, модуляция используется в глобальных сетях при передаче данных через аналоговые телефонные каналы связи, которые были разработаны для передачи голоса в аналоговой форме и поэтому плохо подходят для непосредственной передачи импульсов. На способ передачи сигналов влияет и количество проводов в линиях связи между компьютерами. Для снижения стоимости линий связи в сетях обычно стремятся к сокращению количества проводов и из-за этого передают все биты одного байта или даже нескольких байтов не параллельно, как это делается внутри компьютера, а последовательно (побитно), для чего достаточно всего одной пары проводов. Еще одной проблемой, которую нужно решать при передаче сигналов, является проблема взаимной синхронизации передатчика одного компьютера с приемником другого. При организации взаимодействия модулей внутри компьютера эта проблема решается очень просто, так как в этом случае все модули синхронизируются от общего тактового генератора. Проблема синхронизации при связи компьютеров может решаться разными способами – как путем обмена специальными тактовыми синхроимпульсами по отдельной линии, так и путем периодической синхронизации заранее обусловленными кодами или импульсами характерной формы, отличающейся от формы импульсов данных. Несмотря на предпринимаемые меры (выбор соответствующей скорости обмена данными, линий связи с определенными характеристиками, способа синхронизации приемника и передатчика), вероятность искажения некоторых битов передаваемых данных сохраняется. Для повышения надежности передачи данных между компьютерами, как правило, используется стандартный прием – подсчет контрольной суммы и передача полученного значения по линиям связи после каждого байта или после некоторого блока байтов. Часто в протокол обмена данными включается как обязательный элемент сигнал-квитанция, который подтверждает правильность приема данных и посылается от получателя отправителю. Характеристики физических каналов Существует большое количество характеристик, связанных с передачей трафика через физические каналы. С теми из них, которые будут необходимы нам уже в ближайшее время, мы коротко познакомимся сейчас, а позже изучим их и некоторые другие сетевые характеристики более детально. Предложенная нагрузка – это поток данных, поступающий от приложения пользователя на вход сети, которая всегда готова принять данные. Предложенную нагрузку можно характеризовать скоростью генерации данных в битах в секунду. Эта характеристика описывает интенсивность работы источника информации и абстрагируется от свойств физических каналов. Пропускная способностьII,называемая также емкостью канала связи (capacity), представляет собой максимально возможную скорость передачи информации по данному каналу. Данная характеристика никак не связана с предложенной нагрузкой. Она отражает скоростные возможности сети, определяемые параметрами физической среды передачи, а также особенностями выбранного способа передачи дискретной информации в этой среде. Например, пропускная способность канала связи в сети Ethernet на оптическом волокне равна 10 Мбит/с. Эта скорость является предельно возможной для сочетания технологии Ethernet и оптического волокна. Однако для того же самого оптического волокна можно разработать другую технологию передачи, отличающуюся способом кодирования данных, тактовой частотой и другими параметрами, которая будет иметь другую пропускную способность. Так, технология Fast Ethernet обеспечивает передачу данных по тому же оптическому волокну с максимальной скоростью 100 Мбит/с, а технология Gigabit Ethernet – 1000 Мбит/с. Для анализа и настройки сети очень полезно знать данные о пропускной способности отдельных элементов сети. Из-за последовательного характера передачи данных различными элементами сети общая пропускная способность любого составного пути в сети будет равна минимальной из пропускных способностей составляющих элементов маршрута. Для повышения пропускной способности составного пути необходимо в первую очередь обратить внимание на самые медленные элементы, называемые |