Мегаобучалка Главная | О нас | Обратная связь


Краткая история стека Novell



2015-11-12 594 Обсуждений (0)
Краткая история стека Novell 0.00 из 5.00 0 оценок




Тема: Протокольные стеки IPX/SPX, NetBEUI

IPX/SPX (от англ. Internet work Packet exchange/Sequenced Packet exchange) — стек протоколов, используемый в сетях Novell, NetWare. Протокол IPX обеспечивает сетевой уровень (доставку пакетов, аналог IP), SPX — транспортный и сеансовый уровень (аналог TCP).

 

Краткая история стека Novell

Этот стек был разработан для операционной системы NetWare еще в начале 80-х годов. Протоколы сетевого уровня Internet work Packet Exchange (IPX) и сеансового уровня Sequenced Packet Exchange (SPX) появились на базе протоколов Internet work Datagram Protocol(IDP) и XNS,созданных фирмой Xerox Corporation в конце 70-х. Эти протоколы строились по клиент-серверной архитектуре.

Популярность стека IPX/SPX непосредственно связана с операционной системой Novell NetWare, которая еще сохраняет мировое лидерство по числу установленных систем, хотя в последнее время ее популярность несколько снизилась и по темпам роста она отстает от Microsoft Windows NT. Многие особенности стека IPX\SPX обусловлены ориентацией ранних версий ОС NetWare(до версии 4.0) на работу в локальных сетях небольших размеров, состоящих из ПК со скромными ресурсами. Для таких компьютеров нужны были протоколы, на реализацию которых требовалось бы минимальное количество оперативной памяти (ограниченной для IBM –совместимых компьютерах под управлением MS-DOS объемом 640 Кбайт). В результате протоколы стека IPX\SPX до недавнего времени хорошо работали в локальных сетях и не очень – в больших корпоративных сетях, так как они слишком перегружали медленные глобальные связи широковещательными пакетами, которые интенсивно используются несколькими протоколами этого стека.

Это обстоятельство, а так же тот факт, что стек IPX\SPX является собственностью фирмы Novell, и на его реализацию нужно получать лицензию (то есть открытые спецификации не поддерживались), долгое время ограничивало распространенность его только сетями NetWare. Однако с момента выпуска NetWare4.0 Novell внесла и продолжает вносить в свои протоколы серьезные изменения, направленные на их адаптацию для работы в корпоративных сетях. Сейчас стек IPX\SPX реализован не только в NetWare, но и в нескольких других популярных ОС SCO UNIX ,Sun Solaris, Microsoft Windows NT.

В Таблице 1 приведено соответствие протоколов стека Novell семи уровням модели OSI.

 

Таблица 1.Соответствие стека Novell модели OSI

Service Advertisement Protocol(SAP) - протокол стека Novell,с помощью которого сетевые ресурсы, такие как серверы файлов или серверы печати объявляют свои адреса и услуги, которые они предоставляют. Объявление посылается с использованием SAP каждые 60 секунд. Вид предоставляемого сервиса обозначается шестнадцатеричным числом, называемым SAP-identifier (например, 4-сервер файлов; 7-сервер печати). Работа SAP начинается, когда маршрутизаторы SAP строят таблицу всех известных сервисов вместе с их сетевыми адресами. Далее, маршрутизаторы отсылают свои SAP-таблицы, каждые 60 сек. Клиенты Novell могут отправить запрос на отдельный файл, принтер, запрос на доступ. Локальный маршрутизатор отвечает на запрос сетевым адресом запрашиваемого сервиса, после чего, клиент может соединиться непосредственно с сервисом. SAP распространен в сетях базирующихся на ОС NetWare3.11 и более ранних версиях, но начиная с NetWare4.0 SAP не используется в своем изначальном виде, потому что рабочие станции могут обнаруживать сервисы учитывая Netware Directory Services(NDS) - сервер адресов сервисов. SAP, однако, по-прежнему используется рабочими станциями и в сетях с ОС NetWare4.0 для обнаружения сервера NDS.

