Мережевий рівень
Мережевий рівень ( Network layer ) служить для утворення єдиної транспортної системи, що об'єднує декілька мереж , причому ці мережі можуть використати абсолютно різні принципи передачі повідомлень між кінцевими вузлами і володіти довільною структурою зв'язків. Функції мережевого рівня досить різноманітні. Почнемо їх розгляд на прикладі об'єднання локальних мереж .
Протоколи канального рівня локальних мереж забезпечують доставку даних між будь-якими вузлами тільки в мережі з відповідною типовою топологією , наприклад топологією ієрархічної зірки. Це дуже жорстке обмеження , яке не дозволяє будувати мережі з розвиненою структурою , наприклад , мережі , що об'єднують декілька мереж підприємства в єдину мережу , або високонадійні мережі , в яких існують надмірні зв'язки між вузлами . Можна було б ускладнювати протоколи канального рівня для підтримки петлевидних надлишкових зв'язків , але принцип поділу обов'язків між рівнями приводить до іншого розв'язку . Щоб з одного боку зберегти простоту процедур передачі даних для типових топологій , а з іншого допустити використання довільних топологій , вводиться додатковий мережевий рівень.
На мережевому рівні сам термін мережа наділяють специфічним значенням. У даному випадку під мережею розуміється сукупність комп'ютерів , з'єднаних між собою відповідно до однієї з стандартних типових топологій і використовують для передачі даних один з протоколів канального рівня , визначений для цієї топології.
Усередині мережі доставка даних забезпечується відповідним канальним рівнем , а ось доставкою даних між мережами займається мережевий рівень , який і підтримує можливість правильного вибору маршруту передачі повідомлення навіть у тому випадку , коли структура зв'язків між складовими мережами має характер , відмінний від прийнятого в протоколах канального рівня. Мережі з'єднуються між собою спеціальними пристроями , званими маршрутизаторами. Маршрутизатор - це пристрій, який збирає інформацію про топологію міжмережевих з'єднань і на її підставі пересилає пакети мережевого рівня в мережу призначення. Щоб передати повідомлення від відправника, що знаходиться в одній мережі , одержувачу, що знаходиться в іншій мережі , треба здійснити деяку кількість транзитних передач між мережами , іліхопів (від hop - стрибок) , кожний раз вибираючи відповідний маршрут . Таким чином , маршрут являє собою послідовність маршрутизаторів , через які проходить пакет.
На рис. 1.27 показані чотири мережі , пов'язані трьома маршрутизаторами. Між вузлами А і В даній мережі пролягають два маршрути : перший через маршрутизатори 1 і 3 , а другий через маршрутизатори 1 , 2 і 3.
Рис . 1.27 . Приклад складової мережі
Проблема вибору найкращого шляху називається маршрутизацією , і її розв'язання є однією з головних задач мережевого рівня. Ця проблема ускладнюється тим , що найкоротший шлях не завжди найкращий. Часто критерієм при виборі маршруту є час передачі даних по цьому маршруту ; воно залежить від пропускної спроможності каналів зв'язку і інтенсивності трафіку , яка може змінюватися з плином часу. Деякі алгоритми маршрутизації намагаються пристосуватися до зміни навантаження , в той час як інші приймають рішення на основі середніх показників за тривалий час. Вибір маршруту може здійснюватися і за іншими критеріями , наприклад надійності передачі .
У загальному випадку функції мережевого рівня ширше , ніж функції передачі повідомлень по зв'язках з нестандартною структурою , які ми зараз розглянули на прикладі об'єднання декількох локальних мереж . Мережевий рівень вирішує також задачі узгодження різних технологій , спрощення адресації у великих мережах і створення надійних і гнучких бар'єрів на шляху небажаного трафіка між мережами.
Повідомлення мережевого рівня прийнято називати пакетами ( packets ) . При організації доставки пакетів на мережному рівні використовується поняття «номер мережі». У цьому випадку адреса одержувача складається з старшої частини - номера мережі і молодшої - номера вузла в цій мережі . Всі вузли однієї мережі повинні мати одну і ту ж старшу частину адреси , тому терміну "мережа" на мережевому рівні можна дати і інше, більш формальне визначення : мережа - це сукупність вузлів , мережева адреса яких містить один і той же номер мережі .
На мережевому рівні визначаються два види протоколів. Перший вид - мережеві протоколи ( routed protocols ) - реалізують просування пакетів через мережу. Саме ці протоколи звичайно мають на увазі , коли говорять про протоколи мережевого рівня. Однак часто до мережевого рівня відносять і інший вид протоколів , званих протоколами обміну маршрутною інформацією або просто протоколами маршрутизації ( routing protocols ) . За допомогою цих протоколів маршрутизатори збирають інформацію про топологію міжмережевих з'єднань . Протоколи мережевого рівня реалізовуються програмними модулями операційної системи , а також програмними і апаратними засобами маршрутизаторів.
На мережевому рівні працюють протоколи ще одного типу , які відповідають за відображення адреси вузла , використовуваного на мережному рівні , на локальну адресу мережі . Такі протоколи часто називають протоколами дозволу адрес - Address Resolution Protocol , ARP. Іноді їх відносять не до мережевого рівня , а до канального , хоча тонкощі класифікації не змінюють їх суті . Прикладами протоколів мережевого рівня є протокол міжмережевої взаємодії IP стека TCP / IP і протокол міжмережевого обміну пакетами IPX стека Novell .