- •Коли відбулася перша телевізійна передача
- •Історичний огляд розвитку комп’ютерної техніки.
- •2.Основні поняття та означення
- •Для пересилання повідомлень через телекомунікаційне середовище застосовують сигнали.
- •Інтерпретація інформації, яку переносять сигнали, визначається користувачем. Для інтерпретації та обробки інформації переважно автоматизованими системами послідовність сигналів трактується як дані.
- •До специфічних функцій мереж відносяться:
- •1.Класифікація мереж
- •3.1 Загальні відомості
- •3.2 Локальні мережі
- •Основні завдання локальних комп’ютерних мереж полягають у наступному.
- •3.3 Глобальні та метропольні мережі
- •4 .Топології мереж.
- •5. Концепція відкритих систем
- •5.1 Еталонна(семирівнева) модель взаємозв'язку відкритих систем
- •5.2 Переваги ідеології відкритих систем.
- •6.Стандартизація мереж.
- •6.1.Основні міжнародні організації із стандартизації:
- •Ieee - Institute of Electrical and Electronics Engineering - Інститут інженерів-електриків та електроніків (сша).
- •6.2 Стандарти iso/iec.
- •6.3 Стандарти ieee 802.
- •6.4 Стандарти ansi/tia/eia.
- •Мережеві протоколи та еталонна модель osi.
- •7.1 Поширені протоколи Фізичного рівня.
- •7.2 Протоколи Канального рівня.
- •7.3. Протоколи Транспортного і вищих рівнів.
- •7.4. Деякі протоколи і послуги Рівня застосувань.
- •8. Поняття системи передачі даних
- •8.2 Передавальні середовища.
- •8.2.1 Ефірне середовище
- •8.2.2 Коаксіальні кабелі.
- •8.2.3 Кабель "скручена пара"
- •8.2.4 Волоконно-оптичний кабель
- •9.Кодування сигналів у передавальних середовищах.
- •9.1 Основні поняття про кодування сигналів.
- •Передача даних на фізичному рівні
- •1.1. Цифрове кодування
- •Вимоги до методів цифрового кодування
- •Потенційний код без повернення до нуля
- •Метод біполярного кодування з альтернативною інверсією
- •Потенційний код з інверсією при одиниці
- •Біполярний імпульсний код
- •Манчестерський код
- •Потенційний код 2в1q
- •1.2.Логічне кодування
- •Надлишкові коди
- •Скремблювання
- •9.4 Контроль правильності передачі інформації
- •9.5 Стиснення інформації
- •10. Методи і технології передачі даних, що мають практичне значення
- •10.1 Способи організації передавання даних з персонального
- •10.2 . Модеми. Класифікація модемів
- •11.Основні технології локальних мереж
- •11.1 Мережі типу Ethernet. Загальні відомості.
- •11.2 Елементи системи Ethernet.
- •11.3 Структури рамок Ethernet.
- •11.3.2. Рамка в стандарті 802.3.
- •11.3.3 Кадр 802.3/llc
- •11.3.4 Кадр Ethernet snap
- •11.4 Метод доступу csma/cd
- •11.4.1 Етапи доступу до середовища
- •11.4.2 Виникнення колізії
- •11.4.3 Час подвійного обороту і розпізнавання колізій
- •11.4.4 Продуктивність мережі з протоколом csma/cd.
- •1.2.1. Максимальна продуктивність мережі Ethernet
- •12. Компоненти обладнання мереж Ethernet.
- •12.1 Мережеві адаптери. Означення та основні функції.
- •12.2 Мережеві карти Ethernet.
- •12.2.1 Ресурси, які використовуються мережевими картами.
- •12.2.2 Функціонування мережевих карт.
- •12.2.3 Процедура встановлення мережевої карти.
- •13.Пристрої доступу до середовища.
- •13.1 Трансівери
- •13.2 Ретранслятори (повторювачі) Ethernet.
- •13.3 Причини логічної структуризації локальних мереж
- •13.3.1 Обмеження мережі, побудованої на загальному поділюваному середовищі
- •13.3.2 Переваги логічної структуризації мережі
- •13.4 Структуризація за допомогою мостів і комутаторів
- •13.5 Принципи роботи мостів
- •13.5.1 Алгоритм роботи прозорого моста
- •13.5.2 Мости з маршрутизацією від джерела
- •13.5.3 Обмеження топології мережі, побудованої на мостах
- •14. Принципи об'єднання мереж на основі протоколів мережевого рівня
- •14.1. Обмеження мостів і комутаторів
- •15.Адресація в ip-мережах
- •15.1. Типи адрес стека tcp/ip
- •16. Мережі типу Ethernet із швидкістю 10Мб/с.
- •17.Мережі типу Ethernet із швидкістю 100 Мб/с.
- •18. Мережі Ethernet із швидкістю 1 Гб/с.
14. Принципи об'єднання мереж на основі протоколів мережевого рівня
У стандартній моделі взаємодії відкритих систем у функції мережевого рівня входить рішення наступних задач:
передача пакетів між кінцевими вузлами в складених мережах;
вибір маршруту передачі пакетів, найкращого за деяким критерієм;
узгодження різних протоколів канального рівня, що використовуються в окремих підмережах однієї складеної мережі.
Протоколи мережевого рівня реалізуються, як правило, у вигляді програмних модулів і виконуються на кінцевих вузлах - комп'ютерах, які називаються хостами, а також на проміжних вузлах-маршрутизаторах, які називаються шлюзами. Функції маршрутизаторів можуть виконувати як спеціалізовані пристрої, так й універсальні комп'ютери з відповідним програмним забезпеченням.
14.1. Обмеження мостів і комутаторів
Створення складної, структурованої мережі, що інтегрує різні базові технології, може здійснюватися й засобами канального рівня: для цього можуть бути використані деякі типи мостів і комутаторів. Міст або комутатор розділяє мережу на сегменти, локалізуючи трафік усередині сегмента, що робить лінії зв'язку поділюваними переважно між станціями даного сегмента. Тим самим мережа розпадається на окремі підмережі, з яких можуть бути побудовані складені мережі досить великих розмірів.
Однак побудова складних мереж тільки на основі повторювачів, мостів і комутаторів має істотні обмеження й недоліки.
По-перше, у топології мережі, що вийшла, повинні бути відсутні петлі. Дійсно, міст/комутатор може вирішувати завдання доставки пакета адресату тільки тоді, коли між відправником й одержувачем існує єдиний шлях. У той же час наявність надлишкових зв'язків, які й утворять петлі, часто необхідно для кращого балансування навантаження, а також для підвищення надійності мережі за рахунок утворення резервних шляхів.
По-друге, логічні сегменти мережі, розташовані між мостами або комутаторами, слабко ізольовані друг від друга, а саме не захищені від так званих широкомовних штормів. Якщо яка-небудь станція посилає широкомовне повідомлення, то це повідомлення передається всім станціям всіх логічних сегментів мережі. Захист від широкомовних штормів у мережах, побудованих на основі мостів і комутаторів, має кількісний, а не якісний характер: адміністратор просто обмежує кількість широкомовних пакетів, які дозволяється генерувати деякому вузлу в одиницю часу. Використання ж механізму віртуальних мереж, реалізованому в багатьох комутаторах, хоча й дозволяє досить гнучко створювати ізольовані по трафіку групи станцій, але при цьому ізолює їх повністю, так що вузли однієї віртуальної мережі не можуть взаємодіяти з вузлами іншої віртуальної мережі.
По-третє, у мережах, побудованих на основі мостів і комутаторів, досить складно вирішується завдання управління трафіком на основі значення даних, що містяться в пакеті. У таких мережах це можливо тільки за допомогою користувацьких фільтрів, для завдання яких адміністратору доводиться мати справу із двійковим представленням вмісту пакетів.
По-четверте, реалізація транспортної підсистеми тільки засобами фізичного й канального рівнів, до яких ставляться мости й комутатори, приводить до недостатньо гнучкої, однорівневої системи адресації: як адреса призначення використовується МАС-адреса, жорстко пов'язана з мережевим адаптером.
Нарешті, можливістю трансляції протоколів канального рівня володіють далеко не всі типи мостів і комутаторів, до того ж ці можливості обмежені. Зокрема, у поєднуваних мережах повинні збігатися максимально припустимі розміри полів даних у кадрах, тому що мостами й комутаторами не підтримується функція фрагментації кадрів.
Наявність серйозних обмежень у протоколів канального рівня показує, що побудова на основі засобів цього рівня великих неоднорідних мереж є досить проблематичною. Природне вирішення в цих випадках - це залучення засобів більш високого, мережевого рівня.
14.2 Поняття internetworking Основна ідея введення мережевого рівня полягає в наступному. Мережа в загальному випадку розглядається як сукупність кількох мереж і називається складеною мережею або інтермережею (internetwork або internet). Мережі, що входять у складену мережу, називаються підмережами (subnet), що складають мережу або просто мережами (мал. 5.1).
Підмережі з'єднуються між собою маршрутизаторами. Компонентами складеної мережі можуть бути як локальні, так і глобальні мережі. Внутрішня структура кожної мережі на малюнку не показана, тому що вона не має значення при розгляді мережевого протоколу. Всі вузли в межах однієї підмережі взаємодіють, використовуючи єдину для них технологію. Так, у складену мережу, яка показана на малюнку, входить кілька мереж різних технологій: локальні мережі Ethernet, Fast Ethernet, Token Ring, FDDI і глобальні мережі frame relay, X.25, ISDN. Кожна із цих технологій достатня для того, щоб організувати взаємодію всіх вузлів у своїй підмережі, але не здатна побудувати інформаційний зв'язок між довільно обраними вузлами, що належать різним підмережам, наприклад між вузлом А и вузлом В на мал. 5.1. Отже, для організації взаємодії між будь-якою довільною парою вузлів цієї "великої" складеної мережі потрібні додаткові засоби. Такі засоби й надає мережевий рівень. Мережевий рівень виступає як координатор, що організує роботу всіх підмереж, що лежать на шляху просування пакета по складеній мережі. Для переміщення даних у межах підмереж мережевий рівень звертається до використовуваного в цих підмережах технологій. Хоча багато технологій локальних мереж (Ethernet, Token Ring, FDDI, Fast Ethernet й ін.) використовують ту саму систему адресації вузлів на основі МАС-адрес, існує чимало технологій (X.25, ATM, frame relay), у яких застосовуються інші схеми адресації. Адреси, привласнені вузлам відповідно до технологій підмереж, називають локальними. Щоб мережевий рівень міг виконати свою задачу, йому необхідна власна система адресації, що не залежить від способів адресації вузлів в окремих піжмережах, що дозволила б на мережевому рівні універсальним й однозначним способами ідентифікувати будь-який вузол складеної мережі. Природним способом формування мережевої адреси є унікальна нумерація всіх підмереж складової мережі й нумерація всіх вузлів у межах кожної підмережі. Таким чином, мережева адреса являє собою пару: номер мережі (підмережі) і номер вузла. Як номер вузла може виступати або локальна адреса цього вузла (така схема прийнята в стеці IPX/SPX), або деяке число, ніяк не пов'язане з локальною технологією, що однозначно ідентифікує вузол у межах даної підмережі. У першому випадку мережева адреса стає залежною від локальних технологій, що обмежує його застосування. Наприклад, мережеві адреси IPX/SPX розраховані на роботу в складених мережах, що об'єднує мережі, у яких використовуються тільки МАС-адреси або адреси аналогічного формату. Другий підхід більш універсальний, він характерний для стека TCP/IP. І в тому й іншому випадку кожен вузол складеної мережі має поряд зі своєю локальною адресою ще одну - універсальну мережеву адресу. Дані, які надходять на мережевий рівень й які необхідно передати через складену мережу, забезпечуються заголовком мережевого рівня. Дані разом із заголовком утворять пакет. Заголовок пакета мережевого рівня має уніфікований формат, що не залежить від форматів кадрів канального рівня тих мереж, які можуть входити в об'єднану мережу, і несе поряд з іншою службовою інформацією дані про номер мережі, який призначається цей пакет. Мережевий рівень визначає маршрут і переміщає пакет між підмережами. При передачі пакета з однієї підмережі в іншу пакет мережевого рівня, інкапсульований у прибулий канальний кадр першої підмережі, звільняється від заголовків цього кадру й оточується заголовками кадру канального рівня наступної підмережі. Інформацією, на основі якої робиться ця заміна, є службові поля пакета мережевого рівня. У полі адреси призначення нового кадру вказується локальна адреса наступного маршрутизатора.
Якщо провести аналогію між взаємодією різнорідних мереж і перепискою людей з різних країн, то мережева інформація - це загальноприйнятий індекс країни, доданий до адреси листа, написаній на одній із сотні мов земної кулі, наприклад на санскриті. І навіть якщо цей лист повинен пройти через безліч країн, поштові працівники яких не знають санскриту, зрозумілий їм індекс країни-адресата підкаже, через які проміжні країни краще передати лист, щоб воно найкоротшим шляхом потрапило в Індію. А вже там працівники місцевих поштових відділення зможуть прочитати точну адресу, що вказує місто, вулицю, будинок й індивідуума, і доставити лист адресату, тому що адреса написана мовою й у формі, прийнятій в даній країні. Основним полем заголовка мережевого рівня є номер мережі-адресата. У розглянутих нами раніше протоколах локальних мереж такого поля в кадрах передбачено не було - передбачалося, що всі вузли належать одній мережі. Явна нумерація мереж дозволяє протоколам мережевого рівня складати точну карту міжмережевих зв'язків і вибирати раціональні маршрути при будь-якій їхній топології, у тому числі альтернативні маршрути, якщо вони є, що не вміють робити мости й комутатори. Крім номера мережі заголовок мережевого рівня повинен містити й іншу інформацію, необхідну для успішного переходу пакета з мережі одного типу в мережу іншого типу. До такої інформації може належати, наприклад:
Коли дві або більше мережі організують спільну транспортну службу, то такий режим взаємодії звичайно називають міжмережевою взаємодією (internetworking). 14.3 Принципи маршрутизації Найважливішим завданням мережевого рівня є маршрутизація - передача пакетів між двома кінцевими вузлами в складеної мережі. Розглянемо принципи маршрутизації на прикладі складеної мережі, зображеної на мал. 5.2. У цій мережі 20 маршрутизаторів поєднують 18 мереж у загальну мережу; S1, S2, ... , S20 - це номера мереж. Маршрутизатори мають по декілька портів (принаймні, по два), до яких приєднуються мережі. Кожний порт маршрутизатора можна розглядати як окремий вузол мережі: він має власну мережеву адресу й власну локальну адресу в тій підмережі, що до нього підключена. Наприклад, маршрутизатор під номером 1 має три порти, до яких підключені мережі S1, S2, S3. На малюнку мережеві адреси цих портів позначені як М1(1), М1(2) і М1(3). Порт М1(1) має локальну адресу в мережі з номером S1, порт М1(2) - у мережі S2, а порт М1(3) - у мережі S3. Таким чином, маршрутизатор можна розглядати як сукупність декількох вузлів, кожний з яких входить у свою мережу. Як єдиний пристрій маршрутизатор не має ні окремої мережевої адреси, ні якої-небудь локальної адреси. Якщо маршрутизатор має блок керування (наприклад, SNMP-керування), то цей блок має власні локальну і мережну адреси, по яких до нього звертається центральна станція керування, що перебуває десь у складеній мережі. У складних складених мережах майже завжди існує кілька альтернативних маршрутів для передачі пакетів між двома кінцевими вузлами. Маршрут — це послідовність маршрутизаторів, які повинен пройти пакет від відправника до пункту призначення. Так, пакет, відправлений з вузла А в вузол В, може пройти через маршрутизатори 17, 12, 5, 4 й 1 або маршрутизатори 17, 13, 7, 6 й 3. Неважко знайти ще кілька маршрутів між вузлами А и В.
Завдання вибору маршруту з декількох можливих вирішують маршрутизатори, а також кінцеві вузли. Маршрут вибирається на підставі наявної в цих пристроях інформації про поточну конфігурацію мережі, а також на підставі зазначеного критерію вибору маршруту. Звичайно як критерій виступає затримка проходження маршруту окремим пакетом або середньою пропускною здатністю маршруту для послідовності пакетів. Часто також використовується досить простий критерій, що враховує тільки кількість пройдених у маршруті проміжних маршрутизаторів (хопів). Щоб за адресою мережі призначення можна було б вибрати раціональний маршрут подальшого проходження пакета, кожний кінцевий вузол і маршрутизатор аналізують спеціальну інформаційну структуру, що називається таблицею маршрутизації. Використовуючи умовні позначки для мережевих адрес маршрутизаторів і номерів мереж у тім вигляді, як вони наведені на мал. 5.2, подивимося, як могла б виглядати таблиця маршрутизації, наприклад, у маршрутизаторі 4 (табл. 5.1).
У першому стовпці таблиці перераховуються номери мереж, що входять в інтермережу. У кожному рядку таблиці слідом за номером мережі вказується мережева адреса наступного маршрутизатора (більш точно, мережева адреса відповідного порту наступного маршрутизатора), на який слід направити пакет, щоб той пересувався в напрямку до мережі з даним номером за раціональним маршрутом. Коли на маршрутизатор надходить новий пакет, номер мережі призначення, витягнутий з кадру, що надійшов, послідовно порівнюється з номерами мереж з кожного рядка таблиці. Рядок з номером мережі, що збігся, вказує, на який найближчий маршрутизатор треба направити пакет. Наприклад, якщо на який-небудь порт маршрутизатора 4 надходить пакет, адресований у мережу S6, то з таблиці маршрутизації слідує, що адреса наступного маршрутизатора - М2(1), тобто черговим етапом прямування даного пакета буде прямування до порту 1 маршрутизатора 2. Оскільки пакет може бути адресований у будь-яку мережу складеної мережі, може показатися, що кожна таблиця маршрутизації повинна мати записи про всі мережі, що входять у складену мережу. Але при такому підході у випадку великої мережі обсяг таблиць маршрутизації може виявитися дуже великим, що вплине на час її перегляду, зажадає багато місця для зберігання й т.п. Тому на практиці число записів у таблиці маршрутизації намагаються зменшити за рахунок використання спеціального запису — "маршрутизатор за замовчуванням" (default). Дійсно, якщо взяти до уваги топологію складеної мережі, то в таблицях маршрутизаторів, що перебувають на периферії складеної мережі, досить записати номера мереж, безпосередньо приєднаних до даного маршрутизатора або розташованих поблизу, на тупикових маршрутах. Про всі ж інші мережі можна зробити в таблиці єдиний запис, що вказує на маршрутизатор, через який пролягає шлях до всіх цих мереж. Такий маршрутизатор називається маршрутизатором за замовчуванням, а замість номера мережі у відповідному рядку поміщається особливий запис, наприклад default. У нашому прикладі таким маршрутизатором за замовчуванням для мережі S5 є маршрутизатор 5, точніше його порт М5(1). Це означає, що шлях з мережі S5 майже до всіх мереж великої складеної мережі пролягає через цей порт маршрутизатора. Перед тим як передати пакет наступному маршрутизатору, даний маршрутизатор повинен визначити, на який з декількох власних портів він повинен помістити даний пакет. Для цього служить третій стовпець таблиці маршрутизації. Ще раз підкреслимо, що кожен порт ідентифікується власною мережною адресою. Деякі реалізації мережевих протоколів допускають наявність у таблиці маршрутизації відразу декількох рядків, що відповідають тому самому адресу мережі призначення. У цьому випадку при виборі маршруту приймається до уваги стовпець "Відстань до мережі призначення". При цьому під відстанню розуміється будь-яка метрика, використовувана відповідно до заданого в мережевому пакеті критерію (часто зветься класом сервісу). Відстань може вимірятися хопами, часом проходження пакета по лініях зв'язку, якою-небудь характеристикою надійності ліній зв'язку на даному маршруті або іншій величині, що відображає якість даного маршруту стосовно заданого критерію. Якщо маршрутизатор підтримує кілька класів сервісу пакетів, то таблиця маршрутів складається й застосовується окремо для кожного виду сервісу (критерію вибору маршруту). У табл. 5.1 відстань між мережами вимірялося хопами. Відстань для мереж, безпосередньо підключених до портів маршрутизатора, тут приймається рівною 0, однак у деяких реалізаціях відлік відстаней починається з 1. Наявність декількох маршрутів до одного вузла уможливлюють передачу трафіка до цього вузла паралельно по декількох каналах зв'язку, це підвищує пропускну здатність і надійність мережі. Задачу маршрутизації вирішують не тільки проміжні вузли-маршрутизатори, але й кінцеві вузли - комп'ютери. Засоби мережевого рівня, установлені на кінцевому вузлі, при обробці пакета повинні, насамперед, визначити, чи направляється він в іншу мережу або адресований якому-небудь вузлу даної мережі. Якщо номер мережі призначення збігається з номером даної мережі, то для даного пакета не потрібно вирішувати завдання маршрутизації. Якщо ж номера мереж відправлення й призначення не збігаються, то маршрутизація потрібна. Таблиці маршрутизації кінцевих вузлів повністю аналогічні таблицям маршрутизації, що зберігається на маршрутизаторах. Звернемося знову до мережі, зображеної на мал. 5.2. Таблиця маршрутизації для кінцевого вузла В могла б виглядати в так (табл. 5.2). Тут MB - мережева адреса порту комп'ютера В. На підставі цієї таблиці кінцевий вузол В вибирає, на який із двох наявних у локальній мережі S3 маршрутизаторів варто посилати той або інший пакет.
Кінцеві вузли в ще більшому ступені, ніж маршрутизатори, користуються прийомом маршрутизації за замовчуванням. Хоча вони також у загальному випадку мають у своєму розпорядженні таблицю маршрутизації, її об'єм звичайно незначний, що пояснюється периферійним розташуванням всіх кінцевих вузлів. Кінцевий вузол часто взагалі працює без таблиці маршрутизації, маючи тільки відомості про адресу маршрутизатора за замовчуванням. При наявності одного маршрутизатора в локальній мережі цей варіант - єдино можливий для всіх кінцевих вузлів. Але навіть при наявності декількох маршрутизаторів у локальній мережі, коли перед кінцевим вузлом стоїть проблема їхнього вибору, завдання маршруту за замовчуванням часто використовується в комп'ютерах для скорочення об'єму їхньої таблиці маршрутизації. Нижче поміщена таблиця маршрутизації іншого кінцевого вузла складеної мережі - вузла А (табл. 5.3). Компактний вид таблиці маршрутизації відбиває той факт, що всі пакети, що направляють із вузла А, або не виходять за межі мережі S12, або неодмінно проходять через порт 1 маршрутизатора 17. Цей маршрутизатор і визначений у таблиці маршрутизації як маршрутизатор за замовчуванням.
Ще однією відмінністю роботи маршрутизатора й кінцевого вузла при виборі маршруту є спосіб побудови таблиці маршрутизації. Якщо маршрутизатори звичайно автоматично створюють таблиці маршрутизації, обмінюючись службовою інформацією, то для кінцевих вузлів таблиці маршрутизації часто створюються вручну адміністраторами й зберігаються у вигляді постійних файлів на дисках. 14.4 Протоколи маршрутизації Завдання маршрутизації зважується на основі аналізу таблиць маршрутизації, розміщених у всіх маршрутизаторах і кінцевих вузлах мережі. Яким же образом відбувається формування цих таблиць? Якими засобами забезпечується адекватність інформації, що втримується в них, що постійно змінюється структурі мережі? Основна робота зі створення таблиць маршрутизації виконується автоматично, але й можливість вручну скорегувати або доповнити таблицю теж, як правило, передбачається. Для автоматичної побудови таблиць маршрутизації маршрутизатори обмінюються інформацією про топологію складеної мережі у відповідності зі спеціальним службовим протоколом. Протоколи цього типу називаються протоколами маршрутизації (або маршрутизируючими протоколами). Протоколи маршрутизації (наприклад, RIP, OSPF, NLSP) варто відрізняти від власне мережевих протоколів (наприклад, IP, IPX). І ті й інші виконують функції мережного рівня моделі OSI - беруть участь у доставці пакетів адресатові через різнорідну складену мережу. Але в той час як перші збирають і передають по мережі чисто службову інформацію, другі призначені для передачі користувальницьких даних, як це роблять протоколи канального рівня. Протоколи маршрутизації використовують мережеві протоколи як транспортний засіб. При обміні маршрутною інформацією пакети протоколу маршрутизації містяться в полі даних пакетів мережевого рівня або навіть транспортного рівня, тому з погляду вкладеності пакетів протоколи маршрутизації формально варто було б віднести до більш високого рівня, чим мережевий. У тому, що маршрутизатори для ухвалення рішення про просування пакета звертаються до адресних таблиць, можна побачити їх деяку подібність із мостами й комутаторами. Однак природа використовуваних ними адресних таблиць сильно різниться. Замість Мас-адрес у таблицях маршрутизації вказуються номери мереж, які з'єднуються в інтермережу. Іншою відмінністю таблиць маршрутизації від адресних таблиць мостів є спосіб їхнього створення. У той час як міст будує таблицю, пасивно спостерігаючи за минаючими через нього інформаційними кадрами, що посилаються кінцевими вузлами мережі один одному, маршрутизатори зі своєї ініціативи обмінюються спеціальними службовими пакетами, повідомляючи сусідам про відомі їм мережі в інтермережі, маршрутизаторах і про зв'язки цих мереж з маршрутизаторами. Звичайно враховується не тільки топологія зв'язків, але і їх пропускна здатність і стан. Це дозволяє маршрутизаторам швидше адаптуватися до змін конфігурації мережі, а також правильно передавати пакети в мережах з довільною топологією, що допускає наявність замкнутих контурів. За допомогою протоколів маршрутизації маршрутизатори складають карту зв'язків мережі того або іншого ступеня деталізації. На підставі цієї інформації для кожного номера мережі приймається рішення про те, якому наступному маршрутизатору слід передавати пакети, що направляються у цю мережу, щоб маршрут виявився раціональним. Результати цих рішень заносяться в таблицю маршрутизації. При зміні конфігурації мережі деякі записи в таблиці стають недійсними. У таких випадках пакети, відправлені по помилкових маршрутах, можуть зациклюватися й губитися. Від того, наскільки швидко протокол маршрутизації приводить у відповідність вміст таблиці реальному стану мережі, залежить якість роботи всієї мережі. Протоколи маршрутизації можуть бути побудовані на основі різних алгоритмів, що відрізняються способами побудови таблиць маршрутизації, способами вибору найкращого маршруту й інших особливостей своєї роботи. У всіх описані вище прикладах при виборі раціонального маршруту визначався тільки наступний (найближчий) маршрутизатор, а не вся послідовність маршрутизаторів від початкового до кінцевого вузла. Відповідно до цього підходу маршрутизація виконується за розподіленою схемою — кожен маршрутизатор відповідальний за вибір тільки одного кроку маршруту, а остаточний маршрут складається в результаті роботи всіх маршрутизаторів, через які проходить даний пакет. Такі алгоритми маршрутизації називаються однокроковими. Существует і прямо протилежний, багатокроковий підхід — маршрутизація від джерела (Source Routing). Відповідно до його вузол-джерело задає в пакеті, що відправляє в мережу, повний маршрут його проходження через всі проміжні маршрутизатори. При використанні багатокрокової маршрутизації немає необхідності будувати й аналізувати таблиці маршрутизації. Це прискорює проходження пакета по мережі, розвантажує маршрутизатори, але при цьому більше навантаження лягає на кінцеві вузли. Ця схема в обчислювальних мережах застосовується сьогодні набагато рідше, ніж схема розподіленої однокрокової маршрутизації. Однак у новій версії протоколу IP поряд із класичною однокроковою маршрутизацією буде дозволена й маршрутизація від джерела. Однокрокові алгоритми залежно від способу формування таблиць маршрутизації діляться на три класи:
В алгоритмах фіксованої маршрутизації всі записи в таблиці маршрутизації є статичними. Адміністратор мережі сам вирішує, на які маршрутизатори треба передавати пакети з тими або іншими адресами, і вручну (наприклад, за допомогою утиліти route ОС Unix або Windows NT) заносить відповідні записи в таблицю маршрутизації. Таблиця, як правило, створюється в процесі завантаження, надалі вона використається без змін доти, поки її вміст не буде відредаговано вручну. Такі виправлення можуть знадобитися, наприклад, якщо в мережі відмовляє який-небудь маршрутизатор і його функції покладають на інший маршрутизатор. Розрізняють одномаршрутні таблиці, у яких для кожного адресата заданий один шлях, і багатомаршрутні таблиці, що визначають кілька альтернативних шляхів для кожного адресата. У багатомаршрутних таблицях повинне бути задане правило вибору одного з маршрутів. Найчастіше один шлях є основним, а інші - резервними. Зрозуміло, що алгоритм фіксованої маршрутизації з його ручним способом формування таблиць маршрутизації прийнятний тільки в невеликих мережах із простою топологією. Однак цей алгоритм може бути ефективно використаний і для роботи на магістралях великих мереж, тому що сама магістраль може мати просту структуру з очевидними найкращими шляхами проходження пакетів у підмережі, приєднані до магістралі. В алгоритмах простої маршрутизації таблиця маршрутизації або зовсім не використається, або будується без участі протоколів маршрутизації. Виділяють три типи простої маршрутизації:
Найпоширенішими є алгоритми адаптивної (або динамічної) маршрутизації. Ці алгоритми забезпечують автоматичне відновлення таблиць маршрутизації після зміни конфігурації мережі. Протоколи, побудовані на основі адаптивних алгоритмів, дозволяють всім маршрутизаторам збирати інформацію про топологію зв'язків у мережі, оперативно відпрацьовуючи всі зміни конфігурації зв'язків. У таблицях маршрутизації при адаптивній маршрутизації звичайно є інформація про інтервал часу, протягом якого даний маршрут буде залишатися дійсним. Цей час називають часом життя маршруту (Time To Live, TTL). Адаптивні алгоритми звичайно мають розподілений характер, що виражається в тому, що в мережі відсутні які-небудь виділені маршрутизатори, які збирали б й узагальнювали топологічну інформацію: ця робота розподілена між всіма маршрутизаторами.
Адаптивні алгоритми маршрутизації повинні відповідати декільком важливим вимогам. По-перше, вони повинні забезпечувати, якщо не оптимальність, те хоча б раціональність маршруту. По-друге, алгоритми повинні бути досить простими, щоб при їхній реалізації не витрачалося занадто багато мережевих ресурсів, зокрема вони не повинні вимагати занадто великого обсягу обчислень або породжувати інтенсивний службовий трафік. І нарешті, алгоритми маршрутизації повинні мати властивість збіжності, тобто завжди приводити до однозначного результату за прийнятний час. Адаптивні протоколи обміну маршрутною інформацією, які застосовуються сьогодні в обчислювальних мережах, у свою чергу діляться на дві групи, кожна з яких пов'язана з одним з наступних типів алгоритмів:
В алгоритмах дистанційно-векторного типу кожен маршрутизатор періодично й широкомовно розсилає по мережі вектор, компонентами якого є відстані від даного маршрутизатора до всіх відомих йому мереж. Під відстанню звичайно розуміється число хопів. Можлива й інша метрика, що враховує не тільки число проміжних маршрутизаторів, але й час проходження пакетів по мережі між сусідніми маршрутизаторами. При одержанні вектора від сусіда маршрутизатор нарощує відстані до зазначених у векторі мереж на відстань до даного сусіда. Одержавши вектор від сусіднього маршрутизатора, кожний маршрутизатор додає до нього інформацію про відомі йому маршрутизатори інших мереж, про які він довідався безпосередньо (якщо вони підключені до його портів) або з аналогічних оголошень інших маршрутизаторів, а потім знову розсилає нове значення вектора по мережі. Зрештою, кожен маршрутизатор отримає інформацію про всіх наявних в інтермережі мережах і про відстань до них через сусідні маршрутизатори. Дистанційно-векторні алгоритми добре працюють тільки в невеликих мережах. У великих мережах вони засмічують лінії зв'язку інтенсивним широкомовним трафіком, до того ж зміни конфігурації можуть спрацьовувати по цьому алгоритмі не завжди коректно, тому що маршрутизатори не мають точного подання про топологію зв'язків у мережі, а мають у своєму розпорядженні тільки узагальнену інформацію - вектором дистанцій, до того ж отриману через посередників. Робота маршрутизатора відповідно до дистанційно-векторного протоколу нагадує роботу моста, тому що точної топологічної картини мережі такий маршрутизатор не має. Найпоширенішим протоколом, заснованим на дистанційно-векторному алгоритмі, є протокол RIP, що розповсюджений у двох версіях - RIP IP, що працює із протоколом IP, і RIP IPX, що працює із протоколом IPX. Алгоритми стану зв'язків забезпечують кожен маршрутизатор інформацією, достатньою для побудови точного графа зв'язків мережі. Всі маршрутизатори працюють на підставі однакових графів, що робить процес маршрутизації більше стійким до змін конфігурації. «Широкомовне» розсилання (тобто передача пакета всім безпосереднім сусідам маршрутизатора) використається тут тільки при змінах стану зв'язків, що відбувається в надійних мережах не так часто. Вершинами графа є як маршрутизатори, так і поєднувані ними мережі. Розповсюджувана по мережі інформація складається з опису зв'язків різних типів: маршрутизатор-маршрутизатор, маршрутизатор-мережа. Щоб зрозуміти, у якому стані перебувають лінії зв'язку, підключені до його портів, маршрутизатор періодично обмінюється короткими пакетами HELLO зі своїми найближчими сусідами. Цей службовий трафік також засмічує мережу, але не в такому ступені як, наприклад, RIP-пакети, тому що пакети HELLO мають набагато менший обсяг. Протоколами, заснованими на алгоритмі стану зв'язків, є протоколи IS-IS (Intermediate System to Intermediate System) стека OSI, OSPF (Open Shortest Path First) стека TCP/IP і недавно реалізований протокол NLSP стека Novell 14.5 Функції маршрутизатора Основна функція маршрутизатора - читання заголовків пакетів мережевих протоколів, прийнятих і буферизованих по кожному порту (наприклад, IPX, IP, AppleTalk або DECnet), і ухвалення рішення про подальший маршрут проходження пакета по його мережевій адресі, що включає, як правило, номер мережі й номер вузла. Функції маршрутизатора можуть бути розбиті на 3 групи відповідно до рівнів моделі OSI (мал. 5.3).
14.5.1 Рівень інтерфейсів На нижньому рівні маршрутизатор, як і будь-який пристрій, підключений до мережі, забезпечує фізичний інтерфейс із середовищем передачі, включаючи узгодження рівнів електричних сигналів, лінійне й логічне кодування, оснащення певним типом рознімання. У різних моделях маршрутизаторів часто передбачаються різні набори фізичних інтерфейсів, що представляють собою комбінацію портів для приєднання локальних і глобальних мереж. З кожним інтерфейсом для підключення локальної мережі нерозривно зв'язаний певний протокол канального рівня - наприклад, Ethernet, Token Ring, FDDI. Інтерфейси для приєднання до глобальних мереж найчастіше визначають тільки деякі стандарт фізичного рівня, над яким у маршрутизаторі можуть працювати різні протоколи канального рівня. Наприклад, глобальний порт може підтримувати інтерфейс V.35, над яким можуть працювати протоколи канального рівня: LAP-B (що використовуються у мережах Х.25), LAP-F (використовуються у мережах frame relay), LAP-D (використовуються у мережах ISDN). Різниця між інтерфейсами локальних і глобальних мереж пояснюється тим, що технології локальних мереж працюють за власними стандартами фізичного рівня, які не можуть, як правило, використовуватися в інших технологіях, тому інтерфейс для локальної мережі являє собою сполучення фізичного й канального рівнів і зветься по імені відповідної технології - наприклад, інтерфейс Ethernet. Інтерфейси маршрутизатора виконують повний набір функцій фізичного й канального рівнів по передачі кадру, включаючи одержання доступу до середовища (якщо це необхідно), формування бітових сигналів, прийом кадру, підрахунок його контрольної суми й передачу поля даних кадру верхньому рівню, у випадку якщо контрольна сума має коректне значення.
Перелік фізичних інтерфейсів, які підтримує та або інша модель маршрутизатора, є його найважливішою споживчою характеристикою. Маршрутизатор повинен підтримувати всі протоколи канального й фізичного рівнів, яка використовується в кожній з мереж, до яких він буде безпосередньо приєднаний. На мал. 5.3 показана функціональна модель маршрутизатора із чотирма портами, що реалізують наступні фізичні інтерфейси: 10Base-T й 10Base-2 для двох портів Ethernet, UTP для Token Ring й V.35, над яким можуть працювати протоколи LAP-B, LAP-D або LAP-F, забезпечуючи підключення до мереж Х.25, ISDN або frame relay. Кадри, які надходять на порти маршрутизатора, після обробки відповідними протоколами фізичного й канального рівнів, звільняються від заголовків канального рівня. Взяті з поля даних кадру пакети передаються модулю мережевого протоколу. 14.5.2 Рівень мережевого протоколу Мережевий протокол у свою чергу витягає з пакета заголовок мережевого рівня й аналізує вміст його полів. Насамперед перевіряється контрольна сума, і якщо пакет прийшов ушкодженим, то він відкидається. Виконується перевірка, чи не перевищило час, що провів пакет у мережі (час життя пакета), припустимої величини. Якщо перевищило - то пакет також відкидається. На цьому етапі вносяться коректування у вміст деяких полів, наприклад, збільшується час життя пакета, перераховується контрольна сума. На мережевому рівні виконується одна з найважливіших функцій маршрутизатора - фільтрація трафіка. Маршрутизатор, маючи більш високий інтелект, ніж мости й комутатори, дозволяє задавати й може відпрацьовувати значно більш складні правила фільтрації. Пакет мережевого рівня, що перебуває в поле даних кадру, для мостів/комутаторів представляється неструктурованою двійковою послідовністю. Маршрутизатори ж, програмне забезпечення яких містить модуль мережевого протоколу, здатні робити розбір й аналіз окремих полів пакета. Вони оснащуються розвиненими засобами користувацького інтерфейсу, які дозволяють адміністраторові без особливих зусиль задавати складні правила фільтрації. Вони, наприклад, можуть заборонити проходження в корпоративну мережу всіх пакетів, крім пакетів, що надходять з підмереж цього ж підприємства. Фільтрація в цьому випадку здійснюється по мережевих адресах, і всі пакети, адреси яких не входять у дозволений діапазон, відкидаються. Маршрутизатори, як правило, також можуть аналізувати структуру повідомлень транспортного рівня, тому фільтри можуть не пропускати в мережу повідомлення певних прикладних служб, наприклад служби telnet, аналізуючи поле типу протоколу в транспортному повідомленні. У випадку якщо інтенсивність надходження пакетів вище інтенсивності, з якої вони обробляються, пакети можуть утворити чергу. Програмне забезпечення маршрутизатора може реалізувати різні дисципліни обслуговування черг пакетів: у порядку надходження за принципом «перший прийшов - першим обслужений» (First Input First Output, FIFO), випадкове раннє виявлення, коли обслуговування йде за правилом FIFO, але при досягненні довжиною черги деякого граничного значення знову вступні пакети відкидаються (Random Early Detection, RED), а також різні варіанти пріоритетного обслуговування. До мережевого рівня належить основна функція маршрутизатора - визначення маршруту пакета. По номеру мережі, взятому із заголовка пакета, модуль мережевого протоколу знаходить у таблиці маршрутизації рядок, що містить мережеву адресу наступного маршрутизатора, і номер порту, на який потрібно передати даний пакет, щоб він рухався в правильному напрямку. Якщо в таблиці відсутній запис про мережі призначення пакета й до того ж немає запису про маршрутизатор за замовчуванням, то даний пакет відкидається. Перед тим як передати мережеву адресу наступного маршрутизатора на канальний рівень, необхідно перетворити його в локальну адресу тієї технології, що використовується в мережі, що містить наступний маршрутизатор. Для цього мережевий протокол звертається до протоколу дозволу адрес. Протоколи цього типу встановлюють відповідність між мережевими й локальними адресами або на підставі заздалегідь складених таблиць, або шляхом розсилання широкомовних запитів. Таблиця відповідності локальних адрес мережевим адресам будується окремо для кожного мережевого інтерфейсу. Протоколи дозволу адрес займають проміжне положення між мережевим і канальним рівнями. З мережевого рівня пакет, локальна адреса наступного маршрутизатора й номер порту маршрутизатора передаються вниз, канальному рівню. На підставі зазначеного номера порту здійснюється комутація з одним з інтерфейсів маршрутизатора, засобами якого виконується пакування пакета в кадр відповідного формату. У поле адреси призначення заголовка кадру міститься локальна адреса наступного маршрутизатора. Готовий кадр відправляється в мережу. 14.5.3 Рівень протоколів маршрутизації Мережеві протоколи активно використовують у своїй роботі таблицю маршрутизації, але ні її побудовою, ні підтримкою її вмісту не займаються. Ці функції виконують протоколи маршрутизації. На підставі цих протоколів маршрутизатори обмінюються інформацією про топологію мережі, а потім аналізують отримані відомості, визначаючи найкращі по тим або інших критеріях маршрути. Результати аналізу й становлять вміст таблиць маршрутизації. Крім перерахованих вище функцій, на маршрутизатори можуть бути покладені й іншого обов'язки, наприклад операції, пов'язані із фрагментацією. Більш детально робота маршрутизаторів буде описана при розгляді конкретних протоколів мережевого рівня.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|