Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Средства построения составных сетей стека Novell






5.5.1. Общая характеристика протокола IPX

Протокол Internetwork Packet Exchange (IPX) является оригинальным протоколом сетевого уровня стека Novell, разработанным в начале 80-х годов на основе прото­кола Internetwork Datagram Protocol (ГОР) компании Xerox.

Протокол IPX соответствует сетевому уровню модели ISO/OSI (рис. 5.29) и поддерживает, как и протокол IP, только дейтаграммный (без установления соеди­нений) способ обмена сообщениями. В сети NetWare наиболее быстрая передача данных при наиболее экономном использовании памяти реализуется именно про­токолом IPX.

Надежную передачу пакетов может осуществлять транспортный протокол 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 создавался для применения в локальных сетях. Именно

5.5. Средства построения составных сетей стека Novell 433

поэтому он является одним из самых экономичных протоколов в отношении тре­бований к вычислительным ресурсам и хорошо работает в сравнительно неболь­ших локальных сетях.

Специфика адресации в протоколе IPX является источником как достоинств, так и недостатков этого протокола. Протокол IPX работает с сетевыми адресами, включающими три компонента:

• номер сети (4 байта);

• номер узла (6 байт);

• номер сокета (2 байта).

Номер сети в отличие от протокола 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 является одним из наиболее легко настраиваемых протоколов сетевого уровня. Номер сети задается администратором только на серверах, а но­мер узла автоматически считывается из сетевого адаптера компьютера. На клиент-

434 Глава 5 • Сетевой уровень как средство построения больших сетей

ском компьютере номер сети не задается — клиент узнает эту информацию из сер­верных объявлений SAP или локального маршрутизатора.

Адрес маршрутизатора по умолчанию также не нужно задавать вручную на каждом клиентском компьютере. В протоколе IPX есть специальный запрос, кото­рый передается на заранее определенный номер сокета. Если в сети клиента есть маршрутизатор или сервер, выполняющий роль программного маршрутизатора, то клиент при старте системы выдает такой запрос широковещательно, и все маршру­тизаторы сообщают ему свои МАС-адреса, которые используются в качестве адре­са следующего маршрутизатора.

Как видно из описания, административные издержки при конфигурировании сети IPX/SPX сводятся к минимуму. При этом отпадает необходимость в протоко­ле типа ARP, выясняющего соответствие между сетевыми адресами узлов и их МАС-адресами. Однако при смене сетевого адаптера нужно скорректировать адрес узла, если для его выяснения используются не широковещательные запросы-отве­ты, а справочная служба типа Novell NDS, в которой фиксируются сетевые адреса серверов. Отсутствие протокола ARP повышает производительность сети, так как позволяет не тратить время на выполнение ARP-запросов и ARP-ответов.

5.5.2. Формат пакета протокола IPX

Пакет протокола IPX имеет гораздо более простую структуру по сравнению с па­кетом IP, что, собственно, и отражает меньшие функциональные возможности про­токола IPX.

IPX-пакет имеет следующие поля.

Контрольная сумма (Checksum) — это 2-байтовое поле, являющееся «пережит­ком прошлого», которое протокол IPX ведет от протокола ГОР стека Xerox. Так как низкоуровневые протоколы (например, Ethernet) всегда выполняют про­верку контрольных сумм, то IPX не использует это поле и всегда устанавливает его в единицы.

«Длина (Length) занимает 2 байта и задает размер всего пакета, включая IPX-заголовок и поле данных. Самый короткий пакет — 30 байт — включает только IPX-заголовок, а рекомендуемый максимально большой — 576 байт — включает IPX-заголовок плюс 546 байт данных. Максимальный размер пакета в 576 байт соответствует рекомендациям стандартов Internet для составных сетей. Прото­кол IPX вычисляет значение этого поля, основываясь на информации, предос­тавляемой прикладной программой при вызове функции IPX. IPX-пакет может превосходить рекомендуемый максимум в 576 байт, что и происходит в локаль­ных сетях Ethernet, где используются IPX-пакеты в 1500 байт с полем данных в 1470 байт.

Управление транспортом (Transport control) имеет длину 8 бит. Это поле опреде­ляет время жизни пакета в хопах. IPX-пакет может пересечь до 15 маршрутиза­торов. Протокол IPX устанавливает это однобайтовое поле в 0 до начала передачи, а затем увеличивает его на 1 каждый раз, когда пакет проходит через маршрути­затор. ЕиаИ счетчик превысит 15, то пакет аннулируется.

Тип пакета (Packet type) имеет длину 8 бит. Фирма Xerox определила в свое время определенные значения для различных типов пакетов: прикладные про-

5.5. Средства построения составных сетей стека Novell 435

граммы, посылающие IPX-пакеты, должны устанавливать это поле в значение, равное 4. Значение 5 соответствует служебным IPX-пакетам, используемым протоколом SPX в качестве служебных сообщений. Значение 17 указывает на то, что в поле данных IPX-пакета находится сообщение протокола NetWare Core Protocol (NCP) — основного протокола файловой службы NetWare.

