TCP/IP

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

TCP/IP — це абревіатура терміну Transmission Control Protocol / Internet Protocol (Протокол керування передачею / міжмережевий протокол). Фактично TCP/IP не один протокол, а декілька. Саме тому його часто називають набором, або комплектом протоколів, серед яких TCP і IP — два основні. Фактично TCP/IP представляє цей базовий набір протоколів, відповідальний за розбивання вихідного повідомлення на пакети (TCP), доставку пакетів на вузол адресата (IP) і збирання (відновлення) вихідного повідомлення з пакетів (TCP).

Історія[ред.ред. код]

TCP/IP — зародився в результаті досліджень, профінансованих Управлінням перспективних науково-дослідних розробок (Advanced Research Project Agency, ARPA) уряду США в 1970-х роках. Цей протокол був розроблений для того, щоб обчислювальні мережі дослідницьких центрів в усьому світі могли бути об'єднані у формі віртуальної «мережі мереж» (internetwork). Первісна мережа Інтернет була створена в результаті перетворення існуючого конгломерату обчислювальних мереж, що носили назву ARPAnet, за допомогою TCP/IP.

Великий внесок у розвиток стеку протоколів TCP/IP, що одержав свою назву завдяки популярним протоколам IP і TCP, вніс університет Берклі, реалізувавши протоколи стека у своїй версії ОС UNIX. Популярність цієї операційної системи привела до широкого поширення протоколів ТСР, IP та інших протоколів стека. Сьогодні цей стек використовується для зв'язку комп'ютерів світової інформаційної мережі Інтернет, а також у багатьох корпоративних мережах.

Рівні стека TCP/IP[ред.ред. код]

Стек протоколів TCP/IP (модель взаємодії відкритих систем DoD (Department of Defence)[1] міністерства оборони США) ділиться на 4 рівні: прикладний (application), транспортний (transport), міжмережевий (internet) та рівень доступу до середовища передачі (англ. network access layer, link layer, рос. Канальный уровень). Терміни, що використовуються для позначення блоку переданих даних, різні при використанні різних протоколів транспортного рівня: TCP і UDP.
На прикладному рівні це потік (TCP) і повідомлення (UDP); на транспортному — сегмент і пакет.
Як і в моделі OSI, дані більш верхніх рівнів інкапсулюються в блоки даних більше нижніх рівнів, наприклад, сегмент (TCP) або пакет (UDP) зі своїми даними і службовими заголовками інкапсулюється всередині поля «Дані» дейтаграми.[2]

Прикладний рівень[ред.ред. код]

Протоколи прикладного рівня TCP/IP визначають процедури організації взаємодії прикладних процесів (програм) різних мережевих комп'ютерів і форми подання інформації за такої взаємодії. За ознаками взаємодії прикладних процесів виділяють два типи прикладного програмного забезпечення: програма-клієнт та програма-сервер. Протоколи прикладного рівня зорієнтовано на конкретні прикладні завдання. Серед традиційних послуг, котрі забезпечують протоколи прикладного рівня з сімейства TCP/IP, сьогодні найпопулярнішими є електронна пошта — протоколи SMTP та POP3, передача файлів — FTP та TFTP, емуляція віддаленого терміналу — TELNET тощо.

З середини 1990-х років в Інтернеті активно запроваджуються послуги, які базуються на технології WWW, яка грунтується на протоколі передачі гіпертексту HTTP.

Сьогодні популярні послуги пакетної IP-телефонії на базі стандартів IETF, до яких відносяться спеціальні протоколи прикладного, транспортного і мережного рівнів, наприклад сигналізації SIP, передачі в режимі реального часу RTP та RTCP, резервування ресурсів RSVP, рекомендацій ITU H.323 тощо.

Транспортний рівень[ред.ред. код]