Иногда используются SAP-фильтры. Используя SAP-identifier, SAP запросы могут быть отсеяны на выходе или входе маршрутизатора. SAP-фильтры сохраняют сетевую широкополосность и особенно полезны в больших сетевых объединениях, где существует сотни сервисов. В общем SAP-фильтры используются для сервисов, которые не требуется передавать между подсетями. Удаленная подсеть, к примеру, не должна получать SAP извещения сервера печати центральной подсети. Выходной SAP-фильтр центральной подсети не отправляет эти объявления или входной SAP-фильтр удаленной подсети предотвращает занесения этого объявления в SAP-таблицы.

Стек Novell cодержит множество других протоколов верхних уровней, такие как NetWare Shell, NetWareRemoteProcedureCall, NetWareCoreProtocol, NetworkBasicInput/Output System.

Netware Shell выполняет функции клиентов (часто называемых автоматизированными рабочими станциями в семействе ОС Netware) и перехватывает запросы приложений, определяя, требуют ли они доступа к сети. Если прикладной запрос требует доступа к сети, Netware Shell упаковывает запрос и посылает его программному обеспечению нижнего уровня для обработки и сетевой передачи. Если прикладной запрос не требует доступа к сети, запрос пропускают к местным ресурсам ввода - вывода. Клиентские приложения не осуществляют доступ к сети, требуемый для завершения прикладных запросов.

NetWareRemoteProcedureCall - большая часть другого механизма переназначения, подобного по сути к Netware Shell, поддерживаемого Novell.

NetWareCoreProtocol (NCP) - ряд программ сервера, разработанных, чтобы удовлетворить прикладные запросы, исходящие, например, из NetWare Shell. Сервисы, обеспеченные NCP включают доступ к файлам, доступ к принтерам, управление именами, учет, защиту, и синхронизацию файлов.

Система Netware также поддерживает NetworkBasicInput/Output System(NetBIOS)-спецификацию интерфейса сеансового уровня от IBM и Microsoft.Программное обеспечение эмуляции NetBIOS системы Netware позволяет программам, написанные в промышленном стандарте интерфейса NetBIOS работать в системах Netware.

 

Протокол IPX

InternetworkPacketExchange(IPX)-дейтаграммный сетевой протокол без установления соединения, подобный InternetProtocol(IP), используемому в TCP/IP сетях. IPX использует дистанционно-векторный протокол маршрутизации [Routing Information protocol (RIP)] или протокол состояния связей[NLSP]. IPX RIP посылает маршрутные обновления каждые 60 секунд. Чтобы найти лучший маршрут IPX RIP использует импульс сигнала времени (tick) как показатель, который является мерой задержки при передаче сообщения. Один импульс сигнала времени равен1/18-ой секунды. В случае двух путей с равным индексом импульса сигнала времени, IPXRIP использует индекс числа проходов пакета через маршрутизаторы. IPXRIP совместим с RIP, используемыми в других средах организации сети.

Сетевые адреса должны быть уникальны. Эти адреса представлены в шестнадцатеричном формате и состоят из двух частей: сетевой номер и номер узла. Номер сети IPX, который назначен сетевым администратором, длиной 32 бита и номер узла, который обычно является Media Access Control (MAC) адресом для одной из сетевых плат (network interface cards, NICS), длиной 48 битов. Использование адреса MAC для номера узла позволяет системе посылать пакеты, заранее указывая MAC адрес получателя, который используется на канальном уровне. (Напротив, потому что заголовок IP сетевого адреса не имеет никакой корреляции к адресу MAC, IP узлы должен использовать протокол разрешения адреса [ARP], чтобы определить MAC адрес адресата.)

Протоколы вышележащих уровней стека Novell поддерживают несколько методов доступа к среде передачи данных. Это такие методы как Ethernet/IEEE802.3, Token Ring/IEEE802.5 , FDDI, PPP.

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

В отличие от протокола IP, который изначально разрабатывался для использования в глобальных сетях, протокол IPX создавался для применения в локальных сетях. Именно поэтому он является одним из самых экономичных протоколов в отношении требований к вычислительным ресурсам и хорошо работает в сравнительно небольших локальных сетях.

