Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Синдром, створюваний передавачем

Закриття вікна передавача

Що відбудеться, якщо буфер приймача заповнений? У цьому випадку розмір вікна приймача має значення нуль. Коли це транслюється передавача, передавач закриває вікно (ліва і права стінки перекриваються). Передавач не може передати жодного байта, поки приймач не передасть значення розміру вікна приймача, не рівне нулю.


Синдром "дурного вікна"

Серйозна проблема може виникнути при роботі зі "ковзним вікном", коли яка-небудь передавальна прикладна програма повільно створює дані, або приймальна прикладна програма повільно приймає дані, або мають місця обидва випадки. У будь-якій з цих ситуацій результат полягає в посилці дуже маленьких сегментів, які зменшують ефективність роботи. Наприклад, якщо TCP посилає сегмент, що містить один байт даних, це означає, що ми посилаємо дейтаграму 41 байт (20 байт – TCP-заголовок і 20 байт – IP-заголовок), яка передає тільки 1 байт для користувача даних. Співвідношення заголовок/ інформація (41/1) вказує, що продуктивність мережі використовується дуже неефективно. Ця проблема називається синдром "дурного вікна". Розглянемо детальніше, як створюється ця проблема, а потім - як вона може бути вирішена.

 

 

Протокол передачі TCP може створити синдром "дурного вікна", якщо він обслуговує повільну прикладну програму, яка повільно створює дані, наприклад, 1 байт за час передачі всього вікна. Прикладна програма за цей час записує один байт в буфер передачі TCP. Якщо передавальний TCP не має жодних заданих інструкцій, він може створити сегмент, що містить один байт даних. Результат - передача великого числа 41-байтних сегментів, які проходять через Інтернет. Елементарне рішення – заборонити TCP-передавача передавати дані довжиною 1 байт. Можна алгоритм передавача поставити в режим очікування моменту, коли зберуться дані, щоб послати великий блок. Як довго має TCP чекати? Якщо очікування занадто довге, то це може уповільнити процес. А якщо чекати недостатньо, це може закінчитися посилкою маленького сегмента.
Просте рішення у разі, коли передавальний процес повільніше приймаючого, полягає в тому, щоб встановити оптимальну величину сегмента для передачі в лінію. Природно, що така передача може початися, тільки коли накопичений сегмент заданої величини і до цього часу отримано підтвердження прийому попереднього сегмента.


Алгоритм Нагла (Nagle's algorithm)


Алгоритм Нагла простий, але вирішує проблему. Цей алгоритм для передавача TCP

1. Передавач TCP посилає першу частину даних, приймач отримує цю частину від передавальної прикладної програми, навіть якщо це тільки один байт.
2. Після посилки першого сегменту TCP передавач накопичує дані у вихідному буфері та чекає, поки приймач TCP надішле підтвердження або поки накопичиться достатньо даних для заповнення максимального розміру сегмента. До цього часу TCP може передати сегмент.
3. Крок 2 може повторитися для всієї подальшої передачі. Сегмент 3 може бути посланий, якщо отримано підтвердження на сегмент 2 або накопичено достатньо даних для заповнення максимального розміру сегмента.

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




Переглядів: 406

<== попередня сторінка | наступна сторінка ==>
Ковзне вікно передавача | Контроль помилок

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.013 сек.