Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Sis_prog_zabezpechennya

.pdf
Скачиваний:
60
Добавлен:
17.03.2016
Размер:
832.88 Кб
Скачать

Енциклопедичне видання

Протокол ARP

Протокол ARP (Address Resolution Protocol) служить для перетворення IP-адрес у відповідні адреси мережевих адаптерів (наприклад, Ethernet-адреси). Для цього на кожній робочій станції є ARP-таблиця з найчастіше використовуваними адресами. Якщо потрібна адреса в ARP-таблиці відсутня, протокол ARP формує запит (відповідний службовий пакет) до найближчого ARP-сервера і після одержання відповіді поповнює ARP-таблицю.

Протокол HTTP

HTTP (HyperText Transfer Protocol) — протокол передавання гіпертекстів, використовується в роботі з Всесвітньою павутиною World Wide Web. HTTPS + модифікація протоколу НТТР — з підвищеним рівнем безпеки передачі інформації.

Протокол IP

Модуль IP є базовим елементом технології Інтернет, а центральною частиною IP є його таблиця маршрутів. Протокол IP використовує цю таблицю під час прийняття всіх рішень про маршрутизацію всіх пакетів. Зміст таблиці маршрутів визначається адміністратором мережі і може в подальшому змінюватись і поповнюватись. Помилки під час установлення маршрутів можуть заблокувати передавання. Протокол IP приймає пакет від протоколів вищестоячих рівнів, передає його канальному рівню своєї робочої станції, виконує маршрутизацію пакета на проміжних маршрутизаторах, прийом пакета від канального рівня прийомної робочої станції і передачу його протоколам вищестоячих рівнів. Протокол IP забезпечує датаграмний сервіс без інформування відправника про доставку пакета. Для своєї роботи він користується інформацією з IP-заголовка.

IP-заголовок має формат, зображений на рис. 16.

Відповідно до заповнення поля TOS мережевий рівень приймає рішення про характер передаванняпакетів — якому з показників якості передавання надати перевагу. Наприклад, прикладний

71

Системне програмне забезпечення

Рис. 16

протокол TELNET (віддалене управління робочою станцією) вимагає мінімізувати затримку, FTP (передавання файлів) — високу пропускну здатність, USENET (конференції) — низьку вартість, SNMP (управління мережею) — високу надійність. Пріоритет використовується для контролю ситуації конфліктів під час передавання пакетів.

Довжина пакета дорівнює (HLEN 4 + довжина даних) байтів. Ідентифікація використовується у фрагментованих пакетах для опису кожного фрагмента (разом з полями «Прапорці» та

«Зміщення фрагмента»).

TTL (Time To Live) — передбачено, щоб пакет не загубився в Інтернет. Як правило, початкове значення дорівнює 30. Кожен маршрутизатор зменшує значення цього поля на одиницю. Якщо TTL стає рівним 0 до того, як пакет досягне пункту призначення, протокол TCP/IP знищить його і попередить станцію-від- правника про це.

72

Енциклопедичне видання

Поле протоколу містить номер протоколу, який замінює його ім’я: ICМP — 1, TCP — 6, UDP — 17.

Протокол IPSec

Головною особливістю (одночасно й недоліком) мережевого протоколу IP є те, що він не контролює процес проходження IPпакета від відправника до одержувача. Під час проходження IPпакета можлива його втрата, перехоплення і модифікація його змісту зловмисником. У відповідальних випадках замість протокола IP можна встановлювати протокол IPSec.

Протокол IPSec призначений для забезпечення безпеки передачі потоку даних на мережевому рівні. Його функціями є:

управління доступом;

забезпечення цілісності з’єднання;

автентифікація відправника даних;

захист від спроб зламування шляхом повторного відправлення пакетів;

забезпечення цілісності послідовності пакетів;

забезпечення конфіденційності (за допомогою шифрування);

часткове забезпечення конфіденційності на рівні потоку даних.

