Властивості сервісу надійного доручення. 
";


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Властивості сервісу надійного доручення.



Інтерфейс між прикладною програмою і сервісом дорученняTCP/IP може бути охарактеризований такими п’ятьома властивостями:

· Орієнтація на потоки. Коли дві прикладні програми (процеси користувача) передають великі обсяги даних, то ці дані трактують як потік бітів, поділених на 8-бітові октети, які називають байтами. Надійний потоковий сервіс забезпечує на приймальній стороні таку саму послідовність октетів, яку формує передавач.

· З’єднання віртуальних кіл. Модулі програмного забезпечення протоколу в двох операційних системах комунікуються, щоб передати повідомлення через internet, перевіряють, чи передача є авторизована і тоді обидві сторони готові до обміну інформацією - встановлене з’єднання. Якщо з будь-яких причин з’єднання порушується, то обидві машини виявляють обставини і повідомляють відповідні прикладні програми. Це називають віртуальним колом.

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

· Неструктурований потік. Сервіс потоків TCP/IP не підтримує структурованих потоків даних. Прикладна програма, яка використовує сервіс потоків, повинна розуміти вміст потоку і погодити формат потоку, перш ніж ініціювати з’єднання.

· З’єднання з повним дуплексом. З’єднання, які здійснюються сервісом потоків TCP/IP, дозволяють узгоджену передачу даних в обидвох напрямках (повний дуплекс). З точки зору прикладного процесу повний дуплекс складається з двох незалежних потоків, які переміщаються в протилежних напрямках без видимої взаємодії. Потоковий сервіс, який дозволяє обмежити потік в одному напрямку при наявності даних для передачі в протилежному напрямку, називається півдуплекс (half-duplex). Перевага повного дуплексу полягає в тому, що програмне забезпечення протоколів нижчого рівня може висилати контрольну інформацію для одного потоку до джерела в датаграмах, які переносять інформацію в протилежному напрямку. Це зменшує трафік мережі.

Забезпечення надійності.

Операції TCP

Першою фазою сполучення TCP є встановлення сполучення. Це вимагає трьохходового підтвердження (three-way handshacke), чим досягається, що обидві сторони сполучення мають однозначне розуміння послідовності номерного простору віддаленої сторони сполучення. Операції встановлення сполучення такі:

q локальна система висилає до віддаленого кінця сполучення початковий номер послідовності для віддаленого порта, використовуючи пакет SYN;

q віддалена система відповідає підтвердженням (ACK) початкового номеру послідовності та початковим номером послідовності віддаленого кінця у пакеті SYN відповіді;

q локальний кінець відповідає підтвердженням (ACK) цього віддаленого номера послідовності - сполучення встановлене.

Операції цього алгоритму зображені на рис. 3.78.

 
 

Рис. 3.78. Трьохходове встановлення сполучення TCP.

Вплив цього протокольного обміну на характеристики полягає в тому, що дві системи потребують півтори періоду обігу петлі (RTT) для синхронізації станів перед висиланням даних.

Після встановлення сполучення протокол TCP керує надійним пересиланням даних між двома системами. Алгоритми, які визначають різні таймери повторного пересилання, можуть бути переозначені багато разів. TCP – це протокол з ковзним вікном і загальний принцип управління потоком базується на управлінні розміром оголошеного вікна та управлінні паузами повторного пересилання з метою оптимізації характеристик протоколу при відомих затримках і втратах пакетів у сполученні. Настроювання стеку протоколів TCP для отримання оптимальних характеристик у високошвидкісних локальних мережах з малою затримкою вимагає інших встановлень, ніж для оптимальних характеристик сполучення через комутовані телефонні лінії, і ще інших встановлень для відповідності вимогам високошвидкісних глобальних мереж. Хоч TCP пробує дослідити значення добутку затримка ´ ширина_смуги для сполучення і пробує автоматично оптимізувати швидкості потоків для оцінених параметрів мережевого шляху, однак окремі оцінки неточні і відповідні зусилля TCP оптимізувати поведінку можуть бути не цілком успішними.

