Содержание Оглавление: I. Принцип построения вычислительных сетей II. Основы передачи данных III. Базовые технологии локальных сетей IV. Построение локальных сетей V. Построение больших сетей VI. Глобальные сети VII. Средства анализа и управления сетями Дополнительно: Заключение Список литературы |
5.5. Средства построения составных сетей стека Novell5.5.1. Общая характеристика протокола IPXПротокол Internetwork Packet Exchange (IPX) является оригинальным протоколом сетевого уровня стека Novell, разработанным в начале 80-х годов на основе протокола Internetwork Datagram Protocol (IDP) компании Xerox. Протокол IPX соответствует сетевому уровню модели ISO/OSI (рис. 5.29) и поддерживает, как и протокол IP, только дейтаграммный (без установления соединений) способ обмена сообщениями. В сети NetWare наиболее быстрая передача данных при наиболее экономном использовании памяти реализуется именно протоколом IPX. Рис. 5.29. Соответствие протоколов IPX/SPX семиуровневой модели OSI Надежную передачу пакетов может осуществлять транспортный протокол SPX (Sequenced Packet Exchange Protocol), который работает с установлением соединения и восстанавливает пакеты при их потере или повреждении. Как видно из рис. 5.29, использование протокола SPX не является обязательным при выполнении операций передачи сообщений протоколами прикладного уровня. Прикладной уровень стека IPX/SPX составляют два протокола: NCP и SAP. Протокол NCP (NetWare Core Protocol) поддерживает все основные службы операционной системы Novell NetWare - файловую службу, службу печати и т. д. Протокол SAP (Service Advertising Protocol) выполняет вспомогательную роль. С помощью протокола SAP каждый компьютер, который готов предоставить какую-либо службу для клиентов сети, объявляет об этом широковещательно по сети, указывая в SAP-пакетах тип службы (например, файловая), а также свой сетевой адрес. Наличие протокола SAP позволяет резко уменьшить административные работы по конфигурированию клиентского программного обеспечения, так как всю необходимую информацию для работы клиенты узнают из объявлений SAP (кроме маршрутизаторов по умолчанию, о которых можно узнать с помощью протокола IPX). В отличие от протокола IP, который изначально разрабатывался для глобальных сетей, протокол IPX создавался для применения в локальных сетях. Именно поэтому он является одним из самых экономичных протоколов в отношении требований к вычислительным ресурсам и хорошо работает в сравнительно небольших локальных сетях. Специфика адресации в протоколе IPX является источником как достоинств, так и недостатков этого протокола. Протокол IPX работает с сетевыми адресами, включающими три компонента:
Номер сети в отличие от протокола IP имеет всегда фиксированную длину - 4 байта. В принципе для корпоративных сетей эта длина является избыточной, так как вряд ли у предприятия возникнет потребность разделить свою сеть на 4 миллиарда подсетей. В период доминирования сетей IPX/SPX компания Novell рассматривала возможность создания единого всемирного центра по распределению IPX-адресов, аналогичного центру InterNIC. Однако стремительный рост популярности сети Internet лишил это начинание смысла. Хотя протоколы IPX/SPX по-прежнему работают в огромном количестве корпоративных сетей, заменить IP во всемирной сети они уже не смогут. Надо отметить, что специалисты компании Novell приложили немало усилий, чтобы в новой версии 6 протокол IP приобрел некоторые черты, свойственные протоколу IPX, и тем самым облегчил переход пользователей IPX на IPv6 (когда это станет практически необходимым). Обычно все три составляющие IPX-адреса, в том числе и номер сети, записываются в шест-надцатеричной форме. Под номером узла в протоколе IPX понимается аппаратный адрес узла. В локальных сетях это МАС - адрес узла - сетевого адаптера или порта маршрутизатора. Размер адреса узла в 6 байт отражает происхождение этого поля, но в него можно поместить любой аппаратный адрес, если он укладывается в размер этого поля. Номер сокета (socket) идентифицирует приложение, которое передает свои сообщения по протоколу IPX. Сокет выполняет в стеке IPX/SPX ту же роль, что порт в протоколах TCP/UDP стека TCP/IP. Наличие этого поля в протоколе сетевого уровня, которым является IPX, объясняется тем, что в стеке Novell прикладные протоколы NCP и SAP взаимодействует с сетевым уровнем непосредственно, минуя транспортный протокол SPX. Поэтому роль мультиплексора-демультиплексора прикладных протоколов приходится выполнять протоколу IPX, для чего в его пакете необходимо передавать номер сокета прикладного протокола. Протоколы NCP и SAP не пользуются услугами SPX для ускорения работы стека, а скорость работы на маломощных персональных компьютерах начала 80-х годов была одной из основных целей компании Novell. Каждый дополнительный уровень в стеке, хотя бы и такой простой, как UDP, замедляет работу стека. За отказ от транспортного уровня компании Novell пришлось реализовывать средства восстановления утерянных пакетов в протоколе NCP. Тем не менее прикладные программисты, разрабатывающие свои собственные сетевые приложения для стека IPX/ SPX, могут пользоваться протоколом SPX, если не захотят встраивать достаточно сложные алгоритмы скользящего окна в свои программы. Протокол IPX является одним из наиболее легко настраиваемых протоколов сетевого уровня. Номер сети задается администратором только на серверах, а номер узла автоматически считывается из сетевого адаптера компьютера. На клиентском компьютере номер сети не задается - клиент узнает эту информацию из серверных объявлений SAP или локального маршрутизатора. Адрес маршрутизатора по умолчанию также не нужно задавать вручную на каждом клиентском компьютере. В протоколе IPX есть специальный запрос, который передается на заранее определенный номер сокета. Если в сети клиента есть маршрутизатор или сервер, выполняющий роль программного маршрутизатора, то клиент при старте системы выдает такой запрос широковещательно, и все маршрутизаторы сообщают ему свои МАС - адреса, которые используются в качестве адреса следующего маршрутизатора. Как видно из описания, административные издержки при конфигурировании сети IPX/SPX сводятся к минимуму. При этом отпадает необходимость в протоколе типа ARP, выясняющего соответствие между сетевыми адресами узлов и их МАС - адресами. Однако при смене сетевого адаптера нужно скорректировать адрес узла, если для его выяснения используются не широковещательные запросы-ответы, а справочная служба типа Novell NDS, в которой фиксируются сетевые адреса серверов. Отсутствие протокола ARP повышает производительность сети, так как позволяет не тратить время на выполнение ARP-запросов и ARP-ответов. 5.5.2. Формат пакета протокола IPXПакет протокола IPX имеет гораздо более простую структуру по сравнению с пакетом IP, что, собственно, и отражает меньшие функциональные возможности протокола IPX. IPX-пакет имеет следующие поля.
Кроме того, некоторые недостатки сетей Novell связаны не с протоколом IPX, a со свойствами других протоколов стека IPX/SPX. Многие недостатки проявляются при работе стека IPX/SPX на медленных глобальных линиях связи, и это закономерно, так как ОС NetWare оптимизировалась для работы в локальной сети. Например, неэффективная работа по восстановлению потерянных и искаженных пакетов на низкоскоростных глобальных каналах обусловлена тем, что протокол NCP, который выполняет эту работу, использует метод получения квитанций с простоями. В локальных сетях со скоростью 10 Мбит/с такой метод работал вполне эффективно, а на медленных каналах время ожидания квитанции заметно тормозит работу передающего узла. В версиях ОС NetWare до 4.0 соответствие символьных имен серверов их сетевым адресам устанавливалось только с помощью широковещательного протокола Service Advertising Protocol (SAP). Однако широковещательные рассылки заметно засоряют медленные глобальные каналы. Модернизируя свой стек для применения в крупных корпоративных сетях, компания Novell использует теперь справочную службу NDS (NetWare Directory Services) для нахождения разнообразной информации об имеющихся в сети ресурсах и службах, в том числе и о соответствии имени сервера его сетевому адресу. Так как служба NDS поддерживается только серверами с версией NetWare 4.x и выше, то для работы с версиями NetWare 3.x маршрутизаторы распознают SAP-пакеты по номеру их сокета и передают их на все порты, имитируя широковещательные рассылки локальной сети, на что тратится значительная часть пропускной способности медленных глобальных линий. Кроме того, такая «псевдошироковещательность» сводит на нет изоляцию сетей от некорректных SAP-пакетов. В последних версиях своей операционной системы NetWare компания Novell значительно модифицировала свой стек для того, чтобы он мог более эффективно использоваться в крупных составных сетях.
Кроме того, постоянное повышение быстродействия глобальных служб уменьшает недостатки оригинальных протоколов стека IPX/SPX, что позволяет некоторым обозревателям говорить об успешной работе операционной системы NetWare в глобальных сетях и без указанных нововведений. 5.5.3. Маршрутизация протокола IPXВ целом маршрутизация протокола IPX выполняется аналогично маршрутизации протокола IP. Каждый IPX-маршрутизатор поддерживает таблицу маршрутизации, на основании которой принимается решение о продвижении пакета. IPX-маршрутизаторы поддерживает одношаговую маршрутизацию, при которой каждый маршрутизатор принимает решение только о выборе следующего на пути маршрутизатора. Возможности маршрутизации от источника в протоколе IPX отсутствуют. Рассмотрим типичную таблицу маршрутизации (табл. 5.20) для протокола IPX. Таблица 5.20. Таблица маршрутизации протокола IPX В поле «Номер сети» указывается шестнадцатеричный адрес сети назначения, а в поле «Следующий маршрутизатор» - полный сетевой адрес следующего маршрутизатора, то есть пара «номер сети-МАС - адрес». МАС - адрес из этой записи переносится в поле адреса назначения кадра канального уровня, например Ethernet, который и переносит IPX-пакет следующему маршрутизатору. IPX-пакет при передаче между промежуточными маршрутизаторами изменений не претерпевает. Если IPX-маршрутизатор обнаруживает, что сеть назначения - это его непосредственно подключенная сеть, то из заголовка IPX-пакета извлекается номер узла назначения, который является МАС - адресом узла назначения. Этот МАС - адрес переносится в адрес назначения кадра канального уровня, например FDDI. Кадр непосредственно отправляется в сеть, и протокол FDDI доставляет его по этому адресу узлу назначения. IPX-маршрутизаторы обычно используют два типа метрики при выборе маршрута: расстояние в хопах и задержку в некоторых условных единицах - тиках (ticks). Расстояние в хопах имеет обычный смысл - это количество промежуточных маршрутизаторов, которые нужно пересечь IPX-пакету для достижения сети назначения. Задержка также часто используется в маршрутизаторах и мостах/коммутаторах для более точного сравнения маршрутов. Однако в IPX-маршрутизаторах традиционно задержка измеряется в тиках таймера персонального компьютера, который выдает сигнал прерывания 18,21 раза в секунду. Эта традиция ведется от первых программных IPX-маршрутизаторов, которые работали в составе операционной системы NetWare и пользовались таймером персонального компьютера для измерения интервалов времени. Напомним, что IP-маршрутизаторы, а также мосты/коммутаторы, поддерживающие протокол Spanning Tree, измеряют задержку, вносимую какой-либо сетью в 10-наносекундных единицах передачи одного бита информации, так что сеть Ethernet оценивается задержкой в 10 единиц. Кроме этого, IPX-маршрутизаторы оценивают задержку не одного бита, а стандартного для IPX-пакета в 576 байт. Поэтому задержка в тиках для сети Ethernet получается равной 0,00839 тика, а для канала 64 Кбит/с - 1,31 тика. Задержка в тиках всегда округляется до целого числа тиков в большую сторону, так что сеть Ethernet вносит задержку в один тик, а канал 64 Кбит/с - в 2 тика. При вычислении метрики в тиках для составного маршрута задержки в тиках складываются. Две метрики в записях таблицы маршрутизации протокола IPX используются в порядке приоритетов. Наибольшим приоритетом обладает метрика, измеренная в задержках, а если эта метрика совпадает для каких-либо маршрутов, то во внимание принимается расстояние в хопах. Несмотря на традиции измерения задержки в тиках, IPX-маршрутизаторы могут использовать и стандартные задержки сетей, измеренные в 10-наносекундных интервалах. IPX-маршрутизаторы могут поддерживать как статические маршруты, так и динамические, полученные с помощью протоколов RIP IPX и NLSP. Протокол RIP IPX очень близок к протоколу RIP IP. Так как в IPX-сетях маски не применяются, то RIP IPX не имеет аналога RIPv2, передающего маски. Интервал между объявлениями у протокола RIP IPX равен 60 с (в отличие от 30 су RIP IP). В пакетах RIP IPX для каждой сети указываются обе метрики - в хопах и тиках. Для исключения маршрутных петель IPX-маршрутизаторы используют прием расщепления горизонта. Время жизни динамической записи составляет 180 секунд. Недостижимость сети указывается значением числа хопов в 15 (0xF), а тиков - в 0xFFFF. IPX-маршрутизаторы, как и IP-маршрутизаторы, не передают из сети в сеть пакеты, имеющие широковещательный сетевой адрес. Однако для некоторых типов таких пакетов IPX-маршрутизаторы делают исключения. Это пакеты службы SAP, с помощью которой серверы NetWare объявляют о себе по сети. IPX-маршрутизаторы передают SAP-пакеты во все непосредственно подключенные сети, кроме той, от которой этот пакет получен (расщепление горизонта). Если бы IPX-маршрутизаторы не выполняли таких передач, то клиенты NetWare не смогли бы взаимодействовать с серверами в сети, разделенной маршрутизаторами, в привычном стиле, то есть путем просмотра имеющихся серверов с помощью команды SLIST. IPX-маршрутизаторы всегда используют внутренний номер сети, который относится не к интерфейсам маршрутизатора, а к самому модулю маршрутизации. Внутренний номер сети является некоторым аналогом сети 127.0.0.0 узлов IP-сетей, однако каждый IPX-маршрутизатор должен иметь уникальный внутренний номер сети, причем его уникальность должна распространяться и на внешние номера IPX-сетей в составной сети. IPX-маршрутизаторы выполняют также функцию согласования форматов кадров Ethernet. В составных IPX-сетях каждая сеть может работать только с одним из 4-х возможных типов кадров IPX. Поэтому если в разных сетях используются разные типы кадров Ethernet, то маршрутизатор посылает в каждую сеть тот тип кадра, который установлен для этой сети. Протокол NLSP (NetWare Link Services Protocol) представляет собой реализацию алгоритма состояния связей для IPX-сетей. В основном он работает аналогично протоколу OSPF сетей TCP/IP. Выводы
|