авторефераты диссертаций БЕСПЛАТНАЯ БИБЛИОТЕКА РОССИИ

КОНФЕРЕНЦИИ, КНИГИ, ПОСОБИЯ, НАУЧНЫЕ ИЗДАНИЯ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ


Pages:     | 1 |   ...   | 2 | 3 || 5 | 6 |   ...   | 30 |

«С^ППТЕР В. Олифер Н. Олифер Компьютерные сети Принципы, технологии, протоколы 4-е издание РЕКОМЕНДОВАНО ...»

-- [ Страница 4 ] --

Прорывом в стандартизации архитектуры компьютерной сети стала разработка модели взаимодей ствия открытых систем (Open System Interconnection, OSI), которая в начале 80-х годов обобщила накопленный к тому времени опыт. Модель OSI является международным стандартом и определяет способ декомпозиции задачи взаимодействия «по вертикали», поручая эту задачу коммуникаци онным протоколам семи уровней. Уровни образуют иерархию, известную как стек протоколов, где каждый вышестоящий уровень использует нижестоящий в качестве удобного инструмента для решения своих задач.

Существующие сегодня (или существовавшие еще недавно) стеки протоколов в целом отражают архитектуру модели OSI. Однако в каждом стеке протоколов имеются свои особенности и отличия от архитектуры OSI. Так, наиболее популярный стек TCP/IP состоит из четырех уровней. Стандартная архитектура компьютерной сети определяет также распределение протоколов между элементами сети — конечными узлами (компьютерами) и промежуточными узлами (коммутаторами и маршру тизаторами). Промежуточные узлы выполняют только транспортные функции стека протоколов, передавая трафик между конечными узлами. Конечные узлы поддерживают весь стек протоколов, предоставляя информационные услуги, например веб-сервис. Такое распределение функций озна чает смещение «интеллекта» сети на ее периферию.

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

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

Рис. 4. 2. Многоуровневый подход — создание иерархии задач 110 Глава 4. Архитектура и стандартизация сетей С одной стороны, группа модулей, составляющих каждый уровень, для решения своих задач должна обращаться с запросами только к модулям соседнего нижележащего уров ня. С другой стороны, результаты работы каждого из модулей, отнесенных к некоторому уровню, могут быть переданы только модулям соседнего вышележащего уровня. Такая иерархическая декомпозиция задачи предполагает четкое определение функций и интер фейсов не только отдельных модулей, но и каждого уровня.

Межуровневый интерфейс, называемый также интерфейсом услуг, определяет набор функций, которые нижележащий уровень предоставляет вышележащему (рис. 4.3).

К уровню к+ К уровню к - Рис. 4.3. Концепция многоуровневого взаимодействия Такой подход дает возможность проводить разработку, тестирование и модификацию от дельного уровня независимо от других уровней. Иерархическая декомпозиция позволяет, двигаясь от более низкого уровня к более высокому, переходить ко все более и более аб страктному, а значит, более простому представлению исходной задачи.

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

1. Поиск по символьному имени файла его характеристик, необходимых для доступа к данным:

информации о физическом расположении файла на диске, размер и др.

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

Декомпозиция задачи сетевого взаимодействия 2. Определение считываемой части файла.

Д л я решения этой задачи необходимо снизить степень абстракции файловой системы.

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

3. Считывание данных с диска.

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

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

ПРОЧИТАТЬ 2 2 ЛОГИЧЕСКУЮ ЗАПИСЬ ФАЙЛА D I R 1 / M Y / F I L E. T X T Верхний уровень не может выполнить этот запрос «только своими силами», определив по символьному имени DIR1/MY/FILE.TXT физический адрес файла, он обращается с запросом к нижележащему уровню:

ПРОЧИТАТЬ 2 2 ЛОГИЧЕСКУЮ ЗАПИСЬ ИЗ ФАЙЛА, ИМЕЮЩЕГО ФИЗИЧЕСКИЙ АДРЕС 1 7 4 И РАЗМЕР 2 3 В ответ на запрос второй уровень определяет, что файл с адресом 174 занимает на диске пять несмежных областей, а искомая запись находится в четвертой области в физическом блоке 345.

После этого он обращается к драйверу с запросом о чтении требуемой логической записи.

В соответствии с этой упрощенной схемой взаимодействие уровней файловой системы было однонаправленным — сверху вниз. Однако реальная картина существенно сложнее.

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

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

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

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

Рис. 4. 4. Взаимодействие произвольной пары узлов 112 Глава 4. Архитектура и стандартизация сетей Протокол и стек протоколов Многоуровневое представление средств сетевого взаимодействия имеет свою специфику, связанную с тем, что в процессе обмена сообщениями участвуют, по меньшей мере, две стороны, то есть в данном случае необходимо организовать согласованную работу двух иерархий аппаратных и программных средств на разных компьютерах. Оба участника сетевого обмена должны принять множество соглашений. Например, они должны согла совать уровни и форму электрических сигналов, способ определения размера сообщений, договориться о методах контроля достоверности и т. п. Другими словами, соглашения должны быть приняты на всех уровнях, начиная от самого низкого — уровня передачи битов, и заканчивая самым высоким, реализующим обслуживание пользователей сети.

На рис. 4.5 показана модель взаимодействия двух узлов. С каждой стороны средства взаимодействия представлены четырьмя уровнями. Каждый уровень поддерживает интер фейсы двух типов. Во-первых, это интерфейсы услуг с выше- и нижележащим уровнями «своей» иерархии средств. Во-вторых, это интерфейс со средствами взаимодействия другой стороны, расположенными на том же уровне иерархии. Этот тип интерфейса называют протоколом. Таким образом, протокол всегда является одноранговым интерфейсом.

