Операционная система NetWare




Набор протоколов IPX/SPX - часть 5


Фирма Novell предлагает API-интерфейсы для работы по протоколу IPX на рабочей станции и файловом сервере. В таблице 2.3 перечислены примитивы (функции) этих интерфейсов.

Как видно из таблицы 2.3, имена многих примитивов совпадают для программ на рабочей станции и для NLM-модулей файлового сервера.

Следует отметить, что для поддержки на файловом сервере служб протокола IPX используется библиотека CLIB.NLM. Для организации доступа к этим службам следует дополнительно загрузить NLM-модуль IPXS.NLM в стек протоколов, основанных на STREAMS.

Протокол IPX определяет самый быстрый уровень передачи данных в сетях NetWare. Он относится к классу датаграммных протоколов типа "точка-точка" без установления соединения. Это означает, что вашей прикладной программе не требуется устанавливать специальное соединение с получателем. Впрочем IPX имеет несколько недостатков:

  • не гарантирует доставку данных,

  • не гарантирует сохранения правильной последовательности приёма пакетов,

  • не подавляет приём дублированных пакетов.

    Т. е. обработка ошибок, возникающих при передаче пакетов IPX, возлагается на прикладную программу, принимающую пакеты.

    Указанных недостатков не имеет протокол транспортного уровня SPX (Sequenced Packet eXchange), ориентированный на установление соединения. Протокол SPX обрабатывает пакет SPX, формат которого представлен на рисунке 2.16.


    2

    Checksum

    -
    ПОЛЯ IPX
    контрольная сумма

    2Length -общая длина пакета

    1TransportControl-счетчик пройденных маршрутизаторов

    1PacketType-тип пакета

    4DestNetwork-номер сети получателя пакета

    6DestNode-адрес станции-получателя

    2DestSocket-гнездо программы-получателя

    4SourceNetwork-номер сети отправителя пакета

    6SourceNode-адрес станции-отправителя

    2SourceSocket-гнездо программы-отправителя


    1

    ConnControl

    -
    ПОЛЯ SPX
    управление потоком данных

    1DataStreamType-тип данных в пакете

    2SourceConnID-идентификатор канала отправителя

    2DestConnID-идентификатор канала получателя

    2SeqNumber-счётчик переданных пакетов

    2AckNumber-номер следующего пакета

    2AllocNumber-количество буферов для приёма

    длинаData-передаваемые данные

    <


    Содержание  Назад  Вперед