Специфика адресации, используемой протоколом IPX, является источником как достоинств, так и недостатков этого протокола. Протокол IPX работает с сетевыми адресами, включающими три компоненты: номер сети, номер узла и номер сокета. В качестве номера узла используется MAC-адрес сетевого адаптера. Номер сокета идентифицирует приложение, которое использует протокол IPX для передачи своих сообщений.

Протокол IPX является одним из наиболее легко настраиваемых протоколов сетевого уровня. Номер сети задается администратором только на серверах, а номер узла автоматически считывается из сетевого адаптера компьютера. Административные издержки при конфигурировании сети сводятся из-за этого к минимуму. При этом отпадает необходимость в использовании протокола типа ARP, выясняющего соответствие между сетевыми адресами узлов и их MAC-адресами. Однако при смене сетевого адаптера нужно скорректировать адрес узла, если для его выяснения используется справочная служба типа NDS. Отсутствие протокола ARP повышает производительность сети, так как не тратится время на выполнение ARP-запросов и ARP-ответов.

Наличие поля сокета (аналога порта протоколов UDP и TCP) в пакете IPX говорит о том, что этот протокол поддерживает не только маршрутизацию в составных сетях, но и выполняет роль мультиплексора по отношению к протоколам прикладного уровня. В стеке Novell это свойство явным образом используется при работе файлового сервиса - протокол NCP непосредственно работает с протоколом IPX, минуя транспортный протокол SPX, что уменьшает накладные расходы, связанные с взаимодействием нескольких протоколов

Особенности протокола IPX ограничивают его применение в глобальных сетях:

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

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

- Время жизни пакета ограничено числом 15, что может оказаться недостаточным для большой сети.

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

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

В версии стека IPX для локальных сетей соответствие символьных имен серверов их сетевым адресам устанавливается с помощью широковещательного протокола Service Advertising Protocol (SAP). Однако широковещательные рассылки - не очень хороший способ взаимодействия в глобальной сети. Модернизируя свой стек для применения в глобальных сетях, компания Novell использует теперь справочную службу NDS для нахождения разнообразной информации об имеющихся в сети ресурсах и сервисах, в том числе и о соответствии имени сервера его сетевому адресу. Так как служба NDS поддерживается только серверами с версией NetWare 4.х и выше, то для работы с версиями NetWare 3.x маршрутизаторы распознают пакеты SAP по номеру их определенного сокета и передают их на все порты, имитируя широковещательные рассылки локальной сети, на что тратится значительная часть пропускной способности медленных глобальных линий.

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

Добавлен NLM для реализации метода скользящего окна - так называемый, Burst Mode Protocol NLM. Добавлен NLM для поддержки длинных IPX-пакетов - Large Internet Packet NLM. Использование службы NDS позволяет отказаться от широковещательного протокола SAP.

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

Протокол SPX

Sequenced Packet Exchange (SPX) наиболее общий протокол транспортного стека Novell. SPX находится выше IPX в наборе протоколов системы Netware. SPX - надежный, ориентированный на соединение протокол, который дополняет дейтаграммное обслуживание, обеспеченное протоколом IPX. SPX был получен из XeroxNetworkingSystems(XNS) SequencedPacketProtocol (SPP). Novell также предлагает поддержку InternetProtocol в форме UserDatagramProrocol(UDP). Дейтаграммы IPX инкапсулируются внутрь UDP/IP заголовков для транспортировки по сети IP.

SPX (Sequence Packet Exchange) и его усовершенствованная модификация SPX II представляют собой транспортные протоколы 7-уровневой модели ISO. Это протокол гарантирует доставку пакета и использует технику скользящего окна (отдаленный аналог протокола TCP). В случае потери или ошибки пакет пересылается повторно, число повторений задается программно. В протоколе SPX не предусмотрена широковещательная адресация. В SPX индицируется ситуация, когда партнер неожиданно прерывает соединение, например из-за обрыва связи. Пакеты SPX вкладываются в пакеты IPX. При этом в поле тип пакета IPX записывается код 5. Заголовок пакета SPX всегда содержит 42 байта, включая 30 байт заголовка IPX-пакета, куда он вложен.