Узел А Узел В Интерфейс ЗВ-4В Интерфейс 2В-ЗВ Интерфейс 1В-2В Рис. 4.5. Взаимодействие двух узлов ПРИМЕЧАНИЕ В сущности, термины «протокол» и «интерфейс» выражают одно и то же понятие — формализованное описание процедуры взаимодействия двух объектов, но традиционно в сетях за ними закрепили разные области действия: протоколы определяют правила взаимодействия модулей одного уровня в разных узлах, а интерфейсы — правила взаимодействия модулей соседних уровней в одном узле.

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

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

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

Протокольные сущности одного уровня двух взаимодействующих сторон обмениваются сообщениями в соответствии с определенным для них протоколом. Сообщения состоят из заголовка и поля данных (иногда оно может отсутствовать). Обмен сообщениями явля ется своеобразным языком общения, с помощью которого каждая из сторон «объясняет»

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

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

В начале 80-х годов ряд международных организаций по стандартизации, в частно сти Internationa] Organization for Standardization (ISO), часто называемая International Standards Organization, а также International Telecommunications Union (ITU) и некоторые другие, разработали стандартную модель взаимодействия открытых систем (Open System Interconnection, OSI). Эта модель сыграла значительную роль в развитии компьютерных сетей.

Общая характеристика модели OSI К концу 70-х годов в мире уже существовало большое количество фирменных стеков ком муникационных протоколов, среди которых можно назвать, например, такие популярные стеки, как DECnet, T C P / I P и SNA. Подобное разнообразие средств межсетевого взаимо действия вывело на первый план проблему несовместимости устройств, использующих разные протоколы. Одним из путей разрешения этой проблемы в то время виделся все общий переход на единый, общий для всех систем стек протоколов, созданный с учетом недостатков уже существующих стеков. Такой академический подход к созданию нового стека начался с разработки модели OSI и занял семь лет (с 1977 по 1984 год). Назначение модели OSI состоит в обобщенном представлении средств сетевого взаимодействия. Она разрабатывалась в качестве своего рода универсального языка сетевых специалистов, именно поэтому ее называют справочной моделью.

114 Глава 4. Архитектура и стандартизация сетей ВНИМАНИЕ Модель OSI определяет, во-первых, уровни взаимодействия систем в сетях с коммутацией пакетов, во-вторых, стандартные названия уровней, в-третьих, функции, которые должен выполнять каждый уровень. Модель OSI не содержит описаний реализаций конкретного набора протоколов.

В модели OSI средства взаимодействия делятся на семь уровней: прикладной, представле ния, сеансовый, транспортный, сетевой, канальный и физический (рис. 4.6). Каждый уро вень имеет дело с совершенно определенным аспектом взаимодействия сетевых устройств.

Компьютер 1 Компьютер 1С П Сообщение t |7|6|5|4|3|2|Ц Передача по сети Полезная Заголовки со служебной информация информацией Рис. 4. 6. Модель взаимодействия открытых систем ISO/OSI ВНИМАНИЕ Модель OSI описывает только системные средства взаимодействия, реализуемые операционной си стемой, системными утилитами, системными аппаратными средствами. Модель не включает средства взаимодействия приложений конечных пользователей. Важно различать уровень взаимодействия приложений и прикладной уровень семиуровневой модели.

Модель OSI Приложения могут реализовывать собственные протоколы взаимодействия, используя для этих целей многоуровневую совокупность системных средств. Именно для этого в распоря жение программистов предоставляется прикладной программный интерфейс (Application Program Interface, API). В соответствии с идеальной схемой модели OSI приложение может обращаться с запросами только к самому верхнему уровню — прикладному, однако на прак тике многие стеки коммуникационных протоколов предоставляют возможность програм мистам напрямую обращаться к сервисам, или службам, расположенных ниже уровней.

Например, некоторые СУБД имеют встроенные средства удаленного доступа к файлам.

В этом случае приложение, выполняя доступ к удаленным ресурсам, не использует систем ную файловую службу;

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

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

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

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

Сообщение 3-го уровня Концевик Заголовок 3 Поле данных Сообщение 2-го уровня г Концевик 3 Концевик Заголовок 2 Заголовок 3 Поле данных V. j Y Сообщение 1 -го уровня Поле данных 1г Концевик 3 Концевик 2 Концевик Заголовок 1 Заголовок 2 Заголовок 3 Поле данных J Поле данных Рис. 4.7. Вложенность сообщений различных уровней Физический уровень помещает сообщение на физический выходной интерфейс компьюте ра 1, и оно начинает свое «путешествие» по сети (до этого момента сообщение передавалось от одного уровню другому в пределах компьютера 1).

116 Глава 4. Архитектура и стандартизация сетей Когда сообщение но сети поступает на входной интерфейс компьютера 2, оно принимает ся его физическим уровнем и последовательно перемещается вверх с уровня на уровень.

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

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

В стандартах ISO для обозначения единиц обмена данными, с которыми имеют дело протоколы разных уровней, используется общее название протокольная единица данных (Protocol Data Unit, PDU). Для обозначения единиц обмена данными конкретных уровней часто используются специальные названия, в частности: сообщение, кадр, пакет, дейтаграмма, сегмент.

Физический уровень Физический уровень (physical layer) имеет, дело с передачей потока битов по физическим каналам связи, таким как коаксиальный кабель, витая пара, оптоволоконный кабель или цифровой территориальный канал. Функции физического уровня реализуются на всех устройствах, подключенных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом.

