[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-ustroystvo-pk-i-seti-chem-otlichayutsya-tcp-i-udp":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":21,"progress":22,"seo":23},230,"chem-otlichayutsya-tcp-i-udp",7,"ustroystvo-pk-i-seti","Устройство ПК и сети","🖥️","Чем отличаются TCP и UDP?","**TCP (Transmission Control Protocol)** — протокол транспортного уровня (L4), обеспечивающий надёжную, упорядоченную доставку потока байтов с установлением соединения.\n\n**UDP (User Datagram Protocol)** — протокол транспортного уровня (L4), обеспечивающий быструю доставку дейтаграмм без установления соединения и без гарантий доставки.\n\n> **Аналогия из жизни:** TCP — это заказное письмо с уведомлением о вручении: вы точно знаете, что оно дошло, и получите подтверждение. UDP — это открытка, брошенная в почтовый ящик: быстро и дёшево, но без гарантий, что дойдёт.\n\n### Сравнение TCP и UDP\n\n| Свойство | TCP | UDP |\n|---|---|---|\n| Тип соединения | Ориентирован на соединение (connection-oriented) | Без установки соединения (connectionless) |\n| Надёжность | Гарантированная доставка, повторная отправка при потере | Нет гарантии доставки |\n| Порядок данных | Гарантирован (данные приходят в том же порядке) | Не гарантирован |\n| Контроль потока | Есть (flow control, sliding window) | Нет |\n| Контроль перегрузки | Есть (congestion control) | Нет |\n| Размер заголовка | 20–60 байт | 8 байт |\n| Скорость | Ниже (из-за накладных расходов) | Выше |\n| Тип данных | Поток байтов (stream), без границ сообщений | Дейтаграммы (datagram), с границами сообщений |\n| Дуплексность | Full-duplex | Full-duplex |\n\n### Когда использовать TCP\n\n- Нужна надёжная доставка без потерь: HTTP\u002FHTTPS, SSH, FTP, SMTP, базы данных (JDBC)\n- Важен порядок данных\n- Можно позволить некоторую задержку ради надёжности\n\n### Когда использовать UDP\n\n- Важна скорость и минимальная задержка: онлайн-игры, голосовая\u002Fвидеосвязь (VoIP, WebRTC), видеостриминг\n- Потеря отдельных пакетов допустима (лучше пропустить кадр видео, чем ждать повторной передачи)\n- DNS-запросы (обычно UDP, порт 53)\n- DHCP (автоматическое получение IP-адреса)\n\n### Механизмы надёжности TCP\n\n- **Sequence numbers** — каждый байт в потоке нумеруется, получатель собирает данные в правильном порядке\n- **ACK (Acknowledgment)** — получатель подтверждает получение данных\n- **Retransmission** — если ACK не получен за определённый таймаут (RTO), данные отправляются повторно\n- **Checksum** — контрольная сумма для обнаружения повреждённых данных\n- **Flow control (Sliding Window)** — получатель сообщает размер окна (сколько данных готов принять), чтобы отправитель не перегрузил его\n- **Congestion control** — алгоритмы (Slow Start, Congestion Avoidance, Fast Retransmit, Fast Recovery) для предотвращения перегрузки сети\n\n### Структура заголовков\n\n```\nTCP-заголовок (20–60 байт):\n┌────────────┬────────────┬──────────────────┬──────────────────┐\n│ Src Port   │ Dst Port   │ Sequence Number  │ Ack Number       │\n├────────────┴────────────┼──────────────────┼──────────────────┤\n│ Data Offset│ Flags      │ Window Size      │ Checksum \u002F Urgent│\n└─────────────────────────┴──────────────────┴──────────────────┘\n\nUDP-заголовок (8 байт):\n┌────────────┬────────────┬──────────────────┬──────────────────┐\n│ Src Port   │ Dst Port   │ Length           │ Checksum         │\n└────────────┴────────────┴──────────────────┴──────────────────┘\n```\n\n### Вывод\n\nTCP и UDP — два фундаментальных транспортных протокола. TCP обеспечивает надёжность ценой производительности, UDP — скорость ценой надёжности. Выбор зависит от требований приложения: для веб-серверов, баз данных и файловых передач — TCP; для реального времени (видео, игры, DNS) — UDP.\n\n> **На собеседовании:** это один из самых частых вопросов. Важно не просто перечислить отличия, но объяснить *почему* TCP медленнее (handshake, ACK, retransmission) и в каких сценариях UDP предпочтительнее. Бонус — упомянуть QUIC (HTTP\u002F3), который сочетает надёжность TCP с преимуществами UDP.","","junior",[15,16,17,18,19,20],"tcp","udp","сети","l4","транспортный-уровень","протоколы",[],null,{"title":24,"description":25,"ogTitle":26,"ogDescription":27,"keywords":28,"schemaAnswer":35,"featuredSnippetReady":36},"TCP vs UDP — 8 отличий транспортных протоколов — Gymterview","TCP — надёжная доставка, гарантированный порядок, контроль потока и перегрузки. UDP — быстрый, без соединения, без гарантий. Сравнение, примеры использования и механизмы надёжности TCP.","TCP vs UDP — сравнение транспортных протоколов","TCP: connection-oriented, гарантированная доставка, порядок, flow control. UDP: connectionless, быстрый, 8-байт заголовок. TCP для HTTP\u002FSSH, UDP для DNS\u002FVoIP.",[29,30,31,32,33,34],"TCP vs UDP","отличия TCP UDP","TCP протокол","UDP протокол","транспортный уровень L4","TCP надёжность","TCP — connection-oriented, гарантирует доставку, порядок, контроль потока и перегрузки, заголовок 20-60 байт. Используется для HTTP, SSH, JDBC. UDP — connectionless, нет гарантии доставки и порядка, заголовок 8 байт, быстрее. Используется для DNS, VoIP, онлайн-игр. Механизмы надёжности TCP: sequence numbers, ACK, retransmission, sliding window, congestion control.",true]