Хоча протокол IPSec функціонує на рівні IP (мережевому рівні), він забезпечує захист не тільки мережевого протоколу, а й протоколів, що лежать вище по стеку (TCP, UDP, ICMP тощо). Його архітектура надає можливість у процесі захисту потоку даних працювати на кількох вузлах або шлюзах безпеки (шлюз безпеки — проміжна комп’ютерна система, на якій реалізована підтримка IPSec — маршрутизатор або міжмережевий екран). Застосування криптографічних ключів у IPSec є обов’язковим. IPSec забезпечує захист даних, що передаються від вузла до вузла, від шлюза безпеки до шлюза безпеки, від шлюза безпеки до вузла. Для цього він створює безпечні зв’язки — односторонні з’єднання, які забезпечують застосування процедур безпеки до всіх даних, що по них передаються.

73

Системне програмне забезпечення

Протокол TCP

Протокол TCP надає транспортні послуги з гарантією доставки шляхом встановлення з’єднань і тому використовується у випадках, коли потрібна більш надійна доставка повідомлень. Він звільняє прикладні процеси від необхідності самим використовувати тайм-аути (запуск таймера для очікування певного часу відповіді) та повторні передачі для забезпечення надійності. Найбільш типовими прикладними процесами, які використовують TCP є FTP (File Transfer Protocol) та TELNET — робота з віддаленим терміналом. Використання TCP вимагає більшої продуктивності процесора та більшої пропускної здатності мережі, ніж для UDP.

Прикладні процеси взаємодіють з модулем TCP через порти. Для окремих прикладних протоколів виділяються загальновідомі номери портів. Наприклад, сервер TELNET використовує порт № 23. Клієнт TELNET може одержувати послуги від сервера, якщо встановить з’єднання з TCP-портом 23 на його ЕОМ.

Коли прикладний процес починає використовувати TCP, то модуль TCP на ЕОМ клієнта і модуль TCP на ЕОМ сервера починають спілкуватися. Ці два кінцеві модулі TCP підтримують інформацію про стан з’єднання, яке називається віртуальним каналом. Цей віртуальний канал споживає ресурси обох ЕОМ. Канал є дуплексним, тобто дані можуть передаватися одночасно в обох напрямках. Один прикладний процес записує дані в TCPпорт, вони проходять по мережі, і другий прикладний процес читає їх зі свого TCP-порту. Протокол TCP розбиває потік байтів на пакети, тобто не зберігає границь між записами. Протокол TCP вимагає, щоб всі відправлені дані були підтверджені приймаючою стороною. Він використовує тайм-аути та повторні передачі для забезпечення надійної доставки. Відправникові дозволяється передавати деяку кількість даних, не очікуючи підтвердження прийому раніше відправлених даних. Таким чином, між відправленими та підтвердженими даними існує «вікно» вже відправлених, але ще не підтверджених даних.

74

Енциклопедичне видання

Кількість байтів, які можна передавати без підтвердження, називається розміром вікна. Найчастіше він дорівнює 4 Кбайти і може бути збільшеним до 8 або до 16 Кбайтів. Оскільки TCPканал є дуплексним, то підтвердження даних, які йдуть в одному напрямі, можуть передаватися разом з даними, що йдуть в протилежному напрямі. Приймачі на обох кінцях віртуального каналу виконують управління потоком даних, що передаються, для того, щоб не допустити переповнення буферів.

Формат заголовка протоколу TCP поданий на рис. 17.

Рис. 17

Порт-передавач — порт протоколу прикладної програми, яка є джерелом даних.

Порт-приймач — порт протоколу прикладної програми-одер- жувача даних.

Номер послідовності — визначає перший байт даних у розділі даних сегмента TCP.

Номер підтвердження — визначає наступний байт даних, який приймач розраховує одержати з вхідного потоку.

Довжина заголовка вказується в 32-розрядних словах (мінімальне значення — 5).

Прапорці:

URG — дані для невідкладної обробки;

ACK — вказівка TCP-модулю приймача на те, що поле «Номер підтвердження» містить необхідні дані;

75

Системне програмне забезпечення

PSH (push) — вимога TCP-модулю приймача передати дані прикладній програмі-одержувачу негайно (без буферизації);

RST — запит TCP-модулю приймача «Розірвати з’єднання»; SYN — запит TCP-модулю приймача «Синхронізувати номе-

ри послідовності» (під час встановлення з’єднання);

FIN — повідомлення TCP-модулю приймача про закінчення передавання.

Розмір вікна — повідомлення TCP-модулю приймача про кількість байтів, яку здатен прийняти передавач.