Примером протокола физического уровня может служить спецификация 10Base-T техно логии Ethernet, которая определяет в качестве используемого кабеля неэкранированную витую пару категории 3 с волновым сопротивлением 100 Ом, разъем RJ-45, максимальную длину физического сегмента 100 метров, манчестерский код для представления данных в кабеле, а также некоторые другие характеристики среды и электрических сигналов.

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

Канальный уровень Канальный уровень (data link layer) обеспечивает прозрачность соединения для сетевого уровня. Для этого он предлагает ему следующие услуги:

• установление логического соединения между взаимодействующими узлами;

• согласование в рамках соединения скоростей передатчика и приемника информации;

• обеспечение надежной передачи, обнаружение и коррекция ошибок.

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

В сетях, построенных на основе разделяемой среды, физический уровень выполняет еще одну функцию — проверяет доступность разделяемой среды. Эту функцию иногда выделя ют в отдельный подуровень управления доступом к среде (Medium Access Control, MAC).

Модель OSI Протоколы канального уровня реализуются как на конечных узлах (средствами сетевых адаптеров и их драйверов), так и на всех промежуточных сетевых устройствах.

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

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

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

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

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

Если разделяемая среда освободилась (когда она не используется, то такая проверка, ко нечно, пропускается), кадр передается средствами физического уровня в сеть, проходит по каналу связи и поступает в виде последовательности битов в распоряжение физического уровня узла назначения. Этот уровень в свою очередь передает полученные биты «наверх»

канальному уровню своего узла.

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

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

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

118 Глава 4. Архитектура и стандартизация сетей Сетевой уровень Сетевой уровень (network layer) служит для образования единой транспортной системы, объединяющей несколько сетей, называемой составной сетью, или интернетом1.

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

На рис. 4.8 показано несколько сетей, каждая из которых использует собственную техно логию канального уровня: Ethernet, FDDI, Token Ring, ATM, Frame Relay. На базе этих технологий любая из указанных сетей может связывать между собой любых пользователей, но только своей сети, и не способна обеспечить передачу данных в другую сеть. Причина такого положения вещей очевидна и кроется в существенных отличиях одной технологии от другой. Даже наиболее близкие технологии LAN — Ethernet, FDDI, Token Ring, — имею щие одну и ту же систему адресации (адреса подуровня MAC, называемые МАС-адресами), отличаются друг от друга форматом используемых кадров и логикой работы протоколов.

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

Протокол сетевого уровня лов Frame Стек прс гоколов Х25 Стек протоколов ATM Сте I протоколов ATM Рис. 4. 8. Необходимость сетевого уровня Н е следует путать интернет (со строчной буквы) с Интернетом (с прописной буквы). Интернет это самая известная и охватывающая весь мир реализация составной сети, построенная на основе технологии T C P / I P.

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

Функции сетевого уровня реализуются:

• группой протоколов;

• специальными устройствами — маршрутизаторами.

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

Итак, чтобы связать сети, показанные на рис. 4.8, необходимо соединить все эти сети марш рутизаторами и установить протокольные модули сетевого уровня на все конечные узлы пользователей, которые хотели бы связываться через составную сеть (рис. 4.9).

Данные, которые необходимо передать через составную сеть, поступают на сетевой уровень от вышележащего транспортного уровня. Эти данные снабжаются заголовком сетевого уровня. Данные вместе с заголовком образуют пакет — так называется PDU сетевого уров ня. Заголовок пакета сетевого уровня имеет унифицированный формат, не зависящий от форматов кадров канального уровня тех сетей, которые могут входить в составную сеть, 120 Глава 4. Архитектура и стандартизация сетей и несет, наряду с другой служебной информацией, данные об адресе назначения этого пакета.

Для того чтобы протоколы сетевого уровня могли доставлять пакеты любому узлу со ставной сети, эти узлы должны иметь адреса, уникальные в пределах данной составной сети. Такие адреса называются сетевыми, или глобальными. Каждый узел составной сети, который намерен обмениваться данными с другими узлами составной сети, наряду с адресом, назначенным ему на канальном уровне, должен иметь сетевой адрес. Например, на рис. 4.9 компьютер в сети Ethernet, входящей в составную сеть, имеет адрес канального уровня МАС1 и адрес сетевого уровня NET-A1;

аналогично в сети ATM узел, адресуемый идентификаторами виртуальных каналов ID1 и ID2, имеет сетевой адрес NET-A2. В пакете в качестве адреса назначения должен быть указан адрес сетевого уровня, на основании которого определяется маршрут пакета.

Определение маршрута является важной задачей сетевого уровня. Маршрут описывается последовательностью сетей (или маршрутизаторов), через которые должен пройти пакет, чтобы попасть к адресату. Например, на рис. 4.9 штриховой линией показано три маршрута, по которым могут быть переданы данные от компьютера А к компьютеру Б. Маршрутизатор собирает информацию о топологии связей между сетями и на основе этой информации строит таблицы коммутации, которые в данном случае носят специальное название таблиц маршрутизации. Задачу выбора маршрута мы уже коротко обсуждали в разделе «Обоб щенная задача коммутации» главы 2.

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

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

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

ПРИМЕР-АНАЛОГИЯ Можно найти аналогию между функционированием сетевого уровня и международной почтовой службы, такой, например, как D H L или T N T (рис. 4.10). Представим, что некоторый груз необходимо доставить из города Абра в город Кадабра, причем эти города расположены на разных континентах.

Д л я доставки груза международная почта использует услуги различных региональных перевозчиков:

