logo
Лекції_networks

Рівень мережного протоколу

Мережний протокол у свою чергу витягає з пакета заголовок мережного рівня й аналізує вміст його полів. Насамперед перевіряється контрольна сума, і якщо пакет прийшов ушкодженим, то він відкидається. Виконується перевірка, чи не перевищив час, що провів пакет у мережі (час життя пакета), припустимої величини. Якщо перевищив — то пакет також відкидається. На цьому етапі коректується вміст деяких полів, наприклад, нарощується час життя пакета, перераховується контрольна сума.

На мережному рівні виконується одна з найважливіших функцій маршрутизатора — фільтрація трафіка. Маршрутизатор, маючи більш високий інтелект, ніж мости й комутатори, дозволяє задавати й може відпрацьовувати значно більше складні правила фільтрації. Пакет мережного рівня, що перебуває в полі даних кадру, для мостів/комутаторів представляється неструктурованою двійковою послідовністю. Маршрутизатори ж, програмне забезпечення яких містить модуль мережного протоколу, здатні робити розбір і аналіз окремих полів пакета. Вони оснащуються розвиненими засобами користувальницького інтерфейсу, які дозволяють адміністраторові без особливих зусиль задавати складні правила фільтрації. Вони, наприклад, можуть заборонити проходження в корпоративну мережу всіх пакетів, крім пакетів, що надходять із підмереж цього ж підприємства. Фільтрація в цьому випадку виконується по мережних адресах, і всі пакети, адреси яких не входять у дозволений діапазон, відкидаються. Маршрутизатори, як правило, також можуть аналізувати структуру повідомлень транспортного рівня, тому фільтри можуть не пропускати в мережу повідомлення певних прикладних служб, наприклад служби telnet, аналізуючи поле типу протоколу в транспортному повідомленні.

У випадку якщо інтенсивність надходження пакетів вище інтенсивності, з якої вони обробляються, пакети можуть утворити чергу. Програмне забезпечення маршрутизатора може реалізувати різні дисципліни обслуговування черг пакетів: у порядку надходження за принципом "перший прийшов — першим обслужений" (Fіrst Іnput Fіrst Output, FІFO), випадкове раннє виявлення, коли обслуговування йде за правилом FІFO, але при досягненні довжиною черги деякого граничного значення нові вхідні пакети відкидаються (Random Early Detectіon, RED), а також різні варіанти пріоритетного обслуговування.

До мережного рівня відноситься основна функція маршрутизатора — визначення маршруту пакета. По номеру мережі, витягнутому із заголовка пакета, модуль мережного протоколу знаходить у таблиці маршрутизації рядок, що містить мережну адресу наступного маршрутизатора, і номер порту, на який потрібно передати даний пакет, щоб він рухався в правильному напрямку. Якщо в таблиці відсутній запис про мережі призначення пакета й до того ж немає запису про маршрутизатор за замовчуванням, то даний пакет відкидається.

Перед тим як передати мережну адреса наступного маршрутизатора на канальний рівень, необхідно перетворити його в локальну адресу тієї технології, що використовується в мережі, що містить наступний маршрутизатор. Для цього мережний протокол звертається до протоколу дозволу адрес. Протоколи цього типу встановлюють відповідність між мережними й локальними адресами або на підставі заздалегідь складених таблиць, або шляхом розсилання широкомовних запитів. Таблиця відповідності локальних адрес мережним адресам будується окремо для кожного мережного інтерфейсу. Протоколи дозволу адрес займають проміжне положення між мережним і канальним рівнями.

З мережного рівня пакет, локальна адреса наступного маршрутизатора й номер порту маршрутизатора передаються вниз, канальному рівню. На підставі зазначеного номера порту здійснюється комутація з одним з інтерфейсів маршрутизатора, засобами якого виконується впакування пакета в кадр відповідного формату. У полі адреси призначення заголовка кадру міститься локальна адреса наступного маршрутизатора. Готовий кадр відправляється в мережу.