Локальные сети персональных компьютеров.

12/18/94 04:03pm lok_seti.lek
А.В.Фролов, Г.В.Фролов "Программирование модемов" серия БСП том 4 М. "ДИАЛОГ-МИФИ" 1994 издание второе, стереотипное.
А.В.Фролов, Г.В.Фролов "Локальные сети персоналиных компьютеров. Использование протоколов IPX, SPX, NETBIOS" серия БСП том 8 М. "ДИАЛОГ-МИФИ" 1993.

Локальные сети персональных компьютеров.

ЛОКАЛЬНАЯ СЕТЬ - замкнутая система ЭВМ, предназначенная для использования на ограниченной территории предприятия - владельца сети, для решения его внутренних задач.

Основные характеристики и принципы построения локальной сети:

В локальной сети данные передаются от одной рабочей станции к другой блоками, называемыми ПАКЕТАМИ ДАННЫХ. Каждый пакет состоит из ЗАГОЛОВКА и СОБСТВЕННО БЛОКА. Пакеты могут передаваться с подтверждением получения и без подтверждения. При передаче без подтверждения не гарантируется, что пакет будет получен адресатом и что принимающая сторона получит пакеты в правильной последовательности.

Протоколы передачи данных:

Потокол IPX.

Пакет IPX состоит из заголовка и блока передаваемых данных. Блок передаваемых данных имеет длину от 0 до 546 байт. Формат заголовка приведен ниже, его особенностью является то, что все поля хранят информацию в "перевернутом" виде (старший байт распологается по меньшему адресу).

Формат заголовка пакета IPX (его длина 30 байт):

Работа с драйвером IPX.

Работа с драйвером должна начинаться с проверки, загружен ли драйвер в память, и определения адреса его вызова.

Для выполнения этих операций необходимо вызвать прерывание 2Fh, с AX=7A00h; если после возврата из прерывания AL=FFh, то драйвер загружен и регистровая пара ES:DS содержит адрес API (Application Programm Interface - интерфейс для приложений) точки входа в драйвер. Для выполнения какой-либо функции необходимо загрузить ее номер в BX и обратиться к подпрограмме с адресом API.

После инициализации драйвера необходимо выполнить инициализацию СЕРВЕРА (машины или программы, обслуживающей запросы) и КЛИЕНТА (машины или программы формирующей запросы к серверу). В сети может быть несколько серверов и несколько клиентов, кроме того на каждом компьютере могут быть одновременно запушены программы-серверы и программы-клиенты.

Инициализация сводится к присвоению программам двухбайтовых номеров-сокетов. Можно использовать произвольные номера, но в реальной сети часть номеров может быть зарезервирована за определенными программами.

Номера сокетов могут присваиваться программам на постоянной основе, либо выделяться динамически.

Для приема или передачи пакета прикладная программа должна подготовить пакет данных и построить БЛОК УПРАВЛЕНИЯ СОБЫТИЕМ - ECB (Event Control Block). В блоке ECB содержится адресная информация для передачи пакета, адрес передаваемого пакета и дополнительная информация.

Формат блока ECB:

Основные функции API драйвера IPX:

Определение топологии сети.

Реальная сеть может состоять из нескольких самостоятельных сетей, соединенных мостами. При работе внутри одной сети программе-клиенту достаточно знать номер сокета программы-сервера, всю остальную информацию можно определить по результатам первого сеанса связи (при первом вызове клиент указывает "широковещательный" адрес на который откликаются все программы с данным сокетом на всех станциях из полученных ответов выбирается нужный).

Если топология сети более сложная, то необходимо организовать переход через мост, который возможен только при знании его сетевого адреса.

Реальные сетевые оболочки обычно имеют специальный сервис для автоматического определения топологии сети. Для этого выделяется сокет (в сети Novel NetWare это 0456h), при обращении к которому возвращается диагностическая информация.
Обнаружив мост можно войти в другую сеть с повторным запросом конфигурации.

Диагностические запросы можно посылать конкретной станции или всем станциям сети сразу, по адресу диагностического сокета. В блоке данных пакета необходимо указать список номеров станций к которым относится запрос (первый байт блока должен содержать количество станций или ноль, если ожидается ответ от всех станций). При обрашении к нескольким станциям запрос необходимо повторить несколько раз, т.к. нет гарантии получения ответа. Станции при получении такого запроса после небольшой задержки (для устранения перегрузки в сети и повышения вероятности передачи) возвращают пакет конфигурации. В его блоке данных содержится информация о программном и аппаратном обеспечении станции.

Блок данных состоит из двух частей:


Stay-at-home