железную дорогу, морской транспорт, авиаперевозчиков, автомобильный транспорт. Эти перевозчики могут рассматриваться как аналоги сетей канального уровня, причем каждая «сеть» здесь построена на основе собственной технологии. И з этих региональных служб международная почтовая служба должна организовать единую слаженно работающую сеть. Д л я этого международная почтовая служ ба должна, во-первых, продумать маршрут перемещения почты, во-вторых, координировать работу в пунктах смены перевозчиков (например, выгружать почту из вагонов и размещать ее в транспортном отсеке самолета). Каждый же перевозчик ответственен трлько за перемещение почты по своей части пути и не несет никакой ответственности за состояние почты за его пределами.

Модель OSI Рис. 4. 1 0. Работа международной почтовой службы В общем случае функции сетевого уровня шире, чем обеспечение обмена в пределах со ставной сети. Так, сетевой уровень решает задачу создания надежных и гибких барьеров на пути нежелательного трафика между сетями.

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

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

Транспортный уровень (transport layer) обеспечивает приложениям или верхним уровням стека — прикладному, представления и сеансовому — передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет пять классов транспортного сервиса от низшего класса 0 до высшего класса 4. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными при кладными протоколами через общий транспортный протокол, а главное — способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дубли рование пакетов.

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

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

Все протоколы, начиная с транспортного уровня и выше, реализуются программными сред ствами конечных узлов сети — компонентами их сетевых операционных систем. В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека T C P / IP и протокол SPX стека Novell.

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

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

Уровень представления Уровень представления (presentation layer), как явствует из его названия, обеспечивает представление передаваемой по сети информации, не меняя при этом ее содержания. За счет уровня представления информация, передаваемая прикладным уровнем одной си стемы, всегда понятна прикладному уровню другой системы. С помощью средств данного уровня протоколы прикладных уровней могут преодолеть синтаксические различия в пред ставлении данных или же различия в кодах символов, например кодов ASCII и EBCDIC.

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

Примером такого протокола является протокол SSL (Secure Socket Layer — слой защи щенных сокетов), который обеспечивает секретный обмен сообщениями для протоколов прикладного уровня стека TCP/IP.

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

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

Приведем в качестве примера также несколько наиболее распространенных реализаций сетевых файловых служб: NFS и FTP в стеке TCP/IP, SMB в Microsoft Windows, NCP в операционной системе Novell NetWare.

Модель OSI и сети с коммутацией каналов Как уже было упомянуто, модель OSI описывает процесс взаимодействия устройств в сети с коммутацией пакетов. А как же обстоит дело с сетями коммутации каналов? Существует ли для них собственная справочная модель? Можно ли сопоставить функции технологий коммутации каналов с уровнями модели OSI?

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

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

Ситуация усложняется еще и тем, что практически все типы современных сетей с комму тацией каналов задействуют эту технику только для передачи пользовательских данных, а для управления процессом установления соединений в сети и общего управления сетью применяют технику коммутации пакетов. Такими сетями являются, например, сети ISDN, SDH, DWDM.

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

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

124 Глава 4. Архитектура и стандартизация сетей Стандартизация сетей Универсальный тезис о пользе стандартизации, справедливый для всех отраслей, в ком пьютерных сетях приобретает особое значение. Суть сети — это соединение разного обо рудования, а значит, проблема совместимости является здесь одной из наиболее острых.

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

В компьютерных сетях идеологической основой стандартизации является рассмотренная ранее модель взаимодействия открытых систем (OSI).

Понятие открытой системы Что же такое открытая система?

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

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

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

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

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

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

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

Если две сети построены с соблюдением принципов открытости, это дает следующие преимущества:

• возможность построения сети из аппаратных и программных средств различных про изводителей, придерживающихся одного и того же стандарта;

• безболезненная замена отдельных компонентов сети другими, более совершенными, что позволяет сети развиваться с минимальными затратами;

• легкость сопряжения одной сети с другой.

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

• стандарты отдельных фирм, например стек протоколов SNA компании IBM или гра фический интерфейс OPEN LOOK для Unix-систем компании Sun;

• стандарты специальных комитетов и объединений создаются несколькими компания ми, например стандарты технологии ATM, разрабатываемые специально созданным объединением ATM Forum, которое насчитывает около 100 коллективных участни ков, или стандарты союза Fast Ethernet Alliance, касающиеся технологии 100 Мбит Ethernet;

• национальные стандарты, например стандарт FDDI, представляющий один из много численных стандартов института ANSI, или стандарты безопасности для операционных систем, разработанные центром NCSC Министерства обороны США;

• международные стандарты, например модель и стек коммуникационных протоколов Международной организации по стандартизации (ISO), многочисленные стандарты Международного союза электросвязи (ITU), в том числе стандарты на сети с комму тацией пакетов Х.25, сети Frame Relay, ISDN, модемы и многие другие.

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

Более того, ввиду широкого распространения некоторые фирменные стандарты становят ся основой для национальных и международных стандартов де-юре. Например, стандарт Ethernet, первоначально разработанный компаниями Digital Equipment, Intel и Xerox, через некоторое время и в несколько измененном виде был принят как национальный стандарт IEEE 802.3, а затем организация ISO утвердила его в качестве международного стандарта ISO 8802.3.

126 Глава 4. Архитектура и стандартизация сетей Стандартизация Интернета Ярким примером открытой системы является Интернет. Эта международная сеть разви валась в полном соответствии с требованиями, предъявляемыми к открытым системам.

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

Само название стандартов, определяющих работу Интернета, — темы для обсуждения (Request For Comments, RFC) — показывает гласный и открытый характер принимаемых стандартов. В результате Интернет сумел объединить в себе разнообразное оборудование и программное обеспечение огромного числа сетей, разбросанных по всему миру.

