Комп'ютерна мережа — це складна система, що складається з апаратного забезпечення (кабелі, маршрутизатори, мережеві карти) та програмного забезпечення. Саме програмна частина відповідає за те, щоб електричні імпульси перетворилися на зрозумілу інформацію: веб-сторінки, файли, відео. Ця тема розкриває механізми, які керують передачею даних від "заліза" до користувача.
Мережевий драйвер — це низькорівнева програма, яка забезпечує інтерфейс між операційною системою (ОС) та мережевим адаптером (NIC — Network Interface Card).
Операційна система не знає особливостей кожного пристрою, випущеного різними виробниками. Драйвер виступає «перекладачем»: він отримує стандартизовані команди від ОС і перетворює їх у специфічні сигнали, зрозумілі конкретній мікросхемі мережевої карти.
Ініціалізація обладнання: Перевірка працездатності карти при увімкненні ПК.
Керування передачею: Отримання пакету даних від ОС, додавання заголовка канального рівня (наприклад, MAC-адреси) і відправка в кабель/ефір.
Обробка переривань (Interrupts): Коли на карту приходять дані з мережі, вона посилає сигнал процесору. Драйвер обробляє цей сигнал, забирає дані з буфера карти та передає їх ОС.
Щоб розробникам ОС не доводилося писати код під кожну карту, існують специфікації:
NDIS (Network Driver Interface Specification): Розроблений Microsoft та Intel. Дозволяє використовувати кілька протоколів на одній мережевій карті одночасно. Є стандартом для Windows.
ODI (Open Data-Link Interface): Розроблений Novell та Apple. Історичний стандарт, який дозволяв схожу функціональність у мережах NetWare.
Протокол — це сукупність правил, що регламентують формат повідомлень і процедури обміну даними між вузлами мережі. Якщо драйвер пов'язує ПК з його власною картою, то протокол пов'язує два різні комп'ютери.
Стек протоколів — це набір різнорівневих протоколів, що працюють спільно. Робота стеку базується на двох принципах:
Ієрархія: Кожен рівень виконує свою вузьку задачу і обслуговує рівень, що знаходиться вище.
Інкапсуляція: При передачі даних зверху вниз, кожен протокол додає до даних свій заголовок (службову інформацію). Це схоже на те, як лист кладуть у конверт, конверт — у мішок, мішок — у контейнер.
На практиці еталоном є модель TCP/IP (Transmission Control Protocol / Internet Protocol).
Модель TCP/IP складається з 4-х рівнів. Розглянемо їх знизу вгору.
Відповідає за фізичну адресацію та передачу кадрів (frames) у середовищі.
Ethernet (IEEE 802.3): Найпоширеніший стандарт дротових мереж. Визначає типи кабелів, швидкості (100 Мбіт/с, 1 Гбіт/с) та формат кадрів. Використовує MAC-адреси (унікальний фізичний ідентифікатор пристрою, наприклад, 00:1A:2B:3C:4D:5E).
Wi-Fi (IEEE 802.11): Набір протоколів для бездротової передачі даних.
Відповідає за логічну адресацію та маршрутизацію (пошук шляху між мережами).
IP (Internet Protocol): Основний протокол Інтернету.
IPv4: 32-бітна адреса (наприклад, 192.168.1.5).
IPv6: 128-бітна адреса, впроваджується через вичерпання адрес IPv4.
ARP (Address Resolution Protocol): Визначає MAC-адресу пристрою, знаючи його IP-адресу (працює всередині локальної мережі).
ICMP (Internet Control Message Protocol): Використовується для діагностики (утиліти ping, traceroute) та повідомлень про помилки.
Забезпечує зв'язок між програмами на різних комп'ютерах. Використовує порти (логічні канали, наприклад, порт 80 для веб).
TCP (Transmission Control Protocol): Протокол з гарантованою доставкою.
Встановлює з'єднання ("рукостискання").
Контролює цілісність даних.
Повторно надсилає втрачені пакети.
Застосування: Web-сторінки, пошта, передача файлів.
UDP (User Datagram Protocol): Протокол без гарантії доставки.
Просто відправляє пакети потоком.
Працює швидше за TCP.
Застосування: Відеоконференції, онлайн-ігри, стрімінг (там, де втрата одного кадру не критична, а затримка — критична).
Рівень, з яким взаємодіють користувачі та програми.
HTTP / HTTPS: Передача гіпертексту (веб-сайти).
FTP / SFTP: Передача файлів.
DNS (Domain Name System): Служба імен. Перетворює зрозумілі людині імена (google.com) на IP-адреси (142.250.74.46).
DHCP (Dynamic Host Configuration Protocol): Автоматично призначає IP-адреси, маски та шлюзи пристроям при підключенні до мережі.
Програмне забезпечення (ПЗ) мереж ділиться на три великі групи.
Це ОС, які мають вбудовані функції для роботи в мережі. Вони бувають двох типів:
Клієнтські ОС: Орієнтовані на користувача. Забезпечують доступ до ресурсів мережі.
Приклади: Windows 10/11, macOS, Linux (Ubuntu Desktop).
Серверні ОС: Орієнтовані на надання ресурсів та керування мережею. Вони оптимізовані для стабільності, безпеки та обробки великої кількості запитів.
Windows Server: Популярна завдяки Active Directory (централізоване керування обліковими записами та комп'ютерами).
UNIX/Linux (RHEL, Debian, Ubuntu Server): Відомі своєю надійністю, гнучкістю та безкоштовністю (багато дистрибутивів). Більшість веб-серверів світу працюють на Linux.
Однорангова мережа (Peer-to-Peer / Workgroup):
Всі комп'ютери рівноправні.
Кожен ПК сам адмініструє свої ресурси (сам вирішує, кому дати доступ до своєї папки).
Дешево, але важко керувати, якщо комп'ютерів більше 10.
Мережа "Клієнт-Сервер" (Domain):
Є виділений сервер (контролер домену).
Централізоване керування правами доступу, безпекою та оновленнями.
Використовується в більшості підприємств.
Це ПЗ, яке працює поверх ОС:
Файлові сервери: Samba, FTP-сервери.
Проксі-сервери та брандмауери (Firewalls): Контроль доступу до Інтернету, захист від атак.
Сніфери (Sniffers): Програми для перехоплення та аналізу трафіку (Wireshark) — використовуються для пошуку несправностей.
Сканери мережі: Програми для інвентаризації мережі та пошуку вразливостей (Nmap).