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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



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

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

 

Уровни

Прикладной
Представительный
Сеансовый
Транспортный
Сетевой
Канальный
Физический

 

    SAP NCP    
            SPX
IPX RIP NLSP
Ethernet FDDI Token Ring
Fast Ethernet ATM 100VG-AnyLAN

 

Рис. 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 работает с сетевыми адресами, включающими три компонента:

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

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

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

Номер сети в отличие от протокола IP имеет всегда фиксированную длину - 4 байта. В принципе для корпоративных сетей эта длина является избыточной, так как вряд ли у предприятия возникнет потребность разделить свою сеть на 4 мил­лиарда подсетей. В период доминирования сетей IPX/SPX компания Novell рас­сматривала возможность создания единого всемирного центра по распределению IPX-адресов, аналогичного центру InterNIC. Однако стремительный рост попу­лярности сети Internet лишил это начинание смысла. Хотя протоколы IPX/SPX по-прежнему работают в огромном количестве корпоративных сетей, заменить IPX во всемирной сети они уже не смогут. Надо отметить, что специалисты компании Novell приложили немало усилий, чтобы в новой версии 6, протокол IP приобрел некоторые черты, свойственные протоколу IPX, и тем самым облегчил переход пользователей IPX на IPX v6 (когда это станет практически необходимым). Обычно все три составляющие 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-ответов.

 

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

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

IРХ - пакет имеет следующие поля:

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

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

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

Тип пакета (Packet type) имеет длину 8 бит. Фирма Xerox определила в свое время определенные значения для различных типов пакетов: прикладные программы, посылающие 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). Однако широковещательные рассылки заметно засоряют медленные глобальные каналы. Модернизируя свой стек для применения в крупных корпоративных сетях, компания 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 в глобальных сетях и без указанных нововведений.

 

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

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

 

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

Номер сети Следующий маршрутизатор Порт Задержка Хопы
А0000010   о  
А0000011   о  
000013F4 А0000010-008100Е30067      
00000120 00000033 A0000011-C000023300FA А0000010-008100Е30055 2 1 2 10 1 5

 

В поле “Номер сети” указывается шестнадцатеричный адрес сети назначения, а в поле “Следующий маршрутизатор” - полный сетевой адрес следующего маршрутизатора, то есть пара «номер сети - МАС-адрес». МАС-адрес из этой записи пе­реносится в поле адреса назначения кадра канального уровня, например 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 не имеет аналога RIP v2, передающего маски. Интер­вал между объявлениями у протокола RIP IPX равен 60 с (в отличие от 30 с RIP IP). В пакетах RIP IPX для каждой сети указываются обе метрики — в хопах и тиках. Для исключения маршрутных петель IPX-маршрутизаторы используют прием расщепления горизонта.

Время жизни динамической записи составляет 180 секунд. Недостижимость сети указывается значением числа хопов в 15 (OxF), а тиков — в OxFFFF.

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.

 

Выводы:

Стек Novell состоит из четырех уровней: канального, который собственно сте­ком Novell не определяется; сетевого, представленного протоколом дейтаграмм-ного типа IPX; транспортного, на котором работает протокол надежной передачи данных SPX; прикладного, на котором работает протокол NCP, поддерживаю­щий файловую службу и службу печати, а также протоколы SAP и NDS, вы­полняющие служебные функции по поиску в сети разделяемых ресурсов.

Особенностью стека Novell является то, что основной прикладной протокол NCP не пользуется транспортным протоколом SPX, а обращается непосред­ственно к сетевому протоколу IPX. Это значительно ускоряет работу стека, но усложняет прикладной протокол NCP.

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

Недостатком IPX-адресации является ограничение в 6 байт, накладываемое на адрес узла на сетевом уровне. Если какая-либо составная сеть использует аппаратные адреса большего размера (это может произойти, например, в сети Х.25), то протокол IPX не сможет доставить пакет конечному узлу такой сети.

IPX-маршрутизаторы используют протоколы динамической маршрутизации RIP IPX, являющийся аналогом RIP IP, и NLSP, который во многом похож на про­токол OSPF сетей TCP/IP.

 



Поделиться:


Последнее изменение этой страницы: 2016-06-29; просмотров: 486; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 54.198.154.234 (0.03 с.)