Курс лекцій „Комп’ютерні мережі
Вид материала | Курс лекцій |
- 1. Комп’ютерні мережі Тема Комп’ютерні мережі, 56.68kb.
- Робоча програма з дисципліни " Комп’ютерні мережі" (за вимогами кмсонп) Освітньо-кваліфікаційний, 251.7kb.
- Навчальна програма дисципліни Комп’ютерні мережі в системах управління Напрям підготовки, 70.88kb.
- Програма фахового вступного випробування для навчання за освітньо-кваліфікаційним рівнем, 138.81kb.
- Програма фахового вступного випробування для навчання за освітньо-кваліфікаційним рівнем, 132.16kb.
- Робоча навчальна програма навчальної дисципліни " Системне програмне забезпечення", 184.72kb.
- Способи передачі даних в мережі Internet (на прикладі електронної пошти), 408.96kb.
- Ютерні системи та мережі” Спеціалізація: Комп’ютерні засоби інформатики, 203.69kb.
- Питання на Державний іспит зі спеціальностей 091. 501 "комп’ютерні системи та мережі",, 111.96kb.
- Правила побудови адреси в мережі Internet, 9.49kb.
Поле даних кадру LLC призначено для передачі по мережі пакетів протоколів верхніх рівнів - IP, IPX, AppleTalk, DECnet, у рідких випадках - прикладних протоколів, коли ті не користуються мережними протоколами, а вкладають свої повідомлення безпосередньо в кадри канального рівня. Поле даних може бути відсутнім у керуючих кадрах і деяких ненумерованих кадрах.
Поле керування (1 байт) використовується для позначення типу кадру даних - інформаційний, керуючий або ненумерований. Крім цього, у цьому полі вказуються порядкові номери відправлених і успішно прийнятих кадрів, якщо підрівень LLC працює по процедурі LLC2 із установленням з'єднання. Формат поля керування цілком збігається з форматом поля керування кадру LAP-B.
Поля DSAP і SSAP дозволяють указати, який сервіс верхнього рівня пересилає дані за допомогою цього кадру. Програмному забезпеченню вузлів мережі при одержанні кадрів канального рівня необхідно розпізнати, який протокол уклав свій пакет у поле даних кадру, що надійшов, для того, щоб передати витягнутий з кадру пакет потрібному протоколові для наступної обробки. Наприклад, як значення DSAP і SSAP може виступати код протоколу IPX або ж код протоколу покриваючого дерева Spanning Tree.
Між заголовком LLC і полем даних LLC може використовуватися додатковий заголовок, називаний заголовком SNAP (Sub-Area Access Protocol). Додатковий заголовок SNAP використовується для додання більшої упорядкованості при вказівці типу протоколу, що поміщає свою інформацію в поле даних кадру LLC.
Стандарт 802.2 використовує для цієї мети однобайтовые поля DSAP і SSAP, у той час як рання версія протоколу Ethernet, запропонована спільно компаніями Digital, Intel і Xerox (так називана, версія Ethernet DIX), використовувала для цієї мети двобайтовое поле Type, для якого як стандарт де-факто застосовувалися двобайтові коди протоколів мережного рівня, наприклад, 0800 - для протоколу IP і т.п.
Заголовок SNAP також містить двобайтове поле Type, призначення і формат якого збігається за призначенням з полем Type кадру Ethernet DIX. Трибайтовий код організації (OUI) використовується для вказівки тієї організації по стандартизації, що відповідає за числові значення поля Type. Так, числові значення поля Type для заголовка SNAP у випадку використання його в кадрах Ethernet визначає комітет 802.3 IEEE, код якого дорівнює 00 00 00.
Для інших протоколів канального рівня значення кодів поля Type визначають інші організації по стандартизації. Таким чином, при використанні додаткового заголовка SNAP досягається сумісність кадрів 802.3 з кадрами Ethernet DIX по способі кодування пакетів протоколів верхнього рівня, які переносяться у поле даних. У полях DSAP і SSAP при використанні заголовка SNAP містяться значення 170 (десяткове), що говорять про те, що в поле даних кадру LLC вкладений заголовок SNAP. 14
1.6.3. Пристрої канального рівня.
1.6.3.1. Поняття МАС-адресації.
При передачі інформації через середовище необхідно певним чином визначити адресата цієї інформації, тобто того, для кого вона призначена. На канальному рівні для цього використовуються МАС-адреси.
МАС-адреса вузла являє собою 48-бітне число, яке записується у вигляді 12 шістнадцяткових символів, наприклад: 01-25-af-dc-4e-7b, або 0125:afdc:4e7b. Вона однозначно ідентифікує пристрій, для якого призначено певний кадр.
МАС-адреса вузла жорстко пов’язана з кожним конкретним вузлом або портом багатопортового пристрою. Вона присвоюється на заводі-виробнику пристрою і ніяким чином не може бути змінена. Наприклад, МАС-адреса мережевої карти вбудована у її ROM; при заміні мережевої карти на вузлі МАС-адреса цього вузла теж змінюється.
МАС-адреса складається з двох частин. 1-ша її половина (24 біти) ідентифікує виробника пристрою і співпадає для всіх пристроїв, виготовлених цим виробником. Вона називається OUI (Organizational Unique Identifier, унікальний ідентифікатор виробника). Друга половина унікальним чином ідентифікує пристрій серед інших, виготовлених цим виробником. Таким чином, немає у світі двох пристроїв із однаковими МАС-адресами: у них може співпадати або лише перша половина (якщо вони виготовлені одним виробником), або лише друга (якщо різними виробниками).
Бувають випадки, коли необхідно, щоб повідомлення розглянув не один конкретний вузол, а всі вузли мережі. При цьому у якості адреси отримувача використовується так звана широкомовна МАС-адреса. Вона не може бути присвоєна жодному окремому пристрою і утворюється при виставленні всіх 48-ми біт адреси у 1. У шістнадцятковому форматі вона виглядає так: FF-FF-FF-FF-FF-FF. 15
1.6.3.2. Поняття домену колізій та широкомовного домену.
Колізією називається така ситуація в мережі, коли два або більше вузлів починають одночасно процес передачі інформації. При цьому повідомлення стикаються у розділюваному середовищі і руйнуються.
Доменом колізій, або фізичним сегментом мережі називається така її частина, у якій колізія розпізнається незалежно від місця її виникнення. Взагалі колізії – це нормальний режим роботи мережі, коли їх кількість не перевищує деякого порогового значення. Залежно від методу доступу до середовища, який використовується у мережі, колізії можуть взагалі не виникати.
Широкомовним доменом, або логічним сегментом мережі називається така її частина, у якій розповсюджуються без змін широкомовні повідомлення.
Оскільки як колізії, так і широкомовні повідомлення погано впливають на продуктивність роботи мережі, коли їх кількість занадто велика, необхідно певними методами зменшувати її. Очевидно, що кількість залежить від кількості вузлів у домені колізій або широкомовному домені. Таким чином, зменшуючи розміри домену колізій ми тим самим зменшуємо кількість останніх.
Процес поділу домену колізій або широкомовного домену на менші частини називається сегментацією. Розрізняють фізичну сегментацію – поділ домену колізій, – та логічну сегментацію – поділ широкомовного домену.
Фізичну сегментацію здійснюють всі пристрої канального та мережевого рівнів; логічну – лише пристрої мережевого рівня.
1.6.3.3. Пристрої канального рівня та їх вплив на трафік мережі.
До пристроїв, які забезпечують виконання функції канального рівня, відносяться:
Мережева карта (NIC, network interface card), яка вставляється у слот материнської плати вузла і забезпечує його зв’язок з мережевим середовищем. Як правило, вона взаємодіє із мережею через послідовне з’єднання, а з материнською платою вузла – через паралельне. Фактори, які необхідно враховувати при виборі мережевої карти:
- тип мережевого протоколу канального рівня (Ethernet, FDDI, Token Ring);
- тип середовища передачі даних (вита пара, коаксіал, оптоволокно);
- тип системної шини комп’ютера (PCI, ISA).
Функції мережевої карти:
- LLC (управління логічним каналом) завдяки обміну службовою інформацією із протоколами верхніх рівнів;
- naming (адресація) – оскільки вона містить унікальну МАС-адресу вузла і вбудовує її у кадри, які відправляє;
- framing (утворення кадрів) – утворює і відправляє кадри певної структури для передачі;
- signaling (передача сигналів) – генерує сигнали і здійснює інтерфейс з середовищем передачі даних завдяки вбудованому трансиверу.
Міст (bridge) – мережевий пристрій канального рівня, який з’єднує мережеві сегменти та вирішує, чи перенаправляти кадр у інший сегмент. Фільтрація трафіку відбувається на основі МАС-адреси у відповідності до спеціальної таблиці фільтрації. У цій таблиці у відповідність порту моста ставляться МАС-адреси вузлів, які під’єднані до цього порта. При надходженні кадру на вхідний порт перевіряється адреса отримувача вузла; якщо вона відповідає іншому порту моста, кадр передається на цей порт; якщо тому ж, з якого поступив кадр – він відкидається.
Перевагами мостів є те, що вони є прозорими для протоколів верхніх рівнів, досить швидкодіючі та здійснюють фізичну сегментацію мережі. Недоліками – те, що вони не здійснюють логічної сегментації та при інтенсивному трафіку у мережі можуть стати її вузьким місцем. При нормальній завантаженості вони збільшують затримку сигналу на 10-30%.
Комутатор (switch) – пристрій канального рівня, який знижує перевантаженість мережі, зменшує мережевий трафік та підвищує ефективну пропускну здатність мережі. Комутатори ще називають багатопортовими мостами, оскільки алгоритм їх роботи практично ідентичний. На початку роботи мережі комутатор будує таблицю комутації, записуючи в неї МАС-адреси вузлів та власні номери портів, з яких поступила інформація. Далі на основі цієї таблиці вони здійснюють фільтрацію кадрів за вищеописаним алгоритмом.
У процесі роботи комутатора між приймачем та передавачем встановлюються віртуальні зв’язки – прямі виділені канали між портом, до якого під’єднаний відправник повідомлення та його отримувач. Процес встановлення таких зв’язків називають мікросегментацією. Самі зв’язки називаються віртуальними, оскільки встановлюються лише при потребі і на час передачі інформації, після чого одразу розриваються.
При використанні комутаторів у мережі колізії не виникають, оскільки кожен порт комутатора із під’єднаним до нього вузлом є окремим фізичним сегментом. Крім того, оскільки фільтрація кадрів здійснюється апаратно (на відміну від мостів, де вона здійснюється програмними методами), комутатори забезпечують ще більшу швидкодію, і як наслідок – більшу продуктивність роботи мережі.
17
1.6.3.4. Характеристики, що впливають на продуктивність комутаторів.
Продуктивність комутатора — це властивість, яку мережні інтегратори й адміністратори чекають від цього пристрою в першу чергу.
Основними показниками комутатора, що характеризують його продуктивність, є:
• швидкість фільтрації кадрів;
• швидкість просування кадрів;
• пропускна здатність;
• затримка передачі кадру.
Крім того, існує кілька характеристик комутатора, що найбільшою мірою впливають на зазначені характеристики продуктивності. До них відносяться:
• тип комутації — «на льоту» чи з повною буферизацією;
• розмір буфера (буферів) кадрів;
• продуктивність внутрішньої шини;
• продуктивність процесора чи процесорів;
• розмір внутрішньої адресної таблиці.
Швидкість фільтрації і швидкість просування
Швидкість фільтрації і просування кадрів — це дві основні характеристики продуктивності комутатора. Ці характеристики є інтегральними показниками, вони не залежать від того, яким чином технічно реалізований комутатор.
Швидкість фільтрації визначає швидкість, з якою комутатор виконує наступні етапи обробки кадрів:
• прийом кадру до свого буфера;
• перегляд адресної таблиці з метою знаходження порту для адреси призначення кадру;
• знищення кадру, тому що його порт призначення і порт джерела належать одному логічному сегменту.
Швидкість фільтрації практично у всіх комутаторів є неблокуючою — комутатор устигає відкидати кадри в темпі їхнього надходження.
Швидкість просування визначає швидкість, з якою комутатор виконує наступні етапи обробки кадрів.
- прийом кадру до свого буфера;
- перегляд адресної таблиці з метою визначення порту для адреси призначення кадру;
- передача кадру в мережу через знайдений по адресній таблиці порт призначення.
Як швидкість фільтрації, так і швидкість просування виміряються звичайно в кадрах у секунду. Якщо в характеристиках комутатора не уточнюється, для якого протоколу і для якого розміру кадру приведені значення швидкостей фільтрації і просування, то за замовчуванням вважається, що ці показники даються для протоколу Ethernet і кадрів мінімального розміру, тобто кадрів довжиною 64 байт (без преамбули) з полем даних у 46 байт. Якщо швидкості зазначені для якого-небудь визначеного протоколу, наприклад Token Ring чи FDDI, то вони також дані для кадрів мінімальної довжини цього протоколу (наприклад, кадрів довжини 29 байт для протоколу FDDI). Застосування як основного показника швидкості роботи комутатора кадрів мінімальної довжини пояснюється тим, що такі кадри завжди створюють для комутатора найбільш важкий режим роботи у порівнянні з кадрами іншого формату при рівній пропускній здатності користувальницьких даних, що переносяться. Тому при проведенні тестування комутатора режим передачі кадрів мінімальної довжини використовується як найбільш складний тест, що повинний перевірити здатність комутатора працювати при найгіршому сполученні параметрів трафіку. Крім того, для пакетів мінімальної довжини швидкість фільтрації і просування максимальна, що має немаловажне значення при рекламі комутатора.
Пропускна здатність комутатора виміряється кількістю користувальницьких даних (у мегабітах у секунду), переданих в одиницю часу через його порти. Оскільки комутатор працює на канальному рівні, для нього користувальницькими даними є ті дані, що переносяться в полі даних кадрів протоколів канального рівня — Ethernet, Token Ring, FDDI і т.п. Максимальне значення пропускної здатності комутатора завжди досягається на кадрах максимальної довжини, тому що при цьому частка накладних витрат на службову інформацію кадру набагато нижче, ніж для кадрів мінімальної довжини, а час виконання комутатором операцій по обробці кадру, що приходиться на один байт користувальницької інформації, істотно менше. Тому комутатор може бути, блокуючим для кадрів мінімальної довжини, але при цьому мати дуже гарні показники пропускної здатності.
Затримка передачі кадру виміряється як час, що пройшов з моменту приходу першого байта кадру на вхідний порт комутатора до моменту появи цього байта на його вихідному порту. Затримка складається з часу, затрачуваного на буферизацію байт кадру, а також часу, затрачуваного на обробку кадру комутатором, — перегляду адресної таблиці, ухвалення рішення про фільтрацію чи просування й одержання доступу до середовища вихідного порту.
Величина внесеної комутатором затримки залежить від режиму його роботи. Якщо комутація здійснюється «на льоту», то затримки звичайно невеликі і складають від 5 до 40 мкс, а при повній буферизації кадрів — від 50 до 200 мкс (для кадрів мінімальної довжини).
Комутатор — це багатопортовий пристрій, тому для нього прийнято всі приведені вище характеристики (крім затримки передачі кадру) давати в двох варіантах. Перший варіант — сумарна продуктивність комутатора при одночасній передачі трафіка по всіх його портах, другий варіант — продуктивність, наведена в розрахунку на один порт. Звичайно виробники комутаторів вказують загальну максимальну пропускну здатність пристрою.
На продуктивності комутатора позначається спосіб передачі пакетів — «на льоту (cut-through)» чи з буферизацією (store-and-forward). При комутації „на льоту” комутатор зчитує лише адресу отримувача кадру і одразу ж починає передавати його на вихідний порт, не очікуючи прийому всього кадру. При комутації з буферизацією пристрій очікує отримання всього кадру, перевіряє контрольну суму і лише тоді починає передавати кадр на вихідний порт. Існує ще один різновид такою комутації – з частковою буферизацією (fragment-free). При цьому методі комутатор зчитує перші 64 байти кадру і передає його на вихідний порт. Комутатори, що передають пакети «на льоту», вносять менші затримки передачі кадрів на кожнім проміжному комутаторі, тому загальне зменшення затримки доставки даних може бути значним, що важливо для мультимедійного трафіку. Крім того, обраний спосіб комутації впливає на можливості реалізації деяких корисних додаткових функцій, наприклад трансляцію протоколів канального рівня.
Середня величина затримки комутаторів, що працюють «на льоту», при високому навантаженні пояснюється тим, що в цьому випадку вихідний порт часто буває зайнятий прийомом іншого пакета, тому пакет що знову надійшов для даного порту все рівно приходиться буферизувати.
Комутатор, що працює «на льоту», може виконувати перевірку некоректності переданих кадрів, але не може вилучити поганий кадр із мережі, тому що частина його байт (і, як правило, велика частина) уже передані в мережу.
Оскільки кожен спосіб має свої переваги і недоліки, у тих моделях комутаторів, яким не потрібно транслювати протоколи, іноді застосовується механізм адаптивної зміни режиму роботи комутатора. Основний режим такого комутатора — комутація «на льоту», але комутатор постійно контролює трафік і при перевищенні інтенсивності появи поганих кадрів деякого порога переходить на режим повної буферизації. Потім комутатор може повернутися до комутації «на льоту».
Максимальна ємність адресної таблиці визначає граничну кількість МАС-адрес, з якими може одночасно оперувати комутатор. Оскільки комутатори найчастіше використовують для виконання операцій кожного порту виділений процесорний блок зі своєю пам'яттю для збереження екземпляра адресної таблиці, то розмір адресної таблиці для комутаторів звичайно приводиться в розрахунку на один порт. Екземпляри адресної таблиці різних процесорних модулів не обов'язково містять ту саму адресну інформацію — швидше за все, що повторюваних адрес буде не так багато, якщо тільки розподіл трафіку кожного порту між іншими портами не цілком рівноймовірний. Кожен порт зберігає тільки ті набори адрес, з якими він працював останнім часом.
Значення максимального числа МАС-адрес, що може запам'ятати процесор порту, залежить від області застосування комутатора. Комутатори робочих груп звичайно підтримують усього кілька адрес на порт, тому що вони призначені для утворення мікросегментів. Комутатори відділів повинні підтримувати кілька сотень адрес, а комутатори магістралей мереж — до декількох тисяч, звичайно 4000-8000 адрес.
Недостатня ємність адресної таблиці може служити причиною уповільнення роботи комутатора і засмічення мережі надлишковим трафіком. Якщо адресна таблиця процесора порту цілком заповнена, а він зустрічає нову адресу джерела в пакеті, що надійшов, процесор повинний витиснути з таблиці яку-небудь стару адресу і помістити на її місце нову. Ця операція сама по собі відніме в процесора частину часу, але головні втрати продуктивності будуть спостерігатися при надходженні кадру з адресою призначення, яку довелося видалити з адресної таблиці. Оскільки адреса призначення кадру невідома, то комутатор повинний передати цей кадр на всі інші порти. Ця операція буде створювати зайву роботу для багатьох процесорів портів, крім того, копії цього кадру будуть попадати і на ті сегменти мережі, де вони зовсім не обов'язкові.
Деякі виробники комутаторів вирішують цю проблему за рахунок зміни алгоритму обробки кадрів з невідомою адресою призначення. Один з портів комутатора конфігурується як магістральний порт, на який за замовчуванням передаються всі кадри з невідомою адресою. У маршрутизаторах такий прийом застосовується давно, дозволяючи скоротити розміри адресних таблиць у мережах, організованих по ієрархічному принципу.
Передача кадру на магістральний порт виконується в розрахунку на те, що цей порт підключений до вищестоячого комутатора при ієрархічному з'єднанні комутаторів у великій мережі, що має достатню ємність адресної таблиці і знає, куди потрібно передати будь-який кадр.
Внутрішня буферна пам'ять комутатора потрібна для тимчасового збереження кадрів даних у тих випадках, коли їх неможливо негайно передати на вихідний порт. Буфер призначений для згладжування короткочасних пульсацій трафіку. Адже навіть якщо трафік добре збалансований і продуктивність процесорів портів, а також інших обробних елементів комутатора достатня для передачі середніх значень трафіка, це не гарантує, що їхньої продуктивності вистачить при пікових значеннях навантажень. Наприклад, трафік може протягом декількох десятків мілісекунд надходити одночасно на усі входи комутатора, не даючи йому можливості передавати прийняті кадри на вихідні порти.
Для запобігання втрат кадрів при короткочасному багаторазовому перевищенні середнього значення інтенсивності трафіка (а для локальних мереж часто зустрічаються значення коефіцієнта пульсації трафіка в діапазоні 50-100) єдиним засобом служить буфер великого обсягу. Як і у випадку адресних таблиць, кожен процесорний модуль порту звичайно має свою буферну пам'ять для збереження кадрів. Чим більше обсяг цієї пам'яті, тим менш ймовірні втрати кадрів при перевантаженнях, хоча при незбалансованості середніх значень трафіка буфер усе рівно чи рано пізно переповниться.
Звичайно комутатори, призначені для роботи у відповідальних частинах мережі, мають буферну пам'ять у кілька десятків чи сотень кілобайт на порт. Добре, коли цю буферну пам'ять можна перерозподіляти між декількома портами, тому що одночасні перевантаження по декількох портах малоймовірні. Додатковим засобом захисту може служити загальний для всіх портів буфер у модулі керування комутатором. Такий буфер звичайно має обсяг у кілька мегабайт. 18
1.6.3.5. Алгоритм Spanning Tree.
Алгоритм покриваючого дерева — Spanning Tree Algorithm (STA) дозволяє комутаторам автоматично визначати деревоподібну конфігурацію зв'язків у мережі при довільному з'єднання портів між собою. Як уже відзначалося, для нормальної роботи комутатора потрібна відсутність замкнутих маршрутів у мережі. Ці маршрути можуть створюватися адміністратором спеціально для утворення резервних зв'язків чи виникати випадковим чином, що цілком можливо, якщо мережа має численні зв'язки, а кабельна система погано структурована чи документована.
Підтримуючі алгоритм STA комутатори автоматично створюють активну деревоподібну конфігурацію зв'язків (тобто зв'язну конфігурацію без петель) на безлічі всіх зв'язків мережі. Така конфігурація називається покриваючим деревом — Spanning Tree (іноді її називають основним деревом), і її назва дала ім'я всьому алгоритму. Алгоритм Spanning Tree описаний у стандарті ІЕЕЕ 802.1D, тім же стандарті, що визначає принципи роботи прозорих мостів.
Комутатори знаходять покриваюче дерево адаптивно, за допомогою обміну службовими пакетами. Реалізація в комутаторі алгоритму STA дуже важлива для роботи у великих мережах — якщо комутатор не підтримує цей алгоритм, то адміністратор повинний самостійно визначити, які порти потрібно перевести в заблокований стан, щоб виключити петлі. До того ж при відмовленні якого-небудь кабелю, чи порту комутатора адміністратор повинний, по-перше, знайти факт відмовлення, а по-друге, ліквідувати наслідок відмовлення, перевівши резервний зв'язок у робочий режим шляхом активізації деяких портів. За підтримки комутаторами мережі протоколу Spanning Tree відмовлення виявляються автоматично, за рахунок постійного тестування зв’язності мережі службовими пакетами. Після виявлення утрати зв’язності протокол будує нове покриваюче дерево, якщо це можливо, і мережа автоматично відновлює працездатність.
Алгоритм Spanning Tree визначає активну конфігурацію мережі за три етапи. Спочатку в мережі визначається кореневий комутатор (root switch), від якого будується дерево. Кореневий комутатор може бути обраний автоматично чи призначений адміністратором. При автоматичному виборі кореневим стає комутатор з меншим значенням МАС-адреси його блоку керування.
Потім, на другому етапі, для кожного комутатора визначається кореневий порт (root port) — це порт, що має по мережі найкоротшу відстань до кореневого комутатора (точніше, до кожного з портів кореневого комутатора).
І нарешті, на третьому етапі для кожного сегмента мережі вибирається так званий призначений порт (designated port) — це порт, що має найкоротшу відстань від даного сегмента до кореневого комутатора. Після визначення кореневих і призначених портів кожен комутатор блокує інші порти, що не потрапили в ці два класи портів. Можна математично довести, що при такому виборі активних портів у мережі виключаються петлі і зв'язки, що залишилися, утворять покриваюче дерево (якщо воно може бути побудоване при існуючих зв'язках у мережі).
Поняття відстані відіграє важливу роль у побудові покриваючого дерева. Саме за цим критерієм вибирається єдиний порт, що з'єднує кожен комутатор з кореневим комутатором, і єдиний порт, що з'єднує кожен сегмент мережі з кореневим комутатором.
Відстань до кореня визначається як сумарний умовний час на передачу одного біта даних від порту даного комутатора до порту кореневого комутатора. При цьому вважається, що час внутрішніх передач даних (з порту на порт) комутатором незначним, а враховується тільки час на передачу даних по сегментах мережі, що з'єднує комутатори. Умовний час сегмента розраховується як час, затрачуваний на передачу одного біта інформації в 10 наносекундних одиницях між безпосередньо зв'язаними по сегменту мережі портами. Так, для сегмента Ethernet цей час дорівнює 10 умовним одиницям, а для сегмента Token Ring 16 Мбіт/с — 6,25. (Алгоритм SТА не зв'язаний з яким-небудь визначеним стандартом канального рівня, він може застосовуватися до комутаторів, що з'єднують мережі різних технологій.)
Для автоматичного визначення початкової активної конфігурації дерева всі комутатори мережі після їхньої ініціалізації починають періодично обмінюватися спеціальними пакетами, називаними протокольними блоками даних моста — ВРDU (Bridge Protocol Data Unit), що відбиває факт первісної розробки алгоритму SТА для мостів.
Пакети ВРDU містяться в полі даних кадрів канального рівня, наприклад кадрів Ethernet чи FDDI. Бажано, щоб усі комутатори підтримували загальну групову адресу, за допомогою якої кадри, що містять пакети ВРDU, могли б одночасно передаватися всім комутаторам мережі. Інакше пакети ВРDU розсилаються широкомовно.
Ідентифікатори комутаторів (Root ID) складаються з 8 байт, причому молодші 6 є МАС-адресою блоку керування комутатора. Старші 2 байти у вихідному стані заповнені нулями, але адміністратор може змінити значення цих байтів, тим самим призначивши визначений комутатор кореневим.
Після ініціалізації кожен комутатор спочатку вважає себе кореневим. Тому він починає через певний інтервал генерувати через усі свої порти повідомлення ВРDU конфігураційного типу. У них він указує свій ідентифікатор як ідентифікатор кореневого комутатора (і як ідентифікатор даного комутатора також), відстань до кореня встановлюється в 0, а як ідентифікатор порту вказується ідентифікатор того порту, через який передається ВРDU. Як тільки комутатор одержує ВРDU, у якому є ідентифікатор кореневого комутатора, зі значенням, меншим його власного, він перестає генерувати свої власні кадри ВРDU, а починає ретранслювати тільки кадри нового претендента на звання кореневого комутатора. .
При ретрансляції кадрів кожен комутатор нарощує відстань до кореня, зазначену в отриманих ВРDU, на умовний час сегмента, по якому прийнятий даний кадр. Тим самим у кадрі ВРDU, у міру проходження через комутатори, накопичується відстань до кореневого комутатора.
Ретранслюючи кадри, кожен комутатор для кожного свого порту запам'ятовує мінімальну відстань до кореня, що зустрілася у всіх прийнятих цим портом кадрах ВРDU. При завершенні процедури встановлення конфігурації покриваючого дерева (за часом) кожен комутатор знаходить свій кореневий порт — це порт, для якого мінімальна відстань до кореня виявилося менше, ніж в інших портів.
Крім кореневого порту комутатори розподіленим чином вибирають для кожного сегмента мережі призначений порт. Для цього вони виключають з розгляду свій кореневий порт (для сегмента, до якого він підключений, завжди існує інший комутатор, що ближче розташований до кореня), а для усіх своїх портів, що залишилися, порівнюють прийняті по них мінімальні відстані до кореня з відстанню до кореня свого кореневого порту. Якщо в якого-небудь свого порту прийняті їм відстані до кореня більше, ніж відстань маршруту, що пролягає через свій кореневий порт, то це значить, що для сегмента, до якого підключений даний порт, найкоротша відстань до кореневого комутатора веде саме через даний порт. Комутатор робить усі свої порти, у яких така умова виконується, призначеними.
Якщо в процесі вибору кореневого порту чи призначеного порту кілька портів виявляються рівними за критерієм найкоротшої відстані до кореневого комутатора, то вибирається порт із найменшим ідентифікатором.
Потім усі порти, крім кореневого і призначених, переводяться кожним комутатором у заблокований стан. На цьому побудова покриваючого дерева закінчується.
У процесі нормальної роботи кореневий комутатор продовжує генерувати службові кадри ВРDU, а інші комутатори продовжують їх приймати своїми кореневими портами і ретранслювати призначеними. Якщо в комутатора немає призначених портів, то вони все рівно продовжують брати участь у роботі протоколу Spanning Tree, приймаючи службові кадри кореневим портом. Якщо після закінчення тайм-ауту кореневий порт будь-якого комутатора мережі не одержує службовий кадр ВРDU, то він ініціалізує нову процедуру побудови покриваючого дерева, сповіщаючи про це інші комутатори ВРDU- повідомленнями про реконфігурацію. Одержавши такий кадр, усі комутатори починають знову генерувати ВРDU конфігураційного типу, у результаті чого встановлюється нова активна конфігурація.
Під час роботи протоколу Spanning Tree кожен порт комутатора може знаходитися у одному з наступних режимів:
- блокування (blocking) – не передається ніяка інформація, приймаються службові кадри (BPDU)
- прослуховування (listening) – інформація не передається, а лише приймається
- вивчення (learning) – інформація не передається, вивчаються адреси
- перенаправлення (forwarding) – передається інформація, вивчаються адреси
- відключення (disabled) – жодна інформація не передається і не приймається
Під час ініціалізації покриваючого дерева всі порти знаходяться у режимі блокування.
19
1.6.4. Методи доступу до середовища.
Метод доступу до середовища – це алгоритм, згідно із яким кожен вузол у мережі отримує право доступу до спільного розділюваного фізичного середовища і, відповідно, право на передачу інформації.
Методи доступу можна поділити на 2 групи: детерміністичні та недетерміністичні. Детерміністичний метод доступу передбачає строгу почерговість вузлів у захопленні середовища; завдяки цьому, знаючи максимальну кількість вузлів у сегменті та максимальний час захоплення середовища, можна чітко визначити, через яки час той чи інший вузол отримає право на передачу інформації. Прикладом такого методу доступу є маркерний.
Недетерміністичний метод доступу іноді ще називають випадковим, оскільки захоплення середовища тим чи іншим вузлом носить ймовірнісний характер. Таким чином, час, через який певний вузол отримає право на передачу інформації, можна визначити лише з певною імовірністю. Прикладом такого методу доступу є колективний.
Методи доступу до середовища іноді ще називають логічними топологіями мережі, оскільки вони визначають, як рухатимуться потоки інформації в мережі. При цьому виділяють широкомовну топологію (broadband) та з передачею маркера (token passing), які відповідають колективному та маркерному методам доступу.
20
1.6.4.1. Колективний метод доступу до середовища (CSMA/CD)
Найбільш розповсюдженим методом колективного доступу є той, який використовується у мережах Ethernet – метод колективного доступу із визначенням несучої та виявленням колізій (carrier-sense-multiply-access with collision detection, CSMA/CD). Цей метод використовується у мережах із спільним розділюваним середовищем. До таких мереж можна віднести і радіомережі, розвиток яких і призвів до появи даного методу. Також до них можна віднести мережі, побудовані за фізичною шинною топологією або зірковою, якщо у якості центрального вузла зірки виступає концентратор (тоді можна говорити про так звану вироджену шину, оскільки цей пристрій також являє собою спільне розділюване середовище для всіх вузлів мережі). У такому випадку кабель, до якого під’єднано всі станції, працює у режимі колективного доступу (multiply-access, MA).
Усі дані, які передаються мережею, поміщаються в кадри визначеної структури і забезпечуються унікальною адресою станції призначення (МАС-адресою). Потім кадр передається по кабелю. Усі станції, підключені до кабелю, можуть розпізнати факт передачі кадру, і та станція, що визначить власну адресу в заголовках кадру, записує його вміст у свій внутрішній буфер, обробляє отримані дані і посилає по кабелю кадр-відповідь. Адреса станції-джерела також включена у вихідний кадр, тому станція-одержувач знає, кому потрібно послати відповідь.
При описаному підході можлива ситуація, коли дві станції одночасно намагаються передати кадр даних по загальному кабелю. Для зменшення імовірності цієї ситуації безпосередньо перед відправленням кадру передаюча станція слухає кабель (тобто приймає й аналізує виникаючі на ньому електричні сигнали), щоб визначити, чи не передається вже по кабелю кадр даних від іншої станції. Якщо визначається несуча (carrier-sense, CS), то станція відкладає передачу свого кадру до закінчення чужої передачі, і тільки потім намагається знову його передати. Але навіть при такому алгоритмі дві станції одночасно можуть вирішити, що по шині в даний момент часу немає передачі, і почати одночасно передавати свої кадри. Говорять, що при цьому відбувається колізія, тому що вміст обох кадрів зіштовхується на загальному кабелі, що приводить до перекручування інформації.
Щоб коректно обробити колізію, усі станції одночасно спостерігають за виникаючими на кабелі сигналами. Якщо передані сигнали і ті, що спостерігаються, відрізняються, то фіксується виявлення колізії (collision detection, CD). Для збільшення імовірності негайного виявлення колізії всіма станціями мережі, ситуація колізії підсилюється посилкою в мережу станціями, що почали передачу своїх кадрів, спеціальної послідовності біт,яка називається jam-послідовністю.
Після виявлення колізії передаюча станція зобов'язана припинити передачу й очікувати протягом короткого випадкового інтервалу часу, а потім може знову зробити спробу передачі кадру.
З опису методу доступу видно, що він носить імовірнісний характер, і імовірність успішного одержання у своє розпорядження загального середовища залежить від завантаженості мережі, тобто від інтенсивності виникнення в станціях потреби передачі кадрів.
Метод CSMA/CD визначає основні часові і логічні співвідношення, що гарантують коректну роботу всіх станцій у мережі:
- Між двома послідовно переданими по загальній шині кадрами інформації повинна витримуватися певна пауза; вона потрібна для приведення у вихідний стан мережних адаптерів вузлів, а також для запобігання монопольного захоплення середовища передачі даних одною станцією. Вона називається міжкадровим інтервалом (interframe gap).
- При виявленні колізії (умови її виявлення залежать від застосовуваного фізичного середовища) станція видає в середовище спеціальну 32-х бітну послідовність (jam-послідовність), що підсилює явище колізії для більш надійного розпізнавання її усіма вузлами мережі.
- У випадку виникнення повторних колізій існує максимально можлива кількість спроб повторної передачі (attempt limit). При досягненні цього порогу фіксується помилка передачі кадру, повідомлення про яку передається протоколу верхнього рівня.
- Після виявлення колізії кожен вузол, що передавав кадр і зштовхнувся з колізією, після деякої затримки намагається повторно передати свій кадр. Величина затримки вибирається як рівномірно розподілене випадкове число з інтервалу, довжина якого експоненційно збільшується з кожною спробою. Такий алгоритм вибору величини затримки знижує імовірність колізій і зменшує інтенсивність видачі кадрів у мережу при її високому завантаженні. Пауза завжди рівна цілому числу так званих інтервалів відстрочки.
- Інтервал відстрочки (slot time) – це час, протягом якого станція гарантовано може дізнатися, що у мережі немає колізії. Цей час тісно пов’язаний з іншим важливим часовим параметром мережі – вікном колізій (collision window). Вікно колізій дорівнює часу подвійного проходження сигналу між двома найвіддаленішими вузлами мережі (RTT) – найгіршому випадку затримки, при якій станція може визначити, що відбулася колізія. Інтервал відстрочки обирається рівним величині вікна колізій плюс деяка додаткова величина затримки для гарантії.
- У стандартах методу доступу CSMA/CD всі часові параметри описуються у бітових інтервалах (bit time) – ця величина визначає час передачі одного біта і залежить від конкретної використовуваної технології.
21
1.6.4.2. Маркерний метод доступу до середовища (Token passing)
Такий метод доступу використовується, як правило, у мережах із фізичною кільцевою топологією (Token Ring) або подвійною кільцевою топологією (FDDI).
У мережах з маркерним методом доступу право на доступ до середовища передається циклічно від станції до станції по логічному кільцю. Кільце утворюється відрізками кабелю, що з'єднують сусідні станції. Таким чином, кожна станція зв'язана зі своєю попередньою і наступною станцією і може безпосередньо обмінюватися даними тільки з ними. Для забезпечення доступу станцій до фізичного середовища по кільцю циркулює кадр спеціального формату і призначення - маркер (token).
Одержавши маркер, станція аналізує його, при необхідності модифікує і при відсутності в неї даних для передачі забезпечує його просування до наступної станції. Станція, що має дані для передачі, при одержанні маркера вилучає його з кільця, що дає їй право доступу до фізичного середовища і передачі своїх даних. Потім ця станція видає в кільце кадр даних установленого формату послідовно по бітах. Передані дані проходять по кільцю завжди в одному напрямку від однієї станції до іншої.
При надходженні кадру даних до однієї або декількох станцій, ці станції копіюють для себе цей кадр і вставляють у цей кадр підтвердження прийому. Станція, що видала кадр даних у кільце, при зворотному його одержанні з підтвердженням прийому вилучає цей кадр із кільця і видає новий маркер для забезпечення можливості іншим станціям мережі передавати дані.
Час утримання одною станцією маркера обмежується тайм-аутом утримання маркера, після витікання якого станція зобов'язана передати маркер далі по кільцю.
У мережах Token Ring 16 Мб/з використовується також трохи інший алгоритм доступу до кільця, що називається алгоритмом раннього звільнення маркера (Early Token Release). Відповідно до нього станція передає маркер доступу наступної станції відразу ж після закінчення передачі останнього біта кадру, не чекаючи повернення по кільцю цього кадру з бітом підтвердження прийому. У цьому випадку пропускна здатність кільця використовується більш ефективно і наближається до 80 % від номінальної.
Для різних видів повідомлень переданим даним можуть призначатися різні пріоритети. При використанні механізму пріоритетів у мережі захопити маркер може лише та станція, пріоритет повідомлення якої рівний або вищий за пріоритет маркера.
Кожна станція має механізми виявлення й усунення несправностей мережі, що виникають у результаті помилок передачі або перехідних явищ (наприклад, при підключенні і відключенні станції).
Не всі станції в кільці рівні. Одна зі станцій позначається як активний монітор, що означає додаткову відповідальність по керуванню кільцем. Активний монітор здійснює керування тайм-аутом у кільці, породжує нові маркери (якщо необхідно), щоб зберегти робочий стан, і генерує діагностичні кадри при певних обставинах. Активний монітор вибирається, коли кільце ініціалізується, і в цій якості може виступити будь-як станція мережі. Якщо монітор відмовив з якої-небудь причини, існує механізм, за допомогою якого інші станції (резервні монітори) можуть домовитися, яка з них буде новим активним монітором.
22
1.6.5. Протоколи канального рівня.
1.6.5.1. Мережі Ethernet.
Ethernet являє собою сімейство мережевих технологій на основі методу доступу до середовища CSMA/CD. Це сімейство включає в себе такі технології як Legacy Ethernet, Fast Ethernet та Gigabit Ethernet.
У більш вузькому значення Ethernet – це мережевий стандарт, який базується на технологіях експериментальної мережі Ethernet Network, розробленої та реалізованої фірмою Xerox у 1975 році, ще до появи ПК. У 1980 році фірми DEC, Intel та Xerox сумісно розробили та опублікували стандарт Ethernet версії ІІ для мереж на основі коаксіального кабелю. Цей стандарт ще часом називають стандартом DIX.
На основі стандарту Ethernet DIX було розроблено стандарт ІЕЕЕ 802.3, який практично співпадає зі своїм попередником, але деякі відмінності все ж існують. Зокрема, дещо відрізняється формат кадру, хоча мінімальні та максимальні розміри кадрів співпадають.
При необхідності додати нові можливості по передачі даних до існуючих технологій використовуються доповнення до стандарту ІЕЕЕ 802.3, які ідентифікуються додатковими літерами (наприклад, ІЕЕЕ 802.3u). Крім того, кожне доповнення має свій ідентифікатор, який будується за наступними правилами:
<швидкість><тип передачі сигналів>-<тип середовища>, де
швидкість – швидкість передачі даних у Мб/с;
тип передачі сигналів – base (від baseband – передача сигналів у основній смузі частот без використання модуляції) або broad (від broadband – передача інформаційних сигналів з допомогою аналогового сигналу несучої частоти). У комп’ютерних мережах використовується, як правило, перший тип передачі сигналів; у радіо- та телевізійних – другий;
тип середовища – тип середовища передачі даних, кодується однією або двома літерами (Т – вита пара, F – оптоволокно і т.д.). Наприклад: 100Base-Tx – передача інформації на швидкості 100 Мб/с через виту пару у основній смузі частот.
Ethernet працює на фізичному рівні та на МАС-підрівні канального рівня моделі OSI. Для адресації вузлів у мережах Ethernet використовуються МАС-адреси.
Передача даних на канальному рівні відбувається не суцільним потоком, а протокольними блоками даних канального рівня – кадрами. Загальний формат кадру Ethernet наступний:
SFF | Address | Type/Length | Data | FCS |