Проверяет понимание различий между транспортными протоколами TCP и UDP, их характеристик и областей применения.
TCP (Transmission Control Protocol) и UDP (User Datagram Protocol) — два основных транспортных протокола в стеке TCP/IP. Они решают разные задачи: TCP обеспечивает надёжную передачу данных с контролем целостности, а UDP — быструю передачу без гарантий. Выбор между ними зависит от требований приложения: важнее точность или скорость.
TCP устанавливает соединение через тройное рукопожатие (SYN, SYN-ACK, ACK), нумерует сегменты, подтверждает их получение и переотправляет потерянные. Это гарантирует, что данные дойдут в правильном порядке и без ошибок. Из-за этого TCP медленнее и требует больше ресурсов.
// Пример: HTTP использует TCP
const net = require('net');
const server = net.createServer(socket => {
socket.write('Hello');
socket.end();
});
server.listen(8080);UDP не устанавливает соединение, не подтверждает получение и не контролирует порядок. Он просто отправляет дейтаграммы, что делает его очень быстрым и лёгким. Потеря пакетов допустима, если приложение может это пережить.
// Пример: DNS-запрос через UDP
const dgram = require('dgram');
const socket = dgram.createSocket('udp4');
socket.send('query', 53, '8.8.8.8');Итог: TCP выбирайте, когда критична целостность данных, UDP — когда важна низкая задержка и допустимы потери. Понимание этих различий помогает проектировать сетевые приложения правильно.