Ввиду постоянной растущей популярности Интернета документы RFC становятся между народными стандартами де-факто, многие из которых затем приобретают статус офици альных международных стандартов в результате их утверждения какой-либо организацией по стандартизации, как правило, ISO и ITU-T.

Существует несколько организационных подразделений, отвечающих за развитие и, в част ности, за стандартизацию архитектуры и протоколов Интернета. Основным из них является научно-административное сообщество Интернета (Internet Society, ISOC), объединяющее около 100 О О человек, которое занимается социальными, политическими и техническими О проблемами эволюции Интернета.

Под управлением ISOC работает совет по архитектуре Интернета (Internet Architecture Board, IAB). В IAB входят две основные группы: Internet Research Task Force (IRTF) и Internet Engineering Task Force (IETF). IRTF координирует долгосрочные исследова тельские проекты по протоколам TCP/IR IETF — это инженерная группа, которая за нимается решением текущих технических проблем Интернета. Именно IETF определяет спецификации, которые затем становятся стандартами Интернета. Процесс разработки и принятия стандарта для протокола Интернета состоит из ряда обязательных этапов, или стадий, включающих непременную экспериментальную проверку.

В соответствии с принципом открытости Интернета все документы RFC, в отличие, скажем, от стандартов ISO, находятся в свободном доступе. Список RFC можно найти, в частности, на сайте www.rfc-editor.org.

Стандартные стеки коммуникационных протоколов Важнейшим направлением стандартизации в области вычислительных сетей является стандартизация коммуникационных протоколов. Наиболее известными стеками про токолов являются: OSI, TCP/IP, IPX/SPX, NetBIOS/SMB, DECnet, SNA (не все из них применяются сегодня на практике).

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

В отличие от других стеков протоколов, стек OSI полностью соответствует модели OSI, включая спецификации протоколов для всех семи уровней взаимодействия, определенных Стандартизация сетей в этой модели (рис. 4.11). Это и понятно, разработчики стека OSI использовали модель OSI как прямое руководство к действию.

V: d, Другие JTM Х.500 VT FTAM Tj Протокол уровня представления OSI Сеансовый протокол OSI • Транспортные протоколы OSI (классы 0-4) Я§. 1 ES — ES IS —IS ° || CONP, CLNP 2 X. Ethernet Token Bus Token Ring FDDI (OSI-8802.3, (OSI-8802.4, (OSI-8802.5, ISDN (ISO-9314) IEEE-802.3) IEEE-802.4) IEEE-802.5) HDLC 1 LAP-B Уровни модели OSI Р и с. 4. 1 1. С т е к п р о т о к о л о в OSI Протоколы стека OSI отличает сложность и неоднозначность спецификаций. Эти свойства явились результатом общей политики разработчиков стека, стремившихся учесть в своих протоколах все многообразие уже существующих и появляющихся технологий.

На физическом и канальном уровнях стек OSI поддерживает протоколы Ethernet, Token Ring, FDDI, а также протоколы LLC, X.25 и ISDN, то есть использует все разработанные вне стека популярные протоколы нижних уровней, как и большинство других стеков.

Сетевой уровень включает сравнительно редко используемые протоколы Connection oriented Network Protocol (CONP) и Connectionless Network Protocol (CLNP). Как следует из названий, первый из них ориентирован на соединение (connection-oriented), второй — нет (connectionless).

Более популярны протоколы маршрутизации стека OSI: ES-IS (End System — Intermediate System) между конечной и промежуточной системами и IS-IS (Intermediate System — Intermediate System) между промежуточными системами.

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


128 Глава 4. Архитектура и стандартизация сетей Службы прикладного уровня обеспечивают передачу файлов, эмуляцию терминала, службу каталогов и почту. Из них наиболее популярными являются служба каталогов (стандарт Х.500), электронная почта (Х.400), протокол виртуального терминала (VTP), протокол передачи, доступа и управления файлами (FTAM), протокол пересылки и управления работами (JTM).

Стек IPX/SPX Стек IPX/SPX является оригинальным стеком протоколов фирмы Novell, разработанным для сетевой операционной системы NetWare еще в начале 80-х годов. Структура стека IPX/SPX и его соответствие модели OSI иллюстрирует рис. 4.12. Название стеку дали протоколы сетевого и транспортного уровней — Internetwork Packet Exchange (IPX) и Sequenced Packet Exchange (SPX). К сетевому уровню этого стека отнесены также про токолы маршрутизации RIP и NLSP. А в качестве представителей трех верхних уровней на рисунке приведены два популярных протокола: протокол удаленного доступа к фай лам NetWare Core Protocol (NCP) и протокол объявления о сервисах Service Advertising Protocol (SAP).

SAP NCP SPX RIP NLSP IPX Ethernet, Token Ring, FDDI и другие Уровни модели OSI Рис. 4. 1 2. Стек протоколов IPX/SPX ПРИМЕЧАНИЕ До 1996 года стек I P X / S P X был бесспорным мировым лидером по числу установленных копий, но затем картина резко изменилась — стек T C P / I P по темпам роста числа установок намного стал опере жать другие стеки, а с 1998 года вышел в лидеры и в абсолютном выражении.

