Протокол TCP
Вступ
Протокол TCP (Transmission Control Protocol) є одним з базових протоколів транспортного рівня мережі Internet. Цей протокол дозволяє виправляти помилки, які можуть виникнути в процесі передачі пакетів, та є протоколом зі встановленням логічного з’єднання - віртуального каналу. По цьому каналу передаются и приймаются пакети з реєстрацією їх послідовності, здійснюється управління потоком пакетів, организовуєтся повторна передача спотворених пакетів; наприкінці сеансу канал розриваєтся. При цьому протокол TCP є єдиним базовим протоколом з сімейства TCP/IP, який має додаткову систему ідентифікації повідомлень та з’єднання. Саме цьому протоколи прикладного рівня FTP та TELNET, що надають користувачам віддалений доступ на хости Internet, реалізовані на базі протокола TCP.
Протокол TCP забов'язаний забезпечити надійний сервіс для комунікацій між процесами в багатомережній системі. Протокол TCP повинен бути спільним протоколом для комунікацій між хост-комп’ютерами у великій кількості мереж.
Отже, TCP - це протокол забезпечення надійності прямих з’єднань, створений для багаторівневої ієрархії протоколів, що підтримують міжмережні застосування. Протокол TCP забезпечує надійність комунікацій між парами процесів на хост-комп’ютерах, під’єднаних до різних комп’ютерних комунікаційних мереж, які з’єднані в єдину систему. Щодо надійності протоколів більш низького, ніж TCP, рівня зроблені досить скромні вимоги. TCP передбачає, что він може отримати простий, потенційно ненадійний сервіс для своїх датаграм з боку протоколів нижнього рівня. В принципі, протокол TCP повинен бути роботоздатним на великому наборі комунікаційних систем, починаючи з кабельних з’єднань та закінчуючи мережами з переключенням пакетів чи електричних ланцюгів.
TCP займає в багаторівневій архітектурі протоколів нишу безпосередньо над протоколом Internet, який дозволяє протоколу TCP відправляти та отримувати сегменти інформації змінної довжини, замкнені в оболонку Internet датаграм. Internet датаграма надає засоби для адресацій відправника та отримувача сегментів TCP в різних мережах. Протокол Internet також здійснює будь-яку фрагментацію та зборку сегментів TCP, необхідну для здійснення передачі та доставки через велику кількість мереж та проміжних шлюзів. Протокол Internet також обробляє інформацію про приорітет, класифікацію безпеки, а також здійснює розмежування TCP сегментів. Так що ця інформація може бути передана напряму крізь множину мереж.
Інтерфейси
Протокол TCP взаємодіє з одного боку з користувачем чи прикладною програмою, а з іншого - з протоколом більш низького рівня, таким як протокол Internet.
Інтерфейс між прикладним процесом та протоколом TCP складається з набору викликів, які схожі на виклики операційної системи, що надаються прикладному процесу для управління файлами. Наприклад, в цьому випадку існують виклики, щоб відкрити та закрити з’єднання, відправити та отримати дані при встановлених з’єднаннях. Передбачається також, що протокол TCP зможе асинхронно взаємодіяти з прикладними програмами. Інтерфейс мІж протоколом TCP та протоколами більш низького рівня заданий значно меншою мірою, за винятком того, має існувати деякий механізм, за допомогою якого ці два рівня можуть асинхронно обмінюватися інформацією один з одним. Вважається, що протокол нижнього рівня задає цей інтерфейс. Протокол TCP зпроектований таким чином, щоб працювати з досить різноманітним середовищем об’єднаних комп’ютерных мереж.
Дія
Як зазначалося раніше, головною метою протокола TCP є забезпечення надійного, безпечного сервису для логічних ланцюгів чи з’єднань між парами процесів. Щоб забезпечити такий сервіс, базуючись на менш надійних комунікаціях Internet, система повинна мати можливості для роботи у наступних областях:
-базова передача даних
-достовірність
-управління потоком