Стек
протоколів TCP/IP
Історія та перспективи стека TCP/IP
Transmission Control Protocol/Internet Protocol (TCP/IP) - це промисловий стандарт стека протоколів, розроблений для глобальних мереж. p>
Стандарти TCP/IP опубліковані в серії документів, названих Request for Comment (RFC). Документи RFC описують внутрішню роботу мережі Internet.
Деякі RFC описують мережеві сервіси або протоколи та їх реалізацію, у той час як інші узагальнюють умови застосування. Стандарти TCP/IP завжди
публікуються у вигляді документів RFC, але не всі RFC визначають стандарти. p>
Стек був розроблений з ініціативи Міністерства оборони США (Department of Defence, DoD) більше 20 років тому для зв'язку експериментальної мережі ARPAnet з
сателітними іншими мережами як набір загальних протоколів для різнорідної обчислювальної середовища. Мережа ARPA підтримувала розробників і дослідників в
військових областях. У мережі ARPA зв'язок між двома комп'ютерами здійснювалася з використанням протоколу Internet Protocol (IP), який і до цього часу є
одним з основних у стеку TCP/IP і фігурує в назві стека. p>
Великий внесок в розвиток стека TCP/IP вніс університет Берклі, реалізувавши протоколи стека у своїй версії ОС UNIX. Широке розповсюдження ОС UNIX призвело
і до широкого поширення протоколу IP і інших протоколів стека. На цьому ж стеку працює всесвітня інформаційна мережа Internet, чиє підрозділ
Internet Engineering Task Force (IETF) вносить основний внесок у вдосконалення стандартів стека, що публікуються у формі специфікацій RFC. p>
Якщо в даний час стек TCP/IP поширений в основному в мережах з ОС UNIX, то реалізація його в останніх версіях мережевих операційних систем для
персональних комп'ютерів (Windows NT 3.5, NetWare 4.1, Windows 95) є хорошою передумовою для швидкого зростання числа установок стека TCP/IP. p>
Отже, провідна роль стека TCP/IP пояснюється наступними його властивостями: p>
Це найбільш завершений стандартний і в той же час популярний
стек мережевих протоколів, що має багаторічну історію.
Майже всі великі мережі передають основну частину свого трафіку з
допомогою протоколу TCP/IP.
Це метод одержання доступу до мережі Internet.
Цей стек є основою для створення intranet-корпоративної
мережі, що використовує транспортні послуги Internet і гіпертекстове
WWW технологію, розроблену в Internet.
Всі сучасні операційні системи підтримують стек TCP/IP.
Це гнучка технологія для з'єднання різнорідних систем як на
рівні транспортних підсистем, так і на рівні прикладних сервісів.
Це стійка масштабована міжплатформову середовище для
додатків клієнт-сервер.
Структура стека TCP/IP. Коротка
характеристика протоколів
Оскільки стек TCP/IP був розроблений до появи моделі взаємодії відкритих систем ISO/OSI, то, хоча він також має багаторівневу структуру,
відповідність рівнів стека TCP/IP рівням моделі OSI досить умовно. p>
Структура протоколів TCP/IP наведена на малюнку 2.1. Протоколи TCP/IP поділяються на 4 рівня. p>
p>
Рис. 2.1. Стек TCP/IP h2>
Самий нижній ( рівень IV b>) відповідає фізичному і канального рівнів моделі OSI. Цей рівень в протоколах TCP/IP не
регламентується, але підтримує всі популярні стандарти фізичного і канального рівня: для локальних мереж це Ethernet, Token Ring, FDDI, Fast
Ethernet, 100VG-AnyLAN, для глобальних мереж - протоколи з'єднань "точка-точка" SLIP та PPP, протоколи територіальних мереж з комутацією
пакетів X.25, frame relay. Розроблено також спеціальна специфікація, що визначає використання технології ATM як транспорт канального
рівня. Зазвичай при появі нової технології локальних або глобальних мереж вона швидко включається в стек TCP/IP за рахунок розробки відповідного RFC,
визначає метод інкапсуляції пакетів IP в її кадри. p>
Наступний рівень ( рівень III b>) - це рівень міжмережевої взаємодії, який займається передачею пакетів з використанням різних
транспортних технологій локальних мереж, територіальних мереж, ліній спеціального зв'язку і т. п. p>
В якості основного протоколу мережевого рівня (в термінах моделі OSI) в стеку використовується протокол IP b>, який спочатку проектувався як
протокол передачі пакетів в складових мережах, що складаються з великої кількості локальних мереж, об'єднаних як локальними, так і глобальними зв'язками.
Тому протокол IP добре працює в мережах зі складною топологією, раціонально використовуючи наявність у них підсистем і економно витрачаючи пропускну здатність
низькошвидкісних ліній зв'язку. Протокол IP є дейтаграмним протоколом, тобто він не гарантує доставку пакетів до вузла призначення, але намагається це
зробити. p>
До рівня міжмережевої взаємодії належать і всі протоколи, пов'язані з складанням
і модифікацією таблиць маршрутизації, такі як протоколи збору маршрутної інформації RIP b> (Routing Internet Protocol) і OSPF b> (Open Shortest
Path First), а також протокол міжмережевих керуючих повідомлень ICMP b> (Internet Control Message Protocol). Останній протокол призначений для обміну
інформацією про помилки між маршрутизаторами мережі та вузлом - джерелом пакета. За допомогою спеціальних пакетів ICMP повідомляється про неможливість доставки пакета,
про перевищення часу життя або тривалості збирання пакета з фрагментів, про аномальні величини параметрів, про зміну маршруту пересилання і типу
обслуговування, про стан системи і т.п. p>
Наступний рівень ( рівень II b>) називається основним. На цьому рівні функціонують протокол управління передачею TCP b> (Transmission
Control Protocol) і протокол дейтаграм користувача UDP b> (User Datagram Protocol). Протокол TCP забезпечує надійну передачу повідомлень між
віддаленими прикладними процесами за рахунок утворення віртуальних з'єднань. Протокол UDP забезпечує передачу прикладних пакетів дейтаграмним способом,
як і IP, і виконує тільки функції сполучної ланки між мережним протоколом і численними прикладними процесами. p>
Верхній рівень ( рівень I b>) називається прикладним. За довгі роки використання в мережах різних країн і організацій стек TCP/IP накопичив
велику кількість протоколів і сервісів прикладного рівня. До них відносяться такі широко використовувані протоколи, як протокол копіювання файлів FTP;
протокол емуляції термінала telnet, поштовий протокол SMTP, що використовується в електронній пошті мережі Internet, гіпертекстові сервіси доступу до віддаленої
інформації, такі як WWW і багато інших. Зупинимося трохи докладніше на деяких з них. p>
Протокол передачі файлів FTP b> (File Transfer Protocol) реалізує віддалений доступ до файлу. Для того, щоб забезпечити надійну передачу, FTP
використовує як транспорт протокол з встановленням з'єднань - TCP. Крім пересилання файлів протокол FTP пропонує й інші послуги. Так,
користувачу надається можливість інтерактивної роботи з віддаленою машиною, наприклад, він може роздрукувати вміст її каталогів. Нарешті, FTP
виконує аутентифікацію користувачів. Перш, ніж отримати доступ до файлу, відповідно до протоколу користувачі повинні повідомити своє ім'я та пароль. Для
доступу до публічних каталогів FTP-архівів Internet парольна аутентифікація не потрібна, і її обходять за рахунок використання для такого доступу
зумовленого імені користувача Anonymous. p>
У стеку TCP/IP протокол FTP пропонує найбільш широкий набір послуг для роботи з файлами, однак він є і самим складним для програмування.
Програми, яким не потрібні всі можливості FTP, можуть використовувати інший, більш економічний протокол - найпростіший протокол передачі файлів TFTP
b> (Trivial File Transfer Protocol). Цей протокол реалізує тільки передачу файлів, причому як транспорт використовується більш простий, ніж TCP,
протокол без встановлення з'єднання - UDP. p>
Протокол telnet b> забезпечує передачу потоку байтів між процесами, а також між процесом і терміналом. Найчастіше цей протокол використовується
для емуляції термінала віддаленого комп'ютера. При використанні сервісу telnet користувач фактично керує віддаленим комп'ютером так само, як і локальний
користувач, тому такий вид доступу вимагає гарного захисту. Тому сервери telnet завжди використовують як мінімум аутентифікацію за паролем, а іноді і більше
потужні засоби захисту, наприклад, систему Kerberos. p>
Протокол SNMP b> (Simple Network Management Protocol) використовується для організації мережевого управління. Споконвічно протокол SNMP був розроблений для
дистанційного контролю та управління маршрутизаторами Internet, які традиційно часто називають також шлюзами. Зі зростанням популярності протокол SNMP стали застосовувати
і для управління будь-яким комунікаційним обладнанням - концентраторами, мостами, мережевими адаптерами і т.д. і т.п. Проблема управління в протоколі SNMP
розділяється на два завдання. p>
Перша задача пов'язана з передачею інформації. Протоколи передачі керуючої інформації визначають процедуру взаємодії SNMP-агента, що працює в
керованому обладнанні, і SNMP-монітора, що працює на комп'ютері адміністратора, який часто називають також консолі управління. Протоколи
передачі визначають формати повідомлень, якими обмінюються агенти і монітор. p>
Друге завдання пов'язана з контрольованими змінними, що характеризують стан керованого пристрою. Стандарти регламентують, які дані
повинні зберігатися і накопичуватися в пристроях, імена цих даних і синтаксис цих імен. У стандарті SNMP визначена специфікація інформаційної бази даних
управління мережею. Ця специфікація, відома як база даних MIB (Management Information Base), визначає ті елементи даних, які керований пристрій
повинен зберігати, і допустимі операції над ними. p>