АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Лекція №10. Протокол транспортного рівня

Читайте также:
  1. BGP: протокол граничных маршрутизаторов (Border Gateway Protocol)
  2. АСИНХРОННЫЕ ПРОТОКОЛЫ
  3. БИТ-ОРИЕНТИРОВАННЫЕ ПРОТОКОЛЫ
  4. Більшовизм та марксизм: порівняльний аналіз
  5. Бюджетні обмеження споживача, бюджетне рівняння та фактори впливу на бюджетну лінію.
  6. Валютний ринок і валютні курси. Системи гнучких і фіксованих валютних курсів: порівняльна ефективність
  7. ВИБІР ВИДУ ТРАНСПОРТНОГО ЗАСОБУ
  8. Вивченням власних імен людей займається порівняно молода ще наука – антропоніміка.
  9. Визначення гранично-допустимого рівня небезпечного фактору.
  10. Визначення критичної суми постійних витрат, змінних витрат на одиницю продукції і критичного рівня ціни реалізації
  11. Визначення порівняльної економічної ефективності капіталовкладень
  12. Вирішення алгебричних рівнянь графічним методом за допомогою Simulink

 

Протокол TCP (стандартизований RFC 793). Протокол забезпечує надійне передавання пакетів, які називають сегментами, у вигляді бай­тових потоків зі встановленням логічного з'єднання. Протокол TCP діє між прикладними процесами та протоколом IP мережного рівня. Паке­ти, що надходять на транспортний рівень від прикладних процесів, за допомогою операційної системи утворюють велику кількість черг, які мають точку входу до транспортного рівня. Ці черги з точками входу називають портами прикладних процесів. Порт разом з номером мережі і номером вузла визначає прикладний процес у мережі. Такий набір па­раметрів має назву сокет (socket).

Визначенням портів прикладних процесів займається організація IANA (Internet Assigned Numbers Authority). Наприклад, порт 27 закріп­лено за службою електронної пошти (smtp), а 23 - за службою віддале­ного доступу (telnet).

Протокол TCP здійснює підтримку двох черг для кожного порту: черги пакетів, які надходять від мережі, та чергу пакетів, що надходять від прикладних процесів у мережу. Обслуговання запитів від приклад­них процесів називають мультиплексуванням даних, а зворотну про­цедуру, тобто надходження пакетів від мережного рівня та їх розподіл між прикладними - процесами демультиплексуванням даних. Порт у протоколі TCP відіграє роль адреси.

Сегмент TCP складається із заголовка та поля даних. Формат заголов­ка сегмента показано на рис. 6.4.4.

• Зміщення даних - чотирибітове поле, що містить довжину заго­ловка TCP сегмента, тобто вказує на початок поля даних.

• Резерв - це поле довжиною 6 біт, заповнюється нулями і призна­чене для подальшого розширення протоколу.

• Контрольні біти - поле довжиною 6 біт і, якщо кожний біт вста­новлений в 1, то вони мають такі значення:

• біт - URG - сегмент, що містить важливі дані;

• біт - ACK - сегмент, що містить правильні дані;

• біт - PSH - включена функція, яка дозволяє швидко передати сег­мент порту, якому він адресований, а також вказує на те, що попередні сегменти досягли адресата;

• біт - RST - вказівка на переустановлення логічного з'єднання, або відповідь на неправильно переданий сегмент;

• біт - SYN - вказує на те, що сегмент є запит на встановлення логіч­ного з'єднання;

• біт - FIN - вказує на те, що даних для передавання немає і сегмент є запит на закриття логічного з'єднання.

• Розмір вікна. Це 2 байтове поле, що вказує кількість байтів, які готовий прийняти одержувач інформації. За допомогою вікна реалізує­ться функція управління потоком даних. Чим більше вікно, тим більше даних можна передати в мережу, а якщо значення поля 0, то передаван­ня даних зупиняється. Таким чином, змінюючи розмір вікна, можна впливати на завантаження мережі.

• Контрольна сума. Поле довжиною 2 байти, що містить контроль­ну суму по полях заголовка сегмента, включаючи і так званий псевдо- заголовок. Псевдозаголовок має такі поля заголовка IP-пакета: адреси джерел і приймача, поле протокол та поле довжини IP-пакета. Додання псевдозаголовка дозволяє захистити TCP сегмент від помилкової інфор­мації, що може бути передана за допомогою ІР-пакета.

• Покажчик важливості. 2-байтове поле, яке містить значення, що вказує зміщення відносно номера байта в черзі, тобто вказує номер бай­та, що йде за важливими даними. Починаючи з цього моменту байти да­них мають загальний статус. Поле використовується разом з бітом URG. Процедурні характеристики протоколу TCP.

