Задача комутації Тема Узагальнена задача комутації
Вид материала | Задача |
- Формат опису модуля, 16.86kb.
- Программа курса лекций «Математические методы и модели исследования операций», 27.98kb.
- Т. М. Боровська кандидат технічних наук, доцент І. С. Колесник, 118.17kb.
- Разновозрастная итоговая проектная задача 1-4 классы, 87.27kb.
- Программа дисциплины Алгоритмы на графах Семестр, 13.21kb.
- Гиперкомплексных Динамических Систем (гдс) задача, 214.67kb.
- Домашнее задание по Теории информационных процессов и систем, 267.24kb.
- Задача линейного программирования Задача о «расшивке узких мест», 5.51kb.
- Программа учебной дисциплины вариационные методы в физике (спецкурс, дисциплины, 147.31kb.
- Тема: «теория матриц» Основная задача линейной алгебры, 28.88kb.
Тема 7. Узагальнена задача комутації
Тема 7. Узагальнена задача комутації
Комп'ютерна мережа - це є складна структура, що складається з багатьох компонентів та вузлів. Тому, важливим є розуміння принципів взаємодії компонентів комп'ютерних мереж, характер поведінки їх складових в тих або інших ситуаціях.
Для створення комп'ютерної мережі важливо провести велику підготовчу роботу, встановити які функції і завдання вона повинна виконувати, вибрати топологію мережі, середовище, систему адресації, а також з’ясувати, яким чином передавати дані між кінцевими вузлами, особливо якщо топологія є неповнозв’язною і обмін даними відбувається через транзитні вузли.
Рис 7.1. Комутація абонентів через мережу транзитних вузлів.
Наприклад, в мережі на рис. 7.1 вузли 2 і 4 не є безпосередньо зв'язаними між собою. Для передачі даних вони змушені передавати дані через наявні транзитні вузли, наприклад, вузли 1 і 5. Вузол 1 повинен виконати передачу даних з інтерфейсу A на інтерфейс B, а вузол 5 — з інтерфейсу B на F.
Послідовність транзитних вузлів (мережних інтерфейсів) на шляху від відправника до одержувача називається маршрутом.
Комутацією називається з'єднання кінцевих вузлів через мережу транзитних вузлів.
Завдання комутації складається з кількох взаємозв'язаних окремих задач:
- Визначення інформаційних потоків, для яких потрібно прокладати шляхи.
- Визначення маршрутів для потоків.
- Повідомлення вузлів мережі про знайдені маршрути.
- Просування – розпізнавання потоків і локальна комутація на кожному транзитному вузлі.
- Мультиплексування і демультиплексування потоків.
Визначення інформаційних потоків
Зрозуміло, що через один транзитний вузол може проходити кілька маршрутів, наприклад через вузол 5 проходять дані, що надходять з вузла 4 до кожного з решти вузлів, а також всі дані, що прямують до вузлів 3 і 10. Транзитний вузол повинен вміти розпізнавати потоки даних, що надходять до нього, щоб забезпечити їх передачу саме на ті свої інтерфейси, які ведуть до потрібного вузла.
Інформаційним потоком (data flow, data stream) називають послідовність даних, що об'єднані набором загальних ознак, який виділяє ці дані із загального мережного трафіку.
Дані можуть бути представлені у вигляді послідовності байтів або об'єднані в більші одиниці даних — пакети, кадри, комірки. Наприклад, всі дані, що надходять від одного комп'ютера, можна визначити як єдиний потік, а можна представити як сукупність кількох підпотоків, кожен з яких як додаткову ознаку містить адресу призначення. Кожен з цих підпотоків, у свою чергу, можна розділити на дрібніші підпотоки даних, наприклад, підпотоки, що відносяться до різних мережних застосувань — електронної пошти, файлової служби, звернення до веб-сервера.
Поняття потоку використовується для вирішення різних мережних завдань і, мусить мати відповідний набір ознак. В задачі комутації, суть якої — передача даних з одного кінцевого вузла до іншого, при визначенні потоків обов'язковими ознаками потоку, очевидно, мають бути адреса відправника і адреса призначення даних. Тоді для кожної парі кінцевих вузлів буде визначено один потік і один маршрут.
Проте не завжди достатньо визначити потік лише парою адрес. Якщо для одної пари кінцевих вузлів виконується кілька мережних завдань, які пред'являють до неї свої особливі вимоги, потік даних між двома кінцевими вузлами повинен бути розділений на кілька підпотоків, так щоб для кожного з них можна було прокласти свій маршрут. В такому разі вибір шляху повинен здійснюватися з врахуванням характеру переданих даних.
Наприклад, для файлового сервера важливо, щоб передані до нього великі об'єми даних прямували по каналах з високою пропускною здатністю, а для програмної системи управління, яка посилає в мережу короткі повідомлення, що вимагають обов'язкового і негайного відгуку, при виборі маршруту важливим буде надійність лінії зв'язку і мінімальний рівень затримок. В цьому разі, набір ознак потоку повинен бути розширений за рахунок інформації, що ідентифікує застосування.
Часто, для даних, що пред'являють до мережі однакові вимоги, може прокладатися кілька маршрутів, щоб за рахунок розпаралелювання спромогтися одночасного використання різних каналів і пришвидшити передачу даних. В даному випадку необхідно "помітити" дані, які прямуватимуть по кожному з цих маршрутів.
Ознаки потоку можуть мати глобальне або локальне значення. В першому випадку вони однозначно визначають потік в межах всієї мережі, а в другому — в межах одного транзитного вузла. Прикладом глобальної ознаки, наприклад є пара унікальних адрес кінцевих вузлів для ідентифікації потоку. Прикладом ознаки, що локально визначає потік в межах пристрою, може бути номер (ідентифікатор) інтерфейсу пристрою, з якого поступили дані.
Наприклад, вузол 1 (рис. 7.1) може бути сконфігурованим таким чином, щоб передавати всі дані, що поступили з інтерфейсу А, на інтерфейс С, а дані, що поступили з інтерфейсу D, на інтерфейс В. Таке правило дозволяє розділити два потоки даних — який надходить з вузла 2 і який надходить з вузла 7 — і скерувати їх для транзитної передачі через різні вузли мережі, в даному випадку дані з вузла 2 через вузол 8, а дані з вузла 7 — через вузол 5.
Особливим типом ознаки є мітка потоку. Мітка може мати глобальне значення, що унікально визначає потік в межах мережі. В такому разі вона в незмінному вигляді закріплюється за потоком протягом всього шляху проходження від вузла відправника до вузла призначення. В деяких технологіях використовуються локальні мітки потоку, значення яких динамічно змінюються при передачі даних від одного вузла до іншого.
Визначити потоки – це означає задати для них набір унікальних ознак, на підставі яких комутатори зможуть скеровувати потоки по призначених для них маршрутах.
Визначення маршрутів
Визначення шляху, тобто послідовності транзитних вузлів та їх інтерфейсів, через які треба передавати дані, щоб доставити їх до адресата є складним завданням, особливо коли конфігурація мережі передбачає багато шляхів між взаємодіючими мережними інтерфейсами. Завдання визначення маршрутів полягає у виборі зі всієї цієї множини одного або кількох шляхів. І хоча в окремому випадку множина наявних і вибраних шляхів може збігатися, найчастіше вибір зупиняють на одному оптимальному за певним критерієм маршруті.
Критеріями вибору можуть бути:
- Номінальна пропускна здатність.
- Завантаженість каналів зв'язку.
- Затримки, що вносяться каналами.
- Кількість проміжних транзитних вузлів.
- Надійність каналів і транзитних вузлів.
Навіть у тому випадку, коли між кінцевими вузлами існує єдиний шлях, його визначення при складній топології мережі може бути нетривіальним завданням.
Маршрут може визначатися емпірично («власноруч») адміністратором мережі, який з різних міркувань, аналізує топологію мережі і задає послідовність інтерфейсів, яку повинні пройти дані, щоб дістатися до одержувача. Серед спонукальних мотивів вибору того чи іншого шляху можуть бути: особливі вимоги до мережі з боку різних типів застосувань, припущення про пікові навантаження на певні канали мережі, міркування безпеки тощо.
Проте евристичний підхід до визначення маршрутів для великої мережі з складною топологією не підходить. В цьому випадку таке завдання вирішується найчастіше автоматично. Для цього кінцеві вузли і інші пристрої мережі оснащуються спеціальними програмними засобами, які організовують взаємний обмін службовими повідомленнями, що дозволяє кожному вузлу мати свої розрахунки про топологію мережі. На основі цього дослідження і математичних алгоритмів визначаються найбільш раціональні маршрути.
Визначити маршрут — однозначно задати послідовність транзитних вузлів і їх інтерфейсів, через які треба передавати дані, щоб доставити їх до адресата.
Сповіщення мережі про вибраний маршрут
Після того, як маршрут визначено (власноруч або автоматично), слід «повідомити» про нього всі пристрої мережі. Повідомлення про маршрут повинно донести кожному транзитному пристрою приблизно таку інформацію: "Якщо надійдуть дані, що відносяться до потоку n, то їх потрібно передати на інтерфейс F".
Повідомлення про маршрут обробляється транзитним пристроєм, внаслідок чого створюється новий запис в таблиці комутації, де локальній або глобальній ознаці (ознакам) потоку (наприклад, мітці, номеру вхідного інтерфейсу або адресі призначення) ставиться у відповідність номер інтерфейсу, на який пристрій повинен передати дані, що відносяться до цього потоку.
Нижче показано фрагмент таблиці комутації, що містить запис, зроблений на підставі повідомлення про необхідність передачі потоку n на інтерфейс F.
Ознаки потоку | n | m | k |
Напрям передачі даних. Номер інтерфейсу і/або адреса наступного вузла | F | C | D |
Звичайно, структура повідомлення про маршрут і вміст таблиці комутації залежить від конкретної технології, проте ці особливості не міняє суті даних процесів.
Передача інформації про вибрані маршрути подібно до визначення маршруту, може здійснюватися або власноруч або автоматично. Адміністратор мережі може зафіксувати маршрут і виконати конфігурацію пристрою власноруч, наприклад, зробити примусову комутацію на тривалий час для певної пари вхідних і вихідних інтерфейсів. Він може також за власною ініціативою внести запис про маршрут в таблицю комутації. Проте оскільки топологія мережі і інформаційних потоків може мінятися (відмова або поява нових проміжних вузлів, зміна адрес або визначення нових потоків), то гнучке вирішення завдань визначення і призначення маршрутів припускає постійний аналіз стану мережі і оновлення маршрутів і таблиць комутації, що вимагає застосування засобів автоматизації.
Оповістити мережу про знайдені маршрути означає власноруч або автоматично налаштувати кожен комутатор так, щоб він «знав», в якому напрямі слід передавати кожен потік.
Просування інформаційних потоків
Коли мережа оповіщена про маршрути, вона може почати виконувати свої функції комутації (з'єднання абонентів). Для кожної пари абонентів ця операція може бути представлена сукупністю кількох (за числом транзитних вузлів) локальних операцій комутації. Відправник повинен виставити дані на той порт, з якого виходить визначений маршрут, а всі транзитні вузли повинні відповідним чином виконати комутацію, тобто перескерувати дані з одного свого порту на іншій.
Пристрій, що призначений для виконання комутації, називається комутатором (switch). Комутатор здійснює комутацію інформаційних потоків, що надходять на вхідні порти, і скеровує їх у відповідні вихідні порти (рис. 7.2).
Рис. 7.2. Просування потоків в комутаторі.
Проте, перш ніж виконати комутацію, комутатор повинен розпізнати потік. Дані, які несе з собою потік, перевіряються на предмет наявності ознак кожного з потоків, що задані в таблиці комутації. Якщо відбувся збіг, то ці дані прямують на той інтерфейс, який був визначений для них в маршруті.
Комутатором може бути як спеціалізований пристрій, так і універсальний комп'ютер з вбудованим програмним механізмом комутації, в цьому випадку комутатор називається програмним. Комп'ютер може суміщати функції комутації даних, що скеровуються на інші вузли, з виконанням своїх звичайних функцій кінцевого вузла. Проте, в багатьох випадках раціональним є рішення, відповідно до якого деякі вузли в мережі виділяються спеціально для виконання комутації. Ці вузли утворюють комутаційну мережу, до якої підключаються решта комп’ютерів. На рис. 7.3 показана комутаційна мережа, що утворена з вузлів 1, 5, 6 і 8, до якої підключаються кінцеві вузли 2, 3, 4, 7, 9 і 10.
Рис. 7.3. Комутаційна мережа.
Мультиплексування і демультиплексування
Перш ніж виконати перескерування даних на визначені для них інтерфейси, комутатор повинен зрозуміти, до якого потоку вони відносяться. Це завдання повинне вирішуватися незалежно від того, чи надходить на вхід комутатора лише один потік в "чистому" вигляді, або «змішаний» потік, який об'єднує в собі декілька потоків. В останньому випадку до завдання розпізнавання додається завдання демультиплексування.
Завдання демультиплексування (demultiplexing) — розділення сумарного агрегованого потоку, що надходить на один інтерфейс, на кілька потоків.
Зворотною операцією комутації є мультиплексування. Завдання мультиплексування (multiplexing) — утворення з кількох окремих потоків загального агрегованого потоку, який можна передавати до фізичного каналу зв'язку.
Операції мультиплексування/демультиплексування мають таке ж важливе значення в будь-якій мережі, як і операції комутації, оскільки без них довелося б всі комутатори об'єднувати великою кількістю паралельних каналів, що звело б нанівець всі переваги неповнозв’язної мережі.
На рис. 7.4 показано фрагмент мережі, що складається з трьох комутаторів. Комутатор 1 має п'ять мережних інтерфейсів. Розглянемо, що відбувається на інтерфейсі 1. Сюди поступають дані з трьох інтерфейсів — int.3, int.4 і int.5. Їх треба передати в загальний фізичний канал, тобто виконати операцію мультиплексування. Мультиплексування є способом забезпечення доступності наявних фізичних каналів одночасно для декількох сеансів зв'язку між абонентами мережі.
Мал. 7.4. Операції мультиплексування і демультиплексування потоків при комутації.
Існує багато способів мультиплексування потоків в одному фізичному каналі, і найважливішим з них є розділення часу. При цьому способі кожен потік час від часу (з фіксованим або випадковим періодом) отримує в своє підпорядкування фізичний канал і передає по ньому дані. Дуже поширеним є частотне розділення каналу, коли кожен потік передає дані у виділеному йому частотному діапазоні.
Технологія мультиплексування повинна дозволяти одержувачу такого сумарного потоку виконувати зворотну операцію — розділення (демультиплексування) даних на підпотоки. На інтерфейсі int.3 комутатор виконує демультиплексування потоку на три складових підпотоки. Один з них він передає на інтерфейс int.1, інший на int.2, а третій на int.5. А ось на інтерфейсі int.2 немає необхідності виконувати мультиплексування або демультиплексування — цей інтерфейс виділено для одного потоку в монопольне користування. В загальному випадку на кожному інтерфейсі можуть одночасно виконуватися обидва завдання — мультиплексування і демультиплексування.
Окремий випадок комутатора (рис. 7.5а), в якого всі вхідні інформаційні потоки комутуються на один вихідний інтерфейс, де мультиплексуються в один агрегований потік і прямують в один фізичний канал, називається мультиплексором (multiplexer). Комутатор (рис.7.5б), який має один вхідний інтерфейс і декілька вихідних, називається демультиплексором (demultiplexer).
Мал. 7.5. Мультиплексор (а) і демультиплексор (б).
Контрольні запитання
- Яку задачу вирішує комутація в комп’ютерній мережі?
- Що називають інформаційним потоком в комп’ютерній мережі?
- Які особливості покладаються на глобальні та локальні мітки потоку?
- Яким чином можна визначити маршрут просування потоків даних?
- Які фактори повинні враховуватися для вибору оптимального маршруту?
- Які функції покладено на транзитні вузли в комутаційній мережі?
- Який пристрій призначений для виконання комутації?
- Для чого призначена таблиця комутації? В яких пристроях вона втілена? Які дані в ній зазначено?
- Що передбачає операція де мультиплексування?
- Як називається комутатор, в якому всі вхідні інформаційні потоки комутуються на один вихідний інтерфейс?