Протокол IP як засіб організації міжмережевої взаємодії

Вправи для СРС

У середовищі VirtualBox запустите віртуальну машину зі встановленим Debian GNU/Linux з однією мережевою картою, заздалегідь встановивши тип мережевого підключення "Віртуальна мережа вузла" і виконаєте наступні завдання:

1. Визначити MAC -адрес мережевого адаптера віртуальної машини.

2. Відключите мережевий інтерфейс.

3. Включите мережевий інтерфейс.

4. Встановите інший MAC -адрес для мережевого адаптера.

 

 

 

Мережевий рівень моделі мережевої взаємодії забезпечує доставку пакетів для вузлів складної мережі [1] (сукупності підмереж, побудованих на основі різних технологій рівня інтерфейсів і використовуючих різні типи магістральних каналів для взаємодії).

Основою мережевого рівня є інтернет-протокол IP (Internet Protocol), що має наступні ключові особливості, :

1. IP впроваджує дані вищерозміщених рівнів у відповідні одиниці передачі інформації - мережеві пакети;

2. IP є протоколом без встановлення з'єднання, т. б. не вимагає фізичного або логічного каналу і не гарантує доставку пакетів;

3. IP є протоколом, що маршрутизується. Організація протоколу IP забезпечує схему доставки пакетів на основіIP -адресації і угрупування мережевих вузлів в підмережі.

Кожен IP - пакет окрім даних вищерозміщеного рівня містить заголовок, в якому вказані IP -адреса відправника і одержувача, а також описаний ряд параметрів : тип служби, ідентифікаційну інформацію, номер протоколу вищерозміщеного рівня, параметри, що використовуються при фрагментації, контрольну суму і так далі (детальніші відомості приведені в [7] [23]). Довжина IP -заголовка складає 20 байт, максимальна довжина пакету ( MTU ) - 64Кбайт (реальна довжина пакету обмежена можливостями передавального середовища).

IP -адрес ( мережева адреса ) протоколу IP версії 4 (IPv4) є 4-м байтовий номер, який прийнято записувати в десятковій формі, розділяючи байти точкою (наприклад: 192.168.4.3). Схема адресації складної мережі(в т.ч. мережі Інтернет) являється незалежній від способів адресації вузлів в окремих мережах [7]. Мережева адреса об'єднує в собі інформацію про адресу мережі і адресу вузла в цій мережі.

Для вирішення завдання визначення мережевої частини IP -адреса (кількість біт в IP -адресі, що відведене для запису адреси мережі, зазвичай розташовується на початку) найбільш поширений механізм мережевих масок (двійковий запис маски містить одиниці в тих розрядах, які повинні в IP -адресе інтерпретуватися як номер мережі).Маска може записуватися у форматі, подібному IP -адресу, а також шляхом вказівки кількості біт, відведених для адреси мережі (наприклад, 255.255.255.0 те ж саме, що і /24 ). Результатом операції логічного множення IP -адреса і маски буде адреса мережі, якій належить цей вузол.

Приклади інтерпретації IP -адрес залежно від маски мережі :

192.168.92.0/24 - мережа, що включає вузли від 1 до 254 ( 0 - адреса мережі; 255 - зарезервований для широкомовних розсилок, кожен останній вузол в мережі).

192.168.92.5 255.255.255.0 - вузол в мережі 192.168.92.0.

192.168.92.130/25 - вузол в мережі 192.168.92.128, яка включає вузли від 129 до 254.

Маніпулюючи масками, можна об'єднувати і розділяти діапазон IP -адрес. Наприклад, мережа 192.168.9.0/24 може бути розбита на дві підмережі шляхом збільшення мережевої частини адреси на 1 біт: 192.168.9.0/25 (вузли 1-126 ) і 192.168.9.128 (вузли 129-254 ).

Управління адресацією мережі Інтернет здійснюється за ієрархічною схемою (регіональні центри видачі IP -адресов - національні центри - Інтернет-провайдери - клієнти -субклиенты і т. д.). Координатором виступає некомерційна організація ICANN (Internet Corporation for Assigned Names and Numbers). Для організації локальних (автономних) мереж (що не мають безпосереднього доступу до мережі Інтернет) використовуються зарезервовані діапазони IP -адрес: 10.0.0.0/8, 172.16.0.0-172.31.0.0, 192.168.0.0/16.

Управління IP -адресами в Linux. Для того, щоб мережевий протокол міг використовувати фізичний інтерфейс, необхідно додати відповідну адресу (настроїти логічний інтерфейс). У разі стека TCP/IP мінімальними налаштуваннями протоколу IP, що дозволяють вузлу взаємодіяти з іншими вузлами підмережі у рамках локального сегменту (широкомовного домена) являються IP -адрес і маска підмережі.

Для конфігурації протоколу IP на мережевому інтерфейсі за допомогою командного рядка можна використовувати команду address (addr) утиліти ip пакету iproute2 або традиційну команду ifconfig.

Для перегляду списку IP -адрес використовується команда ip addr show [24] [25] [26]. Виведення команди містить список мережевих інтерфейсів, їх параметрів, а також список IP -адресов ( див. приклад) на кожному інтерфейсі. Можна вивести інформацію тільки по цьому інтерфейсу, вказавши його ім'я (наприклад, ip addr show eth0 ).

