Слайд 1Протоколы локальных сетей
(IPX/SPX)
Докладчики:
Бахвалова Юлия
Чепас Александр
гр. 3305
Слайд 3Базовым понятием в области построения и функционирования сетей является протокол.
Протокол – это набор семантических и синтаксических правил, определяющих поведение
систем, устройств и процессов при передаче данных. Проще говоря, протоколы – это некие схемы или алгоритмы, следуя которым все узлы сети стандартным образом подготавливает данные к передаче и осуществляет ее. Каждый из уровней может иметь собственные протоколы, т.е. те наборы правил, в соответствии с которым данные будут преобразовываться для передачи на следующий уровень.
Протокол
Слайд 4 Существует два основных метода взаимодействия абонентов в сети:
Метод взаимодействия без логического соединения (или метод дейтаграмм).
Метод взаимодействия
с логическим соединением.
Слайд 5Метод дейтаграмм
Это простейший метод, в котором каждый пакет рассматривается как
самостоятельный объект.
Слайд 6Пакет при этом методе передается без установления логического канала, то
есть без предварительного обмена служебными пакетами для выяснения готовности приемника,
а также без ликвидации логического канала, то есть без пакета подтверждения окончания передачи. Дойдет пакет до приемника или нет – неизвестно (проверка факта получения переносится на более высокие уровни).
Слайд 7Метод дейтаграмм предъявляет повышенные требования к аппаратуре (так как приемник
всегда должен быть готов к приему пакета). Достоинства метода в
том, что передатчик и приемник работают независимо друг от друга, к тому же пакеты могут накапливаться в буфере и затем передаваться вместе, можно также использовать широковещательную передачу, то есть адресовать пакет всем абонентам одновременно. Недостатки метода – это возможность потери пакетов, а также бесполезной загрузки сети пакетами в случае отсутствия или неготовности приемника.
Слайд 8Метод с логическим соединением
Разработан позднее, чем метод дейтаграмм , и
отличается усложненным порядком взаимодействия.
Слайд 9При этом методе пакет передается только после того, как будет
установлено логическое соединение (канал) между приемником и передатчиком. Каждому информационному
пакету сопутствует один или несколько служебных пакетов (установка соединения, подтверждение получения, запрос повторной передачи, разрыв соединения). Логический канал может устанавливаться на время передачи одного или нескольких пакетов.
Слайд 11Метод с логическим соединением более сложен, чем метод дейтаграмм, но
гораздо надежнее, поскольку к моменту ликвидации логического канала передатчик уверен,
что все его пакеты успешно дошли до места назначения. Не бывает при данном методе и перегрузки сети из-за бесполезных пакетов. Недостаток метода с логическим соединением состоит в том, что довольно сложно разрешить ситуацию, когда принимающий абонент по тем или иным причинам не готов к обмену, например, из-за обрыва кабеля, отключения питания, неисправности сетевого оборудования, сбоя в компьютере. При этом требуются алгоритм обмена с повторением неподтвержденного пакета заданное количество раз, причем важен и тип неподтвержденного пакета. Не может этот метод передавать широковещательные пакеты (то есть адресованные всем абонентам), так как нельзя организовать логические каналы сразу со всеми абонентами.
Слайд 12Примеры протоколов, работающих по методу дейтаграмм — это протоколы IP
и IPX.
Примеры протоколов, работающих по методу с логическим соединением
– это TCP и SPX.
Слайд 13Именно для того, чтобы объединить достоинства обоих методов, эти протоколы
используются в виде связанных наборов: TCP/IP и IPX/SPX, в которых
протокол более высокого уровня (TCP, SPX), работающий на базе протокола более низкого уровня (IP, IPX), гарантирует правильную доставку пакетов в требуемом порядке.
Слайд 14Схема соответствия протоколов Novell и 7-уровневой модели OSI
Слайд 15Сетевому уровню модели OSI соответствует протокол IPX.
Транспортному уровню модели OSI
соответствует протокол SPX.
Слайд 17IPX (Internetwork Packet Exchange) является оригинальным протоколом сетевого уровня фирмы
Novell.
Протокол IPX обрабатывает так называемый пакет IPX, являющийся основным средством,
которое используется при передачи данных в сетях, функционирующих под управлением сетевой ОС NetWare.
Общие сведения
Слайд 18В качестве прототипа протокола IPX компания Novell использовала один из
первых протоколов локальных сетей – протокол Xerox Network System (XNS),
адаптировав его для своей файл-серверной операционной системы NetWare. Компания Xerox Corporation предложила протокол XNS в качестве средства передачи данных по сетям Ethernet. В начале 1980-х годов некоторые производители выпустили собственные версии этого протокола. Вариант компании Novell определил возникновение протокола IPX, предназначенного для серверов NetWare.
Слайд 19
Если устройство, с которым необходимо установить связь, находится в другой
сети, IPX прокладывает маршрут для прохождения информации через любые промежуточные
сети, которые могут находиться на пути к пункту назначения.
Слайд 21Все поля, кроме поля Data, образуют заголовок пакета.
Особенностью формата пакета
является то, что все поля заголовка содержат значения в перевернутом
формате, т. е. по младшему адресу записывается старший байт данных.
Слайд 22Контрольная сумма (Checksum)
Контрольная сумма (Checksum) - это 2-байтовое
поле, являющееся «пережитком прошлого», которое протокол IPX ведет от протокола
IDP стека Xerox. Так как низкоуровневые протоколы (например, Ethernet) всегда выполняют проверку контрольных сумм, то IPX не использует это поле и всегда устанавливает его в единицы.
Слайд 23Общая длина пакета (Length)
Занимает 2 байта и задает размер всего
пакета, включая IPX-заголовок и поле данных. Самый короткий пакет -
30 байт - включает только IPX-заголовок, а рекомендуемый максимально большой - 576 байт - включает IPX-заголовок плюс 546 байт данных. Максимальный размер пакета в 576 байт соответствует рекомендациям стандартов Internet для составных сетей. Протокол IPX вычисляет значение этого поля, основываясь на информации, предоставляемой прикладной программой при вызове функции IPX. IPX-пакет может превосходить рекомендуемый максимум в 576 байт, что и происходит в локальных сетях Ethernet, где используются IPX-пакеты в 1500 байт с полем данных в 1470 байт.
Слайд 24Управление транспортом (Transport control)
Имеет длину 8 бит. IPX-пакет может пересечь
до 15 маршрутизаторов. Протокол IPX передающей станции устанавливает это однобайтовое
поле в 0 до начала передачи, а затем увеличивает его на 1 каждый раз, когда пакет проходит через маршрутизатор. Если счетчик превысит 15, то пакет аннулируется.
Слайд 25Тип пакета (Packet type)
Имеет длину 8 бит. Фирма Xerox определила
в свое время определенные значения для различных типов пакетов: прикладные
программы, посылающие IPX-пакеты, должны устанавливать в это поле значение, равное 4. Значение 5 соответствует служебным IPX-пакетам, используемым протоколом SPX в качестве служебных сообщений. Значение 17 указывает на то, что в поле данных IPX-пакета находится сообщение протокола NetWare Core Protocol (NCP) - основного протокола файловой службы NetWare.
Слайд 26Номер сети получателя пакета
(DestNetwork)
Определяет номер сети, в которую передается
пакет. Устанавливается в прикладной программе. Если в поле указывается нулевое
значение, то пакет передается в сеть, к которой подключена станция.
Слайд 27Адрес станции-получателя
(DestNode)
Определяет адрес станции, которой предназначен пакет. Устанавливается прикладной
программой.
Слайд 28Гнездо программы-получалеля
(DestSocket)
Предназначено для определения программы, которая запущена на станции-получателе и
должна принять пакет. Это поле устанавливается в прикладной программе.
Слайд 29Номер сети отправителя пакета (SourceNetwork),
Адрес станции-отправителя
(SourceNode),
Гнездо программы-отправителя
(SourceSocket)
Содержат, соответственно, номер сети,
из которой посылается пакет, адрес передающей станции и гнездо программы,
которая передает пакет. Эти поля заполняются протоколом IPX передающей станции.
Слайд 30Передаваемые данные
(Data)
Данное поле содержит передаваемые данные. Это поле формируется протоколом
IPX передающей станции на основании описания блока ECB (Event Control
Block).
Слайд 31Для формирования заголовка пакета можно воспользоваться, например, следующей структурой:
struct
_IPXHeader {
unsigned char Checksum[2];
unsigned char Length[2];
unsigned char TransportControl;
unsigned char PacketType;
unsigned char DestNetwork[4];
unsigned char DestNode[6];
unsigned char DestSocket[2];
unsigned char SourceNetwork[4];
unsigned char SourceNode[6];
unsigned char SourceSocket[2];}
IPXHeader;
Пример структуры заголовка пакета IPX
Слайд 32Работа с драйвером IPX/SPX
Первое, что должна сделать программа, желающая
работать в сети с протоколом IPX/SPX - проверить, установлен ли
драйвер соответствующего протокола. Затем необходимо получить адрес вызова этого драйвера - точку входа API (Application Programm Interface - интерфейс для приложений). В дальнейшем программа вызывает драйвер при помощи команды межсегментного вызова процедуры по адресу точки входа API драйвера IPX/SPX.
Слайд 33API драйвера протокола IPX состоит из примерно дюжины функций, предназначенных
для выполнения операций с сокетами, сетевыми адресами, для приема и
передачи пакетов и некоторых других операций.
Слайд 34Прием и передачу пакетов выполняет сетевой адаптер, работающий с использованием
прерываний. Прерывание от сетевого адаптера обрабатывает драйвер сетевого адаптера.
Например,
в операционной системе MS-DOS для адаптеров, совместимых с адаптером Novell NE2000 в составе Novell NetWare поставляется драйвер ne2000.com, реализованный в виде резидентной программы.
Процедура приема/передачи пакетов данных средствами IPX
Слайд 35Прикладные программы не работают напрямую с драйвером сетевого адаптера. Запросы
на прием и передачу пакетов они направляют драйверу IPX (программа
ipx.exe или ipxodi.exe), который, обращается к драйверу сетевого адаптера.
Слайд 36Если на рабочей станции используется операционная система MS-DOS, функции, необходимые
для реализации протокола IPX, реализуются резидентными программами ipx.com или ipxodi.com,
входящими в состав сетевой оболочки рабочей станции сети NetWare.
Слайд 37Для приема или передачи пакета прикладная программа должна подготовить пакет
данных, сформировав его заголовок, и построить так называемый блок управления
событием ECB (Event Control Block). В блоке ECB задается адресная информация для передачи пакета, адрес самого передаваемого пакета в оперативной памяти и некоторая другая информация.
Слайд 38Подготовив блок ECB, прикладная программа передает его адрес соответствующей функции
IPX для выполнения операции приема или передачи пакета.
Слайд 39Функции IPX, принимающие или передающие пакет, не выполняют ожидания завершения
операции, а сразу возвращают управление вызвавшей их программе. Прием или
передача выполняются сетевым адаптером автономно и асинхронно по отношению к программе, вызвавшей функцию IPX для передачи данных. После того, как операция передачи данных завершилась, в соответствующем поле блока ECB устанавливается признак. Программа может периодически проверять ECB для обнаружения признака завершения операции.
Слайд 40Есть и другая возможность. В блоке ECB можно указать адрес
процедуры, которая будет вызвана при завершении выполнения операции передачи данных.
Такой способ предпочтительнее, так как прикладная программа не будет тратить время на периодическую проверку блока ECB.
Слайд 42Блок ECB состоит из фиксированной части размером 36 байт и
массива дескрипторов, описывающих отдельные фрагменты передаваемого или принимаемого пакета данных.
Слайд 43Поле Link
Предназначено для организации списков, состоящих из блоков ECB. Драйвер
IPX использует это поле для объединения переданных ему блоков ECB
в списки, записывая в него полный адрес в формате [сегмент:смещение]. После того, как IPX выполнит выданную ему команду и закончит все операции над блоком ECB, программа может распоряжаться полем Link по своему усмотрению. В частности, она может использовать это поле для организации списков или очередей свободных или готовых для чтения блоков ECB.
Слайд 44Поле ESRAddress
Содержит полный адрес программного модуля (в формате [сегмент:смещение]), который
получает управление при завершении процесса чтения или передачи пакета IPX.
Этот модуль называется программой обслуживания события ESR (Event Service Routine). Если ваша программа не использует ESR, она должна записать в поле ESRAddress нулевое значение. В этом случае о завершении выполнения операции чтения или передачи можно узнать по изменению содержимого поля InUse.
Слайд 45Поле InUse
Может служить индикатором завершения операции приема или передачи пакета.
Перед тем как вызвать функцию IPX, программа записывает в поле
InUse нулевое значение. Пока операция передачи данных, связанная с данным ECB, не завершилась, поле InUse содержит ненулевые значения:
Слайд 46 FFh - ECB используется для передачи пакета
данных;
FEh - ECB используется для
приема пакета данных;
FDh - ECB используется функциями асинхронного управления событиями AES (Asynchronous Event Sheduler), ECB находится в состоянии ожидания истечения заданного временного интервала;
FBh - пакет данных принят или передан, но ECB находится во внутренней очереди IPX в ожидании завершения обработки.
Слайд 47Программа может постоянно опрашивать поле InUse, ожидая завершения процесса передачи
или приема данных. Как только в этом поле окажется нулевое
значение, программа может считать, что запрошенная функция выполнена. Результат выполнения можно получить в поле CCode.
Слайд 48Поле CCode
После выполнения функции IPX (после того, как в поле
InUse будет нулевое значение) содержит код результата выполнения.
Слайд 49Если с данным ECB была связана команда приема пакета, в
поле CCode могут находиться следующие значения:
00
- пакет был принят без ошибок;
FFh - указанный в ECB сокет не был
предварительно открыт программой;
FDh - переполнение пакета: либо поле
количества фрагментов в пакете
FragmentCnt равно нулю, либо
буферы, описанные дескрипторами
фрагментов, имеют недостаточный
размер для записи принятого пакета;
FCh - запрос на прием данного пакета был
отменен специальной функцией
драйвера IPX.
Слайд 50Если ECB использовался для передачи пакета, в поле CCode после
завершения передачи могут находиться следующие значения:
00
- пакет был передан без ошибок (что, кстати, не означает, что пакет был доставлен по назначению и успешно принят станцией-адресатом, так как протокол IPX не обеспечивает гарантированной доставки пакетов);
FFh - пакет невозможно передать физически из-за неисправности в сетевом адаптере или в сети;
FEh - пакет невозможно доставить по назначению, так как станция с указанным адресом не существует или неисправна;
FDh - сбойный: либо имеет длину меньше 30 байт, либо первый фрагмент пакета по размеру меньше размера стандартного заголовка пакета IPX, либо поле количества фрагментов в пакете FragmentCnt равно нулю;
FCh - запрос на передачу данного пакета был отменен специальной функцией драйвера IPX.
Слайд 51Обратим еще раз ваше внимание на то, что, даже если
код завершения в поле CCode равен нулю, это не гарантирует
успешной доставки пакета адресату.
Из-за чего пакет может не дойти до адресата? Во-первых, пакет может быть потерян в процессе передачи по кабелю. Во-вторых, станция, адрес которой указан в заголовке пакета, может не работать или такой станции может вообще не быть в указанной сети. В-третьих, станция-адресат может не ожидать пакет на указанном сокете.
Слайд 52Одна из интересных особенностей при передаче пакетов заключается в том,
что вы можете передавать пакеты "сами себе", т. е. передающая
и принимающая программы могут работать на одной и той же станции и использовать один и тот же сокет.
Слайд 53Поле Socket
Cодержит номер гнезда, связанный с данным ECB. Если ECB
используется для приема, это поле содержит номер гнезда, на котором
выполняется прием пакета. Если же ECB используется для передачи, это поле содержит номер гнезда передающей программы. Заполняется в прикладной программе и используется протоколом IPX для заполнения поля SourceSocket пакета IPX.
Слайд 54Поле IPXWorkspace
Зарезервировано для использования драйвером IPX.
Слайд 55Поле DriverWorkspace
Зарезервировано для использования драйвером сетевого адаптера.
Слайд 56Поле ImmAddress
Поле ImmAddress (Immediate Address - непосредственный адрес) содержит адрес
узла в сети, в который будет направлен пакет. Если пакет
передается в пределах одной сети, поле ImmAddress будет содержать адрес станции-получателя (такой же, как и в заголовке пакета IPX). Если же пакет предназначен для другой сети и будет проходить через мост, поле ImmAddress будет содержать адрес этого моста в сети, из которой передается пакет.
Слайд 57Поле FragmentCnt
Устанавливается прикладной программой и содержит количество фрагментов, на
которые надо разбить принятый пакет или из которых надо собрать
передаваемый пакет, т.е. в программе можно указать отдельные буферы для приема/передачи заголовка и данных пакета. В этом случае значение поля FragmentCnt должно быть равно 2.
Слайд 58Значение, записанное в поле FragmentCnt, не должно быть равно нулю.
Если в этом поле записано значение 1, весь пакет вместе
с заголовком записывается в один общий буфер.
Слайд 59Сразу вслед за полем FragmentCnt располагаются дескрипторы фрагментов, состоящие из
указателя в формате [сегмент:смещение] на фрагмент Address и поля размера
фрагмента Size.
Если программе надо разбить принятый пакет на несколько частей, она должна установить в поле FragmentCnt значение, равное количеству требуемых фрагментов. Затем для каждого фрагмента необходимо создать дескриптор, в котором указать адрес буфера и размер фрагмента. Аналогичные действия выполняются и при сборке пакета перед передачей из нескольких фрагментов.
Слайд 60Самый первый фрагмент не должен быть короче 30 байт, так
как там должен поместиться заголовок пакета IPX.
Слайд 61Протокол IPX определяет самый быстрый уровень передачи в сетях NetWare.
Он относится к классу дейтаграммных протоколов, т.е. без установления соединения.
Прикладной программе не требуется устанавливать специальное соединение с получателем.
Достоинства IPX
Подведём итоги по первой части
Слайд 62Недостатки IPX
Не гарантирует доставку данных.
Не гарантирует сохранение правильной последовательности приема
пакетов.
Не подавляет прием дублированных пакетов.
Обработка ошибок, возникающих при передаче пакетов
IPX, возлагается на прикладную программу.
Слайд 63Большие накладные расходы на служебную информацию. Сравнительно небольшая максимальная длина
поля данных IPX-пакета (546 байт при длине заголовка 30 байт)
приводит к тому, что как минимум 5 % данных являются служебными.
Время жизни пакета ограничено числом 15, что может оказаться недостаточным для большой сети (для сравнения, в IP-сетях пакет может пройти до 255 промежуточных маршрутизаторов).
Слайд 64Дополнительный трафик, возникающий из-за того, что активные рабочие станции используют
часто генерируемые широковещательные пакеты для подтверждения своего присутствия в сети.
При наличии множества серверов NetWare и нескольких сотен клиентов применяемые протоколом IPX широковещательные пакеты типа "я здесь" могут создавать значительный сетевой трафик .
Слайд 67Общие сведения
Транспортный протокол SPX (Sequenced Packet eXchange) ориентирован на установление
соединения. Протокол обрабатывает пакет SPX.
Слайд 68Для некоторых приложений (например, для программ, передающих файлы между рабочими
станциями) удобнее использовать сетевой протокол более высокого уровня SPX, обеспечивающий
гарантированную доставку пакетов в правильной последовательности. Разумеется, ваша программа может сама следить за тем, чтобы все переданные пакеты были приняты. Однако в этом случае вам придется делать собственную надстройку над протоколом IPX - собственный протокол передачи данных.
Преимущества использования SPX
Слайд 70Пакет, передаваемый при помощи протокола SPX, имеет более длинный заголовок.
Дополнительно к 30 байтам стандартного заголовка пакета IPX добавляется еще
12 байт.
Первые десять полей пакета совпадают с заголовком пакета IPX. Рассмотрим остальные поля заголовка SPX.
Отличия форматов IPX и SPX
Слайд 71Управление потоком данных (ConnControl)
Содержит набор битовых флагов, управляющих передачей данных
по каналу SPX.
Слайд 74Тип данных в пакете
(DataStreamType)
Состоит из однобитовых флагов, которые используются
для классификации данных, передаваемых или принимаемых при помощи протокола SPX.
Слайд 77Идентификатор канала отправителя
(SourceConnID)
Содержит номер канала связи передающей программы, присвоенный протоколом
SPX при создании канала связи. Полем управляет протокол SPX.
Слайд 78Идентификатор канала получателя
(DestConnID)
Содержит номер канала связи принимающей стороны. Так как
все пакеты, приходящие на один номер гнезда, могут принадлежать разным
каналам связи (на одном гнезде можно открыть несколько каналов связи), то приходящие пакеты следует классифицировать по номеру канала связи. Полем управляет протокол SPX.
Слайд 79Счетчик переданных пакетов
(SeqNumber)
Содержит счетчик пакетов, переданных по каналу в одном
направлении. На каждой стороне канала используется свой счетчик. При достижении
значения FFFFh счетчик сбрасывается в 0. После чего процесс счета продолжается. Содержимым поля управляет протокол SPX.
Слайд 80Номер следующего пакета
(AckNumber)
Содержит номер следующего пакета, который должен быть принят
протоколом SPX. Содержимым этого поля управляет протокол SPX.
Слайд 81Количество буферов для приема
(AllocNumber)
Содержит количество буферов, отведенных программой для приема
пакетов. Содержимым этого поля управляет протокол SPX.
Слайд 82Для протокола используется точно такой же блок ECB, что и
для протокола IPX.
Так как для обработки системных пакетов протокол гарантированной
доставки SPX использует те же блоки ECB, что и для приема прикладных пакетов, должно обеспечиваться достаточное количество блоков ECB в очереди на прием пакетов.
Слайд 83Протокол SPX позволяет осуществить от 100 до 2000 соединений одновременно
(по умолчанию это число равно 1000). Конфигурационные параметры SPX-протокола (и
сети) хранятся в файлах shell.cfg и net.cfg.
Слайд 84В 1992 году была разработана новая версия SPX - SPX
II. Главное усовершенствование протокола связано с применением пакетов большего размера.
Раньше длинные spx-пакеты фрагментировались и пересылались по частям.
В Ethernet пакет SPX II может иметь длину 1518 байт. SPX II допускает использование технологии окон, то есть можно послать несколько кадров, не дожидаясь получения подтверждения на каждый из уже посланных.
SPX II
Слайд 85На основе протокола SPX работают утилита удаленной консоли и службы
печати фирмы Novell. Удаленная консоль позволяет рабочей станции администратора видеть
ту же информацию, которая отображается на консоли файл-сервера NetWare, благодаря чему пользователь может удаленно выполнять системные команды сервера, не находясь за его клавиатурой.
Слайд 86Достоинства SPX
Надежность передачи пакетов:
Гарантирует доставку данных.
Гарантирует сохранение правильной последовательности приема
пакетов.
Подавляет прием дублированных пакетов.
Подведём итоги по второй части
Слайд 87Прикладной уровень стека IPX/SPX составляют два протокола: NCP и SAP.
Протокол NCP (NetWare Core Protocol) поддерживает все основные службы операционной
системы Novell NetWare - файловую службу, службу печати и т. д.
Взаимодействие уровней стека IPX/SPX
Слайд 88Протокол SAP (Service Advertising Protocol) выполняет вспомогательную роль. С помощью
протокола SAP каждый компьютер, который готов предоставить какую-либо службу для
клиентов сети, объявляет об этом широковещательно по сети, указывая в SAP-пакетах тип службы (например, файловая), а также свой сетевой адрес. Наличие протокола SAP позволяет резко уменьшить административные работы по конфигурированию клиентского программного обеспечения, так как всю необходимую информацию для работы клиенты узнают из объявлений SAP (кроме маршрутизаторов по умолчанию, о которых можно узнать с помощью протокола IPX).
Слайд 89В стеке Novell прикладные протоколы NCP и SAP взаимодействует с
сетевым уровнем непосредственно, минуя транспортный протокол SPX. Поэтому роль мультиплексора-демультиплексора
прикладных протоколов приходится выполнять протоколу IPX, для чего в его пакете необходимо передавать номер сокета прикладного протокола. Протоколы NCP и SAP не пользуются услугами SPX для ускорения работы стека, а скорость работы на маломощных персональных компьютерах начала 80-х годов была одной из основных целей компании Novell.
Слайд 90Особенности протоколов IPX/SPX обусловлены особенностями ОС NetWare, ориентацией ее ранних
версий (до 4.0) на работу в локальных сетях небольших размеров,
состоящих из персональных компьютеров со скромными ресурсами. Novell нужны были протоколы, на реализацию которых требовалось минимальное количество оперативной памяти и которые бы быстро работали на процессорах небольшой вычислительной мощности.
Подведем общий итог
Слайд 91Протоколы стека IPX/SPX до недавнего времени хорошо работали в локальных
сетях и не очень - в больших корпоративных сетях, т.к.
слишком перегружали медленные глобальные связи широковещательными пакетами, которые интенсивно используются несколькими протоколами этого стека (например, для установления связи между клиентами и серверами).
Слайд 92Протоколы IPX/SPX широко используются в серверах NetWare до 4-й версии
включительно. Начиная с версии NetWare 5.0, компания Novell предлагает пользователям
переходить на стек протоколов TCP/IP. В настоящее время именно эти протоколы являются основными для версий NetWare 6.0 и выше, при этом пользователи могут по-прежнему применять протоколы IPX/SPX, в частности, для совместимости с устаревшими серверами и оборудованием (например, с принтерами).
Слайд 93Прикладные программы могут обращаться непосредственно к уровню IPX, например, для
посылки широковещательных сообщений, но значительно чаще работают с уровнем SPX,
гарантирующим быструю и надежную доставку пакетов. Фирмой Microsoft предложена своя реализация IPX/SPX, называемая NWLink.