У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент



Реферат - Протокол TCP
14

Вступ

Протокол 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, система повинна мати можливості для роботи у наступних областях:

базова передача даних достовірність управління потоком розподілення каналів работа зі з’єднаннями приорітет та безпека

Основні дії протокола TCP у кожній з цих областей описані у наступних параграфах.

Базова передача даних

Протокол TCP здатний передавати неперервні потоки октетів між своїми клієнтами в обох напрямках, пакуючи деяку кількість октетів у сегменти для передачі крізь системи Internet. У загальному випадку протоколи TCP вирішують за власним розсудом, коли проводити блокування та передачу даних. Іноді користувачам буває необхідно впевнитись в тому, що всі дані, передані їми протоколу TCP, вже відправлені. Для цього визначена функція проштовхування (push). Щоб впевнитись в тому, що дані, відправлені протоколу TCP, дійсно передані, відправник вказувє, що їх слід проштовхнути користувачеві. Проштовхування призводить до того, що програми протокола TCP одразу здійснюють відправку та, відповідно, отримання даних, що залишилися. Правильно здійснене проштовхування може бути невидиме для отримувача, а сама функция проштовхування може не мати маркера межі запису.

Достовірність

Протокол TCP повинен мати захист від руйнування даних, втрати, дубляції та порушення порядку отримання, викликаних комунікаційною системою Internet. Це досягається присвоєнням порядкового номеру кожному октету, що передається, а також вимогою підтвердження (ACK) віт програми TCP, яка приймає дані. Якщо підтвердження не отримане протягом контрольного інтервалу часу, то дані посилаються знову. З боку отримувача номери черги використовуються для відтворення порядку сегментів, які можуть бути отримані у неправильному порядку, а також для обмеження можливості появи дублікатів.

Пошкодження фіксуються шляхом додавання до кожного сегменту, що передається, контрольної суми, перевірки її приотриманні та подальшій ліквідації дефектних сегментів.

Управління потоком

Протокол TCP надає отримувачу засоби, щоб керувати кількістю даних, які посилає йому відправник. Це досягається викликом так званого "вікна" (window) разом с кожним підтвердженням, яке вказує діапазон прийнятних номерів, що йдуть за номером останнього успішно прийнятого сегменту. Вікно визначає кількість октетів, яку відправник може послати до отримання подальших вказівок.

Розподілення каналів

Щоб дозволити багатьом процесам на окремо взятому комп’ютері одночасно використовувати комунікаційні можливості рівня TCP, протокол TCP надає на кожному хост-комп’юторі набір адрес чи портів. Разом з адресами мереж та хост-компьютерів на комунікаційному рівні Internet вони утворюють сокет (socket – роз’єм).

Кожне з’єднання унікальним чином ідентифікується парою


Сторінки: 1 2 3