Рисунок 10.9 – Відображення списку IP -адресов з використанням команди ip addr show

 

Кожен запис про мережеву адресу може містити інформацію про тип адреси ( inet- адреса IPv4, inet6 - IPv6 і т. д.), безпосередньо адресу, маску підмережі (кількість мережевих біт), широкомовну адресу цієї мережі, зону видимості ( scope global - дійсний скрізь, scope link - тільки для цього пристрою, scope host - для цього вузла) і ім'я логічного інтерфейсу.

Відомості подібного роду також надає команда ifconfig, додатково відображуючи статистику роботи мережевого інтерфейсу (приклад 4.2).

Рисунок 10.10 – Виведення інформації про мережевий інтерфейс eth0 за допомогою ifconfig

Для видалення IP -адреси використовується команда ip addr del. При цьому необхідно вказати IP, що видаляється, -адресу ( 192.168.11.11 ), маску підмережі (/24) і ім'я інтерфейсу ( dev eth0 ). Зміна параметрів мережі вимагає повноважень суперкористувача:

Рисунок 10.11 – Видалення IP -адреса з інтерфейсу eth0 за допомогою ip addr del

 

Для додавання IP -адреси використовується команда ip addr add (рисунок 10.12). При цьому необхідно вказати IP, що додається, -адрес, маску підмережі, ім'я інтерфейсу, а також широкомовну адресу (в даному випадку автоматично розрахувати широкомовну адресу на основі маски: brd +, можна також вказати адресу вручну: brd 192.168.11.255 ):

# ip address add 192.168.11.11/24 brd + dev eth0

 

Додати IP -адрес можна також за допомогою команди ifconfig:

# ifconfig eth0 inet up 192.168.11.11 netmask 255.255.255.0

В деяких випадках необхідно використовувати декілька IP -адресов на одному мережевому інтерфейсі [25]. Нехай на мережевому інтерфейсі eth1 встановлений IP -адреса 192.168.11.10/24, необхідно, щоб система приймала на цьому інтерфейсі з'єднання, що входять, на адресу 192.168.11.11. Додамо на інтерфейс ще одну адресу:

При додаванні адреси з тієї ж мережі, що і існуюча, нова адреса стає додатковою до існуючого ( secondary ), і якщо видалити основну адресу, то буде видалений і додатковий.

Примітка: Команда ifconfig безпосередньо не підтримує декілька IP -адрес на одному мережевому інтерфейсі (тільки у вигляді псевдонімів). Тому secondary - адреса у виведенні ifconfig відображуватися не буде:

Примітка: Для видалення усіх мережевих адрес на інтерфейсі можна використовувати команду ip addr flush :

Для реалізації ifconfig - сумісного способу використання декількох IP -адресов на одному мережевому інтерфейсі слід в команді ip addr add використовувати параметр label

Управління ARP –таблицей. У сегменті мережі Ethernet для взаємодії пристроїв один з одним по протоколу IP необхідно, щоб у передавального пристрою були логічний (IP -) і фізичний (MAC -) адреси одержувача. Для вирішення завдання визначення MAC -адреса вузла призначення по його IP -адресу в локальному сегменті використовується протокол ARP (Address Resolution Protocol)[7] .Принцип дії протоколу ARP полягає в тому, що відправник мережевого пакету посилає широкомовний ARP -запрос (на широкомовний MAC -адрес FF : FF: FF: FF: FF: FF) з вказівкою шуканого IP -адреса. ARP -запрос отримують усі пристрої в сегменті, але тільки те, чий IP -адрес є шуканим, відправляє ARP -ответ (на MAC -адрес відправника) з вказівкою свого MAC -адреса.

Кожен вузол локальної мережі підтримує ARP -таблицу (кеш), яка встановлює відповідність між IP і MAC -адресами вузлів підмереж, в які входить цей вузол. У ARP -таблице є два види записів :

· Динамічні записи, які періодично оновлюються з використанням протоколу ARP (якщо запис "застаріває", то він видаляється).

· Статичні записи, які створюються користувачем за допомогою відповідних команд і існують до тих пір, поки вузол не буде вимкнений.

Використовуючи команду ip neigh або традиційну команду arp можна маніпулювати вмістом ARP -таблицы.

Приклад . Перегляд ARP -таблицы.

Якщо вузол 192.168.11.10 через інтерфейс eth1 здійснить мережеву взаємодію з вузлом 192.168.11.12 (наприклад, за допомогою утиліти ping ), то в його ARP -таблице з'явиться новий запис, який можна проглянути командою ip neigh show (параметр dev вказує фільтрувати записи що відносяться до інтерфейсу eth1 ), :

 

Для додавання статичного запису в ARP -таблицу можна використовувати команду ip neigh add c вказівкою IP -адреса, MAC -адреси (параметр lladdr ) і мережевого інтерфейсу (параметр dev ) :

Для видалення запису з ARP -таблицы можна використовувати команду ip neigh del :

Використання команди arp для маніпулювання ARP -таблицей (ключ - s - додати статичний запис, - i - фільтр інтерфейсу, - d - видалити запис)