Адрес узла IPX состоит их трех компонент:
- Номер сети – идентифицирует каждую отдельную сеть со своими FS в интерсети, устанавливается при генерации сетевой ОС;
- Адрес узла – уникальный идентификатор каждой сетевой платы, установленной на WS;
- Socket (кому) – определяет прикладную программу, с которой осуществляется взаимодействие в сети.
На одной WS может быть одновременно открыто несколько гнезд, через которые осуществляется взаимодействие с прикладными программами. Для отправки сообщения необходимо указать все три компонента адреса: узел, сеть,socket. А для получения сообщения достаточно указать только номер гнезда.
Пакет состоит из двух частей: заголовка (30 байт) и блока данных (0-546 байт).
Структура пакета IPX:
Длина в байтах | |
Контрольная сумма | 2 |
Длина | 2 |
Управление транспортом | 1 |
Тип пакета | 1 |
Сеть назначения | 4 |
Узел назначения | 6 |
Гнездо назначения | 2 |
Исходная сеть | 4 |
Исходный узел | 6 |
Исходное гнездо | 2 |
Поле данных | 0-546 |
Заголовок - блок управления и блок адресации. Контрольная сумма сейчас не используется. Нужна была для контроля достоверности. Применяется в XNS для контроля ошибок. Сейчас устанавливается в FF.
Длина – содержит размер всего пакета, включая заголовок. Устанавливается автоматически.
Управление транспортом – сначала всегда устанавливался в 0 а затем к нему добавляется 1 при прохождении каждого моста NetWare. Максимальное число мостов 16.
Тип пакета – определяет тип информации, которая передается в поле данных. Для обмена пакетами 04. если используется вложенный протокол SPX, то 05. 16-31 резерв, который использует TCP/IP.
Сеть назначения – идентифицирует сеть, где расположена WS получателя. Если 0 – то это та же сеть где находится WS отправителя. Мосты не будут использоваться. Поле устанавливается программно.
Узел назначения - определят физический адрес WS в сети, который посылает пакет. Если для адреса используется не все 5 байт, то поле дополняется 0 (старшая часть). Установка этого поля в FFFF означает, что пакет адресуется всем узлам указанной сети (устанавливается программистом).
Гнездо назначения - содержит номер гнезда в программе, которое будет принимать пакет. Поле устанавливается программистом по предварительной договоренности с получателем. Не рекомендуется использовать socket’ы выше 8000.
Исходная сеть – номер сети, в которой находится WS отправителя. Устанавливается автоматически.
Исходный узел – физический адрес узла-источника. Устанавливается автоматически.
Исходное гнездо – устанавливается номер гнезда, открытого программой, которое будет использоваться для передачи. Устанавливается автоматически.
Поле данных - сообщение, подлежащее передаче.
Все поля содержат свои значения в HL. Все многобайтовые поля используют перевернутый формат. Остальные поля будут заполнены автоматически.