Адрес назначения (Destination address) — состоит из трех полей: номера сети назначения, номера узла назначения, номера сокета назначения. Эти поля зани­мают соответственно 4, 6 и 2 байта.

Адрес отправителя (Source address) — номер исходной сети, номер исходного узла, номер исходного сокета. Аналогичны адресным полям назначения.

Поле данных (Data). Может занимать от 0 до 546 байт. Поле данных нулевой длины может использоваться в служебных пакетах, например, для подтвержде­ния получения предыдущего пакета.

Из анализа формата пакета можно сделать некоторые выводы об ограничениях протокола IPX.

Отсутствует возможность динамической фрагментации на сетевом уровне. В IPX-пакете нет полей, с помощью которых маршрутизатор может разбить слишком большой пакет на части. При передаче пакета в сеть с меньшим значе­нием MTU IPX-маршрутизатор отбрасывает пакет. Протокол верхнего уровня, например NCP, должен последовательно уменьшать размер пакета до тех пор, пока не получит на него положительную квитанцию.

Большие накладные расходы на служебную информацию. Сравнительно неболь­шая максимальная длина поля данных IPX-пакета (546 байт при длине заго­ловка 30 байт) приводит к тому, что как минимум 5 % данных являются служебными.

Время жизни пакета ограничено числом 15, что может оказаться недостаточным для большой сети (для сравнения, в IP-сетях пакет может пройти до 255 проме­жуточных маршрутизаторов).

Отсутствует поле качества сервиса, что не позволяет маршрутизаторам авто­матически подстраиваться к требованиям приложения к качеству передачи тра­фика.

Кроме того, некоторые недостатки сетей Novell связаны не с протоколом IPX, a со свойствами других протоколов стека IPX/SPX. Многие недостатки проявляют­ся при работе стека IPX/SPX на медленных глобальных линиях связи, и это зако­номерно, так как ОС NetWare оптимизировалась для работы в локальной сети.

Например, неэффективная работа по восстановлению потерянных и искажен­ных пакетов на низкоскоростных глобальных каналах обусловлена тем, что прото­кол NCP, который выполняет эту работу, использует метод получения квитанций с простоями. В локальных сетях со скоростью 10 Мбит/с такой метод работал впол­не эффективно, а на медленных каналах время ожидания квитанции заметно тор­мозит работу передающего узла.

В версиях ОС NetWare до 4.0 соответствие символьных имен серверов их сете­вым адресам устанавливалось только с помощью широковещательного протокола Service Advertising Protocol (SAP). Однако широковещательные рассылки заметно засоряют медленные глобальные каналы. Модернизируя свой стек для применения в

436 Глава 5 • Сетевой уровень как средство построения больших сетей

крупных корпоративных сетях, компания Novell использует теперь справочную служ­бу NDS (NetWare Directory Services) для нахождения разнообразной информации об имеющихся в сети ресурсах и службах, в том числе и о соответствии имени сервера его сетевому адресу. Так как служба NDS поддерживается только серверами с версией NetWare 4.x и выше, то для работы с версиями NetWare 3.x маршрутизаторы распо­знают SAP-пакеты по номеру их сокета и передают их на все порты, имитируя широко­вещательные рассылки локальной сети, на что тратится значительная часть пропускной способности медленных глобальных линий. Кроме того, такая «псевдошироковеща­тельность» сводит на нет изоляцию сетей от некорректных SAP-пакетов.

В последних версиях своей операционной системы NetWare компания Novell значительно модифицировала свой стек для того, чтобы он мог более эффективно использоваться в крупных составных сетях.

• Служба NDS позволяет отказаться от широковещательного протокола SAP. Служба NDS основана на иерархической распределенной базе данных, храня­щей информацию о пользователях и разделяемых ресурсах сети. Приложения обращаются к этой службе по протоколу прикладного уровня NDS.

• Добавлен модуль для реализации метода скользящего окна — так называемый Burst Mode Protocol NLM.

в Добавлен модуль для поддержки длинных IPX-пакетов в глобальных сетях -

Large Internet Packet NLM.

Кроме того, постоянное повышение быстродействия глобальных служб умень­шает недостатки оригинальных протоколов стека IPX/SPX, что позволяет некото­рым обозревателям говорить об успешной работе операционной системы NetWare в глобальных сетях и без указанных нововведений.

5.5.3. Маршрутизация протокола IPX

В целом маршрутизация протокола IPX выполняется аналогично маршрутизации протокола IP. Каждый IPX-маршрутизатор поддерживает таблицу маршрутиза­ции, на основании которой принимается решение о продвижении пакета. IPX-маршрутизаторы поддерживает одношаговую маршрутизацию, при которой каждый маршрутизатор принимает решение только о выборе следующего на пути маршру­тизатора. Возможности маршрутизации от источника в протоколе IPX отсутству­ют. Рассмотрим типичную таблицу маршрутизации (табл. 5.20) для протокола IPX.

Таблица 5.20. Таблица маршрутизации протокола IPX






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.