Это протоколы транспортного уровня модели TCP/IP
Transmission Control Protocol и User Datagram Protocol
Протокол UDP намного проще чем TCP, но в это же время он не является таким же надежным как TCP. И вот почему:
Этот протокол используется для "связи без установки соединения", т.е. один узел сети просто посылает пакеты данных другому узлу не имея никакой информации о том, готов ли получатель пакетов к приему да и вообще существует ли этот самый получатель. Так же отправитель не ждет подтверждения о получении сообщения получателем.
Заголовок UDP пакета состоит из 8 байт, которые включают в себя:
- Порт отправителя
- порт получателя
- длину датаграммы
- контрольную сумму
Пакеты обычно называют Датаграмма
Этот протокол как правило используют в следующих задачах: Видеоконференции, потоковое вещание, DNS, VoIP, IPTV
TCP
Перед началом передачи данных, клиент и сервер должны подключиться друг к другу и договориться как они будут осуществлять эту самую передачу. Пакеты в отличии от UDP называются Сегментами
Некоторые из задач которые что этот протокол решает во время передачи данных:
- Убеждаться в том что сегменты доставлены в нужном порядке
- Убеждаться в том что они вообще доставлены
- Контролирует поток пакетов, что бы не перегружать им узлы сети.
Заголовок у TCP как минимум 20 байт. а то и больше.
- Порт отправителя
- Порт получателя
- порядковый номер
- номер подтверждения
- длину заголовка
- флаги
- размер окна
- контрольную сумму
- указатель важности
- дополнительные опции
Пример использования протокола TCP: Используется для передачи сообщений электронной почты, HTML-страниц браузеров
Выводы:
TCP - Требуется установленное соединение для передачи данных (соединение должно быть закрыто после завершения передачи); Может гарантировать доставку данных получателю; Повторная передача нескольких кадров в случае потери одного из них; Полная проверка ошибок; Данные считываются как поток байтов; сообщения передаются по границам сегментов;
UDP - Протокол без соединения, без требований к открытию, поддержанию или прерыванию соединения; Не гарантирует доставку данных получателю; Отсутствие повторной передачи потерянных пакетов; Базовый механизм проверки ошибок. Использует вышестоящие протоколы для проверки целостности; UDP-пакеты с определенными границами; отправляются по отдельности и проверяются на целостность по прибытии/