Контрольна сума TCP використовується для виявлення спотворень під час передавання даних.

Покажчик на дані для невідкладної обробки — вказує на останній байт даних із розділу даних TCP-сегмента, які вимагають невідкладної обробки.

Протокол UDP

UDP (User Datagram Protocol) є одним із двох основних протоколів, розміщених безпосередньо над IP. Він надає прикладним процесам транспортні послуги, які не набагато відрізняються від послуг, що їх надає протокол IP. Протокол UDP забезпечує ненадійну доставку датаграм і не підтримує з’єднань з кінця в кінець. До заголовка IP-пакета він додає два поля, одне з яких — поле «порт» — забезпечує передачу інформації відповідним прикладним процесам, а інше поле — «контрольна сума» створює можливість підтримувати цілісність даних.

Формат заголовка UDP зображений на рис. 18.

Довжина повідомлення — в байтах, включаючи заголовок. Контрольна сума — для всієї датаграми, тобто заголовок плюс дані.

Прикладами мережевих аплікацій, які використовують UDP, є NFS (Network File System) та SNMP (Simple Network Management Protocol). Взаємодія між прикладними процесами та модулем UDP здійснюється через UDP-порти. Порти нумеруються, починаючи з 0. Прикладний процес, який надає деякі послуги іншим прикладним процесам (сервер), очікує надход-

76

Енциклопедичне видання

Рис. 18

ження повідомлень в порт, спеціально виділений для цих послуг. Повідомлення повинні містити в собі запити на надання послуг. Ці запити виробляються процесами-клієнтами.

Протоколи прикладного рівня

Їх загальна кількість велика і постійно продовжує збільшуватись. Протоколи прикладного рівня орієнтовані на конкретні прикладні задачі. Вони визначають як процедури з організації взаємодії певного типу між прикладними процесами, так і форму представлення інформації в таких взаємодіях. Найпоширеніші з них: FTP — передача файлів, SNMP — простий протокол управління мережею, TELNET — управління віддаленою робочою станцією тощо.

Останнім часом усе частіше використовується служба Інтернет, названа Всесвітньою павутиною (World Wide Web, WWW, W3), яка є універсальною інформаційною базою даних. Web забезпечує користувачів мережі вільним доступом до величезної кількості файлів — ресурсів Інтернету. Ці файли можуть бути гіпертекстовим документом, зображенням, звуковим файлом, мультиплікацію або відео. Щоб працювати з Web, треба мати браузер — програму для перегляду Web. Браузер організує одержання, а також інтерпретує та візуалізує зміст одержаного документа. Протокол для роботи з Web — HTTP (HyperText Transfer Protocol).

77

Системне програмне забезпечення

Рестарт

За мультипрограмного режиму роботи ЕОМ процеси конкурують між собою за ресурси ЕОМ, тому вони не зацікавлені в збереженні цінностей інших програм. Під час діалогу з програмами можуть також мати місце помилки оператора. Можливі також збої і несправності обладнання. Наслідком будь-якої з цих помилок може бути:

аварійне завершення програми;

системний збій — порушення роботи всієї системи через пошкодження системних таблиць або резидентних модулів;

неправильний результат.

Одержавши один з таких результатів, користувач зацікавлений у тому, щоб уникнути запуску свого завдання із самого початку, особливо у випадках, коли це пов’язано з великими витратами машинного часу. Це призводить до необхідності мати в ОС таку можливість, як рестарт — запуск завдання з деякої проміжної точки, яка передує виникненню помилкової ситуації, що дає можливість використати результати, одержані між початком роботи завдання та моментом виникнення помилки.

Організаційно рестарт може виконуватись автоматично, негайно після виникнення помилкової ситуації, або рестарт може бути відстрочено, якщо негайний рестарт невигідний з точки зору використання ресурсів системи. Рішення про це приймає оператор системи. Оператора включено в контур управління для запобігання зациклюванню на невдалому рестарті. Рестарт може бути здійснено або з початку якоїсь програми, або з деякої контрольної точки всередині програми. Контрольні точки розставляються в програмах програмістами під час написання програми. Для цього використовується спеціальна функція ОС «chkpt» (Check point — контрольна точка). Контрольні точки розставляються в найбільш зручних для цього місцях програми. Такими вважаються точки, де закінчуються достатньо великі етапи обчислень і тому обсяг проміжних результатів і кількість відкритих файлів зменшується. Під час виконання

