Протокол TCP\IP

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


Історія та перспективи стека TCP / IP

ICA21RVHG.jpg

Transmission Control Protocol / Internet Protocol (TCP / IP) - це промисловий стандарт стека протоколів, розроблений для глобальних мереж.

Документи RFC описують внутрішню роботу мережі Internet. Деякі RFC описують мережеві сервіси або протоколи та їх реалізацію, у той час як інші узагальнюють Стандарти TCP / IP опубліковані в серії документів, названих Request for Comment умови застосування. Стандарти TCP / IP завжди публікуються у вигляді документів RFC, але не всі RFC визначають стандарти. DoD) більше 20 років тому для зв'язку експериментальної мережі ARPAnet з іншими сателітними мережами як набір загальних протоколів для різнорідної обчислювальної середовища. Мережа ARPA підтримувала розробників і дослідників у військових областях. У мережі Стек був розроблений з ініціативи Міністерства оборони США (Department of Defence, ARPA зв'язок між двома комп'ютерами здійснювалася з використанням протоколу Internet Protocol (IP), який і донині є одним з основних у стеку TCP / IP і фігурує в назві стека. Великий внесок в розвиток стека TCP / IP вніс університет Берклі, реалізувавши протоколи стека у своїй версії ОС UNIX. Широке розповсюдження ОС UNIX призвело і до широкого поширення протоколу IP і інших протоколів стека. На цьому ж стеку працює всесвітня інформаційна мережа Internet, чиє підрозділ Internet Engineering Task Force (IETF) вносить основний внесок у вдосконалення стандартів стека, що публікуються у формі специфікацій RFC. Якщо в даний час стек TCP / IP поширений в основному в мережах з ОС UNIX, то реалізація його в останніх версіях мережевих операційних систем для персональних комп'ютерів (Windows NT 3.5, NetWare 4.1, Windows 95) є хорошою передумовою для швидкого зростання числа установок стека TCP / IP. Отже, провідна роль стека TCP / IP пояснюється наступними його властивостями:

  • Це найбільш завершений стандартний і в той же час популярний стек мережевих протоколів, що має багаторічну історію.
  • Майже всі великі мережі передають основну частину свого трафіку за допомогою протоколу TCP / IP.
  • Це метод одержання доступу до мережі Internet.
  • Цей стек є основою для створення intranet-корпоративної мережі, що використовує транспортні послуги Internet і гіпертекстове технологію WWW, розроблену в Internet.
  • Всі сучасні операційні системи підтримують стек TCP / IP.
  • Це гнучка технологія для з'єднання різнорідних систем як на рівні транспортних підсистем, так і на рівні прикладних сервісів.
  • Це есті Структура стека TCP / IP.

Коротка характеристика протоколів

Оскільки стек TCP / IP був розроблений до появи моделі взаємодії відкритих систем ISO / OSI, то, хоча він також має багаторівневу структуру, відповідність рівнів стека TCP / IP рівням моделі OSI досить умовно. Структура протоколів TCP / IP наведена на малюнку 2.1. Протоколи TCP / IP поділяються на 4 рівня.

Короткий висновок

Про TCP / IP можна було б розповісти багато більше, але є три ключові моменти:

  • TCP / IP - це набір протоколів, які дозволяють фізичним мережам об'єднуватися разом для утворення Internet. TCP / IP з'єднує індивідуальні мережі для утворення віртуальної обчислювальної мережі, в якій окремі головні комп'ютери ідентифікуються не фізичними адресами мереж, а IP-адресами.
  • В TCP / IP використовується багаторівнева архітектура, яка чітко описує, за що відповідає кожен протокол. TCP і UDP забезпечують високо рівневі службові функції передачі даних для мережевих програм, і обидва спираються на IP при передачі пакетів даних. IP відповідає за маршрутизацію пакетів до їх пункту призначення.
  • Дані, що переміщаються між двома прикладними програмами, що працюють на головних комп'ютерах Internet, "подорожують" вгору і вниз по стеку TCP / IP на цих комп'ютерах. Інформація, додана модулями TCP / IP на стороні відправника, "розрізається" відповідними TCP / IP-модулями на приймаючій кінці і використовується для відтворення вихідних даних.

