Характеристика популярных стеков коммуникационных протоколов
Итак, взаимодействие компьютеров в сетях происходит в соответствии с определенными правилами обмена сообщениями и их форматами, то есть в соответствии с определенными протоколами. Иерархически организованная совокупность протоколов, решающих задачу взаимодействия узлов сети, называется стеком коммуникационных протоколов.
Существует достаточно много стеков протоколов, широко применяемых в сетях. Это и стеки, являющиеся международными и национальными стандартами, и фирменные стеки, получившие распространение благодаря распространенности оборудования той или иной фирмы. Примерами популярных стеков протоколов могут служить стек IPX/SPX фирмы Novell, стек TCP/IP, используемый в сети Internet и во многих сетях на основе операционной системы UNIX, стек OSI международной организации по стандартизации, стек DECnet корпорации Digital Equipment и некоторые другие.
Использование в сети того или иного стека коммуникационных протоколов во многом определяет лицо сети и ее характеристики. В небольших сетях может использоваться исключительно один стек. В крупных корпоративных сетях, объединяющих различные сети, параллельно используются, как правило, несколько стеков.
В коммуникационном оборудовании реализуются протоколы нижних уровней, которые в большей степени стандартизованы, чем протоколы верхних уровней, и это является предпосылкой для успешной совместной работы оборудования различных производителей. Перечень протоколов, поддерживаемых тем или иным коммуникационным устройством, является одной из наиболее важных характеристик этого устройства.
Компьютеры реализуют коммуникационные протоколы в виде соответствующих программных элементов сетевой операционной системы, например, протоколы канального уровня, как правило, выполнены в виде драйверов сетевых адаптеров, а протоколы верхних уровней в виде серверных и клиентских компонент сетевых сервисов.
Умение хорошо работать в среде той или иной операционной системы является важной характеристикой коммуникационного оборудования. Часто можно прочитать в рекламе сетевого адаптера или концентратора, что он разрабатывался специально для работы в сети NetWare или UNIX.
Это означает, что разработчики аппаратуры оптимизировали ее характеристики применительно к тем протоколам, которые используются в этой сетевой операционной системе, или к данной версии их реализации, если эти протоколы используются в различных ОС. Из-за особенностей реализации протоколов в различных ОС, в качестве одной из характеристик коммуникационного оборудования используется его сертифицированность на возможность работы в среде данной ОС. На нижних уровнях - физическом и канальном - практически во всех стеках используются одни и те же протоколы. Это хорошо стандартизованные протоколы Ethernet, Token Ring, FDDI и некоторые другие, которые позволяют использовать во всех сетях одну и ту же аппаратуру. Протоколы сетевого и более высоких уровней существующих стандартных стеков отличаются большим разнообразием и, как правило, не соответствуют рекомендуемому моделью ISO разбиению на уровни. В частности, в этих стеках функции сеансового и представительного уровня чаще всего объединены с прикладным уровнем. Такое несоответствие связано с тем, что модель ISO появилась как результат обобщения уже существующих и реально используемых стеков, а не наоборот.
| |
Стек IPX/SPX
Этот стек является оригинальным стеком протоколов фирмы Novell, который она разработала для своей сетевой операционной системы NetWare еще в начале 80-х годов. Протоколы Internetwork Packet Exchange (IPX) и Sequenced Packet Exchange (SPX), которые дали имя стеку, являются прямой адаптацией протоколов XNS фирмы Xerox, распространенных в гораздо меньше степени, чем IPX/SPX. По количеству установок протоколы IPX/SPX лидируют, и это обусловлено тем, что сама ОС NetWare занимает лидирующее положение с долей установок в мировом масштабе примерно в 65%.
Семейство протоколов фирмы Novell и их соответствие модели ISO/OSI представлено на рисунке 1.5.
Рис. 1.5. Стек IPX / SPX
На физическом и канальном уровнях в сетях Novell используются все популярные протоколы этих уровней (Ethernet, Token Ring, FDDI и другие).
На сетевом уровне в стеке Novell работает протокол IPX, а также протоколы обмена маршрутной информацией RIP и NLSP (аналог протокола OSPF стека TCP/IP). IPX является протоколом, который занимается вопросами адресации и маршрутизации пакетов в сетях Novell. Маршрутные решения IPX основаны на адресных полях в заголовке его пакета, а также на информации, поступающей от протоколов обмена маршрутной информацией. Например, IPX использует информацию, поставляемую либо протоколом RIP, либо протоколом NLSP (NetWare Link State Protocol) для передачи пакетов компьютеру назначения или следующему маршрутизатору. Протокол IPX поддерживает только дейтаграммный способ обмена сообщениями, за счет чего экономно потребляет вычислительные ресурсы. Итак, протокол IPX обеспечивает выполнение трех функций: задание адреса, установление маршрута и рассылку дейтаграмм.
Транспортному уровню модели OSI в стеке Novell соответствует протокол SPX, который осуществляет передачу сообщений с установлением соединений.
На верхних прикладном, представительном и сеансовом уровнях работают протоколы NCP и SAP. Протокол NCP (NetWare Core Protocol) является протоколом взаимодействия сервера NetWare и оболочки рабочей станции.
Этот протокол прикладного уровня реализует архитектуру клиент-сервер на верхних уровнях модели OSI. С помощью функций этого протокола рабочая станция производит подключение к серверу, отображает каталоги сервера на локальные буквы дисководов, просматривает файловую систему сервера, копирует удаленные файлы, изменяет их атрибуты и т.п., а также осуществляет разделение сетевого принтера между рабочими станциями. SAP (Service Advertising Protocol) - протокол объявления о сервисе - концептуально подобен протоколу RIP. Подобно тому, как протокол RIP позволяет маршрутизаторам обмениваться маршрутной информацией, протокол SAP дает возможность сетевым устройствам обмениваться информацией об имеющихся сетевых сервисах. Серверы и маршрутизаторы используют SAP для объявления о своих сервисных услугах и сетевых адресах. Протокол SAP позволяет сетевым устройствам постоянно корректировать данные о том, какие сервисные услуги имеются сейчас в сети. При старте серверы используют SAP для оповещения оставшейся части сети о своих услугах. Когда сервер завершает работу, то он использует SAP для того, чтобы известить сеть о прекращении действия своих услуг. В сетях Novell серверы NetWare 3.x каждую минуту рассылают широковещательные пакеты SAP. Пакеты SAP в значительной степени засоряют сеть, поэтому одной из основных задач маршрутизаторов, выходящих на глобальные связи, является фильтрация трафика SAP-пакетов и RIP-пакетов. Особенности стека IPX/SPX обусловлены особенностями ОС NetWare, а именно ориентацией ее ранних версий (до 4.0) на работу в локальных сетях небольших размеров, состоящих из персональных компьютеров со скромными ресурсами. Поэтому Novell нужны были протоколы, на реализацию которых требовалось минимальное количество оперативной памяти (ограниченной в IBM-совместимых компьютерах под управлением MS-DOS 640 Кбайтами) и которые бы быстро работали на процессорах небольшой вычислительной мощности. В результате, протоколы стека IPX/SPX до недавнего времени хорошо работали в локальных сетях и не очень - в больших корпоративных сетях, так как слишком перегружали медленные глобальные связи широковещательными пакетами, которые интенсивно используются несколькими протоколами этого стека (например, для установления связи между клиентами и серверами). Это обстоятельство, а также тот факт, что стек IPX/SPX является собственностью фирмы Novell и на его реализацию нужно получать у нее лицензию, долгое время ограничивали распространенность его только сетями NetWare.Однако к моменту выпуска версии NetWare 4.0, Novell внесла и продолжает вносить в свои протоколы серьезные изменения, направленные на приспособление их для работы в корпоративных сетях. Сейчас стек IPX/SPX реализован не только в NetWare, но и в нескольких других популярных сетевых ОС - SCO UNIX, Sun Solaris, Microsoft Windows NT.
| |
Стек NetBIOS/SMB
Фирмы Microsoft и IBM совместно работали над сетевыми средствами для персональных компьютеров, поэтому стек протоколов NetBIOS/SMB является их совместным детищем. Средства NetBIOS появились в 1984 году как сетевое расширение стандартных функций базовой системы ввода/вывода (BIOS) IBM PC для сетевой программы PC Network фирмы IBM, которая на прикладном уровне (рис. 1.6) использовала для реализации сетевых сервисов протокол SMB (Server Message Block).
Рис. 1.6. Стек NetBIOS / SMB
Протокол NetBIOS работает на трех уровнях модели взаимодействия открытых систем: сетевом, транспортном и сеансовом. NetBIOS может обеспечить сервис более высокого уровня, чем протоколы IPX и SPX, однако не обладает способностью к маршрутизации. Таким образом, NetBIOS не является сетевым протоколом в строгом смысле этого слова. NetBIOS содержит много полезных сетевых функций, которые можно отнести к сетевому, транспортному и сеансовому уровням, однако с его помощью невозможна маршрутизация пакетов, так как в протоколе обмена кадрами NetBIOS не вводится такое понятие как сеть. Это ограничивает применение протокола NetBIOS локальными сетями, не разделенными на подсети. NetBIOS поддерживает как дейтаграммный обмен, так и обмен с установлением соединений.
Протокол SMB, соответствующий прикладному и представительному уровням модели OSI, регламентирует взаимодействие рабочей станции с сервером. В функции SMB входят следующие операции: Управление сессиями. Создание и разрыв логического канала между рабочей станцией и сетевыми ресурсами файлового сервера. Файловый доступ. Рабочая станция может обратиться к файл-серверу с запросами на создание и удаление каталогов, создание, открытие и закрытие файлов, чтение и запись в файлы, переименование и удаление файлов, поиск файлов, получение и установку файловых атрибутов, блокирование записей. Сервис печати. Рабочая станция может ставить файлы в очередь для печати на сервере и получать информацию об очереди печати. Сервис сообщений. SMB поддерживает простую передачу сообщений со следующими функциями: послать простое сообщение; послать широковещательное сообщение; послать начало блока сообщений; послать текст блока сообщений; послать конец блока сообщений; переслать имя пользователя; отменить пересылку; получить имя машины.
Из-за большого количества приложений, которые используют функции API, предоставляемые NetBIOS, во многих сетевых ОС эти функции реализованы в виде интерфейса к своим транспортным протоколам. В NetWare имеется программа, которая эмулирует функции NetBIOS на основе протокола IPX, существуют программные эмуляторы NetBIOS для Windows NT и стека TCP/IP.
| |
Стек OSI
Следует различать стек протоколов OSI и модель OSI. В то время, как модель OSI концептуально определяет процедуру взаимодействия открытых систем, декомпозируя задачу на 7 уровней, стандартизирует назначение каждого уровня и вводит стандартные названия уровней, стек OSI - это набор вполне конкретных спецификаций протоколов, образующих согласованный стек протоколов. Этот стек протоколов поддерживает правительство США в своей программе GOSIP. Все компьютерные сети, устанавливаемые в правительственных учреждениях после 1990 года, должны либо непосредственно поддерживать стек OSI, либо обеспечивать средства для перехода на этот стек в будущем. Тем не менее, стек OSI более популярен в Европе, а не в США, так как в Европе меньше установлено старых сетей, использующих свои собственные протоколы. В Европе также ощущается большая потребность в общем стеке, так как здесь имеется большое количество разных стран.
Это международный, независимый от производителей стандарт. Он может обеспечить взаимодействие между корпорациями, партнерами и поставщиками. Это взаимодействие осложняется из-за проблем с адресацией, именованием и безопасностью данных. Все эти проблемы в стеке OSI частично решены. Протоколы OSI требуют больших затрат вычислительной мощности центрального процессора, что делает их более подходящими для мощных машин, а не для сетей персональных компьютеров. Большинство организаций пока только планируют переход к стеку OSI. Из тех, кто работает в этом направлении, можно назвать Военно-морское ведомство США и сеть NFSNET. Одним из крупнейших производителей, поддерживающих OSI, является компания AT&T. Ее сеть Stargroup полностью базируется на стеке OSI.
По вполне очевидным причинам стек OSI в отличие от других стандартных стеков полностью соответствует модели взаимодействия OSI, он включает спецификации для всех семи уровней модели взаимодействия открытых систем (рис. 1.3).
Рис. 1.3. Стек OSI
На физическом и канальном уровнях стек OSI поддерживает протоколы Ethernet, Token Ring, FDDI, а также протоколы LLC, X.25 и ISDN.
Эти протоколы будут подробно обсуждены в других разделах пособия. Сервисы сетевого, транспортного и сеансового уровней также имеются в стеке OSI, однако они мало распространены. На сетевом уровне реализованы протоколы как без установления соединений, так и с установлением соединений. Транспортный протокол стека OSI в соответствии с функциями, определенными для него в модели OSI, скрывает различия между сетевыми сервисами с установлением соединения и без установления соединения, так что пользователи получают нужное качество обслуживания независимо от нижележащего сетевого уровня. Чтобы обеспечить это, транспортный уровень требует, чтобы пользователь задал нужное качество обслуживания. Определены 5 классов транспортного сервиса, от низшего класса 0 до высшего класса 4, которые отличаются степенью устойчивости к ошибкам и требованиями к восстановлению данных после ошибок. Сервисы прикладного уровня включают передачу файлов, эмуляцию терминала, службу каталогов и почту. Из них наиболее перспективными являются служба каталогов (стандарт Х.500), электронная почта (Х.400), протокол виртуального терминала (VT), протокол передачи, доступа и управления файлами (FTAM), протокол пересылки и управления работами (JTM). В последнее время ISO сконцентрировала свои усилия именно на сервисах верхнего уровня. X.400 - это семейство рекомендаций Международного консультативного комитета по телеграфии и телефонии (CCITT), в которых описываются системы пересылки электронных сообщений. На сегодняшний день рекомендации X.400 являются наиболее популярным протоколом обмена сообщениями. Рекомендации Х.400 описывают модель системы обмена сообщениями, протоколы взаимодействия между всеми компонентами этой системы, а также множество видов сообщений и возможности, которыми обладает отправитель по каждому виду отправляемых сообщений. Рекомендации X.400 определяют следующий минимально необходимый набор услуг, предоставляемых пользователям: управление доступом, ведение уникальных системных идентификаторов сообщений, извещение о доставке или недоставке сообщения с указанием причины, индикация типа содержания сообщения, индикация преобразования содержания сообщения, временные отметки при передаче и доставке, выбор категории доставки (срочная, несрочная, нормальная), многоадресная доставка, задержанная доставка (до определенного момента времени), преобразование содержимого для взаимодействия с несовместимыми почтовыми системами, например, со службами телексной и факсимильной связей, запрос о том, доставлено ли конкретное сообщение, списки рассылки, которые могут иметь вложенную структуру, средства защиты сообщений от несанкционированного доступа, базирующиеся на асимметричной криптосистеме публичных ключей. Целью рекомендаций X.500 является выработка стандартов глобальной справочной службы.
Процесс доставки сообщения требует знания адреса получателя, что при больших размерах сетей представляет собой проблему, поэтому необходимо иметь справочную службу, помогающую получать адреса отправителей и получателей. В общем виде служба X.500 представляет собой распределенную базу данных имен и адресов. Все пользователи потенциально имеют право войти в эту базу данных, используя определенный набор атрибутов. Над базой данных имен и адресов определены следующие операции:
чтение - получение адреса по известному имени, запрос - получение имени по известным атрибутам адреса, модификация, включающая удаление и добавление записей в базе данных.
Основные проблемы реализации рекомендаций X.500 проистекают из масштабности этого проекта, претендующего на роль всемирной справочной службы. Поэтому программное обеспечение, реализующее рекомендации X.500, получается весьма громоздким и предъявляет высокие требования к производительности аппаратуры. Учет рекомендаций Х.400 и X.500 при проектировании систем электронной почты делает принципиально возможной и концептуально простой стыковку почтовых систем разных производителей. Протокол VT решает проблему несовместимости различных протоколов эмуляции терминалов. Сейчас пользователю персонального компьютера, совместимого с IBM PC, для одновременной работы с компьютерами VAX, IBM 3090 и HP9000 нужно приобрести три различные программы для эмуляции терминалов различных типов и использующих разные протоколы. Если бы каждый хост-компьютер имел бы в своем составе программное обеспечение протокола эмуляции терминала ISO, то и пользователю бы понадобилась только одна программа, поддерживающая протокол VT. В своем стандарте ISO аккумулировала широко распространенные функции эмуляции терминалов. Передача файлов - это наиболее распространенный компьютерный сервис. Доступ к файлам, как к локальным, так и к удаленным, нужен всем приложениям - текстовым редакторам, электронной почте, базам данных или программам удаленного запуска. ISO предусматривает такой сервис в протоколе FTAM.Наряду со стандартом X.400, это наиболее популярный стандарт стека OSI. FTAM предусматривает средства для локализации и доступа к содержимому файла и включает набор директив для вставки, замены, расширения и очистки содержимого файла. FTAM также предусматривает средства для манипулирования файлом как единым целым, включая создание, удаление, чтение, открытие, закрытие файла и выбор его атрибутов. Протокол пересылки и управления работами JTM позволяет пользователям пересылать работы, которые должны быть выполнены на хост-компьютере. Язык управления заданиями, который обеспечивает передачу работ, указывает хост-компьютеру, какие действия и с какими программами и файлами должны быть выполнены. Протокол JTM поддерживает традиционную пакетную обработку, обработку транзакций, ввод удаленных заданий и доступ к распределенным базам данных.
| |
Стек TCP/IP
Стек TCP/IP, называемый также стеком DoD и стеком Internet, является одним из наиболее популярных и перспективных стеков коммуникационных протоколов. Если в настоящее время он распространен в основном в сетях с ОС UNIX, то реализация его в последних версиях сетевых операционных систем для персональных компьютеров (Windows NT, NetWare ) является хорошей предпосылкой для быстрого роста числа установок стека TCP/IP.
Стек был разработан по инициативе Министерства обороны США (Department of Defence, DoD) более 20 лет назад для связи экспериментальной сети ARPAnet с другими сателлитными сетями как набор общих протоколов для разнородной вычислительной среды. Сеть ARPA поддерживала разработчиков и исследователей в военных областях. В сети ARPA связь между двумя компьютерами осуществлялась с использованием протокола Internet Protocol (IP), который и по сей день является одним из основных в стеке TCP/IP и фигурирует в названии стека.
Большой вклад в развитие стека TCP/IP внес университет Беркли, реализовав протоколы стека в своей версии ОС UNIX. Широкое распространение ОС UNIX привело и к широкому распространению протокола IP и других протоколов стека. На этом же стеке работает всемирная информационная сеть Internet, чье подразделение Internet Engineering Task Force (IETF) вносит основной вклад в совершенствование стандартов стека, публикуемых в форме спецификаций RFC.
Так как стек TCP/IP был разработан до появления модели взаимодействия открытых систем ISO/OSI, то, хотя он также имеет многоуровневую структуру, соответствие уровней стека TCP/IP уровням модели OSI достаточно условно.
Структура протоколов TCP/IP приведена на рисунке 1.4. Протоколы TCP/IP делятся на 4 уровня.
Рис. 1.4. Стек TCP / IP
Самый нижний (уровень IV) - уровень межсетевых интерфейсов - соответствует физическому и канальному уровням модели OSI. Этот уровень в протоколах TCP/IP не регламентируется, но поддерживает все популярные стандарты физического и канального уровня: для локальных каналов это Ethernet, Token Ring, FDDI, для глобальных каналов - собственные протоколы работы на аналоговых коммутируемых и выделенных линиях SLIP/PPP, которые устанавливают соединения типа "точка - точка" через последовательные каналы глобальных сетей, и протоколы территориальных сетей X.25 и ISDN.
Разработана также специальная спецификация, определяющая использование технологии ATM в качестве транспорта канального уровня. Следующий уровень (уровень III) - это уровень межсетевого взаимодействия, который занимается передачей дейтаграмм с использованием различных локальных сетей, территориальных сетей X.25, линий специальной связи и т. п. В качестве основного протокола сетевого уровня (в терминах модели OSI) в стеке используется протокол IP, который изначально проектировался как протокол передачи пакетов в составных сетях, состоящих из большого количества локальных сетей, объединенных как локальными, так и глобальными связями. Поэтому протокол IP хорошо работает в сетях со сложной топологией, рационально используя наличие в них подсистем и экономно расходуя пропускную способность низкоскоростных линий связи. Протокол IP является дейтаграммным протоколом. К уровню межсетевого взаимодействия относятся и все протоколы, связанные с составлением и модификацией таблиц маршрутизации, такие как протоколы сбора маршрутной информации RIP (Routing Internet Protocol) и OSPF (Open Shortest Path First), а также протокол межсетевых управляющих сообщений ICMP (Internet Control Message Protocol). Последний протокол предназначен для обмена информацией об ошибках между маршрутизатором и шлюзом, системой-источником и системой-приемником, то есть для организации обратной связи. С помощью специальных пакетов ICMP сообщается о невозможности доставки пакета, о превышении времени жизни или продолжительности сборки пакета из фрагментов, об аномальных величинах параметров, об изменении маршрута пересылки и типа обслуживания, о состоянии системы и т.п. Следующий уровень (уровень II) называется основным. На этом уровне функционируют протокол управления передачей TCP (Transmission Control Protocol) и протокол дейтаграмм пользователя UDP (User Datagram Protocol). Протокол TCP обеспечивает устойчивое виртуальное соединение между удаленными прикладными процессами. Протокол UDP обеспечивает передачу прикладных пакетов дейтаграммным методом, то есть без установления виртуального соединения, и поэтому требует меньших накладных расходов, чем TCP. Верхний уровень (уровень I) называется прикладным.
За долгие годы использования в сетях различных стран и организаций стек TCP/ IP накопил большое количество протоколов и сервисов прикладного уровня. К ним относятся такие широко используемые протоколы, как протокол копирования файлов FTP, протокол эмуляции терминала telnet, почтовый протокол SMTP, используемый в электронной почте сети Internet и ее российской ветви РЕЛКОМ, гипертекстовые сервисы доступа к удаленной информации, такие как WWW и многие другие. Остановимся несколько подробнее на некоторых из них, наиболее тесно связанных с тематикой данного курса. Протокол SNMP (Simple Network Management Protocol) используется для организации сетевого управления. Проблема управления разделяется здесь на две задачи. Первая задача связана с передачей информации. Протоколы передачи управляющей информации определяют процедуру взаимодействия сервера с программой-клиентом, работающей на хосте администратора. Они определяют форматы сообщений, которыми обмениваются клиенты и серверы, а также форматы имен и адресов. Вторая задача связана с контролируемыми данными. Стандарты регламентируют, какие данные должны сохраняться и накапливаться в шлюзах, имена этих данных и синтаксис этих имен. В стандарте SNMP определена спецификация информационной базы данных управления сетью. Эта спецификация, известная как база данных MIB (Management Information Base), определяет те элементы данных, которые хост или шлюз должен сохранять, и допустимые операции над ними. Протокол пересылки файлов FTP (File Transfer Protocol) реализует удаленный доступ к файлу. Для того, чтобы обеспечить надежную передачу, FTP использует в качестве транспорта протокол с установлением соединений - TCP. Кроме пересылки файлов протокол, FTP предлагает и другие услуги. Так пользователю предоставляется возможность интерактивной работы с удаленной машиной, например, он может распечатать содержимое ее каталогов, FTP позволяет пользователю указывать тип и формат запоминаемых данных. Наконец, FTP выполняет аутентификацию пользователей.Прежде, чем получить доступ к файлу, в соответствии с протоколом пользователи должны сообщить свое имя и пароль. В стеке TCP/IP протокол FTP предлагает наиболее широкий набор услуг для работы с файлами, однако он является и самым сложным для программирования. Приложения, которым не требуются все возможности FTP, могут использовать другой, более экономичный протокол - простейший протокол пересылки файлов TFTP (Trivial File Transfer Protocol). Этот протокол реализует только передачу файлов, причем в качестве транспорта используется более простой, чем TCP, протокол без установления соединения - UDP. Протокол telnet обеспечивает передачу потока байтов между процессами, а также между процессом и терминалом. Наиболее часто этот протокол используется для эмуляции терминала удаленной ЭВМ.
| |
Физическая структуризация локальной сети.Повторители и концентраторы
Для построения простейшей односегментной сети достаточно иметь сетевые адаптеры и кабель подходящего типа. Но даже в этом простом случае часто используются дополнительные устройства - повторители сигналов, позволяющие преодолеть ограничения на максимальную длину кабельного сегмента.
Основная функция повторителя (repeater), как это следует из его названия - повторение сигналов, поступающих на один из его портов, на всех остальных портах (Ethernet) или на следующем в логическом кольце порте (Token Ring, FDDI) синхронно с сигналами-оригиналами. Повторитель улучшает электрические характеристики сигналов и их синхронность, и за счет этого появляется возможность увеличивать общую длину кабеля между самыми удаленными в сети станциями.
Многопортовый повторитель часто называют концентратором (hub, concentrator), что отражает тот факт, что данное устройство реализует не только функцию повторения сигналов, но и концентрирует в одном центральном устройстве функции объединения компьютеров в сеть. Практически во всех современных сетевых стандартах концентратор является необходимым элементом сети, соединяющим отдельные компьютеры в сеть.
Отрезки кабеля, соединяющие два компьютера или какие либо два других сетевых устройства называются физическими сегментам. Таким образом, концентраторы и повторители, которые используются для добавления новых физических сегментов, являются средством физической структуризации сети.
Концентраторы образуют из отдельных физических отрезков кабеля общую среду передачи данных - логический сегмент (рис. 1.8). Логический сегмент также называют доменом коллизий, поскольку при попытке одновременной передачи данных любых двух компьютеров этого сегмента, хотя бы и принадлежащих разным физическим сегментам, возникает блокировка передающей среды. Следует особо подчеркнуть, что какую бы сложную структуру не образовывали концентраторы, например, путем иерархического соединения (рис. 1.9), все компьютеры, подключенные к ним, образуют единый логический сегмент, в котором любая пара взаимодействующих компьютеров полностью блокирует возможность обмена данными для других компьютеров.
Рис. 1.8.
Повторитель Ethernet синхронно повторяет биты кадра на всех своих портах
Функциональное соответствие видов коммуникационного оборудования уровням модели OSI
Лучшим способом для понимания отличий между сетевыми адаптерами, повторителями, мостами/коммутаторами и маршрутизаторами является рассмотрение их работы в терминах модели OSI. Соотношение между функциями этих устройств и уровнями модели OSI показано на рисунке 1.12.
Повторитель, который регенерирует сигналы, за счет чего позволяет увеличивать длину сети, работает на физическом уровне.
Сетевой адаптер работает на физическом и канальном уровнях. К физическому уровню относится та часть функций сетевого адаптера, которая связана с приемом и передачей сигналов по линии связи, а получение доступа к разделяемой среде передачи, распознавание МАС-адреса компьютера - это уже функция канального уровня.
Мосты выполняют большую часть своей работы на канальном уровне. Для них сеть представляется набором МАС-адресов устройств. Они извлекают эти адреса из заголовков, добавленных к пакетам на канальном уровне, и используют их во время обработки пакетов для принятия решения о том, на какой порт отправить тот или иной пакет. Мосты не имеют доступа к информации об адресах сетей, относящейся к более высокому уровню. Поэтому они ограничены в принятии решений о возможных путях или маршрутах перемещения пакетов по сети.
Рис. 1.12. Соответствие функций коммуникационного оборудования модели OSI
Маршрутизаторы работают на сетевом уровне модели OSI. Для маршрутизаторов сеть - это набор сетевых адресов устройств и множество сетевых путей. Маршрутизаторы анализируют все возможные пути между любыми двумя узлами сети и выбирают самый короткий из них. При выборе могут приниматься во внимание и другие факторы, например, состояние промежуточных узлов и линий связи, пропускная способность линий или стоимость передачи данных.
Для того, чтобы маршрутизатор мог выполнять возложенные на него функции ему должна быть доступна более развернутая информация о сети, нежели та, которая доступна мосту. В заголовке пакета сетевого уровня кроме сетевого адреса имеются данные, например, о критерии, который должен быть использован при выборе маршрута, о времени жизни пакета в сети, о том, какому протоколу верхнего уровня принадлежит пакет.
Благодаря использованию дополнительной информации, маршрутизатор может осуществлять больше операций с пакетами, чем мост/коммутатор. Поэтому программное обеспечение, необходимое для работы маршрутизатора, является более сложным.
На рисунке 1.12 показан еще один тип коммуникационных устройств - шлюз, который может работать на любом уровне модели OSI. Шлюз (gateway) - это устройство, выполняющее трансляцию протоколов. Шлюз размещается между взаимодействующими сетями и служит посредником, переводящим сообщения, поступающие из одной сети, в формат другой сети. Шлюз может быть реализован как чисто программными средствами, установленными на обычном компьютере, так и на базе специализированного компьютера. Трансляция одного стека протоколов в другой представляет собой сложную интеллектуальную задачу, требующую максимально полной информации о сети, поэтому шлюз использует заголовки всех транслируемых протоколов.
| |
Логическая структуризация сети. Мосты и коммутаторы
Несмотря на появление новых дополнительных возможностей основной функцией концентраторов остается передача пакетов по общей разделяемой среде. Коллективное использование многими компьютерами общей кабельной системы в режиме разделения времени приводит к существенному снижению производительности сети при интенсивном трафике. Общая среда перестает справляться с потоком передаваемых кадров и в сети возникает очередь компьютеров, ожидающих доступа. Это явление характерно для всех технологий, использующих разделяемые среды передачи данных, независимо от используемых алгоритмов доступа (хотя наиболее страдают от перегрузок трафика сети Ethernet с методом случайного доступа к среде).
Поэтому сети, построенные на основе концентраторов, не могут расширяться в требуемых пределах - при определенном количестве компьютеров в сети или при появлении новых приложений всегда происходит насыщение передающей среды, и задержки в ее работе становятся недопустимыми. Эта проблема может быть решена путем логической структуризации сети с помощью мостов, коммутаторов и маршрутизаторов.
Мост (bridge), а также его быстродействующий функциональный аналог - коммутатор (switching hub), делит общую среду передачи данных на логические сегменты. Логический сегмент образуется путем объединения нескольких физических сегментов (отрезков кабеля) с помощью одного или нескольких концентраторов. Каждый логический сегмент подключается к отдельному порту моста/коммутатора (рис. 1.10). При поступлении кадра на какой-либо из портов мост/коммутатор повторяет этот кадр, но не на всех портах, как это делает концентратор, а только на том порту, к которому подключен сегмент, содержащий компьютер-адресат.
Разница между мостом и коммутатором состоит в том, что мост в каждый момент времени может осуществлять передачу кадров только между одной парой портов, а коммутатор одновременно поддерживает потоки данных между всеми своими портами. Другими словами, мост передает кадры последовательно, а коммутатор параллельно. (Для упрощения изложения далее в этом разделе будет использоваться термин "коммутатор" для обозначения этих обоих разновидностей устройств, поскольку все сказанное ниже в равной степени относится и к мостам, и к коммутаторам.) Следует отметить, что в последнее время локальные мосты полностью вытеснены коммутаторами.
Мосты используются только для связи локальных сетей с глобальными, то есть как средства удаленного доступа, поскольку в этом случае необходимость в параллельной передаче между несколькими парами портов просто не возникает.
Используя информацию об адресе источника, коммутатор устанавливает соответствие между номерами портов и адресами компьютеров. В процессе изучения сети мост/коммутатор просто передает появляющиеся на входах его портов кадры на все остальные порты, работая некоторое время повторителем. После того, как мост/коммутатор узнает о принадлежности адресов сегментам, он начинает передавать кадры между портами только в случае межсегментной передачи. Если, уже после завершения обучения, на входе коммутатора вдруг появится кадр с неизвестным адресом назначения, то этот кадр будет повторен на всех портах. Мосты/коммутаторы, работающие описанным способом, обычно называются прозрачными (transparent), поскольку появление таких мостов/коммутаторов в сети совершенно не заметно для ее конечных узлов. Это позволяет не изменять их программное обеспечение при переходе от простых конфигураций, использующих только концентраторы, к более сложным, сегментированным. Существует и другой класс мостов/коммутаторов, передающих кадры между сегментами на основе полной информации о межсегментном маршруте. Эту информацию записывает в кадр станция-источник кадра, поэтому говорят, что такие устройства реализуют алгоритм маршрутизации от источника (source routing). При использовании мостов/коммутаторов с маршрутизацией от источника конечные узлы должны быть в курсе деления сети на сегменты и сетевые адаптеры, в этом случае должны в своем программном обеспечении иметь компонент, занимающийся выбором маршрута кадров. За простоту принципа работы прозрачного моста/коммутатора приходится расплачиваться ограничениями на топологию сети, построенной с использованием устройств данного типа - такие сети не могут иметь замкнутых маршрутов - петель. Мост/коммутатор не может правильно работать в сети с петлями, при этом сеть засоряется зацикливающимися пакетами и ее производительность снижается. Для автоматического распознавания петель в конфигурации сети разработан алгоритм покрывающего дерева (Spanning Tree Algorithm, STA).Этот алгоритм позволяет мостам/коммутаторам адаптивно строить дерево связей, когда они изучают топологию связей сегментов с помощью специальных тестовых кадров. При обнаружении замкнутых контуров некоторые связи объявляются резервными. Мост/коммутатор может использовать резервную связь только при отказе какой-либо основной. В результате сети, построенные на основе мостов/коммутаторов, поддерживающих алгоритм покрывающего дерева, обладают некоторым запасом надежности, но повысить производительность за счет использования нескольких параллельных связей в таких сетях нельзя. | |
Маршрутизаторы
Маршрутизатор (router) позволяет организовывать в сети избыточные связи, образующие петли. Он справляется с этой задачей за счет того, что принимает решение о передаче пакетов на основании более полной информации о графе связей в сети, чем мост или коммутатор. Маршрутизатор имеет в своем распоряжении базу топологической информации, которая говорит ему, например, о том, между какими подсетями общей сети имеются связи и в каком состоянии (работоспособном или нет) они находятся. Имея такую карту сети, маршрутизатор может выбрать один из нескольких возможных маршрутов доставки пакета адресату. В данном случае под маршрутом понимают последовательность прохождения пакетом маршрутизаторов. Например, на рисунке 1.11 для связи станций L2 сети LAN1 и L1 сети LAN6 имеется два маршрута: М1-М5-М7 и М1-М6-М7.
В отличии от моста/коммутатора, который не знает, как связаны сегменты друг с другом за пределами его портов, маршрутизатор видит всю картину связей подсетей друг с другом, поэтому он может выбрать правильный маршрут и при наличии нескольких альтернативных маршрутов. Решение о выборе того или иного маршрута принимается каждым маршрутизатором, через который проходит сообщение.
Для того, чтобы составить карту связей в сети, маршрутизаторы обмениваются специальными служебными сообщениями, в которых содержится информация о тех связях между подсетями, о которых они знают (эти подсети подключены к ним непосредственно или же они узнали эту информацию от других маршрутизаторов).
M1, M2, ... , M7 - маршрутизаторы LAN1, LAN2, LAN3, WAN4, WAN5, LAN6 - уникальные номера сетей в едином формате L1, L2, ... - локальные номера узлов (дублируются, разный формат) |
Рис. 1.11. Структура интерсети, построенной на основе маршрутизаторов
Построение графа связей между подсетями и выбор оптимального по какому-либо критерию маршрута на этом графе представляют собой сложную задачу. При этом могут использоваться разные критерии выбора маршрута - наименьшее количество промежуточных узлов, время, стоимость или надежность передачи данных.
Маршрутизаторы позволяют объединять сети с различными принципами организации в единую сеть, которая в этом случае часто называется интерсеть (internet).
Название интерсеть подчеркивает ту особенность, что образованное с помощью маршрутизаторов объединение компьютеров представляет собой совокупность нескольких сетей, сохраняющих большую степень автономности, чем несколько логических сегментов одной сети. В каждой из сетей, образующих интерсеть, сохраняются присущие им принципы адресации узлов и протоколы обмена информацией. Поэтому маршрутизаторы могут объединять не только локальные сети с различной технологией, но и локальные сети с глобальными. Маршрутизаторы не только объединяют сети, но и надежно защищают их друг от друга. Причем эта изоляция осуществляется гораздо проще и надежнее, чем с помощью мостов/коммутаторов. Например, при поступлении кадра с неправильным адресом мост/коммутатор обязан повторить его на всех своих портах, что делает сеть незащищенной от некорректно работающего узла. Маршрутизатор же в таком случае просто отказывается передавать "неправильный" пакет дальше, изолируя дефектный узел от остальной сети. Кроме того, маршрутизатор предоставляет администратору удобные средства фильтрации потока сообщений за счет того, что сам распознает многие поля служебной информации в пакете и позволяет их именовать понятным администратору образом. Нужно заметить, что некоторые мосты/коммутаторы также способны выполнять функции гибкой фильтрации, но задавать условия фильтрации администратор сети должен сам в двоичном формате, что достаточно сложно. Кроме фильтрации, маршрутизатор может обеспечивать приоритетный порядок обслуживания буферизованных пакетов, когда на основании некоторых признаков пакетам предоставляются преимущества при выборе из очереди. В результате, маршрутизатор оказывается сложным интеллектуальным устройством, построенным на базе одного, а иногда и нескольких мощных процессоров. Такой специализированный мультипроцессор работает, как правило, под управлением специализированной операционной системы.
| |
Модульные многофункциональные концентраторы
При построении сложной сети могут быть полезны все типы коммуникационных устройств: и концентраторы, и мосты, и коммутаторы, и маршрутизаторы (сетевые адаптеры исключены из этого списка потому, что они необходимы всегда). Чаще всего отдельное коммуникационное устройство выполняет только одну основную функцию, представляя собой либо повторитель, либо мост, либо коммутатор, либо маршрутизатор. Но это не всегда удобно, так как в некоторых случаях более рационально иметь в одном корпусе многофункциональное устройство, которое может сочетать эти базовые функции и тем самым позволяет разработчику сети использовать его более гибко.
В идеале можно представить себе универсальное коммуникационное устройство, имеющее достаточное количество портов для подключения сетевых адаптеров, которые объединяются в группы с программируемыми функциями взаимоотношений между собой (по алгоритму повторителя, коммутатора или маршрутизатора). Однако известно, что всякая универсализация всегда вредит качеству выполнения узких специальных функций и, возможно поэтому, на современном уровне развития техники такое полностью универсальное устройство пока не появилось, хотя отдельное совмещение функций в одном устройстве иногда выполняется.
Так маршрутизаторы часто могут работать и в качестве мостов, в зависимости от того, как сконфигурировано администратором их программное обеспечение. А вот функции повторителя требуют высокого быстродействия, которое может быть достигнуто только на сугубо аппаратном уровне. Поэтому функции повторителя не объединяются с функциями моста или маршрутизатора.
Для совмещения функций может быть использован другой подход. В специальных устройствах - модульных концентраторах - отдельные компоненты, выполняющие одну из трех описанных основных функций, реализованы в виде модулей, устанавливаемых в общем корпусе. При этом межмодульные связи организуются не внешним образом, как это делается, когда модули представляют собой отдельные устройства, а по внутренним шинам единого устройства.
Модульные многофункциональные устройства часто называют концентраторами, подчеркивая их централизующую роль в сети. При этом термин "концентратор" используется не как синоним термина повторитель, а в более широком смысле. Нужно хорошо понимать в каждом конкретном случае функциональное назначение отдельных модулей такого концентратора. В зависимости от комплектации модульный многофункциональный концентратор может сочетать функции и повторителя (причем различных технологий), и моста, и коммутатора, и маршрутизатора, а может выполнять и только одну из них.
| |
Роль кабельной системы
Для построения локальных связей в вычислительных сетях в настоящее время используются различные виды кабелей - коаксиальный кабель, кабель на основе экранированной и неэкранированной витой пары и оптоволоконный кабель. Наиболее популярным видом среды передачи данных на небольшие расстояния (до 100 м) становится неэкранированная витая пара, которая включена практически во все современные стандарты и технологии локальных сетей и обеспечивает пропускную способность до 100 Мб/с (на кабелях категории 5). Оптоволоконный кабель широко применяется как для построения локальных связей, так и для образования магистралей глобальных сетей. Оптоволоконный кабель может обеспечить очень высокую пропускную способность канала (до нескольких Гб/с) и передачу на значительные расстояния (до нескольких десятков километров без промежуточного усиления сигнала).
В качестве среды передачи данных в вычислительных сетях используются также электромагнитные волны различных частот - КВ, УКВ, СВЧ. Однако, пока в локальных сетях радиосвязь используется только в тех случаях, когда оказывается невозможной прокладка кабеля, например, в зданиях, являющихся памятниками архитектуры. Это объясняется прежде всего недостаточной надежностью сетевых технологий, построенных на использовании электромагнитного излучения. Для построения глобальных каналов этот вид среды передачи данных используется шире - на нем построены спутниковые каналы связи и наземные радиорелейные каналы, работающие в зонах прямой видимости в СВЧ-диапазонах.
Согласно зарубежным исследованиям (журнал LAN Technologies), 70% времени простоев обусловлено проблемами, возникшими вследствие низкого качества применяемых кабельных систем. Поэтому так важно правильно построить фундамент сети - кабельную систему. В последнее время в качестве такой надежной основы все чаще используется структурированная кабельная система.
Структурированная кабельная система (Structured Cabling System, SCS) - это набор коммутационных элементов (кабелей, разъемов, коннекторов, кроссовых панелей и шкафов), а также методика их совместного использования, которая позволяет создавать регулярные, легко расширяемые структуры связей в вычислительных сетях.
Преимущества структурированной кабельной системы:
Универсальность. Структурированная кабельная система при продуманной организации может стать единой средой для передачи компьютерных данных в локальной вычислительной сети, организации локальной телефонной сети, передачи видеоинформации и даже передачи сигналов от датчиков пожарной безопасности или охранных систем.
Это позволяет автоматизировать многие процессы по контролю, мониторингу и управлению хозяйственными службами и системами жизнеобеспечения. Увеличение срока службы. Срок старения хорошо структурированной кабельной системы может составлять 8-10 лет. Уменьшение стоимости добавления новых пользователей и изменения их мест размещения. Стоимость кабельной системы в основном определяется не стоимостью кабеля, а стоимостью работ по его прокладке. Поэтому более выгодно провести однократную работу по прокладке кабеля, возможно с большим запасом по длине, чем несколько раз выполнять прокладку, наращивая длину кабеля. Это помогает быстро и дешево изменять структуру кабельной системы при перемещениях персонала или смене приложений. Возможность легкого расширения сети. Структурированная кабельная система является модульной, поэтому ее легко наращивать, позволяя легко и ценой малых затрат переходить на более совершенное оборудование, удовлетворяющее растущим требованиям к системам коммуникаций. Обеспечение более эффективного обслуживания. Структурированная кабельная система облегчает обслуживание и поиск неисправностей по сравнению с шинной кабельной системой. Надежность. Структурированная кабельная система имеет повышенную надежность поскольку обычно производство всех ее компонентов и техническое сопровождение осуществляется одной фирмой-производителем.
| |
Сетевые адаптеры
Сетевой адаптер (Network Interface Card, NIC) - это периферийное устройство компьютера, непосредственно взаимодействующее со средой передачи данных, которая прямо или через другое коммуникационное оборудование связывает его с другими компьютерами. Это устройство решает задачи надежного обмена двоичными данными, представленными соответствующими электромагнитными сигналами, по внешним линиям связи. Как и любой контроллер компьютера, сетевой адаптер работает под управлением драйвера операционной системы и распределение функций между сетевым адаптером и драйвером может изменяться от реализации к реализации.
В первых локальных сетях сетевой адаптер с сегментом коаксиального кабеля представлял собой весь спектр коммуникационного оборудования, с помощью которого организовывалось взаимодействие компьютеров. Сетевой адаптер компьютера-отправи-теля непосредственно по кабелю взаимодействовал с сетевым адаптером компьютера-получателя. В большинстве современных стандартов для локальных сетей предполагается, что между сетевыми адаптерами взаимодействующих компьютеров устанавливается специальное коммуникационное устройство (концентратор, мост, коммутатор или маршрутизатор), которое берет на себя некоторые функции по управлению потоком данных.
Сетевой адаптер обычно выполняет следующие функции:
Оформление передаваемой информации в виде кадра определенного формата. Кадр включает несколько служебных полей, среди которых имеется адрес компьютера назначения и контрольная сумма кадра, по которой сетевой адаптер станции назначения делает вывод о корректности доставленной по сети информации. Получение доступа к среде передачи данных. В локальных сетях в основном применяются разделяемые между группой компьютеров каналы связи (общая шина, кольцо), доступ к которым предоставляется по специальному алгоритму (наиболее часто применяются метод случайного доступа или метод с передачей маркера доступа по кольцу). В последних стандартах и технологиях локальных сетей наметился переход от использования разделяемой среды передачи данных к использованию индивидуальных каналов связей компьютера с коммуникационными устройствами сети, как это всегда делалось в телефонных сетях, где телефонный аппарат связан с коммутатором АТС индивидуальной линией связи.
Технологиями, использующими индивидуальные линии связи, являются 100VG-AnyLAN, ATM и коммутирующие модификации традиционных технологий - switching Ethernet, switching Token Ring и switching FDDI. При использовании индивидуальных линий связи в функции сетевого адаптера часто входит установление соединения с коммутатором сети. Кодирование последовательности бит кадра последовательностью электрических сигналов при передаче данных и декодирование при их приеме. Кодирование должно обеспечить передачу исходной информацию по линиям связи с определенной полосой пропускания и определенным уровнем помех таким образом, чтобы принимающая сторона смогла распознать с высокой степенью вероятности посланную информацию. Так как в локальных сетях используются широкополосные кабели, то сетевые адаптеры не используют модуляцию сигнала, необходимую для передачи дискретной информации по узкополосным линиям связи (например, телефонным каналам тональной частоты), а передают данные с помощью импульсных сигналов. Представление же двоичных 1 и 0 может быть различным. Преобразование информации из параллельной формы в последовательную и обратно. Эта операция связана с тем, что для упрощения проблемы синхронизации сигналов и удешевления линий связи в вычислительных сетях информация передается в последовательной форме, бит за битом, а не побайтно, как внутри компьютера. Синхронизация битов, байтов и кадров. Для устойчивого приема передаваемой информации необходимо поддержание постоянного синхронизма приемника и передатчика информации. Сетевой адаптер использует для решения этой задачи специальные методы кодирования, не использующие дополнительной шины с тактовыми синхросигналами. Эти методы обеспечивают периодическое изменение состояния передаваемого сигнала, которое используется тактовым генератором приемника для подстройки синхронизма. Кроме синхронизации на уровне битов, сетевой адаптер решает задачу синхронизации и на уровне байтов, и на уровне кадров.
Сетевые адаптеры различаются по типу и разрядности используемой в компьютере внутренней шины данных - ISA, EISA, PCI, MCA. Сетевые адаптеры различаются также по типу принятой в сети сетевой технологии - Ethernet, Token Ring, FDDI и т.п.
Как правило, конкретная модель сетевого адаптера работает по определенной сетевой технологии (например, Ethernet). В связи с тем, что для каждой технологии сейчас имеется возможность использования различных сред передачи данных (тот же Ethernet поддерживает коаксиальный кабель, неэкранированную витую пару и оптоволоконный кабель), сетевой адаптер может поддерживать как одну, так и одновременно несколько сред. В случае, когда сетевой адаптер поддерживает только одну среду передачи данных, а необходимо использовать другую, применяются трансиверы и конверторы. Трансивер (приемопередатчик, transmitter+receiver) - это часть сетевого адаптера, его оконечное устройство, выходящее на кабель. В первом стандарте Ethernet, работающем на толстом коаксиале, трансивер располагался непосредственно на кабеле и связывался с остальной частью адаптера, располагавшейся внутри компьютера, с помощью интерфейса AUI (attachment unit interface). В других вариантах Ethernet'а оказалось удобным выпускать сетевые адаптеры (да и другие коммуникационные устройства) с портом AUI, к которому можно присоединить трансивер для требуемой среды. Вместо подбора подходящего трансивера можно использовать конвертор, который может согласовать выход приемопередатчика, предназначенного для одной среды, с другой средой передачи данных (например, выход на витую пару преобразуется в выход на коаксиальный кабель).
| |
Типовой состав оборудования локальной сети
Фрагмент вычислительной сети (рис. 1.7) включает основные типы коммуникационного оборудования, применяемого сегодня для образования локальных сетей и соединения их через глобальные связи друг с другом. Для построения локальных связей между компьютерами используются различные виды кабельных систем, сетевые адаптеры, концентраторы-повторители, мосты, коммутаторы и маршрутизаторы. Для подключения локальных сетей к глобальным связям используются специальные выходы (WAN-порты) мостов и маршрутизаторов, а также аппаратура передачи данных по длинным линиям - модемы (при работе по аналоговым линиям) или же устройства подключения к цифровым каналам (TA - терминальные адаптеры сетей ISDN, устройства обслуживания цифровых выделенных каналов типа CSU/DSU и т.п.).
Рис. 1.7. Фрагмент сети
| |
Магистральные средства и средства удаленного доступа
Принято делить территориальные транспортные средства, используемые для построения корпоративной сети, на две большие категории: магистральные средства, средства удаленного доступа.
Магистральные средства используются для образования одноранговых связей между крупными локальными сетями, принадлежащими большим подразделениям предприятия. Магистральные территориальные сети должны обеспечивать высокую пропускную способность, так как на магистрали объединяются потоки большого количества подсетей. Кроме того, магистральные сети должны быть постоянно доступны, то есть поддерживать очень высоким коэффициент готовности, так как по ним передается трафик многих критических для успешной работы предприятия приложений (business-critical applications). Ввиду особой важности магистральных средств им может "прощаться" высокая стоимость. Так как у предприятия обычно имеется не так уж много крупных сетей, то к магистральным средствам не предъявляются требования поддержания разветвленной инфраструктуры доступа.
Обычно в качестве магистральных средств используются цифровые выделенные каналы со скоростями от 2 Мб/с до 622 Мб/c, сети с коммутацией пакетов frame relay, АТМ, Х.25 или TCP/IP.
Под средствами удаленного доступа понимаются средства, необходимые для связи небольших локальных сетей и даже удаленных отдельных компьютеров с центральной локальной сетью предприятия. В качестве отдельных удаленных узлов могут также выступать банкоматы или кассовые аппараты, требующие доступ к центральной базе данных о легальных клиентах банка, пластиковые карточки которых необходимо авторизовать на месте. Банкоматы или кассовые аппараты обычно рассчитаны на взаимодействие с центральным компьютером по сети Х.25, которая в свое время специально разрабатывалась как сеть для удаленного доступа неинтеллектуального терминального оборудования к центральному компьютеру.
К средствам удаленного доступа предъявляются требования, существенно отличающиеся от требований к магистральным средствам. Так как точек удаленного доступа у предприятия может быть очень много, то одним из основных требований является наличие разветвленной инфраструктуры доступа, которая может использоваться сотрудниками предприятия как при работе дома, так и в командировках.
Кроме того, стоимость удаленного доступа должна быть умеренной, чтобы экономически оправдать затраты на подключение десятков или сотен удаленных абонентов. При этом требования к пропускной способности у отдельного компьютера или локальной сети, состоящей из двух-трех клиентов, обычно укладываются в диапазон нескольких десятков Кб/c. В качестве транспортных средств удаленного доступа используются телефонные аналоговые сети, сети ISDN и реже - сети frame relay. Качественный скачок в расширении возможностей удаленного доступа произошел в связи со стремительным ростом популярности и распространенности сети Internet. Транспортные услуги Internet дешевле, чем услуги междугородных и международных телефонных сетей, а их качество быстро улучшается. Если предприятие не строит свою территориальную сеть, а пользуется услугами общественной сети, то внутренняя структура этой сети его не интересует. Для абонента общественной сети главное - это предоставляемый сетью сервис и четкое определение интерфейса взаимодействия с сетью для того, чтобы его оконечное оборудование данных и аппаратура передачи данных корректно сопрягались с соответствующим оборудованием и программным обеспечением общественной сети.
| |
Оборудование для доступа к территориальным сетям
Корпоративная сеть объединяет локальные сети и компьютеры всех структурных подразделений предприятия, в том числе удаленных от центрального отделения на значительные расстояния, которые не под силу покрыть большинству используемых сегодня технологий локальных сетей. Поэтому при организации почти каждой корпоративной сети приходится решать задачу связи удаленных подразделений на основе использования территориальных сетей, называемых также глобальными.
| |
Серверы удаленного доступа, удаленного управления и терминальные серверы
Существует особый класс устройств, предназначенных для связи удаленных узлов в том случае, когда к сети нужно подключить не другую сеть, а автономный компьютер. В таких случаях в центральной сети устанавливается сервер удаленного доступа, который обслуживает доступ к сети большого числа разрозненных компьютеров.
Обычно, сервер удаленного доступа служит для подключения удаленных клиентов по телефонным сетям - аналоговом или ISDN, так как это наиболее распространенные и повсеместно доступные сети.
Серверы удаленного доступа обычно имеют большое количество портов для поддержки модемного пула, соединяющего сервер с телефонной городской сетью.
Серверы удаленного доступа подразделяются на серверы удаленных узлов, серверы удаленного управления и терминальные серверы. Серверы удаленных узлов обеспечивают для своих клиентов только транспортный сервис, соединяя их с центральной сетью по протоколам IP, IPX или NetBIOS. В сущности, они выполняют в этом случае роль маршрутизаторов или шлюзов, ориентированных на низкоскоростные модемные соединения. Серверы удаленного управления, кроме обеспечения транспортного соединения, выполняют и некоторые дополнительные функции - они запускают от имени своих удаленных клиентов приложения на компьютерах центральной сети и эмулируют на экране удаленного компьютера графическую среду этого приложения. Обычно, серверы удаленного управления ориентируются на среду операционных систем персональных компьютеров - Windows. Терминальные серверы выполняют похожие функции, но для многотерминальных операционных систем - Unix, VAX VMS, IBM VM.
|
Типы территориальных сетей
На рисунке 1.13 приведен типичный пример внутренней структуры глобальной сети передачи данных. Сеть строится на основе некоммутируемых каналов связи, которые соединяются между собой коммутаторами S глобальной сети. Приведенная структура характерна как для магистральных сетей типа АТМ или frame relay, так и для сетей, используемых для удаленного доступа - аналоговых телефонных сетей, сетей ISDN или первичных цифровых сетей PDH/SDH. Все эти сети можно разделить на три класса по способу коммутации, применяемому в коммутаторах S: Первичные сети с постоянной коммутацией каналов. В сетях этого типа абоненты сети не могут инициировать коммутацию соединений между собой - каналы между абонентами коммутируются на постоянной основе оператором сети. Говорят, что такие сети предоставляют сервис выделенных (dedicated или leased) каналов, так как для пользователя коммутаторы сети "не видны" и сеть представляется каналом "точка - точка". Эти сети делятся на два подкласса - аналоговые и цифровые, в зависимости от типа техники мультиплексирования и коммутации каналов. Аналоговые сети используют мультиплексирование с частотным разделением каналов - технику FDM (Frequency Division Multiplexing), а цифровые - мультиплексирование с временным разделением каналов - технику TDM (Time Division Multiplexing). В свою очередь цифровые первичные сети подразделяются на сети, использующие аппаратуру и протоколы технологии PDH со скоростями каналов от 64 Кб/с до 45 Мб/с, и сети, построенные на основе аппаратуры и протоколов технологии SONET/SDH со скоростями каналов от 51 Мб/c до 2.4 Гб/с. Частным случаем первичной сети является канал "точка - точка", образованный кабелем без промежуточной аппаратуры мультиплексирования и коммутации. Такой канал иногда называют ненагруженным, подчеркивая факт отсутствия коммутаторов. Сети с коммутацией каналов. К сетям этого типа относятся телефонные сети, позволяющие абонентам сети динамически инициировать установление соединений друг с другом. Телефонные сети делятся на аналоговые, использующие технику мультиплексирования FDM, и цифровые, основанные на технике мультиплексирования TDM. Наиболее распространенным типом цифровых телефонных сетей являются сети ISDN. Сети с коммутацией пакетов. Это сети, в которых коммутаторы оперируют с пакетами пользовательских данных. К сетям этого типа относятся все сети, разработанные специально для передачи компьютерного трафика - Х.25, frame relay, TCP/IP, ATM (последний тип предназначен в равной степени как для передачи компьютерных данных, так и для передачи голоса и любых других видов мультимедийного трафика).
| |
Типы устройств доступа к территориальным сетям
Независимо от типа коммутации, используемого в территориальной сети, а также от того, относится ли территориальная сеть к магистральным средствам или к средствам удаленного доступа, все абоненты сети присоединяются к ней с помощью оборудования доступа (Access Devices), которое позволяет согласовать протоколы и интерфейсы локальных сетей с протоколами и интерфейсами территориальной сети. Обычно в глобальной сети строго описан и стандартизован интерфейс взаимодействия пользователей с сетью - User Network Interface, UNI (рис. 1.13). Это необходимо для того, чтобы пользователи могли без проблем подключаться к сети с помощью коммуникационного оборудования любого производителя, который соблюдает стандарт UNI.
Рис. 1.13. Доступ к глобальной сети
Устройство доступа - это устройство, которое поддерживает на входе интерфейс локальной сети, а на выходе - требуемый интерфейс UNI.
Интерфейс между локальной и глобальной сетями может быть реализован устройствами разных типов. В первую очередь эти устройства делятся на устройства: аппаратуру передачи данных (Data Circuit-terminating Equipment, DCE), оконечное оборудование данных (Data Terminal Equipment, DTE).
Устройства DCE представляют собой аппаратуру передачи данных по территориальным каналам, работающую на физическом уровне. Устройства этого типа имеют выходные интерфейсы физического уровня, согласованные с территориальным каналом передачи данных. Различают аппаратуру передачи данных по аналоговым и цифровым каналам. Для передачи данных по аналоговым каналам применяются модемы различных стандартов, а по цифровым - устройства DSU/CSU.
DTE - это очень широкий класс устройств, которые непосредственно готовят данные для передачи по глобальной сети. DTE представляют собой устройства, работающие на границе между локальными и глобальными сетями и выполняющие протоколы уровней более высоких, чем физический. DTE могут поддерживать только канальные протоколы - такими устройствами являются удаленные мосты, либо протоколы канального и сетевого уровней - тогда они являются маршрутизаторами, а могут поддерживать протоколы всех уровней, включая прикладной - в таком случае их называют шлюзами.
Связь компьютера или маршрутизатора с цифровой выделенной линией осуществляется с помощью пары устройств, обычно выполненных в одном корпусе или же совмещенных с маршрутизатором.
Этими устройствами являются: устройство обслуживания данных и устройство обслуживания канала. В англоязычной литературе эти устройства называются соответственно Data Service Unit (DSU) и Channel Service Unit (CSU). Устройство обслуживания данных DSU преобразует сигналы, поступающие от оконечного оборудования данных DTE (обычно по интерфейсу RS-232 или HSSI), в биполярные импульсы интерфейса G.703. Устройство обслуживания канала CSU также выполняет все временные отсчеты, регенерацию сигнала и выравнивание загрузки канала. CSU выполняет более узкие функции, в основном оно занимается созданием оптимальных условий передачи в линии (выравнивание). Эти устройства, как и модуляторы-демодуляторы, часто обозначаются одним словом DSU/CSU (рис. 1.14).
Каждый пользовательский интерфейс с глобальной сетью имеет свой собственный адрес в формате, принятом для технологии этой сети. В соответствии с этим адресом коммутаторы глобальной сети передают свои кадры друг другу, пока кадр не дойдет до абонента-получателя. При получении кадра маршрутизатор абонента извлекает из него сетевой пакет и передает его по локальной сети уже в соответствии с ее канальным протоколом. Когда абонентом глобальной сети является отдельный компьютер, то процедуры интерфейса с сетью реализуются его программным обеспечением, а также устройством DCE, подключенным непосредственно к глобальному каналу, в качестве которого обычно выступает модем. Иногда компьютер оснащается специальным адаптером (например, адаптером сети Х.25), который разгружает центральный процессор, выполняя большую часть интерфейсных процедур аппаратно. Иногда маршрутизаторы оснащаются встроенными устройствами DCE - чаще всего такими устройствами являются устройства DCU/CSU для цифровых каналов, так как они компактнее, чем аналоговые модемы. Маршрутизаторы с выходами на глобальные сети характеризуются типом физического интерфейса (RS-232, RS-422, RS-530, HSSI, SDH), к которому присоединяется устройство DCE, а также поддерживаемыми протоколами территориальных сетей - протоколами коммутации каналов для телефонных сетей или протоколами коммутации пакетов для компьютерных глобальных сетей. Устройства доступа к сетям frame relay - FRAD (Frame Relay Access Devices). Эти устройства представляют собой специализированные маршрутизаторы. Их специализация заключается в том, что среди глобальных интерфейсов они поддерживают только интерфейсы к сетям frame relay, а также в усеченности функций маршрутизации - чаще всего такие устройства поддерживают только протоколы IP и IPX. Появление таких специализированных устройств связано с большой популярностью сетей frame relay. Устройства доступа к сетям Х.25 - PAD (Packet Assembler - Disassembler). Сети Х.25 изначально разрабатывались для связи неинтеллектуальных алфавитно-цифровых терминалов с удаленными компьютерами, поэтому в архитектуру этих сетей были включены специальные устройства - PAD'ы, собирающие данные от нескольких медленных асинхронных терминалов в общие пакеты и отсылающие пакеты в сеть. Удаленные мосты. Эти устройства обычно имеют два интерфейса - один для подключения к локальной сети, а второй - для подключения к глобальной сети.
Так как мост работает на канальном уровне и не поддерживает протоколы маршрутизации, то удаленные мосты чаще всего не работают через глобальные сети с коммутацией пакетов, такие как Х.25, frame relay и т.п., так как установление соединения через эти сети требует от моста интеллектуальных способностей устройства третьего уровня. Удаленный мост работает через выделенные каналы или через сеть с коммутацией каналов. Мультиплексоры "голос-данные" предназначены для совмещения в рамках одной территориальной сети компьютерного и голосового трафиков. Поэтому эти мультиплексоры кроме входных интерфейсов локальных сетей имеют и интерфейсы для подключения телефонов и офисных АТС. Мультиплексоры "голос - данные" делятся на две категории в зависимости от типа глобальной сети, на которую они могут работать. Мультиплексоры "голос-данные", работающие на сети с коммутацией пакетов, упаковывают голосовую информацию в кадры канального протокола такой сети и передают их ближайшему коммутатору точно так же, как и маршрутизаторы. Такой мультиплексор выполняется на базе маршрутизатора, который для голосовых пакетов использует заранее сконфигурированные маршруты. Если глобальная сеть поддерживает приоритеты трафика, то кадрам голосового трафика мультиплексор присваивает наивысший приоритет, чтобы коммутаторы обрабатывали и продвигали их в первую очередь. Другим типом устройств являются мультиплексоры "голос - данные", работающие на сети с коммутацией каналов или первичные сети выделенных каналов. Эти мультиплексоры нарезают компьютерные пакеты на более мелкие части - например, байты, которые передают в соответствии с техникой мультиплексирования используемой территориальной сети - FDM или TDM. При использовании "неделимого" с точки зрения территориальной сети канала - например, канала 64 Кб/с цифровой сети или канала тональной частоты аналоговой сети, мультиплексор организует разделение этого канала между голосом и данными нестандартным фирменным способом. Использование мультиплексоров "голос- данные" предполагает на другом конце территориальной сети аналогичного мультиплексора, который выполняет разделение голосового и компьютерного трафика на отдельные потоки. | |
Интерфейсы, протоколы, стеки протоколов
Главная цель, которая преследуется при соединении компьютеров в сеть - это возможность использования ресурсов каждого компьютера всеми пользователями сети. Для того, чтобы реализовать эту возможность, компьютеры, подсоединенные к сети, должны иметь необходимые для этого средства взаимодействия с другими компьютерами сети. Задача разделения сетевых ресурсов является сложной, она включает в себя решение множества проблем - выбор способа адресации компьютеров и согласование электрических сигналов при установление электрической связи, обеспечение надежной передачи данных и обработка сообщений об ошибках, формирование отправляемых и интерпретация полученных сообщений, а также много других не менее важных задач.
Обычным подходом при решении сложной проблемы является ее декомпозиция на несколько частных проблем - подзадач. Для решения каждой подзадачи назначается некоторый модуль. При этом четко определяются функции каждого модуля и правила их взаимодействия.
Частным случаем декомпозиции задачи является многоуровневое представление, при котором все множество модулей, решающих подзадачи, разбивается на иерархически упорядоченные группы - уровни. Для каждого уровня определяется набор функций-запросов, с которыми к модулям данного уровня могут обращаться модули выше лежащего уровня для решения своих задач. Такой формально определенный набор функций, выполняемых данным уровнем для выше лежащего уровня, а также форматы сообщений, которыми обмениваются два соседних уровня в ходе своего взаимодействия, называется интерфейсом.
Интерфейс определяет совокупный сервис, предоставляемый данным уровнем выше лежащему уровню.
При организации взаимодействия компьютеров в сети каждый уровень ведет "переговоры" с соответствующим уровнем другого компьютера. При передаче сообщений оба участника сетевого обмена должны принять множество соглашений. Например, они должны согласовать уровни и форму электрических сигналов, способ определения длины сообщений, договориться о методах контроля достоверности и т.п.
Другими словами, соглашения должны быть приняты для всех уровней, начиная от самого низкого уровня передачи битов, до самого высокого уровня, детализирующего, как информация должна быть интерпретирована. Правила взаимодействия двух машин могут быть описаны в виде набора процедур для каждого из уровней. Такие формализованные правила, определяющие последовательность и формат сообщений, которыми обмениваются сетевые компоненты, лежащие на одном уровне, но в разных узлах, называются протоколами. Из приведенных определений можно заметить, что понятия "интерфейс" и "протокол", в сущности, обозначают одно и то же, а именно - формализовано заданные процедуры взаимодействия компонент, решающих задачу связи компьютеров в сети. Однако довольно часто в использовании этих терминов имеется некоторый нюанс: понятие "протокол" чаще применяют при описании правил взаимодействия компонент одного уровня, расположенных на разных узлах сети, а "интерфейс" - при описании правил взаимодействия компонентов соседних уровней, расположенных в пределах одного узла. Согласованный набор протоколов разных уровней, достаточный для организации межсетевого взаимодействия, называется стеком протоколов. Программные средства, реализующие некоторый протокол, также называют протоколом. При этом соотношение между протоколом - формально определенной процедурой взаимодействия, и протоколом - средством, реализующим эту процедуру, аналогично соотношению между алгоритмом решения некоторой задачи и программой, решающей эту задачу. Понятно, что один и тот же алгоритм может быть запрограммирован с разной степенью эффективности. Точно также и протокол может иметь несколько программных реализаций, например, протокол IPX, реализованный компанией Microsoft для Windows NT в виде программного продукта NWLink, имеет характеристики, отличающиеся от реализации этого же протокола компанией Novell. Именно поэтому, при сравнении протоколов следует учитывать не только логику их работы, но и качество программных решений.
Более того, на эффективность взаимодействия устройств в сети влияет качество всей совокупности протоколов, составляющих стек, то есть, насколько рационально распределены функции между протоколами разных уровней и насколько хорошо определены интерфейсы между ними. Протоколы реализуются не только программно-аппаратными средствами компьютеров, но и коммуникационными устройствами. Действительно, в общем случае связь компьютеров в сети осуществляется не напрямую - "компьютер-компьютер", а через различные коммуникационные устройства такие, например, как концентраторы, коммутаторы или маршрутизаторы. В зависимости от типа устройства, в нем должны быть встроены средства, реализующие некоторый набор сетевых протоколов. При организации взаимодействия могут быть использованы два основных типа протоколов. В протоколах с установлением соединения (connection-oriented network service, CONS) перед обменом данными отправитель и получатель должны сначала установить логическое соединение, то есть договориться о параметрах процедуры обмена, которые будут действовать только в рамках данного соединения. После завершения диалога они должны разорвать это соединение. Когда устанавливается новое соединение, переговорная процедура выполняется заново. Телефон - это пример взаимодействия, основанного на установлении соединения. Вторая группа протоколов - протоколы без предварительного установления соединения (connectionless network service, CLNS). Такие протоколы называются также дейтаграммными протоколами. Отправитель просто передает сообщение, когда оно готово. Опускание письма в почтовый ящик - это пример связи без установления соединения.
|
Источники стандартов
Работы по стандартизации вычислительных сетей ведутся большим количеством организаций. Необходимо различать следующие виды стандартов: стандарты отдельных фирм (например, стек протоколов DECnet фирмы Digital Equipment или графический интерфейс OPEN LOOK для Unix-систем фирмы SUN), стандарты специальных комитетов и объединений, создаваемых несколькими фирмами (например, стандарты технологии ATM, разрабатываемые специально созданным объединением ATM Forum, насчитывающем около 100 коллективных участников, или стандарты союза Fast Ethernet Alliance по разработке стандартов 100 Мб Ethernet), стандарты национальных организаций по стандартизации, (например, стандарт FDDI, представляющий один из многочисленных стандартов, разработанных американским национальным институтом стандартов ANSI, или стандарты безопасности для операционных систем, разработанные Национальным центром защиты компьютеров (NCSC) министерства обороны США), международные стандарты (например, модель и стек коммуникационных протоколов ISO, многочисленные стандарты Международного союза электросвязи (ITU), в том числе стандарты на сети с коммутацией пакетов X.25, сети frame relay, ISDN, модемы и многие другие).
Некоторые стандарты, непрерывно развиваясь, могут переходить из одной категории в другую. В частности, фирменные стандарты на продукцию, получившую широкое распространение, обычно становятся международными стандартами де-факто, так как вынуждают производителей из разных стран следовать фирменным стандартам для того, чтобы обеспечить совместимость своих изделий с этими популярными продуктами. Например, из-за феноменального успеха персонального компьютера компании IBM, фирменный стандарт на архитектуру IBM PC стал международным стандартом де-факто.
Более того, ввиду широкого распространения некоторые фирменные стандарты становятся основой для национальных и международных стандартов де-юре. Например, стандарт Ethernet, первоначально разработанный компаниями Digital Equipment, Intel и Xerox, через некоторое время и в несколько измененном виде был принят как национальный стандарт IEEE 802.3, а затем ISO утвердила его как международный стандарт ISO 8802.3.
Далее приводятся краткие сведения об организациях, наиболее активно и успешно занимающихся разработкой стандартов в области вычислительных сетей:
Международная организация по стандартизации (International Organization for Standardization - ISO). Этой организацией была разработана модель взаимодействия открытых систем OSI, которая в настоящее время является концептуальной основой стандартизации в области вычислительных сетей.
В соответствии с моделью OSI, этой организацией был разработан стандартный стек коммуникационных протоколов OSI. Международный союз электросвязи (International Telecommunication Union, ITU) - организация, являющаяся в настоящее время специализированным органом Организации Объединенных Наций. Наиболее значительную роль в стандартизации вычислительных сетей играет постоянно действующий комитет этой организации Consultative Commitete for International Telephony and Telegraphy (CCITT) или Международный Консультативный Комитет по Телефонии и Телеграфии (МККТТ). В результате проведенной в 1993 году реорганизации ITU, CCITT несколько изменил направление своей деятельности и сменил название - теперь он называется ITU-T. Основу деятельности ITU-T составляет разработка международных стандартов в области телефонии, телематических служб (электронной почты, факсимильной связи, телетекста, телекса и т.д.), передачи данных, аудио- и видеосигналов. За годы своей деятельности ITU-T выпустил огромное число рекомендаций-стандартов. Свою работу ITU-T строит на изучении опыта сторонних организаций, а также на результатах собственных исследований. Раз в четыре года издаются труды ITU-T в виде так называемой "Книги", которая на самом деле представляет собой целый набор обычных книг, сгруппированных в выпуски, которые в свою очередь объединяются в тома. В настоящее время действует Синяя Книга. Каждый том и выпуск содержат логически взаимосвязанные рекомендации. Например, том III Синей Книги содержит рекомендации для цифровых сетей с интеграцией услуг (ISDN), а весь том VIII (за исключением выпуска VIII.1, который содержит рекомендации серии V для передачи данных по телефонной сети) посвящен рекомендациям серии Х: Х.25 для сетей с коммутацией пакетов, X.400 для систем электронной почты, X.500 для глобальной службы имен и многим другим. Институт инженеров по электротехнике и радиоэлектронике - Institute of Electrical and Electronic Engineers, IEEE) - национальная организация США, определяющая сетевые стандарты.
В 1981 году рабочая группа 802 этого института сформулировала основные требования, которым должны удовлетворять локальные вычислительные сети. Группа 802 определила много стандартов, самыми известными из них являются стандарты 802.1, 802.2, 802.3 и 802.5, которые описывают общие понятия, используемые в области локальных сетей, а также стандарты на два нижних уровня сетей Ethernet и Token Ring. Европейская ассоциация производителей компьютеров (ECMA) - некоммерческая организация, активно сотрудничающая с ITU-T и ISO. Она занимается разработкой стандартов и технических обзоров, относящихся к компьютерной и коммуникационной технологиям. Ассоциация электронной промышленности (Electronic Industries Association, EIA) является национальной коммерческой ассоциацией США, проявляющей значительную активность в разработке стандартов в области электронной деятельности. Ее наиболее известный стандарт - RS-232. Министерство обороны США (Department of Defense - DoD) имеет многочисленные подразделения, занимающиеся созданием стандартов для компьютерных систем. Одной из самых известных разработок DoD является стек транспортных протоколов TCP/IP. Стандартизацией локальных сетей крупных ЭВМ занимается комитет X3T9.5 Американского национального института стандартов (American National Standards Institute, ANSI), а также фирма IBM (архитектура сетей SNA).
| |
Модель ISO/OSI
Из того, что протокол является соглашением, принятым двумя взаимодействующими объектами, в данном случае двумя работающими в сети компьютерами, совсем не следует, что он обязательно представляет собой стандарт. Но на практике при реализации сетей стремятся использовать стандартные протоколы. Это могут быть фирменные, национальные или международные стандарты.
Международная Организация по Стандартам (International Standards Organization, ISO) разработала модель, которая четко определяет различные уровни взаимодействия систем, дает им стандартные имена и указывает, какую работу должен делать каждый уровень. Эта модель называется моделью взаимодействия открытых систем (Open System Interconnection, OSI) или моделью ISO/OSI.
В модели OSI взаимодействие делится на семь уровней или слоев (рис. 1.1). Каждый уровень имеет дело с одним определенным аспектом взаимодействия. Таким образом, проблема взаимодействия декомпозирована на 7 частных проблем, каждая из которых может быть решена независимо от других. Каждый уровень поддерживает интерфейсы с выше- и нижележащими уровнями.
Рис. 1.1. Модель взаимодействия открытых систем ISO/OSI
Модель OSI описывает только системные средства взаимодействия, не касаясь приложений конечных пользователей. Приложения реализуют свои собственные протоколы взаимодействия, обращаясь к системным средствам. Следует иметь в виду, что приложение может взять на себя функции некоторых верхних уровней модели OSI, в таком случае, при необходимости межсетевого обмена оно обращается напрямую к системным средствам, выполняющим функции оставшихся нижних уровней модели OSI.
Приложение конечного пользователя может использовать системные средства взаимодействия не только для организации диалога с другим приложением, выполняющимся на другой машине, но и просто для получения услуг того или иного сетевого сервиса, например, доступа к удаленным файлам, получение почты или печати на разделяемом принтере.
Итак, пусть приложение обращается с запросом к прикладному уровню, например к файловому сервису.
На основании этого запроса программное обеспечение прикладного уровня формирует сообщение стандартного формата, в которое помещает служебную информацию (заголовок) и, возможно, передаваемые данные. Затем это сообщение направляется представительному уровню. Представительный уровень добавляет к сообщению свой заголовок и передает результат вниз сеансовому уровню, который в свою очередь добавляет свой заголовок и т.д. Некоторые реализации протоколов предусматривают наличие в сообщении не только заголовка, но и концевика. Наконец, сообщение достигает самого низкого, физического уровня, который действительно передает его по линиям связи. Когда сообщение по сети поступает на другую машину, оно последовательно перемещается вверх с уровня на уровень. Каждый уровень анализирует, обрабатывает и удаляет заголовок своего уровня, выполняет соответствующие данному уровню функции и передает сообщение вышележащему уровню. Кроме термина "сообщение" (message) существуют и другие названия, используемые сетевыми специалистами для обозначения единицы обмена данными. В стандартах ISO для протоколов любого уровня используется такой термин как "протокольный блок данных" - Protocol Data Unit (PDU). Кроме этого, часто используются названия кадр (frame), пакет (packet), дейтаграмма (datagram).
Функции уровней модели ISO/OSI
Физический уровень. Этот уровень имеет дело с передачей битов по физическим каналам, таким, например, как коаксиальный кабель, витая пара или оптоволоконный кабель. К этому уровню имеют отношение характеристики физических сред передачи данных, такие как полоса пропускания, помехозащищенность, волновое сопротивление и другие. На этом же уровне определяются характеристики электрических сигналов, такие как требования к фронтам импульсов, уровням напряжения или тока передаваемого сигнала, тип кодирования, скорость передачи сигналов. Кроме этого, здесь стандартизуются типы разъемов и назначение каждого контакта. Функции физического уровня реализуются во всех устройствах, подключенных к сети.
Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом. Примером протокола физического уровня может служить спецификация 10Base-T технологии Ethernet, которая определяет в качестве используемого кабеля неэкранированную витую пару категории 3 с волновым сопротивлением 100 Ом, разъем RJ-45, максимальную длину физического сегмента 100 метров, манчестерский код для представления данных на кабеле, и другие характеристики среды и электрических сигналов. Канальный уровень. На физическом уровне просто пересылаются биты. При этом не учитывается, что в некоторых сетях, в которых линии связи используются (разделяются) попеременно несколькими парами взаимодействующих компьютеров, физическая среда передачи может быть занята. Поэтому одной из задач канального уровня является проверка доступности среды передачи. Другой задачей канального уровня является реализация механизмов обнаружения и коррекции ошибок. Для этого на канальном уровне биты группируются в наборы, называемые кадрами (frames). Канальный уровень обеспечивает корректность передачи каждого кадра, помещая специальную последовательность бит в начало и конец каждого кадра, чтобы отметить его, а также вычисляет контрольную сумму, суммируя все байты кадра определенным способом и добавляя контрольную сумму к кадру. Когда кадр приходит, получатель снова вычисляет контрольную сумму полученных данных и сравнивает результат с контрольной суммой из кадра. Если они совпадают, кадр считается правильным и принимается. Если же контрольные суммы не совпадают, то фиксируется ошибка. В протоколах канального уровня, используемых в локальных сетях, заложена определенная структура связей между компьютерами и способы их адресации. Хотя канальный уровень и обеспечивает доставку кадра между любыми двумя узлами локальной сети, он это делает только в сети с совершенно определенной топологией связей, именно той топологией, для которой он был разработан. К таким типовым топологиям, поддерживаемым протоколами канального уровня локальных сетей, относятся общая шина, кольцо и звезда.
Примерами протоколов канального уровня являются протоколы Ethernet, Token Ring, FDDI, 100VG-AnyLAN. В локальных сетях протоколы канального уровня используются компьютерами, мостами, коммутаторами и маршрутизаторами. В компьютерах функции канального уровня реализуются совместными усилиями сетевых адаптеров и их драйверов. В глобальных сетях, которые редко обладают регулярной топологией, канальный уровень обеспечивает обмен сообщениями между двумя соседними компьютерами, соединенными индивидуальной линией связи. Примерами протоколов "точка - точка" (как часто называют такие протоколы) могут служить широко распространенные протоколы PPP и LAP-B. Сетевой уровень. Этот уровень служит для образования единой транспортной системы, объединяющей несколько сетей с различными принципами передачи информации между конечными узлами. Рассмотрим функции сетевого уровня на примере локальных сетей. Протокол канального уровня локальных сетей обеспечивает доставку данных между любыми узлами только в сети с соответствующей типовой топологией. Это очень жесткое ограничение, которое не позволяет строить сети с развитой структурой, например, сети, объединяющие несколько сетей предприятия в единую сеть, или высоконадежные сети, в которых существуют избыточные связи между узлами. Для того, чтобы, с одной стороны, сохранить простоту процедур передачи данных для типовых топологий, а с другой стороны, допустить использование произвольных топологий, используется дополнительный сетевой уровень. На этом уровне вводится понятие "сеть". В данном случае под сетью понимается совокупность компьютеров, соединенных между собой в соответствии с одной из стандартных типовых топологий и использующих для передачи данных один из протоколов канального уровня, определенный для этой топологии. Таким образом, внутри сети доставка данных регулируется канальным уровнем, а вот доставкой данных между сетями занимается сетевой уровень. Сообщения сетевого уровня принято называть пакетами (packets).
При организации доставки пакетов на сетевом уровне используется понятие "номер сети". В этом случае адрес получателя состоит из номера сети и номера компьютера в этой сети. Сети соединяются между собой специальными устройствами, называемыми маршрутизаторами. Маршрутизатор - это устройство, которое собирает информацию о топологии межсетевых соединений и на ее основании пересылает пакеты сетевого уровня в сеть назначения. Для того, чтобы передать сообщение от отправителя, находящегося в одной сети, получателю, находящемуся в другой сети, нужно совершить некоторое количество транзитных передач (hops) между сетями, каждый раз выбирая подходящий маршрут. Таким образом, маршрут представляет собой последовательность маршрутизаторов, через которые проходит пакет. Проблема выбора наилучшего пути называется маршрутизацией и ее решение является главной задачей сетевого уровня. Эта проблема осложняется тем, что самый короткий путь не всегда самый лучший. Часто критерием при выборе маршрута является время передачи данных по этому маршруту, оно зависит от пропускной способности каналов связи и интенсивности трафика, которая может изменяться с течением времени. Некоторые алгоритмы маршрутизации пытаются приспособиться к изменению нагрузки, в то время, как другие принимают решения на основе средних показателей за длительное время. Выбор маршрута может осуществляться и по другим критериям, например, надежности передачи. На сетевом уровне определяется два вида протоколов. Первый вид относится к определению правил передачи пакетов с данными конечных узлов от узла к маршрутизатору и между маршрутизаторами. Именно эти протоколы обычно имеют в виду, когда говорят о протоколах сетевого уровня. К сетевому уровню относят и другой вид протоколов, называемых протоколами обмена маршрутной информацией. С помощью этих протоколов маршрутизаторы собирают информацию о топологии межсетевых соединений. Протоколы сетевого уровня реализуются программными модулями операционной системы, а также программными и аппаратными средствами маршрутизаторов. Примерами протоколов сетевого уровня являются протокол межсетевого взаимодействия IP стека TCP/IP и протокол межсетевого обмена пакетами IPX стека Novell. Транспортный уровень. На пути от отправителя к получателю пакеты могут быть искажены или утеряны.
Хотя некоторые приложения имеют собственные средства обработки ошибок, существуют и такие, которые предпочитают сразу иметь дело с надежным соединением. Работа транспортного уровня заключается в том, чтобы обеспечить приложениям или верхним уровням стека - прикладному и сеансовому - передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное - способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов. Выбор класса сервиса транспортного уровня определяется, с одной стороны, тем, в какой степени задача обеспечения надежности решается самими приложениями и протоколами более высоких, чем транспортный, уровней, а с другой стороны, этот выбор зависит от того, насколько надежной является вся система транспортировки данных в сети. Так, например, если качество каналов передачи связи очень высокое, и вероятность возникновения ошибок, не обнаруженных протоколами более низких уровней, невелика, то разумно воспользоваться одним из облегченных сервисов транспортного уровня, не обремененных многочисленными проверками, квитированием и другими приемами повышения надежности. Если же транспортные средства изначально очень ненадежны, то целесообразно обратиться к наиболее развитому сервису транспортного уровня, который работает, используя максимум средств для обнаружения и устранения ошибок - с помощью предварительного установления логического соединения, контроля доставки сообщений с помощью контрольных сумм и циклической нумерации пакетов, установления тайм-аутов доставки и т.п. Как правило, все протоколы, начиная с транспортного уровня и выше, реализуются программными средствами конечных узлов сети - компонентами их сетевых операционных систем.
В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell. Сеансовый уровень. Сеансовый уровень обеспечивает управление диалогом для того, чтобы фиксировать, какая из сторон является активной в настоящий момент, а также предоставляет средства синхронизации. Последние позволяют вставлять контрольные точки в длинные передачи, чтобы в случае отказа можно было вернуться назад к последней контрольной точке, вместо того, чтобы начинать все с начала. На практике немногие приложения используют сеансовый уровень, и он редко реализуется. Уровень представления. Этот уровень обеспечивает гарантию того, что информация, передаваемая прикладным уровнем, будет понятна прикладному уровню в другой системе. При необходимости уровень представления выполняет преобразование форматов данных в некоторый общий формат представления, а на приеме, соответственно, выполняет обратное преобразование. Таким образом, прикладные уровни могут преодолеть, например, синтаксические различия в представлении данных. На этом уровне может выполняться шифрование и дешифрование данных, благодаря которому секретность обмена данными обеспечивается сразу для всех прикладных сервисов. Примером протокола, работающего на уровне представления, является протокол Secure Socket Layer (SSL), который обеспечивает секретный обмен сообщениями для протоколов прикладного уровня стека TCP/IP. Прикладной уровень. Прикладной уровень - это в действительности просто набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые Web-страницы, а также организуют свою совместную работу, например, с помощью протокола электронной почты. Единица данных, которой оперирует прикладной уровень, обычно называется сообщением (message). Существует очень большое разнообразие протоколов прикладного уровня. Приведем в качестве примеров хотя бы несколько наиболее распространенных реализаций файловых сервисов: NCP в операционной системе Novell NetWare, SMB в Microsoft Windows NT, NFS, FTP и TFTP, входящие в стек TCP/IP. Модель OSI представляет хотя и очень важную, но только одну из многих моделей коммуникаций.Эти модели и связанные с ними стеки протоколов могут отличаться количеством уровней, их функциями, форматами сообщений, сервисами, предоставляемыми на верхних уровнях и прочими параметрами.
| |
Особенности протоколов, используемых в локальных и глобальных сетях
В настоящее время наблюдается тенденция к сближению протоколов локальных и глобальных сетей. Ярким примером являются протоколы технологии АТМ, работающие без изменений как в тех, так и в других сетях. Тем не менее, большинство протоколов, используемых сегодня, относятся либо к локальным, либо к глобальным сетям и не могут применяться не по прямому назначению.
Различия между протоколами локальных и глобальных сетей происходят в основном из-за различий между свойствами каналов, использующихся в этих сетях.
Каналы локальных сетей имеют небольшую длину и высокое качество, а каналы глобальных сетей - наоборот, большую длину и низкое качество.
Небольшая длина каналов локальных сетей создала возможность совместного использования их узлами сети в режиме разделения времени. Практически все протоколы локальных сетей имеют версию работы на разделяемых средах передачи данных, хотя более поздние протоколы (Fast Ethernet, Gigabit Ethernet) имеют также и версию работы на индивидуальных каналах в полнодуплексном режиме. Большая протяженность каналов глобальных сетей делает нерациональными любые процедуры разделения канала во времени, так как длительность этих процедур становится слишком большой. Поэтому каналы глобальных сетей используются всегда на индивидуальной основе как связи типа "точка - точка".
Высокое качество кабелей локальных сетей послужило причиной отказа от использования в протоколах локальных сетей процедур восстановления искаженных и потерянных кадров. Этих процедур нет ни в протоколах семейства Ethernet, ни у протокола Token Ring, ни у протокола FDDI. В то же время в протоколах глобальных сетей, ориентирующихся на каналы плохого качества, процедурам восстановления кадров всегда уделялось большое внимание. Например, в сетях Х.25 восстановлением кадров занимаются сразу два смежных протокола - LAP-B на канальном уровне и протокол Х.25/3 - на сетевом.
Начало массового использования цифровых оптоволоконных каналов в глобальных сетях, обеспечивающих высокое качество передачи данных, послужило причиной разработки протоколов глобальных сетей нового поколения, в которых отсутствуют процедуры восстановления кадров. Такой особенностью обладают, например, сети frame relay и ATM.
Таким образом, одно из отличий протоколов локальных и глобальных сетей преодолено за счет продвижения глобальных сетей навстречу локальным. Второе отличие сегодня снимается за счет быстрого внедрения в локальные сети техники микросегментации, отказывающейся от использования разделяемых сред и предоставляющей каждому узлу сети индивидуальный коммутируемый канал. В результате, протоколы локальных и глобальных сетей все больше сближаются, а существование технологии АТМ доказывает, что принципиальных причин для существования между этими классами протоколов четкой границы сегодня не существует и ее окончательное исчезновение - не за горами.
| |
Протоколы взаимодействия приложений и протоколы транспортной подсистемы
Функции всех уровней модели OSI могут быть отнесены к одной из двух групп: либо к функциям, зависящим от конкретной технической реализации сети, либо к функциям, ориентированным на работу с приложениями.
Три нижних уровня - физический, канальный и сетевой - являются сетезависимыми, то есть протоколы этих уровней тесно связаны с технической реализацией сети, с используемым коммуникационным оборудованием. Например, переход на оборудование FDDI означает полную смену протоколов физического и канального уровня во всех узлах сети.
Три верхних уровня - сеансовый, уровень представления и прикладной - ориентированы на приложения и мало зависят от технических особенностей построения сети. На протоколы этих уровней не влияют никакие изменения в топологии сети, замена оборудования или переход на другую сетевую технологию. Так, переход от Ethernet на высокоскоростную технологию АТМ не потребует никаких изменений в программных средствах, реализующих функции прикладного, представительного и сеансового уровней.
Транспортный уровень является промежуточным, он скрывает все детали функционирования нижних уровней от верхних уровней. Это позволяет разрабатывать приложения, независящие от технических средств, непосредственно занимающихся транспортировкой сообщений.
Рис. 1.2. Сетезависимые и сетенезависимые уровни модели OSI
Рисунок 1.2 показывает уровни модели OSI, на которых работают различные элементы сети. Компьютер, с установленной на нем сетевой ОС, взаимодействует с другим компьютером с помощью протоколов всех семи уровней. Это взаимодействие компьютеры осуществляют через различные коммуникационные устройства: концентраторы, модемы, мосты, коммутаторы, маршрутизаторы, мультиплексоры. В зависимости от типа, коммуникационное устройство может работать либо только на физическом уровне (повторитель), либо на физическом и канальном (мост и коммутатор), либо на физическом, канальном и сетевом, иногда захватывая и транспортный уровень (маршрутизатор).
| |