Вопросы для интервью: расскажите о разнице и сценариях применения между UDP и TCP.

TCP/IP

Оригинал статьи взят из публичного аккаунта: "Code Farmer Fu Ge", пожалуйста, укажите источник, если вам нужно его перепечатать!

Последний законченВ этой статье подробно рассказывается о трехстороннем рукопожатии TCP, четырехстороннем волновом процессе и принципе.На этот раз поговорим о различиях и сценариях между TCP и UDP.

В TCP/IP есть два репрезентативных протокола транспортного уровня, а именно TCP и UDP. Давайте посмотрим на расположение транспортного уровня в семиуровневом протоколе OSI и четырехуровневом протоколе TCP/IP:

OSI七层协议和TCP/IP四层协议

Итак, каковы различия и сценарии использования TCP и UDP? Сравним UDP и TCP на диаграмме:

TCP

TCP даориентированный на соединениеиз,надежныйпотоковый протокол. Поток относится к непрерывной структуре данных.Когда приложение использует TCP для отправки сообщений, хотя порядок отправки может быть гарантирован, это по-прежнему похоже на поток данных без какого-либо интервала, отправляемого получателю.

Для обеспечения надежной передачи TCP реализует "Контроль последовательности"или"управление ретрансляцией"механизм. Также имеет"Управление потоком (управление потоком)", "контроль перегрузки», улучшить использование сети и многие другие функции.

TCP имеет следующие характеристики:

  • TCP полностью реализует различные контрольные функции при передаче данных, и может выполнять контроль повторной передачи при потере пакетов, а также может выполнять контроль последовательности на неупорядоченных пакетах. И ни один из них не доступен в UDP.
  • Кроме того, как протокол, ориентированный на соединение, TCP будет отправлять данные только тогда, когда будет подтверждено, что одноранговый узел связи существует, чтобы можно было контролировать потери коммуникационного трафика.
  • Согласно этим механизмам TCP, высоконадежная связь также может быть достигнута в сети без установления соединения, такой как IP (В основном через контрольную сумму, серийный номер, подтверждение, контроль повторной передачи, управление соединением и управление окнами.и другие механизмы реализованы).

UDP

UDP-этоориентированный на сообщенияТак называемый пакетно-ориентированный означает, что пакетно-ориентированный метод передачи — это длина пакета, которую прикладной уровень отдает UDP, и UDP отправляет его как есть, то есть за раз отправляется один пакет. Поэтому приложение должно выбрать подходящий размер сообщения. Если пакет слишком длинный, уровень IP необходимо фрагментировать, что снижает эффективность. Если он слишком короткий, IP-адрес будет слишком маленьким.

UDP-этоненадежныйПротокол дейтаграммы, тонкая обработка будет передана приложению верхнего уровня для завершения. В случае UDP размер отправляемого сообщения гарантирован, но нет никакой гарантии, что сообщение будет доставлено. Поэтому приложения иногда выполняют повторную передачу в соответствии со своими потребностями.

UDP имеет следующие характеристики:

  • UDP не предоставляет сложных механизмов управления и использует IP для предоставления услуг связи без установления соединения.
  • Потеря пакетов происходит во время передачи, и UDP не несет ответственности за повторную передачу.
  • UDP не имеет функции исправления, когда пакеты приходят не по порядку.
  • И это механизм для отправки данных, отправленных приложением в сеть, в том виде, в котором они были получены. Даже в случае перегрузки сети UDP не может выполнять управление потоком и другие действия, чтобы избежать перегрузки сети.
  • Если требуется описанный выше подробный контроль, он должен выполняться приложением, использующим UDP.
  • UDP обычно используется в следующих областях:
    • 1. Связь с небольшим количеством пакетов (DNS, SNMP и т.д.);
    • 2. Видео-, аудио- и другие мультимедийные коммуникации (мгновенные сообщения);
    • 3. Связь приложений ограничена определенными сетями, такими как локальная сеть;
    • 4. Широковещательная связь (широковещательная, многоадресная).

Приложения UDP и TCP

Их применение следующее:

Суммировать:

Преимущества и недостатки TCP и UDP нельзя сравнивать просто и абсолютно: TCP используется в тех случаях, когда на транспортном уровне необходима надежная передача; С одной стороны, UDP в основном используется для тех коммуникаций или широковещательных коммуникаций, которые предъявляют высокие требования к высокоскоростной передаче и производительности в реальном времени. TCP и UDP следует использовать по мере необходимости в зависимости от цели приложения.

В конце концов

Если статья окажется для вас полезной, вы можете ее собрать и переслать, что станет для меня большим стимулом! Кроме того, вы можете подписаться на мой официальный аккаунт «Code Farmer Fuge», я буду продолжать выводить Python, серверную архитектуру, компьютернуюоригинальныйстатья

Подпишитесь и ответьте «1024», чтобы получить бесплатные электронные книги, такие как графический протокол TCP/IP, архитектура крупных веб-сайтов на миллиардном уровне, Linux, HTTP, высокая производительность MySQL и т. д.

扫码关注我:码农富哥