Комунікаційний протокол
Комунікаційний протокол — це обумовлені наперед правила передачі даних між двома пристроями. До основних параметрів, які описує протокол, відносяться:
- тип перевірки помилок, що використовується
- метод компресії інформації (якщо такий є)
- спосіб визначення передаючим пристроєм завершення передачі
Різні протоколи відрізняються своїми характеристиками: одні — більшою надійністю, другі — швидкістю передачі даних, треті — простотою.
В галузі телекомунікацій, протокол зв'язку — це набір стандартних правил представлення інформації, передачі сигналів, ідентифікації та виявлення помилок необхідний для обміну інформацією. Простим прикладом пристосованого для голосового зв'язку є радіо диспетчер, що розмовляє з пересувними станціями. Протоколи зв'язку для цифрових комп'ютерних мереж мають багато особливостей, котрі призначені для забезпечення надійного обміну інформацією в умовах неідеального каналу зв'язку.
стек протоколів TCP / IP - містить 4 рівня:
- канальний рівень (link layer),
- мережевий рівень (Internet layer),
- транспортний рівень (transport layer),
- прикладний рівень (application layer).
Приклади мережевих протоколів
TCP / IP - набір протоколів передачі даних, який отримав назву від двох належних йому протоколів: TCP (Transmission Control Protocol).
Найбільш відомі протоколи, використовувані в мережі Інтернет:
- HTTP (Hyper Text Transfer Protocol) - це протокол передачі гіпертексту. Протокол HTTP використовується при пересиланні Web-сторінок між комп'ютерами, підключеними до однієї мережі.
- FTP (File Transfer Protocol) - це протокол передачі файлів зі спеціального файлового сервера на комп'ютер користувача. FTP дає можливість абоненту обмінюватися двійковими і текстовими файлами з будь-яким комп'ютером мережі. Встановивши зв'язок з віддаленим комп'ютером, користувач може скопіювати файл з віддаленого комп'ютера на свій або скопіювати файл зі свого комп'ютера на віддалений.
- POP3 (Post Office Protocol) - це стандартний протокол поштового з'єднання. Сервери POP обробляють вхідну пошту, а протокол POP призначений для обробки запитів на отримання пошти від клієнтських поштових програм.
- SMTP (Simple Mail Transfer Protocol) - протокол, який задає набір правил для передачі пошти. Сервер SMTP повертає або підтвердження про прийом, або повідомлення про помилку, або може вимагати додаткової інформації.
- TELNET - це протокол віддаленого доступу. TELNET дає можливість абоненту працювати про всяк ЕОМ знаходиться з ним в одній мережі, як на своїй власній, тобто запускати програми, змінювати режим роботи і так далі. На практиці можливості обмежуються тим рівнем доступу, який заданий адміністратором віддаленої машини.
DHCP (Dynamic Host Configuration Protocol). Протокол динамічної настройки вузла. Він дозволяє вузлам динамічно отримувати IP адреси та інші параметри для коректної роботи в мережі (основний шлюз, маску підмережі, адреси DNS-серверів).
На моїй практиці видно я він працює.
бачимо, що додався новий сервер. Звичайно можна було все ролі віддати одного сервера, але, я зробив що б розуміти, як ходять дані, нехай для кожної ролі буде окремий сервер.
Налаштуємо сервер.
Надаємо вільний адресу і маску. Перейдемо до ролі DHCP.
- Вибираємо службу DHCP, і тут вже створений стандартний пул. Його видалити не можна. Тільки змінити. Нам додаткові пули не потрібні, тому переробимо під себе стандартний.
- Тут можна додати адресу шлюзу, адреса DNS-сервера. DNS-сервер у нас є, і його можна вказати. Ну і старт адрес залишимо, як є.
- Включаємо сервер.
Перемикаємо середу в режим симуляції і подивимося, як комп'ютер отримає адресу.
Відповідно переходимо в настройки конфігурації і перемикаємо на DHCP.
Бачимо, що створився DHCP-запит. І можна подивитися що в середені.
- Протокол канального рівня (Ethernet). У «Source MAC» записується адреса комп'ютера. А в «Destination MAC» записаний широкомовна адреса (тобто всім).
- Протокол мережевого рівня (IP). У «Source IP» записується адреса «0.0.0.0». Ця електронна адреса була вставляється, коли у запитуваної немає адреси. А в «Destination IP» вставляється широкомовна адресу «255.255.255.255».
Дивимося далі.
Подивимося на поле UDP. Тут використовуються порти 67 і 68. Це UDP порти, зарезервовані для DHCP.
Тепер дивимося на поле DHCP. Тут все по нулях, і тільки в поле «CLIENT HARDWARE ADDRESS» записаний MAC-адресу комп'ютера.
Подивимось, як будуть реагувати на неї учасники мережі.
Бачимо, що все крім DHCP-сервера відкинули дані.
Подивимося, як комп'ютер отримає адресу.
І спостерігаємо повідомлення «DHCP Request Successful». Що означає, що дані успішно отримані, про що свідчать заповнені поля нижче.
Проксі-сервер (proxy server) - це особливий тип додатка, яке виконує функції посередника між клієнтськими і серверними частинами розподілених мережевих додатків, причому передбачається, що клієнти належать внутрішньої (що захищається) мережі, а сервери - зовнішньої (потенційно небезпечної) мережі.
Проксі-сервер може бути встановлений не тільки на платформі, де працюють всі інші модулі брандмауера, але і на будь-якому іншому вузлі внутрішньої мережі або мережі демілітаризованої зони. В останньому випадку програмне забезпечення клієнта повинно бути налаштоване таким чином, щоб у нього не було можливості встановити пряме з'єднання з ресурсним сервером, минаючи проксі-сервер. Коли клієнтові необхідно отримати ресурс (файл, веб-сторінку, поштове повідомлення) від будь-якого сервера, він посилає свій запит проксі-сервера. Проксі-сервер аналізує цей запит і на підставі заданих йому адміністратором правил вирішує, яким чином він повинен бути оброблений (відкинутий, переданий без зміни ресурсному серверу, модифікований тим чи іншим способом перед передачею, негайно оброблений силами самого проксі-сервера).
Розрізняють проксі-сервери прикладного і сеансового рівнів:
- Проксі-сервер прикладного рівня, як це випливає з його назви, вміє «вклинюватися »в процедуру взаємодії клієнта і сервера по одному з прикладних протоколів, наприклад HTTP, HTTPS, SMTP, FTP. Щоб виступати в ролі посередника на прикладному рівні, проксі-сервер повинен «розуміти» сенс команд, «знати» формати і послідовність повідомлень, якими обмінюються клієнт і сервер відповідної служби. Це дає можливість проксі-сервера проводити аналіз вмісту повідомлень і робити висновки про підозрілий характер того чи іншого сеансу.
- Проксі-сервер сеансового рівня виконує свою посередницьку місію на транспортному рівні, контролюючи TCP-з'єднання. Очевидно, що, працюючи на більш низькому рівні, проксі-сервер має набагато меншим «інтелектом» і має менше можливостей для виявлення та попередження атак. Однак він володіє одним дуже важливою перевагою перед проксі-сервером прикладного рівня - універсальністю, тобто він може бути використаний будь-якими додатками, що працюють по протоколу TCP (а в деяких випадках і UDP).
IPv4 і IPv6 пакети
IPv4
IPv4 - четверта версія мережевого протоколу IP. Перша версія протоколу, яка набула широко розповсюдження.
IPv4 використовує 32-бітні (4 байтів) адреси, які обмежують адресний простір 4 294 967 296 (себто 28×4) можливими унікальними адресами.
IPv6
IPv6 - нова версія IP-протоколу, новий крок у розвитку Інтернету. Цей протокол розроблено з урахуванням вимог до Глобальної мережі, що постійно зростають. З 2011 року IANA виділила останні п'ять блоків IP-адрес /8 (IPv4).
Найбільш суттєва різниця між IPv4 та IPv6 полягає в тому, що раніше на інтернет-адресу виділяли 4 байти (32 біта), що відповідає стандартній на сьогодні чотирьохблоковій адресі IP, а протокол IPv6 виділяє на адресу 16 байтів (128 біт). Це відповідає 340 трильйонам адрес (3,4x1038) або по 5x1028 адрес на кожну людину.
Порівняння IPv6 з IPv4
Розширення адресного простору скасовує необхідність використання NAT, оскільки на кожну людину припадає близько 3*108 унікальних адрес.
Принцип призначення хосту IPv6 адреси є ієрархічним. Мінімальний розмір підмережі — /64 (264). Молодша частина адреси (64 біти) використовується як унікальний ідентифікатор користувача, наступна частина визначає підмережу всередині оператора зв'язку, далі йде ідентифікатор самого оператора. Такий підхід значно спрощує маршрутизацію.
З IPv6 вилучено кілька функцій, що ускладнюють роботу маршрутизаторів:
- Маршрутизатори більше не розбивають (фрагментують) пакет на частини (розбиття пакета можливо тільки на боці передавача). Відповідно, оптимальний MTU має визначатися за допомогою Path MTU discovery. Для покращення роботи протоколів, що потребують низького рівня втрати пакетів, мінімальний MTU збільшено до 1280 байт. Інформацію про фрагментацію пакетів перенесено з основного заголовку в розширені;
- Зникла контрольна сума. Оскільки канальні (Ethernet) та транспортні (TCP) протоколи також перевіряють коректність пакета, контрольна сума на рівні IP вважається зайвою. Крім того, кожен маршрутизатор зменшує hop limit на одиницю, що призводить до потреби у перерахуванні суми в IPv4.
Незважаючи на суттєве збільшення розміру адреси IPv6, завдяки цим покращенням основний заголовок пакета збільшився лише у 2 рази: з 20 до 40 байт.
Покращення IPv6 у порівнянні з IPv4:
- в надшвидкісних мережах можлива підтримка надвеликих пакетів — до 4 гігабайт;
- time to Live перейменовано в Hop limit;
- з'явились відмітки потоків та класи трафіку;
- з'явилась багатоадресна передача;
- протокол IPsec з рекомендованого перетворився на обов'язковий.