Які гарантії надає TCP?
TCP надає набір гарантій, які роблять передачу даних надійною і передбачуваною для застосунків. Простіше: TCP гарантує, що дані дійдуть правильно, у потрібному порядку і з відповідною швидкістю.
Основні гарантії TCP
1. Гарантія доставки
TCP підтверджує отримання даних:
- кожен сегмент має бути підтверджений (ACK)
- якщо підтвердження не прийшло - сегмент надсилається повторно
Якщо TCP-з'єднання завершилося успішно, застосунок може бути впевнений:
- дані доставлені отримувачу
2. Гарантія порядку доставки
TCP:
- нумерує сегменти
- на стороні отримувача збирає дані у правильному порядку
Навіть якщо сегменти прийшли:
- не по порядку
- з різною затримкою
застосунок отримає впорядкований потік даних.
3. Відсутність дублікатів
TCP:
- виявляє повторні сегменти
- не передає дублікати застосунку
Застосунок бачить дані рівно один раз.
4. Контроль цілісності
TCP перевіряє:
- чи не були дані пошкоджені під час передачі
Пошкоджені сегменти:
- вважаються недоставленими
- запитуються повторно
5. Керування потоком
TCP захищає отримувача:
- не надсилає даних більше, ніж той може прийняти
- використовує механізм вікна (window)
Це запобігає:
- переповненню буферів
- втраті даних на стороні отримувача
6. Контроль перевантаження мережі
TCP стежить за станом мережі:
- знижує швидкість при перевантаженні
- збільшує швидкість, коли мережа вільна
Це робить передачу:
- стабільною
- справедливою щодо інших потоків
7. З'єднання end-to-end
TCP:
- встановлює з'єднання перед передачею
- коректно завершує його після закінчення обміну
Це гарантує:
- узгоджений стан у відправника і отримувача
Чого TCP НЕ гарантує (важливо)
TCP не гарантує:
- мінімальну затримку
- постійну швидкість
- доставку «до певного часу»
Якщо мережа погана:
- TCP може сильно сповільнитися
- але не пожертвує надійністю
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.