Протокол IPX
Создавая систему NetWare, компания Novell разработала собственный набор протоколов, называемый обычно IPX (Internetwork Packet Exchange) пo имени протокола сетевого уровня. Протоколы IPX никогда не публиковались в виде открытых стандартов, подобных TCP/IP или Ethernet, и по сей день остаются собственностью Novell. Файловые и принтерные службы ядра NetWare основывались исключительно на этих протоколах вплоть до 1998 г., когда компания Novell наконец-то включила в свою коммуникационную архитектуру протоколы TCP/IP. Корпорация Microsoft спроектировала собственную версию IPX независимо от Novell, чтобы обеспечить взаимодействие между NetWare и Windows.
Примечание Поддержка протоколов TCP/IP включена в NetWare давно, но их можно было использовать только со специально разработанными приложениями. Организовать совместное использование файлов и принтеров средствами TCP/IP можно было только с помощью процедуры туннелирования, т. е. передачи пакетов IPX внутри дейтаграмм IP. Полностью без протоколов IPX начала обходиться лишь версия NetWare 5, выпущенная в 1998 г. С тех пор протоколы IPX постепенно теряют популярность даже в NetWare, уступая дорогу TCP/IP.
|
|
IPX основан на протоколе IDP (Internetwork Datagram Packet), спроектированном для одной из самых первых сетей — Xerox Network System (XNS) и предназначен для работы в сетях NetWare. Протокол IPX не ориентирован на соединение. Он похож на IP в том смысле, что функционирует на сетевом уровне эталонной модели OSI и переносит по сети данные, сгенерированные другими протоколами. Тем не менее сам IPX и другие протоколы из этого стека предназначены для применения в ЛВС, тогда как протоколы TCP/IP спроектированы для сетей, которые в наши дни стали Интернетом. Это означает, что в IPX нет собственной системы адресации, подобной IP-адресации. Другие же функции протокола IP, например, маршрутизация и идентификация протокола, сгенерировавшего данные, в IPX также поддерживаются.
Заголовок IPX
Как и IP, IPX создает дейтаграмму, добавляя заголовок к данным, полученным от протоколов транспортного уровня. Заголовок IPX длиннее заголовка IP — 30 байтов против 20. Формат заголовка IPX показан на рис.
Назначение полей:
• Checksum (2 байта) — изначально это поле не применялось и всегда содержало шестнадцатеричную величину FFFF. Теперь в это поле записывается значение кода CRC, используемое для обнаружения ошибок.
• Length (2 байта) — полная длина дейтаграммы в байтах, с учетом данных и всех полей заголовка.
• Transport Control (1 байт) — число маршрутизаторов, уже пройденных дейтаграммой на пути к целевой системе.
• Packet Type (1 байт) — код протокола, создавшего информацию в поле данных.
• Destination Network Address (4 байта) — адрес сети, в которой расположена целевая система.
|
|
• Destination Node Address (6 байт) — аппаратный адрес целевой системы.
• Destination Socket (2 байта) — номер сокета, идентифицирующий приложение целевой системы, которому предназначена дейтаграмма.
• Source Network Address (4 байта) — адрес сети, в которой расположена система-источник.
• Source Node Address (6 байт) — аппаратный адрес системы-источника.
• Source Socket (2 байта) — номер сокета, идентифицирующий приложение системы-источника, которое создало дейтаграмму.
• Data (переменной длины) — информация, сгенерированная протоколом, код которого указан в поле Packet Type.
Поле Transport Control в заголовке IPX играет ту же роль, что и поле TTL в заголовке IP. Разница в том, что стартовое значение поля Transport Control равно 0 и увеличивается на 1 при передаче дейтаграммы через очередной маршрутизатор. Когда значение в этом поле достигает 16, пакет отбрасывается (при использовании динамической маршрутизации, основанной на протоколе NLSP, максимальное число транзитов может быть увеличено до 127).
В поле TTL заголовка IP, как Вы помните, записывается максимально допустимое число маршрутизаторов, которое с каждым пройденным маршрутизатором уменьшается на 1. Разница в функционировании двух этих полей отражает различие между IPX и IP в целом. IP ориентирован на неограниченный рост сети: систему можно сконфигурировать так, что она будет записывать в поле TTL большое значение. Например, в Windows-системах в это поле по умолчанию записывается число 128. IPX разрабатывался для небольших сетей, и в нем «пробег» пакета ограничен 16 шагами. Этого достаточно для большинства корпоративных сетей, но не для Интернета.
В поле Packet Type указан код протокола, сгенерировавшего информацию, которая записана в дейтаграмме. Коды предусмотрены как для протоколов верхних уровней NetWare, например NCP (NetWare Core Protocol), так и для протоколов RIP (Routing Information Protocol) и SAP (Service Advertising Protocol). Протоколом RIP серверы NetWare пользуются для обмена данными о маршрутизации, а протоколом SAP — для объявления по сети о своем существовании.