В данной главе дается раз'яснение основных концепций об'единениясетей. Представленная здесь основополагающая информация поможет читателю понять тот технический материал, из которого составленабольшая часть данной публикации. В главу включены разделы, касающиесяэталонной модели OSI, важные термины и концепции, а также переченьосновных организаций по стандартизации сетей.
Перемещение информации между компьютерами различных схем являетсячрезвычайно сложной задачей. В начале 1980 гг. Международная Организация по Стандартизации (ISO) признала необходимость в создания модели сети, которая могла бы помочь поставщикам создаватьреализации взаимодействующих сетей. Эту потребность удовлетворяетэталонная модель "Взаимодействие Открытых Систем" (OSI), выпущеннаяв 1984 г.
Эталонная модель OSI быстро стала основной архитектурной моделью для передачи межкомпьютерных сообщений. Несмотря на то,что были разработаны другие архитектурные модели (в основном патентованные), большинство поставщиков сетей, когда им необходимопредоставить обучающую информацию пользователям поставляемых ими изделий, ссылаются на них как на изделия для сети, соответствующейэталонной модели OSI. И действительно, эта модель является самым лучшим средством, имеющемся в распоряжении тех, кто надеется изучитьтехнологию сетей.
Эталонная модель OSI делит проблему перемещения информации между компьютерами через среду сети на семь менее крупных, и следовательно,более легко разрешимых проблем. Каждая из этих семи проблем выбрана потому, что она относительно автономна, и следовательно, ее легче решить без чрезмерной опоры на внешнюю информацию.
Каждая из семи областей проблемы решалась с помощью одного изуровней модели. Большинство устройств сети реализует все семьуровней. Однако в режиме потока информации некоторые реализации сети пропускают один или более уровней. Два самых низших уровня OSIреализуются аппаратным и программным обеспечением; остальные пятьвысших уровней, как правило, реализуются программным обеспечением.
Справочная модель OSI описывает, каким образом информация проделывает путь через среду сети (например, провода) от однойприкладной программы (например, программы обработки крупноформатных таблиц) до другой прикладной программы, находящейся в другом компьютере. Т.к.информация, которая должна быть отослана, проходит вниз через уровни системы, по мере этого продвижения она становится все меньше похожей на человеческий язык и все больше похожей на ту информацию, которую понимают компьютеры, а именно "единицы" и "нули".
В качесте примера связи типа OSI предположим, что Система А на Рис. 1-1 имеет информацию для отправки в Систему В. Прикладная программа Системы А сообщается с Уровнем 7 Системы А (верхний уровень), который сообщается с Уровнем 6 Системы А, который в своюочередь сообщается с Уровнем 5 Системы А, и т.д. до Уровня 1Системы А. Задача Уровня 1 - отдавать (а также забирать) информацию в физическую среду сети. После того, как информация проходит черезфизическую среду сети и поглащается Системой В, она поднимаетсячерез слои Системы В в обратном порядке (сначала Уровень 1 , затем Уровень 2 и т.д.), пока она наконец не достигнет прикладную программу Системы В.
Хотя каждый из уровней Системы А может сообщаться со смежнымиуровнями этой системы, их главной задачей является сообщение ссоответствующими уровнями Системы В. Т.е. главной задачей Уровня 1Системы А является связь с Уровнем 1 Системы В; Уровень 2 Системы Асообщается с Уровнем 2 Системы В и т.д. Это необходимо потому, что каждый уровень Системы имеет свои определенные задачи, которыеон должен выполнять. Чтобы выполнить эти задачи, он долженсообщаться с соответствующим уровнем в другой системе.
Уровневая модель OSI исключает прямую связь между соответствующими уровнями других систем. Следовательно, каждый уровень Системы А должен полагаться на услуги, предоставляемые емусмежными уровнями Системы А, чтобы помочь осуществить связь ссоответствующим ему уровнем Системы В. Взаимоотношения между смежнымиуровнями отдельной системы показаны на Рис.1-2.
Предположим, что Уровень 4 Системы А должен связаться с Уровнем 4 Системы В. Чтобы выполнить эту задачу, Уровень 4 Системы А должен воспользоваться услугами Уровня 3 Системы А.Уровень 4 называется "пользователем услуг", а Уровень 3 - "источникомуслуг". Услуги Уровня 3 обеспечиваются Уровню 4 в "точке доступа куслугам" (SAP), которая представляет собой просто местоположение, вкотором Уровень 4 может запросить услуги Уровня 3. Как видно изрисунка, Уровень 3 может предоставлять свои услуги множеству об'ектовУровня 4.
Каким образом Уровень 4 Системы В узнает о том, что необходимоУровню 4 Системы А? Специфичные запросы Уровня А запоминаются какуправляющая информация, которая передается между соответствующими уровнями в блоке, называемом заголовком; заголовок предшествуютфактической прикладной информации. Например, предположим, что Система А хочет отправить в Систему В следующий текст (называемый "данные" или "информация"):
The small grey cat ran up the wall to try to catchthe red bird.
Этот текст передается из прикладной программы Системы А в верхнийуровень этой системы. Прикладной уровень Системы А должен передать определенную информацию в прикладной уровень Системы В, поэтому онпомещает управляющую информацию (в форме кодированного заголовка)перед фактическим текстом, который должен быть передан. Этотинформационный блок передается в Уровень 6 Системы А, который можетпредварить его своей собственной управляющей информацией. Размерысообщения увеличиваются по мере того, как оно проходит вниз черезуровни до тех пор, пока не достигнет сети, где оригинальный текст ився связанная с ним управляющая информация перемещаются к Системе В,где они поглащаются Уровнем 1 Системы В. Уровень 1 Системы В отделяет заголовок уровня 1 и прочитывает его, после чего он знает,как обрабатывать данный информационный блок. Слегка уменьшенный в размерах информационный блок передается в Уровень 2, которыйотделяет заголовок Уровня 2, анализирует его, чтобы узнать одействиях, которые он должен выполнить, и т.д. Когда информационныйблок наконец доходит до прикладной программы Системы В, он должен содержать только оригинальный текст.
Концепция заголовка и собственно данных относительна и зависитот перспективы того уровня, который в данный момент анализирует информационный блок. Например, в Уровне 3 информационный блок состоит из заголовка Уровня 3 и следующими за ним данными. Однакоданные Уровня 3 могут содержать заголовки Уровней 4, 5, 6 и 7.Кроме того, заголовок Уровня 3 является просто данными для Уровня 2. Эта концепция иллюстрируется на Рис. 1-3. И наконец, не все уровнинуждаются в присоединении заголовков. Некоторые уровни просто выполняют трансформацию фактических данных, которые они получают,чтобы сделать их более или менее читаемыми для смежных с ними уровней.
Эталонная модель OSI не является реализацией сети. Она толькоопределяет функции каждого уровня. В этом отношении она напоминаетплан для постройки корабля. Точно также, как для выполнения фактической работы по плану могут быть заключены контракты с любым количеством кораблестроительных компаний, любое число поставщиковсети могут построить протокол реализации по спецификации протокола. И если этот план не будет предельно понятным, корабли,построенные различными компаниями, пользующимися одним и тем жепланом, пусть незначительно, но будут отличаться друг от друга.Примером самого незначительного отличия могут быть гвозди, забитые в разных местах.
Чем об'ясняется разница в реализациях одного и того же планакорабля (или спецификации протокола)? Частично эта разница вызвананеспособностью любой спецификации учесть все возможные деталиреализации. Кроме того, разные люди, реализующие один и тот же проект, всегда интерпретируют его немного по-разному. Инаконец, неизбежные ошибки реализации приводят к тому, что изделияразных реализаций отличаются исполнением. Этим об'ясняется то, чтореализация протокола Х одной компании не всегда взаимодействует среализацией этого протокола, осуществленной другой компанией.
После того, как стали понятными основные особенности принципа деления на уровни модели OSI, можно приступить к обсуждению каждогоотдельного уровня и его функций. Каждый уровень имеет заранее заданный набор функций, которые он должен выполнить для того,чтобы связь могла состояться.
Прикладной уровень идентифицирует и устанавливает наличие предполагаемых партнеров для связи, синхронизирует совместно работающие прикладные программы, а также устанавливает соглашение по процедурам устранения ошибок и управления целостностью информации. Прикладной уровень также определяет, имеется ли в наличии достаточно ресурсов для предполагаемой связи.
Представительный уровень занят не только форматом и представлением фактических данных пользователя, но также структурами данных, которые используют программы. Поэтому кроме трансформации формата фактических данных (если она необходима), представительный уровень согласует синтаксис передачи данных для прикладного уровня.
Транспортный уровень пытается обеспечить услуги по транспортировке данных, которые избавляют высшие слои от необходимости вникать в ее детали. В частности, заботой транспортного уровня является решение таких вопросов, как выполнение надежной транспортировки данных через об'единенную сеть. Предоставляя надежные услуги, транспортный уровень обеспечивает механизмы для установки, поддержания и упорядоченного завершения действия виртуальных каналов, систем обнаружения и устранения неисправностей транспортировки и управления информационным потоком (с целью предотвращения переполнения системы данными из другой системы).
Т.к. две конечные системы, желающие организовать связь, может разделять значительное географическое расстояние и множество подсетей, сетевой уровень является доменом маршрутизации. Протоколы маршрутизации выбирают оптимальные маршруты через последовательность соединенных между собой подсетей. Традиционные протоколы сетевого уровня передают информацию вдоль этих маршрутов.
Наука об об'единении сетей, как и другие науки, имеет своюсобственную терминологию и научную базу. К сожалению, ввиду того, чтонаука об об'единении сетей очень молода, пока что не достигнутоединое соглашение о значении концепций и терминов об'единенныхсетей. По мере дальнейшего совершенствования индустрии об'единенных сетей определение и использование терминов будут более четкими.
Существенным компонентом любой системы сети является оперделениеместонахождения компьютерных систем. Существуют различные схемыадресации, используемые для этой цели, которые зависят от используемого семейства протоколов. Другими словами, адресацияAppleTalk отличается от адресации TCP/IP, которая в свою очередь отличается от адресации OSI, и т.д.
Двумя важными типами адресов являются адреса канального уровняи адреса сетевого уровня. Адреса канального уровня (называемыетакже физическими или аппаратными адресами), как правило, уникальныдля каждого сетевого соединения. У большинства локальных сетей (LAN)адреса канального уровня размещены в схеме интерфейса; ониназначаются той организацией, которая определяет стандарт протокола,представленный этим интерфейсом. Т.к. большинство компьютерныхсистем имеют одно физическое сетевое соединение, они имеют толькоодин адрес канального уровня. Роутеры и другие системы,соединенные с множеством физических сетей, могут иметь множествоадресов канального уровня. В соответствии с названием, адресаканального уровня существуют на Уровне 2 эталонной модели ISO.
Aдреса сетевого уровня (называемые также виртуальными илилогическими адресами) существуют на Уровне 3 эталонной модели OSI.В отличие от адресов канального уровня, которые обычно существуют впределах плоского адресного пространства, адреса сетевого уровняобычно иерархические. Другими словми, они похожи на почтовые адреса,которые описывают местонахождение человека, указывая страну, штат,почтовый индекс, город, улицу, адрес на этой улице и наконец, имя.Хорошим примером одноуровневой адресации является номерная системасоциальной безопасности США, в соответствии с которой каждый человек имеет один уникальный номер, присвоенный ему службойбезопасности.
Иерархические адреса делают сортировку адресов и повторныйвызов более легкими путем исключения крупных блоков логическисхожих адресов в процессе последовательности операций сравнения.Например, можно исключить все другие страны, если в адресе указанастрана "Ирландия". Легкость сортировки и повторного вызова являютсяпричиной того, что роутеры используют адреса сетевого уровняв качестве базиса маршрутизации.
Адреса сетевого уровня различаются в зависимости от используемогосемейства протоколов, однако они, как правило, используют соответствующие логические разделы для нахождения компьютерных систем в об'единенной сети. Некоторые из этих логических разделов базируются на физических характеристиках сети (таких, как сегмент сети, в котором находится какая-нибудь система); другие логические разделы базируются на группировках, не имеющих физического базиса (например, "зона" AppleTalk).
Блоки данных, пакеты и сообщения
После того, как по адресам установили местоположение компьютерныхсистем, может быть произведен обмен информацией между двумя или болеесистемами. В литературе по об'единенным сетям наблюдаетсянепоследовательность в наименовании логически сгруппированных блоковинформации, которая перемещается между компьютерными системами."блок данных", "пакет", "блок данных протокола", "PDU", "сегмент", "сообщение" - используются все эти и другие термины, в зависимости от прихоти тех, кто пишет спецификации протоколов.
В настоящей работе термин "блок данных" (frame) обозначает блокинформации, источником и пунктом назначения которого являются об'екты канального уровня. Термин "пакет" (packet) обозначает блок информации, у которого источник и пункт назначения - об'екты сетевого уровня. И наконец, термин "сообщение" (message) oбoзначаетинформационный блок, у которого об'екты источника и места назначения находятся выше сетевого уровня. Термин "сообщение" используется также для обозначения отдельных информационных блоков низших уровней, которые имеют специальное, хорошо сформулированноеназначение.
Без услуг нескольких основных организаций по стандартизации,в области об'единенных сетей было бы значительно больше хаоса, чемего имеется в настоящее время. Организации по стандартизацииобеспечивают форум для дискуссий, помогают превратить результатыдискуссий в официальные спецификации, а также распространяют этиспецификации после завершения процесса стандартизации.
Большинство организаций по стандартизации выполняют специфичныепроцессы, чтобы превратить идеи в официальные стандарты. И хотя уразличных организаций эти процессы немного отличаются, они схожи втом, что проходят через несколько раундов организации идей,обсуждения этих идей, разработки проектов стандартов, голосованияпо всем или некоторым аспектам этих стандартов и наконец, официального выпуска завершенных стандартов.
Наиболее известными организациями по стандартизации являютсяследующие огранизации: