- •1. Файлова система fat. Таблиця fat. Підвиди fat12, fat16, fat32 їх характеристики, та обмеження розмірів розділу та файлів. Розмір кластера для кожного підвиду.
- •2. Файлова система ntfs. Поняття Master File Table (mft). Обмеження на максимальний розмір розділу та файла. Принципи розміщення файлів на розділі з файловою системою ntfs.
- •3. Дискові масиви raid. Типи масивів raid0, raid1, raid2, raid3, raid4 та raid5. Опис кожного з цих типів та їх характеристики. Переваги та недоліки кожного з них. Комбіновані масиви.
- •4. Поняття низькорівневого та логічного форматування. Поняття сектору та кластера. Розмір сектора. Проблема фрагментації файлів.
- •5. Процес завантаження операційної системи. Поняття boot-сектора. Master Boot Record (mbr). Структура mbr. Поняття розширеного розділу. Активний розділ.
- •6. Операційна система ms-dos. Історія версій. Основні файли даної ос. Використання оперативної памяті в даній ос.
- •7. Мережеві та розподілені ос. Поняття клієнтської та серверної частин. Мережеві служби та сервіси.
- •8. Архітектура операційної системи. Поняття ядра. Ядро в привілейованому режимі. Багатошарова структура ос.
- •9. Загальна структура ос на базі Windows nt. Типи процесів в даній ос. Понятя бібліотек динамічного підключення. Dll - підсистема. Підсистеми оточення.
- •10. Основні компоненти вводу-виводу в ос Windows nt. Поняття Hardware Abstraction Layer (hal). Поняття драйвера.
- •11. Поняття реєстру ос Windows nt. Основні розділи реєстру. Призначення реєстру Windows. Системні файли, де розміщується реєстр.
- •12. Загальна структура програи для ос Windows nt. Поняття повідомлення. Поняття об’єктів ядра та об’єктів інтерфейсу.
- •13. Паралельні та векторно-конвеєрні комп’ютери. Особливості реалізації. Поняття векторних команд.
- •14. Системи із спільною пам’яттю. Переваги та недоліки.
- •5. Паралельні і розподілені обчислення
- •1. Файлові системи. Особливості та недоліки використання традиційних файлових систем
5. Паралельні і розподілені обчислення
5. Паралельні і розподілені обчислення 1
1. Розширені мережі Петрі. Типи розширень. Модифіковані правила активізації і ввімкнення переходів. 2
2. Конвеєрна обробка. Пікова та реальна продуктивність. Графік залежності продуктивності конвеєрного пристрою від довжини вхідного набору даних. 3
3. Ступінь деталізації декомпозиції, ступінь паралелізму паралельного алгоритму. Граф залежності задач. 4
4. Взаємодія задач при паралельній обробці. Граф взаємодії задач. 5
5. Вартість операції, завантаженість пристрою, прискорення системи. 1-й закон Амдала. 6
6. Другий та третій закони Амдала. 7
7. Потоки і багатозадачність. Потік, процес, програма, багатопотоковість. Типи потоків, види багатозадачності. Правила використання потоків. 8
8. Організація обчислень в машинах потоків даних. 9
9. Декомпозиція задач за вхідними даними. 10
10. Декомпозиція задач за вихідними даними. 11
11. Дослідницька декомпозиція задач. 12
12. Декомпозиція задач за проміжними даними. 13
13. Граф машин потоків даних (МПД) і його основні елементи. 14
14. Способи взаємодії ниток при багато потоковому програмуванні: семафори, події, взаємне виключення. 15
15. Рекурсивна декомпозиція. Приклад швидкого сортування масиву чисел. 16
1. Розширені мережі Петрі. Типи розширень. Модифіковані правила активізації і ввімкнення переходів.
Мережа Петрі – це дводольний орієнтований граф з мітками. Кожна мережа Петрі є графом, в якому є два типи вершин:
1.Вузли (стан)
2.Переходи – (дія)
Між вузлами та переходами можуть міститися ребра, але два вузли або два переходи не можуть бути зв’язані ребрами. Вузли можуть бути вільними або зайнятими (маркованими).
Три типи розширень мереж Петрі:
Багаторазове маркування (невід’ємне)
Активізація. Перехід активізований тоді, коли кількість маркувань всіх його вхідних вузлів 1.
Ввімкнення. Активізований перехід вмикається, при цьому число маркувань його вхідних вузлів зменшуються на 1, а вихідних збільшується на 1.
Дуги-заперечення
Не мають дугової ваги, завжди направлені тільки від деякого вузла до деякого переходу. Всі дуги, що не є дугами заперечення, називаються позитивними.
Активізація. Перехід є активізованим, якщо кількість маркувань вузлів вхідних позитивних дуг , а дуг-заперечень =0.
Ввімкнення. Якщо активізований перехід вмикається, то кількість маркувань вхідних вузлів позитивних дуг зменшується на 1, а дуг заперечення залишається незмінною.
Вага дуг
Кожна дуга, що не є дугою заперечення може мати постійну вагу .
Активізація. Перехід є активізованим, якщо кількість маркувань всіх його вхідних вузлів вагам відповідних дуг.
Ввімкнення. Якщо активізований перехід вмикається, то кількість маркувань вхідних вузлів зменшується на вагу відповідної дуги, а вихідних вузлів збільшується на вагу вихідних дуг.
2. Конвеєрна обробка. Пікова та реальна продуктивність. Графік залежності продуктивності конвеєрного пристрою від довжини вхідного набору даних.
Під терміном паралельні обчислення розуміють сукупність питань, що відноситься до створення ресурсів паралелізму в процесах вирішення задачі з метою досягнення більшої ефективності використання обчислювальної техніки.
Направлений на збільшення ефективності роботи комп’ютерної системи.
Удосконалення комп’ютерів призводить до збільшення їх продуктивності, тобто до збільшення можливості виконання більшої кількості операцій за 1 часу. Продуктивність вимірюється у MIPS (мільйон ітерацій з плаваючою комою за секунду).
Реальна продуктивність обчислювальної системи визначається як продуктивність, якої сягає обчислювальна система при виконанні конкретної задачі.
Пікова продуктивність – сумарна продуктивність АЛП.
Ефективність системи – відношення реальної продуктивності до пікової. Якщо продуктивність системи <0.5 , то система працює незадовільно.
Способи паралельної обробки:
1.Чистий паралелізм .
2.Конвеєризація.
Чистий паралелізм характеризується повторним використанням однакових елементів, об’єктів, модулів і дає прямо пропорційне зростання використаним елементам продуктивності.
Конвеєризація. Якщо кожну мікро операцію задачі виділити в окремий пристрій і розташувати їх у порядку виконання, причому вхід п–нного мікропристрою пов'язаний з виходом n-1 , то такий спосіб організації обчислень носить назву конвеєрної обробки. Кожен мікро пристрій називається кроком конвеєра , а загальне число кроків визначає довжину конвеєра.
Якщо конвеєр кроків містить n кроків і кожен з них спрацьовує за 1 часу, то час обробки n незалежних операцій складе Всі операції бувають двох типів: векторні і скалярні.
Якщо хоча б один елемент команди є вектором, то команда називається векторною. Тоді кількість операцій визначається: L+n-1+, де - час ініціалізації вектора. Векторні операції ефективні тоді, коли n>>, в протилежному випадку вектори перетворюються в скаляри, тобто, оскільки ні , ні L не залежать від n, то із збільшенням довжини вхідних векторів, ефективність конвеєрної обробки зростає.
Формула ефективності:
E = n/t = n /( + L + n - 1) = 1 /((/n) + (L/n) + - (/n)) = 1 / + (( + L – 1)/n)
При n E 1/
3. Ступінь деталізації декомпозиції, ступінь паралелізму паралельного алгоритму. Граф залежності задач.
Для формування паралельного алгоритму необхідно:
1.ідентифікувати частини роботи, які можуть бути виконані одночасно
2.відобразити зазначені частини на множину одночасно застосовуваних процесорів
3.розподілити вхідні, вихідні і проміжні дані між процесами відповідно до поставленої задачі
4.керувати доступом до спільно використовуваних даних
5.синхронізувати процеси на різних стадіях виконання програми
Процес розподілу обчислень на менші частини, деякі або всі з яких можуть бути виконані паралельно, називається декомпозицією.
Задачі – це визначені програмістом модулі обчислень, на які поділяється основне завдання за допомогою декомпозиції. Задачі можуть мати довільний розмір, але, визначені один раз, вони розцінюються як неподільні.
Частіше за все декомпозиція розбиває завдання на множину взаємозалежних задач. Абстракція, яка відображає зв’язок між задачами і власний порядок їх виконання називається ГЗЗ. ГЗЗ – це направлений, ациклічний граф, вузли якого є виконуваними задачами, а дуги вказують на залежність між ними. Якщо задачі є незалежними, то ГЗЗ буде незв’язаним.
Число і розмір задач визначає ступінь деталізації паралельного алгоритму. Декомпозицію на велику кількість малих задач називають мілкомодульною, а на велику кількість крупних задач - крупномодульною. Поняття, пов’язане із ступенем деталізації – ступінь паралелізму. Максимальне число задач, які в паралельній програмі можуть бути виконані одночасно, носять назву максимальний ступінь паралелізму.
В більшості випадків максимальний ступінь паралелізму є меншим за загальну кількість задач через взаємодію задач.
Середній ступінь паралелізму – це відношення загальної кількості задач до висоти паралельної форми алгоритму (кількості тактів).
Ступінь паралелізму також залежить від форми ГЗЗ. Одна і та сама ступінь деталізації не визначає один і той самий ступінь паралелізму.
4. Взаємодія задач при паралельній обробці. Граф взаємодії задач.
Задачі – це визначені програмістом модулі обчислень, на які поділяється основне завдання за допомогою декомпозиції. Задачі можуть мати довільний розмір, але, визначені один раз, вони розцінюються як неподільні.
Число і розмір задач визначає ступінь деталізації паралельного алгоритму. Декомпозицію на велику кількість малих задач називають мілкомодульною, а на велику кількість крупних задач - крупномодульною. Поняття, пов’язане із ступенем деталізації – ступінь паралелізму. Максимальне число задач, які в паралельній програмі можуть бути виконані одночасно, носять назву максимальний ступінь паралелізму.
В більшості випадків максимальний ступінь паралелізму є меншим за загальну кількість задач через взаємодію задач.
Середній ступінь паралелізму – це відношення загальної кількості задач до висоти паралельної форми алгоритму (кількості тактів).
Крім зернистості і ступеня паралелізму є ще один чинник, який не дає отримати максимальне прискорення від застосування паралельного алгоритму, а саме взаємодія між задачами, що виконуються на різних процесорах. Модель взаємодії задач характеризується ГВЗ. Вершинам і ребрам ГВЗ можуть бути представлені ваги, відповідно до кількості обчислень і числа взаємодій, що передаються вздовж ребра. Ребра в ГВЗ частіше за все неорієнтовані, але вони можуть вказувати на напрям, якщо потік даних однонаправлений. Масив ребер ГВЗ зазвичай надмножина масиву ребер ГЗЗ.
5. Вартість операції, завантаженість пристрою, прискорення системи. 1-й закон Амдала.
Будь-яка ОС є сукупністю функціональних пристроїв (ФП), що працюють в часі. Оцінимо якість роботи ОС за допомогою спеціальних характеристик. Для цього введемо ряд понять:
Назвемо ФП простим, якщо жодна наступна операція не може почати виконуватись раніше, ніж закінчиться попередня. Основна риса такого пристрою – монопольне вик. свого обладнання для виконання кожної окремої операції. На відміну від простого ФП, конвеєрний ФП розподіляє своє обладнання для одночасної реалізації декількох операцій. Простий ФП завжди можна вважати конвеєрним з довжиною конвеєра, рівною 1.
Назвемо вартістю операції час її реалізації, а вартістю роботи — суму вартостей всіх виконаних операцій. Тобто, вартість роботи — це час послідовної реалізації всіх даних операцій на простих ФП з аналогічними періодами спрацьовувань. Завантаженістю пристрою на даному відрізку часу називатимемо відношення вартості реально виконаної роботи до максимально можливої вартості. Ясно, що завантаженість р завжди задовольняє умовам 0 ≤ р ≤ 1. Має місце також очевидне
ТВЕРДЖЕННЯ 1
Максимальна вартість роботи, яку можна виконати за час Т, рівна Т для простого ФП і nТ для конвейєрного ФП довжини n.
Називатимемо реальною продуктивністю системи пристроїв кількість операцій, реально виконаних в середньому за одиницю часу. Піковою продуктивністю називатимемо максимальну кількість операцій, яка може бути виконана тією ж системою за одиницю часу за відсутності зв'язків між ФП. З визначень витікає, що як реальна, так і пікова продуктивності системи є сумами відповідно реальних і пікових продуктивностей всіх складових системи пристроїв.
ТВЕРДЖЕННЯ 2
Хай система складається з s пристроїв, в загальному випадку простих або конвеєрних. Якщо пристрої мають пікові продуктивності π1,...πs і працюють із завантаженостями р1,...,рs, то реальна продуктивність системи виражається формулою
Введемо поняття "прискорення":
Хай алгоритм реалізується за час Т на обчислювальній системі з s пристроїв, що мають пікові продуктивності 1,....,s, які зв’язані співвідношенням 1≤2≤....≤s. Прискоренням реалізації алгоритму на даній ОС або просто прискоренням R будемо називати відношення R=r/s. Беручи до уваги (1), маємо
Розглянемо систему з s пристроїв. Оскільки будь-який конвеєрний ФП завжди можна представити як лінійний ланцюжок простих пристроїв, то вважатимемо всі пристрої простими. Допустимо, що між пристроями встановлені направлені зв'язки, і вони не міняються в процесі функціонування системи. Побудуємо орієнтований мультиграф, в якому вершини символізують пристрої, а дуги — зв'язки між ними. Назвемо цей мультиграф графом системи.
Дослідимо максимальну продуктивність системи, тобто її максимально можливу реальну продуктивність при достатньо великому часі функціонування.
ТВЕРДЖЕННЯ 3
Хай система складається з s простих пристроїв з піковими продуктивностями 1,....,s. Якщо граф системи зв'язний, то максимальна продуктивність rmax системи виражається формулою
Майже дослівне повторенням твердження 3 носить назву:
НАСЛІДОК (1-ИЙ ЗАКОН АМДАЛА)
Продуктивність обчислювальної системи, що складається із зв'язаних між собою пристроїв, в загальному випадку визначається найнепродуктивнішим її пристроєм.
Припустимо, що всі пристрої, до того ж, прості і універсальні, тобто на них можна виконувати різні операції. Хай на такій системі реалізується деякий алгоритм, а сама реалізація відповідає якійсь його паралельній формі. Допустимо, що висота паралельної форми рівна m, ширина рівна q і всього в алгоритмі виконується N операцій.
6. Другий та третій закони Амдала.
Мінімальне число пристроїв системи, при якому може бути досягнуто максимально можливе прискорення, рівне ширині алгоритму.
Припустимо, що з яких-небудь причин n операцій з N ми вимушені виконувати послідовно. Причини можуть бути різними. Наприклад, операції можуть бути послідовно зв'язані інформаційно. І тоді без зміни алгоритму їх не можна реалізувати інакше. Відношення = n/N назвемо часткою послідовних обчислень.
НАСЛІДОК (2-Й ЗАКОН АМДАЛА)
Хай система складається з s однакових простих універсальних пристроїв. Припустимо, що при виконанні паралельної частини алгоритму всі s пристроїв завантажені повністю. Тоді максимально можливе прискорення рівне
Позначимо через пікову продуктивність окремого ФП. Оскільки якщо система складається з s пристроїв однакової пікової продуктивності, то прискорення системи дорівнює сумі завантаженості всіх пристроїв:
Якщо всього виконується N операцій, то серед них N операцій виконується послідовно і (1 - )N паралельно на s пристроях по (1 - )N/s операцій на кожному. Можна вважати, що всі послідовні операції виконуються на першому ФП. Всього алгоритм реалізується за час
На паралельній частині алгоритму працюють як перший, так і вся решта пристроїв, витрачаючи на це час:
для 2 ≤ і ≤ n. Тому p1 = 1 і
Отже
НАСЛІДОК (3-Й ЗАКОН АМДАЛА)
Хай система складається з простих однакових універсальних пристроїв. При будь-якому режимі роботи її прискорення не може перевершити зворотню величину частки послідовних обчислень.
7. Потоки і багатозадачність. Потік, процес, програма, багатопотоковість. Типи потоків, види багатозадачності. Правила використання потоків.
Потоки – це об'єкти, які отримують час процесора. Час звичайно виділяється квантами. Квант часу – це інтервал, що є у розпорядженні потоку до тих пір, поки час не буде у нього відібрано і передано в розпорядження іншого потоку. Потрібно мати на увазі, що кванти виділяються не програмам або процесам, а породженим ними потокам. Як мінімум, кожен процес має хоча б один потік, але Windows 95 і Windows NT дозволяють запустити в рамках процесу скільки завгодно потоків.
Два головні типи потоків — асиметричні і симетричні. Частіше всього на персональних комп'ютерах використовують асиметричні потоки. Асиметричні потоки (Asymmetric threads) — це потоки, що вирішують різні задачі і, як правило, не розділяють ресурси. Один з таких потоків відповідає за друк; інший обробляє повідомлення від клавіатури і миші; третій завідує автоматичним збереженням документа користувача. Симетричні потоки (Symmetric threads) виконують одну і ту ж роботу, розділяють одні ресурси і виконують один код.
Пріоритет потоків. Операційна система планує час процесора відповідно до пріоритету потоків. Коли потік створюється, йому призначається пріоритет, відповідний пріоритету його процесу, що породив. У свою чергу, процеси можуть мати наступні класи пріоритетів:
- Реального часу (Real time) - Високий (High) - Нормальний (Normal) - Фоновий (Idle)
Пріоритети мають значення від 0 до 31. Процес, що породив потік, може згодом змінити його пріоритет; у цій ситуації програміст має нагоду управляти швидкістю відгуку кожного потоку.
Процес – це виконання програми. Компоненти процесу – це програма , що виконується, її дані , її ресурси (пам’ять), стан виконання. Процес володіє своїм адресним простором, і його стан характеризується наступною інформацією: таблиці сторінок, дескриптори файлів, замовлення на ввід/вивід інформації, регістри. Процеси або нитки можуть взаємодіяти:
1.Через розподілення пам’яті (ОП, зовн.)
2.Завдяки передачі повідомлень
При взаємодії процесів через спільну пам'ять необхідна синхронізація їх виконання.
Розрізняють 2 види синхронізації:
1.Взаємне виключення критичних інтервалів
2.Координація процесів
Очевидно, що при програмуванні для однопотокового середовища в будь - який момент часу звертається до об’єкту лише 1 потік, то є гарантія що кожний метод завершиться до виклику наступного. Це значить, що об’єкт для своїх клієнтів знаходиться в дійсному стані. А при багатопотоковому програмуванні трапляються ситуації, коли потоки звертаються до об’єкту, що знаходяться в недійсному стані. Результат виконання не передбачено.
Термін безпека потоків означає підтримку об’єктів в дійсному стані при одночасному звертанні до них декількох потоків. Стандартний засіб уникнення непередбачених ситуацій – це синхронізація. Синхронізація дозволяє задавати критичні секції. Критичні секції коду – в кожен окремий момент часу може входити 1 потік, гарантуючи, що будь-які тимчасові недійсні стани об’єкту будуть невидимі його клієнтам.
Дві типові проблеми, з якими програміст може зіткнутися при роботі з потоками :
1.Гонки (Race conditions) 2. Тупіки(Deadlocks).
Правила використання потоків
1.Для досягнення підвищеного паралелізму.
Дуже часто додаткам вимагається виконувати декілька задач одночасно.
2.З метою спрощення конструкції.
Популярний спосіб спрощення структури складних систем – використання черг і асинхронної обробки. Щоб задіяти таку конструкцію вам доведеться підготувати черги для обробки подій, що відбуваються у вашій системі. Замість прямого виклику методів створюються об’єкти і поміщаються в черги , в яких відбувається їх обробка. На іншому кінці цих черг працює багато потокові серверні програми, налаштовані на відстежування повідомлень , що приходять в ці черги. Перевага спрощених конструкцій цього типу – надійність, стійкість і розширюваність заснованих на них систем.
3.Для ефективного використання процесорного часу.
Часто ваш додаток реально не виконує ніякої роботи, в той же час продовжуючи використовувати свій квант. Прикладом може служити очікування виводу документів на друк або закінчення операцій введення-виведення жорсткого диску CD-ROM. У кожному з цих випадків процесорний час не використовується. Ці випадки є кандидатами на перевід в потоки, що працюють у фоновому режимі.
8. Організація обчислень в машинах потоків даних.
Такі машини анулюють дві риси машин Фон-Неймана, а саме:
1.лічильник команд
2.традиційна пам'ять
Принцип роботи таких систем базується на використанні правила запалювання: команда оголошується готовою до виконання, як тільки обчислені всі операнди, що необхідні для її виконання. Команда, для якої ця умова виконана, називається командою, що спрацювала. У відповідності до описаного вище правила, дана модель є асинхронною. Оскільки доступність обчислених операндів дозволяє одночасне виконання декількох операторів, то паралельність дії є внутрішньою властивістю схем потоків даних.
Обчислення в МПД
Програма в МПД може бути представлена як орієнтований граф. Дуги в ньому бувають двох типів:
1.неперервні (такі дуги переносять числову та строкову інформацію) – зв’язки даних
2.перервані (переносять булеві змінні) – зв’язки керування
Вершинами такого графу є актори, які бувають 5 типів:
розмножувачі
блоки виконання операцій
блоки прийняття рішень
змішувачі
клапани або вентилі
9. Декомпозиція задач за вхідними даними.
Процес розподілу обчислень на менші частини, деякі або всі з яких можуть бути виконані паралельно, називається декомпозицією.
Застосовується до даних, які оперують великими масивами чисел. Проводиться в два етапи:
1)розділення даних
2)використання для розподілу основного завдання на окремі задачі цього розділення
Секціонування здійснюється різними способами, буває різних типів:
1.секціонування за вихідними даними
2.секціонування за вхідними даними
3.секціонування за вхідними і вихідними даними
4.секціонування за проміжними даними
Правило власника обчислень – кожне секціонування має виконувати обчислення над всіма даними, якими володіє.
Секціонування за вхідними даними застосовується у випадку, коли кожен вихідний елемент обчислюється як функція входу, але секціонування за вихідними даними неможливе
Приклад: визначення мінімуму або максимуму з набору чисел
10. Декомпозиція задач за вихідними даними.
Процес розподілу обчислень на менші частини, деякі або всі з яких можуть бути виконані паралельно, називається декомпозицією.
Застосовується до даних, які оперують великими масивами чисел. Проводиться в два етапи:
2)розділення даних
3)використання для розподілу основного завдання на окремі задачі цього розділення
Секціонування здійснюється різними способами, буває різних типів:
1.секціонування за вихідними даними
2.секціонування за вхідними даними
3.секціонування за вхідними і вихідними даними
4.секціонування за проміжними даними
Правило власника обчислень – кожне секціонування має виконувати обчислення над всіма даними, якими володіє.
Секціонування за вихідними даними – такий тип секціонування можливий, коли вихідні дані не залежать один від одного і кожен вихідний елемент є лише функцією входу
Приклад: матричне множення. Обчислення кожного вихідного елементу виділяється в окрему задачу.
11. Дослідницька декомпозиція задач.
Процес розподілу обчислень на менші частини, деякі або всі з яких можуть бути виконані паралельно, називається декомпозицією.
Даний тип декомпозиції використовується, коли існує декілька шляхів розв’язку однієї задачі, тобто існує простір для вибору рішень.
При такому способі ми розбиваємо область пошуку на менші частини і аналізуємо кожну з них одночасно з метою знайти вірний розв’язок.
Приклад: пятнашка
Дана задача розв’язується типово, використовуючи методи пошуку дерева. Вихідна конфігурація може мати 2, 3 або 4 на ступні конфігурації. Набір просторових конфігурацій можна розглядати як граф, кожен вузол – це конфігурація, а кожне ребро сполучає дві послідовні конфігурації, які утворюються одна з одної лише рухом однієї складової.
12. Декомпозиція задач за проміжними даними.
Процес розподілу обчислень на менші частини, деякі або всі з яких можуть бути виконані паралельно, називається декомпозицією.
Застосовується до даних, які оперують великими масивами чисел. Проводиться в два етапи:
3)розділення даних
4)використання для розподілу основного завдання на окремі задачі цього розділення
Секціонування здійснюється різними способами, буває різних типів:
1.секціонування за вихідними даними
2.секціонування за вхідними даними
3.секціонування за вхідними і вихідними даними
4.секціонування за проміжними даними
Правило власника обчислень – кожне секціонування має виконувати обчислення над всіма даними, якими володіє.
Секціонування за проміжними даними – зазвичай проміжні дані явно не існують, необхідно реструктурувати первинний алгоритм.
Приклад: матричне множення. Максимальний ступінь паралелізму дорівнює 4. Можна збільшити ступінь паралелізму, ввівши проміжні дані. На цій додатковій стадії обчислення додаються субматриці, а результат зберігається у проміжній тривимірній субматриці D.
Реструктуризація первинного алгоритму дала змогу отримати вищий ступінь паралелізму програми, але це прискорення було досягнуто за рахунок використання додаткового об’єму пам’яті.
13. Граф машин потоків даних (МПД) і його основні елементи.
Схема МПД може бути представлена сукупністю процесорних елементів. Кожен вузол визначає операцію для виконання і адреси всіх вузлів, які очікують на обчислення даного операнду. В дійсності процесор МПД працює як простий круговий конвеєр. Токени - дані, що надходять з мережі. Складаються з даних і адреси призначення або тега. Актори – дії, операції, що виконуються над токенами.
У вузлі відповідності тег порівнюється з тегами, наявними у сховищі токенів. Якщо такі присутні, то вони обираються разом з операцією, яку над ними необхідно виконати. Потім вони разом подаються до модуля виконання. Отриманий результат відправляється за тими адресами, де на нього очікують. Якщо ж не всі токени для операції готові, то даний токен розміщується у сховищі токенів і очікує своєї черги на виконання.
14. Способи взаємодії ниток при багато потоковому програмуванні: семафори, події, взаємне виключення.
Дві типові проблеми, з якими програміст може зіткнутися при роботі з потоками :
Гонки (Race conditions) Тупіки(Deadlocks).
Тупіки. Тупік має місце тоді, коли потік чекає ресурс, який в даний момент належить іншому потоку. Розглянемо приклад: Потік 1 захоплює об'єкт А і, для того, щоб продовжувати роботу, чекає можливості захопити об'єкт Б. В той же час Потік 2 захоплює Об'єкт Б і чекає можливості захопити Об'єкт А. Розвиток цього сценарію заблокує обидва потоки; жоден з них не виконуватиметься.
В ролі ресурсів виступають довільні спільно використовувані об’єкти, а саме файли, масиви в пам’яті.
Гонки. Ситуація гонок виникає, коли два або більш потоків намагаються дістати доступ до загального ресурсу і змінити його стан. Розглянемо наступний приклад. Хай Потік 1 дістав доступ до ресурсу і змінив його в своїх інтересах; потім активізувався Потік 2 і модифікував цей же ресурс до завершення Потоку 1. Потік 1 вважає, що ресурс залишився в тому ж стані, що і був до перемикання. Залежно від того, коли саме був змінений ресурс, результати можуть варіюватися — іноді код виконуватиметься нормально, іноді - ні.
Ситуації гонок і тупіків можна уникнути, якщо використовувати такі прийоми:
1.Взаємне виключення. Дозволяє тільки одному потоку за один раз володіти об’єктом.
Характеризується:
тільки 1 процес знаходиться в середині критичного інтервалу
якщо жоден процес не знаходиться в критичному інтервалі то довільний інший процес, яки бажає отримати доступ до об’єкту повинне отримати дозвіл без жодної затримки
не повинно існувати жодних домовленостей про швидкість процесу
2.Семафори. Семафор (semaphore) подібний взаємному виключенню. Різниця між ними у тому, що семафор може управляти кількістю потоків, які мають до нього доступ.
Семафор встановлюється на граничне число потоків, яким доступ дозволений. Коли це число досягнуте, подальші потоки будуть припинені, поки один або більш потоків не від'єднаються від семафора і не звільнять доступ. Семафор – невід’ємна ціла змінна, яка може змінюватись і перевірятись лише двома функціями:
P(s): [|знач.|><звільнити>]
V(s): [|знач.|><зайняти>]
Блокування процесу і перемикання на інший не ефективно, коли семафор захоплюється на дуже короткий час. Очікування звільнення таких семафорів може бути реалізовано в ОС завдяки циклічним опитуванням значень семафору. Недоліки такого «активного очікування» - не продуктивна витрата часу, навантаження на загальну пам'ять і можливість практично заблокувати роботу процесу, що знаходиться в критичному інтервалі. Тобто, якщо об’єкт використовується великою кількістю потоків, використання семафорів не доцільне.
3.Подія – змінна, яка показує що відбулася певна подія.
Для об’явлення події використовується оператор: Post(ім’я змінної) , для очікування : Wait(ім’я змінної). Для очищення (привласнення 0 значення): clear(ім’я змінної).
4.Критична секція. Критичні секції подібні взаємним виключенням по суті, проте між ними існують дві головні відмінності:
взаємні виключення можуть бути спільно використані потоками в різних процесах, а критичні секції — ні;
якщо критична секція належить іншому потоку, чекаючий потік блокується аж до звільнення критичної секції. На відміну від цього, взаємне виключення дозволяє продовження після закінчення тайм-ауту.
5.Обмін повідомленнями. «Взаємодія паралельних процесів».1978р., Хоар.
Мета: позбутись проблему розподілу пам’яті і запропонувати модель взаємодії процесів у розподілених системах.
Використовуються основні функції:
1.Send (destination, message, size) 2. Receive (source, message, size)
Адресатом виступає процес, відправник не специфікується , в його ролі виступає довільний об’єкт.
Механізм семафорів та взаємодії процесів семантично взаємо заміняються . Тому на мультипроцесорах використовується один через інший.
15. Рекурсивна декомпозиція. Приклад швидкого сортування масиву чисел.
Процес розподілу обчислень на менші частини, деякі або всі з яких можуть бути виконані паралельно, називається декомпозицією.
При цьому способі основне завдання розподіляється певним способом на невелику кількість незалежних задач. На наступному кроці отримані задачі знову декомпозуються, рекурсивно застосовуючи вищезазначений спосіб і т.д.
Цей спосіб призводить до виявлення природного паралелізму системи.
Приклад. Швидке сортування набору чисел : 5 12 11 1 10 6 8 2 7 4 9 3
Вибирається основний елемент Х і основна послідовність А розбивається на дві послідовності А0 і А1, такі що всі елементи послідовності А0 є меншими за Х, а всі елементи А1 є більшими за Х і т.д.
Автоматизоване проектування комп’ютерних систем
1. Загальні відомості з автоматизації проектування електронно-обчислювальної техніки та інших
технічних систем. Рівні та етапи проектування електронно-обчислювальної техніки.
По-перше, автоматизація проектування – синтетична дисципліна, її складовими є багато інших сучасних інформаційних технологій. Так, технічне забезпечення систем автоматизованого проектування (САПР) базується на використанні обчислювальних мереж і телекомунікаційних технологій, в САПР використовуються персональні комп’ютери та робочі станції, є приклади застосування мейнфреймів. Математичне забезпечення САПР відрізняється багатством і різномаїттям використовуваних методів обчислювальної математики. Статистики, математичного програмування, дискретної математики, штучного інтелекту. Програмні комплекси САПР відносяться до найбільш складних програмних систем, що базуються на операційних системах Unix, Windows-95/NT, мовах програмування С, С++, Java та інших, сучасних CASE-технологіях, стандартах відкритих систем і обміну даними в комп’ютерних середовищах.
По-друге, знання основ автоматизації проектування та вміння працювати із засобами САПР необхідне практично будь-якому інженеру-розробнику. Комп’ютерами насичені проектні підрозділи, конструкторські бюро та офіси. Робота конструктора за звичайним кульманом, розрахунки за допомогою логарифмічної лінійки чи оформлення звіту на друкарській машинці стали анахронізмом. Установи, що ведуть розробки без САПР чи лише з малим відсотком їх використання, виявляються неконкурентноспроможними як через великі матеріальні та часові витрати, так і через невисоку якість проектів.
Проектування – одна з найважливіших сфер інженерної діяльності, це та ланка, що пов’язує наукові дослідження і практичну реалізацію. Від термінів та якості проектування значно залежать строки впровадження та якість готової продукції.
Проектування — вид цілеспрямованої виробничої діяльності людини чи колективу фахівців із розв'язання задач проектування, спрямованої на створення приладів чи систем, що відповідають технічному завданню, які оптимально задовольняють поставлені вимоги і задовільно функціонують протягом заданого проміжку часу при прогнозованих умовах середовища.
Автоматизоване проектування — проектування, при якому окремі перетворення об'єкта й (або) алгоритму його функціонування або алгоритму процесу, а також описи різноманітними мовами здійснюються взаємодією людини та комп'ютера.
Важко переоцінити значення автоматизації проектування для розвитку науки, техніки, народного господарства. Саме з автоматизацією проектування пов’язані принципові можливості створення найскладніших технічних об’єктів як у промисловому, так і цивільному будівництві. Адже проектування об’єктів потребує великих затрат людських і часових ресурсів і саме АП – основний спосіб підвищення продуктивності праці інженерно-технічних працівників, зайнятих проектуванням.
Комп’ютерні мережі
8. Комп’ютерні мережі 1
1. Еталонна модель взаємодії відкритих систем ISO/OSI. 2
2. Порівняльна характери 3
стика моделей TCP/IP ISO/OSI 3
3. Основні типи середовищ передачі даних. 4
4. Основні фізичні топології ЛОМ. 6
5. Класи ІР-адрес. Спеціальні ІР-адреси 7
6. Маски IP-адрес. Створення підмереж 9
7. Основні типи середовищ передачі даних. 10
8. Види маршрутизації. Порівняльна характеристика алгоритмів маршрутизації 11
9. Структура канального рівня. Алгоритм роботи пристроїв канального рівня. 13
10. Протоколи транспортного рівня. Технології управління потоком даних. 15
11. Протокол ТСР. Формат ТСР-сегметну 16
12. Поняття МАС-адресації. Поняття домену колізій та широкомовного домену. 17
13. Колективний метод доступу до середовища (CSMA/CD) 18
14. Маркерний метод доступу до середовища (Token Passing) Мережі Token Ring. 19
15. Мережі Ethernet 21
1. Еталонна модель взаємодії відкритих систем ISO/OSI.
Еталонна модель OSI являє собою 7-рівневу мережеву ієрархію, яка описує процес передачі даних між мережевими пристроями, розроблену ISO. Модель не забезпечує процесу передачі даних, а лише описує, або моделює його. Фактично, ця модель містить в собі :
горизонтальну модель на базі протоколів, яка забезпечує механізм взаємодії програм та процесів на різних мережевих пристроях; (В моделі двом програмам необхідна наявність спільного протоколу для обміну даними.)
- вертикальну модель на основі послуг, які забезпечуються сусідніми рівнями один одному на одному мережевому пристрої. (У вертикальній сусідні рівні обмінюються даними з допомогою інтерфейсів. )
Рис. 1 Еталонна модель взаємодії ISO/OSI.
Зв’язки між парними рівнями моделі OSI є віртуальними – кожен рівень взаємодіє з парним йому лише з допомогою сусідніх, а не напряму. Але ця взаємодія є прозорою, тобто невидимою для кожного конкретного рівня.
Фізичний рівень отримує дані від канального і перетворює їх у оптичні або електричні сигнали, які відповідають 0 і 1 бінарного потоку. Ці сигнали посилаються через середовище передачі на приймаючий вузол. Механічні і електричні/оптичні властивості включають в себе:
типи кабелів і роз’ємів;
розводку контактів у роз’ємах;
схему кодування сигналів для значень 0 і 1
Канальний рівень забезпечує створення, передачу та прийом ПБД канального рівня - кадрів (Frame). Цей рівень обслуговує запити мережевого рівня і використовує сервіс фізичного рівня для прийому і передачі кадрів. Стандарти ISO ділять канальний рівень на 2 підрівні: підрівень управління логічним каналом (Logical Link Control, LLC), який забезпечує взаємодію із мережевим рівнем і не залежить від конкретної технології, яка використовується, та підрівень контролю доступу до середовища (Media Access Control, MAC), який регулює доступ до розділюваного фізичного середовища і залежить від конкретної реалізації мережі.
Мережевий рівень відповідає за логічну адресацію учасників обміну інформацією та маршрутизацію вибір оптимального шляху між учасниками обміну інформацією. ПБД мережевого рівня є пакет (packet).
Транспортний рівень ділить потоки інформації на такі ПБД як сегменти (segment), а також відповідає за надійну і достовірну передачу інформації та за контроль потоку даних.
Сеансовий рівень відповідає за організацію сеансів обміну даними між кінцевими машинами. Функції сеансового рівня забезпечуються протоколами, які є складовою частиною функції всіх трьох верхніх рівнів.
Представницький рівень відповідає за можливість діалогу між додатками на різних вузлах. Цей рівень забезпечує перетворення даних (компресія, кодування) прикладного рівня у потік інформації для транспортного рівня.
Прикладний рівень відповідає за доступ додатків користувача до мережі. Завданнями цього рівня є передача файлів, обмін поштовими повідомленнями та керування мережею.
Кожен рівень надає сервіси (послуги) верхньому сусідньому рівню і користується сервісами, наданими йому нижнім рівнем. Прикладний рівень надає сервіси безпосередньо додаткам користувача. Кожен рівень моделі OSI у процесі передачі інформації взаємодіє із 3-ма рівнями: сусіднім верхнім, сусіднім нижнім та парним йому рівнем іншого пристрою.
Процес передачі інформаційних блоків з верхнього рівня на нижній супроводжується інкапсуляцією (encapsulation) – формуванням ПБД кожного рівня з додаванням відповідної службової інформації у вигляді заголовків (header) та кінцівок (trailer). При цьому ПБД верхнього рівня із всією службовою інформацією є лише даними для нижнього рівня.
2. Порівняльна характери
стика моделей TCP/IP ISO/OSI
Модель OSI (модель взаємодії відкритих систем) - абстрактна модель для мережних комунікацій і розробки мережних протоколів. Представляє рівневий підхід до мережі. Кожен рівень обслуговує свою частину процесу взаємодії.
Основним використовуваним протоколом є TCP/IP, розробка якого не була пов'язана з моделлю OSI. За увесь час існування моделі OSI вона не була реалізована.
Рівні моделі OSI
Модель складається з 7-ми рівнів, розташованих вертикально один над іншим. Кожен рівень може взаємодіяти тільки зі своїми сусідами й виконувати відведені тільки йому функції. Протоколи HTTP, gopher, Telnet, DNS, SMTP, SNMP, CMIP, FTP, TFTP, SSH, IRC, AIM, NFS, NNTP, NTP, SNTP, XMPP, FTAM, APPC, X.400, X.500, AFP, LDAP, SIP, ITMS, Modbus TCP, BACnet IP, IMAP, POP3, SMB, MFTP, BitTorrent, e2k, PROFIBUS Це всього лише кілька найрозповсюдженіших протоколів прикладного рівня.
Представницький HTTP/HTML, ASN.1, XML, TDI, XDR, SNMP, FTP, Telnet, SMTP, NCP, AFP
Сеансовий ASP, ADSP, DLC, Named Pipes, NBT, NetBIOS, NWLink, Printer Access Protocol, Zone Information Protocol, SSL, TLS, SOCKS
Транспортний TCP, UDP, NetBEUI, AEP, ATP, IL, NBP, RTMP, SMB, SPX, SCTP, DCCP, RTP, STP, TFTP
Мережний IP, IPv6, ICMP, IGMP, IPX, NWLink, NetBEUI, DDP, IPSec, ARP, RARP, DHCP, Boot, SKIP
Канальний (Ланки даних) ARCnet, ATM, DTM, SLIP, SMDS, Ethernet, FDDI, Frame Relay, LocalTalk, Token ring, PPP, PPPo, StarLan, WiFi, PPTP , L2F, L2TP, PROFIBUS
Фізичний RS-232, RS-422, RS-423, RS-449, RS-485, ITU-T, xDSL, ISDN, T-carrier (T1, E1), модифікації стандарту Ethernet: 10BASE-T, 10BASE2, 10BASE5, 100BASE-TX, 100BASE-FX, 100BASE-T, 1000BASE-T, 1000BASE-TX, 1000BASE-SX
Модель OSI і реальні протоколи
Семирівнева модель OSI є теоретична, і містить ряд недоробок. Реальні мережні протоколи змушені відхилятися від її, забезпечуючи непередбачувані можливості, тому прив'язка деяких з них до рівнів OSI є трохи умовною.
Основна недоробка OSI - непродуманий транспортний рівень. На ньому OSI дозволяє обмін даними між додатками (уводячи поняття порту - ідентифікатора додатка).
TCP/IP — це абревіатура терміну Transmission Control Protocol / Internet Protocol (Протокол керування передачею / Протокол Internet). Фактично TCP/IP не один протокол, а декілька. Його називають набором, або комплектом протоколів, серед яких TCP і IP — два основних. TCP/IP представляє цей базовий набір протоколів Інтернету, відповідальний за розбивання вихідного повідомлення на пакети (TCP), доставку пакетів на вузол адресата(IP) і збирання (відновлення) вихідного повідомлення з пакетів (TCP).
TCP/IP модель (RFC 1122)
Рівень програмного забезпечення
BGP · DHCP · DNS · FTP · Gopher · GTP · HTTP · IMAP · IRC · NNTP · NTP · POP · RIP · RPC · RTCP · RTP · RTSP · SDP · SIP · SMTP · SNMP · SOAP · SSH · STUN · Telnet · TLS/SSL · XMPP ·
Транспортний рівень
TCP · UDP · DCCP · SCTP · RSVP · ECN · (more)
Рівень Інтернет
IP (IPv4, IPv6) · ICMP · ICMPv6 · IGMP · IPsec · (more)
Канальний рівень
ARP · RARP · NDP · OSPF · Tunnels (L2TP) · Media Access Control (Ethernet, DSL, ISDN, FDDI) · Device Drivers · (more)
стек ТСР/ІР увібрав у себе велику кількість протоколів прикладного рівня. Сьогодні стек ТСР/ІР є одиним з найпоширеніших стеків транспортних протоколів обчислювальних мереж. Тільки в мережі Internet об’єднано близько 1 мільярду комп’ютерів в усьому світі, що взаємодіють один з одним за допомогою стеку протоколів ТСР/ІР.
3. Основні типи середовищ передачі даних.
Середовища передачі даних поділяються на: - середовища на мідній основі; - оптоволоконні кабелі
безпровідні середовища.
Середовища передачі даних на мідній основі включають:
1. Екранована вита пара (Shielded twisted pair, STP) - Такий кабель забезпечує добрий захист від електромагнітних та радіочастотних наводок, але є порівняно дорогим та важким у прокладанні.
2. Екранована вита пара (Screened twisted pair, ScTP, Foiled twisted pair, FTP). вимагає, щоб екрани були добре заземлені на обох кінцях, інакше замість екранування вони починають підсилювати зовнішні шуми.
3. Неекранована вита пара (Unshielded twisted pair, UTP) - Перевагами використання цього кабелю є його дешевизна та легкість у прокладанні; недоліками – неможливість використання у зашумленому та агресивному середовищі.
4. Коаксіальний кабель. Мідне оплетення кабелю одночасно виступає і захисним екраном для центрального провідника, і другим провідником у кабелі.
Оптоволоконний кабель.
Його основною перевагою є значна швидкість передачі даних (до 10 Гб/с) та довжина фізичного сегменту (до 40 км, а також несприйнятливість до зовнішніх електромагнітних шумів.
Для передачі інформації через оптоволокно використовуються електромагнітні хвилі із довжинами, 850 нм, 1310 нм або 1550 нм. Коли світловий промінь потрапляє на межу розділу двох середовищ (падаючий промінь), частина світлової енергії відбивається назад (відбитий промінь).
Та частина світлової енергії, яка не відбилася, буде поглинута іншим середовищем. Але через різницю оптичної густини падаючий промінь заломиться.Саме завдяки заломленню світлових променів на межі розділу середовищ можливе використання оптоволоконного кабелю для передачі інформації.
Кут падіння, при якому промінь при переході з більш оптично густого середовища у менш оптично густе вже не заломлюється, а повністю відбивається у середовище, називається критичним кутом.
Світловий промінь, який несе інформацію у оптоволокні, мусить залишаться всередині оптоволокна на всьому шляху від відправника інформації до отримувача. Він не повинен заломлюватися всередину матеріалу, який знаходиться навколо світловоду, оскільки через заломлення буде втрачатися частина енергії.
Закони відбивання та заломлення ілюструють, як спроектувати волокно, у якому світлова енергія буде втрачатися мінімально. Таке волокно повинно задовольняти двом умовам:
центральна частина оптоволокна повинна мати більший індекс заломлення, ніж матеріал, який її оточує;
кут падіння світлового променя повинен бути більшим за критичний кут для ядра та оболонки.
Коли обидві ці умови виконуються, падаючий промінь повністю залишається у волокні. Це явище називається повним внутрішнім відбиванням.
Контролювати кут падіння променя дозволяють два фактори:
числова апертура – межі кутів падіння променя, при яких він буде повністю відбиватися;
мода – шлях проходження променя через оптоволокно.
Якщо діаметр волокна дозволяє, можна одночасно пропустити через нього кілька променів. Говорять, що таке волокно є багатоходовим на відміну від одномодового, у якому може проходити лише один промінь у певний момент часу.
Кожен волоконно-оптичний кабель, який використовується для передачі інформації у мережах, складається з двох світловодів у спільній оболонці – для передачі інформації у двох напрямках.
Як правило, волоконно-оптичний кабель має наступну будову:
- зовнішня оболонка - для попередження забруднення кабелю розчинниками, абразивними речовинами та іншим.
підсилюючий матеріал - попереджає ушкодження кабелю у процесі інсталяції
буфер - Він дозволяє убезпечити оболонку та ядро від пошкоджень
оболонка - Оболонка навколо ядра виготовляється з двоокису кремнію, але з меншим індексом заломлення, ніж ядро. Дозволяє досягнути у ядрі ефекту повного внутрішнього відбивання
ядро - це скло виготовлене з двоокису кремнію
Безпровідні локальні мережі Стандарт 802.11: стек протоколів
Всі протоколи, використовувані сімейством стандартів 802.x, схожі по структурі. Що стосується 802.11, то підрівень MAC (підрівень управління доступом до середовища) відповідає за розподіл каналу, тобто за те, яка станція передаватиме наступною. Над MAC в ієрархії знаходиться підрівень LLC (управління логічним з'єднанням), завдання якого полягає в тому, щоб зробити відмінності стандартів 802.x невидимими для мережевого рівня.
застосовується радіозв'язок невеликого радіусу дії (при цьому працюють методи FHSS і DSSS). Вони обидва використовують не належні ліцензуванню частина спектру (діапазон ISM 2,4 Ггц). Незалежно від методу швидкість роботи складає 1-2 Мбіт/с, і сигнал використовується відносно малопотужний, що дозволяє зменшити кількість конфліктів між передавачами. З метою збільшення пропускній спроможності в 1999 році були розроблені два додаткових метода: OFDM і HR-DSSS. Вони працюють з швидкостями 54 Мбіт/с і 11 Мбіт/с відповідно. У 2001 році була представлена нова модифікація OFDM.
4. Основні фізичні топології ЛОМ.
Фізична топологія – це граф, вершинами якого є вузли мережі, а ребрами – фізичні зв’язки між ними. Логічна топологія описує, як циркулюють потоки інформації між вузлами і визначає алгоритм, згідно із яким мережеві вузли будуть отримувати доступ до середовище передачі даних.
Визначають наступні фізичні топології:
- шинна топологія
У цій топології всі вузли під’єднані до мережевого середовища. Недоліки – фізичний розрив між будь-якими вузлами призводить до непрацездатності всієї мережі.
- кільцева топологія
Володіє тими ж недоліками, що і шинна. При явній реалізації вихід з ладу будь-якого вузла або зв’язку між ними призводить до непрацездатності мережі.
зіркова топологія
У цій топології існує центральний вузол, до якого під’єднуються всі інші вузли. Це дозволяє підтримувати працездатність мережі у випадку виходу з ладу окремого кінцевого вузла або каналу між вузлами. Мережа перестає працювати лише у випадку виходу з ладу центрального вузла. Зіркову топологію у деяких випадках можна розглядати як вироджену шину – тобто центральний вузол являє собою спільне розділюване середовище, до якого всі інші намагаються отримати доступ.
- розширена зірка
Являє собою ту ж зірку, кожен кінцевий вузол якої служить центральним вузлом для іншої зірки. Крім того, якщо з ладу виходить центральний вузол, мережа розпадається на кілька незалежних працездатних мереж.
деревовидна топологія
За структурою схожа на розширену зірку, але її центральним елементом є не центральний вузол, а так званий магістральний кабель. Як правило, він застосовується у випадку необхідності доступу багатьох вузлів до одного, у жорстко вираженому клієнт-серверному середовищі.
повна топологія
У цій топології кожен вузол зв’язаний із кожним. Завдяки наявності значної кількості резервних зв’язків вона є дуже надійною, але на практиці майже не застосовується, оскільки вимагає дуже значних апаратних затрат.
5. Класи ІР-адрес. Спеціальні ІР-адреси
IP-адреса має довжину 4 байти записується у вигляді чотирьох чисел, що представляють значення кожного байта в десятковій формі й розділених точками, наприклад, 128.10.2.30 - традиційна десяткова форма представлення адреси, а 10000000 00001010 00000010 00011110 - двійкова форма представлення цієї ж адреси.
Адреса складається із двох логічних частин — номера мережі й номери вузла в мережі. Яка частина адреси відноситься до номера мережі, а яка — до номера вузла, визначається значеннями перших біт адреси. Значення цих біт є також ознаками того, до якого класу відноситься та або інша IP-адреса.
Структура IP-адреси
Якщо адреса починається з 0, то мережу відносять до класу А и номер мережі займає один байт, інші 3 байти інтерпретуються як номер вузла в мережі. Мережі класу А мають номери в діапазоні від 1 до 126. (Номер 0 не використовується, а номер 127 зарезервований для спеціальних цілей, про що буде сказано нижче.) Мереж класу А небагато, зате кількість вузлів у них може досягати 224, тобто 16 777 216 вузлів.
Якщо перші два біти адреси є 10, то мережа відноситься до класу В. У мережах класу В під номер мережі й під номер вузла виділяється по 16 біт, тобто по 2 байти. Таким чином, мережа класу В є мережею середніх розмірів з максимальним числом вузлів 216, що становить 65 536 вузлів.
Якщо адреса починається з послідовності 110, то це мережа класу С. У цьому випадку під номер мережі приділяється 24 битка, а під номер вузла — 8 біт. Мережі цього класу найпоширеніші, число вузлів у них обмежено 28, тобто 256 вузлами.
Якщо адреса починається з послідовності 1110, то вона є адресою класу D і позначає особливу, групову адресу — multicast. Якщо в пакеті як адреса призначення зазначена адреса класу D, то такий пакет повинні отримати всі вузли, яким привласнена дана адреса.
Якщо адреса починається з послідовності 11110, то це значить, що дана адреса відноситься до класу Е. Адреси цього класу зарезервовані для майбутніх застосувань.
діапазони номерів мереж і максимальне число вузлів, що відповідають кожному класу мереж.
Перші біти Найменший номер мережі
Найбільший номер мережі Максимальне число вузлів у мережі
А 0 1.0. 0.0 126.0. 0.0 224
В 10 128.0. 0.0 191. 255.0.0 21б
С 110 192.0. 1.0 223. 255.255.0 28
D 1110 224.0. 0.0 239. 255.255.255 Multicast
Е 11110 240.0. 0.0 247. 255.255.255 Зарезервований
Великі мережі одержують адреси класу А, середні - класу В, а малі - класу С.
У протоколі IP існує кілька угод про особливу інтерпретацію IP-адрес.
Якщо вся IP-адреса складається тільки із двійкових нулів, то вона позначає адресу того вузла, що згенерував цей пакет; цей режим використовується тільки в деяких повідомленнях ICMP.
Якщо в полі номера мережі стоять тільки нулі, то за замовчуванням вважається, що вузол призначення належить тій же самій мережі, що й вузол, що відправив пакет.
Якщо всі двійкові розряди IP-адреси рівні 1, то пакет з такою адресою призначення повинен розсилатися всім вузлам, що перебувають у тій же мережі, що й джерело цього пакета. Таке розсилання називається обмеженим широкомовним повідомленням (limited broadcast).
Якщо в поле номера вузла призначення стоять тільки одиниці, то пакет, що має таку адреса, розсилається всім вузлам мережі із заданим номером мережі. Наприклад, пакет з адресою 192.190.21.255 доставляється всім вузлам мережі 192.190.21. 0. Таке розсилання називається широкомовним повідомленням(broadcast).
При адресації необхідно враховувати ті обмеження, які вносяться особливим призначенням деяких IP-адрес. Так, ні номер мережі, ні номер вузла не може складатися тільки з одних двійкових одиниць або тільки з одних двійкових нулів. Звідси треба, що максимальна кількість вузлів, наведена в таблиці для мереж кожного класу, на практиці повинна бути зменшена на 2. Наприклад, у мережах класу С під номер вузла відводиться 8 біт, які дозволяють задавати 256 номерів: від 0 до 255. Однак на практиці максимальне число вузлів у мережі класу С не може перевищувати 254, тому що адреси 0 й 255 мають спеціальне призначення. Із цих же міркувань слідує, що кінцевий вузол не може мати адресу типу 98.255.255.255, оскільки номер вузла в цій адресі класу А складається з одних двійкових одиниць.
Особливий смисл має IP-адреса, перший октет якої дорівнює 127. Вона використовується для тестування програм і взаємодії процесів у межах одної машини. Коли програма посилає дані по IP-адресі 127.0.0. 1, то утвориться як би «петля». Дані не передаються по мережі, а повертаються модулям верхнього рівня як тільки що прийняті. Тому в IP-мережі забороняється привласнювати машинам IP-адреси, що починаються з 127. Ця адреса має назву loopback. Можна віднести адресу 127.0.0.0 до внутрішньої мережі модуля маршрутизації вузла, а адресу 127.0.0.1 - до адреси цього модуля на внутрішній мережі. Насправді будь-яка адреса мережі 127.0.0.0 служить для позначення свого модуля маршрутизації, а не тільки 127.0.0.1, наприклад 127.0.0.3.
У протоколі IP немає поняття широкомовності в тому розумінні, у якому воно використовується в протоколах канального рівня локальних мереж, коли дані повинні бути доставлені абсолютно всім вузлам. Як обмежена широкомовна IP-адреса, так і широкомовна IP-адреса мають межі розповсюдження в інтермережі - вони обмежені або мережею, до якої належить вузол-джерело пакета, або мережею, номер якої зазначений в адресі призначення. Тому ділення мережі за допомогою маршрутизаторів на частини локалізує широкомовний шторм межами однієї зі складових загальної мережі частин просто тому, що немає способу адресувати пакет одночасно всім вузлам всіх мереж складеної мережі.
Уже згадувана форма групової IP-адреси — multicast — означає, що даний пакет повинен бути доставлений відразу декільком вузлам, які утворять групу з номером, зазначеним у полі адреси. Вузли самі ідентифікують себе, тобто визначають, до якій із груп вони належать. Той самий вузол може входити в кілька груп. Члени якої-небудь групи multicast не обов'язково повинні належати одній мережі. У загальному випадку вони можуть розподілятися по зовсім різних мережах, що перебувають друг від друга на довільній кількості хопів. Групова адреса не ділиться на поля номера мережі й вузла й обробляється маршрутизатором особливим чином.
Основне призначення multicast-адрес - розповсюдження інформації зі схеми «один-до-багатьох». Хост, що хоче передавати ту саму інформацію багатьом абонентам, за допомогою спеціального протоколу IGMP (Internet Group Management Protocol) повідомляє про створення в мережі нової мультимовної групи з певною адресою. Машрутизатор, що підтримують мультимовність, поширюють інформацію про створення нової групи в мережах, підключених до портів цього маршрутизатора. Хости, які хочуть приєднатися до знов створеною мультимовної групи, сповіщають про це своїм локальним маршрутизаторам і ті передають цю інформацію хосту, ініціаторові створення нової групи.
Щоб маршрутизатори могли автоматично поширювати пакети з адресою multicast по складеній мережі, необхідно використовувати в кінцевих маршрутизаторах модифіковані протоколи обміну маршрутною інформацією, такі як, наприклад, MOSPF (Multicast OSPF, аналог OSPF).
Групова адресація призначена для економічного поширення в Internet або великої корпоративної мережі аудіо- або відеопрограм, призначених відразу великій аудиторії слухачів або глядачів. Якщо такі засоби знайдуть широке застосування (зараз вони представляють в основному невеликі експериментальні острівці в загальному Internet), то Internet зможе створити серйозну конкуренцію радіо й телебаченню.
6. Маски IP-адрес. Створення підмереж
В термінології мереж стека протоколів TCP/IP маскою мережі або маскою підмережі називається бітова маска, яка визначає, яка частина IP-адреси вузла мережі відноситься до адреси мережі, а яка — до адреси самого вузла в цій мережі. Наприклад, вузол з IP-адресою 12.34.56.78 і маскою мережі 255.255.0.0 знаходиться в мережі 12.34.0.0.
Щоб отримати адресу мережі, знаючи IP-адресу і маску мережі, необхідно застосувати до них операцію порозрядної кон'юнкції (логічне І). Наприклад, у випадку більш складної маски:
IP-адреса: 00001100 00100010 00111000 01001110 (12.34.56.78)
Маска: 11111111 11111111 11100000 00000000 (255.255.224.0)
Адреса мережі: 00001100 00100010 00100000 00000000 (12.34.32.0)
Маску мережі часто записують разом з IP-адресою нотації CIDR (в форматі «IP-адреса/кількість одиничних біт в масці»).
Розбиття однієї великої мережі на кілька маленьких підмереж дозволяє спростити маршрутизацию. Наприклад, нехай таблиця маршрутизації деякого маршрутизатора містить такий запис: Мережа призначення Маска Адреса шлюзу
12.34.0.0 255.255.0.0 11.22.3.4
Нехай тепер маршрутизатор отримує пакет даних з адресою призначення 12.34.56.78. Обробляючи порядково таблицю маршрутизації, він виявляє, що при накладанні маски 255.255.0.0 на адресу 12.34.56.78 отримується адреса мережі 12.34.0.0. В таблиці маршрутизації цієї мережі відповідає шлюз 11.22.3.4, якому і відправляється пакет.
Маски підмереж являються основою методу безкласової маршрутизації.
Інколи зустрічається запис IP-адрес виду 10.96.0.0/11. Даний вид запису замінює собою діапазон IP-адрес. Число після слеша означає кількість одиничних розрядів в масці підмережі.
Для приведеного прикладу маска підмережі буде мати двійковий вид 11111111 11100000 00000000 00000000 або те ж саме в десятковому виді: 255.224.0.0. 11 розрядів IP-адреси відводиться під номер мережі, а решта 32 - 11 = 21 розрядів повної адреси — під локальну адресу в цій мережі. Отже, 10.96.0.0/11 означає діапазон адрес от 10.96.0.0 до 10.127.255.255
Призначення маски мережі
Маска призначається по такій схемі 2^8-n (для мереж класу C), де n - кількість комп'ютерів в мережі + 2, округлене до найближчої більшої степені двійки.
Для зменшення трафіка в мережах з великою кількістю вузлів застосовується розділення вузлів за підмережами потрібного розміру. Адреса підмережі використовує кілька старших бітів гост–частини IP–адреси, решта молодших бітів – нульові. В цілому IP–адреса складається з адреси мережі, підмережі та локальної гост–адреси, яка є унікальною для кожного вузла. Для виділення номерів мережі, підмережі та госта (вузла) використовується маска підмережі – бітовий шаблон, в якому бітам, що використовуються для адреси підмережі, присвоюються значення 1, а бітам адреси вузла – значення 0. Розглянемо адресу 192.168.40.252 та значення маски 255.255.255.0. У цьому випадку маємо адресу підмережі 192.168.40 та адресу госта – 252. При цьому всі гости підмережі 192.168.40 мають встановити ту ж саму маску підмережі. Отже, мережа 192.168 може мати 256 підмереж з 254 вузлами в кожній. Використання ж маски 255.255.255.192 дасть змогу мати 1024 підмережі з 60 вузлами в кожній.
Комбінації всіх нулів або всіх одиниць у мережній, підмережній або гост–частині зарезервовані для загальних (broadcast) повідомлень та службових цілей. Наприклад, адреса 192.168.40.255 використовується для загального повідомлення всім вузлам підмережі 192.168.40. Кожен xост може мати не тільки IP–адресу, але й ім'я (Host name). Як і цифрові IP–адреси, імена вузлів діляться на частини, що розділяються крапками. Починають запис від імені комп'ютера, далі йдуть імена локальних доменів (груп комп'ютерів) і закінчується ім'я вказанням імен вищих доменів (організаційних та територіальних). Список цих імен зберігається в спеціальній базі даних доменів служби імен DNS (Domain Name System). Наприклад, ім'я blues.franko.lviv.ua відповідає серверу з іменем Blues у домені franko.lviv.ua комп'ютерів кампусної мережі Львівського державного університету ім. І.Франка. Звертаючись до вузла, з однаковим успіхом можна використати як IP–адресу, так і його ім'я.
7. Основні типи середовищ передачі даних.
Середовища передачі даних поділяються на: - середовища на мідній основі; - оптоволоконні кабелі
безпровідні середовища.
Середовища передачі даних на мідній основі включають:
1. Екранована вита пара (Shielded twisted pair, STP) - Такий кабель забезпечує добрий захист від електромагнітних та радіочастотних наводок, але є порівняно дорогим та важким у прокладанні.
2. Екранована вита пара (Screened twisted pair, ScTP, Foiled twisted pair, FTP). вимагає, щоб екрани були добре заземлені на обох кінцях, інакше замість екранування вони починають підсилювати зовнішні шуми.
3. Неекранована вита пара (Unshielded twisted pair, UTP) - Перевагами використання цього кабелю є його дешевизна та легкість у прокладанні; недоліками – неможливість використання у зашумленому та агресивному середовищі.
4. Коаксіальний кабель. Мідне оплетення кабелю одночасно виступає і захисним екраном для центрального провідника, і другим провідником у кабелі.
Оптоволоконний кабель.
Його основною перевагою є значна швидкість передачі даних (до 10 Гб/с) та довжина фізичного сегменту (до 40 км, а також несприйнятливість до зовнішніх електромагнітних шумів.
Для передачі інформації через оптоволокно використовуються електромагнітні хвилі із довжинами, 850 нм, 1310 нм або 1550 нм. Коли світловий промінь потрапляє на межу розділу двох середовищ (падаючий промінь), частина світлової енергії відбивається назад (відбитий промінь).
Та частина світлової енергії, яка не відбилася, буде поглинута іншим середовищем. Але через різницю оптичної густини падаючий промінь заломиться.Саме завдяки заломленню світлових променів на межі розділу середовищ можливе використання оптоволоконного кабелю для передачі інформації.
Кут падіння, при якому промінь при переході з більш оптично густого середовища у менш оптично густе вже не заломлюється, а повністю відбивається у середовище, називається критичним кутом.
Світловий промінь, який несе інформацію у оптоволокні, мусить залишаться всередині оптоволокна на всьому шляху від відправника інформації до отримувача. Він не повинен заломлюватися всередину матеріалу, який знаходиться навколо світловоду, оскільки через заломлення буде втрачатися частина енергії.
Закони відбивання та заломлення ілюструють, як спроектувати волокно, у якому світлова енергія буде втрачатися мінімально. Таке волокно повинно задовольняти двом умовам:
центральна частина оптоволокна повинна мати більший індекс заломлення, ніж матеріал, який її оточує;
кут падіння світлового променя повинен бути більшим за критичний кут для ядра та оболонки.
Коли обидві ці умови виконуються, падаючий промінь повністю залишається у волокні. Це явище називається повним внутрішнім відбиванням.
Контролювати кут падіння променя дозволяють два фактори:
числова апертура – межі кутів падіння променя, при яких він буде повністю відбиватися;
мода – шлях проходження променя через оптоволокно.
Якщо діаметр волокна дозволяє, можна одночасно пропустити через нього кілька променів. Говорять, що таке волокно є багатоходовим на відміну від одномодового, у якому може проходити лише один промінь у певний момент часу.
Кожен волоконно-оптичний кабель, який використовується для передачі інформації у мережах, складається з двох світловодів у спільній оболонці – для передачі інформації у двох напрямках.
Як правило, волоконно-оптичний кабель має наступну будову:
- зовнішня оболонка - для попередження забруднення кабелю розчинниками, абразивними речовинами та іншим.
підсилюючий матеріал - попереджає ушкодження кабелю у процесі інсталяції
буфер - Він дозволяє убезпечити оболонку та ядро від пошкоджень
оболонка - Оболонка навколо ядра виготовляється з двоокису кремнію, але з меншим індексом заломлення, ніж ядро. Дозволяє досягнути у ядрі ефекту повного внутрішнього відбивання
ядро - це скло виготовлене з двоокису кремнію
Безпровідні локальні мережі Стандарт 802.11: стек протоколів
Всі протоколи, використовувані сімейством стандартів 802.x, схожі по структурі. Що стосується 802.11, то підрівень MAC (підрівень управління доступом до середовища) відповідає за розподіл каналу, тобто за те, яка станція передаватиме наступною. Над MAC в ієрархії знаходиться підрівень LLC (управління логічним з'єднанням), завдання якого полягає в тому, щоб зробити відмінності стандартів 802.x невидимими для мережевого рівня.
застосовується радіозв'язок невеликого радіусу дії (при цьому працюють методи FHSS і DSSS). Вони обидва використовують не належні ліцензуванню частина спектру (діапазон ISM 2,4 Ггц). Незалежно від методу швидкість роботи складає 1-2 Мбіт/с, і сигнал використовується відносно малопотужний, що дозволяє зменшити кількість конфліктів між передавачами. З метою збільшення пропускній спроможності в 1999 році були розроблені два додаткових метода: OFDM і HR-DSSS. Вони працюють з швидкостями 54 Мбіт/с і 11 Мбіт/с відповідно. У 2001 році була представлена нова модифікація OFDM.
8. Види маршрутизації. Порівняльна характеристика алгоритмів маршрутизації
Під маршрутизацією розуміють процес вибору шляху слідування від відправника до отримувача. Мета маршрутизації – оптимізація шляху з точки зору мінімальної затримки максимальної кількості трафіку при забезпеченні надійності та заданого рівня захисту. Маршрутизація – це функція мережевого рівня, яка зводиться до вибору вузлами комутації шляху подальшої передачі пакету, який потрапив на їх вхід. Маршрутизація може бути централізованою та децентралізованою (розподіленою). При розподіленому управлінні кожен вузол комутації самостійно визначає напрям передачі пакетів.
До простої маршрутизації відносяться методи, які не враховують інформації про топологію та завантаженість каналів мережі.
Лавинна маршрутизація. В її основі лежить алгоритм розмноження пакетів, за яким вузол комутації, отримуючи пакет, генерує його клони, і розповсюджує їх в усіх напрямках крім того, з якого він отриманий.
Таблична маршрутизація. На кожному вузлі комутації формується таблиця маршрутів, в якій вказується, по якому маршруту повинен передаватися пакет, щоб він досяг вузла-отримувача за найкоротший проміжок часу.
При Динамічній (адаптивній) маршрутизації зміст таблиці маршрутів змінюється залежно від стану та завантаженості каналів передачі даних та їх вузлів комутації.
Для мережі з Централізованою маршрутизацією менеджер мережі збирає інформацію про канали та формує таблицю маршрутів.
При Розподіленій маршрутизації кожен вузол комутації самостійно формує таблицю маршрутів, використовуючи інформацію від вузлів комутації, що знаходяться на можливих шляхах до вузла-отримувача інформації.
При Локальній маршрутизації створюється певна група вузлів, яка об’єднується, і маршрутизація здійснюється одним окремо обраним для цього вузлом.
Процес маршрутизації включає 2 основні види діяльності: визначення оптимального шляху та просування пакетів через мережеве середовище (комутація пакетів).
Для визначення того, який з існуючих шляхів буде оптимальним, протоколи маршрутизації використовують метрики. Метрика – це певна безрозмірна характеристика шляху, яка вказує на переваги того чи іншого шляху перед іншими.
Робота протоколів маршрутизації завжди базується на стандартному або модифікованому алгоритмі маршрутизації.
Алгоритми маршрутизації можуть бути класифіковані за типами.
Статичні алгоритми маршрутизації це таблиці маршрутизації, які повністю заповнюються вручну адміністратором. Статична маршрутизація не пристосовується автоматично до змін у мережі, а тому не підходить для використання у сучасних великий, постійно змінних мережах.
Динамічні алгоритми пристосовуються до зміни мережевих умов автоматично, аналізуючи повідомлення-апдейти від інших маршрутизаторів. При зміні топології маршрутизуюче програмне забезпечення перераховує маршрути і розсилає нові апдейти; відповідно всі пристрої змінюють відповідні записи у таблицях маршрутизації.
При необхідності можна поєднувати ці два методи.
Одношляхові на противагу багатошляховим.
Деякі досить складні протоколи маршрутизації підтримують кілька шляхів до однієї точки призначення. На відміну від одношляхових алгоритмів, багатошляхові дозволяють мультиплексацію трафіку через кілька ліній зв’язку. Переваги таких алгоритмів очевидні: значно краща пропускна здатність та надійність. Як правило, цю функцію називають розділенням навантаження (load sharing).
Плоскі на противагу ієрархічним.
У плоскій системі всі маршрутизатори виконують однакові функції. У ієрархічній системі частина маршрутизаторів формує так звану маршрутизуючу магістраль. Пакети від немагістральних маршрутизаторів направляються до магістральних, які просувають їх через магістраль до відповідної ділянки.
“Від джерела” на противагу прозорим.
Деякі алгоритми маршрутизації дозволяють вузлу-джерелу визначити весь маршрут інформації. Такий спосіб, як правило, називають “маршрутизація від джерела”. Інші алгоритми припускають, що кінцева системи не знає нічого про існуючі маршрути. В них кожен маршрутизатор визначає подальший шлях пакета, базуючись на власних обрахунках.
Інтрадоменні на противагу інтердоменним.
Деякі алгоритми маршрутизації призначені лише для роботи в межах одного домену, інші – між доменами. Такий поділ випливає з того, що оптимальний інтрадоменний алгоритм не завжди є оптимальним інтердоменним.
Стану каналу на противагу дистанційно-векторним.
Детальний аналіз даного поділу алгоритмів наводиться нижче.
Метрики.
Таблиці маршрутизації містять інформацію, яка використовується комутуючим програмним забезпеченням для вибору кращого маршруту. Ознакою, за якою обирається оптимальний маршрут, є метрика.
Алгоритми маршрутизації використовують багато різноманітних метрик. Більш складні алгоритми маршрутизації використовують комбіновані метрики.
У алгоритмах маршрутизації можуть використовуватися наступні метрики:
довжина шляху;
надійність;
затримка;
пропускна здатність;
завантаженість;
вартість передачі інформації.
Довжина шляху – це найбільш загальна метрика. Деякі протоколи маршрутизації дозволяють мережевому адміністратору поставити у відповідність кожному каналу довільну вартість; тоді загальна довжина шляху визначається як сума усіх вартостей по шляху. Інші протоколи визначають як довжину шляху кількість проміжних пристроїв (як правило, інших маршрутизаторів).
Надійність у контексті алгоритмів маршрутизації – це достовірність передачі інформації (як правило, описується частотою помилок на біт переданої інформації) по кожному каналу. Але до уваги можуть братися будь-які фактори надійності – наприклад, швидкість відновлення після збоїв. Рівнем надійності може служити довільне значення, яки присвоюється адміністратором мережі.
Затримка маршрутизації – це проміжок часу, необхідний для передачі пакету від відправника до отримувача. Затримка залежить від багатьох факторів, включаючи пропускну здатність каналів, черги на портах проміжних пристроїв, завантаженість кожного каналу та навіть фізичну відстань між пристроями.
Пропускна здатність – здатність каналу передавати певний об’єм трафіку за одиницю часу. Але пропускна здатність – це лише теоретична величина, тому не завжди канал із більшою теоретичною пропускною здатністю є більш бажаним, він може бути зайнятим на момент передачі інформації.
Завантаженість стосується рівня зайнятості мережевих ресурсів, зокрема маршрутизаторів. Завантаженість може бути обчислена різними шляхами, наприклад, як рівень використання CPU або швидкість обробки пакетів.
Вартість стає особливо важливою метрикою при використанні громадських ліній, які є, як правило, платними. У таких випадках більш вигідним може стати використання повільнішої лінії за менші кошти.
9. Структура канального рівня. Алгоритм роботи пристроїв канального рівня.
Канальний рівень (Data Link layer)
Цей рівень призначений для забезпечення взаємодії мереж на фізичному рівні й контролю за помилками, які можуть виникнути. Отримані з фізичного рівня дані він упаковує в кадри даних, перевіряє на цілісність, якщо потрібно виправляє помилки й відправляє на мережний рівень. Канальний рівень може взаємодіяти з одним або декількома фізичними рівнями, контролюючи й управляючи цією взаємодією. Специфікація IEEE 802 розділяє цей рівень на 2 підрівня - MAC (Media Access Control) регулює доступ до поділюваного фізичного середовища, LLC (Logical Link Control) забезпечує обслуговування мережного рівня. На цьому рівні працюють комутатори, мости й мережні адаптери.
На фізичному рівні просто пересилаються біти. При цьому не враховується, що в деяких мережах, в яких лінії зв'язку використовуються (розділяються) навперемінно декількома парами взаємодіючих комп'ютерів, фізична середа передачі може бути зайнята. Тому однією із задач канального рівня (Data Link layer) є перевірка доступності середи передачі. Іншою задачею канального рівня є реалізація механізмів виявлення і корекції помилок. Для цього на канальному рівні біти групуються в набори, звані кадрами (frames). Канальний рівень забезпечує коректність передачі кожного кадру, вміщуючи спеціальну послідовність біт в початок і кінець кожного кадру, для його виділення, а також обчислює контрольну суму, обробляючи всі байти кадру певним способом і додаючи контрольну суму до кадру. Коли кадр приходить по мережі, одержувач знов обчислює контрольну суму отриманих даних і порівнює результат з контрольною сумою з кадру. Якщо вони співпадають, кадр вважається правильним і приймається. Якщо ж контрольні суми не співпадають, то фіксується помилка. Канальний рівень може не тільки виявляти помилки, але і виправляти їх за рахунок повторної передачі пошкоджених кадрів. Необхідно зазначити, що функція виправлення помилок не є обов'язковою для канального рівня, тому в деяких протоколах цього рівня вона відсутня, наприклад, в Ethernet і Frame Relay.
У протоколах канального рівня, що використовуються в локальних мережах, закладена певна структура зв'язків між комп'ютерами і способи їх адресації. Хоч канальний рівень і забезпечує доставку кадру між будь-якими двома вузлами локальної мережі, він це робить тільки в мережі з абсолютно певною топологією зв'язків, саме тією топологією, для якої він був розроблений. До таких типових топологій, що підтримуються протоколами канального рівня локальних мереж, відносяться загальна шина, кільце і зірка, а також структури, отримані з них за допомогою мостів і комутаторів. Прикладами протоколів канального рівня є протоколи Ethernet, Token Ring, FDDI, lOOVG-AnyLAN.
У локальних мережах протоколи канального рівня використовуються комп'ютерами, мостами, комутаторами і маршрутизаторами. У комп'ютерах функції канального рівня реалізовуються спільними зусиллями мережевих адаптерів і їх драйверів.
У глобальних мережах, які рідко володіють регулярною топологією, канальний рівень часто забезпечує обмін сполученнями тільки між двома сусідніми комп'ютерами, сполученими індивідуальною лінією зв'язку. Прикладами протоколів “точка-точка” (як часто називають такі протоколи) можуть служити широко поширені протоколи РРР і LAP-B. У таких випадках для доставки сполучень між кінцевими вузлами через всю мережу використовуються засоби і мережевого рівня. Саме так організовані мережі Х.25. Іноді в глобальних мережах функції канального рівня в чистому вигляді виділити важко, оскільки в одному і тому ж протоколі вони об'єднуються з функціями мережевого рівня. Прикладами такого підходу можуть служити протоколи технологій ATM і Frame Relay.
Загалом канальный рівень являє собою вельми могутній і закінчений набір функцій по пересилці сполучень між вузлами мережі. У деяких випадках протоколи канального рівня виявляються самодостатніми транспортними засобами і можуть допускати роботу понад них безпосередньо протоколів прикладного рівня або додатків, без залучення засобів мережевого і транспортного рівнів. Наприклад, існує реалізація протоколу управління мережею SNMP, безпосередньо без Ethernet, хоч стандартно цей протокол працює на основі мережевого протоколу IP і транспортного протоколу UDP. Природно, що застосування такої реалізації буде обмеженим вона не підходить для складних мереж різних технологій, наприклад Ethernet і Х.25, і навіть для такої мережі, в якій у всіх сегментах застосовується Ethernet, але між сегментами існують петлевідні зв'язкі. А ось в двохсегментній мережі Ethernet, об'єднаній мостом, реалізація SNMP над канальним рівнем буде цілком прецездатний.
Проте для забезпечення якісного транспортування повідомлень в мережах будь-яких топологій і технологій функцій канального рівня виявляється недостатньо, тому в моделі OSI рішення цієї задачі покладається на два наступних рівні мережевий і транспортний
10. Протоколи транспортного рівня. Технології управління потоком даних.
Транспортний рівень (Transport layer) - 4-й рівень моделі OSI, призначений для доставки даних без помилок, втрат і дублювання в тій послідовності, як вони були передані. При цьому неважливо, які дані передаються, звідки й куди, тобто він надає сам механізм передачі. Блоки даних він розділяє на фрагменти, розмір яких залежить від протоколу, короткі поєднує в один, довгі розбиває. Протоколи цього рівня призначені для взаємодії типу точка-крапка.
На шляху від відправника до одержувача пакети можуть бути спотворені або загублені. Хоч деякі додатки мають власні засоби обробки помилок, існують і такі, які вважають за краще відразу мати справу з надійним з'єднанням. Транспортний рівень (Transport layer) забезпечує додаткам або верхнім рівням стека прикладному і сеансовому передачу даних з тією мірою надійності, яка їм потрібна. Модель OSI визначає п'ять класів сервісу, що надаються транспортним рівнем. Ці види сервісу відрізняються якістю послуг, що надаються: терміновістю, можливістю відновлення перерваного зв'язку, наявністю засобів мультиплексування декількох з'єднань між різними прикладними протоколами через загальний транспортний протокол, а головне здібністю до виявлення і виправлення помилок передачі, таких як спотворення, втрата і дублювання пакетів.
Вибір класу сервісу транспортного рівня визначається, з одного боку, тим, в якій мірі задача забезпечення надійності вирішується самими додатками і протоколами більше за високі, ніж транспортний, рівні, а з іншого боку, цей вибір залежить від того, наскільки надійною є система транспортування даних в мережі, що забезпечується рівнями, розташованими нижче транспортного мережевим, канальним і фізичним. Так, наприклад, якщо якість каналів передачі зв'язку є дуже високою і імовірність виникнення помилок, не виявлених протоколами більш низьких рівнів, невелика, то розумно скористатися одним з полегшених сервісів транспортного рівня, не обтяжених численними перевірками, квотуванням і іншими прийомами підвищення надійності. Якщо ж транспортні засоби нижніх рівнів спочатку дуже ненадійні, то доцільно звернутися до найбільш розвиненого сервісу транспортного рівня, який працює, використовуючи максимум засобів для виявлення і усунення помилок, за допомогою попереднього встановлення логічного з'єднання, контролю доставки повідомлень по контрольних сумах і циклічній нумерації пакетів, встановлення тайму-аутів доставки і т.п.
Як правило, всі протоколи, починаючи з транспортного рівня і вище, реалізовуються програмними засобами кінцевих вузлів мережі компонентами їх мережевих операційних систем. Як приклад транспортних протоколів можна привести протоколи TCP і UDP стека TCP/IP і протокол SPX стека Novell.
Протоколи нижніх чотирьох рівнів узагальнено називають мережевим транспортом або транспортною підсистемою, оскільки вони повністю вирішують задачу транспортування повідомлень із заданим рівнем якості в складових мережах з довільною топологією і різними технологіями. Інші три верхніх рівні вирішують задачі надання прикладних сервісів на основі транспортної підсистеми, що існує.
11. Протокол ТСР. Формат ТСР-сегметну
Transmission Control Protocol (укр. Прото́кол керува́ння переда́чею, частіше вживається просто абрівіатура TCP) — один з основних мережевих протоколів Інтернету, призначений для управління передачею даних в мережах і підмережах TCP/IP.
Інформацію, яку потрібно передати, TCP розбиває на порції-сегменти. Кожна порція нумерується, щоб можна було перевірити, чи вся інформація отримана, і розташувати інформацію в правильному порядку. Для передачі цього порядкового номера по мережі у протоколу є свій власний сегмент даних, в якому зокрема написана службова необхідна інформація. Порція ваших даних розміщується в сегмент TCP. Сегмент TCP в свою чергу розміщується в сегменті IP і передається в мережу.
На приймаючій стороні програмне забезпечення протоколу TCP збирає сегменти, витягує з них дані і розташовує їх в правильному порядку. Коли якихось сегментів немає, програма просить відправника передати їх ще раз. Після розміщення всієї інформації в правильному порядку ці дані передаються тій програмі, яка використовує послуги TCP.
В реальній ситуації пакети не тільки загублюються, але й отримують зміни у зв'язку з короткочасними неполадками в лінії передачі. TCP вирішує і цю проблему. При розміщенні даних виробляється так звана контрольна сума. Контрольна сума — це число, яке дозволяє приймаючому TCP виявити помилки в пакеті. Коли пакет прибуває в пункт призначення, приймаючий TCP обраховує контрольну суму і порівнює її з тою, яку послав відправник TCP. Якщо значення не співпадають, то при передачі виникла помилка. Приймаючий TCP відкидає цей пакет і просить повторну передачу.
Формат TCP-сегменту
Біт
0 - 3
4-7
8-15
16 - 31
0
Порт джерела
Порт призначення
32
Номер послідовності
64
Номер підтвердження
96
Зсув даних
Зарезервовано
Прапорці
Вікно
128
Контрольна сума
Вказівник важливості
160
Опції (необов'язково)
160/192+
Дані
Порт джерела ідентифікує порт, з якого відправлений пакет.
Порт призначення ідентифікує порт, на який відправлений пакет
Номер послідовності виконує два завдання:
Якщо встановлений прапор SYN, то це початкове значення номера послідовності і перший байт даних - це номер послідовності плюс 1.
Якщо встановлений прапор ACK, то це поле містить номер послідовності, очікуваний відправником наступного разу. Позначає цей пакет як підтвердження отримання.
Зсув даних Це поле визначає розмір заголовка пакету TCP в 32-бітових словах. Мінімальний розмір складає 5 слів, а максимальний - 15, що складає 20 і 60 байт відповідно. Зсув рахується від початку заголовка TCP.
Зарезервовано 4 біта зарезервовано для майбутнього використання і повинні встановлюватися в нуль.
Прапорці (керівники биті) Це поле містить 8 бітових прапорців:
Поле контрольної суми - це 16-бітове доповнення суми всіх 16-бітових слів заголовка і тексту. Якщо сегмент містить непарне число октетів в заголовку /або тексті, останні октети доповнюються справа 8 нулями для вирівнювання по 16-бітовій межі. Біти заповнення (0) не передаються в сегменті і служать тільки для розрахунку контрольної суми. При розрахунку контрольної суми значення самого поля контрольної суми приймається рівним 0.
Покажчик важливості
16-бітове значення позитивного зсуву від порядкового номера в даному сегменті. Це поле вказує порядковий номер октету, з якого починаються важливі (urgent) дані. Поле береться до уваги тільки для пакетів зі встановленим прапором U.
12. Поняття МАС-адресації. Поняття домену колізій та широкомовного домену.
MAC-адреса (від англ. Media Access Control — управління доступом до носія) — це унікальний ідентифікатор, що зіставляється з різними типами устаткування для комп'ютерних мереж. Більшість мережевих протоколів канального рівня використовують один з трьох просторів MAC-адрес, керованих IEEE: MAC-48, EUI-48 і EUI-64. Адреси в кожному з просторів теоретично мають бути глобально унікальними. Не всі протоколи використовують MAC-адреси, і не всі протоколи, що використовують MAC-адреси, потребують подібної унікальності цих адрес.
У широкомовних мережах (таких, як мережі на основі Ethernet) MAC-адреса дозволяє унікально ідентифікувати кожен вузол мережі і доставляти дані тільки цьому вузлу. Таким чином, MAC-адреси формують основу мереж на канальному рівні, яку використовують протоколи більш високого рівня. Для перетворення MAC-адрес в адреси мережевого рівня і назад застосовуються спеціальні протоколи (наприклад, ARP і RARP в мережах TCP/IP).
Адреси типу MAC-48 найбільш поширені; вони використовуються в таких технологіях, як Ethernet, Token ring, FDDI тощо. Вони складаються з 48 бітів, таким чином, адресний простір MAC-48 налічує 248 (або 281 474 976 710 656) адрес. Згідно підрахункам IEEE, цього запасу адрес вистачить щонайменше до 2100 року.
EUI-48 відрізняється від MAC-48 лише семантично: тоді як MAC-48 використовується для мережевого устаткування, EUI-48 застосовується для інших типів апаратного і програмного забезпечення. Ідентифікатори EUI-64 складаються з 64 битий і використовуються в FireWire, а також в IPv6 як молодші 64 біт мережевої адреси вузла.
Структура MAC-адреси
Стандарти IEEE визначають 48-розрядну MAC-адресу, яка роздільна на чотири частини.
Перший біт указує, для одиночного (0) або групового (1) адресата призначений кадр, а другий — чи є він універсальним (0) або локально керованим (1).
Третє поле вказує частина адреси, яку виробник отримує (при реєстрації) в IEEE, а три останні октети вибираються виготівником пристрою. Адреса пристрою глобально унікальна і зазвичай зашивається в апаратуру.
Четверте поле показує номер інтерфейсу.
Домен колізій (collision domain) – це частина мережі Ethernet, усі вузли якої розпізнають колізію незалежно від того, у якій частині цієї мережі колізія виникла. Мережа Ethernet, побудована на повторювачах, завжди утворить один домен колізій. Домен колізій відповідає одному поділюваному середовищу. Мости, комутатори і маршрутизатори поділяють мережу Ethernet на декілька доменів колізій.
Якщо колізія виникла через те, що міст намагався передати через порт С кадр у концентратор 4, то, зафіксувавши сигнал колізії, порт С призупинить передачу кадру і спробує передати його повторно через випадковий інтервал часу. Якщо порт С приймав у момент виникнення колізії кадр, то він просто відкине отриманий початок кадру і буде очікувати, коли вузол, що передавав кадр через концентратор 4, не зробить повторну спробу передачі. Після успішного прийняття даного кадру у свій буфер міст передасть його на інший порт відповідно до таблиці просування, наприклад на порт А. Усі події, зв'язані з обробкою колізій портом С, для інших сегментів мережі, що підключені до інших портів моста, залишаться просто невідомими.
Ієрархічне поєднання концентраторів Ethernet.
Широкомовна домен (англ. Broadcast domain) (сегмент) - логічна ділянка комп'ютерної мережі, в якій кожен пристрій може передавати дані безпосередньо будь-якому іншому пристрою, використовуючи широкомовну адресу другого, канального рівня моделі OSI.
У широкому розумінні сенсу, широкомовний домен - ділянка мережі, де пристрої можуть спілкуватися безпосередньо, не обов'язково використовуючи широкомовну адресу канального рівня. Єдина умова - відсутність необхідності передавати дані через проміжне маршрутизуючий пристрій.
Пристрої, що обмежують широкомовний домен - маршрутизатори, що працюють на третьому, мережному рівні моделі OSI, і комутатори на другому рівні моделі OSI, що підтримують технологію VLAN. Пристрої першого рівня - концентратори і повторювачі, а також комутатори без підтримки VLAN широкомовного домена не обмежують.
13. Колективний метод доступу до середовища (CSMA/CD)
У мережах Ethernet використовується метод доступу до середовища передачі даних, називаний методом колективного доступу з розпізнаванням несучої і виявленням колізій (carrier-sense-multiply-access with collision detection, CSMA/CD).
Цей метод застосовується винятково в мережах з логічною загальною шиною (до яких відносяться і радіомережі, що породили цей метод. Усі комп'ютери такої мережі мають безпосередній доступ до загальної шини, тому вона може бути використана для передачі даних між будь-якими двома вузлами мережі. Одночасно всі комп'ютери мережі мають можливість негайно (з урахуванням затримки поширення сигналу по фізичному середовищу) одержати дані, які будь-який з комп'ютерів почав передавати в загальну шину (Мал.1). Простота схеми підключення — це один з факторів, що визначили успіх стандарту Ethernet. Говорять, що кабель, до якого підключені всі станції, працює в режимі колективного доступу (Multiply Access, MA).
Етапи доступу до середовища.
Усі дані, передані по мережі, розміщуються в кадри визначеної структури і забезпечуються унікальною адресою станції призначення. Щоб одержати можливість передавати кадр, станція повинна переконатися, що розподілене середовище вільне. Це досягається прослуховуванням основної гармоніки сигналу, що також називається несучою частотою (carrier-sense, CS). Ознакою незайнятості середовища є відсутність на ній несучої частоти, що при манчестерському способі кодування рівна 5-10 Мгц, у залежності від послідовності одиниць і нулів, переданих у даний момент.
Якщо середовище вільне, то вузол має право почати передачу кадру. Цей кадр зображений на Мал.1 першим. Вузол 1 визначив, що середовище вільне, і почав передавати свій кадр. У класичній мережі Ethernet на коаксіальному кабелі сигнали передавача вузла 1 поширюються в обидва боки, так що усі вузли мережі їх одержують. Кадр даних завжди супроводжується преамбулою (preamble), що складається з 7 байт, що складаються зі значень 10101010, і 8-го байта, рівного 10101011. Преамбула потрібна для входження приймача в побітовий і побайтовий синхронізм із передавачем.
Мал.1 Метод доступу CSMA/CD.
Усі станції, підключені до кабелю, можуть розпізнати факт передачі кадру, і та станція, що визначить адресу в заголовках кадру як власну, записує його вміст у свій внутрішній буфер, обробляє отримані дані, передає їх нагору по своєму стеку, а потім посилає по кабелі кадр-відповідь. Адреса станції-джерела міститься у вихідному кадрі, тому станція-одержувач знає, кому потрібно послати відповідь.
Вузол 2 під час передачі кадру вузлом 1 також намагався почати передачу свого кадру, однак знайшов, що середовище зайняте — присутня несуча частота, — тому вузол 2 змушений чекати, поки вузол 1 не припинить передачу кадру.
Після закінчення передачі кадру усі вузли мережі зобов'язані витримати технологічну паузу (Inter Packet Gap) у 9,6 мкс. Ця пауза, названа також міжкадровим інтервалом, потрібна для приведення мережевих адаптерів у вихідний стан, а також для запобігання монопольного захоплення середовища однією станцією. Після закінчення технологічної паузи вузли мають право почати передачу свого кадру, тому що середовище вільне. Через затримки поширення сигналу по кабелі не усі вузли строго одночасно фіксують факт закінчення передачі кадру вузлом 1.
В наведеному прикладі вузол 2 дочекався закінчення передачі кадру вузлом 1, зробив паузу в 9,6 мкс і почав передачу свого кадру.
14. Маркерний метод доступу до середовища (Token Passing) Мережі Token Ring.
Token Passing - маркерний метод доступу, при якому вузли передають один од-ному спеціальний пакет - «маркер», який дає «право» на передачу (ArcNet, TokenRing, FDDI);
Мережі Token Ring, як і мережі Ethernet, характеризуються використанням розділюваного середовища передачі даних, яке у даному випадку складається із відрізків кабеля, які з’єднують всі вузли мережі у кільце. Кільце розглядається як спільний розділюваний ресурс, і для доступу до нього використовується детермінований алгоритм, який базується на передачі станціям права на використання кільця у певному порядку (Token Passing). Це право передається з допомогою кадру спеціального формату, який називається маркером.
Мережі Token Ring працюють з двома бітовими швидкостями – 4 і 16 Мб/с. Використання станцій, які працюють на різних швидкостях, у одному кільці не допускається.
Технологія Token Ring володіє властивостями відмовостійкості. Тут визначені процедури контролю роботи мережі, які використовують зворотній зв’язок кільцеподібної структури – відісланий кадр завжди повертається до станції-відправника. У деяких випадках помилки у роботі мережі знешкоджуються автоматично, в інших – лише фіксуються, а їх усунення відбувається вручну.
Для контролю роботи мережі одна із станцій виконує роль так званого активного монітора. Він обирається під час ініціалізації кільця як станція із максимальним значенням МАС-адреси. Якщо активний монітор виходить з ладу, процедура ініціалізації кільця повторюється, і обирається новий активний монітор. Щоб мережа могла виявити відмову активного монітора, останній у працездатному стані кожні 3 с генерує спеціальний кадр своєї присутності. Якщо цей кадр не з’являється більше 7 с, то інші вузли мережі починають процедуру виборів нового активного монітора.
Концентратори Token Ring можуть бути активними або пасивними. Пасивний концентратор просто з’єднує порти внутрішніми зв’язками таким чином, щоб станції, під’єднані до цих портів, утворювали кільце. Ані підсилення сигналів, ані їх ресинхронізацію пасивний концентратор не виконує, але для забезпечення зв’язності кільця незалежно від стану під’єднаних комп’ютерів він забезпечує обхід порта, коли вузол, під’єднаний до цього порта, вимкнено.
Активний концентратор виконує функції регенерації сигналів, тому іноді називається повторювачем, як в стандарті Ethernet.
У загальному випадку мережа Token Ring має комбіновану зірково-кільцеву структуру. Кінцеві вузли під’єднуються до MSAU по топології зірки, а самі MSAU об’єднуються через спеціальні порти Ring In та Ring Out для утворення магістрального фізичного кільця. Кабелі, які з’єднують станцію з концентратором, називаються абонентськими (lobe cable), а кабелі, які з’єднують концентратори – магістральними (trunk cable).
Технологія Token Ring дозволяє використовувати для з’єднання кінцевих станцій і концентраторів різні типи кабелів – STP type 1, UTP cat.3, UTP cat.6 та оптоволоконний кабель.
Кожна станція у мережі Token Ring безпосередньо обмінюється даними лише із двома сусідами. Дані станція завжди отримує лише від однієї станції – тієї, яка є попередньою у кільці. Передачу даних станція завжди здійснює своєму найближчому сусіду вниз за потоком даних.
Отримавши маркер, станція аналізує його, і при відсутності даних для передачі, забезпечує його просування до наступної станції. Станція, яка має дані для передачі, при отриманні маркера вилучає його з кільця, що дає їй право доступу до середовища і передачі своїх даних. Потім ця станція видає у кільце кадр даних встановленого формату послідовно по бітах. Передані дані проходять по кільцю завжди у одному напрямку.
Всі станції кільця ретранслюють кадр побітно, як повторювачі. Якщо кадр проходить через станцію призначення, то, розпізнавши свою адресу, ця станція копіює кадр у свій внутрішній буфер і вставляє у кадр ознаку підтвердження прийому. Станція, яка видала кадр у кільце, при його отриманні з підтвердженням прийому вилучає цей кадр з кільця і передає у мережу новий маркер для забезпечення можливості передачі даних іншим.
Для різних видів повідомлень, які передаються кадрам, можуть призначатися різні пріоритети: від 0 (найнижчий) до 7 (найвищий). Рішення про пріоритет конкретного кадру приймає передаюча станція. Маркер також завжди має певний рівень поточного пріоритету. Станція має право захопити переданий їй маркер лише в тому випадку, якщо пріоритет кадру, який вона хоче передати, вищий або рівний пріоритету маркера.
За наявність у мережі маркера, при чому єдиної його копії, відповідає активний монітор. Якщо активний монітор не отримує маркер протягом певного часу, то він породжує новий маркер.
У Token Ring існують три різних формати кадрів:
- маркер
- кадр даних
- перериваюча послідовність
Кадр маркера складається із трьох полів, кожне довжиною 1 байт.
Початковий обмежувач (Start Delimiter, SD) з’являється на початку маркера, а також на початку будь-якого кадру, що проходить по мережі.
Керування доступом (Access Control, AC) складається із 4-х підполів: РРР – біти пріоритету, Т – біт маркера, М – біт монітора, RRR – резервні біти пріоритету. Біт Т, встановлений в 1, вказує, що даний кадр є маркером доступу. Біт монітору встановлюється в 1 активним монітором і в 0 – будь-якою іншою станцією, яка передає маркер або кадр. Якщо активний монітор бачить маркер або кадр, який містить біт монітора із значенням 1, то він знає, що цей кадр або маркер вже один раз обійшов кільце і не був оброблений станціями. Якщо це кадр, то він видаляється з кільця. Якщо маркер – передається далі по кільцю.
Кінцевий обмежувач (End Delimiter, ED) – останнє поле маркера. Містить унікальну послідовність манчестерських кодів, а також дві однобітові ознаки: І і Е. Ознака І (Intermediate) показує, чи є кадр останнім в серії кадрів (0) чи проміжним (1). Ознака Е (Error) – це ознака помилки; вона встановлюється в 0 станцією-відправником і будь-яка станція кільця, через яку проходить кадр, повинна встановити цю ознаку в 1, якщо вона виявить помилку по контрольній сумі або іншу некоректність кадру.
Кадр даних включає ті ж поля, що і маркер, і крім них має ще кілька додаткових полів, а саме:
Початковий обмежувач (Start Delimiter, SD)
Управління доступом (Access Control, AC)
Управління кадром (Frame Control, FC)
Адреса отримувача (Destination Address, DA)
Адреса відправника (Source Address, SA)
Дані (Data)
Контрольна сума (Frame Check Sequence, FCS)
Кінцевий обмежувач (End Delimiter, ED)
Статус кадру (Frame Status, FS)
Кадр даних може переносити або службові дані для управління кільцем (дані МАС-рівня) або дані користувача.
Перериваюча послідовність складається із двох байт, які містять початковий і кінцевий обмежувачі. Вона може з’явитися у будь-якому місці потоку бітів і сигналізує про те, що поточна передача кадру або маркера відміняється.
15. Мережі Ethernet
Ethernet (езернет, від лат. aether — етер) — базова технологія локальних обчислювальних (комп'ютерних) мереж з комутацією пакетів, що використовує протокол CSMA/CD (множинний доступ з контролем несної та виявленням колізій). Цей протокол дозволяє в кожний момент часу лише один сеанс передачі в логічному сегменті мережі. При появі двох і більше сеансів передачі одночасно виникає колізія, яка фіксується станцією, що ініціює передачу. Станція аварійно зупиняє процес і очікує закінчення поточного сеансу передачі, а потім знову намагається повторити передачу. Ethernet-мережі функціонують на швидкостях 10Мбіт/с, Fast Ethernet — на швидкостях 100Мбіт/с, Gigabit Ethernet — на швидкостях 1000Мбіт/с, 10 Gigabit Ethernet — на швидкостях 10Гбіт/с. В кінці листопада 2006 року було прийняте рішення про початок розробок наступної версії стандарту з досягненням швидкості 100Гбіт/с (100 Gigabit Ethernet).
З самого початку Ethernet базувався на ідеї зв’язку комп’ютерів через єдиний коаксіальний кабель, який виконував роль транзитного середовища. Використовуваний метод був дещо схожим на методи радіопередач (хоча й з суттєвими відмінностями, наприклад, те, що в кабелі значно легше виявити колізію, ніж в радіоефірі). Загальний мережний кабель, через який велася передача, був дещо подібним на ефір, і з цієї аналогії походить назва Ethernet (англ. net – «мережа»).
З плином часу з відносно простої початкової специфікації Ethernet розвинувся у складну мережну технологію, яка зараз використовується у більшості комп’ютерних систем. Щоб зменшити ціну та полегшити управління та виявлення помилок в мережі, коаксіальний кабель згодом був замінений зв’язками типу «точка-точка», що з’єднувалися між собою концентраторами/комутаторами (хабами/світчами). Своїм комерційним успіхом технологія Ethernet завдячує появі стандарту з використанням кабелю типу «вита пара» в якості транзитного середовища.
На фізичному рівні станції Ethernet спілкуються між собою за допомогою передачі одна одній пакетів – невеликих блоків даних, які відправляються та доставляються індивідуально. Кожна Ethernet-станція має свою власну 48-бітну MAC-адресу, яка використовується як кінцевий пункт або джерело для кожного пакету. Мережні картки, як правило, не сприймають пакетів, що адресовані іншим Ethernet-станціям. Унікальна МАС-адреса є записаною в контролер кожної мережної карти.
Незважаючи на серйозні зміни від 5-Мбітного товстого коаксіалу до 1-Гбітного оптоволоконного зв'язку типу «точка-точка», різні варіанти Ethernet на найнижчому рівні є майже однаковими з точки зору програміста і можуть бути легко з’єднані між собою за допомогою дешевого обладнання. Це є можливим, оскільки формат кадру лишається незмінним, не дивлячись на різні процедури доступу до мережі.
Організація баз даних
