2. Мережі IP.
_______________________________________________________________________________________
___________________________________________________________________________________________________
М. Павликевич. Телекомунікаційні мережі. Навчальний посібник для студентів спеціальності
"Інформаційні мережі зв'язку, 2009.
нумерує їх та пересилає кожен окремо на рівень IP. Програмний рівень IP поміщає кожен сегмент в
IP-данограму, додаючи заголовок, який містить, зокрема, IP-адресу призначення, Навіть коли кожен
пакет має однакову адресу призначення, він може бути маршрутизований через мережу по-різному.
Коли клієнтська программа станції-призначення отримує данограму, TCP-стек реасемблює
індивідуальні сегменти і забезпечує правильну їх послідовність у потоці до ужиткової програми.
Таким чином, протокол IP дбає про доручення данограм, а TCP займається утримання інформації про
індивідуальні порції даних (сегменти), на які він ділить повідомлення для ефективної маршрутизації
через мережу.
TCP надає послугу надійного доручення, тобто доручення потоку даних, висланих від однієї
станції до іншої, без повторень, помилок чи порушення порядку слідування байтів. Оскільки
пересилання данограм ненадійне, то для гарантування надійності пересилання використовується
техніка позитивного підтвердження (positive acknowledgment) з повторним пересиланням в разі
потреби. Ця фундаментальна техніка вимагає від приймача відповідати повідомленням-
підтвердженням на прийняті ним дані. Надавач утримує запис кожного висланого ним пакету і очікує
на підтвердження перед висиланням наступного пакету. Надавач також підтримує таймер, який
вказує момент висилання пакету, і здійснює повторне висилання, якщо цей таймер вичерпується.
Таймер потрібний у випадках, коли пакет пошкоджений або втрачений.
Внаслідок перевантаження мережі, балансування навантаження трафіку або внаслідок інших
непередбачуваних мережних обставин IP-данограми можуть бути втрачені або доручені з
порушенням їх початкової послідовності. TCP виявляє ці проблеми, спричиняє повторне пересилання
втрачених пакетів, перевпорядковує пакети з порушеною послідовністю і навіть допомагає
мінімізувати перевантаження мережі, зменшуючи появу інших проблем. Як тільки TCP-приймає
відновить ідеальну копію даних, які були вислані, він пересилає їх до ужиткової програми. Таким
чином TCP відділяє комунікацію ужиткових програм від подробиць мережної взаємодії.
Отже, основний метод роботи протоколу TCP включає:
обмін спеціальними сегментами для започаткування і припинення потоку даних між двома
станціями, тобто встановлення і припинення сполучення;
інкапсуляцію даних від застосувань вищих рівнів у сегменти TCP;
інкапсуляцію сегментів у IP-данограму;
пов’язання номера послідовності з кожним байтом у потоці даних;
забезпечення цілісності потоку даних.
TCP використовується у багатьох поширених ужиткових протоколах і програмах. Однак,
оскільки TCP оптимізований більше для надійного, ніж для вчасного доручення, то для нього
характерна відносно висока затримка (порядку секунд) внаслідок очікування на перевпорядкування
або на повторне пересилання втрачених пакетів. Це мало придатне для застосувань реального часу,
таких як Voice over IP. Для таких застосувань замість TCP рекомендують вживати інші протоколи,
наприклад, Real-time Transport Protocol (RTP), який базується на протоколі UDP.
8.1.2. Процеси, порти, сполучення і гнізда
8.1.2.1.
Процеси.
Існує багато означень поняття процес у комунікаційних і комп’ютерних системах загального
призначення. Найбільш типове з них – це стан програми, яка виконується в комп’ютерній системі,
здатній до параллельного і незалежного виконання декількох программ.
Комунікація між процесами виникає тоді, коли один процес пересилає інформацію до іншого
процесу або отримує інформацію від нього, при чому обидва процеси виконуються у тій самій
системі або в різних системах, сполучених через мережу. Типові приклади механізмів комунікації
між процесами включають файли (обмежені до спільної файлової системи), канали (придатні тільки
тоді, коли процеси спільно використовують загальний породжуючий процес), спільну пам’ять,
іменовані канали, пересилання повідомлень і гнізда (sockets). Абстракція гнізда є придатним методом
здійснення комунікації між процесами, базованої на мережі, в багатьох системах. Гнізда
забезпечують програмний інтерфейс до Транспортного рівня – протоколу TCP.