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



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


Вначале устанавливается в 0 прикладной программой.

Поле Ccode содержит код результата выполнения функции API-интерфейса.

4Link-указатель на следующий ECB

4ESRAddress-адрес программы ESR

1InUse-флаг состояния ECB

1CCode-код завершения запроса

2Socket-номер гнезда для приёма или передачи

4IPXWorkspace-рабочий буфер для IPX

12DriverWorkspace-рабочий буфер

6ImmAddress-адрес той станции сегмента, которой непосредственно передаётся пакет

2FragmentCnt-количество фрагментов в пакете. Каждая следующая пара полей образует дескриптор фрагмента

4 Address-адрес 1-го фрагмента

2 Size-размер 1-го фрагмента

4 Address-адрес 2-го фрагмента

2 Size-размер 2-го фрагмента

...... ........ и так далее

Рис 2.15. Формат блока ECB, используемого в функциях API-интерфейса

Поле Socket содержит номер гнезда. Если ECB используется для приёма, то это поле должно содержать номер гнезда принимающей программы. Если ECB используется для передачи, то поле содержит номер гнезда передающей программы. Заполняется в прикладной программе и используется протоколом IPX для заполнения поля SourceSocket пакета IPX (рисунок 2.14).

Поля IPXWorkspace и DriverWorkspace зарезервированы для использования протоколом IPX.

Поле ImmAddress содержит при передаче адрес узла сегмента, куда непосредственно будет направлен пакет. Если пакет передаётся в пределах одного сегмента, поле содержит адрес станции-получателя (такой же, как и в поле DestNode заголовка пакета IPX). Если пакет предназначен для другого сегмента и будет проходить через маршрутизатор, поле ImmAddress содержит адрес этого маршрутизатора. Если пакет предназначен всем узлам сегмента, то в поле указывается значение FFFFFFFFh. При передаче пакета это поле заполняется в прикладной программе. Важно отметить, что значение этого поля используется драйвером сетевого адаптера для формирования адреса-получателя в заголовке кадра.

При приёме поле ImmAddress содержит адрес станции сегмента, от которой пришёл пакет.


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