- •Розділ 1. Загальні питання вивчення дисципліни
- •1.1. Вступ. Місце та значення вивчення обчислювальних мереж
- •Розділ 2. Комп’ютерні системи та обчислювальні мережі.
- •2.1. Комутаційне забезпечення персональних комп’ютерів.
- •2.1.1. Принципи побудови сучасних комп’ютерних мереж
- •2.1.2 Системи керування потоком
- •2.1.3 Системи керування інтерфейсом користувача
- •2.2. Глобальні комп'ютерні мережі і пакетні мережі.
- •2.2.1 Модель взаємодії відкритих систем
- •2.2.2 Багаторівневе представлення протоколів
- •2.2.3 Можливості X.25
- •2.2.4 Процедура laвv та процедури пакетного рівня.[1]
- •2.2.5 Стандарти 802.Х
- •2.2.6 Мережі Frame Relay
- •2.3. Локальні обчислювальні мережі.
- •2.3.1. Основні поняття та характеристики комп’ютерних систем та обчислювальних мереж
- •2.3.2 Апаратні і програмні засоби обчислювальних мереж
- •2.3.3. Сучасні засоби інтеграції комп’ютерних систем
- •2.3.4 Структура локальних та глобальних комп'ютерних мереж
- •2.3.5 Основні особливості локальних обчислювальних мереж
- •2.3.6. Топологія обчислювальних мереж
- •2.4 Інтернет та інтранет
- •2.4.1 Поняття Internet
- •2.4.2 Інформаційні та комунікаційні послуги Internet
- •2.4.3 Основні етапи розвитку Internet
- •2.5. Прикладні служби Internet
- •2.5.1 Служба ftp. Протокол ftp
- •2.5.2 Служба Telnet і протокол telnet
- •2.5.3 Служба www та протокол http
- •2.5.4 Способи підключення до Internet
- •2.5.6 Протокол icmp
- •2.5.8 Віртуальна частина мережі (vpn) і використання X.25 і Frame Relay. [11]
- •3. Локальні обчислювальні мережі
- •3.1. Асинхронні модеми і інтерфейси та їх програмування.
- •3 .1.1 Неможливість безпосередньої передачі даних
- •3.1.2 Рішення проблеми передачі за допомогою модему
- •3.1.3 Інтерфейси модему
- •Аналогова модуляція
- •Методи частотної модуляції в низько швидкісних модемах
- •3.1.4 Стандарт V.21
- •Модеми типу Bell System 212а і модеми V.22
- •Характеристики і можливості модемів
- •Стиснення даних і стандарт V.42bis
- •Алгоритм lzw
- •Параметри стиснення
- •Виявлення і виправлення помилок
- •3.1.6 Протокол mnp
- •3.1.7 Стандарти комунікаційних інтерфейсів
- •3.1.8 Інтерфейси rs-232 і v24
- •Конструкція інтерфейсу
- •Приклади використання інтерфейсу rs-232
- •3.1.9 Керування асинхронним модемом
- •3.1.10 Керування потоком
- •3.1.11 Інші інтерфейси
- •3.1.12 Команди модему
- •Факс-модеми
- •Тема 3.2. Передача даних в локальних мережах.
- •3.2.1 Способи і методи передачі даних. [14]
- •3.2.2 Ущільнення. [14]
- •3.2.3 Передача немодульованих та модульованих сигналів. [14]
- •3.2.4 Характеристика мережевого програмного забезпечення NetWare [15]
- •3.2.5 Керування км (Network Managment) [16]
- •3.2.6 Технологія відкритих протоколів (Open protocol technology) [16]
- •3.2.7 Стійкість до системних помилок (System fault tolerance) [17]
- •3.2.8 Технологія файл-серверу (Fileserver technology) [18]
- •3.3. Локальні комп'ютерні мережі Ethernet, Token-Ring та fddi.
- •3.3.1. Стандарти локальних комп'ютерних мереж [2]
- •3.3.2. Модель osi [2]
- •3.3.3. Fast Ethernet: разподіл фізичного рівня, повторювачі [2]
- •3.3.5. Локальні обчислювальні мережі з передачею маркера [2]
- •3.3.6. Мережі fddi [2]
- •Розділ 4. Програмування в локальних комп'ютерних мережах.
- •4.1. Мережеві операційні системи та програмне забезпечення підтримки комп'ютерних мереж.
- •4.1.1 Еволюція ос
- •4.1.2 Структура програмних засобів комп'ютерних систем
- •4.1.3 Класифікація операційних систем
- •4.1.4 Керування комп’ютерної системи
- •Керування інтерфейсом
- •Керування потоком
- •Керування ресурсами
- •Керування процесами
- •Стани процесів
- •4.1.5 Розподілення ресурсів між процесами Виклик віддалених процедур
- •Динамічне зв'язування
- •Семантика rpc при відмовах
- •Примітиви керування процесами
- •Концепція процесу
- •Загальна характеристика
- •Керування процесами.
- •Зародження процесів
- •Керування пам'яттю.
- •4.1.7. Мережеві продукти фірми Novell.
- •Версії ос NetWare.
- •Структура NetWare і її особливості
- •Способи забезпечення відкритості і розширюваності
- •Способи забезпечення надійності
- •Засоби захисту інформації
- •4.1.8 Операційні системи Windows'х
- •Основні відмінності w' 98
- •Операційні системи w' nt
- •4.2. Програмування обміну інформацією по протоколу ipx.
- •4.2.1 Основи програмування в комп'ютерних мережах. Визначення в комп’ютерній системі присутності мережевих пристроїв та присутності драйверів.[19]
- •4.2.2 Визначення в комп’ютерній мережі присутності мережевих пристроїв та присутності драйверів. [19]
- •4.2.3 Прийом і передача пакетів даних [19]
- •4.2.4 Мережеві функції ipx.
- •Тема 4.3. Програмування обміну інформацією по протоколу spx
- •4.3.1. Пакети даних в протоколі spx [20]
- •4.3.2. Робота з файлами. Програма роботи з файлами [20]
- •4.4. Програмування роботи з об’єктами, діагностика обчислювальних мереж.
- •4.4.1 Робота з об’єктами. [20]
- •4.4.2. Семафори
- •4.4.3 Обслуговування Транзакцій
- •4.4.4. Робоча станція Novell NetWare [20]
- •Розділ 5. Цифрові обчислювальні мережі.
- •5.1. Мережа isdn. [23]
- •5.1.1 Загальні відомості про isdn
- •5.1.2 Області застосування, основні та додаткові послуги [24]
- •5.1.3 Переваги isdn
- •5.1.4 Концепція isdn
- •5.1.5. З’єднання з мережею Internet через isdn
- •5.2.1 Основи доступу до морежі Internet через isdn
- •5.1.6 Пристрої isdn
- •5.1.7 Телефонні послуги isdn і мережа Інтернет
- •5.1.8 Апаратні і програмні засоби для отримання доступу до мережі Інтернет через isdn
- •5.2. Мережа atm
- •5.2.1 Концепція технології atm [26]
- •5.2.2 Архітектура та маршрутизація в atm. Служб (QoS).[25],[26]
- •5.2.3 Емуляція локальної мережі: клієнт lane, сервер lane, bus [25]
- •5.2.4 Превага технології atm відносно Ethernet, Token-Ring, fddi [25]
- •5.2.5 Підключення до мережі
- •5.3 Бездротові мережі
- •5.3.1 Мобільний зв'язок [27]
- •5.3.2 Взаємодія компонентів мобільного зв’язку [2]
- •5.3.3 Доступ в Інтернет, протокол wap [2]
- •5.3.4 Методи передачі сигналу [2]
- •5.3.5 Стандарт локальних мереж ieee 802.11 [2]
- •5.3.6 Служби та застосування бездротових обчислювальних мереж [2]
- •Розділ 6 Проектування і адміністрування комп’ютерних мережах.
- •Тема 6.1 Вимоги до комп’ютерних мереж та методи проектування.
- •6.1.1 Вимоги до комп’ютерних мереж: [2]
- •6.1.2 Мережеві пристрої
- •6.1.3 Питання адміністрування комп’ютерної мережі
- •6.1.4 Програмні аналізатори комп’ютерної мережі
- •6.2 Стандарти адміністрування обчислювальних мереж
- •6.2.1 Віддалений моніторинг
- •Додатки а. Перлік практичних занять
- •Б. Перлік лабораторних робіт
- •В. Завдання для самостійного вивчення (самостійна робота)
- •Г. Модульні контрольні роботи
4.2.2 Визначення в комп’ютерній мережі присутності мережевих пристроїв та присутності драйверів. [19]
Робота з драйвером IPX / SPX. Перше, що повинна зробити програма, яка бажає працювати в КМ з протоколом IPX / SPX, - перевірити, чи встановлено драйвер відповідного протоколу. Потім необхідно отримати адресу виклику цього драйвера - точку входу API (Application Programm Interface - інтерфейс для додатків). Надалі програма викликає драйвер за допомогою команди міжсегментного виклику процедури за адресою точки входу API драйвера IPX / SPX.
Точка входу API драйвера IPX / SPX. Для того щоб перевірити, завантажений драйвер IPX, необхідно завантажити в регістр AX значення 7A00h і викликати мультиплексной переривання INT 2Fh.
Якщо після повернення з переривання в регістрі AL буде значення FFh, драйвер IPX завантажений. Адреса точки входу для виклику API драйвера при цьому буде знаходитися в регістровій парі ES: DI.
Якщо ж вміст регістра AL після повернення з переривання INT 2Fh буде відмінним від FFh, драйвер IPX / SPX не завантажений. Це означає, що на даній РС не завантажені резидентні програми ipx.exe або ipxodi.exe, що забезпечують API для роботи з протоколами IPX і SPX.
Для виклику API в регістр BX необхідно завантажити код виконуваної функції. Значення, що завантажуються в інші регістри, залежать від виконуваної функції. Наприклад, функція з кодом 10h використовується для перевірки присутності в системі протоколу SPX (може бути така ситуація, коли протокол IPX присутній, а SPX - ні). Для того, щоб визначити наявність SPX, необхідно завантажити в BX значення 10h, в AX значення 00h і викликати API драйвера IPX. Якщо після повернення регістр AX буде містити значення FFh, протокол SPX присутній і може бути використаний. У регістрах CX і DX передаються параметри SPX - максимальне число каналів зв'язку, яке ця РС може встановити з програмами, які працюють на інших РС, і кількість каналів, доступних в даний час.
Наведемо текст програми, яка визначає наявність драйвера протоколів IPX і SPX (див. ПП. 15 на CD). Програма викликає функції ipx_init () і ipxspx_entry (), тексти яких знаходяться в ПП. 15. Текст скороченого варіанту include-файлу ipx.h представлений в лістингу. [20]
Можна спробувати запустити цю програму на РС КМ Novell NetWare під керуванням MS-DOS або на віртуальній машині MS Windows, яка працює в розширеному (Enchanced) режимі.
Далі розташований вихідний текст модуля ініціалізації IPX (див. ПП. 16 на CD).
У цьому модулі знаходиться функція ipxspx_entry (), необхідна для виклику драйвера IPX / SPX. Її ім'я починається з символу "_", що необхідно для виконання угоди про імена в мові Сі.
Тут же є функція ipx_init (), яка перевіряє наявність драйвера в системі, отримує адресу API драйвера і зберігає його в області ОП _ipxspx_drv_entry.
Описи типів і констант, а також прототипи функцій для програми ipxver.c знаходяться у файлі ПП17.h (див. ПП. 17 на CD).
Використання API драйвера IPX. Тепер, коли відомо як перевіряти наявність драйвера IPX і визначати точку входу для виклику його API, вивчимо як користуватися API. Від того, наскільки добре буде освоєний API драйвера IPX, залежать успіхи у створенні ПЗ для КМ Novell NetWare.
Спочатку розберемося зі структурою програм, здатних обмінюватися даними по КМ, і зрозуміти, як програми, що працюють на різних РС, можуть передавати один одному ці самі дані.
Схема «клієнт-сервер». Зазвичай в КМ одна з РС приймає запити на виконання будь-яких дій від інших РС. Так як станція обслуговує запити, вона називається сервером (serve - обслуговувати, server - обслуговуючий пристрій). Виконавши запит, сервер посилає відповідь в запит РС, яка називається клієнтом.
У КМ може бути багато серверів і багато клієнтів. Одні й ті ж клієнти можуть надсилати запити різних серверів.
Більш правильно, сервером / клієнтом є не РС, а запущена на ній програма. У мультизадачності середовищі різні програми, запущені одночасно на одній і тій же РС можуть бути і клієнтами, і серверами.
Програма-сервер, виконавши черговий запит, переходить в стан очікування. Вона чекає приходу пакета даних від програми-клієнта. У залежності від вмісту цього пакету програма-сервер може виконувати різні дії, відповідно до логіки роботи програми. Наприклад, вона може прийняти від програми-клієнта додаткові пакети даних або передати свої пакети.
Сервер і клієнт при необхідності на якийсь час або назавжди можуть помінятися місцями, змінивши своє призначення на протилежне.
Для того, щоб створювати програми-сервери і програми-клієнти, нам необхідно навчитися виконувати два завдання: ініціалізацію сервера і клієнта; прийом і передачу пакетів даних.
Ініціалізація сервера і клієнта. Для ініціалізації програм сервера і клієнта, які працюють на базі IPX, недостатньо переконатися в наявності відповідного драйвера і отримати точку входу в його API. Необхідно ще виконати деякі підготовчі дії для того, щоб програма могла приймати і передавати пакети даних. Перш за все необхідно, щоб програма-сервер або програма-клієнт ідентифікували себе в мережі за допомогою механізму сокетів.
Для зберігання сокета використовується двухбайтовое слово, тож діапазон можливих значень простирається від 0 до FFFFh, але можна використовувати довільні значення. Значення зарезервовані для використання певними програмами, так звані "добре відомі" сокети ("well-known" sockets).
Так як протокол IPX є практичною реалізацією протоколу Xerox Internetwork Packet Protocol, первинний розподіл сокетів виконується фірмою Xerox. Згідно з цим розподілом сокети від 0 до 3000 зарезервовані статично за певним ПЗ. Зокрема, фірма Novell отримала від фірми Xerox діапазон сокетів для своєї мережевої ОС NetWare. У специфікації Xerox сокети зі значенням, більшим ніж 3000, можуть розподілятися динамічно.
Динамічно розподіляються сокети видаються програм як би в тимчасове користування (на час їх роботи) за спеціальним запитом. Перед початком роботи програма повинна запитати сокет у протоколу IPX, а перед завершенням - звільнити його.
Розподіл сокетів в КМ Novell NetWare дещо відрізняється від розподілу, встановленого фірмою Xerox. Сокети від 0 до 4000h зарезервовані і не повинні використовуватися в ПЗ користувачів. Сокети від 4000h до 8000h розподіляються динамічно. Діапазон "добре відомих" сокетів, що розподіляються Novell персонально розробникам ПЗ, розташований вище значення 8000h.
Розробник ПЗ для КМ NetWare, може для своєї програми скористатися сокетом, отриманим динамічно. Можна задавати сокет як параметр при запуску програми. Якщо використовуване значення сокета конфліктує з іншим ПЗ, то необхідно змінити його, просто ставлячи нове значення для відповідного параметра.
При реалізації схеми обміну даними "клієнт-сервер" сервер зазвичай приймає пакети на сокеті, значення якого відомо програмам-клієнтам. Самі ж програми-клієнти можуть використовувати або те ж саме значення сокета, або отримувати свій сокет динамічно. Клієнт може повідомити сервер свій сокет просто передавши його в пакеті даних (так як ми припускаємо, що сокет сервера відомий програмі-клієнту).
Після визначення сокета необхідно дізнатися мережеву адресу РС-одержувачів. Для того, щоб клієнт міг послати запит серверу, необхідно окрім сокета сервера знати його мережеву адресу - номер КМ і адресу РС в КМ.
Якщо програма-клієнт знає тільки сокет програми-сервера, але не знає його мережеву адресу, останній можна запитати у сервера, надіславши запит на усі РС одночасно. Такий запит у КМ одного її сегмента можна виконати, якщо в якості адреси РС вказати значення FFFFFFFFFFFFh, так званий "широкомовний" (broadcast) адреса.
Клієнт надсилає запит на відомий йому сокет програми-сервера і використовує адресу FFFFFFFFFFFFh. Такий запит приймають всі програми на всіх РС, які очікують пакети на даному сокеті. Отримає його і наша програма-сервер. А вона може визначити свою власнуу мережеву адресу (виконавши виклик відповідної функції IPX) та надіслати його клієнту. Адреса ж клієнта програма-сервер може взяти із заголовка прийнятого пакету.
Є спосіб визначення адреси РС по імені користувача, що підключився на ній до файл-серверу. Це можна зробити за допомогою API мережевий оболонки РС (резидентна програма netx.exe). Однак цей спосіб не дозволяє визначати адресу РС, на якій не виконано підключення до файл-серверу або не запущена мережева оболонка netx.exe. Пакет, переданий за адресою FFFFFFFFFFFFh, буде прийнятий усіма РС КМ навіть у тому випадку, якщо файл-сервер вимкнений або його зовсім немає. Тому спосіб визначення мережевої адреси через запит по всій КМ є універсальним.