рис.3 Формат заголовка SPX-пакета

 

Поле управления соединением определяет, является ли данный пакет системным или прикладным. Это поле содержит однобитовые флаги, используемые spx и spx ii для управления потоком данных в виртуальном канале.

Значение поля управления соединением:

0x01 XHD - Зарезервировано SPX II для расширения заголовков;

0x02 RES1 - Назначение поля не определено, должно быть равно нулю;

0x04 NEG - SPX II (SIZ) согласует размер запроса/отклика, для spx должно быть равно нулю;

0x08 SPX2 - Тип пакета SPX II, для spx должно быть равно нулю;

0x10 EOM - Устанавливается клиентом spx для индикации конца сообщения (end-of-message);

0x20 ATN - (attention) зарезервировано для специальных запросов (не поддерживается SPX);

0x40 ACK - Устанавливается для запроса подтверждения получения данного пакета. Запросы и отклики обрабатываются на уровне SPX (приложение не должно модифицировать этот код);

0x80 SYS - Устанавливается, если данный пакет является системным и служит для подтверждения. Приложения не используют пакеты этого типа.

Поле тип потока данных характеризует тип данных, помещенных в пакет. Значения этого поля перечислены в таблице:

Значение поля типа потока данных:

0x00-0x07 - Определяется клиентом и может использоваться в приложениях;

0x80-0xfb - Зарезервированы на будущее;

0xfc - spx ii, упорядоченное освобождение запроса;

0xfd - spx ii, упорядоченное освобождение подтверждения;

0xfe - Указывает на окончание связи (end-of-connection). При закрытии канала spx-драйвер посылает клиенту пакет, где в поле тип потока записан данный код;

0xff - Подтверждение получения сообщения об окончании связи (end-of-connection-acknowledgment). Этим кодом помечается пакет, подтверждающий закрытие канала, в прикладную программу такой пакет не передается

Поля идентификатора отправителя и получателя содержат коды, определяющие участников информационного обмена, присваиваются SPX-драйвером в момент установления связи. В запросах на соединение это поле содержит код 0xffff. Данное поле служит для обеспечения демультиплексирования пакетов, поступающих на один и тот же соединитель (socket). Поле последовательный номер определяет число пакетов пересланных в одном направлении. Каждый из партнеров обмена имеет свой счетчик, который сбрасывается в ноль после достижения 0xffff, после чего счет может продолжаться. Для приложения это поле, также как и последующие два, неприкосновенно. SPX-пакеты подтверждения содержат в этом поле порядковый номер последнего посланного пакета. Поле номер подтверждения характеризует последовательный номер следующего пакета, который SPX ожидает получить. Любой пакет с порядковым номером меньше, чем задано в поле номера подтверждения, доставлен благополучно и не требует ретрансмиссии. Поле число буферов служит для указания числа доступных на станции буферов (буфера нумеруются, начиная с 0, один буфер способен принять один пакет) и используется для организации управления потоком данных между приложениями. Код этого поля информирует партнера о наибольшем порядковом номере пакета, который может быть послан. Протокол SPX посылает пакеты до тех пор, пока локальный последовательный номер не станет равным числу-указателю на удаленной ЭВМ.

SPX-протокол не посылает следующий пакет до тех пор, пока не получит подтверждение получения предшествующего. Хотя в протоколе SPX предусмотрен алгоритм скользящих окон (как и в TCP), практически он в настоящее время не используется, что вполне оправдано для локальных сетей. Следует заметить, что для достаточно больших LAN, где пакет проходит через несколько переключателей или маршрутизаторов, пренебрежение техникой окон становится непозволительной роскошью. На случай непредвиденных обрывов связи в SPX имеется алгоритм "сторожевая собака". Этот алгоритм реализуется специальной программой, которая активируется лишь в случае, когда в течение определенного времени в канале отсутствует трафик в любом из направлений (машина все сделала, а оператор заснул). В этом случае программа посылает специальные пакеты и, если определенное число попыток "достучаться" до партнера не увенчается успехом, сессия прерывается. Если партнер не присылает отклик за оговоренное время (RTT), производится повторная посылка пакета, при этом RTT увеличивается на 50%. Значение RTT не должно превысить величины max_retry_delay, которая по умолчанию равна 5 секундам. Если связь не восстановилась, отправитель пытается найти другой маршрут до адресата. Если маршрут найден, счетчик попыток сбрасывается в ноль и процедура отправки запускается вновь. Допустимое число попыток может лежать в диапазоне 1-255 (по умолчанию - 10). При отсутствии успеха сессия прерывается.

