Алгоритм передачі інформації в мережі Internet
У зв'язку з особливою роллю протоколів ТСР/IР у мережі Internet розглянемо їх більш докладно. Знання цього сімейства протоколів допоможе довідатись, як працює Internet. Передана мережею інформація розбивається на пакети — невеликі (не більше 1500 символів) порції даних. Пакети посилають незалежно один від одного, а в пункті прийому збирають у потрібній послідовності. Такий режим передачі називається дейтаграмним. Інакше кажучи, протоколи ТСР/IР розподіляють інформацію по великій кількості дейтаграм, після чого в пункті прийому перевіряють їх достовірність і збирають знову. Протоколи ІР керують адресацією, послідовністю і пересиланням. Протоколи ТСР/ІР відносяться до транспортного рівня Еталонної моделі взаємодії відкритих систем і не залежать від протоколів інших рівнів цієї моделі. Завдяки цьому протоколи ТСР/IР ідеально підходять для сучасної Internet Коли сорок (чи близько того) мільйонів людей використовують у своїй роботі найрізноманітніші системи, значно зручніше здійснювати перевірку помилок на рівні протоколу, який підтримують усі ці системи.
У ТСР/IР для перевірки правильності пакета використовується механізм, що зветься контрольна сума. Контрольна сума — це число, що поміщається у дейтаграму й обчислюється за спеціальним алгоритмом для всіх символів дейтаграми. Заголовок містить також номер дейтаграми в переданій послідовності дейтаграм, призначений для визначення порядку дейтаграм при відновленні первісної інформації. Після додавання заголовка ТСР передає дейтаграму протоколу ІР.
Протокол ІР додає до кожної дейтаграми заголовок адреси. Заголовок містить у собі адреси відправника й одержувача кожної дейтаграми. Після цього ІР передає дейтаграму комп'ютеру-відправнику, що використовує власний протокол (наприклад, протокол Internet Point-to-Point(точка-точка) чи скорочено — РРР)і поміщає дейтаграму в кадр даних.
Поки кадр даних подорожує в Internet, він проходить через кілька ІР-маршрутизаторів Internet. Кожен маршрутизатор читає адресу призначення кадру і вибирає адресу наступного маршрутизатора, якому потрібно послати кадр, щоб той досяг пункту призначення. Внаслідок того, що потік інформації в мережі ніколи не буває постійним, різні кадри можуть проходити через різні маршрутизатори. Крім того, деякі маршрутизатори можуть не працювати з якоїсь причини. Якщо маршрутизатор ІР виявляє, що адреса зайнята чи не працює, то він вибирає альтернативну адресу, за якою і посилає кадр.
З усього цього випливає, що кадри можуть прибути за призначенням зовсім не в тому порядку, у якому вони були відправлені з вихідного пункту, отже, їх потрібно перевірити і розташувати один за одним. Після того як комп'ютер прийняв кадр, він одразу перевіряє заголовок кадру, щоб впевнитися у коректності дейтаграми, що міститься в ньому. ІР відповідає за адресу кожної дейтаграми, а ТСР перевіряє коректність дейтаграми. Для цього розраховується контрольна сума і порівнюється з вихідною. Якщо контрольні суми не збігаються, то ТСР надсилає запит на повторне відправлення пакета. Після одержання і перевірки усіх дейтаграм ТСР відновлює їхній порядок, видаляє заголовки і передає інформацію комп'ютеру — одержувачу.
ПРИЗНАЧЕННЯ ПАКЕТІВ ТА ЇХ СТРУКТУРА
Пакет – блок даних певного розміру, що передається мережею з одного пристрою на інший.
Блок даних – порція даних, що передається як єдине ціле.
1. Інформація в локальних мережах, як правило, передається окремими порціями. Якби інформація передавалась зразу, безперервно, без розділення на пакети, то це призвело б до монопольного захвату мережі одним з абонентів на досить довгий час. Всі інші абоненти мусили б чекати на закінчення передавання інформації, на що іноді було б необхідно декілька секунд, а інколи (наприклад, при копіювання жорсткого диску) і декількох хвилин. Тобто, пакети використовують, щоб зрівняти в правах всіх абонентів мережі, а також час доступу до мережі і швидкість передачі даних для всіх абонентів.
2. Важливо також і те, що при передаванні великих масивів інформації стає досить високою ймовірність помилки внаслідок перешкод та збоїв. Наприклад, при характерному для локальної мережі значенні ймовірності одиночної помилки в 10-8 пакет довжиною в 10 кбіт буде викривлений з ймовірністю 10-4, а масив довжиною в 10 Мбіт – з ймовірністю 10-1. До того ж, знайти помилку в масиві з декількох мегабайт набагато складніше, ніж в пакеті з декількох кілобайт. При знаходженні помилки прийдеться повторити передавання всього масиву, що більш складно, ніж знову передати невеликий пакет. Тим паче, що при повторному передаванні масиву ймовірність помилки знову ж таки залишається досить високою. Так може тривати до нескінченності.
3. з іншого боку, пакети мають перевагу і над побайтовим (8 біт) і над пословним (16 біт або 32 біти) передаванням, тому що збільшується корисне завантаження мережі за рахунок зменшення необхідної кількості службової інформації. Це саме відноситься і до маленьких пакетів довжиною в декілька байт. Кожний пакет обов’язково містить в собі біти, які мають відношення безпосередньо до передавання інформації по мережі (біти адресації, стартові біти, біти типу і номера пакету ...). При маленьких пакетах частка цієї службової інформації буде досить значною, що призведе до зниження швидкості передавання корисної інформації між абонентами мережі.
Існує оптимальна довжина пакету (або оптимальний діапазон довжини пакетів), при якій середня швидкість обміну інформацією по мережі буде максимальною. Ця довжина не є сталою. Вона залежить від рівня заваж, від метода керування обміном, від кількості абонентів мережі, від характеру інформації, яка передається тощо.
Структура пакету визначається насамперед апаратними особливостями кожної мережі, обраною топологією і середовищем передавання даних, від протоколу, який використовується. Тобто для кожної мережі структура пакету різна. Але є деякі загальні принципи формування пакету, що визначаються характерними особливостями обміну інформацією по будь-яким локальним мережам.
ТИПОВА СТРУКТУРА ПАКЕТУ
1 – Стартова інформація, або преамбула – забезпечує настроювання апаратури адаптера або іншого мережевого пристрою на приймання та обробку пакета. Це поле може бути відсутнім або зводитись до одного єдиного біту.
2 – Мережева адреса приймаючого абонента (ідентифікатор приймача) – тобто індивідуальний або груповий номер, наданий кожному абоненту мережі. Ця адреса дозволяє приймачу розпізнати пакет, який адресований йому особисто, групі, в яку він входить або всім абонентам мережі одночасно.
3 - Мережева адреса передаючого абонента (ідентифікатор передавача) – тобто індивідуальний або груповий номер, наданий кожному абоненту мережі, який передає інформацію. Ця адреса інформує абонента, що приймає інформацію, звідки прийшов цей пакет. Введення цієї інформації в пакет необхідно внаслідок того, що одному приймачу можуть позмінно приходити пакети від різних передавачів.
4 – Службова (керуюча) інформація вказує на тип пакету, його номер, розмір, формат, маршрут його доставляння, на те, що з ним робити приймачу тощо.
5 – Дані – та інформація, заради якої використовується пакет.
Існують також спеціальні керуючі пакети, які не мають поля даних. Їх можна розглядати як мережеві команди. Керуючі пакети можуть виконувати функцію початку сеансу зв’язку, закінчення сеансу зв’язку, підтвердження приймання інформаційного пакету, запиту інформаційного пакету тощо.
Пакети, що мають поле даних, називають інформаційними пакетами.
6 – Контрольна сума пакету – це числовий код, формуємий передатчиком за визначеними правилами і який містить в стисненому вигляді інформацію про весь пакет. Приймач, повторюючи обчислення, зроблені передатчиком, над прийнятим пакетом,порівнює результат з контрольною сумою і робить висновки про те, що пакет переданий вірно чи з помилкою. Якщо пакет прийнятий з помилкою, то приймач надсилає запит на його повторне передавання.
7 - Стопова комбінація – необхідна для інформування апаратури абонента, що приймає інформацію, про закінчення пакету. Забезпечує вихід апаратури приймача зі стану приймання. Це поле може бути відсутнім, якщо використовують самосинхронізуючий код, який констатує факт передавання пакету.
МОЖЛИВА СТРУКТУРА ПАКЕТУ
1 – Початкове керуюче поле пакету (заголовок пакету) – поле, яке містить в собі стартову комбінацію, мережеві адреси приймача і передавача, службову інформацію.
2 – Поле даних пакету.
3 – Кінцеве керуюче поле пакету (завершення, трейлер) – містить в собі контрольну суму і стопову комбінацію, а також, можливо, керуючу комбінацію.