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


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


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


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


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


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


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


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


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


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



Лекція 6. Протоколи транспортного рівня: TCP, UDP, стек протоколів TCP/IP. Управління TCP з’єднанням.

 

TCP називають надійни, орієнтований на з'єднання транспортний протокол мережного рівня з властивостями, орієнтованими на управління з'єднанням та забезпечення надійності для обслуговування. TCP не схожий на UDP – це протокол, орієнтований на потік. В UDP процес (прикладна програма) посилає велику порцію байтів UDP для доставки, UDP додає свій власний адрес до цієї порції даних, яка тепер називається дейтаграмою, і доставляє її IP для передачі. Процес може доставляти кілька порцій даних до UDP, але UDP обробляє кожну порцію незалежно, "не дивлячись" на зв'язок між ними.

TCP дозволяє створити процес, що передає інформацію, доставляти дані як потік байт, створити процес прийому і отримувати дані як потік байтів. TCP створює середовище, де здається, що два процеси з'єднані уявної "трубою", яка переносить їх дані по мережі Інтернет. Уявна середу зображена на Рис. 5.1 передавальний процес виробляє потік байтів, а прийомний процес "поглинає" його.

 

Рис. 5.1. Передача через TCP потоку байтів

У зв'язку з тим що процеси передачі і прийому можуть виробляти і споживати дані на різних швидкостях, TCP потребує буферної пам'яті для накопичення. Є два буфера, передачі і прийому, для кожного напрямку. (Зауважимо, що ці буфери також застосовуються в TCP-механізмі управління потоком і контролем над помилками.) Один із шляхів реалізації буфера – використовувати буферні регістри зі зворотним зв'язком однобайтові сегментами, як це показано на Рис. 5.1. Для простоти ми вказали два буфери з невеликим обсягом байт. Зазвичай буфери містять сотні або тисячі байт пам'яті, в залежності від реалізації.

Рис. 5.2 показує рух даних в одному напрямку. На передавальній стороні буфер має три типи ділянок. Біла секція – порожній ділянку, яка може заповнюватися за допомогою процесу передачі (виробник). Сіра область містить байти, які передані, але на них ще не отримано підтвердження. TCP зберігає ці байти в буфері, поки не прийме підтвердження. Зафарбована темно-сірим кольором ділянка містить байти для передачі TCP. Однак, як ми побачимо пізніше в цій лекції, TCP може послати тільки частину цієї зафарбованої секції; це може відбутися через уповільнення процесу прийому або через перевантаження мережі. Також зауважимо, що після того як байти сірого ділянки підтверджені, ділянка відновлюється і стає доступною для використання процесом передачі.

 

Рис. 5.2. Передающий и принимающий буферы

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


Сегменти

На транспортному рівні TCP групує кілька байтів в пакет, званий сегментом. TCP додає заголовок до кожного сегмента (з метою контролю) і доставляє сегмент на IP-рівень для передачі. Сегмент інкапсулюється і передається в IP-дейтаграми. Сегменти можуть бути отримані випадковим чином, втрачені або спотворені і пошкоджені. Всі ці сегменти обробляються TCP і передаються процесу на стороні прийому, який не підозрює про ці дії. Рис. 5.3. показує, як сегменти з байтів переносяться в буфера.

 


Рис. 5.3. TCP сегменти

Зауважимо, що сегменти можуть відрізнятися розміром. Реально сегменти переносять сотні, якщо не тисячі байт. TCP пропонує повне дуплексне обслуговування, де дані можуть рухатися в обох напрямах одночасно. Кожен TCP тому має буфер прийому і передачі і посилає сегменти в обидва напрямки. TCP, на відміну від UDP, – протокол, орієнтований на з'єднання. Коли процес на стороні посилає і приймає дані від іншого процесу на стороні B, необхідно провести наступні дії:

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

Зауважимо, що це не фізичне, а віртуальне з'єднання. TCP-сегмент інкапсулюється в IP-дейтаграму і може посилати дані в будь-якому порядку або втратити їх, або спотворити, або передати повторно. Кожна дейтаграма може використовувати різний шлях для досягнення пункту призначення. Фізичного з'єднання не відбувається. TCP створює середовище, орієнтовану на потік у кожному напрямку, в якій він бере відповідальність за доставку байтів в заданому порядку на іншу сторону.TCP – достовірний транспортний протокол. Він використовує механізм підтвердження для перевірки збереження і нормальності прибувають даних.


Нумерація байтів


Хоча програмне забезпечення TCP зберігає трасу передачі сегмента, який посланий чи отриманий, він не має поля, в якому зазначено значення номера сегмента. Замість цього є два поля – порядковий номер байта і номер байта підтвердження. Ці два поля посилаються на номер байта, а не на номер сегмента.

TCP нумерує всі байти даних, які передаються в з'єднанні. Нумерація залежить від кожного напрямку. Коли TCP отримує байти даних від процесу і накопичує їх у буферах передачі, він нумерує їх. Нумерація не обов'язково починається від 0 – вона починається з випадкового числа. TCP генерує випадковий номер між 0 і 2 ^ 32-1 для номера першого байта. Наприклад, якщо випадає випадковий номер 1057 і всього надсилається 6000 байт, байти нумеруються від 1057 до 7056. Після того як байти пронумеровані, TCP призначає порядковий номер для кожного сегмента, який надсилається. Порядковий номер для кожного сегмента – це номер першого байта, який переноситься в цьому сегменті.


Читайте також:

  1. ERP і управління можливостями бізнесу
  2. H) інноваційний менеджмент – це сукупність організаційно-економічних методів управління всіма стадіями інноваційного процесу.
  3. III. КОНТРОЛЬ і УПРАВЛІННЯ РЕКЛАМУВАННЯМ
  4. Oracle Управління преміальними
  5. А. Видання прав актів управління
  6. АВТОМАТИЗОВАНІ СИСТЕМИ ДИСПЕТЧЕРСЬКОГО УПРАВЛІННЯ
  7. АВТОМАТИЗОВАНІ СИСТЕМИ УПРАВЛІННЯ ДОРОЖНІМ РУХОМ
  8. Адаптивні організаційні структури управління.
  9. Адміністративне право і державне управління.
  10. Адміністративний устрій і управління в українських землях під час татаро-монгольського панування.
  11. Адміністративні методи - це сукупність прийомів, впливів, заснованих на використанні об'єктивних організаційних відносин між людьми та загальноорганізаційних принципів управління.
  12. Адміністративні методи управління




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

<== попередня сторінка | наступна сторінка ==>
Ресурси | Таймер повторної передачі

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

  

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


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