Как работает маршрутизация IPX
Когда соединяются различные сетевые сегменты IPX, инструкции для маршрутизации пакетов между этими сегментами приходят из протокола IPX. IPX выполняет эти функции уровня 3 с помощью RIP, SAP и NLSP.
Если две рабочие станции находятся в одном сетевом сегменте, посылающая рабочая станция посылает пакеты прямо по физическому адресу рабочей станции назначения (т.е. по адресу MAC). Если две рабочие станции находятся в двух различных сетевых сегментах, то первая рабочая станция должна найти маршрутизатор в своем собственном сегменте, который знает, как переслать пакеты внешнему сегменту.
Чтобы найти этот крайне важный маршрутизатор, рабочая станция будет посылать широковещательный пакет RIP, запрашивающий самый быстрый маршрут к сегменту назначения. Маршрутизатор того же сегмента с самым коротким путем к сегменту назначения ответит на запрос. В пакете ответа маршрутизатор включит в заголовок IPX свой собственный сетевой и узловой адрес.
Очевидно, что если посылающим узлом является маршрутизатор, а не рабочая станция, то ему не нужно будет посылать широковещательное сообщение RIP, чтобы получить эту информацию. Вместо этого маршрутизатор берет информацию из внутренней таблицы маршрутизации.
Когда посылающая рабочая станция получит адрес маршрутизатора, она посылает пакеты рабочей станции назначения, помещая полный адрес IPX места назначения (т.е. сеть, узел и номер сокета) в поле места назначения заголовка IPX, как это было показано ранее в этой главе.
Затем посылающая рабочая станция помещает свой собственный полный адрес IPX в соответствующее поле источника заголовка IPX. Посылающая рабочая станция заполнит также все другие поля в заголовке. Например, она поместит адрес узла маршрутизатора, который ответил на запрос RIP в поле адреса места назначения заголовка MAC. Она поместит свой собственный адрес в поле адреса источника заголовка MAC.
Посылающая рабочая станция отправляет, наконец, пакет маршрутизатору, который должен теперь выполнить несколько задач. В первую очередь маршрутизатор просматривает поле контроля транспорта заголовка пакета IPX. Маршрутизатор RIP будет отбрасывать пакет, если это поле больше 16. Маршрутизатор NLSP будет отбрасывать полученный пакет, если это число больше, чем ограничение числа переходов.
После этого маршрутизатор проверяет поле типа пакета заголовка IPX. Если он видит в этом поле 20 (0x14), это указывает на пакет NetBIOS. Он должен также посмотреть поле контроля транспорта. Если это значение равно восьми или больше, маршрутизатор отбрасывает пакет, так как пакет NetBIOS ограничен восьмью переходами (или сетями).
Затем маршрутизатор сравнивает сетевой номер в пакете с сетевым номером сегмента, в который прибыл пакет. Если маршрутизатор обнаружит совпадение, то он отбрасывает пакет, чтобы избежать зацикливания. Если сетевой номер не совпадает, то он помещает сетевой адрес в следующее доступное поле сетевого номера. Он увеличивает поле контроля транспорта и посылает пакет всем напрямую соединенным сетевым сегментам, которые не присутствуют в полях сетевых номеров.
Теперь маршрутизатор проверяет поля адреса назначения, чтобы определить, как направить пакет. Если пакет адресован маршрутизатору, соответствующий процесс сокета обработает его внутренне; иначе маршрутизатор пересылает пакет. В дополнение к пакетам, непосредственно адресованным маршрутизатору, он должен также иметь дело с OxFFFFFFFFFFFF, которые обычно являются пакетами RIP, SAP или диагностики.
Если пакет необходимо переслать, маршрутизатор помещает адрес места назначения из заголовка IPX в поле адреса места назначения заголовка MAC. Затем маршрутизатор помещает свой собственный адрес в поле адреса источника заголовка MAC, увеличивает поле контроля транспорта заголовка IPX и пересылает пакет в сегмент назначения. Если, однако, поле контроля транспорта равно максимально допустимому числу переходов до того, как поле будет увеличено, маршрутизатор отбрасывает пакет. Для маршрутизаторов RIP это число равно 16, для маршрутизаторов NLSP это ограничение задается в диапазоне от 8 до 127.
Широковещательные пакеты никогда повторно не посылаются в сетевые Сегменты, из которых они были получены. Если маршрутизатор не связан напрямую с сегментом, в котором находится узел конечного места назначения, он посылает пакет следующему маршрутизатору на пути к узлу назначения, помещая адрес узла следующего маршрутизатора в поле адреса места назначения заголовка MAC. Маршрутизатор берет эту информацию в своей информационной таблице маршрутизации и затем помещает адрес своего собственного узла в поле адреса источника заголовка MAC, увеличивает поле контроля транспорта в заголовке IPX и пересылает пакет следующему маршрутизатору.
NCP Каждый NCP известен прежде всего по своему номеру, который состоит из трех полей. Например, номер для изменения пароля объекта связывания равен 0x2222 23 64.
• Первое двухбайтовое поле "0x2222" является полем категории службы.
• Второе число "23" является номером функции, который идентифицирует, где в таблице коммутации существует базовая функция.
• Третье поле "64" идентифицирует специальную функцию NCP, которая выполняется.
Номера NCP делятся на широкие функциональные категории. Например, большинство функций номера 23 являются NCP учета, связывания, соединения или файлового сервера. В таблице 3.6 перечислены некоторые из категорий служб NCP.
Категория NCP запроса службы (0x2222) и категория NCP ответа службы (0x3333) используются наиболее часто. Существуют две категории служб, которые не требуют создания пакетов ответа службы (0x3333). Это разрушение служебного соединения (0x5555) и запрос разбиения пакета (0x7777).
Если клиенту посылается сообщение, что предыдущий запрос все еще обрабатывается (0x9999), это означает, что клиент сделал другой запрос или снова послал тот же запрос, в то время как сервер все еще обрабатывает последний, сделанный тем же клиентом, запрос.
Клиент посылает через соединение с сервером сообщение, которое содержит все параметры NCP, используя сетевой протокол, например IPX. Сервер выполняет процедуру и возвращает результаты клиенту. Каждое дополнительное сообщение увеличивает идентификационные номера в пакете. Когда от клиента получен запрос NCP, создается ответ NCP. Это протокол, действующий по принципу один запрос — один ответ.
