WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Протокол ТСР. - Курсова робота

Протокол ТСР. - Курсова робота

підтвердженням, яке вказує діапазон прийнятних номерів, що йдуть за номером останнього успішно прийнятого сегменту. Вікно визначає кількість октетів, яку відправник може послати до отримання подальших вказівок.
Розподілення каналів
Щоб дозволити багатьом процесам на окремо взятому комп'ютері одночасно використовувати комунікаційні можливості рівня TCP, протокол TCP надає на кожному хост-комп'юторі набір адрес чи портів. Разом з адресами мереж та хост-компьютерів на комунікаційному рівні Internet вони утворюють сокет (socket - роз'єм).
Кожне з'єднання унікальним чином ідентифікується парою соктів. Таким чином, будь-який сокет може одночасно використовуватись у багатоьх з'єднаннях.
Співвіднесення портів та процесів здійснюється кожним хост-комп'ютером самостійно. Проте виявляється корисним зв'язувати часто використовувані процеси (такі як "logger" чи сервіс з розподіленням часу) з фіксованими документованими сокетами.
Робота зі з'єднаннями
Механізми управління потоком та забезпечення достовірності,описані вище, вимагають, щоб програми протокола TCP ініціалізували та підтримували певну інформацію про стан кожного потоку даних. Набір такої інформації, до складу якого входять сокети, номери черги, разміри вікон, має назву з'єднання. Кожне з'єднання унікальним чином ідентифікуєтся парою сокетів на двох кінцях.
Якщо два процеси бажають обмінюватись інформацією, відповідні програми протоколу TCP повинні спочатку встановити з'єднання (на кожному боці ініціалізувати інформацію про статус). По закінченню обміну інформацією з'єднання повинно бути розторгнуте чи закрите, щоб звільнити ресурсы для інших користувачів. Оскільки з'єднання повинні встановлюватися між ненадійними хост-комп'ютерами та через ненадійну комунікаційну систему Internet, то, щоб запобігти помилковій ініціалізації з'єднань, використовується механізм підтвердження зв'язку з хронометрованими номерами черги.
Приорітет та безпека
Користувачі протокола TCP можуть вимагати для своєго з'єднання приорітет та безпеку. Передбачені прийняті за замовчанням характеристики з'єднань, коли такі параметри не потрібні.
Склад та призначення полів заголовку
TCP-сегменти відправляються як IP-датаграми. Заголовок TCP, який йде за IP-заголовком, містить інформацію TCP-протоколу.
Source Port Destionation Port
Sequence Number
Acknowlegement Number
Data
Offset Reserved URG ACK PSH RST SYN FIN Window
Checksum Urgent Pointer
Options Padding
Data
Мал. 1 Заголовок TCP-пакета
Source Port (16 біт). Порт відправника.
Destination Port (16 біт). Порт отримувача.
Acknowlegement Number (32 біта). Поле номера кадру підтвердженого отримання. Якщо пакет містить встановлений контрольний біт ACK, то це поле містить номер наступного пакета даних відправника, який очікує отримувач. При встановленому з'єднанні пакет підтвердження відправляється завжди.
Data Offset (4 біта). Поле величини зміщення даних. Воно містить кількість 32-бітних слів заголовку TCP-пакету. Це число визначає зміщення розташування даних у пакеті.
Reserved (6 біт). Резервне поле.
Прапори управління:
URG: Прапор терміновості
ACK: Прапор пакету, що містить підтвердження отримання
PSH: Прапор форсованої відправки
RST: Перевстановлення з'єднання
SYN: Синхронізація чисел послідовності
FIN: Прапор закінчення передачі з боку відправника
Window (16 біт). Це поле містить кількість байт даних, яку відправник даного сегменту може прийняти, відраховану від номеру байту, зазначеного в полі Acknowlegement Number.
Checksum (16 біт). Поле контрольної суми. Це поле містить 16 біт суми побітних додатків 16-бітних слів заголовку та даних. Якщо сегмент містить в заголовку та тексті непарну кількість октетів, що мають бути враховані в контольній сумі, останній октет буде доповнений нулями зправа с тим, щоби утворити для надання контрольній сумі 16-бітне слово. Октет, що виникає при такому виравнюванні, не передається разом з сегментом по мережі. Перед вирахуванням контрольної суми поле цієї суми заповнюється нулями.
Контрольна сума, окрім всього іншого, враховує 96 біт псевдозаголовку, який для внутрішнього використання ставиться перед TCP заголовком. Цей псевдозаголовок містить адресу відправника, адресу отримувача, протокол та довжину TCP сегменту. Такий підхід забезпечує захист протоколу TCP від сегментів, що помилились у маршруті .Цю інформацію обробляє Internet протокол. Вона передається крізь інтерфейс протокол TCP/локальна мережа у якості аргументів чи результатів запитів від протоколу TCP до протоколу IP.
Адреса відправника
Адреса отримувача
Нулі PTCL Довжина TCP
Довжина TCP сегменту - это довжина TCP заголовку та поля даних, виміряна в октетах. Це не є точним вказівником кількості октетів, що передаються по мережі, вона не враховує 12 октетів псевдозаголовку, проте розрахунок цього параметру всеж проводиться.
Urgent Pointer (16 біт). Поле вказівника термінових даних. Це поле містить значення лічильника пакетів, починаючи з якого йдуть пакети підвищеної терміновості. Це поле береться до уваги лише в сегментах з встаносленим флагом URG.
Options. Поле додаткових параметрів: може бути змінної довжини.
Padding. Заповнення: змінна довжина. Заповнення (нулями) TCP-заголовку використовується для вирівнювання його по 32-бітному слову.
Встановлення з'єднання та його відміна
Розглянемо схему створення TCP-з'єднання (Мал 2).
Мал.2
Припустимо, що хосту А необхідно створити TCP-з'єднання з хостом В. Тоді А посилає на В наступне повідомлення:
1. A -> B: SYN, ISSa
Це означає, що в повідомленні, яке передає А, встановлений біт SYN (synchronize sequence number), а у поле Sequence Number встановлено початкове 32-бітне значення ISSa (Initial Sequence Number).
В відповідає:
2. B -> A: SYN, ACK, ISSb, ACK(ISSa+1)
У відповідь на отриманий від А
Loading...

 
 

Цікаве