Урок 2 з 4 · 7 хв
Порти, TCP і UDP
Чому одна IP-адреса може запускати сотню розмов одночасно, і чому деякі з цих розмов обмінюють швидкість на надійність.
IP-адреса надсилає пакет на потрібний пристрій. Тут не вказано, яка програма на цьому пристрої має його отримати. Це завдання порту: номер, який повідомляє вашому Mac, яка програма розмовляє. Навчальний центр Cloudflare порівнює це з багатоквартирним будинком: адреса вулиці (IP) надсилає пошту в потрібну будівлю, а номер квартири (порт) – до правильних дверей.
Один зв'язок, багато дверей
Порти дозволяють комп’ютеру розрізняти різні види трафіку, навіть якщо він надходить через те саме Wi-Fi або кабельне з’єднання. Пояснення Cloudflare є прямим: «порти дозволяють комп’ютерам легко розрізняти різні типи трафіку: електронні листи, наприклад, надходять на інший порт, ніж веб-сторінки, навіть якщо обидва потрапляють на комп’ютер через одне Інтернет-з’єднання». Порти містяться в заголовках TCP і UDP, на один рівень вище простої IP-адреси; голий IP-пакет не має місця, щоб сказати, для якого порту він призначений.
Кому який номер дозволено використовувати
Номери портів варіюються від 0 до 65535, і Internet Assigned Numbers Authority (IANA) керує тим, хто який отримає: системні порти (0–1023) призначаються лише через офіційну перевірку, користувацькі або зареєстровані порти (1024–49151) можна зареєструвати для певної служби, а верхній діапазон, 49152–65535, залишається непризначеним для тимчасового використання, як-от зворотна адреса вашого браузера вибирає власний кінець з’єднання.
| Порт | Зареєстрована служба | Що зазвичай використовує |
|---|---|---|
| 22 | Безпечна оболонка (SSH) | Віддалений доступ через командний рядок |
| 25 | Проста передача пошти | Пересилання електронної пошти між поштовими серверами |
| 53 | Сервер доменних імен | DNS-пошуки |
| 80 | HTTP | Звичайні незашифровані веб-сторінки |
| 443 | HTTPS | Зашифровані веб-сторінки |
TCP: повільніше, але нічого не пропадає
Протокол керування передачею (TCP), визначений у RFC 9293, побудований як надійний: він «надає додаткам надійну послугу потоку байтів у порядку», виявляючи втрачені пакети за допомогою порядкових номерів і повторно надсилаючи їх, доки інша сторона не підтвердить отримання. Ця надійність вимагає небагато часу та додаткових витрат, тому TCP є правильним вибором для речей, які мають надійти в цілості й у порядку: веб-сторінка, завантаження файлу, електронна пошта.
UDP: швидкий і готовий трохи втратити
Протокол дейтаграм користувача, описаний у RFC 768, приймає протилежний компроміс: він «забезпечує процедуру для прикладних програм для надсилання повідомлень іншим програмам за допомогою мінімального механізму протоколу». Немає рукостискання, гарантії замовлення та автоматичного повторного надсилання. Cloudflare зазначає, що це підходить «особливо для чутливих до часу передач, таких як відтворення відео або DNS-пошук», де скинутий пакет є незначним збоєм, але чекати повторної передачі було б гірше, ніж просто рухатися далі.
Головне
- Порт — це номер, який повідомляє пристрою, для якої програми чи служби призначений пакет; лише IP-адреса ідентифікує пристрій.
- IANA керує номерами портів у трьох діапазонах: системні порти (0–1023), порти користувача/зареєстровані (1024–49151) і непризначені динамічні порти (49152–65535).
- Загальні порти включають 22 (SSH), 25 (пошта), 53 (DNS), 80 (HTTP) і 443 (HTTPS).
- TCP (RFC 9293) перевіряє та повторно надсилає втрачені дані для надійної, упорядкованої доставки за певні витрати на швидкість.
- UDP (RFC 768) пропускає ці перевірки швидкості, що відповідає чутливому до часу трафіку, наприклад пошуку відео та DNS.
Перевірте себе
1. Яку проблему вирішують порти, яку не може вирішити сама IP-адреса?
- Вони повідомляють мережі, для якої програми на пристрої призначений пакет — Правильно.
- Вони шифрують з'єднання
- Вони замінюють потребу в IP-адресі
- Вони роблять Wi-Fi швидшим
IP-адреса направляє пакет на пристрій; порт, який міститься в заголовку TCP або UDP, говорить, яка програма на цьому пристрої повинна його обробляти.
2. Який порт зареєстровано для HTTPS відповідно до реєстру IANA?
- 21
- 80
- 443 — Правильно.
- 8080
IANA вказує порт 443 як "https", який використовується для HTTP через TLS/SSL. Порт 80 – це простий, незашифрований HTTP.
3. Чому RFC 9293 описує TCP як "надійний, у порядку"?
- Оскільки TCP виявляє втрачені дані та надсилає їх повторно, а також зберігає дані в тому порядку, в якому вони були надіслані — Правильно.
- Оскільки TCP ніколи не використовує порти
- Оскільки TCP завжди швидший за UDP
- Оскільки TCP шифрує все за замовчуванням
TCP відстежує порядкові номери, щоб виявити прогалини, повторно надсилає відсутні дані та повторно збирає потік байтів у порядку.
4. Чому DNS-пошук і відтворення відео зазвичай використовують UDP замість TCP?
- UDP більш безпечний
- UDP обмінює надійність на швидкість, що відповідає трафіку, де відсутній пакет є лише незначним збоєм — Правильно.
- TCP не може використовувати порт 53
- UDP гарантує, що пакети надходять у порядку
Cloudflare зазначає, що UDP підходить «особливо для чутливих до часу передач, таких як відтворення відео або пошук DNS», саме тому, що він пропускає рукостискання TCP і накладні витрати на повторну передачу.
Застосуйте на практиці з FireAI
Застосуйте цей урок на своєму Mac.
- Дізнайтеся, куди застосунок надсилає дані, на Карті світу — Побачте точно, з якою компанією та країною тихо спілкується один застосунок.
- Правила: застосунок, сайт, домен, IP чи діапазон, назавжди або до перезавантаження — Напишіть правило точне, як одна адреса, або широке, як цілий домен.
- Глибока перевірка без розшифрування чогось — Отримайте справжню деталізацію захищеного з’єднання без того, щоб FireAI коли-небудь читав його вміст.
Джерела
- RFC 9293: Transmission Control Protocol (TCP)
- RFC 768: User Datagram Protocol
- IANA: Service Name and Transport Protocol Port Number Registry
- Cloudflare Learning: What is a computer port?
- Cloudflare Learning: What is UDP?
Застосуйте це на своєму Mac
Усі функції безкоштовно на 17 днів, без банківської картки.