Многие особенности стека IPX/SPX обусловлены ориентацией ранних версий ОС NetWare на работу в локальных сетях небольших размеров, состоящих из персональных компью теров со скромными ресурсами. Понятно, что для таких компьютеров компании Novell нужны были протоколы, на реализацию которых требовалось бы минимальное количество оперативной памяти (ограниченной в IBM-совместимых компьютерах под управлением MS-DOS объемом 640 Кбайт) и которые бы быстро работали на процессорах небольшой Стандартизация сетей вычислительной мощности. В результате протоколы стека IPX/SPX до недавнего време ни отлично справлялись с работой в локальных сетях. Однако в крупных корпоративных сетях они слишком перегружали медленные глобальные связи широковещательными пакетами, интенсивно использующимися несколькими протоколами этого стека, напри мер протоколом SAP. Это обстоятельство, а также тот факт, что стек IPX/SPX является собственностью фирмы Novell и на его реализацию нужно получать лицензию (то есть открытые спецификации не поддерживались), долгое время ограничивали распространен ность его только сетями NetWare.

Стек NetBIOS/SMB Стек NetBIOS/SMB является совместной разработкой компаний IBM и Microsof (рис. 4.13). На физическом и канальном уровнях этого стека также задействованы уже получившие распространение протоколы, такие как Ethernet, Token Ring, FDDI, а на верхних уровнях — специфические протоколы NetBEUI и SMB.

SMB NetBIOS Еthernet, Token Ring, FDDI и другие Уровни модели OSI Рис. 4. 1 3. Стек NetBIOS/SMB Протокол Network Basic Input/Output System (NetBIOS) появился в 1984 году как сетевое расширение стандартных функций базовой системы ввода-вывода (BIOS) IBM PC для сетевой программы PC Network фирмы IBM. В дальнейшем этот протокол был заменен так называемым протоколом расширенного пользовательского интерфейса NetBEUI (NetBIOS Extended User Interface). Для совместимости приложений в качестве интерфейса к протоколу NetBEUI был сохранен интерфейс NetBIOS. NetBEUI разрабатывался как эффективный протокол, потребляющий немного ресурсов и предназначенный для сетей, насчитывающих не более 200 рабочих станций. Этот протокол содержит много полезных сетевых функций, которые можно отнести к транспортному и сеансовому уровням модели 0SI, однако с его помощью невозможна маршрутизация пакетов. Это ограничивает при 130 Глава 4. Архитектура и стандартизация сетей менение протокола NetBEUI локальными сетями, не разделенными на подсети, и делает невозможным его использование в составных сетях.

Протокол Server Message Block (SMB) поддерживает функции сеансового уровня, уров ня представления и прикладного уровня. На основе SMB реализуется файловая служба, а также службы печати и передачи сообщений между приложениями.

Стек TCP/IP Стек T C P / I P был разработан по инициативе Министерства обороны США более 20 лет назад для связи экспериментальной сети ARPAnet с другими сетями как набор общих про токолов для разнородной вычислительной среды. Большой вклад в развитие стека TCP/IP, который получил свое название по популярным протоколам IP и TCP, внес университет Беркли, реализовав протоколы стека в своей версии ОС Unix. Популярность этой опера ционной системы привела к широкому распространению протоколов TCP, IP и других протоколов стека. Сегодня этот стек используется для связи компьютеров в Интернете, а также в огромном числе корпоративных сетей. Мы подробно рассмотрим этот стек про токолов в части IV, посвященной сетям TCP/IP.

Соответствие популярных стеков протоколов модели OSI На рис. 4.14 показано, в какой степени популярные стеки протоколов соответствуют реко мендациям модели OSI. Как мы видим, часто это соответствие весьма условно. В большин стве случаев разработчики стеков отдавали предпочтение скорости работы сети в ущерб модульности — ни один стек, кроме стека OSI, не разбит на семь уровней. Чаще всего в стеке явно выделяются 3 - 4 уровня: уровень сетевых адаптеров, в котором реализуются протоколы физического и канального уровней, сетевой уровень, транспортный уровень и уровень служб, вбирающий в себя функции сеансового уровня, уровня представления и прикладного уровня.

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

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

Однако эти требования часто вступают в противоречие. Например, основной функцией протоколов сетевого уровня стека T C P / I P (так же как и сетевого уровня OSI) является передача пакетов через составную сеть. Для решения этой задачи в стеке TCP/IP предусмо трено несколько протоколов: протокол продвижения IP-пакетов и протоколы маршрутиза ции RIP, OSPF и др. Если считать признаком принадлежности к одному и тому же уровню общность решаемых задач, то, очевидно, протокол IP и протоколы маршрутизации должны быть отнесены к одному уровню. Вместе с тем, если принять во внимание, что сообщения протокола RIP инкапсулируются в UDP-дейтаграммы, а сообщения протокола OSPF — Информационные и транспортные услуги в IP-пакеты, то, следуя формально принципу иерархической организации стека, OSPF следовало бы отнести к транспортному, a RIP — к прикладному уровню. На практике же протоколы маршрутизации обычно включают в сетевой уровень.

Модель OSI IBM/Microsoft TCP/IP Novell Стек OSI X.400, Telnet, Прикладной X.500, FTP, FTAM SMB SNMP, Протокол уровня SMTP, NCP, Представления www представления OSI SAP Сеансовый Сеансовый протокол OSI NetBIOS TCP Транспортный Транспортный SPX протокол OSI IPX, IP, ES-ES, RIP, Сетевой RIP, IS-IS NLSP OSPF 802.3 (Ethernet), 802.5 (Token Ring), FDDI, ATM, PPP Канальный Коаксиал, экранированная и неэкранированная витая пара, Физический оптоволокно, радиоволны Рис. 4. 1 4. Соответствие популярных стеков протоколов модели OSI Информационные и транспортные услуги Услуги компьютерной сети можно разделить на две категории:

• транспортные услуги;

• информационные услуги.

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

