logo
Лекції в

12.1 Мережеві адаптери. Означення та основні функції.

Карта мережевого інтерфейсу (Network Interface Card - NIC), яку також називають мережевим адаптером або мережевою картою - це пристрій, який здійснює фізичне під’єднання комп’ютера до мережі, тобто забезпечує фізичне сполучення між мережевим кабелем і внутрішньою шиною комп’ютера. У більшості випадків ця карта встановлюється безпосередньо в шину розширення комп’ютера. В окремих випадках карта може бути частиною окремого пристрою, до якого комп’ютер під’єднаний через паралельне або послідовне сполучення.

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

Мережеві карти можуть підтримувати широкий вибір передавальних середовищ і різні типи шин - ISA, MCA, EISA, PCI, PCMCIA. Чим більша кількість біт може передаватися через NIC, тим швидше NIC може передавати дані в мережевий кабель. В сучасних комп'ютерах застосовують переважно 32-бітові карти.

Функціонування мережевої карти охоплює вісім завдань; це основні кроки, які повинні бути здійснені для переміщення даних з пам’яті одного комп’ютера у пам’ять іншого:

  1. Підготовка до передавання. Зв’язок персональний комп’ютер - мережева карта.

  2. Буферизація.

  3. Формування рамки.

  4. Перетворення паралельний/послідовний код

  5. Кодування/декодування.

  6. Доступ до середовища (кабеля).

  7. Встановлення зв’язку.

  8. Передавання/приймання.

а) б)

Рис. 4.9. Карти мережевого інтерфейсу для персонального комп'ютера (а) та для портативного комп'ютера (б).

Вигляд мережевої карти для персонального комп'ютера покаазаний на рис. 4.9 а, а для портативного комп'ютера (notebook) - а рис. 4.9 б.

1. Підготовка до передавання. Зв’язок персональний комп’ютер - мережева карта. Існують три способи для переміщення даних з пам’яті комп’ютера до мережевої карти і навпаки:

  1. спільне використання пам’яті (Shared Memory);

  2. прямий доступ до пам’яті (Direct Memory Access - DMA);

  3. ввід/вивід з відображенням (I/O mapping).

1) Спільне використання пам’яті (Shared Memory). Частина пам’яті госта використовується спільно з процесором карти мережевого інтерфейсу. Це дуже швидкий метод передавання, оскільки не вимагається буферизація даних в карті, оскільки як карта, так і комп’ютер працюють з даними у тому самому місці.

2) Прямий доступ до пам’яті (Direct Memory Access - DMA). Всі комп’ютери з Intel-процесорами мають контролер DMA. Він забезпечує переміщення даних від пристрою вводу/виводу до головної пам’яті ПК, так що головний мікропроцесор ПК (CPU) не мусить цим займатися. При передаванні за методом DMA контролер або мікропроцесор мережевої карти висилає сигнал до CPU, сигналізуючи потребу прямого доступу до пам’яті. Тоді CPU передає управління шиною ПК до контролера DMA, який отримує дані від карти і поміщає їх безпосередньо у пам’ять комп’ютера. Коли всі дані знаходяться в пам’яті, контролер DMA повертає управління шиною до CPU і вказує, скільки даних поміщено у пам’ять.

3) Ввід/вивід з відображенням (I/O mapping). Існує два види вводу/виводу, в залежності від ПК і периферійного пристрою: ввід/вивід з відображенням пам’яті та програмований ввід/вивід. Ввід/вивід з відображенням пам’яті полягає в тому, що CPU госта виділяє частину своєї пам’яті для пристрою вводу/виводу, у даному випадку для мережевої карти. Ця пам’ять трактується так, як головна пам’ять, тому не потрібні жодні спеціальні команди, щоб перемістити дані з карти, оскільки це подібне до пересилання даних з однієї частини пам’яті до іншої. При програмованому вводі/виводі CPU має систему спеціальних команд для здійснення функцій вводу/виводу. Ці команди можуть бути внесені у чіп або отримані з програмним забезпеченням. Для пересилання даних здійснюється запит від мережевої карти до CPU, який переміщає їх з карти у головну пам’ять через шину.

Спільне використання пам’яті - це найшвидший метод для переміщення даних між мережевим адаптером і комп’ютером, але рідко застосовується з міркувань коштів та виконання. Перевага DMA полягає у розвантаженні CPU від завдання взаємодії з мережевою картою, так що він може виконувати інші функції під час переміщення даних; недоліком є те, що CPU не може мати доступу до пам’яті, коли працює контролер DMA. Ввід/вивід з відображенням пам’яті не звільняє CPU від роботи і займає пам’ять, але може бути швидшим від DMA. Різні типи мережевих карт використовують різні типи комунікації між картою і ПК; експерти розходяться в поглядах, який метод кращий.

2. Буферизація. Більшість мережевих карт мають буфер - пам’ять для зберігання даних перед їх переміщенням з карти до кабеля або до комп’ютера. Завдання буфера полягає в маскуванні затримок при передаванні. Буфер необхідний тому, що окремі частини даних передаються повільніше від інших. Дані поступають у карту, як правило, швидше, вони можуть бути перетворені з послідовної у паралельну форми, розпаковані, прочитані і вислані; це справедливе для обидвох напрямків переміщення даних. Окремі карти не мають буфера, тоді замість нього використовується пам’ять ПК. Це коштує менше, але працює повільніше.

3. Формування рамки. У загальному випадку рамка складається з трьох частин: заголовка, даних та кінцівки. Формати рамок для найпоширеніших мережевих стандартів були розглянені вище.

4. Перетворення паралельний/послідовний код. Від комп’ютера дані поступають в паралельній формі, а в кабелі вони мусять передаватися послідовно по бітах. При отриманні даних необхідно здійснити зворотнє перетворення. Звичайно ці перетворення забезпечує контролер мережевої карти.

5. Кодування/декодування. Перед передаванням біти рамки повинні бути закодовані, тобто перетворені у послідовність імпульсів, які переносять інформацію. Більшість мережевих карт застосовують манчестерський код і використовують електричні імпульси.

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

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

8. Передавання/приймання. Імпульси, які переносять дані, з трансівера поступають у передавальне середовище (кабель) і переміщаються до наступної карти, повторювача, підсилювача або моста. На другому кінці трансівер очікує прийнття сигналів і розпочинає зворотній процес - від модульованого сигналу до даних, які сприйнятні для комп’ютера.

При виборі мережевої карти, крім її характеристик, необхідно враховувати застосовані метод доступу і топологію мережі.