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

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
СМОЛЕНСКИЙ КООЛЕДЖ ТЕЛЕКОМУНИКАЦИЙ (филиал) ФЕДЕРАЛЬНОГО ГОСУДАРСТВЕННОГО
ОБРАЗОВАТЕЛЬНОГО БЮДЖЕТНОГО УЧЕРЕЖДЕНИЯ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ТЕЛЕКОМУНИКАЦИЙ им. проф.М.A. Бонч-Бруевича»
РАССМОТРЕНО
На заседании цикловой комиссии
программно вычислительных
дисциплин
«__»_____20__г
Председатель _________Мохнач О.А.
КОНТРОЛЬНАЯ РАБОТА №3
по МДК 02.01: «Инфокоммуникационные системы и сети»
в составе
ПМ 02 Разработка и администрирование баз данных
для студентов заочного отделения специальности 230115 «Программирование в компьютерных сетях»
Смоленск 2013
Курс представляет собой введение в инфокоммуникационные системы и сети и дает базовые и практические знания. В лекциях даны общие понятия инфокоммуникационных систем, их структур в простой и доступной форме. Здесь приведены виды инфокоммуникационных систем.
Рассматриваются наиболее популярные инфокоммуникационные системы и сети. Приводятся основные понятия из области инфокоммуникационных системй.
Для подготовки курса проработан большой объем информации, расположенной на информационно-поисковых серверах Internet, и использовалась литература, приведенная в списке.
ОБЗОРНАЯ ЛЕКЦИЯ №1
Немного истории компьютерной связи
Связь на небольшие расстояния в компьютерной технике существовала еще задолго до появления первых персональных компьютеров.
К большим компьютерам (mainframes), присоединялись многочисленные терминалы (или "интеллектуальные дисплеи"). Правда, интеллекта в этих терминалах было очень мало, практически никакой обработки информации они не делали, и основная цель организации связи состояла в том, чтобы разделить интеллект ("машинное время") большого мощного и дорогого компьютера между пользователями, работающими за этими терминалами. Это называлось режимом разделения времени, так как большой компьютер последовательно во времени решал задачи множества пользователей. В данном случае достигалось совместное использование самых дорогих в то время ресурсов - вычислительных (рис. 1.1).
Рис. 1.1. Подключение терминалов к центральному компьютеру
Затем были созданы микропроцессоры и первые микрокомпьютеры. Появилась возможность разместить компьютер на столе у каждого пользователя, так как вычислительные, интеллектуальные ресурсы подешевели. Но зато все остальные ресурсы оставались еще довольно дорогими. А что значит голый интеллект без средств хранения информации и ее документирования? Не будешь же каждый раз после включения питания заново набирать выполняемую программу или хранить ее в маловместительной постоянной памяти. На помощь снова пришли средства связи. Объединив несколько микрокомпьютеров, можно было организовать совместное использование ими компьютерной периферии (магнитных дисков, магнитной ленты, принтеров). При этом вся обработка информации проводилась на месте, но ее результаты передавались на централизованные ресурсы. Здесь опять же совместно использовалось самое дорогое, что есть в системе, но уже совершенно по-новому. Такой режим получил названиережима обратного разделения времени (рис. 1.2). Как и в первом случае, средства связи снижали стоимость компьютерной системы в целом.
Рис. 1.2. Объединение в сеть первых микрокомпьютеров
Затем появились персональные компьютеры, которые отличались от первых микрокомпьютеров тем, что имели полный комплект достаточно развитой для полностью автономной работы периферии: магнитные диски, принтеры, не говоря уже о более совершенных средствах интерфейса пользователя (мониторы, клавиатуры, мыши и т.д.). Периферия подешевела и стала по цене вполне сравнимой с компьютером. Казалось бы, зачем теперь соединять персональные компьютеры (рис. 1.3)? Что им разделять, когда и так уже все разделено и находится на столе у каждого пользователя? Интеллекта на месте хватает, периферии тоже. Что же может дать сеть в этом случае?
Рис. 1.3. Объединение в сеть персональных компьютеров
Самое главное это опять же совместное использование ресурса. То самое обратное разделение времени, но уже на принципиально другом уровне. Здесь уже оно применяется не для снижения стоимости системы, а с целью более эффективного использования ресурсов, имеющихся в распоряжении компьютеров. Например, сеть позволяет объединить объем дисков всех компьютеров, обеспечив доступ каждого из них к дискам всех остальных как к собственным.
Но нагляднее всего преимущества сети проявляются в том случае, когда все пользователи активно работают с единой базой данных, запрашивая информацию из нее и занося в нее новую (например, в банке, в магазине, на складе). Никакими дискетами тут уже не обойдешься: пришлось бы целыми днями переносить данные с каждого компьютера на все остальные, содержать целый штат курьеров. А с сетью все очень просто: любые изменения данных, произведенные с любого компьютера, тут же становятся видными и доступными всем. В этом случае особой обработки на месте обычно не требуется, и в принципе можно было бы обойтись более дешевыми терминалами (вернуться к первой рассмотренной ситуации), но персональные компьютеры имеют несравнимо более удобный интерфейс пользователя, облегчающий работу персонала. К тому же возможность сложной обработки информации на месте часто может заметно уменьшить объем передаваемых данных.
Рис. 1.4. Использование локальной сети для организации совместной работы компьютеров Без сети также невозможно обойтись в том случае, когда необходимо обеспечить согласованную работу нескольких компьютеров. Эта ситуация чаще всего встречается, когда эти компьютеры используются не для вычислений и работы с базами данных, а в задачах управления, измерения, контроля, там, где компьютер сопрягается с теми или иными внешними устройствами (рис. 1.4). |
Примерами могут служить различные производственные технологические системы, а также системы управления научными установками и комплексами. Здесь сеть позволяет синхронизировать действия компьютеров, распараллелить и соответственно ускорить процесс обработки данных, то есть сложить уже не только периферийные ресурсы, но и интеллектуальную мощь.
Именно указанные преимущества локальных сетей и обеспечивают их популярность и все более широкое применение, несмотря на все неудобства, связанные с их установкой и эксплуатацией.
Определение локальной сети
Способов и средств обмена информацией за последнее время предложено множество: от простейшего переноса файлов с помощью дискеты до всемирной компьютерной сети Интернет, способной объединить все компьютеры мира. Какое же место в этой иерархии отводится локальным сетям?
Чаще всего термин " локальные сети " или "локальные вычислительные сети" (LAN, Local Area Network) понимают буквально, то есть это такие сети, которые имеют небольшие, локальные размеры, соединяют близко расположенные компьютеры. Однако достаточно посмотреть на характеристики некоторых современных локальных сетей, чтобы понять, что такое определение не точно. Например, некоторые локальные сети легко обеспечивают связь на расстоянии нескольких десятков километров. Это уже размеры не комнаты, не здания, не близко расположенных зданий, а, может быть, даже целого города. С другой стороны, по глобальной сети (WAN, Wide Area Network или GAN, Global Area Network) вполне могут связываться компьютеры, находящиеся на соседних столах в одной комнате, но ее почему-то никто не называет локальной сетью. Близко расположенные компьютеры могут также связываться с помощью кабеля, соединяющего разъемы внешних интерфейсов (RS232-C, Centronics) или даже без кабеля по инфракрасному каналу (IrDA). Но такая связь тоже почему-то не называется локальной.
Неверно и довольно часто встречающееся определение локальной сети как малой сети, которая объединяет небольшое количество компьютеров. Действительно, как правило, локальная сеть связывает от двух до нескольких десятков компьютеров. Но предельные возможности современных локальных сетей гораздо выше: максимальное число абонентов может достигать тысячи. Называть такую сеть малой неправильно.
Некоторые авторы определяют локальную сеть как "систему для непосредственного соединения многих компьютеров". При этом подразумевается, что информация передается от компьютера к компьютеру без каких-либо посредников и по единой среде передачи. Однако говорить о единой среде передачи в современной локальной сети не приходится. Например, в пределах одной сети могут использоваться как электрические кабели различных типов (витая пара, коаксиальный кабель), так и оптоволоконные кабели. Определение передачи "без посредников" также не корректно, ведь в современных локальных сетях используютсярепитеры, трансиверы, концентраторы, коммутаторы, маршрутизаторы, мосты, которые порой производят довольно сложную обработку передаваемой информации. Не совсем понятно, можно ли считать их посредниками или нет, можно ли считать подобную сеть локальной.
Наверное, наиболее точно было бы определить как локальную такую сеть, которая позволяет пользователям не замечать связи. Еще можно сказать, что локальная сеть должна обеспечивать прозрачную связь. По сути, компьютеры, связанные локальной сетью, объединяются в один виртуальный компьютер, ресурсы которого могут быть доступны всем пользователям, причем этот доступ не менее удобен, чем к ресурсам, входящим непосредственно в каждый отдельный компьютер. Под удобством в данном случае понимается высокая реальная скорость доступа, скорость обмена информацией между приложениями, практически незаметная для пользователя. При таком определении становится понятно, что ни медленные глобальные сети, ни медленная связь через последовательный или параллельный порты не попадают под понятие локальной сети.
Из данного определения следует, что скорость передачи по локальной сети обязательно должна расти по мере роста быстродействия наиболее распространенных компьютеров. Именно это и наблюдается: если еще десять лет назад вполне приемлемой считалась скорость обмена в 10 Мбит/с, то сейчас уже среднескоростной считается сеть, имеющая пропускную способность 100 Мбит/с, активно разрабатываются, а кое-где используются средства для скорости 1000 Мбит/с и даже больше. Без этого уже нельзя, иначе связь станет слишком узким местом, будет чрезмерно замедлять работу объединенного сетью виртуального компьютера, снижать удобство доступа к сетевым ресурсам.
Таким образом, главное отличие локальной сети от любой другой высокая скорость передачи информации по сети. Но это еще не все, не менее важны и другие факторы.
В частности, принципиально необходим низкий уровень ошибок передачи, вызванных как внутренними, так и внешними факторами. Ведь даже очень быстро переданная информация, которая искажена ошибками, просто не имеет смысла, ее придется передавать еще раз. Поэтому локальные сети обязательно используют специально прокладываемые высококачественные и хорошо защищенные от помех линии связи.
Особое значение имеет и такая характеристика сети, как возможность работы с большими нагрузками, то есть с высокой интенсивностью обмена (или, как еще говорят, с большим трафиком). Ведь если механизм управления обменом, используемый в сети, не слишком эффективен, то компьютеры могут подолгу ждать своей очереди на передачу. И даже если эта передача будет производиться затем на высочайшей скорости и безошибочно, для пользователя сети такая задержка доступа ко всем сетевым ресурсам неприемлема. Ему ведь не важно, почему приходится ждать.
Механизм управления обменом может гарантированно успешно работать только в том случае, когда заранее известно, сколько компьютеров (или, как еще говорят, абонентов, узлов) допустимо подключить к сети. Иначе всегда можно включить столькоабонентов, что вследствие перегрузки забуксует любой механизм управления. Наконец, сетью можно назвать только такую систему передачи данных, которая позволяет объединять до нескольких десятков компьютеров, но никак не два, как в случае связи через стандартные порты.
Таким образом, сформулировать отличительные признаки локальной сети можно следующим образом:
При таком определении понятно, что глобальные сети отличаются от локальных прежде всего тем, что они рассчитаны на неограниченное число абонентов. Кроме того, они используют (или могут использовать) не слишком качественные каналы связи и сравнительно низкую скорость передачи. А механизм управления обменом в них не может быть гарантированно быстрым. В глобальных сетях гораздо важнее не качество связи, а сам факт ее существования.
Нередко выделяют еще один класс компьютерных сетей городские, региональные сети (MAN, Metropolitan Area Network), которые обычно по своим характеристикам ближе к глобальным сетям, хотя иногда все-таки имеют некоторые черты локальных сетей, например, высококачественные каналы связи и сравнительно высокие скорости передачи. В принципе городская сеть может быть локальной со всеми ее преимуществами.
Правда, сейчас уже нельзя провести четкую границу между локальными и глобальными сетями. Большинство локальных сетейимеет выход в глобальную. Но характер передаваемой информации, принципы организации обмена, режимы доступа к ресурсам внутри локальной сети, как правило, сильно отличаются от тех, что приняты в глобальной сети. И хотя все компьютерылокальной сети в данном случае включены также и в глобальную сеть, специфики локальной сети это не отменяет. Возможность выхода в глобальную сеть остается всего лишь одним из ресурсов, разделяемых пользователями локальной сети.
По локальной сети может передаваться самая разная цифровая информация: данные, изображения, телефонные разговоры, электронные письма и т.д. Кстати, именно задача передачи изображений, особенно полноцветных динамических, предъявляет самые высокие требования к быстродействию сети. Чаще всего локальные сети используются для разделения (совместного использования) таких ресурсов, как дисковое пространство, принтеры и выход в глобальную сеть, но это всего лишь незначительная часть тех возможностей, которые предоставляют средства локальных сетей. Например, они позволяют осуществлять обмен информацией между компьютерами разных типов. Полноценными абонентами (узлами) сети могут быть не только компьютеры, но и другие устройства, например, принтеры, плоттеры, сканеры. Локальные сети дают также возможность организовать систему параллельных вычислений на всех компьютерах сети, что многократно ускоряет решение сложных математических задач. С их помощью, как уже упоминалось, можно управлять работой технологической системы или исследовательской установки с нескольких компьютеров одновременно.
Однако сети имеют и довольно существенные недостатки, о которых всегда следует помнить:
Ничто не дается даром. И надо хорошо подумать, стоит ли подключать к сети все компьютеры компании, или часть из них лучше оставить автономными. Возможно, что сеть вообще не нужна, так как породит гораздо больше проблем, чем позволит решить.
Здесь же следует упомянуть о таких важнейших понятиях теории сетей, как абонент, сервер, клиент.
Абонент (узел, хост, станция) это устройство, подключенное к сети и активно участвующее в информационном обмене. Чаще всего абонентом (узлом) сети является компьютер, но абонентом также может быть, например, сетевой принтер или другое периферийное устройство, имеющее возможность напрямую подключаться к сети. Далее в курсе вместо термина " абонент " для простоты будет использоваться термин "компьютер".
Сервером называется абонент (узел) сети, который предоставляет свои ресурсы другим абонентам, но сам не использует их ресурсы. Таким образом, он обслуживает сеть. Серверов в сети может быть несколько, и совсем не обязательно, что сервер самый мощный компьютер. Выделенный (dedicated) сервер это сервер, занимающийся только сетевыми задачами.Невыделенный сервер может помимо обслуживания сети выполнять и другие задачи. Специфический тип сервера это сетевой принтер.
Клиентом называется абонент сети, который только использует сетевые ресурсы, но сам свои ресурсы в сеть не отдает, то есть сеть его обслуживает, а он ей только пользуется. Компьютер-клиент также часто называют рабочей станцией . В принципе каждый компьютер может быть одновременно как клиентом, так и сервером.
Под сервером и клиентом часто понимают также не сами компьютеры, а работающие на них программные приложения. В этом случае то приложение, которое только отдает ресурс в сеть, является сервером, а то приложение, которое только пользуется сетевыми ресурсами клиентом.
Под топологией (компоновкой, конфигурацией, структурой) компьютерной сети обычно понимается физическое расположение компьютеров сети друг относительно друга и способ соединения их линиями связи . Важно отметить, что понятие топологииотносится, прежде всего, к локальным сетям, в которых структуру связей можно легко проследить. В глобальных сетях структура связей обычно скрыта от пользователей и не слишком важна, так как каждый сеанс связи может производиться по собственному пути.
Топология определяет требования к оборудованию, тип используемого кабеля, допустимые и наиболее удобные методы управления обменом, надежность работы, возможности расширения сети. И хотя выбирать топологию пользователю сети приходится нечасто, знать об особенностях основных топологий, их достоинствах и недостатках надо.
Существует три базовые топологии сети:
Рис. 1.5. Сетевая топология шина |
Рис. 1.6. Сетевая топология звезда
Рис. 1.7. Сетевая топология кольцо
На практике нередко используют и другие топологии локальных сетей, однако большинство сетей ориентировано именно на три базовые топологии.
Прежде чем перейти к анализу особенностей базовых сетевых топологий, необходимо выделить некоторые важнейшие факторы, влияющие на физическую работоспособность сети и непосредственно связанные с понятием топология.
Рис. 1.8. Затухание сигнала при распространении по сети
Топология шина
Топология шина (или, как ее еще называют, общая шина) самой своей структурой предполагает идентичность сетевого оборудования компьютеров, а также равноправие всех абонентов по доступу к сети. Компьютеры в шине могут передавать информацию только по очереди, так как линия связи в данном случае единственная. Если несколько компьютеров будут передавать информацию одновременно, она исказится в результате наложения ( конфликта, коллизии ). В шине всегда реализуется режим так называемого полудуплексного (half duplex) обмена (в обоих направлениях, но по очереди, а не одновременно).
В топологии шина отсутствует явно выраженный центральный абонент, через которого передается вся информация, это увеличивает ее надежность (ведь при отказе центра перестает функционировать вся управляемая им система). Добавление новыхабонентов в шину довольно просто и обычно возможно даже во время работы сети. В большинстве случаев при использовании шины требуется минимальное количество соединительного кабеля по сравнению с другими топологиями.
Поскольку центральный абонент отсутствует, разрешение возможных конфликтов в данном случае ложится на сетевое оборудование каждого отдельного абонента. В связи с этим сетевая аппаратура при топологии шина сложнее, чем при другихтопологиях. Тем не менее из-за широкого распространения сетей с топологией шина (прежде всего наиболее популярной сети Ethernet) стоимость сетевого оборудования не слишком высока.
Рис. 1.9. Обрыв кабеля в сети с топологией шина Важное преимущество шины состоит в том, что при отказе любого из компьютеров сети, исправные машины смогут нормально продолжать обмен. Казалось бы, при обрыве кабеля получаются две вполне работоспособные шины (рис. 1.9). |
Однако надо учитывать, что из-за особенностей распространения электрических сигналов по длинным линиям связи необходимо предусматривать включение на концах шины специальных согласующих устройств, терминаторов, показанных на рис. 1.5 и 1.9 в виде прямоугольников.
Без включения терминаторов сигнал отражается от конца линии и искажается так, что связь по сети становится невозможной. В случае разрыва или повреждения кабеля нарушается согласование линии связи, и прекращается обмен даже между теми компьютерами, которые остались соединенными между собой. Подробнее о согласовании будет изложено в специальном разделе курса. Короткое замыкание в любой точке кабеля шины выводит из строя всю сеть.
Отказ сетевого оборудования любого абонента в шине может вывести из строя всю сеть. К тому же такой отказ довольно трудно локализовать, поскольку все абоненты включены параллельно, и понять, какой из них вышел из строя, невозможно.
При прохождении по линии связи сети с топологией шина информационные сигналы ослабляются и никак не восстанавливаются, что накладывает жесткие ограничения на суммарную длину линий связи. Причем каждый абонент может получать из сети сигналы разного уровня в зависимости от расстояния до передающего абонента. Это предъявляет дополнительные требования к приемным узлам сетевого оборудования.
Если принять, что сигнал в кабеле сети ослабляется до предельно допустимого уровня на длине Lпр, то полная длина шины не может превышать величины Lпр. В этом смысле шина обеспечивает наименьшую длину по сравнению с другими базовымитопологиями.
Для увеличения длины сети с топологией шина часто используют несколько сегментов (частей сети, каждый из которых представляет собой шину), соединенных между собой с помощью специальных усилителей и восстановителей сигналов репитеров или повторителей (на рис. 1.10 показано соединение двух сегментов, предельная длина сети в этом случае возрастает до 2 Lпр, так как каждый из сегментов может быть длиной Lпр). Однако такое наращивание длины сети не может продолжаться бесконечно.
Ограничения на длину связаны с конечной скоростью распространения сигналов по линиям связи. Рис. 1.10. Соединение сегментов сети типа шина с помощью репитера |
Топология звезда
Звезда это единственная топология сети с явно выделенным центром, к которому подключаются все остальные абоненты.Обмен информацией идет исключительно через центральный компьютер, на который ложится большая нагрузка, поэтому ничем другим, кроме сети, он, как правило, заниматься не может. Понятно, что сетевое оборудование центрального абонента должно быть существенно более сложным, чем оборудование периферийных абонентов. О равноправии всех абонентов (как в шине) в данном случае говорить не приходится. Обычно центральный компьютер самый мощный, именно на него возлагаются все функции по управлению обменом. Никакие конфликты в сети с топологией звезда в принципе невозможны, так как управление полностью централизовано.
Если говорить об устойчивости звезды к отказам компьютеров, то выход из строя периферийного компьютера или его сетевого оборудования никак не отражается на функционировании оставшейся части сети, зато любой отказ центрального компьютера делает сеть полностью неработоспособной. В связи с этим должны приниматься специальные меры по повышению надежности центрального компьютера и его сетевой аппаратуры.
Обрыв кабеля или короткое замыкание в нем при топологии звезда нарушает обмен только с одним компьютером, а все остальные компьютеры могут нормально продолжать работу.
В отличие от шины, в звезде на каждой линии связи находятся только два абонента: центральный и один из периферийных. Чаще всего для их соединения используется две линии связи, каждая из которых передает информацию в одном направлении, то есть на каждой линии связи имеется только один приемник и один передатчик. Это так называемая передача точка-точка. Все это существенно упрощает сетевое оборудование по сравнению с шиной и избавляет от необходимости применения дополнительных, внешних терминаторов.
Проблема затухания сигналов в линии связи также решается в звезде проще, чем в случае шины, ведь каждый приемник всегда получает сигнал одного уровня. Предельная длина сети с топологией звезда может быть вдвое больше, чем в шине (то есть 2 Lпр), так как каждый из кабелей, соединяющий центр с периферийным абонентом, может иметь длину Lпр.
Серьезный недостаток топологии звезда состоит в жестком ограничении количества абонентов. Обычно центральный абонентможет обслуживать не более 816 периферийных абонентов. В этих пределах подключение новых абонентов довольно просто, но за ними оно просто невозможно. В звезде допустимо подключение вместо периферийного еще одного центрального абонента(в результате получается топология из нескольких соединенных между собой звезд).
Звезда, показанная на рис. 1.6, носит название активной или истинной звезды. Существует также топология, называемая пассивной звездой, которая только внешне похожа на звезду (рис. 1.11). В настоящее время она распространена гораздо более широко, чем активная звезда. Достаточно сказать, что она используется в наиболее популярной сегодня сети Ethernet.
В центре сети с данной топологией помещается не компьютер, а специальное устройство концентратор или, как его еще называют, хаб (hub), которое выполняет ту же функцию, что и репитер, то есть восстанавливает приходящие сигналы и пересылает их во все другие линии связи.
Рис. 1.11. Топология пассивная звезда и ее эквивалентная схема Получается, что хотя схема прокладки кабелей подобна истинной или активной звезде, фактически речь идет о шиннойтопологии, так как информация от каждого компьютера одновременно передается ко всем остальным компьютерам, а никакого центрального абонента не существует. |
Безусловно, пассивная звезда дороже обычной шины, так как в этом случае требуется еще и концентратор. Однако она предоставляет целый ряд дополнительных возможностей, связанных с преимуществами звезды, в частности, упрощает обслуживание и ремонт сети. Именно поэтому в последнее время пассивная звезда все больше вытесняет истинную звезду, которая считается малоперспективной топологией.
Можно выделить также промежуточный тип топологии между активной и пассивной звездой. В этом случае концентратор не только ретранслирует поступающие на него сигналы, но и производит управление обменом, однако сам в обмене не участвует (так сделано в сети 100VG-AnyLAN).
Большое достоинство звезды (как активной, так и пассивной) состоит в том, что все точки подключения собраны в одном месте. Это позволяет легко контролировать работу сети, локализовать неисправности путем простого отключения от центра тех или иных абонентов (что невозможно, например, в случае шинной топологии ), а также ограничивать доступ посторонних лиц к жизненно важным для сети точкам подключения. К периферийному абоненту в случае звезды может подходить как один кабель (по которому идет передача в обоих направлениях), так и два (каждый кабель передает в одном из двух встречных направлений), причем последнее встречается гораздо чаще.
Общим недостатком для всех топологий типа звезда (как активной, так и пассивной) является значительно больший, чем при других топологиях, расход кабеля. Например, если компьютеры расположены в одну линию (как на рис. 1.5), то при выборетопологии звезда понадобится в несколько раз больше кабеля, чем при топологии шина. Это существенно влияет на стоимость сети в целом и заметно усложняет прокладку кабеля.
Топология кольцо
Кольцо это топология, в которой каждый компьютер соединен линиями связи с двумя другими: от одного он получает информацию, а другому передает. На каждой линии связи, как и в случае звезды, работает только один передатчик и один приемник (связь типа точка-точка). Это позволяет отказаться от применения внешних терминаторов.
Важная особенность кольца состоит в том, что каждый компьютер ретранслирует (восстанавливает, усиливает) приходящий к нему сигнал, то есть выступает в роли репитера. Затухание сигнала во всем кольце не имеет никакого значения, важно только затухание между соседними компьютерами кольца. Если предельная длина кабеля, ограниченная затуханием, составляет Lпр, то суммарная длина кольца может достигать NLпр, где N количество компьютеров в кольце. Полный размер сети в пределе будет NLпр/2, так как кольцо придется сложить вдвое. На практике размеры кольцевых сетей достигают десятков километров (например, в сети FDDI). Кольцо в этом отношении существенно превосходит любые другие топологии.
Четко выделенного центра при кольцевой топологии нет, все компьютеры могут быть одинаковыми и равноправными. Однако довольно часто в кольце выделяется специальный абонент, который управляет обменом или контролирует его. Понятно, что наличие такого единственного управляющего абонента снижает надежность сети, так как выход его из строя сразу же парализует весь обмен.
Строго говоря, компьютеры в кольце не являются полностью равноправными (в отличие, например, от шинной топологии ). Ведь один из них обязательно получает информацию от компьютера, ведущего передачу в данный момент, раньше, а другие позже. Именно на этой особенности топологии и строятся методы управления обменом по сети, специально рассчитанные на кольцо. В таких методах право на следующую передачу (или, как еще говорят, на захват сети) переходит последовательно к следующему по кругу компьютеру. Подключение новых абонентов в кольцо выполняется достаточно просто, хотя и требует обязательной остановки работы всей сети на время подключения. Как и в случае шины, максимальное количество абонентов в кольце может быть довольно велико (до тысячи и больше). Кольцевая топология обычно обладает высокой устойчивостью к перегрузкам, обеспечивает уверенную работу с большими потоками передаваемой по сети информации, так как в ней, как правило, нет конфликтов (в отличие от шины), а также отсутствует центральный абонент (в отличие от звезды), который может быть перегружен большими потоками информации.
Рис. 1.12. Сеть с двумя кольцами Сигнал в кольце проходит последовательно через все компьютеры сети, поэтому выход из строя хотя бы одного из них (или же его сетевого оборудования) нарушает работу сети в целом. Это существенный недостаток кольца. |
Точно так же обрыв или короткое замыкание в любом из кабелей кольца делает работу всей сети невозможной. Из трех рассмотренных топологий кольцо наиболее уязвимо к повреждениям кабеля, поэтому в случае топологии кольца обычно предусматривают прокладку двух (или более) параллельных линий связи, одна из которых находится в резерве.
Иногда сеть с топологией кольцо выполняется на основе двух параллельных кольцевых линий связи, передающих информацию в противоположных направлениях (рис. 1.12). Цель подобного решения увеличение (в идеале вдвое) скорости передачи информации по сети. К тому же при повреждении одного из кабелей сеть может работать с другим кабелем (правда, предельная скорость уменьшится).
Другие топологии
Кроме трех рассмотренных базовых топологий нередко применяется также сетевая топология дерево (tree), которую можно рассматривать как комбинацию нескольких звезд. Причем, как и в случае звезды, дерево может быть активным или истинным (рис. 1.13) и пассивным (рис. 1.14). При активном дереве в центрах объединения нескольких линий связи находятся центральные компьютеры, а при пассивном концентраторы (хабы).
Рис. 1.13. Топология активное дерево |
Рис. 1.14. Топология пассивное дерево. К концентраторы |
Довольно часто применяются комбинированные топологии, среди которых наиболее распространены звездно-шинная (рис. 1.15) и звездно-кольцевая (рис. 1.16).
Рис. 1.15. Пример звездно-шинной топологии |
Рис. 1.16. Пример звездно-кольцевой топологии |
В звездно-шинной (star-bus) топологии используется комбинация шины и пассивной звезды. К концентратору подключаются как отдельные компьютеры, так и целые шинные сегменты. На самом деле реализуется физическая топология шина, включающая все компьютеры сети. В данной топологии может использоваться и несколько концентраторов, соединенных между собой и образующих так называемую магистральную, опорную шину. К каждому из концентраторов при этом подключаются отдельные компьютеры или шинные сегменты. В результате получается звездно-шинное дерево. Таким образом, пользователь может гибко комбинировать преимущества шинной и звездной топологий, а также легко изменять количество компьютеров, подключенных к сети. С точки зрения распространения информации данная топология равноценна классической шине.
В случае звездно-кольцевой (star-ring) топологии в кольцо объединяются не сами компьютеры, а специальные концентраторы (изображенные на рис. 1.16 в виде прямоугольников), к которым в свою очередь подключаются компьютеры с помощью звездообразных двойных линий связи. В действительности все компьютеры сети включаются в замкнутое кольцо, так как внутри концентраторов линии связи образуют замкнутый контур (как показано на рис. 1.16). Данная топология дает возможность комбинировать преимущества звездной и кольцевой топологий. Например, концентраторы позволяют собрать в одно место все точки подключения кабелей сети. Если говорить о распространении информации, данная топология равноценна классическому кольцу.
В заключение надо также сказать о сеточной топологии (mesh), при которой компьютеры связываются между собой не одной, а многими линиями связи, образующими сетку (рис. 1.17).
Рис. 1.17. Сеточная топология: полная (а) и частичная (б)
В полной сеточной топологии каждый компьютер напрямую связан со всеми остальными компьютерами. В этом случае при увеличении числа компьютеров резко возрастает количество линий связи. Кроме того, любое изменение в конфигурации сети требует внесения изменений в сетевую аппаратуру всех компьютеров, поэтому полная сеточная топология не получила широкого распространения.
Частичная сеточная топология предполагает прямые связи только для самых активных компьютеров, передающих максимальные объемы информации. Остальные компьютеры соединяются через промежуточные узлы. Сеточная топология позволяет выбирать маршрут для доставки информации от абонента к абоненту, обходя неисправные участки. С одной стороны, это увеличивает надежность сети, с другой же требует существенного усложнения сетевой аппаратуры, которая должна выбирать маршрут.
Многозначность понятия топологии
Топология сети указывает не только на физическое расположение компьютеров, как часто считают, но, что гораздо важнее, на характер связей между ними, особенности распространения информации, сигналов по сети. Именно характер связей определяет степень отказоустойчивости сети, требуемую сложность сетевой аппаратуры, наиболее подходящий метод управления обменом, возможные типы сред передачи (каналов связи), допустимый размер сети (длина линий связи и количество абонентов ) необходимость электрического согласования и многое другое.
Более того, физическое расположение компьютеров, соединяемых сетью, почти не влияет на выбор топологии. Как бы ни были расположены компьютеры, их можно соединить с помощью любой заранее выбранной топологии (рис. 1.18).
Рис. 1.18. Примеры использования разных топологий
В том случае, если соединяемые компьютеры расположены по контуру круга, они могут соединяться, как звезда или шина. Когда компьютеры расположены вокруг некоего центра, их допустимо соединить с помощью топологий шина или кольцо.
Наконец, когда компьютеры расположены в одну линию, они могут соединяться звездой или кольцом. Другое дело, какова будет требуемая длина кабеля.
Строго говоря, в литературе при упоминании о топологии сети, авторы могут подразумевать четыре совершенно разные понятия, относящиеся к различным уровням сетевой архитектуры:
Например, сеть с физической и логической топологией шина может в качестве метода управления использовать эстафетную передачу права захвата сети (быть в этом смысле кольцом) и одновременно передавать всю информацию через выделенный компьютер (быть в этом смысле звездой). Или сеть с логической топологией шина может иметь физическую топологию звезда (пассивная) или дерево (пассивное).
Сеть с любой физической топологией, логической топологией, топологией управления обменом может считаться звездой в смысле информационной топологии, если она построена на основе одного сервера и нескольких клиентов, общающихся только с этим сервером. В данном случае справедливы все рассуждения о низкой отказоустойчивости сети к неполадкам центра ( сервера). Точно так же любая сеть может быть названа шиной в информационном смысле, если она построена из компьютеров, являющихся одновременно как серверами, так и клиентами. Такая сеть будет мало чувствительна к отказам отдельных компьютеров.
Заканчивая обзор особенностей топологий локальных сетей, необходимо отметить, что топология все-таки не является основным фактором при выборе типа сети. Гораздо важнее, например, уровень стандартизации сети, скорость обмена, количествоабонентов, стоимость оборудования, выбранное программное обеспечение. Но, с другой стороны, некоторые сети позволяют использовать разные топологии на разных уровнях. Этот выбор уже целиком ложится на пользователя, который должен учитывать все перечисленные в данном разделе соображения.
ОБЗОРНАЯ ЛЕКЦИЯ №2
Витые пары проводов используются в дешевых и сегодня, пожалуй, самых популярных кабелях. Кабель на основе витых парпредставляет собой несколько пар скрученных попарно изолированных медных проводов в единой диэлектрической (пластиковой) оболочке. Он довольно гибкий и удобный для прокладки. Скручивание проводов позволяет свести к минимуму индуктивные наводки кабелей друг на друга и снизить влияние переходных процессов.
Обычно в кабель входит две (рис. 2.1) или четыре витые пары.
Рис. 2.1. Кабель с витыми парами
Неэкранированные витые пары характеризуются слабой защищенностью от внешних электромагнитных помех, а также от подслушивания, которое может осуществляться с целью, например, промышленного шпионажа. Причем перехват передаваемой по сети информации возможен как с помощью контактного метода (например, посредством двух иголок, воткнутых в кабель), так и с помощью бесконтактного метода, сводящегося к радиоперехвату излучаемых кабелем электромагнитных полей. Причем действие помех и величина излучения во вне увеличивается с ростом длины кабеля. Для устранения этих недостатков применяется экранирование кабелей.
В случае экранированной витой пары STP каждая из витых пар помещается в металлическую оплетку-экран для уменьшения излучений кабеля, защиты от внешних электромагнитных помех и снижения взаимного влияния пар проводов друг на друга (crosstalk перекрестные наводки). Для того чтобы экран защищал от помех, он должен быть обязательно заземлен. Естественно, экранированная витая пара заметно дороже, чем неэкранированная. Ее использование требует специальных экранированных разъемов. Поэтому встречается она значительно реже, чем неэкранированная витая пара.
Основные достоинства неэкранированных витых пар простота монтажа разъемов на концах кабеля, а также ремонта любых повреждений по сравнению с другими типами кабеля. Все остальные характеристики у них хуже, чем у других кабелей. Например, при заданной скорости передачи затухание сигнала (уменьшение его уровня по мере прохождения по кабелю) у них больше, чем у коаксиальных кабелей. Если учесть еще низкую помехозащищенность, то понятно, почему линии связи на основе витых пар, как правило, довольно короткие (обычно в пределах 100 метров). В настоящее время витая пара используется для передачи информации на скоростях до 1000 Мбит/с, хотя технические проблемы, возникающие при таких скоростях, крайне сложны.
Согласно стандарту EIA/TIA 568, существуют пять основных и две дополнительные категории кабелей на основе неэкранированной витой пары (UTP):
Согласно стандарту EIA/TIA 568, полное волновое сопротивление наиболее совершенных кабелей категорий 3, 4 и 5 должно составлять 100 Ом + 15% в частотном диапазоне от 1 МГц до максимальной частоты кабеля. Требования не очень жесткие: величина волнового сопротивления может находиться в диапазоне от 85 до 115 Ом. Здесь же следует отметить, что волновое сопротивление экранированной витой пары STP по стандарту должно быть равным 150 Ом + 15%. Для согласования сопротивлений кабеля и оборудования в случае их несовпадения применяют согласующие трансформаторы (Balun). Существует также экранированная витая пара с волновым сопротивлением 100 Ом, но используется она довольно редко.
Второй важнейший параметр, задаваемый стандартом, это максимальное затухание сигнала, передаваемого по кабелю, на разных частотах. В таблице 2.1 приведены предельные значения величины затухания в децибелах для кабелей категорий 3, 4 и 5 нарасстояние 1000 футов (то есть 305 метров) при нормальной температуре окружающей среды 20°С.
Таблица 2.1. Максимальное затухание в кабелях
Частота, МГц |
Максимальное затухание, дБ |
||
Категория 3 |
Категория 4 |
Категория 5 |
|
0,064 |
2,8 |
2,3 |
2,2 |
0,256 |
4,0 |
3,4 |
3,2 |
0,512 |
5,6 |
4,6 |
4,5 |
0,772 |
6,8 |
5,7 |
5,5 |
1,0 |
7,8 |
6,5 |
6,3 |
4,0 |
17 |
13 |
13 |
8,0 |
26 |
19 |
18 |
10,0 |
30 |
22 |
20 |
16,0 |
40 |
27 |
25 |
20,0 |
|
31 |
28 |
25,0 |
|
|
32 |
31,25 |
|
|
36 |
62,5 |
|
|
52 |
100 |
|
|
67 |
Из таблицы видно, что величины затухания на частотах, близких к предельным, для всех кабелей очень значительны. Даже на небольших расстояниях сигнал ослабляется в десятки и сотни раз, что предъявляет высокие требования к приемникам сигнала.
Еще один специфический параметр, определяемый стандартом - это величина так называемой перекрестной наводки на ближнем конце (NEXT Near End CrossTalk). Он характеризует влияние разных проводов в кабеле друг на друга. Суть данного параметра иллюстрируется на рис. 2.2. Сигнал, передаваемый по одной из витых пар кабеля (верхняя пара), наводит индуктивную помеху на другую (нижнюю) витую пару кабеля. Две витые пары в сети обычно передают информацию в разные стороны, поэтому наиболее важна наводка на ближнем конце воспринимающей пары (нижней на рисунке), так как именно там находится приемник информации. Перекрестная наводка на дальнем конце (FEXT Far End CrossTalk) не имеет такого большого значения.
Таблица 2.2. Допустимые уровни перекрестных наводок NEXT
Частота, МГц |
Перекрестная наводка на ближнем конце, дБ |
||
Категория 3 |
Категория 4 |
Категория 5 |
|
0,150 |
- 54 |
-68 |
-74 |
0,772 |
-43 |
-58 |
-64 |
1,0 |
-41 |
-56 |
-62 |
4,0 |
-32 |
-47 |
-53 |
8,0 |
-28 |
-42 |
-48 |
10,0 |
-26 |
-41 |
-47 |
16,0 |
-23 |
-38 |
-44 |
20,0 |
|
-36 |
-42 |
25,0 |
|
|
-41 |
31,25 |
|
|
-40 |
62,5 |
|
|
-35 |
100,0 |
|
|
-32 |
В таблице 2.2 представлены значения допустимой перекрестной наводки на ближнем конце для кабелей категорий 3, 4 и 5 на различных частотах сигнала. Естественно, более качественные кабели обеспечивают меньшую величину перекрестной наводки.
Рис. 2.2. Перекрестные помехи в кабелях на витых парах
Стандарт определяет также максимально допустимую величину рабочей емкости каждой из витых пар кабелей категории 4 и 5. Она должна составлять не более 17 нФ на 305 метров (1000 футов) при частоте сигнала 1 кГц и температуре окружающей среды 20°С.
Для присоединения витых пар используются разъемы (коннекторы) типа RJ-45, похожие на разъемы, используемые в телефонах (RJ-11), но несколько большие по размеру. Разъемы RJ-45 имеют восемь контактов вместо четырех в случае RJ-11. Присоединяются разъемы к кабелю с помощью специальных обжимных инструментов. При этом золоченые игольчатые контакты разъема прокалывают изоляцию каждого провода, входят между его жилами и обеспечивают надежное и качественное соединение. Надо учитывать, что при установке разъемов стандартом допускается расплетение витой пары кабеля на длину не более одного сантиметра.
Чаще всего витые пары используются для передачи данных в одном направлении (точка-точка), то есть в топологиях типа звездаили кольцо. Топология шина обычно ориентируется на коаксиальный кабель. Поэтому внешние терминаторы, согласующие неподключенные концы кабеля, для витых пар практически никогда не применяются.
Кабели выпускаются с двумя типами внешних оболочек:
Кабель в ПВХ оболочке называется еще non-plenum, а в тефлоновой plenum. Термин plenum обозначает в данном случаепространство под фальшполом и над подвесным потолком, где удобно размещать кабели сети. Для прокладки в этих скрытых от глаз пространствах как раз удобнее кабель в тефлоновой оболочке, который, в частности, горит гораздо хуже, чем ПВХ кабель, и не выделяет при этом ядовитых газов в большом количестве.
Еще один важный параметр любого кабеля, который жестко не определяется стандартом, но может существенно повлиять на работоспособность сети, это скорость распространения сигнала в кабеле или, другими словами, задержка распространениясигнала в кабеле в расчете на единицу длины.
Производители кабелей иногда указывают величину задержки на метр длины, а иногда скорость распространения сигнала относительно скорости света (или NVP Nominal Velocity of Propagation, как ее часто называют в документации). Связаны эти две величины простой формулой:
tз =1/(3 x 108 x NVP)
где tз величина задержки на метр длины кабеля в наносекундах. Например, если NVP=0,65 (65% от скорости света), тозадержка tз будет равна 5,13 нс/м. Типичная величина задержки большинства современных кабелей составляет около 45 нс/м.
В таблице 2.3 приведены величины NVP и задержек на метр длины (в наносекундах) для некоторых типов кабеля двух самых известных компаний-производителей AT&T и Belden.
Таблица 2.3. Временные характеристики некоторых кабелей
Фирма |
Марка |
Категория |
Оболочка |
NVP |
Задержка |
AT&T |
1010 |
3 |
non-plenum |
0,67 |
4,98 |
AT&T |
1041 |
4 |
non-plenum |
0,70 |
4,76 |
AT&T |
1061 |
5 |
non-plenum |
0,70 |
4,76 |
AT&T |
2010 |
3 |
plenum |
0,70 |
4,76 |
AT&T |
2041 |
4 |
plenum |
0,75 |
4,44 |
AT&T |
2061 |
5 |
plenum |
0,75 |
4,44 |
Belden |
1229A |
3 |
non-plenum |
0,69 |
4,83 |
Belden |
1455A |
4 |
non-plenum |
0,72 |
4,63 |
Belden |
1583A |
5 |
non-plenum |
0,72 |
4,63 |
Belden |
1245A2 |
3 |
plenum |
0,69 |
4,83 |
Belden |
1457A |
4 |
plenum |
0,75 |
4,44 |
Belden |
1585A |
5 |
plenum |
0,75 |
4,44 |
Стоит также отметить, что каждый из проводов, входящих в кабель на основе витых пар, как правило, имеет свой цвет изоляции, что существенно упрощает монтаж разъемов, особенно в том случае, когда концы кабеля находятся в разных комнатах, иконтроль с помощью приборов затруднен.
Примером кабеля с экранированными витыми парами может служить кабель STP IBM типа 1, который включает в себя две экранированные витые пары AWG типа 2. Волновое сопротивление каждой пары составляет 150 Ом. Для этого кабеля применяются специальные разъемы, отличающиеся от разъемов для неэкранированной витой пары (например, DB9). Имеются и экранированные версии разъема RJ-45.
Коаксиальный кабель представляет собой электрический кабель, состоящий из центрального медного провода и металлической оплетки (экрана), разделенных между собой слоем диэлектрика (внутренней изоляции) и помещенных в общую внешнюю оболочку (рис. 2.3).
Рис. 2.3. Коаксиальный кабель
Коаксиальный кабель до недавнего времени был очень популярен, что связано с его высокой помехозащищенностью (благодаря металлической оплетке), более широкими, чем в случае витой пары, полосами пропускания (свыше 1ГГц), а также большими допустимыми расстояниями передачи (до километра ). К нему труднее механически подключиться для несанкционированного прослушивания сети, он дает также заметно меньше электромагнитных излучений вовне. Однако монтаж и ремонт коаксиального кабеля существенно сложнее, чем витой пары, а стоимость его выше (он дороже примерно в 1,5 3 раза). Сложнее и установка разъемов на концах кабеля. Сейчас его применяют реже, чем витую пару. Стандарт EIA/TIA-568 включает в себя только один типкоаксиального кабеля, применяемый в сети Ethernet.
Основное применение коаксиальный кабель находит в сетях с топологией типа шина. При этом на концах кабеля обязательно должны устанавливаться терминаторы для предотвращения внутренних отражений сигнала, причем один (и только один!) изтерминаторов должен быть заземлен. Без заземления металлическая оплетка не защищает сеть от внешних электромагнитных помех и не снижает излучение передаваемой по сети информации во внешнюю среду. Но при заземлении оплетки в двух или более точках из строя может выйти не только сетевое оборудование, но и компьютеры, подключенные к сети. Терминаторыдолжны быть обязательно согласованы с кабелем, необходимо, чтобы их сопротивление равнялось волновому сопротивлению кабеля. Например, если используется 50-омный кабель, для него подходят только 50-омные терминаторы.
Реже коаксиальные кабели применяются в сетях с топологией звезда (например, пассивная звезда в сети Arcnet). В этом случае проблема согласования существенно упрощается, так как внешних терминаторов на свободных концах не требуется.
Волновое сопротивление кабеля указывается в сопроводительной документации. Чаще всего в локальных сетях применяются 50-омные (RG-58, RG-11, RG-8) и 93-омные кабели (RG-62). Распространенные в телевизионной технике 75-омные кабели в локальных сетях используются редко. Марок коаксиального кабеля немного. Он не считается особо перспективным. Не случайно в сети FastEthernet не предусмотрено применение коаксиальных кабелей. Однако во многих случаях классическая шинная топология (а не пассивная звезда) очень удобна. Как уже отмечалось, она не требует применения дополнительных устройств концентраторов.
Существует два основных типа коаксиального кабеля:
Тонкий кабель используется для передачи на меньшие расстояния, чем толстый, поскольку сигнал в нем затухает сильнее. Зато с тонким кабелем гораздо удобнее работать: его можно оперативно проложить к каждому компьютеру, а толстый требует жесткой фиксации на стене помещения. Подключение к тонкому кабелю (с помощью разъемов BNC байонетного типа) проще и не требует дополнительного оборудования. А для подключения к толстому кабелю надо использовать специальные довольно дорогие устройства, прокалывающие его оболочки и устанавливающие контакт как с центральной жилой, так и с экраном. Толстый кабельпримерно вдвое дороже, чем тонкий, поэтому тонкий кабель применяется гораздо чаще.
Как и в случае витых пар, важным параметром коаксиального кабеля является тип его внешней оболочки. Точно так же в данном случае применяются как non-plenum (PVC), так и plenum кабели. Естественно, тефлоновый кабель дороже поливинилхлоридного. Обычно тип оболочки можно отличить по окраске (например, для PVC кабеля фирма Belden использует желтый цвет, а для тефлонового оранжевый).
Типичные величины задержки распространения сигнала в коаксиальном кабеле составляют для тонкого кабеля около 5 нс/м, а для толстого около 4,5 нс/м.
Существуют варианты коаксиального кабеля с двойным экраном (один экран расположен внутри другого и отделен от него дополнительным слоем изоляции). Такие кабели имеют лучшую помехозащищенность и защиту от прослушивания, но они немного дороже обычных.
В настоящее время считается, что коаксиальный кабель устарел, в большинстве случаев его вполне может заменить витая параили оптоволоконный кабель. И новые стандарты на кабельные системы уже не включают его в перечень типов кабелей.
Оптоволоконный (он же волоконно-оптический) кабель это принципиально иной тип кабеля по сравнению с рассмотренными двумя типами электрического или медного кабеля. Информация по нему передается не электрическим сигналом, а световым. Главный его элемент это прозрачное стекловолокно, по которому свет проходит на огромные расстояния (до десятков километров) с незначительным ослаблением.
Рис. 2.4. Структура оптоволоконного кабеля
Структура оптоволоконного кабеля очень проста и похожа на структуру коаксиального электрического кабеля (рис. 2.4). Только вместо центрального медного провода здесь используется тонкое (диаметром около 1 10 мкм) стекловолокно, а вместо внутренней изоляции стеклянная или пластиковая оболочка, не позволяющая свету выходить за пределы стекловолокна. В данном случае речь идет о режиме так называемого полного внутреннего отражения света от границы двух веществ с разными коэффициентами преломления (у стеклянной оболочки коэффициент преломления значительно ниже, чем у центрального волокна). Металлическая оплетка кабеля обычно отсутствует, так как экранирование от внешних электромагнитных помех здесь не требуется. Однако иногда ее все-таки применяют для механической защиты от окружающей среды (такой кабель иногда называют броневым, он может объединять под одной оболочкой несколько оптоволоконных кабелей ).
Оптоволоконный кабель обладает исключительными характеристиками по помехозащищенности и секретности передаваемой информации. Никакие внешние электромагнитные помехи в принципе не способны исказить световой сигнал, а сам сигнал не порождает внешних электромагнитных излучений. Подключиться к этому типу кабеля для несанкционированного прослушивания сети практически невозможно, так как при этом нарушается целостность кабеля. Теоретически возможная полоса пропусканиятакого кабеля достигает величины 1012 Гц, то есть 1000 ГГц, что несравнимо выше, чем у электрических кабелей. Стоимостьоптоволоконного кабеля постоянно снижается и сейчас примерно равна стоимости тонкого коаксиального кабеля.
Типичная величина затухания сигнала в оптоволоконных кабелях на частотах, используемых в локальных сетях, составляет от 5 до 20 дБ/км, что примерно соответствует показателям электрических кабелей на низких частотах. Но в случае оптоволоконного кабеля при росте частоты передаваемого сигнала затухание увеличивается очень незначительно, и на больших частотах (особенно свыше 200 МГц) его преимущества перед электрическим кабелем неоспоримы, у него просто нет конкурентов.
Однако оптоволоконный кабель имеет и некоторые недостатки.
Самый главный из них высокая сложность монтажа (при установке разъемов необходима микронная точность, от точности скола стекловолокна и степени его полировки сильно зависит затухание в разъеме). Для установки разъемов применяют сварку или склеивание с помощью специального геля, имеющего такой же коэффициент преломления света, что и стекловолокно. В любом случае для этого нужна высокая квалификация персонала и специальные инструменты. Поэтому чаще всего оптоволоконный кабель продается в виде заранее нарезанных кусков разной длины, на обоих концах которых уже установлены разъемы нужного типа. Следует помнить, что некачественная установка разъема резко снижает допустимую длину кабеля, определяемуюзатуханием.
Также надо помнить, что использование оптоволоконного кабеля требует специальных оптических приемников и передатчиков, преобразующих световые сигналы в электрические и обратно, что порой существенно увеличивает стоимость сети в целом.
Оптоволоконные кабели допускают разветвление сигналов (для этого производятся специальные пассивные разветвители(couplers) на 28 каналов), но, как правило, их используют для передачи данных только в одном направлении между одним передатчиком и одним приемником. Ведь любое разветвление неизбежно сильно ослабляет световой сигнал, и если разветвлений будет много, то свет может просто не дойти до конца сети. Кроме того, в разветвителе есть и внутренние потери, так что суммарная мощность сигнала на выходе меньше входной мощности.
Оптоволоконный кабель менее прочен и гибок, чем электрический. Типичная величина допустимого радиуса изгиба составляет около 10 20 см, при меньших радиусах изгиба центральное волокно может сломаться. Плохо переносит кабель и механическое растяжение, а также раздавливающие воздействия.
Чувствителен оптоволоконный кабель и к ионизирующим излучениям, из-за которых снижается прозрачность стекловолокна, то есть увеличивается затухание сигнала. Резкие перепады температуры также негативно сказываются на нем, стекловолокно может треснуть.
Применяют оптоволоконный кабель только в сетях с топологией звезда и кольцо. Никаких проблем согласования и заземления в данном случае не существует. Кабель обеспечивает идеальную гальваническую развязку компьютеров сети. В будущем этот тип кабеля, вероятно, вытеснит электрические кабели или, во всяком случае, сильно потеснит их. Запасы меди на планете истощаются, а сырья для производства стекла более чем достаточно.
Существуют два различных типа оптоволоконного кабеля:
Суть различия между этими двумя типами сводится к разным режимам прохождения световых лучей в кабеле.
Рис. 2.5. Распространение света в одномодовом кабеле
В одномодовом кабеле практически все лучи проходят один и тот же путь, в результате чего они достигают приемника одновременно, и форма сигнала почти не искажается (рис. 2.5). Одномодовый кабель имеет диаметр центрального волокна около 1,3 мкм и передает свет только с такой же длиной волны (1,3 мкм). Дисперсия и потери сигнала при этом очень незначительны, что позволяет передавать сигналы на значительно большее расстояние, чем в случае применения многомодового кабеля. Для одномодового кабеля применяются лазерные приемопередатчики, использующие свет исключительно с требуемой длиной волны. Такие приемопередатчики пока еще сравнительно дороги и не долговечны. Однако в перспективе одномодовыйкабель должен стать основным типом благодаря своим прекрасным характеристикам. К тому же лазеры имеют большеебыстродействие, чем обычные светодиоды. Затухание сигнала в одномодовом кабеле составляет около 5 дБ/км и может быть даже снижено до 1 дБ/км.
Рис. 2.6. Распространение света в многомодовом кабеле
В многомодовом кабеле траектории световых лучей имеют заметный разброс, в результате чего форма сигнала на приемном конце кабеля искажается (рис. 2.6). Центральное волокно имеет диаметр 62,5 мкм, а диаметр внешней оболочки 125 мкм (это иногда обозначается как 62,5/125). Для передачи используется обычный (не лазерный) светодиод, что снижает стоимость и увеличивает срок службы приемопередатчиков по сравнению с одномодовым кабелем. Длина волны света в многомодовом кабеле равна 0,85 мкм, при этом наблюдается разброс длин волн около 30 50 нм. Допустимая длина кабеля составляет 2 5 км. Многомодовый кабель это основной тип оптоволоконного кабеля в настоящее время, так как он дешевле и доступнее. Затуханиев многомодовом кабеле больше, чем в одномодовом и составляет 5 20 дБ/км.
Типичная величина задержки для наиболее распространенных кабелей составляет около 45 нс/м, что близко к величинезадержки в электрических кабелях.
Оптоволоконные кабели, как и электрические, выпускаются в исполнении plenum и non-plenum.
ОБЗОРНАЯ ЛЕКЦИЯ №3
В общем случае решение каждой из частных задач коммутации определение потоков и соответствующих маршрутов, фиксация маршрутов в конфигурационных параметрах и таблицах сетевых устройств, распознавание потоков и передача данных между интерфейсами одного устройства, мультиплексирование/демультиплексирование потоков и разделение среды передачи тесно связано с решением всех остальных. Комплекс технических решений обобщенной задачи коммутации в совокупности составляетбазис любой сетевой технологии. От того, какой механизм прокладки маршрутов, продвижения данных и совместного использования каналов связи заложен в той или иной сетевой технологии, зависят ее фундаментальные свойства.
Среди множества возможных подходов к решению задачи коммутации абонентов в сетях выделяют два основополагающих:
Внешне обе эти схемы соответствуют приведенной на рис. 6.1 структуре сети, однако возможности и свойства их различны.
Рис. 6.1. Общая структура сети с коммутацией абонентов
Сети с коммутацией каналов имеют более богатую историю, они произошли от первых телефонных сетей. Сети с коммутациейпакетов сравнительно молоды, они появились в конце 60-х годов как результат экспериментов с первыми глобальнымикомпьютерными сетями. Каждая из этих схем имеет свои достоинства и недостатки, но по долгосрочным прогнозам многих специалистов, будущее принадлежит технологии коммутации пакетов, как более гибкой и универсальной.
При коммутации каналов коммутационная сеть образует между конечными узлами непрерывный составной физический канализ последовательно соединенных коммутаторами промежуточных канальных участков. Условием того, что несколько физических каналов при последовательном соединении образуют единый физический канал, является равенство скоростей передачи данных в каждом из составляющих физических каналов. Равенство скоростей означает, что коммутаторы такой сети не должны буферизовать передаваемые данные.
В сети с коммутацией каналов перед передачей данных всегда необходимо выполнить процедуру установления соединения, в процессе которой и создается составной канал. И только после этого можно начинать передавать данные.
Например, если сеть, изображенная на рис. 6.1, работает по технологии коммутации каналов, то узел 1, чтобы передать данные узлу 7, сначала должен передать специальный запрос на установление соединения коммутатору A, указав адрес назначения 7.Коммутатор А должен выбрать маршрут образования составного канала, а затем передать запрос следующему коммутатору, в данном случае E. Затем коммутатор E передает запрос коммутатору F, а тот, в свою очередь, передает запрос узлу 7. Если узел 7 принимает запрос на установление соединения, он направляет по уже установленному каналу ответ исходному узлу, после чего составной канал считается скоммутированным, и узлы 1 и 7 могут обмениваться по нему данными.
Рис. 6.2. Установление составного канала
Техника коммутации каналов имеет свои достоинства и недостатки.
Достоинства коммутации каналов
Недостатки коммутации каналов
Достоинства и недостатки любой сетевой технологии относительны. В определенных ситуациях на первый план выходят достоинства, а недостатки становятся несущественными. Так, техника коммутации каналов хорошо работает в тех случаях, когда нужно передавать только трафик телефонных разговоров. Здесь с невозможностью "вырезать" паузы из разговора и более рационально использовать магистральные физические каналы между коммутаторами можно мириться. А вот при передаче очень неравномерного компьютерного трафика эта нерациональность уже выходит на первый план.
Эта техника коммутации была специально разработана для эффективной передачи компьютерного трафика. Первые шаги на пути создания компьютерных сетей на основе техники коммутации каналов показали, что этот вид коммутации не позволяет достичь высокой общей пропускной способности сети. Типичные сетевые приложения генерируют трафик очень неравномерно, с высоким уровнем пульсации скорости передачи данных. Например, при обращении к удаленному файловому серверупользователь сначала просматривает содержимое каталога этого сервера, что порождает передачу небольшого объема данных. Затем он открывает требуемый файл в текстовом редакторе, и эта операция может создать достаточно интенсивный обмен данными, особенно если файл содержит объемные графические включения. После отображения нескольких страниц файлапользователь некоторое время работает с ними локально, что вообще не требует передачи данных по сети, а затем возвращает модифицированные копии страниц на сервер и это снова порождает интенсивную передачу данных по сети.
Коэффициент пульсации трафика отдельного пользователя сети, равный отношению средней интенсивности обмена данными к максимально возможной, может достигать 1:50 или даже 1:100. Если для описанной сессии организовать коммутацию канала между компьютером пользователя и сервером, то большую часть времени канал будет простаивать. В то же время коммутационные возможности сети будут закреплены за данной парой абонентов и будут недоступны другим пользователям сети.
При коммутации пакетов все передаваемые пользователем сообщения разбиваются в исходном узле на сравнительно небольшие части, называемые пакетами. Напомним, что сообщением называется логически завершенная порция данных запрос на передачу файла, ответ на этот запрос, содержащий весь файл и т.д. Сообщения могут иметь произвольную длину, от нескольких байт до многих мегабайт. Напротив, пакеты обычно тоже могут иметь переменную длину, но в узких пределах, например от 46 до 1500байт. Каждый пакет снабжается заголовком, в котором указывается адресная информация, необходимая для доставки пакета на узел назначения, а также номер пакета, который будет использоваться узлом назначения для сборки сообщения (рис. 6.3).Пакеты транспортируются по сети как независимые информационные блоки. Коммутаторы сети принимают пакеты от конечных узлов и на основании адресной информации передают их друг другу, а в конечном итоге узлу назначения.
Рис. 6.3. Разбиение сообщения на пакеты
Коммутаторы пакетной сети отличаются от коммутаторов каналов тем, что они имеют внутреннюю буферную память для временного хранения пакетов, если выходной порт коммутатора в момент принятия пакета занят передачей другого пакета (рис. 6.3). В этом случае пакет находится некоторое время в очереди пакетов в буферной памяти выходного порта, а когда до него дойдет очередь, он передается следующему коммутатору. Такая схема передачи данных позволяет сглаживать пульсацию трафика на магистральных связях между коммутаторами и тем самым наиболее эффективно использовать их для повышения пропускной способности сети в целом.
Действительно, для пары абонентов наиболее эффективным было бы предоставление им в единоличное пользование скоммутированного канала связи, как это делается в сетях с коммутацией каналов. В таком случае время взаимодействия этой пары абонентов было бы минимальным, так как данные без задержек передавались бы от одного абонента другому. Простои канала во время пауз передачи абонентов не интересуют, для них важно быстрее решить свою задачу. Сеть с коммутациейпакетов замедляет процесс взаимодействия конкретной пары абонентов, так как их пакеты могут ожидать в коммутаторах, пока помагистральным связям передаются другие пакеты, пришедшие в коммутатор ранее.
Тем не менее, общий объем передаваемых сетью компьютерных данных в единицу времени при технике коммутации пакетовбудет выше, чем при технике коммутации каналов. Это происходит потому, что пульсации отдельных абонентов в соответствии с законом больших чисел распределяются во времени так, что их пики не совпадают. Поэтому коммутаторы постоянно и достаточно равномерно загружены работой, если число обслуживаемых ими абонентов действительно велико. На рис. 6.4 показано, что трафик, поступающий от конечных узлов на коммутаторы, распределен во времени очень неравномерно. Однако коммутаторыболее высокого уровня иерархии, которые обслуживают соединения между коммутаторами нижнего уровня, загружены более равномерно, и поток пакетов в магистральных каналах, соединяющих коммутаторы верхнего уровня, имеет почти максимальный коэффициент использования. Буферизация сглаживает пульсации, поэтому коэффициент пульсации на магистральных каналах гораздо ниже, чем на каналах абонентского доступа он может быть равным 1:10 или даже 1:2.
Рис. 6.4. Сглаживание пульсаций трафика в сети с коммутацией пакетов
Более высокая эффективность сетей с коммутацией пакетов по сравнению с сетями с коммутацией каналов (при равной пропускной способности каналов связи) была доказана в 60-е годы как экспериментально, так и с помощью имитационного моделирования. Здесь уместна аналогия с мультипрограммными операционными системами. Каждая отдельная программа в такой системе выполняется дольше, чем в однопрограммной системе, когда программе выделяется все процессорное время, пока ее выполнение не завершится. Однако общее число программ, выполняемых за единицу времени, в мультипрограммной системе больше, чем в однопрограммной.
Сеть с коммутацией пакетов замедляет процесс взаимодействия конкретной пары абонентов, но повышает пропускную способность сети в целом.
Задержки в источнике передачи:
Задержки в каждом коммутаторе:
Достоинства коммутации пакетов
Недостатки коммутации пакетов
В настоящее время активно разрабатываются и внедряются методы, позволяющие преодолеть указанные недостатки, которые особенно остро проявляются для чувствительного к задержкам трафика, требующего при этом постоянной скорости передачи. Такие методы называются методами обеспечения качества обслуживания (Quality of Service, QoS).
Сети с коммутацией пакетов, в которых реализованы методы обеспечения качества обслуживания, позволяют одновременно передавать различные виды трафика, в том числе такие важные как телефонный и компьютерный. Поэтому методы коммутациипакетов сегодня считаются наиболее перспективными для построения конвергентной сети, которая обеспечит комплексные качественные услуги для абонентов любого типа. Тем не менее, нельзя сбрасывать со счетов и методы коммутации каналов. Сегодня они не только с успехом работают в традиционных телефонных сетях, но и широко применяются для образования высокоскоростных постоянных соединений в так называемых первичных (опорных) сетях технологий SDH и DWDM, которые используются для создания магистральных физических каналов между коммутаторами телефонных или компьютерных сетей. В будущем вполне возможно появление новых технологий коммутации, в том или ином виде комбинирующих принципы коммутациипакетов и каналов.
Коммутация сообщений по своим принципам близка к коммутации пакетов. Под коммутацией сообщений понимается передача единого блока данных между транзитными компьютерами сети с временной буферизацией этого блока на диске каждого компьютера. Сообщение в отличие от пакета имеет произвольную длину, которая определяется не технологическими соображениями, а содержанием информации, составляющей сообщение.
Транзитные компьютеры могут соединяться между собой как сетью с коммутацией пакетов, так и сетью с коммутацией каналов. Сообщение (это может быть, например, текстовый документ, файл с кодом программы, электронное письмо) хранится в транзитном компьютере на диске, причем довольно продолжительное время, если компьютер занят другой работой или сетьвременно перегружена.
По такой схеме обычно передаются сообщения, не требующие немедленного ответа, чаще всего сообщения электронной почты. Режим передачи с промежуточным хранением на диске называется режимом "хранения-и-передачи" (store-and-forward).
Режим коммутации сообщений разгружает сеть для передачи трафика, требующего быстрого ответа, например трафика службыWWW или файловой службы.
Количество транзитных компьютеров обычно стараются уменьшить. Если компьютеры подключены к сети с коммутацией пакетов, то число промежуточных компьютеров уменьшается до двух. Например, пользователь передает почтовое сообщение своему серверу исходящей почты, а тот сразу старается передать его серверу входящей почты адресата. Но если компьютеры связаны между собой телефонной сетью, то часто используется несколько промежуточных серверов, так как прямой доступ к конечному серверу может быть в данный момент невозможен из-за перегрузки телефонной сети (абонент занят) или экономически невыгоден из-за высоких тарифов на дальнюю телефонную связь.
Техника коммутации сообщений появилась в компьютерных сетях раньше техники коммутации пакетов, но потом была вытеснена последней, как более эффективной по критерию пропускной способности сети. Запись сообщения на диск занимает достаточно много времени, и кроме того, наличие дисков предполагает использование в качестве коммутаторов специализированных компьютеров, что влечет за собой существенные затраты на организацию сети.
Сегодня коммутация сообщений работает только для некоторых не оперативных служб, причем чаще всего поверх сети с коммутацией пакетов, как служба прикладного уровня.
ОБЗОРНАЯ ЛЕКЦИЯ №4
Стандартные сетевые протоколы
Протоколы это набор правил и процедур, регулирующих порядок осуществления связи. Компьютеры, участвующие в обмене, должны работать по одним и тем же протоколам, чтобы в результате передачи вся информация восстанавливалась в первоначальном виде.
О протоколах нижних уровней (физического и канального), относящихся к аппаратуре, уже упоминалось в предыдущих разделах. В частности, к ним относятся методы кодирования и декодирования, а также управления обменом в сети. Подробнее некоторые из них будут изложены в лекциях, посвященных стандартным сетям. А сейчас следует остановиться на особенностях протоколов более высоких уровней, реализуемых программно.
Связь сетевого адаптера с сетевым программным обеспечением осуществляют драйверы сетевых адаптеров. Именно благодарядрайверу компьютер может не знать никаких аппаратных особенностей адаптера (его адресов, правил обмена с ним, его характеристик). Драйвер унифицирует, делает единообразным взаимодействие программных средств высокого уровня с любым адаптером данного класса. Сетевые драйверы, поставляемые вместе с сетевыми адаптерами, позволяют сетевым программам одинаково работать с платами разных поставщиков и даже с платами разных локальных сетей (Ethernet, Arcnet, Token-Ring и т.д.). Если говорить о стандартной модели OSI, то драйверы, как правило, выполняют функции канального уровня, хотя иногда они реализуют и часть функций сетевого уровня ( рис. 6.1). Например, драйверы формируют передаваемый пакет в буферной памяти адаптера, читают из этой памяти пришедший по сети пакет, дают команду на передачу, информируют компьютер о приеме пакета.
Рис. 6.1. Функции драйвера сетевого адаптера в модели OSI
Качество написания программы драйвера во многом определяет эффективность работы сети в целом. Даже при самых лучших характеристиках сетевого адаптера некачественный драйвер может резко ухудшить обмен по сети.
Прежде чем приобрести плату адаптера, необходимо ознакомиться со списком совместимого оборудования (Hardware CompatibilityList, HCL), который публикуют все производители сетевых операционных систем. Выбор там довольно велик (например, для Microsoft Windows Server список включает более сотни драйверов сетевых адаптеров). Если в перечень HCL не входит адаптеркакого-то типа, лучше его не покупать.
Протоколы высоких уровней.
Существует несколько стандартных наборов (или, как их еще называют, стеков ) протоколов, получивших сейчас широкое распространение:
Включение в этот список протоколов глобальной сети вполне объяснимо, ведь, как уже отмечалось, модель OSI используется для любой открытой системы: на базе как локальной, так и глобальной сети или комбинации локальной и глобальной сетей.
Протоколы перечисленных наборов делятся на три основных типа:
Прикладные протоколы обеспечивают взаимодействие приложений и обмен данными между ними.
Наиболее популярны:
Транспортные протоколы поддерживают сеансы связи между компьютерами и гарантируют надежный обмен данными между ними. Наиболее популярные из них следующие:
Сетевые протоколы управляют адресацией, маршрутизацией, проверкой ошибок и запросами на повторную передачу. Широко распространены следующие из них:
Все перечисленные протоколы могут быть поставлены в соответствие тем или иным уровням эталонной модели OSI. Но при этом надо учитывать, что разработчики протоколов не слишком строго придерживаются этих уровней. Например, некоторые протоколы выполняют функции, относящиеся сразу к нескольким уровням модели OSI, а другие только часть функций одного из уровней. Это приводит к тому, что протоколы разных компаний часто оказываются несовместимы между собой. Кроме того, протоколы могут быть успешно использованы исключительно в составе своего набора протоколов (стека протоколов), который выполняет более или менее законченную группу функций. Как раз это и делает сетевую операционную систему "фирменной", то есть, по сути, несовместимой со стандартной моделью открытой системы OSI.
В качестве примера на рис. 6.2, рис. 6.3 и рис. 6.4 схематически показано соотношение протоколов, используемых популярными фирменными сетевыми операционными системами, и уровней стандартной модели OSI. Как видно из рисунков, практически ни на одном уровне нет четкого соответствия реального протокола какому-нибудь уровню идеальной модели. Выстраивание подобных соотношений довольно условно, так как трудно четко разграничить функции всех частей программного обеспечения. К тому же компании-производители программных средств далеко не всегда подробно описывают внутреннюю структуру продуктов.
Теперь следует подробнее рассмотреть некоторые наиболее распространенные протоколы.
Модель OSI допускает два основных метода взаимодействия абонентов в сети:
Пакет при этом методе передается без установления логического канала, то есть без предварительного обмена служебными пакетами для выяснения готовности приемника, а также без ликвидации логического канала, то есть без пакета подтверждения окончания передачи. Дойдет пакет до приемника или нет неизвестно (проверка факта получения переносится на более высокие уровни).
Метод дейтаграмм предъявляет повышенные требования к аппаратуре (так как приемник всегда должен быть готов к приему пакета). Достоинства метода в том, что передатчик и приемник работают независимо друг от друга, к тому же пакеты могут накапливаться в буфере и затем передаваться вместе, можно также использовать широковещательную передачу, то есть адресовать пакет всем абонентам одновременно. Недостатки метода это возможность потери пакетов, а также бесполезной загрузки сети пакетами в случае отсутствия или неготовности приемника.
Метод с логическим соединением ( рис. 6.6, рис. 4.5) разработан позднее, чем метод дейтаграмм, и отличается усложненным порядком взаимодействия.
При этом методе пакет передается только после того, как будет установлено логическое соединение (канал) между приемником и передатчиком. Каждому информационному пакету сопутствует один или несколько служебных пакетов (установка соединения, подтверждение получения, запрос повторной передачи, разрыв соединения). Логический канал может устанавливаться на время передачи одного или нескольких пакетов.
Рис. 6.2. Соотношение уровней модели OSI и протоколов сети Интернет
Рис. 6.3. Соотношение уровней модели OSI и протоколов операционной системы Windows Server
Рис. 6.4. Соотношение уровней модели OSI и протоколов операционной системы NetWare
Рис. 6.5. Метод дейтаграмм
Рис. 6.6. Метод с логическим соединением
Метод с логическим соединением, как уже говорилось, более сложен, чем метод дейтаграмм, но гораздо надежнее, поскольку к моменту ликвидации логического канала передатчик уверен, что все его пакеты дошли до места назначения, причем дошли успешно. Не бывает при данном методе и перегрузки сети из-за бесполезных пакетов. Недостаток метода с логическим соединением состоит в том, что довольно сложно разрешить ситуацию, когда принимающий абонент по тем или иным причинам не готов к обмену, например, из-за обрыва кабеля, отключения питания, неисправности сетевого оборудования, сбоя в компьютере. При этом требуется алгоритм обмена с повторением неподтвержденного пакета заданное количество раз, причем важен и тип неподтвержденного пакета. Не может этот метод передавать широковещательные пакеты (то есть адресованные всем абонентам), так как нельзя организовать логические каналы сразу со всеми абонентами.
Примеры протоколов, работающих по методу дейтаграмм это протоколы IP и IPX.
Примеры протоколов, работающих по методу с логическим соединением это TCP и SPX.
Именно для того, чтобы объединить достоинства обоих методов, эти протоколы используются в виде связанных наборов: TCP/IP иIPX/SPX, в которых протокол более высокого уровня (TCP, SPX), работающий на базе протокола более низкого уровня (IP, IPX), гарантирует правильную доставку пакетов в требуемом порядке.
Протоколы IPX/SPX, разработанные компанией Novell, образуют набор (стек), используемый в сетевых программных средствах довольно широко распространенных локальных сетей Novell (NetWare). Это сравнительно небольшой и быстрый протокол, поддерживающий маршрутизацию. Прикладные программы могут обращаться непосредственно к уровню IPX, например, для посылки широковещательных сообщений, но значительно чаще работают с уровнем SPX, гарантирующим быструю и надежную доставку пакетов. Если скорость не слишком важна, то прикладные программы применяют еще более высокий уровень, например, протокол NetBIOS, предоставляющий удобный сервис. Компанией Microsoft предложена своя реализация протокола IPX/SPX, называемая NWLink. Протоколы IPX/SPX и NWLink поддерживаются операционными системами NetWare и Windows. Выбор этих протоколов обеспечивает совместимость по сети любых абонентов с данными операционными системами.
Набор (стек) протоколов TCP/IP был специально разработан для глобальных сетей и для межсетевого взаимодействия. Он изначально ориентирован на низкое качество каналов связи, на большую вероятность ошибок и разрывов связей. Этот протокол принят во всемирной компьютерной сети Интернет, значительная часть абонентов которой подключается по коммутируемым линиям (то есть обычным телефонным линиям). Как и протокол IPX/SPX, протокол TCP/IP также поддерживает маршрутизацию. На его основе работают протоколы высоких уровней, такие как SMTP, FTP, SNMP. Недостаток протокола TCP/IP более низкая скорость работы, чем у IPX/SPX. Однако сейчас протокол TCP/IP используется и в локальных сетях, чтобы упростить согласование протоколов локальных и глобальных сетей. В настоящее время он считается основным в самых распространенных операционных системах.
В стек протоколов TCP/IP часто включают и протоколы всех верхних уровней ( рис. 6.7). И тогда уже можно говорить офункциональной полноте стека TCP/IP.
Как протокол IPX, так и протокол IP являются самыми низкоуровневыми протоколами, поэтому они непосредственно инкапсулируют свою информацию, называемую дейтаграммой, в поле данных передаваемого по сети пакета (см. рис. 4.6). При этом в заголовок дейтаграммы входят адреса абонентов (отправителя и получателя) более высокого уровня, чем MAC-адреса, это IPX-адреса для протокола IPX или IP-адреса для протокола IP. Эти адреса включают номера сети и узла, хоста (индивидуальный идентификатор абонента). При этом IPX-адреса ( рис. 6.8) более простые, имеют всего один формат, а в IP-адрес ( рис. 6.9) могут входить три формата (класса A, B и C), различающиеся значениями трех начальных битов.
Рис. 6.7. Соотношение уровней модели OSI и стека протоколов TCP/IP
Рис. 6.8. Формат IPX- адреса
Рис. 6.9. Форматы IP-адреса
Интересно, что IP-адрес не имеет никакой связи с MAC-адресами абонентов. Номер узла в нем присваивается абоненту независимо от его MAC-адреса. В качестве идентификатора станции IPX-адрес включает в себя полный MAC-адрес абонента.
Номер сети это код, присвоенный каждой конкретной сети, то есть каждой широковещательной области общей, единой сети. Под широковещательной областью понимается часть сети, которая прозрачна для широковещательных пакетов, пропускает их беспрепятственно.
Протокол NetBIOS (сетевая базовая система ввода/вывода) был разработан компанией IBM для сетей IBM PC Network и IBM Token-Ring по образцу системы BIOS персонального компьютера. С тех пор этот протокол стал фактическим стандартом (официально он не стандартизован), и многие сетевые операционные системы содержат в себе эмулятор NetBIOS для обеспечения совместимости. Первоначально NetBIOS реализовывал сеансовый, транспортный и сетевой уровни, однако в последующих сетях на более низких уровнях используются стандартные протоколы (например, IPX/SPX), а на долю эмулятора NetBIOS остается толькосеансовый уровень. NetBIOS обеспечивает более высокий уровень сервиса, чем IPX/SPX, но работает медленнее.
На основе протокола NetBIOS был разработан протокол NetBEUI, который представляет собой развитие протокола NetBIOS до транспортного уровня. Однако недостаток NetBEUI состоит в том, что он не поддерживает межсетевое взаимодействие и не обеспечивает маршрутизацию. Поэтому данный протокол используется только в простых сетях, не рассчитанных на подключение кИнтернет. Сложные сети ориентируются на более универсальные протоколы TCP/IP и IPX/SPX. Протокол NetBEUI в настоящее время считается устаревшим, хотя даже в операционной системе Windows XP предусмотрена его поддержка, правда, только как дополнительная опция.
Наконец, упоминавшийся уже набор протоколов OSI это полный набор (стек) протоколов, где каждый протокол точно соответствует определенному уровню стандартной модели OSI. Набор содержит маршрутизируемые и транспортные протоколы, серии протоколов IEEE 802, протокол сеансового уровня, представительского уровня и несколько протоколов прикладного уровня. Пока широкого распространения этот набор протоколов не получил, хотя он и полностью соответствует эталонной модели OSI.
Стандартные сетевые программные средства.
Функции верхних уровней эталонной модели OSI выполняют сетевые программные средства. Для установки сети достаточно иметь набор сетевого оборудования, его драйверы, а также сетевое программное обеспечение. От выбора программного обеспечения зависит очень многое: допустимый размер сети, удобство использования и контроля сети, режимы доступа к ресурсам, производительность сети в разных режимах и т.д. Правда, заменить одну программную систему на другую значительно проще, чем сменить оборудование.
С точки зрения распределения функций между компьютерами сети, все сети можно разделить на две группы:
Одноранговые сети, состоящие из равноправных (с точки зрения доступа к сети) компьютеров.
Сети на основе серверов, в которых существуют только выделенные (dedicated) серверы, занимающиеся исключительно сетевыми функциями. Выделенный сервер может быть единственным или их может быть несколько.
Согласно этому, выделяют и типы программных средств, реализующих данные виды сетей.
Одноранговые сети
Одноранговые сети (Peer-to-Peer Network) и соответствующие программные средства, как правило, используются для объединения небольшого количества компьютеров ( рис. 6.10). Каждый компьютер такой сети может одновременно являться и сервером и клиентом сети, хотя вполне допустимо назначение одного компьютера только сервером, а другого только клиентом. Принципиальна возможность совмещения функций клиента и сервера. Важно также и то, что в одноранговой сети любой сервер может быть невыделенным (non-dedicated), может не только обслуживать сеть, но и работать как автономный компьютер (правда, запросы к нему по сети сильно снижают скорость его работы). В одноранговой сети могут быть и выделенные серверы, только обслуживающие сеть.
Рис. 6.10. Одноранговая сеть
Именно в данном случае наиболее правильно говорить о распределенных дисковых ресурсах, о виртуальном компьютере, а также о суммировании объемов дисков всех компьютеров сети. Если все компьютеры являются серверами, то любой файл, созданный на одном из них сразу же становится доступным всем остальным компьютерам, его не надо передавать на централизованный сервер.
Достоинством одноранговых сетей является их высокая гибкость: в зависимости от конкретной задачи сеть может использоваться очень активно либо совсем не использоваться. Из-за большой самостоятельности компьютеров в таких сетях редко бывает ситуация перегрузки (к тому же количество компьютеров обычно невелико). Установка одноранговых сетей довольно проста, к тому же не требуются дополнительные дорогостоящие серверы. Кроме того, нет необходимости в системном администрировании, пользователи могут сами управлять своими ресурсами.
В одноранговых сетях допускается определение различных прав пользователей по доступу к сетевым ресурсам, но система разграничения прав не слишком развита. Если каждый ресурс защищен своим паролем, то пользователю приходится запоминать большое число паролей.
К недостаткам одноранговых сетей относятся также слабая система контроля и протоколирования работы сети, трудности с резервным копированием распределенной информации. К тому же выход из строя любого компьютера-сервера приводит к потере части общей информации, то есть все такие компьютеры должны быть по возможности высоконадежными. Эффективная скорость передачи информации по одноранговой сети часто оказывается недостаточной, поскольку трудно обеспечить быстродействие процессоров, большой объем оперативной памяти и высокие скорости обмена с жестким диском для всех компьютеров сети. К тому же компьютеры сети работают не только на сеть, но и решают другие задачи.
Несколько примеров одноранговых сетевых программных средств:
Первые одноранговые сетевые программные средства представляли собой сетевые оболочки, работающие под управлением DOS (например, NetWare Lite). Они перехватывали все запросы DOS, те запросы, которые вызваны обращениями к сетевым устройствам, обрабатывались и выполнялись сетевой оболочкой, а те, которые вызваны обращениями к "местным", несетевым ресурсам, возвращались обратно в DOS и обрабатывались стандартным образом.
Более поздние одноранговые сетевые программные средства уже были встроены в операционную систему Windows. Это гораздо удобнее, так как исключается этап установки сетевых программ. Поэтому сетевые оболочки сейчас уже практически не используются, хотя многие их характеристики были заметно лучше, чем у сетевых средств Windows.
Сейчас считается, что одноранговая сеть наиболее эффективна в небольших сетях (около 10 компьютеров). При значительном количестве компьютеров сетевые операции сильно замедлят работу компьютеров и создадут множество других проблем. Тем не менее, для небольшого офиса одноранговая сеть оптимальное решение.
Самая распространенная в настоящий момент одноранговая сеть это сеть на основе Windows XP (или более ранних версий ОС Windows).
При этом пользователь, приобретая компьютер с установленной операционной системой, автоматически получает и возможность выхода в сеть. Естественно, это во многих случаях гораздо удобнее, чем приобретать и устанавливать пусть даже и более совершенные продукты других фирм. К тому же пользователю не надо изучать интерфейс пользователя сетевой программы, так как он строится так же, как и интерфейс пользователя всех остальных частей операционной системы.
Если приобретаемый компьютер еще и имеет установленный сетевой адаптер, то построить сеть пользователю совсем просто. Надо только соединить компьютеры кабелем и настроить сетевые программы.
В Windows предусмотрена поддержка совместного использования дисков (в том числе гибких дисков и CD), а также принтеров. Имеется возможность объединения всех пользователей в рабочие группы для более удобного поиска требуемых ресурсов и организации доступа к ним. Пользователи имеют доступ к встроенной системе электронной почты. Это означает, что все пользователи сети получают возможность совместно применять многие ресурсы ОС своего компьютера.
При настройке сети пользователь должен выбрать тип сетевого протокола. По умолчанию используется протокол TCP/IP, но возможно применение IPX/SPX (NWLink), а также NetBEUI. При выборе TCP/IP можно задавать адреса IP вручную или с помощью автоматической настройки адресации (в этом случае компьютер сам присвоит себе адрес из диапазона, не используемого в Интернет).
Кроме того, надо задать индивидуальное имя компьютера и определить рабочую группу, к которой он относится.
После этого можно разрешить доступ по сети к ресурсам каждого компьютера сети, к его файлам, папкам, принтерам, сканерам, доступу в Интернет.
Сети на основе сервера
Сети на основе сервера (Server-based Network) применяются в тех случаях, когда в сеть должно быть объединено много пользователей. В этом случае возможностей одноранговой сети может не хватить. Поэтому в сеть включается специализированный компьютер сервер, который обслуживает только сеть и не решает никаких других задач ( рис. 6.11). Такой сервер называется выделенным. Сервер может быть и специализирован на решении одной задачи, например, сервер печати, но чаще всего серверами выступают именно компьютеры. В сети может быть и несколько серверов, каждый из которых решает свою задачу.
Рис. 6.11. Сеть на основе сервера
Серверы специально оптимизированы для быстрой обработки сетевых запросов на разделяемые ресурсы и для управлениязащитой файлов и каталогов. При больших размерах сети мощности одного сервера может оказаться недостаточно, и тогда в сеть включают несколько серверов. Серверы могут выполнять и некоторые другие задачи: сетевая печать, выход в глобальную сеть, связь с другой локальной сетью, обслуживание электронной почты и т.д. Количество пользователей сети на основе сервераможет достигать нескольких тысяч. Одноранговой сетью такого размера просто невозможно было бы управлять. Кроме того, всети на основе серверов можно легко менять количество подключаемых компьютеров, такие сети называются масштабируемыми.
В любом случае в сети на основе сервера существует четкое разделение компьютеров на клиентов (или рабочие станции) и серверы. Клиенты не могут работать как серверы, а серверы как клиенты и как автономные компьютеры. Очевидно, что все сетевые дисковые ресурсы могут располагаться только на сервере, а клиенты могут обращаться только к серверу, но не друг к другу. Однако это не значит, что они не могут общаться между собой, просто пересылка информации от одного клиента к другому возможна только через сервер, например, через каталог, доступный всем клиентам. В данном случае реализуется некоторая "логическая звезда" с сервером в центре, хотя физическая топология сети может быть любой.
Достоинством сети на основе сервера часто называют надежность. Это верно, но только с одной оговоркой: если сервер действительно очень надежен. В противном случае любой отказ сервера приводит к полному параличу сети в отличие от ситуации с одноранговой сетью, где отказ одного из компьютеров не приводит к отказу всей сети. Бесспорное достоинство сети на основе сервера высокая скорость обмена, так как сервер всегда оснащается быстрым процессором (или даже несколькими процессорами), оперативной памятью большого объема и быстрыми жесткими дисками. Так как все ресурсы сети собраны в одном месте, возможно применение гораздо более мощных средств управления доступом, защиты данных, протоколирования обмена, чем в одноранговых сетях.
К недостаткам сети на основе сервера относятся ее громоздкость в случае небольшого количества компьютеров, зависимость всех компьютеров-клиентов от сервера, более высокая стоимость сети вследствие использования дорогого сервера. Но, говоря о стоимости, надо также учитывать, что при одном и том же объеме сетевых дисков большой диск сервера получается дешевле, чем много дисков меньшего объема, входящих в состав всех компьютеров одноранговой сети.
Примеры некоторых сетевых программных средств на основе сервера:
На файл-сервере в данном случае устанавливается специальная сетевая операционная система, рассчитанная на работу сервера. Эта сетевая ОС оптимизирована для эффективного выполнения специфических операций по организации сетевого обмена. На рабочих станциях (клиентах) может устанавливаться любая совместимая операционная система, поддерживающая сеть.
Для обеспечения надежной работы сети при авариях электропитания применяется бесперебойное электропитание сервера. В данном случае это гораздо проще, чем при одноранговой сети, где желательно оснащать источниками бесперебойного питания все компьютеры сети. Для администрирования сети (то есть управления распределением ресурсов, контроля прав доступа, защиты данных, файловой системы, резервирования файлов и т.д.) в случае сети на основе сервера необходимо выделять специального человека, имеющего соответствующую квалификацию. Централизованное администрирование облегчает обслуживание сети и позволяет оперативно решать все вопросы. Особенно это важно для надежной защиты данных от несанкционированного доступа. В случае же одноранговой сети можно обойтись и без специалиста-администратора, правда, при этом все пользователи сети должны иметь хоть какое-то представление об администрировании.
Процесс установки серверной сетевой операционной системы гораздо сложнее, чем в случае одноранговой сети. Так, он включает в себя следующие обязательные процедуры:
Сетевая операционная система на базе сервера Windows Server 2003 предоставляет пользователям гораздо больше возможностей, чем в случае одноранговой сети.
Она позволяет строить сложные иерархические структуры сети на основе логических групп компьютеров ( доменов, domain), наборов доменов (деревьев, tree) и наборов деревьев (леса, forest).
Домен представляет собой группу компьютеров, управляемых контроллером домена, специальным сервером. Домен использует собственную базу данных, содержащую учетные записи пользователей, и управляет собственными ресурсами, такими как принтеры и общие файлы. Каждому домену присваивается свое имя (обычно домен рассматривается как отдельная сеть со своим номером). В каждый домен может входить несколько рабочих групп, которые формируются из пользователей, решающих общую или сходные задачи. В принципе домен может включать тысячи пользователей, однако обычно домены не слишком велики, и несколько доменов объединяются в дерево доменов. Это упрощает управление сетью. Точно так же несколько деревьев может объединяться в лес, самую крупную административную структуру, поддерживаемую данной ОС.
В процессе установки Windows Server 2003 необходимо задать тип протокола сети. По умолчанию используется TCP/IP, но возможно применение NWLink (IPX/SPX).
Каждому серверу необходимо назначить роль, которую он будет выполнять в сети:
Каждому пользователю сети необходимо присвоить свое учетное имя и пароль, а также права доступа к ресурсам (полномочия).Права доступа могут задаваться как индивидуально, так и целой рабочей группе пользователей. Windows Server 2003 обеспечивает следующие виды полномочий для папок:
Те же самые уровни полномочий (кроме просмотра содержимого) предусмотрены и для файлов, доступных по сети.
Сетевые операционные системы NetWare компании Novell сегодня очень популярны, что объясняется их высокой производительностью, совместимостью с разными аппаратными средствами и развитой системой средств защиты данных. Компания Novell выпускает сетевые программные средства с 1979 года: несколько версий сетевых ОС на базе файловых серверов (одна из последних версий NetWare 6 и 6.5), клиентское программное обеспечение, а также средства диагностики работы сетей. Популярные до недавнего времени сетевые оболочки одноранговых сетей, такие как NetWare Lite и Personal NetWare сейчас уже не производятся.
Отличительной особенностью сетевых программных средств Novell всегда была их открытость, то есть совместимость с операционными системами различных фирм: Windows, UNIX, Macintosh, OS/2. Кроме того, они всегда обеспечивали возможность работы с аппаратными средствами практически всех известных производителей. Это позволяет строить на их основе сети из разнообразных абонентов от самых простых до самых сложных.
Все сетевые продукты NetWare допускают подключение бездисковых рабочих станций (клиентов), что позволяет при необходимости значительно снизить стоимость сети. Во всех продуктах предусмотрена поддержка сетевых мостов.
Продуктам Novell NetWare присущи и недостатки, например, их стоимость для небольших сетей оказывается достаточно высокой по сравнению с ценой продуктов других производителей. Кроме того, их установка сравнительно сложна, но они уже стали фактическим стандартом, поэтому их позиции на рынке довольно прочны.
Рассмотрим кратко особенности сетевой ОС Novell NetWare 6.5.
Как и в случае Microsoft Windows Server 2003, Novell NetWare 6.5 требует создания древовидной иерархической структуры, включающей в себя сетевые деревья, серверы, пользователей, группы и прочие объекты.
Novell NetWare 6.5 предусматривает обязательное разбиение жестких дисков с использованием собственной системы хранения файлов NSS (Novell Storage Services), которое требует создания логических разделов (Volumes) на диске. Это позволяет серверу более эффективно решать сетевые задачи.
Для каждого сервера сети надо выбрать один из трех типов:
Настраиваемый сервер (в частности, Web-сервер, FTP-сервер).
Основной файловый сервер.
Специальный сервер (например, DNS/DHCP-сервер, контролирующий сетевые адреса и имена, или сервер резервного копирования).
Кроме того, надо задать тип используемого протокола TCP/IP или IPX/SPX.
На компьютеры-клиенты следует установить клиентское программное обеспечение. Это сравнительно простая процедура.
Каждому клиенту присваивается учетная запись, предоставляются свои права доступа к ресурсам. Клиенты могут быть объединены в рабочие группы, каждой из которых присваиваются имена и права доступа.
Предусмотрены следующие виды доступа к файлам и каталогам (папкам):
Изменение прав доступа к каталогу или файлу;
Эталонная модель OSI
Модель OSI была предложена Международной организацией стандартов ISO (International Standards Organization) в 1984 году. С тех пор ее используют (более или менее строго) все производители сетевых продуктов. Как и любая универсальная модель, OSIдовольно громоздка, избыточна, и не слишком гибка. Поэтому реальные сетевые средства, предлагаемые различными фирмами, не обязательно придерживаются принятого разделения функций. Однако знакомство с моделью OSI позволяет лучше понять, что же происходит в сети.
Все сетевые функции в модели разделены на 7 уровней ( рис. 5.1). При этом вышестоящие уровни выполняют более сложные, глобальные задачи, для чего используют в своих целях нижестоящие уровни, а также управляют ими. Цель нижестоящего уровня предоставление услуг вышестоящему уровню, причем вышестоящему уровню не важны детали выполнения этих услуг. Нижестоящие уровни выполняют более простые и конкретные функции. В идеале каждый уровень взаимодействует только с теми, которые находятся рядом с ним (выше и ниже него). Верхний уровень соответствует прикладной задаче, работающему в данный момент приложению, нижний непосредственной передаче сигналов по каналу связи.
Рис. 5.1. Семь уровней модели OSI
Модель OSI относится не только к локальным сетям, но и к любым сетям связи между компьютерами или другими абонентами. В частности, функции сети Интернет также можно поделить на уровни в соответствии с моделью OSI. Принципиальные отличия локальных сетей от глобальных, с точки зрения модели OSI, наблюдаются только на нижних уровнях модели.
Функции, входящие в показанные на рис. 5.1 уровни, реализуются каждым абонентом сети. При этом каждый уровень на одном абоненте работает так, как будто он имеет прямую связь с соответствующим уровнем другого абонента. Между одноименнымиуровнями абонентов сети существует виртуальная (логическая) связь, например, между прикладными уровнямивзаимодействующих по сети абонентов. Реальную же, физическую связь (кабель, радиоканал) абоненты одной сети имеют только на самом нижнем, первом, физическом уровне. В передающем абоненте информация проходит все уровни, начиная с верхнего и заканчивая нижним. В принимающем абоненте полученная информация совершает обратный путь: от нижнего уровня к верхнему ( рис. 5.2).
Рис. 5.2. Путь информации от абонента к абоненту
Данные, которые необходимо передать по сети, на пути от верхнего (седьмого) уровня до нижнего (первого) проходят процесс инкапсуляции ( рис. 4.6). Каждый нижеследующий уровень не только производит обработку данных, приходящих с более высокого уровня, но и снабжает их своим заголовком, а также служебной информацией. Такой процесс обрастания служебной информацией продолжается до последнего (физического) уровня. На физическом уровне вся эта многооболочечная конструкция передается по кабелю приемнику. Там она проделывает обратную процедуру декапсуляции, то есть при передаче на вышестоящий уровень убирается одна из оболочек. Верхнего седьмого уровня достигают уже данные, освобожденные от всех оболочек, то есть от всей служебной информации нижестоящих уровней. При этом каждый уровень принимающего абонента производит обработку данных, полученных с нижеследующего уровня в соответствии с убираемой им служебной информацией.
Если на пути между абонентами в сети включаются некие промежуточные устройства (например, трансиверы, репитеры,концентраторы, коммутаторы, маршрутизаторы ), то и они тоже могут выполнять функции, входящие в нижние уровни модели OSI. Чем больше сложность промежуточного устройства, тем больше уровней оно захватывает. Но любое промежуточное устройство должно принимать и возвращать информацию на нижнем, физическом уровне. Все внутренние преобразования данных должны производиться дважды и в противоположных направлениях ( рис. 5.3). Промежуточные сетевые устройства в отличие от полноценных абонентов (например, компьютеров) работают только на нижних уровнях и к тому же выполняют двустороннее преобразование.
Рис. 5.3. Включение промежуточных устройств между абонентами сети
Рассмотрим подробнее функции разных уровней.
Прикладной (7) уровень (Application Layer) или уровень приложений обеспечивает услуги, непосредственно поддерживающие приложения пользователя, например, программные средства передачи файлов, доступа к базам данных, средства электронной почты, службу регистрации на сервере. Этот уровень управляет всеми остальными шестью уровнями. Например, если пользователь работает с электронными таблицами Excel и решает сохранить рабочий файл в своей директории на сетевом файл-сервере, то прикладной уровень обеспечивает перемещение файла с рабочего компьютера на сетевой диск прозрачно для пользователя.
Представительский (6) уровень (Presentation Layer) или уровень представления данных определяет и преобразует форматы данных и их синтаксис в форму, удобную для сети, то есть выполняет функцию переводчика. Здесь же производится шифрование и дешифрирование данных, а при необходимости и их сжатие. Стандартные форматы существуют для текстовых файлов (ASCII, EBCDIC, HTML), звуковых файлов (MIDI, MPEG, WAV), рисунков (JPEG, GIF, TIFF), видео (AVI). Все преобразования форматов делаются на представительском уровне. Если данные передаются в виде двоичного кода, то преобразования формата не требуется.
Сеансовый (5) уровень (Session Layer) управляет проведением сеансов связи (то есть устанавливает, поддерживает и прекращает связь). Этот уровень предусматривает три режима установки сеансов: симплексный (передача данных в одном направлении), полудуплексный (передача данных поочередно в двух направлениях) и полнодуплексный (передача данных одновременно в двух направлениях). Сеансовый уровень может также вставлять в поток данных специальные контрольные точки, которые позволяют контролировать процесс передачи при разрыве связи. Этот же уровень распознает логические имена абонентов, контролирует предоставленные им права доступа.
Транспортный (4) уровень (Transport Layer) обеспечивает доставку пакетов без ошибок и потерь, а также в нужной последовательности. Здесь же производится разбивка передаваемых данных на блоки, помещаемые в пакеты, и восстановление принимаемых данных из пакетов. Доставка пакетов возможна как с установлением соединения (виртуального канала), так и без. Транспортный уровень является пограничным и связующим между верхними тремя, сильно зависящими от приложений, и тремя нижними уровнями, сильно привязанными к конкретной сети.
Сетевой (3) уровень (Network Layer) отвечает за адресацию пакетов и перевод логических имен (логических адресов, например, IP-адресов или IPX-адресов) в физические сетевые MAC-адреса (и обратно). На этом же уровне решается задача выбора маршрута (пути), по которому пакет доставляется по назначению (если в сети имеется несколько маршрутов). На сетевом уровне действуют такие сложные промежуточные сетевые устройства, как маршрутизаторы.
Канальный (2) уровень или уровень управления линией передачи (Data link Layer) отвечает за формирование пакетов (кадров) стандартного для данной сети (Ethernet, Token-Ring, FDDI) вида, включающих начальное и конечное управляющие поля. Здесь же производится управление доступом к сети, обнаруживаются ошибки передачи путем подсчета контрольных сумм, и производится повторная пересылка приемнику ошибочных пакетов. Канальный уровень делится на два подуровня: верхний LLCи нижний MAC. На канальном уровне работают такие промежуточные сетевые устройства, как, например, коммутаторы.
Физический (1) уровень (Physical Layer) это самый нижний уровень модели, который отвечает за кодирование передаваемой информации в уровни сигналов, принятые в используемой среде передачи, и обратное декодирование. Здесь же определяются требования к соединителям, разъемам, электрическому согласованию, заземлению, защите от помех и т.д. На физическом уровне работают такие сетевые устройства, как трансиверы, репитеры и репитерные концентраторы.
Большинство функций двух нижних уровней модели (1 и 2) обычно реализуются аппаратно (часть функций уровня 2 программным драйвером сетевого адаптера ). Именно на этих уровнях определяется скорость передачи и топология сети, метод управления обменом и формат пакета, то есть то, что имеет непосредственное отношение к типу сети, например, Ethernet, Token-Ring, FDDI, 100VG-AnyLAN. Более высокие уровни, как правило, не работают напрямую с конкретной аппаратурой, хотяуровни 3, 4 и 5 еще могут учитывать ее особенности. Уровни 6 и 7 никак не связаны с аппаратурой, замены одного типа аппаратуры на другой они не замечают.
Как уже отмечалось, в уровне 2 (канальном) нередко выделяют два подуровня (sublayers) LLC и MAC ( рис. 5.4):
Верхний подуровень ( LLC Logical Link Control ) осуществляет управление логической связью, то есть устанавливает виртуальный канал связи. Строго говоря, эти функции не связаны с конкретным типом сети, но часть из них все же возлагается на аппаратуру сети ( сетевой адаптер ). Другая часть функций подуровня LLC выполняется программой драйверасетевого адаптера. Подуровень LLC отвечает за взаимодействие с уровнем 3 (сетевым).
Нижний подуровень ( MAC Media Access Control ) обеспечивает непосредственный доступ к среде передачи информации (каналу связи). Он напрямую связан с аппаратурой сети. Именно на подуровне MAC осуществляется взаимодействие с физическим уровнем. Здесь производится контроль состояния сети, повторная передача пакетов заданное число раз при коллизиях, прием пакетов и проверка правильности передачи.
Помимо модели OSI существует также модель IEEE Project 802, принятая в феврале 1980 года (отсюда и число 802 в названии), которую можно рассматривать как модификацию, развитие, уточнение модели OSI. Стандарты, определяемые этой моделью (так называемые 802-спецификации) относятся к нижним двум уровням модели OSI и делятся на двенадцать категорий, каждой из которых присвоен свой номер:
Рис. 5.4. Подуровни LLC и MAC канального уровня
802.1 объединение сетей с помощью мостов и коммутаторов
802.2 управление логической связью на подуровне LLC.
802.3 локальная сеть с методом доступа CSMA/CD и топологией шина (Ethernet).
802.4 локальная сеть с топологией шина и маркерным доступом (Token-Bus).
802.5 локальная сеть с топологией кольцо и маркерным доступом (Token-Ring).
802.6 городская сеть (Metropolitan Area Network, MAN) с расстояниями между абонентами более 5 км.
802.7 широкополосная технология передачи данных.
802.8 оптоволоконная технология.
802.9 интегрированные сети с возможностью передачи речи и данных.
802.10 безопасность сетей, шифрование данных.
802.11 беспроводная сеть по радиоканалу (WLAN Wireless LAN).
802.12 локальная сеть с централизованным управлением доступом по приоритетам запросов и топологией звезда (100VG-AnyLAN).
Аппаратура локальных сетей
Аппаратура локальных сетей обеспечивает реальную связь между абонентами. Выбор аппаратуры имеет важнейшее значение на этапе проектирования сети, так как стоимость аппаратуры составляет наиболее существенную часть от стоимости сети в целом, а замена аппаратуры связана не только с дополнительными расходами, но зачастую и с трудоемкими работами. К аппаратуре локальных сетей относятся:
О первых трех компонентах сетевой аппаратуры уже говорилось в предыдущих главах. А сейчас следует остановиться на функциях остальных компонентов.
Сетевые адаптеры (они же контроллеры, карты, платы, интерфейсы, NIC Network Interface Card) это основная часть аппаратуры локальной сети. Назначение сетевого адаптера сопряжение компьютера (или другого абонента) с сетью, то есть обеспечение обмена информацией между компьютером и каналом связи в соответствии с принятыми правилами обмена. Именно они реализуют функции двух нижних уровней модели OSI. Как правило, сетевые адаптеры выполняются в виде платы ( рис. 5.5), вставляемой в слоты расширения системной магистрали (шины) компьютера (чаще всего PCI, ISA или PC-Card). Плата сетевого адаптера обычно имеет также один или несколько внешних разъемов для подключения к ней кабеля сети.
Рис. 5.5. Плата сетевого адаптера
Например, сетевые адаптеры Ethernet могут выпускаться со следующими наборами разъемов:
Функции сетевого адаптера делятся на магистральные и сетевые. К магистральным относятся те функции, которые осуществляют взаимодействие адаптера с магистралью (системной шиной) компьютера (то есть опознание своего магистрального адреса, пересылка данных в компьютер и из компьютера, выработка сигнала прерывания процессора и т.д.). Сетевые функции обеспечивают общение адаптера с сетью.
К основным сетевым функциям адаптеров относятся:
гальваническая развязка компьютера и кабеля локальной сети (для этого обычно используется передача сигналов через импульсные трансформаторы);
преобразование логических сигналов в сетевые (электрические или световые) и обратно;
кодирование и декодирование сетевых сигналов, то есть прямое и обратное преобразование сетевых кодов передачи информации (например, манчестерский код);
опознание принимаемых пакетов (выбор из всех приходящих пакетов тех, которые адресованы данному абоненту или всем абонентам сети одновременно);
преобразование параллельного кода в последовательный при передаче и обратное преобразование при приеме;
буферизация передаваемой и принимаемой информации в буферной памяти адаптера ;
организация доступа к сети в соответствии с принятым методом управления обменом;
подсчет контрольной суммы пакетов при передаче и приеме.
Типичный алгоритм взаимодействия компьютера с сетевым адаптером выглядит следующим образом.
Если компьютер хочет передать пакет, то он сначала формирует этот пакет в своей памяти, затем пересылает его в буфернуюпамять сетевого адаптера и дает команду адаптеру на передачу. Адаптер анализирует текущее состояние сети и при первой же возможности выдает пакет в сеть (выполняет управление доступом к сети). При этом он производит преобразование информации из буферной памяти в последовательный вид для побитной передачи по сети, подсчитывает контрольную сумму, кодирует биты пакета в сетевой код и через узел гальванической развязки выдает пакет в кабель сети. Буферная память в данном случае позволяет освободить компьютер от контроля состояния сети, а также обеспечить требуемый для сети темп выдачи информации.
Если по сети приходит пакет, то сетевой адаптер через узел гальванической развязки принимает биты пакета, производит ихдекодирование из сетевого кода и сравнивает сетевой адрес приемника из пакета со своим собственным адресом. Адрес сетевого адаптера, как правило, устанавливается производителем адаптера. Если адрес совпадает, то сетевой адаптер записывает пришедший пакет в свою буферную память и сообщает компьютеру (обычно сигналом аппаратного прерывания) о том, что пришел пакет и его надо читать. Одновременно с записью пакета производится подсчет контрольной суммы, что позволяет к концу приема сделать вывод, имеются ли ошибки в этом пакете. Буферная память в данном случае опять же позволяет освободить компьютер от контроля сети, а также обеспечить высокую степень готовности сетевого адаптера к приему пакетов.
Чаще всего сетевые функции выполняются специальными микросхемами высокой степени интеграции, что дает возможность снизить стоимость адаптера и уменьшить площадь его платы.
Некоторые адаптеры позволяют реализовать функцию удаленной загрузки, то есть поддерживать работу в сети бездисковых компьютеров, загружающих свою операционную систему прямо из сети. Для этого в состав таких адаптеров включается постоянная память с соответствующей программой загрузки. Правда, не все сетевые программные средства поддерживают данный режим работы.
Сетевой адаптер выполняет функции первого и второго уровней модели OSI ( рис. 5.6).
Рис. 5.6. Функции сетевого адаптера в модели OSI
Все остальные аппаратные средства локальных сетей (кроме адаптеров ) имеют вспомогательный характер, и без них часто можно обойтись. Это сетевые промежуточные устройства.
Трансиверы или приемопередатчики (от английского TRANsmitter + reCEIVER) служат для передачи информации междуадаптером и кабелем сети или между двумя сегментами (частями) сети. Трансиверы усиливают сигналы, преобразуют их уровниили преобразуют сигналы в другую форму (например, из электрической в световую и обратно). Трансиверами также часто называют встроенные в адаптер приемопередатчики.
Репитеры или повторители (repeater) выполняют более простую функцию, чем трансиверы. Они не преобразуют ни уровнисигналов, ни их физическую природу, а только восстанавливают ослабленные сигналы (их амплитуду и форму), приводя их к исходному виду. Цель такой ретрансляции сигналов состоит исключительно в увеличении длины сети ( рис. 5.7).
Рис. 5.7. Соединение репитером двух сегментов сети
Однако часто репитеры выполняют и некоторые другие, вспомогательные функции, например, гальваническую развязку соединяемых сегментов и оконечное согласование. Репитеры так же как трансиверы не производят никакой информационной обработки проходящих через них сигналов.
Рис. 5.8. Структура репитерного концентратора
Концентраторы (хабы, hub), как следует из их названия, служат для объединения в сеть нескольких сегментов. Концентраторы(или репитерные концентраторы) представляют собой несколько собранных в едином конструктиве репитеров, они выполняют те же функции, что и репитеры ( рис. 5.8).
Преимущество подобных концентраторов по сравнению с отдельными репитерами в том, что все точки подключения собраны в одном месте, это упрощает реконфигурацию сети, контроль и поиск неисправностей. К тому же все репитеры в данном случае питаются от единого качественного источника питания.
Концентраторы иногда вмешиваются в обмен, помогая устранять некоторые явные ошибки обмена. В любом случае они работают на первом уровне модели OSI, так как имеют дело только с физическими сигналами, с битами пакета и не анализируют содержимое пакета, рассматривая пакет как единое целое ( рис. 5.9). На первом же уровне работают и трансиверы, и репитеры.
Рис. 5.9. Функции концентраторов, репитеров и трансиверов в модели OSI
Выпускаются также совсем простые концентраторы, которые соединяют сегменты сети без восстановления формы сигналов. Они не увеличивают длину сети.
Коммутаторы (свичи, коммутирующие концентраторы, switch), как и концентраторы, служат для соединения сегментов в сеть. Они также выполняют более сложные функции, производя сортировку поступающих на них пакетов.
Коммутаторы передают из одного сегмента сети в другой не все поступающие на них пакеты, а только те, которые адресованы компьютерам из другого сегмента. Пакеты, передаваемые между абонентами одного сегмента, через коммутатор не проходят. При этом сам пакет коммутатором не принимается, а только пересылается. Интенсивность обмена в сети снижается вследствие разделения нагрузки, поскольку каждый сегмент работает не только со своими пакетами, но и с пакетами, пришедшими из других сегментов.
Коммутатор работает на втором уровне модели OSI ( подуровень MAC ), так как анализирует МАС-адреса внутри пакета ( рис. 5.10). Естественно, он выполняет и функции первого уровня.
Рис. 5.10. Функции коммутаторов в модели OSI
В последнее время объем выпуска коммутаторов сильно вырос, цена на них упала, поэтому коммутаторы постепенно вытесняютконцентраторы.
Мосты (bridge), маршрутизаторы (router ) и шлюзы (gateway) служат для объединения в одну сеть нескольких разнородных сетей с разными протоколами обмена нижнего уровня, в частности, с разными форматами пакетов, методами кодирования, скоростью передачи и т.д. В результате их применения сложная и неоднородная сеть, содержащая в себе различные сегменты, с точки зрения пользователя выглядит самой обычной сетью. Обеспечивается прозрачность сети для протоколов высокого уровня. Все они гораздо дороже, чем концентраторы, так как от них требуется довольно сложная обработка информации. Реализуются они обычно на базе компьютеров, подключенных к сети с помощью сетевых адаптеров. По сути, они представляют собой специализированные абоненты (узлы) сети.
Мосты наиболее простые устройства, служащие для объединения сетей с разными стандартами обмена, например, Ethernet и Arcnet, или нескольких сегментов (частей) одной и той же сети, например, Ethernet ( рис. 5.11). В последнем случае мост, как икоммутатор, только разделяет нагрузку сегментов, повышая тем самым производительность сети в целом. В отличие откоммутаторов мосты принимают поступающие пакеты целиком и в случае необходимости производят их простейшую обработку.Мосты, как и коммутаторы, работают на втором уровне модели OSI ( рис. 5.10), но в отличие от них могут захватывать также и верхний подуровень LLC второго уровня (для связи разнородных сетей). В последнее время мосты быстро вытесняютсякоммутаторами, которые становятся более функциональными.
Рис. 5.11. Включение моста
Маршрутизаторы осуществляют выбор оптимального маршрута для каждого пакета с целью избежания чрезмерной нагрузки отдельных участков сети и обхода поврежденных участков. Они применяются, как правило, в сложных разветвленных сетях, имеющих несколько маршрутов между отдельными абонентами. Маршрутизаторы не преобразуют протоколы нижних уровней, поэтому они соединяют только сегменты одноименных сетей.
Маршрутизаторы работают на третьем уровне модели OSI, так как они анализируют не только MAC-адреса пакета, но и IP-адреса, то есть более глубоко проникают в инкапсулированный пакет ( рис. 5.12).
Рис. 5.12. Функции маршрутизатора в модели OSI
Существуют также гибридные маршрутизаторы (brouter), представляющие собой гибрид моста и маршрутизатора. Они выделяют пакеты, которым нужна маршрутизация и обрабатывают их как маршрутизатор, а для остальных пакетов служат обычным мостом.
Шлюзы это устройства для соединения сетей с сильно отличающимися протоколами, например, для соединения локальных сетей с большими компьютерами или с глобальными сетями. Это самые дорогие и редко применяемые сетевые устройства. Шлюзы реализуют связь между абонентами на верхних уровнях модели OSI (с четвертого по седьмой). Соответственно, они должны выполнять и все функции нижестоящих уровней.
Подробнее промежуточные сетевые устройства будут рассмотрены в разделах, посвященных конкретным стандартным локальным сетям.
ОБЗОРНАЯ ЛЕКЦИЯ №5
Технология Ethernet - это самая распространенная технология локальных сетей.
В сетях Ethernet применяется множественный доступ с контролем несущей и обнаружением коллизий (Carrier Sense Multiply Accesswith Collision Detection - CSMA/CD ). Все компьютеры сети имеют доступ к общей шине через встроенный в каждый компьютерсетевой адаптер, используя полудуплексный режим передачи. Схема подключения компьютеров по коаксиальному кабелю приведена на рис. 2.1.
увеличить изображение
Рис. 2.1. Сеть Ethernet на коаксиальном кабеле (стандарты 10Base5/10Base2)
Станции на традиционной локальной сети Ethernet могут быть соединены вместе, используя физическую шину или звездную топологию, но логическая топология - всегда шинная. Под этим мы подразумеваем, что среда (канал) разделена между станциями и только одна станция одновременно может использовать ее. Также подразумевается, что все станции получают кадр, посланный станцией (широковещательная передача). Адресованный пункт назначения сохраняет кадр, в то время как остальные отбрасывают ее. Каким образом в этой ситуации мы можем убедиться, что две станции не используют среду в одно и то же время? Ответ: если их кадры столкнутся друг с другом. CSMA/CD разработан, чтобы решить эту проблему согласно следующим принципам (см. " Абонентские сети доступа" ):
Каждая станция имеет равное право на среду (коллективный доступ).
Каждая станция, имеющая кадр для того, чтобы послать его, сначала "слушает" (отслеживает) среду. Если в среде нет данных, станция может начать передачу (слежение за несущей частотой).
Может случиться, что две станции, следящие за средой, находят, что она не занята, и начинают посылать данные. В этом случае возникает конфликт, называемый коллизией. Протокол заставляет станцию продолжать следить за линией после того, как передача началась. Если есть конфликт, то все станции его обнаруживают, каждая передающая станция передает сигнал сбоя в работе, чтобы уничтожить данные линии, и после этого каждый раз ждет различное случайное время для новой попытки. Случайные времена предотвращают одновременную повторную посылку данных.
Перед началом передачи узел должен убедиться, что несущая среда не занята, признаком чего является отсутствие на ней несущей частоты. Если среда свободна, то узел имеет право начать передачу кадра определенного формата. Предположим, что узлу 2 требуется передать кадр узлу N. Обнаружив, что среда свободна, узел 2 начинает передачу кадра ( рис. 2.1), которая предваряется преамбулой (preamble), состоящей из 7 байт вида 101010, и байта начала кадра (Start of Frame Delimiter - SFD) вида 10101011. Эти комбинации нужны приемнику для вхождения в побитовый и кадровый синхронизм с передатчиком.Кадр заканчивается полем последовательности контроля кадра (FCS - Frame Check Sequence) длиной 4 байта (на рис. 2.1 не показано). Сигналы передатчика распространяются по кабелю в обе стороны, и все узлы распознают начало передачи кадра. Только узел N опознает свой собственный адрес (МАС адрес назначения) в начале кадра и записывает его содержимое в свойбуфер для обработки. Из принятого кадра определяется адрес источника (МАС адрес источника), которому следует выслать кадрответ.
увеличить изображение
Рис. 2.1.
Получатель пакета на 3-м уровне определяется в соответствии с полем Тип протокола (Protocol Type): значение -адрес модуля IP, - адрес модуля . Минимальное и максимальное значения длины поля для протоколов верхних уровней - 46 и 1500 байт соответственно. Порядок передачи бит кадра: слева направо / снизу вверх ( рис. 2.2), цифрами обозначены длины полей кадра в байтах.
увеличить изображение
Рис. 2.2.
Любой узел при наличии кадра к передаче и занятой среды вынужден ждать ее освобождения. Признаком окончания передачи является пропадание несущей частоты. После окончания передачи кадра все узлы должны выдержать технологическую паузу 9,6 мкс, чтобы привести сетевые адаптеры в исходное состояние и предотвратить повторный захват среды одним и тем же узлом.
Иногда возникают ситуации, когда один узел уже начал передачу, но другой узел еще не успел это обнаружить и также начинает передачу своего кадра. Такая ситуация захвата свободной среды более чем одним узлом называется коллизией. Механизм разрешения коллизии состоит в следующем ( рис. 2.3):
увеличить изображение
Рис. 2.3. Обмен сигналами при возникновении коллизии
Узел, ведущий передачу кадра, одновременно наблюдает за приемом. Если уровень принимаемого сигнала не превышает порогового значения, то узел продолжает передачу, если же превышает, то узел прекращает передачу кадра и посылает в сетьспециальную 32-битную jam-комбинацию (сигнал коллизии) с нерегламентированной последовательностью, просто приводящей к повышению уровня сигнала в локальной сети из-за увеличения амплитуды импульсов манчестерского кода суммарного сигнала. После этого узел, обнаруживший коллизию, делает случайную паузу и затем снова может повторить попытку передачи кадра. Число повторных попыток не может превысить 16. Если же и после 16-й попытки кадр вызвал коллизию, то он отбрасывается. При большом количестве узлов вероятность коллизии возрастает, и пропускная способность сети Ethernet падает, т.к. сеть все большее время занята обработками коллизий и отбрасыванием кадров.
Три фактора определяют работу CSMA/CD (см. " Абонентские сети доступа" ): минимальная длина кадра, скорость передачиданных и домен конфликта.
Станции нужно ждать определенное время, чтобы убедиться, что на линии нет никаких данных, - это время равно минимальной длине кадра, разделенной на скорость передачи (время, которое требуется, чтобы передать кадр минимальной длины), и пропорционально времени, необходимому для первого бита, чтобы пройти максимальное сетевое расстояние (домен конфликта). Другими словами, мы имеем:
Минимальная длина кадра / Скорость передачи - пропорциональна
Домен конфликта / Скорость Распространения
В традиционной Локальной сети Ethernet, минимальная длина кадра - 520 бит, скорость передачи - 10 Mбит/с, скорость распространения - почти равна скорости света, и домен конфликта - около 2500 метров.
Сеть Token-Ring
Сеть Token-Ring (маркерное кольцо) была предложена компанией IBM в 1985 году (первый вариант появился в 1980 году). Она предназначалась для объединения в сеть всех типов компьютеров, выпускаемых IBM. Уже тот факт, что ее поддерживает компания IBM, крупнейший производитель компьютерной техники, говорит о том, что ей необходимо уделить особое внимание. Но не менее важно и то, что Token-Ring является в настоящее время международным стандартом IEEE 802.5 (хотя между Token-Ring и IEEE 802.5 есть незначительные отличия). Это ставит данную сеть на один уровень по статусу с Ethernet.
Разрабатывалась Token-Ring как надежная альтернатива Ethernet. И хотя сейчас Ethernet вытесняет все остальные сети, Token-Ring нельзя считать безнадежно устаревшей. Более 10 миллионов компьютеров по всему миру объединены этой сетью.
Компания IBM сделала все для максимально широкого распространения своей сети: была выпущена подробная документация вплоть до принципиальных схем адаптеров. В результате многие компании, например, 3СOM, Novell, Western Digital, Proteon и другие приступили к производству адаптеров. Кстати, специально для этой сети, а также для другой сети IBM PC Network была разработана концепция NetBIOS. Если в созданной ранее сети PC Network программы NetBIOS хранились во встроенной в адаптерпостоянной памяти, то в сети Token-Ring уже применялась эмулирующая NetBIOS программа. Это позволило более гибко реагировать на особенности аппаратуры и поддерживать совместимость с программами более высокого уровня.
Сеть Token-Ring имеет топологию кольцо, хотя внешне она больше напоминает звезду. Это связано с тем, что отдельные абоненты (компьютеры) присоединяются к сети не напрямую, а через специальные концентраторы или многостанционные устройства доступа (MSAU или MAU Multistation Access Unit). Физически сеть образует звездно-кольцевую топологию (рис. 7.3). В действительности же абоненты объединяются все-таки в кольцо, то есть каждый из них передает информацию одному соседнему абоненту, а принимает информацию от другого.
Рис. 7.3. Звездно-кольцевая топология сети Token-Ring
Концентратор (MAU) при этом позволяет централизовать задание конфигурации, отключение неисправных абонентов, контрольработы сети и т.д. (рис. 7.4). Никакой обработки информации он не производит.
Рис. 7.4. Соединение абонентов сети Token-Ring в кольцо с помощью концентратора (MAU)
Для каждого абонента в составе концентратора применяется специальный блок подключения к магистрали (TCU Trunk CouplingUnit), который обеспечивает автоматическое включение абонента в кольцо, если он подключен к концентратору и исправен. Еслиабонент отключается от концентратора или же он неисправен, то блок TCU автоматически восстанавливает целостность кольца без участия данного абонента. Срабатывает TCU по сигналу постоянного тока (так называемый "фантомный" ток), который приходит от абонента, желающего включиться в кольцо. Абонент может также отключиться от кольца и провести процедурусамотестирования (крайний правый абонент на рис. 7.4). "Фантомный" ток никак не влияет на информационный сигнал, так как сигнал в кольце не имеет постоянной составляющей.
Конструктивно концентратор представляет собой автономный блок с десятью разъемами на передней панели (рис. 7.5).
Рис. 7.5. Концентратор Token-Ring (8228 MAU)
Восемь центральных разъемов (1...8) предназначены для подключения абонентов (компьютеров) с помощью адаптерных (Adaptercable) или радиальных кабелей. Два крайних разъема: входной RI (Ring In) и выходной RO (Ring Out) служат для подключения к другим концентраторам с помощью специальных магистральных кабелей (Path cable). Предлагаются настенный и настольный варианты концентратора.
Существуют как пассивные, так и активные концентраторы MAU. Активный концентратор восстанавливает сигнал, приходящий от абонента (то есть работает, как концентратор Ethernet ). Пассивный концентратор не выполняет восстановление сигнала, только перекоммутирует линии связи.
Концентратор в сети может быть единственным (как на рис.7.4), в этом случае в кольцо замыкаются только абоненты, подключенные к нему. Внешне такая топология выглядит, как звезда. Если же нужно подключить к сети более восьми абонентов, то несколько концентраторов соединяются магистральными кабелями и образуют звездно-кольцевую топологию.
Как уже отмечалось, кольцевая топология очень чувствительна к обрывам кабеля кольца. Для повышения живучести сети, вToken-Ring предусмотрен режим так называемого сворачивания кольца, что позволяет обойти место обрыва.
В нормальном режиме концентраторы соединены в кольцо двумя параллельными кабелями, но передача информации производится при этом только по одному из них (рис. 7.6).
Рис. 7.6. Объединение концентраторов MAU в нормальном режиме
В случае одиночного повреждения (обрыва) кабеля сеть осуществляет передачу по обоим кабелям, обходя тем самым поврежденный участок. При этом даже сохраняется порядок обхода абонентов, подключенных к концентраторам (рис. 7.7). Правда, увеличивается суммарная длина кольца.
В случае множественных повреждений кабеля сеть распадается на несколько частей (сегментов), не связанных между собой, но сохраняющих полную работоспособность (рис. 7.8). Максимальная часть сети остается при этом связанной, как и прежде. Конечно, это уже не спасает сеть в целом, но позволяет при правильном распределении абонентов по концентраторам сохранять значительную часть функций поврежденной сети.
Несколько концентраторов может конструктивно объединяться в группу, кластер (cluster), внутри которого абоненты также соединены в кольцо. Применение кластеров позволяет увеличивать количество абонентов, подключенных к одному центру, например, до 16 (если в кластер входит два концентратора).
Рис. 7.7. Сворачивание кольца при повреждении кабеля
Рис. 7.8. Распад кольца при множественных повреждениях кабеля
В качестве среды передачи в сети IBM Token-Ring сначала применялась витая пара, как неэкранированная (UTP), так и экранированная (STP), но затем появились варианты аппаратуры для коаксиального кабеля, а также для оптоволоконного кабеля в стандарте FDDI.
Основные технические характеристики классического варианта сети Token-Ring:
Все приведенные характеристики относятся к случаю использования неэкранированной витой пары. Если применяется другаясреда передачи, характеристики сети могут отличаться. Например, при использовании экранированной витой пары (STP) количество абонентов может быть увеличено до 260 (вместо 96), длина кабеля до 100 метров (вместо 45), количество концентраторов до 33, а полная длина кольца, соединяющего концентраторы до 200 метров. Оптоволоконный кабельпозволяет увеличивать длину кабеля до двух километров.
Для передачи информации в Token-Ring применяется бифазный код (точнее, его вариант с обязательным переходом в центре битового интервала). Как и в любой звездообразной топологии, никаких дополнительных мер по электрическому согласованию и внешнему заземлению не требуется. Согласование выполняется аппаратурой сетевых адаптеров и концентраторов.
Для присоединения кабелей в Token-Ring используются разъемы RJ-45 (для неэкранированной витой пары), а также MIC и DB9P. Провода в кабеле соединяют одноименные контакты разъемов (то есть используются так называемые "прямые" кабели).
Сеть Token-Ring в классическом варианте уступает сети Ethernet как по допустимому размеру, так и по максимальному количеству абонентов. Что касается скорости передачи, то в настоящее время имеются версии Token-Ring на скорость 100 Мбит/с (HighSpeed Token-Ring, HSTR) и на 1000 Мбит/с (Gigabit Token-Ring). Компании, поддерживающие Token-Ring (среди которых IBM, Olicom, Madge), не намерены отказываться от своей сети, рассматривая ее как достойного конкурента Ethernet.
По сравнению с аппаратурой Ethernet аппаратура Token-Ring заметно дороже, так как используется более сложный метод управления обменом, поэтому сеть Token-Ring не получила столь широкого распространения.
Однако в отличие от Ethernet сеть Token-Ring значительно лучше держит высокий уровень нагрузки (более 3040%) и обеспечивает гарантированное время доступа. Это необходимо, например, в сетях производственного назначения, в которых задержка реакции на внешнее событие может привести к серьезным авариям.
В сети Token-Ring используется классический маркерный метод доступа, то есть по кольцу постоянно циркулирует маркер, к которому абоненты могут присоединять свои пакеты данных (см. рис. 7.8). Отсюда следует такое важное достоинство данной сети, как отсутствие конфликтов, но есть и недостатки, в частности необходимость контроля целостности маркера и зависимость функционирования сети от каждого абонента (в случае неисправности абонент обязательно должен быть исключен из кольца).
Предельное время передачи пакета в Token-Ring 10 мс. При максимальном количестве абонентов 260 полный цикл работы кольца составит 260 x 10 мс = 2,6 с. За это время все 260 абонентов смогут передать свои пакеты (если, конечно, им есть чего передавать). За это же время свободный маркер обязательно дойдет до каждого абонента. Этот же интервал является верхним пределом времени доступа Token-Ring.
Каждый абонент сети (его сетевой адаптер) должен выполнять следующие функции:
Большое количество функций, конечно, усложняет и удорожает аппаратуру сетевого адаптера.
Для контроля целостности маркера в сети используется один из абонентов (так называемый активный монитор). При этом его аппаратура ничем не отличается от остальных, но его программные средства следят за временными соотношениями в сети и формируют в случае необходимости новый маркер.
Активный монитор выполняет следующие функции:
запускает в кольцо маркер в начале работы и при его исчезновении;
регулярно (раз в 7 с) сообщает о своем присутствии специальным управляющим пакетом (AMP Active Monitor Present);
удаляет из кольца пакет, который не был удален пославшим его абонентом;
следит за допустимым временем передачи пакета.
Активный монитор выбирается при инициализации сети, им может быть любой компьютер сети, но, как правило, становится первый включенный в сеть абонент. Абонент, ставший активным монитором, включает в сеть свой буфер (сдвиговый регистр), который гарантирует, что маркер будет умещаться в кольце даже при минимальной длине кольца. Размер этого буфера 24 бита для скорости 4 Мбит/с и 32 бита для скорости 16 Мбит/с.
Каждый абонент постоянно следит за тем, как активный монитор выполняет свои обязанности. Если активный монитор по какой-то причине выходит из строя, то включается специальный механизм, посредством которого все другие абоненты (запасные, резервные мониторы) принимают решение о назначении нового активного монитора. Для этого абонент, обнаруживший аварию активного монитора, передает по кольцу управляющий пакет (пакет запроса маркера) со своим MAC-адресом. Каждый следующийабонент сравнивает MAC-адрес из пакета с собственным. Если его собственный адрес меньше, он передает пакет дальше без изменений. Если же больше, то он устанавливает в пакете свой MAC-адрес. Активным монитором станет тот абонент, у которогозначение MAC-адреса больше, чем у остальных (он должен трижды получить обратно пакет со своим MAC-адресом). Признаком выхода из строя активного монитора является невыполнение им одной из перечисленных функций.
Маркер сети Token-Ring представляет собой управляющий пакет, содержащий всего три байта (рис. 7.9): байт начального разделителя (SD Start Delimiter), байт управления доступом (AC Access Control) и байт конечного разделителя (ED EndDelimiter). Все эти три байта входят также в состав информационного пакета, правда, функции их в маркере и в пакете несколько различаются.
Начальный и конечный разделители представляют собой не просто последовательность нулей и единиц, а содержат сигналы специального вида. Это было сделано для того, чтобы разделители нельзя было спутать ни с какими другими байтами пакетов.
Рис. 7.9. Формат маркера сети Token-Ring
Начальный разделитель SD содержит четыре нестандартных битовых интервала (рис. 7.10). Два из них, обозначающихся J, представляют собой низкий уровень сигнала в течение всего битового интервала. Два других бита, обозначающихся К, представляют собой высокий уровень сигнала в течение всего битового интервала. Понятно, что такие сбои в синхронизации легко выявляются приемником. Биты J и K никогда не могут встречаться среди битов полезной информации.
Рис. 7.10. Форматы начального (SD) и конечного (ED) разделителей
Конечный разделитель ED также содержит в себе четыре бита специального вида (два бита J и два бита K), а также два единичных бита. Но, кроме того, в него входят и два информационных бита, которые имеют смысл только в составе информационного пакета:
Бит I (Intermediate) представляет собой признак промежуточного пакета (1 соответствует первому в цепочке или промежуточному пакету, 0 последнему в цепочке или единственному пакету).
Бит E (Error) является признаком обнаруженной ошибки (0 соответствует отсутствию ошибок, 1 их наличию).
Байт управления доступом (AC Access Control) разделен на четыре поля (рис. 7.11): поле приоритета (три бита), бит маркера,бит монитора и поле резервирования (три бита).
Рис. 7.11. Формат байта управления доступом
Биты (поле) приоритета позволяют абоненту присваивать приоритет своим пакетам или маркеру (приоритет может быть от 0 до 7, причем 7 соответствует наивысшему приоритету, а 0 низшему). Абонент может присоединить к маркеру свой пакет только тогда, когда его собственный приоритет (приоритет его пакетов) такой же или выше приоритета маркера.
Бит маркера определяет, присоединен ли к маркеру пакет или нет (единица соответствует маркеру без пакета, нуль маркеру с пакетом). Бит монитора, установленный в единицу, говорит о том, что данный маркер передан активным монитором.
Биты (поле) резервирования позволяют абоненту зарезервировать свое право на дальнейший захват сети, то есть занять очередьна обслуживание. Если приоритет абонента (приоритет его пакетов) выше, чем текущее значение поля резервирования, то он может записать туда свой приоритет вместо прежнего. После обхода по кольцу в поле резервирования будет записан наивысший приоритет из всех абонентов. Содержимое поля резервирования аналогично содержимому поля приоритета, но говорит о будущем приоритете.
В результате использования полей приоритета и резервирования обеспечивается возможность доступа к сети только абонентам, имеющим пакеты для передачи с наивысшим приоритетом. Менее приоритетные пакеты будут обслуживаться только поисчерпании более приоритетных пакетов.
Формат информационного пакета (кадра) Token-Ring представлен на рис. 7.12. Помимо начального и конечного разделителей, а также байта управления доступом в этот пакет входят также байт управления пакетом, сетевые адреса приемника и передатчика, данные, контрольная сумма и байт состояния пакета.
Рис. 7.12. Формат пакета (кадра) сети Token-Ring (длина полей дана в байтах)
Назначение полей пакета (кадра).
Начальный разделитель (SD) является признаком начала пакета, формат такой же, как и в маркере.
Байт управления доступом (AC) имеет тот же формат, что и в маркере.
Байт управления пакетом (FC Frame Control) определяет тип пакета (кадра).
Шестибайтовые MAC-адреса отправителя и получателя пакета имеют стандартный формат, описанный в лекции 4.
Поле данных (Data) включает в себя передаваемые данные (в информационном пакете) или информацию для управления обменом (в управляющем пакете).
Поле контрольной суммы (FCS Frame Check Sequence) представляет собой 32-разрядную циклическую контрольную сумму пакета (CRC).
Конечный разделитель (ED), как и в маркере, указывает на конец пакета. Кроме того, он определяет, является ли данный пакет промежуточным или заключительным в последовательности передаваемых пакетов, а также содержит признак ошибочности пакета (см. рис. 7.10).
Байт состояния пакета (FS Frame Status) говорит о том, что происходило с данным пакетом: был ли он увиден приемником (то есть, существует ли приемник с заданным адресом) и скопирован в память приемника. По нему отправитель пакета узнает, дошел ли пакет по назначению и без ошибок или его надо передавать заново.
Следует отметить, что больший допустимый размер передаваемых данных в одном пакете по сравнению с сетью Ethernet может стать решающим фактором для увеличения производительности сети. Теоретически для скоростей передачи 16 Мбит/с и 100 Мбит/с длина поля данных может достигать даже 18 Кбайт, что принципиально при передаче больших объемов данных. Но даже при скорости 4 Мбит/с благодаря маркерному методу доступа сеть Token-Ring часто обеспечивает большую фактическую скорость передачи, чем сеть Ethernet (10 Мбит/с). Особенно заметно преимущество Token-Ring при больших нагрузках (свыше 3040%), так как в этом случае метод CSMA/CD требует много времени на разрешение повторных конфликтов.
Абонент, желающий передавать пакет, ждет прихода свободного маркера и захватывает его. Захваченный маркер превращается в обрамление информационного пакета. Затем абонент передает информационный пакет в кольцо и ждет его возвращения. После этого он освобождает маркер и снова посылает его в сеть.
Помимо маркера и обычного пакета в сети Token-Ring может передаваться специальный управляющий пакет, служащий для прерывания передачи (Abort). Он может быть послан в любой момент и в любом месте потока данных. Пакет этот состоит из двух однобайтовых полей начального (SD) и конечного (ED) разделителей описанного формата.
Интересно, что в более быстрой версии Token-Ring (16 Мбит/с и выше) применяется так называемый метод раннего формирования маркера (ETR Early Token Release). Он позволяет избежать непроизводительного использования сети в то время, пока пакет данных не вернется по кольцу к своему отправителю.
Метод ETR сводится к тому, что сразу после передачи своего пакета, присоединенного к маркеру, любой абонент выдает в сетьновый свободный маркер. Другие абоненты могут начинать передачу своих пакетов сразу же после окончания пакета предыдущего абонента, не дожидаясь, пока он завершит обход всего кольца сети. В результате в сети может находиться несколько пакетов одновременно, но всегда будет не более одного свободного маркера. Этот конвейер особенно эффективен в сетях большой протяженности, имеющих значительную задержку распространения.
При подключении абонента к концентратору он выполняет процедуру автономного самотестирования и тестирования кабеля (в кольцо он пока не включается, так как нет сигнала "фантомного" тока). Абонент посылает сам себе ряд пакетов и проверяет правильность их прохождения (его вход напрямую соединен с его же выходом блоком TCU, как показано на рис. 7.4). После этогоабонент включает себя в кольцо, посылая "фантомный" ток. В момент включения, передаваемый по кольцу пакет может быть испорчен. Далее абонент настраивает синхронизацию и проверяет наличие в сети активного монитора. Если активного монитора нет, абонент начинает состязание за право стать им. Затем абонент проверяет уникальность собственного адреса в кольце и собирает информацию о других абонентах. После чего он становится полноправным участником обмена по сети.
В процессе обмена каждый абонент следит за исправностью предыдущего абонента (по кольцу). Если он подозревает отказ предыдущего абонента, он запускает процедуру автоматического восстановления кольца. Специальный управляющий пакет (бакен) говорит предыдущему абоненту о необходимости провести самотестирование и, возможно, отключиться от кольца.
В сети Token-Ring предусмотрено также использование мостов и коммутаторов. Они применяются для разделения большого кольца на несколько кольцевых сегментов, имеющих возможность обмена пакетами между собой. Это позволяет снизить нагрузку на каждый сегмент и увеличить долю времени, предоставляемую каждому абоненту.
В результате можно сформировать распределенное кольцо, то есть объединение нескольких кольцевых сегментов одним большим магистральным кольцом (рис. 7.13) или же звездно-кольцевую структуру с центральным коммутатором, к которому подключены кольцевые сегменты (рис. 7.14).
Рис. 7.13. Объединение сегментов магистральным кольцом с помощью мостов
Рис. 7.14. Объединение сегментов центральным коммутатором
ОБЗОРНАЯ ЛЕКЦИЯ №6
Метод доступа к сети
Метод доступа определяет алгоритм, согласно которому узлы сети получают доступ к среде передачи данных и осуществляютмультиплексирование/ демультиплексирование данных.
В 1970-х годах Норман Абрахамсон вместе с сотрудниками Гавайского университета предложил оригинальный способ решения проблемы доступа к сети, который был назван позднее ALOHA. Этот алгоритм использовался для доступа к радиоканалу большого числа независимых пользователей. ALOHA разрешает всем пользователям передачу тогда, когда им это оказалось нужно. При этом неизбежны столкновения и искажения передаваемых данных. Алгоритм, благодаря обратной связи, позволяет отправителям узнать, были ли данные в процессе передачи искажены. Если зарегистрировано такое столкновение, все вовлеченные участники выжидают некоторое время и предпринимают повторную попытку. Время выдержки выбирается случайным образом, что делает повторные столкновения менее вероятными.
Принципиальное отличие алгоритма ALOHA от CSMA/CD (используемого в Ethernet) с точки зрения столкновений заключается в том, что в первом случае столкновения детектируются на входе получателя, а во втором на выходе отправителя.
Мультиплексирование можно осуществлять по частоте (по длине волны FDM ), предоставляя разным клиентам разные частотные диапазоны, или по времени ( TDM ), разрешая доступ клиентов к сетевой среде по очереди и резервируя каждому из них для работы фиксированные последовательные временные интервалы. При этом необходима синхронизация работы всех участников процесса. В последнее время стало использоваться также мультиплексирование по кодам CDMA (Code Division Multiple Access), где каждому участнику выделяется уникальный чип-код и допускается использование всеми клиентами всего частотного диапазона в любой момент времени.
Большая часть современных локальных сетей базируется на алгоритме доступа CSMA/CD (Carrier Sensitive Multiple Access withCollision Detection), где все узлы имеют равные возможности доступа к сетевой среде, а при одновременной попытке фиксируется столкновение и сеанс передачи повторяется позднее. Ряд разновидностей такого протокола рассмотрели Кляйнрок и Тобаги еще в 1975 году. После передачи очередного пакета (кадра) обычно делается некоторая пауза. После этого любой узел, подключенный к сетевому сегменту, может попытать счастья. Модификацией CSMA-алгоритма является схема, в которой после передачи кадра выделяется определенный временной домен (соревнования), когда претенденты могут выяснять отношения между собой. При столкновении начало передачи возможно только во время очередного домена соревнования. В этой модификации должен быть предусмотрен некоторый механизм синхронизации и исключения бесконечной череды столкновений.
Алгоритм CSMA предпочтительнее ALOHA, так как здесь ни один из пользователей не начинает передачу, если канал занят. Этот способ доступа покрывается патентами США 4063220 и 4099024 (Ксерокс), но IEEE имеет соглашение с этой компанией, которое разрешает использовать данный алгоритм без каких-либо ограничений. Здесь нет возможности приоритетного доступа, и по этой причине такие сети плохо приспособлены для задач управления в реальном масштабе времени. Некоторое видоизменение алгоритма CSMA/CD (как это сделано в сетях CAN или в IBM DSDB) позволяют преодолеть эти ограничения. Доступ по схемеCSMA/CD (из-за столкновений) предполагает ограничение на минимальную длину пакета. По существу метод доступа CSMA/CD (в полудуплексном случае) предполагает широковещательную передачу пакетов (не путать с широковещательной адресацией). Все рабочие станции логического сетевого сегмента воспринимают эти пакеты хотя бы частично, чтобы прочесть адресную часть. При широковещательной адресации пакеты не только считываются целиком в буфер, но и производится прерывание процессора для обработки факта прихода такого пакета.
Логика поведения субъектов в сети с доступом CSMA/CD может варьироваться. Здесь существенную роль играет то, синхронизовано ли время доступа у этих субъектов. В случае Ethernet такой синхронизации нет. В общем случае при наличии синхронизации возможны следующие алгоритмы:
А.
Если канал свободен, терминал передает пакет с вероятностью 1.
Если канал занят, терминал ждет его освобождения, после чего производится передача.
Б.
Если канал свободен, терминал передает пакет.
Если канал занят, терминал определяет время следующей попытки передачи. Это время может задаваться некоторым статистическим распределением.
В.
Если канал свободен, терминал с вероятностью р передает пакет, а с вероятностью 1р он откладывает передачу на tсекунд (например, на следующий временной домен).
При повторении попытки в случае свободного канала алгоритм не изменяется.
Если канал занят, терминал ждет, пока канал не освободится, после чего действует снова согласно алгоритму пункта 1.
Алгоритм А на первый взгляд представляется привлекательным, но в нем заложена возможность столкновений с вероятностью 100%. Алгоритмы Б и В более устойчивы в отношении этой проблемы.
Эффективность алгоритма CSMA зависит от того, как быстро передающая сторона узнает о факте столкновения и прерывает передачу, ведь продолжение бессмысленно данные уже повреждены. Это время зависит от длины сетевого сегмента и задержек в оборудовании сегмента. Удвоенное значение задержки определяет минимальную длину пакета, передаваемого в такой сети. Если пакет короче, он может быть передан так, что передающая сторона не узнает о его повреждении в результате столкновения. Для современных локальных сетей Ethernet, построенных на переключателях и полнодуплексных соединениях, эта проблема неактуальна.
С целью пояснения этого утверждения рассмотрим случай, когда одна из станций (1) передает пакет самой удаленной ЭВМ (2) в данном сетевом сегменте. Время распространения сигнала до этой машины пусть равно Т. Предположим также, что машина (2) попытается начать передачу как раз в момент прихода пакета от станции (1). В этом случае станция (1) узнает о столкновении лишь спустя время 2Т после начала передачи (время распространения сигнала от (1) до (2) плюс время распространения сигнала столкновения от (2) к (1)). Следует учитывать, что регистрация столкновения это аналоговый процесс и передающая станция должна "прослушивать" сигнал в кабеле в процессе передачи, сравнивая результат чтения с тем, что она передает. Важно, чтобы схема кодирования сигнала допускала детектирование столкновения. Например, сумма двух сигналов с уровнем 0 этого сделать не позволит. Можно подумать, что передача короткого пакета с искажением из-за столкновения не такая уж большая беда, проблему может решить контроль доставки и повторная передача.
Следует только учесть, что повторная передача в случае зарегистрированного интерфейсом столкновения осуществляется самим интерфейсом, а повторная передача в случае контроля доставки по отклику выполняется прикладным процессом, требуя ресурсов центрального процессора рабочей станции.
Сопоставление эффективности использования канала для различных протоколов произвольного доступа произведено на рис. 10.5.
Рис. 10.5. Сравнение эффективности канала для различных протоколов произвольного доступа и разных значений p
Протокол доступа CSMA может предполагать, что когда канал оказывается свободным, а рабочая станция готова начать передачу, реальная пересылка кадра в рамках заданного временного домена происходит с определенной вероятностью p. С вероятностью1-р передача будет отложена до следующего временного домена. В следующем домене, если канал свободен, с вероятностьюр осуществится передача или будет отложена до следующего домена и так далее. Процесс продолжается до тех пор, пока кадрне будет передан. На рисунке эта вероятность р отмечена цифрами после аббревиатуры "CSMA". В случае Ethernet этавероятность равна единице (CSMA-1) [46, Э. Таненбаум, стр. 302], то есть рабочая станция безусловно начнет передачу, если она к этому готова, а канал свободен. Из рисунка видно, что чем меньше эта вероятность, тем выше эффективность (среднее время доступа к сетевой среде также увеличивается). Очевидно, что все разновидности протокола доступа CSMA эффективнее протокола ALOHA в обеих его разновидностях. Связано это с тем, что ни одна станция не начинает передачу, если обнаружит, что сетевая среда занята. Существует еще одна разновидность протокола CSMA ( nonpersistent ), в которой сетевой субъект при готовности анализирует состояние сетевой среды и, если канал занят, возобновляет попытку спустя псевдослучайный интервалвремени, то есть ведет себя так, будто произошло столкновение. Такой алгоритм повышает эффективность использования канала при существенном возрастании усредненной задержки доступа.
Здесь уместно обратить внимание на то, что если загрузка канала невелика, а требуется малая задержка доступа к каналу, то лучше алгоритма ALOHA трудно что-либо придумать. Напротив, когда задержка доступа несущественна, а загрузка канала велика, то следует использовать одну из разновидностей протокола доступа CSMA или один из протоколов, исключающих возможность столкновения кадров. Такие алгоритмы описаны ниже.
Рассмотрим, как можно избежать проблем столкновений пакетов. Пусть к сетевому сегменту подключено N рабочих станций. После передачи любого пакета выделяется N временных интервалов. Каждой подключенной к сетевому сегменту машине ставится в соответствие один из этих интервалов длительностью L. Если машина имеет данные и готова начать передачу, она записывает в этот интервал бит, равный 1. По завершении этих N интервалов рабочие станции по очереди, определяемой номером приписанного интервала, передают свои пакеты (см. рис. 10.6, N = 8 ).
Рис. 10.6.
В примере на рис. 10.6 сначала право передачи получают станции 0, 2 и 6, а в следующем цикле 2 и 5 (пересылаемые пакеты окрашены в серый цвет). Если рабочая станция захочет что-то передать, когда ее интервал (домен) уже прошел, ей придется ждать следующего цикла. По существу данный алгоритм является протоколом резервирования. Машина сообщает о своих намерениях до того, как начинает что-либо передавать. Чем больше ЭВМ подключено к сетевому сегменту, тем больше временных интервалов должно быть зарезервировано и тем ниже эффективность сети. Понятно, что эффективность растет с ростом L.
Вариация данного алгоритма доступа реализована в сетях сбора данных реального времени CAN (Controller Area Network http://www.kvaser.se/can/protocol/index.htm алгоритм доступа CSMA/CA collision avoidance с исключением столкновений). Там в указанные выше интервалы записывается код приоритета рабочей станции. Причем станции должны быть синхронизованы и начинать запись своего уникального кода одновременно, если все или часть из них готовы начать передачу. Эти сигналы на шине суммируются с помощью операции "проволочное ИЛИ" (если хотя бы один из участников выставляет логическую единицу, на шине будет низкий уровень). В процессе побитового арбитража каждый передатчик сравнивает уровень передаваемого сигнала с реальным уровнем на шине. Если эти уровни идентичны, он может продолжить, в противном случае передача прерывается и шинаостается в распоряжении более приоритетного кадра. Для пояснения работы алгоритма предположим, что N = 5 и одновременно производится попытка начать передачу станции с кодами приоритета 10000, 10100, и 00100. Первыми будут посланы станциями биты 1, 1 и 0. Третья станция сразу выбывает из конкурса (ее бит равен 0). Первая и вторая продолжают передачу. На следующем такте станции передадут биты 0 и 0, что позволяет им продолжить передачу. На третьем такте они выдадут 0 и 1, что вынудит первую станцию выбыть из соревнования. Оставшаяся станция ( 10100 ) продолжит передачу кода приоритета, а затем и данных. Число рабочих станций, подключенных к сетевому сегменту, может достигать 2N-1. Необходимость синхронизации ограничивает длину сетевого сегмента или быстродействие передачи.
Базовыми характеристиками алгоритмов доступа являются задержка при малых загрузках и эффективность канала при загрузках больших. Предположим, что k станций борются за доступ к каналу, каждая из них имеет вероятность р осуществить передачу.Вероятность того, что станция получит доступ к каналу при данной попытке, равна kp(1-p)k-1. Чтобы найти оптимальноезначение p, продифференцируем полученное выражение вероятности по p, а результат приравняем к нулю. После преобразования получается, что оптимальным значением является p = 1/k. Подставив это значение в выражение вероятности успешного доступа, получим
.Для малого числа станций вероятность получить доступ к каналу относительно высока, но уже при k = 3 - 5 вероятностьприближается к асимптотическому значению 1/e.
Существует еще один относительно эффективный алгоритм доступа к каналу, называемый адаптивным протоколом перебора. Рассмотрим случай, когда в сетевом сегменте имеется 8 активных станций. На базе этих станций строится дерево (см. рис. 10.7).
Рис. 10.7. Алгоритм адаптивного обхода
Первая ниша доступа следует за очередной успешной передачей и соответствует узлу дерева 0 (на рис. 10.7 не показан). В этом узле всем станциям предоставлена возможность доступа. Если одна из них его получила, очень хорошо. Если же произошло столкновение, то в нише узла 1 до конкурса допускаются станции, связанные с узлом 2 (А, Б, В и Г). Если одна из них получиладоступ, в нише, следующей за переданным кадром, будут соревноваться станции, связанные с узлом 3 (Д, Е, Ж и З). Если же на предшествующем этапе произошло столкновение, следующая попытка предоставляется станциям, связанным узлом 4 (А и Б), и т.д. Если столкновение произошло в нише узла 0, то сначала исследуется все дерево, чтобы выявить все готовые к передаче станции. Каждая бит-ниша ассоциируется с определенным узлом дерева. Если происходит столкновение, поиск продолжается рекурсивно для правой и левой ветвей узла. Если бит-ниша пассивна (нет заявок на передачу) или если имеется только одна станция-претендент, поиск будет прерван, так как все станции-претенденты найдены. Существует достаточно большое число вариаций данного алгоритма доступа к сети.
Следующим по популярности после CSMA/CD является маркерный доступ (Token Ring, IEEE-802.4, ArcNet и FDDI), который более гибок и обеспечивает приоритетную иерархию обслуживания. Массовому его внедрению препятствует сложность и дороговизна. Хотя региональные сети имеют самую разнообразную топологию, практически всегда они строятся на связях "точка-точка".
В таблице 10.1 представлены сводные данные по основным видам локальных сетей, используемых в настоящее время (список не является полным).
Таблица 10.1. Параметры различных локальных сетей
Название сети |
Топология |
Быстродействие Мбит/с |
Доступ |
Тип кабеля |
NEXT при макс. частоте [дБ] |
Размер сети (сегмента) |
Макс. число узлов |
10BASE5 |
шина |
10 |
CSMA/CD |
RG-8 (50 Ом) |
500м |
1024 |
|
10BASE2 |
шина |
10 |
CSMA/CD |
RG-58 (50 Ом) |
185м |
90 |
|
10BROAD36 |
шина |
10 |
CSMA/CD |
RG-59 (75 Ом) |
3600м |
1024 |
|
100BASE-TX |
звезда |
100 |
CSMA/CD |
UTP (V; 100 Ом) |
29 |
200м |
- |
100BASE-FX |
звезда |
100 |
CSMA/CD |
оптоволокно |
300м |
- |
|
1000baseFX |
звезда |
1000 |
CSMA |
оптоволокно |
2км |
||
10GE |
звезда |
10000 |
CSMA |
оптоволокно |
2км |
||
IEEE 802.4 |
шина |
1/5/10/20 |
маркер |
RG-59 (75 Ом) |
|||
ARCNET |
звезда |
2,5/20 |
маркер |
RG-62/UTP (93 Ом) |
600/125 м |
255 |
|
IEEE 802.5 |
звезда |
4/16 |
маркер |
STP/UTP (150/120 Ом) |
22/32 |
366 м |
260 |
AppleTalk |
шина/звезда |
0,23 |
CSMA/CD |
STP/UTP (100 Ом) |
22/32 |
300/3000 м |
32 на сегмент |
EtherTalk |
шина/звезда |
10 |
CSMA/CD |
STP/UTP, коаксиальный кабель |
500/3000 м |
254/1023 |
|
ISN |
звезда |
8,64 |
Шина доступа |
STP, оптоволокно |
Не ограничено |
336/1920 |
|
PC LAN |
дерево,звезда |
2 |
CSMA/CD |
RG-59 (75 Ом),UTP/STP |
32/22 |
2000 |
72 |
Hyperchannel |
шина |
50 |
CSMA/CD |
RG-59, оптоволокно |
3500 м |
256 |
|
E-Net |
шина |
10 |
CSMA/CD |
RG-58 (50 Ом) |
700 м |
100 |
|
G-Net |
шина |
1 |
CSMA/CD |
RG-58, RG-59 |
2000 м |
100 |
|
FDDI |
двойное кольцо |
100 |
маркер |
оптоволокно |
100 км |
1000 |
|
MAP Bus |
шина |
1, 5, 50 |
маркер |
кабель |
|||
PX-NET |
шина/звезда |
1 |
маркер |
RG-62 (93 Ом) |
7000 м |
100 |
|
S-NET |
шина/звезда |
1 |
Индивидуальный |
STP (100 Ом) |
21 |
700 м |
24 |
WANGNET |
двойное дерево |
10 |
CSMA/CD |
RG-59 (75 Ом) |
2800 м |
65000 |
Приведенная таблица не может претендовать на полноту. Так, сюда не вошла сеть IBM DSDB, разработанная в начале 1980-х годов. Полоса пропускания сети составляет 64 Мбит/с. Эта сеть рассчитана на обслуживание процессов реального времени. Сетьимеет топологию шины с приоритетным доступом (длина шины до 500м). Коммуникационная шина логически делится на три магистрали: сигнальная для реализации приоритетного доступа; лексемная шина для резервирования в буфере места назначения; и, наконец, коммуникационная шина для передачи данных. Каждая из указанных магистралей использует идеологию независимых временных доменов, границы которых синхронизованы для всех трех магистралей. Схема доступа сходна с описанной для сетей CAN (CSMA/CA Collision Avoidance).
Существует целое семейство методов доступа, исключающих столкновение: это мультиплексирование по времени ( TDM ), почастоте ( FDM ) или длине волны ( WDMA Wavelength Division Multiple Access). Здесь каждому клиенту выделяется определенный временной домен или частотный диапазон. Когда наступает его временной интервал и клиент имеет кадр (илибит), предназначенный для отправки, он делает это. При этом каждый клиент ждет в среднем N/2 временных интервалов (предполагается, что работает N клиентов). При FDM передача не требует ожидания, так как каждому из участников выделяется определенный частотный диапазон, которым он может пользоваться когда угодно по своему усмотрению. Методы доступа TDM иFDM могут совмещаться. Но в обоих случаях временные интервалы или частотные диапазоны используются клиентом по мере необходимости и могут заметное время быть не заняты (простаивать). Следует также учесть, что если мы хотим обеспечить двухсторонний обмен при фиксированном частотном диапазоне, максимально возможное число участников следует уменьшить вдвое. Такие протоколы доступа часто используются в мобильной связи. Схема работы алгоритма WDMA показана на рис. 10.8.
Рис. 10.8. Пояснение работы алгоритма доступа WDMA
На рисунке 10.8 представлен случай с четырьмя станциями (A, B, C и D). Каждая станция имеет два канала. Один канал (менее широкополосный) является управляющим каналом станции. Второй (широкополосный) служит для передачи данных. В каждом из каналов выделяется определенное число временных доменов. Будем считать, что число доменов в управляющем канале равноk, а число доменов в информационном канале N+1, где N из них предназначены для данных, а последний служит для передачи станцией своего статуса (например, информации о свободных доменах). Все каналы синхронизуются от общих часов. Протокол поддерживает три типа трафика: постоянный поток данных с ориентацией на соединение (1), например видеотрафик; переменный поток, ориентированный на соединение (2), и поток дейтограмм, например UDP (3). В протоколах, ориентированных на соединение, станция А, прежде чем осуществить обмен с В, должна послать запрос на соединение (CONNECTION REQUEST), в свободном домене канала управления станции В. Если станция В воспринимает запрос, обмен осуществляется через канал данных станции А. Каждая станция имеет два передающих элемента и два принимающих.
Приемник с фиксированной длиной волны для прослушивания своего собственного канала управления.
Настраиваемый передатчик для посылки сообщений управляющим каналам других станций.
Передатчик с фиксированной длиной волны для посылки информационных кадров.
Настраиваемый приемник для приема данных от одного из передатчиков.
Каждая станция прослушивает свой управляющий канал с целью приема запросов и настраивается на длину определенного передатчика для получения данных. Настройка на определенную длину волны производится с помощью ячеек Фабри-Перо или интерферометров Маха-Цандера (предполагается, что мы работаем с оптическими волокнами).
Рассмотрим, как станция А устанавливает тип обмена b со станцией В, например, для файлового обмена. Сначала А настраивает свой приемник данных на частоту информационного канала В и ждет его статусного домена. Этот домен позволяет определить, какой из управляющих доменов свободен (на рисунке занятые домены окрашены в серый цвет). На рис. 10.8 В имеет 8 доменов, из них 0, 3 и 5 свободны. Пусть принято решение занять запросом на соединение домен 5. Так как станция В постоянно прослушивает свой управляющий канал, она предоставит свободный домен для станции А. Это присвоение отражается в статусном домене информационного канала. Когда станция А обнаружит, что присвоение выполнено, можно считать, что осуществлено однонаправленное соединение между А и В. Если для А требуется двунаправленное соединение (что реально для протокола FTP), то В повторит ту же процедуру со станцией А. Вполне возможна ситуация, когда одновременно станции А и Спытаются захватить один и тот же домен с номером 5. Ни одна из них его не получит и узнает об этом из статусного кода в домене управляющего канала В. После этого обе станции ждут псевдослучайное время и делают еще одну попытку.
Для осуществления пересылки файла станция А посылает В управляющее сообщение типа "загляните в домен данных 3, там кадрдля вас". Когда В получает управляющее сообщение, она настраивает свой приемник на выходной канал А, чтобы принять кадрданных от А. Станция В может использовать ту же схему для посылки подтверждения получения кадра, если это необходимо. Заметим, что может возникнуть проблема, если с В имеют одновременно соединения А и С и обе станции предлагают В заглянуть в информационный домен 3. Станция В воспримет одно из этих сообщений, второе будет потеряно. При постоянной скорости передачи используется модификация данного протокола. Когда станция А запрашивает соединение, она одновременно посылает сообщение типа "не возражаете, если я буду посылать данные в каждом домене 3?". Если В способна принять данные (домен 3 не занят), устанавливается соединение с фиксированной полосой. Если это не так, А может попытаться использовать другой свободный временной домен. Для типа обмена 3 (дейтограммы) используется другая вариация протокола. Вместо посылки запроса соединения в найденный свободный домен управляющего канала станция записывает сообщение "DATA FOR YOU in SLOT3" (для вас есть данные в домене 3). Если В свободна во время следующего информационного домена 3, обмен будет успешным, в противном случае кадр теряется. Существует большое число различных вариантов протокола WDMA, например, с общим управляющим каналом для всех рабочих станций.
Рассмотрим случай ( FDM ) в предположении, что длина кадра имеет экспоненциальную плотность вероятности со средним значением 1/m, тогда среднее время задержки T для канала с пропускной способностью С бит/с при частоте кадров f с-1составит T = 1/(mC-f). Теперь предположим, что канал поделен на N независимых субканалов с пропускной способностьюC/N бит/с. Средняя загрузка каждого из субканалов станет равной f/N. Теперь для среднего значения задержки мы получимвыражение
Таким образом, FDM -доступ в N раз хуже, чем вариант, когда мы все кадры помещаем каким-то образом в некоторую общуюочередь. Точно такая же аргументация может быть применена для метода TDM. По этой причине предпочтительнее динамические методы организации доступа к каналу (сетевой среде).
Интересной разновидностью Ethernet является широкополосная сеть типа Net/One. Она может базироваться на коаксиальном кабеле (суммарная длина до 1500 м) или на оптическом волокне (полная длина до 2500 м). Эта сеть по многим характеристикам аналогична обычному Ethernet ( CSMA/CD ), за исключением того, что коммуникационное оборудование передает данные на одной частоте, а принимает на другой. Для каждого канала выделяется полоса 5 Мбит/с (полоса пропускания 6 МГц соответствует телевизионному стандарту). Предусматривается 5 передающих (59,75-89,75 МГц) и 5 принимающих (252-282 МГц) каналов для каждого из сетевых сегментов. Частота ошибок ( BER ) для сети данного типа меньше 10-8.
Другой Ethernet-совместимой сетью является Fibercom Whispernet. Сеть имеет кольцевую структуру (до 8 км), полосу пропускания 10 Мбит/c, число узлов до 100 на сегменте при полном числе узлов в сети 1024. Число кольцевых сегментов может достигать 101. Максимальное межузловое расстояние 2 км.
Примером нетрадиционного типа сети может служить Localnet 20 (Sytek). Сеть базируется на одном коаксиальном кабеле и имеет полную полосу пропускания 400 МГц. Сеть делится на 120 каналов, каждый из которых работает со скоростью 128 Кбит/с. Каналы используют две 36МГц-полосы, одна для передачи, другая для приема. Каждый из коммуникационных каналов занимает 300 КГц из 36 МГц. Сеть использует алгоритм доступа CSMA/CD, что позволяет подключать к одному каналу большое число сетевых устройств. Предусматривается совместимость с интерфейсом RS-232. Вероятность ошибок в сети не более 10-8.
Традиционные сети и телекоммуникационные каналы образуют основу сети ее физический уровень. Реальная топология сети может динамически изменяться, хотя это и происходит обычно незаметно для участников. При реализации сети применяются десятки протоколов. В любых коммуникационных протоколах важное значение имеют операции передачи данных, ориентированные на установление соединения (connection-oriented), и операции, не требующие связи (connectionless "бессвязные", ISO 8473). Интернет использует оба типа операций. При первом типе пользователь и сеть сначала устанавливают логическую связь и только затем начинают обмен данными. Причем между отдельными пересылаемыми блоками данных (пакетами) поддерживается некоторое взаимодействие. "Бессвязные" операции не предполагают установления какой-либо связи между пользователем и сетью (например, протокол UDP) до начала обмена. Отдельные блоки передаваемых данных в этом случае абсолютно независимы и не требуют подтверждения получения. Пакеты могут быть потеряны, задублированы или доставлены не в порядке их отправки, причем ни отправитель, ни получатель не будут об этом оповещены. Именно к этому типу относится базовый протокол Интернет IP.
Для каждой сети характерен свой интервал размеров пакетов (MTU). Среди факторов, влияющих на выбор размеров кадра, можно выделить:
Ниже приведены максимальные размеры пакетов ( MTU Maximum Transfer Unit) для ряда сетей. Таблица 10.11.
Таблица 10.11.
Сеть |
MTU Байт |
Быстродействие Мбит/с |
IEEE 802.3 |
1500 |
10 |
IEEE 802.4 |
8191 |
10 |
IEEE 802.5 |
5000 |
4 |
Не следует думать, что современные сети, в частности Ethernet, обладают таким уж высоким быстродействием по сравнению с "традиционными" средствами транспорта.
Предположим, что товарный вагон загружен 10000 картриджами Exabyte, емкостью 10 Гбайт каждый (эта цифра может быть и больше). Вагон движется со скоростью 72 км/ч. Какой информационный поток создает такой вагон? В секунду он перемещается на 20 метров, перенося 10000*10*109*8 1015 бит данных. Скорость передачи данных по скрученной паре или оптическому волокну составляет около 200000 км/c. Если измерять передающую способность в м*бит/с, то для 100 Мбит/c Ethernet это будет 20*10^15 м*бит/c, как и для нашего вагона. Таким образом, вагон обеспечивает тот же темп переноса данных, что и Fast Ethernet.
Приведенное выше соображение, безусловно, поверхностно, так как не учитывает того факта, что мало доставить данные, надо их загрузить в ЭВМ (а вагоны машиной приниматься не могут). Но при построении сетей передачи данных и столь архаичный вариант не следует совершенно снимать со счетов.
Операции, ориентированные на установление связи (например, протокол TCP), предполагают трехстороннее соглашение между двумя пользователями и провайдером услуг. В процессе обмена они хранят необходимую информацию друг о друге, с тем чтобы не перегружать вспомогательными данными пересылаемые пакеты.
В этом режиме обмена обычно требуется подтверждение получения пакета, а при обнаружении сбоя предусматривается механизм повторной передачи поврежденного или потерянного пакета. "Бессвязная" сеть более надежна, так как она может отправлять отдельные пакеты по разным маршрутам, обходя поврежденные участки. Такая сеть не зависит от протоколов, применяемых в субсетях. Большинство протоколов Интернета используют именно эту схему обмена, например базовый протоколIP. Концептуально TCP/IP-сети предлагают три типа сервиса в порядке нарастания уровня иерархии:
Для сопоставления быстродействия различных видов сетей Сталлингс (Stallings, W. Data and Computer Communications, New York: Mac-Millan Publishing Company, 1985) в 1985 году разработал важный критерий. Этот критерий предполагает вычисление битовой длины BL (максимальное число бит в сегменте), которая равна произведению максимальной длины сегмента ( L в метрах) на полосу пропускания ( W в бит/с), поделенному на скорость распространения сигнала в сегменте ( s в метрах в секунду):
Для Ethernet при длине пакета 1500 байт , что дает для эффективности использования сети 0,93. Таким образом, максимальная пропускная способность Ethernet составляет 93 Мбит/c или 11,6 Мбайт/с (для 100-мегабитного Ethernet). Разумеется, в этом подходе не учитываются издержки, связанные с заголовками пакетов, которые дополнительно снижают эффективность сети. Из данного рассмотрения может показаться, что чем больше пакет, тем лучше. С точки зрения пропускной способности так оно и есть. Но с увеличением длины пакета увеличивается время отклика сети. Таким образом, выбор MTUопределяется реальными требованиями пользователей.
ОБЗОРНАЯ ЛЕКЦИЯ №7
Для чего компьютеры объединяют в сети
Для чего вообще потребовалось объединять компьютеры в сети? Что привело к появлению сетей?
Одной из главных причин стала необходимость совместного использования ресурсов (как физических, так и информационных). Если в организации имеется несколько компьютеров и эпизодически возникает потребность в печати какого-нибудь текста, то не имеет смысла покупать принтер для каждого компьютера. Гораздо выгоднее иметь один сетевой принтер для всех вычислительных машин. Аналогичная ситуация может возникать и с файлами данных. Зачем держать одинаковые файлы данных на всех компьютерах, поддерживая их когерентность, если можно хранить файл на одной машине, обеспечив к нему сетевой доступ со всех остальных?
Второй причиной следует считать возможность ускорения вычислений. Здесь сетевые объединения машин успешно конкурируют с многопроцессорными вычислительными комплексами. Многопроцессорные системы, не затрагивая по существу строение операционных систем, требуют достаточно серьезных изменений на уровне hardware, что очень сильно повышает их стоимость. Во многих случаях можно добиться требуемой скорости вычислений параллельного алгоритма, используя не несколько процессоров внутри одного вычислительного комплекса, а несколько отдельных компьютеров, объединенных в сеть. Такие сетевые вычислительные кластеры часто имеют преимущество перед многопроцессорными комплексами в соотношении эффективность/стоимость.
Следующая причина связана с повышением надежности работы вычислительной техники. В системах, где отказ может вызвать катастрофические последствия (атомная энергетика, космонавтика, авиация и т. д.), несколько вычислительных комплексов устанавливаются в связи, дублируя друг друга. При выходе из строя основного комплекса его работу немедленно продолжает дублирующий.
Наконец, последней по времени появления причиной (но для многих основной по важности) стала возможность применениявычислительных сетей для общения пользователей. Электронные письма практически заменили письма обычные, а использование вычислительной техники для организации электронных или телефонных разговоров уверенно вытесняет обычную телефонную связь.
Сетевые и распределенные операционные системы.
В первой лекции мы говорили, что существует два основных подхода к организации операционных систем для вычислительных комплексов, связанных в сеть, это сетевые и распределенные операционные системы. Необходимо отметить, что терминология в этой области еще не устоялась. В одних работах все операционные системы, обеспечивающие функционирование компьютеров в сети, называются распределенными, а в других, наоборот, сетевыми. Мы придерживаемся той точки зрения, что сетевые и распределенные системы являются принципиально различными.
В сетевых операционных системах для того, чтобы задействовать ресурсы другого сетевого компьютера, пользователи должны знать о его наличии и уметь это сделать. Каждая машина в сети работает под управлением своей локальной операционной системы, отличающейся от операционной системы автономного компьютера наличием дополнительных сетевых средств (программной поддержкой для сетевых интерфейсных устройств и доступа к удаленным ресурсам), но эти дополнения существенно не меняют структуру операционной системы.
Распределенная система, напротив, внешне выглядит как обычная автономная система. Пользователь не знает и не должен знать, где его файлы хранятся, на локальной или удаленной машине, и где его программы выполняются. Он может вообще не знать, подключен ли его компьютер к сети. Внутреннее строение распределенной операционной системы имеет существенные отличия от автономных систем.
Изучение строения распределенных операционных систем не входит в задачи нашего курса. Этому вопросу посвящены другие учебные курсы Advanced operating systems, как называют их в англоязычных странах, или "Современные операционные системы", как принято называть их в России.
В этой лекции мы затронем вопросы, связанные с сетевыми операционными системами, а именно какие изменения необходимо внести в классическую операционную систему для объединения компьютеров в сеть.
Взаимодействие удаленных процессов как основа работы вычислительных сетей
Все перечисленные выше цели объединения компьютеров в вычислительные сети не могут быть достигнуты без организации взаимодействия процессов на различных вычислительных системах. Будь то доступ к разделяемым ресурсам или общение пользователей через сеть в основе всего этого лежит взаимодействие удаленных процессов, т. е. процессов, которые находятся под управлением физически разных операционных систем. Поэтому мы в своей работе сосредоточимся именно на вопросах кооперации таких процессов, в первую очередь выделив ее отличия от кооперации процессов в одной автономной вычислительной системе (кооперации локальных процессов ), о которой мы говорили в лекциях 4, 5 и 6.
Изучая взаимодействие локальных процессов, мы разделили средства обмена информацией по объему передаваемых между ними данных и возможности влияния на поведение другого процесса на три категории: сигнальные, канальные и разделяемая память. На самом деле во всей этой систематизации присутствовала некоторая доля лукавства. Мы фактически классифицировали средства связи по виду интерфейса обращения к ним, в то время как реальной физической основой для всех средств связи в том или ином виде являлось разделение памяти. Семафоры представляют собой просто целочисленные переменные, лежащие в разделяемой памяти, к которым посредством системных вызовов, определяющих состав и содержание допустимых операций над ними, могут обращаться различные процессы. Очереди сообщений и pip'ы базируются на буферах ядра операционной системы, которые опять-таки с помощью системных вызовов доступны различным процессам. Иного способа реально передать информацию от процесса к процессу в автономной вычислительной системе просто не существует. Взаимодействие удаленных процессов принципиально отличается от ранее рассмотренных случаев. Общей памяти у различных компьютеров физически нет. Удаленные процессы могут обмениваться информацией, только передавая друг другу пакеты данных определенного формата (в виде последовательностей электрических или электромагнитных сигналов, включая световые) через некоторый физический канал связи или несколько таких каналов, соединяющих компьютеры. Поэтому в основе всех средств взаимодействия удаленных процессов лежит передача структурированных пакетов информации или сообщений.
При взаимодействии локальных процессов и процессотправитель информации, и процесс-получатель функционируют под управлением одной и той же операционной системы. Эта же операционная система поддерживает и функционирование промежуточных накопителей данных при использовании непрямой адресации. Для организации взаимодействия процессы пользуются одними и теми же системными вызовами, присущими данной операционной системе, с одинаковыми интерфейсами. Более того, в автономной операционной системе передача информации от одного процесса к другому, независимо от используемого способа адресации, как правило (за исключением микроядерных операционных систем), происходит напрямую без участия других процессов-посредников. Но даже и при наличии процессов-посредников все участники передачи информации находятся под управлением одной и той же операционной системы. При организации сети, конечно, можно обеспечить прямую связь между всеми вычислительными комплексами, соединив каждый из них со всеми остальными посредством прямых физических линий связи или подключив все комплексы к общей шине (по примеру шин данных и адреса в компьютере). Однако такая сетевая топология не всегда возможна по ряду физических и финансовых причин. Поэтому во многих случаях информация между удаленными процессами в сети передается не напрямую, а через ряд процессов-посредников, "обитающих" на вычислительных комплексах, не являющихся компьютерами отправителя и получателя и работающих под управлением собственных операционных систем. Однако и при отсутствии процессов-посредников удаленные процесс-отправитель и процесс-получатель функционируют под управлением различных операционных систем, часто имеющих принципиально разное строение.
Вопросы надежности средств связи и способы ее реализации, рассмотренные нами в лекции 4, носили для случая локальных процессов скорее теоретический характер. Мы выяснили, что физической основой "общения" процессов на автономной вычислительной машине является разделяемая память. Поэтому для локальных процессов надежность передачи информации определяется надежностью ее передачи по шине данных и хранения в памяти машины, а также корректностью работы операционной системы. Для хороших вычислительных комплексов и операционных систем мы могли забыть про возможную ненадежность средств связи. Для удаленных процессов вопросы, связанные с надежностью передачи данных, становятся куда более значимыми. Протяженные сетевые линии связи подвержены разнообразным физическим воздействиям, приводящим к искажению передаваемых по ним физических сигналов (помехи в эфире) или к полному отказу линий (мыши съели кабель). Даже при отсутствии внешних помех передаваемый сигнал затухает по мере удаления от точки отправления, приближаясь по интенсивности к внутренним шумам линий связи. Промежуточные вычислительные комплексы сети, участвующие в доставке информации, не застрахованы от повреждений или внезапной перезагрузки операционной системы. Поэтому вычислительные сети должны организовываться исходя из предпосылок ненадежности доставки физических пакетов информации.
При организации взаимодействия локальных процессов каждый процесс (в случае прямой адресации) и каждый промежуточный объект для накопления данных (в случае непрямой адресации) должны были иметь уникальные идентификаторы адреса в рамках одной операционной системы. При организации взаимодействия удаленных процессовучастники этого взаимодействия должны иметь уникальные адреса уже в рамках всей сети.
Физическая линия связи, соединяющая несколько вычислительных комплексов, является разделяемым ресурсом для всех процессов комплексов, которые хотят ее использовать. Если два процесса попытаются одновременно передать пакеты информации по одной и той же линии, то в результате интерференции физических сигналов, представляющих эти пакеты, произойдет взаимное искажение передаваемых данных. Для того чтобы избежать возникновения такой ситуации (race condition!) и обеспечить эффективную совместную работу вычислительных систем, должны выполняться условия взаимоисключения, прогресса и ограниченного ожидания при использовании общей линии связи, но уже не на уровне отдельных процессов операционных систем, а на уровне различных вычислительных комплексов в целом.
Давайте теперь, абстрагировавшись от физического уровня организации связи и не обращая внимания на то, какие именно физические средства оптическое волокно, коаксиальный кабель, спутниковая связь и т. д. лежат в основе объединения компьютеров в сеть, обсудим влияние перечисленных отличий на логические принципы организации взаимодействия удаленных процессов.
Основные вопросы логической организации передачи информации между удаленными процессами
К числу наиболее фундаментальных вопросов, связанных с логической организацией взаимодействия удаленных процессов, можно отнести следующие:
Как нужно соединять между собой различные вычислительные системы физическими линиями связи для организациивзаимодействия удаленных процессов? Какими критериями при этом следует пользоваться?
Как избежать возникновения race condition при передаче информации различными вычислительными системами после их подключения к общей линии связи? Какие алгоритмы могут при этом применяться?
Какие виды интерфейсов могут быть предоставлены пользователю операционными системами для передачи информации по сети? Какие существуют модели взаимодействия удаленных процессов? Как процессы, работающие под управлением различных по своему строению операционных систем, могут общаться друг с другом?
Какие существуют подходы к организации адресации удаленных процессов? Насколько они эффективны?
Как организуется доставка информации от компьютера-отправителя к компьютеру-получателю через компьютеры-посредники? Как выбирается маршрут для передачи данных в случае разветвленной сетевой структуры, когда существует не один вариант следования пакетов данных через компьютеры-посредники?
Разумеется, степень важности этих вопросов во многом зависит от того, с какой точки зрения мы рассматриваем взаимодействие удаленных процессов. Системного программиста, в первую очередь, интересуют интерфейсы, предоставляемые операционными системами. Сетевого администратора больше будут занимать вопросы адресации процессов и выбора маршрута доставки данных. Проектировщика сетей в организации способы соединения компьютеров и обеспечения корректного использования разделяемых сетевых ресурсов. Мы изучаем особенности строения и функционирования частей операционных систем, ответственных за взаимодействие удаленных процессов, а поэтому рассматриваемый перечень вопросов существенно сокращается.
Выбор способа соединения участников сетевого взаимодействия физическими линиями связи (количество и тип прокладываемых коммуникаций, какие именно устройства и как они будут соединять,т. е. топология сети) определяется проектировщиками сетей исходя из имеющихся средств, требуемой производительности и надежности взаимодействия. Все это не имеет отношения к функционированию операционных систем, является внешним по отношению к ним и в нашем курсе рассматриваться не будет.
В современных сетевых вычислительных комплексах решение вопросов организации взаимоисключений при использовании общей линии связи, как правило, также находится вне компетенции операционных систем и вынесено на физический уровеньорганизации взаимодействия. Ответственность за корректное использование коммуникаций возлагается на сетевые адаптеры, поэтому подобные проблемы мы тоже рассматривать не будем.
Из приведенного перечня мы с вами подробнее остановимся на решении вопросов, приведенных в пунктах 35.
Понятие протокола
Для описания происходящего в автономной операционной системе в лекции 2 было введено основополагающее понятие "процесс", на котором, по сути дела, базируется весь наш курс. Для того чтобы описать взаимодействие удаленных процессов и понять, какие функции и как должны выполнять дополнительные части сетевых операционных систем, отвечающих за такое взаимодействие, нам понадобится не менее фундаментальное понятие протокол.
"Общение" локальных процессов напоминает общение людей, проживающих в одном городе. Если взаимодействующие процессы находятся под управлением различных операционных систем, то эта ситуация подобна общению людей, проживающих в разных городах и, возможно, в разных странах.
Каким образом два человека, находящиеся в разных городах, а тем более странах, могут обмениваться информацией? Для этого им обычно приходится прибегать к услугам соответствующих служб связи. При этом между службами связи различных городов (государств) должны быть заключены определенные соглашения, позволяющие корректно организовывать такой обмен. Если речь идет, например, о почтовых отправлениях, то в первую очередь необходимо договориться о том, что может представлять собой почтовое отправление, какой вид оно может иметь. Некоторые племена индейцев для передачи информации пользовались узелковыми письмами поясами, к которым крепились веревочки с различным числом и формой узелков. Если бы такое письмопопало в современный почтовый ящик, то, пожалуй, ни одно отделение связи не догадалось бы, что это письмо, и пояс был бы выброшен как ненужный хлам. Помимо формы представления информации необходима договоренность о том, какой служебной информацией должно снабжаться почтовое отправление (адрес получателя, срочность доставки, способ пересылки: поездом, авиацией, с помощью курьера и т. п.) и в каком формате она должна быть представлена. Адреса, например, в России и в США принято записывать по-разному. В России мы начинаем адрес со страны, далее указывается город, улица и квартира. В США все наоборот: сначала указывается квартира, затем улица и т. д. Конечно, даже при неправильной записи адреса письмо, скорее всего, дойдет до получателя, но можно себе представить растерянность почтальона, пытающегося разгадать, что это за страна или город "кв.162"? Как видим, доставка почтового отправления из одного города (страны) в другой требует целого ряда соглашений между почтовыми ведомствами этих городов (стран).
Аналогичная ситуация возникает и при общении удаленных процессов, работающих под управлением разных операционных систем. Здесь процессы играют роль людей, проживающих в разных городах, а сетевые части операционных систем роль соответствующих служб связи. Для того чтобы удаленные процессы могли обмениваться данными, необходимо, чтобы сетевые части операционных систем руководствовались определенными соглашениями, или, как принято говорить, поддерживали определенные протоколы. Термин "протокол" уже встречался нам в лекции 13, посвященной организации ввода-вывода в операционных системах, при обсуждении понятия "шина". Мы говорили, что понятие шины подразумевает не только набор проводников, но и набор жестко заданных протоколов, определяющий перечень сообщений, который может быть передан с помощью электрических сигналов по этим проводникам, т. е. в "протокол" мы вкладывали практически тот же смысл. В следующем разделе мы попытаемся дать более формализованное определение этого термина.
Необходимо отметить, что и локальные процессы при общении также должны руководствоваться определенными соглашениями или поддерживать определенные протоколы. Только в автономных операционных системах они несколько завуалированы. В роли таких протоколов выступают специальная последовательность системных вызовов при организации взаимодействия процессов и соглашения о параметрах системных вызовов.
Различные способы решения проблем 35, поднятых в предыдущем разделе, по существу, представляют собой различные соглашения, которых должны придерживаться сетевые части операционных систем, т. е. различные сетевые протоколы. Именно наличие сетевых протоколов позволяет организовать взаимодействие удаленных процессов.
При рассмотрении перечисленных выше проблем необходимо учитывать, с какими сетями мы имеем дело.
В литературе принято говорить о локальных вычислительных сетях (LAN Local Area Network) и глобальных вычислительных сетях (WAN Wide Area Network). Строгого определения этим понятиям обычно не дается, а принадлежность сети к тому или иному типу часто определяется взаимным расположением вычислительных комплексов, объединенных в сеть. Так, например, в большинстве работ к локальным сетям относят сети, состоящие из компьютеров одной организации, размещенные в пределах одного или нескольких зданий, а к глобальным сетям сети, охватывающие все компьютеры в нескольких городах и более. Зачастую вводится дополнительный термин для описания сетей промежуточного масштаба муниципальных или городских вычислительных сетей (MAN Metropolitan Area Network) сетей, объединяющих компьютеры различных организаций в пределах одного города или одного городского района. Таким образом, упрощенно можно рассматривать глобальные сети как сети, состоящие из локальных и муниципальных сетей. А муниципальные сети, в свою очередь, могут состоять из нескольких локальных сетей. На самом деле деление сетей на локальные, глобальные и муниципальные обычно связано не столько с местоположением и принадлежностью вычислительных систем, соединенных сетью, сколько с различными подходами, применяемыми для решения поставленных вопросов в рамках той или иной сети, с различными используемыми протоколами.
Многоуровневая модель построения сетевых вычислительных систем
Даже беглого взгляда на перечень проблем, связанных с логической организацией взаимодействия удаленных процессов, достаточно, чтобы понять, что построение сетевых средств связи задача более сложная, чем реализация локальных средств связи. Поэтому обычно задачу создания таких средств решают по частям, применяя уже неоднократно упоминавшийся нами "слоеный", или многоуровневый, подход.
Как уже отмечалось при обсуждении "слоеного" строения операционных систем на первой лекции, при таком подходе уровень N системы предоставляет сервисы уровню N+1, пользуясь в свою очередь только сервисами уровня N-1. Следовательно, каждый уровень может взаимодействовать непосредственно только со своими соседями, руководствуясь четко закрепленными соглашениями вертикальными протоколами, которые принято называть интерфейсами.
Самым нижним уровнем в слоеных сетевых вычислительных системах является уровень, на котором реализуется реальная физическая связь между двумя узлами сети. Из предыдущего раздела следует, что для обеспечения обмена физическими сигналами между двумя различными вычислительными системами необходимо, чтобы эти системы поддерживали определенныйпротокол физического взаимодействия горизонтальный протокол.
На самом верхнем уровне находятся пользовательские процессы, которые инициируют обмен данными. Количество и функции промежуточных уровней варьируются от одной системы к другой. Вернемся к нашей аналогии с пересылкой почтовых отправлений между людьми, проживающими в разных городах, правда, с порядком их пересылки несколько отличным от привычного житейского порядка. Рассмотрим в качестве пользовательских процессов руководителей различных организаций, желающих обменяться письмами. Руководитель (пользовательский процесс) готовит текст письма (данные) для пересылки в другую организацию. Затем он отдает его своему секретарю (совершает системный вызов обращение к нижележащему уровню), сообщая, кому и куда должно быть направлено письмо. Секретарь снимает с него копию и выясняет адрес организации. Далее идет обращение к нижестоящему уровню, допустим, письмо направляется в канцелярию. Здесь оно регистрируется (ему присваивается порядковый номер), один экземпляр запечатывается в конверт, на котором указывается, кому и куда адресованописьмо, впечатывается адрес отправителя. Копия остается в канцелярии, а конверт отправляется на почту (переход на следующий уровень). На почте наклеиваются марки и делаются другие служебные пометки, определяется способ доставки корреспонденции и т. д. Наконец, поездом, самолетом или курьером ( физический уровень!) письмо следует в другой город, в котором все уровни проходятся в обратном порядке. Пользовательский уровень (руководитель) после подготовки исходных данных и инициации процесса взаимодействия далее судьбой почтового отправления не занимается. Все остальное (включая, быть может, проверку его доставки и посылку копии в случае утери) выполняют нижележащие уровни.
Заметим, что на каждом уровне взаимодействия в городе отправителя исходные данные (текст письма) обрастают дополнительной служебной информацией. Соответствующие уровни почтовой службы в городе получателя должны уметь понимать эту служебную информацию. Таким образом, для одинаковых уровней в различных городах необходимо следование специальным соглашениям поддержка определенных горизонтальных протоколов.
Точно так же в сетевых вычислительных системах все их одинаковые уровни, лежащие выше физического, виртуально обмениваются данными посредством горизонтальных протоколов. Наличие такой виртуальной связи означает, что уровень N компьютера 2 должен получить ту же самую информацию, которая была отправлена уровнем N компьютера 1. Хотя в реальности эта информация должна была сначала дойти сверху вниз до уровня 1 компьютера 1, затем передана уровню 1 компьютера 2 и только после этого доставлена снизу вверх уровню N этого компьютера.
Формальный перечень правил, определяющих последовательность и формат сообщений, которыми обмениваются сетевые компоненты различных вычислительных систем, лежащие на одном уровне, мы и будем называть сетевым протоколом .
Всю совокупность вертикальных и горизонтальных протоколов (интерфейсов и сетевых протоколов ) в сетевых системах, построенных по "слоеному" принципу, достаточную для организации взаимодействия удаленных процессов, принято называтьсемейством протоколов или стеком протоколов. Сети, построенные на основе разных стеков протоколов, могут быть объединены между собой с использованием вычислительных устройств, осуществляющих трансляцию из одного стека протоколовв другой, причем на различных уровнях слоеной модели
Эталоном многоуровневой схемы построения сетевых средств связи считается семиуровневая модель открытого взаимодействия систем (Open System Interconnection OSI), предложенная Международной организацией Стандартов (International Standard Organization ISO) и получившая сокращенное наименование OSI/ISO (см. рис. 14.1).
Давайте очень кратко опишем, какие функции выполняют различные уровни модели OSI/ISO [Олифер, 2001]:
Уровень 1 физический. Этот уровень связан с работой hardware. На нем определяются физические аспекты передачи информации по линиям связи, такие как: напряжения, частоты, природа передающей среды, способ передачи двоичной информации по физическому носителю, вплоть до размеров и формы используемых разъемов. В компьютерах за поддержкуфизического уровня обычно отвечает сетевой адаптер.
Уровень 2 канальный. Этот уровень отвечает за передачу данных по физическому уровню без искажений между непосредственно связанными узлами сети. На нем формируются физические пакеты данных для реальной доставки пофизическому уровню . Протоколы канального уровня реализуются совместно сетевыми адаптерами и их драйверами (понятие драйвера рассматривалось в лекции 13).
Уровень 3 сетевой. Сетевой уровень несет ответственность за доставку информации от узла-отправителя к узлу-получателю. На этом уровне частично решаются вопросы адресации, осуществляется выбор маршрутов следования пакетов данных, решаются вопросы стыковки сетей, а также управление скоростью передачи информации для предотвращения перегрузок в сети.
Уровень 4 транспортный. Регламентирует передачу данных между удаленными процессами. Обеспечивает доставку информации вышележащим уровням с необходимой степенью надежности, компенсируя, быть может, ненадежность нижележащих уровней, связанную с искажением и потерей данных или доставкой пакетов в неправильном порядке. Наряду ссетевым уровнем может управлять скоростью передачи данных и частично решать проблемы адресации.
Рис. 14.1. Семиуровневая эталонная модель OSI/ISO
Уровень 5 сеансовый. Координирует взаимодействие связывающихся процессов. Основная задача предоставление средств синхронизации взаимодействующих процессов. Такие средства синхронизации позволяют создавать контрольные точки при передаче больших объемов информации. В случае сбоя в работе сети передачу данных можно возобновить с последней контрольной точки, а не начинать заново.
Уровень 6 уровень представления данных. Отвечает за форму представления данных, перекодирует текстовую и графическую информацию из одного формата в другой, обеспечивает ее сжатие и распаковку, шифрование и декодирование.
Уровень 7 прикладной. Служит для организации интерфейса между пользователем и сетью. На этом уровне реализуются такие сервисы, как удаленная передача данных, удаленный терминальный доступ, почтовая служба и работа во Всемирной паутине (Web-браузеры).
Надо отметить, что к приведенной эталонной модели большинство практиков относится без излишнего пиетета. Эта модель не предвосхитила появления различных семейств протоколов, таких как, например, семейство протоколов TCP/IP, а наоборот, была создана под их влиянием. Ее не следует рассматривать как готовый оптимальный чертеж для создания любого сетевого средства связи. Наличие некоторой функции на определенном уровне не гарантирует, что это ее наилучшее место, некоторые функции (например, коррекция ошибок) дублируются на нескольких уровнях, да и само деление на 7 уровней носит отчасти произвольный характер. Хотя в конце концов были созданы работающие реализации этой модели, но наиболее распространенные семействапротоколов лишь до некоторой степени согласуются с ней. Как отмечено в книге [Таненбаум, 2002], она больше подходит для реализации телефонных, а не вычислительных сетей. Ценность предложенной эталонной модели заключается в том, что она показывает направление, в котором должны двигаться разработчики новых вычислительных сетей.
Проблемы 35, перечисленные в разделе "Основные вопросы логической организации передачи информации" между удаленными процессами, относятся в основном к сетевому и транспортному уровням эталонной модели и, соответственно, решаются на уровне сетевых и транспортных протоколов. Давайте приступим, наконец, к их рассмотрению.
Проблемы адресации в сети
Любой пакет информации, передаваемый по сети, должен быть снабжен адресом получателя. Если взаимодействие подразумевает двустороннее общение, то в пакет следует также включить и адрес отправителя. В лекции 4 мы описали один изпротоколов организации надежной связи с использованием контрольных сумм, нумерации пакетов и подтверждения получения неискаженного пакета в правильном порядке. Для отправки подтверждений обратный адрес также следует включать в пересылаемый пакет. Таким образом, практически каждый сетевой пакет информации должен быть снабжен адресом получателя и адресом отправителя. Как могут выглядеть такие адреса?
Несколько раньше, обсуждая отличия взаимодействия удаленных процессов от взаимодействия локальных процессов, мы говорили, что удаленные адресаты должны обладать уникальными адресами уже не в пределах одного компьютера, а в рамках всей сети. Существует два подхода к наделению объектов такими сетевыми адресами: одноуровневый и двухуровневый.
Одноуровневые адреса
В небольших компьютерных сетях можно построить одноуровневую систему адресации. При таком подходе каждый процесс, желающий стать участником удаленного взаимодействия (при прямой адресации), и каждый объект, для такого взаимодействия предназначенный (при непрямой адресации), получают по мере необходимости собственные адреса (символьные или числовые), а сами вычислительные комплексы, объединенные в сеть, никаких самостоятельных адресов не имеют. Подобный метод требует довольно сложного протокола обеспечения уникальности адресов.
Вычислительный комплекс, на котором запускается взаимодействующий процесс, должен запросить все компьютеры сети о возможности присвоения процессу некоторого адреса. Только после получения от них согласия процессу может быть назначен адрес. Поскольку процесс, посылающий данные другому процессу, не может знать, на каком компоненте сети находится процесс-адресат, передаваемая информация должна быть направлена всем компонентам сети (так называемое широковещательное сообщение broadcast message ), проанализирована ими и либо отброшена (если процесса-адресата на данном компьютере нет), либо доставлена по назначению. Так как все данные постоянно передаются от одного комплекса ко всем остальным, такую одноуровневую схему обычно применяют только в локальных сетях с прямой физической связью всех компьютеров между собой (например, в сети NetBIOS на базе Ethernet), но она является существенно менее эффективной, чем двухуровневая схема адресации.
Двухуровневые адреса
При двухуровневой адресации полный сетевой адрес процесса или промежуточного объекта для хранения данных складывается из двух частей адреса вычислительного комплекса, на котором находится процесс или объект в сети ( удаленного адреса ), и адреса самого процесса или объекта на этом вычислительном комплексе ( локального адреса ). Уникальность полного адреса будет обеспечиваться уникальностью удаленного адреса для каждого компьютера в сети и уникальностью локальных адресовобъектов на компьютере. Давайте подробнее рассмотрим проблемы, возникающие для каждого из компонентов полного адреса.
Удаленная адресация и разрешение адресов
Инициатором связи процессов друг с другом всегда является человек, будь то программист или обычный пользователь. Как мы неоднократно отмечали в лекциях, человеку свойственно думать словами, он легче воспринимает символьную информацию. Поэтому очевидно, что каждая машина в сети получает символьное, часто даже содержательное имя. Компьютер не разбирается в смысловом содержании символов, ему проще оперировать числами, желательно одного и того же формата, которые помещаются, например, в 4 байта или в 16 байт. Поэтому каждый компьютер в сети для удобства работы вычислительных систем получает числовой адрес. Возникает проблема отображения пространства символьных имен (или адресов) вычислительных комплексов в пространство их числовых адресов. Эта проблема получила наименование проблемы разрешения адресов.
С подобными задачами мы уже сталкивались, обсуждая организацию памяти в вычислительных системах (отображение имен переменных в их адреса в процессе компиляции и редактирования связей) и организацию файловых систем (отображение имен файлов в их расположении на диске). Посмотрим, как она может быть решена в сетевом варианте.
Первый способ решения заключается в том, что на каждом сетевом компьютере создается файл, содержащий имена всех машин, доступных по сети, и их числовые эквиваленты. Обращаясь к этому файлу, операционная система легко может перевести символьный удаленный адрес в числовую форму. Такой подход использовался на заре эпохи глобальных сетей и применяется в изолированных локальных сетях в настоящее время. Действительно, легко поддерживать файл соответствий в корректном виде, внося в него необходимые изменения, когда общее число сетевых машин не превышает нескольких десятков. Как правило, изменения вносятся на некотором выделенном административном вычислительном комплексе, откуда затем обновленный файл рассылается по всем компонентам сети.
В современной сетевой паутине этот подход является неприемлемым. Дело даже не в размерах подобного файла, а в частоте требуемых обновлений и в огромном количестве рассылок, что может полностью подорвать производительность сети. Проблема состоит в том, что добавление или удаление компонента сети требует внесения изменений в файлы на всех сетевых машинах. Второй метод разрешения адресов заключается в частичном распределении информации о соответствии символьных и числовых адресов по многим комплексам сети, так что каждый из этих комплексов содержит лишь часть полных данных. Он же определяет и правила построения символических имен компьютеров.
Один из таких способов, используемый в Internet, получил английское наименование Domain Name Service или сокращенно DNS. Эта аббревиатура широко используется и в русскоязычной литературе. Давайте рассмотрим данный метод подробнее.
Организуем логически все компьютеры сети в некоторую древовидную структуру, напоминающую структуру директорий файловых систем, в которых отсутствует возможность организации жестких и мягких связей и нет пустых директорий. Будем рассматривать все компьютеры, входящие во Всемирную сеть, как область самого низкого ранга (аналог корневой директории в файловой системе) ранга 0. Разобьем все множество компьютеров области на какое-то количество подобластей (domains). При этом некоторые подобласти будут состоять из одного компьютера (аналоги регулярных файлов в файловых системах), а некоторые более чем из одного компьютера (аналоги директорий в файловых системах). Каждую подобласть будем рассматривать как область более высокого ранга. Присвоим подобластям собственные имена таким образом, чтобы в рамках разбиваемой области все они были уникальны. Повторим такое разбиение рекурсивно для каждой области более высокого ранга, которая состоит более чем из одного компьютера, несколько раз, пока при последнем разбиении в каждой подобласти не окажется ровно по одному компьютеру. Глубина рекурсии для различных областей одного ранга может быть разной, но обычно в целом ограничиваются 3 5 разбиениями, начиная от ранга 0.
В результате мы получим дерево, неименованной вершиной которого является область, объединяющая все компьютеры, входящие во Всемирную сеть, именованными терминальными узлами отдельные компьютеры (точнее подобласти, состоящие из отдельных компьютеров), а именованными нетерминальными узлами области различных рангов. Используем полученную структуру для построения имен компьютеров, подобно тому как мы поступали при построении полных имен файлов в структуре директорий файловой системы. Только теперь, двигаясь от корневой вершины к терминальному узлу отдельному компьютеру, будем вести запись имен подобластей справа налево и отделять имена друг от друга с помощью символа ".".
Допустим, некоторая подобласть, состоящая из одного компьютера, получила имя serv, она входит в подобласть, объединяющую все компьютеры некоторой лаборатории, с именем crec. Та, в свою очередь, входит в подобласть всех компьютеров Московского физико-технического института с именем mipt, которая включается в область ранга 1 всех компьютеров России с именем ru. Тогда имя рассматриваемого компьютера во Всемирной сети будет serv.crec.mipt.ru. Аналогичным образом можно именовать и подобласти, состоящие более чем из одного компьютера.
В каждой полученной именованной области, состоящей более чем из одного узла, выберем один из компьютеров и назначим его ответственным за эту область сервером DNS. Сервер DNS знает числовые адреса серверов DNS для подобластей, входящих в его зону ответственности, или числовые адреса отдельных компьютеров, если такая подобласть включает в себя только один компьютер. Кроме того, он также знает числовой адрес сервера DNS, в зону ответственности которого входит рассматриваемая область (если это не область ранга 1), или числовые адреса всех серверов DNS ранга 1 (в противном случае). Отдельные компьютеры всегда знают числовые адреса серверов DNS, которые непосредственно за них отвечают.
Рассмотрим теперь, как процесс на компьютере serv.crec.mipt.ru может узнать числовой адрес компьютераssp.brown.edu. Для этого он обращается к своему DNS -серверу, отвечающему за область crec.mipt.ru, и передает ему нужный адрес в символьном виде. Если этот DNS -сервер не может сразу представить необходимый числовой адрес, он передает запрос DNS -серверу, отвечающему за область mipt.ru. Если и тот не в силах самостоятельно справиться с проблемой, он перенаправляет запрос серверу DNS, отвечающему за область 1-го ранга ru. Этот сервер может обратиться к серверу DNS, обслуживающему область 1-го ранга edu, который, наконец, затребует информацию от сервера DNS области brown.edu, где должен быть нужный числовой адрес. Полученный числовой адрес по всей цепи серверов DNS в обратном порядке будет передан процессу, направившему запрос (см. рис. 14.2).
Рис. 14.2. Пример разрешения имен с использованием DNS-серверов
В действительности, каждый сервер DNS имеет достаточно большой кэш, содержащий адреса серверов DNS для всех последних запросов. Поэтому реальная схема обычно существенно проще, из приведенной цепочки общения DNS -серверов выпадают многие звенья за счет обращения напрямую.
Рассмотренный способ разрешения адресов позволяет легко добавлять компьютеры в сеть и исключать их из сети, так как для этого необходимо внести изменения только на DNS -сервере соответствующей области.
Если DNS -сервер, отвечающий за какую-либо область, выйдет из строя, то может оказаться невозможным разрешение адресов для всех компьютеров этой области. Поэтому обычно назначается не один сервер DNS, а два основной и запасной. В случае выхода из строя основного сервера его функции немедленно начинает выполнять запасной.
В реальных сетевых вычислительных системах обычно используется комбинация рассмотренных подходов. Для компьютеров, с которыми чаще всего приходится устанавливать связь, в специальном файле хранится таблица соответствий символьных и числовых адресов. Все остальные адреса разрешаются с использованием служб, аналогичных службе DNS. Способ построенияудаленных адресов и методы разрешения адресов обычно определяются протоколами сетевого уровня эталонной модели.
Мы разобрались с проблемой удаленных адресов и знаем, как получить числовой удаленный адрес нужного нам компьютера. Давайте рассмотрим теперь проблему адресов локальных: как нам задать адрес процесса или объекта для хранения данных на удаленном компьютере, который в конечном итоге и должен получить переданную информацию.
Локальная адресация. Понятие порта
Во второй лекции мы говорили, что каждый процесс, существующий в данный момент в вычислительной системе, уже имеет собственный уникальный номер PID. Но этот номер неудобно использовать в качестве локального адреса процесса при организации удаленной связи. Номер, который получает процесс при рождении, определяется моментом его запуска, предысторией работы вычислительного комплекса и является в значительной степени случайным числом, изменяющимся от запуска к запуску. Представьте себе, что адресат, с которым вы часто переписываетесь, постоянно переезжает с место на место, меняя адреса, так что, посылая очередное письмо, вы не можете с уверенностью сказать, где он сейчас проживает, и поймете все неудобство использования идентификатора процесса в качестве его локального адреса. Все сказанное выше справедливо и для идентификаторов промежуточных объектов, использующихся при локальном взаимодействии процессов в схемах с непрямой адресацией.
Для локальной адресации процессов и промежуточных объектов при удаленной связи обычно организуется новое специальное адресное пространство, например представляющее собой ограниченный набор положительных целочисленных значений или множество символических имен, аналогичных полным именам файлов в файловых системах. Каждый процесс, желающий принять участие в сетевом взаимодействии, после рождения закрепляет за собой один или несколько адресов в этом адресном пространстве. Каждому промежуточному объекту при его создании присваивается свой адрес из этого адресного пространства. При этом удаленные пользователи могут заранее договориться о том, какие именно адреса будут зарезервированы для данного процесса, независимо от времени его старта, или для данного объекта, независимо от момента его создания. Подобные адреса получили название портов, по аналогии с портами ввода-вывода.
Необходимо отметить, что в системе может существовать несколько таких адресных пространств для различных способов связи. При получении данных от удаленного процесса операционная система смотрит, на какой порт и для какого способа связи они были отправлены, определяет процесс, который заявил этот порт в качестве своего адреса, или объект, которому присвоен данный адрес, и доставляет полученную информацию адресату. Виды адресного пространства портов (т. е. способы построениялокальных адресов ) определяются, как правило, протоколами транспортного уровня эталонной модели.
Полные адреса. Понятие сокета (socket)
Таким образом, полный адрес удаленного процесса или промежуточного объекта для конкретного способа связи с точки зрения операционных систем определяется парой адресов: <числовой адрес компьютера в сети, порт>. Подобная пара получила наименование socket (в переводе "гнездо" или, как стали писать в последнее время, сокет ), а сам способ их использования организация связи с помощью сокетов . В случае непрямой адресации с использованием промежуточных объектов сами эти объекты также принято называть сокетами. Поскольку разные протоколы транспортного уровня требуют разных адресных пространств портов, то для каждой пары надо указывать, какой транспортный протокол она использует, говорят о разных типахсокетов.
В современных сетевых системах числовой адрес обычно получает не сам вычислительный комплекс, а его сетевой адаптер, с помощью которого комплекс подключается к линии связи. При наличии нескольких сетевых адаптеров для разных линий связи один и тот же вычислительный комплекс может иметь несколько числовых адресов. В таких системах полные адреса удаленного адресата (процесса или промежуточного объекта) задаются парами <числовой адрес сетевого адаптера, порт> и требуют доставки информации через указанный сетевой адаптер.
Проблемы маршрутизации в сетях
При наличии прямой линии связи между двумя компьютерами обычно не возникает вопросов о том, каким именно путем должна быть доставлена информация. Но, как уже упоминалось, одно из отличий взаимодействия удаленных процессов от взаимодействия процессов локальных состоит в использовании в большинстве случаев процессов-посредников, расположенных на вычислительных комплексах, не являющихся комплексами отправителя и получателя. В сложных топологических схемах организации сетей информация между двумя компьютерами может передаваться по различным путям. Возникает вопрос: как организовать работу операционных систем на комплексах -участниках связи (это могут быть конечные или промежуточные комплексы) для определения маршрута передачи данных? По какой из нескольких линий связи (или через какой сетевой адаптер) нужно отправить пакет информации? Какие протоколы маршрутизации возможны? Существует два принципиально разных подхода к решению этой проблемы: маршрутизация от источника передачи данных и одношаговая маршрутизация.
Маршрутизация от источника передачи данных. При маршрутизации от источника данных полный маршрут передачи пакета по сети формируется на компьютере-отправителе в виде последовательности числовых адресов сетевых адаптеров, через которые должен пройти пакет, чтобы добраться до компьютера-получателя, и целиком включается в состав этого пакета. В этом случае промежуточные компоненты сети при определении дальнейшего направления движения пакета не принимают самостоятельно никаких решений, а следуют указаниям, содержащимся в пакете.
Одношаговая маршрутизация. При одношаговой маршрутизации каждый компонент сети, принимающий участие в передаче информации, самостоятельно определяет, какому следующему компоненту, находящемуся в зоне прямого доступа, она должна быть отправлена. Решение принимается на основании анализа содержащегося в пакете адреса получателя. Полный маршрут передачи данных складывается из одношаговых решений, принятых компонентами сети.
Маршрутизация от источника передачи данных легко реализуется на промежуточных компонентах сети, но требует полного знания маршрутов на конечных компонентах. Она достаточно редко используется в современных сетевых системах, и далее мы ее рассматривать не будем.
Для работы алгоритмов одношаговой маршрутизации, которые являются основой соответствующих протоколов, на каждом компоненте сети, имеющем возможность передавать информацию более чем одному компоненту, обычно строится специальнаятаблица маршрутов (см. рис. 14.3). В простейшем случае каждая запись такой таблицы содержит: адрес вычислительного комплекса получателя; адрес компонента сети, напрямую подсоединенного к данному, которому следует отправить пакет, предназначенный для этого получателя; указание о том, по какой линии связи (через какой сетевой адаптер) должен быть отправлен пакет. Поскольку получателей в сети существует огромное количество, для сокращения числа записей в таблице маршрутизации обычно прибегают к двум специальным приемам.
Во-первых, числовые адреса топологически близко расположенных комплексов (например, комплексов, принадлежащих одной локальной вычислительной сети ) стараются выбирать из последовательного диапазона адресов. В этом случае запись в таблице маршрутизации может содержать не адрес конкретного получателя, а диапазон адресов для некоторой сети (номер сети).
Во-вторых, если для очень многих получателей в качестве очередного узла маршрута используется один и тот же компонентсети, а остальные маршруты выбираются для ограниченного числа получателей, то в таблицу явно заносятся только записи для этого небольшого количества получателей, а для маршрута, ведущего к большей части всей сети, делается одна запись маршрутизация по умолчанию (default). Пример простой таблицы маршрутизации для некоторого комплекса некой абстрактной сети приведен ниже:
Рис. 14.3. Простая таблица маршрутизации
По способам формирования и использования таблиц маршрутизации алгоритмы одношаговой маршрутизации можно разделить на три класса:
При фиксированной маршрутизации таблица, как правило, создается в процессе загрузки операционной системы. Все записи в ней являются статическими. Линия связи, которая будет использоваться для доставки информации от данного узла к некоторому узлу A в сети, выбирается раз и навсегда. Обычно линии выбирают так, чтобы минимизировать полное время доставки данных. Преимуществом этой стратегии является простота реализации. Основной же недостаток заключается в том, что при отказе выбранной линии связи данные не будут доставлены, даже если существует другой физический путь для их передачи.
В алгоритмах простой маршрутизации таблица либо не используется совсем, либо строится на основе анализа адресов отправителей приходящих пакетов информации. Различают несколько видов простой маршрутизации случайную, лавинную имаршрутизацию по прецедентам. При случайной маршрутизации прибывший пакет отсылается в первом попавшемся направлении, кроме исходного. При лавинной маршрутизации один и тот же пакет рассылается по всем направлениям, кроме исходного. Случайная и лавинная маршрутизации, естественно, не используют таблиц маршрутов. При маршрутизации попрецедентам таблица маршрутизации строится по предыдущему опыту, исходя из анализа адресов отправителей приходящих пакетов. Если прибывший пакет адресован компоненту сети, от которого когда-либо приходили данные, то соответствующаязапись об этом содержится в таблице маршрутов, и для дальнейшей передачи пакета выбирается линия связи, указанная в таблице. Если такой записи нет, то пакет может быть отослан случайным или лавинным способом. Алгоритмы простой маршрутизации действительно просты в реализации, но отнюдь не гарантируют доставку пакета указанному адресату за приемлемое время и по рациональному маршруту без перегрузки сети.
Наиболее гибкими являются алгоритмы динамической или адаптивной маршрутизации, которые умеют обновлять содержимое таблиц маршрутов на основе обработки специальных сообщений, приходящих от других компонентов сети, занимающихся маршрутизацией, удовлетворяющих определенному протоколу. Такие алгоритмы принято делить на два подкласса:алгоритмы дистанционно-векторные и алгоритмы состояния связей.
При дистанционно-векторной маршрутизации компоненты операционных систем на соседних вычислительных комплексах сети, занимающиеся выбором маршрута (их принято называть маршрутизатор или router ), периодически обмениваются векторами, которые представляют собой информацию о расстояниях от данного компонента до всех известных ему адресатов в сети. Под расстоянием обычно понимается количество переходов между компонентами сети ( hops ), которые необходимо сделать, чтобы достичь адресата, хотя возможно существование и других метрик, включающих скорость и/или стоимость передачи пакета по линии связи. Каждый такой вектор формируется на основании таблицы маршрутов. Пришедшие от других комплексов векторы модернизируются с учетом расстояния, которое они прошли при последней передаче. Затем в таблицу маршрутизации вносятся изменения, так чтобы в ней содержались только маршруты с кратчайшими расстояниями. При достаточно длительной работе каждый маршрутизатор будет иметь таблицу маршрутизации с оптимальными маршрутами ко всем потенциальным адресатам.
Векторно-дистанционные протоколы обеспечивают достаточно разумную маршрутизацию пакетов, но не способны предотвратить возможность возникновения маршрутных петель при сбоях в работе сети. Поэтому векторно-дистанционная маршрутизация может быть эффективна только в относительно небольших сетях. Для больших сетей применяются алгоритмы состояния связей, на каждом маршрутизаторе строящие графы сети, в качестве узлов которого выступают ее компоненты, а в качестве ребер, обладающих стоимостью, существующие между ними линии связи. Маршрутизаторы периодически обмениваются графами и вносят в них изменения. Выбор маршрута связан с поиском оптимального по стоимости пути по такому графу.
Подробное описание протоколов динамической маршрутизации можно найти в [Олифер, 2002], [Таненбаум, 2003].
Обычно вычислительные сети используют смесь различных стратегий маршрутизации. Для одних адресов назначения может использоваться фиксированная маршрутизация, для других простая, для третьих динамическая. В локальных вычислительных сетях обычно используются алгоритмы фиксированной маршрутизации, в отличие от глобальных вычислительных сетей, в которых в основном применяют алгоритмы адаптивной маршрутизации. Протоколы маршрутизации относятся к сетевому уровнюэталонной модели.
Связь с установлением логического соединения и передача данных с помощью сообщений
Рассказывая об отличиях взаимодействия локальных и удаленных процессов, мы упомянули, что в основе всех средств связи на автономном компьютере так или иначе лежит механизм совместного использования памяти, в то время как в основе всех средств связи между удаленными процессами лежит передача сообщений. Неудивительно, что количество категорий средств удаленной связи сокращается до одной канальных средств связи. Обеспечивать интерфейс для сигнальных средств связи и разделяемой памяти, базируясь на передаче пакетов данных, становится слишком сложно и дорого.
Рассматривая канальные средства связи для локальных процессов в лекции 4, мы говорили о существовании двух моделей передачи данных по каналам связи (теперь мы можем говорить о двух принципиально разных видах протоколов организации канальной связи): поток ввода-вывода и сообщения. Для общения удаленных процессов применяются обе модели, однако теперь уже более простой моделью становится передача информации с помощью сообщений. Реализация различных моделей происходит на основе протоколов транспортного уровня OSI/ISO.
Транспортные протоколы связи удаленных процессов, которые предназначены для обмена сообщениями, получили наименованиепротоколов без установления логического соединения (connectionless) или протоколов обмена датаграммами, поскольку само сообщение здесь принято называть датаграммой ( datagramm ) или дейтаграммой . Каждое сообщение адресуется и посылается процессом индивидуально. С точки зрения операционных систем все датаграммы это независимые единицы, не имеющие ничего общего с другими датаграммами, которыми обмениваются эти же процессы.
Необходимо отметить, что с точки зрения процессов, обменивающихся информацией, датаграммы, конечно, могут быть связаныпо содержанию друг с другом, но ответственность за установление и поддержание этой семантической связи лежит не на сетевых частях операционных систем, а на самих пользовательских взаимодействующих процессах (вышележащие уровни эталонной модели).
По-другому обстоит дело с транспортными протоколами, которые поддерживают потоковую модель. Они получили наименованиепротоколов, требующих установления логического соединения (connection-oriented). И в их основе лежит передача данных с помощью пакетов информации. Но операционные системы сами нарезают эти пакеты из передаваемого потока данных, организовывают правильную последовательность их получения и снова объединяют полученные пакеты в поток, так что с точки зрения взаимодействующих процессов после установления логического соединения они имеют дело с потоковым средством связи, напоминающим pipe или FIFO. Эти протоколы должны обеспечивать надежную связь.
Синхронизация удаленных процессов
Мы рассмотрели основные принципы логической организации сетевых средств связи, внешние по отношению к взаимодействующим процессам. Однако, как отмечалось в лекции 5, для корректной работы таких процессов необходимо обеспечить определенную их синхронизацию, которая устранила бы возникновение race condition на соответствующих критических участках. Вопросы синхронизации удаленных процессов обычно рассматриваются в курсах, посвященных распределенным операционным системам. Интересующиеся этими вопросами могут обратиться к книгам [Silberschatz, 2002], [Таненбаум II, 2003].
Заключение
Основными причинами объединения компьютеров в вычислительные сети являются потребности в разделении ресурсов, ускорении вычислений, повышении надежности и облегчении общения пользователей.
Вычислительные комплексы в сети могут находиться под управлением сетевых или распределенных вычислительных систем. Основой для объединения компьютеров в сеть служит взаимодействие удаленных процессов. При рассмотрении вопросов организации взаимодействия удаленных процессов нужно принимать во внимание основные отличия их кооперации от кооперациилокальных процессов.
Базой для взаимодействия локальных процессов служит организация общей памяти, в то время как для удаленных процессов это обмен физическими пакетами данных.
Организация взаимодействия удаленных процессов требует от сетевых частей операционных систем поддержки определенныхпротоколов. Сетевые средства связи обычно строятся по "слоеному" принципу. Формальный перечень правил, определяющих последовательность и формат сообщений, которыми обмениваются сетевые компоненты различных вычислительных систем, лежащие на одном уровне, называется сетевым протоколом. Каждый уровень слоеной системы может взаимодействовать непосредственно только со своими вертикальными соседями, руководствуясь четко закрепленными соглашениями вертикальными протоколами или интерфейсами. Вся совокупность интерфейсов и сетевых протоколов в сетевых системах, построенных по слоеному принципу, достаточная для организации взаимодействия удаленных процессов, образует семейство протоколов или стек протоколов.
Удаленные процессы, в отличие от локальных, при взаимодействии обычно требуют двухуровневой адресации при своем общении. Полный адрес процесса состоит из двух частей: удаленной и локальной.
Для удаленной адресации используются символьные и числовые имена узлов сети. Перевод имен из одной формы в другую (разрешение имен) может осуществляться с помощью централизованно обновляемых таблиц соответствия полностью на каждом узле или с использованием выделения зон ответственности специальных серверов. Для локальной адресации процессовприменяются порты. Упорядоченная пара из адреса узла в сети и порта получила название socket.
Для доставки сообщения от одного узла к другому могут использоваться различные протоколы маршрутизации.
С точки зрения пользовательских процессов обмен информацией может осуществляться в виде датаграмм или потока данных.
ОБЗОРНАЯ ЛЕКЦИЯ №8
Определение типов межсетевых экранов
Существуют два основных типа межсетевых экранов: межсетевые экраны прикладного уровня и межсетевые экраны с пакетной фильтрацией. В их основе лежат различные принципы работы, но при правильной настройке оба типа устройств обеспечивают правильное выполнение функций безопасности, заключающихся в блокировке запрещенного трафика. Из материала следующих разделов вы увидите, что степень обеспечиваемой этими устройствами защиты зависит от того, каким образом они применены и настроены.
Межсетевые экраны прикладного уровня
Межсетевые экраны прикладного уровня, или прокси-экраны, представляют собой программные пакеты, базирующиеся на операционных системах общего назначения (таких как Windows NT и Unix) или на аппаратной платформе межсетевых экранов.Межсетевой экран обладает несколькими интерфейсами, по одному на каждую из сетей, к которым он подключен. Набор правил политики определяет, каким образом трафик передается из одной сети в другую. Если в правиле отсутствует явное разрешение на пропуск трафика, межсетевой экран отклоняет или аннулирует пакеты.
Правила политики безопасности усиливаются посредством использования модулей доступа. В межсетевом экране прикладного уровня каждому разрешаемому протоколу должен соответствовать свой собственный модуль доступа. Лучшими модулями доступа считаются те, которые построены специально для разрешаемого протокола. Например, модуль доступа FTP предназначен для протокола FTP и может определять, соответствует ли проходящий трафик этому протоколу и разрешен ли этот трафик правилами политики безопасности.
При использовании межсетевого экрана прикладного уровня все соединения проходят через него (см. рис. 10.1). Как показано на рисунке, соединение начинается на системе-клиенте и поступает на внутренний интерфейс межсетевого экрана. Межсетевой экран принимает соединение, анализирует содержимое пакета и используемый протокол и определяет, соответствует ли данный трафик правилам политики безопасности. Если это так, то межсетевой экран инициирует новое соединение между своим внешним интерфейсом и системой-сервером.
Межсетевые экраны прикладного уровня используют модули доступа для входящих подключений. Модуль доступа в межсетевом экране принимает входящее подключение и обрабатывает команды перед отправкой трафика получателю. Таким образом,межсетевой экран защищает системы от атак, выполняемых посредством приложений.
Рис. 10.1. Соединения модуля доступа межсетевого экрана прикладного уровня
Примечание
Здесь подразумевается, что модуль доступа на межсетевом экране сам по себе неуязвим для атаки. Если же программное обеспечение разработано недостаточно тщательно, это может быть и ложным утверждением.
Дополнительным преимуществом архитектуры данного типа является то, что при ее использовании очень сложно, если не невозможно, "скрыть" трафик внутри других служб. Например, некоторые программы контроля над системой, такие как NetBus иBack Orifice, могут быть настроены на использование любого предпочитаемого пользователем порта. Следовательно, их можно настроить на использование порта 80 (HTTP). При использовании правильно настроенного межсетевого экрана прикладного уровня модуль доступа не сможет распознавать команды, поступающие через соединение, и соединение, скорее всего, не будет установлено.
Межсетевые экраны прикладного уровня содержат модули доступа для наиболее часто используемых протоколов, таких как HTTP,SMTP, FTP и telnet. Некоторые модули доступа могут отсутствовать. Если модуль доступа отсутствует, то конкретный протокол не может использоваться для соединения через межсетевой экран.
Межсетевой экран также скрывает адреса систем, расположенных по другую сторону от него. Так как все соединения инициируются и завершаются на интерфейсах межсетевого экрана, внутренние системы сети не видны напрямую извне, что позволяет скрыть схему внутренней адресации сети.
Примечание
Большая часть протоколов прикладного уровня обеспечивает механизмы маршрутизации к конкретным системам для трафика, направленного через определенные порты. Например, если весь трафик, поступающий через порт 80, должен направляться на веб-сервер, это достигается соответствующей настройкой межсетевого экрана.
Межсетевые экраны с пакетной фильтрацией
Межсетевые экраны с пакетной фильтрацией могут также быть программными пакетами, базирующимися на операционныхсистемах общего назначения (таких как Windows NT и Unix) либо на аппаратных платформах межсетевых экранов. Межсетевой экран имеет несколько интерфейсов, по одному на каждую из сетей, к которым подключен экран. Аналогично межсетевым экранам прикладного уровня, доставка трафика из одной сети в другую определяется набором правил политики. Если правило не разрешает явным образом определенный трафик, то соответствующие пакеты будут отклонены или аннулированы межсетевым экраном.
Правила политики усиливаются посредством использования фильтров пакетов. Фильтры изучают пакеты и определяют, является ли трафик разрешенным, согласно правилам политики и состоянию протокола (проверка с учетом состояния). Если протокол приложения функционирует через TCP, определить состояние относительно просто, так как TCP сам по себе поддерживает состояния. Это означает, что когда протокол находится в определенном состоянии, разрешена передача только определенных пакетов. Рассмотрим в качестве примера последовательность установки соединения. Первый ожидаемый пакет - пакет SYN.Межсетевой экран обнаруживает этот пакет и переводит соединение в состояние SYN. В данном состоянии ожидается один из двух пакетов - либо SYN ACK (опознавание пакета и разрешение соединения) или пакет RST (сброс соединения по причине отказа в соединении получателем). Если в данном соединении появятся другие пакеты, межсетевой экран аннулирует или отклонит их, так как они не подходят для данного состояния соединения, даже если соединение разрешено набором правил.
Если протоколом соединения является UDP, межсетевой экран с пакетной фильтрацией не может использовать присущее протоколу состояние, вместо чего отслеживает состояние трафика UDP. Как правило, межсетевой экран принимает внешний пакет UDP и ожидает входящий пакет от получателя, соответствующий исходному пакету по адресу и порту, в течение определенного времени. Если пакет принимается в течение этого отрезка времени, его передача разрешается. В противном случае межсетевой экран определяет, что трафик UDP не является ответом на запрос, и аннулирует его.
При использовании межсетевого экрана с пакетной фильтрацией соединения не прерываются на межсетевом экране (см. рис. 10.2), а направляются непосредственно к конечной системе. При поступлении пакетов межсетевой экран выясняет, разрешен ли данный пакет и состояние соединения правилами политики. Если это так, пакет передается по своему маршруту. В противном случае пакет отклоняется или аннулируется.
Рис. 10.2. Передача трафика через межсетевой экран с фильтрацией пакетов
Межсетевые экраны с фильтрацией пакетов не используют модули доступа для каждого протокола и поэтому могут использоваться с любым протоколом, работающим через IP. Некоторые протоколы требуют распознавания межсетевым экраном выполняемых ими действий. Например, FTP будет использовать одно соединение для начального входа и команд, а другое - для передачи файлов. Соединения, используемые для передачи файлов, устанавливаются как часть соединения FTP, и поэтомумежсетевой экран должен уметь считывать трафик и определять порты, которые будут использоваться новым соединением. Еслимежсетевой экран не поддерживает эту функцию, передача файлов невозможна.
Как правило, межсетевые экраны с фильтрацией пакетов имеют возможность поддержки большего объема трафика, т. к. в них отсутствует нагрузка, создаваемая дополнительными процедурами настройки и вычисления, имеющими место в программных модулях доступа.
Примечание
Последний абзац начинается с фразы "как правило". Различные производители межсетевых экранов сопоставляют ихпроизводительность различными способами. Исторически сложилось так, что межсетевые экраны с пакетной фильтрацией имеют возможность обработки большего объема трафика, нежели межсетевые экраны прикладного уровня, на платформе одного и того же типа. Это сравнение показывает различные результаты в зависимости от типа трафика и числа соединений, имеющих место в процессе тестирования.
Межсетевые экраны, работающие только посредством фильтрации пакетов, не используют модули доступа, и поэтому трафик передается от клиента непосредственно на сервер. Если сервер будет атакован через открытую службу, разрешенную правилами политики межсетевого экрана, межсетевой экран никак не отреагирует на атаку. Межсетевые экраны с пакетной фильтрациейтакже позволяют видеть извне внутреннюю структуру адресации. Внутренние адреса скрывать не требуется, так как соединения не прерываются на межсетевом экране.
Примечание
Большая часть межсетевых экранов с фильтрацией пакетов поддерживает трансляцию межсетевых адресов. Детальное обсуждение этой темы приведено в лекции 16.
Гибридные межсетевые экраны
Как и многие другие устройства, межсетевые экраны изменяются и совершенствуются с течением времени, т. е. эволюционируют. Производители межсетевых экранов прикладного уровня в определенный момент пришли к выводу, что необходимо разработать метод поддержки протоколов, для которых не существует определенных модулей доступа. Вследствие этого увидела свет технология модуля доступа Generic Services Proxy (GSP). GSP разработана для поддержки модулями доступа прикладного уровня других протоколов, необходимых системе безопасности и при работе сетевых администраторов. В действительности GSPобеспечивает работу межсетевых экранов прикладного уровня в качестве экранов с пакетной фильтрацией.
Производители межсетевых экранов с пакетной фильтрацией также добавили некоторые модули доступа в свои продукты для обеспечения более высокого уровня безопасности некоторых широко распространенных протоколов. На сегодняшний день многие межсетевые экраны с пакетной фильтрацией поставляются с модулем доступа SMTP.
В то время как базовая функциональность межсетевых экранов обоих типов осталась прежней, (что является причиной большинства "слабых мест" этих устройств), сегодня на рынке присутствуют гибридные межсетевые экраны. Практически невозможно найти межсетевой экран, функционирование которого построено исключительно на прикладном уровне или фильтрации пакетов. Это обстоятельство отнюдь не является недостатком, так как оно позволяет администраторам, отвечающим за безопасность, настраивать устройство для работы в конкретных условиях.
Вопросы для самопроверки
Что проверяет межсетевой экран с фильтрацией пакетов, помимо набора правил, для принятия решения о блокировке или передаче пакета?
Разработка конфигурации межсетевого экрана
Теперь давайте рассмотрим некоторые стандартные сетевые архитектуры и выясним, каким образом следует настраивать сетевой экран в той или иной конкретной ситуации. В этом упражнении подразумевается, что в организации присутствуют указанные ниже системы, и что эти системы принимают входящие соединения из интернета:
Существует внутренняя система DNS, которая запрашивает системы интернета для преобразования имен в адреса, однако в организации отсутствует своя собственная главная внешняя DNS.
Интернет-политика организации позволяет внутренним пользователям использовать следующие службы:
На базе этой политики можно построить правила политики для различных архитектур.
Архитектура 1: системы за пределами межсетевого экрана, доступные из интернета
На рис. 10.3 показано размещение доступных из интернета систем между сетевым экраном и внешним маршрутизатором. Втаблице 10.1 приведены правила межсетевого экрана.
Рис. 10.3. Системы за пределами межсетевого экрана, доступные из интернета
На маршрутизаторе может быть установлена фильтрация, позволяющая только внешним данным HTTP поступать на веб-сервер и передавать на почтовый сервер только поступающие извне данные SMTP. Как видно из приведенных правил, независимо от того, какой тип межсетевого экрана используется, веб-сервер и почтовый сервер не защищены межсетевым экраном. В данном случаемежсетевой экран лишь защищает внутреннюю сеть организации.
Таблица 10.1. Правила межсетевого экрана для расположенных за пределами межсетевого экрана систем, доступных из интернета
Номер |
Исходный IP |
Конечный IP |
Служба |
Действие |
1 |
Внутренний почтовый сервер |
Почтовый сервер |
SMTP |
Принятие |
2 |
Внутренняя сеть |
Почтовый сервер |
Любой HTTP, HTTPS, FTP, telnet, SSH |
Принятие |
3 |
Внутренняя DNS |
Любой |
DNS |
Принятие |
4 |
Любой |
Любой |
Любая |
Сброс |
Архитектура 2: один межсетевой экран
Вторая стандартная архитектура показана на рис. 10.4. В данной архитектуре используется один межсетевой экран для защиты как внутренней сети, так и любых других систем, доступных из интернета. Эти системы располагаются в отдельной сети (об использовании таких отдельных сетей более подробно рассказываться в лекции 16). В таблице 10.2 приведены правила межсетевого экрана.
Рис. 10.4. Один межсетевой экран
Таблица 10.2. Правила межсетевого экрана для архитектуры с одним межсетевым экраном
Номер |
Исходный IP |
Конечный IP |
Служба |
Действие |
1 |
Любой |
Веб-сервер |
HTTP |
Принятие |
2 |
Любой |
Почтовый сервер |
SMTP |
Принятие |
3 |
Почтовый сервер |
Любой |
SMTP |
Принятие |
4 |
Внутренняя сеть |
Любой |
HTTP, HTTPS, FTP, telnet, SSH |
Принятие |
5 |
Внутренняя DNS |
Любой |
DNS |
Принятие |
6 |
Любой |
Любой |
Любая |
Сброс |
Как видно из таблицы 10.2, правила практически аналогичны правилам архитектуры 1. Межсетевой экран дополняет правила, которые использовались в маршрутизаторе в предыдущей архитектуре. Также мы видим, что не существует явного правила, позволяющего внутреннему почтовому серверу подключаться к почтовому серверу в отдельной сети. Причиной этому является правило 2, позволяющее любой системе (внутренней или внешней) подключаться к упомянутой системе.
Архитектура 3: двойные межсетевые экраны
Третья архитектура, о которой пойдет речь, использует двойные межсетевые экраны (см. рис. 10.5). Доступные из интернета системы располагаются между межсетевыми экранами, а внутренняя сеть расположена за вторым межсетевым экраном. Втаблице 10.3 приведены правила для межсетевого экрана 1.
Вопрос к эксперту
Вопрос. Используются ли межсетевые экраны только на соединениях с интернетом?
Ответ. Не следует ограничивать область действия межсетевых экранов одними лишь интернет-соединениями. Межсетевой экранпредставляет собой устройство, которое может использоваться в любой ситуации, требующей контроля доступа. В частности, данные устройства можно использовать во внутренних сетях, которые необходимо защищать от других внутренних систем. Секретные внутренние сети могут содержать компьютеры с особо важной информацией или функциями либо сети, в которых проводятся эксперименты над сетевым оборудованием.
Хорошим примером секретных сетей являются банковские сети. Каждый вечер банки связываются с системой федерального резерва для передачи денежных средств. Ошибки в этих сетях могут стоить банкам больших денег. Системы, управляющие такими соединениями, являются крайне секретными и жизненно важными для банковских структур. Для ограничения доступа к этим системам из других подразделений банка можно установить межсетевой экран.
Рис. 10.5. Архитектура 3: двойные межсетевые экраны
Как видно из таблицы 10-3, правила в данном случае аналогичны правилам межсетевого экрана в архитектуре 2. Но еще имеется и второй межсетевой экран. Правила для межсетевого экрана 2 приведены в табл. 10-4.
Таблица 10.3. Правила межсетевого экрана 1 в архитектуре с двумя межсетевыми экранами
Номер |
Исходный IP |
Конечный IP |
Служба |
Действие |
1 |
Любой |
Веб-сервер |
HTTP |
Принятие |
2 |
Любой |
Почтовый сервер |
SMTP |
Принятие |
3 |
Почтовый сервер |
Любой |
SMTP |
Принятие |
4 |
Внутренняя сеть |
Любой |
HTTP, HTTPS, FTP, telnet, SSH |
Принятие |
5 |
Внутренняя DNS |
Любой |
DNS |
Принятие |
6 |
Любой |
Любой |
Любая |
Сброс |
Таблица 10.4. Правила межсетевого экрана 2 в архитектуре с двойным межсетевым экраном
Номер |
Исходный IP |
Конечный IP |
Служба |
Действие |
1 |
Внутренний почтовый сервер |
Почтовый сервер |
SMTP |
Принятие |
2 |
Внутренняя сеть |
Любой |
HTTP, HTTPS, FTP, telnet, SSH |
Принятие |
3 |
Внутренняя DNS |
Любой |
DNS |
Принятие |
4 |
Любой |
Любой |
Любая |
Сброс |
Примечание
Эти примеры очень просты, однако они отражают функционирование межсетевых экранов, при котором разрешается только строго определенный доступ.
Построение набора правил межсетевого экрана
Качественно созданный набор правил не менее важен, чем аппаратная платформа. Большая часть межсетевых экранов работает по принципу "первого соответствия" при принятии решения о передаче или отклонении пакета. При построении набора правил согласно алгоритму "первого соответствия" наиболее специфичные правила располагаются в верхней части набора правил, а наименее специфичные (т. е. более общие) - в нижней части набора. Такое размещение правил гарантирует, что общие правила не перекрывают собой более специфичные.
Примечание
Некоторые межсетевые экраны содержат обработчик набора правил, проверяющий набор на наличие правил, перекрываемых другими правилами. Обработчик информирует об этой ситуации администратора межсетевого экрана перед установкой правил намежсетевой экран.
Данный подход хорош в общем плане, однако он не решает проблему производительности межсетевого экрана. Чем больше правил необходимо проверять для каждого пакета, тем больше вычислений должен производить межсетевой экран. При разработке качественного набора правил следует принимать в расчет это обстоятельство, т. к. от него зависит уровень эффективности работы межсетевого экрана.
Для повышения эффективности работы экрана следует оценить ожидаемую нагрузку трафика на межсетевой экран и упорядочить трафик по типам. Как правило, наибольший объем занимает трафик HTTP. Для повышения эффективности межсетевого экрана следует разместить правила, относящиеся к HTTP, вверху набора правил. Это означает, что правило, позволяющее внутренним системам использовать HTTP для подключения к любой системе в интернете, и правило, разрешающее внешним пользователям осуществлять доступ к веб-сайту организации, должны быть расположены очень близко к верхней границе набора правил. Единственными правилами, которые должны находиться выше двух упомянутых правил, являются специфичные правила отказа в доступе, относящиеся к протоколу HTTP.
Выявление различий между межсетевыми экранами различных типов
Данный проект продемонстрирует различия в системах защиты межсетевых экранов различных типов. Для выполнения этого проекта необходим доступ к межсетевому экрану прикладного уровня, а также к экрану с фильтрацией пакетов.
Шаг за шагом
Сконфигурируйте сеть согласно архитектуре 2. Не подключайте эту сеть к интернету!
Создайте почтовый сервер и веб-сервер с настройками по умолчанию и оставьте в каждой системе уязвимости.
Разместите межсетевой экран прикладного уровня в сети и настройте его согласно набору правил из табл. 10.2.
Сконфигурируйте другую систему в качестве внешней системы (как если бы она располагалась вне межсетевого экрана в интернете) и запустите сканер уязвимостей.
С помощью сканера уязвимостей просканируйте почтовый сервер и веб-сервер, а также межсетевой экран.
Теперь замените межсетевой экран прикладного уровня межсетевым экраном с фильтрацией пакетов.
Снова просканируйте серверы.
Сравните полученные результаты. Различна ли информация, полученная при первом и втором сканировании? Одинаковы ли уязвимости, отображенные при подключении обоих межсетевых экранов? Если нет, то почему?
Выводы
Если модули доступа на межсетевом экране прикладного уровня настроены правильно, в результате сканирования через экран с фильтрацией пакетов, скорее всего, отобразится большее число уязвимостей, чем при сканировании через межсетевой экранприкладного уровня. Причиной этому является то, что модуль доступа перехватывает и интерпретирует почту и веб-запросы перед отправкой на серверы. В некоторых случаях этот подход обеспечивает защиту от использования уязвимостей серверов.
Определение прокси
Слово "proxy", как и множество других ставших популярными компьютерными терминами английских слов, возможно, утратило для некоторых из нас свое оригинальное значение. Согласно словарю, proxy это кто-то (или что-то), уполномоченный действовать от лица его клиента и "доставляющий" клиенту определенные предметы.
Вы можете представить себе посредника как доверенное лицо или посла, которым предписано находиться где-то, где не может непосредственно находиться их клиент (или предпочитает не находиться) по причинам неудобства или безопасности. Послы обычно знают местный язык и обычаи, могут привести несовершенный запрос клиента в форму, допустимую в местном масштабе другой зоны, и, конечно, могут перевести обратно полученный ответ. В компьютерных понятиях такой "посол" может получать https-запросы по порту 443 и преобразовывать их в http-запросы по порту 80.
Прокси в более повседневных, практических компьютерных терминах являются процессами, запущенными на компьютерах, которым, как правило, предоставлен доступ (в брандмауэре) к более чем одной зоне. Именно эта способность делает их полезными. В типичном случае прокси просто будет работать от имени своего пользователя на месте перекрытия зон (в образе приложения), выполняя и получая нечто из зоны, с которой при других обстоятельствах запрещено устанавливать контакт или запрашивать что-либо со стороны отдельных процессов и пользователей из другой зоны.
С другой стороны, на прокси можно посмотреть с точки зрения "человека посередине". Как мы видели в предыдущих лекциях, одной из фундаментальных концепций всеобщей безопасности (не только в криптографии) является концепция атаки со стороны "(плохого) человека посередине", которая заключается в перехвате и ретрансляции передаваемой между двумя сторонами информации третьей, незваной, "плохой" стороной.
Прокси могут восприниматься как "хорошие" приемники (слушатели) информации или как "люди посередине". Это значит, что они перехватывают информацию, ретранслируют ее далее, но с некоторой предопределенной и полезной для сетевой инфраструктуры целью.
5.2 Процесс сетевого посредничества
Как правило, компьютерный прокси является базовым серверным процессом. Этот серверный процесс является слушателем, который "слушает" определенный порт (говорят также связан с ним bind ), ожидая запросов по определенному протоколу. Когда установлено соединение с клиентом и получен правильный запрос, он "повторит" этот запрос другому серверу от имени клиента, как определено в его правилах для этого типа запросов. Когда от сервера получен ответ, прокси передает этот ответ назад пользователю или процессу клиента, которые ранее осуществили запрос, применяя все необходимые преобразования.
Если смотреть на вещи упрощенно, прокси на самом деле существуют во множестве различных продуктов. К примеру, большинство технологий порталов, которые сегодня легкодоступны, запрашивают контент от лица пользователя и компонуют его в отдельный "вид портала". Другим примером прокси являются "транзитные пересылки" Notes, которые существовали в Lotus Notes определенное количество лет и разрешали удаленный доступ в среды Notes на протяжении всех ранних лет развития Интернета. Тем не менее далее в этом разделе мы сосредоточим внимание на прокси в виде отдельных продуктов, так как наиболее часто используемым сегодня передовым опытом является применение отдельных прокси-сервисов.
5.3 Типы прокси
В этом разделе определены существующие на рынке различные типы прокси, применяемые в обычных инфраструктурах. Как было установлено ранее, зачастую предоставленное для прокси оборудование будет на самом деле выполнять или поддерживать множество типов прокси-сервисов. К примеру, прокси-сервер может предоставлять возможности кеширования и аутентификации в дополнение к основной функции обеспечения сетевого посредничества для приложений. Однако мы будем трактовать эти ключевые возможности прокси как отдельные типы прокси для облегчения дальнейшего рассмотрения.
Ключевыми типами прокси, которые мы определяем и рассматриваем в этом разделе, являются:
5.3.1 Пересылающие прокси
Пересылающий прокси является прокси-сервером, который помогает пользователям из одной зоны безопасности выполнять запросы контента из "следующей" зоны, следуя направлению, которое обычно (но не обязательно) является исходящим (это значит, что клиент находится внутри, а сервер где-то в открытом Интернете).
С точки зрения безопасности простой прокси имеет целью обеспечение безопасности, состоящее в скрытии наименования (в терминах топологии внутренней сети) рабочей станции или процесса запрашивающего пользователя. Он может также применяться для скрытия некоторых других атрибутов сеанса пользователя.
Типичным примером этого типа являются корпоративные прокси, которые обслуживают внутренних пользователей посредством разрешения им доступа на внешние сайты для Web-браузинга или любого другого вида взаимодействия с Интернетом.
С точки зрения топологии (как в общем смысле, так и относительно ширины полосы пропускания) пересылающие прокси всегда относительно ограничены в терминах сетевой скорости по отношению к своим пользователям из-за более медленного WAN-соединения (соединения с глобальной сетью), которое обычно отделяет пересылающий прокси от реального контента в Интернете.
5.3.2 Прозрачные прокси
Прозрачные прокси являются прокси-серверами, которые "находятся здесь", но не осведомляют пользователей в прямой форме о том, что они здесь находятся. В пересылающих прокси обычно существуют Linux/UNIX блоки, которые слушают весь трафик по определенному протоколу для определенного сегмента сети и перехватывают трафик, хотя пользовательский процесс в действительности не знает об их существовании. Фактически пользовательский процесс не общается с прокси, но общается с другим (конечным) сайтом, а прокси, в сущности, становится тем "человеком посередине", который "взламывает" соединение.
Прокси является непрозрачным, или объявленным, когда пользователи знают о том, что они общаются через прокси, потому что они обращаются (на языке прокси: HTTP) к прокси. Другими словами, если я объявил свой прокси как proxy.mydomain.com, то после этого мои процессы будут общаться с proxy.mydomain.com, запрашивая его об установлении контакта с конечным адресом назначения моих запросов. Я полностью осведомлен о существовании прокси, о необходимости общаться с ним на "языке прокси" (HTTP), и о необходимости передать ему куда "идти" и откуда "принести" необходимый контент.
Вы можете иметь объявленные, непрозрачные прокси, которые автоматически объявлены, сконфигурированы или обнаружены. Вне зависимости от того как они были объявлены, эти прокси являются видимыми и известными для запрашивающего пользователя или процесса. Другими словами, неважно, как вы или ваш процесс узнали о существовании прокси, каковы причины того, что вы узнали о существовании прокси и о том, что вы общаетесь с прокси.
Прозрачные прокси сами по себе не являются на самом деле типом прокси, скорее любой прокси является либо прозрачным, либо объявленным по проекту.
5.3.3 Кеширующие прокси
Кеширующие прокси, как указано в их названии, являются прокси-серверами, которые сконфигурированы на повторное использование кешированных образов контента, когда это доступно и возможно. Когда кешированная ранее часть контента недоступна, то производится ее выборка и использование в контенте, но также с попыткой ее кэширования.
Наиболее важным аспектом для кеширующих прокси является необходимость обеспечения того, что кеширующие прокси кешируют только то, что на самом деле можно кешировать. Динамический, регулярно изменяющийся контент не лучший выбор для кеширования, так как это может оказать воздействие на стабильность приложения, основанного на этом контенте. В случае HTTP-контента заголовки HTTP отображают возможность кеширования контента посредством указателей "cache".
В большинстве случаев пересылающие прокси конфигурируются также для работы в качестве кеширующих прокси. Это явление используется настолько часто, что компания IBM включила это в название компонента своего Edge Server: IBM Caching Proxy. Нарис. 5.1 отображен типичный пересылающий и кеширующий прокси-сервер.
Рис. 5.1. Кеширующий прокси, работающий как пересылающий прокси
5.3.4 Прокси обеспечения безопасности
В качестве высшего проявления необходимой для простых прокси функциональности прокси-серверы могут быть сконфигурированы для приведения в исполнение политик безопасности. Такие прокси обеспечения безопасности могут обрабатывать (либо выступать в качестве посредников при обработке) запросы аутентификации и авторизации. В этих случаях аутентификация пользователя клиента и авторизация клиента для доступа к определенному контенту контролируется самим прокси-сервером. Далее мандат безопасности посылается от прокси к конечным серверам с запросом, а конечный сервер должен быть сконфигурирован на оказание доверия предоставляемому прокси мандату.
Существует много различных продуктов и предложений, а также множество топологий на выбор, но с точки зрения выполнения прокси-функций безопасность является дополнительной функцией, которую может выполнять прокси.
В большинстве случаев функциональные возможности по обеспечению безопасности могут быть добавлены стандартному прокси в виде дополнительного программного модуля [plug-in (плагин)] (к примеру, IBM Tivoli WebSeal Plug-In для IBM WebSphere Edge Server). Существуют также и отдельные продукты, такие, как IBM Tivoli Access Manager for e-Business, которые служат только в качестве прокси обеспечения безопасности.
Немного дополнительной информации о таких прокси обеспечения безопасности вы найдете в разделе 4.1.6, "Системы управления подлинностью и управления доступом на предприятии".
5.3.5 Обратные прокси
Ранее в этой лекции мы установили, что разделение на зоны безопасности является ключевой концепцией при развертывании безопасной топологии. В этом контексте единственным, что позволяет делать обратный прокси, является обеспечение контролируемым и безопасным образом видимости находящегося позади прокси (как правило, во внутренней зоне) более чувствительного контента, без наличия реального необработанного контента, баз данных и т. д., показываемых во внешней зоне.
Обратные прокси имеют много общего кода с пересылающими прокси: фактически одни и те же продукты могут быть сконфигурированы одним или другим образом либо двумя сразу! Однако с функциональной и практической точки зрения в нашем случае мы рассматриваем обратные прокси как полностью другой инструмент.
Обратные прокси и прозрачность
Обратные прокси прозрачны, отчасти по определению. За обратным прокси пользователь вообще не знает о своем общении с прокси-сервером. Пользователь полагает, что общается с реальным предметом сервером, на котором находится контент.
Пользователь не только будет думать о том, что он общается с сервером, на котором находится контент, но и может взаимодействовать и проходить аутентификацию на обратном прокси и быть субъектом по отношению к его политикам.
Обратные прокси с кешем
Обратные прокси обычно избраны и реализованы в целях обеспечения изоляции контента и зон. Однако, вы можете также добавить в обратные прокси функциональные возможности по кешированию для обеспечения производительности заодно с преимуществами обеспечения безопасности.
Рис. 5.2. Типичный обратный прокси
Обратите внимание, что при этом виде сценария выигрыш в производительности за счет кеширования относится к производительности сети, так как обычно обратный прокси расположен близко к конечному серверу. Важным мотивомкеширования с помощью обратного прокси является разгрузка от подачи статического, кешируемого контента от конечных серверов приложений. Это позволит зачастую более дорогим конечным серверам приложений немного освободиться и сфокусировать свое внимание на пропускных способностях своих процессоров при выполнении более сложных динамических задач и задач, связанных с транзакциями.
Однако когда на обратном прокси разрешено кеширование, важным становится обеспечение его должной защиты. Весь контент, даже если он полностью статичен, продолжает нуждаться в защите. Вы же не хотите проснуться и обнаружить, что статическая и неконфиденциальная часть вашего Web-сайта была полностью уничтожена хакерами в кеше обратных прокси.
Обратные прокси с дополнительным обеспечением безопасности
Серверы безопасности обратные прокси [Reverse Proxies Secure Servers (RPSS)] соединяют в одном блоке (или продукте) функции "чистых" обратных прокси и функции прокси обеспечения безопасности, которые были описаны ранее.
Зачастую такие продукты RPSS будут иметь в обратном прокси встраиваемый компонент, обрабатывающий запросы управления доступом и авторизации и объединенный с конечной системой управления доступом предприятия, которая фактически проверяет права пользователя или клиента на доступ и авторизацию. Этот встраиваемый компонент иногда называют лезвием ( blade1 ). К примеру, в качестве решения для обеспечения безопасности на предприятии вы можете использовать IBM Tivoli Access Manager; но у вас есть выбор в том, какое лезвие использовать на уровне прокси (WebSeal или более "легкий" плагин, иногда называемый WebSeal-lite).
5.4 Обратные прокси и технологии Lotus
Большинство технологий на основе Lotus Domino поддерживали сценарии применения обратных прокси на протяжении многих лет. В настоящее время в качестве исключения поддержку обратных прокси получил только продукт Lotus Sametime. Более подробно он описан в следующем разделе.
Последующие требования обратных прокси к Domino должны быть рассмотрены для традиционных технологий на основе Lotus Domino (Notes/Domino, iNotes, QuickPlace и т. д.).
5.4.1 Анализ кеширования в Domino
Первым для кеширования следует принять во внимание то, что приложения, сайты и технологии на основе Domino могут быть очень динамичными по природе. Основываясь на этом, любая реализация обратного прокси с разрешенным кешированием должна принимать на обработку указания кеширования из заголовков HTTP. Это предотвратит кеширование динамического контента Domino тогда, когда он не должен подвергаться кешированию.
Кроме того, основными кешируемыми элементами, которые будут кешироваться обратными прокси с возможностями кеширования, являются изображения, файлы Java-класса и ресурсы изображений. К сожалению, Domino обрабатывает некоторые изображения способом, при котором большинство прокси-серверов не распознает их по умолчанию. Для обеспечения поддержки прокси-сервер должен быть сконфигурирован на распознавание двух элементов дизайна Domino как кешируемых элементов:
В IBM WebSphere Edge Server это выполняется посредством параметров настройки фактора последнего модифицирования ("Last Modified Factor").
5.4.2 HTTP-методы, необходимые Domino
Поддержка методов HTTP (HTTP Methods) большинством прокси-серверов позволяет вам определить типы запросов, обслуживаемые прокси-сервером. Существует несколько типов, которые включаются по умолчанию в большинстве прокси, но единственными необходимыми Domino для функционирования являются GET, HEAD и POST. Другие являются необязательными и могут представлять собой риск для безопасности.
5.4.3 Преобразования URL, необходимые Domino и продуктам на основе Domino
Существует возможность сконфигурировать правило прокси для типа реализации "передача всего", который будет поддерживать технологии на основе Domino. Фактически это может быть параметром по умолчанию для множества прокси-серверов.
requests for /* go to http://xxx.xxx.xxx.xxx/*
В этом случае правило определяет, что если запросу не соответствует никакое из правил набора по умолчанию, то прокси пересылает запрос запрашиваемому серверу вне зависимости от того, что было на сервере запрошено.
Несмотря на то что подобный шаг может быть достаточно простым, он является рискованным, так как разрешает прямой доступ к какому-либо ресурсу на сервере Domino, доступному посредством HTTP.
В качестве альтернативы для ограничения доступа только до уровня необходимой функциональности может быть определен специфический набор правил. К примеру, правила для обычной инфраструктуры Domino, использующей iNotes, будут выглядеть следующим образом:
При таких правилах обслуживается только контент в подкаталогах /mail*. Правила определены таким образом, что если сайт имеет множество почтовых подкаталогов (к примеру, /mail[1-3] ), то они включены. Если вы хотите ограничить доступ только к подмножеству из почтовых баз данных, переместите их в специальную папку, такую, как /pubmail/*.
Другие правила разрешают доступ для поддержки контента, необходимого для предоставления конечному пользователю практики работы с iNotes Web Access. Еще одним важным правилом, которое необходимо рассмотреть, является правило /names.nsf, используемое для аутентификации. Оно разрешает доступ из Интернета к Domino Directory, но не к контенту, который находится вне списка каталогов по умолчанию.
Результат построения URL-адресов со стороны Domino выглядит так. Когда пользователь посредством аутентификации сеанса входит в Domino, экран входа в систему по умолчанию отправляет запрос к /names.nsf?Login. Прокси-сервер согласовывает этот запрос и передает его Domino. Если, к примеру, пользователь пытается открыть вид групп (Groups) с помощью запросов/names.nsf/Groups?Openview или /names. nsf/85255ed5006cafef852556d4006ca21c?OpenView, то как запрос Domino, так и запрос прокси-сервера потерпят неудачу, потому что они не соответствуют правилу. Пользователь получит сообщение об ошибке 403, гласящее о запрещении доступа.
Рассмотрение ограничителей URL-адресов для Domino
Большинство прокси-серверов имеет также возможность принятия во внимание ограничителей URL, которые сообщают прокси-серверу, что данное значение должно трактоваться как часть основного URL для преобразования адресов. Ограничители URL (именуемые в IBM WebSphere Edge Server как параметр SignificantUrlTerminator) должны быть созданы для Domino, так как большинство URL-адресов Domino содержат символ "?" и соответственно трактуются прокси-сервером как URL-адреса запросов для возможного кеширования.
Специфическими ограничителями URL, требуемыми для поддержки Domino, являются:
SignificantUrlTerminator ?OpenImageResource
SignificantUrlTerminator ?OpenElement
SignificantUrlTerminator /?OpenImageResource
SignificantUrlTerminator /?OpenElement
Обработка перенаправляющих ответов от Domino
Инструкция ReversePass (обратная пересылка) большинства прокси-серверов перехватывает стандартные перенаправляющие ответы 302 от Domino и переписывает их для нового места назначения. Это новое место назначения должно являться допустимым URL-именем с таким расчетом, что, когда конечный пользователь запросит обновленную страницу после перенаправления, она будет действительной:
ReversePass http://xxx.xxx.xxx.xxx/* http://proxy.formymailserver.web/*
Дополнительная информация
Дополнительную информацию о конфигурировании Domino для использования за обратным прокси-сервером можно найти в статье с домена Lotus Developer Domain (LLD) "Конфигурирование Web-доступа к iNotes при использовании обратного прокси-сервера WebSphere Edge". Эта статья может быть найдена на сайте LDD по адресу:
http://www-10.lotus.com/ldd/today.nsf/62f62847467a8f78052568a80055b380/ ff0e835068e03c3685256cda0054a213?OpenDocument&Highlight=0,reverse,proxy
5.5 Поддержка прокси в Lotus Sametime 3.1
В то время как другие технологии Lotus поддерживали использующие обратные прокси-серверы инфраструктуры самостоятельно, поддержка прокси в продукте Lotus Instant Messaging and Web Conferencing (Sametime) началась с версии 3.1. В этом разделе рассматриваются определенные проблемы относительно совместного использования прокси-серверов HTTP и сервера Sametime 3.1, так как эти проблемы являются более сложными и запутанными, чем у других рассмотренных нами до этого момента технологий Lotus.
Более детальную информацию о поддержке обратных прокси в Sametime 3.1 можно найти в руководстве администратора Sametime 3.1 Administrators Guide, которое является частью документации на продукт. Данная документация доступна в домене Lotus Developer Domain по адресу:
http://www.lotus.com/ldd
5.5.1 Обзор поддержки прокси в Sametime 3.1
Когда сервер Sametime 3.1 размещен во внутренней сети за обратным прокси-сервером, то обратный прокси-сервер работает как посредник между сервером Sametime и клиентами Sametime. Все данные Sametime, протекающие между сервером Sametime и его клиентами, проходят через обратный прокси-сервер.
Для выполнения своих целей в области безопасности обратный прокси-сервер обрабатывает проходящие через него данные. Обработка данных Sametime со стороны обратного прокси-сервера накладывает определенные требования и ограничения на использование обратных прокси-серверов вместе с сервером Sametime. Поэтому в данном случае поддерживаются только определенные типы прокси-серверов и могут быть разрешены только определенные типы свойств прокси.
5.5.2 Требования к обратным прокси-серверам
В этом разделе перечислены требования, которым должен соответствовать обратный прокси-сервер для совместного использования с Sametime 3.1.
Требование к спецификации URL (требование родственного id)
Совместно с Sametime могут быть использованы только те обратные прокси-серверы, которые поддерживают использование "идентификаторов схожести" ( affinity-id ) (или псевдонимов сервера) в тех URL-адресах, которые связаны с внутренними серверами. Если более точно, то обратный прокси-сервер должен поддерживать эту спецификацию URL для доступа к защищенным внутренним серверам:
В этом примере "hostname" представляет собой полное доменное имя машины ( FQDN ) (DNS-имя) обратного прокси-сервера, а "affinity-id" является псевдонимом внутреннего сервера, который защищен посредством обратного прокси-сервера. Точным примером URL такого формата является
В этом примере текстовая строка "st01" является идентификатором схожести ( affinity-id ). Родственный id является псевдонимом определенного сервера Sametime (такого, как sametime.ibm.com), который защищен посредством обратного прокси-сервера. Родственный id используется обратным прокси-сервером для направления входящих запросов на определенный внутренний сервер Sametime.
Среды со множеством обратных прокси-серверов
Если вы разместили в вашей сетевой среде множество обратных прокси-серверов и ожидаете, что пользователи будут осуществлять доступ к вашим серверам Sametime через это множество обратных прокси-серверов, то к вашей среде возникают некоторые особые требования:
Каждый из обратных прокси-серверов должен иметь одно и то же DNS-имя и одни и те же настройки конфигурации преобразования адресов.
К примеру, если один из обратных прокси-серверов имеет имя reverseproxy.ibm.com, то и все другие обратные прокси-серверы должны иметь имя reverseproxy.ibm.com. Если обратные прокси-серверы имеют различные DNS-имена, то клиенты Sametime будут неспособны поддерживать связь с сервером Sametime, расположенным за обратными прокси-серверами. Для распределения соединений от Web-браузеров к множеству обратных прокси-серверов должно быть использовано устройство, управляющее распределением соединений (такое, как IBM WebSphere Edge Server).
Множество обратных прокси-серверов должно иметь аналогичные настройки конфигурации преобразования адресов.
Каждый обратный прокси-сервер должен использовать идентичные правила и конфигурации преобразования адресов для управления переводом URL-адресов, отправляемых Web-браузерами к обратному прокси-серверу, с целью обеспечения доступа к внутреннему серверу Sametime. Если перевод этих URL-адресов в URL-адреса внутренних серверов Sametime не происходит одинаковым образом на каждом из обратных прокси-серверов, клиенты Sametime будут неспособны поддерживать связь с сервером Sametime, расположенным за обратным прокси-сервером.
Обратный прокси-сервер должен использовать для аутентификации cookies
Обратные прокси-серверы, которые переписывают URL-адреса в целях аутентификации, не поддерживаются. Некоторые обратные прокси-серверы добавляют информацию об аутентификации и сеансе в конец внедренных в HTML URL-адресов, которые передаются через прокси назад к клиенту. Клиент будет включать эти добавленные данные в последующие запросы к обратному прокси-серверу.
Когда обратный прокси-сервер получает от клиента эти последующие запросы, он отделяет данные аутентификации и переписывает URL-адрес для выполнения внутренней маршрутизации запросов. Сервер Sametime не может работать за обратным прокси-сервером, который обрабатывает данные аутентификации подобным образом.
В связи с этим должны использоваться обратные прокси, которые применяют в информации аутентификации cookies. Кроме того, администратор должен указать значение максимально возможного времени ожидания для cookies аутентификации, сгенерированных обратным прокси-сервером. Установка значения максимально возможного времени ожидания для cookies аутентификации может предотвратить неожиданные отключения пользователей из-за истечения срока действия cookie аутентификации. Как правило, cookie аутентификации должен быть действительным полное время наиболее длительных соединений, которые регулярно проводятся с сервером Sametime, размещенным за обратным прокси-сервером.
5.5.3 Ограничения Sametime при использовании обратных прокси-серверов
Несмотря на то что Sametime 3.1 поддерживает среды с обратными прокси-серверами, в связи с этим существуют некоторые ограничения относительно стандартных функциональных возможностей Sametime.
Ограничения клиента и потребности в JVM
Не все клиенты Sametime могут взаимодействовать с серверами Sametime через обратный прокси-сервер. Поддерживаются следующие клиенты:
Клиенты Sametime Meeting Room и Sametime Broadcast.
Клиент Sametime Meeting Room и клиент Sametime Broadcast могут взаимодействовать с сервером Sametime через обратный прокси-сервер в том случае, когда запущены следующие Web-браузеры и виртуальные Java-машины [Java Virtual Machines(JVM)]:
браузер IE 6 + MS VM или Sun Microsystems JVM 1.4.1 + Java Plug-In;
Netscape + Sun Microsystems JVM 1.4.1 (и связанный с нею Java Plug-In).
Клиент Sametime Connect для браузеров (Java-версия Sametime Connect) и приложения Sametime Links, скомпонованные с инструментариями разработчика Sametime.
Клиент Sametime Connect для браузеров и приложения Sametime Links могут взаимодействовать с сервером Sametime через обратный прокси-сервер в том случае, когда запущены браузеры Explorer 6 или Netscape 7, которые работают с Sun Microsystems JVM 1.4.1.
Клиент Sametime Connect для браузеров и приложения Sametime Links могут не функционировать соответствующим образом с другими виртуальными Java-машинами, включая предусмотренную для Internet Explorer собственную виртуальную машину Microsoft.
Ограничение. Sametime Connect для клиента рабочего стола (Microsoft Windows-версия Sametime Connect) не может использоваться с сервером Sametime, который размещен за обратным прокси-сервером.
Ограничения сервера
Когда сервер Sametime расположен за обратным прокси-сервером, на его возможности накладываются следующие ограничения:
Недоступно аудио/видео. Аудио/видео-потоки не могут быть переданы к клиентам Sametime, которые осуществляют доступ к серверу Sametime через обратный прокси-сервер.
Недоступны базы данных TeamRoom и Discussion. Пользователь, который соединяется с сервером Sametime через обратный прокси-сервер, не может использовать на сервере Sametime базы данных TeamRoom и Discussion.
Невозможен доступ к Sametime Administration Tool. Пользователь, который соединяется с сервером Sametime через обратный прокси-сервер, не может получить доступ к инструменту Sametime Administration Tool. Для доступа к Sametime Administration Tool пользователь может открыть установленный на сервере Sametime Web-браузер. Для доступа к Sametime Administration Tool пользователь может также соединиться с сервером Sametime с рабочего места во внутренней сети, с которого не осуществляется маршрутизация HTTP-трафика через обратный прокси-сервер.
Ограничения для сервера Sametime Enterprise Meeting Server. Сервер Sametime 1.0 Enterprise Meeting Server, который работает с серверами Sametime 3.1, не может быть размещен за обратным прокси-сервером.
5.5.4 SSL, анализ и проблемы сертификации клиента
Для шифрования передаваемых между клиентами Sametime и обратным прокси-сервером данных может использоваться протокол защищенных сокетов [Secure Sockets Layer (SSL)]. Однако SSL не может использоваться для шифрования данных, передаваемых между серверами Sametime и обратным прокси-сервером. Соответственно соединение между обратным прокси и сервером Sametime должно быть безопасным.
Совет. Если для шифрования передаваемых между Web-браузерами и обратным прокси-сервером данных используется SSL, на сервере Sametime администратор должен осуществить конфигурацию преобразования адресов, необходимую для преобразования получаемых от Web-браузера данных HTTPS в требуемые сервером Sametime данные HTTP.
Когда SSL используется в среде обратного прокси с Sametime, многие из выполняемых Sametime функций будут запускаться в плагине Java Plug-in Web-браузера (клиент соединения, клиент совещаний и т. д.). Этот Java Plug-in должен распознавать используемые обратным прокси-сертификаты SSL, исходя из чего он сможет взаимодействовать через SSL.
Сертификатами, которые, возможно, потребуется распознавать Java Plug-in, являются следующие.
Сертификаты подписчика
Когда обратный прокси-сервер сконфигурирован на поддержку SSL, во время подтверждения установления SSL-соединения ("рукопожатия" handshake) он отправляет Web-браузеру сертификат SSL сервера. Используемый Web-браузером Java 1.4.1 Plug-in должен иметь доступ к сертификату подписчика (Signer certificate), который подписан тем же источником сертификации (Certificate Authority (CA)), что и высланный обратным прокси сертификат сервера.
По умолчанию Java Plug-in имеет доступ к нескольким различным сертификатам подписчика, которые могут быть использованы для этой цели. Для просмотра доступных модулю Java Plug-in 1.4.1 сертификатов подписчика используйте панель управления Java Plug-in следующим образом:
С рабочего стола Windows откройте панель управления [Start (Пуск) Settings (Настройка) Control Panel (Панель управления)].
Щелкните два раза мышью на иконке Java Plug-in 1.4.1 для открытия панели управления Java Plug-in.
Щелкните мышью на закладке Certificates (Сертификаты).
Выберите переключатель Signer CA (Источник сертификации подписчика).
В целях успешного подтверждения связи ("обмена рукопожатиями") для установления SSL-соединения сертификат сервера, отправленный обратным прокси-сервером Web-браузеру клиента, должен быть подписан одним из источников сертификации (CA) из списка источников сертификации подписчика.
Проблемы аутентификации сертификата клиента
Если конфигурация обратного прокси-сервера требует аутентификации сертификата клиента, то этот сертификат для отдельного пользователя должен быть импортирован в панель управления Java Plug-in 1.4.1 на машине данного пользователя. Для импортирования сертификата клиента в хранилище ключей Java Plug-in вы можете использовать закладку Certificates (Сертификаты) панели управления Java Plug-in.
К примеру:
С рабочего стола Windows машины пользователя откройте панель управления[Start (Пуск) Settings (Настройка) Control Panel (Панель управления)].
Щелкните два раза мышью на иконке Java Plug-in 1.4.1 для открытия панели управления Java Plug-in.
Щелкните мышью на закладке Certificates (Сертификаты).
В графе Certificates (Сертификаты) выберите Secure Site (Безопасный сайт).
Щелкните мышью на кнопке Import (Импорт) для импортирования сертификата клиента.
5.5.5 Правила преобразования адресов на обратном прокси-сервере в целях поддержки Sametime
Когда сервер Sametime расположен за обратным прокси-сервером, администратор должен сконфигурировать на обратном прокси-сервере правила преобразования адресов.
Эти правила преобразования адресов позволяют прокси-серверу преобразовывать (или переписывать) URL-адреса, связанные с обратным прокси-сервером, в URL-адреса внутреннего сервера Sametime.
Когда пользователь соединяется с сервером Sametime через обратный прокси-сервер, то последний должен иметь в конфигурации "правила преобразования адресов" для поддержки перечисленных ниже действий, которые дадут возможность пользователям Sametime присутствовать на совещаниях и участвовать в сеансах чатов.
Пользователь должен быть способен щелкать мышью по ссылкам на главной странице сервера Sametime и осуществлять навигацию по различным HTML-страницам пользовательского интерфейса. Эта возможность требует от обратного прокси-сервера переписывания URL-адресов HTML-страниц, которые содержат пользовательский интерфейс Sametime.
Клиенты Java-апплетов Sametime, которые загружаются в Web-браузер пользователя, должны быть способны соединяться со службами сервера Sametime. Так как эти соединения должны проходить через обратный прокси-сервер, то прокси-сервер должен быть также способен переписывать URL-адреса, требуемые для установки соединений Java-апплетов со службами сервера Sametime.
В этом разделе предусмотрены некоторые рекомендации на тему того, как на обратном прокси-сервере сконфигурировать правила преобразования адресов для выполнения преобразования (или переписывания) URL-адресов в случае совместной работы обратного прокси и Sametime.
Рассмотрение псевдонима и множество серверов
Любой обратный прокси-сервер, который работает с сервером Sametime, должен поддерживать в URL-адресах идентификатор схожести ( affinity-i d) (или псевдоним сервера).
К примеру, если входящим URL-адресом от Web-сервера является
то правила преобразования адресов обратного прокси-сервера преобразуют родственный id "st01" в сервер Sametime, именуемый "sametime.ibm.com", а родственный id обеспечивает переписывание обратным прокси-сервером входящего URL-адреса в адрес следующего вида:
Если вы имеете множество серверов Sametime, размещенных за обратным прокси-сервером, то каждый сервер Sametime должен иметь индивидуальный родственный id, к примеру:
Использование шаблонов для упрощения преобразования адресов пользовательского интерфейса Sametime
Использование шаблонов для упрощения преобразования адресов пользовательского интерфейса Sametime
Для преобразования всех URL-адресов, связанных с пользовательским интерфейсом сервера Sametime, может быть применено единственное правило преобразования адресов.
Администратор может создать для обратного прокси-сервера единственное правило преобразования адресов для преобразования всех URL, связанных с интерфейсом сервера Sametime, посредством использования шаблонов. К примеру, администратор может создать правило преобразования, с помощью которого следующий URL-адрес от Web-браузера:
Единственное правило преобразования адресов, которое выполняет этот тип преобразования URL, должно разрешать пользователям доступ ко всем элементам пользовательского интерфейса Sametime через обратный прокси-сервер.
Четыре типа преобразования адресов, требуемые для трех серверов с Java-апплетами
При создании правил преобразования URL-адресов с целью разрешения клиентам Java-апплетов Sametime работать в Web-браузере пользователя должна быть обеспечена поддержка соединения со службами Community Services, Meeting Services, Broadcast Services на сервере Sametime. Фактически для этих трех служб требуется четыре правила преобразования адресов: два дляCommunity Services, одно для Meeting Services и одно для Broadcast Services.
Пример преобразования адресов для служб Community Services
Этот пример отображает конфигурацию преобразования адресов, которая позволит клиенту Java-апплета соединяться со службами Community Services.
Если входящими URL-адресами от Java-апплета являются
то правила преобразования адресов на обратном прокси должны преобразовать эти URL-адреса в следующий вид:
Совет. Конфигурация преобразования адресов для соединений со службами Community Services должна содержать два чувствительных к регистру правила, как было отображено выше. Некоторые фрагменты Java-кода в "communityCBR" содержат"с" нижнего регистра, в других фрагментах Java-кода в "CommunityCBR" используется "С" верхнего регистра. Если прокси является чувствительным к регистру, это различие может препятствовать установлению соединений.
Пример преобразования адресов для служб Meeting Services
Этот пример отображает конфигурацию преобразования адресов, которая позволит клиенту Java-апплета соединяться со службами Meeting Services.
Если входящим URL-адресом от Java-апплета является
то правило преобразования адресов на обратном прокси должно преобразовать этот URL-адрес в следующий вид:
Пример преобразования адресов для служб Broadcast Services
Этот пример отображает конфигурацию преобразования адресов, которая позволит клиенту Java-апплета соединяться со службами Broadcast Services.
Если входящим URL-адресом от Java-апплета является
то правило преобразования адресов на обратном прокси должно преобразовать этот URL-адрес в следующий вид:
HTTP-туннелирование, облегчающее преобразование адресов для Java-апплетов
Во время установки сервера Sametime администратор может на свой выбор разрешить или не разрешить HTTP-туннелирование по порту 80.
Если во время установки сервера Sametime администратор не разрешит HTTP-туннелирование по порту 80, то необходимо сконфигурировать отдельные правила преобразования адресов для каждой из трех служб Sametime (Community Services, Meeting Services и Broadcast Services), как было показано выше.
Когда HTTP-туннелирование по порту 80 не разрешено, каждая служба Sametime слушает HTTP-соединения на различных портах и для каждой из служб должны быть установлены отдельные правила преобразования адресов. Правило преобразования адресов должно указывать порт, на котором каждая из служб прослушивает соединения.
Если во время установки сервера Sametime администратор разрешил HTTP-туннелирование по порту 80, клиенты Sametime соединяются со всеми службами по единственному порту.
При этой конфигурации единственное правило преобразования адресов, которое разрешает пользователям осуществлять навигацию по пользовательскому интерфейсу сервера Sametime, разрешит также клиентам Sametime устанавливать соединения с сервисами Sametime.
Когда разрешено HTTP-туннелирование по порту 80, мультиплексор служб Community Services сервера Sametime слушает HTTP-соединения от имени служб HTTP Services, Community Services, Meeting Services и Broadcast Services сервера Sametime. Мультиплексор служб Community Services слушает соединения для всех этих служб на единственном порту (порт 80).
Когда сервер Sametime работает в однопортовом режиме (что означает разрешение HTTP-туннелирования по порту 80), правила преобразования адресов для соединений Java-апплетов более просты. Так как все соединения клиентов Java-апплетов Sametime происходят по одному и тому же порту, нет необходимости указывать в правилах преобразования адресов отдельные порты для каждой из служб.
При таком сценарии администратору необходимо только убедиться в том, что этот входящий URL-адрес от Java-апплетов Sametime:
посредством правил преобразования адресов на обратном прокси-сервере изменяется на следующий URL-адрес:
Совет. Когда сервер Sametime сконфигурирован на поддержку HTTP-туннелирования по порту 80, производительность сервера не является наиболее эффективной, так как нагрузка от соединений сосредоточена на мультиплексоре служб Community Services.
5.5.6 Конфигурирование Sametime 3.1 для поддержки обратного прокси
Чтобы разрешить серверу Sametime 3.1 понимать и поддерживать запросы обратного прокси, администратор должен использовать на сервере Sametime инструмент Sametime Administration Tool для конфигурирования сервера Sametime на работу с обратным прокси-сервером.
Убедитесь в том, что Sametime настроен на HTTP-туннелирование.
Требуется HTTP-туннелирование, так как большинство обратных прокси будет поддерживать только протоколы HTTP.
Разрешите поддержку обратных прокси.
Откройте раздел Configuration (Конфигурация) графического интерфейса пользователя Sametime Web Admin и щелкните мышью на Connectivity (Соединяемость). В нижней части экрана находится раздел "Reverse Proxy Support (Поддержка обратного прокси)".
Разрешите поддержку обратного прокси путем установки кнопки-флажка, после чего введите "имя соединения" (junction name ) обратного прокси в окне Server Alias (Псевдоним сервера).
Разрешите обнаружение клиентом обратного прокси.
Выбор параметра Reverse Proxy Discovery (Обнаружение обратного прокси) позволяет администратору разрешить или запретить поддержку обратного прокси.
Этот параметр разрешает применение в клиентах Sametime логики, которая позволяет им соединяться с сервером Sametime через обратный прокси-сервер. Данный параметр по умолчанию запрещен.
Совет. Разрешение этого параметра не требует, чтобы все пользователи вашей корпоративной интранет-сети осуществляли доступ к серверу Sametime через обратный прокси-сервер. Данное разрешение улучшает существующую в клиентах Sametime логику путем добавления к ней логики соединения с обратным прокси. Существующая логика остается и работает внутри клиентов. При такой схеме клиенты, которые не подключаются к серверу Sametime через обратный прокси-сервер, при соединении с сервером Sametime следуют стандартным процессам соединения клиентов Sametime.
5.6 Общие советы по работе с обратными прокси
Этот раздел содержит некоторые общие советы и подсказки по работе с обратными прокси, которые не являются специфичными по отношению к какой-либо технологии или продукту Lotus или IBM.
Рассмотрение воздействия на производительность
При использовании какого-либо обратного прокси необходимо рассматривать потенциальное воздействие на производительность системы. Даже при разрешенном кешировании такие дополнительные шаги, как преобразование URL-адресов, модификация заголовков HTTP, любые требуемые преобразования и т. д., со стороны обратного прокси могут иметь негативное влияние на производительность приложений, которые являются "разговорными".
С примером воздействия на производительность со стороны обратного прокси по отношению к функции Domino Web Access (iNotes) можно ознакомиться в статье "Работа iNotes Web Access с обратными прокси и другими средствами обеспечения безопасности", доступной на Web-сайте Lotus Developer Domain по адресу
Рассмотрение схожести клиентов
Если потенциальным объектом обслуживания запросов может быть более чем один сервер (в случае конфигурации обеспечения высокой доступности, перехвата отказов или распределения нагрузки) и если запросы включают динамический контент, вы должны убедиться в том, что для всех транзакций, проходящих для отдельного клиента за отдельный промежуток времени, используется один и тот же сервер.
Это явление называется схожестью клиентов (client affinity) или "прилипающими" сеансами (sticky sessions). Оно может быть реализовано посредством cookies, правил и т.д., но обычно требует размещения перед группой прокси-серверов компонентов балансировки нагрузки. Примером является модуль Network Dispatcher внутри сервера WebSphere Edge Server компании IBM.
Идея проста: пока сервер доступен, вы обслуживаетесь одним и тем же сервером на протяжении всего вашего сеанса. Если этот сервер становится недоступным, для обхода отказа вы переключаетесь на другой сервер (gracefully transition).
Тестирование всевозможных "дыр"
При создании и построении новой инфраструктуры обратных прокси протестируйте все пути через эту инфраструктуру. Когда введено в действие большинство обратных прокси, то подразумевается, что через брандмауэр разрешено проходить только трафику, пропущенному через обратный прокси и что через обратный прокси разрешено проходить только трафику определенных типов.
В дополнение к проверке того, что все желаемые вами связи работают, убедитесь в том, что все другие связи не работают. Должно работать только то, что разрешено явно, все остальное не должно работать. Общей проблемой развернутых систем являются неудачи в действительном "закрытии" всех альтернативных и прямых маршрутов от запрашивающих объектов до конечных серверов.
Проверка прослушиваемых адресов
Вы можете проконтролировать, работает ли прокси и по каким портам он работает, путем проверки прокси-сервера на предмет наличия процесса, прослушивающего предполагаемые порты. Полезно также проверять, чтобы прокси не был случайно сконфигурирован на прослушивание большего количества IP-адресов, чем планировалось.
Для проверки на наличие прослушивающего процесса для отдельного порта (и для какого удаленного адреса) вы можете использовать команду операционной системы NETSTAT.
Если вы видите 0.0.0.0:8080 (или *.*:8080 ) локальным (первым) адресом, как показано, то это означает, что прокси прослушивает все TCP/IP-адреса, объявленные и разрешенные на локальной машине. Другими словами, в случае наличия компьютера, который имеет более одной сетевой карты и IP-адреса, запрашивающий может соединиться с любым из этих адресов и взаимодействовать через прокси.
Это важно проверять, поскольку иногда чрезвычайно важно прослушивать специфические адреса. К примеру, по причинам безопасности вы можете предпочесть прослушивать 127.0.0.1:xx на предмет наличия трафика в том же самом сервере, доступ к которому должен осуществляться только через локальный обратный прокси, и не прослушивать внешний IP-адрес сервера.
Недопущение переполнения кеша при использовании кеширующего прокси
С точки зрения передового опыта в области обеспечения безопасности единственной наиболее значимой вещью, в которой вы захотите убедиться, будет то, что кеширующий прокси кеширует то, что кешируемо, и не кеширует то, что некешируемо. Результаты игнорирования инструкций насчет невыполнения кеширования со стороны прокси-серверов, сконфигурированных на "сохранение пропускной способности", могут лежать в диапазоне от проблем аутентификации до некорректного функционирования механизма единой авторизации [single sign on (SSO)], до отказа в функционировании ключевых элементов функциональных возможностей, таких, как информированность Sametime.
Продукты Lotus сильно полагаются на то, что прокси не допускают переполнения кеша некешируемым контентом, в противном случае результаты будут действительно непредсказуемыми.
Совет по устранению неполадок. Если в процессе отладки соединения между двумя объектами, скажем Алисой и Бобом, у вас есть хоть малейшее подозрение на то, что кто-то (люди из вашей дружественной сети или даже ваш интернет-провайдер) мог сконфигурировать прозрачный прокси посередине между Алисой и Бобом, то обратитесь к следующему понятию: дополнительные заголовки ответов, которые содержат "путь". Во множестве реальных случаев мы обнаружили (имея анализатор протоколов), что некоторые из этих прозрачных пересылающих прокси допускают переполнение кеша или агрессивно кешируют контент, что означает, что они сконфигурированы на сохранение пропускной способности, причем не важно какой. Соответственно они поступают, как "они считают лучше" или как "более интеллектуальные прокси", игнорируя в действительности инструкции "не кешировать (no-cache)" и "истечение срока (expires)", которые может задавать контенту Web-сервер.
Отслеживание IP-адресов клиентов
По умолчанию многие обратные прокси-серверы будут скрывать подлинный IP-адрес клиента при выполнении запросов конечных серверов. Соответственно, будет казаться, что все запросы идут с одного и того же IP-адреса. Параметры обеспечения конфиденциальности многих образцов прокси разрешают наличие дополнительных заголовков HTTP для передачи их наряду с запросами. Таким образом, существует возможность разрешить пересылку IP-адреса клиента серверу назначения. При этом к запросу добавляется значение дополнительного заголовка HTTP, содержащее действительный IP-адрес запрашивающего клиента. Данное явление имеет большое значение для обеспечения безопасности, так как позволяет вам отслеживать и устранять неполадки в любых клиентских соединениях.
Отключение поиска имени с использованием DNS
Многие прокси-серверы разрешают соединяющимся клиентам осуществлять поиск имени с использованием DNS. Эта опция является причиной того, что прокси-сервер превращает каждый входящий IP-адрес клиента в имя хоста, результатом чего являются непроизводительные издержки в обработке данных на сервере. Если не принимать во внимание причины из области обеспечения безопасности и протоколирования, побуждающие делать это, то данная опция обычно должна быть отключена.
Ведение журналов и мониторинг вашего прокси
Как правило, прокси-серверы размещаются во внешних зонах, которые оставляют их открытыми при наличии повышенного уровня возможности проведения атак со стороны потенциальных хакеров. Поэтому вы должны регулярно осуществлять протоколирование событий и мониторинг ваших прокси-систем.
Поддержка последних системных патчей
В то время как мы постигаем сложности внутреннего размещения и проблемы синхронизации, имея при этом в наличии установленные на что-либо продукты обеспечения безопасности, не располагающие последними доступными патчами/уровнями (обновлениями), существует реальная угроза получения серьезных проблем. Нет смысла тратить деньги на поддержание безопасности ниже стандартного уровня. Несмотря на то что вы можете использовать ее для предотвращения определенных ошибок, такого понятия, как "полубезопасность", не существует. Имеющие злой умысел хакеры располагают той же информацией об известных уязвимостях, которой располагаем и мы, и не замедлят быстро воспользоваться этими уязвимостями.
5.7 Краткие выводы
В этой лекции мы ознакомились с общим представлением о прокси-серверах и описали различные типы прокси, использующиеся в современных инфраструктурах обработки данных. Далее мы сфокусировали внимание на понятии обратного прокси, так как обратные прокси представляют собой ключевые строительные элементы для создания многозональных безопасных сред. После этого были представлены различные рассуждения и советы по введению обратных прокси в эксплуатацию при использовании технологий IBM и Lotus.
Принцип обратного прокси позднее используется в этом курсе в части 4, "Безопасный сценарий", в целях оказания помощи при создании безопасной среды для вымышленной компании.
ОБЗОРНАЯ ЛЕКЦИЯ №9
Уязвимость инфокоммуникационных систем.
Уязвимость - "ахиллесова пята" современных информационных систем
Ни для кого не секрет, что современные информационные системы (ИС) являются одним из краеугольных камней, на основе которых строят бизнес-процессы компании и предприятия различных форм и назначений. Однако присущая для всех ИС "Ахиллесова пята" - уязвимость заставляет уделять особое внимание их защите от несанкционированных воздействий, способных привести к нарушению конфиденциальности, целостности или доступности всей системы.
В последнее время всё чаще и чаще можно слышать о вторжениях в информационные системы (ИС) предприятий и организаций и о том, к какому ущербу они приводят. И это не случайное явление, поскольку одной из важнейших парадигм 21 века являются инфокоммуникационные технологии, охватывающие почти все административно-производственные цепочки - источник повышенного интереса со стороны потенциальных злоумышленников. Это заставляет бизнесменов, вступающих в век информации, задумываться о том, что необходимо постоянно повышать уровень защищённости предприятия, внедрять более эффективные средства защиты, которые позволят эффективно противодействовать информационным атакам.
Любые атаки нарушителей реализуются путём активизации той или иной уязвимости, которая присутствует в системе. Это в свою очередь создаёт условия для успешной реализации информационных атак на ИС. Примерами уязвимостей могут являться некорректным образом составленная политика безопасности, отсутствие определённых средств защиты или ошибки в используемом программном обеспечении (ПО). На рис. 23.1 показаны примеры уязвимостей, атак и возможные последствия их успешной реализации.
Рис. 23.1. Примеры уязвимостей, информационных атак и их последствий
Значимость "Ахиллесовой пяты" для ИС, а так же эффективность методов выявления и устранения уязвимостей легче проследить на ряде широко известных примеров.
Уязвимости "buffer overflow"
В основе уязвимости типа " buffer overflow " (переполнение буфера) лежит возможностью переполнения стека атакуемой подпрограммы, в результате чего нарушитель получает возможность выполнить любые команды на стороне хоста, где запущена эта подпрограмма. Наличие именно такой возможности позволило провести первую крупномасштабную атаку в сети Интернет в 1988 году, которая впоследствии получила название - "Интернет-червь Ч. Морриса". Базируясь на уязвимости в сетевой службе fingerd, буквально за несколько дней, эта атака фактически парализовала работу более половины всех компьютеров, подключённых к сети Интернет. И по сей день уязвимость класса " buffer overflow " считается одним из наиболее распространённых и весьма опасных типов уязвимостей, имеющихся в общесистемном и прикладном ПО. Для более полного представления особенностей уязвимости этого типа рассмотрим основные принципы организации стека процессора семейства Intel x86.
Стек представляет собой область памяти, специально выделенной для временного хранения данных подпрограмм. В защищённом режиме работы микропроцессора максимальный размер стека ограничивается четырьмя Гигабайтами. Структура стека организована в соответствии с принципом LIFO ( Last In First Out - "последним пришел, первым ушел"). Это означает, что при чтении информации из стека извлекается блок данных, который был записан в стек последним, а не первым. Для записи информации в стек используется инструкция процессора PUSH, а для чтения - POP. При этом одна из особенностей стека заключается в том, что при записи данных в стек он увеличивается в сторону младших адресов памяти.
Для работы со стеком используются три регистра процессора (рис. 23.2):
Рис. 23.2. Схема организации стека
Рассмотрим порядок записи данных в стек при вызове функций на примере программы, исходный текст которой приведён в листинге 23.1.
void test(int a, int b, int c)
{
char p1[6];
char p2[9];
}
void main()
{
test(1,2,3);
}
Листинг 23.1. Пример программы, в которой вызывается функция test()
При вызове функции test в стек сначала записываются значения трёх параметров - a, b и c в обратном порядке. Затем в стек помещается адрес возврата, в котором указывается адрес инструкции, которая должна быть выполнена процессором после завершения работы функции test. При выходе из функции test этот адрес возврата автоматически копируется в регистр EIP ( Extended Instruction Pointer ), значение которого считывает процессор и передаёт управление на команду по адресу этого регистра. Также в реестре сохраняется значение регистра EBP, который указывает на вершину локальные переменные функции main(). Далее в стек записываются локальные символьные массивы p1 и p2, которые определены в функции test. Итоговая структура стека функции test() показана на рис. 23.3.
Рис. 23.3. Структура стека функции test()
Уязвимость " buffer overflow " вызвана отсутствием в программе проверки размерности данных, которые записываются в стек. Это может позволить потенциальному нарушителю записать в стек избыточную информацию, которая смогла бы изменить значение адреса возврата и передать управление на фрагмент ранее внедрённого вредоносного кода. В листинге 23.2 приведён исходный код программы, который демонстрирует изменения содержимого стека при попытке переполнения одной из его переменных.
#include
int main(int argc, char **argv){
char a1[4]="abc";
char a2[8]="defghij";
strcpy(a2, "0123456789");
printf("%s ", a1);
return 0;
}
Листинг 23.2. Пример программы, демонстрирующей изменения в стеке при его переполнении
В приведённой программе определено два символьных массива типа char - a1 и a2. Размер первого массива a1 составляет четыре, а второго - восемь байт. После определения переменных в программе при помощи функции strcpy выполняется операция записи строкового значения "0123456789" в массив a2. При этом записываемое значение на семь байт превышает размер массива a2, что приводит к его переполнению и изменению значения массива a1, который размещён в стеке до a2. На рис. 23.4 показано состояние фрагмента стека с переменными a1 и a2 до и после вызова функции strcpy.
Рис. 23.4. Состояние фрагмента стека с переменными a1 и a2
В левой части рис.23.4 показано расположение в стеке содержимого двух переменных - a1 и a2. Значения обеих переменных завершаются символом "?", что является признаком окончания строки. При этом с учётом последовательности объявления переменных в программе первым в стеке размещается символьный массив a1, а затем массив a2. После вызова функции strcpy происходит переполнение массива a2, поскольку в него записывается на семь символов больше, чем предусмотрено его размером. В результате этого переполнения часть избыточной информации записывается в массив a1, который размещён в стеке сразу вслед за массивом a2. После компиляции и запуска программы, приведённой в листинге 23.2, на экране будет выведено значение изменённого массива a1, которое будет принимать значение "89".
Таким образом, для активизации уязвимости типа " buffer overflow " нарушитель может переполнить одну из переменных стека с целью изменения адреса возврата и записи в него адреса вредоносного кода, на который будет передано управление после завершения работы функции, в которой был переполнен стек. Вредоносный код, который должен быть выполнен в результате активизации уязвимости, также записывается в стек в процессе его переполнения. Как правило, в его качестве выступает последовательность команд (так называемая " shell code "), выполнение которой позволяет получить удалённую консоль управления компьютером, на котором была активизирована уязвимость.
Уязвимости " buffer overflow " могут содержаться как общесистемном, так и прикладном программном обеспечении. В общем случае можно выделить следующие основные категории программ, которые могут содержать уязвимость этого типа:
программы, которые запускаются локально на хосте. Активизация уязвимости в программах этого типа может позволить нарушителю несанкционированно расширить свои права доступа к ресурсам локальной системы. Переполнение буфера программ осуществляется путём их запуска пользователем и ввода данных, приводящих к переполнению стека;
сетевые приложения, которые обеспечивают интерактивное взаимодействие с пользователем на основе сетевых протоколов. Для активизации уязвимости в сетевых приложениях нарушитель может сформировать удалённый запрос, содержащий входные данные, необходимые для переполнения стека в уязвимой программе. Примером сетевых программ являются Web -приложения, такие как CGI -модули, PHP -сценарии, активные серверные страницы ASP и др.;
хранимые процедуры серверов СУБД. Активизация уязвимости на таких серверах возможна как путём локального запуска хранимых процедур, так и формирования удалённого запросу к соответствующей процедуре.
Уязвимости " buffer overflow " часто используются хакерами для создания Интернет-червей - самореплицирующихся программ, распространяющихся по сети и, как правило, приводящие к нарушению работоспособности ИС. Наиболее яркими примерами Интернет-червей, несанкционированная активность которых наблюдалась во второй половине 2003 года, являются:
ОБЗОРНАЯ ЛЕКЦИЯ № 10
Обнаружение информационных атак
В качестве одного из базовых средств защиты информационных ресурсов в настоящее время выступают системы обнаружения атак (СОА), позволяющие своевременно как выявлять, так и блокировать атаки нарушителей, желающих заполучить секреты компании.
Процесс обнаружения информационных атак (рис. 23.6) начинается со сбора исходных данных, необходимых для того, чтобы сделать вывод о проведении атаки в ИС. Примерами таких данных являются:
сведения о пакетах данных, передаваемых в ИС;
информация о производительности программно-аппаратного обеспечения ИС (вычислительная нагрузка на процессор хостов ИС, загруженность оперативной памяти, скорость работы прикладного ПО и др.);
сведения о доступе к файлам ИС;
информация о регистрации новых пользователей в ИС и др.
Рис. 23.6. Схема процесса обнаружения информационной атаки
Сбор исходных данных осуществляется при помощи специализированных датчиков СОА, размещаемых в ИС. СОА может включать в себя два типа датчиков - сетевые и хостовые. Сетевые датчики предназначены для сбора информации о пакетах данных, передаваемых в том сегменте ИС, где установлен датчик. Хостовые же датчики устанавливаются на определённые компьютеры в ИС и предназначаются для сбора информации о событиях, возникающих на этих компьютерах. Примерами такой информации являются сведения о сетевом трафике, поступающем на этот хост, а также системные события, регистрируемые в журналах аудита ОС хоста. При этом на одном узле может присутствовать одновременно несколько хостовых датчиков, предназначенных для сбора различной информации.
Информация, собранная сетевыми и хостовыми датчиками, анализируется СОА с целью выявления возможных атак нарушителей. Анализ данных может проводиться при помощи двух основных групп методов - сигнатурных и поведенческих.
Сигнатурные методы описывают каждую атаку в виде специальной модели или сигнатуры. В качестве сигнатуры атаки могут выступать: строка символов, семантическое выражение на специальном языке, формальная математическая модель др. Алгоритм работы сигнатурного метода заключается в поиске сигнатур атак в исходных данных, собранных сетевыми и хостовыми датчиками СОА. В случае обнаружения искомой сигнатуры, СОА фиксирует факт информационной атаки, которая соответствует найденной сигнатуре. Преимуществом сигнатурных методов является их высокая точность работы, а очевидным недостатком - невозможность обнаружения тех атак, сигнатуры которых не определены при помощи методов.
Поведенческие методы, в отличие от сигнатурных, базируются не на моделях информационных атак, а на моделях штатного процесса функционирования ИС. Принцип работы поведенческих методов заключается в обнаружении несоответствия между текущим режимом функционирования ИС и моделью штатного режима работы, заложенной в параметрах метода. Любое такое несоответствие рассматривается как информационная атака. Преимуществом методов данного типа является возможность обнаружения новых атак без необходимости постоянного изменения параметров функционирования модуля. Недостатком же этой группы методов является сложность создания точной модели штатного режима функционирования ИС.
Для того, чтобы лучше понять специфику сигнатурного и поведенческого метода выявления атак рассмотрим их конкретные примеры, реализованные в современных СОА.
Сигнатурные методы выявления атак
Наиболее распространённым сигнатурным методом выявления атак является метод контекстного поиска определённого множества символов в исходных данных. Так, например, для выявления атаки на Web -сервер, направленной на получение несанкционированного доступа к файлу паролей, необходимо при помощи этого метода провести поиск последовательность символов "GET */etc/passwd" в заголовке HTTP -запроса. Для расширения функциональных возможностей контекстного поиска в некоторых случаях используются специализированные языки, описывающие сигнатуру атаки. Пример сигнатуры атаки " Land ", описанной при помощи языка N-code системы NFR, приведён на рис. 23.7.
Рис. 23.7. Пример сигнатуры атаки, описанной на языке N-code
Использование контекстного поиска в сигнатурном анализе позволяет эффективно выявлять атаки на основе анализа сетевого трафика, поскольку данный метод позволяет наиболее точно задать параметры сигнатуры, которую необходимо выявить в потоке исходных данных.
В ряде академических СОА были реализованы ещё два типа сигнатурных методов - метод анализа состояний и метод, базирующийся на экспертных системах.
Метод анализа состояний формирует сигнатуры атак в виде последовательности переходов ИС из одного состояние в другое. При этом каждый такой переход связан с наступлением в ИС определённых событий, которые определяются в параметрах сигнатуры атаки. Как правило, сигнатуры атак, созданные на основе метода анализа состояний, описываются при помощи математических аппаратов конечных автоматов или сетей Петри. На рис. 23.8 приведён пример сети Петри, описывающей сигнатуру атаки, направленной на получение несанкционированного доступа к ресурсам ИС путём подбора пароля. Каждый переход ИС в новое состояние в этой сети Петри связан с попыткой ввода пользователем пароля. В том случае, если пользователь в течение одной минуты четыре раза подряд введёт неправильный пароль, то метод зафиксирует факт реализации атаки.
Рис. 23.8. Пример сети Петри, описывающей сигнатуру атаки, направленной на подбор пароля
Методы выявления атак, базирующиеся на экспертных системах, позволяют описывать модели атак на естественном языке с высоким уровнем абстракции. Экспертная система, лежащая в основе методов этого типа, состоит из базы фактов и базы правил. Факты представляют собой исходные данные о работе ИС, а правила - методы логического вывода об атаке на основе имеющейся базы фактов. Все правила экспертной системы записываются в формате "если <...>, то <...>". Результирующая база правил должна описывать характерные признаки атак, которые должна обнаруживать СОА.
Одной из наиболее перспективных групп сигнатурных методов выявления атак являются методы, основанные на биологических моделях. Для описания таких моделей могут использоваться генетические или нейросетевые алгоритмы. Генетические алгоритмы предназначены для поиска оптимального решения на основе механизма естественного отбора в популяции. Популяция представляет собой множество хромосом, каждая из которых моделируется в виде битовой строки. Популяция развивается на основе трёх генетических операций - скрещивания, селекции и мутации. Развитие популяции продолжается до тех пор, пока не будет достигнут заданный критерий оптимальности, который определяется в виде специальной функции. В случае применения генетических алгоритмов для выявления атак в качестве элементов популяции выступают вектора определённой длины, каждый элемент которых соответствует определённой атаке. В результаты развития такой популяции можно получить оптимальный вектор, который будет указывать на то, какие атаки происходят в системе в текущий момент времени.
Нейросетевой метод выявления атак основан на создании сети взаимосвязанных друг с другом искусственных нейронов, при этом каждый нейрон представляет собой пороговый сумматор. После создания нейросеть проходит период "обучения", в течение которого она учится распознавать определенные типы атак. В процессе обучения на вход нейросети вводятся данные, являющиеся признаком определённой атаки, после чего коэффициенты нейросети настраиваются таким образом, чтобы на выходе она смогла определить тип атаки. Сложность этого метода заключается в том, что для того, чтобы на его основе СОА смогла выявлять большое количество атак необходимо провести длительный процесс обучения на большом количестве примеров. На сегодняшний день все методы, базирующиеся на биологических моделях, находятся на стадии исследования и не имеют опыта коммерческого внедрения.
ОБЗОРНАЯ ЛЕКЦИЯ № 11.
Архитектура сетей
Архитектура сети определяет основные элементы сети, характеризует ее общую логическую организацию, техническое обеспечение, программное обеспечение, описывает методы кодирования. Архитектура также определяет принципы функционирования и интерфейс пользователя.
В данном курсе будет рассмотрено три вида архитектур:
Архитектура терминал главный компьютер (terminal host computer architecture) это концепция информационной сети, в которой вся обработка данных осуществляется одним или группой главных компьютеров.
Рассматриваемая архитектура предполагает два типа оборудования:
Главный компьютер, где осуществляется управление сетью, хранение и обработка данных.
Терминалы, предназначенные для передачи главному компьютеру команд на организацию сеансов и выполнения заданий, ввода данных для выполнения заданий и получения результатов.
Главный компьютер через мультиплексоры передачи данных (МПД) взаимодействуют с терминалами.
Классический пример архитектуры сети с главными компьютерами системная сетевая архитектура (System Network Architecture SNA).
Одноранговая архитектура
Одноранговая архитектура (peer-to-peer architecture) это концепция информационной сети, в которой ее ресурсы рассредоточены по всем системам. Данная архитектура характеризуется тем, что в ней все системы равноправны.
К одноранговым сетям относятся малые сети, где любая рабочая станция может выполнять одновременно функции файлового сервера и рабочей станции. В одноранговых ЛВС дисковое пространство и файлы на любом компьютере могут быть общими. Чтобы ресурс стал общим, его необходимо отдать в общее пользование, используя службы удаленного доступа сетевых одноранговых операционных систем. В зависимости от того, как будет установлена защита данных, другие пользователи смогут пользоваться файлами сразу же после их создания. Одноранговые ЛВС достаточно хороши только для небольших рабочих групп.
Одноранговые ЛВС являются наиболее легким и дешевым типом сетей для установки. Они на компьютере требуют, кроме сетевой карты и сетевого носителя, только операционной системы Windows 95 или Windows for Workgroups. При соединении компьютеров, пользователи могут предоставлять ресурсы и информацию в совместное пользование.
Одноранговые сети имеют следующие преимущества:
Проблемой одноранговой архитектуры является ситуация, когда компьютеры отключаются от сети. В этих случаях из сети исчезают виды сервиса, которые они предоставляли. Сетевую безопасность одновременно можно применить только к одному ресурсу, и пользователь должен помнить столько паролей, сколько сетевых ресурсов. При получении доступа к разделяемому ресурсу ощущается падение производительности компьютера. Существенным недостатком одноранговых сетей является отсутствие централизованного администрирования.
Использование одноранговой архитектуры не исключает применения в той же сети также архитектуры «терминал главный компьютер» или архитектуры «клиент сервер».
Архитектура клиент сервер
Архитектура клиент сервер (client-server architecture) это концепция информационной сети, в которой основная часть ее ресурсов сосредоточена в серверах, обслуживающих своих клиентов. Рассматриваемая архитектура определяет два типа компонентов: серверы и клиенты.
Сервер - это объект, предоставляющий сервис другим объектам сети по их запросам. Сервис это процесс обслуживания клиентов.
Сервер работает по заданиям клиентов и управляет выполнением их заданий. После выполнения каждого задания сервер посылает полученные результаты клиенту, пославшему это задание.
Сервисная функция в архитектуре клиент сервер описывается комплексом прикладных программ, в соответствии с которым выполняются разнообразные прикладные процессы.
Процесс, который вызывает сервисную функцию с помощью определенных операций, называется клиентом. Им может быть программа или пользователь. На рис. 1.6 приведен перечень сервисов в архитектуре клиент сервер.
Клиенты это рабочие станции, которые используют ресурсы сервера и предоставляют удобные интерфейсы пользователя. Интерфейсы пользователя это процедуры взаимодействия пользователя с системой или сетью.
Клиент является инициатором и использует электронную почту или другие сервисы сервера. В этом процессе клиент запрашивает вид обслуживания, устанавливает сеанс, получает нужные ему результаты и сообщает об окончании работы.
В сетях с выделенным файловым сервером на выделенном автономном ПК устанавливается серверная сетевая операционная система. Этот ПК становится сервером. Программное обеспечение (ПО), установленное на рабочей станции, позволяет ей обмениваться данными с сервером. Наиболее распространенные сетевые операционная системы:
Помимо сетевой операционной системы необходимы сетевые прикладные программы, реализующие преимущества, предоставляемые сетью.
Сети на базе серверов имеют лучшие характеристики и повышенную надежность. Сервер владеет главными ресурсами сети, к которым обращаются остальные рабочие станции.
В современной клиент серверной архитектуре выделяется четыре группы объектов: клиенты, серверы, данные и сетевые службы. Клиенты располагаются в системах на рабочих местах пользователей. Данные в основном хранятся в серверах. Сетевые службы являются совместно используемыми серверами и данными. Кроме того службы управляют процедурами обработки данных.
Сети клиент серверной архитектуры имеют следующие преимущества:
позволяют организовывать сети с большим количеством рабочих станций;
обеспечивают централизованное управление учетными записями пользователей, безопасностью и доступом, что упрощает сетевое администрирование;
эффективный доступ к сетевым ресурсам;
пользователю нужен один пароль для входа в сеть и для получения доступа ко всем ресурсам, на которые распространяются права пользователя.
Наряду с преимуществами сети клиент серверной архитектуры имеют и ряд недостатков:
Выбор архитектуры сети зависит от назначения сети, количества рабочих станций и от выполняемых на ней действий.
Следует выбрать одноранговую сеть, если:
Следует выбрать клиент серверную сеть, если:
Сетезависимые протоколы
Функции всех уровней модели OSI могут быть отнесены к одной из двух групп: либо к функциям, зависящим от конкретной технической реализации сети, либо к функциям, ориентированным на работу с приложениями.
Три нижних уровня физический, канальный и сетевой являются сетезависимыми, протоколы этих уровней тесно связаны с технической реализацией сети, с используемым коммуникационным оборудованием. Например, переход на оборудование FDDI означает смену протоколов физического и канального уровня во всех узлах сети.
Три верхних уровня сеансовый, уровень представления и прикладной ориентированы на приложения и мало зависят от технических особенностей построения сети. На протоколы этих уровней не влияют никакие изменения в топологии сети, замена оборудования или переход на другую сетевую технологию. Так, переход от Ethernet на высокоскоростную технологию 100VG-AnyLAN не потребует никаких изменений в программных средствах, реализующих функции прикладного, представительного и сеансового уровней.
Транспортный уровень является промежуточным, он скрывает все детали функционирования нижних уровней от верхних уровней. Это позволяет разрабатывать приложения, не зависящие от технических средств, непосредственно занимающихся транспортировкой сообщений.
Одна рабочая станция взаимодействует с другой рабочей станцией посредством протоколов всех семи уровней. Это взаимодействие станции осуществляют через различные коммуникационные устройства: концентраторы, модемы, мосты, коммутаторы, маршрутизаторы, мультиплексоры. В зависимости от типа коммуникационное устройство может работать:
Модель OSI представляет собой хотя и очень важную, но только одну из многих моделей коммуникаций. Эти модели и связанные с ними стеки протоколов могут отличаться количеством уровней, их функциями, форматами сообщений, сервисами, предоставляемыми на верхних уровнях, и прочими параметрами.
Стеки коммуникационных протоколов
Иерархически организованная совокупность протоколов, решающих задачу взаимодействия узлов сети, называется стеком коммуникационных протоколов.
Протоколы соседних уровней, находящихся в одном узле, взаимодействуют друг с другом также в соответствии с четко определенными правилами и с помощью стандартизованных форматов сообщений. Эти правила принято называть интерфейсом. Интерфейс определяет набор услуг, которые нижележащий уровень предоставляет вышележащему уровню.
Контрольные вопросы.
Контрольные вопросы:
КОНТРОЛЬНАЯ РАБОТА
Домашняя контрольная работа выполняется и сдается в печатном виде на стандартных листах формата А4, шрифт Times New Roman, размер 14, межстрочный интервал 1,5.
Ответ на теоретические вопросы должен быть полным и иметь объем не более 3 листов.
Ответить на задания теста согласно варианту. Номер варианта соответствует последней цифре зачётки.
Вариант №1.
1. Complex RE 100 ATX/WOL PCI (10/100 Mbps)
2. Acorp Ethernet Hub (100 Mbps, 5 port)
3. TrendNet N-Way Switch TE 100-588E+
(10/100 Mbps, 8 port)
4. Compex WavePort WP 11-E Wireless LAN
Access Point (11 Mbps, 2.4 GHz, UTP)
Вариант №2.
1. Complex RE 100 ATX/WOL PCI (10/100 Mbps)
2. Acorp Ethernet Hub (100 Mbps, 5 port)
3. TrendNet N-Way Switch TE 100-588E+
(10/100 Mbps, 8 port)
4. Compex WavePort WP 11-E Wireless LAN
Access Point (11 Mbps, 2.4 GHz, UTP)
Вариант №3.
1. Complex RE 100 ATX/WOL PCI (10/100 Mbps)
2. Acorp Ethernet Hub (100 Mbps, 5 port)
3. TrendNet N-Way Switch TE 100-588E+
(10/100 Mbps, 8 port)
4. Compex WavePort WP 11-E Wireless LAN
Access Point (11 Mbps, 2.4 GHz, UTP)
Вариант №4.
1. Complex RE 100 ATX/WOL PCI (10/100 Mbps)
2. Acorp Ethernet Hub (100 Mbps, 5 port)
3. TrendNet N-Way Switch TE 100-588E+
(10/100 Mbps, 8 port)
4. Compex WavePort WP 11-E Wireless LAN
Access Point (11 Mbps, 2.4 GHz, UTP)
Вариант №5.
1. Complex RE 100 ATX/WOL PCI (10/100 Mbps)
2. Acorp Ethernet Hub (100 Mbps, 5 port)
3. TrendNet N-Way Switch TE 100-588E+
(10/100 Mbps, 8 port)
4. Compex WavePort WP 11-E Wireless LAN
Access Point (11 Mbps, 2.4 GHz, UTP)
Вариант №6.
1. Complex RE 100 ATX/WOL PCI (10/100 Mbps)
2. Acorp Ethernet Hub (100 Mbps, 5 port)
3. TrendNet N-Way Switch TE 100-588E+
(10/100 Mbps, 8 port)
4. Compex WavePort WP 11-E Wireless LAN
Access Point (11 Mbps, 2.4 GHz, UTP)
Вариант №7.
1. Complex RE 100 ATX/WOL PCI (10/100 Mbps)
2. Acorp Ethernet Hub (100 Mbps, 5 port)
3. TrendNet N-Way Switch TE 100-588E+
(10/100 Mbps, 8 port)
4. Compex WavePort WP 11-E Wireless LAN
Access Point (11 Mbps, 2.4 GHz, UTP)
Вариант №8.
1. Complex RE 100 ATX/WOL PCI (10/100 Mbps)
2. Acorp Ethernet Hub (100 Mbps, 5 port)
3. TrendNet N-Way Switch TE 100-588E+
(10/100 Mbps, 8 port)
4. Compex WavePort WP 11-E Wireless LAN
Access Point (11 Mbps, 2.4 GHz, UTP)
Вариант №9.
1. Complex RE 100 ATX/WOL PCI (10/100 Mbps)
2. Acorp Ethernet Hub (100 Mbps, 5 port)
3. TrendNet N-Way Switch TE 100-588E+
(10/100 Mbps, 8 port)
4. Compex WavePort WP 11-E Wireless LAN
Access Point (11 Mbps, 2.4 GHz, UTP)
Вариант №10.
1. Complex RE 100 ATX/WOL PCI (10/100 Mbps)
2. Acorp Ethernet Hub (100 Mbps, 5 port)
3. TrendNet N-Way Switch TE 100-588E+
(10/100 Mbps, 8 port)
4. Compex WavePort WP 11-E Wireless LAN
Access Point (11 Mbps, 2.4 GHz, UTP)
Литература