Іншим критичним аспектом є те, що TCP є адаптивним протоколом управління потоком. TCP використовує основний алгоритм управління потоком для збільшення швидкості потоку даних, доки мережа не просигналізує про досягнення певного рівня насичення (звичайно пов’язаного з втратою пакетів). Тоді темп пересилання даних зменшується. Коли ж надійне пересилання встановиться знову, темп пересилання знову повільно зростає. Якщо ж надійність потоку не відновлена, то темп пересилання зменшується аж до висилання одного пакету і цілий адаптивний процес управління потоком стартує від початку.

Цей процес має ряд наслідків, пов’язаних з якістю послуг. По-перше, TCP поводиться адаптивно, а не прогнозовано. Алгоритм управління потоком побудований для збільшення темпу пересилання потоку аж до заповнення наявної мережевої перепускної здатності, а також для швидкого зменшення цього темпу, коли наявна перепускна здатність зменшується, наприклад, внаслідок взаємодії з іншим трафіком. Практично завжди існує протиріччя між ефективністю використання мережі та забезпеченням прогнозованих характеристик сесії. TCP має низький рівень прогнозованості перепускної здатності, але забезпечує ефективне використання мережевих ресурсів.

 
 

Інтерактивність у TCP. Інтерактивні протоколи звичайно скеровані на забезпечення взаємодії на рівні окремих символів, при чому кожен символ пересилається окремим пакетом, наприклад, echo. Взаємодія протоколів, яка це підтримує, показана на рис. 3.79.

Рис. 3.79. Інтерактивний обмін.

Це становить 2 байти даних, згенерованих чотирма пакетами TCP/IP, або 160 байтів службового навантаження протоколу. У TCP зроблено невеликі вдосконалення цього обміну шляхом використання вкладеності (piggybacking), коли ACK переноситься у тому самому пакеті, що й дані, і затриманого підтрвердження, коли ACK затримується на час до 200 мс перед висиланням, що дає застосуванням сервера можливість згенерувати дані, в які може бути вкладене підтвердження. Результуючий обмін протоколу зображено на рис. 3.80.

 
 

Рис. 3.80. Інтерактивний обмін з використанням затриманого підтвердження.

Для локальних мереж з малою затримкою цей протокольний обмін забезпечує прийнятні характеристики. Такий обмін окремим символом даних і його ехо виникає кожних 16 мс в мережі Ethernet, що відповідає інтерактивному темпу в 60 символів за секунду. Коли мережева затримка зростає (наприклад, у WAN), ці малі пакети можуть бути джерелом перевантажень.

 
 

Рис. 3.81. Інтерактивний обмін у WAN.

Механізм TCP, адресований до цих перевантажень малими пакетами, описаний в документі RFC 896 і відомий як алгоритм Nagle. Він забороняє надавачу пересилати будь-який додатковий малий сегмент, доки сполучення TCP має вислані непідтверджені малі сегменти. Для LAN ця модифікація алгоритму має незначний вплив, однак для WAN вприв дуже суттєвий, бо кількість малих пакетів зменшується у безпосередній кореляції з рівнем перевантаженості мережевого шляху. За це збільшуються варіації тривалості сесії (jitter) протягом періоду обігу петлі (RTT). Тому застосування, чутливі до цих варіацій, не використовують цей алгоритм.

 
 

Рис. 3.82. Інтерактивний обмін з використанням алгоритму Nagle.

TCP не є ефективним алгоритмом для пересилання інтерактивного трафіку. Типовими для протоколу в LAN є витрати 120 байтів службового навантаження на 2 байти корисного вмісту. При роботі через WAN алгоритм Nagle може помітно покращити цю ефективність, збільшуючи кількість байтів корисного навантаження у кожній транзакції, хоч це і приводить до певного збільшення варіацій тривалості сесії.

-------

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

Більшість надійних протоколів застосовує фундаментальну техніку, відому як позитивне підтвердження з ретрансмісією (positive acknowledgement with retransmission). Ця техніка передбачає, що приймач, який комунікується із джерелом, висилає назад підтвердження (acknowledgement, скорочення -ACK) - повідомлення про прийом даних. Передавач запускає таймер, коли він передає пакет, очікує підтвердження перед передачею наступного пакету, і, якщо час очікування завершився без отримання підтвердження, повторно передає (ретрансмітує) пакет.

Рис. 3.83. Функціонування протоколу передавання з підтвердженням та ретрансмісією.

