Рівень мережного інтерфейсу
Рівень мережного інтерфейсу складають протоколи, які забезпечують передачу даних між вузлами зв'язку, фізично напряму сполученими один з одним, або, інакше кажучи, підключеними до одного сегменту мережі, і відповідні фізичні засоби передачі даних. До цього рівня відносяться протоколи Ethernet, Token Ring, SLIP, PPP і т.д. і такі фізичні засоби як вита пара, коаксіальний кабель, оптоволоконний кабель і т.д. Формально протоколи рівня мережного інтерфейсу не є частиною сімейства TCP/IP, але існуючі стандарти визначають, яким чином повинна здійснюватися передача даних сімейства TCP/IP з використанням цих протоколів. На рівні мережного інтерфейсу в операційній системі UNIX звичайно функціонують драйвери різної мережної платні. Передача інформації на рівні мережного інтерфейсу проводиться на підставі фізичних адрес, відповідних точкам входу мережі у вузли зв'язку (наприклад, фізичних адрес мережних карт). Кожна точка входу має свою унікальну адресу – MAC-адреса (Media Access Control), фізично зашита в неї на етапі виготовлення. Так, наприклад, кожна мережна платня Ethernet має власний унікальний 48-бітовий номер. Рівень Internet. Протоколи IP, ICMP, ARP, RARP. Internet–адреси З численних протоколів рівня Internetми перерахуємо тільки ті, які надалі згадуватимуться в нашому курсі:
Два останні протоколи використовуються не для всіх мереж; тільки деякі мережі вимагають їх вживання. Рівень Internet забезпечує доставку інформації від мережного вузла відправника до мережного вузла одержувача без встановлення віртуального з'єднання за допомогою датаграмм і не є надійним. Центральним протоколом рівня є протокол IP. Вся інформація, що поступає до нього від інших протоколів, оформляється у вигляді IP-пакетів даних (IP datagrams). Кожний IP-пакет містить адреси комп'ютера відправника і комп'ютера одержувача, тому він може передаватися по мережі незалежно від інших пакетів і, можливо, по своєму власному маршруту. Будь-який асоціативний зв'язок між пакетами, що припускає знання про їх зміст, повинен здійснюватися на більш високому рівні сімейства протоколів. IP-рівень сімейства TCP/IP не є рівнем, що забезпечує надійний зв'язок, оскільки він не гарантує ні доставку відправленого пакету інформації, ні те, що пакет буде доставлений без помилок. IP обчислює і перевіряє контрольну суму, яка покриває тільки його власний 20-байтовий заголовок для пакету інформації (включаючий, наприклад, адреси відправника і одержувача). Якщо IP-заголовок пакету при передачі виявляється зіпсованим, то весь пакет просто відкидається. Відповідальність за повторну передачу пакету тим самим покладається на вищестоящі рівні. IP протокол, при необхідності, здійснює фрагментацію і дефрагментацію даних, передаваних по мережі. Якщо розмір IP-пакету дуже великий для подальшої передачі по мережі, то одержаний пакет розбивається на декілька фрагментів, і кожний фрагмент оформляється у вигляді нового IP-пакету з тими ж адресами відправника і одержувача. Фрагменти збираються в єдине ціле тільки в кінцевій точці своєї подорожі. Якщо при дефрагментації пакету виявляється, що хоча б один з фрагментів був втрачений або відкинутий, то відкидається і весь пакет цілком. Рівень Internetвідповідає за маршрутизацію пакетів. Для обміну інформацією між вузлами мережі у разі виникнення проблем з маршрутизацією пакетів використовується протокол ICMP. За допомогою повідомлень цього ж протоколу рівень Internet уміє частково управляти швидкістю передачі даних – він може попросити відправника зменшити швидкість передачі. Оскільки на рівні Internet інформація передається від комп'ютера-відправника до комп'ютера-одержувача, йому потрібні спеціальні IP-адреси комп'ютерів (а точніше, їх точок під'єднування до мережі – мережних інтерфейсів) – видалені частини повних адрес процесів (див. лекцію 14, розділ "Видалена адресація і дозвіл адрес"). Ми далі працюватимемо з IP версії 4 (IPv4), яка припускає наявність у кожного мережного інтерфейсу унікальної 32-бітової адреси. Коли розроблялося сімейство протоколів TCP/IP, здавалося, що 32 бітів адреси буде достатньо для всіх потреб мережі, проте не пройшло і 30 років, як з'ясувалося, що цього мало. Тому була розроблена версія 6 для IP (IPv6), припускаюча наявність 128-бітових адрес. З погляду мережного програміста IPv6 мало відрізняється від IPv4, але має складніший інтерфейс передачі параметрів, тому для практичних занять був вибраний IPv4. Всі IP-адреси версії 4 прийнято ділити на 5 класів. Приналежність адреси до деякого класу визначають по кількості послідовних 1 в старших бітах адреси (див. рис. 15–16.3). Адреси класів А, B і З використовують власне для адресації мережних інтерфейсів. Адреси класу D застосовуються для групової розсилки інформації (multicast addresses) і далі нас цікавити не будуть. Клас E (про який в багатьох книгах по мережах забувають) був зарезервований для майбутніх розширень. Кожна з IP-адрес класів A–C логічно ділиться на дві частини: ідентифікатор або номер мережі і ідентифікатор або номер вузла в цій мережі. Ідентифікатори мереж в даний час привласнюються локальним мережам спеціальною міжнародною організацією – корпорацією Internet по привласненню імен і номерів (ICANN). Привласнення адреси конкретному вузлу мережі, що одержала ідентифікатор, є турботою її адміністратора. Клас А призначений для невеликої кількості мереж, що містять дуже багато комп'ютерів, клас З – навпроти, для великої кількості мереж з малим числом комп'ютерів. Клас B займає середнє положення. Треба відзначити, що всі ідентифікатори мереж класів А і B до справжнього моменту вже задіяні. Мал. 15-16.3. Класи IP-адрес Будь-яка організація, якій був виділений ідентифікатор мережі з будь-якого класу, може довільним чином розділити адресний простір ідентифікаторів вузлів, що є у неї, для створення підмереж. Припустимо, що вам виділена адреса мережі класу З, в якому під номер вузла мережі відведено 8 біт. Якщо потрібно привласнити IP-адреси 100 комп'ютерам, які організовані в 10 Ethernet-сегментів по 10 комп'ютерів в кожному, можна поступити по-різному. Можна привласнити номери від 1 до 100 комп'ютерам, ігноруючи їх приналежність до конкретного сегменту – скориставшися стандартною формою IP-адреси. Або ж можна виділити дещо молодших біт з адресного простору ідентифікаторів вузлів для ідентифікації сегменту мережі, наприклад 4 біти, а для адресації вузлів усередині сегменту використовувати 4 біти, що залишилися. Останній спосіб одержав назву адресації з використанням підмереж (див. мал. 15–16.4). Запам'ятовувати чотирьохбайтові числа для людини достатньо складно, тому прийнято записувати IP-адреси в символічній формі, переводячи значення кожного байта в десятковий вигляд по окремості і розділяючи одержані десяткові числа в записі крапками, починаючи із старшим байтом: 192.168.253.10.
Мал. 15-16.4. Адресація з підмережами Припустимо, що ми маємо справу з сегментом мережі, використовуючим Ethernet на рівні мережного інтерфейсу і що складається з комп'ютерів, де застосовуються протоколи TCP/IP на більш високих рівнях. Тоді у нас в мережі є два види адрес: 48-бітові фізичні адреси Ethernet (MAC-адреси) і 32-бітові IP-адреси. Для нормальної передачі інформації необхідно, щоб Internet рівень сімейства протоколів, звертаючись до рівня мережного інтерфейсу, знав, яка фізична адреса відповідає даній IP-адресі і навпаки, тобто умів "дозволяти адреси". В черговий раз ми стикаємося з проблемою дозволу адрес, яка в різних постановках розбиралася в матеріалах лекцій. При дозволі адрес може виникнути дві складнощі:
Перша задача розв'язується з використанням протоколу ARP, друга – за допомогою протоколу RARP. Протокол ARPдозволяє комп'ютеру розіслати спеціальне повідомлення по всьому сегменту мережі, яке вимагає від комп'ютера, що має IP-адресу, що міститься в повідомленні, відгукнутися і вказати свою фізичну адресу. Це повідомлення поступає всім комп'ютерам в сегменті мережі, але відгукується на нього тільки той, кого питали. Після отримання відповіді запрошуючий комп'ютер може встановити необхідна відповідність між IP-адресою і MAC-адресою. Для вирішення другої проблеми один або декілька комп'ютерів в сегменті мережі повинні виконувати функції RARP-серверу і містити набір фізичних адрес для робочих станцій і відповідних їм IP-адрес. Коли робоча станція з операційною системою, що згенерувала без призначення IP-адреси, починає свою роботу, вона одержує MAC-адресу від мережного устаткування і розсилає відповідний RARP-запит, що містить цю адресу, всім комп'ютерам сегменту мережі. Тільки RARP-сервер, що містить інформацію про відповідність вказаної фізичної адреси і виділеної IP-адреси, відгукується на даний запит і відправляє відповідь, що містить IP-адресу.
|