78

Енциклопедичне видання

функції chkpt система записує вміст ОП, відведеної даному завданню, вміст таблиць управління цього завдання, а також вміст файлів, відкритих в даний момент. Ця інформація дає можливість почати роботу системи з цієї точки аналогічно поверненню з переривання. Під час проходження обчислювального процесу через контрольну точку, ім’я контрольної точки видається оператору. Інформація про стан процесу записується в спеціальний файл відновлення. Якщо контрольних точок у програмі декілька, то здійснюється серія записів, можливо, з повторним записом (перекриттям), для деяких контрольних точок. У базах даних передбачено такий засіб, як відкат транзакції — повернення обчислювального процесу до стану на початок виконання невдалої транзакції.

Сайт

Сайт (веб-сайт) — одна або сукупність веб-сторінок, доступних у мережі Інтернет за допомогою протоколів HTTP/HTTPS. Сторінки сайту — це файли, розмічені на мові гіпертекстової розмітки HTML. Ці сторінки об’єднані спільною кореневою адресою, а також, зазвичай, темою, логічною структурою, оформленням і/або авторством. Сукупність всіх загальнодоступних сайтів і є Всесвітня павутина World Wide Web.

Сегментна організація віртуальної пам’яті

У ході сегментної організації віртуальної пам’яті робота розглядається як сукупність логічних частин (сегментів), кожна з яких може бути розділом даних, процедурою або набором процедур. Програміст у своїй програмі звертається до комірки пам’яті термінами імені сегмента, яке під час трансляції буде перетворене в число, та розміщення відносно початку сегмента. Адресація всередині одного сегмента неперервна, тоді як кілька сегментів однієї роботи можуть не складати неперервний розділ пам’яті, більше того, не обов’язково, щоб усі вони знаходились в ОП.

79

Системне програмне забезпечення

Якщо всі сегменти однієї роботи знаходяться в ОП, то сегментація приймає форму рухомих розділів, а необхідне відображення виконується за допомогою регістрів настройки, пов’язаних із кожним розділом.

Реалізація сегментного розділу пам’яті передбачає, що для кожної роботи складається таблиця сегментів (ТС). Апаратний регістр таблиці сегментів RTC вказує на початок ТС активної роботи. Посилання на адресу пам’яті має вигляд (s, d), де s — номер сегмента, d — зміщення. Додаючи s до вмісту регістра ТС, процесор визначає фізичне місцезнаходження елемента ТС для сегмента, до якого йде звертання.

Кожен елемент ТС має три поля. Перше — ознака знаходження сегмента в ОП (якщо 1, то він в присутній в ОП). Якщо сегмент знаходиться в ОП, то наступне поле містить фізичну адресу його початку. Додавання зміщення до цієї адреси дає виконавчу адресу. Наприклад, нехай деяка віртуальна адреса (s, d) = (15,01326), а (RTC) = 00400. За адресою 00415 знаходимо рядок елемента таблиці сегментів. Нехай він буде (1,47293). Оскільки сегмент є присутнім в ОП, то, додавши до 47293 зміщення 01326, одержимо виконавчу адресу 4861910. Третє поле містить поточну довжи-

ну сегмента, яка використовується для контролю невиходу за межі сегмента під час звернення до нього, а також переміщення сегмента. Якщо потрібного сегмента в ОП немає (значення першого поля 0), а до нього йде звертання, то виникає переривання, яке викликає програму підкачки. Ця програма виконує, поперше, відкачку (за необхідності) одного або кількох сегментів та завантаження замовленого сегмента із зовнішньої пам’яті, подруге, тимчасове переключення центрального процесора з цієї роботи на іншу, готову до виконання. Відкачка/підкачка сегмента для першої з цих робіт відбувається на фоні роботи нової програми. Це виконує канал або контролер, водночас має місце перевстановлення ознак присутності/відсутності сегментів у ТС.

Перевагою сегментної організації є те, що вона забезпечує оверлей без втручання програміста чи транслятора, а також

80

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]