IPX
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 есть заголовок с данной структурой:
Байты | Поле |
---|---|
2 | Контрольная сумма (Всегда 0xFFFF — без проверки контрольной суммы) |
2 | Размер пакета (включая сам заголовок IPX) |
1 | Транспортный контроль (количество передач) |
1 | Тип пакета |
12 | Адрес назначения |
12 | Адрес отправки |
Тип пакета может быть следующим:
Значение | Значение/Протокол |
---|---|
0 | Неизвестный |
1 | RIP |
2 | Эхо-пакет |
3 | Пакет-ошибка |
4 | PEP |
5 | SPX |
17 | NCP |
IPX-адресация
[править | править код]IPX-адресация имеет следующую структуру:
Байты | Поле |
---|---|
4 | Номер сети |
6 | Номер узла |
2 | Номер сокета |
Номер сети
[править | править код]Номер сети позволяет связывать узлы 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
Номер сокета | Протокол |
---|---|
0x0001-0x0BB8 | Зарегистрирован компанией Xerox |
0x0001 | информация по маршрутизации пакетов |
0x0002 | Пакет обработки эхо |
0x0003 | Пакет обработки ошибок |
0x0020-0x003F | Экспериментальный |
0x0BB9-0xFFFF | Динамическое назначение |
0x0451 | NetWare Core Protocol |
0x0452 | SAP |
0x0453 | RIP |
0x0455 | NetBIOS |
0x0456 | Пакет диагностики |
0x0457 | Пакет стерилизации |
0x4000-0x4FFF | Динамически назначаемые имена сокетов |
0x4003 | Используется Novell NetWare клиентами |
0x8000-0xFFFF | Статически присвоенные номера сокетов |
0x8060 | IPX |
0x9091 | TCP чрез IPXF |
0x9092 | UDP чрез IPXF |
0x9093 | IPXF, IPX протокол фрагментации |
Типы кадров
[править | править код]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.