close

Вход

Забыли?

вход по аккаунту

?

25

код для вставкиСкачать
№25 Протоколы межсетевой передачи пакетов (IPX) и взаимодействия сервера с клиентской станцией (NCP). Протокол межсетевой передачи пакетов IPX.
Протокол IPX является протоколом третьего уровня без поддержки соединения, предназначенным для передачи дейтаграмм. Адаптирован из старого протокола межсетевых дейтаграмм (протокол IDP) стека Xerox (XNS).
Пакеты IPX адресуются и посылаются к своему месту назначения, но нет гарантии или проверки успешной доставки. Любое подтверждение пакета или управление соединением обеспечиваются протоколами выше IPX, такими как SPX.
Как протокол сетевого уровня IPX адресует и маршрутизирует пакеты из одного местоположения в другое при межсетевом обмене IPX. IPX принимает решения о маршрутизации, просматривая поля адресов заголовка и на основе информации, которую он получает из RIP или NLSP.
Пакет IPX состоит из двух частей. Первая часть является 30-байтовым заголовком, который содержит адреса сети, узла и сокета для машин источника и места назначения. Вторая часть является разделом данных, который иногда содержит заголовок протокола более высокого уровня, такого как SPX. Минимальный пакет IPX имеет 30 байтов (не считая заголовок MAC). Максимальный размер маршрутизированных пакетов IPX обычно имеет только 576 байтов, включая заголовок IPX и нагрузку данных. Однако при использовании IPX II это число возрастает до 1500 байтов. Cетевой уровень следует за заголовком MAC, поэтому IPX помещается после заголовка MAC и перед полезной нагрузкой. Рассмотрим структуру заголовка IPX (рис. 22.3).
Поле контрольной суммы используется для обеспечения целостности пакета.
Поле длины пакета является длиной заголовка IPX плюс длина данных в байтах. Длина пакета должна быть не менее 30 байтов.
Управление транспортом является числом маршрутизаторов, которые пересек пакет на пути к месту назначения. Посылающие узлы при создании пакета IPX всегда задают это поле как ноль. Далее на маршрутизаторах значение поля увеличивается на единицу и пакет передается дальше.
Поле типа пакета указывает вид службы, которая либо предлагается, либо требуется пакету. Сеть назначения является номером сети, к которой присоединен узел назначения. Когда посылающий компьютер задает это поле как 0x0, предполагается, что узел назначения находится в том же сетевом сегменте, что и посылающий узел. Существует особый случай, когда рабочая станция посылает широковещательные запросы протоколов маршрутизации SAP - Get Neareast Server (Найти ближайший сервер) и RIP - Get Local Target (Найти локального получателя) (или Route Request - Запрос маршрута) во время инициализации. Так как рабочая станция еще не знает, к какой сети принадлежит, она задает поля сети источника и сети назначения как 0 для этих запросов. Когда маршрутизатор получает один из этих запросов, он посылает ответ непосредственно посылающей рабочей станции, заполняя поля сети источника и сети назначения соответствующими сетевыми номерами. IPX не имеет номера сети широковещания (такого как OxFFFFFFFF). В дополнение к сетевому номеру 0 номера OxFFFFFFFF и OxFFFFFFFE зарезервированы для специальных целей. В связи с этим они не должны назначаться никакой сети IPX. Поле узла назначения содержит физический адрес узла назначения. Адрес узла OxFFFFFFFFFFFF посылает пакет всем узлам в сети назначения.
Поле сокета назначения является адресом сокета процесса назначения пакета. Эти сокеты будут направлять пакеты в различные процессы внутри одной машины. IPX не имеет широковещательного номера сокета (например, OxFFFF).
Поле сети источника является номером сети, к которой присоединен узел источника. Если посылающий узел задает это поле равным нулю, это означает, что локальная сеть машины источника неизвестна. Для маршрутизаторов правила, применяемые к полю сети назначения, также применимы к полю сети источника, за исключением того, что маршрутизаторы могут пересылать полученные пакеты, у которых это поле задано как ноль.
Поле узла источника - это адрес MAC узла источника. Адреса широковещания недопустимы.
Сокет источника - это адрес процесса, передающего пакет.
IPX имеет свою собственную адресацию узлов (для внутрисетевой работы) и внутриузловую адресацию. Для адресации узла IPX использует адрес MAC, который был присвоен карте сетевого интерфейса производителем самой карты.
Сетевой адрес IPX уникальным образом идентифицирует сервер IPX в сети IPX и отдельные процессы внутри сервера. Адрес IPX является 12-байтовым шестнадцатеричным числом, которое можно разделить на три части. Первая часть адреса IPX - самая длинная, это шестибайтовый аппаратный адрес сетевого адаптера. Последняя часть является двухбайтным номером сокета, который используется для ссылки на реальный выполняющийся на машине процесс. Каждый номер в адресе IPX содержится в поле в заголовке IPX и представляет сеть источника или места назначения, узел или сокет. Сетевой номер используется только для операций сетевого уровня, а именно, маршрутизации. Номер узла используется для локальной (или в том же сегменте) передачи пакетов. Номер сокета направляет пакет в процесс, действующий внутри узла.
Четырехбайтовый шестнадцатеричный адресный сетевой номер IPX используется для маршрутизации пакетов IPX. Каждому сегменту присваивается уникальный сетевой номер, используемый маршрутизатороми для пересылки пакетов к их конечному месту назначения в сети. Сетевой номер IPX может содержать до восьми цифр, включая нули, хотя ведущие нули обычно не выводятся. Например, 0x00003001, 0x12345678 и 0хВ9 являются действительными сетевыми номерами.
Сеть назначения пакета IPX является обычно сетью IPX, которой был присвоен уникальный сетевой номер. Однако три сетевых номера: 0x0, OxFFFFFFFF и OxFFFFFFFE зарезервированы, так как они имеют специальные значения. 0x00000000 Локальный сетевой сегмент. Источник и место назначения считаются находящимися в одном сегменте.
OxFFFFFFFF Это пакет запроса всех маршрутов.
OxFFFFFFFE Это используемый по умолчанию маршрут, который является местом назначения для всех пакетов IPX, которые имеют неизвестную сеть назначения.
RIP и NLSP распознают OxFFFFFFFE как используемый по умолчанию маршрут. В сети RIP маршрутизатор RIP, который соединяет LAN с большей сетевой инфраструктурой, такой как корпоративная магистраль, обычно объявляет используемый по умолчанию маршрут.
Номер узла является шестибайтовым шестнадцатеричным числом, используемым для уникальной идентификации устройства в среде IPX. Это число идентично физическому адресу платы сетевого интерфейса, который соединяет устройство с сетью. Заголовок IPX содержит поля узла назначения и узла источника. Поскольку номера узлов являются такими же, как адреса сетевой интерфейсной платы, эти поля содержат такие же адреса места назначения и источника, как находящиеся в заголовке MAC. Например, рабочая станция, выполняющая IPX/SPX, использует адрес узла назначения для определения места и пересылки пакетов другой рабочей станции в том же сетевом сегменте.
Номер узла IPX должен быть уникальным в том же сетевом сегменте.
Двухбайтовый шестнадцатеричный номер сокета идентифицирует место назначения процесса внутри узла
Когда процессу требуется коммуникация в сети, он запрашивает номер сокета. Все пакеты, полученные IPX и адресованные сокету, пересылаются затем процессу.
Примеры
Номер сокета Процесс
0x451 NCP
0x452 SAP
0x453 RIP
0x455 Novell NetBIOS
0x456 Диагностика
0x9001 NLSP
0x9004 Протокол IPXWAN
Сокеты под номерами между 0x4000 и 0x7FFF являются динамическими. Сокеты под номерами между 0x8000 и OxFFFF являются общеупотребительными. Когда соединяются различные сетевые сегменты IPX, инструкции для маршрутизации пакетов между этими сегментами приходят из протокола IPX. IPX выполняет эти функции уровня 3 с помощью RIP, SAP и NLSP. Если две рабочие станции находятся в одном сетевом сегменте, посылающая рабочая станция посылает пакеты прямо по физическому адресу рабочей станции назначения (т.е. по адресу MAC). Если две рабочие станции находятся в двух различных сетевых сегментах, то первая рабочая станция должна найти маршрутизатор в своем собственном сегменте, который знает, как переслать пакеты внешнему сегменту.
Чтобы найти этот крайне важный маршрутизатор, рабочая станция будет посылать широковещательный пакет RIP, запрашивающий самый быстрый маршрут к сегменту назначения. Если посылающим узлом является маршрутизатор, то он берет информацию из внутренней таблицы маршрутизации.
Когда посылающая рабочая станция получит адрес маршрутизатора, она посылает пакеты рабочей станции назначения, помещая полный адрес IPX места назначения в поле места назначения заголовка IPX. Затем посылающая рабочая станция помещает свой собственный полный адрес IPX в соответствующее поле источника заголовка IPX. Посылающая рабочая станция заполнит также все другие поля в заголовке. Посылающая рабочая станция отправляет, наконец, пакет маршрутизатору, который должен теперь выполнить несколько задач. В первую очередь маршрутизатор просматривает поле контроля транспорта заголовка пакета IPX. Маршрутизатор RIP будет отбрасывать пакет, если это поле больше 16. Маршрутизатор NLSP будет отбрасывать полученный пакет, если это число больше, чем ограничение числа переходов. После этого маршрутизатор проверяет поле типа пакета заголовка IPX. Если он видит в этом поле 20 (0x14), это указывает на пакет NetBIOS. Он должен также посмотреть поле контроля транспорта. Если это значение равно восьми или больше, маршрутизатор отбрасывает пакет, так как пакет NetBIOS ограничен восьмью переходами (или сетями).
Затем маршрутизатор сравнивает сетевой номер в пакете с сетевым номером сегмента, в который прибыл пакет. Если маршрутизатор обнаружит совпадение, то он отбрасывает пакет, чтобы избежать зацикливания. Если сетевой номер не совпадает, то он помещает сетевой адрес в следующее доступное поле сетевого номера. Он увеличивает поле контроля транспорта и посылает пакет всем напрямую соединенным сетевым сегментам, которые не присутствуют в полях сетевых номеров.
Протокол взаимодействия сервера с клиентской станцией NCP.
В NetWare протокол NCP (NetWare Core Protocol) является надстройкой над протоколом IPX и используется для организации обмена между рабочей станцией и файловым сервером.
Протокол NCP реализован в NetWare 3.х на системном уровне. В NetWare 4.х предлагается API-интерфейс NCP Extension для обращения к протоколу NCP из прикладных программ на рабочих станциях и из разрабатываемых NLM-модулей. Для обмена данными между программами по протоколу NCP используются пакеты IPX с номером сокета 0х0451 и типом пакета 17. Связь между рабочей станцией и файловым сервером, которые используют API-интерфейс к протоколу NCP, обычно организуется по следующей схеме: * NLM-модуль регистрирует какую-либо свою функцию как расширение NCP, * программа на рабочей станции или файловом сервере связывается с NetWare и получает требуемый идентификатор расширения NCP, * программа на рабочей станции или файловом сервере использует зарегистрированную функцию NLM-модуля как удалённую процедуру, передавая ей исходные данные и получая результаты обработки. Рис. 24.1. Формат пакета NCP-запроса.
Рис. 24.2. Формат пакета NCP-ответа.
Документ
Категория
Разное
Просмотров
31
Размер файла
187 Кб
Теги
1/--страниц
Пожаловаться на содержимое документа