ГЛОБАЛЬНЫЕ
КОМПЬЮТЕРНЫЕ СЕТИ
·
Архитектура и стандартизация сетей
·
Общая характеристика модели OSI
·
Информационные и транспортные услуги
Архитектура и стандартизация сетей
Архитектура
подразумевает представление сети в виде системы элементов, каждый из которых
выполняет определенную частную функцию, при этом все элементы вместе
согласованно решают общую задачу взаимодействия компьютеров Другими словами, архитектура сети
отражает декомпозицию общей задачи взаимодействия
компьютеров на отдельные подзадачи, которые должны решаться отдельными
элементами сети.
Одним из важных элементов архитектуры сети является коммуникационный протокол — формализованный
набор правил взаимодействия узлов сети.
Прорывом в
стандартизации архитектуры компьютерной сети стала разработка модели взаимодействия открытых
систем (Open System Interconnection, OSl. Модель OSl является международным стандартом и определяет способ
декомпозиции задачи взаимодействия «по вертикали», поручая
эту задачу коммуникационным протоколам семи уровней Уровни образуют иерархию, известную как стек протоколов,
где каждый вышестоящий уровень использует нижестоящий в качестве удобного
инструмента для решения своих задач.
Стандартная
архитектура компьютерной сети определяет также распределение протоколов между
элементами сети — конечными уздами (компьютерами) и промежуточными узлами
(повторителями, концентраторами, мостами, коммутаторами, маршрутизаторами,
шлюзами).
Промежуточные
узлы выполняют только транспортные функции
стека протоколов, передавая трафик между конечными узлами.
Конечные узлы поддерживают весь стек протоколов, предоставляя
информационные услуги, например веб-сервис. Такое распределение функций
означает смещение «интеллекта» сети на ее периферию.
Организация взаимодействия
между устройствами сети является сложной задачей. Для решения сложных задач
используется известный универсальный прием — декомпозиция, то есть разбиение одной сложной
задачи на несколько более простых задач-модулей. Декомпозиция
состоит в четком определении:
•
функций каждого
модуля,
•
порядке их взаимодействия (то есть межмодульных интерфейсов).
Еще более эффективной
концепцией, развивающей идею декомпозиции, является многоуровневый
подход. После представления исходной задачи в виде множества
модулей эти
модули группируют и упорядочивают по уровням, образующим
иерархию. В соответствии с принципом иерархии для каждого промежуточного уровня
можно указать непосредственно примыкающие к нему соседние вышележащий и
нижележащий уровни.
Группа модулей, составляющих
каждый уровень, для решения своих задач должна обращаться с запросами только к
модулям соседнего нижележащего уровня. С другой стороны, результаты работы
каждого из модулей, отнесенных к некоторому уровню, могут быть переданы только
модулям соседнего вышележащего уровня. Такая иерархическая декомпозиция задачи
предполагает четкое определение функций и интерфейсов не только отдельных
модулей, но и каждого уровня.
Многоуровневое представление
средств сетевого взаимодействия имеет свою специфику, связанную с тем, что в
процессе обмена сообщениями участвуют, по меньшей мере, две стороны,
то есть в данном случае необходимо организовать согласованную работу двух
иерархий аппаратных и программных средств, работающих на разных компьютерах. Оба участника сетевого обмена должны
принять множество соглашений. Например, они должны согласовать уровни и форму
электрических сигналов, способ определения размера сообщений, договориться о
методах контроля достоверности и т. п. Другими словами, соглашения должны быть
приняты на всех уровнях, начиная от самого низкого — уровня передачи битов и
заканчивая самым высоким, реализующим обслуживание пользователей сети. Интерфейсы
услуг с выше- и нижележащим уровнями «своей» иерархии
средств.
Интерфейс со
средствами взаимодействия другой стороны, расположенными на том же уровне
иерархии. Этот тип интерфейса называют протоколом.
В сущности, термины «протокол» и «интерфейс» выражают одно и то же понятие — формализованное описание процедуры взаимодействия двух объектов, но традиционно в сетях за ними закрепили разные области действия: протоколы определяют правила взаимодействия модулей одного уровня в разных узлах, а интерфейсы — правила взаимодействия модулей соседних уровней в одном узле.
Общая характеристика модели OSI
Из того, что протокол
является соглашением, принятым двумя взаимодействующими узлами сети, совсем не
следует, что он обязательно является стандартным. Но на практике при реализации
сетей стремятся использовать стандартные протоколы. Это могут быть фирменные,
национальные или международные стандарты.
В начале 80-х годов ряд международных
организаций по стандартизации, в частности International Organization for Standardization
(ISO),
часто называемая также International Standards Organization, а также International Telecommunications Union (ITU) - разработали стандартную модель взаимодействия открытых систем (Open System Interconnection, OSI). Эта
модель сыграла значительную роль в развитии компьютерных сетей.
Назначение
модели OSI состоит в
обобщенном представлении средств сетевого взаимодействия. Она разрабатывалась в качестве
своего рода универсального языка сетевых специалистов, именно
поэтому ее называют справочной моделью.
Модель OS1 определяет:
•
уровни взаимодействия систем в сетях с коммутацией
пакетов,
•
стандартные названия уровней,
•
функции, которые должен выполнять каждый уровень
Модель OSI не
содержит описаний реализаций конкретного набора протоколов
Рисунок 1 Модель взаимодействия открытых систем ISO/OSI
В модели OSI (рис. 1) средства взаимодействия
делятся на семь уровней: прикладной, представления, сеансовый,
транспортный, сетевой, канальный и физический. Каждый уровень имеет дело с
совершенно определенным аспектом взаимодействия сетевых устройств.
Модель OSI описывает
только системные средства взаимодействия, реализуемые операционной системой, системными программными и
аппаратными средствами. Модель не включает средства взаимодействия приложений
конечных пользователей. Важно различать уровень взаимодействия приложений и
прикладной уровень семиуровневой модели.
Приложения могут
реализовывать собственные протоколы взаимодействия, используя для этих целей
многоуровневую совокупность системных средств. Именно для этого в распоряжение
программистов предоставляется прикладной программный интерфейс (Application Program Interface, API).
В стандартах ISO для
обозначения единиц обмена данными, с которыми имеют дело протоколы разных
уровней, используется общее название протокольная единица данных (Protocol Data Unit, PDU). Для обозначения единиц обмена данными конкретных
уровней часто используются специальные названия, в
частности: сообщение, кадр, пакет, дейтаграмма.
Физический
уровень
Физический уровень (physical layer) имеет
дело с передачей потока битов по физическим каналам связи, таким как коаксиальный кабель, витая пара,
оптоволоконный кабель или цифровой территориальный канал.
Функции физического уровня
реализуются на всех устройствах, подключенных к сети. Со стороны компьютера
функции физического уровня выполняются сетевым адаптером или последовательным
портом.
Примером протокола
физического уровня может служить спецификация 10BaseT технологии Ethernet,
которая определяет в качестве
используемого кабеля неэкранированную витую пару категории 3 с волновым
сопротивлением 100 Ом, разъем RJ-45, максимальную длину физического сегмента 100 метров,
манчестерский код для представления данных в кабеле, а также некоторые другие
характеристики среды и электрических сигналов.
Физический
уровень не вникает в смысл информации, которую он перелает. Для него эта
информация представляет однородный поток битов, которые нужно доставить без
искажений и в соответствии с заданной тактовой частотой (интервалом между
соседними битами).
Канальный
уровень
Канальный уровень (data link layer) является первым уровнем (если идти снизу вверх),
который работает в режиме коммутации пакетов. На этом уровне PDU (протокольный блок данных) обычно
носит название кадр (frame).
Функции средств канального
уровня определяются по-разному для локальных и глобальных сетей:
•
В
локальных сетях канальный уровень
должен обеспечивать доставку кадра между любыми узлами сети. При этом
предполагается, что сеть имеет типовую топологию, например общую шину, кольцо, звезду или
дерево (иерархическую звезду). Примерами технологий локальных сетей, применение которых
ограничено типовыми топологиями, являются Ethernet, FDDI, Token Ring.
•
В
глобальных сетях канальный уровень
должен обеспечивать доставку кадра только между двумя
соседними узлами, соединенными индивидуальной
линией связи. Примерами двухточечных протоколов (как часто называют такие
протоколы) могут служить широко распространенные протоколы РРР (Point to Point Protokol) и HDLC. На основе
двухточечных связей могут быть построены сети произвольной топологии.
Для связи локальных сетей между
собой или для
доставки сообщений между любыми конечными узлами глобальной сети используются средства более высокого
сетевого уровня.
Одной из функций канального уровня является
поддержание интерфейсов с нижележащим физическим уровнем и вышележащим сетевым
уровнем. Сетевой
уровень направляет канальному уровню пакет для передачи в сеть или принимает от
него пакет, полученный из сети. Физический уровень используется канальным
как инструмент, который принимает и передает в сеть последовательности битов.
Сетевой уровень
Сетевой уровень (network layer) служит для образования единой транспортной системы,
объединяющей несколько сетей, называемой составной сетью, или
интернетом.
Не следует путать
интернет (со строчной буквы) с Интернетом
(с прописной буквы). Интернет - это самая известная и охватывающая весь мир
реализация составной сети, построенная на основе технологии TCP/IP.
Технология, позволяющая
соединить в единую сеть множество сетей, в общем случае построенных на основе
технологий, называется технологией межсетевого взаимодействия (internet working)
Функции
сетевого уровня реализуются:
•
специальными устройствами - маршрутизаторами.
Одной из функций
маршрутизатора является физическое соединение сетей. Маршрутизатор
имеет несколько сетевых интерфейсов, подобных интерфейсам компьютера, к каждому
из которых может быть подключена одна сеть. Таким образом, все интерфейсы
маршрутизатора можно считать узлами разных сетей. Маршрутизатор может быть
реализован программно, на базе универсального компьютера (например, типовая конфигурация Unix или Windows включает
программный модуль маршрутизатора).
Однако чаще маршрутизаторы реализуются на базе специализированных аппаратных
платформ. В состав
программного обеспечения
маршрутизатора входят протокольные модули сетевого уровня.
На сетевом уровне
определяются два
вида протоколов. Первый
вид — маршрутизируемые протоколы — реализуют продвижение
пакетов через сеть. Именно эти протоколы обычно имеют в виду, когда говорят о
протоколах сетевого уровня. Пример: межсетевой
протокол (Internet Protocol, IP). В его задачу входит продвижение пакета между сетями —
от одного маршрутизатора до другого до тех пор, пока пакет не попадет и сеть
назначения.
Однако часто к сетевому
уровню относят и другой вид протоколов, называемых маршрутизирующими протоколами,
или протоколами
маршрутизации. С
помощью этих протоколов маршрутизаторы собирают информацию о топологии
межсетевых соединений, на основании которой осуществляется выбор маршрута
продвижения пакетов. Пример: протоколы маршрутизации RIP, OSPP, BGP.
Транспортный
уровень
На пути от отправителя к
получателю пакеты могут быть искажены или утеряны. Хотя некоторые приложения
имеют собственные средства обработки ошибок, существуют и такие, которые
предпочитают сразу иметь дело с надежным соединением.
Транспортный
уровень (transport layer) обеспечивает
приложениям или верхним уровням стека — прикладному, представления и сеансовому
— передачу данных с той степенью надежности, которая им требуется.
Модель OSI определяет пять классов транспортного сервиса от низшего класса 0 до высшего
класса 4. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью,
возможностью восстановления прерванной связи, наличием средств
мультиплексирования нескольких соединении между различными прикладными
протоколами через общий транспортный протокол, а главное — способностью к
обнаружению и исправлению ошибок передачи, таких как искажение, потеря и
дублирование пакетов.
Выбор класса сервиса транспортного уровня определяется:
•
С одной
стороны, тем, в какой степени
задача обеспечения надежности решается самими приложениями и протоколами более
высоких, чем транспортный, уровней.
С другой стороны, этот выбор зависит от того, насколько надежной является система транспортировки данных в сети, обеспечиваемая уровнями, расположенными ниже транспортного, — сетевым, канальным и физическим.
Все протоколы, начиная с транспортного уровня и выше,
реализуются программными средствами конечных узлов сети — компонентами их
сетевых операционных систем. В качестве примера транспортных протоколов можно
привести протоколы TCP и UDP стека TCP/IP и протокол SPX стека NetWare разработки фирмы Novell.
Протоколы
нижних четырех уровней обобщенно называют сетевым транспортом, или транспортной
подсистемой, так как они полностью решают задачу транспортировки сообщений с
заданным уровнем качества в составных сетях с произвольной топологией и
различными технологиями.
Оставшиеся три верхних уровня решают задачи предоставления прикладных сервисов,
используя нижележащую транспортную подсистему.
Сеансовый
уровень
Сеансовый уровень (session layer) обеспечивает
управление взаимодействием сторон: фиксирует, какая из сторон является
активной в настоящий момент, и предоставляет средства синхронизации сеанса. Эти средства позволяют в ходе длинных передач
сохранять информацию о состоянии этих передач в виде контрольных точек,
чтобы в случае отказа можно было вернуться назад к последней контрольной точке,
а не начинать все с начала. На практике немногие приложения используют
сеансовый уровень, и он редко реализуется в виде отдельных протоколов. Функции этого уровня часто
объединяют с функциями прикладного и представительного уровней и реализуют в
одном протоколе.
Уровень
представления
Уровень представления (presentation layer), как
явствует из его названия, обеспечивает представление передаваемой по сети
информации, не меняя при этом ее содержания. За
счет уровня представления информация, передаваемая прикладным уровнем одной
системы, всегда понятна прикладному уровню другой системы. С помощью средств
данного уровня протоколы прикладных уровней могут преодолеть синтаксические
различия в представлении данных или же различия в кодах символов, например
кодов ASCII и EBCDIC. На
этом уровне могут выполняться шифрование и дешифрирование данных, благодаря
которым секретность обмена данными обеспечивается сразу для всех прикладных
служб. Примером такого протокола является протокол SSL (Secure Socket Layer — слой защищенных сокетов), который
обеспечивает секретный обмен сообщениями для протоколов прикладного уровня
стека TCP/IP.
Прикладной
уровень
Прикладной уровень (application layer) - это в действительности просто набор разнообразных протоколов, с помощью
которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые
веб-страницы, а также организуют свою совместную работу, например, по протоколу
электронной почты. Единица данных, которой оперирует прикладной уровень, обычно
называется сообщением.
Существует очень большое
разнообразие протоколов и соответствующих служб прикладного уровня. Приведем в
качестве примера несколько наиболее распространенных реализаций сетевых
файловых служб: NFS и FTP в стеке TCP/IP. SMB в Microsoft Windows. NCP в операционной системе Novell NetWare.
Сетевая технология Ethernet.
Стандарт
Ethernet был
принят в 1984 году. Основной принцип, положенный в основу Ethernet, - случайный метод доступа
к разделяемой среде передачи данных. В качестве такой среды может
использоваться толстый или тонкий коаксиальный кабель, витая пара, оптоволокно
или радиоволны (кстати, первой сетью, построенной на принципе случайного
доступа к разделяемой среде, была радиосеть Aloha Гавайского
университета).
Ethernet - Базовая технология локальной
вычислительной сети, использующая метод множественного доступа к среде передачи
с прослушиванием несущей и обнаружением коллизий (CSMA/CD - Carrier Sense Multiple-Access/Collision Detection). Топология
- общая шина. Скорость передачи 10 Мб/с. Протокол стандартизован в спецификации
IEEE 802.3.
Основа стандарта разработка компаний DEC, Intel, Xerox, 1980 г.
Стандарт
разработан институтом инженеров по электронике и радиоэлектронике - (Institute of Electrical and Electronics Engineers, IEEE) -
национальной организацией США, определяющей сетевые стандарты локальных
вычислительных сетей. В 1981 году рабочая группа 802 этого института
сформулировала основные требования, которым должны удовлетворять локальные
вычислительные сети. Группа 802 определила множество стандартов, из них самыми
известными являются стандарты 802.1, 802.2, 802.3, 802.5, 802.11 которые
описывают общие понятия, используемые в области локальных сетей, а также
стандарты на два нижних уровня сетей Ethernet, Token Ring, WLAN.
Рисунок 2 Соответствие популярных стеков модели OSI
Информационные и
транспортные услуги
Услуги
компьютерной сети можно разделить на две категории:
•
информационные услуги.
Транспортные услуги состоят в передаче
информации между пользователями сети в неизменном виде. При этом сеть принимает информацию от пользователя на
одном из своих интерфейсов, передает ее через промежуточные коммутаторы и
выдаст другому пользователю через другой интерфейс. При оказании транспортных
услуг сеть не вносит никаких изменений в передаваемую информацию, передавая ее получателю
в том виде, в котором она поступила в сеть от отправителя. Примером
транспортной услуги глобальных сетей является объединение локальных сетей
клиентов.
Информационные услуги состоят в
предоставлении пользователю некоторой новой информации. Информационная услуга всегда связана с операциями по
обработке информации: хранению ее в некотором упорядоченном виде (файловая
система, база данных), поиску нужной информации и преобразованию информации.
Для оказания информационных услуг применяются
различные информационные технологии: программирование, базы данных, файловые
архивы, веб-сервис, электронная почта.
В телекоммуникационных сетях
«докомпьютерной» эры всегда преобладали транспортные
услуги. Основной услугой телефонной сети всегда была передача
голосового трафика между абонентами, в то время как справочные услуги были
дополнительными.
В компьютерных сетях одинаково важны обе
категории услуг. Эта особенность
компьютерных сетей сегодня отражается на названии нового поколения телекоммуникационных
сетей, которые появляются в результате конвергенции сетей различных типов.
Такие сети все чаще стали называть инфокоммуннкационными.
Деление услуг компьютерных
сетей на две категории проявляется во многих аспектах. Существует, например,
четкое деление специалистов в области компьютерных сетей на специалистов информационных технологий и
сетевых специалистов:
1.
К
первой категории относятся
программисты, разработчики баз данных, администраторы операционных систем,
веб-дизайнеры, словом все те, кто имеет дело с разработкой и обслуживанием
программного и аппаратного обеспечения компьютеров.
2.
Вторая
категория специалистов занимается
транспортными проблемами сети. Эти специалисты имеют дело с каналами связи и
коммуникационным оборудованием, таким как коммутаторы, маршрутизаторы и
концентраторы. Они решают проблемы выбора топологии сети, выбора маршрутов для
потоков трафика, определения требуемой пропускной способности каналов связи и
коммуникационных устройств и другие проблемы, связанные только с передачей
трафика через сеть.