В середині 1970 рр. Агентство по Впровадженню Науково-дослідних Проектів Передовий технології при Міністерстві оборони (DARPA) зацікавилося організацією мережі з комутацією пакетів для забезпечення зв'язку між науково-дослідними інститутами в США. DARPA і інші урядові організації розуміли, які потенційні можливості приховані в технології мережі з комутацією пакетів; вони тільки що почали стикатися з проблемою, з якою зараз доводиться мати справу практично всім компаніям, а саме з проблемою зв'язку між різними комп'ютерними системами.
Поставивши завдання домогтися зв'язності гетерогенних систем, DARPA фінансувала дослідження, що проводяться Стенфордським університетом і компаніями Bolt, Beranek і Newman (BBN) з метою створення ряду протоколів зв'язку. Результатом цих робіт по розробці, завершених в кінці 1970 рр. був комплект протоколів Internet, з яких найбільш відомими є Transmission Control Protocol (TCP) і Internet Protocol (IP).
IP є основним протоколом Рівня 3 в комплекті протоколів Internet. На додаток до маршрутизації в единенной мережах, IР забезпечує фрагментацію і повторну збірку дейтаграм, а також повідомлення про ощибки. Поряд з ТСР, IP представляє основу комплекту протоколів Internet. Формат пакета IP представлений на Рис. 18-2.
Тема IР починається з номера версії (version number), який вказує номер використовуваної версії IP.
Поле довжини заголовка (IHL) позначає довжину заголовка дейтаграми в 32-бітових словах.
Поле типу послуги (type-of-service) вказує, яким чином повинна бути оброблена поточна дейтаграмма відповідно до вказівок конкретного протоколу вищого рівня. За допомогою цього поля дейтаграмою можуть бути призначені різні рівні значущості.
Поле загальна довжина (total length) визначає довжину всього пакету IP в байтах, включаючи дані і заголовок.
Поле ідентифікації (identification) містить ціле число, що позначає поточну дейтаграмму. Це поле використовується для з'єднання фрагментів дейтаграми.
Поле прапорів (flags) (містить біт DF, біт MF і зрушення фрагмента) визначає, чи може бути фрагментована дана дейтаграмма і чи є поточний фрагмент останнім.
Поле термін життя (time-to-live) підтримує лічильник, значення якого поступово зменшується до нуля; в цей момент дейтаграмма відкидається. Це перешкоджає зациклення пакетів.
Поле протоколу (protocol) вказує, який протокол вищого рівня прийме вхідні пакети після завершення обробки IP.
Поле контрольної суми заголовка (header checksum) допомагає забезпечувати цілісність заголовка ID.
Поле опції (options) дозволяє IP забезпечувати факультативні можливості, такі, як захист даних.
Поле даних (data) містить інформацію вищих рівнів.
Пристрої маршрутизації в мережі Internet традиційно називаються шлюзами (gateway), що є дуже невдалим терміном, тому що повсюдно в індустрії мереж цей термін застосовують для позначення пристрою з дещо іншими функціональними можливостями. Шлюзи (які ми з цього моменту будемо називати роутерами) в мережі Internet організовані відповідно до ієрархічним принципом. Деякі роутери исползуются для переміщення інформації через одну конкретну групу мереж, що знаходяться під одним і тим же адміністративним початком і управлінням (такий об'єктах називається автономною системою - autonomous system). Роутери, які використовуються для обміну інформацією в межах автономних систем, називаються внутрішніми роутерами (interior routers); вони використовують різні протоколи для внутрішніх роутерів (interior gateway protocol - IGP) для виконання цього завдання. Роутери, які переміщують інформацію між автономними системами, називаються зовнішніми роутерами (exterior routers); для цього вони використовують протоколи для зовнішніх роутерів. Архітектура Internet представлена на Рис. 18-6.
Транспортний рівень Internet реалізується ТСР і Протоколом дейтаграмою Користувача (User Datagram Protocol - UDP). ТСР забезпечує транспортування даних з встановленням з'єднання, в той час як UDP працює без встановлення з'єднання.
Протокол управління передачею (TCP)
Transmission Control Protocol (TCP) забезпечує повністю дубльовані, з підтвердженням і управлінням потоком даних, послуги для протоколів вищих рівнів. Він переміщує дані в безперервному неструктурованому потоці, в якому байти ідентифікуються за номерами послідовностей. ТСР може також підтримувати численні одночасні діалоги вищих рівнів. Формат пакета ТСР представлений на Рис. 18-8.
Поле "порт джерела" (source port) позначає точку, в якій конкретний процес вищого рівня джерела приймає послуги ТСР; поле "порт пункту призначення" (destination port) позначає порт процесу вищого рівня пункту призначення для послуг ТСР.
Поле "номер послідовності" (sequence number) зазвичай позначає номер, присвоєний першому байту даних в поточному повідомленні. У деяких випадках воно може також використовуватися для позначення номера вихідної послідовності, який повинен використовуватися в майбутній передачі.
Поле "номер підтвердження" (acknowledgement number) містить номер послідовності наступного байта даних, яку відправник пакета очікує для прийому.
Поле "зрушення даних" (data offset) позначає число 32-бітових слів в заголовку ТСР.
Поле "резерв" (reserved) зарезервовано для використання розробниками протоколу в майбутньому.
Поле "прапори" (flags) містить різну інформацію, що управляє.
Поле "вікно" (window) позначає розмір вікна прийому відправника (буферний об'ем, доступний для даних, що надходять).
Поле "контрольна сума" (checksum) вказує, чи був заголовок пошкоджений при транзиті.
Поле "покажчик терміновості" (urgent pointer) вказує на перший байт термінових даних в пакеті.
Поле "опції" (options) позначає різні факультативні можливості ТСР.
Протокол дейтаграм користувача (UDP)
Протокол UDP набагато простіше, ніж ТСР; він корисний в ситуаціях, коли потужні механізми забезпечення надійності протоколу ТСР не обов'язкові. Заголовок UDP має всього чотири поля: поле порту джерела (source port), поле порту пункту призначення (destination port), поле довжини (length) і поле контрольної суми UDP (checksum UDP). Поля порту джерела і порту призначення виконують ті ж функції, що і в заголовку ТСР. Поле довжини позначає довжину заголовка UDP і даних; поле контрольної суми забезпечує перевірку цілісності пакета. Контрольна сума UDP є факультативною можливістю.
Протокол передачі файлів (File Transfer Protocol - FTP) забезпечує спосіб переміщення файлів між комп'ютерними системами. Telnet забезпечує віртуальну термінальну емуляцію. Протокол управління простий мережею (Simle network management protocol - SNMP) є протоколом управління мережею, використовуваним для повідомлення про аномальні умовах в мережі і встановлення значень допустимих порогів в мережі. X Windows є популярним протоколом, який дозволяє терміналу з інтелектом зв'язуватися з віддаленими комп'ютерами таким чином, як якщо б вони були безпосередньо підключеними моніторами. Комбінація протоколів Network File System (NFS) (Система мережевих файлів), External Data Representation (XDP) (Представлення зовнішньої інформації) і Remote Procedure Call (RPC) (Виклик процедури звернень до віддаленій мережі) забезпечує прозорий доступ до ресурсів віддаленій мережі. Простий протокол передачі пошти (Simple Mail Transfer Protocol - SMTP) забезпечує механізм передачі електронної пошти. Ці та інші застосування використовують послуги ТСР / IP і інших протоколів Internet нижчих рівнів, щоб забезпечити користувачів базовими послугами мережі.
СерверМарк-ІТТ, Володимир Плешаков