Основи мереж, Блог любителя експериментів

Стек протоколів TCP/IP

Власне, що є мережа?Мережа - це більше 2х комп'ютерів, об'єднаних між собою якимись проводами каналами зв'язку, у складнішому прикладі - якимось мережевим обладнанням та інформацією між собою інформацією за певними правилами. Ці правила "диктуються"стеком протоколів TCP/IP.

Transmission Control Protocol/Internet Protocol (Стек протоколів TCP/IP) - якщо сказати простою мовою, це набір взаємодіючих протоколів різних рівнів (можна доповнити, що кожен рівень взаємодіє з сусіднім, тобто зістиковується, тому і>стек, імхо, так простіше зрозуміти), згідно з якими відбувається обмін даними в мережі. Коженпротокол - це набір правил, згідно з якими відбувається обмін даними. Отже,стек протоколів TCP/IP - це набір наборів правил Тут може виникнути резонне питання: а навіщо мати багато протоколів? Невже не можна обмінюватись усім за одним протоколом?

Вся річ у тому, що кожен протокол описує суворо відведенійому правила. Крім того, протоколи розділені за рівнями функціональності, що дозволяє роботі мережевого обладнання та програмного забезпечення стає набагато простіше, прозоріше та виконувати "своє" коло завдань.

основи
Для поділу даного набору протоколів за рівнями було розробленомодель мережевої взаємодії OSI (англ. Open Systems Interconnection Basic Reference Model, 1978 р., вона - базова еталонна модель взаємодії відкритих систем).Модель OSI складається із семи різних рівнів. Рівень відповідає за окрему ділянку в роботі комунікаційних систем, не залежить від ряду рівнів, що стоять, - він тількинадає певні послуги. Кожен рівень виконує своє завдання відповідно до набору правил, які називають протоколом. Проілюструвати роботу моделі OSI можна наступним малюнком:Як передаються дані?

З малюнка видно, що існує7 рівнів мережевої взаємодії, які поділяються на: прикладний, уявлень, сеансовий, транспортний, мережевий, канальний, фізичний. Кожен із рівнів містить свій набір протоколів. Список протоколів за рівнями взаємодії добре представлений у Вікіпедії:

основи

Сам стек протоколів TCP/IP розвивався паралельно з прийняттям моделі OSI і "не перетинався" з нею, в результаті вийшла невелика розбіжність у невідповідності стеку протоколів та рівнів моделі OSI. Зазвичай, устеку TCP/IP верхні 3 рівні (прикладний, уявлення та сеансовий) моделі OSI об'єднують в один -прикладний. Оскільки в такому стеку не передбачається уніфікований протокол передачі даних, функції визначення типу даних передаються додатком. Спрощеноінтерпретацію стека TCP/IP щодо моделі OSI можна так:

мереж

Дану модель мережевої взаємодії ще називаютьмодель DOD (від бурж. Department of Defense - Міністерство оборони США). Отже, загальне уявлення про мережеву взаємодію розглянули. Для більш глибокого розуміння суті питання, можу порадити завантажити та почитати книгу (Віто Амато "Основи організації мереж Cisco Т1 і Т2" ), нижче.

любителя

  • 10.0.0.0 - 10.255.255.255 (10.0.0.0/8 або 10/8),
  • 172.16.0.0 - 172.31.255.255 (172.16.0.0/12 або 172.16/12),
  • 192.168.0.0 - 192.168.255.255 (192.168.0.0/16 або 192.168/16).
  • 127.0.0.0 - 127.255.255.255 зарезервовано для петлевих інтерфейсів (невикористовується обміну між вузлами мережі), т.зв. localhost

Для кожного з протоколів TCP та UDP стандарт визначає можливість одночасного виділення на хості до 65536 унікальних портів, що ідентифікуються номерами від 0 до 65535. Відповідність номера порту та служби, яка використовує цей номер, можна переглянути у файлі /etc/services або на сайті http:// www.iana.org/assignments/port-numbers. Весь діапазон портів ділитися на 3 групи:

  • 0 до 1023, звані привілейованими або зарезервованими (використовуються для системних та деяких популярних програм)
  • 1024 - 49151 називаються зареєстрованими портами.
  • 49151 - 65535 називаються динамічними портами.

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

Маршрутизація

любителя
Давайте розглянемо (на ілюстрації) приклад інфраструктури з кількома підмережами. Може виникнути питання, а як один комп'ютер з'єднатися з іншим? Звідки він знає, куди надсилати пакети?

Для вирішення цього питання мережі між собою з'єднанішлюзами (маршрутизаторами).Шлюз - це той самий хост, але має з'єднання з двома і більше мережами, який може передавати інформацію між мережами та направляти пакети в іншу мережу. На малюнку роль шлюзу виконує pineapple і papaya, що мають по 2 інтерфейси, підключені до різних мереж.

Приклад таблиці маршрутизації для хоста eggplant:

З прикладу видно, що papaya підключена до двох мереж 128.17.75,через пристрій eth0 та 128.17.112 через пристрій eth1.Маршрут за умовчанням, через хост pineapple, який у свою чергу, є шлюзом у зовнішню мережу.

Варто зазначити, що у цих прикладах маршрути

Чи не стандартні. І в сучасному Linux ви такого не побачите.

Що ще почитати на тему?

Якщо є бажання, детальніше почитати про маршрутизацію та основи мережі, раджу почитати відмінну книгу: Віто Амато "Основи організації мереж Cisco" Том1 і Том2 2004р. Продовження статті: Налаштування мережі в Linux, діагностика та моніторинг Нове продовження: iproute2, налаштування мережі командою ip