На рис. 3.83 проілюстровано роботу найпростішого протоколу передавання даних з використанням позитивного підтвердження і з ретрансмісією, в якому передавач очікує підтвердження для будь-якого переданого пакету. Вертикальні стрілки вниз представляють зростання часу і діагональні лінії між ними позначають передавання пакетів. На рис. 3.84 показано ситуацію, коли пакет втрачений або пошкоджений. Штрихові лінії показують, що відбувалося б, якби пакет не був втрачений.

Рис. 3.84. Функціонування протоколу при втраті пакету.

Остання проблема надійної доставки - усунення дублювання пакетів. Дублювання виникає при занадто великій затримці при передачі, внаслідок чого наступає ретрансмісія. Усунення дублювання можливе, бо сам пакет і його підтвердження будуть здубльовані. Надійні протоколи виявляють здубльований пакет через присвоєння кожному пакету номера в послідовності та запам’ятовування на приймальній стороні, які номери псслідовності вже прийняті.

q Повнодуплексність. TCP є протоколом з повним дуплексом. Він дозволяє обидвом сторонам сполучення висилати і приймати дані в контексті одного сполучення TCP.

q Орієнтація на потоки. Хоч TCP використовує пакетну структуру для пересилання в мережі, однак TCP є справжнім потоковим протоколом і операції рівня застосувань мережі не є прозорими. Певні протоколи застосувань у явному вигляді інкапсулюють кожну транзакцію, для кожної операції висилання мусить бути узгоджена операція читання. Таким чином Сегментація потоку даних від застосування в логічній структурі потоку даних зберігається у всій мережі. На відміну від цього, протокол TCP не зберігає таку структуру в потоці даних. Наприклад, застосування TCP можуть послідовно вислати три блоки даних у мережеве сполучення, які можуть бути об’єднані у віддаленому приймачі однією операцією читання. Розмір блоку даних (сегменту), який використовується у TCP-сесії, повинен бути узгоджений на початку сесії. Висилач має намір використовувати найбільшу довжину сегменту для пересилання даних у рамках обмежень на розмір сегменту у приймача, максимальної довжини сегменту, сконфігурованої в надавача і максимальної довжини нефрагментованого пакету, яку підтримує шлях в мережі (Maximum Transfer Unit – MTU). Значення MTU для шляху періодично оновлюється для корекції всіх змін, які могли виникнути в мережі під час активності сполучення TCP.

q Адаптація швидкості пересилання. TCP є протоколом з адаптацією швидкості пересилання даних для того, щоб швидкість пересилання даних була пристосована до умов завантаженості мережі і до здатності обробки даних приймачем. Швидкість пересилання даних не визначена наперед. Якщо приймач і мережа мають додаткову ємність, то надавач TCP може вислати більше даних у мережу, використовуючи наявну перепускну здатність. Навпаки, якщо мережа перевантажена, то надавач TCP може зменшити швидкість пересилання до зменшення завантаженості мережі. Це дозволяє досягнути максимально можливої швидкості пересилання даних без порушення цілісності даних та їх втрати.

Ідея ковзного вікна.

Як видно з повищих рисунків, час простою мережі між передачею пакету і отриманням підтвердження може бути значним. Для підвищення ефективності передачі потоків даних використовується ідея ковзного вікна. Протокол ковзного вікна використовує смугу мережі краще, бо передавач може передати багато пакетів перед очікуванням підтвердження. Протокол розміщає мале вікно фіксованого розміру над послідовністю пакетів і передає всі пакети, розміщені всередині вікна. Пакет називають непідтвердженим (unacknowledged), якщо він висланий, але підтвердження не отримане. Практично число непідтверджених пакетів обмежене розміром вікна. Властивості протоколу ковзного вікна залежать від розміру вікна і швидкості, з якою мережа приймає пакети. Ключова ідея полягає в тому, що всі пакети у вікні передаються, перш ніж буде отримане будь-яке підтвердження. На рис. 5.20 показано, що після отримання підтвердження для пакету 1 вікно “ковзає” і передається наступний пакет (9-й). Рис. 3.85 ілюструє операції протоколу з ковзним вікном, який передає три пакети.

Початкове вікно      
                     
                    ...
                     
        (а)            
Вікно ковзнуло ®    
                     
                    ...
                     
        (б)            

Рис. 3.85. Ковзне вікно.



Поделиться:


Последнее изменение этой страницы: 2016-08-01; просмотров: 189; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.191.169 (0.005 с.)