Стек протоколів TCP / IP називають набір мережевих протоколів, що використовуються в Інтернет. У цьому стеку розрізняють кілька рівнів, і протоколи високого рівня завжди базуються на протоколах більш низьких рівнів.

1.У самому низу знаходяться фізичний рівень і канальний рівень. Приклад протоколу - Ethernet, що описує передачу даних по коаксіальному кабелю або кручений парі. Протоколи цих рівнів зазвичай реалізуються на рівні заліза, наприклад, в мережевої карти комп'ютера.

2.Вище йде мережевий рівень, де знаходиться протокол IP, що описує структуру мережі та доставку пакетів. Ще вище - транспортний рівень, де знаходиться протокол TCP, що використовується для передачі даних. Ці протоколи звичайно реалізуються на рівні Операційної Системи.

На самому верху знаходиться безліч протоколів прикладного рівня, що виконують конкретні прикладні завдання. Зазвичай вони програмуються в окремих додатках. IP - протокол, що лежить в основі Інтернету, його назва так і розшифровується: Internet Protocol. Згідно з протоколом, кожен вузол в мережі має свій IP адреса, що складається з 4х байт і зазвичай записується як nnnn Кожен вузол прямо «бачить» тільки вузли у своїй під мережі, з «схожими» адресами (докладніше див Маска під мережі). А іншим вузлам він передає пакети через проміжні вузли - Маршрутизатори. Подивитися, як виглядає маршрут пакета від вашого комп'ютера до інших вузлів, можна за допомогою команди traceroute.

CP протокол базується на IP для доставки пакетів, але додає дві важливі речі:

  • з'єднання - це дозволяє йому, на відміну від IP, гарантувати доставку пакетів
  • порти - для обміну пакетами між додатками, а не просто вузлами

Протокол TCP призначений для обміну даними - це «надійний» протокол, тому що: 1. Забезпечує надійну доставку даних, тому що передбачає встановлення логічного з'єднання; 2. Нумерує пакети і підтверджує їх прийом квитанцією, а в разі втрати організовує повторну передачу; 3. Ділить передається потік байтів на частини - сегменти - і передає їх нижнього рівня, на приймальній стороні знову збирає їх у безперервний потік байтів. 4.З'єднання починається з handshake (рукостискання): 5. Вузол A посилає вузла B спеціальний пакет SYN - запрошення до з'єднання 6. B відповідає пакетом SYN-ACK - згодою про встановлення з'єднання 7. A посилає пакет ACK - підтвердження, що згода отримана Після цього TCP з'єднання вважається встановленим, і програми, що працюють в цих вузлах, можуть надсилати один одному пакети з даними. «З'єднання» означає, що вузли пам'ятають один про одного, нумерують всі пакети, що йдуть в обидва боки, посилають підтвердження про отримання кожного пакету і перепосилают загубилися по дорозі пакети.

Для вузла A це з'єднання називається що виходить, а для вузла B - входять. Відзначимо, що ці терміни не мають ніякого відношення до вхідного або вихідного трафіку. Вони показують тільки ініціатора з'єднання, тобто напрямок самого першого пакету (SYN). Будь-яке встановлене TCP з'єднання симетрично, і пакети з даними по ньому завжди йдуть в обидва боки. UDP - це ще один протокол транспортного рівня. Він теж базується на IP і теж використовує порти, але на відміну від TCP він не встановлює з'єднань і не вимагає підтвердження отримання кожного пакету. Тому пакети можуть втрачати або приходити в неправильному порядку. Зате цей протокол швидше й використовує менше ресурсів. На UDP зазвичай базуються прикладні протоколи, яким швидкість доставки даних важливіше надійності, наприклад для передачі потокового відео, спілкування голосом або онлайнових ігор.

Прикладні протоколи

Більшість прикладних протоколів базується на TCP. У багатьох протоколів прикладного рівня для серверів визначені стандартні порти, що використовуються за замовчуванням. Найвідоміші прикладні протоколи та їх стандартні порти:

  • HTTP - основою протокол всесвітньої павутини (TCP порт 80)
  • SMTP - протокол пересилання пошти (TCP порт 25)
  • FTP - протокол передачі файлів (TCP порт 21)
  • DNS - протокол зіставлення доменних імен IP адресами (UDP порт 53)

Джерела інформації

Корисні посилання