Я знаю разницу между ними на техническом уровне.
Но в реальной жизни, может ли кто-нибудь представить примеры (тем лучше) приложений (использования) TCP и UDP, чтобы продемонстрировать разницу?
Я знаю разницу между ними на техническом уровне.
Но в реальной жизни, может ли кто-нибудь представить примеры (тем лучше) приложений (использования) TCP и UDP, чтобы продемонстрировать разницу?
UDP: все, что вам неинтересно, если вы всегда получаете все данные
TCP: почти все, где вам нужно получить все переданные данные
EDIT: я не собираюсь объяснять различия, поскольку вы заявляете, что знаете, и каждый другой ответ объясняет это в любом случае:)
UDP отправляет письмо в почтовое отделение.
TCP отправляет письмо в почтовое отделение с возвратной квитанцией, за исключением того, что почтовый мастер организует письма в порядке рассылки и только доставляет их в порядке.
Ну, это была попытка в любом случае.
Классическая точка зрения заключается в том, чтобы считать TCP безопасным и UDP ненадежным.
Но когда протоколы TCP-IP используются в критичных для безопасности приложениях, TCP не рекомендуется, поскольку он может останавливаться при ошибке по нескольким причинам. В то время как UDP позволяет прикладному программному обеспечению обрабатывать ошибки, таймеры повторной передачи и т.д.
Кроме того, TCP имеет больше накладных расходов, чем UDP.
В настоящее время UDP используется в системах управления летательным аппаратом и полетов, в стандарте ARINC 664, также называемом AFDX (Ethernet-коммутатор с полной дуплексной поддержкой Avionics). В ARINC 664 TCP является необязательным, но UDP используется с RTOS (операционными системами реального времени), разработанными для стандарта ARINC 653 (программное обеспечение для обеспечения высокой надежности на гражданских самолетах).
Для получения дополнительной информации о средствах управления в реальном времени с использованием IP и UDP в AFDX, вы можете читать страницы с 27 по 50 в http://www.afdx.com/pdf/AFDX_Training_October_2010_Full.pdf
TCP
UDP
TCP
Я больше не буду отправлять данные, пока не получу подтверждение.
этот процесс медленный
Используется для целей безопасности
пример: веб, отправка почты, получение почты и т.д.
UDP
Здесь у меня нет головной боли с подтверждением.
этот процесс выполняется быстрее, но здесь данные могут быть потеряны.
пример: потоковое видео, онлайн-игры и т.д.
TCP + UDP = SMTP (пример: мобильный, телефон)
TCP гарантирует (в порядке) доставку пакетов. UDP не делает.
TCP - используется для трафика, для которого необходимы все данные. например, HTML, фотографии и т.д. UDP - используется для трафика, который не сильно пострадает, если пакет упал, то есть потоковая передача видео и голоса, некоторые каналы данных онлайн-игр и т.д.
TCP - это протокол, ориентированный на соединение. Он устанавливает путь или виртуальное соединение полностью через прокси-серверы коммутаторов и т.д., а затем запускает любое сообщение. Существуют различные механизмы, такие как маршрутизация алгоритма кратчайшего пути djikstras для установления виртуального конечного соединения. Таким образом, он находит себя используемым при просмотре HTML и других страниц, делая платежи и веб-приложения в целом.
UDP - это протокол без установления соединения - он просто имеет место назначения, а узлы просто передают его, если он подходит как можно лучше. Таким образом, пакеты, выходящие из строя, по разным маршрутам и т.д. Являются общими. Таким образом, мгновенные мессенджеры и аналогичные разработчики программного обеспечения считают UDP идеальным решением.
В реальной жизни, если вы хотите выбросить данные в сеть, не беспокоясь о времени, затраченном на достижение, порядок использования UDP. Если вам нужен сплошной путь до того, как вы начнете бросать пакеты, и хотите, чтобы один и тот же порядок и латентность для ваших пакетов данных использовали TCP, я буду использовать UDP для торрентов и TCP для PayPal!
Email:
Причина: предположим, что если какой-либо пакет (слова/оператор) отсутствует, мы не можем понять контент. Он должен быть надежным.
потоковое видео:
* ** Причина: *** Предположим, что если какой-либо пакет (кадр/последовательность) отсутствует, мы можем понять контент. Потому что видео - это сбор кадров. Для видеороликов на 1 секунду должно быть 25 кадров (изображение). Даже если мы можем понять, что некоторые кадры отсутствуют из-за наших навыков воображения. Вот почему UDP используется для потоковой передачи видео.
TCP подходит, когда вам нужно переместить приличное количество данных ( > ~ 1 кБ), и вам нужно, чтобы все это было доставлено. Почти все данные, которые проходят через Интернет, делают это через TCP-HTTP, SMTP, BitTorrent, SSH и т.д., Все используют TCP.
UDP подходит, когда у вас есть небольшие сообщения, которые вы можете позволить себе потерять, и хотели бы отправить их как можно более эффективно. Одна из причин, по которой вы можете позволить себе потерять их, - это то, что вы можете повторно отправить их, если они потеряются. Основным примером в Интернете является DNS. DNS состоит из небольших запросов, в которых говорится, что "что такое IP-номер для stackoverflow.com?", И ответы соответственно малы. Компьютеры делают много этих запросов, поэтому они должны быть эффективными, но если они теряются в пути, легко тайм-аут и пересылать их.
TCP гарантирует доставку и доставку пакетов. Заказ почти так же важен, как и доставка в первую очередь при восстановлении данных для файлов, таких как исполняемые файлы и т.д.
UDP не гарантирует доставку заказа NOR. Пакеты могут поступать (или нет!) В любом порядке.
Общие применения для TCP включают передачу файлов, где целостность пакетов имеет первостепенное значение. Приложения для голоса и видео могут позволить себе потерять некоторые данные, сохраняя при этом приемлемое качество и обычно используют UDP.
Еще одна мысль о некоторых вышеперечисленных комментариях говорит о заказанной доставке.... Необходимо уточнить, что конечный компьютер может получать пакеты по порядку на проводе, но TCP в пункте назначения отвечает за "переупорядочение данные вне порядка", прежде чем передавать его на верхние уровни стека. Когда вы говорите, что TCP гарантирует упорядоченную доставку пакетов, это означает, что он будет доставлять пакеты в правильном порядке в верхние слои стека.
SCTP vs TCP vs UDPServices/Features SCTP TCP UDP
Connection-oriented yes yes no
Full duplex yes yes yes
Reliable data transfer yes yes no
Partial-reliable data transfer optional no no
Ordered data delivery yes yes no
Unordered data delivery yes no yes
Flow control yes yes no
Congestion control yes yes no
ECN capable yes yes no
Selective ACKs yes optional no
Preservation of message boundaries yes no yes
Path MTU discovery yes yes no
Application PDU fragmentation yes yes no
Application PDU bundling yes yes no
Multistreaming yes no no
Multihoming yes no no
Protection against SYN flooding attacks yes no n/a
Allows half-closed connections no yes n/a
Reachability check yes yes no
Psuedo-header for checksum no (vtags) yes yes
Time wait state vtags 4-tuple n/a
UDP применяется много в играх или других настройках одноранговой сети, потому что это быстрее и чаще всего вам не нужен сам протокол, чтобы убедиться, что все добирается до адресата в исходном порядке (UDP не гарантия доставки или доставки поставки).
Веб-трафик, с другой стороны, превышает TCP. (Я не уверен здесь, но я думаю, что это связано с тем, как построен протокол HTTP)
Отредактировано, потому что я ошибся в UDP.
Примеры реальной жизни как TCP, так и UDP tcp → телефонный звонок, смс или что-то конкретное для пункта назначения UDP → FM-радиоканал (AM), Wi-Fi.