IPX (англ internetwork packet exchange — межсетевой обмен пакетами) — протокол сетевого уровня модели OSI в стеке протоколов IPX/SPX. Предназначен для передачи датаграмм. Для передачи данных установки соединения не требуется (так же, как для IP и NetBIOS). Обеспечивает связь между серверами с сетевой операционной системы NetWare и конечными станциями.
Стек протоколов IPX/SPX был разработан компанией «Novell» для её проприетарной сетевой ОС NetWare. За основу IPX был взят протокол IDP из стека протоколов Xerox Network Services.
С конца 1980-х и до середины 1990-х годов сети на основе IPX были широко распространены из-за большой популярности сетевой ОС NetWare. Однако в дальнейшем с развитием интернета и стека TCP/IP оригинальный транспортный протокол SPX от «Novell» не способствовал успеху IPX-сетей. Из-за стремительного роста популярности сетей на основе TCP/IP в настоящее время протокол IPX имеет шансы исчезнуть.
В качестве адреса хоста IPX использует идентификатор, образованный из четырёхбайтного номера сети (назначаемого маршрутизаторами) и MAC-адреса сетевого адаптера.
IPX адресация
Логическим сетям присваивается уникальный 32-разрядный адрес в диапазоне 0x1 – 0xFFFFFFFE.
- Хосты имеют 48-разрядный адрес узла, являющийся MAC-адресом сетевого адаптера. Адрес узла добавляется к адресу сети для создания уникального идентификатора хоста в сети.
- Номер сети 00:00:00:00 означает текущую сеть.
Широковещательный адрес — FF:FF:FF:FF.
- У каждого пакета IPX есть заголовок с данной структурой:
Байты | Поле |
---|---|
2 | Контрольная сумма (Всегда 0xFFFF — без проверки контрольной суммы) |
2 | Размер пакета (включая сам заголовок IPX) |
1 | Транспортный контроль (количество передач) |
1 | Тип пакета |
12 | Адрес назначения |
12 | Адрес отправки |
Тип пакета может быть следующим:
Значение | Значение/Протокол |
---|---|
0 | Неизвестный |
1 | RIP |
2 | Эхо-пакет
(аналог ICMP) |
3 | Пакет-ошибка |
4 | PEP |
5 | SPX |
17 | NCP |
Стек IPX / SPX
На физическом и канальном уровнях в сетях Novell используются все популярные протоколы этих уровней (Arcnet, Ethernet, Token Ring, FDDI и другие).
На сетевом уровне в стеке Novell работает протокол IPX, а также протоколы обмена маршрутной информацией RIP и NLSP (аналог протокола OSPF стека TCP/IP). IPX является протоколом, который занимается вопросами адресации и маршрутизации пакетов в сетях Novell. Маршрутные решения IPX основаны на адресных полях в заголовке его пакета, а также на информации, поступающей от протоколов обмена маршрутной информацией. Например, IPX использует информацию, поставляемую либо протоколом RIP, либо протоколом NLSP (NetWare Link State Protocol) для передачи пакетов компьютеру назначения или следующему маршрутизатору. Протокол IPX поддерживает только дейтаграммный способ обмена сообщениями, за счет чего экономно потребляет вычислительные ресурсы. Итак, протокол IPX обеспечивает выполнение трех функций: задание адреса, установление маршрута и рассылку дейтаграмм.
Транспортному уровню модели OSI в стеке Novell соответствует протокол SPX, который осуществляет передачу сообщений с установлением соединений.
На верхних прикладном, представительном и сеансовом уровняхработают протоколы NCP и SAP. Протокол NCP (NetWare Core Protocol) является протоколом взаимодействия сервера NetWare и оболочки рабочей станции. Этот протокол прикладного уровня реализует архитектуру клиент-сервер на верхних уровнях модели OSI. С помощью функций этого протокола рабочая станция производит подключение к серверу, отображает каталоги сервера на локальные буквы дисководов, просматривает файловую систему сервера, копирует удаленные файлы, изменяет их атрибуты и т.п., а также осуществляет разделение сетевого принтера между рабочими станциями.
SAP (Service Advertising Protocol) – протокол объявления о сервисе – концептуально подобен протоколу RIP. Подобно тому, как протокол RIP позволяет маршрутизаторам обмениваться маршрутной информацией, протокол SAP дает возможность сетевым устройствам обмениваться информацией об имеющихся сетевых сервисах.
Серверы и маршрутизаторы используют SAP для объявления о своих сервисных услугах и сетевых адресах. Протокол SAP позволяет сетевым устройствам постоянно корректировать данные о том, какие сервисные услуги имеются сейчас в сети. При старте серверы используют SAP для оповещения оставшейся части сети о своих услугах. Когда сервер завершает работу, то он использует SAP для того, чтобы известить сеть о прекращении действия своих услуг.
Стек протоколов IPX/SPX реализован сетевой операционной системы NetWare, поставляемой компанией «Novell» с 1983 года, и считается развитием стека протоколов Xerox Network Systems компании «Xerox». IPX/SPX считался оптимальным для применения в локальных вычислительных сетях, в то время как TCP/IP предполагался более эффективным для глобальных сетей.
К концу 1990-х TCP/IP, являвшийся общепринятым стеком интернета, фактически вытеснил IPX/SPX и из локальных вычислительных сред. Стек IPX/SPX никогда не имел применения в глобальных сетях.
В настоящее время протокол не является обязательным к использованию в сетях Netware (начиная с версий 4.x).
Протокол IPX является одним из наиболее легко настраиваемых протоколов сетевого уровня. Номер сети задается администратором только на серверах, а номер узла автоматически считывается из сетевого адаптера компьютера. Административные издержки при конфигурировании сети сводятся из-за этого к минимуму. При этом отпадает необходимость в использовании протокола типа ARP, выясняющего соответствие между сетевыми адресами узлов и их MAC-адресами. Однако при смене сетевого адаптера нужно скорректировать адрес узла, если для его выяснения используется справочная служба типа NDS. Отсутствие протокола ARP повышает производительность сети, так как не тратится время на выполнение ARP-запросов и ARP-ответов.