Протоколи транспортного рівня TCP/IP надають транспортні послуги прикладним процесам. Основними протоколами транспортного рівня TCP/IP є протокол керування передачею TCP (Transmission Control Protocol) і протокол користувальницьких дейтаграм UDP (User Datagram Protocol). Транспортні послуги цих протоколів суттєво відрізняються. Протокол UDP доставляє датаграми без установлення з'єднання. При цьому він не гарантує їхнього доставляння. Протокол TCP забезпечує надійне доставляння байтових потоків (сегментів) із попереднім встановленням транспортного дуплексного з'єднання (віртуального каналу) між модулями TCP мережних комп'ютерів. Для розв'язання транспортних завдань протоколи TCP та UDP при передачі даних формують і додають до даних свої заголовки обсягом 20 байт та 8 байт відповідно.

Кожен прикладний процес взаємодіє з модулем транспортного рівня TCP або UDP через окремий порт, що дозволяє при взаємодії систем однозначно ідентифікувати прикладні процеси. Ці порти нумеруються починаючи з нуля. При передачі запиту прикладної програми клієнта до прикладної програми сервера транспортний модуль, формуючи датаграму чи сегмент, вказує номери портів програмних модулів прикладних протоколів сервера й клієнта. З цією метою в заголовку пакета протоколу транспортного рівня виділено два поля — «порт одержувача» і «порт відправника», обсягом по 2 байти. Номери портів TCP та UDP до прикладних протоколів сервера стандартизовані IETF. Для цього надано номери в діапазоні від 1 до 1023. Наприклад, програмний модуль TCP сервера зазвичай взаємодіє з модулем протоколу HTTP через порт з номером 80. Взаємодія модуля TCP чи UDP клієнта з будь-яким модулем прикладного протоколу відбувається через порт, якому надається вільний номер більший за 1023.

Мережний рівень[ред.ред. код]

Протоколи мережного рівня TCP/IP забезпечують взаємодію мереж різної архітектури тощо. Основним протоколом мережного рівня технології TCP/IP є міжмережний протокол IP та його допоміжні протоколи: адресний протокол ARP; реверсний адресний протокол RARP (Reverse ARP); протокол діагностичних повідомлень ICMP (Internet Control Message Protocol), який надсилає повідомлення вузлам мережі про помилки на маршруті, які виникають при передачі пакетів тощо.

Головне завдання міжмережного протоколу IP — це маршрутизація пакетів даних між різнотипними комп'ютерними мережами. Для розв'язання цього завдання протокол IP підтримує IP-адресацію мереж та вузлів, використовує таблицю маршрутизації пакетів, виконує, за необхідності, фрагментацію та дефрагментацію цих пакетів.

Функціонування мережного рівня також забезпечує низка протоколів динамічної маршрутизації RIP, OSPF, які динамічно формують маршрути таблиці маршрутизації за алгоритмами вектора VDA (Vector Distance Algorithm) і стану зв'язку LSA (Link State Algorithm) відповідно; протоколів політики зовнішньої маршрутизації EGP (Exterior Gateway Protocol), BGP (Border Gateway Protocol) тощо.

Рівень доступу до середовища передачі (Network Access Layer)[ред.ред. код]

Функції:

  • відображення IP-адреси в фізичні адреси мережі (MAC-адреси);
  • інкапсуляція IP-дейтаграм в кадри для передачі по фізичному каналу і передачі кадрів.

На цьому рівні працює протокол ARP, який здійснює відображення адреси IP-> MAC.

Примітки[ред.ред. код]

Джерела[ред.ред. код]

  • Комп'ютерні мережі: [навчальний посібник] / А. Г. Микитишин, М. М. Митник, П. Д. Стухляк, В. В. Пасічник. — Львів: «Магнолія 2006», 2013ю — 256 с. ISBN 978-617-574-087-3
  • Буров Є. В. Комп'ютерні мережі: підручник / Євген Вікторович Буров. — Львів: «Магнолія 2006», 2010. — 262 с. ISBN 966-8340-69-8