IPX (англ. internetwork packet exchange — межсетевой обмен пакетами) — протоколсетевого уровнямодели OSI в стеке протоколовIPX/SPX. Является производным от Xerox Network Services' IDP. Он так же может выступать как протокол транспортного уровня.
Набор протоколов IPX/SPX был наиболее популярным с конца 1980-х до средины 1990-х годов, так как использовался в Novell NetWare[1], а также потому, что для DOS и Windows (до Windows 95) из-за ограниченного размера основной области памяти (до 640 килобайт) было очень важно, что драйверы IPX занимают небольшой объём памяти. Ещё одним преимуществом IPX является простота настройки на клиентских компьютерах. Но IPX плохо масштабируется для больших сетей, таких как Интернет, в то время как TCP/IP стало более универсальным решением. Компьютеры и сети используют несколько сетевых протоколов, что позволяет почти всем сайтам на IPX работать по протоколу TCP/IP, чтобы обеспечить подключение к интернету[2]. Так же можно запускать и более поздние продукты Novell без IPX, с полной поддержкой IPX и TCP/IP компанией Novell NetWare версии 5[3].
Описание
Главным преимуществом IPX является то, что он практически не нуждается в настройке. В то время, когда протоколы для динамической конфигурации хоста не существовали и протокол BOOTP не был распространен, сеть IPX могла быть настроена почти автоматически. Клиентский компьютер использовал MAC-адрес своей сетевой карты в качестве адреса узла и узнавал то, что ему надо было знать о топологии сети от серверов или маршрутизаторов. Маршруты распространяются по протоколу RIP, а услуги — по протоколу SAP[англ.].
Структура пакета IPX
У каждого пакета IPX есть заголовок с данной структурой:
Тип пакета может быть следующим:
IPX-адресация
IPX-адресация имеет следующую структуру:
Номер сети
Номер сети позволяет связывать узлы IPX, которые не принадлежат одной сети или кабельной системе.
- Логическим сетям присваивается уникальный 32-битный адрес в диапазоне от 0x116 до 0xFFFFFFFE16
- У хостов 48-битный адрес узла, который изначально является последними 4 знаками MAC-адреса. Адрес узла добавляется для создания уникального локального сетевого адреса.
- Номер сети 00:00:00:00 означает текущую сеть.
- Широковещательный адрес — FF:FF:FF:FF.
Номер узла
Номер узла используется для обращения к определённому компьютеру (сетевому интерфейсу) в данной сети. Клиентские компьютеры используют свой MAC-адрес в качестве номера узла.
Значение FF:FF:FF:FF:FF:FF может быть использовано в качестве номера узла, чтобы передать пакет всем узлам в текущей сети.
Номер сокета
Наличие номера сокета в адресе IPX позволяет IPX работать как протокол транспортного уровня, похожий на UDP
Типы кадров
IPX может передаваться по сети интернет при помощи 4 типов кадров:
- 802.3 (raw) содержит заголовок IEEE 802.3, затем — IPX-данные. Он используется в старых системах и может быть выявлен по первым двум байтам IPX 0xFFFF.
- 802.2 (LLC или Novell) содержит заголовок IEEE 802.3, затем — заголовок LLC, а потом — IPX-данные. Поле заголовка LLC 0xE0 обозначает «NetWare».
- 802.2 (SNAP) содержит заголовок IEEE 802.3, затем — заголовок LLC, затем — заголовок SNAP, а потом — IPX-данные. Поле заголовка LLC 0xAA обозначает «SNAP», а поле OUI 0x000000 в SNAP указывает на EtherType.
- Ethernet II (Ethernet DIX) включает заголовок Ethernet II, а за тем следуют IPX-данные.
В сетях, отличных от Ethernet, доступны только 2 типа кадров 802.2 и SNAP.
Примечания
- ↑Simson Garfinkel, Gene Spafford. Practical UNIX and Internet Security. — 2nd. — O'Reilly Media, 1996. — «It does not scale well to large networks such as the Internet».
- ↑Do you still support IPX/SPX on your Windows servers? TechRepublic (12 февраля 2001). Архивировано 10 июля 2012 года.
- ↑Maintaining IPX Compatibility During a Migration to TCP/IP on a NetWare NetworkАрхивная копия от 7 января 2021 на Wayback Machine. support.novell.com.