Як мережні пакети розбирають дані електронної пошти та веб-сторінок

1

Як інтернет-пакети забезпечують передачу ваших даних

Вам не потрібно мати ступінь у галузі мереж, щоб розуміти, що інтернет працює на бітах. Але якщо копнути трохи глибше, ви виявите, що він працює на мережевих пакетах. Все, що ви робите в мережі, від завантаження цієї сторінки до надсилання швидкого повідомлення, розбивається на крихітні фрагменти, які називаються пакетами. Мережі, що обробляють дані таким чином, відомі як пакетно-комутовані мережі, і вони є основою сучасного зв’язку.

Коли ви надсилаєте електронний лист або запитуєте веб-сторінку, інтернет не передає все відразу. Він поділяє дані на керовані частини. Типовий пакет може містити близько 1000-1500 байт тіла вашого повідомлення. Однак це не просто «сирі» дані. Кожен фрагмент несе власну «інструкцію з експлуатації». Він включає IP-адресу відправника, IP-адресу одержувача та лічильник, який точно вказує мережі, який це пакет у загальній послідовності.

Все це передається за протоколом TCP/IP (Transmission Control Protocol/Internet Protocol)**. Це стандартна мова, яка використовує інтернет для спілкування із самим собою.

Навіщо розбивати дані на частини?

Можливо, ви запитаєте себе, чому просто не відправити весь файл повністю. Відповідь криється в ефективності та стійкості.

Як тільки пакет готовий, він відправляється до місця призначення найкращим доступним маршрутом у цю конкретну мілісекунду. Ось що може здатися дивним: кожен пакет у вашому електронному листі може слідувати своїм власним шляхом. Деякі можуть йти тим самим маршрутом, інші — ніколи не перетинатися, доки не досягнуть пункту призначення.

Такий підхід виконує дві критично важливі функції для вашого з’єднання:

  1. Балансування навантаження: Мережа може миттєво розподіляти трафік між різними апаратними засобами. Жоден сервер не перевантажується, тоді як інші простоюють.
  2. Отказостійкість: Якщо маршрутизатор виходить з ладу або кабель перерізають під час передачі, пакети, що залишилися, просто знаходять новий маршрут в обхід перешкоди. Повідомлення все одно доставляється. Мережа не зупиняється.

Як ще їх називають?

Термінологія у мережевих технологіях може бути заплутаною. Залежно від рівня мережної моделі або конкретного типу з’єднання ці пакети можуть називатися по-різному:

  • Кадр (Frame)
  • Блок (Block)
  • Осередок (Cell)
  • Сегмент (Segment)

Не дозволяйте різним назвам вводити вас в оману. Всі вони відносяться до однієї і тієї ж фундаментальної концепції: невеликим, самодостатнім одиницям даних, що переміщуються по мережі.

Анатомія пакету

Розуміння того, як ці частини з’єднуються разом є наступним кроком. Ми розглянемо конкретну структуру мережного пакета і пройдемося через реальний приклад того, як дані переміщаються з екрана на екран іншої людини.

Дані не передаються інтернетом у вигляді одного гігантського неподільного блоку. Вони розбиваються на частини.

Більшість мережевих пакетів поділяються на три чіткі частини. Ця структура невипадкова. Саме так ваш пристрій спілкується з іншим пристроєм, не плутаючись у мережі хаосу.

Ось що робить кожна частина.

Заголовок: Поштова етикетка

Заголовок – це місце, де зберігаються інструкції. Він вказує на мережу, що потрібно робити з даними, які він несе.

Уявіть конверт.

Він включає:
– Довжина: Деякі мережі використовують фіксовані розміри. Іншим потрібно, щоб заголовок вказував розмір пакета.
– Синхронізація: Кілька бітів, які допомагають пристрою, що приймає, синхронізуватися з годинником мережі.
– ** Номер пакета: ** Якщо ви відправляєте великий файл, він розбивається на безліч частин. Цей номер повідомляє одержувачу, яку саме частину він отримує.
– Протокол: Це електронна пошта? Веб-сторінка? Потокове відео? Протокол визначає тип даних.
– Адреса призначення: Куди дані направляються.
– Вихідна адреса: Звідки дані прийшли.

