ZuboLom.ru

Протокол IPX

IPX (Internet Packet eXchange) – межсетевой обмен пакетами. Протокол IPX реализует сетевой уровень модели OSI в сетях Novell NetWare. Он является прямым наследником XNS от Xerox, то есть это адаптация протокола Xerox к сетям NetWare. Появился в 80-е годы. IPX позволяет посылать и принимать пакеты данных в межсетевой среде (Internet) "прозрачным" образом. Для этого каждый узел в сети (состоящий из нескольких сегментов) имеет уникальный межсетевой адрес. IPX поддерживает только датаграммный метод обмена между WS, без установления логического соединения. В 95% случаев доставка успешна. Для обеспечения гарантированной доставки на базе протокола IPX, могут быть созданы протоколы более высоких уровней модели OSI. IPX поддерживается всеми канальными протоколами. IPX должен помещаться в пакетах этих протоколов.

Адрес узла 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. Все многобайтовые поля используют перевернутый формат. Остальные поля будут заполнены автоматически.