Учебник для вузов в. Олифер Н. Олифер Компьютерные Принципы, технологии, протоколы
Скачать 22.28 Mb.
|
Сеансовый уровень Сеансовый уровень (session layer) управляет взаимодействием сторон: фиксирует, какая из сторон является активной в настоящий момент, и предоставляет средства синхронизации сеанса. Эти средства позволяют в ходе длинных передач сохранять информацию о состоя нии этих передач в виде контрольных точек, чтобы в случае отказа можно было вернуться назад к последней контрольной точке, а не начинать все с начала. На практике немногие приложения используют сеансовый уровень, и он редко реализуется в виде отдельных протоколов. Функции этого уровня часто объединяют с функциями прикладного уровня и реализуют в одном протоколе. Уровень представления Уровень представления (presentation layer), как явствует из его названия, обеспечивает представление передаваемой по сети информации, не меняя при этом ее содержания. За счет уровня представления информация, передаваемая прикладным уровнем одной си стемы, всегда понятна прикладному уровню другой системы. С помощью средств данного уровня протоколы прикладных уровней могут преодолеть синтаксические различия в пред ставлении данных или же различия в кодах символов, например кодов ASCII и EBCDIC. На этом уровне могут, выполняться шифрование и дешифрирование данных, благодаря которым секретность обмена данными обеспечивается сразу для всех прикладных служб. Примером такого протокола является протокол SSL (Secure Socket Layer — слой защи щенных сокетов), который обеспечивает секретный обмен сообщениями для протоколов прикладного уровня стека TCP/IP. Модель OSI 123 Прикладной уровень Прикладной уровень (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 в среду другой версии. Стандартизация сетей 125 Модель OSI касается только одного аспекта открытости, а именно — открытости средств взаимодействия устройств, связанных в компьютерную сеть.' Здесь под открытой си стемой понимается сетевое устройство, готовое взаимодействовать с другими сетевыми устройствами по стандартным правилам, определяющим формат, содержание и значение принимаемых и отправляемых сообщений. Если две сети построены с соблюдением принципов открытости, это дает следующие преимущества: □ возможность построения сети из аппаратных и программных средств различных про изводителей, придерживающихся одного и того же стандарта; □ безболезненная замена отдельных компонентов сети другими, более совершенными, что позволяет сети развиваться с минимальными затратами; □ легкость сопряжения одной сети с другой. Источники стандартов Работы по стандартизации вычислительных сетей ведутся большим количеством органи заций. В зависимости от статуса организаций различают следующие виды стандартов: □ стандарты отдельных фирм, например стек протоколов SNA компании IBM или гра фический интерфейс OPEN Ш О К для 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, ІАВ). В ІАВ входят две основные группы: Internet Research Task Force (IRTF) и Internet Engineering Task Force (IETF). IRTF координирует долгосрочные исследова тельские проекты по протоколам TCP/IP. 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, включая спецификации протоколов для всех семи уровней взаимодействия, определенных Стандартизация сетей 127 в этой модели (рис. 4.11). Это и понятно, разработчики стека OSI использовали модель OSI как прямое руководство к действию. I 7 I Y А П П Х.500 VT FTAM JTM другие Ц I 6 Л . 4 U U Протокол уровня представления OSI Ц Д Ш » . : Сеансовый протокол OSI Транспортные протоколы OSI (классы 0-4) Уровни модели OSI Рис. 4.11. Стек протоколов 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) и протокол объявления о сервисах Servicc Advertising Protocol (SAP). E l IPX RIP NLSP ^ і Ethernet, Token Ring, щ FDDI и другие Уровни модели OSI Рис. 4.12. Стек протоколов IPX/SPX П Р И М Е Ч А Н И Е -------------------------------------------------------------------------------------------------------------- До 1996 года стек IPX/SPX был бесспорным мировым лидером по числу установленных копий, но затем картина резко изменилась — стек TCP/IP по темпам роста числа установок намного стал опере жать другие стеки, а с 1998 года вышел в лидеры и в абсолютном выражении. Многие особенности стека IPX/SPX обусловлены ориентацией ранних версий ОС NetWare на работу в локальных сетях небольших размеров, состоящих из персональных компью теров со скромными ресурсами. Понятно, что для таких компьютеров компании Novell нужны были протоколы, на реализацию которых требовалось бы минимальное количество оперативной памяти (ограниченной в IBM-совместимых компьютерах под управлением MS-DOS объемом 640 Кбайт) и которые бы быстро работали на процессорах небольшой Стандартизация сетей 129 вычислительной мощности. В результате протоколы стека IPX/SPX до недавнего време ни отлично справлялись с работой в локальных сетях. Однако в крупных корпоративных сетях они слишком перегружали медленные глобальные связи широковещательными пакетами, интенсивно использующимися несколькими протоколами этого стека, напри мер протоколом SAP. Это обстоятельство, а также тот факт, что стек IPX/SPX является собственностью фирмы Novell и на его реализацию нужно получать лицензию (то есть открытые спецификации не поддерживались), долгое время ограничивали распространен ность его только сетями NetWare. Стек NetBIOS/SMB Стек NetBIOS/SMB является совместной разработкой компаний IBM и Microsof (рис. 4.13). На физическом и канальном уровнях этого стека также задействованы уже получившие распространение протоколы, такие как Ethernet, Token Ring, FDDI, а на верхних уровнях — специфические протоколы NetBEUI и SMB. модели OSI Рис. 4.13. Стек NetBIOS/SMB Протокол Network Basic Input/Output System (NetBIOS) появился в 1984 году как сетевое расширение стандартных функций базовой системы ввода-вывода (BIOS) IBM PC для сетевой программы PC Network фирмы IBM. В дальнейшем этот протокол был заменен так называемым протоколом расширенного пользовательского интерфейса NetBEUI (NetBIOS Extended Uspr Interface). Для совместимости приложений в качестве интерфейса к протоколу NetBEUI был сохранен интерфейс NetBIOS. NetBEUI разрабатывался как эффективный протокол, потребляющий немного ресурсов и предназначенный для сетей, насчитывающих не более 200 рабочих станций. Этот протокол содержит много полезных сетевых функций, которые можно отнести к транспортному и сеансовому уровням модели 0SI, однако с его помощью невозможна маршрутизация пакетов. Это ограничивает при- 130 Глава 4. Архитектура и стандартизация сетей менение протокола NetBEUI локальными сетями, не разделенными на подсети, и делает невозможным его использование в составных сетях. Протокол Server Message Block (SMB) поддерживает функции сеансового уровня, уров ня представления и прикладного уровня. На основе SMB реализуется файловая служба, а также службы печати и передачи сообщений между приложениями. Стек TCP/IP Стек T C P/IP был разработан по инициативе Министерства обороны США более 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/IP (так же как и сетевого уровня OSI) является передача пакетов через составную сеть. Для решения этой задачи в стеке TC P/IP предусмо трено несколько протоколов: протокол продвижения ІР-пакетов и протоколы маршрутиза ции RIP, OSPF и др. Если считать признаком принадлежности к одному и тому же уровню общность решаемых задач, то, очевидно, протокол IP и протоколы маршрутизации должны быть отнесены к одному уровню. Вместе с тем, если принять во внимание, что сообщения протокола RIP инкапсулируются в UDP-дейтаграммы, а сообщения протокола OSPF — Информационные и транспортные услуги 131 в IP-пакеты, то, следуя формально принципу иерархической организации стека, OSPF следовало бы отнести к транспортному, a RIP — к прикладному уровню. На практике же протоколы маршрутизации обычно включают в сетевой уровень. Модель OSI IBM/Microsoft TCP/IP Novell Стек OSI Прикладной SMB Telnet, FTP, SNMP, SMTP, WWW X.400, X.500, FTAM Представления NCR SAP Протокол уровня представления OSI Сеансовый NetBIOS TCP Сеансовый протокол OSI Транспортный SPX Транспортный протокол OSI Сетевой IP, RIP, OSPF IPX, RIP, NLSP ES-ES, IS-IS Канальный 802.3 (Ethernet), 802.5 (Token Ring), FDDI, ATM, PPP Физический Коаксиал, экранированная и неэкранированная витая пара, оптоволокно, радиоволны Рис. 4.14. Соответствие популярных стеков протоколов модели OSI Информационные и транспортные услуги Услуги компьютерной сети можно разделить на две категории: □ транспортные услуги; □ информационные услуги. Транспортные услуги состоят в передаче информации между пользователями сети в не изменном виде. При этом сеть принимает информацию от пользователя на одном из своих интерфейсов, передает ее через промежуточные коммутаторы и выдает другому пользова телю через другой интерфейс. При оказании транспортных услуг сеть не вносит никаких изменений в передаваемую информацию, передавая ее получателю в том виде, в котором она поступила в сеть от отправителя. Примером транспортной услуги глобальных сетей является объединение локальных сетей клиентов. Информационные услуги состоят в предоставлении пользователю некоторой новой информации. Информационная услуга всегда связана с операциями по обработке инфор мации: хранению ее в некотором упорядоченном виде (файловая система, база данных), поиску нужной информации и преобразованию информации. Информационные услуги существовали и до появления первых компьютерных сетей, например справочные услуги телефонной сети. С появлением компьютеров информационные услуги пережили рево люцию, так как компьютер и был изобретен для автоматической программной обработки 132 Глава 4. Архитектура и стандартизация сетей информации. Для оказания информационных услуг применяются различные информаци онные технологии: программирование, управление базами данных и файловыми архивами, веб-сервис, электронная почта. В телекоммуникационных сетях «докомпьютерной» эры всегда преобладали транспортные услуги. Основной услугой телефонной сети была передача голосового трафика между абонентами, в то время как справочные услуги были дополнительными. В компьютерных сетях одинаково важны обе категории услуг. Эта особенность компьютерных сетей сегодня отражается на названии нового поколения телекоммуникационных сетей, которые появ ляются в результате конвергенции сетей различных типов. Такие сети все чаще стали на зывать инфокоммуникационными. Это название пока не стало общеупотребительным, но оно хорошо отражает новые тенденции, включая обе составляющие услуг на равных правах. Деление услуг компьютерных сетей на две категории проявляется во многих аспектах. Существует, например, четкое деление специалистов в области компьютерных сетей на специалистов информационных технологий и сетевых специалистов. К первой катего рии относятся программисты, разработчики баз данных, администраторы операционных систем, веб-дизайнеры, словом, все, кто имеет дело с разработкой и обслуживанием про граммного и аппаратного обеспечения компьютеров. Вторая категория специалистов занимается транспортными проблемами сети. Эти специалисты имеют дело с каналами связи и коммуникационным оборудованием, таким как коммутаторы, маршрутизаторы и концентраторы. Они решают проблемы выбора топологии сети, выбора маршрутов для потоков трафика, определения требуемой пропускной способности каналов связи и коммуникационных устройств и другими проблемами, связанными только с передачей трафика через сеть. Безусловно, каждой категории специалистов необходимо знать проблемы и методы смежной области. Специалисты, занимающиеся разработкой распределенных приложе ний, должны представлять, какие транспортные услуги они могут получить от сети для организации взаимодействия отдельных частей своих приложений. Например, програм мист должен понимать, какая из двух предлагаемых стеком T C P/IP транспортных услуг, реализуемых протоколами TCP и UDP, подходит наилучшим образом его приложению. Аналогично, разработчики транспортных средств сети при передаче трафика должны стремиться по максимуму учитывать требования приложений. Тем не менее специализация в области информационных технологий сохраняется, отра жая двойственное назначение компьютерных сетей. Деление услуг сети на транспортные и информационные сказывается и на организации стека протоколов, и на распределении протоколов различных уровней по элементам сети. Распределение протоколов по элементам сети На рис. 4.15 показаны основные элементы компьютерной сети: конечные узлы — компью теры и промежуточные узлы — коммутаторы и маршрутизаторы. Из рисунка видно, 4jo полный стек протоколов реализован только на конечных узлах, а промежуточные узлы поддерживают протоколы всего трех нижних уровней. Это объ ясняется тем, что коммуникационным устройствам для продвижения пакетов достаточно функциональности нижних трех уровней. Более того, коммуникационное устройство мо жет поддерживать только протоколы двух нижних уровней или даже одного физического уровня — это зависит от типа устройства. Информационные и транспортные услуги 133 Прикладной уровень Уровень представления Сеансовый уровень Транспортный уровень Сетевой уровень Канальный уровень Физический уровень Физический уровень W Сетевой уровень Канальный Канальный Канальный уровень уровень уровень Физический уровень о Физический уровень о Физический уровень Физический уровень Прикладной уровень Уровень представления Сеансовый уровень Транспортный уровень Сетевой уровень Канальный уровень Физический уровень Концентратор Коммутатор Маршрутизатор Коммутатор Концентратор Рис. 4.15. Соответствие функций различных устройств сети уровням модели OSI Именно к таким устройствам, работающим на физическом уровне, относятся, например, сетевые повторители, называемые также концентраторами, или хабами. Они повторяют электрические сигналы, поступающие на одни их интерфейсы, на других своих интер фейсах, улучшая их характеристики — мощность и форму сигналов, синхронность их следования. Коммутаторы локальных сетей поддерживают протоколы двух нижних уровней, физи ческого и канального, что дает им возможность работать в пределах стандартных топо логий. Маршрутизаторы должны поддерживать протоколы всех трех уровней, так как сетевой уровень нужен им для объединения сетей различных технологий, а протоколы нижних уровней — для взаимодействия с конкретными сетями, образующими составную сеть, на пример Ethernet или Frame Relay. Коммутаторы глобальных сетей (например, ATM), работающие на основе технологии вир туальных каналов, могут поддерживать как два уровня протоколов, так и три. Протокол се тевого уровня нужен им в том случае, если они поддерживают процедуры автоматического установления виртуальных каналов. Так как топология глобальных сетей произвольная, без сетевого протокола обойтись нельзя. Если же виртуальные соединения устанавливаются администраторами сети вручную, то коммутатору глобальной сети достаточно поддержи вать только протоколы физического и канального уровней, чтобы передавать данные по уже проложенным виртуальным каналам. Компьютеры, на которых работают сетевые приложения, должны поддерживать протоколы всех уровней. Протоколы прикладного уровня, пользуясь сервисами протоколов уровня представления и сеансового уровня, предоставляют приложениям набор сетевых услуг в виде сетевого прикладного программного интерфейса (API). Протокол транспортно го уровня также работает на всех конечных узлах. При передаче данных через сеть два 134 Глава 4. Архитектура и стандартизация сетей модуля транспортного протокола, работающие на узле-отправителе и узле-получателе, взаимодействуют друг с другом для поддержания транспортного сервиса нужного качества. Коммуникационные устройства сети переносят сообщения транспортного протокола про зрачным образом, не вникая в их содержание. В компьютерах коммуникационные протоколы всех уровней (кроме физического и части функций канального уровня) реализуются программно операционной системой или си стемными приложениями. Конечные узлы сети (компьютеры и компьютеризованные устройства, например мобиль ные телефоны) всегда предоставляют как информационные, так и транспортные услуги, а промежуточные узлы сети — только транспортные. Когда мы говорим, что некоторая сеть предоставляет только транспортные услуги, то подразумеваем, что конечные узлы находятся за границей сети. Это обычно имеет место в обслуживающих клиентов ком мерческих сетях. Если же говорят, что сеть предоставляет также информационные услуги, то это значит, что компьютеры, предоставляющие эти услуги, включаются в состав сети. Примером является типичная ситуация, когда поставщик услуг Интернета поддерживает еще и собственные веб-серверы. Вспомогательные протоколы транспортной системы Настало время сказать, что на рис. 4.15 показан упрощенный вариант распределения протоколов между элементами сети. В реальных сетях некоторые из коммуникационных устройств поддерживают не только протоколы трех нижних уровней, но и протоколы верх них уровней. Так, маршрутизаторы реализуют протоколы маршрутизации, позволяющие автоматически строить таблицы маршрутизации, а концентраторы и коммутаторы часто поддерживают протоколы SNMP и telnet, которые не нужны для выполнения основных функций этих устройств, но позволяют конфигурировать их и управлять ими удаленно. Все эти протоколы являются протоколами прикладного уровня и выполняют некоторые вспомогательные (служебные) функции транспортной системы. Очевидно, что для работы прикладных протоколов сетевые устройства должны также поддерживать протоколы про межуточных уровней, таких как IP и TC P/U D P Вспомогательные протоколы можно разделить на группы в соответствии с их функ циями. □ Первую группу вспомогательных протоколов представляют протоколы маршрутизации, такие как RIP, OSPF, BGP. Без этих протоколов маршрутизаторы не смогут продвигать пакеты, так как таблица маршрутизации будет пустой (если только администратор не заполнит ее вручную, но это не очень хорошее решение для крупной сети). Если рассматривать не только стек TCP/IP, но и стеки протоколов сетей с виртуальными каналами, то в эту группу попадают служебные протоколы, которые используются для установления виртуальных каналов. □ Другая группа вспомогательных протоколов выполняет преобразование адресов. Здесь работает протокол DNS, который преобразует символьные имена узлов в 1Р-адреса. Протокол DHCP позволяет назначать IP-адреса узлам динамически, а не статически, что облегчает работу администратора сети. Информационные и транспортные услуги 135 □ Третью группу образуют протоколы, которые используются для управления сетью. В стеке TC P/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. Выводы Эффективной моделью средств взаимодействия компьютеров в сети является многоуровневая структура, в которой модули вышележащего уровня при решении своих задач рассматривают сред ства нижележащего уровня как некий инструмент. Каждый уровень данной структуры поддерживает интерфейсы двух типов. Во-первых, это интерфейсы услуг с выше- и нижележащими уровнями «своей» иерархии средств. Во-вторых, это одноранговый интерфейс со средствами другой взаи модействующей стороны, расположенными на том же уровне иерархии. Этот интерфейс называют протоколом. Иерархически организованный набор протоколов, достаточный для взаимодействия узлов в сети, называется стеком протоколов. Протоколы нижних уровней часто реализуются комбинацией про граммных и аппаратных средств, а протоколы верхних уровней — как правило, программными средствами. Программный модуль, реализующий некоторый протокол, называют протокольной сущностью, или тоже протоколом. В началаВО-х годов 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 работает прикладная программа? Вопросы и задания 137 5. Как вы считаете, протоколы транспортного уровня устанавливаются: а) только на конечных узлах; б) только на промежуточном коммуникационном оборудовании (маршрутизаторах); в) и там, и там. 6. На каком уровне модели OSI работают сетевые службы? 7. Назовите известные вам организации, работающие в области стандартизации ком пьютерных сетей. 8. Какие из перечисленных терминов являются синонимами: а) стандарт; б) спецификация; в) RFC; г) все; д) никакие. 9. К какому типу стандартов могут относиться современные документы RFC? Варианты ответов: а) к стандартам отдельных фирм; б) к государственным стандартам; в) к национальным стандартам; г) к международным стандартам. №. Пусть на двух компьютерах установлено идентичное программное и аппаратное обе спечение за исключением того, что драйверы сетевых адаптеров Ethernet поддержи вают разные интерфейсы с протоколом сетевого уровня IP. Будут ли эти компьютеры нормально взаимодействовать, если их соединить в сеть? И. Опишите ваши действия в случае, если вам необходимо проверить, на каком этапе находится процесс стандартизации технологии MPLS? 12. Выясните, в каком направлении IETF работает в настоящее время наиболее интенсив но (в качестве критерия можно использовать, например, количество рабочих групп)? |