Введення в мережні технології 1
TCP - це протокол забезпечення надійності прямих з'єднань, створений для багаторівневої ієрархії протоколів, що підтримують міжмережеві додатки. Протокол TCP забезпечує надійність комунікацій між парами процесів на хост-комп'ютерах, включених в різні комп'ютерні комунікаційні мережі, які об'єднані в єдину систему. TCP передбачає, що він може отримати простий, потенційно ненадійний сервіс для своїх датаграм з боку протоколів нижнього рівня. Протокол TCP взаємодіє з одного боку з користувачем або прикладною програмою, а з іншого - з протоколом більш низького рівня, таким як протокол Internet.
Головною метою протоколу TCP є забезпечення надійного, безпечного сервісу для логічних ланцюгів або з'єднань між парами процесів.
Якщо два процеси бажають обмінюватись інформацією, відповідні програми протоколу TCP повинні спершу встановити з'єднання (на кожному боці ініціалізувати інформацію про статус). По завершенні обміну інформацією з'єднання повинно бути закрито, щоб звільнити ресурси для надання іншим користувачам.
Оскільки з'єднання повинні встановлюватися між ненадійними хост-комп'ютерами та через ненадійну комунікаційну систему Internet, то щоб уникнути помилкової ініціалізації з'єднань використовується механізм підтвердження зв'язку з хронометрувати номерами черги.
Відкрите TCP-з'єднання з тристороннім квитированием
Для встановлення або ініціалізації з'єднання як би два протоколи TCP використовують не сам TCP, а процеси або кінцеві станції, і повинні синхронізувати початкові порядкові номери (ISN) сегментів один одного для даного з'єднання. Порядкові номери використовуються для того, щоб відстежувати послідовність обміну і гарантувати відсутність втрачених фрагментів даних, які вимагають для пересилання декількох пакетів. Початковий порядковий номер являє собою стартовий номер, який використовується при встановленні TCP-з'єднання. Обмін початковими порядковими номерами в процесі виконання послідовності встановлення з'єднання гарантує можливість відновлення втрачених даних, якщо в майбутньому виникнуть проблеми. Синхронізація виконується шляхом обміну сегментами, що несуть номера ISN та керуючий біт, званий SYN (від англійського synchronize - синхронізувати).
Мал. 6.2.1 З'єднання з тристороннім квитированием
Процес синхронізації вимагає, щоб кожна сторона надіслала свій номер ISN та отримала підтвердження і ISN від іншої сторони з'єднання. Кожна сторона повинна приймати ISN від іншої сторони і посилати позитивне підтвердження (АСК) в певному порядку, який описаний в наступній послідовності кроків.
- А> В SYN - мій порядковий номер X.
- А <В АСК — твой порядковый номер X.
- А <В SYN — мой порядковый номер Y.
- А> В АСК - твій порядковий номер Y.
Ця послідовність схожа на розмову двох людей. Перший хоче поговорити з другим і каже: "Я б хотів з вами поговорити" (SYN). Другий відповідає: "Добре, я хочу з вами говорити" (SYN, ACK). Тоді перший каже: "Прекрасно, давайте поговоримо" (АСК).
Тристороння квитирование необхідно, оскільки порядкові номери не прив'язуються до глобальних годинах мережі і протоколи TCP можуть використовувати різні механізми для вибору номера ISN. У приймача першого сегмента SYN немає способу дізнатися, чи не був цей сегмент старим затрималися, якщо він не пам'ятає останній порядковий номер, використаний в поєднанні, що не завжди можливо, і тому він повинен попросити відправника верифікувати цей сегмент SYN.
У цей момент часу будь-яка зі сторін або може почати обмін даними, або розірвати зв'язок, оскільки протокол TCP є методом тимчасової (рівноправної) зв'язку.
Просте підтвердження і робота з вікнами в протоколі TCP
Розміром вікна називають кількість сегментів, яке може бути передано в процесі очікування підтвердження. Після того як хост-машина передасть визначається розміром вікна кількість сегментів, вона повинна буде отримати підтвердження і тільки потім зможе послати будь-які інші повідомлення.
Розмір вікна визначає обсяг даних, який може прийняти приймаюча станція за один раз. Якщо розмір вікна дорівнює 1, підтверджуватися повинен кожен сегмент, і тільки після цього передається наступний. Це призводить до неефективного використання хост-машиною смуги пропускання. Метою введення механізму вікон є поліпшення управління потоком і надійності. При розмірі вікна, що дорівнює 1, спостерігається неефективне використання смуги пропускання.
Ковзаючі вікна в протоколі TCP
Для регулювання потоку даних між пристроями в протоколі TCP використовується механізм управління потоком. Приймаючий протокол TCP повідомляє посилаєш протоколу TCP розмір вікна. Цей розмір задає кількість байтів, починаючи з номера підтвердження, яке приймає TCP готовий прийняти на поточний момент.
У протоколі TCP використовуються очікувальну підтвердження, що означають, що номер підтвердження відповідає октету, очікуваному наступним. Слово "ковзне" в терміні ковзне вікно відображає той факт, що розмір вікна узгоджується динамічно під час TCP-сеансу. Використання ковзного вікна призводить до більш ефективного використання хост-машиною смуги пропускання, оскільки більший розмір вікна дозволяє передавати більший обсяг даних, відкладаючи момент отримання підтвердження.
Порядкові номери та номери підтверджень в протоколі TCP
Протокол TCP забезпечує організацію послідовності сегментів, яку випереджає підтвердження з номером, що визначає точку відліку. Перед передачею кожна дейтаграмма нумерується. На приймаючої станції протокол TCP збирає сегменти в повне повідомлення. Якщо який-небудь порядковий номер у послідовності втрачається, то сегмент з цим номером передається повторно. Крім того, якщо через заданий період часу сегмент не отримує своє підтвердження, то він теж передається повторно.
Порядкові номери та номери підтверджень є спрямованими. Це означає, що зв'язок здійснюється в обох напрямках. Крім того, протокол TCP надає можливість повною двостороння. Як наслідок, підтвердження гарантують надійність.
НОВИНИ ФОРУМУ
Лицарі теорії ефіру
Про це Корнілов написав на своїй сторінці в соцмережі.
За словами Корнілова, тоді його повідомлення було сприйнято з недовірою.
Тепер же Сміла Корнілов вирішив повернутися до цієї теми, в зв'язку з чим публікує у себе в фейсбуці фотографії загадкових ізраїльтян, які брали участь в одеській бійні.
Серед безлічі питань, на які Корнілов, за його словами, хотів би отримати відповідь, наприклад, такі:
«Чому вони випадково розгулювали по Одесі з медичним спорядженням, в гумових рукавичках, звідки вони знали заздалегідь про те, що будуть поранені й убиті? Або чому цей боєць раптом різко забув англійську, коли зрозумів, що його записують? ».
Води озер, морів і океанів північного по --------- Лушар обертаються проти годинникової -з-т - р-е-л-к-і, а води південного полушарія- в-ра - ща-ють -ся- по- ч-асів стрілкою, - обра-зуя- -гіг-ант-скі-е вод-ово-роти.
Основною причиною обертання вирів є місцеві вітру.
І чим вище швидкість вітрів тим вище швидкість обертання вирів і як наслідок, вище відцентрова сила вирів, завдяки чому підвищується рівень вод морів і океанів.
А чим нижче відцентрова сила вирів, тим нижче рівень вод морів і океанів.
Швидкість течій, по периметру морів і океанів не скрізь однакова і залежить від глибини узбережжя. У мілководній частині моря швидкість течій збільшується, а в глибоководній частині моря зменшується.
Сезонні коливання рівня вод спостерігаю-ться не по всьому узбережжю морів і океан-ів, а тільки в тих узбережжях де висока кутова швидкість течій і як наслідок, висока відцентрова сила води. (Відцентрова сила F = v / r).
На прямолінійних узбережжях, де течії не мають кутовий швидкістю, рівень вод не підвищується.