Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lections (1).doc
Скачиваний:
22
Добавлен:
12.02.2016
Размер:
1.43 Mб
Скачать

Параметри тср

  1. Параметр MSS(maximum segment size)– дозволяє вузлу, який відправляє сегмент SYN оголосити свій максимальний розмір сегменту, тобто –це буде максимальна кількість даних, які він буде приймати в кожному сегменті ТСР по цьому з’єднанню.

  2. Параметр масштабування вікна – максимальний розмір, який може бути встановлений в заголовку ТСР дорівнює 65535 байт, відповідне поле має 16 біт, але високошвидкісні лінії, лінії з великою затримкою потребують великого розміру вікна для досягнення максимальної пропускної здатності. Цей параметр визначає, що оголошення в заголовку ТСР величина вікна повинна бути масштабована і зсунута вліво від 0 до 14 біт, що відповідає перемноженню на 2n, надаючи максимальне можливе вікно розміром майже в 1 Гб, тобто 65535*214. Для використання параметра масштабування вікна в з’єднанні необхідно його підтримка 2-ма вузлами, які приймають участь у з’єднанні.

Для того щоб забезпечити сумісність з більш ранніми реалізаціями в яких не підтримується цей параметр використовує наступний метод: ТСР може відправляти параметр зі своїм SYN в процесі активного відкриття сонету, але він може масштабувати вікно тільки тоді, коли з другого кінця зв’язку також буде відправлений відповідний параметр зі своїм сегментом SYN. Ця логіка передбачає наст, що недоступний в даній реалізації параметри просто ігноруються.

  1. Відмітка часу – цей параметр необхідний для високошвидкісних з’єднань, щоб уникнути можливого пошкодження даних, викликано втратою пакетів. Його обробку проводять аналогічно попереднього параметру.

Розрив з’єднання тср

Для встановлення з’єднання необхідно 3 пакети, для роз’єднання – 4 пакети.

  1. Одна з аплікацій перша викликає функцію close і ми у цьому випадку говоримо, що даний вузол виконує активне закриття. ТСР даного вузла відправляє сегмент FIN, який означає завершення передачі даних.

  2. Другий вузол, що отримує сегмент FIN виконує пасивне закриття. Отриманий сегмент FIN підтверджує ТСР. Отриманий FIN передається аплікації, який призначає кінця файлу, оскільки отриманий FIN означає для аплікації те, що вона вже не отримує ніяких даних по цьому з’єднанню.

  3. Через деякий час після того, як аплікація отримала кінець файлу, вона викликає функцію close для закриття свого сонету. При цьому його ТСР відправляється в FIN.

  4. ТСР системи, яка отримала кінцевий сегмент FIN, відправляє підтвердження отриманого FIN.

Сегмент FIN займає 1 байт простору користувацьких номерів, так само, як і SYN. Відповідно сегмент ACK кожного сегмента FIN – це користувацький номер FIN +1. На рисунку продемонстровано, як клієнт виконує активне закриття. Але активне закриття може виконати любий вузол як клієнт, так і сервер.

Діаграма станів тср

Операції ТСР при встановленні і розриві з’єднання можна визначити за допомогою діаграми станів ТСР.

Для функціонування програм протокола ТСР, які знаходяться на кожній сторінці з’єднання починається зі стануCLOSED. Для виводу системи з цього стану одне з прикладних програм повинна виконати команду пасивного відкриття з’єднання або команду активного відкриття з’єднання (ініціатор). Якщо аплікація виконує активне відкриття в стані CLOSED термінал відправляє сегмент SYN і вона переходить у стан SYN_SENT. Як тільки зі сторони сервера отримано SYN, ACK – він відправляє сегмент ACK і наступним стає в стан ESTEBLISHED (з’єднання встановлено). В цьому стані відбувається обмін даними. Її стрілки, які йдуть з ESTEBLISHED відносяться до розриву з’єднання. Якщо appl викликає функцію CLOSE перед отриманням признаку кінця файлу або активне закриття відбувається перехід до стану FIN_WAIT1. Якщо appl отримує FIN в стані ESTEBLISHED (пасивне закриття) відбувається перехід в стан CLOSE_WAIT(очікування закриття).Нормальні переходи клієнта відображенні за допомогою грубих ліній, а для сервера – штриховими.

Де є appl- це переходи між сигналами, коли аплікації переходять між вказаними станами (вказує операцію).

recv – коли отримує вказаний сегмент. send – вказує, що відправляється при цьому переході.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]