Без цього дані є просто шумом. Маршрутизатори дивляться на адресу призначення у заголовку та перевіряють свої таблиці пошуку. Вони визначають наступний крок маршруту.

Поле даних: Суть

Це поле даних (payload). Також називається тілом чи даними.

Це фактична інформація, яка вас цікавить. Текст листа. Пікселі зображення.

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

У нашому прикладі з електронною поштою, кожен пакет має 896 біт місця для поля даних. Заголовок займає 96 біт. Хвіст займає 32 біти. Загальний розмір пакету складає 1024 біти.

Хвіст: Перевірка на помилки

Хвіст (або футер) означає кінець пакета.

Зазвичай він містить біти для перевірки помилок. Найбільш поширеним методом є Циклічний надлишковий код (CRC).

CRC – це напрочуд розумний механізм.

Ось як він працює:
1. Відправник підсумовує всі одиниці у полі даних.
2. Він перетворює цю суму на шістнадцяткове значення.
3. Він зберігає це значення у хвості.

Коли пакет прибуває, одержувач виконує ту саму математику. Він підсумовує одиниці в отриманому полі даних. Потім він порівнює результат із значенням у хвості.

Якщо числа збігаються, пакет справний.

Якщо не збігаються? Дані було пошкоджено під час передачі. Отримувач просить відправника повторно надіслати пакет.

Жодних здогадів. Жодних битих зображень. Просто проста математична перевірка.

Збираємо все разом: Приклад з електронною поштою

Розгляньмо реальний сценарій.

Ви надсилаєте електронного листа другу. Повідомлення має довжину 3500 біт.

Мережа використовує пакети фіксованої довжини по 1024 біти.

  • Заголовок: 96 біт
  • Хвіст: 32 біти
  • Доступне поле даних: 896 біт

Щоб надіслати 3500 біт, вам потрібно чотири пакети.

  1. Пакет 1: 896 біт поля даних
  2. Пакет 2: 896 біт поля даних
  3. Пакет 3: 896 біт поля даних
  4. Пакет 4: 812 біт поля даних (залишок)

Кожен пакет містить ту ж інформацію про протокол, вашу IP-адресу, IP-адресу вашого друга і номер послідовності (1, 2, 3 або 4).

Маршрутизатори маршрутизують їх незалежно. Вони можуть навіть йти різними шляхами.

Коли вони прибувають на комп’ютер вашого друга, заголовок та хвіст видаляються. Комп’ютер дивиться на номери послідовності. Він з’єднує дані в правильному порядку.

Лист з’являється. Цілим.

Часті питання про пакетно-комутаційні мережі

Як працюють пакети в інтернеті?

Все, що ви робите у мережі, залежить від пакетів. Кожна веб-сторінка завантажується серією пакетів. Кожен електронний лист надсилається серією пакетів.

Мережі, що обробляють дані таким чином, називаються пакетно-комутаційними мережами.

Чому дані поділяються на пакети?

Ефективність.

Розбиття даних на невеликі фрагменти дозволяє мережі балансувати навантаження. Вона може маршрутизувати трафік мілісекунду за мілісекундою.

Це також забезпечує відмовостійкість. Якщо будь-яке обладнання вийде з ладу, пакети можуть бути маршрутизовані в обхід проблеми. Повідомлення все одно буде доставлене. Просто не найшвидшим способом.

Яка структура пакета?

Три частини: заголовок, поле даних та хвіст.

Заголовок містить інструкції. Поле даних містить інформацію. Хвіст містить маркери кінця пакета та перевірки помилок.

Чи є інтернет пакетно-комутаційною мережею?

Так.

Інтернет – це мережа без встановлення з’єднання. Вона використовує пакетну комутацію для всього. Між вами та сервером немає виділеної лінії. Лише пакети, що летять через мережу маршрутизаторів.

Більше про мережі

Якщо ви хочете заглибитись, ці теми безпосередньо пов’язані з тим, як працюють пакети:

  • Як працює Ethernet
  • Як працює VoIP
  • Як працює електронна пошта
  • Що таке IP-адреса?
  • Як працюють біти та байти
  • Як працюють веб-сервери
  • Як працюють домашні мережі
  • Як працюють маршрутизатори
  • Як працює інфраструктура інтернету

Для швидкого визначення ознайомтеся зі статтею про пакети на сайті whatis.com.