Встановлення та закриття з 'єднання. Для цієї процедури послідов­ність дій така:

• прикладний процес, що має дані для передавання, надсилає про­токолу TCP запит на відкриття порту для передавання;

• після відкриття порту робоча станція, на якій виконується прик­ладний процес, за допомогою TCP надсилає запит (зі встановленим бі­том SYN і початковим значенням номера у послідовності даних) на ро­бочу станцію, з якою встановлюється з'єднання;

• приймальна станція відкриває порт прикладного процесу для приймання даних і відсилає квитанцію, яка підтверджує прийом запиту (поле «Номер підтвердження» на одиницю більше ніж початковий но­мер у послідовності для передавання зі встановленим бітом АСК);

• приймальна станція також відкриває свій порт для передавання і відсилає запит на передавання станції, яка ініціювала процес (встанов­лений біт SYN та початковий номер у своїй послідовності даних);

• станція - ініціатор приймає запит, відкриває свій порт для при­ймання даних та повертає квитанцію.

Після цього етапу логічне з'єднання вважається встановленим і до­зволяється обмін інформацією між прикладними процесами. \ Процедура «ковзного вікна» (sliding window) - дозволяє виконувати управління потоком даних та полягає в тому, що кожна сторона, яка бере участь у сеансі обміну інформацією, може надіслати стільки бай­тів, скільки зазначено в полі «Розмір вікна» без їх підтвердження. Тобто, вікно яке передається з кожним сегментом визначає діапазон номерів черги, які готові прийняти відправник вікна. Цей механізм пов'язаний з наявністю місця у буферній пам'яті.

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

Механізм таймерів. Якщо сегмент приймається з помилками (непра­вильна контрольна сума) чи не приймається зовсім, то в цих ситуаціях біт ACK не формується і не відсилається. В цих випадках потрібне повторне передавання. Для прийняття рішення, коли слід здійснювати повторне пе­редавання сегмента вводять поняття таймера, який відноситься до кожно­го сегмента, що передається. Якщо час таймера закінчився до одержання біта АСК, то відправник сегмента повторює передавання. Час таймера ви­бирають трохи більшим, ніж час проходження сегмента до одержувача, та одержання підтвердження від нього. Цей час називають RTT (Round Trip Time). Є два способи задавання таймера повторного передавання:

• фіксований. У даному випадку використовують фіксоване зна­чення таймера, яке визначається за статистичними даними, що характе­ризують нормальну роботу розподіленої мережі. Такий метод не дозво­ляє швидко реагувати на зміни, які можуть виникнути в мережі;

• адаптований. Коли протокол TCP постійно відстежує час одер­жання підтвердження на сегмент, що відіслав та встановлює своє зна­чення таймера. Процедура визначення таймера в цьому випадку достат­ньо складна і описана у документі RFC 793.

 

Рис. 6.4.4. Формат заголовка TCP сегмента

 

Мінімальна довжина заголовка 20 байтів. Поля заголовка сегмента мають такі призначення:

• Порт відправника та порт одержувача довжиною 16 байт кожний.

• Номер у послідовності даних довжиною 32 біти, який визначає порядковий номер першого байта даних користувача.

• Номер підтвердження довжиною 32 байти. Поле, де вказується номер підтвердження на відправлений сегмент з даними, який очікує відправник.

Протокол TCP постійно удосконалюється. Так, він дороблений для використання у ATM технології, а також модернізований та адаптова­ний для використання в мережах швидкості передавання інформації, в яких складає Терабіт/с.

Протокол UDP (стандартизований RFC 768). Це датаграмний про­токол транспортного рівня, що не встановлює логічного з'єднання та не гарантує надійного передавання даних (можлива втрата пакетів, відсут­ні механізми повідомлення відправника про правильність чи хибність його прийому з боку одержувача). Довжина заголовка UDP-пакета складає 8 байтів, що значно менше ніж заголовок TCP-сегмента. До за­головка відносяться поля порту відправника та порту одержувача (по 2 байти), поле довжини повідомлення (2 байти) та контрольна сума (2 байти). Контрольна сума має структуру таку саму, як і TCP сегмент (обчислюється по полях заголовка UDP-пакета та полях псевдозаголов- ка). Робота UDP-протоколу після отримання датаграми від мережного рівня (IP-протоколу) полягає в тому, що в першу чергу перевіряється контрольна сума заголовка. Якщо вона не вірна, то пакет знищується. В іншому випадку відбувається аналіз порту в датаграмі і вона на­правляється в чергу цього порту. Якщо черга порту переповнена, то UDP-протокол знищує датаграму. Протокол UDP-обслуговує прикладні процеси, які не чутливі до втрат інформації.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)