Реферат: Интранет сети
request_buffer.buffer_type = 0x15;
request_buffer.object_type = 0x0100;
request_buffer.name_len = (unsigned char) strlen(who);
strcpy(request_buffer.name, who);
reply_buffer.len = 101;
regs.x.si = FP_OFF( (void far *) &request_buffer);
sregs.ds = FP_SEG( (void far *) &request_buffer);
regs.x.di = FP_OFF( (void far *) &reply_buffer);
sregs.es = FP_SEG( (void far *) &reply_buffer);
int86x(0x21, ®s, ®s, &sregs);
if (regs.h.al != 0) return 0;
if (reply_buffer.number_connections == 0) return 0;
regs.h.ah = 0;
regs.h.al = reply_buffer.connection_num[0];
return regs.x.ax;
}
unsigned char get_connection_number(void)
{
_AH = 0xDC;
geninterrupt(0x21);
return _AL;
}
void get_user_id(unsigned char connection_number,
unsigned char *user_id)
{
union REGS regs;
struct SREGS sregs;
struct {
unsigned int len;
unsigned char buffer_type;
unsigned char connection_number;
} request_buffer;
struct {
unsigned int len;
unsigned char object_id[4];
unsigned char object_type[2];
char object_name[48];
char login_time[7];
} reply_buffer;
regs.h.ah = 0xe3;
request_buffer.len = 2;
request_buffer.buffer_type = 0x16;
request_buffer.connection_number = connection_number;
reply_buffer.len = 61;
regs.x.si = FP_OFF( (void far *) &request_buffer);
sregs.ds = FP_SEG( (void far *) &request_buffer);
regs.x.di = FP_OFF( (void far *) &reply_buffer);
sregs.es = FP_SEG( (void far *) &reply_buffer);
int86x(0x21, ®s, ®s, &sregs);
strncpy(user_id, reply_buffer.object_name, 48);
}
2.6. Протокол последовательного обмена пакетами NetWare (SPX)
Протокол обмена последовательными пакетами (SPX) строится на
основе IPX и предлагает дополнительные услуги Xerox's Sequenced
Packet Protocol (SPP). SPX дает возможность прикладным программам
рабочей станции NetWare получать некоторые преимущества при ис-
пользовании сетевых драйверов при прямых коммуникациях с другими
рабочими станциями, серверами и устройствами интерсети с дополни-
тельной гарантией достоверности и последовательности пакетов.
Внутренне SPX построен на дейтаграммных примитивах IPX и дает
простой интерфейс, ориентированный на установление соединения.
В дополнение к структуре IPX, SPX включает 12 байтов блока уп-
равления соединения.
2.7. Программный интерфейс SPX
В дополнение к программному интерфейсу IPX, SPX предоставляет
следующие функции:
a. проверка установки SPX;
b. установка соединения;
c. прослеживание соединения;
d. окончание соединения;
e. разрыв соединения;
f. получение состояния соединения;
g. посылка последовательного пакета;
h. прослушивание (ожидание) последовательного пакета.
Эти функции управляют установкой, поддержанием, cбросом соеди-
нения. Прикладные системы, использующие SPX не обязаны организовы-
вать свои собственные схемы тайм-аутов для гарантирования воста-
новления по обрыву установленного соединения, посылки последова-
тельного пакета или по запросу об окончании соединения.
Формат пакета протокола SPX
0 1 15 ¦
г====================¬¦
¦ контрольная сумма ¦¦
¦--------------------¦¦
¦ длина ¦¦
¦---------T----------¦¦
¦упр.транс¦тип пакетদ
¦---------+----------¦¦
¦- сеть доставки -¦¦
¦--------------------¦¦
Сетевой адрес ¦- -¦¦
доставки ¦- хост доставки -¦¦
¦--------------------¦¦Уровень 1
¦ порт доставки ¦+---------
¦--------------------¦¦адресация
¦- сеть отправителя-¦¦
¦--------------------¦¦
Сетевой адрес ¦ -¦¦
отправителя ¦- хост отправителя -¦¦
¦- -¦¦
¦--------------------¦¦
¦ порт отправителя ¦¦
L====================-¦
-+
г==========T=========¬¦
¦упр.соедин¦тип потоꦦ
¦----------+---------¦¦
¦идент.источ.соединен¦¦
¦--------------------¦¦
¦идент. приемника ¦¦Уровень 2
¦--------------------¦+---------
¦ номер пакета ¦¦протокол
¦--------------------¦¦последова-
¦номер подтверждения ¦¦тельных
¦--------------------¦¦пакетов
¦ номер размещения ¦¦
L====================-¦
--
г====================¬¦
¦ 0 - 546 байтов ¦¦Уровень 3
¦ ¦+---------
¦ прозрачных данных ¦¦управление
¦ -----------¦¦
¦ ¦доп.байт ¦¦
L=========¦==========-¦
--
гTTT======T==========¬
¦¦¦¦резерв¦тип потока¦
L+++======¦==========-
¦¦¦¦конец сообщения
¦¦¦внимание
¦¦посылка подтверждений
¦системный пакет
Рис.2.4
2.8. Управление потоком SPX
Управление потоком является средством, позволяющим уменьшить
количество повторных передач пакетов. В таких случаях, когда про-
исходит тайм-аут без успешного подтверждения, SPX выполняет опти-
мальное количество повторов, прежде чем декларирует обрыв соедине-
ния. SPX автоматически выбирает оптимальный тайм-аут и значение
количества повторов, которые наиболее подходят к физическим харак-
тетистикам соответствующих сетевых устройств. SPX использует эв-
ристический алгоритм тайминга для вычисления оптимального коли-
чества повторов, адаптируясь под время задержки пакетов.
Протокол SPX предназначен для использования в качестве фунда-
мента для всевозможных сложных прикладных систем, включая коммуни-
кационные серверы, шлюзы и системы пересылки сообщений рабочих
станций интерсети.
2.9. Протокол объявления услуг
Создавая открытую архитектуру, фирма Novell открывает разработ-
чикам возможность добавлять к существующему набору сетевых услуг
новые сервисы и услуги. Для облегчения таких разработок среда ин-
терсети NetWare включает в себя протокол и механизм, который поз-
воляет сетевым сервисным программам объявлять свои услуги по имени
и типу интерсети NetWare.
Серверы, использующие этот протокол, имеют свое имя, тип серви-
са и адрес интерсети, та же самая информация существует в маршру-
тизаторах NetWare.
Данный механизм позволяет рабочей станции издать широковеща-
тельный пакет запроса в локальную сеть для получения идентификации
всех серверов любого типа, всех серверов специфического типа или
только ближайшего сервера конкретного типа услуг. Дополнительно
рабочая станция может запросить любой сервер для получения имен и
адресов всех серверов данного конкретного типа.
Весь этот механизм известен как протокол объявления услуг
(SAP). Каждый сервер определенного типа имеет заданное уникальное
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13