Значение RTT определяется по времени отклика ближайшего маршрутизатора, которое удваивается, а к полученной величине добавляется некоторая константа. Для каждой из сессий RTT определяется независимо. Многие временные константы задаются администратором сети.

Протокол SPX позволяет осуществить от 100 до 2000 соединений одновременно (по умолчанию это число равно 1000). Конфигурационные параметры SPX-протокола (и сети) хранятся в файлах shell.cfg и net.cfg.

В 1992 году была разработана новая версия SPX - SPX II. Главное усовершенствование протокола связано с применением пакетов большего размера. Раньше длинные SPX-пакеты фрагментировались и пересылались по частям, учитывая, что очередной пакет может быть послан лишь после получения подтверждения, нетрудно понять крайнюю неэффективность такой схемы. Стандарт SPX позволяет обмен пакетами с размером, ограниченным только используемой сетевой средой. Так в Ethernet пакет SPX II может иметь длину 1518 байт. Кроме того, SPX II допускает использование технологии окон, то есть можно послать несколько кадров, не дожидаясь получения подтверждения на каждый из уже посланных. Размер окна устанавливается в соответствии с кодом, содержащимся в поле число-указатель (число буферов/пакетов). При необходимости администратор может задать размер окна раз и навсегда. Формат пакетов SPX II несколько отличается от SPX. В SPX II увеличено число допустимых кодов для поля управления соединением, введено дополнительное поле в заголовок подтверждения (два байта, имя поля "расширенное подтверждение"). Новое поле добавлено после поля число буферов. Алгоритм установление связи в SPX II отличатся от варианта SPX тем, что необходимо согласовать размер пересылаемых пакетов.

Управление сетями Novell осуществляется с помощью стандартного протокола SNMP (Simple Network Management Protocol) и управляющей базы данных MIB.

Рисунок 4 - Формат заголовка SPX-II

Протокол NetBEUI

Протокол NetBEUI (NetBIOS Extended User Interface) ведет свою историю от сетевого программного интерфейса NetBIOS (Network Basic Input/Output System), появившегося в 1984 году как сетевое расширение стандартных функций базовой системы ввода/вывода (BIOS) IBM PC для сетевой программы PC Network фирмы IBM.

Протокол NetBEUI разрабатывался как эффективный протокол, потребляющий немного ресурсов, для использования в сетях, насчитывающих не более 200 рабочих станций. Этот протокол содержит много полезных сетевых функций, которые можно отнести к сетевому, транспортному и сеансовому уровням модели OSI, однако с его помощью невозможна маршрутизация пакетов. Это ограничивает применение протокола NetBEUI локальными сетями, не разделенными на подсети, и делает невозможным его использование в составных сетях. Некоторые ограничения NetBEUI снимаются реализацией этого протокола NBF (NetBEUI Frame), которая включена в операционную систему Microsoft Windows NT.

В настоящее время в операционных системах семейства Windows 2000 данный протокол уже практически не используется, а в системах Windows XP/2003 отсутствует даже возможность добавления данного протокола в «Свойствах» сетевого подключения системы. Хотя, если необходима совместимость с какими-либо приложениями, унаследованными от старых систем и работающих только по протоколу NetBEUI, в дистрибутивах систем Windows XP/2003 имеются установочные файлы для добавления данного протокола.

 



2015-11-12 594 Обсуждений (0)
Краткая история стека Novell 0.00 из 5.00 0 оценок









Обсуждение в статье: Краткая история стека Novell

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...



©2015-2020 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (594)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.012 сек.)