Информационные услуги состоят в предоставлении пользователю некоторой новой информации. Информационная услуга всегда связана с операциями по обработке инфор мации: хранению ее в некотором упорядоченном виде (файловая система, база данных), поиску нужной информации и преобразованию информации. Информационные услуги существовали и до появления первых компьютерных сетей, например справочные услуги телефонной сети. С появлением компьютеров информационные услуги пережили рево люцию, так как компьютер и был изобретен для автоматической программной обработки 132 Глава 4. Архитектура и стандартизация сетей информации. Для оказания информационных услуг применяются различные информаци онные технологии: программирование, управление базами данных и файловыми архивами, веб-сервис, электронная почта.

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


Деление услуг компьютерных сетей на две категории проявляется во многих аспектах.

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

Безусловно, каждой категории специалистов необходимо знать проблемы и методы смежной области. Специалисты, занимающиеся разработкой распределенных приложе ний, должны представлять, какие транспортные услуги они могут получить от сети для организации взаимодействия отдельных частей своих приложений. Например, програм мист должен понимать, какая из двух предлагаемых стеком T C P / I P транспортных услуг, реализуемых протоколами TCP и UDP, подходит наилучшим образом его приложению.

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

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

Распределение протоколов по элементам сети На рис. 4.15 показаны основные элементы компьютерной сети: конечные узлы — компью теры и промежуточные узлы — коммутаторы и маршрутизаторы.

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

Информационные и транспортные услуги и L н - Концентратор Коммутатор Маршрутизатор Коммутатор Концентратор Рис. 4. 1 5. Соответствие функций различных устройств сети уровням модели OSI Именно к таким устройствам, работающим на физическом уровне, относятся, например, сетевые повторители, называемые также концентраторами, или хабами. Они повторяют электрические сигналы, поступающие на одни их интерфейсы, на других своих интер фейсах, улучшая их характеристики — мощность и форму сигналов, синхронность их следования.

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

Маршрутизаторы должны поддерживать протоколы всех трех уровней, так как сетевой уровень нужен им для объединения сетей различных технологий, а протоколы нижних уровней — для взаимодействия с конкретными сетями, образующими составную сеть, на пример Ethernet или Frame Relay.

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

Компьютеры, на которых работают сетевые приложения, должны поддерживать протоколы всех уровней. Протоколы прикладного уровня, пользуясь сервисами протоколов уровня представления и сеансового уровня, предоставляют приложениям набор сетевых услуг в виде сетевого прикладного программного интерфейса (API). Протокол транспортно го уровня также работает на всех конечных узлах. При передаче данных через сеть два 134 Глава 4. Архитектура и стандартизация сетей модуля транспортного протокола, работающие на узле-отправителе и узле-получателе, взаимодействуют друг с другом для поддержания транспортного сервиса нужного качества.

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

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

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

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

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

Все эти протоколы являются протоколами прикладного уровня и выполняют некоторые вспомогательные (служебные) функции транспортной системы. Очевидно, что для работы прикладных протоколов сетевые устройства должны также поддерживать протоколы про межуточных уровней, таких как IP и TCP/UDP.

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

• Первую группу вспомогательных протоколов представляют протоколы маршрутизации, такие как RIP, OSPF, BGP. Без этих протоколов маршрутизаторы не смогут продвигать пакеты, так как таблица маршрутизации будет пустой (если только администратор не заполнит ее вручную, но это не очень хорошее решение для крупной сети). Если рассматривать не только стек TCP/IP, но и стеки протоколов сетей с виртуальными каналами, то в эту группу попадают служебные протоколы, которые используются для установления виртуальных каналов.

• Другая группа вспомогательных протоколов выполняет преобразование адресов. Здесь работает протокол DNS, который преобразует символьные имена узлов в IP-адреса.

Протокол DHCP позволяет назначать IP-адреса узлам динамически, а не статически, что облегчает работу администратора сети.

Информационные и транспортные услуги • Третью группу образуют протоколы, которые используются для управления сетью.

В стеке TCP/IP здесь находится протокол SNMP (Simple Network Management Proto col — простой протокол управления сетью), который позволяет автоматически собирать информацию об ошибках и отказах устройств, а также протокол Telnet, с помощью которого администратор может удаленно конфигурировать коммутатор или маршру тизатор.

При рассмотрении вспомогательных протоколов мы столкнулись с ситуацией, когда деле ния протоколов на уровни иерархии (то есть деления «по вертикали»), присущего модели OSI, оказывается недостаточно. Полезным оказывается деление протоколов на группы «по горизонтали».

И хотя такое деление отсутствует в модели OSI, оно существует в других стеках про токолов. Например, при стандартизации сетей ISDN, которые, как мы уже упоминали, используют как принцип коммутации пакетов, так и принцип коммутации каналов, все протоколы разделяют на три слоя (рис. 4.16):

• пользовательский слой (user plane) образует группа протоколов, предназначенных для того, чтобы переносить пользовательский голосовой трафик;

• слой управления (control plane) составляют протоколы, необходимые для установления соединений в сети;

• слой менеджмента (management plane) объединяет протоколы, поддерживающие опе рации менеджмента, такие как анализ ошибок и конфигурирование устройств.

Слой Пользовательский Слой управления менеджмента слой Прикладной уровень Прикладной уровень Прикладной уровень Уровень представления Уровень представления Уровень представления Сеансовый уровень Сеансовый уровень Сеансовый уровень Транспортный уровень Сетевой уровень Канальный уровень Физический уровень Рис. 4.16. Три группы протоколов И хотя такое «горизонтальное» деление протоколов пока не является общепринятым для компьютерных сетей, оно полезно, так как позволяет глубже понять назначение прото колов. Кроме того, оно объясняет сложности, возникающие при соотнесении некоторых протоколов уровням модели OSI. Например, в книгах одних авторов протоколы марш рутизации могут находиться на сетевом уровне, в книгах других — на прикладном. Это происходит не из-за небрежности авторов, а из-за объективных трудностей классифика ции. Модель OSI хорошо подходит для стандартизации протоколов, которые переносят пользовательский трафик, то есть протоколов пользовательского слоя. В то же время она в гораздо меньшей степени годится для стандартизации вспомогательных протоколов.

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

