Основная задача протокола IPX - это мультиплексирование и демультиплексирование.
Сокет – это адрес прикладной программы. Номера сокетов в диапазоне 0х00-0х4000 – это адреса, используемые фирмой Novell для фирменных протоколов. Разработчики сетевого программного обеспечения назначают программам адреса, лежащие в диапазоне 0х4001-0х8000. Адреса, начинающиеся с адреса 0х8001 – это адреса, назначаемые персонально фирмой Novell прикладным программам.
Назначение поля «управление транспортировкой» - отслеживание «заблудившихся» пакетов данных в ЛВС. Максимальное значение поля равно 16. при прохождении маршрутизатора значение увеличивается на единицу. Когда значение этого поля становится равным 16, считается, что пакет «заблудился».
Содержимое поля «тип пакета» указывает на то, между каким программным обеспечением происходит обмен данными. Например, если обмен осуществляется между прикладными программами, то значение поля равно 4.
Назначение протокола SPX – передача подтверждений. Формат пакета SPX приведен на рис. 12.2. Последовательный обмен пакетами SPX обеспечивает возможность повторной передачи и тайм-аута, отсутствующие в IPX. Он ориентирован:
· на доставку сообщений, возможно, состоящих из нескольких пакетов,
· доставку нумерованных пакетов без идентификации границ сообщения,
· передачу последовательности пакетов с сохранением порядка поступления, но без дублирования.
Сетевой уровень
Пакет, сформированный на транспортном уровне
управление связью
тип потока данных
идентификация канала отправителя
идентификация канала получателя
последовательный номер
номер квитанции
максимальный номер
данные
Рис. 12.2. Формат пакета SPX.
Поля "Идентификатор канала" предназначены для установления номера виртуального канала. При установлении канала SPX-источник создает пакет, в котором указывает свое значение идентификатора связи. В поле приемника это значение еще неизвестно, и равно нулю. SPX-приемник, принимая пакет, назначает свой идентификатор, который помещается в первый ответный пакет. Специальный системный пакет-подтверждение не требуется. Важно отметить, что все виртуальные каналы в этом случае "висят" на одном сокете IPX и только номера каналов позволяют их различить.
Далее наступает фаза передачи данных нумерованными пакетами, которые квитируются с помощью поля квитанции. В этом поле указывается номер ожидаемого пакета. Квитирование возможно на отдельный пакет (как в протоколе SPX) либо на целую последовательность пакетов (протокол XSIS). Исключение составляют пакеты с установленным битом "Послать подтверждение" (бит 2) в поле "Управление связью", который квитируется немедленно. Остальные биты в поле управления связью используются следующим образом. Первый бит указывает на системный пакет, 3-й означает "внимание" и игнорируется самим протоколом, так же как и 4-й бит, означающий конец сообщения. Оба эти бита передаются в неизменном виде прикладной программе.
Поле "Максимальный номер" служит для управления потоком данных и указывает на наибольший номер пакета, который принимающая станция может использовать при сборке сообщения. Значение этого поля увеличивается после каждого квитирования.
Поле "Тип потока данных" необходимо для выбора прикладной программы.
Основная разница между IPX и SPX состоит в том, что заголовки и дополнительные операции, предусмотренные в SPX, обеспечивают гарантированную доставку пакетов. Гарантированная доставка означает в данном случае выполнение некоторого числа повторных попыток передачи адресату запроса на установку соединения, пока число повторных передач нс превысит некоторое заранее зарезервированное число псрсзапросов (в этом случае передавшему запрос посылается уведомление). При пересылке нумерованного пакета также используется механизм повторной передачи при наступлении тайм аута на поступление квитанции. Таким образом, передающей стороне не нужно проверять доставку пакета. SPX будет уведомлять прикладную программу о состоянии передачи.
Обновленная версия протокола SPX называется SPX II. По сравнению с SPX протокол SPX II обладает повышенными возможностями в области обработки больших пакетов данных. Различные сети могут обрабатывать различные размеры пакетов. Многие сети могут обрабатывать пакеты с размером, превышающим 576 байт (размер пакета SPX и XSIS). Заголовок пакета SPX размером 42 байта оставляет для данных только 534 байта в одном пакете. Если требуется послать больше данных, то нужно подготовить и передать другой пакет SPX. При передаче большого объема информации наиболее эффективным является увеличение размера пакета. Протокол SPX II автоматически использует преимущества тех сетей, которые допускают передачу пакета большего размера, т. е. подстраивать длину передаваемого пакета.
Другим реализованным в SPX II средством является механизм окна. Окно организуется, когда нужно передать несколько пакетов с одной квитанцией для всех пакетов. Число передаваемых пакетов может быть различным ( это называется размером окна). Если один из пакетов не получен, запрос на этот пакет может быть возвращен передающему узлу.
Все рассмотренные механизмы позволяют уменьшить сетевой трафик и ускорить процесс передачи данных.
Все эти средства обеспечивают высокую гарантию достоверности передачи информации по сети.