Відкіля Internet знає, куди варто направити Ваші дані? Якщо Ви відправляєте лист, то, просто опустивши його в поштову скриньку без конверта, Ви не можете розраховувати, що кореспонденція буде доставлена по призначенню. Лист потрібно вкласти в конверт, написати на конверті адреса і наклеїти марку. Точно так само, як поштова відділення випливає за правилами, що визначають порядок роботи поштової мережі, визначені правила регламентують порядок роботи Internet. Ці правила називають протоколами. Міжмережевий протокол (Internet Protocol, IP) відповідає за адресацію, тобто гарантує, що маршрутизатор знає, що робити з Вашими даними, коли вони надійдуть. Випливаючи нашої аналогії з поштовим відомством, можна сказати, що міжмережевий протокол виконує функції конверта.
Деяка адресна інформація приводиться на початку Вашого повідомлення. Вона дає мережі досить зведень для доставки пакета даних.
Internet — адреси складаються з чотирьох чисел, кожне з яких не перевищує 256. При записі числа відокремлюються одне від іншого крапками, наприклад:
192.112.36.5
128.174.5.6
Адреса фактично складається з декількох частин. Оскільки Internet – це мережа мереж, той початок адреси містить інформацію для маршрутизаторів про те, до якої мережі відноситься Ваш комп'ютер. Права частина адреси служить для того, щоб повідомити мережі, який комп'ютер повинний одержати цей пакет.[1] Кожен комп'ютер у Internet має своя унікальна адреса. Тут нам знову допоможе аналогія зі службою доставки пошти. Візьмемо адресу «50 Kelly Road, Hamden, CT». Елемент «Hamden, CT» схожий на адресу мережі. Завдяки цьому конверт попадає в необхідну поштову відділення, то, що знає про вулиці у визначеному районі. Елемент «Kelly Road» схожий на адресу комп'ютера; він указує на конкретну поштову скриньку в районі, що обслуговує дану поштову відділення. Поштове відомство виконало свою задачу, доставивши пошту в потрібне місцеве відділення, а це відділення поклало лист у відповідну поштову скриньку. Аналогічним образом, Internet виконала свою задачу, коли її маршрутизатори направили дані у відповідну мережу, а ця локальна мережа – у відповідний комп'ютер.
По цілому ряді технічних причин (в основному це апаратні обмеження) інформація, що посилається по IP- мережах, розбивається на порції, називані пакетами. В одному пакеті звичайно посилається від одного до 1500 символів інформації. Це не дає можливості одному користувачеві монополізувати мережа, однак дозволяє кожному розраховувати на своєчасне обслуговування. Це також означає, що у випадку перевантаження мережі якість її роботи трохи погіршується для всіх користувачів: вона не вмирає, якщо неї монополізували кілька солідних користувачів.
Одне з достоїнств Internet полягає в тому, що для роботи на базовому рівні досить тільки міжмережевого протоколу. Мережа буде не дуже дружньої, але якщо Ви будете поводитися досить розумно, те вирішите свої задачі. Оскільки Ваші дані містяться в IP- конверт, то мережа має всю інформацію, необхідну для переміщення цього пакета з Вашого комп'ютера в пункт призначення. Тут, однак, виникає відразу кілька проблем.
По-перше, у більшості випадків обсяг інформації, що пересилається, перевищує 1500 символів. Якби пошта приймала тільки листівки, Вас би це, природно, розчарувало.
По-друге, може відбутися помилка. Поштове відомство іноді втрачає листа, а мережі іноді втрачають пакети або ушкоджують них при передачі. Ви побачите, що на відміну від поштових відділення Internet успішно вирішує такі проблеми.
По-третє, послідовність доставки пакетів може бути порушена. Якщо Ви послали по одній адресі одне за іншим два листи, то немає ніякої гарантії, що вони підуть по одному маршруті або прийдуть у порядку їхнього відправлення. Така ж проблема існує й у Internet.
Тому наступний рівень мережі дасть нам можливість пересилати більш великі порції інформації і подбати про усунення тих перекручувань, що вносить сама мережа.
4.4 Протокол керування передачею (ТСР).
Для рішення згаданих вище проблем використовується «протокол керування передачею» (Transmission Control Protocol, TCP), що часто згадують разом із протоколом IP. Як варто було б надійти у випадку, якщо Ви хочете послати кому-небудь книгу, а пошта приймає тільки листа? Вихід один: вирвати з книги всі сторінки, укласти кожну в окремий конверт і кинути всі конверти в поштову скриньку. Одержувачеві довелося б збирати всі сторінки (за умови, що жодне лист не пропав) і склеювати назад у книгу. От ці задачі і виконує ТСР.
Інформацію, що Ви хочете передати, ТСР розбиває на порції. Кожна порція нумерується, щоб можна було перевірити, чи вся інформація отримана, і розташувати дані в правильному порядку. Для передачі цього порядкового номера по мережі в протоколу є свій власний «конверт», на якому «написана» необхідна інформація. Порція Ваших даних міститься в конверт ТСР. Конверт ТСР, у свою чергу, міститься в конверт IP і передається в мережу.
На приймаючій стороні програмне забезпечення протоколу ТСР збирає конверти, витягає з них дані і розташовує них у правильному порядку. Якщо яких-небудь конвертів ні, програма просить відправника передати їхній ще раз. Після розміщення всієї інформації в правильному порядку ці дані передаються тій прикладній програмі, що використовує послуги ТСР.
Це, однак, трохи ідеалізоване представлення про ТСР. У реальному житті пакети не тільки губляться, але і перетерплюють зміни по дорозі через короткочасні відмовлення в телефонних лініях. ТСР вирішує і цю проблему. При приміщенні даних у конверт виробляється обчислення так називаної контрольної суми. Контрольна сума – це число, що дозволять приймаючий ТСР виявляти помилки в пакеті. Коли пакет прибуває в пункт призначення, що приймає ТСР обчислює контрольну суму і порівнює неї з тієї, котру послав відправник. Якщо значення не збігаються, то при передачі відбулася помилка. Приймаючий ТСР відкидає цей пакет і запитує повторну передачу.
4.5 Прикладні програми.
Більшість користувачів не випробують інтересу до потоку бітів між комп'ютерами, якими б швидкісними не були лінії і яка би екзотичної не була технологія, що дозволила його одержати. Вони хочуть швидко використовувати цей потік бітів для якихось корисних задач, будь те переміщення файлу, доступ до даних або просто гра. Прикладні програми – це частини програмного забезпечення, що дозволяють задовольнити ці потреби. Такі програми складають ще один рівень програмного забезпечення, що надбудовується над сервісом ТСР або UDP. Прикладні програми надають користувачеві засобу для рішення конкретної задачі.
Діапазон прикладних програм широкий: від доморослих до патентованих, що поставляються великими фірмами-розроблювачами. У Internet є три стандартні прикладні програми (вилучений доступ, пересилання файлів і електронна пошта), а також інші, широко використовувані, але не стандартизовані програми. У главах 5-14 показано, як використовувати найпоширеніші прикладні програми Internet.