Телекомунікаційні системи та мережі. Том 1. Структура й основні функції.  /  Зміст  /  Розділ 3. Стандартизація мережних протоколів і телекомунікаційного обладнання   /  Тема 3.4. Стандартні стеки мережних протоколів

Зміст:

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

Стек TCP/IP був розроблений з ініціативи Міністерства оборони США понад 20 років тому як набір загальних протоколів для різнорідного мережного середовища для зв’язку експериментальної мережі ARPAnet з іншими мережами. Значний внесок у розвиток стека TCP/IP, що отримав свою назву від популярних протоколів IP і TCP, внесли фахівці з університету Берклі, які реалізували протоколи стека у версії операційної системи UNIX. Популярність цієї операційної системи призвела до поширення протоколів TCP, IP та інших протоколів стека. Сьогодні цей стек використовується для зв’язку вузлів всесвітньої інформаційної мережі Інтернет, а також у величезній кількості корпоративних мереж.

Стек TCP/IP на нижньому рівні підтримує всі популярні стандарти фізичного й канального рівнів: для локальних мереж — це Ethernet, Token Ring, FDDI, для глобальних — протоколи роботи на аналогових комутованих і виділених лініях SLIP, PPP, протоколи територіальних мереж X.25 і ISDN. Основними протоколами стека, що дали йому назву, є протоколи IP і TCP. Ці протоколи в термінології моделі OSI належать до мережного і транспортного рівнів, відповідно. IP забезпечує просування пакета по складеній мережі, а TCP гарантує надійність його доставки.

Упродовж тривалого часу використання в мережах різних країн і організацій стек TCP/IP увібрав у себе велику кількість протоколів прикладного рівня. До них належать такі популярні протоколи, як протокол пересилання файлів FTP, протокол емуляції терміналу telnet, поштовий протокол SMTP, що використовується в електронній пошті мережі Інтернет, гіпертекстові сервіси служби WWW і багато інших.

Стрімке зростання популярності Інтернету призвело і до змін у розміщенні сил у світі комунікаційних протоколів — протоколи TCP/IP, на яких побудований Інтернет, стали швидко тіснити безперечного лідера минулих років — стек IPX/SPX компанії Novell. Процес просування стека TCP/IP на лідируючі позиції в будь-яких типах мереж триває, і зараз у комплекті постачання будь-якої промислової операційної системи обов’язково є програмна реалізація цього стека. Хоча протоколи TCP/IP нерозривно пов’язані з Інтернетом, існує велика кількість локальних, корпоративних і територіальних мереж, що безпосередньо не є частинами Інтернету, у яких також використовуються протоколи TCP/IP. Для того щоб відрізняти ці мережі від Інтернету, їх називають мережами TCP/IP або просто IP-мережами.

Оскільки стек TCP/IP спочатку створювався для глобальної мережі Інтернет, він має багато особливостей, які забезпечують йому перевагу перед іншими протоколами, коли йдеться про побудову мереж, що включають глобальні зв’язки. Зокрема, дуже корисною властивістю, завдяки якій цей протокол може застосовуватися у великих мережах, є його здатність фрагментувати пакети. Дійсно, складна складена мережа часто складається з мереж, побудованих за зовсім різними принципами. У кожній із цих мереж може бути встановлена власна величина максимальної довжини одиниці переданих даних (кадру). У такому разі при переході з однієї мережі, що має більшу максимальну довжину кадру, в іншу, з його меншою максимальною довжиною, може виникнути необхідність поділу переданого кадру на кілька частин. Протокол IP стека TCP/IP ефективно розв’язує це завдання.

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

Як видно з рис. 3.4.2, структура протоколу TCP/IP подібна до нижніх рівнів еталонної моделі взаємодії відкритих систем (моделі OSI). Протокол TCP/IP підтримує всі стандартні протоколи фізичного і канального рівнів.

Рис. 3.4.2. Чотирирівнева модель стека TCP/IP і її взаємозв’язок з моделлю OSI

У протоколі TCP/IP інформація передається у вигляді послідовності дейтаграм. Одне повідомлення може передаватися як ряд дейтаграм, які збираються в повідомлення в місці прийому.

Рівень аплікацій (прикладний рівень) TCP/IP. На цьому рівні реалізовані широко використовувані сервіси прикладного рівня (рис. 3.4.3). До них належать: протокол передачі файлів між віддаленими системами (FTP), протокол емуляції віддаленого терміналу (telnet), поштові протоколи, протокол вирішення імен (DNS) тощо. Кожна прикладна програма вибирає тип транспортування — або безперервний потік повідомлень, або послідовність окремих повідомлень. Прикладна програма передає дані транспортному рівню в необхідній формі.

Рис. 3.4.3. Рівень аплікацій TCP/IP

Транспортний рівень стека TCP/IP. Основним завданням транспортного рівня стека TCP/IP є взаємодія між прикладними програмами. Транспортний рівень виконує дві функції:

  • управляє потоком, що забезпечується механізмом ковзних вікон;
  • гарантує надійність передачі завдяки наявності порядкових номерів сегментів і підтверджень.

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

Як показано на рис. 3.4.4, на транспортному рівні використовуються два протоколи:

  • TCP — протокол зі встановленням з’єднання і квитуванням. Він відповідає за розбиття повідомлень на сегменти, їх збирання у вузлі призначення, повторне відсилання всього, що виявилося не отриманим, і збирання повідомлень із сегментів. Протокол TCP забезпечує гарантовану доставку даних за рахунок утворення логічних (віртуальних) з’єднань між віддаленими прикладними процесами;
  • протокол дейтаграм користувача (User Datagram Protocol, UDP), не орієнтований на встановлення з’єднання. Хоча протокол UDP і відповідає за передачу повідомлень, на цьому рівні квитування не застосовується, оскільки відсутнє програмне забезпечення для перевірки доставки сегментів.

Рис. 3.4.4. Транспортний рівень з установленням з’єднання (TCP) або без установлення з’єднання (UDP)

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

Мережний рівень стека TCP/IP — це рівень міжмережної взаємодії. Рівень управляє взаємодією між користувачами в мережі. Він приймає запит на посилку пакета від транспортного рівня разом із зазначенням адреси одержувача. Рівень інкапсулює пакет у дейтаграму, заповнює її заголовок і за необхідності використовує алгоритм маршрутизації. Рівень обробляє дейтаграми, що надходять, і перевіряє правильність інформації. На стороні одержувача програмне забезпечення мережного рівня видаляє заголовок дейтаграми і визначає, який із транспортних протоколів оброблятиме пакет.

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

Рівень мережного інтерфейсу (рівень доступу) стека TCP/IP. Найнижчий рівень стека TCP/IP відповідає фізичному і канальному рівням моделі OSI. У стеку протоколів TCP/IP цей рівень не регламентований. Рівень мережного інтерфейсу відповідає за прийом дейтаграмм і передачу їх конкретною мережею. Інтерфейс із мережею може бути реалізований драйвером пристрою або системою (комутатор, маршрутизатор), що використовує свій протокол канального рівня. Він підтримує стандарти фізичного і канального рівнів популярних локальних мереж: Ethernet, Token Ring, FDDI тощо. Для територіально-розподілених мереж підтримуються протоколи з’єднань РРР і SLIP, а для глобальних мереж — протокол Х.25. Передбачено підтримку технології комутації чарунок — АТМ. Звичайною практикою стало включення до стеку протоколів TCP/IP нових технологій локальних або розподілених мереж і регламентація їх новими документами RFC.