Выводы Эффективной моделью средств взаимодействия компьютеров в сети является многоуровневая структура, в которой модули вышележащего уровня при решении своих задан рассматривают сред ства нижележащего уровня как некий инструмент. Каждый уровень данной структуры поддерживает интерфейсы двух типов. Во-первых, это интерфейсы услуг с выше- и нижележащими уровнями «своей» иерархии средств. Во-вторых, это одноранговый интерфейс со средствами другой взаи модействующей стороны, расположенными на том же уровне иерархии. Этот интерфейс называют протоколом.

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

В начале 80-х годов ISO, ITU-T при участии некоторых других международных организаций по стан дартизации разработали стандартную модель взаимодействия открытых систем (OSI). Модель OSI содержит описание обобщенного представления средств сетевого взаимодействия и используется в качестве своего рода универсального языка сетевых специалистов, именно поэтому ее называют справочной моделью. Модель OSI определяет 7 уровней взаимодействия, дает им стандартные имена, указывает, какие функции должен выполнять каждый уровень.

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

Важнейшим направлением стандартизации в области вычислительных сетей является стандарти зация коммуникационных протоколов. Примерами стандартизованных стеков протоколов являются TCP/IP, IPX/SPX, NetBIOS/SMB, OSI, DECnet, SNA. Лидирующее положение занимает стек TCP/IP, он используется для связи десятков миллионов компьютеров всемирной информационной сети Интернет.

Вопросы и задания 1. Что стандартизирует модель OSI?

2. Можно ли представить еще один вариант модели взаимодействия открытых систем с другим количеством уровней, например 8 или 5?

3. Какие из приведенных утверждений не всегда справедливы:

а) протокол — это стандарт, описывающий правила взаимодействия двух систем;

б) протокол — это формализованное описание правил взаимодействия, включая по следовательность обмена сообщениями и их форматы;

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

4. На каком уровне модели OSI работает прикладная программа?

Вопросы и задания 5. Как вы считаете, протоколы транспортного уровня устанавливаются:

а) только на конечных узлах;

б) только на промежуточном коммуникационном оборудовании (маршрутизаторах);

в) и там, и там.

6. На каком уровне модели OSI работают сетевые службы?

7. Назовите известные вам организации, работающие в области стандартизации ком пьютерных сетей.

8. Какие из перечисленных терминов являются синонимами:

а) стандарт;

б) спецификация;

в) RFC;

г) все;

д) никакие.

9. К какому типу стандартов могут относиться современные документы RFC? Варианты ответов:

а) к стандартам отдельных фирм;

б) к государственным стандартам;

в) к национальным стандартам;

г) к международным стандартам.

10. Пусть на двух компьютерах установлено идентичное программное и аппаратное обе спечение за исключением того, что драйверы сетевых адаптеров Ethernet поддержи вают разные интерфейсы с протоколом сетевого уровня IP. Будут ли эти компьютеры нормально взаимодействовать, если их соединить в сеть?

11. Опишите ваши действия в случае, если вам необходимо проверить, на каком этапе находится процесс стандартизации технологии MPLS?

12. Выясните, в каком направлении IETF работает в настоящее время наиболее интенсив но (в качестве критерия можно использовать, например, количество рабочих групп)?

ГЛАВА 5 Примеры сетей В этой главе рассматриваются примеры наиболее популярных типов сетей — сетей операторов связи, корпоративных сетей и Интернет.

Глава начинается с классификации типов сетей, которая дает общее представление о наиболее существенных признаках, характеризующих сети.

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

Заканчивается глава описанием Интернета. Эта сеть, уникальная во многих отношениях, оказала критическое влияние на развитие сетевых технологий в современном мире.

Классификация компьютерных сетей Классификация компьютерных сетей Классификация — процесс группирования (отнесения к тому или иному типу) объектов изучения в соответствии с их общими признаками.

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

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

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

О локальные сети (Local Area Network, LAN);

О глобальные сети (Wide Area Network, WAN).

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

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

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

Мы также уже упоминали ранее о так называемых городских сетях, или сетях мегапо лиса (Metropolitan Area Network, MAN). Эти сети предназначены для обслуживания 140 Глава 5. Примеры сетей территории крупного города — мегаполиса, и сочетают в себе признаки как локальных, так и глобальных сетей. От первых они унаследовали большую плотность подключения конечных абонентов и высокоростные линии связи, а от последних — большую про тяженность линий связи. В то же время появление городские сетей не привело к воз никновению каких-нибудь качественно новых технологий1, поэтому мы не выделили их в отдельный технологический тип сетей.

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

О проводные сети, то есть сети, каналы связи которых построены с использованием медных или оптических кабелей;

О беспроводные сети, то есть сети, в которых для связи используются беспроводные каналы связи, например радио, СВЧ, инфракрасные или лазерные каналы.

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

Качество канала связи зависит от многих факторов, но наиболее кардинально на него влияет выбор проводной или беспроводной среды.



Pages:     | 1 |   ...   | 2 | 3 || 5 | 6 |   ...   | 30 |
 





 
© 2013 www.libed.ru - «Бесплатная библиотека научно-практических конференций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.