3. 7. Стек протоколів Інтернету
Оскільки сімейство протоколів TCP/IP є основою побудови Інтернету, розглянемо ці протоколи більш докладно.
В Інтернеті використовуються універсальні ідентифікатори (адреси) приєднаних до мережі комп'ютерів, тому будь-які дві машини мають можливість взаємодіяти одна з одною. В Інтернеті також реалізований принцип незалежності кори-стувальницького інтерфейсу від фізичної мережі, тобто існує множина способів установлення з'єднань і передачі даних, однакових для усіх фізичних мережевих технологій.
З погляду кінцевих користувачів, Інтернет являє собою єдину віртуальну мережу, до якої приєднані всі комп'ютери — незалежно від їх реальних фізичних з'єднань. Фундаментальним принципом Інтернету є рівнозначність всіх об'єднаних з його допомогою фізичних мереж: будь-яка система комунікацій розглядається як компонент Інтернету, незалежно від її фізичних параметрів, розмірів переданих пакетів даних і географічного масштабу.
Сімейство протоколів TCP/IP дозволяє побудувати універсальну мережу, що реалізує зазначені вище принципи. Воно містить у собі протоколи 4 рівнів комунікацій (мал. 3.2).
Прикладний рівень | WWW, FTP, Telnet E-mail та інші |
Транспортний рівень | TCP, UDP |
Мережевий рівень | IP, ICMP, IGMP |
Канальний рівень (мережевий інтерфейс) | ARP, RARP |
Мал. З.2. Рівні стека протоколів TCP/IP
Рівень мережевого інтерфейсу відповідає за встановлення мережевого з'єднання в конкретній фізичній мережі. На цьому рівні працюють драйвер пристрою в операційній системі і відповідна мережева плата комп'ютера (Ethernet-протокол).
Мережевий рівень — основа сімейства протоколів TCP/IP. Саме на цьому рівні реалізується принцип міжмере-жевого з'єднання, зокрема маршрутизація пакетів через Інтернет. На мережевому рівні протокол реалізує ненадійну службу доставки пакетів по мережі від системи до системи без установлення з'єднання. Це означає, що буде виконане все необхідне для доставки пакетів, однак ця доставка не гарантується. Пакети можуть бути загублені, передані в неправильному порядку, продубльовані тощо. Служба, що працює без установлення з'єднання, обробляє пакети, незалежно один від одного. Але головне, що саме на цьому рівні приймається рішення про маршрутизацію пакета по міжмереже-вим з'єднанням.
Надійну передачу даних реалізує наступний рівень — транспортний, на якому два основних протоколи, TCP (Transmission Control Protocol) i UDP (User Datagram Protocol), здійснюють зв'язок між машиною-відправником пакетів і машиною-адресатом пакетів.
Нарешті, прикладний рівень — це прикладні програми типу клієнт-сервер, що базуються на протоколах нижніх рівнів. На відміну від протоколів інших трьох рівнів, протоколи прикладного рівня займаються деталями конкретного додатка, і для них звичайно не важливі способи передачі даних по мережі. Серед основних додатків TCP/ IP, що присутні практично в кожній його реалізації, — протокол ему-ляції терміналу TELNET, протокол передачі файлів FTP, протокол електронної пошти SMTP (Simple Message TransferProtocol), протокол керування мережею SNMP (Simple Network Management Protocol), використовуваний у системі World Wide Web протокол передачі гіпертексту HTTP і ін.
На мал. 3.3 показано, як здійснюється взаємодія двох комп'ютерів з різних мереж з використанням стека прото-, колів TCP/IP. Програмне забезпечення IP-протоколу за допомогою маршрутизатора передає пакети з однієї мережі Ethernet в іншу. Протоколи верхніх рівнів, прикладного і транспортного, здійснюють з'єднання між комп'ютерами, клієнтом і сервером додатка, у той час як IP забезпечує зв'язок між кінцевою і проміжною системами.
Оскільки в Інтернеті деталі фізичних з'єднань приховані від прикладних програм, прикладний рівень зовсім «не піклується» про те, що клієнт і сервер прикладної програми працюють у різних мережах і що, як канальний протокол в обох мережах використовується протокол Ethernet. Між кінцевими системами може бути кілька десятків маршрути-заторів і безліч проміжних фізичних мереж різних типів. Прикладна програма у будь-якому випадку буде сприймати цей конгломерат як єдину фізичну мережу. Це обумовлює основну силу і привабливість технології Інтернету.
Хоча стек протоколів і називається TCP/IP, самі протоколи TCP і IP є найважливішими, але не єдиними представниками цього сімейства. Кожен рівень комунікацій обслуговується декількома протоколами. Розглянемо їх більш докладно.
TCP і UDP — протоколи транспортного рівня, що організують потік даних між кінцевими системами для додатків верхнього рівня. Ці протоколи значно відрізняються один від одного.
| Взаємодія на прикладному рівні |
| ||
Клієнтський додаток | Клієнтський додаток | |||
|
|
TCP забезпечує надійну передачу даних між двома хостами. Він дозволяє клієнту і серверу додатка встановлювати між собою логічне з'єднання і потім використовувати його для передачі великих масивів даних, ніби між ними існує пряме фізичне з'єднання. Протокол дозволяє здійснювати дроблення потоку даних, підтверджувати одержання пакетів даних, задавати тайм-аути, організовувати повторну передачу у випадку втрати даних і т. д. Оскільки цей транспортний протокол реалізує гарантовану доставку інформації, прикладні програми, що його використовують, одержують можливість ігнорувати всі деталі такої передачі.
Протокол UDP реалізує набагато більш простий алгоритм передачі, забезпечуючи, подібно протоколам мережевого рівня, ненадійну доставку даних без установлення логічного з'єднання. Він просто посилає пакети даних, дейтаграми (datagrams), з однієї машини на іншу, але не надає жодних гарантій їхньої доставки.
IP — основний протокол мережевого рівня, що дозволяє реалізовувати міжмережеві з'єднання. Він використовується обома протоколами транспортного рівня. IP визначає базову одиницю передачі даних в Інтернеті — ІР-дейтаграму. Програмне забезпечення IP виконує функції маршрутизації, вибираючи шлях для даних. Для визначення маршруту підтримуються спеціальні таблиці; вибір здійснюється на основі адреси мережі, до якої підключений комп'ютер-адресат. Протокол IP визначає маршрут окремо для кожного пакета даних, не гарантуючи надійної доставки в потрібному порядку. Він задає безпосереднє відображення даних на фізичний рівень передачі, що лежить нижче, і тим самим реалізує високоефективну доставку пакетів.Крім IP на мережевому рівні використовуються також протоколи ІСМР і IGMP. ІСМР (Internet ControlMessage Protocol) відповідає за обмін повідомленнями про помилки та іншу важливу інформацію з мережевого рівня на іншому хості чи маршрутизатор!. IGMP (Internet Group Management Protocol) використовується для відправлення ІР-дейтаграм множини хостів у мережі.
На самому нижньому рівні — рівні мережевого інтерфейсу — використовуються спеціальні протоколи визначення адрес ARP (Adress Resolution Protocol) і RARP (Reverse Adress Resolution Protocol). Ці протоколи застосовуються для перетворення адрес мережевого рівня в адреси фізичної мережі і назад.
Відкритість, масштабованість, універсальність і простота використання — незаперечні переваги TCP/IP, але в цьому сімействі протоколів є й очевидні недоліки. Настільки приваблива простота доступу обертається для Інтернету серйознішого проблемою захисту інформації, що отримує особливу гостроту зараз, коли світова мережа усе активніше використовується для електронної комерції. Невпорядкованість передачі пакетів і неможливість відстежити маршрут їхнього просування також являють собою важливі проблеми, оскільки перешкоджають реалізації таких необхідних у сучасних комунікаціях можливостей, як переда-
ча мультимедийних даних у реальному часі. Нарешті, зауважимо, що наданий IP-обсяг адресного простору, особливо в зв'язку з його неефективним використанням, уже на превелику силу дозволяє задовольняти потреби гігантської й усе більш розростаючої мережі.
Багато зазначених проблем мають бути зняті реалізацією протоколу IPv6. Крім чотириразового збільшення розміру адреси, що забезпечить адресний простір обсягом близько 4 квадрильйонів адрес у порівнянні із сучасними 4 мільярдами, новий стандарт забезпечує реалізацію вбудованих функцій, захисту від несанкціонованого доступу, підтримку передачі мультимедійних даних в реальному часі і можливості автоматичного реконфігурування адрес.
Контролем використання TCP/IP, визначенням основних напрямків розвитку, розробкою і затвердженням стандартів сьогодні займається декілька організацій. Основною з них є Internet SocietyISOC) — професійне співтовариство, що займається загальними питаннями еволюції і росту Інтернету як глобальної інфраструктури дослідницьких комунікацій. (
Під керуванням ISOC діє Internet Architecture Board (ІАВ) — організація, у веденні якої знаходиться технічний контроль і координація Інтернету. ІАВ координує напрямки досліджень і нових розробок для TCP/IP і є кінцевою інстанцією у визначенні нових стандартів для Інтернету. У ІАВ входять дві основні групи: Internet Engineering Task Force (IETF) і Internet Research Task Force (IRTF). IETF — інженерна група, що займається рішенням найближчих технічних проблем Інтернету. IETF поділяється на дев'ять підгруп, відповідно до основних областей (додатки, маршрутизація й адресація, захист інформації і т. д.) і визначає специфікації, що потім стають стандартами Інтернету. Зокрема, протокол IPv6 є плодом зусиль IETF. У свою чергу, IRTF координує довгострокові дослідницькі проекти з протоколів TCP/ IP і технології Інтернету в цілому.
Різноманітна документація, пов'язана з Інтернетом, пропозиції зі стандартів і самі офіційні стандарти протоколів TCP/IP публікуються в серії технічних повідомлень Internet Request for Comments, чи RFC. RFCможуть бути короткими чи довгими, викладати глобальні концепції чи описувати деталі певного проекту, формулювати офіційний стандарт чи давати пропозиції з нових протоколів.